fbpx
Wikipedia

The Story of Mel

The Story of Mel is an archetypical piece of computer programming folklore. Its subject, Melvin Kaye,[1] is an exemplary "Real Programmer" whose subtle techniques fascinate his colleagues.

Story edit

Ed Nather's The Story of Mel details the extraordinary programming prowess of a former colleague of his, "Mel", at Royal McBee Computer Corporation.[2][3] Although originally written in prose, Nather's story was modified by someone into a "free verse" form which has become widespread.[4][5]

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.[6][7] 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 was puzzled to discover that it contained what appeared to be an infinite loop, yet control did not remain inside the loop. Eventually he realized that Kaye was using self-modifying code to process elements of an array, and had coded the loop in such a way as to take advantage of an Integer overflow. Adding 1 to the address field of an instruction that referred to address x normally just changed the address to x+1. But when x was already the highest possible address, not only did the address wrap around to 0, but a 1 was carried into the bits from which the opcode would be read—in this case changing the opcode to "jump to" so that the full instruction became "jump to address 0". This impressed Nather so much that, out of respect, he gave up the task and reported that he could not find the bug.

The early computers of IAS machine design had no index register. Using self-modifying code was necessary for array operations. The LGP-30 instruction  y 2000  did "replace the contents of the address portion of the word in memory location 2000 with the contents of the address portion of the word in the accumulator" to ease writing self-modifying code.[8]

History edit

The essay was originally published in the Usenet news group "net.followup" on May 21, 1983, by utastro!nather (the UUCP email address of Ed Nather at the time).[2][3]

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.[1]

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.[9]

See also edit

References edit

  1. ^ a b "Librascope Memories" (PDF). The Librazette. Librascope Inc.
  2. ^ a b Raymond, Eric S., ed. (1992-07-01). "The Jargon File, Version 2.9.10, 01 Jul 1992 (jargon2910.ascii.gz)" (GZ). line 20505. from the original on 2017-03-09. Retrieved 2014-07-01.
  3. ^ a b Matt Crawford (November 20, 1984). "The realest programmer of all". Newsgroup: net.jokes. Usenet: 531@oddjob.UChicago.UUCP. Retrieved December 22, 2019.
  4. ^ The Story of Mel free verse version
  5. ^ "The Story of Mel, A Real Programmer, Annotated". www.cs.utah.edu.
  6. ^ Bill von Hagen (1 Jun 1994). "New Light on the Legend of Mel". Newsgroup: alt.folklore.computers. Usenet: IhyHSrOSMUE3MKUXwi@transarc.com. Retrieved December 22, 2019.
  7. ^ "In particular, Mel Kaye of Royal McBee...", FOLDOC, imperial.ac.uk
  8. ^ Royal McBee Corporation (April 1957). ROYAL PRECISION Electronic Computer LGP - 30 PROGRAMMING MANUAL. Port Chester, New York: Royal McBee Corporation. Retrieved 2020-03-17.
  9. ^ "Mel Kaye in the first LGP-30 training class". the Librazette. Librascope Inc.

