Bizzarri bug vintage per consolarci dal disastro di Crowdstrike: non bug ma incidenti (non troppo) felici

di Shadow Ranger |

bufala sindaco di lonigo
Bizzarri bug vintage per consolarci dal disastro di Crowdstrike: non bug ma incidenti (non troppo) felici Bufale.net

Il vero e proprio venerdì nero di Crowdstrike, il 19 luglio, enterà nelle cronache della storia dei bug per aver paralizzato l’intera struttura ICT del mondo moderno colpendo l’un per cento dell’installato totale Microsoft, ma quello “di sostanza” (aeroporti, banche, Borse, emittenti televisive…).

Il perché l’abbiamo già discusso e lo ricordiamo brevemente: il bug ha impattato uno dei più desiderati e usati programmi antimalware nelle applicazioni che necessitano di profili di protezione, facendo in modo che lo stesso guardiano diventasse la sorgente del problema.

Bizzarri bug vintage per consolarci dal disastro di Crowdstrike: non bug ma incidenti (non troppo) felici

Bizzarri bug vintage per consolarci dal disastro di Crowdstrike: non bug ma incidenti (non troppo) felici

Ma ammettiamolo: i bug sono sempre esistiti, e rifugiarsi nel mito della compagnia low cost che usa Windows 95 e non ha i bug non vi aiuterà, affatto.

Ma partiamo dalle basi.

Il primo bug della storia non è quello che pensate

Tutti ricorderete la storia del “primo bug della storia”, l’insetto morto mezzo bruciacchiato trovato dalla dottoressa e contrammiraglio Grace Hopper nei delicati circuiti dell’Harvard Mark II.

In realtà la dottoressa Hopper fu la prima ad utilizzare il termine bug in una annotazione ufficiale: non trovò personalmente “il bug”, ma si premurò dell’annotazione dell’accaduto, compreso l’insetto immortalato da un pezzo di nastro adesivo e la salace scritta nel registro del 9 Settembre del 1947.

Edison tra le altre cose diede la prima definizione di bug registrata nella storia

Edison tra le altre cose diede la prima definizione di bug registrata nella storia

Il termine bug esisteva quantomeno dai tempi di Thomas Alva Edison, inventore tra i più prolifici del suo tempo. Egli lo usò, probabilmente codificandolo sulla base di un uso già udito ai suoi tempi, per descrivere gli errori nel processo che lo portò a creare il fonografo.

Egli parlò del bug così

“It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties arise—this thing gives out and [it is] then that “Bugs”—as such little faults and difficulties are called—show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached”

Traducibile con

“Succede sempre così in tutte le mie invenzioni. Prima arriva l’intuizione, col suo impeto creativo, poi le difficoltà… ecco che tutto si blocca ed arrivano i ‘bugs’ – così si chiiamano questi piccoli difettucci e difficoltà tecniche. Appaiono e rendono necessari mesi di studio, lavoro e intensa osservazione prima di capire se si raggiungerà il sucesso o il fallmento commerciale”

Quindi “piccoli difettucci e difficoltà tecniche” che spessso possono fare la differenza tra il successo e il fallimento.

Come i bug hanno fatto parte della storia dell’informatica prima dell’informatica

I bug si spostarono dalla meccanica all’informatica: abbiamo visto insieme come un fumetto del 1924 definì il tecnico riparatore “un cacciatore di bug”, “Baffle Ball”, flipper meccanico del 1931, fu definito nel suo materiale promozionale come “privo di bug” e nel 1944 Asimov nella storia “Iniziativa personale” (pubblicata in Italia anhe col titolo “Il Robot Multiplo”)  definì “buggato” il robot Dave, robot minatore al comando di sei robottini di dimensione inferiore che, a causa di un difetto di costruzione che lo rendeva incapace di controllare i sei robot contemporaneamente, tendeva a “svarionare” durante gli incarichi difficili.

Nella volgata, "Il primo bug registrato"

Nella volgata, “Il primo bug registrato”

Le stesse schede audio che ora rallegrano la vostra esperienza videoludica sono figlie dei bug: in tempi in cui i computer non avevano tastiere e monitor il modo più efficace per “captare” e intercettare un bug era applicare un cicalino al computer e sentire il ticchettare di un “battito del cuore virtuale” trasformarsi in un suono acuto e stridente.

Il che ci porta ad una serie di errori nel mondo retro che sono diventati quello che Bob Ross avrebbe chiamato “tanti incidenti felici”. Più o meno, dato che alcuni non lo furono affatto.

Il Minus World di Mario era un purgatorio dal quale non si poteva fuggire

In determinate circostanze era possibile ingannare Super Mario Bros. spingendolo ad aprire una bizzarra variante del Livello 7-2. Compiendo determinate operazioni in gioco, oppure rischiando di danneggiare il NES cambiando “al volo” la cartuccia di Super Mario Bros. con quella di Tennis si poteva raggiungere un mondo sottomarino da cui era impossibile fuggire, dato che semplicemente l’uscita non è prevista non essendo un livello “reale”.

Non si fugge da Minus World

Non si fugge da Minus World

L’unico modo per lasciare il livello è perdere tutte le vite e resettare. Il minus world, in realtà Livello 36-1, ma col “trentasei” invisibile, quindi “-1” è stato tra le ispirazioni di Super Mario: The Lost Levels, versione “originale” di Super Mario 2 ispiratore della cultura kaizo, ovvero della creazione di livelli estremamente difficili dove la frustrzione era parte del divertimento.

Il computer di bordo di Gemini 4 era buggato: se ne accorsero con Gemini 5

Gemini 5 atterrò sulla Terra a 130 chilometri e una correzione manuale dal punto di atterraggio previsto.

Semplicemente la costante relativa alla rotazione terrestre era stata settata a 360 gradi e non 360,98.

L’errore era già presente nella programmazione di Gemini 4: semplicemente la durata delle missioni precedenti e un altro problema nell’uso del computer di bordo non l’avevano reso trasparente.

La correzione manuale di rotta comunque funzionò e i 130 km di differenza non fecero un grande impatto.

Buzz Aldrin chiese la correzione di un bug sull’Apollo 11 quando era difficile farlo

Il 18 Giugno del 1969, a un mese dall’allunaggio, Armstrong chiese la correzione di un bug in Luminary, il codice che faceva funzionare il LEM, che potenzialmente avrebbe provocato anomalie nelle manovre, bloccando le stesse per 163 secondi e causando un rollio incontrollabile dello stesso. Era un bug abbastanza difficile da “attivare” (uno dei modi era premere il tasto per “abortire” la missione…) e furono provati dei mezzi per ovviare, ma nessuno piacque ad Armstrong: ovviamente era la sua vita quella in ballo.

Il problema? Il computer di bordo del LEM usava un tipo particolare di memorie di sola lettura ottenuto tessendo dei fili metallici attraverso anelli di materiale conduttivo, la c.d. “Core rope memory”.

Prova a patchare questo

Prova a patchare questo

Tessere un modulo secondoo programma avrebbe richiesto almeno tre mesi, ma Armstrong ovviamente non era disponibile a giocare con la sua vita, né con quella di altri.

I moduli di memoria del LEM erano “tessuti” e colmati di resina per renderli più rapidi. Armstrong ottenne che un modulo di scorta “non resinato” fosse utilizzato al posto del modulo già pronto e “ritessuto” al volo tagliando alcuni fili e “ricucendoli” nell’ordine gradito.

Anche così va ammesso durante l’allunaggio il PGNCS, il sistema di navigazione dell’Apollo 11 restituì infatti due errori dovuti alle condizioni di sovraccarico di dati che non inficiarono la missione, che come sappiamo fu un successo, bug o non bug.

Il Commodore 64 come lo conosciamo era definito dai suoi bug, non dalle sue caratteristiche

Ne abbiamo parlato più volte.

Per gli standard dell’epoca, il Commodre 64 era un miracolo per grafica e audio. Il suo chip audio, il SID, era un vero e proprio sintetizzatore musicale inserito in un computer.

Era un iconico e irripetibile chip audio con tre voci e quattro fonti d’onda, filtri analogici, del quale persino i difetti divennero pregi.

Ad esempio, giocando con voltaggi un bug nella prima versione del SID, il 6581, creava dei crepitii che potevano essere controllati fino o creare un sistema improprio di sintesi vocale e digitale.

Se giochi come Ghostbusters hanno la capacità di produrre il suono della risata di Ray Parker Jr. e campioni audio del film, se Neuromancer “Something never changes” dei DEVO come colonna sonora e se Mission Impossibile vede il cattivo rivolgere frasi in sintesi vocale (veramente, registrate) al giocatore, è grazie ad un bug.

Bug che fu “risolto” nella versione successiva, il 8580, costringendo gli utenti a creare modifiche hardware per “ribuggare” il SID e i programmatori a cercare soluzioni alternative per ripetere lo stesso effetto.

Diverse generazioni di Commodore 64 con diversi Bug

Diverse generazioni di Commodore 64 con diversi Bug

Ad oggi è possibile scaricare una versione alternativa di Ghostbuster che produce la risata di RPJ con questi metodi alternativi.

Un altro di questi “difettucci”, che però riguarda il chip video (il VICII) consentì di creare giochi con scorrimento fluido come quello dei rivali Master System e Mega Drive di SEGA, pensate a quanto Mayhem in Monsterland somigli a Sonic.

Anche qui alcuni esemplari del C64C, il modello “successivo a costo ridotto” col SID 8580 “tapparono” il bug rendendo alcuni giochi inutilizzabili.

Un altro bug per niente utile riguarda i tempi di caricamento biblici del floppy 1541: vi stupirà sapere che il precedente PET, primo home computer della Commodore e iniziatore della linea, era in realtà assai più veloce.

Una serie di bug mai corretti, anzi peggiorati nello sviluppo, resero impossibile al Commodore VIC20 e 64 sfruttare la connesione seriale tra computer e lettore floppy (anzi, nel passaggio dal VIC20 al C64, esso dovette essere lievemente rallentato).

Ancora il Commodore 64 interpreta i dati ricevuti usando propria potenza di calcolo, il c.d. “bitbanging”.

Bisognerà attendere il Commodore 128 e il suo “burst mode” per correggere quel peccato originale, ma solo col lettore 1571 e solo in modalità Commodore 128 e non in modalità compatibile.

Per finire, il KERNAL, il kernel del Commodore, fu prodotto in tre revisioni, le prime due con alcuni bug relativi ai colori di sfondo. Ovviamente, se avevi una vecchia unità, dovevi procurarti un nuovo chip, o tenertela così.

Un gioco per lo Spectrum aveva errori che lo rendevano ingiocabile: gli autori cercarono di dichiararli voluti

Nel 1984 uscì un bizzarro sequel di Manic Miner, chiamato Jet Set Willy, disponibile per lo ZX Spectrum, il “rivale storico” del Commodore 64 in un derby europeo tra computer economici.

Nel gioco interpretavi il Manic Miner del primo titolo, intento a ripulire la sua enorme dimora dopo un enorme party per festeggiare i suoi successi come avventuriero, possibilmente prima dell’arrivo della notte per riuscire a dormire (la vita dell’eroe/festaiolo è dura).

Entrando in alcune stanze della magione, semplicemente il gioco crashava o ti faceva perdere tutte le vite senza alcuna ragione non appena cambiavi stanza nella magione.

E alla fine aveva ragione il giornalista (tratto da Your SpectrumIssue 4 (June 1984)  )

E alla fine aveva ragione il giornalista (tratto da Your SpectrumIssue 4 (June 1984) )

