How to react to Osama bin Laden's death: a guide for fellow hand-wringing liberals.

Bulletpoints for easy reading:
  • Yes, this doesn't actually win us anything. You're right. One consequence of being constantly in hiding and on the run is it makes it somewhat difficult to run a worldwide terrorist organization. He no longer holds the reins.

  • "An eye for an eye". Understood. We covered it in Sunday School too. The death penalty is wrong. To have captured him would have been better, agreed. But, unlike other figures who ought to be subject to civilian courts, there's no doubt that bin Laden is a militant, not a civilian. Given his level of protection, he'd never be captured without force.

  • Oh man, how much the "War on Terror" cost us. How much has been spent on this effort, and how much blood has been shed in two wars. The freedoms we've forfeited. Try not to think about it too much. We tend to obsess over these things. We can get back to it tomorrow.

  • Yes, celebration is the wrong reaction. That is brutish. This is a response to a crime, and a terrible moment in our country's history. Killing Osama brings a sense of closure, or justice, but does not make it all better.

  • This is symbolic — a man responsible for the mass murder of thousands who had, for a decade, seemingly got away with it, but didn't. At least take solace in the fact that, sometimes, bad deeds are punished. And in that, you're allowed to be a little happy.

 

Spinning plates (and dropping a few)

I'm not the blogger I once was. I'll admit it. Of all the adjectives I could pick to describe my writing, "infrequent" has become an increasingly apt one.

So there's this story, right, about physicist Richard Feynman and burnout. Synopsized, Feynman, facing burnout, found inspiration "playing" with the physics of a wobbling plate in the Cornell cafeteria. As it turned out, this "play" work resulted, directly, in the work that eventually earned him the Nobel in 1965.

I'm no Feynman, but it's a good story.

Almost two years ago, I spent a Saturday starting a little art project. I took 13 photos of myself, looking in each direction of the clock and straight ahead. The idea was that the picture would always be looking at the mouse cursor, and then I'd collect similar pictures of all my friends, plus a few other artsy pages on the topic of "cursors".

I get excited by digital art stuff. Bear with me.



While writing it, I borrowed some simple code from Google Doctype, an educational project that had published with it a snapshot of previously internal code. If you actually read the source, it makes reference on line 28 of base.js to the "Google JS Library":

/**
* @fileoverview Bootstrap for the Google JS Library (Closure)
*/

That code was just a tiny subset of a much bigger library that Google uses internally: Closure. It started as a common library project under Gmail in 2006 or so, and gained solid adoption within the company since. I ported my project, Books, to it in early 2008.

Anyway, when writing up my cursor project, I was a little frustrated not having some of the files that were part of the full library. So when I got to work the following Monday, in a fit of yak shaving, I started looking into what it would take to open-source the whole thing. A tangent became a 20% project, by the end of the year, with the help of another engineer and the compiler and template teams, the library was released as part of Closure Tools.

Moral of the story: for want of 300 lines of code, I open sourced a quarter million.

Since then, it's taken off outside. There's an O'Reilly book, and heavy users like CloudKick have even been acquired.

And I've still been involved, helping organize the open source project, giving external talks (including one at Google I/O), and trying to direct things, but my 20% time wasn't nearly sufficient, especially given that most of my time was devoted to being a tech lead on the Google eBooks project, nor was the work a "fun escape" like 20% projects are supposed to be.

And so we tried to find the project a more permanent home. And we eventually did. And in doing so, I realized that, hey, you know, this has been something that I've enjoyed working on, and would like to spend more time on. And so, as of Monday, it's now my full time job, and I'm starting a team to focus on Closure and user-interface infrastructure.

So, in short, because I wanted my face to look at the mouse pointer, I have a new job. Funny how that works.

 

How to solve hard problems

I used to think really good engineers were ones that were able to solve hard, complex problems.

I now know the best engineers are the ones that simplify complex problems, and then solve those instead.

 

Stormy seas tossed the boat

It's hard to align fully with the self-determinists when so much of life is determined by chance, circumstance, and luck (or lack of it).

An acquaintance recently posed the analogy of life an ocean — we can't help where we're pushed, or what storms will form. Learn to ride out the waves.

Too fatalist for me. Seems you should learn to how to sail.

 

The spaces in between (or, filling the gaps)

I think I know why I love my phone now -- for the same reason I liked my Nintendo DS (which now collects dust under my bed): Because it fills those little gaps in my day: the bus stop, waiting in line, stopping at a bench to rest.

I used to play Mario Kart. Now I read the news. Or email. Or some other game. Or read Twitter. Or take a picture.

I feel more efficient, somehow. The quality I've always strived for.

I haven't legitimately felt bored for a while. Odd feeling.

 

The race to be first (or the bottom)

So, a minor news story of the day is that John Roberts is not stepping down as the Chief Justice of the United States. Of course, John Roberts never was stepping down as the CJOTUS (that's an acronym, right?).

The tl;dr is that, to make a point, a Georgetown Law professor mentioned it to his class to see how quickly the rumor would spread (full story via zittrain).

All of which got me to thinking about the place of the scoop in this brave new world of realtime journalism.

So, here's my take: the scoop is nothing new — my mind settles on the image of shabby old-timey reporters mulling around the the police department looking for a lead on a juicy story. But at least, at that time, the material world provided some form of sanity check: The presses only rolled once a day. And there weren't that many of them.

So this checked the tremendous journalistic pressure to be first.

But the immediacy of news continues its march from those days of the daily. Television brought us the moon landing live. Cable news brought us, well, everything live. And while the number of sources multiplied, they were still numerable, monied, and lasting, with reputations to maintain and advertisers to appease.

What's the check, then, on today's push-button publishers?

The answer: nothing, really. You press enter and it's out there.

This is what I love about Professor Tague's stunt: he plays 'em for it. He knows their weakness: the meta-journalists' willingness to echo hearsay as news, and fast — 'cause if they're wrong, they're wrong. But if they're right, they're first.

 

TkDiff for Subversion on OS X

Slightly less sentimental post today.

TkDiff is my graphical diff I normally use. Subversion is what I use most often as version control outside of work (a Perforce zone). OS X is what runs on my laptop.

I spent longer than I'd like to figure this out by Googling it, so here's a quick note on how to use TkDiff as the SVN diff program on OS X for future searchers.
  1. Download and install TkDiff from Sourceforge.
  2. Edit ~/.subversion/config
  3. Set the diff-cmd variable to point at TkDiff with the following line.
diff-cmd = /Applications/TkDiff.app/Contents/Resources/Scripts/tkdiff.tcl

Then, when you run svn diff, it'll run in TkDiff.

Now you know. Go build stuff.