Stories 04/2025 – Margaret Hamilton

Pillole di Bit
Pillole di Bit
Stories 04/2025 - Margaret Hamilton
Loading
/

Nel 1969 l’uomo mise piede sulla Luna (sì, davvero, chi non ci crede dovrebbe smettere). Tra tutte le persone che lavorarono al progetto, una delle più importanti fu la Direttrice della divisione di Ingegneria del Software, Margaret Hamilton, che con la sua visione dell programmazione molto avanti nel tempo, evitò che la missione fallisse.

Questa puntata extra è uscita per ringraziarvi della generosità che avete dimostrato nel mese di febbraio 2025, con le vostre donazioni. Ne volete un’altra? Contribuite a riempire il grafico a torta che trovate nella barra laterale del sito, se a fine marzo 2025 arriva al 100%, il primo di maggio 2025 arriva la nuova puntata di PdB Stories.

Per leggere lo script fai click su questo testo

Pillole di Bit Stories è un podcast speciale, che esce il primo giorno del mese, come ringraziamento, quando le donazioni superano una certa soglia. Oggi è il primo di Aprile 2025 ed esce perché a Febbraio siete stati davvero molto generosi e ho pensato che fosse dovuto un ringraziamento speciale. E come ringraziarvi, se non con una puntata speciale, diversa dal solito, al di fuori della consueta scaletta?
Grazie, davvero, e buon ascolto di questa puntata dedicata ad una storia dell’informatica

