Słynne Prawo Murphy’ego mówi, że jeśli coś ma pójść źle – na pewno pójdzie źle. Kiedy jednak bierzesz udział w pierwszej załogowej misji na Księżyc, tysiące inżynierów i ekspertów kilkudziesięciu specjalizacji latami pracuje nad tym, by uniknąć porażki.
Nadchodzi 20 lipca 1969 roku, a ty po pokonaniu 384 400 kilometrów w przestrzeni kosmicznej wchodzisz na orbitę srebrnego globu. Lądownik odłącza się od statku, zbliża się do powierzchni i 3 minuty przed spotkaniem ze skalistym podłożem… ekrany w całej kabinie wypełnia tylko jeden, czerwony napis: ERROR. To nie jest komfortowa sytuacja.
Ta misja miała się nie udać. Kiedy zespół misji Apollo 11 mijał Księżyc dosłownie na wyciągnięcie ręki, komputer pokładowy zasygnalizowały konieczność wstrzymania manewru lądowania. Doszło do przeciążenia pamięci i w ramach procedury bezpieczeństwa konieczne stałoby się przerwanie misji.
10 lat wcześniej, młoda Margaret Hamilton ukończyła matematykę na Earlham College w Richmond, stanie Indiana. Po studiach rozpoczęła pracę jako nauczyciel w lokalnym liceum. 24-latka zamierzała doktoryzować się z matematyki abstrakcyjnej, ale w tym samym czasie jej mąż dostał się na prawo na Harvardzie. Umówili się, że najpierw studia ukończy on, a następnie Margaret.
Przebywając w Bostonie, dziewczyna dostała pracę w jednym z laboratoriów komputerowych na MIT. To miało być przejściowe zajęcie, ale z początkiem lat 60. rozpoczął się kosmiczny wyścig między dwoma mocarstwami – USA i Związkiem Radzieckim. W 1961 r. prezydent J.F. Kennedy ogłosił start programu, którego uwieńczeniem miało być lądowanie Amerykanów na Księżycu.
Warto pamiętać, że czynność, którą dziś nazywamy “programowaniem”, ma niewiele wspólnego z tym, czym było w połowie ubiegłego stulecia. Programowanie, jako dziedzina zawodowa i naukowa, praktycznie nie istniało. Powstające wtedy oprogramowanie oraz standardy legły u podstaw nowoczesnego “języka komend”, którymi porozumiewamy się z komputerami.
Wkrótce MIT otrzymało kontrakt od NASA, w ramach którego miało stworzyć zespół inżynierów odpowiedzialnych za zaplanowanie księżycowej misji. Hamilton nie zwykła przejmować się tradycyjną rolą kobiety i żony, i błyskawicznie umówiła się na rozmowy rekrutacyjne w MIT do dwóch różnych zespołów.
Hamilton była matematycznym geniuszem. Niemal z miejsca obaj kierownicy widzieli ją u siebie. – Nie chciałam urazić niczyich uczuć, poprosiłam więc, żeby wykonali rzut monetą – śmiała się w wywiadzie dla portalu Futurism. Ostatecznie trafiła do formującego się zespołu, który miał być odpowiedzialny za stworzenie oprogramowania umożliwiającego lądowanie na Księżycu. – Oprogramowanie w tych czasach stanowiło kompletną zagadkę, tajemnicę, dla kadry zarządzającej. Mieliśmy dzięki temu mnóstwo swobody i szerokie możliwości wprowadzania własnych pomysłów w życie – opisywała w tej samej rozmowie z Futurism, dodając słynne zdanie: – Musieliśmy być pionierami; nie było innego wyjścia.
Był rok 1965, a Hamilton nie ukończyła nawet 30 lat. Margaret Hamilton była pierwszą programistką zatrudnioną w programie Apollo i osobą, która w ogóle wymyśliła określenie “software engineer”. Jej praca polegała na wybijaniu otworów w specjalnych kartach perforowanych, które były instrukcjami przetwarzanymi w nocy przez komputer symulujący pracę lądownika. Gdy kod nie wykazywał błędów, był wysyłany do pobliskiego ośrodka Raytheon, gdzie grupa szwaczek, nazywanych „małymi staruszkami” (“Little old ladies”), gwintowała miedziane druty przez magnetyczne pierścienie (drut przechodzący przez rdzeń oznaczał – w języku binarnym – 1, zaś drut otaczający rdzeń – 0).
Hamilton błyskawicznie wsiąkła w środowisko inżynierów; jak wielokrotnie powtarzała w różnych wywiadach, w MIT płeć nie miała znaczenia.
Po pracy regularnie chodziła z kolegami na drinka do kampusowej knajpy, gdzie kształtowała się wczesna “geekowska” subkultura. Nie miała żadnych kompleksów – i, przynajmniej według oficjalnych źródeł, nigdy nie doznała dyskryminacji w pracy przez wzgląd na bycie kobietą.
Niezależnie od tego jednak, stanowiła absolutną mniejszość w zdominowanym przez białych mężczyzn środowisku naukowym. Hamilton wspomina sytuację, która zrodziła w niej pomysł na pewien genialny trik, który później miał uratować misję lądowania na naszym naturalnym satelicie.
Co zabawne, dała temu początek jej 4-letnia córka.
Praca nad programem kosmicznym pochłaniała niemal każdą chwilę; także wieczory i weekendy. Aby nie tracić kontaktu z małą Lauren, Hamilton zabierała ją regularnie ze sobą do pracy. Można sobie wyobrazić, jak niesamowita musiała być dla małej dziewczynki możliwość spędzania wolnego czasu w laboratoriach i warsztatach, w których powstawały prototypy rakiet i lądowników.
Któregoś razu, podczas zabawy przy symulatorze modułu dowodzenia, Lauren przypadkowo nacisnęła przycisk, który spowodował rozpoczęcie procedury przygotowującej komputer do startu rakiety w trakcie kiedy astronauci “przebywali” w przestrzeni kosmicznej od kilku dni (podkreślmy – w symulatorze). To spowodowało nadpisanie części kodu i danych nawigacyjnych, umożliwiających powrót zespołu na Ziemię.
Hamilton oświeciło – chciała dopisać kod, który uniemożliwiłby wykonanie takiej instrukcji.
Szansa, że świetnie wyszkolony astronauta popełni tak trywialny błąd była – według NASA – zerowa i nikt nie potraktował prośby programistki poważnie. “To się nie może zdarzyć” – powtarzała “góra”. Kod nie został dodany, choć Hamilton udało przemycić w dokumentacji dla załogi ostrzeżenie, by uważali na włącznik uruchamiający procedurę przedstartową.
Misja Apollo 8, polegająca na okrążeniu Księżyca i powrocie na Ziemię, rozpoczęła się 21 grudnia 1968 roku. 5 dni po starcie, astronauta Jim Lovell – oczywiście – omyłkowo wykonał zabronioną instrukcję i komputer pokładowy w jednej chwili “stracił mapę”. Błyskawicznie ściągnięto Hamilton i zespół z MIT, by przygotowali poprawkę, którą z kolei będzie można wysłać radiowo do komputera w przestrzeni kosmicznej. 9 godzin później, awaria została naprawiona. Popełnienie kolejnego błędu mogło kosztować życie trójkę astronautów – pracę trzeba było wykonać szybko i perfekcyjnie. Gdyby tylko posłuchano Hamilton odpowiednio wcześniej…
Od tego czasu, jej uwaga koncentrowała się na tych wszystkich sytuacjach, kiedy coś mogło pójść nie tak.
Przy pracy nad oprogramowaniem pierwszego lądownika, który miał “siąść” na Księżycu w lipcu 1969 roku, problemem była przepustowość komputera. Jego moc, porównywalną z dzisiejszymi programatorami do pralek automatycznych, określał zegar taktowany 40 kHz (przeciętny laptop działa 100 tys. razy szybciej).
Mimo wszystko, było to wystarczająco, by wylądować. Na 3 minuty przed zetknięciem “Orła” z Księżycem, jeden z członków załogi omyłkowo ustawił przełącznik w złej pozycji. Uruchomił w ten sposób nadajnik radiowy, komunikujący się z orbitująca na górze rakietą. Ów nadajnik zużywał 13% mocy komputera, ale do bezpiecznego wylądowania, jednostka sterująca potrzebowała 90%. Procesor był przeciążony, a ekrany w lądowniku zaczęły migotać napisem oznaczającym awarię: ERROR.
Zdolność Hamilton do przewidywania – wydawałoby się – najgłupszych pomyłek, objawiła się ponownie.
Kod, który stworzyła wraz ze swoim zespołem, potrafił nadawać priorytety zadaniom, które komputer ma wykonać w pierwszej kolejności. Dzięki temu, szybko odłączył nadajnik radiowy i umożliwił wykonanie manewru lądowania na Księżycu.
O 20.17 świat usłyszał: “Eagle has landed”, a centrum zarządzania NASA zatrzęsło się od okrzyków radości. Trudno przecenić wartość historyczną i technologiczną tego dokonania – pierwszy raz w historii ludzkości, przedstawiciel naszego gatunku postawił stopę na innym ciele niebieskim. Zdarzenie to było transmitowane na całym świecie i oglądane na żywo przez 600 milionów ludzi.
Nie doszłoby do tego, gdyby nie geniusz Hamilton (i kreatywna zabawa jej córki!).
Procesy wymyślone przy okazji tej i kolejnych misji Apollo stanowiły olbrzymi krok w rozwoju technologicznym. W późniejszych latach, Hamilton była zaangażowana m.in. w prace nad Skylab (pierwszą amerykańską stację orbitalną), budowę promów kosmicznych czy tworzenie elektronicznych systemów sterowania statkami powietrznymi. Od lat 80. do dziś działa także jej firma programistyczna, Hamilton Technologies, z siedzibą w pobliżu kampusu MIT.
W przytoczonym wcześniej wywiadzie dla Futurism, Hamilton podkreślała, że kluczowe w nauce czegokolwiek, najważniejsze, to nie dać się przestraszyć. – Nawet kiedy tak zwani eksperci mówią: “to niemożliwe”, nigdy nie powinieneś bać się poszukiwać rozwiązań i zadawać “głupie” pytania. Tylko ci, którzy potrafią solidnie upaść, będą w stanie odnieść solidny sukces – podkreślała.