Contattati dagli utenti e da riviste del settore, gli autori del gioco si spinsero inizialmente a dichiarare che non era un bug, ma una meccanica di gioco.

Infatti, inizialmente, fu dichiarato che “una trappola segreta” nella stanza chiamata “L’Attico” avrebbe riempito stanze a caso di gas tossici per rendere il gioco più intrigante.

Alla fine la ditta ammise l’errore, peraltro ben documentato dagli utenti più esperti, e rilasciò istruzioni per applicare il bugfix in casa: erano quei tempi in cui potevi copiare un intero programma da una rivista in un pomeriggio di lavoro e usarlo.

Non era l’unico bug, ma uno dei più fastidiosi.

Dal 1984 al 2021: programmatore corregge bug nel suo gioco dopo 37 anni

Nel 1984 appare il visionario gioco Revenge of the Mutant Camels di Jeff Minter, avventura in cui interpreti un cammello gigante che deve difendersi da vari nemici “Per il bene dei cammelli nel mondo”.

Dopo 37 anni Minter, che continua a pasticciare con le sue creazioni, rivelò in un post X ormai cancellato di aver trovato un bug nelle collisioni (nel sistema che rende possibile colpire i mostriciattoli avversari/essere colpiti) e che dopo la bellezza di 37 anni ora il suo gioco era diventato migliore.

Cosa vuoi che siano 37 anni?

Cosa vuoi che siano 37 anni?

Meglio tardi che mai, anche se ovviamente è difficile trovare cassette e floppy in edicola, ma Minter ha reso disponibile il download gratuito di una immagine floppy della versione corretta, da giocare così come è su emulatore (sia del Commodore in toto che del suo lettore floppy) o per “correggere” un vecchio floppy con la versione difettata.

Minter continua ad essere un prolifico autore, creatore di un gioco peraltro ispirato alla leggenda metropolitana di Polybius di cui ho parlato in passato.

Un doppio errore bloccò l’intera missione Phobos 1

Nel 1988 la Russia lanciò una sonda da 6200 Kg verso Marte allo scopo di raccogliere dati preziosi per l’esplorazione intergalattica. Come abbiamo visto col caso della sonda americana Voyager il difficile non è lanciare una sonda, ma programmarla.

Phobos 1 avrebbe dovuto quindi atterrare sul satellite di Marte chiamato Phobos e esaminare campioni raccolti in loco.

Purtroppo, un tecnico inviò da Terra un programma contenente un trattino mancante. Ora: i sistemi di controllo terra di Phobos 1 prevedevano un programma con l’apposito scopo di verificare se i programmi inviati fossero corretti.

Avrete già capito che il programma che doveva controllare il programma a questo punto era buggato.

Un paio di bug dopo, il più costoso fermacarte della storia

Un paio di bug dopo, il più costoso fermacarte della storia

Di bug in bug (il primo bug era noto, ma pare il tecnico non ne abbia atteso la correzione, forse fiducioso della semplicità del codice da mandare) Phobos 1 perse la capacità di orientare se stesso in modo da ricaricare le proprie batterie mediante i pannelli solari incorporati e si spense prima dell’arrivo a destinazione, diventando un costosissimo detrito cosmico e causando discussioni tra Russia e Crimea per chi dovesse prendersi la colpa dell’accaduto.

Le indagini furono rinviate per evitare di demoralizzare i responsabili del lancio di Phobos 2, con l’allora capo dei Servizi Segreti Beria citato nel dire “Ora facciamoli lavorare, poi li facciamo sparare dopo…”.

Le indagini, di molto rimandate, finirono senza esecuzioni di massa: il capo del controllo missione in Crimea perse il posto, la Russia ammise che Phobos 1 era mal programmato alle origini e tutti incassarono sportivamente il colpo.

Nel 1987 fu scoperto il peggior bug biomedico della storia

Dal 1985 al 1987 furono registrati una serie di anomali incidenti tra i pazienti che avevano usato la macchina per radioterapia Therac-25.

E parliamo di una paziente che entrata in terapia per una mastectomia parziale ne è uscita con ustioni da radiazioni, un paziente morto con sintomi compatibili con una esposizione radioattiva abnorme.

La colpa fu attribuita Therac-25, macchinario per radioterapia di Atomic Energy of Canada Limited (AECL) basato sul riutilizzo di software delle iterazioni precedenti dei prodotti AECL.

E questo è perché certifichiamo il software

E questo è perché certifichiamo il software

Iterazioni con sistemi di sicurezza hardware che Therac-25 non aveva, essendo invece basati sul solo software, buggato. Almeno due bug concorrenti consentivano ad un operatore di attivare l’emissione di elettroni quando non avrebbe dovuto, e senza aver modo di capire cosa stava facendo. In caso di errori, Therac-25 avrebbe restituito solo un codice numerico, da 1 a 64, col manuale a suddividere tra errori che avrebbero richiesto un riavvio ed errori che avrebbero richiesto di spegnere il macchinario.

Unito ad una serie di leggerezze nella programmazione (l’interfaccia rendeva tali errori semplici da raggiungere) e rassicurazioni dimostrate poi fallaci che Therac-25 non avrebbe potuto avvelenare i pazienti, questo fu una vera ricetta per il disastro.

L’incidente coi bug di Therac-25 portò a creare lo standard IEC 62304, “software per dispositivi medici – processi del ciclo di vita del software“, codificato decenni dopo neel 2006 per limitare il riuso e l’uso di software di incerta provenienza in applicazioni mediche rilevanti.

Venerabile nave della Marina Americana viene aggiornata a Windows NT: bloccata in alto mare

La Yorktown (CG-48) era stata una nave della Marina apprezzata e coinvolta in operazioni di gran pregio sin dal 1984. Nel 1996 si decise però di munirla di sistemi di navigazione moderni e allo stato dell’arte.

All’epoca intendiamo per moderno, ovviamente, Windows NT4.0, quello che poi sarebbe diventato il cuore pulsante di Windows XP (mediante Windows 2000), e quindi arrivare come antenato nobile di Windows 10 e 11.

Incrociatore di classe Ticonderoga, titano da 10mila tonnellate con sistemi radar e armamenti di prestigio la Yorktown era sopravvissuta alla Guerra Fredda, al dirottamento della Achille Lauro, alla guerra in Iraq e a diversi scenari in giro per il mondo.

Nè i Russi, né i Palestinesi, né i Pirati né gli Iraqeni poterono fermarla. Un bug di Windows NT sì

Nè i Russi, né i Palestinesi, né i Pirati né gli Iraqeni poterono fermarla. Un bug di Windows NT sì

Una nave premiata per supporto al combattimento navale (1987), eccellenza nella guerra elettronica (1991), preparazione al combattimento (1992), nonché elevati standard di sicurezza (1993) fu incerimoniosamente fermata dall’aggiornamento a Windows NT.

L’idea era risparmiare tempo, denaro ed efficienza delegando al computer il calcolo di diverse funzioni di navigazione. Ed andò quasi tutto bene, finché un operatore non decise di resettare i valori delle valvole di iniezione del carburante, quindi inserendo il valore “zero” per sistemare una valvola chiusa, ma riconosciuta dai computer di bordo come aperta.

I nuovi sistemi di bordo decisero di risolvere il problema con una divisione per zero: tutta la rete di sistemi interni della nave si bloccò per circa tre ore, lasciando una delle navi più riverite degli USA bloccata alla deriva e, al suo ritorno, suscitando l’ennesima discussione tra fautori della superiorità di Unix e fautori di quella di Windows NT, antenata delle discussioni tra fan di Linux e fan di Windows 10/11.

Il primo malware della storia trasse il suo potere dai bug

