Istigazione alla pirateria

Una cliente è in possesso legittimo delle licenze d’uso di un costoso e utilissimo programma di CAD tridimensionale. Il sistema di gestione delle licenze di questo programma risiede su un server oramai dismesso; viene quindi richiesta al fornitore la procedura per migrare il programma di gestione delle licenze su un altro server.

Arriva la mail con una procedura apparentemente semplice e il nuovo file delle licenze. La prima sorpresa è la scoperta che il file delle licenze è legato al MAC address della scheda di rete. Oltre all’opinabilità di una scelta simile, ci accorgiamo presto che dobbiamo disabilitare la ridondanza delle due schede di rete del server, introducendo un insensato single point of failure nel medesimo.

Una volta installato e configurato il software di gestione, ci accorgiamo che nei client il nome del server che gestisce le licenze è disseminato in vari file; poco male: i file hosts e lmhosts sono lì apposta.

Continue reading “Istigazione alla pirateria”

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”