1. Il mondo è pieno di
problemi affascinanti che aspettano di essere risolti
Essere un hacker è molto divertente, ma è un tipo
di divertimento che richiede molto sforzo. Lo sforzo necessita di motivazioni.
Gli atleti di successo trovano le loro motivazioni da una specie di gusto
nell'usare i loro corpi oltre i limiti del fisico. Similmente, per essere un
hacker devi provare i brividi nel risolvere problemi, affilare le tue capacità,
ed esercitare la tua intelligenza.
Se non sei il tipo di persona che per natura prova queste sensazioni, allora
dovrai diventarci, se vuoi farcela ad essere un Hacker. Altrimenti vedrai che le
energie spese per fare l'hacker saranno fiaccate da distrazioni come il sesso, i
soldi e l'essere riconosciuti nella società.
(Inoltre devi anche sviluppare una specie di fede nelle tue capacità di
apprendimento - una fede grazie alla quale, pur non conoscendo tutto ciò di cui
hai bisogno per risolvere un problema, affrontandone una parte sarai capace
imparare abbastanza per risolvere la parte successiva....e cosÏ via, fino a che
ce la fai).
2. Nessuno dovrebbe mai risolvere lo stesso
problema una seconda volta
Le menti creative sono una risorsa valida e
limitata. Esse non dovrebbero essere sprecate nel reinventare la ruota quando ci
sono cosÏ tanti e affascinanti problemi che aspettano là fuori.
Per comportarsi come un hacker, devi credere che il tempo che gli altri hackers
spendono a pensare sia prezioso - a tal punto che è quasi un dovere morale
condividere informazioni, risolvere problemi e diffonderne la soluzione cosicchè
gli altri hackers possono risolvere nuovi problemi invece di dover riaffrontare
perpetuamente quelli vecchi.
(Non devi credere di essere obbligato a dare via tutti i tuoi prodotti creativi,
sebbene gli hackers che lo fanno iano quelli che sono più rispettati dagli
altri. E' coerente coi valori dell'hacker "vendere" un po' del suo
prodotto per riuscire a sbarcare il lunario ed avere un computer. E' coerente
pure usare le proprie capacità per mantenere una famiglia o addirittura
diventare ricchi, fermo restando che non devi mai dimenticare di essere un
hacker mentre lo fai.)
3. La noia e i lavori "da sgobboni" sono
un male
Gli hackers (ed in generale le persone creative)
non dovrebbero mai annoiarsi o aver a che fare con dei lavori ripetitivi,
faticosi e stupidi, perchè quando questo accade significa che non stanno
facendo ciò che solo loro possono fare: risolvere nuovi problemi. Questo spreco
danneggia tutti. Perciò la noia ed i lavori ingrati non sono semplicemente
sgradevoli, ma un male vero e proprio.
Per comportarti come un hacker, devi crederci abbastanza da voler automatizzare
tutte le cianfrusaglie noiose il più possibile, non solo per te ma per
qualsiasi altra persona (in particolar modo gli altri hackers).
(Apparentemente c'è solo un eccezione. Gli hackers dovranno fare talvolta cose
che possono sembrare ripetitive ad un osservatore, ma che servono per chiarire
le idee, per acquisire delle nuove capacità o per fare delle esperienze che non
possono essere fatte altrimenti. Tuttavia questa è una tua scelta - nessuno
capace di pensare dovrebbe essere mai forzato alla noia).
4. La libertà è un bene
Gli hackers sono per natura anti - autoritari.
Chiunque ha il potere di darti ordini ha pure il potere di fermarti dal
risolvere un qualsiasi problema da cui sei affascinato - e, conoscendo in che
modo lavorano le menti autoritarie, in linea di massima troverà una ragione
incredibilmente stupida per farlo. Quindi un atteggiamento autoritario deve
essere combattuto ovunque si trovi, per paura che soffochi te e gli altri
hackers.
(Questo, però, non significa combattere tutte le autorità. I bambini hanno
bisogno di essere guidati e i criminali corretti. Un hacker potrebbe essere
d'accordo nell'accettare un qualche tipo di autorità per ottenere qualcosa che
desidera di più del tempo che impiega ad eseguire gli ordini. Ma questo è un
compromesso limitato e di cui si è coscienti; il tipo di persona arrendevole
che gli autoritari desiderano non deve venir offerta).
Gli autoritari si sviluppano grazie alla censura ed ai segreti. Essi non
confidano nella cooperazione volontaria e nella condivisione di informazioni - a
loro piace solo la cooperazione che possono controllare. Quindi per comportarti
come un hacker, devi sviluppare un ostilità istintiva verso la censura, la
segretezza, e l'uso della forza e dell'inganno per costringere gli adulti
responsabili. E devi essere disposto ad agire in base a questo credo.
5. L'atteggiamento non sostituisce la competenza
Per essere un hacker devi sviluppare alcuni di
questi atteggiamenti. Ma coltivarne uno solo non ti renderà certo un hacker,
non più di quanto ti possa rendere un grande atleta od una rock star. Per
diventare un hacker c'è bisogno dell'intelligenza, la pratica, di dedicarsi ed
infine di lavorare sodo.
Quindi devi imparare a non fidarti di un atteggiamento competente di qualsiasi
tipo. Gli hackers di certo non perderanno tempo con chi si spara le pose, poichè
hanno il culto della competenza - soprattutto competenza nell'hacking, ma va
bene la competenza in qualsiasi cosa. In particolar modo è ottima una
competenza in alcune capacità che pochi hanno, ancora meglio se sono capacità
quali una mente brillante, astuzia e concentrazione.
Se anche tu veneri la competenza, ti divertirai a svilupparla in te - e il
lavoro duro e la dedizione diventeranno una specie di gioco intenso piuttosto
che una noia. E questo è vitale per essere un hacker.
Un comportamento da hacker è fondamentale, ma le capacità sono ancora più
fondamentali. un atteggiamento non sostituisce, infatti, la competenza, e ci
sono alcune capacità fondamentali che devi avere prima che qualsiasi hacker
possa lontanamente sognare di chiamarti , appunto, hacker.
Questo kit di competenze base cambia lentamente col passare del tempo perchè la
tecnologia crea nuove capacità rendendo obsolete quelle più vecchie. Per
esempio, si usa includere il programmare in linguaggio macchina, ma solo
recentemente questo ha implicato anche l'HTML. Ma nel tardo 1996 è abbastanza
chiaro che si includono le seguenti capacità:
1. Imparare a programmare
Questa, ovviamente, è la capacità fondamentale
dell'hacker. Nel 1997 il linguaggio che assolutamente devi imparare è il C
(sebbene non sia quello da imparare per primo). Tuttavia non puoi essere
considerato un hacker o nemmeno un mero programmatore se conosci un solo
linguaggio - devi imparare a pensare circa i problemi di programmazione in
generale, indipendentemente da qualsiasi linguaggio. Per essere un vero hacker,
devi arrivare al punto in cui puoi imparare un nuovo linguaggio semplicemente
correlando le informazioni del manuale con quello che già sai. Questo significa
che devi imparare molti e differenti linguaggi.
Oltre al C, dovresti anche imparare almeno il Lisp e il Perl (il Java pure non
sarebbe male). Oltre ad essere i linguaggi di programmazione più importanti,
ognuno di questi rappresenta un approccio differente alla programmazione, e
tutti ti educheranno in maniera valida.
Qui non posso dare istruzioni precise su come imparare a programmare - è una
capacità assai complessa. Ma posso dire che libri e corsi non sono la cosa
migliore (molti, forse la maggior parte degli hacker, sono autodidatti). Quello
che si deve fare è (a) leggere codici e (b) scrivere codici.
Imparare a programmare è come imparare a scrivere bene un linguaggio naturale.
La cosa migliore per farlo è leggere qualcosa scritta dai maestri del
linguaggio, scrivere qualcosa da soli, leggere un altro po', scrivere un po' di
più, leggere molto di più, scrivere ancora di più......e ripetere fino a che
la tua scrittura non comincia a sviluppare quel tipo di forza che vedi nei tuoi
modelli.
Un tempo era difficile trovare del buon codice da leggere, poichè non c'erano
molti programmi disponibili nel codice sorgente che gli hackers implumi potevano
leggere e rimuginare. Tuttavia questa situazione è cambiata drasticamente; il
software gratis, i compilatori gratis, e i sistemi operativi gratis (tutti
disponibili in codice sorgente e tutti sviluppati dagli hackers), sono ora
largamente disponibili. E questi ci porta direttamente al prossimo argomento....
2. Ottieni uno dei sistemi operativi UNIX-like
gratuti ed impara ad usarlo
Prendo per scontato che tu abbia un personal
computer o che tu possa usarne uno (i ragazzini di oggi lo ottengono così
facilmente:-)). L'unico e più importante passo che ogni principiante può
mouvere per acquisire le capacità dell'hacker è rimediare una copia di Linux o
di uno dei free BSD-Unixes, installarlo sulla sua macchina, e caricarlo.
Si, ci sono altri sistemi operativi al mondo oltre a UNIX. Ma sono distribuiti
in binario - ovvero non puoi leggere il codice nè modificarlo. Provare ad
imparare ad Hackkare sotto Dos, windows od un qualsiasi sistema operativo Mac è
come voler imparare a danzare avendo le gambe ingessate.
Inoltre Unix è il sistema operativo della rete. Mentre puoi imparare ad usare
internet senza usare UNix, di certo non puoi essere un hacker della rete senza
conoscerlo.Per questo motivo al giorno d'oggi la cultura hacker è fortemente
incentrata su UNIX. (Nel passato ciò non era sempre vero, ed alcuni hacker dei
vecchi tempi non sono felici di ciò, ma la simbiosi tra unix e la rete è
diventata abbastanza forte che addirittura il muscolo della Microsoft sembra non
riuscire ad amaccarla.)
Ebbene, rimedia un UNix - a me piace unix, ma ci sono altri modi. Imparalo.
Usalo. Armeggiaci. Parla con internet tramite esso. Leggi il codice. Modifica il
codice. Otterai degli strumenti per programmare (inclusi il C, Lisp, e il Perl)
migliori di quanto qualsiasi sistema operativo Microsoft possa imagginare, ti
divertirai, e assorbirai conoscenze di cui non ti renderai conto fino a che non
ti volgerai indietro a guardarle come un maestro degli hacker.
Per maggiori suggerimenti circa imparare unix, vai a The Loginataka
Per rimediare linux vai invece a Where To Get Linux
3. Imparare ad usare la World Wide Web e scrivere
in HTML
La maggior parte delle cose che la cultura hacker
ha costruito non è tenuta molto in vista, infatti aiutare a far funzionare le
fabbriche, gli uffici e le università non ha un grande impatto sul modo di
vivere dei non hackers. La rete è l'unica grande eccezione, il grande e
brillante gioco degli hacker che addirittura i politici ammettono stia cambiando
il mondo. Solo per questa ragione (ed anche per molte altre) hai bisogno di
imparare come lavorare con la rete.
Questo non significa solamente imparare ad usare un browser (chiunque lo può
fare), ma imparare come scrivere in HTML, "the Web's markup language".
Se non sei capace a programmare, l'HTML ti insegnerà alcune abitudini che ti
aiuteranno ad imparare. Quindi fai un home page.
Ma avere un home page non è nemmeno lontanamente sufficiente per fare di te un
hacker. La rete è piena di Home Pages. La maggior parte sono un magma senza
argomenti nè contenuti (per altri suggerimenti su questo argomento vai a The
HTML Hell Page).
Per valere qualcosa, la tua home page deve avere un contenuto - deve essere
interessante o utile agli altri hackers. E questo ci porta al prossimo
argomento....
Come la maggior parte delle culture non basate sul denaro, quella degli hacker
si basa sulla reputazione. Uno prova a risolvere problemi che siano
interessanti, ma quanto siano interessanti, e se le soluzioni siano veramente
efficaci, è qualcosa che solo i tecnici al tuo pari o i superiori possono
giudicare.
Di conseguenza, quando giochi a fare l'hacker, inpare a guadagnare punti
soprattutto in base a quello che gli altri hackers pensano delle tue capacità
(ecco perchè non sei un hacker fino a che gli altri hacker ti ci chiamano).
Questo fatto è oscurato dall'immagine dell'hacking come un lavoro solitario;
anche da alcuni tabo della cultura hacker (che stanno gradualmente scemando ma
sono ancora consistenti) contro il voler ammettere che l'ego o l'essere ben
considerati dagli altri contribuiscano ad alimentare le proprie motivazioni.
Nello specifico, fare l'hacker è ciò che gli antropologi chiamano gift
culture. Sali nella scala sociale non dominando gli altri, non essendo bello,
non avendo le cose che vogliono gli altri, ma piuttosto dandole via. E più
precisamente, dando via il tuo tempo, la tua creatività, e i risultati delle
tue capacità.
Fondamentalmente ci sono 5 cose che puoi fare per
essere rispettato dagli hackers:
1. Scrivi free software
La prima cosa (la più basilare nonchè
tradizionale) è scrivere programmi che appaiono utili o divertenti agli altri
hackers, e dare le sorgenti da utilizzare all'intera comunità hacker.
Gli hackers più venerati sono proprio quelli che hanno scritto programmi grossi
e capaci, che vanno in contro a bisogni collettivi, e che li danno via cosicchè
chiunque possa usarli.
2. Aiuta a testare e a fare il debug del free
software
Essi sono anche a servizio di chi fa il debug del
free.software. In questo mondo imperfetto, inevitabilmente spenderemo la maggior
parte del tempo dello sviluppo di un programma a fare il debug.Ecco perchè
qualsiasi autore di free software in grado di ragionare ti dirà che buni beta
testers (quelli che sanno come descrivere chiaramente i sintomi, localizzare
bene i problemi, che possono tollerare i bugs in una release fatta di fretta, e
sono disposti ad applicare alcune semplici routine diagnostiche) valgono tanto
oro quanto pesano. Anche uno solo di loro può trasformare una fase di debugging
da un incubo prolungato ad una mera e salutare seccatura.
Se sei un principiante, prova a trovare un programma in via di sviluppo che ti
interessa e ceca di essere un buon beta-tester. C'è un progresso naturale
dall'aiutare a testare i programmi, ad aiutare a fare il debug, ad aiutare a
modificarli. Imparerai un sacco in questo modo, e genererai un buon karma con le
persone che ti aiuteranno successivamente.
3. Pubblica informazioni utili
Un'altra buona cosa è colezzionare e filtrare le
informazioni utili od interessanti in pagine web o documenti come le FAQ (ovvero
Frequently Asked Questions, che in italiano sta per domande fatte
frequentemente), e renderle generalmente reperibili.
I manutentori di FAQs tecniche sono rispettati quasi quanto gli autori di free
software.
4. Aiuta a mandare avanti i
lavori di infrastruttura
La cultura hacker (e lo sviluppo della rete, in
questo caso) viene mantenuta da volontari. Ci sono un sacco di lavori necessari
ma poco affascinanti che devono essere fatti per mantenerla - amministrare le
mailing list, moderare i newsgroup, mantenere larghi archivi di software,
sviluppare gli RFC e altri standard tecnici.
Le persone che fanno bene questo genere di cose sono molto rispettate, poichè
chiunque sa che questi lavori richiedono molto tempo e non sono divertenti
quanto giocare coi codici. Farli mostra dedizione.
5. Servi la cultura hacker di per sè
Infine, puoi servire e propagare la cultura hacker
di per sè (per esempio scrivendo un documento accurato su come diventare un
hacker:-)). Non ti troverai di certo nella posizione di fare una cosa del genere
fino a che non ti sarai fatto ben conoscere per una delle prime cinque cose.
La cultura hacker non ha leaders veri e propri, ma ha degli eroi e degli storici
e diffusori "tribali". Dopo essere stato in trincea abbastanza a
lungo, potresti diventare uno di questi. Fai attenzione: tra i più anziani, gli
hackers non si fidano di quelli che blaterano, quindi raggiungere questo tipo di
fama è pericoloso. Piuttosto che sforzarti per questo, conviene guadagnarti te
stesso una posizione, cosicchè toccherà a te "essere raccontato",
dopodichè sii modesto circa il tuo staus.
Contrariamente al mito popolare non devi essere necessariamente un nerd, per
essere un hacker. Tuttavia ciò aiuta, e infatti molti hackers sono dei nerds.
Essere un esule della società aiuta a concentrarti sulle cose veramente
importanti, come pensare e fare l'hacker.
Per questa ragione gli hackers hanno adottato l'etichetta 'Nerd', ed addirittura
usano il termine ancor più duro 'geek' (in italiano qualcosa come 'disaddattato')
come un appellativo di cui vanno orgogliosi - non è altro che una maniera per
dichiarare la propria indipendenza dalle normali aspettative sociali. Vai a The
Geek Page per una discussione (in inglese) più estesa.
Se riesci a concentrarti abbastanza sull'hacking ed avere anche una vita, va
bene. E' molto più facile oggi di quando ero un principiante; la cultura
corrente è molto più ben disposta nei confronti dei techno - nerds, ora. C'è
addirittura un numero in continua crescita di persone che hanno realizzato che
spesso gli hackers sono ragazzi/ragazze/mariti/mogli di alta qualità. Per
maggiori info su questo vai a Girl's Guide to Geek Guys.
Se sei attratto dall'hacking perchè non hai una vita, va bene - perlomeno non
avrai problemi a concentrarti. Forse ne avrai una dopo.
Ancora, per essere un hacker, devi avere la forma mentis dell'hacker. Ci sono
alcune cose che puoi fare quando non stai al computer che sembrano aiutare. Non
sono sostitutive all'hacking (nulla lo è), ma molti hackers le praticano hanno
l'impressione che esse in qualche maniera fondamentale siano connesse
all'essenza dell'hacking.
Leggere riviste scientifiche. Andare a convegni scientifici (un buon modo per
incontrare hackers e proto-hackers).
Studiare Zen, o praticare un arte marziale (la disciplina mentale sembra essere
simile in maniera importante).
Sviluppare un orecchio analitico per la musica. Imparare ad apprezzare
particolari tipi di musica. Imparare a suonare bene uno strumento o a cantare.
Apprezzare anagrammi e giochi di parole.
Imparare a scrivere bene nel tuo linguaggio naturale (Sorprendentemente una gran
quantità di hackers, compresi tutti i migliori che conosco, sono degli abili
scrittori).
Maggiori sono le cose tra queste che già fai, maggiore è la predisposizione
naturale che hai per fare l'hacker. Perchè queste cose in particolare non è
molto chiaro, tuttavia esse sono connesse con un mix di capacità della parte
destra - e sinistra - del cervello che sembrano essere importanti (gli hackers
hanno bisogno di essere capaci sia a ragionare in maniera logica, sia,
all'occorrenza, a tenersi distanti dalla logica apparente di un problema).
Non entrare nelle flame-wars su usenet (i newsgroup), o da qualsiasi altra
parte.
Non ti chiamare 'Morte' e non perdere tempo con chiunque lo faccia.
Non spedire lettere o E-mail piene di errori.
L'unica reputazione che ti guadagnerai nel fare una qualsiasi di queste cose è
quella del cretino. Gli hackers hanno una memoria di ferro - dunque ci
potrebbero volere vari anni per essere riaccettati.