Cuando el código se cosía: la historia oculta del Apollo

5 Mins read

Cyberhades Podcast

http://static.righto.com/images/agc-rope/Plate_19.jpg

Durante la cena del Pig Bounty en la Rooted de este año, nuestro amigo Álvaro comentó algo sobre que en el Apollo, partes del hardware estaban cosidas. A mí personalmente me dejó en fuera de juego porque era algo que no conocía y me pareció fascinante, así que me puse a tirar dek hilo, nunca mejor dicho :D, y aquí os dejo parte de esa historia.

Cuando pensamos en el software del programa Apollo, es fácil imaginar líneas de código abstractas, pantallas, cálculos y grandes salas llenas de ingenieros. Pero una de las verdades más sorprendentes de esa historia es que parte del software que llevó a los astronautas a la Luna no solo se “programó”: también se tejió, literalmente, a mano. 

La computadora de guiado del Apollo, la famosa Apollo Guidance Computer (AGC), tenía una cantidad de memoria diminuta según los estándares actuales: 2,048 palabras de memoria borrable y 36,864 palabras de memoria fija. Esa memoria fija equivalía aproximadamente a 72 KB. Hoy parece casi nada. En su momento, era una pieza crítica de una máquina que tenía que funcionar con una confiabilidad extraordinaria, en un entorno donde no había margen para errores. 

Lo más fascinante es cómo se almacenaba ese software. El código de vuelo se convertía en una memoria llamada core rope memory, una memoria de solo lectura en la que el programa quedaba incorporado físicamente en el hardware. No era una metáfora: los patrones del software se transformaban en recorridos de cable a través o alrededor de pequeños núcleos de ferrita. Si el cable pasaba por el núcleo, representaba un valor, si rodeaba el núcleo, representaba el otro. El resultado era una memoria compacta, robusta y permanente. 

Antes de llegar a esa etapa, el software se desarrollaba y probaba en el MIT Instrumentation Laboratory. Allí, el código se ensamblaba con herramientas como YUL, y una vez que una versión quedaba suficientemente estable, se preparaba para su transición a memoria fija. Ese paso era enorme: significaba que el programa ya no iba a vivir solo en listados y simulaciones, sino que estaba a punto de convertirse en objeto físico. 

En ese proceso aparecía una figura con un nombre inolvidable: la “rope mother”. Margaret Hamilton es la más conocida, aunque no fue la única. Estas personas eran responsables de acompañar un programa desde su desarrollo hasta su producción en memoria tejida. En otras palabras, supervisaban la traducción de software en hardware, sabiendo que cualquier cambio tardío podía implicar tiempo, dinero y presión adicional sobre todo el proyecto. 

Después, el trabajo pasaba a Raytheon. Allí, una máquina leía la información del programa desde cinta perforada y ayudaba a posicionar el punto exacto donde debía colocarse cada cable. Pero la parte decisiva seguía siendo humana. Mujeres altamente capacitadas realizaban el ensartado manual, pasando agujas cargadas con alambre a través de matrices de pequeños núcleos. Era un trabajo minucioso, lento y exigente. Fabricar un solo módulo podía tomar alrededor de ocho semanas y costar unos 15.000 dólares, una suma importante para la época. 

Ese detalle cambia por completo la forma en que contamos la historia de la computación. Muchas veces se presenta el avance tecnológico como si fuera únicamente fruto de matemáticos, ingenieros y grandes laboratorios. Pero en Apollo también hubo mujeres que construyeron físicamente esa inteligencia de vuelo con sus manos. No estaban “decorando” la tecnología ni haciendo una tarea secundaria: estaban participando en un proceso esencial para que el sistema funcionara. 

La memoria tejida no era solo ingeniosa; también imponía disciplina. Como el software quedaba fijado en hardware, cambiar algo tarde era caro y arriesgado. No significaba que fuera absolutamente imposible corregir cualquier problema, pero sí que las modificaciones se volvían mucho más difíciles una vez que el código entraba en producción. Esa realidad obligó a desarrollar una cultura rigurosa de pruebas, revisión y control de calidad. 

El AGC de vuelo llevaba seis módulos de core rope, cada uno con unas 6 kilopalabras de memoria. Es decir, el software no estaba “en algún lugar” abstracto dentro de la máquina: existía como módulos físicos, insertados en la computadora que luego se integraba al sistema de guiado de la nave y se conectaba con la interfaz DSKY que usaban los astronautas. Pensarlo así vuelve la historia mucho más tangible: el código que ayudó a navegar hacia la Luna era, literalmente, algo construido a mano y colocado dentro de la computadora de a bordo. 

También hay una dimensión humana y social que no debería perderse. Durante mucho tiempo, este trabajo fue descrito con un lenguaje que lo minimizaba, como si se tratara simplemente de “costura” o “needlework”, en lugar de reconocerlo como manufactura de alta precisión y trabajo técnico crucial. Hoy, historiadores y periodistas han vuelto sobre esta historia precisamente para corregir esa omisión y recordar que el programa Apollo también se sostuvo sobre trabajo femenino altamente especializado y poco reconocido. 

Tal vez esa sea una de las ideas más poderosas de toda esta historia: llegar a la Luna no dependió solamente de cohetes, cálculos orbitales y decisiones heroicas en la cabina. También dependió de paciencia, precisión y manos humanas en una fábrica, ensartando hilos de cobre con una exactitud casi inimaginable. En el Apollo, el software no solo fue escrito. También fue tejido. 

Fuente: https://www.righto.com/2019/07/software-woven-into-wire-core-rope-and.html