Dec 99 Bookshelf
Volume Number: 15 (1999)
Issue Number: 12
Column Tag: Programmer's Bookshelf
by by Paul E. Sevinç, Switzerland
Nevertheless was I looking forward to tear this month's book to pieces when I first saw its cover. I thought to have some kind of "tabloid's digest" in my hand, after all. - But I erred.
Written by Herman McDaniel and published by Chicora Publishing, Computer Snafus: Crashes, Errors, Failures, Foul-Ups, Goofs, Glitches, and other malfunctions that cause computers to go awry [McDaniel 1998] is an anthology of computer incidents in the widest sense.
I hadn't heard the word "snafus" before. For the benefit of those readers who haven't either, let me cite the book's introduction: "The American military contributed to our vocabulary the word «snafu» (defined in dictionaries as «situation normal, all fouled-up»). For the record, the «f» in «snafu» initially did not stand for «fouled»!"
The title of each of the book's 14 chapters is a question; "Can Bankers Bank on Computer Technology?", for instance, or "Do Computers Really Kill People?". The chapters are five to thirty pages long and contain incidents that sometimes need several pages and sometimes only need a couple of lines.
A few of the incidents McDaniel reports on didn't really involve a computer, they just happened to happen around one. Take the last paragraph of the third chapter, for example: "According to The Times, the branch manager and an assistant had accidentally locked themselves inside the ATM safe. Ms. Burnett heard the manager, pleading to be let out. He managed to pass the appropriate keys through the ATM to Burnett who then opened the door to free the embarrassed couple."
Many incidents weren't caused by faulty software or hardware, but by people accidentally cutting fiber cables, by heavy storms damaging computer centers, or by other non-technical reasons. I liked that McDaniel takes the time to tell how engineers and managers coped with these situations.
Alas, many incidents were caused by faulty software or hardware. Again, McDaniel doesn't confine himself to reporting on the consequences only. If the cause of the errors was disclosed, the reader learns it as well.
In some cases, the hardware or the software itself was "the incident". Namely when the development didn't meet the schedule, cost more than anticipated, or wasn't completed at all!
Incentive to Developers
Among all readers, Computer Snafus should make us developers think most. Did people really have to pay with their lives because of a hardware bug? Was it necessary to spend millions of tax dollars before realizing that a software project was doomed to fail? - In defense of those engineers who were involved: I'm sure they all worked to the best of their knowledge and belief. And the developer community in general has learned form their mistakes. As a matter of fact, most major foul-ups covered in the book happened before the nineties. (They still happen, though: at the time of this writing, the Mars Climate Orbiter loss [see [URL]] is the latest example.)
Despite McDaniel's factual writing (which, in my opinion, is a good thing), Computer Snafus is rather entertaining. Sometimes I wondered whether Dogbert had a finger (sorry, a paw) in the pie... The only thing I can reproach the book with is that the layout doesn't make clear where the coverage of one incident stops and the next starts; not every reader will want to read about every single one of them.
Computer Snafus is not a must-have: if you have to choose between this book and one about software reliability (or the like), choose the latter. However, I tend to consider these two to be complementary; Computer Snafus provides the motivation, the textbook the actual tools and techniques for writing bug-free software. (Hey, I can dream, can't I?!)
Anyway, let's end this review with an excerpt from the last chapter: "«Computer Glitch 'Kills' Constitution», proclaimed a Washington Post headline on Sunday, June 30, 1991. The article, by Douglas Farah, reported that Colombia's new constitution might not be approved because «...a computer apparently ate the text.»" Merry Christmas!
[McDaniel 1998] MCDANIEL, Herman. - Computer Snafus: Crashes, Errors, Failures, Foul-Ups, Goofs, Glitches, and other malfunctions that cause computers to go awry, Chicora Publishing, 1998.
Paul is an EE student at the Swiss Federal Institute of Technology Zurich (ETHZ) who is currently working on his buzzword-enabled M.S. thesis at the CS department of the Swiss Federal Institute of Technology Lausanne (EPFL). If you happen to look for a software engineer, check out his résumé at http://www.stud.ee.ethz.ch/~psevinc/CV/.