One nagging thing that I still don't understand about myself is why I often succumb to well-documented psychological biases, even though I'm acutely aware of these biases. One example is my failure at affective forecasting, such as believing that I will be happy for a long time after some accomplishment (e.g. publishing a new book), when in fact the happiness dissipates more quickly than anticipated. Another is succumbing to the male sexual overperception bias, misperceiving a woman's friendliness as sexual interest. A third is undue optimism about how quickly I can complete work projects, despite many years of experience in underestimating the time actually required. One would think that explicit knowledge of these well-documented psychological biases and years of experience with them would allow a person to cognitively override the biases. But they don't.

The limitations of human cognition are sobering, and sometimes saddening.

"They Write the Right Stuff" (2007) is a Fast Company article about the methodology of the group that writes the on-board software for the space shuttle. The shuttle software has one of the lowest defect rates known of any large project, and it's all due to the process and the culture that surrounds its development. Some of the most interesting takeaways:

Specifications. People who work together on the shuttle software have to be absolutely sure that they are on the same page, that they agree about every aspect of what every part of the software will do. Before any code is written, the requirements for the on-board software are documented in excruciating detail (currently, 40,000 pages of specs for 420,000 lines of code). Compared to software in industry, the discipline needed here seems superhuman. You cannot dive in to coding until you understand precisely what needs to be done. There is no "let me build a prototype and see how it works;" no unnecessary hacks or flourishes in the code; no rock-star programmers.

Continuous improvement. Every time an error is discovered, the team doesn't just fix the error. They document the circumstances surrounding the bug and its discovery; identify how the development process allowed the bug to creep in, and amend it to prevent future occurrences; and look for latent errors that have the same source.

This process costs a lot of money, and it's not fast. But for the software that controls billions of dollars worth of equipment and (in part) determines whether astronauts live or die, it's probably worth it.

16 October 2009

Some big newspapers are still not very good doing this whole "web site" thing. As someone who reads more blogs than newspapers, I am particularly jarred sometimes by their misuse of hyperlinks. Two examples:

"Thanks to Twitter/all tweeters for fantastic support over past 16 hours! Great victory for free speech," Mr. Rusbridger wrote on his Twitter feed. Words tied to the case were among the most mentioned on Twitter Tuesday.

Even so, this article does not contain a single hyperlink.

The New York Times's "Bits" blog errs on the other side, having too many hyperlinks. They recently ran an article about the launch of Google Wave (29 Sep 2009). Unlike in the WSJ, there are useful hyperlinks to primary sources, such as blog posts. But the text is peppered with additional useless hyperlinks, like "Google" and "Microsoft" being linked to curated "More information about this company..." pages (example).

I find this practice borderline sleazy, and only a little bit better than those advertisements that show up in bubbles when you mouseover highlighted words on certain websites. Why? Because it violates the usual conventions between writer and reader. If words in a block of prose are hyperlinked, the target of the link is assumed to be relevant to the matter under discussion. (Paul Grice called this the Maxim of Relation.) A company history hardly contributes anything to my immediate understanding of the article's subject. When conventions like these are broken it makes it more difficult to identify, and extract information from, the real substantive links.

The solution? Put the links in a sidebar. Bullets under a heading such as "Companies mentioned in this article" would make the context and intent crystal clear.

10 October 2009

L.A. Confidential is a great crime drama. The period (1950's) atmosphere is cute and the screenplay is very good. What really makes the film is Guy Pearce's character. His political scheming is oddly compelling and, since he is sort of a nerd, I really wanted to root for him.

My Neighbor Totoro is supposed to be the iconic Miyazaki film, but I didn't love it. There were some good elements (the interplay between the children is adorable) but overall it seemed very disjointed and random at times. Of course, maybe I would have interpreted everything differently if I had known, at the time that I was watching it, that the film is an allegory in which the Totoro is the grim reaper...

Disclosure

I'm a software engineer at DNAnexus, Inc. This blog represents the opinion of myself and no one else.Unless specifically noted otherwise, I do not receive free review copies of books or other products mentioned here.