Forum di Libera Discussione. Il Luogo di Chi è in Viaggio e di Chi sta Cercando. Attualità, politica, filosofia, psicologia, sentimenti, cultura, cucina, bellezza, satira, svago, nuove amicizie e molto altro

Per scoprire le iniziative in corso nel forum scorri lo scroll


Babel's Land : International Forum in English language Fake Collettivo : nato da un audace esperimento di procreazione virtuale ad uso di tutti gli utenti Gruppo di Lettura - ideato e gestito da Miss. Stanislavskij La Selva Oscura : sezione riservata a chi ha smarrito la retta via virtuale Lo Specchio di Cristallo : una sezione protetta per parlare di te La Taverna dell'Eco: chat libera accessibile agli utenti della Valle

Non sei connesso Connettiti o registrati

 

Un cappuccino malupino

Condividere 

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso  Messaggio [Pagina 1 di 1]

1
Lucio Musto
avatar
Viandante Ad Honorem
Viandante Ad Honorem
.

Un cappuccino malupino


Cronache di quando il Byte già c'era
ma non sapeva ancora di chiamarsi così



PSg01 era giornaliero, come chiaramente indica la “g” centrale.

Una procedura elaborativa riguardante la gestione delle cambiali presentate allo sconto dai clienti da eseguire quotidianamente, per l’aggiornamento degli archivi. Esecuzione solitamente notturna, per aver pronti i tabulati all’arrivo degli impiegati degli uffici amministrativi.

Quella notte, evidentemente qualcosa era andata storta perché i tabulati erano pieni di errori.

I colleghi degli uffici di controllo se ne accorsero quasi subito e dettero l’allarme: tempestivamente nei modi previsti.
Il nostro CED funzionava abbastanza bene, ma ovviamente di tanto in tanto qualche errore umano sfuggiva o c’era un malfunzionamento delle macchine o qualche altra diavoleria. Nulla di strano, vista la mole enorme di dati che venivano elaborati in poco meno di cento procedure suddivise in circa milleseicento “Jobs”, cioè lavorazioni diverse.

Come “paracadute” erano previsti molti possibili interventi per superare le situazioni di crisi, e procedure di salvataggio e ripristino per garantire la sicurezza e l’integrità delle informazioni.
Dal caso di un errore di programma o guasto di un elaboratore, fino al sabotaggio, all’incendio al terremoto o la distruzione totale dell’edificio ogni possibile accidente era stato analizzato.

Infine c’era il mio ufficio, il X/I detto anche “Ultima Thule”, che aveva fra i suoi compiti istituzionali quella di farsi carico di ogni emergenza che non fosse stata altrimenti prevista.
Qualunque emergenza: piccola o grande che fosse.

PSg01 era dunque uno dei “Jobs” di normale routine lavorativa. Era composto da diciotto programmi, e quella notte andò, inspiegabilmente, a pallino. I tabulati erano sbagliati, assurdamente, incomprensibilmente sbagliati.
E la cosa fu segnalata alla “Gestione” ed alla “Schedulazione” che immediatamente si attivarono per scoprire cosa non avesse funzionato o che errore si fosse verificato.

Prima di pranzo era stato accertato oltre ogni ragionevole dubbio che non si era sbagliato nulla e non si erano verificate “pannes” o disfunzioni nei calcolatori. Ci si era accertati anche che nessuno dei 18 programmi interessati al “Job” fosse stato modificato di recente.
Nulla di nulla.
Si trattava evidentemente di una rogna, e dopo aver tentato e scartato tutte le vie logiche, il problema fu passato al mio ufficio. Senza, come al solito, un briciolo di indizio.

Ricontrollammo tutto daccapo, non certo per sfiducia nei colleghi ma piuttosto dubbiosi su cos’altro tentare, ma ovviamente senza esito; di errori, nemmeno l’ombra.

Alle tre del pomeriggio, ma solo per scrupolo decisi: «si ripeta integralmente il Job»… ed ottenemmo identici risultati identicamente sbagliati.



Pensammo potesse esserci stata qualche contaminazione dei dati in ingresso, forse negli archivi da aggiornare o negli aggiornamenti da fare, ed anche se le indagini a campione, già fatte, avevano dato risultati negativi, e decidemmo di ripetere integralmente anche il ciclo di lavorazione del giorno precedente che aveva prodotto i nostri inputs e che era andato a buon fine.

In qualche modo fu questa la mossa vincente, anche se di vittoria non si potesse proprio parlare. La lavorazione ripetuta risultò questa volta piena di errori. Gli stessi assurdi inconcepibili errori su cui stavamo sbattendo la testa da ore.

Il Capocentro intervenì di autorità (si era ormai all’indomani ed io non ero affatto tornato a casa) e dispose che si ripetesse per controprova anche la lavorazione ancora precedente… che dette risultati parimenti sbagliati.

Punto della situazione: non eravamo più in grado di eseguire correttamente il PSg01, ma non sapevamo perché. Andai a casa, per dormirci sopra. Ma non ci restai a lungo.

A mali estremi, estremi rimedi. Sfasciammo il Job per eseguirlo passo passo, un programma alla volta, analizzando ogni “input” ed ogni “output”.

Trovammo quasi subito il programma che rovinava i dati. Era di “Carlucciello” , modificato l’ultima volta… venticinque mesi prima!…
Considerando la periodicità giornaliera del Job, questo programma aveva “girato” per più di cinquecento volte senza dare fastidi ed ora, di colpo, non voleva funzionare più.

