Eyes East

feed icon Subscribe / Latest posts / Latest links / Get in touch / About

My Django Setup

April 7, 2010 at 2:56 p.m.

I picked up my old MacBook from the Apple Store with a new, bigger, and spotless, hard drive, with a fresh install of Leopard.

Time consuming as it is to set up a computer from scratch, it's actually something I'd been meaning to do. The death of my old hard drive just forced me to do so sooner, and a little less gently than I might have liked. But it is nice starting from scratch.

With that in mind, I decided I should set up my development environment the Right Way: with code sandboxed as much as possible ...

Read more...

We Are What We've Built

March 21, 2010 at 2:59 p.m.

The Atlantic seems to be settling into its new site, despite a rocky relaunch. James Fallows is blogging again, and Andrew Sullivan and Jeffrey Goldberg are back to disagreeing over Israel and Palestine, instead of the nuances of web design and information architecture. As far as I can tell from the limited vantage point of my feed reader, things are getting back to normal.

But the brief turbulence that followed the relaunch of the rebuilt and redesigned site was interesting in the ways it failed. By most accounts, it did what it was meant to do: the diverse group of ...

Read more...

Django Recipe: A template for any blog post

February 13, 2010 at 8:08 p.m.

One more quick code recipe before I jump back into the Journalism to Django series. In my last post, I mentioned that I set up permalinked paragraphs on a couple recent entries, using a different technique on each one. You might be wondering how I did that.

This is documented, but it took me a while before I realized how simple it is. The key is Django's get_template and select_template functions, which are part of the template system. Get template takes a string and gets a template. Select template chooses the first one that matches from a list or ...

Read more...

Python Recipe: Adding Paragraph-Level Permalinks

February 11, 2010 at 9:06 p.m.

I mentioned in my last post how useful Ben Welsh's code recipe's are. Count this post as my effort to encourage the practice among coding journalists.

Since launching the NewsHour's Annotated State of the Union, I've gotten a few questions about how it worked, particularly about linking comments to paragraphs. What's needed is paragraph-level permalinks. As it turns out, that's pretty easy to do.

The first thing you'll need is a block of clean HTML. Then, you'll need something that can parse and modify that HTML. Fortunately, tools abound.

Doing it server ...

Read more...

Journalism to Django, Part Two: Required Reading

February 7, 2010 at 12:34 a.m.

So, you've gotten the hang of HTML and CSS. You can install Wordpress in five minutes, and you're comfortable mucking with templates. Or you get databases and it's time to get them on a web. Or you read my last post and feel ready for the next step.

Starting Points

At this point, take a look at the Django Book.

You can learn Django and Python at the same time (I did, as have others). But it is worth getting the hang of Python a bit first. Take some time and go through Think Python. It's ...

Read more...

Footnotes on the State of the Union

January 28, 2010 at 10:51 p.m.

Last night the NewsHour went all-in covering State of the Union. We had on-air analysis, video from the Capitol and coverage on our new blog, and a new app to annotate the speech as it happened.

The Analyzer (I can never think of clever names for my apps; this is what everyone here calls it) is built in Django, with a lot of help from jQuery. From pitch to launch took exactly a week, including a working weekend.

The app is built around two main models: Speeches and footnotes. Every footnote is tied to a speech and indexed to a ...

Read more...

From Journalism to Django, Part One: Prerequisites

January 26, 2010 at 10:26 p.m.

Programming is hard.

There's no way around it: Learning to make a computer do things means learning a new form of expression. It is not, in some ways, all that different from learning a spoken language.

But it's also fun in an addictive sort of way. It's like telling your Legos to build themselves. When things start to click, massive problems begin to break apart into a long series of eminently squashable bugs.

Before you start learning Django, a few things I recommend brushing up on:

  • (X)HTML: This is, after all, a framework for building web ...

Read more...

Why Django

January 12, 2010 at 10:37 p.m.

As of this month, I'll have been using Django for two years, and using it professionally for a year. That's a strange thing to think about, because I still have a hard time calling myself a "programmer" (though "web developer" feels easier, for some reason). I am, after all, a politics major with zero formal training in computer science. Yet here we are.

Over the past few months, friends have started asking me about my favorite framework: How'd I get started? Is it as good as the hype? Can I, or should I, learn it?

Well...

Why ...

Read more...

Lessons from Gov2.0, and How I liveblogged it

September 19, 2009 at 11:51 a.m.