Il primo e più capace malware della storia fu il Morris Worm, programma che nelle intenzioni del suo autore aveva una sola funzione: replicarsi su ogni computer connesso nel 1988.

Secondo una delle teorie sulle origini, Robert Morris voleva calcolare quanti nodi ci fossero su ARPANet, e “prendere le misure di Internet” con un programma creato per copiarsi su ogni computer, ma solo una volta.

Consapevole che alcuni sysadmin avrebbero impedito al suo worm l’accesso presentando un falso positivo, programmò il Morris Worm per copiarsi comunque, nel 14% dei casi, praticamente una volta ogni sette.

Robert Morris durante un giorno indimenticabile

Robert Morris durante un giorno indimenticabile

Il Morris Worm avrebbe dovuto consumare una piccola percentuale delle risorse del sistema per diffondersi mediante posta elettronica (usando sendmail), ottenere informazioni mediante finger (sistema per lo scambio di dati tra sistemi Unix) e ottenere password e altri privilegi mediante Buffer Overflow (scrivendo un numero di dati maggiore del buffer destinato a contenerli per ottenere diversi effetti).

Una serie di bug, legati alla funzione di “infezione automatica di un computer su 7” portarono il Morris Bug a reinfettare numerosi computer più e più volte, in modo esponenziale.

In breve tempo Robert Morris aveva bloccato la nascente Internet facendo paventare alla stampa l’arrivo di qualcosa di così potente da distruggere l’era dell’Informazione prima che essa fosse nata.

Morris provò a postare su Usenet istruzioni anonime per fermare “il nuovo virus”, ma le cose non andarono come previsto.

Ad incrementare il danno l’Università di Berkley mise online una patch per sistemare i computer interessati, che però non erano in grado di collegarsi per scaricarla.

Copia del Morris Worm in una teca

Copia del Morris Worm in una teca

Morris fu individuato grazie ad una chiamata anonima ricevuta da un giornale e fu il primo cittadino americano della storia condannato in base al Computer Fraud and Abuse Act.

Condanna ai lavori sociali: gli si riconobbe l’assenza di dolo e dalla sua enorme cappellata nacquero i CERT, i “Centri di risposta agli attacchi Informatici” e il concetto stesso di Cybersicurezza.

Robert Morris ebbe una lunga e proficua carriera, parla di rado del suo errore giovanile ed è un professionista assai stimato.

Un bug costa all’ESA diversi miliardi e un razzo, l’Ariane 5

Cosa ottieni se cerchi di riempire una borraccia da mezzo litro con una tonnellata d’acqua?

Questo è ciò che hanno scoperto all’ESA nel 4 giugno 1996, quando il sistema informatico del razzo cercò di convertire la velocità orizzontale rispetto alla piattaforma di lancio da un dato a 64 bit in virgola mobile ad un intero a 16 bit con segno.

Un bug esplosivo

Un bug esplosivo

Semplicemente il numero in virgola mobile era troppo grande per una simile conversione, e questo portò ad una reazione a catena che portò ad una deviazione del razzo che portò alla sua distruzione ad una manciata di secondi dal lancio.

E parliamo di una deviazione di 90 gradi nella direzione sbagliata in un oggetto sottoposto a forze gravitazionali e di accelerazione in grado di distruggere ogni cosa col minimo errore.

Ci volle un anno e mezzo di lavoro per individuare, comprendere e superare il bug.

Stanislav Petrov salva il mondo da un bug

Siamo nel 1983, in un bunker nei pressi di Mosca.

Stanislav Petrov in piena Guerra Fredda, è un tenente e ingegnere militare stazionato nel bunker e assegnato al sistema antimissilistico Oko.

Il suo compito è assai semplice: se viene individuato un lancio di missili nucleari Americani, ordinare un lancio di missili a sua volta secondo la dottrina della Mutua Distruzione Assicurata ancora cara ai falchi del mondo.

Ricordate la recente tramissione televisiva con la Simonyan, giornalista fortemetne Putinista e l’effervescente Soloviev pronti a giurare che il mondo finirà in un Olocausto nucleare in cui i prodi putinisti moriranno tra le fiamme ridendo e lodando il Paradiso Post-Sovietico che dovrebbe attenderli?

Anche all’epoca era un dato di fatto, e quando Petrov vide dati compatibili con un lancio di cinque missili dal Montana avrebbe dovuto ordinare il lancio di missili dall’URSS per una sorta di vendetta atomica che avrebbe visto l’America bruciare con la Russia.

L'uomo che ha salvato il mondo. E non solo da un bug

L’uomo che ha salvato il mondo. E non solo da un bug

Ma Petrov, evidentemente più astuto della media, si chiese semplicemente “Perché vi fossero solo cinque missili”, e ordinò un riavvio dei sistemi.

Un bug aveva fatto in modo che Oko confondesse un riflesso solare dato da una convergenza tra Luna, Sole e un suo satellite con un lancio missilistico.

Se Petrov avesse ordinato il lancio probabilmente l’URSS sarebbe stata indicata come la nazione che aveva iniziato il conflitto, gli USA avrebbero risposto e sarebbe davvero arrivato un Olocausto Nucleare.

Petrov non ebbe alcun riconoscimento, anzi fu interrogato sull’accaduto e ammonito, accusato di aver messo diversi scienziati russi in imbarazzo e fu riassegnato, guadagnando dalla vicenda un esaurimento nervoso e mille preoccupazioni.

Ancora nel 2006 la Russia minimizzò l’intervento di Petrov dichiarando che probabilmente anche se avesse ordinato il contrattacco non sarebbe successo niente perché avrebbero “chiesto conferma dai servizi segreti, dai reparti radar e altre personalità”.

E questo fu il ringraziamento per un atto di vero eroismo.

Intel trasforma i primi Pentium in costosi portachiavi

Il primo Pentium fu tra gli attori principali dell’esistenza del PC Multimediale, il mondo di suoni e colori introdotto da Windows 95. Fu anche latore  di un bug nella sua FPU che impediva di effettuare calcoli precisi.

Parliamo comunque di un errore legato di fatto al quarto decimale: difficile da incontrare nella vita di tutti i giorni, ma non ad esempio per ricercatori che necessitavano di calcoli assai precisi.

Ma non solo: alcuni autori di videogames, come il famoso Quake, descrissero piccoli inspiegabili errori di grafica durante lo sviluppo dei loro videogames che si spiegarono con l’esistenza del bug.

Intel da principio propose di sostituire i processori interessati per tutti gli utenti che avessero dimostrato di aver bisogno di una FPU precisa, ma per evitare problemi con l’opinione pubblica che già aveva marchiato Intel come produttrice di merce difettosa e incapace di ammetterlo, stanziò 475 milioni di dollari per un richiamo di tutti i processori interessati, a prescindere dal loro uso.

Forse correggere prima?

Forse correggere prima?

In realtà probabilmente Intel non aveva tutti i torti: molti utenti non si sarebbero mai accorti del bug, e furono introdotti programmi per identificare una FPU difettosa, disabilitarla o introdurre correzioni software che non avrebbero ridotto di molto le performance.

Il rifiuto di Intel di rispondere al bug in un modo soddisfacente però portò al rigetto della ditta da parte del pubblico, ed alla necessità di trasformare (e letteralmente) quei processori in costosi portachiavi con la scritta “Le ditte inferiori sono distrutte dalle crisi, quelle buone sopravvivono, ma le superiori migliorano” pur di riavere la fiducia del pubblico.

Ed ora, nonostante di bug che hanno cambiato il mondo e sono entrati nel retro ce ne siano tanti, chiudiamo la carrellata con quello spesso associato al Venerdì nero di Luglio 2024 per portata e conseguenze.

Il Millennium Bug

Se tutti pensano al Millennium Bug come quella cosa che ci ha dato solo film e telefilm con scene spaventose e allarmismo è perché alla fine è tutto andato bene.

