Στις 20 Ιουλίου 1969, στις 4 μ.μ,
η ανθρωπότητα ήταν μόλις λίγα λεπτά μακριά από την προσγείωση στην Σελήνη.
Αλλά πριν οι αστροναύτες αρχίσουν την τελική τους κατάβαση,
άρχισε να χτυπά ο συναγερμός.
Κάτι υπερφόρτωνε τον υπολογιστή
και απειλούσε να διακόψει την προσγείωση.
Πίσω στη Γη, η Μάργκαρετ Χάμιλτον κρατούσε την ανάσα της.
Ήταν υπεύθυνη στο τμήμα σχεδιασμού του πρωτοποριακού λογισμικού της πτήσης
και έτσι ήξερε ότι η αποστολή αυτή δεν είχε περιθώρια για λάθη.
Αλλά η φύση αυτού του σφάλματος της τελευταίας στιγμής
θα αποδείκνυε σύντομα ότι το λογισμικό της δούλευε ακριβώς όπως είχε προγραμματιστεί.
Γεννημένη 33 χρόνια πριν στο Παολί της Ιντιάνα,
η Χάμιλτον ήταν από πάντα φιλοπερίεργη.
Στο κολέγιο σπούδασε μαθηματικά και φιλοσοφία,
πριν την ανάληψη ερευνητικής θέσης στο Ινστιτούτο Τεχνολογίας της Μασαχουσέτης,
ώστε να πληρώσει για το μεταπτυχιακό.
Εκεί ήρθε σε επαφή με τον πρώτο της υπολογιστή ενώ κατασκεύαζε λογισμικό
για την υποστήριξη της έρευνας στο νέο πεδίο της θεωρίας του χάους.
Στη συνέχεια, στο εργαστήριο Λίνκολν του MIT,
η Χάμιλτον ανέπτυξε λογισμικό για το πρώτο σύστημα αεροπορικής άμυνας της Αμερικής
για την αναζήτηση εχθρικών αεροσκαφών.
Αλλά όταν άκουσε ότι ο διάσημος μηχανικός Τσαρλς Ντρέιπερ
αναζητούσε βοήθεια για να στείλει τον άνθρωπο στη Σελήνη,
αμέσως προσχώρησε στην ομάδα του.
Η NASA κατέφυγε στον Ντρέιπερ
και την ομάδα του με πάνω από 400 μηχανικούς
για να εφεύρει τον πρώτο μικρό ψηφιακό υπολογιστή πτήσης,
τον Υπολογιστή Καθοδήγησης «Apollo».
Χρησιμοποιώντας δεδομένα από αστροναύτες,
αυτή η συσκευή θα ήταν υπεύθυνη για την καθοδήγηση, την πλοήγηση
και τον έλεγχο του διαστημικού σκάφους.
Σε μια εποχή που αναξιόπιστοι υπολογιστές είχαν το μέγεθος δωματίων,
ο ΥΚΑ έπρεπε να λειτουργεί χωρίς λάθη
και να χωράει σε ένα κυβικό πόδι.
Ο Ντρέιπερ χώρισε το εργαστήριο σε δύο ομάδες,
μία για τον σχεδιασμό της συσκευής και μία για την ανάπτυξη λογισμικού.
Η Χάμιλτον διηύθυνε την ομάδα που ανέπτυξε το λογισμικό πτήσης,
για τους Διοικητικούς Θαλάμους αλλά και για τις σεληνακάτους.
Η δουλειά αυτή, για την οποία επινόησε τον όρο «software engineering»,
εμπεριείχε απίστευτα μεγάλα ρίσκα.
Ανθρώπινες ζωές βρίσκονταν σε κίνδυνο, έτσι το πρόγραμμα έπρεπε να είναι τέλειο.
Το λογισμικό της Μάργκαρετ έπρεπε να ανιχνεύει γρήγορα απροσδόκητα σφάλματα
και να τα διορθώνει σε πραγματικό χρόνο.
Αλλά αυτό το είδος συμβατού προγράμματος ήταν δύσκολο να υλοποιηθεί,
δεδομένου ότι το υπάρχον λογισμικό επεξεργαζόταν μόνο εντολές
με προκαθορισμένη σειρά.
Για να λύσει αυτό το πρόβλημα,
η Μάργκαρετ σχεδίασε το πρόγραμμα ώστε να είναι «ασύγχρονο»,
δηλαδή οι πιο σημαντικές διεργασίες θα διέκοπταν τις λιγότερο σημαντικές.
Η ομάδα της ανέθεσε σε κάθε διεργασία έναν μοναδικό αριθμό προτεραιότητας,
για να εξασφαλιστεί ότι κάθε διεργασία εκτελούταν με τη σωστή σειρά
και στο σωστό χρόνο - ανεξάρτητα από τυχόν εκπλήξεις.
Μετά από αυτή την ανακάλυψη, η Μάργκαρετ συνειδητοποίησε
ότι το λογισμικό της θα μπορούσε να βοηθήσει τους αστροναύτες να εργαστούν
και σε ένα ασύγχρονο περιβάλλον.
Σχεδίασε Θύρες Προτεραιότητας,
που θα διέκοπταν τα τακτικά καθήκοντα του αστροναύτη,
για να προειδοποιούν για επείγοντα συμβάντα.
Ο αστροναύτης θα επικοινωνούσε μετά με τη Μονάδα Ελέγχου,
για να καθοριστεί η καλύτερη δυνατή πορεία.
Αυτό σήμανε την πρώτη φορά που λογισμικό πτήσης επικοινωνούσε άμεσα --
και ασύγχρονα -- με έναν πιλότο.
Ήταν αυτοί οι μηχανισμοί ασφαλείας που πυροδότησαν τους συναγερμούς
λίγο πριν την προσσελήνωση.
Ο Μπαζ Άλντριν συνειδητοποίησε γρήγορα το λάθος του --
είχε ακούσια αναποδογυρίσει τον διακόπτη του ραντάρ για την επιστροφή.
Αυτό το ραντάρ θα ήταν απαραίτητο στο ταξίδι τους πίσω στην Γη,
αλλά εδώ κατανάλωνε υπολογιστικούς πόρους ζωτικής σημασίας.
Ευτυχώς, ο Υπολογιστής Κατεύθυνσης «Apollo»
ήταν ικανός να το διαχειριστεί.
Κατά τη διάρκεια της υπερφόρτωσης, τα προγράμματα επανεκκίνησης λογισμικού
επέτρεψαν μόνο την επεξεργασία εργασιών υψηλής προτεραιότητας --
όπως των αναγκαίων για την προσγείωση προγραμμάτων.
Οι Θύρες Προτεραιότητας έδωσαν στους αστροναύτες μια επιλογή --
να προσσεληνωθούν ή όχι.
Μέσα σε λίγα λεπτά, η Μονάδα Ελέγχου έδωσε την εντολή.
Η προσγείωση του Apollo 11 οφειλόταν στο ότι οι αστροναύτες, η Μονάδα Ελέγχου,
το λογισμικό και ο εξοπλισμός συνεργάστηκαν ως ολοκληρωμένο σύστημα.
Η συμβολή της Χάμιλτον ήταν αναγκαία για το έργο μηχανικών και επιστημόνων,
οι οποίοι είχαν εμπνευστεί
από τον στόχο του Πρόεδρου Τζον Φ. Κέννεντυ να φτάσει στη Σελήνη.
Αλλά η συνεισφορά της ήταν σωτήρια πέρα από το Apollo 11-
δεν βρέθηκαν ποτέ σφάλματα στο λογισμικό επανδρωμένων αποστολών του Apollo.
Μετά την εργασία της στο Apollo,
η Χάμιλτον ίδρυσε μια εταιρεία που χρησιμοποιεί τη μοναδική γλώσσα
των καθολικών συστημάτων για να φτιάξει πατέντες για συστήματα και λογισμικό.
Το 2003, η NASA τίμησε τα επιτεύγματά της με το μεγαλύτερο χρηματικό βραβείο
που δόθηκε ποτέ σε ιδιώτη.
Και 47 χρόνια αφού το λογισμικό της πρώτο καθοδήγησε αστροναύτες στη Σελήνη,
απονεμήθηκε στη Χάμιλτον το Προεδρικό Μετάλλιο της Ελευθερίας,
επειδή άλλαξε τον τρόπο που σκεφτόμαστε για την τεχνολογία.