Ed Nather publicó el relato en USENET el 21 de mayo de 1983. Presentó a Mel al recordar una época en la que los programadores trabajaban directamente con código máquina. Royal McBee Computer Corp., una filial ya desaparecida de una empresa de máquinas de escribir, fabricaba el LGP-30, un ordenador pequeño y relativamente barato con memoria de tambor. La compañía también empezaba a producir el RPC-4000, un modelo más grande y rápido. La memoria de núcleos resultaba demasiado cara. Nather había sido contratado para escribir un compilador FORTRAN, y Mel le enseñó cómo funcionaban aquellas máquinas. Mel desconfiaba de los compiladores y consideraba esencial que un programa pudiera reescribir su propio código.
Mel había creado en hexadecimal el programa más popular de la empresa. Funcionaba en el LGP-30 y jugaba al blackjack con posibles clientes durante las ferias comerciales. La demostración reunía a muchos visitantes, mientras los vendedores de IBM observaban desde un lado. Después, Mel recibió el encargo de adaptar el juego al RPC-4000. Su esquema de direccionamiento one-plus-one incluía el código de operación, la dirección del operando y la posición de la siguiente instrucción. Cada paso del programa llevaba su propia dirección de continuación.
Mel distribuía las instrucciones según el giro del tambor. La siguiente operación debía llegar al cabezal de lectura justo cuando terminaba la anterior. Rechazaba el optimizing assembler porque sus decisiones de ubicación podían obligar a usar constantes separadas. Mel conocía los valores numéricos de los códigos de operación y de las direcciones del tambor. Una instrucción de suma existente también podía funcionar como constante. Sus programas ajustados a mano eran más rápidos que las versiones procesadas por el ensamblador. Escribía primero los bucles internos para reservarles las mejores posiciones. Para retrasar la salida de un Flexowriter problemático, colocaba las instrucciones de modo que el tambor diera otra vuelta. Llamó al retraso máximo “most pessimum”.
El juego empleaba un generador de números aleatorios para barajar y repartir las cartas. El departamento comercial pidió un interruptor en la consola para que los clientes pudieran ganar. Mel consideraba deshonesta esa modificación y se resistió. La presión de sus superiores terminó imponiendo el cambio, pero Mel invirtió la prueba. Con el interruptor activado, el ordenador ganaba todas las partidas. Mel interpretó el error como una señal de que su subconsciente conservaba una ética propia y se negó a corregirlo.
Después de que Mel abandonara la empresa, Nather recibió el encargo de revisar el código. Encontró un bucle sin una prueba de salida visible y tardó dos semanas en entenderlo. El RPC-4000 tenía un registro índice, pero Mel modificaba las instrucciones directamente. Cargaba una instrucción en un registro de máquina, aumentaba su dirección, la guardaba de nuevo y ejecutaba la versión modificada. La disposición sobre el tambor ya compensaba el tiempo adicional.
Mel había colocado los datos cerca del límite superior de la memoria direccionable. Después del último dato, incrementar la dirección de la instrucción provocaba un desbordamiento. El acarreo convertía el código de operación en una instrucción de salto, y la ejecución continuaba en la dirección cero. Un bit relacionado con el direccionamiento indexado permitió descubrir el mecanismo, aunque Mel nunca usaba el registro índice. Nather informó a su jefe de que no había encontrado la prueba solicitada y dejó el programa sin cambios. El ordenador seguía ganando cuando se accionaba el interruptor.
Nather describió a Mel como un genio de la programación poco reconocido. También presentó su código como una forma de artesanía que otros programadores podían apreciar mejor que el público general. Una posdata de 1992 aclara que el envío original estaba escrito en prosa normal. Las copias que circularon por la red lo transformaron en el verso libre conocido hoy. Esa modificación pasó a formar parte de la historia del propio relato. El texto se convirtió en un clásico sobre la estética y la psicología del hacking temprano.




Comentarios
Aún no hay comentarios — escribe el primero.
Inicia la conversación
Sin cuenta ni contraseña — introduce tu correo y te enviamos un enlace de acceso de un solo uso. ¿Primera vez? Todo se configura automáticamente.
Tu valoración se aplicará automáticamente al iniciar sesión.
Revisa tu bandeja de entrada
Hemos enviado un enlace de acceso a …. Ábrelo en este dispositivo — esta pestaña te conectará automáticamente.
¿No llega nada? Mira en la carpeta de spam — y marca el correo como «No es spam» para que la próxima vez llegue directo.