Links for the Week - April 28, 2008

The "pros and cons of a global distributed network" edition:

Teaching software engineering

Today is the first day of the course I'm co-teaching at Earlham this semester, CS345: Software Engineering. I'm excited to be back in a classroom again and thinking in new ways and on different levels about a topic that's very much a part of what I do every day for Summersault (and why Summersault exists at all). Like the last course I taught at Earlham, this is sure to be a challenge and a joy. Wish me luck! I'll hopefully have some time to post general thoughts about teaching software engineering here, but the course website will be my main tool for collecting and sharing information and resources related to the class.

Comair flight cancellations caused by a 16-bit counter

Over the holiday weekend, Comair had to cancel over 1,000 flights because of software problems. It turns out that, as I read in the F-Secure Weblog, the flight planning software they were using was using a 16-bit counter to keep track of flight staff changes...so after 32768 changes it would simply stop working. Details are available from an article in Cincinnati Post. This is the kind of madness I was expecting for Y2K, not four years later when we're supposed to have learned that lesson by now.

Gas Pump Buffer Overflow

Random rant: In 1970, Intel produced a memory chip, the first, capable of storing 1 kilobyte of data - a couple of paragraphs of text or so. Today, one can obtain memory chips that store many gigabytes of data - enough to hold entire movies, encyclopedias, and more - for mere hundreds of dollars. So, why is it that when I finish pumping gas at a gas station and hit the "RECEIPT YES" button, the piece of crap machine can't store that one simple keystroke in its input buffer long enough that it doesn't have to ask me 5 seconds later, "RECEIPT? (YES/NO)". It can remember a credit card number, do complex fuel tax calculations, and even tell me about the latest sugar-coated crap I can buy inside, but not that I pressed that button a few seconds ago. It's a scary, scary world we live in, folks. Bah!