Further reading edit

  • utastro!nather (1983-05-21), The Story of Mel - A recent article devoted to the *macho* side of programming made the bald and unvarnished statement: Real Programmers write in Fortran., Greg Lindahl, from the original on 2017-03-09, retrieved 2017-03-09 (NB. A copy of the original prose version.)
  • utastro!nather (1983-05-21), re: Real Programmers ..., Rob Stampfli, from the original on 2018-02-12, retrieved 2018-02-11 (A completely original copy of Ed Nather's Usenet post, with headers)
  • Nather, Ed (2003-09-12) [1983-05-21], The story of Mel, a Real Programmer, FOLDOC, from the original on 2017-03-09, retrieved 2017-03-09 (NB. Punctuation added/corrected for readability. Contains link to program tape of blackjack for LGP-30)
  • Jennings, Tom, ed. (2000-11-30) [1956-10-18], Mel the Programmer: LGP-30 Coding Sheet - Program 13.0, from the original on 2017-03-09, retrieved 2017-03-09 (Mel Kaye's signature] on a coding sheet for the LGP-30.)
  • Kaye, Mel, Manual for Blackjack Game (PDF), USA: Librascope, Inc., RPC-4000 Program W1-01.0, (PDF) from the original on 2017-03-09, retrieved 2017-03-08 (NB. Presumably the subject of the original story.)
  • Seibel, James (2015-04-08), 'The Story of Mel' Explained, retrieved 2018-02-18 (NB. Detailed analysis of the story, explaining the technical details.)
    • "Macho programmers, drum memory and a forensic analysis of 1960s machine code". freeCodeCamp.org. 2 April 2018. Contains even more technical details
  • van den Bogaard, Adrienne (2008). "Stijlen van programmeren 1952-1972". Studium. 1 (2): 128-144. doi:10.18352/studium.1459.
  • Mel's Loop - A Comprehensive Guide to The Story of Mel, 2022-05-21 (A research on the origins of the story, its characters, Mel Kaye's biography, and hacker folklore in general)
  • Mel's Loop - Mel Kaye – CV, 2023-05-21 (Mel Kaye's Biography: A research into Mel Kaye's identity, family, origins and work)
  • A redditor found a computer of the type that Mel used in his grandparents basement.

story, archetypical, piece, computer, programming, folklore, subject, melvin, kaye, exemplary, real, programmer, whose, subtle, techniques, fascinate, colleagues, contents, story, history, also, references, further, readingstory, edited, nather, details, extra. The Story of Mel is an archetypical piece of computer programming folklore Its subject Melvin Kaye 1 is an exemplary Real Programmer whose subtle techniques fascinate his colleagues Contents 1 Story 2 History 3 See also 4 References 5 Further readingStory editEd Nather s The Story of Mel details the extraordinary programming prowess of a former colleague of his Mel at Royal McBee Computer Corporation 2 3 Although originally written in prose Nather s story was modified by someone into a free verse form which has become widespread 4 5 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 6 7 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 was puzzled to discover that it contained what appeared to be an infinite loop yet control did not remain inside the loop Eventually he realized that Kaye was using self modifying code to process elements of an array and had coded the loop in such a way as to take advantage of an Integer overflow Adding 1 to the address field of an instruction that referred to address x normally just changed the address to x 1 But when x was already the highest possible address not only did the address wrap around to 0 but a 1 was carried into the bits from which the opcode would be read in this case changing the opcode to jump to so that the full instruction became jump to address 0 This impressed Nather so much that out of respect he gave up the task and reported that he could not find the bug The early computers of IAS machine design had no index register Using self modifying code was necessary for array operations The LGP 30 instruction y 2000 did replace the contents of the address portion of the word in memory location 2000 with the contents of the address portion of the word in the accumulator to ease writing self modifying code 8 History editThe essay was originally published in the Usenet news group net followup on May 21 1983 by utastro nather the UUCP email address of Ed Nather at the time 2 3 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 1 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 9 See also editReal Programmers Don t Use PascalReferences edit a b Librascope Memories PDF The Librazette Librascope Inc a b Raymond Eric S ed 1992 07 01 The Jargon File Version 2 9 10 01 Jul 1992 jargon2910 ascii gz GZ line 20505 Archived from the original on 2017 03 09 Retrieved 2014 07 01 a b Matt Crawford November 20 1984 The realest programmer of all Newsgroup net jokes Usenet 531 oddjob UChicago UUCP Retrieved December 22 2019 The Story of Mel free verse version The Story of Mel A Real Programmer Annotated www cs utah edu Bill von Hagen 1 Jun 1994 New Light on the Legend of Mel Newsgroup alt folklore computers Usenet IhyHSrOSMUE3MKUXwi transarc com Retrieved December 22 2019 In particular Mel Kaye of Royal McBee FOLDOC imperial ac uk Royal McBee Corporation April 1957 ROYAL PRECISION Electronic Computer LGP 30 PROGRAMMING MANUAL Port Chester New York Royal McBee Corporation Retrieved 2020 03 17 Mel Kaye in the first LGP 30 training class the Librazette Librascope Inc Further reading editutastro nather 1983 05 21 The Story of Mel A recent article devoted to the macho side of programming made the bald and unvarnished statement Real Programmers write in Fortran Greg Lindahl archived from the original on 2017 03 09 retrieved 2017 03 09 NB A copy of the original prose version utastro nather 1983 05 21 re Real Programmers Rob Stampfli archived from the original on 2018 02 12 retrieved 2018 02 11 A completely original copy of Ed Nather s Usenet post with headers Nather Ed 2003 09 12 1983 05 21 The story of Mel a Real Programmer FOLDOC archived from the original on 2017 03 09 retrieved 2017 03 09 NB Punctuation added corrected for readability Contains link to program tape of blackjack for LGP 30 Jennings Tom ed 2000 11 30 1956 10 18 Mel the Programmer LGP 30 Coding Sheet Program 13 0 archived from the original on 2017 03 09 retrieved 2017 03 09 Mel Kaye s signature on a coding sheet for the LGP 30 Kaye Mel Manual for Blackjack Game PDF USA Librascope Inc RPC 4000 Program W1 01 0 archived PDF from the original on 2017 03 09 retrieved 2017 03 08 NB Presumably the subject of the original story Seibel James 2015 04 08 The Story of Mel Explained retrieved 2018 02 18 NB Detailed analysis of the story explaining the technical details Macho programmers drum memory and a forensic analysis of 1960s machine code freeCodeCamp org 2 April 2018 Contains even more technical details van den Bogaard Adrienne 2008 Stijlen van programmeren 1952 1972 Studium 1 2 128 144 doi 10 18352 studium 1459 Mel s Loop A Comprehensive Guide to The Story of Mel 2022 05 21 A research on the origins of the story its characters Mel Kaye s biography and hacker folklore in general Mel s Loop Mel Kaye CV 2023 05 21 Mel Kaye s Biography A research into Mel Kaye s identity family origins and work A redditor found a computer of the type that Mel used in his grandparents basement Retrieved from https en wikipedia org w index php title The Story of Mel amp oldid 1187967667, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.