Il 17 agosto 1936, in Indiana nasce Margaret Hamilton, forse il nome vi dice qualcosa, forse no, ma la puntata è qui apposta per raccontarvi una storia, la sua storia che entrerà nelle case delle persone di tutto il mondo con una delle dirette TV più seguite con 900 milioni di telespettatori. E non è il Superbowl.
In quegli anni, una ragazza che voleva studiare materie scientifiche come la matematica, non era molto ben vista, ma suo padre la sostiene e la spinge a fare quello che le piace di più, la passione per i numeri.
Margaret, con grande determinazione, si diploma alla Hancock High School e poi si laurea in matematica all’Earlham College nel 1958.
Durante gli studi conosce suo marito, compagno di vita e avventure professionali.
Dopo la laurea insegna in una scuola superiore, ma la cosa le va un po’ stretta, vuole fare di più e soprattutto vuole lavorare nel settore dell’informatica, all’inizio degli anni 60 in grande espansione.
Per contestualizzare, nel 1958 viene costruito il primo circuito integrato, nel 1960 vengono prodotti i primi chip al silicio e nasce il linguaggio di programmazione Basic.
Nel 1960 Margaret, anzi la dottoressa Margaret Hamilton, si iscrive all’università di Brandeis a Boston per studiare matematica astratta.
Ma quando vede un annuncio al MIT, proprio lui, il Massachusett Institute of Technology, dove si cercavano programmatori per lavorare al sistema anti missilistico SAGE, si candida.
SAGE, acronimo per Semi Automatic Ground Environment è, meglio era, un sistema di controllo dello spazio aereo che, presi i segnali dei radar, li mandava a dei calcolatori sparsi per gli Stati Uniti per creare un sistema di difesa aerea contro attacchi dall’Unione Sovietica. La Guerra Fredda era pervasiva.
Oggi, beh, le cose sono molto diverse, sia a livello tecnologico che politico.
Una brava matematica che non si ferma davanti a niente, molto determinata non può che passare le selezioni ed entrare a far parte del progetto.
Il sistema SAGE si basava su un calcolatore AN/FSQ-7
Qui ci va una parentesi, perché approfondire un po’ sul Army-Navy / Fixed Special eQuipment è d’obbligo.
È il più grande calcolatore discreto mai prodotto, per discreto si intende che usa i dati interi o binari e non valori continui come un sistema elettronico analogico, possiamo definirlo digitale.
Ognuna delle 24 macchine costruite da IBM dal 1955 occupava 2000 metri quadrati, in un campo da calcio ce ne stanno al massimo 3, giusto per farvi un’idea, era composto da 49.000 valvole, consumava 3 megawatt e processava 75.000 istruzioni al secondo.
È stato progettato e costruito proprio per il SAGE e se ne volete vedere uno, lo potete vedere in Wargames, il famoso film, che se non avete visto, bacchettate sulle mani e correte subito a guardarlo.
Se ne volete sapere di più sulle valvole c’è la puntata 15.
Inutile dire che, seppur la guerra sia una cosa oscena da ripudiare, è uno degli eventi un cui l’uomo investe un sacco di soldi ed energie e da questi investimenti escono poi avanzamenti tecnologici e ricadute sulla vita di tutti i giorni, fino a prima, inimmaginabili.
Se ci fate caso lo si vede oggi, non ci sono mai soldi per fare niente per il sociale, per la povertà, per l’ambiente e da un giorno all’altro sono comparti 800 miliardi di Euro in Europa da spendere in armamenti.
Lo vedremo anche con la ricerca spaziale, all’epoca, comunque, parte della Guerra Fredda.
Programmare il calcolatore AN/FSQ7, Q7 per gli amici non è cosa banale, non c’è un linguaggio ad alto livello, come il C o il Basic e un compilatore, ma va tutto scritto in assembly, direttamente in istruzioni macchina, in 0 e 1 o in esadecimale.
Insomma, per chi inizia a programmare uno scalino decisamente alto.
Ma la dottoressa Margaret Hamilton non si scoraggia, abbiamo già visto che non è una persona che si arrende, impara a programmare, lo fa bene e riesce a produrre software affidabile e di alta qualità, questa cosa sarà fondamentale più avanti.
Intanto nel 1961 nasce il programma Apollo, un ambizioso progetto che avrebbe dovuto portare gli uomini a passeggiare sulla Luna.
Il primo che dice che non ci siamo mai stati va a fare la fine che hanno fatto gli astronauti prima di Gagarin, chiaro?
L’obiettivo era riuscire a mettere i piedi sulla luna entro la fine del decennio, tutti sappiamo che nel 1969 la missione ha avuto successo per la prima volta.
Lo hanno visto in diretta 900 milioni di persone.
Quel giorno, a seguire sul posto c’era anche un giovanissimo Piero Angela, inviato dalla RAI.
Il programma ha generato investimenti enormi in ogni ambito tecnologico, affrontare lo spazio era, ed è ancora oggi, una cosa molto complicata.
Nel 1963 Margaret, tramite un laboratorio del MIT, entra come direttrice della divisione dell’ingegneria del software del programma Apollo.
Adesso noi viviamo attorniati dal software, devo dire, spesso software di pessima qualità.
Voi però pensate a un oggetto che doveva partire dalla terra e arrivare sulla Luna, innovativo per l’epoca, dove il software era fondamentale per una buona parte di tutte le fasi della missione, dalla gestione dei motori, alla navigazione alla gestione del supporto vitale.
Il tutto, per entrare in qualche dettaglio tecnico, su un calcolatore, l’AGC Apollo Guidance Computer, che aveva un processore da 2 Mhz, 4 KB di RAM e 72 KB di memoria non volatile.
Pesava 32Kg ed era grande 61x32x17cm
La memoria non volatile, chiamata core rope memory, era una serie di piccole bobine di rame una in fila all’altra, anche usata per i più famosi UNIVAC e UNIVAC2
Era programmato in un linguaggio di programmazione sviluppato al MIT, proprio dal team di Margaret Hamilton, chiamato AGC assembly language.
Forse conoscete la famosa foto con Margaret accanto al listato dell’intero codice stampato su vari blocchi di fogli alti come lei, ma se lo volete leggere, adesso è disponibile su github, il link, insieme a molti altri che ho usato come fonti, è nelle note della puntata.
Per paragone, Il primo Arduino, il Duemilanove aveva meno RAM e ROM del sistema montato su Apollo, ma andava a 16Mhz invece di 2.
L’attuale Arduino Uno R4 minima, un microcontrollore che usiamo per progetti a scuola e a casa, è grande 7×5 cm, pesa pochi grammi, costa 22€ e supera di gran lunga tutte le specifiche del computer montato su Apollo.
Abbiamo portato 3 uomini sulla Luna con un Arduino.
Questa cosa mi fa diventare pazzo.
Ovviamente nello spazio gli stress fisici sono diversi che a casa, una scheda da pochi € non resisterebbe neanche al decollo credo, ma il fatto che adesso per avere più prestazioni dell’epoca ci vadano davvero due spicci, rugged a parte, se ci pensate, è pazzesco.
Ed è più pazzesco con quali prestazioni sono riusciti ad arrivare fino lì. Non è prendere l’autostrada e fare Milano-Mosca. Sono andati sulla Luna, a 384.000 km di distanza, in un posto senza atmosfera.
Torniamo a Margaret Hamilton, per il progetto Apollo dirige centinaia di programmatori per un compito molto complesso, il software deve gestire tutti i parametri del volo, li deve gestire in contemporanea e deve essere anche in grado di gestire eventuali errori del sistema, che possono essere di ogni tipo e inaspettati. Lassù non si può mandare nessuno a riparare le cose che non vanno. Avete mai visto il film Apollo 13?

