Lo sviluppatore era ansioso. Da quando era stato
attivato il suo abbonamento MSDN, non vedeva l'ora di mettere le mani su Visual
Studio 2005. Ne aveva così tanto sentito parlare che adesso bramava all'idea di
poter finalmente programmare con il framework 2.0, con i generics e altro
ancora. Aveva fatto tardi, quella sera, soprattutto a causa del traffico e della
neve che rendevano le strade pericolose.
"Meglio così, " - mormorò tra sè
e sè - "con un po' fortuna ho finito di scaricarlo da
MSDN."
Guidava felice, mentre passava
oltre un semaforo che gli sorrideva con la sua luce verde.
Il byte aveva appena concluso un lungo viaggio. Era partito 12.567 ms fa dall'indirizzo IP 207.46.20.30 ed era arrivato a destinazione proprio
nell'ultimo ciclo di clock. Gli ordini adesso erano di essere persistito su
hard-disk. Faceva parte di una sequenza di ben 0xAC800000
bytes . Tutti assieme componevano il file en_vs_2005_pro_dvd.iso. Lui era solo uno dei tanti,
uno qualsiasi in mezzo alla miriade di altri suoi fratelli. Solo, non aveva
alcun significato, ma tutti assieme formavano uno dei
migliori ambienti di sviluppo per Windows mai creato, il cui nome in chiaro
era Microsoft Visual Studio 2005 Professional Edition. Sebbene non ne percepisse
fino in fondo il significato - e forse lo scopo - il byte era soddisfatto
del suo lavoro, così come probabilmente l'OS era soddisfatto di lui. Mentre
occupava la sua cella di memoria sull'hard-disk, il byte attendeva che lo
stream di dati da http
fosse completo. Mancavano
solamente una manciata di bytes, perchè la percentuale indicata nella UI
era del 99%: solo a quel punto il file ISO avrebbe avuto
una sua consistenza e, di conseguenza, essere masterizzato su DVD.
Lo sviluppatore era finalmente uscito dalla città caotica e trafficosa.
Si trovava in tangenziale, adesso, in prossimità di imboccare la sua uscita
per arrivare (finalmente!) a casa sua. L'inverno faceva calare il buio molto
presto, e per questo motivo cercò di concentrarsi un po' di più sulla
guida.
Pensò ad alcuni workshop UGIdotNET a cui aveva assistito. Cavolo,
quando aveva visto Corrado spiegare tutte le nuove caratteristiche di VB 2005,
quasi gli aveva preso un colpo. Sebbene amasse C#, era contento che VB
continuasse ad esistere e ad avere numerosissimi fans in tutto il mondo. Aveva
in mente di usare i nuovi controlli, specialmente la
DataGridView, per
creare quel freeware che aveva in testa da un sacco di tempo. E poi, siamo
onesti - ragionò lo sviluppatore - il nuovo IDE è così bello e funzionale, che
solo usarlo per programmare mi renderà la vita migliore!!!
"Autentico. Valido. Ordino.
Flusso terminato, procedere con il processo di
masterizzazione."
Anche l'ultimo dei bytes era giunto a
destinazione. L'OS ricompose il file nella sua interezza e lo sottopose a
controllo antivirus per evitare ogni problema futuro. Con un banale controllo
sul canale IDE, l'OS si accorse che nell'unità del sistema c'era un
supporto DVD a disposizione, completamente vuoto. Utilizzando uno dei tanti
processi attivi in quel momento, diede inizio alla masterizzazione del
file.
L'OS predispose i 0xAC800000 bytes al processo di incisione su DVD. Il
byte venne richiamato, così come tutti gli altri, attraverso i bus del sistema,
corsero seguendo un ordine prestabilito fino a raggiungere il controllo sul
canale IDE. Quando arrivarono a destinazione, il byte si meravigliò a rimase
a bocca aperta.
Sotto di lui, c'era un'enorme distesa impalpabile.
Una distesa che non riusciva a misurare con lo sguardo, riuscire solo a capire
che tutto quello spazio poteva e doveva essere occupato da loro. Ma questo lo
spaventava, perchè si trattava di una zona di memoria anomala, diversa da tutte
le altre in cui si era trovato sinora. Non aveva confini, delimitazioni, non
riusciva a capire dove posizionarsi e come memorizzarsi. In un sistema
tradizionale, le celle di memoria hanno indirizzi, hanno bus per comunicare fra
loro, c'è un clock che regola tutte le attività. Ma quella distesa gli sembrava
morta, informe e pericolosa, in qualche
modo. Era terrorizzato, e non sapeva come sfuggire al suo destino.
Dopo
qualche attimo di attesa, la masterizzazione ebbe inizio. I bytes formarono un
flusso costante di dati, entrando prima nel controller IDE e successivamente
riversandosi nella memoria del DVD quasi a casaccio, dove trovavano posto, alla
rinfusa. Il byte non riusciva a capire. Non concepiva la confusione che
aveva davanti agli occhi, non capiva come potesse succedere una cosa del
genere.
All'interno del controller, il byte comprese terrificato quello
che lo aspettava.
L'auto si trovava su una strada di campagna molto stretta,
dove a malapena passavano due macchine affiancate. Lo sviluppatore procedeva con
calma, circa a 50km/h, e si augurò di non incontrare nessuno dell'altra parte.
Gli mancano circa 3-4 chilometri per arrivare a casa e al suo VS2005. Si rilassò
un attimo, pensando che avrebbe avuto tutta la sera per fare il setup e per
cominciare a giocarci. Mentre l'auto procedeva regolarmente, lo sviluppatore
vide a circa a 500 metri i fari bianchi di un'altra macchina che veniva verso di
lui. "Occhio, con calma, e tutto è ok." - si disse piano, mentre scalava in
seconda per rallentare ulteriormente.
Masterizzazione è morte apparente. I bytes
vengono riversati su una superficie liscia, morbida, senza spazi di
indirizzamento. Questi vengono assegnati solo al termine, durante la fase di
chiusura della sessione. Al termine, i bytes sono congelati, freddi e
inamovibili, da un certo punto di vista è come se fossero morti.
Abituati a muoversi veloce, a correre lungo i bus, a spostarsi da una cella
all'altra, i bytes masterizzati si sentono paralizzati
e inutili. Il byte apprese il proprio destino, ma non potè farci
nulla. Oltrepassò il controller, si adagiò delicatamente in uno spazio
libero sul DVD, ed attese di essere congelato lì sul posto. Non sarebbe più
andato da nessuna parte, sarebbe stato immortale - questo sì - ma a quale
prezzo? Che vita è questa? Che esistenza mi aspetta, d'ora in poi? Si strinse
nelle spalle, ed attese preoccupato.
Le due auto erano quasi affiancate. Lo sviluppatore misurò
con gli occhi la distanza, rallentò a passo d'uomo, diede una rapida occhiata al
lato destro della strada, dove c'era un grande fossato pieno d'acqua sicuramente
molto fredda. Sterzò leggero un po' a destra, per concedere un po' di spazio
all'altro autista. L'auto scese di strada, la ruota non ebbe più presa
sull'asfalto e cominciò a piegare pericolosamente verso il fossato. Lo
sviluppatore, preso alla sprovvista, girò violentemente il volante
verso sinistra, nel tentativo di recuperare la traettoria. L'auto però si
inclinò di più, il nevischio la fece scivolare giù nel fosso, in mezzo al fango,
all'acqua e a cumuli di neve rimasti lì dalla notte precedente. Uno
schianto ruppe il silenzio. Lo sviluppatore picchiò bruscamente la testa contro
il vetro del parabrezza, e cominciò a perdere sangue da un taglio profondo della
fronte.
L'auto lentamente si inabissava giù, nell'acqua congelata e mortale
del fosso.
Lo sviluppatore voleva piangere, ma gli mancarono le forze e perse
i sensi.
Un lampo rosso lo colpì. Il byte rimase così. Gli venne assegnato un
indirizzo, in modo tale che l'OS potesse in qualche modo recuperarlo e leggerlo.
Ma lui era inchiodato, immobile e morto. Percepiva la presenza di tanti
altri bytes di fianco, tutti nella stessa condizione.
Il byte voleva
piangere, ma gli mancarono le forze e perse i sensi.