211service.com
margaret hamilton
Al eliminar implacablemente los errores, el ingeniero de software original ayudó a enviar astronautas a la luna. 16 de agosto de 2019
margaret hamilton TOAN TRINH; ESTILIZACIÓN POR LAURA DILLON
Cuando Margaret Hamilton era niña, su padre solía llevarla en largos viajes por la península superior de Michigan. Hablaban todo el tiempo sobre filosofía, cosas relacionadas, recuerda el ingeniero de software, que ahora tiene 83 años. Como 'qué pasaría si' y 'por qué' y 'por qué no'.
Unas dos décadas después, Hamilton contuvo la respiración en la sala de monitoreo de la misión del Laboratorio de Instrumentación del MIT cuando uno de los mejores escenarios de la historia se hizo realidad. El 20 de julio de 1969, a las 15:17 horas. Hora de Boston, el módulo lunar Eagle aterrizó en la luna. Para entonces, Hamilton era el jefe de ingeniería de software del programa Apollo. Como le gusta decir, la tripulación del Eagle fue la primera persona en caminar sobre la superficie lunar, y el software de su equipo fue el primero en ejecutarse en ella.
En más de una década trabajando con las misiones Apolo, Hamilton ayudó a guiar con seguridad las naves espaciales dentro y fuera de la órbita. Dirigió un grupo de casi 100 desarrolladores, aportando rigor y respeto a lo que entonces era el nuevo campo de la ingeniería de software. (De hecho, se le ocurrió el término ingeniero de software y presionó para que se usara). Y lo hizo todo con creatividad y aplomo, guiada por una convicción repetidamente confirmada: que lo que nunca sucederá puede suceder. .
Hamilton dejó la universidad pensando que sería matemática, planeando conseguir un trabajo mientras su esposo asistía a la Facultad de Derecho de Harvard y luego ella misma se graduaría en la escuela de posgrado. En 1959, comenzó a trabajar para el renombrado meteorólogo del MIT Edward Lorenz, quien le encargó la programación de una computadora de 800 libras llamada LGP-30.
Hamilton nunca había visto una computadora. Pero ella lo tomó de inmediato, encontrando formas poco ortodoxas de hacer que la cosa pesada funcionara más rápido. Tomaría medidas que hoy se llamarían programación 'complicada', dice ella. Por ejemplo, la depuración al pie de la letra implicaba alimentar lentamente el largo rollo de papel que retenía un programa incorrecto a través de la máquina. Hamilton, que no tenía paciencia para esto, aprendió el código binario y comenzó a editar las hojas ella misma, haciendo un agujero en el papel con un lápiz afilado para convertir un 0 a un 1 , y utilizando un pequeño trozo de cinta adhesiva para el reverso. (El trabajo realizado por Hamilton y otros eventualmente ayudó a conducir al innovador trabajo de Lorenz sobre la teoría del caos).
En 1961, Hamilton llevó este enfoque innovador a su siguiente puesto, inventando un nuevo protocolo de error para el sistema de defensa antiaérea SAGE masivo y rebelde del MIT. Esta computadora ocupó todo un almacén e hizo sonidos de sirena de niebla y de camión de bomberos cuando se estrelló, dice ella. Cada vez que eso sucedía, hacía que el programador en falta posara para una Polaroid, junto con la documentación de dónde procedía [el error], dice. Si volviera a ocurrir el mismo error, podrían llamar a esa persona para que lo solucione.

Hamilton con el código Apolo, 1969. Museo MIt
Los pensamientos sobre ese doctorado en matemáticas se desvanecieron. Después de años de descubrir cosas e inventar cosas, se dio cuenta de que estaba enganchada a este nuevo y extraño campo que estaba ayudando a crear en una atmósfera que ha comparado con el Salvaje Oeste. Los errores, especialmente, continuaron fascinándola: no solo encontrarlos y corregirlos, sino rastrear los patrones que siguen para predecirlos y prevenirlos. Pensé en ellos como el enemigo, dice ella.
Entonces, en 1964, cuando vio un anuncio del Laboratorio de Instrumentación del MIT que reclutaba programadores para trabajar en el software de lo que se convertiría en el programa Apollo, Hamilton aprovechó la oportunidad. Inicialmente, se le asignó lo que se suponía que era un proyecto de bajo impacto, escribiendo el código que se activaría si una misión no tripulada abortara. Los altos mandos estaban tan seguros de que esto no iba a suceder, dice, que de hecho llamó a su programa Forget It. (Cuando una de estas misiones abortó, se encontró con una gran demanda).
Pronto fue promovida a un software calificado por hombres, donde un error podría poner en peligro la vida de un astronauta. Aquí, un buen código tenía que ejecutarse correctamente, pero también tenía que detectar y compensar las fallas del hardware o los errores cometidos por los propios astronautas. Hamilton volvió a aprovechar ese espíritu de qué pasaría si: ¿Qué pasa si alguien activa este interruptor en el momento equivocado? ¿Qué pasa si ocurre una emergencia cuando todos están ocupados? Tener en cuenta estas posibilidades la mantuvo despierta por la noche. Eso es todo en lo que pensé, dice ella.
A veces la inspiración venía de lugares inesperados. Hamilton solía llevar a su hija, Lauren, al laboratorio con ella las noches y los fines de semana. A Lauren, que entonces tenía cuatro años, le gustaba jugar a ser astronauta en los simuladores del equipo, y un día, presionando botones al azar, provocó un bloqueo de software espectacular. Hamilton investigó y descubrió que Lauren había confundido el programa al teclear una secuencia previa al lanzamiento, llamada P01, en medio de la misión, dice ella.

Toan Trinh
Ella le pidió a los poderes de la NASA que le permitieran agregar una salvaguarda para evitar ese error en un vuelo real, y se rieron de que fuera demasiado improbable. Pero le permitieron tomar nota de ello. Cuando un astronauta cometió ese error durante la misión Apolo 8, el primer vuelo tripulado en órbita alrededor de la luna, provocó que los datos de navegación necesarios desaparecieran, y llamaron a Hamilton para que los recuperara. Recuerdo haberle dicho a un par de chicos allí: '¡Es el bicho de Lauren!', Dice, riendo.
Fue el Apolo 11 el que le dio al equipo el mayor susto. Justo cuando el Águila estaba a punto de aterrizar en la luna, los astronautas fueron interrumpidos por cinco mensajes de error que advertían que la capacidad informática era baja. Pero debido a que el software estaba tan bien diseñado, Houston confió en él para priorizar los aspectos más importantes del aterrizaje y permitió que la misión continuara. El equipo había programado el software para detectar errores y recuperarse de ellos, pero verlo hacer eso durante el descenso de Eagle inspiró puro terror, dice ella.
El papel de Hamilton en la historia de la informática está ganando un mayor reconocimiento público. En 2016, recibió la Medalla Presidencial de la Libertad de manos de Barack Obama, quien elogió su espíritu estadounidense de descubrimiento. En 2017, una foto icónica de ella, con anteojos, sonriendo y empequeñecida por una pila de códigos de su equipo, se convirtió en una figura de Lego.
Entre su trabajo en Apollo y su viaje a la Casa Blanca, Hamilton se centró en aplicar lo que aprendió del programa Apollo mientras inventaba un nuevo paradigma para el diseño de sistemas y el desarrollo de software. Su compañía actual, Hamilton Technologies, ha desarrollado un lenguaje basado en este paradigma llamado Lenguaje Universal de Sistemas. Su objetivo es prevenir los tipos de errores más comunes, en lugar de tenerlos en cuenta a posteriori. Ella espera que eventualmente sea ampliamente adoptado.
Es una tarea difícil para lo que ahora es una industria multimillonaria, y ya no tan salvaje. Pero como su yo de la infancia podría haber dicho: ¿Por qué no?