
V roce 1969 se NASA spolehla na softwarovou inženýrku Margaret Hamiltonovou, která bezpečně přistála s astronauty Apolla 11 na povrchu Měsíce – a také je dopravila zpět domů.
Na obrazovce řídicího střediska mise se 20. července 1969 objevily varovné zprávy. Když lunární modul Apolla 11 – označený Eagle – klesal k povrchu Měsíce, musela se NASA rozhodnout, zda historickou misi odvolat. „Zbývalo jen několik minut,“ vzpomíná softwarová inženýrka Margaret Hamiltonová, „a bylo rozhodnuto přistát.“ O několik okamžiků později přistál Neal Armstrong s lunárním modulem na povrchu a vstoupil do historie jako první člověk, který se prošel po Měsíci.
Hamiltonové bylo pouhých 32 let, když úspěšně vedla tým MIT, který navrhl software pro lunární misi. Bez její tvrdé práce a vedení by se mise nejen nezdařila, ale tři astronauti Apolla by během ní možná i zahynuli.
Kdo byla Margaret Hamiltonová?
Margaret Hamiltonová se narodila 17. srpna 1936 v Paoli ve státě Indiana. Její rodina se později přestěhovala do Michiganu a Hamiltonová nějaký čas navštěvovala Michiganskou univerzitu v Ann Arbor. Brzy však přestoupila na Earlham College v Indianě, kde získala bakalářský titul z matematiky s vedlejším zaměřením na filozofii.
V roce 1959 Margaret Hamiltonová nastoupila na MIT jako programátorka, kde spolupracovala s Edwardem Nortonem Lorenzem, otcem teorie chaosu. Hamiltonové bylo 24 let a její manžel se právě zapsal na práva na Harvardu. Zatímco on tři roky studoval práva, Hamiltonová živila rodinu psaním softwaru a programováním meteorologických systémů.

O několik let později se Hamiltonová ucházela o práci na novém projektu: napsat kód, který měl dopravit člověka na Měsíc. Byla přijata a stala se první programátorkou zapojenou do projektu Apollo. V roce 1965 Hamiltonová vedla tým programátorů v Draperově laboratoři MIT.
V rámci projektu Apollo Hamiltonová navrhla palubní software pro historickou letovou misi Apollo 11. „Přitahoval mě jak samotný nápad, tak skutečnost, že to ještě nikdo předtím nedělal,“ vysvětlila Hamiltonová. „Byla jsem prvním programátorem, který se k nim připojil, a první ženou, kterou přijali.“
Hamiltonová v projektu Apollo vynikala. Nebyla jen ženou – což bylo v té době dost neobvyklé – ale také pracující matkou. Když pracovala v laboratoři po nocích a o víkendech, často s sebou brala svou malou dceru Lauren.
„Lidé mi říkali: ‚Jak můžeš opustit svou dceru? Jak to můžeš udělat?“ vzpomínala později Hamiltonová.
Jak Hamiltonová napsal kód, který lidstvo dovedl na Měsíc
NASA původně nepředpokládala, že mise Apollo bude vyžadovat propracovaný software. Podle profesora MIT Davida Mindella „software nebyl zahrnut v plánu a nebyl zahrnut ani v rozpočtu“.

Brzy si NASA uvědomila, že bez vhodného softwaru by mise selhala, a v roce 1968 pracovalo v Hamiltonově softwarovém týmu přes 400 programátorů. Tým psal a testoval software pro dva počítače Apolla: jeden pro velitelský modul a druhý pro lunární modul Eagle, který měl dopravit astronauty na povrch Měsíce.
Kdyby došlo ke katastrofě a všichni by se zaměřili na misi Apollo, vina by mohla padnout na Hamiltonovou. Jednou pozdě v noci po večírku si Hamiltonová náhle uvědomila, že část jejího kódu je špatně, a spěchala do laboratoře. „Vždycky jsem si představovala titulky v novinách, které ukazovaly na to, jak se to stalo, a ukazovaly na mě.“
Vytvářet softwarové programy pro vesmírnou misi nebylo v šedesátých letech minulého století snadné. Hamiltonová a její tým vypisovali kód ručně na listy papíru, pak pomocí děrovačky děrovali otvory do papírových karet, které se vkládaly do počítače, jenž tyto karty četl jako instrukce.
Po otestování kódu na děrných štítcích na obrovském počítači Honeywell mainframe, aby se odstranily případné chyby při simulovaném přistání na Měsíci, byl kód odeslán do nedaleké továrny Raytheon. Tam ženy fyzicky proplétaly nuly a jedničky magnetickými kroužky, které představovaly programové jedničky a nuly – měděný drát procházející kroužkem znamenal 1, obtékání kroužku znamenalo 0.
Ženy, láskyplně nazývané „malé staré dámy“, byly zkušené švadleny a jejich provazy vytvořily pevně zadrátovaný kód pro moduly, který byl fakticky nezničitelný a nebylo možné ho vymazat.
Počítače Apolla musely vypočítat naváděcí rovnice z vesmíru, jinak by byla mise odsouzena k zániku. Počítač měl asi 72 kilobajtů paměti – méně než miliontinu kapacity moderního mobilního telefonu. Do paměti měděného lana mohl uložit 12 000 bitů – představujících 1 nebo 0 -, ale do dočasné pracovní paměti pouze 1 000 bitů.

Na projektu pracoval Don Eyles na MIT. „Ukázali jsme, že to jde,“ řekl. „Dokázali jsme to při dnes zdánlivě neuvěřitelně malém množství paměti a velmi nízké výpočetní rychlosti.“
Jak Hamiltonova dcera možná zachránila misi Apollo 11
Margaret Hamiltonová měla ve své roli jedinečné zázemí. Přivedla do laboratoře svou dceru Lauren, což Hamiltonovou vyzdvihlo, ale také to pomohlo zachránit misi.
Jednoho dne Lauren stiskla tlačítko na simulátoru a zhroutila systém, který Hamiltonová testovala. Pouhým stisknutím tlačítka před startem simulovaného letu Lauren vymazala navigační data z paměti systému.
„Pomyslela jsem si: Proboha – tohle by se mohlo nechtěně stát i při skutečné misi,“ vzpomíná Hamiltonová. Když však doporučila změnu programu, NASA jí odpověděla: „Astronauti jsou vycvičeni tak, aby nikdy neudělali chybu.“
Přesto se hned při další misi astronaut Jim Lowell dopustil stejné chyby.
Hamiltonová ji nazvala „Laureninou chybou“ a vzpomíná: „Způsobila velký zmatek a vyžádala si změnu konfigurace mise. Poté mě nechali v pořádku zadat změnu programu.“

Varovné zprávy, které málem zničily přistání modulu Eagle
Při misi Apollo 11 sledovala Margaret Hamiltonová, jak software navržený jejím týmem navádí astronauty Neila Armstronga a Buzze Aldrina k povrchu Měsíce.
V jednom okamžiku se však na počítači objevily varovné zprávy, které ji skoro zastavily srdce. V tu chvíli Hamiltonová cítila důvěru ve svůj software. „Rychle se ukázalo, že software nejenže všechny informoval o problému souvisejícím s hardwarem, ale že ho také kompenzoval,“ vysvětlila Hamiltonová. „Naštěstí lidé z řídicího střediska mise našemu softwaru důvěřovali.“
Když v modulu zbývalo pouhých 30 sekund paliva, hlas Neala Armstronga ohlásil zpět do řídicího střediska mise: „Orel přistál.“
Hamiltonová z MIT vzpomíná, jak sledovala historický okamžik, který pomohla uskutečnit. „Můj Bože. Podívejte, co se stalo,“ pomyslela si. „Dokázali jsme to. Podařilo se to.“
Co se týče varovné zprávy, Hamiltonův tým se dozvěděl, že jejich program funguje přesně podle návrhu. Během sestupu spustil varování přepínač radaru ve špatné poloze. Software se restartoval a zaměřil se na úkol s nejvyšší prioritou: přistání lunárního modulu. Bez jí napsaných mechanismů detekce a obnovy chyb by mise selhala.
„Když přistáli, byla to naprostá úleva,“ řekl Hamilton. „Jak to, že astronauti byli v bezpečí, tak to, že software fungoval perfektně.“
„Neměli jsme jinou možnost než být průkopníky“
V roce 2016 udělil prezident Barack Obama Margaret Hamiltonové Prezidentskou medaili svobody. „Naši astronauti neměli mnoho času,“ řekl Obama, „ale naštěstí měli Margaret Hamiltonovou.“
Když Hamiltonová převzala softwarový tým pracující na misi Apollo 11, jeden z jejích šéfů se obával, že by se muži v Hamiltonové týmu mohli vzbouřit. „No, nevzbouřili se,“ zavtipkovala Hamiltonová. Podle Hamiltonové při misi Apollo 11 „nebylo na výběr a museli jsme být průkopníky“.
