I love detective stories, and I think that's why I love computer programming.
I was famously addicted to Encyclopedia Brown mysteries as a child, many many years before I discovered computers. I've always been one of those computer programmers for whom the most interesting part is when the computer does something unusual or unexpected, and the puzzle is: "why did it do that?" I love that sort of backward-reasoning where you are presented with a confusing behavior, and the goal is to reconstruct a series of steps by which the program ended up doing what it did.
Some people are wonderful at capturing this aspect of computer programming. Mark Russinovich is a great example; I lap up his essays the moment they arrive. I think that the format works well for describing the mental process of tracking down a complex problem; here are a few other recent examples from other writers in other fields.
So I've been very interested in the tragic mystery of what happened to Air France flight 447.
At this point, a week after the plane vanished, there is still much that is not known.
The interesting part, to me, is to follow the people who are trying to come up with theories about what could have happened and why. The effort has been focusing on the fragmentary and partial information that was sent by the plane's computers during its final minutes. What does this data mean? What can we conclude, and what is just speculation?
Modern airliners are incredibly complex. Sophisticated computer software is necessary even for small planes, and commercial passenger jets are just phenomenally complicated. But they are also amazingly capable. Captain Sullenberger's "Miracle on the Hudson" was aided by the amazing Airbus software, which helped him gently glide the plane to a safe result. But there are many mysteries about these vehicles too, and this is not the first time that an Airbus has behaved in a surprising and dangerous fashion, a fact which many others have noticed.
It takes patient, thorough investigation to figure these things out. The shining example of this is Richard Feynman's work on the Challenger investigation, which is a masterpiece of analysis.
Will we figure out the flight 447 mystery? I'm sure I'm not the only person who wants to see us make the best possible effort, and I'm pleased to see that the government has offered to help.
Update: Several thoughtful readers pointed me at some other interesting articles.
Update (2): Here's an analysis of the margin for error in the plane's likely circumstances, and here's another interesting reflection on the role of computer software in modern commercial airliners.
Update (3): Today's Christian Science Monitor reports on the progress of the investigation. Unfortunately, there are still many more questions than answers.