24.11.2012 Views

Capitolo 1° - Storia - FedOA

Capitolo 1° - Storia - FedOA

Capitolo 1° - Storia - FedOA

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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!