BETA
BETACopertinaSommarioInternet IDInformazioniBrowserGuida
BETA

Sommario
Internet ID
Indici di BETA
Redazione
Mailing list
Installazione
Mirror ufficiali
Licenza Pubbl. Beta
Cerca
Stampa





BETA sul Web
Beta.it
Menu Settori e sezioni

Informaticamente scorretto: anno 2000

di Luciano Giustini
Direttore, BETA

Non mi dilungherò troppo sulla spiegazione meramente tecnica del bug dell'anno 2000, poichè ritengo che molti di voi che mi state leggendo già sappiano di cosa si tratti. Accenno quindi per chi non è del campo informatico al cuore del problema anno 2000.
Negli anni '70 e '80, quando il costo dei computer era molto alto e le risorse erano per forza di cose limitate, i programmatori facevano di tutto per risparmiarle, soprattutto in tema di memoria. Così, anche nel campo dei computer si è nel tempo consolidata l'abitudine a rappresentare l'anno, nelle date, con le ultime due cifre. Questo, come è facilmente comprensibile, porta al cuore del problema poichè il 1° gennaio 2000 l'anno viene rappresentato come "00", quindi è sia matematicamente minore di 99, sia considerato come 1900 in forma di data, con le conseguenze del caso. D'altronde una delle giustificazioni più utilizzate dai programmatori è stata "Quando arriveremo al 2000, i programmi che scriviamo oggi saranno obsoleti e sicuramente sostituiti da altri programmi aggiornati". Purtroppo non è andata così. Molti dei programmi scritti negli anni passati sono tuttora in uso, ed essi riportano tutte le date come GG/MM/AA, con due cifre per rappresentare l'anno. Non sono poche le realtà informative che non hanno sostituito i programmi, e d'altra parte se si dà ragione al detto "una cosa che funziona non c'è motivo di cambiarla" era anche prevedibile che si sarebbe arrivati alla situazione attuale. Non colpevolizziamo nessuno, però ritengo che si potesse prevedere una vita dei programmi anche più lunga delle previsioni. Se consideriamo ad esempio che oggi si utilizza Windows 98, che è una versione rivista e corretta di Windows 95, che è una versione migliorata e potenziata di Windows 3.1, che è un'interfaccia grafica multiapplicativo posta sopra all'MS-DOS, che risale agli anni '80, non vedo perchè i programmi per Windows non possano condividere la stessa longevità.

Dai microcomputer (i computer che usiamo tutti) ai mainframe aziendali passando per tutte le varietà informatiche il dubbio angosciante dei responsabili è: come prenderà l'anno 2000? Il problema si allarga a dismisura nella considerazione dell'interdipendenza dei sistemi informatici. Non basta sapere che un sistema hardware-software di un azienda sia a posto per il passaggio di millennio, perchè se non lo è - ad esempio - quello dell'azienda fornitrice, nessuno dei due funzionerà, e si ritornerebbe ben presto al punto di partenza. Similmente, se un sistema informatico richiedesse la connessione con altri sistemi informatici, e questa fosse inutilizzabile per via del bug 2000, i rispettivi compiti non potrebbero essere svolti. La cosa può non rivelarsi così grave per aziende isolate, il cui campo di azione è limitato, o le cui sorti economiche (proprie o altrui) non dipendono da ritardi (peraltro già ampiamente previsti) di qualche settimana. Se però ci spostiamo nel campo dei servizi, nel campo economico e soprattutto nel campo medico, le conseguenze possono riguardare perdite economiche ingenti o addirittura perdite umane, e la cosa si fa seria. Possiamo pensare ad una serie di esempi, iniziando dalle carte di credito la cui scadenza è in genere di due o tre anni. Se i computer non riconoscessero la scadenza di una carta, o la riconoscessero come negativa, è come se quei soldi non si possedessero affatto (è anche per questo che uno dei consigli più dati riguarda il ritiro di ingenti quantità di soldi rigorosamente cartacei). Ugualmente, se un sistema di controllo non reputasse più valida la data di aggiornamento manutenzione di un macchinario per via del bug 2000, ne potrebbe bloccare automaticamente il funzionamento. Se infine un dosaggio di un medicinale venisse fatto in base all'età del paziente, e questa risultasse ultracentenaria per il bug 2000 anzichè infantile, le conseguenza potrebbero essere fatali. Un ulteriore problema, certamente non da poco, è rappresentato dai sistemi che hanno codifiche in hardware e dai cosiddetti sistemi embedded. Non siamo ancora alla lavatrice che si ferma da sola, ma se un sistema di questo tipo accusasse il bug 2000 allora non si potrebbe fare altro che sostituirlo, perchè le modifiche non sono possibili. E trovare l'errore in tali sistemi può rivelarsi molto più difficile di quelli in software.

