Caropepe: Medico salvato da una Bomba a Tempo

Un bel giorno mi telefonò il proprietario di una ditta di abbigliamento di Valguarnera, villaggio che ha la fama di essere il più sperduto ed arretrato della Sicilia, nel centro dell'isola. L'avevo conosciuto per via di una piccola ditta dei borghi ai piedi dell'Etna sopra Catania, assieme alla quale avevo dato assistenza tecnica al loro sistema informatico per la gestione della linea di produzione.

Dopo essersi fatto riconoscere al telefono, mi fece una balda domanda: "Conosci il sistema Xenix? Sennò, non dobbiamo perdere altro tempo."

Xenix, l'avevo maneggiato in Inghilterra per qualche mese molti anni prima, quindi risposi di sì e, senza aggiungere altro, mi invitò a venire a trovarlo.

Giunto lì coll'autobus, mi portò subito ad incontrare un medico amico suo.

Questo, resosi conto delle possibilità offerte dalla tecnologia, aveva fatto scrivere appositamente per lui un programma per la gestione del suo studio medico: registro dei pazienti, degli esami prescritti e gli esiti, storia dei farmaci prescritti e così via, con cui lavorava da sei anni. Dopo aver chiuso lo studio regolarmente il venerdì, è arrivato il lunedì successivo e, quando ha acceso il computer, è spuntato il messaggio lampeggiante "Attenzione! Ci sono degli errori nei dati!" e a questo punto il programma si bloccava e si rifiutava di andare avanti. Siccome aveva già avuto qualche alterco con il programmatore, ha cercato, come si suol dire nella professione medica, una seconda opinione.

Gli chiesi i dischetti che lui aveva registrato quel venerdì, con una copia di scorta dei dati del programma, misi da parte i dati attuale, ricaricai i vecchi dati dai dischetti, prsumabilmenti buoni, e provai a lanciare il programma. Di nuovo, il programma offrì il messaggio lampeggiante e si rifiutò di fare altro.

Assecondando uno strano sospetto, aggiustai la data di sistema del computer indietro al venerdì fatidico, lanciai il programma e tutto andò bene come doveva. Le finestre programma si aprirono, le cartelle dei pazienti si poterono pescare e tutto sembrava funzionare. Tolsi la mia copia dei dati dei dischetti, ripristinai i veri dati attuali, rilanciai il programma e di nuovo tutto andò bene. Avanzai l'orologio del computer fino alle ore 23:55 della domenica e il programma continuava a funzionare, ma ecco che, appena passata la mezzanotte, spuntava invece il messaggio lampeggiante "Attenzione!!! Ci sono degli errori nei dati!".

Feci notare questo strano comportamento della macchina al medico, e lui, dopo un'iniziale imcomprensione, divenne rosso in faccia e si mise a gridare ed inveire contro il programmatore. "Nel campo informatico, questo si chiama una `bomba a tempo'", lo informai. "Ci saranno due righe del programma che controllano la data e quando supera un certo giorno, dà questo messaggio invece di funzionare".

Allora, che cosa sarebbe dovuto succedere? Il medico avrebbe dovuto chiamare il programmatore a Catania, che sarebbe venuto con una nuova versione del programma (possibilmente con un'altra `bomba a tempo' dentro per una data più in là, il programmatore avrebbe raccomandato al medico l'importanza di fare delle copie di scorta dei dati e a trattare bene i computer, si sarebbe preso il suo milione di corrispettivo, e sarebbe tornato a Catania".

Il medico, calmatosi un poco, compose il numero di telefono del programmatore al telefono e mi passò la cornetta. Spiegai al programmatore le prove che avevo fatto e lui si mise a strillare in una voce strangolata "Ma io non ho messo una bomba a tempo nel programma". (Ma chi ha parlato di bombe a tempo...?)


Ma, trovato il perché del disguido, ci rimase un bel problema. All'interno del programma scritto da questa persona erano registrati gli ultimi sei anni del lavoro del medico, il programma esistente si rifiutava di funzionare se la data fosse oltre quella domenica e, naturalmente, non potevamo contare su alcun aiuto da parte del programmatore. Ci vennero in aiuto tre belle coincidenze:

Il programma era stato scritto in un linguaggio commerciale che si chiama "Informix 4GL", linguaggio barbaro e menomato in cui avevo già dovuto scrivere un sistema per la gestione dei difetti all'interno dei programma per una ditta a Rimini qualche anno prima.

Il programmatore ha lasciato sul computer tutti i programmi per lo sviluppo di programmi in questo linguaccio. Anche se il suo programma stessa era presente solo sotto una forma non modificabile da noi, questo ambiente di sviluppo ci dava la speranza di poter scucire la base dati interna del programma per tirare fuori i dati sui pazienti.

La ditta delle falde dell'Etna si occupava, fra l'altro, di un programma per la gestione degli studi medici, scritta da loro in stretta collaborazione di vari medici clienti loro, perlopiù di una qualità elevata.

Al medico insegnammo ad impostare la data di sistema, e per una settimana nel suo studio fu sempre venerdì. Siccome le ricette scadono dopo una settimana, i pazienti dovettero andare sempre più in fretta a ritirare i prodotti in farmacia, arrivando alla fine al dovere di andare quel giorno stesso.

Intanto siamo riusciti a prelevare i dati dal programma vecchio, masticarli per caricarli in una copia del loro programma e a consegnare al medico un intero nuovo sistema di programmi, girando sui suoi stessi computer e già contenente tutta la storia delle sue centinaia e centinaia di pazienti.

Da allora ho perso i contatti con tutte le persone coinvolte. Seppi che il medico depositò presso i carabinieri uno dei suoi computer con una copia del vecchio programma, ma non credo che la faccenda sia arrivato ad un processo. Mi sono dimenticato (subito e di proposito) il nome del programmatore di Catania, la compagnia della piccola ditta delle falde dell'Etna si è sgretolata, ma speriamo che il medico stia continuando a lavorare felicemente con quel bel programma nato alle falde dell'Etna.


Martin Guy <martinwguy@gmail.com>