Noticias

Ciencia

Margaret Hamilton. La dama de la NASA que se atrevió a lo impensable, y así le salvó la vida a muchos astronautas

Fue la primera persona que el programa Apolo contrató para escribir software, pero hizo mucho más y desarrolló una ciencia que hizo posible que los dos primeros hombres pisaran la Luna; gracias a sus ideas, hoy tus dispositivos funcionan sin fallar, o, más bien, casi nunca te enterás de que fallan

28 may 2023

 

 

 

Esta es, simplemente, una historia hermosa. No solo porque Margaret Hamilton fue una persona brillante, sino por el modo y el contexto en el que lo fue. Se le atribuye, y es difícil refutarlo, el haber acuñado el término “ingeniería de software” (algo que, admite, en el momento sonaba como una broma o un juego de palabras), y fue, de eso no cabe duda, la persona que hizo posible que los dos primeros seres humanos alunizaran, el 20 de julio de 1969. Sin Margaret, los vítores podrían haberse tornado en fracaso. O, peor, en desgracia.

 

Ahora bien, ¿por qué una historia hermosa? Si hacen un poco de memoria y recuerdan todas las fotos, documentales y películas sobre las misiones Apolo, notarán un hecho de lo más sintomático. Un signo de la época, pero no por eso menos lamentable. En esas escenas casi no hay mujeres (excepto las esposas de los astronautas). Más de medio siglo atrás, convencidos de un prejuicio que llevaba milenios y que costará todavía mucho tiempo erradicar, la NASA era mayormente un club masculino. Excepto por Margaret y unas pocas más (tres de ellas se ven en la foto de abajo). Hamilton fue la primera persona que el programa Apolo contrató para escribir los programas del control de vuelo de las naves, y, por supuesto, su condición de mujer fue resistida y al principio la pusieron a trabajar con el código de programas menores. Pero, como se verá enseguida, tampoco es que la NASA tenía muchas opciones. La programación estaba naciendo; literalmente.

 

La sala de control de la misión Apolo 11. Son prácticamente todos hombres, aunque cerca del centro de la imagen, en la tercera fila, está la ingeniera aeroespacial JoAnn Morgan; al fondo, se adivinan un par de mujeres más: Katherine Johnson, célebre por su habilidad para hacer a mano cálculos complejos, y Judy Sullivan, ingeniera biomédica

La sala de control de la misión Apolo 11. Son prácticamente todos hombres, aunque cerca del centro de la imagen, en la tercera fila, está la ingeniera aeroespacial JoAnn Morgan; al fondo, se adivinan un par de mujeres más: Katherine Johnson, célebre por su habilidad para hacer a mano cálculos complejos, y Judy Sullivan, ingeniera biomédica

 

Hamilton nació en una pequeña ciudad llamada Paoli (hoy tiene unos 4000 habitantes), en Indiana, Estados Unidos. Luego su familia se mudó a Michigan, donde cursó la primaria, la secundaria y finalmente estudió matemática (inspirada por una de sus profesoras) y filosofía (inspirada por su padre, que era poeta). Cuando estaba camino de doctorarse, le ofrecieron un puesto en el Departamento de Meteorología del Instituto de Tecnología de Massachusetts (mejor conocido como MIT). Ahí las cosas empezaron a ponerse interesantes en la vida de Margaret, y por dos motivos.

 

Esto es un caos

 

El primero es que en el MIT conoció a Edward Norton Lorenz. Sí, ese Lorenz. El de la teoría del caos. El de los fractales. El de los atractores extraños (esto tiene que ver con el clima, favor de anotar, no con la política).

 

El segundo es que Lorenz ya contaba en su departamento con computadoras; Margaret menciona en general la LGP-30, de 1956, que fue la primera que conoció, pero luego llegó una PDP-1, de 1959. Edward, un científico de raza, “pero con alma de artista”, según sus colegas, no escatimó información y Hamilton pudo estudiar la LGP-30 sin limitaciones. Descubrió así la divisoria de aguas de la modernidad: las computadoras estaban diseñadas para ser programadas. Al revés que todas las otras herramientas creadas por los humanos desde la Edad de Piedra, las computadoras podían programarse.

 

