Osvaldo R. Salazar S.
Margaret

Pie de imagen: Margaret Hamilton junto al software de navegación que ella y su equipo MIT produjeron para el Programa Apolo.
En memoria a Margaret Elaine Heafield. Imaginemos por un momento la cabina del Apolo 11. Faltan tres minutos para que el ser humano pise la luna por primera vez. La tensión es máxima. Neil Armstrong y Buzz Aldrin están en pleno descenso. La tensión es absoluta. Y de repente, ¡saltan las alarmas!… la computadora de a bordo se está sobrecargando. Y si la computadora colapsa, la misión se aborta o, lo que es peor, se estrella… pero la computadora no colapsó.
Pero, ¿cómo se programa una máquina en 1969 para que tenga ese nivel de decisión? Y más intrigante aún, ¿cómo es que la persona responsable de diseñar ese programa empezó su carrera gestionando turistas en una mina de cobre?
El objetivo de este artículo no es sólo listar su currículo, es ir más allá y conocer más a Margaret Hamilton.
Entender cómo una serie de trabajos rarísimos y una filosofía de vida muy peculiar acabaron forjando el sistema de pensamiento que revolucionó la ingeniería informática y que ayudó a llevar a la humanidad a la luna.
Pie de imagen: Margaret Hamilton.
A menudo pensamos en la historia de la informática como si fuera una sucesión de máquinas cada vez más rápidas o lenguajes más eficientes. La máquina más potente y ya. Pero la historia de Margaret rompe ese molde por completo. Es una clase magistral sobre cómo entender el comportamiento humano cuando se enfrenta a la complejidad. El código que ella escribía no operaba en el vacío. Tenía que lidiar con astronautas estresados, con radares que fallaban y con las limitaciones físicas de la propia época. Y para entender esa mentalidad tan única tenemos que ir al Medio Oeste de Estados Unidos, mucho antes de que siquiera existiera la palabra software.
Margaret tuvo una infancia bastante nómada, moviéndose de un pueblo a otro. Su madre era profesora y su padre era poeta y filósofo. Su padre solía jugar con ella a un juego de preguntas de ¿qué pasaría si…? : planteaba escenarios hipotéticos y la obligaba a pensar en todas las ramificaciones posibles de una sola decisión.
Lo fascinante de esto es que, sin darse cuenta, la estaba entrenando en lo que hoy en día llamaríamos la evaluación de casos límite. Esa dinámica familiar sentó una base crítica en su mente. Por un lado, a ella le apasionaba la abstracción matemática pura en el colegio, pero por otro tenía esas charlas filosóficas en casa. Donde aprendía que toda acción tiene una consecuencia en cadena. Esa combinación fue la que la preparó mentalmente para ver patrones lógicos donde los demás sólo veían un problema aislado o un error sin más.
Y aplicó esa visión muy rápido, porque con sólo 16 años entró a trabajar en una mina de cobre.
Al principio su trabajo era dar una visita guiada al día a alguna familia que pasaba por allí, algo tranquilo. Pero de repente el lugar se vuelve popular y la mina empieza a recibir cientos de turistas diarios. Una locura de logística.
Y esta adolescente de 16 años de repente se ve gestionando a todo el personal, organizando los recorridos y la venta de joyería. Y en un momento, para evitar una huelga, se plantó delante del dueño de la mina y obtuvo un aumento de sueldo para todos los guías. Esto es, antes de liderar a cientos de ingenieros súper cualificados en el MIT o en la NASA, ella ya estaba gestionando personas, expectativas y crisis.

Pie de imagen: En la oscuridad de las minas también se encuentra algo más valioso que el metal que de ellas se extrae.
La verdadera epifanía técnica le llegó cuando se fue al MIT a trabajar con Edward Lawrence quien tenía en su despacho una computadora LGP-30. Él no veía los errores como un fracaso que hubiera que castigar, sino como acertijos matemáticos. Él fue quien le enseñó a programar y le dio muchísima libertad para testear con la computadora.
Y ella jugaba a un nivel físico que hoy en día nos parecería ciencia ficción, porque el LGP- 30 usaba cintas de papel perforadas para leer el código. Sí, metros y metros de papel. Y Margaret no quería esperar a que la máquina imprimiera una cinta nueva cada vez que ella corregía un pequeño error en el código hexadecimal, así que decidió intervenir manualmente: si en la cinta un agujero era un 1 y el papel liso era un 0, ella cogía un lápiz bien afilado y perforaba agujeros nuevos: y para los ceros, usaba cinta adhesiva transparente para tapar los agujeros que sobraban y cambiar el código binario.
Lo importante de esta etapa con Lawrence es que le quitó el miedo a la máquina. Margaret aprendió que el código es algo maleable y esa intimidad tan física con las entrañas del ordenador le dio una confianza brutal que era justo lo que iba a necesitar para su siguiente paso.

Pie de imagen: Tarjetas perforadas para computadora
Acudió al laboratorio Draper del MIT, hizo dos entrevistas el mismo día para dos proyectos distintos y le ofrecieron los dos puestos y, como no sabía por cuál decidirse, lanzó una moneda al aire y salió cara: el proyecto del software de vuelo a bordo del programa Apollo. Si hubiera salido cruz se habría ido a trabajar en los simuladores de tierra y la historia habría sido otra.
Y dando un salto en la historia llegamos al Apolo 8. Margaret solía llevar a su hija pequeña al laboratorio y al simulador de vuelo por las tardes o los fines de semana. Y un día la niña está jugando en los simuladores de la consola principal y selecciona por error el programa P-01 que era el programa de prelanzamiento; y al ejecutarlo el ordenador colapsó y borró todos los datos de navegación que tenía guardados. O sea que su hija acababa de estrellar virtualmente el simulador… y Margaret, viendo esto, hizo la deducción más lógica del mundo: si mi hija jugando un rato puede borrar los datos vitales de navegación, un astronauta que esté cansado, estresado y sin dormir en el espacio también puede pulsar el botón equivocado.

Pie de imagen: Hamilton durante su época como principal diseñadora de software de vuelo para el Apolo.
La dirección de la NASA le dijo que los astronautas están entrenados para ser perfectos, que nunca se equivocan bajo presión y que no iban a gastar ni un miserable byte de memoria en proteger el sistema de un error humano que era imposible que pasara.
Lo único que logró fue escribir una pequeña nota de advertencia en el manual impreso que los astronautas llevaban en papel. Decía «no seleccionar P-01 durante el vuelo».
Y ocurrió. Durante la misión real del Apolo 8 el astronauta cometió paso por paso ese error. La computadora enloqueció, borró los datos de posición y, de repente, los astronautas no sabían cómo volver a casa… pero gracias a que Margaret se había empeñado muchísimo en documentar esa advertencia en el manual en el centro de control de Houston, supieron al instante qué es lo que había pasado y pudieron subirles los datos de navegación manualmente. Pero la gran batalla, la batalla definitiva, fue con el Apolo 11.
Se inventó la famosa pantalla de 5 segundos: el sistema detenía las tareas secundarias de golpe, mostraba el código de alarma brillante y le daba al astronauta 5 segundos exactos para tomar una decisión. Y menos mal que peleó por eso y ganó, porque el día del descenso, a escasos minutos de tocar el suelo lunar, saltan las alarmas. Y el radar se encendió por error y empezó a enviar miles de pulsos de datos falsos e inundó el ordenador de información inútil, robándole más del 15% de toda su capacidad de procesamiento de golpe.
Cuando el radar empezó a enviar esos miles de datos basura, el código de Margaret actuó exactamente como se programó: Miró los datos del radar, vio que no tenían ninguna prioridad de aterrizaje y los ignoró. La computadora en una fracción de segundo se dio cuenta de que no podía hacerlo todo a la vez. Así que reinició el sistema, purgó las tareas inútiles de la memoria y se enfocó exclusiva y únicamente en aterrizar vivos.

Pie de imagen: Descenso en la Luna
Y con todo ese prestigio bajo el brazo, cuando llegaron los años 70s, ella decidió que su etapa en el MIT ya había terminado. Necesitaba nuevos retos.
Y todo el trabajo de toda una vida dedicado a la fiabilidad culminó de forma muy bonita en el año 2009 en la famosa reunión de los veteranos del Apolo. Dave Hogue, una de las grandes leyendas vivas del programa espacial, se plantó ante la audiencia llena de ingenieros y exigió que se dejara ya de alabar solo a la maquinaria física de los cohetes, pidiendo un reconocimiento explícito y en voz alta a la tremenda proeza del software que lideró Margaret.

Pie de imagen: Margaret Hamilton en 1995
Osvaldo R. Salazar S.
orodolfo.salazars@gmail.com

Dejar un comentario
¿Quieres unirte a la conversación?Siéntete libre de contribuir!