ho letto rapidamente, alcune cose sono vere e mi hanno creato problemi su alcuni miei script, ma che le giornate non siano necessariamente di 24 ore mi pare veramente discutibile....
- Andrea Mosca
A proposito di assunzioni errate, vi racconto il bug più bello della mia vita: seconda metà degli anni '90, dovevo realizzare per una primaria agenzia di stampa un sito con delle news tematiche. Ero costretto dalle circostanze a usare Lotus Domino Server, il db doveva essere in Lotus Notes, le news pescate da un loro arcaico sistema tipo telescrivente. Con un programmino (non ricordo nemmeno in cosa, forse VB) che stava in ascolto sulla porta seriale prendevo le news via via che arrivavano e le salvavo in singoli file in una directory di buffer, dove poi un job di Notes (in LotusScript!) ogni ora le prelevava, ne faceva il parsing (timestamp, categoria, titolo, testo) e le pubblicava nel db. Qua il primo mistero fu che spariva quasi esattamente il 50% delle news, poi scoprii che la copia di backup del "db" di Notes (contenente anche il codice e i job) era comunque attiva, per cui il suo job girava alternato a quello ufficiale, e trovai lì dentro tutte le news sparite. Una volta andati in produzione, era febbraio, tutto bene per quasi tre mesi. Nella prima settimana di maggio mi chiamano perché non compaiono più le news recenti. Un giorno intero a verificare: il programmino leggeva e scriveva diligentemente le news, il job girava, ma nel db non si trovavano. Esattamente dal primo maggio. Riguardo il parser dello script, che leggendo la data dal formato "15 FEB 1997" la convertiva in "1997/02/15" e così via: FEB=02, MAR=03, APR=04, MAY=05... ma le news riportavano le date in italiano, quindi MAG. In pratica la notazione MMM è identica tra italiano e inglese proprio in quei tre mesi (e anche a novembre), per cui avevo involontariamente inserito un bug a orologeria.
- vic
Andrea ad esempio sulle navi che viaggiano verso ovest e che montano un certo software collegato con gps il clock viene adeguato al passaggio di ogni fuso orario (anche se viaggiano verso est, ma è meno spettacolare).
- miki
@vic anche io ho avuto un problema con un bug a orologeria innescatosi il primo di maggio 2012 causa giorni di febbraio 2012 che erano 29... nel 2011 funzionava perfettamente perchè febbraio aveva 28 giorni... ho dovuto sbatterci parecchio per farlo funzionare di nuovo...
- Andrea Mosca
@miki è vero, il passaggio di fuso orario non l'avevo considerato, forse perchè non mi sono occupato mai di software per navi, ma per semplici aziende che operano sulla terraferma...
- Andrea Mosca
rimane pur vero che, sebbene dal punto di vista di una nave, aereo o oggetto orbitante intorno al pianeta, la giornata può non durare 24h, dal punto di vista *oggettivo* la durata è fissa... poi il calendario gregoriano, invece, è un'invenzione diabolica fatta secoli fa per far impazzire i futuri programmatori
- Andrea Mosca
dal punto di vista oggettivo tipo quando scatta l'ora legale?
- Francesco Mosca
si, a meno che in contemporanea allo scattare dell'ora legale non ci si trovi su una nave che viaggia verso ovest e passa di fuso orario...
- Andrea Mosca