Mille e non più mille

Finirà il mondo? Arriveranno gli alieni? I Maya? I Vulcaniani? O i Vorlon?

Noi informatici, che quanto a sfighe non ci facciamo mancare mai nulla, abbiamo una serie di fini del mondo da far invidia ai più incalliti catastrofisti.

Innanzi tutto il mondo per noi è iniziato il 1/1/1900, il 1/1/1970 o il 1/1/1980, a seconda che si usi il sistema di date di Excel, di UNIX o del BIOS dei PC. La differenza tra noi e i creazionisti è che abbiamo i numeri interi con segno, quindi possiamo permetterci di andare in negativo. Prerogativa dell’informatica.

Terminati gli anni ’80 sono iniziati i problemi. Casualmente il 2/1/1990 è stato il giorno di inizio del mio primo contratto di lavoro dipendente. Le disgrazie non capitano mai da sole.

  • 1/1/1992 Gli Olivetti M24  tornano al 1984, non per riascoltare le hit del periodo ma perché il loro orologio prevede solamente un contatore di 4096 giorni a partire dal 1/1/1984.
  • 9/9/1999 Sull’onda del futuro problema dell’anno duemila, qualcuno sostiene che i sistemi basati su AS/400 si fermino in questo giorno perché nelle maschere di input viene utilizzato il 9 come marcatore del numero. Non è successo nulla.
  • 13/9/1999 La Luna si stacca dalla Terra, ma non è colpa dei computer. Una volta tanto.
  • 12/1999 In Inghilterra 20.000 POS presentano dei problemi a causa di un errore legato all’anno 2000. È uno dei tanti casi di Y2K anticipato riportati dalla cronaca.
  • 1/1/2000 Qualcuno sostiene che il nuovo millennio inizia nel 2001, ma altri 365 giorni di spaccamento di marroni di millenaristi sarebbe troppo, quindi il millennio inizia in questa data e basta. Non è dato sapere se tutto abbia funzionato tranne piccoli particolari trascurabili grazie agli sforzi degli informatici o nonostante i loro interventi. Meglio così.
  • 1/1/2001 I duri e puri festeggiano la nascita del nuovo millennio dopo che per un anno hanno dimostrato che il mondo si sbagliava. Purtroppo nessun bug se li è portati via.
  • 18/3/2003 Chi ha usato l’utility apposita per spostare la finestra delM24 in avanti di altri 4096 giorni ha una brutta sorpresa.
  • 1/1/2010 Si ripresenta, in scala ridotta, il problema del 2000 grazie a qualche programmatore troppo poco professionale che ha spostato il problema di 10 anni in avanti. Tanta letteratura e tanta bella teoria per nulla. Gli anni si esprimono con numeri di quattro cifre. Punto.
  • 12/12/2012 Presunta fine del computo dei giorni del calendario Maya (ma qualcuno sta già dicendo che potrebbe non essere questa la data), una popolazione che aveva costruito un’aritmetica complessa sulla base della superstizione che, se non ci fossero stati numeri per indicare i giorni, il mondo sarebbe finito. Sono finiti male prima i Maya della terra su cui poggiavano i piedi e, comunque, il computo degli anni prevede vari sistemi concentrici di conteggio per scongiurare questo pericolo. Tanta aritmetica per finire sconfitti dai conquistadores spagnoli, ne è valsa la pena? Visto il trambusto che c’è ora su questa superstizione e quanto ci sta spaccando i marroni, forse sarebbe stato meglio se gli Spagnoli fossero arrivati prima.
  • 5/9/2015 Le date delle macchine Apollo/HP andranno in overflow.
  • 1/1/2020 Speriamo che nessun programmatore abbia fatto un’altra volta il furbo.
  • 1/1/2028 I furbastri che hanno risolto il problema dell’anno 2000 usando una finestra di 28 anni si riveleranno tali, saranno smascherati e i loro nomi citati in colorite maledizioni.
  • 31/12/2031 Ultimo giorno in cui i Palm Pilot potranno mostrare la data esatta.
  • 7/2/2036 06:28:16 UTC L’ultima data esprimibile con l’attuale protocollo ntp, che usa un offset a 64 bit rispetto al 1/1/1900, ma solamente 32 vengono utilizzati per il computo dei secondi. Ma nel 2036 ci sarà ancora qualcuno che conterà a 32 bit?
  • 19/1/2038 03:14:07 UTC L’ultima data esprimibile tramite i 32 bit con segno dell’epoca UNIX, il cui inizio è il primo gennaio 1970. Diversi tipi o derivati di UNIX hanno diverse date di fine epoca e comunque nel 2038 32 bit saranno ridicoli.
  • 31/12/2049 Dopo questa data i programmi scritti in Clipper 5 potrebbero avere dei problemi. Se li state usando ancora in questa data, avete voi dei seri problemi.
  • 31/12/9999 Ultima data esprimibile con un numero di anno a quattro cifre.
  • 31/7/31086 02:48:05.47 Ultima data esprimibile con le versioni attuali di OpenVMS e Mac OSX. Steve Jobs ha già previsto un keynote per l’inizio del 31086 per tranquillizzare gli utenti e annunciare un nuovo magico prodotto che…
  • 17/8/292278994 07:12:55 UTC Ultima data esprimibile in Java
  • 4/12/292277026596 15:30:08 UTC Ultima data esprimibile tramite i 64 bit con segno dell’epoca UNIX.
  • 18/4/5391559471918239497011222876596 16:02:08 UTC Ultima data esprimibile tramite i 128 bit con segno dell’epoca UNIX. È un lunedì.
  • 25/1/1834652618499343590337415746119712509834124421548072260582352567003896 17:06:08 UTC Ultima data esprimibile tramite i 256 bit con segno dell’epoca UNIX. È una domenica.

Altre date strane le trovate qui.

In ogni modo, auguri di buon 0x7db!

Autore: Luigi Rosa

Consulente IT, sviluppatore, SysAdmin, cazzaro, e, ovviamente, geek.

3 pensieri riguardo “Mille e non più mille”

  1. Bellissimo post. Ne approfitto per segnalare i miei due personali casi di bug della data.

    Una macchina degli anni 70 – 80 circa, una robina con Unix, 5 MB di disco rigido, e 16 porte seriali per i terminali, dismessa da tempo ma ancora in grado di funzionare, sulla quale girava un vecchio programma di preventivazione per impianti elettrici, dopo il 2000 ancora funziona perfettamente e le date sono giuste sia nel sistema che nel programma.

    Un programma scritto originariamente in Clipper da non so chi, modificato da me negli anni 90, e poi rifatto in parte in Delphi e in VBA, alla data del 2000 ha cominciato a produrre numeri di pratica contenenti “millenovecento-cento” (19100GGMM) anziche` 2000GGMM. Questo non gli impedisce di funzionare tutt’ora, al millenovecentocentoundici.

    Novell Netware 3.x, in uso del medesimo cliente all’epoca (ora c’e` Linux) ha continuato anche esso a funzionare perfettamente, salvo che le date sono anche esse indicate come “millenovecentocento” (ad esempio, ultimo login: 3/1/19100)

    In generale nel mio personale pezzetto di mondo il danno semplicemente non c’e` stato, o e` stato limitato a micro-problemi non dannosi. La cosa fantastica e` che il piu` vecchio di questi sistemi e` quello che non ha dato nessun problema in assoluto.

    Ora aspetto il 2038, sperando di arrivarci ancora vivo.

Spazio per un commento