Ed Nather posted the account to USENET on May 21, 1983. He introduced Mel while recalling an older computing culture built around raw machine code. Royal McBee Computer Corp., a defunct typewriter-company subsidiary, made the small, inexpensive LGP-30 and had begun producing the larger, faster RPC-4000. Both used drum memory, while core memory remained too expensive. Nather had joined the company to write a FORTRAN compiler, and Mel became his guide to the machines. Mel distrusted compilers and considered self-rewriting code a basic measure of a useful program.
Mel had written Royal McBee’s most popular program in hexadecimal. It ran on the LGP-30 and played blackjack for prospective customers at trade shows, attracting crowds while IBM salesmen watched from the side. His next assignment was to move the game to the RPC-4000. Its one-plus-one addressing scheme stored an operation, an operand address, and the location of the following instruction in every machine word. Program flow therefore depended on an explicit next address after each instruction.
Mel arranged instructions around the rotation of the drum so that the next operation reached the read head at the right moment. He rejected the optimizing assembler because its placement decisions could force programmers to use separate constants. Mel knew the numeric values of operation codes and drum addresses, so an existing instruction could also serve as a constant. His manually arranged programs ran faster than assembler-optimized versions. He wrote the innermost loops first to secure the best drum positions. For output delays needed by a Flexowriter, he placed instructions so the drum made an extra revolution. Mel called the longest delay the “most pessimum.”
The blackjack program used a random number generator to shuffle and deal the cards. Sales staff requested a console sense-switch setting that would let customers win. Mel considered the change dishonest and resisted it. Pressure from management eventually produced a modification, but Mel reversed the test. With the switch enabled, the computer won every time. Mel treated the mistake as evidence of an ethical subconscious and refused to correct it.
After Mel left, Nather investigated the code at the manager’s request. He found a loop with no explicit test and spent two weeks explaining it. The RPC-4000 had an index register, but Mel modified instructions directly. He loaded an instruction into a machine register, increased its address, stored it back, and executed the changed instruction. The loop timing accounted for that extra work.
Mel placed the data near the highest addressable memory locations. After the final datum, incrementing the instruction address caused an overflow. The carry changed the operation code into a jump instruction, and execution continued at address zero. A bit associated with indexed addressing helped reveal the mechanism, although Mel never used the index register itself. Nather reported that he could not find the requested test and left the code untouched. The blackjack program still made the computer win when the switch was used.
Nather presented Mel as an elusive programming genius and described the code as an example of software craftsmanship visible mainly to other programmers. A 1992 postscript explains that the original submission was ordinary prose. Network copies turned it into the free-verse format known today, which became part of the story’s own history. The account is now treated as a classic tale about the aesthetics and psychology of early hacking.




Comments
No comments yet — be the first.
Open the discussion
No account or password needed — just enter your e-mail and we’ll send you a one-time sign-in link. First time here? You’re set up automatically.
Your rating will be applied automatically after you sign in.
Check your inbox
We’ve sent a sign-in link to …. Open it on this device — this tab will sign you in automatically.
Nothing arrived? Check your spam folder — and mark the mail as "Not spam" so it lands in your inbox next time.