Eyes East

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


January 10, 2011 at 10:11 a.m.

This caught my eye just as I took a peak down the rabbit hole of CouchApps:

The phenomenon of yak shaving, broadly conceived, is exactly why freelancing as a coder is a mixed blessing. You can never take the scenic route, never keep chewing on a problem merely because it rouses your craftman’s instinct. Every detour is a delay for your client, and a context switch for you. But we need detours, we need to stumble in order to learn. Mucking about is the stuff from which best practices are made.

Getting distracted and turning your attention to trifles ...


A Quote from Josh Marshall

December 29, 2010 at 5:08 p.m.

[T]he truth is that there's no reason at all that open standards like -- html and css being the big examples which powers most of the web -- can't provide more functionality, cooler stuff, etc. Indeed, there's every reason to think that they can actually provide more. Indeed, the whole idea that you design a new version of an information product for different devices is a really old-fashioned concept in a lot of ways. That was the way the major stake holders originally wanted to run the internet -- with Compuserve and AOL or with all the innovation and ...


Amanda Cox, on Doing DataViz Right

December 2, 2010 at 11:23 a.m.

In a good graphic, "something surprising pops out," Amanda Cox says. "The interesting things in this data reveal themselves by the structure you've chosen."

If you work with data and news, listen to what Cox says. Then go look at the work she does. Cox is a graphics editor at the New York Times and one of the best there is at turning complex datasets into understandable stories and usable tools.

A few key points:

  • "The annotation layer is the most important thing we do." Data needs context.
  • Context isn't just change over time. Think about scale, background ...


In the Thick of It with #TSATime

December 1, 2010 at 12:08 p.m.


Elegance from Ugliness: Lessons from MongoDB at Chicago Trib

November 5, 2010 at 10:46 a.m.

Chris Groskopf gives us the backstory on building the recently-launced Illinois School Report Cards:

The site is a comprehensive look at how schools across the state performed on standardized tests, with faceted and geographic search and lots of ways to interpret the data. It's the kind of project any regional news organization should be all over, and the Trib did it well (no surprise there).

A couple quick takeaways here:

The data is a mess: Nothing says "government data" like a 210 megabyte text file with 9,000(!) columns. Have a look.

That made the site a good candidate ...


"Data Is the New Soil"

August 31, 2010 at 10:56 a.m.

... and we are just learning how to till it on the web.

David McCandless turns complex data sets (like worldwide military spending, media buzz, Facebook status updates) into beautiful, simple diagrams that tease out unseen patterns and connections. Good design, he suggests, is the best way to navigate information glut -- and it may just change the way we see the world.

My favorite is the "mountains out of molehills" chart of unreasonable fears.

(via Flowing Data)


Lessons from Covering the Gulf Oil Leak

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

Cross posted at MediaShift

The oil spill in the Gulf of Mexico has lasted more than two months now. It is the worst spill in US history, and it is likely to continue until at least August. And in covering it, the NewsHour has broken every traffic record it ever had.

So, what have we learned here?

(Quick note: A lot of the thinking behind this post comes from a debriefing at work with my colleagues Vanessa Dennis, Travis Daub and Katie Kleinman, and from conversations about the spill and our coverage with other people in and out of the ...


Oil in the Gulf

May 24, 2010 at 11:12 a.m.

By now, I'm pretty sure anyone who reads this blog has seen the widget the PBS NewsHour launched a few weeks ago. Those ticking numbers have been embedded on dozens of websites, bringing thousands of new visitors our site.

So it's probably worth mentioning up front that at first, I thought building this thing was a bad idea. I thought it was gimmicky, and that it assigned specificity where there was none. I argued that any number we pick as the rate of spillage was almost guaranteed to be wrong, since the government, BP and outside experts were ...


Dual tracking

April 8, 2010 at 4:13 p.m.

Columbia University will soon offer a new dual masters degree in journalism and engineering, with the goal of cranking out more programmer-journalists, Wired reported yesterday.

This is good. It builds on the success of Medill's Knight-funded experiment offering scholarships to software developers to learn journalism. That's to be lauded.

But... (you knew there was a "but" coming)

Those getting dual degrees shouldn't be the only journalists hanging out with computer scientists. The problem isn't just a lack of reporters who can code, but a shortage of people in the newsroom who know what's possible.

I ...


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 ...



March 30, 2010 at 8:35 p.m.

It looks like I've lost another hard drive. Thankfully, I don't think there was anything irreplaceable on this one: a few photos that weren't Flickr-worthy, lots of podcasts, maybe one bit of entirely replaceable code I hadn't pushed to a remote repo yet. 

But it means I'm without laptop for a few days. And I have a new iPhone. So I think it's high time I see what the future of the web looks like, because from where I'm sitting now (on DC's Yellow Line, somewhere under the city) the future looks ...


Google.cn Goes Dark

March 22, 2010 at 10:27 p.m.

In January, Google revealed that hackers had launched ambitious attacks on the company and its properties. The attacks came from China, it said, and some targeted the Gmail accounts of Chinese human rights activists.

At the time, it said this:

These attacks and the surveillance they have uncovered--combined with the attempts over the past year to further limit free speech on the web--have led us to conclude that we should review the feasibility of our business operations in China. We have decided we are no longer willing to continue censoring our results on Google.cn, and so over the next ...


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 ...


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 ...


JavaScript Recipe: Adding Paragraph-level Permalinks

February 12, 2010 at 5:24 p.m.

Paragraph-level permalinks are hot, right? Let's do this in JavaScript, just for fun.

Remember from my last post that all you need is a block of HTML and something to parse it with? This is pretty much what JavaScript was made to do.

var entry = document.getElementById('entry-text');
var paras = entry.getElementsByTagName('p')

Assuming you have a div with id="entry-text", we've just grabbed every paragraph below it and created an array called paras. Simple enough.

Now, like we did with Python and Beautiful Soup, we're just going to loop through that list of paragraph elements, add ...