Pensammo subito ad un sabotaggio, perché era quello il tempo dei primi attentati e degli allarmi-bomba negli uffici, ma naturalmente un sabotaggio stupido, perché ovviamente la copia originale del programma era ben custodita…
Riprovammo con la “copia del caveau”… e due ore dopo ci ritrovammo con gli stessi errori fra le braccia.

Nuovo punto della situazione: abbiamo un programma che non ha mai sbagliato, che non è stato modificato e che ora sbaglia improvvisamente e non riesce nemmeno a rifare cose che solo un giorno prima (ormai due giorni prima) aveva già fatto bene… Ovvio!… non dipende dal programma ma dal computer!… che nel frattempo però ha lavorato per altre cinquanta ore con altre centinaia di programmi senza dare il benché minimo problema!…

Poco, poco, poco… niente credibile. Il problema “deve” essere nel programma.

“Carlucciello” ed io, ci sediamo alla stessa scrivania. Memori di tanti patimenti sofferti insieme a cercare diavolerie nei programmi quando eravamo ancora allievi, scordiamo del tutto di essere responsabili ormai di due settori diversi e talvolta in competizione. Non c’è più da fare polemiche su di chi sia la colpa del malfunzionamento. Sappiamo entrambi che l’errore dobbiamo trovarlo noi, e che è in questo suo programma, anche se preferiremmo credere a streghe e fantasmi.

Controlliamo il programma in ogni sua singola istruzione facendo “il gioco del calcolatore” una volta, due, tre. Puntigliosamente, ogni volta daccapo.


E troviamo una istruzione “Assembler” sbagliata.

Un’istruzione del ramo principale, eseguita per ogni documento considerato. Un’istruzione già eseguita molte decine di milioni di volte!
Voleva semplicemente dire: “Se quel Byte è diverso da zero…. Fai una certa routine”. Era l’analisi del caso particolare, forse mai verificatosi, di una cambiale che, richiamata, fosse stata usata per un “risconto” (operazione anche questa eccezionale) con la Banca d’Italia.

Non c’era nessun “risconto”, in quel periodo.

Così com’era invece codificata erroneamente diceva al computer: “Se quel Byte ha un valore diverso da quello della posizione di memoria n° zero del calcolatore…eccetera”.

In tanti anni di funzionamento del programma non c’erano stati disguidi perché la memoria n° zero di quei calcolatori era normalmente effettivamente a zero. Le memorie di ordine molto basse infatti servivano ai tecnici dell’IBM per i loro programmi di test durante la manutenzione. Loro ci lavoravano, poi d’abitudine ripulivano la memoria azzerando tutto prima di restituire la macchina agli operatori.

Confrontare con zero, o con qualcosa che sia zero, è naturalmente lo stesso; ed il programma di Carlucciello era sempre andato avanti tranquillo. Ma…

Ma l’ultima manutenzione era stata davvero sfibrante per il nostro tecnico di turno: aveva dovuto caricare e controllare decine di “patchs” , sgobbando per molte ore filate.
E con gli operatori, al solito, ad alitargli sul collo per riavere presto l’elaboratore per le lavorazioni usuali:

«Alla fine non ce la facevo più» ci confermò candidamente: «dopo aver inserito l’ultima modifica, controllata ed “ok”ho piantato tutto lì e sono corso difilato al bar a prendermi un cappuccino.
E non ho rifatto l’IPL ».

L’esperienza di programmatori che giocavano coi Bytes si maturava anche così: con gli errori criptici ed i cappuccini malupini!




Lucio Musto 5 novembre 2004 Parole 1201
-----------------------------------------------------------------------------------

Vedi il profilo dell'utente
2
LieveMente
avatar
Viandante Storico
Viandante Storico
A parte che ho scoperto adesso il significato della parola"malupino" (grazie google)

Direi che...l'uomo è uomo... e molto umano.
Per fortuna!

Tanta precisione...tanti controlli, tante procedure..e poi..


il cappucino malupino

Vedi il profilo dell'utente
3
Lucio Musto
avatar
Viandante Ad Honorem
Viandante Ad Honorem
LieveMente ha scritto:A parte che ho scoperto adesso il significato della parola"malupino" (grazie google)

Direi che...l'uomo è uomo... e molto umano.
Per fortuna!

Tanta precisione...tanti controlli, tante procedure..e poi..


il cappucino malupino

già... vedi le cose strane della vita!...

Io, forse lo avrai notato nelle tue frequentazioni nella Valle, sono un tipo prudente,
difficilmente pontifico o affermo categoricamente qualcosa o do torto marcio a qualcuno...

Ebbene tanta umiltà non sarebbe nella mia natura abbastanza focosa.
Quell'umiltà, quel possibilismo a volte esagerato, me lo hanno insegnato le macchine, i grossi calcolatori di una volta,
quando ci cimentava faccia a faccia con la tecnologia.
Qualche volta sbagliava anche il "ferrovecchio"!... ma di solito, aveva ragione lui, materia bruta, e torto tu, sofisticato pensatore della stanza dei bottoni!

Vedi il profilo dell'utente
4
LieveMente
avatar
Viandante Storico
Viandante Storico

Beh... il sofisticato pensatore incorre in distrazioni che "la materia bruta" ignora....
E da lì le scoperte... sorriso

Vedi il profilo dell'utente
5
Contenuto sponsorizzato

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto  Messaggio [Pagina 1 di 1]

Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum