Σίγουρα θα έχετε δει την εμβληματική ασπρόμαυρη φωτογραφία από τη δεκαετία του ‘60 με μια γυναίκα που στέκεται δίπλα σε μια στοίβα που μοιάζει να αποτελείται από βιβλία ίσα με το ύψος της.
Πρόκειται για τις τυπωμένες σελίδες του κώδικα που βοήθησε το Apollo 11 να φτάσει στο φεγγάρι, και η γυναίκα αυτή δεν είναι άλλη από την επιστήμονα υπολογιστών Margaret Hamilton.
Λίγοι τη γνωρίζουν. Ακόμα λιγότεροι ξέρουν το όνομά της. Κι όμως, ηγήθηκε της ομάδας που έφτιαξε το λογισμικό για τις αποστολές Apollo της NASA, καθιερώνοντας μάλιστα τον όρο «software engineering».
Στις 30 Σεπτεμβρίου, σε ηλικία 90 ετών, η Margaret Hamilton πέθανε, αφήνοντας πίσω της μια μακρά καριέρα και μια πολύτιμη κληρονομιά.
Τα πρώτα βήματα

Η Hamilton γεννήθηκε στην Ιντιάνα το 1936. Σπούδασε Μαθηματικά αρχικά στο Πανεπιστήμιο του Μίσιγκαν το 1955 και πήρε το πτυχίο της από το Κολλέγιο Earlham το 1958.
Έναν χρόνο αργότερα μετακόμισε στη Βοστώνη με τον σύζυγό της, όπου άρχισε να εργάζεται στο MIT μέχρι τα μέσα της δεκαετίας του ΄70. Αρχικά δούλευε στο μετεωρολογικό τμήμα, όπου, υπό την καθοδήγηση του Edward Lorenz – του ιδρυτή της θεωρίας του χάους – άρχισε να γράφει λογισμικό πρόγνωσης του καιρού.
Έπειτα, από το 1961 μέχρι το 1963, εργάστηκε στο Εργαστήριο Lincoln πάνω στο πρόγραμμα SAGE, όπου έγραφε λογισμικό για τον εντοπισμό εχθρικών αεροσκαφών. Το 1965 έγινε μέλος του Εργαστηρίου Draper, το οποίο ανέλαβε το Πρόγραμμα Apollo, και τα όσα ακολούθησαν ανήκουν πια στην ιστορία.
384 χιλιάδες χλμ. μακριά
Στο Εργαστήριο Draper εντάχθηκε γρήγορα στο τμήμα Μηχανικής Λογισμικού και ηγήθηκε μιας ομάδας 100 ατόμων, δημιουργώντας το λογισμικό που τελικά επέτρεψε στους Αμερικανούς αστροναύτες Neil Armstrong και Buzz Aldrin να πατήσουν στη Σελήνη.
Η Hamilton ευθύνεται για πολλούς σχεδιασμούς στον κώδικα που απέτρεψαν κρίσιμα σφάλματα. Για έναν από αυτούς αφορμή στάθηκε η 4χρονη κόρη της, Lauren, η οποία έπαιζε με τον προσομοιωτή του θαλάμου διακυβέρνησης κατά τη διάρκεια μιας επίσκεψης στη μητέρα της. Συγκεκριμένα, η Lauren επέλεξε κατά λάθος μια λειτουργία πλοήγησης προορισμένη για πριν την εκτόξευση ενώ η υποτιθέμενη πτήση ήταν σε εξέλιξη, αποσυντονίζοντας όλο το σύστημα. Πρόκειται για το λεγόμενο «Lauren bug».
Η Hamilton συνειδητοποίησε γρήγορα ότι κάτι τέτοιο θα μπορούσε πολύ εύκολα να συμβεί κατά τη διάρκεια μιας πραγματικής αποστολής, γι’ αυτό και παρότρυνε την ομάδα της να προσθέσει περισσότερες δικλίδες ασφαλείας στον κώδικα.
Και έτσι έγινε. Στο πλαίσιο της αποστολής Apollo 8, τον Δεκέμβριο του 1968, ο αστροναύτης Jim Lovell έκανε ακριβώς το ίδιο λάθος με τη μικρή Lauren. Η Hamilton έγραψε και επικαιροποίησε άμεσα τον κώδικα, ώστε το σκάφος να μη χάσει τον προσανατολισμό του. Βέβαια, η αποστολή Apollo 8 δεν έφτασε ποτέ στο φεγγάρι.
Βέβαια, ένας άλλος μηχανισμός αντιμετώπισης που αποδίδεται στην Hamilton – ίσως και ο πιο σημαντικός – έδινε λύση στους περιορισμούς του λειτουργικού συστήματος του Apollo. Παρότι ο υπολογιστής ήταν σχεδιασμένος να εκτελεί εργασίες σε πραγματικό χρόνο, είχε ελάχιστη μνήμη – μόλις κάποια kilobytes.
Όταν η μνήμη εξαντλούνταν, το σύστημα δεν κατέρρεε, αλλά ενεργοποιούσε τους συναγερμούς 1202 και 1201, ειδοποιώντας ότι η χωρητικότητά του είχε ξεπεραστεί – όπως ακριβώς κάνει το Gmail όταν το Drive βρίσκεται στο 99% της χωρητικότητάς του.
Τρία λεπτά πριν από την προσελήνωση του Apollo 11, τον Ιούλιο του 1969, ένα σφάλμα έκανε το ραντάρ του σκάφους να στέλνει ασταμάτητα περιττά δεδομένα. Αυτός ο υπερβολικός φόρτος εξάντλησε τη διαθέσιμη μνήμη του υπολογιστή, ενεργοποιώντας επανειλημμένα τους συναγερμούς. Πολλοί πίστεψαν ότι η αποστολή έπρεπε να ακυρωθεί.
Ωστόσο, ο μηχανισμός που δημιούργησε η ομάδα της Hamilton κατάφερε όχι μόνο να αντιμετωπίσει το σφάλμα σε πραγματικό χρόνο, αλλά και να προτεραιοποιήσει την ασφαλή προσγείωση, αγνοώντας τα περιττά δεδομένα του ραντάρ. Η αποστολή στέφθηκε με απόλυτη επιτυχία.
Στα βιβλία της ιστορίας

Μετά το MIT, η Hamilton ίδρυσε τις δικές της επιχειρήσεις: τη High Order Software το 1976 και τη Hamilton Technologies το 1986 – εταιρεία λογισμικού που εδρεύει μέχρι σήμερα στο Κέιμπριτζ της Μασαχουσέτης.
Το 2003 τιμήθηκε από τη NASA με το Βραβείο Εξαιρετικής Προσφοράς στο Διάστημα (Exceptional Space Act Award), ενώ το 2016 ο τότε Πρόεδρος των ΗΠΑ, Barack Obama, της απένειμε το Προεδρικό Μετάλλιο της Ελευθερίας για τη συνολική προσφορά της στην επιστήμη και την εξερεύνηση του διαστήματος.
Η Margaret Hamilton σχεδίασε το λογισμικό που μας ταξίδεψε στο φεγγάρι αλλά έκανε κάτι μεγαλύτερο από αυτό: έθεσε τα θεμέλια του ψηφιακού κόσμου μέσα στον οποίο ζούμε σήμερα, χάρισε στη μηχανική λογισμικού το όνομά της και άφησε πίσω της μια κληρονομιά που ξεπερνάει σύνορα.