Questo ed altri scenari sono stati presi in considerazione da diversi osservatori ed esperti, e ovviamente le più autorevoli riviste, da Scientific American a BYTE, del campo tecnico scientifico se ne sono occupate. In particolare quest'ultima, nella versione tradotta in Italia come BYTE Italia, ha riproposto uno degli articoli più interessanti sull'argomento, ben fatto ed esaustivo. Ad esempio la Timeline dell'intorno 2000 è di sicuro impatto, e coglie anche alcuni aspetti più "singolari" dell'intera vicenda. Estratti di quell'articolo, insieme ad alcune nostre osservazioni ed a sezioni della stampa internazionale,  sono riproposti di seguito.
In generale quello che stanno facendo le aziende, le banche, le pubbliche amministrazioni, gli ospedali, i privati, ecc. per arginare la prevista marea di errori dovuti al passaggio di millennio è ritenuto sufficiente, insufficiente, o discreto a seconda delle sfaccettature e della gravità del problema. Se ad esempio la maggior parte delle banche dichiara di aver preso sufficienti contromisure, bisogna vedere Paese per Paese se la qualità di queste misure è conforme allo standard minimo richiesto. Lo stesso discorso vale per le aziende, nel campo dei servizi come in quello delle infrastrutture. In Italia, ad esempio, alcuni osservatori denunciano un ritardo nel prendere le adeguate misure preventive per alcune aziende, specialmente le piccole e medie imprese. In altri casi, come quello di alcune pubbliche amministrazioni, ci sono delle situazione ottimali, ma forse solo perchè il parco software è più recente.

Un caso a sè sembra riguardare i privati, che, in Italia ma anche in altre parti del mondo, relativamente ai sistemi personali ed all'anno 2000, appaiono sostanzialmente indifferenti al problema. E' vero che anche se il nostro computer dovesse avere dei problemi i primi giorni del 2000 ciò non costituirebbe un danno per la collettività, ma lo stesso non può purtroppo dirsi per il computer della centrale Enel vicina, piuttosto che quella Telecom, per le centraline della segnaletica stradale, e così via. Nessuno può dirvi con esattezza cosa succederà alla mezzanotte del 31/12/1999 e i primi giorni del nuovo millennio, quindi è buona norma, anche per chi non ha aziende cui pensare, prendere lo stesso le misure necessarie per non trovarsi in situazioni incresciose.
Tra queste ricordiamo un breve elenco di cose da sapere o da fare per il periodo fine '99 inizio 2000:

  • Computer e informazioni personali
    • Fate un backup dei votri dati, eventualmente stampate ricevute, bollette, rubriche, dati riservati o importanti che doveste avere in formato elettronico.
    • Controllate il software con qualcuna delle molte utility disponibili.
  • Sicurezza
    • Banca e bancomat: controllate con esattezza il vostro conto in banca e stampate tutto, prima e dopo il 2000. Fatevi rilasciare dalla banca estratti conto cartacei e firmati a mano. Ritirate dei soldi contanti prima di dicembre '99 perche' sara' quasi certo un attacco ai Bancomat.
    • Carte di credito: considerate che potrebbero essere inutilizzabili nei primi giorni del 2000.
    • Borsa: controllate se nel vostro pacchetto azionario ci possano essere aziende che avranno danni dal bug dell'anno 2000. Attenzione al fatto che saranno quasi certe ondate di panico nelle maggiori Borse nel dicembre '99.
    • Password: verificate che le password del computer e dei posti di lavoro non scadano nel 2000.
    • Reti: Considerate che le reti, compresa Internet anche se in parte, potrebbero smettere di funzionare, o funzionare ma a scartamento ridotto in condizioni di pesante sovraccarico.
  • Servizi
    • Attenzione ai servizi Gas, Acqua, Elettricita' e Telefono perche' sono tutti soggetti a rischio anno 2000. Preparatevi a poter avere il necessario confort anche con un temporaneo blocco di questi servizi.
    • Accaparramento: negli ultimi giorni del '99 e' quasi certo che vi sara' un accaparramento di generi di necessita', cibo, combustibili e farmaci in testa.
  • Festa di fine anno del 31 dicembre 1999
    • Evitare di trovarsi in luoghi chiusi o senza possibilita' di una veloce uscita in caso di panico o di mancanza di luce.
    • Trasporti 1: Non allontanatevi troppo dalla vostra abitazione o comunque dalla vostra auto. Aspettate poi per tornare a casa, poichè le centraline dei semafori e quelle dell'illuminazione potrebbero non funzionare. Se proprio volete mettervi in viaggio i primi momenti del nuovo millennio, usate la massima prudenza.
    • Trasporti 2: attenzione agli annunci delle compagnie aeree, delle agenzie di viaggio ed eventualmente della pubblica sicurezza riguardo i trasporti a cavallo dei due millenni.

Soluzioni e procedure di conversione

«La nave è la vostra azienda, l'iceberg è il sabato nero del primo gennaio 2000. La buona notizia è che potete vederlo arrivare, la cattiva è che siete in rotta di collisione, la peggiore è che non avete più il tempo di virare.»

Così inizia un articolo di BYTE tradotto su BYTE Italia di Luglio '98 sulla situazione relativamente al problema del cambio di data del nuovo millennio. L'articolo e' esaustivo ed e' affrontato in modo sistematico, con soluzioni e osservazioni da parte di esperti del settore, quindi ne raccomando la lettura (potete vedere i siti www.byte.com o www.byteitalia.com).

BYTE, insieme ad altri osservatori ed esperti internazionali ed anche noi di BETA, fa notare che il tempo stringe, e che per molte soluzioni questo tempo semplicemente non c'è più. La scelta, in questo caso, può essere solamente la classica pezza.

In ogni caso, le soluzioni al problema anno 2000, ovviamente, ci sono. Se finora leggendo l'articolo siete saltati sulla sedia immaginando catastrofi mondiali dovute al bug probabilmente potete tranquillizzarvi. Molti stanno già prendendo provvedimenti e non solo le aziende ma anche le istituzioni, pubbliche e private, si sono mosse per affrontare il problema. A grandi linee le principali procedure per risolvere il problema sono due:

  • Modificare le date da 2 a 4 cifre ricompilando il software e cambiando sorgenti e dati.
  • Scegliere un anno di riferimento ed effettuare il “windowing” tra due periodi.
Attualmente la seconda soluzione è maggiormente utilizzata, ma gli esperti raccomandano più la prima, in quanto elimina alla radice il problema, anche se introduce effetti collaterali significativi e richiede maggiore tempo. La prima procedura modifica il codice sorgente dei programmi. Vi sono molti strumenti che setacciano i sorgenti alla ricerca di date trattate con anno di due sole cifre, e anche se la loro percentuale di successo non è del 100%, in genere hanno buoni risultati. Modificando sorgenti programma ovviamente bisogna eseguire una serie di ricompilazioni, ad esempio per tutti gli object modules, e questo costituisce un problema non da poco. Infatti, sorgenti creati e compilati ad esempio n anni fa (magari in COBOL), se modificati, possono non essere più ricompilabili oggi perchè semplicemente il compilatore non li accetta più. Quindi si rendono necessarie altre modifiche (spesso onerose) per farli "rientrare" nelle specifiche dei compilatori odierni. Inoltre, modificando campi data, per l'anno, da 2 a 4 cifre, bisogna controllare e modificare anche tutte quelle strutture e quei moduli che dipendono da essi o che sono demandati a rappresentarli.

