Technology Experience

Contenuti gestiti da Igor Damiani
posts - 949, comments - 2741, trackbacks - 15120

My Links

News

  • Questo blog si propone di raccogliere riflessioni, teoriche e pratiche, su tutto quello che riguarda il world-computing che mi sta attorno: programmazione in .NET, software attuale e futuro, notizie provenienti dal web, tecnologia in generale, open-source.

    L'idea è quella di lasciare una sorta di patrimonio personale, una raccolta di idee che un giorno potrebbe farmi sorridere, al pensiero di dov'ero e cosa stavo facendo.

    10/05/2005,
    Milano

Archives

Post Categories

Generale

Lo sviluppatore e il byte vogliono piangere

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 paralizzatiinutili. 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.

powered by IMHO 1.2

Print | posted on Monday, December 5, 2005 1:33 PM | Filed Under [ 010 .bytes. 010 ]

Feedback

Gravatar

# re: Lo sviluppatore e il byte vogliono piangere

Michele:
no, ma quasi. E' una storia liberamente tratta da un piccolo inconveniente avuto da mio padre, la notte di venerdì scorso, quando nevicava di brutto. Ma nulla di che, uno spavento per mia mamma. Ma è tutto ok!
12/5/2005 2:22 PM | Igor Damiani
Gravatar

# re: Lo sviluppatore e il byte vogliono piangere

Michele:
no, ma quasi. E' una storia liberamente tratta da un piccolo inconveniente avuto da mio padre, la notte di venerdì scorso, quando nevicava di brutto. Ma nulla di che, uno spavento per mia mamma. Ma è tutto ok!
12/5/2005 2:22 PM | Igor Damiani
Gravatar

# re: Lo sviluppatore e il byte vogliono piangere

Sei un fenomeno! Complimenti.

Francesco
12/5/2005 3:03 PM | Jazzer
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET