Margaret Hamilton, en av datorhistoriens stora pionjärer, är död. Hon blev 90 år. Som ledare för programvaruutvecklingen inom NASA:s Apolloprogram bidrog hon till att människor kunde landa på månen 1969. När Apollo 11:s dator började larma under den kritiska nedstigningen var det lösningar som Hamilton och hennes kollegor hade utvecklat som gjorde det möjligt att fortsätta.
Margaret Hamilton avled den 30 september 2026. Dödsfallet offentliggjordes den 7 oktober av Massachusetts Institute of Technology, MIT, där hon hade utfört en stor del av sitt banbrytande arbete.
I MIT:s minnesartikel om Margaret Hamilton beskrivs hennes betydelse både för månlandningen och för utvecklingen av programvaruteknik som en egen ingenjörsdisciplin.
Men det är framför allt några dramatiska minuter den 20 juli 1969 som visar varför hennes arbete var så viktigt.
Datorn började larma när Apollo 11 närmade sig månen
Neil Armstrong och Buzz Aldrin befann sig i månlandaren Eagle och närmade sig månens yta. Efter flera års förberedelser återstod den mest avgörande delen av uppdraget.
Då började datorn visa varningskoderna 1202 och 1201.
Koderna betydde att datorn hade blivit överbelastad. Den försökte utföra fler arbetsuppgifter än dess begränsade resurser tillät.
Datorn ansvarade för kritiska funktioner under nedstigningen. Den behövde bland annat beräkna månlandarens rörelser och hjälpa till att styra farkosten mot landningsplatsen.
Problemet hade samband med mötesradarn, ett system som skulle användas när månlandaren senare återförenades med kommandomodulen i omloppsbana runt månen.
Elektriska signaler från radarsystemet orsakade onödiga avbrott i datorns arbete. Därmed belastades den med uppgifter som konkurrerade om den kapacitet som behövdes för själva landningen.
En vanlig dator som inte klarar belastningen kan låsa sig eller sluta svara. För en månlandare under nedstigning hade ett sådant fel kunnat få katastrofala konsekvenser.
Men Apollo-datorn hade byggts för att kunna hantera just oväntade situationer.
Så fungerade systemet som räddade datorn
Programvaran var konstruerad för att prioritera de viktigaste arbetsuppgifterna när datorns kapacitet inte räckte till.
När överbelastningen uppstod kunde systemet avbryta arbeten, starta om delar av programkörningen och återuppta de uppgifter som var nödvändiga för flygningen.
Det innebar att mindre viktiga processer kunde få stå tillbaka medan beräkningarna för landningen fortsatte.
Systemet gjorde alltså inte problemet med radarn ogjort. Det såg i stället till att problemet inte behövde slå ut de mest avgörande funktionerna.
Samtidigt behövde personalen på jorden avgöra om larmen innebar att månlandningen måste avbrytas.
I kontrollrummet i Houston bidrog datorexperten Jack Garman och flygledaren Steve Bales till bedömningen att uppdraget kunde fortsätta.
Armstrong och Aldrin genomförde därefter landningen.
Hamilton befann sig inte i kontrollrummet i Houston. Hon följde uppdraget från MIT, där hon och hennes kollegor hade arbetat med programvaran.
Det var resultatet av flera års utveckling och testning som nu visade sitt värde.
Hamilton var inte ensam om att skapa lösningen
Berättelsen om Apollo 11 har ofta sammanfattats som att Margaret Hamilton skrev koden som räddade månlandningen. Hennes roll var central, men den beskrivningen gör ett omfattande lagarbete alltför enkelt.
Ingenjören Hal Laning utvecklade grundläggande delar av datorns operativsystem, däribland systemet för schemaläggning och prioritering av olika arbetsuppgifter.
Don Eyles skrev viktiga delar av programvaran för själva månlandningen, medan Allan Klumpp bidrog med centrala beräkningar för styrningen.
Hamilton hade en övergripande ledarroll inom programvaruutvecklingen och arbetade själv med tekniska lösningar, bland annat inom systemprogramvara och felhantering.
Hennes betydelse låg därmed både i vad hon personligen programmerade och i hur hon ledde arbetet med att göra hela systemet tillförlitligt.
Det var just kombinationen av dessa insatser som bidrog till att Apollo 11 kunde genomföra sin historiska landning.
Började programmera när yrket knappt hade fått ett namn
Margaret Hamilton föddes den 17 augusti 1936 i Indiana i USA.
Hon började arbeta vid MIT 1959, först med databeräkningar inom meteorologi. Därefter deltog hon i utvecklingen av programvara för det amerikanska luftförsvarssystemet SAGE.
När hon anslöt till Apolloprogrammet 1965 var programmering fortfarande ett relativt nytt arbetsområde.
Datorerna var stora, hade ytterst begränsat minne jämfört med dagens maskiner och krävde ett arbetssätt där nästan varje instruktion behövde vara noggrant genomtänkt.
Hamilton skrev själv programvara för tidiga, obemannade Apolloflygningar. Med tiden fick hon allt större ansvar och kom att leda utvecklingen av flygprogramvaran för både kommandomodulen och månlandaren.
Hon blev också en stark förespråkare för att behandla programvara som en fullvärdig ingenjörsdisciplin.
Det som i dag kan framstå som självklart var då långt ifrån givet. Hårdvaran betraktades ofta som själva kärnan i ett datorsystem, medan programvarans betydelse underskattades.
Hamilton argumenterade för systematisk testning, noggranna specifikationer och lösningar som kunde hantera fel även när ingen hade förutsett exakt hur de skulle uppstå.
Dotterns misstag blev en viktig lärdom inför Apollo 8
En episod från Hamiltons arbete visar hur hennes syn på säkerhet utvecklades.
Hennes fyraåriga dotter Lauren brukade ibland följa med till MIT och fick vid ett tillfälle leka med en simulator.
Under leken aktiverade hon av misstag ett program som bara skulle användas före uppskjutningen. Simulatorn slutade fungera som den skulle.
Hamilton insåg att samma sak skulle kunna hända under en riktig rymdfärd. Hon föreslog därför en förändring som skulle hindra programmet från att aktiveras vid fel tillfälle.
Förslaget avvisades först. Astronauterna ansågs vara så välutbildade att de inte skulle göra ett sådant misstag.
Men under Apollo 8 i december 1968 inträffade en liknande situation.
Astronauten Jim Lovell aktiverade av misstag programmet under flygningen, vilket ledde till att viktiga navigationsdata gick förlorade.
Hamiltons grupp fick hjälpa till med att återställa systemet. Därefter infördes också det skydd som hon tidigare hade föreslagit.
Händelsen illustrerade en princip som kom att prägla hennes arbete: ett säkert datorsystem måste kunna hantera mänskliga misstag, inte bara fungera när alla gör rätt.
Fick presidentmedalj för sitt arbete
Efter Apolloprogrammet fortsatte Hamilton att utveckla metoder för tillförlitlig programvara.
Hon grundade företaget Higher Order Software 1976 och Hamilton Technologies 1986.
Hennes arbete bidrog till att etablera begreppet software engineering, programvaruteknik, och till att förändra synen på hur programvara skulle utvecklas och kvalitetssäkras.
År 2003 tilldelades hon NASA:s Exceptional Space Act Award.
År 2016 fick hon en av USA:s främsta civila utmärkelser, presidentmedaljen för frihet, av dåvarande presidenten Barack Obama.
Hon uppmärksammades också av Computer History Museum, som utsåg henne till Fellow 2017.
Ett arv som sträcker sig långt bortom månlandningen
Det är lätt att se Margaret Hamiltons livsverk genom det berömda fotografiet där hon står bredvid en stapel utskriven programkod som är nästan lika hög som hon själv.
Men hennes betydelse handlar om mer än mängden kod.
Hon tillhörde den generation som gjorde det möjligt att lita på datorer i situationer där fel kunde få allvarliga konsekvenser. Principerna om testning, prioritering och felhantering har sedan blivit viktiga inom många andra tekniska områden.
Datorerna som användes under Apollo 11 hade en bråkdel av kapaciteten i en modern mobiltelefon. Ändå klarade de uppgifter som fortfarande ställer höga krav på tillförlitlighet.
Dagens rymdprogram använder helt andra tekniska lösningar. NASA arbetar exempelvis med AI för att hitta vatten på månen, något som visar hur programvarans roll inom rymdforskningen har fortsatt att växa.
Margaret Hamilton fick uppleva hur programmering utvecklades från ett nytt och delvis underskattat arbetsområde till en central del av det moderna samhället.
När Apollo 11:s dator larmade den 20 juli 1969 visade hennes och kollegornas arbete varför det var nödvändigt att ta programvaran på lika stort allvar som själva rymdfarkosten.