Nessuno sta dicendo che, come nel celebre episodio dei Simpson al riguardo, il genere umano si sarebbe estinto a causa del Millennium Bug, ma avremmo avuto l’esatta situazione che si è verificata quando una piccola percentuale, ma piazzata nei servizi critici dei sistemi Windows ha fallito a causa del bug Crowdstrike.

Disservizi generalizzati in tutto il mondo nella prima settimana dell’anno, coi tecnici IT in ferie e la situazione che abbiamo visto ora.

Voli bloccati, banche con file assurde, Borse ferme, emittenti televisive in crisi, servizi in rallentamento e (ricordate eravamo comunque nel 1999) un brusco ritorno temporaneo all’analogico per strutture che avevano dismesso già il necessario.

Diversi programmi commerciali e per uso tecnico sin dagli anni ’60 sostanzialmente si scontrarono col fatto che per buona parte della storia dell’informatica, memorie di massa e memorie volatili erano un costo importante.

Nel 1982 per capirci se avevi 64Kb di RAM sul tuo home computer e accesso a floppy disk da 360Kb eri già un utente di elite.

Una gag del film Kung Fury, ambientato nel 1985, vede il bizzarro hacker Hackerman, parodia degli hacker delle serie televisive, dichiarare convinto che solo un vero hacker come lui era in grado di procurarsi 256kb di RAM per il suo computer in modo da poter viaggiare fino al 2005 e reperire così “Un floppy disk che contenga almeno qualche decina di megabyte di dati”.

Il 2000 era un obiettivo assai lontano: si decise di scrivere i programmi in modo da usare date a due cifre, quindi DD-MM-YY o MM-DD-YY per gli americani (giorno, mese, anno o  mese, giorno, anno).

E voi l'avete fatto?

E voi l’avete fatto?

Capirete come a questo punto arrivati al 31-12-99, il giorno successivo sarebbe stato il 01-01-00, che la stragrande maggioranza dei programmi avrebbero interpretato come 01-01-1900 e non 01-01-2000.

L’ingegnere e ricercatore Bob Bremer sollevò il problema già negli anni ’50, notando che la creazione di archivi genalogici avrebbe avuto problemi nella gestione delle generazioni future.

L’analisi costi-benefici era ancora piuttosto aleatoria, e fu a partire dagli anni ’80 che si decise di prepararsi, se non altro perché broker e intermediari finanziari cominciarono a temere gli effetti di un rallentamento brusco delle attività digitali.

L’acceleratore fu messo nel decennio successivo, e più ci si avvicinava alla data, più vari IT misero in cantiere funzioni di mitigazione. L’ideale sarebbe stato passare tutti assieme ad un sistema a sei cifre ad uno ad otto (quindi DD-MM-YYYY o MM-DD-YYYY), col rischio però di rompere la compatibilità con programmi passati.

Altre soluzioni furono cambiare la “finestra” dataria, quindi ad esempio andando non dal 1900 al 1999, ma dal 1970 al 2069 ad esempio, cambiare il formato di data e anno in vari modi, sostituire i sistemi di RTC (real time clock) e installare patch software ovunque possibile.

Nonostante gli inviti a “spegnere i computer a mezzanotte”, i disservizi ci furono ma le correzioni ressero. Qualcuno ricevette bollette con la data sbagliata, alcuni sportelli bancari produssero documentazione erronea, ma le misure di mitigazione (unite al fatto che la Transizione al Digitale odierna è molto più penetrante di quella di venticinque anni fa) ressero.

Nessuno sta dicendo che il Millennium Bug non esiste: ma se non fosse stato mitigato, sarebbe andata a finire come oggi, e non avremmo avuto nessuna menzione del “disastro Crowdstrike” e forse neppure questo articolo.

 

Se il nostro servizio ti piace sostienici su PATREON o con una donazione PAYPAL.

Ultimi Articoli