Il secondo metodo è concettualmente più semplice, e nella maggior parte dei casi richiede anche meno modifiche al codice, ma è più "fragile". Si sceglie con attenzione un anno cardine, tipicamente un valore compreso tra 30 e 45, e si considerano tutte le occorrenze di anni minori di questo valore come appartenenti al 2000 e quelle maggiori come appartenenti al 1900. Ma anche questo approccio pone diversi problemi: ad esempio il passaggio di dati tra sistemi che utilizzano due diversi anni cardine, oppure dati che si riferiscono a 20 proprio per dire 1920, che hanno una portata superiore al valore di windowing (magari secolare, come date di nascita), ecc.

Pe entrambi vale poi la famosa regola aurea della programmazione: ogni volta che si effettuano modifiche ai programmi si introducono una serie di nuovi errori, che vanno controllati (debug) ed eliminati. E questo richiede tempo, che oltre ad essere la variabile in gioco è anche quello di cui non disponiamo.

In questa tabella sono elencate le principali soluzioni al bug dell'anno 2000. Nelle prime due colonne di sinistra sono riportati titolo e tempo necessario ad attuare le procedure di aggiornamento, mentre nella colonna di destra si da' un voto alla validita' di tali procedure, dal massimo (eccellente, data in pratica solo alla soluzione dell'ampliamento dell'anno nei dati) al minimo (scarsa).

Soluzione Mesi Prestazioni/Affidab.
Ampliamento dell'anno nei dati [40] eccellente
Ampliamento dell'anno nel software [36] ottima
Pacchetti commerciali compatibili [12] ottima
Codifica degli anni in binario [20] buona
Duplicazione dei database [36] buona
Riscrittura delle applicazioni [30] abbastanza buona
Intercettazione degli anni [6] mediocre
Utilizzo di un anno cardine [16] mediocre
Slittamento degli anni [14] scarsa
Sistemi manuali [12] scarsa

(fonte: BYTE, 1998)

Dall'articolo citato ad inizio paragrafo, vediamo adesso la progressione cronologica degli eventi che caratterizzeranno il periodo in esame.

Timeline

