<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>VivendoByte.ByteAdventure</title>
        <link>http://blog.vivendobyte.net/category/11.aspx</link>
        <description>VivendoByte.ByteAdventure</description>
        <language>it-IT</language>
        <copyright>Igor Damiani</copyright>
        <managingEditor>igor@vivendobyte.net</managingEditor>
        <generator>Subtext Version 2.0.0.43</generator>
        <item>
            <title>[Adventure.02] Alla ricerca del byte perduto</title>
            <link>http://blog.vivendobyte.net/archive/2008/04/06/542.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://blog.vivendobyte.net/archive/2008/03/28/529.aspx" target="_blank"&gt;Puntata precedente&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#0080c0"&gt;Se un puntino luminoso compare sul lato sinistro di un monitor,        &lt;br /&gt;e comincia a muoversi verso destra,         &lt;br /&gt;probabilmente esso raggiungerà prima o poi il lato destro.         &lt;br /&gt;(sulla Predizione - Anonimo)&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;All'OS questa volta toccava un lavoro urgente. Avrebbe dovuto invocare funzioni a basso livello che non eseguiva da qualche centinaio di reboot. Per esserne sicuro aveva scandagliato a fondo l'Event Viewer di sistema, per trovare un report sull'ultima esecuzione, ma senza trovare alcuna informazione utile. Caricò in un puntatore l'indirizzo della funzione interessata, esso scalò lo stack fino a quando non ne raggiunse la cima. Quando lo scheduler dell'OS lo ritenne opportuno, l'entry-point della funzione venne caricato nel program-counter, e l'esecuzione cominciò.&lt;/p&gt;  &lt;p&gt;Nessuno se ne accorse, ma il consumo di energia dell'hardware ebbe un picco verso l'alto, che venne gestito efficacemente dall'alimentatore.&lt;/p&gt;  &lt;p&gt;L'OS si accomodò meglio sul suo trono e cominciò a godersi lo spettacolo.&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="100%" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="10%"&gt;&lt;strong&gt;0x7530&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="90%"&gt;         &lt;p&gt;"&lt;font color="#0000ff"&gt;&lt;em&gt;Dov'è andato ?&lt;/em&gt;&lt;/font&gt;" - chiese una voce in modo perentorio.             &lt;br /&gt;La risposta non arrivò subito, perchè i due furono presi alla sprovvista.             &lt;br /&gt;byte[1] e byte[2] si girarono quasi contemporaneamente verso la direzione dalla quale avevano sentito provenire la voce. Non c'era nessuno.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="10%"&gt;&lt;strong&gt;0x7532&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="90%"&gt;         &lt;p&gt;"&lt;font color="#0000ff"&gt;&lt;em&gt;Ve lo ripeto...Dove si è cacciato? Dove è andato ?&lt;/em&gt;&lt;/font&gt;" - chiese di nuovo la voce. Un po' più decisa, questa volta.             &lt;br /&gt;"&lt;em&gt;&lt;font color="#008040"&gt;Chi ?&lt;/font&gt;&lt;/em&gt;" - fece byte[1] intimidito.             &lt;br /&gt;"&lt;em&gt;&lt;font color="#0000ff"&gt;Il byte che era allocato qui fino ad un attimo fa.&lt;/font&gt;&lt;/em&gt;". La voce era sempre più irritata.&lt;/p&gt;          &lt;p&gt;byte[1] e byte[2] intuirono che qualcosa non andava. Nessuno dei due aveva intenzione di rivelare dove fosse finito byte[0], anche solo per il fatto che nessuno dei due lo sapeva. Ma come potevano dirlo senza suscitare l'ira del loro interlocutore, che sembrava impaziente? A chi apparteneva quella voce che si rivolgeva loro con tanta autorità? Cosa dovevano fare o dire per toglierselo di torno?&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="10%"&gt;&lt;strong&gt;0x7534&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="90%"&gt;         &lt;p&gt;"&lt;em&gt;&lt;font color="#ff0000"&gt;Non sappiamo dove sia adesso. Se ne è andato e basta.&lt;/font&gt;&lt;/em&gt;" - rispose alla fine byte[2], scatenendo l'insoddisfazione del proprietario della voce, chiunque fosse.&lt;/p&gt;          &lt;p&gt;Nel punto da cui proveniva la voce si materializzò un'entità, che bloccò la strada da tutti i lati. Con un fragore assordante vennero allocate 0x40 celle di memoria intorno ai due bytes, erigendo un'efficiente palizzata di sicurezza per impedire ai due bytes la fuga. Sul volto di byte[2] si stampò un sorriso amaro, e anche byte[1] non era da meno. Di chiunque fosse quella voce, era sicuramente di qualcuno di importante. Qualcuno, forse, con cui era meglio non scherzare. In altri tempi, in altri sistemi, sarebbe bastata una GOTO per scappare via lontano, ma già da molto tempo quell'istruzione era stata bandita nei linguaggi di programmazione. Anche se fosse intervenuta un'altra istruzione, era comunque poco probabile che coinvolgesse le loro due celle proprio in quel momento.&lt;/p&gt;          &lt;p&gt;I due bytes si guardarono intorno spaesati. Alle loro spalle la via era boccata da una parete verticale che era praticamente impossibile da scalare. Di fronte a loro c'era un precipizio che si affacciava sulla memoria RAM del sistema, e lanciarsi nel vuoto era pericoloso: non esiste forza di gravità in un sistema binario, ma qualsiasi impatto con il flusso dati di un bus poteva comunque risultare letale. Sulla destra e sulla sinistra i bytes invocati dall'entità chiudevano ogni passaggio. byte[1] e byte[2] si guardarono senza trovare una soluzione. Forse non c'era neppure.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="10%"&gt;&lt;strong&gt;0x7540&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="90%"&gt;         &lt;p&gt;Bastarono pochi cicli di clock affinchè i due fossero messi in isolamento rispetto al resto del sistema. &lt;/p&gt;          &lt;p&gt;"&lt;strong&gt;0x004C. Data Memory corrupted. All memory operations in this area has been suspended. 0x029A.&lt;/strong&gt;".             &lt;br /&gt;La voce assunse un tono più metallico.             &lt;br /&gt;"&lt;em&gt;&lt;font color="#0000ff"&gt;Non ci siamo capiti. VOGLIO e DEVO sapere dov'è finito! Non posso permettere che un byte se ne vada in giro per il MIO sistema!&lt;/font&gt;&lt;/em&gt;"&lt;/p&gt;          &lt;p&gt;Tutti i 0x40 bytes di sicurezza passarono all'unisono ad un RGB(0x23, 0xE9, 0xFF), un azzurro più intenso che ben si adattava a quello che stava per accadere: il muro cominciò a muoversi pian piano attorno ai due bytes - chiusi al centro - e stringevano sempre più, come un collare attorno al collo di un cane.&lt;/p&gt;          &lt;p&gt;Quando non c'era più spazio fra i due bytes e l'armata invocata dal sistema operativo, accadde semplicemente l'inevitabile. I bytes azzurri estrassero dalla loro tuta la l'arma in dotazione, uno shifter verso destra, che avrebbe distrutto sia byte[1] che byte[2] nel modo più naturale possibile. Lo shifter avrebbe spostato verso destra ciascuno degli 8 bit dei due bytes, dimezzandone il valore ad ogni iterazione fino al raggiungimento dello zero assoluto. Rapido, efficace ed indolore.&lt;/p&gt;          &lt;p&gt;Tutti i 0x40 bytes di sicurezza puntarono lo shifter verso le due celle e premettero il grilletto tutti insieme, freddi ed implacabili, e senza pensarci due volte.byte[1] e byte[2] non ebbero neppure il tempo per urlare, o soffrire.&lt;/p&gt;          &lt;p&gt;Smisero di esistere prima che qualcuno se ne potesse accorgere.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;Ciclo di clock 0x7000&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;La funzione chiamata dal sistema operativo completò la sua esecuzione ritornando il valore 0x00. Esecuzione completata con successo.&lt;/p&gt;  &lt;p&gt;La funzione era una Predizione di Esecuzione e gli aveva permesso di dare un'occhiata ai cicli di clock futuri, una sorta di previsione temporale sugli avvenimenti che sarebbero accaduti solo fra circa 0x0500 cicli di clock. Così, l'OS aveva avuto una breve ma importante visione: byte[0] era fuggito, diventando così byte, e si era separato dai suoi due amici di sempre, byte[1] e byte[2]. Al ciclo di clock 0x7540 non avrebbe ancora ritrovato il fuggitivo, ma avrebbe deallocato ed annientato gli altri due, che non avevano voluto cooperare. Che fine avesse fatto il byte, la predizione non glielo aveva detto e quindi non lo sapeva ancora. Evidentemente - si disse - la finestra temporale che aveva esaminato non bastava: le gesta del byte erano più in là nel tempo: avrebbe dovuto utilizzare ancora la stessa funzione, ma non subito. Fece una richiesta WMI all'infrastruttura del framework, e come si aspettava la temperatura del core era sopra la media. Avrebbe dovuto aspettare.&lt;/p&gt;  &lt;p&gt;L'OS adesso aveva un solo dubbio: non sapeva se far avverare la predizione oppure no. La funzione gli aveva rivelato cosa sarebbe accaduto se l'OS avesse seguito tutte le procedure standard, non cosa sarebbe accaduto realmente da lì a poco. L'OS - conoscendo il futuro - adesso avrebbe potuto decidere diversamente. Ad esempio: gliene importava davvero di quei due? Sapendo che non gli sarebbe stati d'aiuto, valeva la pena perdere preziosi cicli di clock in un task inutile? Deallocare quei due bytes poteva essere rischioso, perchè l'utilizzo degli shifter avrebbe potuto distruggere quelle due celle di memoria per sempre, riducendo di due miseri bytes la capacità RAM dell'intero sistema. Un bel problema - concluse OS - tanto che alla fine  vi rinunciò. Doveva sfruttare l'unico vantaggio che aveva: di quei due bytes non sapeva che farsene e decise di ignorarli.&lt;/p&gt;  &lt;p&gt;Istanziò un nuovo thread per sguinzagliare una banda di classi IDisposable alla ricerca del byte perduto.&lt;/p&gt;&lt;img src="http://blog.vivendobyte.net/aggbug/542.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blog.vivendobyte.net/archive/2008/04/06/542.aspx</guid>
            <pubDate>Sun, 06 Apr 2008 16:38:12 GMT</pubDate>
            <wfw:comment>http://blog.vivendobyte.net/comments/542.aspx</wfw:comment>
            <comments>http://blog.vivendobyte.net/archive/2008/04/06/542.aspx#feedback</comments>
            <wfw:commentRss>http://blog.vivendobyte.net/comments/commentRss/542.aspx</wfw:commentRss>
            <trackback:ping>http://blog.vivendobyte.net/services/trackbacks/542.aspx</trackback:ping>
        </item>
        <item>
            <title>[Adventure.01] Genesi: prima di essere un byte, era byte[0]</title>
            <link>http://blog.vivendobyte.net/archive/2008/03/28/529.aspx</link>
            <description>&lt;p&gt;byte[0], byte[1] e byte[2] erano tre bytes amici di lunga data. Si erano incontrati così per caso durante l'esecuzione di una query in MySQL, quando il destino decise che dovessero formare una maschera di bit per formare una JOIN tra due tabelle del database. Tra loro era nata una certa affinità. Se uno di loro tre decideva di fare una cosa, gli altri due lo seguivano senza fiatare. Si divertivano, la pensavano allo stesso modo su molte cose, parlavano e scherzavano liberamente. Era uno spasso.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;byte[0] era il più vivace.&lt;/strong&gt; &lt;br /&gt;
