|
010 .bytes. 010
Piccoli racconti e vicende al limite del cyberpunk: storie di bytes che fuggono, che non ce la fanno più, che scappano, che vivono e muoiono, che corrono e che si fermano, che contengono e che si aggregano
Il byte viaggiava su un bus che lo portava verso l'alto, in un modo che il byte non riusciva a capire. E come avrebbe potuto? Non ebbe molto tempo per pensarci, perchè dopo nemmeno 0x1E cicli di clock si intrufolò in un algoritmo grafico a bassa risoluzione, di quelli che la scheda grafica avrebbe elaborato diverse centinaia di volte al secondo. Il byte si schiantò con un rumore metallico sulla memoria AGP del sistema, divenendo la componente G di uno dei tanti pixel che formavano una scritta grigio scuro, sullo schermo. Una scritta in caratteri ASCII, che l'OS comprendeva solo perchè...
Alla fine, ogni byte prima o poi deve fare shutdown. Oggi è il turno del mio byte. Domani potrebbe capitare a voi. L'importante è che il GC faccia piazza pulita dei bytes giusti e non di quelli sbagliati. Nelle mie storie racconto sempre di bytes che provano emozioni: sappiamo tutti che questo non può rispondere a verità, ma a me piace pensare il contrario. Se io fossi un byte, oggi sarei inquieto, ma credo sia normale, giusto? Good coding a tutti, e buon weekend!
Bello, questo mi piace, bravo Igor. :-) Dedicato a Cisternino e a tutti quelli che credono che in fondo il pallino del gioco ce lo hai sempre in mano tu. Buona fortuna, a tutti. I più cinici pensano che l'alba sia un momento come qualsiasi altro che dipinge la nostra giornata, nulla di più e nulla di meno. Il fatto che in quel momento sorga il sole, per loro non significa nulla. Durante l'alba il sole sorge, a mezzogiorno raggiunge lo zenit, e al tramonto il sole...tramonta. E allora? Non era di questa idea lo sviluppatore, che quel...
A quell'ora del giorno, il bus era silenzioso. Fino a qualche minuto fa, la CPU era stata piuttosto impegnata, dopo l'attivazione del processo VirtualDub.exe che aveva dovuto comprimere in DivX uno stream video di quasi 10 minuti, corrispondenti a qualcosa come 13.500 frames. L'OS aveva capito fin da subito che si trattava di un ennesimo Video OT del Venerdì, che il suo utente produceva, puntuale, ogni settimana: senza dirgli nulla, aveva aumentato di qualche punto la qualità del codec DivX, in modo tale da produrre un video migliore. Lo stream su file era stato leggermente più grande, ovviamente, ma il...
Sebbene avesse poco più di 40 anni, lo scienziato si sentiva stanco. E vecchio, soprattutto. Era a casa sua, sdraiato sul suo divano preferito, in salotto, davanti al camino le cui ceneri emanavano un bagliore rossastro che lo rassicurava. Ma lui si sentiva tutto fuorchè rassicurato. L'orologio segnava le 3 del mattino, e fra poche ore sarebbe dovuto andare in ufficio, e lo aspettava una giornata pesante.
Lo scienziato sorseggiava lentamente un bicchiere di amaro dei trulli, che gli bruciava in gola e gli lasciava in testa un torpore indefinito. Si sentiva stanco davvero, e non riusciva a capire se fosse...
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...
All'inizio del tempo, nacque il byte. Il byte era solo, e le sue capacità di calcolo erano estremamente limitate: tutto ciò che poteva fare era spostare o sommare i suoi 8 bit interni, seguendo le logiche impartite. Non aveva altri bytes con i quali accoppiarsi, con i quali metter su array, o strutture ancora più complesse come gli oggetti. Poteva solo contare da 0x00 a 0xFF in qualche frazione di secondo, ma non aveva alcuno scopo, e perciò smise presto di farlo. Ma poi - con il passare del tempo - nacquero altri bytes accanto a lui. byte[0], il progenitore, cominciò a sentire...
Questo è il mio ultimo racconto sui bytes pubblicato qua su UGIdotNET. Il mio byte ha trovato casa, finalmente, per la gioia di Lorenzo e di qualcun'altro. Ve lo farò sapere, comunque, così chi è interessato può continuare a leggermi. Questo breve racconto prende il via da una dorsale Internet e raggiunge un sistema desktop, e tutti i numeri citati sono multipli di due. Mi sono divertito, spero faccia rilassare anche voi. :-)
Cliccare per leggere!
Lo stadio era gremito di gente, che stava in silenzio, rapito dalle performance delle due giocatrici. Il sole era caldo, l'arrivo dell'estate si stava facendo sentire, e parecchi bambini tra il pubblico sorseggiavano una bibita fresca per alleviare la calura. Questo però non impediva loro di disturbare i genitori, ogni tanto. Sul campo, Anna scattò improvvisamente a sinistra, seguendo d'istinto la traettoria della pallina da tennis che si stava spostando verso di lei. Era stanca, l'incontro durava da quasi un'ora ormai, ma non aveva nessuna intenzione di mollare. I primi 2 set si era conclusi a suo favore, ma sapeva...
In un sistema con 1Gb di memoria RAM abbiamo 1.073.741.824 indirizzi di memoria diversi (da 0x00000000 a 0x40000000). Se considerassimo la distanza tra una cella e l'altra pari ad un nostro chilometro, questo range di indirizzi coprirebbe una lunghezza pari a 1.073.741.824 chilometri, equivalenti a ben 26.793 volte la lunghezza dell'equatore terrestre.
Il byte sognava di viaggiare. Era nato qualche centinaia di miliardi di cicli di clock fa in una cella di memoria ai margini del sistema, in una di quelle celle che non erano mai state utilizzate. Il byte sapeva di avere poche speranze di poter partecipare attivamente al lavoro dell'OS: probabilmente sarebbe servito solo...
Tutti noi siamo abituati ad avere un domicilio, ovvero
una locazione ben precisa nel quale ci sentiamo
a casa, siamo reperibili e raggiungibili dagli altri. Abbiamo quindi un recapito,
ovvero un indirizzo al quale chi ci
conosce può accedere ed usare come riferimento per venirci a trovare. Da questa
locazione possiamo traslocare, ed avere pertanto un nuovo indirizzo da
qualche altra parte. Solitamente, siamo noi che decidiamo il quando e il dove di
questo spostamento; qualcuno meno fortunato viene invece sfrattato o, in altre
parole, deallocato. Le analogie con la memoria
RAM e i bytes sono parecchie. Ma ci sono dei ma.
Quando siamo fuori dalla nostra...
Il byte rimaneva con
gli occhi abbassati. In quei momenti sentiva il battito del clock rimbombare
distintamente dalle pareti fin dentro al suo petto, un colpo dopo l'altro. Aveva
la mente vuota, rilassata, come se si trovasse in un altro posto del sistema
invece che di fronte alla peggiore delle situazioni: la matrice l'aveva appena
scovato e stava per porre fine alla sua esistenza. Ma il byte non aveva paura, non riusciva a provare quel sentimento.
Se ne stava lì, inebetito, ad aspettare la sua fine.
Byte, fa' qualcosa. Alza la testa
e ribellati!
Un istante prima che la matrice gli chiedesse se ne era...
La matrice osservava da alcuni cicli di clock il piccolo
byte, che se ne stava acquattato nella
sua insignificante cella di memoria. La sua attenzione era attirata in modo
particolare dagli occhi del byte, che suggerivano
il fatto che fosse estremamente impaurito, quasi ansioso di andarsene da quel
maledetto posto. Compito della matrice era principalmente sorvegliare - ed era
proprio quello che stava facendo. Da diverso tempo, il byte stava causando qualche exception di troppo nel sistema, causando diversi
problemi che andavano assolutamente risolti, per non doverli affrontare più
tardi in forma più grave.
La matrice consultò in un istante il proprio log interno relativo...
Il thread corrente chiese al framework a quale Culture appartenesse, e quando questi gli rispose "IT-it", seppe cosa bisognava fare. Attraverso il bus PCI, il thread corrente riceveva continuamente le immagini proveniente dalla scheda TV inserita nel sistema, in modo tale da poter seguire quell'evento di straordinaria potenza mediatica che i Creatori chiamavano "Finale della Coppa del Mondo di Germania 2006". Le squadre in campo, così gli diceva l'object model, erano ovviamente due: Italia e Francia, che si contendevano il trofeo.
La Francia con David Trezeguet ha sbagliato un rigore, e l'Italia è in vantaggio di un goal.Fabio Grosso è sul...
Quando si svegliò, si sentì subito di cattivo umore.
Voleva starsene per conto proprio, tranquillo, mentre in realtà sapeva quello
che lo aspettava. Il byte rimase ancora qualche ciclo di clock nella propria
cella di memoria, stropicciandosi gli occhi e cercando di ricordarsi
dove si trovava. Che vita di inferno - si disse il byte! Non è possibile vivere
in questa maniera, sempre di corsa, svegliandosi la mattina senza ricordarsi più
nulla del giorno prima, senza un attimo di tempo libero. Pensò per un solo
istante a quanto sarebbe stato bello poter vagare liberamente per il sistema,
senza dover per...
Si avvicinò ad una porta di I/O, speranzoso.Consegnò al controller
seriale il proprio patrimonio, e sospirò.Attese il consenso del thread
corrente, e l'ansia cresceva.
Tremava, e non capì se fosse paura o emozione.Paura, di non farcela,
di non essere all'altezza, e di essere un perdente.Emozione, per una vita
sognata e desiderata a lungo, e di essere un vincente.
Il controller, finalmente, fece un cenno di
assenso.Sollevato, il byte fece un solo, piccolo passo
avanti.Pensò che era un grande passo per se stesso.
Un attimo dopo, era fuori. Un debole alito di vento gli soffiò sulla
faccia.Rumore e suoni. Un ticchettio di un orologio, e uno
sbattere di ali fuori dalla finestra.Alzò gli...
0x78FFA0.Questo comparve sul bus address del
sistema. Il byte reagì immediatamente, balzando sullo stream di dati insieme a
tutti gli altri. Pochi cicli di clock dopo, il byte stava percorrendo un bus
litoraneo: alla sua sinistra si ergeva una parete altissima, ricoperta di
informazioni sparse a casaccio su tutta la superficie. Alla sua destra, invece,
uno strapiombo che finiva chissà dove. Mentre correva, il byte guardò e provò un
brivido al pensiero di cadere giù. Lo strapiompo finiva sulla RAM, ma il byte
non lo poteva sapere, perchè un forte senso di vertigine gli impedì di guardare
a lungo, così...
Rispettate le Leggi sui Bytes, leggete
cosa può succedere al vostro codice.
byte[5] si allontanò dai byte[] con cui era
arrivato fino lì. Gli altri lo avevano notato: negli ultimi 0xA3DD8 cicli
di clock del sistema, era diventato più cupo, silenzioso ed introverso.
byte[5] sempre più spesso si ostinava a non cooperare
con gli altri. Nonostante i tasks di sistema gli chiedessero in continuazione il proprio patrimonio genetico, alla scopo di portare
avanti con successo tutti i processi, byte[5] ritornava
sempre e comunque null. La CPU gli chiedeva di
trasferirsi da una cella all'altra, ma byte[5] rifiutava
e se ne andava a spasso per il...
Erano passati 5,53E+10 cicli di clock da quando il sistema era
stato avviato l'ultima volta: nonostante l'elevato numero, in realtà l'OS era
ancora in fase iniziale di boot. Tutto è relativo, però. I Creatori
nell'Aldilà avrebbero misurato lo stesso intervallo in circa 30 secondi,
un numero molto piccolo, considerando il tempo che
intercorre tra la creazione di una nuova istanza di Human ed il
suo corrispondente finalizer. Il boot procedeva regolarmente: il
bootstrap era avvenuto con successo, le componenti primarie del kernel stavano
caricando i driver dell'hardware, inizializzando di conseguenza tutte le
periferiche che avrebbero permesso, tra qualche istante, di poter cedere il
controllo alla UI.
Il byte,...
I bytes che vivono in prossimità dell'indirizzo
0x80000 vivono isolati, lontani dal vero fulcro delle attività. E'
difficile immaginare un mondo con un confine reale,
fisico, al di là del quale non esiste più nulla,
come se fantomatiche Colonne d'Ercole impediscano di andare oltre. E' difficile spiegare a parole cosa vuol dire
tentare di superare questi limiti, e di venir rimappati dalle logiche della CPU verso
l'indirizzo base della memoria RAM o, peggio, di provocare un
crash di sistema. E' difficile immaginarlo, eppure al byte capitò di trovarsi
in quelle zone virtualmente oscure, fisicamente all'estremo confine
dello spazio di indirizzamento disponibile. Mentre aspettava il proprio...
Il soldato nazista si nascose in mezzo agli alberi,
un filare di grandi betulle che costeggiavano il fossato qualche metro più
in là. Si accucciò in silenzio e cercò di prendere fiato.
Era sudato, sporco ed impaurito ma la cosa peggiore era che doveva sfuggire
ai suoi nemici che lo braccavano. Alzò lo sguardo ed i suoi occhi digitali scrutarono con attenzione la strada di terra
battuta da cui era arrivato, cercando ansioso qualsiasi traccia dei suoi
inseguitori. Sperava di vedere qualche nemico ucciso, ma una voce dentro di lui
gli diceva che era una cosa impossibile: l'algoritmo ripuliva le aree di
memoria man mano che non...
byte[0], byte[1] e byte[2] si tennero per
mano, mentre saltarono sul bus AGP 8x, trovando la loro esatta collocazione
all'interno del flusso dati ad alta velocità e mantenendo costantemente una
bandwidth di 2,1Gb/sec. Un valore - pensò il byte - enormemente più alto
rispetto ai classici bus di sistema. Oltre a questa grande differenza di
velocità, notò che il bus su cui sfrecciava ospitava ben 128 bit. Sgranò gli
occhi, non avendo mai visto nulla del genere, e si sentì in qualche modo più
potente e al centro del mondo. Strinse forte le mani degli altri 2 vertici del
triangolo e si...
"Dove ci troviamo? Chi sei
tu?" - domandò spaventato il byte."Questa è un'area di memoria AGP ad alte prestazioni. Io sono
R, sono il byte[0] del nostro triangolo di appartenenza.
Tu sei G. Siamo due dei miliardi e miliardi
di bytes che ogni secondo vengono inviati qui dall'OS per essere
renderizzati. Lui è B, per gli amici byte[2], lo vedi, laggiù?
Non aver paura, sta' tranquillo!
""Renderizzati? Che significa? Non voglio star tranquillo, voglio
uscire subito di qui!"....
Questo è un po' OT, scusatemi, ma mi dovevo sfogare un po' dopo la settimana incasinata.Se disturba, ditemelo che lo rimuovo dal feed UGIdotNET. Buona lettura, se volete.
Italia, 1830La donna aveva poco
meno di una trentina d'anni. Era graziosa, con lunghi capelli castani, ed
indossava quel vestito rosso costellato da delicate rose bianche che le piaceva
tanto. Glielo aveva regalato lui il giorno del loro
fidanzamento, 1 anno prima. Era nervosa ed ansiosa che lui arrivasse,
non vedeva l'ora di dargli la splendida notizia. Non stava nella pelle: girava a
vuoto per la casa, aveva spolverato i mobili già due volte,
controllava continuamente che i...
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. ...
continua dal post precedente
Sasser non era mai stato così sicuro come in questo
momento. Sapeva che l'OS aveva già rilevato la sua presenza, ma nonostante
questo era conscio e ben sicuro di quello che stava per fare. L'entità si
trovava in un posto al sicuro all'interno della RAM del sistema: non che l'OS
non potesse rilevarla, però la memoria era così vasta che c'era una minima
probabilità che qualche scanner capitasse proprio in quel punto. Voleva
agire alla svelta, perchè così voleva il suo codice interno. Un malicious
code è un'entità semplice, elementare e nemmeno molto estesa in termini di...
Il bus a 32 bit era minaccioso, oscuro e silenzioso, illuminato a tratti da lampi blu e
da sequenze di dati che lo percorrevano in tutta la sua lunghezza. Nonostante si
trovasse in un ambiente ostile e che percepiva come nemico, il byte sapeva esattamente quello che
doveva fare in quel sistema esterno. Non si trovava lì per caso,
e quella per lui non era certo una vacanza-premio o chissà cosa. La missione che
gli era stata affidata dal suo OS era chiara e ben definita. Non aveva
alcuna intenzione di deluderlo, nè soprattutto di deludere se stesso. Aveva preso
parte a...
Dedicato a Jolly, il cane che è
stato il miglior amico della mia famiglia dall'estate 1990.Oggi, stanco, ha
deciso di lasciarci.
Il byte ne aveva passate di cotte e di crude.Pensò a quella volta che si
imbattè per la prima volta in un firewall: il software firewall voleva
respingerlo, eliminarlo perchè lo considerava un byte pericoloso. Lui riuscì ad
aggirarlo: aggregandosi con altri bytes, formò un costrutto di codice e ad
oltrepassare le regole imposte e ad entrare nel sistema.Pensò a quando
correva veloce, lungo i bus di sistema, portando informazioni da una parte
all'altra del sistema senza perdere un colpo.Pensò...
27 Ottobre 2005, ore 18:45 UTCIn uno dei tanti Server Web
Microsoft....
Il servizio IIS girava tranquillamente da qualche settimana. Ben bilanciato
ed ottimizzato, IIS riceveva un'enorme quantità di bytes in ingresso, e una
quantità ancora più grande era formata dai files che il servizio aveva
restituito ai driver di rete per poter essere inviati al client. L'interno del
server era tutto sommato piuttosto tranquillo, in questo momento: l'80% delle
informazioni richieste erano già state tutte inserite nella cache di sistema.
L'hard-disk, inserito in un sistema RAID, era fermo e quasi completamente
inutilizzato.
In uno dei tanti bus di sistema in RAM,...
Nomi, fatti e luoghi NON sono
puramente casuali. I fatti raccontati sono ispirati ad una vicenda realmente
accaduta durante la serata di domenica, 23 ottobre 2005 nella mia
famiglia.
La famiglia era riunita a cena. Ridendo purtroppo delle disavventure del
governo, si mangiava in un'atmosfera divertente e rilassata. I due figli
Igor e Omar, manco fossero due terroristi (uno ceceno, l'altro
mediorientale), erano stati allo SMAU quel giorno, e raccontavano ai genitori
quello che avevano visto, fatto e comprato."Beh,
insomma, alla fine siamo andati negli stand Microsoft e trovare degli amici e a
vedere un po' qualcosa di interessante." - disse Igor, concludendo...
La ragazza, che si chiamava Elena, arrivò a casa,
stanca e piuttosto stressata dalla lunga giornata di lavoro. Era stata in piedi
tutto il giorno in una sala conferenze di Microsoft a Segrate, a porgere il
microfono a un tizio piuttosto che un altro, tutti partecipanti ad un workshop
organizzato da UGIdotNET. Si era annoiata
parecchio, perchè quei ragazzi parlavano di programmazione, di framework
e di altri concetti strani con cui lei non aveva mai avuto a che fare.
Era rimasta colpita soltanto in due occasioni: quando Francesco Carucci ha fatto
vedere l'animazione della mucca, e quando aveva incrociato lo sguardo con quel
tizio...
Non appena oltrepassò i cancelli neri ed altissimi
davanti a lui, il byte si aspettava di non trovare nessuno. Ma non fu così:
in attesa c'erano altri bytes, come lui impauriti di quello che stava
accadendo. Insieme, avrebbero formato un buffer di trasmissione da
quasi 16 KBytes. In condizioni normali la
trasmissione sarebbe avvenuta soltanto quando fosse stato pieno,
ma quello era un caso speciale: non c'era più nessuno da trasferire, per cui
anche se il buffer era arrivato a poco meno della metà della sua capacità,
il controller diede l'ordine senza...
Lo sviluppatore non vedeva l'ora di arrivare a casa. Era
uscito dall'ufficio qualche minuto prima dal lavoro, per evitare il caos del
traffico cittadino; in metropolitana continuava a pensare e mentalmente si stava
già organizzando su quello che doveva fare; in autostrada guidò veloce, ansioso
di arrivare a casa il prima possibile. Appena arrivò, salì in camera sua: da una
parte, il suo PC aspettava silenzioso. Dall'altra, sul letto, c'erano tutti i
componenti del suo nuovo PC, arrivato quel pomeriggio via corriere: scheda
madre bella fiammante, memoria RAM per un totale di
2GBytes, scheda grafica ed infine la nuova CPU a...
Da qualche sessione, il byte ci stava prendendo gusto. Lo onorava far parte
di questo sistema, sempre attivo, sempre con qualcosa da fare. C'era sempre
qualche processo a livello più o meno basso che aveva bisogno di lui, per
leggere o scrivere dati che sarebbero serviti a qualcun'altro.Il byte, man mano che passava il tempo, aveva sempre più
coscienza di sè. Cominciava a comprendere il proprio ruolo e ad intuirne le
potenzialità. Girava spesso da un punto all'altro della mainboard. Capiva di
più il suo mondo. Trasmettendo con altri bytes aveva sentito parlare di dispositivi di
I/O, quelli in periferia, che...
Erano parecchi milioni di cicli di clock che al
byte le cose non andavano bene. Era continuamente sbattuto da una parte
all'altra, correndo e raccogliendo dati ed informazioni che, lo sapeva bene,
servivano e contribuivano al buon funzionamento del sistema.
Era stufo, stanco e stressato. Sempre più spesso gli capitava di
incontrare altri bytes come lui, lungo i bus di sistema e i condotti di
memoria RAM. Gli raccontavano che c'era un posto dove ci si poteva
riposare, dove si faceva vacanza. C'erano posti dove ci si fermava per secondi
interi, a volte anche minuti, senza che nessuno battesse ciglio.
Il byte sognava questi posti, li...
Sono ansioso di vincere il secondo premio "Miglior
fumatore!" assegnatomi da Lorenzo!!! A nessun byte è stato fatto del male
durante la stesura del racconto!!!
Quando l'operatore arrivò in ufficio, era ancora mattina presto. Nel grande
open-space non c'era ancora nessuno, sarebbero arrivati tutti nell'arco della
mezz'ora successiva. Si sedette davanti al suo PC, assonnato ma ansioso di
mettersi al lavoro: voleva debuggare per bene quella stored-procedure
che ultimamente, dopo le modifiche alla struttura della database di un
suo collega, gli aveva dato più di un problema. Accese il PC e se ne andò a
prendere un caffè alla macchinetta.
Un attimo prima: nulla. Un...
Qualche giorno fa comparve sul blog di Roberto un link ad un sito che con qualche strano robot e qualche software, aveva cercato di dare una forma e dei colori alla Internet di oggi.Indipendentemente dalla forma, dai colori, dalla massa, Internet oggi comprende ogni parte dello scibile umano. Sesso, motori, viaggi, biblioteche, religione, scienze, materie più o meno tecniche, siti di e-commerce, blog, contenuti multimediali, testuali, binari. Ma non solo. Non pensiamo banalmente al protocollo http. Pensiamo a server NNTP, oppure ai server che permettono a giocatori di tutto il mondo di ritrovarsi (con Unreal, Colin McRae Rally, con Flight Simulator), e-mail che viaggiano...
|