Así que se puso a estudiar eso, sin tener idea de que estaba metiéndose en un territorio que muy pocas personas habían pisado antes. Era 1960 y Margaret tenía 24 años. Para ponerlo en perspectiva, ENIAC, la primera computadora de propósito general había sido construida solo 14 años atrás; la LGP-30 con la que hizo sus primeros palotes en programación había salido de fábrica una década después de ENIAC. Faltaban 10 años para que naciera Unix; 24 para la Macintosh y 35 para Windows 95Facebook estaba casi medio siglo en el futuro. Y más de 60 años separaban a aquella joven curiosa y sonriente, pero de carácter firme, de ChatGPT.

 

Edward Lorenz

Edward Lorenz

 

Para ponerle un poco más de perspectiva, eran tiempos en los que uno podía cursar una carrera en matemática o en ingeniería, pero no en programación. Si pensabas en crear algoritmos que predijeran el clima (ese era, en el fondo, la meta de Lorenz y del laboratorio Lincoln del MIT, donde Hamilton trabajaría luego), tenías que aprender a programar por las tuyas. Con los manuales y mucha paciencia.

 

Para redondear la perspectiva, Margaret abandonó su doctorado y buscó trabajo para ayudar a que su primer marido, James Cox Hamilton, se graduara como abogado en Harvard. James vería un par de años después el aviso en un diario en el anunciaban que la NASA estaba buscando programadores para el proyecto de enviar personas a la Luna. A Margaret le pareció fascinante, se postuló y así su nombre empezó a grabarse en la historia. Todo vuelve, dicen.

 

Con la experiencia de la LGP-30 y la PDP-1, pasó luego al proyecto SAGE (por Semi-Automatic Ground Environment), palabra que también quiere decir “sabio” en inglés. SAGE era una verdadera monstruosidad, típica de la Guerra Fría. Llamado AN/FSQ-7 (Q7, para abreviar), este centro de comando y control estaba compuesto por 24 máquinas de 250 toneladas cada una, diseñadas por el MIT y construidas por IBM.

 

Había sido pensado en su origen para predecir el clima, pero muy pronto descubrieron que la atmósfera era una clase de animal que iba a requerir mucho más poder de cómputo. Entonces, SAGE pasó a trabajar en la detección de aviones enemigos y satélites. Dato de contexto: cuatro años antes, en 1957 la Unión Soviética había lanzado el Sputnik-1, lo que puso en alerta máxima a Estados Unidos, dio origen a la Agencia de Proyectos de Investigación Avanzados de Defensa (ARPA) y, en el mediano plazo, puso en marcha Arpanet, la antecesora de Internet.

 

Esto es griego para mí

 

Rebobinemos un poco. Ya hay computadoras. Las computadoras están cada vez más orientadas a ser programadas, en lugar de a procesar una sola clase de datos siempre de la misma forma. Y, sin embargo, no existen todavía ni la disciplina ni la carrera de programador, ingeniero de software o como lo quieran llamar. Los pocos que habían logrado meterse con eso y salir airosos, como Margaret, empezaban a ser convocados para escribir programas.

 

Para darse una idea de lo nuevo que es todo esto, Margaret se había casado en 1958, solo seis años después de que Grace Hopper desarrollara el primer compilador. Un compilador es, dicho muy simple, lo que traduce las instrucciones escritas por humanos al lenguaje que usan las máquinas. La historia de Hopper está también en nuestros Pioneros Inesperados. Dicho sea de paso, y como habrán notado, Margaret es conocida y reverenciada en el ambiente de la computación por el apellido de su primer marido; ella había nacido como Headfield. Que era el apellido de su padre, claro. Sigamos.

 

Hopper explicando Cobol; nunca tuvo hijos, pero dio a luz una idea tan brillante que 50 años después sigue vigente. Todo el software se escribe hoy como lo imaginó Grace en 1952

Hopper explicando Cobol; nunca tuvo hijos, pero dio a luz una idea tan brillante que 50 años después sigue vigente. Todo el software se escribe hoy como lo imaginó Grace en 1952Archivo

 

Es casi seguramente el mismo rasgo que caracteriza a todas las grandes figuras de la historia lo que le valió llegar al programa Apolo, cuya significación histórica sería inmensa. Ese rasgo es la perseverancia. Por ejemplo, cuando estaba en el laboratorio Lincoln, le asignaron, por ser principiante, un programa que nadie antes había logrado dominar. Margaret descubrió que el creador de ese programa había cometido la picardía de poner los comentarios (los comentarios explican lo que hace el código) y la salida del programa (los resultados) en latín y griego. Nunca explicó cómo interpretó ambos idiomas –no había Google Translator todavía–, así que suponemos que fue su formación en filosofía lo que le permitió salir del paso. Gracias a este logro, cuando el Laboratorio de Instrumentos del MIT fue convocado para el programa Apolo, Hamilton estaba en el lugar y el momento correctos.

 

Eso no va a pasar

 

Pero el software todavía era una ciencia en pañales. Trabajó primero con las tablas de referencia lunares y con el proceso que debía correrse en caso de abortar una misión, tarea que le asignaron porque nadie pensaba que fuera a ocurrir, por lo que Hamilton bautizó a su programa Forget it (Olvidate).

 

Pero lo más delicioso de la historia de esta mujer genial tiene que ver con los errores. No son ninguna tontería los errores, en computación. Pero eso lo sabemos hoy. Gracias a Margaret.

 

Para cuando estaba en el programa Apolo ya había tenido a su hija Lauren. Sufrió críticas “por dejar a su hija en casa mientras trabajaba para la NASA” (de parte de hombres, claro), y, paradójicamente, sería Lauren quien guiaría a su madre a un concepto que puso los dos primeros humanos en la Luna y, quizá, salvó sus vidas. Ese concepto es, simplificando mucho, la captura y procesamiento de errores, y el recuperar una computadora de esas fallas para que siga funcionando normalmente tras el tropiezo. Para que Margaret descubriera eso necesitaba una hija pequeña jugando a ser astronauta en el Laboratorio de Instrumentos del MIT.

 

Margaret Hamilton en el simulador con el que trabajaba en el Laboratorio de Instrumentos del MIT; su hija Lauren la vio hacer esto, la imitó, cometió un error y cambió la historia

Margaret Hamilton en el simulador con el que trabajaba en el Laboratorio de Instrumentos del MIT; su hija Lauren la vio hacer esto, la imitó, cometió un error y cambió la historiaMuseo del MIT

 

Margaret llevaba a su hija al laboratorio sobre todo de noche y los fines de semana, como muchos de nosotros en iguales condiciones. Solo que Lauren tenía una nave espacial de verdad para jugar. Un día, apretó algo y se cayó el sistema, literalmente. Se colgó todo. En una simulación, claro, pero de ocurrir en el espacio, podía ser catastrófico. Y los equipos del laboratorio estaban diseñados para simular absolutamente todo en una misión real. ¿Qué había ocurrido? Lauren había seleccionado, jugando, el programa de pre-lanzamiento cuando la computadora estaba en modo de pleno vuelo. La máquina, como cualquier computadora moderna, al encontrarse con un error que no podían entender ni manejar y del que, por lo tanto, no podía recuperarse, ¡pum!, se colgó. Al colgarse, se reiniciaba. Al reiniciarse, perdía todos los datos de navegación. Y en el espacio no solo nadie puede oírte gritar, sino que es casi imposible orientarse sin datos muy precisos.

 

Ese estado de cosas, el que solo apretar un botón pusiera a una nave espacial a la deriva para siempre, era un desastre buscando cuándo ocurrir. Así que Hamilton fue con el planteo al MIT y a la NASA. Le dijeron que nunca podría pasar que un astronauta apretara un botón sin querer. “Están entrenados para no cometer errores”, argumentaron.

 

Pero Margaret tenía un as en la manga. Si en lugar de fallar un astronauta, había un problema con el software, se perderían las vidas de los astronautas. Alertar sobre los errores y atraparlos a tiempo era para ella una cuestión humanitaria; para el gobierno estadounidense, que corría una carrera contra la Unión Soviética, se convirtió en una cuestión política; sobre todo después de la tragedia del Apolo 1. Ganó Hamilton, y la gente de hardware se ocupó de modificar la computadora del módulo de comando y la del módulo lunar para que interrumpieran a los astronautas cuando se producía un error. Interrumpir a los astronautas era casi una herejía, pero pronto se darían cuenta de que sin esas advertencias podían morir en el espacio.

 

Esto de recuperarse de errores es un capítulo aparte, en el que no entraremos, y en esa época lo era mucho más. Con sentido común, el mecanismo asincrónico usado por Hamilton para ejecutar programas (que había desarrollado originalmente Halcombe Laning, también del MIT) permitía, ante una falla, descartar tareas de baja prioridad y recuperar la secuencia de procesos de alta prioridad. Eso salvaría la misión Apolo 11.

 

Pero antes de eso, e increíble como pueda sonar, Jim Lovell, que luego haría historia con la catastróficamente exitosa Apolo 13, cometió el mismo error que la pequeña Lauren, apretó el botón de pre-lanzamiento en pleno vuelo, y perdió todos los datos de navegación, durante la misión Apolo 8. Gracias a que el error fue advertido por el mecanismo incorporado en la nave a instancias de Hamilton, y luego de mucho trabajo en la Tierra, lograron transmitirles a los astronautas nuevos datos de navegación.

 

El futuro, en blanco y negro

 

Esta idea nueva y loca de interrumpir a los astronautas con mensajes de error de una computadora volvería a pasar en el peor momento imaginable: durante el primer alunizaje. Aunque hay cierto debate sobre esto, parece ser que los astronautas dejaron encendido el radar de acople, la computadora se saturó con esos datos (más los del alunizaje) y empezó a emitir advertencias. (La NASA cita un guion de software defectuoso como causa de los mensajes de error.)

 

Tres minutos antes del momento más culminante de la carrera espacial, dos astronautas se vieron interrumpidos por las pantallitas de Hamilton, y eso era cosa seria. Con la Luna al alcance de la mano, el control de misión tenía que decidir en segundos si abortaban o no el alunizajeJack Garman, un ingeniero de software que estaba en la sala de control, hizo lo que hoy hacemos muchas veces cuando nos aparece un cartelito raro en la notebook o en el celular. Lo interpretó, entendió que no estaba en peligro el proceso de alunizaje (gracias al mecanismo implementado por Hamilton para recuperar a la máquina de situaciones imprevistas) y dio luz verde para seguir adelante. Menos de tres minutos después, el Águila se había posado.

 

Hamilton en 1969, parada junto a la transcripción en papel de código fuente del software de las computadoras del Apollo 11

Hamilton en 1969, parada junto a la transcripción en papel de código fuente del software de las computadoras del Apollo 11Museo del MIT

 

Sin saber absolutamente nada de esto, vi el alunizaje en nuestro televisor blanco y negro que, en esa ocasión, mi padre llevó al taller del diario La Prensa, junto con su familia, para que todos allí vieran el histórico acontecimiento.

 

Mujer, joven, recién casada y con una hija pequeña, Hamilton fue la pionera inesperada de una disciplina de programación que hoy permite que tu teléfono o tu notebook (ni qué hablar Internet, los satélites, los aviones, las fábricas y hasta tu auto) funcionen sin fisuras, recuperándose de errores de forma incesante, sin que lo adviertas. Sus trabajos teóricos son fundacionales en este campo en el que las fallas se atajan a tiempo, se las procesa y el sistema sale del paso sin novedad. Hay también errores inesperados, imprevistos o incomprensibles que no traen mayores consecuencias y otros que son fatales. La máquina no sabe qué hacer con estos y además la deja en un estado anómalo. Es el motivo por el que Windows puede mostrar la fastidiosa pantalla azul, que en la jerga se conoce como BSOD, por Blue Screen of Death, porque la máquina queda inservible hasta que la reinicies.

 

Hace dos semanas me puse en contacto con la NASA, con la esperanza de poder hablar unos minutos con Hamilton, y me prometieron pasarle mi mensaje. Ojalá me responda, porque es una mujer que he admirado durante muchos años. Si lo hace, haré la actualización correspondiente en este artículo.

 

Fuente: La Nación