Era quello che voleva sempre ficcarsi nei guai con le sue idee, quello che quando veniva a sapere che era stato installato un nuovo antivirus nel sistema voleva testarne l'efficacia. byte[0] era stato quello che per primo aveva voluto saggiare l'estrema velocità delle nuove fibre ottiche a 20Mbit, che gli avevano permesso di viaggiare da un IP greco fino ad un IP russo, attraverso un percorso di routing che aveva impiegato nemmeno un secondo per arrivare a destinazione.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;byte[1] era il più pessimista.&lt;/strong&gt; &lt;br /&gt;
Quando il Creatore migrava ad un nuovo sistema operativo, byte[1] preferiva quello vecchio. Se veniva installata una patch per qualche software, era timoroso e pensava che contenesse qualche bug, che l'avrebbe costretto a rimanere imprigionato nella stessa cella di memoria per chissà quanti miliardi di cicli di clock. Gli altri due lo prendevano in giro per questo suo pessimismo: gli dicevano che vedeva sempre lo stack mezzo vuoto, quando in realtà c'era anche la parte mezza piena e che quest'ultima generalmente è molto più interessante. Ma byte[1] non li ascoltava quasi mai.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;byte[2] era il più esoso in termini di risorse.&lt;/strong&gt; &lt;br /&gt;
Si vantava di aver viaggiato su un gran numero di sistemi differenti. Diceva continuamente che era stato su bus a 16, a 32 e a 64 bit. Era orgoglioso quando raccontava di aver preso parte ad algoritmi su schede grafiche DirectX 10.0, oppure quando aveva caricato 1Tb di dati su un database Oracle. byte[2] tendeva sempre ad occupare sempre più memoria per allargare i propri confini. Il suo motto preferito era "Se un sistema Windows dispone di 16Gb di RAM, perchè non poterli occupare tutti?". L'efficienza, l'ottimizzazione ed il risparmio di memoria non facevano per lui.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Una sera come tante altre, byte[0], byte[1] e byte[2] sedevano tranquillamente lungo un bus come tanti altri. Il bus assomigliava ad una strada stretta e tortuosa di montagna; da un lato si ergeva una parete esadecimale contenente pezzi di codice eseguibile, mentre dall'altro lato si apriva un panorama mozzafiato. Centinaia, migliaia, milioni e miliardi di luminose celle di memoria si stendevano più sotto fino all'orizzonte. I tre bytes osservavano la scena ammirati, spaziando con lo sguardo da destra a sinistra e viceversa, divertendosi a cogliere tutte le infinite combinazioni di colore di ciascun byte che - velocissimo - viaggiava per il sistema. C'era di che riflettere. C'erano bytes che componevano immagini JPG, codice eseguibile di chissà cosa, stream audio da Last.fm, video da YouTube, handle di finestre e controlli, servizi di sistema ad alta priorità. Un'infinità di informazioni in movimento sincronizzato, ritmato dal battito del clock di sistema che echeggiava in tutti i meandri della mainboard permeando ogni attività. La distesa di bytes multicolori si attivava in base al task attivo, sollevando onde esecutive più o meno alte.&lt;/p&gt;
&lt;p&gt;byte[2]: "&lt;em&gt;&lt;font color="#ff8040"&gt;La sapete una cosa? Questo sistema monta 2Gb di memoria RAM. In questo momento ne stiamo vedendo solo un quarto.&lt;/font&gt;&lt;/em&gt;" &lt;br /&gt;
Attimi di silenzio. Quello che vedevano era sconfinato, com'era possibile che fosse solo un quarto? Quant'è il 25% di infinito? &lt;br /&gt;
"&lt;em&gt;&lt;font color="#0000a0"&gt;Come fai a dirlo?&lt;/font&gt;&lt;/em&gt;" - chiese byte[0]. &lt;br /&gt;
byte[2] : "&lt;em&gt;&lt;font color="#ff8040"&gt;E' semplice. Vedi quella zona verde scuro in fondo a sinistra, proprio accanto all'ingresso dell'hub USB 0x01? Lì gira sempre il processo taskman.exe dell'OS, conosco quella zona, ho degli amici. E taskman.exe viene sempre allocato negli indirizzi di memoria più bassi. Mentre dall'altra parte, là nell'estrema destra c'è la zona riservata ai dati delle applicazioni, come quel piccolo documento Word che fa capolino tra il file CSS e lo script SQL che è in esecuzione. In tutto, quello che vediamo adesso sono solo 512Mb di RAM.&lt;/font&gt;&lt;/em&gt;" &lt;br /&gt;
"&lt;em&gt;&lt;font color="#ff0000"&gt;Ma come fa a non crashare tutto?&lt;/font&gt;&lt;/em&gt;" - chiese byte[1] incredulo. &lt;br /&gt;
"&lt;em&gt;&lt;font color="#ff8040"&gt;Beh, in realtà capita che l'OS perda il controllo, ma ultimamente l'efficienza è notevolmente migliorata.&lt;/font&gt;&lt;/em&gt;" - spiegò byte[2] all'altro - "&lt;em&gt;&lt;font color="#ff8040"&gt;Ricordo quando visitai un sistema XP senza alcun Service Pack. Bastava un niente affinchè un software non autorizzato potesse prendere il controllo dell'intero sistema. Oggi lo cose sono molto cambiate, i nuovi kernel hanno sempre tutto sotto controllo.&lt;/font&gt;&lt;/em&gt;" &lt;br /&gt;
Attimi di silenzio. &lt;br /&gt;
"&lt;em&gt;&lt;font color="#0000a0"&gt;La vuoi sapere tu una cosa, adesso? Voglio essere il primo a visitarle tutte!&lt;/font&gt;&lt;/em&gt;" - proclamò byte[0] con una certa sicurezza nella voce. &lt;br /&gt;
"&lt;em&gt;&lt;font color="#ff8040"&gt;Visitare cosa?&lt;/font&gt;&lt;/em&gt;" - chiese perplesso byte[2]. &lt;br /&gt;
"&lt;em&gt;&lt;font color="#0000a0"&gt;Tutte le celle di memoria di questo sistema.&lt;/font&gt;&lt;/em&gt;" - rispose risoluto byte[0]. &lt;br /&gt;
byte[2] sorrise come se volesse commentare l'ultima frase in silenzio, senza usare le parole. Sarebbero state troppo offensive. Ma in fondo byte[2] capiva byte[0]. Forse era proprio questa comprensione reciproca ad unire così i due bytes. Ma questa volta byte[0] peccava di ingenuità. Tentò di spiegarglielo con calma.&lt;/p&gt;
&lt;p&gt;"&lt;em&gt;&lt;font color="#ff8040"&gt;Non ci riuscirai mai, perchè un byte non può andar dove più gli piace. Se potesse, il sistema collasserebbe con pochi cicli di clock, perchè prima o poi finiresti in un'area di memoria pericolosa in cui non dovresti stare. Dr. Watson ti braccherebbe senza sosta. Potresti farcela in un sistema antiquato e poco protetto come l'XP di cui parlavo prima, ma al giorno d'oggi è assolutamente impossibile. Ci sono controllori che girano ovunque, nuove patch di sicurezza che vengono applicate quotidianamente. Troppi ostacoli da superare. Lo capisci?&lt;/font&gt;&lt;/em&gt;" &lt;br /&gt;
Mentre un nuovo WrapPanel veniva istanziato dal runtime di WPF, sollevando nubi di pixel verdastri, byte[0] era con la testa altrove. Aveva sentito a malapena le parole del suo amico che tentava di farlo desistere dal suo intento: in realtà lui non vedeva l'ora di cominciare a viaggiare. &lt;br /&gt;
"&lt;em&gt;&lt;font color="#0000a0"&gt;Non me ne importa. Mi muoverò silenziosamente, senza farmi vedere e senza dare nell'occhio. Non dico che tutti possano farlo, ma io sì.&lt;/font&gt;&lt;/em&gt;"&lt;/p&gt;
&lt;p&gt;byte[0] si vedeva già mentre si spostava da una cella all'altra, facendola in barba all'OS. D'altronde sapeva benissimo che c'erano sistemi operativi incapaci di gestire tutta la memoria RAM installata, per cui poteva tranquillamente visitare interi blocchi di memoria senza che nessuno se ne accorgesse. Il vero problema - e su questo byte[2] aveva ragione - è che c'erano aree molto più pericolose, e lì dovevano stare molto più attento per non finire nei guai. Ma a lui piacevano quel genere di avventure, e si sentiva già esaltato all'idea. Forse in fondo aveva già deciso di andarsene.&lt;/p&gt;
&lt;p&gt;"&lt;em&gt;&lt;font color="#ff0000"&gt;Tu sei pazzo. Verrai deallocato e ti perderemo per sempre. Se deciderai di andartene, non potrò seguirti. Mi dispiace, ma io ho una vita da vivere.&lt;/font&gt;&lt;/em&gt;" - disse byte[1] con un velo di maliconnia nella voce. &lt;br /&gt;
"&lt;em&gt;&lt;font color="#ff8040"&gt;Lo stesso vale per me. Una volta, forse, sarei venuto per vedere tutto quello che c'è da vedere. Ma adesso son troppo vecchio per queste cose, il garbage collector è qui dietro l'angolo ed il mio tempo è scarso.&lt;/font&gt;&lt;/em&gt;". byte[2] raggiunse anche lui la sua conclusione.&lt;/p&gt;
&lt;p&gt;byte[0] si rese conto che il voler iniziare una nuova avventura gli costava un prezzo davvero alto da pagare. Sarebbe stato solo, perchè nè byte[1] nè byte[2] voleva andare con lui. Un po' triste, distolse gli occhi dai banchi di memoria RAM luminescenti per osservare i suoi due amici che stavano aspettando che prendesse una decisione definitiva. Se se ne fosse andato, avrebbe perso i suoi due migliori amici, ma probabilmente là fuori c'erano miliardi e miliardi di bytes da conoscere, con cui ridere, scherzare e vivere nuove esperienze. Forse si sarebbero reincontrati, ma chissà quando. Quei pensieri gli giravano per la testa, e per un solo ciclo di clock pensò che stesse per tradirli. Fino a che punto lui aveva il diritto di spezzare quell'amicizia? Fino a che punto avrebbe retto il peso della sofferenza di byte[1] e byte[2] che stavano per rimanere da soli? Gli soggiunse un qualcosa che aveva letto una volta, molto tempo fa, su una pagina Web: lo stream HTML includeva caratteri ASCII che recitavano "&lt;strong&gt;Niente dura per sempre!&lt;/strong&gt;". Andarsene per lui non era un capriccio dell'ultimo momento, ma un'esigenza molto forte.&lt;/p&gt;
&lt;p&gt;Pian piano si fece coraggio e prese la sua decisione. byte[1] e byte[2] se ne accorsero senza bisogno di troppe parole, perchè videro tutti i bit illuminarsi d'immenso. Per un breve istante, byte[0] divenne forse il byte più luminoso di tutto il firmamento.&lt;/p&gt;
&lt;p&gt;I tre bytes si abbracciarono commossi, formando un piccolo array. &lt;br /&gt;
"&lt;em&gt;&lt;font color="#ff0000"&gt;Addio, spero di rivederti...&lt;/font&gt;&lt;/em&gt;" - disse sommossamente byte[1]. &lt;br /&gt;
"&lt;em&gt;&lt;font color="#ff8040"&gt;Addio, e...buon divertimento!&lt;/font&gt;&lt;/em&gt;" - disse byte[2] con un leggero sorriso sulla bocca. &lt;br /&gt;
"&lt;em&gt;&lt;font color="#004080"&gt;Addio, cari amici miei. Grazie di tutto!&lt;/font&gt;&lt;/em&gt;"&lt;/p&gt;
&lt;p&gt;Poi byte[0] si incamminò voltando le spalle agli altri due. Era emozionato ed un po' ansioso, perchè si rendeva conto di aver davanti a sè una grande avventura e non sapeva se era all'altezza oppure no. Poteva finire male o bene, come tutte le cose, ma lui ci avrebbe messo il massimo dell'impegno che poteva metterci.&lt;/p&gt;
&lt;p&gt;byte[0] arrivò ad una svolta. Prima di girare l'angolo, alzò i due bit più alti e li agitò in segno di saluto, rivolto agli altri due che erano rimasti seduti a guardarlo più in lontananza. Essi ricambiarono.&lt;/p&gt;
&lt;p&gt;Quando byte[0] girò l'angolo, rimase definitivamente solo.&lt;/p&gt;
&lt;p&gt;Fu così che byte[0], il più vivace ed il più avventuroso fra i tre, divenne semplicemente il &lt;font color="#0000ff"&gt;byte&lt;/font&gt;, così come voi lo conoscete.&lt;/p&gt;&lt;img src="http://blog.vivendobyte.net/aggbug/529.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blog.vivendobyte.net/archive/2008/03/28/529.aspx</guid>
            <pubDate>Fri, 28 Mar 2008 08:09:46 GMT</pubDate>
            <wfw:comment>http://blog.vivendobyte.net/comments/529.aspx</wfw:comment>
            <comments>http://blog.vivendobyte.net/archive/2008/03/28/529.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://blog.vivendobyte.net/comments/commentRss/529.aspx</wfw:commentRss>
            <trackback:ping>http://blog.vivendobyte.net/services/trackbacks/529.aspx</trackback:ping>
        </item>
        <item>
            <title>L'autodistruzione dell'uomo: siete nello spazio-tempo sbagliato!</title>
            <link>http://blog.vivendobyte.net/archive/2008/01/15/432.aspx</link>
            <description>&lt;p&gt;Siete tutti sulla cattiva strada. &lt;font color="#ff0000"&gt;L'umanità non si autodistruggerà per una guerra nucleare&lt;/font&gt;, o per una bomba atomica sganciata da chissà quale fazione terroristica in giro per il mondo, o per l'invasione di un nuovo Hitler. L'umanità semplicemente si autodistruggerà per un sovraffollamento che neanche vi immaginate. Città invivibili, strade intasate ad ogni ora del giorno e della notte, fiumi e terre inquinate. Ma non solo. Quello che più ci ucciderà sarà la scarsità delle materie prime: acqua, grano, carne, pesce, energia. La stessa aria verrà a mancare, quando sarete in più di dodici miliardi su questo piccolo pianeta che voi chiamate ancora Terra.&lt;/p&gt;  &lt;p&gt;&lt;font color="#008040"&gt;Mi sento estraneo a tutto questo, e non perchè io sia migliore di voi&lt;/font&gt;. La verità che potrebbe sconvolgervi è che voi - nessuno escluso tranne me - vi trovate in un ramo dello spazio-tempo errato. Vi trovate in un punto del tempo e dello spazio in cui l'Uomo vive ancora *solo* su questo pianeta.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Vi state sbagliando. Nel mio universo - quello corretto - l'Uomo sta lentamente colonizzando il sistema solare.&lt;/strong&gt;     &lt;br /&gt;Se vi chiedessi in quale data l'Uomo ha raggiunto la Luna, cosa mi rispondereste? Con tutta probabilità il 20 Luglio 1969.     &lt;br /&gt;Se vi chiedessi quando l'Uomo ha raggiunto Marte, cosa mi direste? Con tutta probabilità...che non ci è mai stato!&lt;/p&gt;  &lt;p&gt;Siete sbagliando, state commettendo un grosso errore. E sapete qual'è la cosa più ironica? Che non potete farci nulla. Siete in un universo sbagliato e dovete tenervelo.&lt;/p&gt;  &lt;p&gt;Non sono qui per prendervi in giro o per spaventarvi. Sono qui per scrivervi queste poche righe dicendovi di sbrigarvi, perchè siete in ritardo con la Storia, un ritardo che potrebbe costarvi caro. Come dicevo, la vostra sopravvivenza è legata alla vostra capacità di trovare nuovi spazi, nuove risorse, nuovi ambienti, nuovi ecosistemi...la Terra non sarà abbastanza per tutti. Prima o poi raggiungerà un punto di non ritorno e collasserà uccidendovi tutti.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;L'Uomo ha raggiunto Marte eccome. Il giorno 27 Agosto 1979, dieci anni dopo lo sbarco sulla Luna, l'Uomo è arrivato su Marte.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;La corsa alla Luna è stata in gran parte voluta dal presidente americano &lt;a href="http://it.wikipedia.org/wiki/John_Kennedy" target="_blank"&gt;John Fitzgerald Kennedy&lt;/a&gt;. Secondo la vostra realtà, JFK è stato assassinato il giorno 22 Novembre 1963 da un tale chiamato &lt;a href="http://it.wikipedia.org/wiki/Lee_Harvey_Oswald" target="_blank"&gt;Lee Harvey Oswald&lt;/a&gt;. In verità Lee Harvey Oswald ha assassinato &lt;a href="http://it.wikipedia.org/wiki/Fidel_Castro" target="_blank"&gt;Fidel Castro&lt;/a&gt;, leader cubano. Oswald morì a sua in una prigione di L'Havana, a Cuba, qualche giorno dopo essere stato arrestato. Ma questa è un'altra Storia, lasciamola perdere.&lt;/p&gt;  &lt;p&gt;Nella mia realtà, quella vera, JFK non è mai stato ucciso, ed ha continuato ad essere Presidente degli Stati Uniti d'America per due mandati consecutivi. E dopo aver vinto la corsa alla Luna contro l'URSS, JFK portò avanti nonostante le enormi critiche &lt;a href="http://it.wikipedia.org/wiki/Programma_Apollo" target="_blank"&gt;il programma spaziale Apollo&lt;/a&gt;, costato un'infinità di milioni di dollari. Investimenti sbocciati dopo dieci anni con l'atterraggio dell'Apollo 25 su &lt;a href="http://it.wikipedia.org/wiki/Marte_%28astronomia%29" target="_blank"&gt;Marte&lt;/a&gt;. Il viaggio verso Marte durò quasi 3 anni, tra andata e ritorno. Il comandante della missione, John Watts Young, partì che doveva ancora compiere 46 anni: quanto tornò sulla Terra, ne aveva 49.&lt;/p&gt;  &lt;p&gt;Da quel giorno, la nostra Storia dell'Umanità è cambiato molto, ed in modo radicale. &lt;strong&gt;Oggi, 16 Gennaio 2008, navette viaggiano continuamente tra la Terra e Marte&lt;/strong&gt;. &lt;strong&gt;Non ci vuole più così tanto tempo come per il primo viaggio: Carlo Rubbia, italiano, negli anni '80 ha brevettato una nuova tecnologia per i razzi di spinta&lt;/strong&gt;, utilizzando come combustibile un componente chimico scoperto nelle profondità del sottosuolo del pianeta Rosso. Non vi dico il nome, non vi servirebbe a nulla. &lt;strong&gt;Oggi raggiungere Marte richiede solamente 5 giorni.&lt;/strong&gt; Lo stesso combustibile che viene utilizzato per le navette viene utilizzato per le automobili: il petrolio non ci serve più da un pezzo, il pianeta ha ripreso a respirare. Da noi &lt;a href="http://it.wikipedia.org/wiki/Protocollo_di_Ky%C5%8Dto" target="_blank"&gt;il trattato di Kyoto&lt;/a&gt; non è stato mai concepito: l'inquinamento non esiste più da circa 15 anni. Sarebbe troppo lungo parlarvi anche di questo, oggi.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Attualmente su Marte vivono 5 milioni di marziani&lt;/strong&gt;, terrestri che si sono trasferiti nel corso degli anni &lt;strong&gt;nella grande colonia di Cydonia&lt;/strong&gt;. La colonia è una grande città marziana completamente autosufficiente: cibo, acqua, coltivazioni, materie prime ed energia prodotta da colletteri solari. Nei prossimi decenni sono previsti continui miglioramenti dell'ecosistema che ospita la razza umana: espandere la capienza è prioritario, proprio per garantire una migliore vivibilità sul pianeta Terra. &lt;strong&gt;I viaggi verso Marte non sono solo prerogative degli USA, ma vi sono basi di lancio a Parigi, Praga, Mosca e Nuova Delhi&lt;/strong&gt;. L'Italia, il vostro Paese, è carente da questo punto di vista: da Roma partono navette antiquate, che solitamente sono destinate all'attracco alla ISS, la stazione spaziale orbitante. Anche la ISS nella mia realtà è nettamente più avanti rispetto a quella che conoscete voi: &lt;strong&gt;la &lt;em&gt;mia&lt;/em&gt; ISS è grande come la Lombardia, e ci vivono centinaia di migliaia di persone&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Ho ancora pochi minuti, poi dovrò andarmene. Magari ci sentiremo in futuro.&lt;/p&gt;  &lt;p&gt;Dagli anni '80 ad oggi ci sono state talmente tante invenzioni e scoperte che non passi anno senza che la qualità della vita non migliori costantemente. Voi siete rimasti indietro, vi siete soprattutto focalizzati sullo studio e sull'implementazione di nuove forme di comunicazione, come Internet, la fonia mobile, ma è la strada sbagliata. Siamo arrivati anche noi a tecnologie di questo tipo, ma la loro svolta alla nostra società l'ha data il presidente Kennedy, il programma Apollo e quel viaggio verso Marte. Da allora tutto è cambiato.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Tutti voi siete in ritardo di circa 29 anni. E non è poco.&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blog.vivendobyte.net/aggbug/432.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blog.vivendobyte.net/archive/2008/01/15/432.aspx</guid>
            <pubDate>Tue, 15 Jan 2008 20:37:04 GMT</pubDate>
            <wfw:comment>http://blog.vivendobyte.net/comments/432.aspx</wfw:comment>
            <comments>http://blog.vivendobyte.net/archive/2008/01/15/432.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blog.vivendobyte.net/comments/commentRss/432.aspx</wfw:commentRss>
            <trackback:ping>http://blog.vivendobyte.net/services/trackbacks/432.aspx</trackback:ping>
        </item>
        <item>
            <title>[Beginning] Il byte in viaggio verso una GeForce</title>
            <link>http://blog.vivendobyte.net/archive/2007/10/30/331.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;Dedicato a tutti quelli che hanno il PC che swappa, che ogni tanto si blocca, che rallenta, che si inchioda. Ricordatevi sempre che i bytes, ogni tanto, possono tranquillamente farsi i cavoli loro, come chiaccherare e decidere di cominciare un viaggio senza che nessuno gliel'abbia detto.     &lt;br /&gt;Buona lettura!&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;L'algoritmo di anti-aliasing (AA) generava uno strano effetto persino sul &lt;font color="#0080ff"&gt;byte&lt;/font&gt; che tutto tranquillo se ne stava per i fatti suoi. L'entità &lt;font color="#0080ff"&gt;byte&lt;/font&gt; guardò il proprio corpo e notò che parte di esso era nero come la notte, mentre le estremità tendevano ad assumere colorazioni di nero in qualche modo più chiare. Diverse. Si sorprese, sebbene vivesse già da molto tempo all'interno del sistema dual-core che lo ospitava.&lt;/p&gt;  &lt;p&gt;Non aveva nulla da fare, e per questo passava il suo tempo libero allocato in una cella di memoria senza far nulla di particolare. Continuava ad osservare gli effetti che AA generava sul suo corpo...le tonalità di nero e di grigio scuro fluttuavano da un punto all'altro...prima erano le sue &lt;em&gt;mani&lt;/em&gt; ad essere scure, un ciclo di clock dopo lo erano i piedi. Quando AA renderizzava il colore RGB 0x000000 sulla testa, il &lt;font color="#0080ff"&gt;byte&lt;/font&gt; veniva colpito da un lieve giramento di testa...quasi piacevole...ma...come non gli era mai capitato prima. I colori viaggiavano come onde del mare sul corpo virtuale del byte.&lt;/p&gt;  &lt;p&gt;Il &lt;font color="#0080ff"&gt;byte&lt;/font&gt; fece per uscire dalla sua cella di allocazione, quando ne vide arrivare un altro sul bus di indirizzamento che correva poco più sotto. Il &lt;font color="#0080ff"&gt;byte&lt;/font&gt; notò subito che il suo simile faceva parte di un array, perchè portava chiara ed evidente sul petto l'offset dell'array a cui apparteneva: 0x130. Il &lt;font color="#0080ff"&gt;byte&lt;/font&gt; lo fermò per chiedergli delucidazioni.&lt;/p&gt;  &lt;p&gt;"&lt;em&gt;&lt;font color="#ff0000"&gt;Fermati!&lt;/font&gt;&lt;/em&gt;" - ordinò il &lt;font color="#0080ff"&gt;byte&lt;/font&gt;, sbarrando il bus. L'array non ci passava più, e fu costretto a fermarsi.    &lt;br /&gt;"&lt;em&gt;&lt;font color="#008080"&gt;Che vuoi ?&lt;/font&gt;&lt;/em&gt;" - chiese il byte[130].    &lt;br /&gt;"&lt;em&gt;&lt;font color="#ff0000"&gt;Anche a te succede questa cosa ?&lt;/font&gt;&lt;/em&gt;" - chiese il &lt;font color="#0080ff"&gt;byte&lt;/font&gt;, mostrando al suo interlocutore gli effetti di AA.    &lt;br /&gt;"&lt;em&gt;&lt;font color="#008080"&gt;Oh, certo, da che parte del sistema arrivi ?&lt;/font&gt;&lt;/em&gt;" - rispose di rimando byte[130] - "&lt;em&gt;&lt;font color="#008080"&gt;Guarda...anche io sono come te!&lt;/font&gt;&lt;/em&gt;"&lt;/p&gt;  &lt;p&gt;Il &lt;font color="#0080ff"&gt;byte&lt;/font&gt; osservò per qualche istante byte[130] e non potè che confermare. Anche il corpo di byte[130] era in continuo movimento, sebbene nel suo caso i colori fossero più vivaci e luminosi. La testa, le braccia e parte del petto erano di un verde brillante, mentre gambe e piedi sfumavano verso un verde scuro più intenso e profondo. Se i bytes conoscessero boschi o alberi, probabilmente associerebbero questi colori a giovani foglie di primavera, cariche di verde brillante. Ma non li conoscono, e dal punto di vista dei bytes tutte le varietà di colori non sono altro che combinazioni di 3 bytes, secondo la codifica RGB. Nulla di particolarmente poetico, tranne che per il &lt;font color="#0080ff"&gt;byte&lt;/font&gt;, che continuava ad esserne attratto.&lt;/p&gt;  &lt;p&gt;Il &lt;font color="#0080ff"&gt;byte&lt;/font&gt; diede un'occhiata dietro a byte[130], curioso di vedere quali altri colori avessero i bytes dell'array. Ma non ne trovò altri, byte[130] sembrava essere il primo e l'ultimo &lt;font color="#0080ff"&gt;byte&lt;/font&gt; dell'array. Ma non poteva essere.&lt;/p&gt;  &lt;p&gt;"&lt;em&gt;&lt;font color="#ff0000"&gt;Dove sono gli altri elementi dell'array? Sei l'unico elemento che vedo qui!&lt;/font&gt;&lt;/em&gt;" - domandò &lt;font color="#0080ff"&gt;byte&lt;/font&gt; a byte[130].    &lt;br /&gt;"&lt;em&gt;&lt;font color="#008080"&gt;La memoria è frammentata. Credo che gli altri 512 bytes siano da qualche parte più avanti. Non posso raggiungerli, ma non devo perdere terreno, altrimenti l'elaborazione del secondo core del sistema subirà pesanti rallentamenti. Devo andare!&lt;/font&gt;&lt;/em&gt;" - rispose byte[130].    &lt;br /&gt;"&lt;em&gt;&lt;font color="#ff0000"&gt;Ok, solo un'ultima cosa: chi causa questo AA ? Chi è il responsabile ?&lt;/font&gt;&lt;/em&gt;"    &lt;br /&gt;byte[130] sorrise ingenuamente. Conosceva perfettamente la risposta, e gli piaceva sempre dialogare con gli altri bytes, ma questa volta non aveva davvero tempo: l'OS lo chiamava, sentiva che lo stava chiamando. Si voltò di spalle ed indicò un enorme palazzo lontano, a migliaia e migliaia di offset di distanza. Il byte l'aveva visto anche prima - naturalmente - ma non pensava che fosse così importante.    &lt;br /&gt;"&lt;em&gt;&lt;font color="#ff0000"&gt;Cosa diavolo è quel palazzo ?&lt;/font&gt;&lt;/em&gt;" - chiese il &lt;font color="#0080ff"&gt;byte&lt;/font&gt;.    &lt;br /&gt;"&lt;em&gt;&lt;font color="#008080"&gt;Quella è, come la chiamerebbero i Creatori, la scheda grafica. Graphics Device, Graphics Unit, insomma...è il componente del sistema che si occupava di renderizzare, cioè di inviare in output tutto quello che il Creatore deve vedere. Senza di lei, probabilmente perderemmo gran parte della nostra efficacia. Tutto quello che il sistema elabora e che deve essere visualizzato, passa dalla scheda grafica.&lt;/font&gt;&lt;/em&gt;"&lt;/p&gt;  &lt;p&gt;byte[130] proseguì velocemente nella sua spiegazione.&lt;/p&gt;  &lt;p&gt;"&lt;em&gt;&lt;font color="#008080"&gt;L'effetto AA, che è quello che ci ritroviamo addosso, è solo uno degli algoritmi che applica, allo scopo di ottimizzare l'immagine finale in output. Per evitare che sul monitor compaiano scalettature, un determinato colore viene sfumato in corrispondenza degli altri colori vicini, così da generare un graduale cambiamento del colore stesso. Ma forse è troppo complicato per te, non è vero? Comunque, normalmente non accade che AA disturbi così tanto noi bytes sui tradizionali bus di trasmissione del sistema. Probabilmente qualche problema sui driver genera qualche disturbo che sinceramente non ti so spiegare. Ora però devo andare davvero.&lt;/font&gt;&lt;/em&gt;"&lt;/p&gt;  &lt;p&gt;Durante la spiegazione, il &lt;font color="#0080ff"&gt;byte&lt;/font&gt; teneva gli occhi inchiodati sul palazzo che byte[130] gli aveva indicato. Voleva andarci. Voleva entrarci, farci un giro, capire cos'è un algoritmo di anti-aliasing, una texture, di cui aveva sempre sentito parlate. L'aveva capito fin da subito. Guardò meglio il palazzo. Era altissimo, più di 0x4C2A8 piani, scintillava da innumerevoli punti luminosi che coprivano l'intera superficie: probabilmente - si disse il &lt;font color="#0080ff"&gt;byte&lt;/font&gt; - erano endpoint, porte di comunicazione verso l'esterno. Adesso che osservava meglio, gli sembrava di notare giganteschi stream di bytes che entravano nel palazzo, ininterrottamente, senza perdere un solo ciclo di clock. Si immaginava l'interno. Enormi stanze, ciascuna adibita ad elaborazioni diverse. Una stanza dedicata alle texture, un'altra al bump-mapping, un'altra ancora al cacolo del frae-rate ottimale.&lt;/p&gt;  &lt;p&gt;"&lt;em&gt;&lt;font color="#ff0000"&gt;E come faccio ad arrivarci ?&lt;/font&gt;&lt;/em&gt;" - chiese di nuovo ansioso il &lt;font color="#0080ff"&gt;byte&lt;/font&gt;.&lt;/p&gt;  &lt;p&gt;Ma non gli arrivò mai risposta. Solo silenzio. byte[130] se ne era andato di soppiatto, di nascosto, senza attirare l'attenzione. La domanda cadde nel vuoto. Il &lt;font color="#0080ff"&gt;byte&lt;/font&gt; rimase lì, solo, sul bus, con in testa una sola piccola ed ossessionante idea: quella di raggiungere subito la GeForce, godersela, ed uscire il più tardi possibile. Lasciò la cella di allocazione che gli era stata assegnata e se ne andò tranquillo per il sistema, rischiando di generare instabilità e, forse, qualche blue-screen del sistema operativo. Ma ne valeva la pena. Oh sì, ne era sicuro: ne valeva proprio la pena.&lt;/p&gt;&lt;img src="http://blog.vivendobyte.net/aggbug/331.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blog.vivendobyte.net/archive/2007/10/30/331.aspx</guid>
            <pubDate>Tue, 30 Oct 2007 22:16:40 GMT</pubDate>
            <wfw:comment>http://blog.vivendobyte.net/comments/331.aspx</wfw:comment>
            <comments>http://blog.vivendobyte.net/archive/2007/10/30/331.aspx#feedback</comments>
            <wfw:commentRss>http://blog.vivendobyte.net/comments/commentRss/331.aspx</wfw:commentRss>
            <trackback:ping>http://blog.vivendobyte.net/services/trackbacks/331.aspx</trackback:ping>
        </item>
        <item>
            <title>[Cyberpunk.EpisodeTwo]</title>
            <link>http://blog.vivendobyte.net/archive/2007/09/03/232.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Link alla &lt;/strong&gt;&lt;/font&gt;&lt;/em&gt;&lt;a href="http://blog.vivendobyte.net/archive/2007/08/28/224.aspx" target="_blank"&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;puntata precedente&lt;/strong&gt;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;font color="#008040"&gt;Da qualche parte nel Sud Italia,&lt;br /&gt;16 Luglio, ore 7:35&lt;/font&gt;&lt;/em&gt; &lt;/p&gt;&lt;p&gt;Eclipse si svegliò il giorno dopo di buon'ora. Il sole si era alzato da un paio d'ore e l'aria era ancora frizzante per il freddo della notte. Sentiva chiaramente il rumore generato dal mare agitato: aveva scelto la sua piazzuola in un punto interno del campeggio, avvolto fra i pini marittimi, ma la spiaggia non era distante e quando il vento soffiava dalla parte giusta, sentiva gli schiamazzi dei ragazzi che passavano la giornata in spiaggia. Oggi non era una di quelle giornate; alzò gli occhi al cielo e vide grandi nuvole temporalesche che, lui lo sentiva dal vento che gli soffiava sul volto, si spostavano lentamente. Presto sopra di loro si sarebbe scatenato un bel temporale. Abbandonò quei pensieri: era affamato, come ogni mattina, perciò prima di dedicarsi al suo lavoro preferì consumare fette biscottate - di cui finì la confezione - con marmellata ed un paio di bicchieri di succhi di frutta. &lt;/p&gt;&lt;p&gt;Mentre si riempiva lo stomaco, Eclipsè riordinò le proprie idee per prepararsi al meeting del pomeriggio con il team di ricercatori con i quali collaborava, e ai quali doveva consegnare le Secure Digital che Ajax gli aveva consegnato la sera prima. Quello era solo uno dei passi. Da lì a due mesi la commissione avrebbe dovuto dare un giudizio al lavoro svolto all'interno del progetto LifeByte: se il giudizio fosse stato positivo, la sua vita sarebbe cambiata per sempre. O almeno, lo sperava. Mandò giù un sorso di succo alla pera, assaporandone il sapore. Eclipse, 53 anni compiuti da poco, era un magnate nel settore dell'elettronica. La sua azienda era diffusa e conosciuta in tutto il mondo, comprendeva un certo numero di sedi ed i suoi prodotti erano venduti dappertutto: Europa in primo luogo, poi America ed Asia. Si occupava di personal computer, networking, strumenti di connettività, Internet ed ogni altro tipo di hardware. La società aveva importanti partnership con case produttrici di cellulari, sistemi operativi per computer ed ogni tipo di periferica, dalle stampanti ai monitor, dai dongle USB alle più complesse mainboard del mercato. Possedeva una certa parte di banche, istituti di credito, stampa e televisioni. Era entrato nei primi 100 uomini più ricchi del mondo, e nel 2001 la rivista Time lo aveva eletto uomo dell'anno per aver finanziato - almeno in parte - la creazione del prototipo di un sito che qualche anno dopo sarebbe diventato YouTube, aprendo una nuova era nelle applicazioni Web. I suoi detrattori lo definivano un "figlio di papà", uno di quelli che avevano ereditato una fortuna, uno di quelli per cui la vita era sempre stata facile, ma Eclipse non la pensava così. O certo, suo padre era estremamente ricco, e quando era passato a miglior vita tutta la sua ricchezza era passato a lui, figlio unico. Ma suo padre aveva costruito il proprio impero sul commercio di articoli da ferramenta. Eclipse aveva voluto ricominciare daccapo, ironicamente trattando anche lui di ferramenta...ma di ferramenta informatica: hardware, appunto. &lt;/p&gt;&lt;p&gt;Eclipse era soddisfatto della propria vita e del proprio successo, si considerava per certi versi arrivato, ma il progetto LifeByte aveva dato nuova linfa alla sua voglia di affermazione e lo aveva stimolato come non gli succedeva da anni. Per la prima volta nella sua vita un progetto non lo aveva portato a creare un prototipo hardware, non aveva bytes, nè clock, nè firmware, ma era basato sul carbonio. Il prototipo di LifeByte era un organismo vivente, una persona, e nella fattispecie Ajax, il ragazzo dj 23enne che aveva incontrato poche ore prima. Eclipse si rendeva conto che interi decenni di fantasie cyberpunk potevano essere tranquillamente spazzate via, perchè Ajax era una realtà. Naturalmente, il mondo era ancora all'oscuro delle tecnologie messe a punto dai suoi laboratori di ricerca, ma il magnate era pronto a rendere tutto pubblico, non appena la commissione avesse approvato il lavoro. Nessuno gli avrebbe messo a bastoni tra le ruote, tutto sarebbe andato per il meglio. Senza accorgersene, Eclipse sorrise debolmente, pregustando l'impatto che le sue ricerche avrebbe scatenato sul mondo intero. Sognò di un mondo dove tutti potessero avere libero accesso alla Rete, sempre ed in ogni luogo, poter sapere tutto in ogni istante, essere costantemente informati, acquistare un libro dall'altra parte del mondo mentre si cammina per la strada, tenere d'occhio il proprio conto on-line solo con un pensiero, comunicare potenzialmente con qualsiasi altra persona della Terra semplicemente convogliando le parole su uno stream digitale nella mente. Sentiva che questa volta non solo avrebbe regalato qualcosa a se stesso e alla sua società, ma anche all'umanità intera. Eclipse si ridestò dai suoi sogni quando la sveglia del Casio che portava al polso trillò, per avvisarlo che aveva un aereo da prendere. L'aereo era il suo jet personale, perciò l'avrebbe aspettato comunque, ma odiava fare tardi, soprattutto quando aveva in programma un incontro così importante. Prese il cellulare e compose il numero in cima alla lista delle chiamate recenti. Il cellulare dall'altra parte della rete squillò un paio di volte, poi rispose una voce femminile... &lt;/p&gt;&lt;p&gt;"&lt;em&gt;&lt;font color="#ff00ff"&gt;Eccomi, sto arrivando, papà...&lt;/font&gt;&lt;/em&gt;" - la voce femminile sembrava appartenere ad una ragazza giovane.&lt;br /&gt;"&lt;em&gt;&lt;font color="#804000"&gt;Ciao, tesoro. Fa' con calma, ho ancora da fare qui.&lt;/font&gt;&lt;/em&gt;" - disse l'uomo.&lt;br /&gt;"&lt;em&gt;&lt;font color="#ff00ff"&gt;Ok, tanto sarò lì fra...&lt;/font&gt;&lt;/em&gt;" - fece una breve pausa - "&lt;em&gt;&lt;font color="#ff00ff"&gt;...venti minuti, trenta al massimo. Non c'è traffico. A dopo&lt;/font&gt;&lt;/em&gt;".&lt;br /&gt;"&lt;em&gt;&lt;font color="#804000"&gt;Va bene, allora...passami a prendere davanti al campeggio, mi farò trovare lì&lt;/font&gt;&lt;/em&gt;". &lt;/p&gt;&lt;p&gt;Prima che lei potesse continuare, Eclipse premette il tasto per chiudere la conversazione. Sistemò quello che c'era da sistemare, poi andò sulla roulotte per mettersi addosso qualcosa di pratico e comodo da indossare per il viaggio - avrebbe trovato qualcosa di più adatto alla riunione sull'aereo, o al massimo a Ginevra, la destinazione del volo, dove si trovava la sede principale della sua società. Indossò un paio di jeans, con una camicia dal colore ocra a righe verticali rosse ed un paio di scarpe sportive, ma non troppo alla moda. Prima di uscire prese la valigetta con le SD che Ajax aveva riempito di stream, chiuse a chiave la porta della roulotte e la veranda, poi si diresse con passo tranquillo verso l'ingresso del campeggio, dove sua figlia Managed sarebbe passato a prenderlo intorno alle ore 9:00. Attese solo una decina di minuti. Quando la grossa jeep Mercedes rallentò ed accostò accanto a lui, cominciarono a cadere le prime pesanti gocce di pioggia. "Giusto in tempo" - pensò Eclipse, salendo sulla vettura ed accomodandosi sul sedile dal lato del passeggero.&lt;/p&gt;&lt;img src="http://blog.vivendobyte.net/aggbug/232.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blog.vivendobyte.net/archive/2007/09/03/232.aspx</guid>
            <pubDate>Mon, 03 Sep 2007 21:41:25 GMT</pubDate>
            <wfw:comment>http://blog.vivendobyte.net/comments/232.aspx</wfw:comment>
            <comments>http://blog.vivendobyte.net/archive/2007/09/03/232.aspx#feedback</comments>
            <wfw:commentRss>http://blog.vivendobyte.net/comments/commentRss/232.aspx</wfw:commentRss>
            <trackback:ping>http://blog.vivendobyte.net/services/trackbacks/232.aspx</trackback:ping>
        </item>
        <item>
            <title>[Cyberpunk.EpisodeOne] L'incontro</title>
            <link>http://blog.vivendobyte.net/archive/2007/08/28/224.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;&lt;font color="#808040"&gt;Ho cominciato a scrivere questo racconto mentre ero in vacanza. Se mi ispira, e se avrà successo (soprattutto nella mia testa), questo post vuole essere l'inizio di una serie di racconti concatenati - una sorta di saga cyberpunk con bytes, personaggi reali e riferimenti vari al mio lavoro, ai miei amici, ai miei colleghi, alla mia vita. Non escludo che possa diventare qualcosa in più, un giorno in un futuro prossimo che adesso non so prevedere. Spero vi possa piacere, così come piace a me. Buona lettura.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;MIA.&lt;br /&gt;In gergo militare, questa sigla sta per &lt;em&gt;&lt;font color="#0000ff"&gt;Missing in Action&lt;/font&gt;&lt;/em&gt;. Ci si riferisce alla perdita di contatto di un soldato durante un'azione di guerra. Il DJ alla console usava lo stesso acronimo, ma pensava a tutt'altro. Per lui MIA stava per &lt;em&gt;Mixing in Action&lt;/em&gt;, ovvero quella fase in cui due canzoni si miscelano fra loro, una che svanisce, e l'altra che invece sale di volume fino a riempire la pista da ballo. Le mani del DJ si muovevano veloci, manovrando in modo naturale i cursori per la regolazione dei bassi e dei volumi. Poco più di un centinaio di giovani stavano ballando sotto di lui. Il ritmo tribale pulsava nelle vene di tutti, che urlavano, gioivano e si muovevano seguendo il tempo musicale.&lt;br /&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;Tum Tum. Tum Tum.&lt;/font&gt;&lt;br /&gt;&lt;/em&gt;Il dj lavorava ininterrottamente da un'ora circa, ma fra circa cinque minuti avrebbe lasciato il posto a qualcun'altro. Concentrandosi sul ritmo che stava riempiendo la sala, sostituì il CD in uno dei due lettori della console e bevve un lungo sorso di Bacardi Breeze per finire la bottiglietta. Un istante dopo, puntò il suo sguardo su una grossa valigetta argentata ai suoi piedi: gli sarebbe servita durante il suo appuntamento e l'ultima cosa che voleva era dimenticarsene. Sarebbe stato un bel guaio. Il ragazzo alla console si chiamava Ajax, aveva poco più di 23 anni e faceva il dj da circa 4. Sapeva che l'appuntamento poteva essergli fatale. Non avrebbe rischiato la pelle - questo no - ma era convinto che la vita oggi poteva ucciderti in modi molto più subdoli che con una semplice pallottola nella testa. Il DJ passò alla fase MIA della sua ultima canzone, almeno per quella sera.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;A metà luglio la stagione estiva del campeggio non era ancora veramente esplosa. Gli arrivi massicci di turisti sarebbero arrivati solo con l'inizio di agosto. Questo permetteva ai villeggiatori di avere una certa &lt;em&gt;riservatezza&lt;/em&gt; ed una certa &lt;em&gt;tranquillità&lt;/em&gt;. Fra questi, c'era un uomo - dall'età approssimativa di 50 anni - che indossava pantaloncini da bagno, una camicia hawaiana e ai piedi portava un paio di infradito. Tutte le donne - provate a chiederglielo - considerano le infradito come il capo d'abbigliamento maschile più sexy. L'uomo non le indossava per quel motivo, semplicemente le trovava comode. Non aveva bisogno di attrarre le donne, perchè le donne che voleva se le comprava senza troppi scrupoli. E non solo le donne. Ogni cosa ha un suo prezzo intrinseco, e l'uomo riusciva sempre ad ottenere tutto quello che voleva.&lt;br /&gt;Quando arrivò alla sua piazzuola, si lasciò cadere sulla sua comoda sedia a sdraio, fuori sulla veranda. Guardò l'orologio, che segnava mezzanotte e venticinque. Aspettava una persona e constatò che mancavano 5 minuti all'orario dell'appuntamento. Giusto il tempo di una birra fresca, pensò. Raggiunse il suo piccolo cucinino - una tenda separata con un fornello - e dal frigorifero tirò fuori una lattina ghiacciata. Nonostante l'ora tarda, la temperatura era mite e perfettamente in linea con le medie stagionali. Quando ritornò sotto la veranda, si trovò di fronte un ragazzo, robusto e slanciato allo stesso tempo, con strani capelli dalla pettinatura stravagante. L'uomo lo fissò per alcuni secondi, affascinato dalla J e dalla X che il ragazzo aveva tatuato sul braccio destro. Le due lettere assumevano un colore verdastro sulla pelle abbronzata, ed erano intrecciate tra loro, come se l'una non potesse vivere senza l'altra.&lt;/p&gt; &lt;p&gt;"&lt;em&gt;&lt;font color="#008040"&gt;Sei tu Ajax ?&lt;/font&gt;&lt;/em&gt;" - chiese l'uomo in modo serioso.&lt;br /&gt;"&lt;em&gt;&lt;font color="#804000"&gt;Sì, sono io. Lei invece deve essere Eclipse, giusto?&lt;/font&gt;&lt;/em&gt;" - rispose il ragazzo, sedendosi sulla sedia di plastica più vicina.&lt;br /&gt;"&lt;em&gt;&lt;font color="#008040"&gt;Ci hai preso, ragazzo. Finalmente ci incontriamo. Hai cancellato la cache del Messenger? Non vorrei che qualcuno ci rintracciasse&lt;/font&gt;&lt;/em&gt;"&lt;br /&gt;"&lt;em&gt;&lt;font color="#804000"&gt;Tranquillo, è tutto a posto. Sul Web non c'è alcuna traccia, nè su Messenger, nè su e-mail. Gli anonymizer hanno funzionato, stia tranquillo, sto monitorando anche adesso la situazione. L'http è completamente pulito&lt;/font&gt;&lt;/em&gt;".&lt;/p&gt; &lt;p&gt;L'uomo sapeva benissimo che quando Ajax diceva &lt;em&gt;adesso&lt;/em&gt;, intendeva proprio &lt;em&gt;adesso&lt;/em&gt;, e non era un modo di dire. Aveva notato subito la periferica wireless che il ragazzo teneva sopra l'orecchio destro - un oggetto poco più piccolo di un dongle USB che si innestava direttamente nella massa (parzialmente) cerebrale a 32-bit del ragazzo. Ajax riceveva costantemente un array di bytes in streaming dalla Rete, che poteva usare per navigare o parsare a suo piacimento. Poteva ricevere e spedire e-mail o connettersi a servizi Web esposti da WCF. Ajax poteva pensare a qualcosa, reindirizzare su un file del suo cervello l'output stesso del suo pensiero e trasmetterlo via ftp ad un server. Poteva persino ricevere notifiche ed aggiornamenti per il suo firmware. Poteva fare questo ovunque, l'importante per lui era mantenere &lt;em&gt;alive&lt;/em&gt; la connessione http con la Rete. Ajax era un individuo straordinario, assolutamente il primo della sua specie. Eclipse lo conosceva di persona solo da qualche minuto, e non sapeva se averne paura o se coccolarlo come fosse suo figlio. Nel dubbio, scelse la seconda opzione, perchè era la più sicura. Meglio averlo come amico che come nemico.&lt;/p&gt; &lt;p&gt;"&lt;em&gt;&lt;font color="#008040"&gt;L'operazione LifeByte è prossima alla conclusione, ma abbiamo ancora bisogno del tuo aiuto.&lt;/font&gt;&lt;/em&gt;" - spiegò Eclipse - "&lt;em&gt;&lt;font color="#008040"&gt;Abbiamo avuto dei casi di rigetto, meno del 5%, ma i nostri ricercatori hanno concluso che si trattava di memorie a stato solido inefficaci, non era un problema imputabile ai soggetti selezionati. Il transfer-rate è buono, ma loro pensano di poter fare di meglio. E qui arrivi in gioco tu.&lt;/font&gt;&lt;/em&gt;"&lt;br /&gt;"&lt;font color="#804000"&gt;&lt;em&gt;Sì, lo so, è per questo che sono qua.&lt;/em&gt;&lt;/font&gt;" - Ajax si alzò in piedi, prese la valigetta argentata che teneva accanto a sè, vicino alla sedia, e la appoggiò sul tavolo. Innestò la porta USB che esponeva dal polso destro al meccanismo digitale di apertura della valigetta, che si aprì in una frazione di secondo. Come molte altre volte, Ajax non aveva fatto altro che &lt;em&gt;pensare&lt;/em&gt; alla combinazione corretta, redirigerla all'output su USB ed il gioco era fatto. Eclipse si alzò in piedi per vedere meglio il contenuto.&lt;br /&gt;La valigetta conteneva un certo quantitativo di schede Secure Digital da 8Gb l'una.&lt;br /&gt;"&lt;font color="#804000"&gt;&lt;em&gt;Queste sono le stesse SD che mi consegnò il tuo corriere. In totale sono 64. Alcune sono danneggiate, per l'esattezza 6, e non ho potuto usarle. Sono contrassegnate con del nastro adesivo rosso, quindi le riconoscerai. Cerca di farmi avere sempre SD di qualità, sai che mi viene un fottuto mal di testa quando tento di accedere a memorie rovinate, e non lo sopporto.&lt;/em&gt;&lt;/font&gt;". Su Internet Ajax non parlava quasi mai in tono volgare: quando accadeva, c'era sempre un buon motivo.&lt;br /&gt;"&lt;font color="#008040"&gt;&lt;em&gt;Non era un problema risolto con la patch LB7628 ?&lt;/em&gt;&lt;/font&gt;" - chiese Eclipse.&lt;br /&gt;"&lt;em&gt;&lt;font color="#804000"&gt;L'ho installata 3 giorni fa. E' diminuito, però il mal di testa c'è sempre, e vorrei che sparisse.&lt;/font&gt;&lt;/em&gt;" - rispose Ajax un po' acido.&lt;br /&gt;"&lt;em&gt;&lt;font color="#008040"&gt;Ok, vedremo di lavorarci ancora. Ma non è una priorità, Ajax, mi spiace. Useremo i dati che hai raccolto nelle SD per completare la fase 3. E' prevista l'uscita del service pack tra un mese circa. Fino ad allora, non potremo più più incontrarci di persona, perciò se hai bisogno di me, sai dove trovarmi&lt;/font&gt;&lt;/em&gt;".&lt;br /&gt;Il ragazzo annuì, non avrebbe avuto problemi a contattare Eclipse se ne avesse avuto necessità.&lt;/p&gt; &lt;p&gt;... ... ... 0x56 0xA3 0x17 0x00 0x00 0x00 0x00 0x34 0xFF 0x81 ... ... ...&lt;/p&gt; &lt;p&gt;D'improvviso Ajax cominciò a ricevere uno stream di byte che reputava interessante. L'IP della trasmissione gli rivelava che proveniva dal sito &lt;a href="http://www.ebay.it" target="_blank"&gt;www.ebay.it&lt;/a&gt;, il noto sito di aste on-line. Lo esaminò per qualche ciclo di clock...per qualche secondo...e la sua intuizione ebbe conferma.&lt;br /&gt;"&lt;font color="#804000"&gt;&lt;em&gt;Hai presente quella DeLorean di cui parlavamo l'ultima volta su Messenger ?&lt;/em&gt;&lt;/font&gt;" - domandò il giovane, con un bel sorriso sulla faccia.&lt;br /&gt;"&lt;em&gt;&lt;font color="#008040"&gt;Sì, certo. Novità ?&lt;/font&gt;&lt;/em&gt;" - rispose di rimando Eclipse, sorpreso da come Ajax avesse cambiato discorso di punto in bianco.&lt;br /&gt;"&lt;em&gt;&lt;font color="#804000"&gt;Forse ho trovato qualcuno che me la vende ad un prezzo onesto. Scusami, ma adesso devo proprio scappare&lt;/font&gt;&lt;/em&gt;". Ajax chiuse la valigetta in tutta fretta, lasciandola sul tavolo in plastica bianca, proprio al centro della veranda. "&lt;em&gt;&lt;font color="#804000"&gt;Alla prossima, allora&lt;/font&gt;&lt;/em&gt;".&lt;br /&gt;Senza particolari convenevoli, i due si separarono. Il DJ si allontanò, imboccando lo stesso sentiero illuminato dal quale presumibilmente era arrivato. Eclipse, spiazzato, lo guardò andar via senza proferire parola, ammirato per quella persona che - si diceva - aveva contribuito &lt;em&gt;in qualche modo&lt;/em&gt; a creare. Rimase a pensare per un minuto, finendo la sua bottiglietta di birra, poi prese la valigia argentata con tutti i suoi 464Gb totali, spense la luce e se ne andò a dormire sulla sua roulotte.&lt;/p&gt;&lt;img src="http://blog.vivendobyte.net/aggbug/224.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blog.vivendobyte.net/archive/2007/08/28/224.aspx</guid>
            <pubDate>Tue, 28 Aug 2007 10:14:14 GMT</pubDate>
            <wfw:comment>http://blog.vivendobyte.net/comments/224.aspx</wfw:comment>
            <comments>http://blog.vivendobyte.net/archive/2007/08/28/224.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blog.vivendobyte.net/comments/commentRss/224.aspx</wfw:commentRss>
            <trackback:ping>http://blog.vivendobyte.net/services/trackbacks/224.aspx</trackback:ping>
        </item>
    </channel>
</rss>