Durante il progetto Margaret si batte strenuamente per far riconoscere lo sviluppo software come elemento critico dei sistemi complessi, fino a quel periodo era relegato in secondo piano, la parte di maggior importanza era sempre stata data all’hardware.
Diciamo che ha visto il futuro.

Il 20 luglio 1969, il mondo intero era con il fiato sospeso mentre Neil Armstrong e Buzz Aldrin si preparavano ad allunare con il modulo lunare Eagle. Durante la fase di discesa, si verifica un problema tecnico: un radar acceso per errore sovraccarica il computer di bordo, mandandolo in allarme. Vista la poca capacità di calcolo, ogni attività in più da calcolare era un problema.
Questo avrebbe potuto compromettere l’intera missione, ma il software sviluppato dal team di Margaret Hamilton è stato concepito in modo efficace e molto avanzato, rispetto al periodo. Grazie al sistema di gestione degli errori e delle priorità dei processi, il software riesce a gestire il sovraccarico, dando la precedenza alle funzioni critiche per l’allunaggio.
Il computer, gestito dal software, a questo punto il vero punto critico del sistema, invece di bloccarsi o ignorare l’errore, riconosce la situazione critica e decide di ignorare i compiti meno importanti, concentrandosi sulle funzioni essenziali per l’allunaggio. Questo permette ad Armstrong e Aldrin di atterrare sani e salvi sulla superficie lunare, realizzando un sogno che aveva affascinato l’umanità per secoli.
Queste le parole di Margaret Hamilton:
A causa di un errore nella checklist riportata in un manuale, l’interruttore del radar di rendezvous era stato impostato in una posizione sbagliata. Ciò aveva causato l’invio di comandi fuorvianti al computer. Il risultato fu che al computer venne richiesto di svolgere tutte le sue normali operazioni per l’atterraggio, ricevendo anche un carico supplementare di dati spuri da processare, che avevano però consumato il 15% in più delle sue risorse. Il computer (più precisamente, il suo software), riconobbe che gli era stato richiesto di svolgere più task di quanti ne avrebbe dovuti eseguire. Avvisò quindi della situazione con un allarme, che per gli astronauti doveva essere interpretato come “sono sovraccaricato con più task di quelli che dovrei svolgere in questo momento, manterrò attivi solo quelli importanti (ad esempio quelli necessari per l’atterraggio)”. […] Infatti il computer era stato programmato per fare molto più che riconoscere possibili casi di errori. Una serie completa di programmi di ripristino era stata inclusa nel software. L’azione del software, in questo caso, fu di escludere i task a bassa priorità e ripristinare quelli più importanti. Il computer, invece di causare un’interruzione, la impedì. Se il computer non avesse riconosciuto questo problema e avviato le opportune azioni di ripristino, dubito che l’allunaggio dell’Apollo 11 avrebbe avuto successo.

La carriera della dottoressa Margaret Hamilton non finisce con le missioni Apollo, è diventata una delle pioniere della programmazione, ha influenzato il modo di programmare, ha introdotto i concetti innovativi di gestione e prevenzione degli errori e di verifica formale del codice, cose che prima erano ignorate.
Ha ricevuto molti premi per la sua brillante carriera, sia da parte della NASA che dagli Stati Uniti.

