The Story of Mel
The Story of Mel is an archetypical piece of computer programming folklore. Its subject, Mel Kaye, is the canonical Real Programmer.
Story
Ed Nather’s The Story of Mel details the extraordinary programming prowess of a former colleague of his, "Mel", at Royal McBee Computer Corporation.[1][2] Although originally written in prose, Nather’s story was modified by someone into a "free verse" form which has become widespread.[3]
Little is known about Mel Kaye, beyond the fact that he was credited with doing the "bulk of the programming" on the 1959 ACT-1 compiler for the Royal McBee LGP-30 computer.[4][5] In Nather's story, Kaye is portrayed as being prone to avoiding optimizing assemblers in favor of crafting code to take advantage of hardware quirks, for example taking advantage of the rotation of the LGP-30's drum memory to avoid writing delay loops into the code.
The story as written by Nather involved Kaye's work on rewriting a blackjack program from the LGP-30 to a newer Royal McBee system, the RPC-4000; company sales executives had requested to modify the program so that they could flip a front panel switch and cause the program to lose (and the user to win). Kaye reluctantly acceded to the request, but to his own delight, he got the test wrong, and the switch would instead cause the program to win every time (and the user to lose).
Subsequent to Kaye's departure, Nather was asked to fix the bug. While examining the code, he found out that an apparent infinite loop had in fact been coded in such a way as to take advantage of a carry-overflow error. Adding 1 to an instruction that decoded as "Load from address x" normally yielded "Load from address x+1". But when x was already the highest possible address, not only did the address wrap around to zero, but a 1 was carried into the bits from which the opcode would be read, changing the opcode from "load from" to "jump to" so that the full instruction changed from "load from the last address" to "jump to address zero". This impressed Nather so much that, out of respect, he gave up the task and reported that he could not find the bug.
History
The essay was originally published in the usenet news group "net.jokes" on May 21, 1983 by utastro!nather (the email address of Ed Nather at the time).[1][2]
The Royal McBee computers were developed and manufactured by Librascope, and the documentation written for the blackjack program was written by Mel Kaye of Librascope Inc. The August 1956 edition of the Librazette, the Librascope newsletter, contains a story about training on the LGP-30, and mentions that some Librascope application engineers were transferred to the Royal McBee payroll. Among the engineers named is Mel Kaye.[6]
There is a photograph on the front page of that issue showing that first class of neophyte LGP-30 programmers and the instructors, including Mel Kaye.[7]
See also
References
- ^ a b Raymond, Eric, ed. (1 July 1992). "The Jargon File, Version 2.9.10, 01 Jul 1992 (jargon2910.ascii.gz)". line 20505. Retrieved July 2014.
{{cite web}}
: Check date values in:|accessdate=
(help) - ^ a b Matt Crawford The realest programmer of all Newsgroup: net.jokes November 20, 1984.
- ^ The Story of Mel free verse version
- ^ "New Light on the Legend of Mel", 1 Jun 1994, alt.folklore.computers, Bill von Hagen
- ^ "In particular, Mel Kaye of Royal McBee...", FOLDOC, imperial.ac.uk
- ^ "Librascope Memories" (PDF). The Librazette. Librascope Inc.
- ^ "Mel Kaye in the first LGP-30 training class". the Librazette. Librascope Inc.
Further reading
- The Story of Mel a copy of the original prose version
- The Story Of Mel prose from FOLDOC, with added/corrected punctuation for readability
- Mel Kaye’s signature on a coding sheet for the LGP-30.
- A description written by Mel Kaye of a blackjack game, presumably the subject of the original story.
- 'The Story of Mel' Explained detailed analysis of the story, explaining the technical details
- Kaye Associates Mel Kaye's consulting company before he died in 2008.