Twitter  NPR’s new app promises to learn your listening habits and offer a never-ending buffet of news nie.mn/1thKkbH http://t.co/r7oGo4Avj8  
Nieman Journalism Lab
Pushing to the future of journalism — A project of the Nieman Foundation at Harvard
horse-dressage-olympics-cc

“Updated horse parser”: The year in journo-code commit messages

People who work with code leave messages with each update they make. These are their (short) stories.

The commit message is a funny artifact of writing software. Its purpose is utilitarian: summarizing each incremental addition or edit of code. Yet they also capture the genius, the wit, and the agony of the person behind the keyboard. Take, for example, this existential message from my coworker Marc Lavallee, when working on our question-and-answer application a couple months ago:

Commit: 1619d38d02eb3c8547f4751faa53a2fd9016f0b5
Author: Marc Lavallee
Date: Wed Oct 17 2012 13:27:07 GMT-0400
Subject: fixed trailing comma -- why am i allowed to write code?

For the increasing numbers of developers who work in newsrooms, these messages join a long tradition of editing notes. There is a century of story drafts dotted with TK’s, CQ’s, and annotations from the messy process of reporting and refining. But the quantity, permanency, and fragility of computer code make commit messages a species apart. Frequently quotidian and obvious, they will sometimes morph into boastful swagger or shameful admission. Often, it’s a panicked plea to the coding gods when breaking news collides with broken code.

As 2012 comes to a close, I collected commit messages from my coworkers at The New York Times and colleagues across the industry with the hope they would provide a snapshot of the year in news apps. A fellow member of my team, Jacob Harris, outlined the dichotomy nicely:

First observation: The messages can pile up. For example, Ryan Pitts, at the Spokesman Review in Spokane, tallied all his team’s commits for the year and concluded: “What I can tell you is that we had about 2,700 commits to our primary repo, and only one ‘fuck,’ related to a z-index problem caused by an ad. We only had one ‘shit,’ prompted by a series of troll accounts. But we had 20 ‘derp’s. So there’s that.”

The Times’ Summer Olympics site logged 14,670 commits from our team over the span of a year. From humble beginnings in the first (and self-evident) “Initial commit” message by Jacqui Maher, scanning through the messages is akin to browsing through storage boxes in your parents’ basement and being overwhelmed by nostalgia.

The following messages note changes big and small, including the basic (supporting genders for horses) and the regretful (my only use of profanity, for a missing “s” that briefly broke our result pages):

Commit: 59983e55a58e634dd1b53fdc380609b78915e8d1
Author: Michael Strickland
Date: Tue Jun 26 2012 08:27:38 GMT-0400
Subject: updated horse parser to correctly grab Gender and Passport

Commit: ad0c716767ae3f5067ff9f1ec42e26cac59f2d59
Author: Tiffany Fehr
Date: Fri Apr 20 2012 16:49:56 GMT-0400
Subject: fixing Schedule unit result timestamp, hiding the right thing and showing the other thing

Commit: a4d294193636585e16c66c434023aaa70e5729a4
Author: Jacqui Maher
Date: Tue May 15 2012 17:00:01 GMT-0400
Subject: Unintentional horse(s.xml)

Commit: 2db963b80ea985cf08ae57813cca6c63f76e5d15
Author: Ben Koski <bkoski@nytimes.com>
Date: Mon Jul 16 2012 17:57:34 GMT-0400
Subject: oops use live paths not test paths

Commit: b6871f8dec9cbebd174da3c7ae22b9a50c986ca1
Author: Tyson Evans
Date: Sat Jul 28 2012 09:32:24 GMT-0400
Subject: fucking in progress jst

Meanwhile, some fixes simply fulfill a programmer’s OCD. Dan Nguyen corrected 25 grammatical errors in the documentation of Mongoid, an open-source framework for the MongoDB database — places where “it’s” should have been “its.”

A few days before the polls closed, Wilson Andrews’ commit message for The Washington Post’s election results map exemplifies the tragedy and triumph of coding furiously toward deadline:

Date: Fri Oct 26 15:08:42 2012 -0400
House results are looking good. Other things are happening here. Help me November 6.

Andrews described the commit as the moment “when I actually began to see light at the end of the tunnel.” I asked developers to include a “diff” — a before-and-after comparison of edits to the code — but he replied, “A whole bunch of code, so a diff is worthless. The true diff was my sanity.”

In a similar vein, Gabriel Dance passed along two commit messages from the final days of work on The Guardian’s election results and electoral college game:

Commit: 1d3e7ce2f6848c8b778c4489c91321ae3c1361b2
Author: Feilding Cage
Date: November 1, 2012 7:24:34 PM EDT
gazillion bug fixes

Commit: e4a6bcae178de7346bb6fc9e232d2267cb0740bb
Author: Gabriel Dance
Date: November 4, 2012 4:45:58 PM EST
obama smiles when over 270, same for romney

And although each commit does contain a fair amount of context (a line-by-line indication of what changed, when, and by whom), scanning through them can produce its own kind of schadenfreude absent the stress of that particular moment. To wit, Scott Klein of ProPublica sent along a sampling of his team’s commits this year:

Commit d7915dd9a06e7fe4fbbc86909501bd98011a2af9
Date: Thu Sep 27 12:48:23 2012 -0400
allow brian boyer to use the app

Commit f6681bd3618346015df2cf9163718d8bee05ec15
Date: Fri Oct 26 15:08:42 2012 -0400
crankin' the Ohio knob to eleven

Commit 4d08c2e8b41722b562866facd85c4d5d1971710d
Date: Thu Sep 27 15:58:22 2012 -0400
semicolons for you and you an you and everyone

Commit d6c3d414e1302363ddd2b5af9dd5efcc80fcec7c
Date: Thu Jun 14 12:25:14 2012 -0400
counter cache is so remarkably stupid

Commit d346454a07b0fd97b95ec4dc1e7e6da880a59874
Date: Wed May 16 03:11:21 2012 -0400
I wrote a database

Commit 932963dc4f4a08a137569c19f30cb9edcb33f4a0
Date: Fri May 25 01:24:57 2012 -0400
done wrote a search engine now too

Commit 955e988234bcb4c480a7b76b209397442886b320
Date: Tue Oct 9 14:57:46 2012 -0400
al is a visual genius

Commit 8516ee17b5c1c2b1cc970b207542d94b2e0b90b9
Date: Fri Jul 20 16:45:43 2012 -0400
going full larson

Commit f5bdffab858594d6ac089d788e942cb5ac84df66
Date: Mon Jul 9 11:29:35 2012 -0400
can't compare a number with nil dude

Commit 7b2d65b88a01ca08c728b5e914715829bc55d803
Date: Fri May 18 19:20:13 2012 -0400
wow, crazy this even works

Commit 1c0889167e0973b142fb64aad84d9ebe6a6cba1a
Date: Fri May 18 19:21:54 2012 -0400
crazy this even worked at all

Commit 0a5d6d6cbef2db98adcda2ac98fbf5a812625921
Date: Wed May 23 17:39:36 2012 -0400
DEPLOYING ALL DAEMONS \m/, (on the right server)

Commit 545e529d78b3c305a0baeef4cd14a85445732c58
Date: Tue May 29 16:24:41 2012 -0400
damn you mike monteiro

Commit 11dab8abdf689f297a0e731ed36d5752b83ea1bb
Date: Thu Oct 11 11:16:05 2012 -0400
ghettoQuery the neapolitan

Commit 20558f5dba562283ce4a1fad3be3ec2fa74a812e
Date: Wed Oct 3 12:07:07 2012 -0400
enguff the casino login

Commit f39090bbe594f853eb401029e66a4a720adf158b
Date: Thu Sep 13 16:19:09 2012 -0400
infinite sadness. and some UI

Thanks to all the developers named above for sharing a look behind the scenes. Here’s to many happy (and better written) commits in 2013.

Tyson Evans is a deputy editor for interactive news at The New York Times and an adjunct professor at the Columbia University Graduate School of Journalism.

Horse photo (not Rafalca) by lhourahane used under a Creative Commons license.

                                   
What to read next
npr-one
Ken Doctor    
The new app from NPR promises to learn from what you like and serve up a never-ending buffet of news and content. What’ll be the impact on local stations?
  • Josh Leitzel

    This was fantastic! Thanks for sharing.

  • yuandan195

     http://al.ly/qxA

  • zhanghan

     http://simurl.com/dudmun

  • http://www.facebook.com/profile.php?id=783135857 Jessica Clark

    Agreed, I really liked this, sheds a great intimate light on newsroom humor.

  • http://www.facebook.com/cody.sehl Cody Sehl

    Excellent stuff.