Ed Nather a publié ce récit sur USENET le 21 mai 1983. Il y présente Mel à travers une époque où les programmeurs travaillaient directement en code machine. Royal McBee Computer Corp., filiale aujourd’hui disparue d’une entreprise de machines à écrire, fabriquait le LGP-30, un ordinateur à tambour mémoire petit et relativement bon marché. La société lançait aussi le RPC-4000, un modèle plus grand et plus rapide. La mémoire à tores coûtait trop cher. Nather avait été recruté pour écrire un compilateur FORTRAN, et Mel lui servait de guide dans cet univers. Mel se méfiait des compilateurs et jugeait essentiel qu’un programme puisse réécrire son propre code.

Mel avait développé en hexadécimal le programme le plus populaire de l’entreprise. Il fonctionnait sur le LGP-30 et jouait au blackjack avec les clients potentiels lors des salons professionnels. La démonstration attirait les visiteurs, sous le regard des vendeurs d’IBM. Mel devait ensuite adapter le programme au RPC-4000. Son schéma d’adressage one-plus-one associait à chaque instruction un code opération, l’adresse de l’opérande et l’emplacement de l’instruction suivante. Le contrôle du programme comportait donc une adresse de continuation explicite à chaque étape.

Mel plaçait les instructions en fonction de la rotation du tambour. L’opération suivante arrivait sous la tête de lecture au moment précis où la précédente se terminait. Il refusait l’optimizing assembler, car ses choix de placement pouvaient imposer des constantes séparées. Mel connaissait la valeur numérique des codes opération et des adresses du tambour. Une ancienne instruction d’addition pouvait donc aussi servir de constante. Ses programmes ajustés à la main étaient plus rapides que ceux traités par l’assembleur. Il écrivait d’abord les boucles internes afin de leur réserver les meilleurs emplacements. Pour temporiser les sorties vers un Flexowriter capricieux, il organisait le code pour provoquer une rotation supplémentaire du tambour. Il appelait le délai maximal “most pessimum”.

Le jeu utilisait un générateur de nombres aléatoires pour mélanger les cartes et les distribuer. L’équipe commerciale demanda un interrupteur sur la console afin que les clients puissent gagner. Mel considérait cette modification comme malhonnête et la refusa d’abord. Sous la pression de sa hiérarchie, il ajouta le changement, mais inversa le test. Une fois l’interrupteur activé, l’ordinateur gagnait toutes les parties. Mel prit cette erreur comme la manifestation d’un inconscient naturellement éthique et refusa de la corriger.

Après son départ, Nather reçut pour mission d’examiner le code. Il découvrit une boucle sans test d’arrêt apparent et mit deux semaines à comprendre son fonctionnement. Le RPC-4000 disposait d’un registre d’index, mais Mel modifiait directement les instructions. Il chargeait une instruction dans un registre machine, augmentait son adresse, la stockait de nouveau, puis exécutait la version modifiée. Le placement sur le tambour intégrait le temps supplémentaire de cette opération.

Mel avait installé les données près de la limite supérieure de la mémoire adressable. Après le dernier élément, l’incrément de l’adresse de l’instruction provoquait un débordement. La retenue transformait le code opération en instruction de saut, puis l’exécution reprenait à l’adresse zéro. Un bit lié à l’adressage indexé révéla le mécanisme, alors que Mel n’utilisait jamais le registre d’index. Nather déclara à son supérieur qu’il n’avait pas trouvé le test demandé et laissa le programme intact. L’ordinateur continuait à gagner lorsque l’interrupteur était activé.

Nather présente Mel comme un génie méconnu et le code comme une forme d’art dont les détails échappent souvent à ceux qui ne programment pas. Un post-scriptum de 1992 précise que le texte original avait été envoyé en prose ordinaire. Des copies diffusées sur le réseau l’ont transformé en vers libres. Cette intervention fait désormais partie de l’histoire du récit. Celui-ci est devenu un classique sur l’esthétique et la psychologie du hacking des débuts.