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

Il byte alla ricerca del significato del Natale

Il byte non aveva mai capito cosa fosse il natale. Da quando il sistema era stato avviato, (2 anni, 5 mesi, 11 giorni, 22 ore, 00 minuti, 00 secondi fa), il byte aveva sentito parlare del natale, ma non ne conosceva il significato reale. Se lo immaginava scritto con la 'n' minuscola. Non che i byte sappiano scrivere, sia chiaro, solo che nella sua rappresentazione interna il primo carattere era espresso come 0x6E, il codice ASCII della 'n' minuscola, appunto. Gli avevano spiegato che il natale era un evento, una festa che ricorreva ogni anno, come fosse una sorta di task schedulato. Aveva compreso il senso del natale solo in parte, però. Non sapeva cosa fosse una festa. Mentre balzava di thread in thread, il byte incontrò altre strutture logiche più o meno complesse, altri bytes simili a lui, array, struct, object ed a tutti questi rivolse la stessa domanda. Cos'è il natale?

Dopo un numero grandissimo di cicli di clock, il byte isolò le features principali che ogni buon natale dovrebbe avere. Innanzitutto ci vuole una famiglia, perchè il natale si passa sempre con i parenti più cari. Poi, gli dissero, devi preparare un Albero di Natale che dà colore all'ambiente e riscalda il cuore dei bambini. Poi, i regali per le persone più vicine, un bel cenone da trascorrere tutti assieme. I più saggi gli dissero che il natale era soprattutto una festa religiosa, ma il byte non sapeva nulla di religione, e preferì concentrarsi sugli altri punti per capire il natale e cercare di passarlo degnamente.

Organizzò quindi un grandioso Albero di Natale che si estendeva dall'address 0x1AB94D8 all'address 0x17F54D6. Si era fatto aiutare da altri bytes provenienti dalla graphics card, e li aveva disposti in modo che formassero davvero una forma ad abete, il tutto in high-res. I colori RGB erano perfetti, donando al suo albero sfumature a volte rosse, a volte oro, in un alternanza che ipnotizzava chiunque lo guardasse per qualche ciclo di clock. Il tutto era abbellito con modelli 3D generati dal chipset grafico, che riempivano gli spazi e che venivano illuminati dalle luci dinamiche emesse dai bytes RGB. Ed i rami si allungavano e si intrecciavano in ogni direzione. Il byte poteva tranquillamente shiftare verso sinistra e verso destra, da un ramo all'altro, in basso ed in alto, godendo ogni volta della vista che gli si materializzava davanti agli occhi.

Per qualche ragione, sentiva che l'Albero non era tutta l'anima del natale. Riunì intorno a sè la sua famiglia, una moltitudine di bytes con i quali aveva cooperato in precedenza, più o meno frequentemente. Con alcuni andava d'accordo, con altri un po' meno, ma forse non era importante, l'importante era riunirsi e passare del tempo assieme.

Si occupò anche dei regali: regalò un carattere \0 alle stringhe C/C++ per indicare dove terminavano, l'interfaccia IDisposable alle classi che non l'implementavano e un overload in più ad alcuni metodi suoi amici. Il regalo più costoso lo fece alla classe che lo aveva ospitato più di una volta: gli regalò un layer intero di persistenza, basato su NHibernate, grazie al quale avrebbe potuto salvarsi su database senza troppe complicazioni.

Ed infine il natale arrivò, con il byte soddisfatto dei suoi preparativi. Aveva la sua famiglia attorno a sè, con bytes ed array di bytes, classi ed interfacce, delegate e componenti di terze parti. Erano tutti riuniti sotto il grande Albero di Natale che non aveva smesso un solo ciclo di clock di splendere, con i regali che aspettavano solo di essere aperti con una banale chiamata al metodo Open(). Ma il byte sentiva qualcosa di strano: che senso ha passare del tempo con bytes che si vedono ogni tanto, magari proprio solo a natale? Che senso ha avuto tutta questa rincorsa per i regali? Magari quelle classi non avranno mai bisogno di fare la dispose di unmanaged resources, che senso ha avuto donare loro l'interfaccia IDisposable? Sentiva di aver fatto la cosa giusta, ma qualcosa non gli quadrava.

Solo l'Albero di Natale gli regalava un po' di serenità. Salutò un attimo i suoi parenti che stavano facendo baldoria, uscì dalla cella di memoria nella quale si trovava e si arrampicò, lentamente, sui rami dell'Albero. I bytes RGB erano sempre lì, un istante erano rosso fuoco, il ciclo di clock successivo spargevano raggi di luce color oro tutto intorno. Il byte saliva pian piano verso gli address più alti dell'Albero e cominciò a sentire il silenzio. Guardò in giù e si accorse di essere salito molto - vedeva la tavola imbandita, vedeva la sua famiglia, sentiva le voci ed il chiacchericcio - ma lui era lontano. Diede un'occhiata intorno, beandosi della tranquillità e della pace che aveva trovato in quel post. I filoni luccicanti catturavano la fioca luce dei bytes e la specchiavano ovunque, probabilmente con qualche algoritmo applicato dalle DirectX. Vide i balocchi che lui stesso aveva contribuito a renderizzare qualche giorno prima: prima un piccolo pianoforte, elegante ed austero. Poi una sfera blu perfetta con strisce gialle. Rimase affascinato quando scorse, aguzzando bene la vista per arrivare ad ramo lontano, un angioletto in TIF che lo guardava sorridendo. Ebbe un sussulto.

Dopo un migliaio di cicli di clock, il byte scese dall'Albero di Natale e si riunì alla sua famiglia. Raggiunse il suo posto a tavola, e sorrise a tutti quelli che lo guardavano. "Buon Natale, vi voglio bene!", furono le uniche parole che uscirono dalla sua bocca. E passò il resto della nottata ridendo e scherzando, mangiando tutto quello che c'era da mangiare, divertendosi ed in pace con se stesso.

In quel momento, capì il vero significato del Natale. Da quel momento, il byte scrisse Natale con la 'N' maiuscola, perchè così meritava. Natale è certamente una festa di famiglia, regali, tavolate, cenone, rincorse frenetiche, file alla cassa. Ma è soprattutto una festa che deve trasmettere serenità e sorriso, ed in cui bisogna soprattutto essere in pace con se stessi. Queste non sono cose schedulabili, non è possibile sviluppare un worksflow con Windows Workflow Foundation, non esiste alcun algoritmo che possa esprimere questi concetti. E non possiamo nemmeno trasmetterlo agli altri via TCP/IP.
Per fortuna.

Sono cose che tutti noi - e persino un byte - deve sentirsi dentro davvero.

Print | posted on Wednesday, December 20, 2006 12:33 PM | Filed Under [ 010 .bytes. 010 ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET