Sunday, March 05, 2006

More Zeros and Ones

I never make stupid mistakes. Only very, very clever ones. ~John Peel
As the ENIAC story illustrates, information technology is funny to those of us who work with it up close and personal. CIOs and directors probably don't see the humor, but then I don't think any part of their job is fun, so it's understandable that their sense of humor is lacking. One example of silliness, involves the infamous “Richard Keil Memorial Abend.”
“Abend” is short for Abnormal Ending, which computer jargon for, “Oh, [expletive], it crashed.” The term originated in the mainframe world, but it carried over into the network server environment. When Novell released version 3.12 of their Netware server software, it was a very good product. But, even good server software crashes now and then, so sysadmins would occasionally be confronted with abend messages on their servers. Usually, these messages were cryptic, but gave some hint about what happened. After 3.12 was released, though, on rare occasion, they might see “Richard Keil Memorial Abend #27” flickering on their monochrome server displays. Since Novell was not known to be a humorous company, people feared that a virus had gotten on the server.
This was big news, because viruses were something that hit Microsoft products, not Novell. This was partly because Novell had better security and partly because Novell's Network Loadable Modules (NLMs), programs that run on the server itself, were so tough to write that virus writers didn't even try.
It wasn't a virus. It was a joke that wasn't supposed to have been there.
Programmers get bored. When writing gobs of code, especially with deadlines approaching, a programmer will occasionally allow himself a little levity. I don't program anymore, aside from the odd script to automate some task, but some years ago, I wrote a rather involved series of database programs. As part of the debugging process, I would have to add some sort of message to let me know exactly where a problem occurred. After a while, plain jane error messages got to be a drag, so I'd get creative, like “The damn program crapped out on line 335 again!” Once I fixed the problems, I removed the silly messages.
The Novell programmer did the same thing. He was working on a section that was the responsibility of a Novell engineer named, you guessed it, Richard Keil. He embedded the error message in several places, and, after everyone had their chuckle, he removed the references to Mr. Keil. Or, at least, he thought he did.
Unfortunately, Netware is a lot more complex than my little database programs. The error message was called in several places. The programmer missed one. Or more. Or maybe he thought the problem was resolved, so the error would never occur, so he didn't removed the references at all. Whatever the cause, Novell 3.12 went out with the “Richard Keil Memorial Abend” hidden in it, ticking like a time bomb.
I imagine Novell management was not amused when sysadmins started panicking about what this strange reference was. They ordered that a patch be issued to fix it. But the error was pernicious; despite promises that various patches would remove Richard Keil from your server, he kept popping up. They actually issued on patch that was supposed to do nothing but remove ol' #27. I'm not sure they ever did clean it up.
Eventually, an entire mythology sprang up around the “Richard Keil Memorial Abend #27.” One version was that Keil had been fired, and the programmer was leaving a tribute. Since Keil's name turns up as co-author of a document written several years after 3.12 was released, this would appear to be false. Another story came along as a result of a typo. Somebody typed “Keil” as “Kiel”. It turns out that Richard Kiel is the actor who played “Jaws” in a couple of James Bond films. The abend, then was a tribute to him. Why someone at Novell would embed a tribute to a guy with steel teeth was never clear, but the story grew legs to the point that the misspelled version of Mr. Keil's name is as common in Internet postings about the message as the correct spelling.
Ironically, you can't find the information about the abend on the Novell site anymore. Version 3.12 is no longer supported, and documents about it have been moved to some dusty archive area. One would think such a memorable event would rate its own section in the knowledgebase.
I saw the error myself. It would occur on a particular server whenever a tape was inserted into the tape drive. It even happened when a cleaning tape was used. It was amazing enough that you could crash a server with a cleaning tape. Generating the “Richard Keil Memorial Abend” was a bonus.
They don't make errors like that any more.

No comments: