Margaret Heafield Hamilton è nata a Paoli, nell’Indiana, il 17 agosto 1936. Si è diplomata nel 1954 e dall’Earlham College, con una laurea in matematica, nel 1958. Ha lavorato alla NASA come responsabile dello sviluppo del software di punta per il programma spaziale Apollo.
Nell’estate del 1968 a Cambridge, nel Massachusetts, la trentaduenne Hamilton iniziò a scrivere software al MIT Instrumentation Lab, sede dell’Apollo Guidance Computer (AGC). L’AGC è stata una meraviglia dello sviluppo tecnologico: la riduzione delle dimensioni di un sistema informatico per la navicella Apollo da 7 rack di apparecchiature, simili a dei frigoriferi, ad una scatola da 31,75 Kg. che misurava solo 60 × 31,75 × 16,51 Cm. utilizzando l’allora nuova tecnologia dei “circuiti integrati”.
Dimostrando di essere un’abile programmatrice, la Hamilton si fece strada fino a diventare capo della divisione Software Engineering di Apollo, scrivendo e supervisionando lo sviluppo del codice per l’AGC usato nel modulo lunare, e nel modulo di comando, quindi, in parole povere, di tutti i software di bordo.
Bisogna tenere in considerazione che scrivere programmi nei primi Anni ’60 è un’esperienza totalmente differente rispetto a quella attuale. Il codice veniva “stampato” su schede perforate, che venivano prima testate in simulatori – progenitori dei moderni compilatori, tanto per intendersi – e, se tutto filava liscio, trasformati in circuiti fisici composti da anelli magnetici e cavi di rame. (All’epoca non esistevano ancora le memorie ROM o EPROM di sola lettura!) Queste componenti venivano poi composte in sequenza, così da realizzare il programma così come era stato pensato e progettato dagli sviluppatori. Praticamente Il codice è stato letteralmente cucito in posizione – i fili di rame sono stati infilati attraverso anelli magnetici per rappresentare gli 1 e gli 0 del codice AGC.
Durante il progetto, la pressione su tutti i partecipanti al programma era intensa (“fuori dal mondo”, si potrebbe anche dire), con infiniti lunghi giorni e notti trascorse lavorando per portare un uomo sulla Luna. Hamilton non ha fatto eccezione. Stava anche allevando una bambina di 4 anni, la figlia Lauren, che portava spesso con lei al lavoro. Un giorno la bimba, forse giocando, premette per errore un pulsante sul DSKY che ha fatto bloccare il sistema. Se ciò fosse accaduto nello spazio, il computer avrebbe perduto i suoi dati di navigazione e l’equipaggio si sarebbe perso nello spazio.
Il team della Hamilton ha risolto le complicazioni relative allo sbarco dell’Apollo 11 sulla Luna, garantendo il successo della missione evitando all’ultimo momento l’abbandono della missione.
Tre minuti prima dell’atterraggio del lander sulla superficie lunare, sono scattati diversi allarmi in quanto il computer era sovraccarico di dati in ingresso, a causa del fatto che il sistema radar di rendezvous (non necessario in fase di atterraggio) stava aggiornando un contatore, impegnando il computer in cycle stealing.
NON SERVE, IGNORALO. Il software sviluppato da Hamilton fu in grado di soprassedere a quell’errore, che rischiava di mandare in sovraccarico il computer di bordo, compromettendo l’atterraggio, per concentrarsi solo sulla discesa e sulle informazioni di allunaggio da dare agli astronauti.
Tuttavia, grazie allo scheduler pre-emptive a priorità fissa, i processi impegnati nell’atterraggio, a priorità maggiore, hanno interrotto i processi a priorità minore. Il difetto è stato attribuito poi ad una checklist errata.
Hamilton ha continuato a lavorare per la NASA nelle sue missioni Skylab e Shuttle. Nel 1986, ha fondato la Hamilton Technologies.
Nel 2016, il 22 novembre, ha ricevuto dal Presidente degli Stati Uniti Barack Obama la Medaglia presidenziale della libertà, la più alta onorificenza che possa essere data ad un civile americano, per il suo fondamentale contributo nelle missioni Apollo.