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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
Building a Better Ecosystem for Transparency
December 9, 2009 at 10:23 p.m.
Transparency is an ecosystem. Each part--government, journalists, activists--interact to create an environment where information flows, or doesn't. It's up to each part to ensure the continued growth of a healthy transparency ecosystem.
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 ...
Be organized. Or be mush.
August 25, 2009 at 8:01 p.m.
Talking to my colleague Dante Chinni today, he summed up my thinking on frameworks for reporting far better than I've been able to:
Without an organizing principal, all we're doing is throwing things out into the ether. It all becomes mush.
That's not an exact quote. We were in the middle of a long brainstorm and I wasn't keeping notes. But it's close enough.
Dante has been working on Patchwork Nation since its inception--it's all he does--and it shapes much of the way he looks at the news. It's his lens. When we ...
Mapmaking Update: ZeeMaps allows Google CSVs
August 3, 2009 at 5:30 p.m.
My post last week on simple ways for journalists to make maps seems to have done some good.
Pankaj K Garg, of ZeeMaps left a comment noting that after reading my post, he decided to add a long-desired feature to the application: direct CSV import from Google Docs:
Now, you can select Additions -> Upload CSV file and just click on "Use Google Spreadsheet" to upload your data from a Google Spreadsheet.
The requirements are: (1) the spreadsheet must be named ZeeMap-map-number, where map-number is the number for your map, and (2) you must allow zeemaps at gmail dot com view ...
Next page >>
