da Ippolita, Luci e ombre di Google, Feltrinelli, Milano, 2007 – Appendice I
La fine del mondo in un biscottoLa data di scadenza di Google è il 17 gennaio 2038. Questa data è
interessante perché è giusto due giorni prima della fine del mondo. Il
19 gennaio 2038 è una data data essenziale per tutto il mondo POSIX, che
comprende tutti i sistemi operativi derivati dal sistema UNIX
(GNU/Linux, BSD, Solaris, ecc.) e tutti i protocolli di rete UNIX style
(http, ftp, etc). Sui sistemi POSIX il tempo è regolato per ragioni
storiche dal numero di secondi intercorsi dal primo gennaio 1970.
L’unità di misura per questo numero è un “intero segnato”, valore che
nell’informatica occupa in memoria 32 bits.
Se un programmatore crea una variabile di tipologia intero segnato per
memorizzare un valore numerico, questo può essere come minimo
-2147483648 e come massimo 2147483647. Un numero molto grande, ma che
diventa un valore piccolissimo se lo trasformiamo in secondi. In 32bits
infatti ci stanno appena 136 anni.
Quando Ken Thompson, quasi per gioco, inventò lo Unix, mai avrebbe
immaginato di rivoluzionare a tal punto l’informatica e soprattutto mai
avrebbe pensato che una serie sue scelte (il filesystem, l’ora, la
codifica caratteri, le chiamate a funzione, il linguaggio di
programmazione, ecc.) sarebbero diventate legge per ogni programmatore
del globo da lì a brevissimo. Thompson decise nel 1972 che la data 0 dal
suo sistema operativo sarebbe stata il 1 gennaio 1970.
2147483647 secondi dopo il 1 gennaio 1970, sarà esattamente il 19
gennaio 2038 alle 3:14 di mattina, ultimo secondo del mondo Unix, di
internet (che funziona grazie a protoccoli Unix) e dei principali server
del globo (che utilizzano sistemi operativi derivati da Univx). Dopo
quel secondo saremo proiettati nel 13 dicembre 1901 alle 20:45.
Sicuramente questo sarà un problema da gestire da qui ai prossimi anni e
richiederà un cambio epocale nella gestione del tempo e di tutto il
resto nei sistemi Unix. Sicuramente un problema un po’ più serio e
fondato del tanto decantato “Millennium bug” nel passaggio dal 1999 al 2000.
La data di scadenza di Google è quindi la data massima impostabile in un
cookie comportando che il browser dei nostri sistemi operativi, non
rimuoverà mai quel cookie e le informazioni in esso salvate. Per un
approfondimento del problema delle date, si vedano:
www.2038bug.com/index.html
www.iee.org/Policy/Areas/SCS/problemdat...
en.wikipedia.org/wiki/Unix_epoch~~