Annunci desueti

Durante il volo e previa approvazione del personale di volo, possono essere utilizzati […] computer non collegati con stampanti o con lettori di compact disc.

Questo è uno stralcio dell’annuncio che gli assistenti di volo ripetono durante il rullaggio di ogni volo e che quasi nessuno ascolta, almeno sui voli di linea a breve raggio.

Ho un vago ricordo di stampanti a batteria da collegare ai computer portatili o integrate nei portatili stessi (sì, hanno fatto anche quelli). Ogni volta che sento quell’annuncio mi vedo un distinto tizio in giacca e cravatta che estrae dal taschino una stampante laser dipartimentale a colori e una risma di fogli A4 proprio come Larry Laffer riponeva il bicchierone di soda in Larry II. Credo che a bordo l’unica stampante che possano vedere i passeggeri (posto che ne esistano altre) sia quelle dei POS utilizzati dagli stessi assistenti di volo per tentare di vendervi mercanzia a prezzi imbarazzanti, ammesso che lo facciano ancora nei voli internazionali. I POS sono da considerare computer collegati a stampanti? MAH!

Continue reading “Annunci desueti”

To update or not to update?

Windows Update, yum, WSUS… Il dilemma colpisce sempre il SysAdmin: aggiornare o non aggiornare?

Se non aggiorniamo, non introduciamo nuove variabili incognite nel sistema e continuiamo alla via così, navigando le acque sicure che nascondono però scogli molto insidiosi. Se aggiorniamo, rischiamo di trovarci davanti ad un sistema inattivo al primo reboot.

Va puntualizzato che il buon SysAdmin deve saper affrontare un disaster recovery senza problemi, quindi in caso di errori fatali conseguenti gli aggiornamenti si deve poter tornare alla situazione precedente senza traumi. Se poi stiamo utilizzando vmWare, il tutto si risolve in un paio di click e un reboot della macchina virtuale.

Certo, Redmond non ha una storia di aggiornamenti senza problemi, basti pensare ai service pack pari di Windows 2000 Server, alle conseguenze del Service Pack 2 di XP. Più fortunati sono i SysAdmin Linux (non quelli conservatori che utilizzano ostentatamente sistemi legacy) che possono contare su una maggior apertura delle informazioni.

Continue reading “To update or not to update?”

Messaggi di errore

BSOD durante la cerimonia di apertura delle Olimpiadi (fonte: Gizmodo)Si dice che ogni programma non banale contenga almeno una variabile, una struttura di controllo e un baco. Si dice anche che per i programmi prodotti da una ben nota software house questa affermazione sia più vera che per altre software house.

Nei tempi eroici del Clipper ero membro di un gruppo di sviluppatori che lavorava per un progetto per la pubblica amministrazione. Lo sviluppatore leader del gruppo, da cui ho imparato moltissime cose, aveva creato anche una fantastica routine di gestione degli errori, molto informativa e utile per il programmatore che mostrava una bella schermata rossa con caratteri gialli al manifestarsi dell’errore. Questa funzione manda in visibilio lo sviluppatore perché si accorge all’istante dell’errore anche se è lontano dallo schermo e presenta a schermo una reportistica dettagliata. Tutto bene, finché l’applicativo non entra in contatto con quella particolare zona del Mondo degli Utenti nota come Anteprima Per Il Committente. Murphy, sempre all’erta, ci mette lo zampino e si manifesta un bug durante la demo. Fortunatamente la cosa si risolve con un’abile prestidigitazione sulla tastiera (il Committente manco si accorge di cosa sia successo), ma ci insegna una cosa: gli errori fatali non devono annunciare a oves, boves et universa pecora il fatto che ci sia un baco nel nostro software. Mai.

Continue reading “Messaggi di errore”

Algoritmi e curve temporali

Come programmatore sono sempre stato affascinato dagli algoritmi, specialmente se compatti ed eleganti

Ci sono, però, dei problemi per la cui soluzione non esistono algoritmi efficienti; di contro, per gli stessi problemi, se viene presentata una soluzione, questa è immediatamente e facilmente verificabile come corretta. Prendete, per esempio, una mappa con un sacco di isole e ponti: non esiste un algoritmo efficiente che tracci un percorso per visitare tutte le isole una sola volta, ma se vi viene presentata una soluzione, è facile capire se sia corretta. Un altro problema da un lato più teorico, ma con tremende ripercussioni pratiche è, dato un numero, capire se sia il prodotto di due numeri primi e di quali. Se quest’ultimo problema è semplice con numeri piccoli, non lo è, fortunatamente, per numeri molto grossi. Perché «fortunatamente»? Perché la gran parte di transazioni informatiche crittografate si basa su questo assunto. Se leggete che qualcuno ha trovato un algoritmo per fattorizzare rapidamente numeri di grandi dimensioni, iniziate a preoccuparvi davvero.

Continue reading “Algoritmi e curve temporali”