24.11.2012 Views

Capitolo 1° - Storia - FedOA

Capitolo 1° - Storia - FedOA

Capitolo 1° - Storia - FedOA

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C'era senz'altro un impulso artistico in quelli che<br />

potevano utilizzare questa tecnica da genio marziano:<br />

una magia nera, una qualità visionaria che li rendeva<br />

capaci di scartare gli stantii schemi dei migliori cervelli<br />

del pianeta e concepire un nuovo algoritmo totalmente<br />

inaspettato.<br />

E quanto accadde con il programma di conversione<br />

da binario a decimale. Si trattava di una subroutine -<br />

cioè di un programma contenuto in un altro programma<br />

che poteva essere richiamato, quando necessario, da<br />

dentro molti programmi differenti - per tradurre i numeri<br />

binari elaborati dal computer in normali numeri del<br />

sistema decimale. Citando le parole di Saunders,<br />

questo problema divenne "la prova del nove del<br />

programmatore: se eri in grado di scrivere un<br />

programma di conversione al sistema decimale che<br />

funzionasse, sapevi abbastanza di computer per poterti<br />

definire, a buon diritto, un programmatore". E chi<br />

avesse scritto un grande programma di conversione dei<br />

numeri al sistema decimale, avrebbe potuto fregiarsi del<br />

titolo di hacker. Più che una competizione, la messa a<br />

punto definitiva di un programma di conversione al<br />

sistema decimale con il minor numero possibile di<br />

istruzioni divenne una sorta di sacro Graal degli hacker.<br />

Da mesi circolavano varie versioni di programmi di<br />

conversione al sistema decimale. Se qualcuno fosse<br />

stato del tutto a digiuno dell'argomento o totalmente<br />

ottuso - un vero e proprio "laser", un "perdente"* -<br />

avrebbe potuto usare un centinaio d'istruzioni per far<br />

convertire al computer il linguaggio macchina in<br />

decimale. Ma qualsiasi hacker di un qualche valore ne<br />

avrebbe usate meno e, alla fine, adoperando il meglio<br />

dai programmi, ottimizzando un passaggio qui e uno là,<br />

il programma si sarebbe ridotto a circa cinquanta<br />

istruzioni.<br />

Dopo, le cose si fecero serie: c'era gente che<br />

lavorava per ore, cercando una strada per fare la<br />

stessa cosa con il numero minore possibile di righe di<br />

codice. Divenne qualcosa di più di una competizione:<br />

era ricerca. Per quanti sforzi fossero prodotti, nessuno<br />

sembrava in grado di abbattere la barriera delle<br />

cinquanta righe. Qualcuno pose la domanda se fosse<br />

veramente possibile farlo. C'era una soglia oltre la<br />

quale non si poteva accorciare un programma?<br />

Tra quelli che si arrovellavano con questo dilemma<br />

c'era un tipo di nome Jensen, un hacker del Maine, alto<br />

e taciturno che sedeva quietamente nella "kludge room"<br />

e scribacchiava sui tabulati con il contegno sereno di<br />

uno che scortecci un bastone col coltello. Jensen era<br />

sempre in cerca di sistemi per comprimere tempo e<br />

spazio nei suoi programmi: il suo codice era una<br />

sequenza completamente bizzarra di funzioni booleane<br />

e aritmetiche mischiate tra di loro, e spesso usava<br />

computazioni differenti su varie sezioni della stessa<br />

"parola" di diciotto bit. Cose straordinarie, acrobazie<br />

magiche.<br />

Prima di Jensen, il parere comune era stato che<br />

l'unico algoritmo logico per un programma di<br />

conversione al sistema decimale avrebbe voluto far fare<br />

alla macchina ripetute sottrazioni, usando una tabella<br />

delle potenze di dieci per mantenere i numeri nelle<br />

giuste colonne decimali. In qualche modo Jensen capì<br />

che una tabella delle potenze di dieci non era<br />

necessaria; e se ne uscì con un algoritmo capace di<br />

convertire i numeri in ordine inverso, ma, con un<br />

qualche giochetto di prestigio digitale, li buttava fuori<br />

nell'ordine giusto. C'era una complessa spiegazione<br />

matematica della cosa, che fu chiara agli altri hacker<br />

soltanto quando videro il programma di Jensen<br />

appiccicato su una bacheca, il suo modo per dir loro<br />

che aveva valicato il limite del programma di<br />

conversione al sistema decimale: quarantasei<br />

istruzioni. Fissarono tutti il codice a bocca aperta.<br />

Marge Saunders ricorda che gli hacker furono<br />

stranamente calmi nei giorni successivi.<br />

"Avevamo capito che l'argomento era chiuso," disse<br />

più tardi Bob Saunders, "quello era il Nirvana".<br />

I computer possono cambiare la vita in meglio<br />

Questo principio era solo sottilmente manifesto.<br />

Difficilmente un hacker avrebbe dato a un estraneo una<br />

panoramica della miriade di vantaggi forniti dai<br />

computer nell'aprire le vie della conoscenza.<br />

Eppure questa premessa dominava il comportamento<br />

quotidiano degli hacker del Tx-0, e quello delle<br />

generazioni di hacker venute dopo la loro.<br />

Sicuramente il computer aveva cambiato le loro vite,<br />

le aveva arricchite, aveva dato loro un perno su cui<br />

ruotare, le aveva rese avventurose. Li aveva resi<br />

padroni di una porzione del loro destino. Peter Samson<br />

dice oggi: "L'abbiamo fatto dal 25 al 30 percento per<br />

l'amore di farlo, perché era qualcosa che potevamo fare<br />

e fare bene, e al 60 percento per amore di avere<br />

qualcosa che fosse a suo modo vivo, figlio nostro, che<br />

avrebbe cominciato a camminare da solo quando noi<br />

fossimo scomparsi. E questo che rende grande la<br />

programmazione, il fascino magico che possiede... Una<br />

volta risolto un problema di errato comportamento del<br />

computer o del programma, l'hai risolto per sempre, e<br />

tutto ti appare esattamente come lo avevi immaginato".<br />

Come la lampada dì Aladino, potevi farle realizzare i<br />

tuoi desideri.<br />

Sicuramente tutti avrebbero potuto trarre beneficio<br />

sperimentando questo potere. Sicuramente tutti<br />

avrebbero potuto trarre beneficio da un mondo basato<br />

sull'elica hacker. Questa era l'intrinseca convinzione<br />

degli hacker che hanno irriverentemente dilatato il<br />

punto di vista convenzionale su quello che i computer<br />

avrebbero potuto e dovuto fare: guidando il mondo<br />

verso un modo nuovo di considerare e interagire con i<br />

computer.<br />

Non fu facile. Perfino in un'istituzione così avanzata<br />

come il MIT, alcuni professori consideravano frivola e<br />

persine demenziale una spiccata attrazione per i<br />

computer. Bob Wagner, un hacker del TMRC, una volta<br />

si trovò a dover spiegare a un professore d'ingegneria<br />

cosa fosse un computer. Bob Wagner sperimentò<br />

questo scontro tra procomputer e anticomputer ancor<br />

più vivamente quando si trovò in un corso di analisi<br />

numerica nel quale il professore richiedeva a ogni<br />

studente di eseguire i compiti utilizzando calcolatrici<br />

elettromeccaniche che solo dal rumore sembrano<br />

lerrovecchi. Kotok era nello stesso corso, ed entrambi<br />

erano sgomenti alla prospettiva di lavorare con quelle<br />

macchine obsolete. "Perché dovremmo," chiesero, "se<br />

abbiamo questo computer?"<br />

<strong>Capitolo</strong> <strong>1°</strong> - <strong>Storia</strong><br />

Così Wagner cominciò a lavorare su un programma<br />

che avrebbe emulato il comportamento di un<br />

calcolatore. L'idea era scandalosa e per qualcuno era<br />

un'indebita appropriazione di prezioso tempo-macchina.<br />

Secondo la mentalità di quel periodo a proposito di<br />

computer, quel tempo era così prezioso che si potevano<br />

solo tentare imprese che usassero al meglio la<br />

macchina, imprese che avrebbero richiesto una<br />

quantità enorme di matematici impegnati per giorni in<br />

calcoli noiosi e ripetitivi. Gli hacker la pensavano<br />

diversamente: qualsiasi cosa sembrasse interessante o<br />

divertente era pane per l'informatica e potevi agire in<br />

base a quel principio, usando computer interattivi,<br />

senza che qualcuno ti spiasse da dietro le spalle e ti<br />

chiedesse di rendere conto del tuo progetto specifico.<br />

Dopo due o tre mesi di lotte nell'intricato groviglio<br />

dell'aritmetica a virgola mobile (necessaria per<br />

consentire al programma di sapere dove collocare la<br />

virgola decimale) su una macchina che non era dotata<br />

di un metodo semplice per eseguire moltiplicazioni<br />

elementari, Wagner aveva scritto tremila righe di codice<br />

che eseguivano il lavoro. Aveva fatto svolgere a un<br />

computer incredibilmente costoso la prestazione di un<br />

calcolatore che costava mille volte di meno. In onore di<br />

questo paradosso, chiamò il programma Expensive<br />

Desk Calculator [calcolatore da tavolo costoso] e<br />

orgogliosamente lo impiegò per fare il suo compito.<br />

Il suo voto: zero. "Hai usato un computer!" fu il<br />

commento del professore. "Questo compito non può<br />

essere giusto."<br />

Wagner non provò neanche a dare spiegazioni.<br />

Come avrebbe potuto spiegare al suo insegnante che il<br />

computer stava trasformando in realtà quelle che una<br />

volta erano state solo incredibili possibilità? O che un<br />

altro hacker aveva addirittura scritto un programma<br />

chiamato Expensive Typewriter [macchina da scrivere<br />

costosa] che trasformava il Tx-0 in qualcosa in grado di<br />

scrivere testo, elaborare il documento in righe di<br />

caratteri e stamparli sul Flexowriter... potreste<br />

immaginare un professore che accetta un compito in<br />

classe scritto con il computer? Come poteva quel<br />

23

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!