Margaret Hamilton nie miała wymyślić nowoczesnej wersji oprogramowania ani doprowadzić do sukcesu misji na Księżyc. Był rok 1960, zdecydowanie nie był to czas kiedy kobiety były zachęcane do poszukiwania zaawansowanej technicznie pracy. 24-letnia Hamilton z dyplomem z matematyki dostała pracę jako programistka w MIT, a jej planem było wspieranie męża podczas jego trzyletniego pobytu w Bostonie, gdzie uczęszczał na studia prawnicze na Harvardzie. Po ukończeniu studiów przez męża Hamilton planowała ukończyć studia magisterskie.

Ale nadeszły lata podboju kosmosu i powstał program kosmiczny Apollo. A Hamilton pozostała w laboratorium, aby prowadzić wyczyny inżynieryjne, które pomogłyby zmienić przyszłość. Jako pracująca matka w latach sześćdziesiątych była niezwykła. Ale jako programistka kosmiczna była pozytywnie radykalna. Wieczorami i w weekendy przynosiła swoją córkę Lauren do laboratorium. Podczas gdy 4-letnia Lauren spała na podłodze biura, jej matka opracowywała oprogramowanie systemu pokładowego programu kosmicznego Apollo.

Hamilton z córką Lauren.

Wtedy, jak i teraz, to mężczyźni dominowali w technice i inżynierii. Podobnie jak programistki w dzisiejszym zróżnicowanym technologicznie przemyśle technicznym, Hamilton była na marginesie. Dzisiejszych twórców oprogramowania może zaskoczyć fakt, że jednym z ojców założycieli ich klubu dla chłopców była w istocie matka.

Gdy kariera Hamilton zaczęła się rozwijać, świat programistyczny znalazł się na skraju olbrzymiego skoku dzięki programowi Apollo zainaugurowanym przez Johna F. Kennedy’ego w 1961 roku. W Laboratorium Instrumentacji MIT, gdzie pracowała Hamilton, ona i jej koledzy wymyślali podstawowe narzędzia do programowania komputerowego, tak jak wtedy, kiedy napisali oprogramowanie do pierwszego na świecie przenośnego komputera.

To było dziesięć lat przed Microsoftem i prawie 50 lat, zanim Marc Andreessen zauważył, że oprogramowanie jest w rzeczywistości paliwem rozwoju. Jednak świat nie myślał o oprogramowaniu we wczesnych dniach Apollo. Oryginalny dokument opisujący wymagania inżynieryjne misji Apollo nie zawierał nawet słowa „oprogramowanie”.

Rok 1969. Margaret Hamilton, główny inżynier oprogramowania Apollo, stoi obok kodu, który napisała ręcznie i który pozwolił ludzkości postawić nogę na Księżycu.


Gdy jednak projekt Apollo się rozwinął, istotność oprogramowania w realizacji misji przybrała na wadze. W 1965 roku Hamilton stała się odpowiedzialna za oprogramowanie systemu pokładowego komputerów Apollo. To był ekscytujący czas, a USA było zależne od pracy, którą wykonywała. 
Do połowy 1968 roku nad oprogramowaniem pracowało ponad 400 osób.

Dla Hamilton programowanie oznaczało wykrawanie otworów w stertach kart perforowanych, które były przetwarzane przez noc w partiach na ogromnym komputerze mainframe firmy Honeywell, który symulował pracę lądownika Apollo. „Musieliśmy symulować wszystko przed lotem” – wspomina Hamilton. Gdy kod był solidny, był wysyłany do pobliskiego ośrodka Raytheon, gdzie grupa kobiet, szwaczek znanych w programie Apollo jako „małe staruszki”, gwintowała miedziane druty przez magnetyczne pierścienie (drut przechodzący przez rdzeń był 1, a drut wokół rdzenia wynosił 0). Zapomnijcie o pamięci RAM czy dyskach, na Apollo pamięć była dosłownie twarda i niezniszczalna.

System zapisał ponad 12 000 „słów” w stałej pamięci – miedzianych „linach” gwintowanych przez pracowników firmy Raytheon – i miał tymczasową, wymazywalną pamięć o 1024 wyrazach. „To był pierwszy raz, kiedy ważny komputer znajdował się na statku kosmicznym i był odpowiedzialny za misję” mówił Don Eyles, który zajmował się kodem modułu księżycowego w MIT. Bez niego Neil Armstrong nie dotarłby do Księżyca. A bez oprogramowania napisanego przez Hamilton, Eylesa i zespołu inżynierów MIT, komputer byłby niewypałem.

„Małe staruszki” z Raytheon.

Stało się to jasne 20 lipca 1969 roku, zaledwie kilka minut przed tym, jak Apollo 11 dotknął Mare Tranquillitatis (morze księżycowe położone wewnątrz basenu uderzeniowego Tranquillitatis). Ze względu na to, co inżynier oprogramowania Apollo, Don Eyles, nazwał „błędem dokumentacyjnym”, komputer Apollo zaczął wypluwać niepokojące komunikaty o błędach podczas tej krytycznej fazy misji. Jednak Hamilton wraz z zespołem udało się uratować ten dzień. Komunikaty o błędach pojawiły się, ponieważ komputer był przytłoczony, wykonując szereg zbędnych obliczeń, gdy w rzeczywistości był najbardziej potrzebny do wylądowania modułu na powierzchni Księżyca.

Astronauci Neil Armstrong i Buzz Aldrin zdobyli wiele tytułów po udanym lądowaniu Apollo 11, ale to Margaret Hamilton była wśród tych, którzy pracowali za kulisami, w czasach gdy informatyka była tak nowa, że​ kod został napisany ręcznie.

Pewnego dnia Lauren, córka Hamilton, grała na module display-and-keyboard symulatora modułu dowodzenia MIT, nazywanym DSKY. Podczas zabawy pojawił się komunikat o błędzie. Lauren spowodowała crash systemu symulatora uruchamiając program prelaunch o nazwie P01, podczas gdy symulator był w połowie drogi. Nie było powodu, dla którego astronauta miałby zrobić ten błąd, ale Hamilton chciała dodać kod, aby zapobiec awarii. Ta idea została podważona przez NASA. „Mówiono nam wielokrotnie, że astronauci nie popełniają żadnych błędów”, mówiła Hamilton. „Zostali wyszkoleni, aby być doskonałym”. Hamilton stworzyła jednak notatkę do programu – dodatek do dokumentacji programu, który byłby dostępny dla inżynierów i astronautów NASA: „Nie wybieraj P01 podczas lotu”. Hamilton chciała dodać kod sprawdzający błędy systemu Apollo, który uniemożliwiałby tę awarię. Ale to wydawało się zbyteczne dla jej przełożonych. „Wszyscy mówili: «To się nigdy nie zdarzy»” wspomina Hamilton.

Ale tak się stało. Dokładnie w Boże Narodzenie 1968 roku – pięć dni po historycznym locie Apollo 8, który wyniósł astronautów na Księżyc na pierwszą orbitę załogową – astronauta Jim Lovell przypadkowo wybrał P01 podczas lotu. Hamilton była w sali konferencyjnej na drugim piętrze w Laboratorium Instrumentacyjnym, gdy została wezwana z Houston. Uruchomienie programu P01 wymazało wszystkie dane nawigacyjne, które zebrał Lovell. To był problem. Bez tych danych komputer Apollo nie byłby w stanie zrozumieć, jak dostać się na Ziemię. Hamilton i programiści MIT musieli wymyślić poprawkę, a ta musiała być idealna. Po dziewięciu godzinach mieli plan. Houston przesłała nowe dane nawigacyjne. Wszystko skończyło się dobrze. Dzięki Hamilton i Laurenowi astronauci Apollo wrócili do domu.

Buzz Aldrin na Księżycu.

Praca Hamilton dała również podstawy wielu przyszłym projektom, między innymi promom kosmicznym, Skylabowi i innym elektronicznym systemom sterowania statkami powietrznymi. Inżynieria oprogramowania, koncepcja Hamilton, która rozpoczęła swoją działalność, znalazła drogę od Księżyca do niemal każdego ludzkiego dążenia. W latach siedemdziesiątych Hamilton zakończyła współpracę z NASA i programem Apollo. Założyła i prowadziła wiele firm programistycznych. W 2016 roku została laureatką prezydenckiego Medalu Wolności, najwyższego odznaczenia cywilnego w Stanach Zjednoczonych.

Margaret Hamilton w Muzeum MIT w Cambridge.

Autor

Avatar photo
Julia Liszniańska

Była redaktor naczelna AstroNETu i członek Klubu Astronomicznego Almukantarat. Studentka informatyki na Politechnice Wrocławskiej. Stypendystka m.in. programów: TopMinds organizowanego przez Polsko-Amerykańską Komisję Fulbrighta, Microsoft Career Club oraz G4G Nokia.