211service.com
Margaret Hamilton
Nieustannie usuwając błędy, oryginalny inżynier oprogramowania pomógł wysłać astronautów na Księżyc. 16 sierpnia 2019 r.
Margaret Hamilton TOAN TRINH; STYLIZACJA LAURA DILLON
Kiedy Margaret Hamilton była dzieckiem, jej ojciec zabierał ją na długie przejażdżki po Górnym Półwyspie Michigan. Cały czas rozmawiali o filozofii — o sprawach związanych z filozofią, wspomina 83-letni inżynier oprogramowania. Na przykład „co jeśli” i „dlaczego” i „dlaczego nie”.
Około dwie dekady później Hamilton wstrzymała oddech w pokoju monitorowania misji MIT Instrumentation Lab, jako jedno z najwspanialszych wydarzeń w historii. 20 lipca 1969 o godzinie 15:17 Czasu bostońskiego, moduł księżycowy Orzeł wylądował na Księżycu. Do tego czasu Hamilton był szefem inżynierii oprogramowania dla programu Apollo. Jak lubi mówić, załoga Orła była pierwszymi ludźmi, którzy chodzili po powierzchni Księżyca – a oprogramowanie jej zespołu jako pierwsze uruchomiło się na nim.
Przez ponad dekadę, pracując z misjami Apollo, Hamilton pomagał bezpiecznie wprowadzać statki kosmiczne na orbitę i z niej. Prowadziła grupę prawie 100 programistów, wnosząc rygor – i szacunek – do zupełnie nowej dziedziny inżynierii oprogramowania. (W rzeczywistości wymyśliła termin inżynier oprogramowania i naciskała na jego użycie). Robiła to wszystko z kreatywnością i pewnością siebie, kierując się wielokrotnie potwierdzanym przekonaniem: że to, co nigdy się nie zdarzy, może się wydarzyć. .
Hamilton opuściła studia, myśląc, że zostanie matematykiem i planuje dostać pracę, podczas gdy jej mąż uczęszczał do Harvard Law School, a potem sama chodziła do szkoły wyższej. W 1959 roku zaczęła pracować dla znanego meteorologa MIT Edwarda Lorenza, który zlecił jej zaprogramowanie 800-funtowego komputera o nazwie LGP-30.
Hamilton nigdy nie widział komputera. Ale od razu się tym zajęła, znajdując niekonwencjonalne sposoby, aby ta niezdarna rzecz działała szybciej. Podjęłabym kroki, które dziś nazwalibyśmy „podstępnym” programowaniem, mówi. Na przykład debugowanie według podręcznika polegało na powolnym podawaniu długiej rolki papieru, która zawierała nieprawidłowy program, z powrotem przez maszynę. Hamilton, która nie miała do tego cierpliwości, nauczyła się kodu binarnego i sama zaczęła edytować arkusze — wybijając ostrym ołówkiem dziurę w papierze, aby obrócić 0 do jeden , i używając małego kawałka taśmy na odwrocie. (Praca wykonana przez Hamiltona i innych ostatecznie pomogła doprowadzić Lorenza do przełomowej pracy nad teorią chaosu).
W 1961 roku Hamilton wprowadziła to nieszablonowe podejście na swoją kolejną pozycję, wymyślając nowy protokół błędów dla potężnego, niesfornego systemu obrony powietrznej SAGE MIT. Ten komputer zajmował cały magazyn i wydawał dźwięki klaksonu przeciwmgłowego i wozu strażackiego, gdy się rozbił, mówi. Za każdym razem, gdy tak się działo, kazała winnemu programiście pozować do polaroida, wraz z dokumentacją, skąd wziął się [błąd], mówi. Jeśli ten sam błąd wystąpi ponownie, mogą sprowadzić tę osobę, aby go naprawić.

Hamilton z kodem Apollo, 1969. Muzeum MIt
Myśli o tym doktoracie matematyki zblakły. Po latach odkrywania i wymyślania rzeczy, zdała sobie sprawę, że jest uzależniona od tej dziwnej nowej dziedziny, którą pomagała tworzyć, w atmosferze, którą porównuje do Dzikiego Zachodu. Zwłaszcza błędy nadal ją fascynowały: nie tylko ich znajdowanie i korygowanie, ale śledzenie wzorców, którymi się posługują, aby je przewidywać i im zapobiegać. Myślałam o nich jako o wrogu, mówi.
Tak więc w 1964 roku, kiedy zobaczyła reklamę z MIT Instrumentation Lab rekrutującą programistów do pracy nad oprogramowaniem dla tego, co miało stać się programem Apollo, Hamilton skorzystał z okazji. Początkowo przydzielono jej coś, co miało być projektem o niewielkim wpływie, polegającym na napisaniu kodu, który uruchomi się, jeśli misja bezzałogowa zostanie przerwana. Przełożeni byli tak pewni, że tak się nie stanie, mówi, że faktycznie nazwała swój program Zapomnij o tym. (Kiedy jedna z tych misji się nie powiodła, była bardzo poszukiwana.)
Wkrótce awansowała na oprogramowanie oceniane przez ludzi, w którym błąd mógł zagrozić życiu astronauty. Tutaj dobry kod musiał działać poprawnie, ale musiał także wykrywać i naprawiać awarie sprzętu lub błędy popełnione przez samych astronautów. Hamilton powrócił do tego ducha „co-jeśli”: co, jeśli ktoś przełączy ten przełącznik w niewłaściwym czasie? Co się stanie, jeśli zdarzy się sytuacja awaryjna, gdy wszyscy są zajęci? Uwzględnianie tych możliwości nie pozwalało jej spać w nocy. Tylko o tym myślałam, mówi.
Czasami inspiracja pochodziła z nieoczekiwanych miejsc. Hamilton często zabierał ze sobą córkę Lauren do laboratorium wieczorami iw weekendy. Lauren, wówczas czterolatka, lubiła grać astronautę w symulatorach zespołu i pewnego dnia, naciskając losowo przyciski, spowodowała spektakularną awarię oprogramowania. Hamilton zbadał i odkrył, że Lauren pomyliła program, wprowadzając sekwencję przed uruchomieniem, o nazwie P01, w środku misji, mówi.

TOAN Trinh
Poprosiła władze NASA, aby pozwoliły jej dodać zabezpieczenie, aby zapobiec temu błędowi w prawdziwym locie, i wyśmiali to jako zbyt mało prawdopodobne. Ale pozwolili jej to zanotować. Kiedy astronauta zrobił tę wpadkę podczas misji Apollo 8 - pierwszego załogowego lotu wokół Księżyca - spowodowało to zniknięcie niezbędnych danych nawigacyjnych i wezwali Hamiltona, aby je odzyskać. Pamiętam, jak powiedziałam do kilku facetów: „To błąd Lauren!”, mówi ze śmiechem.
To Apollo 11 najbardziej przestraszył zespół. Gdy Orzeł miał wylądować na Księżycu, astronautom przerwało pięć komunikatów o błędach, ostrzegających, że moc obliczeniowa jest niska. Ale ponieważ oprogramowanie było tak dobrze zaprojektowane, Houston zaufało mu w ustalaniu priorytetów najważniejszych aspektów lądowania i umożliwiło kontynuowanie misji. Zespół zaprogramował oprogramowanie tak, aby wykrywało błędy i naprawiało je, ale obserwowanie, jak robi to podczas schodzenia Orła, budziło przerażenie, mówi.
Rola Hamiltona w historii komputerów zyskuje coraz większe uznanie opinii publicznej. W 2016 roku otrzymała od Baracka Obamy Prezydencki Medal Wolności, który chwalił jej amerykańskiego ducha odkrywania. W 2017 roku jej kultowe zdjęcie — w okularach, uśmiechniętej i przyćmionej stosem kodów jej zespołu — zostało zamienione w figurkę Lego.
Pomiędzy pracą w Apollo a podróżą do Białego Domu, Hamilton skupiła się na zastosowaniu tego, czego nauczyła się z programu Apollo, wymyślając nowy paradygmat projektowania systemów i tworzenia oprogramowania. Jej obecna firma, Hamilton Technologies, opracowała język oparty na tym paradygmacie zwany Universal Systems Language. Ma to na celu zapobieganie najczęstszym typom błędów, a nie rozliczanie ich po fakcie. Ma nadzieję, że w końcu zostanie powszechnie przyjęta.
To trudne zadanie dla tego, co obecnie jest przemysłem wartym wiele bilionów dolarów – i nie jest już tak dziki. Ale jak mogłaby powiedzieć jej ja z dzieciństwa: dlaczego nie?