For three days last week, I attended the Gov2.0 Expo Showcase and Gov2.0 Summit, liveblogging the entire thing here and cross posting to Twitter. Between Tuesday and Thursday, I posted nine entries and 550 updates. After the conference, I dumped the entries and updates into one document, amounting to 66 printed pages and 19,815 words, plus another page of notes from the event's press conference and two video interviews with Tim O'Reilly and Santa Cruz's Peter Koht.

This was, in effect, just my usual notes, except more thorough and done entirely in public. Doing ...

Read more...

More on Frameworks for Reporting: Lessons from PolitiFact

August 3, 2009 at 1:31 a.m.

The Obameter is a key example of reporting within a framework: Journalists advance a broad story update by update, building a comprehensive database of knowledge about one subject.

In this case, the PolitiFact team developed a standard to measure the success of Barack Obama's presidency. It's not, by any stretch, the only standard, but it gives us one clear lens to use in evaluating the president's effectiveness.

Read more...

Feeds

July 26, 2009 at 6:56 p.m.

Should have mentioned this earlier, but when I switched this blog over to Django, the site got a new batch of feed URLs.

If you subscribed using Feedburner, nothing should have changed. However, if you were using the underlying Wordpress feed, you'll need to switch over to the these:

In addition, there is a feed for each blog category, in the following format:

http://www.chrisamico.com/feeds/blog/<category_slug>/

So if you wanted the latest posts from the Projects category, use http://chrisamico.com/feeds/blog/projects.

More feeds are in the ...

Read more...

Beyond publishing

June 1, 2009 at 9:26 p.m.

Rebuilding my blog in Django means I can do more than just publish posts.

Read more...

Tools for News teams up with SND

February 2, 2009 at 4:36 p.m.

The toolkit for online journalists has moved to a new home with the Society for News Design.

Shortly after I launched Tools for News in late December, Tyson Evans from SND emailed me about teaming up on the project. Matt Mansfield helped convince me to come on board. Chrys Wu has more on the hackathon that got it all migrated.

The toolkit is now part of a growing network of apps and sites under SND's banner. Expect development to pick up and the overall look and feel of the site to improve.

Everyone's login should still work. If ...

Read more...

PBS Newshour Online

January 26, 2009 at 11:37 p.m.

Funny story: Back in October, I started building a little Django-powered web app that ultimately became Tools for News. I'm up coding one Friday night (my girlfriend was in Guatemala at the time; I'm not THAT much of a nerd) and send out this tweet:

Photo_18_normal eyeseast: The little journalists' toolkit I mentioned yesterday is coming together. A few good folks are testing it now. Going to try adding comments. Oct 11, 2008 05:37 AM GMT
A few minutes later, this direct message appears in my inbox:
NewsHour Howdy there. We're digging the toolkit for journos ...

Read more...

New tool: TwitBlog for LiveBlogging with Twitter

January 15, 2009 at 10:39 p.m.

Let's say you want to live-blog something. Let's say you like Twitter. Twitter is great for immediacy, but what if you want to round up all your tweets at the end of the day and put them in a blog post? You'd have to copy each one, reformat it, then put the whole list in chronological order.

Now you don't have to.

...

Production notes:

I put this little app together yesterday after thinking about it a lot longer. It's a simple Django-powered tool that converts a feed from Twitter Search into plain text or ...

Read more...

New tools for new news

December 30, 2008 at 3:28 a.m.

Journalists need new tools to work online. In the last year, I've used more that I can count, most of them free, to find and tell better stories on the Web.

Back in October, I started building an online database of such tools as a personal project, just a way to keep track of everything I was using. It has since grown into something I think others will find useful, so I'm releasing it into the wild.

Tools for News

The site is in public beta for now. Eventually, I hope to move it to its own domain ...

Read more...

Lessons from Everyblock

May 16, 2008 at 7:54 p.m.

Adrian Holovaty, founder of ChicagoCrime.org and Everyblock.com, spoke at O'Reilly Media's Where2.0 conference. Video of the entire event is at Blip.tv. Here's a breakdown of what Holovaty says we can learn from Everyblock:

1: Take advantage of existing data

Plenty of sites start out by asking for contributions. Everyblock doesn't. Its first mission is to make data that's already floating around the internet and locked in government file cabinets available and easy to access. Tips for getting data:
  • Be nice: People will help you out if you're polite. Duh.
  • Governments ...

Read more...