(fonte: BYTE, 1998)
1999
Gennaio
  • Le proiezioni ad un anno vanno in errore
  • Si diffondono le assicurazioni per sinistri e danni dovuti all'anno 2000
  • 1° gennaio: in Europa inizia il passaggio all'Euro
  • Aprile
  • 1° aprile: inizia l'anno fiscale 2000 per lo stato di New York - Inizia l'anno fiscale di Canada e Giappone
  • 6 aprile: inizia l'anno fiscale 2000 della Gran Bretagna
  • Giugno
  • Molti asili nido iniziano a spedire gli avvisi di frequenza ai centenari
  • Luglio
  • Falliscono le previsioni a sei mesi
  • 1° luglio: inizia l'anno fiscale in 46 stati americani
  • Agosto
  • Il GPS (Global Positioning System) passa dalla settimana 1024 alla settimana 0001
  • Settembre
  • 9 settembre: la data "9/9/99" è spesso usata come data senza significato
  • Ottobre
  • falliscono le previsioni a tre mesi
  • 1° ottobre: inizia l'anno fiscale 2000 del governo federale americano
  • 3 ottobre: falliscono le previsioni a novanta giorni
  • Dicembre
  • falliscono le previsioni ad un mese
  • "12/99" potrebbe essere un indicatore
  • I generatori elettrici si esauriscono; inizia l'accaparramento
  • 2 dicembre: falliscono le previsioni a trenta giorni
  • 31 dicembre: usata a volte come data per indicare una cosa che non scade mai.
  • 31 dicembre: I nastri IBM sono marcati 99365: oggi potrebbero scadere tutti insieme
  • 31 dicembre: Venerdì funesto, la più grande massa di vendite nella storia delle Borse
  • 31 dicembre: lunghe file ai Bancomat
  • 31 dicembre: il supporto per molti software cessa oggi
  • 2000
    Gennaio
  • 1° gennaio: le password dei computer scadono lasciando fuori anche gli amministratori dei sistemi
  • 1° gennaio: si fermano i sistemi non compatibili, come gli allarmi antincendio, gli impianti di riscaldamento, le reti di distribuzione dell'energia, lo smistamento e la fatturazione delle telefonate, l'assistenza medica, la vigilanza dell'esercito, il controllo del traffico aereo, una parte di Internet e gli scambi commerciali; inizierà un lavoro cartaceo fatto a mano, cominceranno ad interrompersi le catene di rifornimento; ci saranno le prime vittime; inizieranno le prime liti giudiziarie.
  • 3 gennaio, lunedì: primo giorno di lavoro dell'anno 2000 negli Stati Uniti
  • 4 gennaio, martedì: primo giorno di lavoro dell'anno 2000 in Gran Bretagna
  • 8 gennaio, sabato: si tiene il primo party "ce l'abbiamo fatta"
  • Febbraio
  • 29 febbraio: alcuni fra i software più diffusi ritengono che questa data non esista
  • 2001
  • 1° gennaio: inizia il terzo millennio ed il ventunesimo secolo
  • Possibili problemi in gennaio 2000

    Molti problemi potrebbero avere la caratteristica di essere invisibili, ovvero i sistemi potrebbero funzionare bene ma produrre informazioni errate.

    Componenti con possibilità di essere affetti da problemi

    In ordine di possibilità di guasti
    • macchinari hardware, mainframe, minicomputer, microcomputer, personal computer
    • componenti software in hardware, chip in genere
    • centrali elettriche, impianti idraulici, centralini telefonici, sistemi antifurto

    Enti e società con possibilità di essere affetti da problemi

    • assicurazioni, prenotazioni
    • societa' aeroportuali, aeroporti, sistemi di computer degli aerei

    Siti, Riferimenti, Notizie e bibliografia

    Ovviamente il materiale presente su Internet riguardo il bug dell'anno 2000 e le sue possibili soluzioni è sovrabbondante. Vi sono siti specializzati e siti generalisti, con link oppure isolati, corredati di grandi firme oppure assolutamente anonimi. A dire il vero si rischia una sovraesposizione di informazioni. Per cui abbiamo cercato di selezionare alcuni tra i siti che rispondono a piu' domande per il mondo dell'hardware e del software e che in qualche modo assicurano una "serietà" dipendente, a volte, da un grande nome (è il caso di IBM, o di Intel) oppure da un insieme di società riunitesi per fronteggiare il Y2K bug.


    IBM Anno 2000
    in italiano, dedicato alla piccola e media impresa

    IBM Year 2000
    in inglese, di riferimento generale, include il Year 2000 Road Map

    Intel
    Il punto di vista hardware. Raccomandato.

    Yahoo!
    Un fascicolo omnicomprensivo del problema anno 2000. Novita' aggiornate da molte fonti

    ZDNet Y2K
    Articoli e firme sul bug 2000, e la selezione di novita'

    Y2K News
    Notiziario, elettronico e cartaceo, delle informazioni correlate al bug anno 2000

    Y2K Today
    Articoli e notizie in una rassegna giornaliera

    Year 2000
    Sito con raccolte di articoli, selezioni stampa e notizie

    Microsoft
    Come risponderanno i prodotti della Casa di Redmond al problema anno 2000? Qui (forse) le risposte.

    Y2K*
    Sito per sito gli Y2k*.* registrati ad InterNIC

    Notizie, articoli

    Incubi Usa / Le carte di credito a rischio millennio

    La plastica e il baco spaventano Greenspan
    (Umberto Venturini, Corsera 11.1998)

    L'incubo dell'Y2K, il morbo che si annida nei software di milioni di computer sparsi per il mondo e che impedisce loro di riconoscere le date successive al 31 dicembre 1999 (noto anche come baco del millennio), sta tormentando Alan Greenspan. Il quale teme che l'America, abituata ormai da decenni a funzionare con le carte di credito, si paralizzerà se il contagio colpirà anche i computer che regolano i pagamenti della moneta di plastica.

    Così il presidente della Banca Centrale Usa ha decretato la stampa di una riserva di emergenza anti Y2K di 50 miliardi di dollari (85.000 miliardi di lire) di banconote. 100 milioni di famiglie americane avranno quindi a disposizione 500 dollari (850.000 lire) ciascuna per tirare avanti, nei primi giorni del 2000, nell'eventualità che l'immensa macchina finanziaria al servizio dell'economia dei consumi (ossia i due terzi del prodotto interno lordo USA) dovesse incepparsi.

    Nell'eventualità le cose si mettessero male e bar, ristoranti, alberghi, negozi non potessero accettare pagamenti con carte di credito, allora scatterebbe il piano di emergenza. Centinaia di autocarri blindati noleggiati dalla Fed partirebbero dai centri di distribuzione predisposti strategicamente in tutti gli Stati Uniti per portare le banconote alle banche. E queste le metterebbero a disposizione dei loro clienti.

    Libri

    Time Bomb 2000 La bibliografia è vasta come era da aspettarsi, e potrà essere approfondita ad esempio consultando Amazon.com a questo indirizzo. Purtroppo sembra che la maggior parte del materiale sia disponibile solo in lingua inglese. Una eccezione è rappresentata dal manuale elettronico IBM che raccomandiamo, ed è leggibile e scaricabile (in formato PDF). Un libro lo segnaliamo ugualmente ed è "Time Bomb 2000", di Edward e Jennifer Yourdon. Non è particolarmente tecnico, ma non vi è bisogno di esserlo per spiegare con cura e serietà quali sono le conoscenze del momento sul problema anno 2000. Il libro risulterà divulgativo, e tra informazioni e consigli, molto utile. Potete valutarne l'acquisto tramite la libreria online Amazon.com oppure, visitando il books di BETA, consultare altri scaffali virtuali per argomenti correlati.

    Conclusioni

    Quando proverete il vostro computer sul bug-2000, portando avanti la data, ricordatevi poi di tornare nel nostro secolo!

    Come avrete notato, non solo il problema dell'anno 2000 riguarda molte aziende e quasi tutti i sistemi informatici che non siano stati completamente aggiornati negli ultimi due anni, ma anche voi, la vita di tutti i giorni e cio' che accadra' tra gli ultimi giorni del 1999 e i primi del 2000. Tenetene conto. La cosa migliore è che, senza creare inutili allarmismi, diffondiate comunque le informazioni anche tra i "non addetti ai lavori".

    Non vi ho parlato delle centrali nucleari, che a seconda dei macchinari installati possono essere a rischio 2000 anche loro.
    Ma forse è meglio così: da un lato gli esperti assicurano che le centrali sono sicure ed è in corso il loro aggiornamento per il baco del millennio (la cosa ovviamente non ci tranquillizza affatto, ma tant'è), dall'altro sapere che molte centrali nucleari dell'ex Unione Sovietica, vecchie, obsolete e malridotte per mancanza di finanziamenti, da un momento all'altro possono scoppiare non rappresenta certo uno scoop, 2000 o no.

    Se state pensando che senza i computer tutto cio' non sarebbe successo e magari la nostra vita sarebbe molto migliore, aspettate a quando ci rileggeremo su questa stessa rubrica (sempre se ci sarà ancora) nel 2038. <grin>

    Alla prossima!


    Luciano Giustini è articolista e fondatore di BETA; è raggiungibile su Internet tramite la redazione oppure all'indirizzo l.giustini@beta.it.

    Copyright © 1998 Luciano Giustini, tutti i diritti sono riservati. Questo Articolo di BETA, insieme alla Rivista, è distribuibile secondo i termini e le condizioni della Licenza Pubblica Beta, come specificato nel file LPB.


    BETA Rivista | Copertina | Sommario | InternetID | Informazioni | Browser
    BETA Sul Web: http://www.beta.it

    Copertina Sommario Internet ID Informazioni Browser
    Home Page BETA Rivista Indice Articoli Beta Editore, articoli e pubblicazioni Beta2, contributi esterni BETA Logo, siti premiati Premio BETA Logo Licenza Article/Document Definition Format Promozione Pubblicita' Mirroring Mirror Ufficiali BETA Navigatore NavSearch Novità BETA Stampa/Press Releases BETA Settori online Eventi Public books (libreria) Settori riservati Redazione