Aggiungo una piccola postilla, per tutti quelli che pensano che la ricerca spaziale sia sempre un grande spreco di soldi e basta.
Abbiamo scoperto che per le missioni Apollo abbiamo avuto un balzo avanti nella programmazione del software, software che oggi è pervasivo.
Sulla luna hanno camminato 12 persone, per dovere di cronaca, con le missioni di Apollo 11, 12, 14, 15, 16 e 17, dal 1969 al 1972. Da allora nessun uomo è più andato sulla Luna.
Per fare tutte queste missioni sono stati spesi un sacco di soldi in ricerca, ricerca che è ricaduta sull’uso quotidiano di un sacco di cose. Queste sono alcune invenzioni delle missioni Apollo che usiamo ancora oggi
Le copertine metalliche leggerissime oro da un lato e argento dall’altro che vedete usare in ambulanza per raffreddare o riscaldare i pazienti.
Il cibo sottovuoto
L’idea di progettare solette per le scarpe con capacità di assorbire gli urti
Abiti resistenti al fuoco, li svilupparono dopo che l’equipaggio di Apollo 1 morì arso
La pompa per l’insulina
Le lenti resistenti ai graffi
I sistemi di assorbimento per le vibrazioni oggi usati negli edifici per la resistenza ai terremoti
Il sistema Lasik per tracciare la posizione degli occhi, adesso largamente usato nella chirurgia oculare con il laser
Le celle fotovoltaiche
Le cuffie con microfono senza fili
Tecnologia migliorata sugli pneumatici, in uso ancora oggi
L’asfalto drenante
Il memory foam
I purificatori d’aria

Se volete saperne di più su Apollo e quella volta che l’uomo ha messo piede sulla luna, vi consiglio due contenuti multimediali.
Il primo è solo audio, la puntata 56 di Orazio, podcast del Post con la voce di Matteo Caccia, nel quale una delle due storie verte su Michael Collins, che rimase sul modulo di comando ad aspettare il rientro del modulo di allunaggio.
Il secondo è una puntata del 2019 di Ulisse, condotto da Alberto Angela, che, insieme a Piero Angela, ripercorrono tutto il viaggio per arrivare sulla luna, nel 1969, lo trovate su raiplay.

E a chiusura di tutto questo, è notizia di marzo, che c’è una nuova sonda, allunata con successo, di una agenzia spaziale privata, che sta facendo vari esperimenti e che ha anche parte di una tecnologia italiana a bordo, per la localizzazione sulla luna usando parte dei segnali dei satelliti GPS che usiamo per la localizzazione sulla terra, vi lascio nelle note un video in alta definizione delle ultime fasi con l’allunaggio, una cosa pazzesca.

Donazioni
Pillole di Bit è un podcast gratuito da sempre e disponibile per tutti, se vi piace e reputate che il lavoro di realizzazione abbia del valore economico, potete trasformare questo valore in una donazione, sul sito trovate i link per farlo, con Satispay o Paypal, con quest’ultimo anche in abbonamento mensile, il tutto con la cifra che volete voi.
Se a fine mese la quantità di donazioni raggiunge una certa soglia, mi impegno a fare una puntata extra, per il primo del mese successivo, dedicata ad una storia dell’informatica, per ringraziarvi della generosità.

Siamo arrivati alla fine di questa puntata di Pillole di bit Stories, uscita, perché siete stati molto generosi nel mese di Febbraio vi ricordo che tutti i link relativi alle cose dette sono nelle note, che trovate sulla vostre app o sul sito.
Io sono Francesco, produttore e voce di questo podcast e vi do appuntamento alle puntate della programmazione normale, ogni lunedì mattina presto, vi registrate con un’app per podcast e la puntata vi arriva automagicamente.

Grazie per avermi ascoltato!

Ciao!

Il sito è gentilmente hostato da ThirdEye (scrivete a domini AT thirdeye.it), un ottimo servizio che vi consiglio caldamente e il podcast è montato con gioia con PODucer, un software per Mac di Alex Raccuglia