sounds good

 

 

Che Cos'è un Hacker?

Il Jargon File contiene una serie di definizioni del termine hacker, la maggior parte delle quali si riferisce all'esperienza tecnica, al piacere di risolvere problemi e al superare limiti. Tuttavia, se volete sapere come diventare hacker, solo due sono veramente importanti.

Esiste una comunità, una cultura condivisa, di esperti programmatori e maghi delle reti la cui storia risale indietro nel tempo di qualche decennio ai primi minicomputer time-sharing e ai primi esperimenti su ARPAnet. I membri di questa cultura diedero origine al termine hacker. Gli hacker hanno costruito Internet. Gli hacker hanno reso il sistema operativo Unix quello che è oggi. Gli hacker frequentano Usenet. Gli hacker rendono il World Wide Web funzionante. Se siete parte di questa cultura, se vi avete contribuito e altri appartenenti vi conoscono e vi chiamano hacker, siete un hacker.

La mentalità hacker non è confinata alla cultura del software. Ci sono persone che applicano l'atteggiamento hacker ad altre cose, come l'elettronica o la musica - oggigiorno, si possono trovare ai livelli più elevati di ogni scienza o arte. Gli hacker del software riconoscono questi spiriti affini ovunque e chiamano anch'essi hacker - e alcuni affermano che la natura dell'hacker sia indipendente dal particolare supporto su cui lavora. Comunque nel prosieguo di questo documento ci concentreremo sulle abilità e sugli atteggiamenti degli hacker del software, e sulla tradizione della cultura condivisa che ha generato il termine hacker.

Ci sono altre persone che si vantano di essere hacker, ma non lo sono. Sono persone (generalmente maschi adolescenti), percorse da un fremito quando penetrano nei computer e intasano le linee telefoniche. I veri hacker li chiamano cracker e non vogliono avere niente a che fare con loro. I veri hacker generalmente pensano che i cracker siano pigri, irresponsabili e non molto brillanti, ed obiettano che essere in grado di compromettere la sicurezza di un sistema non renda hacker più di quanto manomettere una macchina renda ingegneri meccanici. Sfortunatamente, molti giornalisti e scrittori usano la parola hacker per descrivere i cracker, cosa che irrita all'infinito i veri hacker.

La differenza fondamentale è questa: gli hacker costruiscono le cose, i cracker le rompono.

Se volete essere un hacker, continuate a leggere. Se volete essere un cracker, andate sul newsgroup alt.2600 e siate pronti a passare dai cinque ai dieci anni in prigione dopo aver scoperto che non siete così intelligenti come pensavate. E questo è tutto quello che ho intenzione di dire sui cracker.

 

 

L'Atteggiamento dell'Hacker

1. Il mondo è pieno di problemi affascinanti che aspettano di essere risolti.
2. Nessun problema dovrebbe mai essere risolto due volte.
3. Noia e monotonia sono il male.
4. Libertà è bene.
5. L'Atteggiamento non è un'alternativa alla competenza.

Gli hacker risolvono problemi e costruiscono cose, e credono nella libertà e nel volontario aiuto reciproco. Per essere accettati come hacker, dovete comportarvi come se questo atteggiamento fosse vostro. E per comportarvi così, dovete crederci.

Ma se pensate di coltivare l'atteggiamento hacker solo come un modo per essere accettati in questa cultura, sbagliate. Diventare il tipo di persona che crede in queste cose è importante per voi - per aiutarvi ad imparare e a mantenervi motivati. Come per tutte le arti creative, il modo più efficace per diventare un maestro è quello di imitare la mentalità dei maestri - non solo dal punto di vista intellettuale ma anche da quello emotivo.

oppure, secondo il seguente moderno poema Zen:

seguire il sentiero:
guarda il maestro,
segui il maestro,
cammina con il maestro,
guarda oltre il maestro,
diventa il maestro.

Quindi, se volete diventare un hacker, ripetete le seguenti affermazioni finché non crederete in loro:

1. Il mondo è pieno di problemi affascinanti che aspettano di essere risolti.

Diventare un hacker è molto divertente, ma è un divertimento che richiede molti sforzi. Lo sforzo richiede motivazione. Gli atleti di successo traggono la loro motivazione da una specie di piacere fisico derivante dal rendere i loro corpi performanti, nello spingersi oltre i loro stessi limiti fisici. Allo stesso modo, per essere un hacker devete sentire un fremito quando risolvete problemi, affinate le vostre capacità, esercitate la vostra intelligenza.

Se non siete il genere di persona che si sente così per propria natura, dovrete diventarlo per essere hacker. Altrimenti scoprirete che la vostra energia verrà indebolita da distrazioni come il sesso, i soldi, e l'approvazione sociale.

Dovreste inoltre cercare di sviluppare una specie di fede nella vostra capacità di apprendimento - una convinzione tale per cui anche se non conoscete tutto ciò di cui avete bisogno per risolvere un problema, se ne affrontate solo una parte e imparate da questa, potete apprendere abbastanza per risolvere la parte successiva - e così via, finché non avrete finito.)

2. Nessun problema dovrebbe mai essere risolto due volte.

Le menti creative sono una risorsa preziosa e limitata. Non possono essere sprecate per reinventare la ruota quando ci sono così tanti nuovi affascinanti problemi che aspettano là fuori.

Per comportarsi come un hacker, dovete pensare che il tempo degli altri hacker è prezioso - così tanto che dovrebbe essere quasi un dovere morale per voi condividere le informazioni, risolvere problemi e quindi pubblicarne le soluzioni, così che altri hacker possano risolvere nuovi problemi invece di dover tornare sempre sugli stessi.

Notate, comunque, che Nessun problema dovrebbe mai essere risolto due volte non implica che dovete considerare tutte le soluzioni esistenti sacre, oppure che ci sia solo una soluzione giusta per ogni dato problema. Spesso si impara molto su un problema che non si conosceva studiandone una soluzione. È corretto, e talvolta necessario, decidere che possiamo fare meglio. Non sono corrette le tecniche artificiose, legali, o le barriere istituzionali (come il codice closed-source), che non permettono la riusabilità di una buona soluzione e costringono le persone a reinventare la ruota.

Non dovete pensare che siete obbligati a dare via tutto il vostro prodotto creativo, benché gli hacker che lo fanno sono quelli che godono del maggior rispetto. È coerente con i valori hacker vendere abbastanza del proprio lavoro per mangiare, avere un alloggio e dei computer. È giusto mettere a disposizione le proprie competenze personali per mantenere una famiglia o anche per diventare ricchi, purché non dimentichiate la lealtà nei confronti della vostra arte e dei vostri colleghi hacker mentre lo fate.)

3. Noia e monotonia sono il male.

Gli hacker (e le persone creative in generale) non dovrebbero mai essere annoiate o costrette a fossilizzarsi su lavori stupidi e ripetitivi, perché quando questo accade vuol dire che non stanno facendo ciò che solo loro possono fare - risolvere nuovi problemi. Questo dispendio di energie danneggia tutti. Pertanto noia e ripetitività non solo sono spiacevoli ma rappresentano il peggio che possa accadere.

Per comportarsi come un hacker, dovete crederci abbastanza da voler automatizzare il più possibile le piccole cose noiose, non solo per voi ma per chiunque altro (specialmente altri hacker).

C'è un'eccezione apparente a tutto questo. A volte gli hacker fanno cose che sembrano ripetitive o noiose ad un osservatore esterno, come esercizi per liberare la mente, o per acquisire delle abilità, oppure guadagnare qualche tipo di esperienza che non è possibile ottenere diversamente. Ma si tratta di una scelta - nessun essere pensante dovrebbe mai essere costretto a fare cose che considera noiose).

4. Libertà è bene.

Gli hacker sono per natura anti-autoritari. Chiunque vi dia degli ordini potrebbe bloccarvi mentre state risolvendo un qualunque problema dal quale siete affascinati - e, dato il modo in cui operano le menti autoritarie, troveranno sempre qualche ragione terribilmente stupida per farlo. Per questo l'atteggiamento autoritario va combattuto ovunque lo troviate, affinché non soffochi né voi né gli altri hacker.

Quanto appena affermato non vuol dire combattere contro tutte le autorità. I bambini hanno bisogno di essere guidati e i criminali rinchiusi. Un hacker può accettare alcuni tipi di autorità per ottenere qualcosa che desidera maggiormente rispetto al tempo che perderebbe nell'eseguire ordini. Ma questo è un compromesso limitato e consapevole; il tipo di resa personale cercata dalle persone autoritarie non è in vendita).

Le persone autoritarie traggono profitto dalla censura e dalla segretezza. E diffidano della collaborazione volontaria e dello scambio di informazioni - esse accettano solo la cooperazione che possono controllare. Perciò, per comportarvi come un hacker, dovete sviluppare un'ostilità istintiva verso la censura, la segretezza, e l'uso della forza o dell'inganno per convincere adulti responsabili. E dovete essere disposti a comportarvi in base a questa convinzione.

5. L'Atteggiamento non è un'alternativa alla competenza.

Per essere un hacker, dovete sviluppare alcuni di questi atteggiamenti. Tuttavia, copiare solo un atteggiamento non vi renderà un hacker, non più che diventare un campione di atletica o una rock star. Diventare un hacker richiederà intelligenza, pratica, dedizione, e duro lavoro.

Pertanto, dovete imparare a non fidarvi degli atteggiamenti e rispettare competenze di ogni tipo. Gli hacker non lasceranno che le domande sprechino il loro tempo, adorano la competenza - specialmente la competenza nell'hacking e comunque la competenza in genere. In particolare, molto apprezzate sono quelle abilità che padroneggiano solo in pochi, e le competenze in abilità per le quali sono richieste acutezza mentale, concentrazione e intuito brillante sono le migliori in assoluto.

Se venerate la competenza, sarete felici nello svilupparla in voi stessi - il duro lavoro e la dedizione diventeranno una specie di gioco intenso piuttosto che monotonia. Questo atteggiamento è di vitale importanza per diventare un hacker.

 

 

Abilità di Base dell'Hacking

1. Imparare a programmare.
2. Ottenere uno dei sistemi Unix open-source e imparare ad usarlo.
3. Imparare ad usare il World Wide Web e a scrivere pagine HTML.
4. Se non si è in possesso di un inglese funzionale, impararlo.

L'atteggiamento hacker è vitale, ma le abilità lo sono ancora di più. L'atteggiamento non è un'alternativa alla competenza, e c'è un insieme di abilità di base che dovete possedere prima che un hacker si sogni di chiamarvi così.

Esso cambia lentamente nel tempo, mentre la tecnologia crea nuove abilità e ne rende obsolete altre. Per esempio, prima includeva la programmazione in linguaggio macchina, più recentemente l'HTML. Oggigiorno include piuttosto chiaramente le seguenti:

1. Imparare a programmare.

Questa, ovviamente, è l'abilità fondamentale dell'hacking. Se non conoscete nessun linguaggio di programmazione, vi raccomando di partire con il Python. È progettato in modo chiaro, ben documentato e relativamente agevole per i principianti. Nonostante sia un buon primo linguaggio, non è solo un giocattolino; è molto potente e flessibile e ben si adatta a progetti di grosse dimensioni. Ho scritto una più dettagliata valutazione del Python. Buoni tutorial sono disponibili sul sito del progetto Python.

Ero abituato a raccomandare Java come linguaggio da imparare presto, ma questa critica ha cambiato le mie idee (cercate The Pitfall of Java as a First Programming Language [I Rischi dell'utilizzo di Java come Primo Linguaggio] al suo interno). Un hacker non può, come osservano gli autori, utilizzare come approccio alla risoluzione dei problemi quello di un idraulico in una ferramenta; dovete conoscere esattamente cosa fanno  le varie componenti. Ora penso che sia meglio imparare il C e il LISP prima, e poi Java.

Se volete fare della programmazione seria, dovrete imparare il C, il linguaggio del kernel di Unix. Il C++ è strettamente correlato al C; se ne conoscete uno, imparare l'altro non sarà difficile. In ogni caso, nessuno dei due è una buona scelta come primo linguaggio. E, oggi, meno programmate in C, tanto più sarete produttivi.

Il C è molto efficiente, e poco esigente delle risorse della macchina. Sfortunatamente questa efficienza richiede molto lavoro di gestione a basso livello (come la gestione della memoria) da parte vostra. Tutto questo codice di basso livello è complesso e incline alla presenza di bug, e richiederà parecchio tempo nella fase di debug. Con le macchine attuali, così potenti come sono, generalmente non è un buon compromesso - è più intelligente usare un linguaggio che sfrutti il tempo della macchina in modo meno efficiente, ma moltopiù efficientemente il vostro. Cioè, Python.

Altri linguaggi di particolare importanza per gli hacker sono il Perl e il LISP. Vale la pena imparare il Perl per ragioni pratiche; è largamente utilizzato per le pagine Web dinamiche e l'amministrazione di sistema, perciò anche se non scriverete mai in Perl dovreste quantomeno imparare a leggerlo. Molte persone usano Perl nel modo in cui io suggerisco di usare Python, per evitare la programmazione in C per lavori che non ne richiedono l'efficienza. Avrete bisogno di saper comprendere i loro codici.

Vale la pena imparare il LISP per un'altra ragione - la profonda ed illuminante esperienza che ne ricaverete quando finalmente lo padroneggerete. Questa esperienza vi renderà dei programmatori migliori per il resto dei vostri giorni, anche se non lo utilizzerete molto. (Potete fare una prima esperienza con il LISP abbastanza facilmente scrivendo e modificando i modi di editing dell'editor di testi Emacs, oppure i plugin Script-Fu di GIMP).

Sarebbe meglio, oggigiorno, imparare tutti e cinque questi linguaggi, Python, C/C++, Java, Perl, e LISP. Oltre ad essere i più importanti per l'hacking, rappresentano approcci alla programmazione molto diversi, ed ognuno vi formerà in modo diverso.

Ma fate attenzione perché non raggiungerete il livello di abilità di un hacker o di un semplice programmatore solo imparando vari linguaggi - avrete bisogno di imparare come pensare riguardo ai problemi della programmazione in un modo più generale, indipendente dal linguaggio. Per essere un vero hacker, dovrete arrivare ad imparare un nuovo linguaggio in pochi giorni confrontanto il manuale con quello che già sapete. Questo significa che dovreste imparare vari linguaggi molto diversi tra loro.

Non posso darvi istruzioni complete su come imparare a programmare in questa sede - è un'abilità complessa. Ma posso dirvi quali libri e corsi non ve lo insegneranno (molti, forse la maggior parte dei migliori hacker sono autodidatti). Potete imparare le caratteristiche dei linguaggi - pezzi di conoscenza - dai libri, ma la mentalità che trasforma la conoscenza in abilità può essere acquisita solo con la pratica e l'apprendistato. Cosa renderà possibile ciò è (a) leggere codice e (b) scrivere codice.

Peter Norvig, uno degli hacker di Google e coautore di uno dei libri più usati sull'AI, ha scritto un eccellente saggio chiamato Teach Yourself Programming in Ten Years (traduzione italiana su CulturaHacker.it:Impara a Programmare in Dieci Anni). La sua ricetta per una programmazione di successo merita grande attenzione.

Imparare a programmare è come imparare a scrivere bene in un linguaggio naturale. Il modo migliore per farlo è leggere delle cose scritte da maestri della forma, scrivere qualcosa da soli, leggere di più, scrivere un po' di più, leggere di più, scrivere ancora un po' di più ... e ripetere finché le cose che scrivete inizieranno a sviluppare la stessa forza ed economia che vedete nei vostri modelli.

Fino a non molto tempo fa era difficile trovare del buon codice da leggere, perché c'erano pochi codici sorgente di grandi programmi che potevano essere letti e con i quali si poteva armeggiare e giocare. Tutto ciò è cambiato drasticamente; software open-source, strumenti per la programmazione, e sistemi operativi (tutti creati da hacker) sono oggi largamente disponibili. Il che ci porta direttamente al prossimo argomento.

2. Ottenere uno dei sistemi Unix open-source e imparare ad usarlo.

D'ora in avanti presumerò che possedete o avete accesso ad un personal computer. (Prendetevi un momento per apprezzare cosa ciò significhi. La cultura hacker è nata quando i computer erano così costosi che un individuo da solo non poteva possederne uno.) Il singolo passo più importante che ogni principiante dovrebbe fare per acquisire le abilità di un hacker è ottenere una copia di Linux oppure uno dei sistemi Unix BSD o ancora OpenSolaris, istallarlo su un computer, e farlo girare.

Certo, ci sono altri sistemi operativi nel mondo oltre a Unix. Ma essi sono distribuiti in formato binario - non potete leggerne il codice, e non potete modificarlo. Cercare di imparare l'hacking su una macchina con Microsoft Windows o con un qualunque altro sistema closed-source è come cercare di imparare a ballare mentre si è ingessati.

Mac OS X è possibile, ma solo parte del sistema è open source - è probabile che incontrerete molti ostacoli e dovrete fare attenzione a non sviluppare la cattiva abitudine di dipendere dal codice proprietario della Apple. Se vi getterete su Unix a capofitto imparerete molte cose interessanti.

Unix è il sistema operativo di Internet. Mentre potete imparare a usare Internet senza conoscere Unix, non potete essere un hacker di Internet senza capire Unix. Per questa ragione, oggi la cultura hacker è quasi esclusivamente centrata su Unix. (Non è stato sempre così, e alcuni hacker della vecchia generazione sono ancora insoddisfatti, ma la simbiosi tra Unix e Internet è diventata abbastanza forte che persino la potenza di Microsoft sembra incapace di scalfirla seriamente.)

Quindi, procuratevi una versione di Unix - io personalmente preferisco Linux ma ci sono altre scelte (e certo, potete far girare Linux e Microsoft Windows sulla stessa macchina). Imparate a usarlo, fatelo girare, smanettateci. Navigateci in Internet. Leggetene il codice. Modificatene il codice. Disporrete dei migliori strumenti di sviluppo (inclusi C, LISP, Python, e Perl) che ogni altro sistema operativo Microsoft possa sognare di ospitare, vi divertirete, e assorbirete più conoscenza di quello che pensate finché riguarderete indietro a queste cose come un maestro hacker.

Per maggiori informazioni su come imparare Unix, guardate The Loginataka (traduzione italiana su CulturaHacker.it: Il Loginataka). Potreste voler dare un'occhiata anche a The Art Of Unix Programming (L'Arte della Programmazione sotto Unix).

Per mettere le mani su Linux, cercate sul sito Linux Online!; potrete scaricare da lì o (idea migliore) cercare un Linux user group dalle vostre parti che possa aiutarvi con l'istallazione.

Durante i primi dieci anni di vita di questo HOWTO ho scritto che, dal punto di vista di un nuovo utente, tutte le distribuzioni Linux sono quasi equivalenti. Ma nel 2006-2007 è emersa una scelta migliore delle altre:Ubuntu. Mentre altre distribuzioni hanno i loro punti di forza, Ubuntu è di gran lunga la più accessibile ai principianti di Linux.

Potete cercare aiuto e risorse per Unix BSD su www.bsd.org.

Un buon metodo per iniziare è far partire quello che i fan di Linux chiamano un live CD, una distribuzione che gira interamente da CD senza modificare il vostro hard disk. Ovviamente andrà lentamente, perché così sono i CD, ma è un modo per dare un'occhiata alle possibilità offerte senza dover fare niente di drastico.

Inoltre, ho scritto un'introduzione sulle basi di Unix e Internet.

Nota: non vi raccomando di istallare Linux o BSD da soli se siete dei principianti. Oggigiorno i programmi di installazione sono diventati abbastanza buoni a tal punto che è diventato possibile fare tutto da soli anche per un principiante. Nonostante ciò io raccomando ancora di prendere contatto con il vostro Linux User Group local e chiedere aiuto. Male non farà e può smussare il processo.

3. Imparare ad usare il World Wide Web e a scrivere pagine HTML.

La maggior parte delle cose che la cultura hacker ha creato lavora lontano dai riflettori, aiutando le aziende e gli uffici e le università senza un impatto evidente sulla vita dei non-hacker. Il Web è l'unica grande eccezione, il grande scintillante giocattolo degli hacker che anche i politici ammettono abbia cambiato il mondo. Anche solo per questa ragione (e per un sacco di altre buone ragioni) dovreste imparare come funziona il Web.

Questo non significa solo imparare a navigare con un browser (chiunque può farlo), ma imparare a scrivere l'HTML, il linguaggio di markup del Web. Se non sapete programmare, scrivere HTML vi insegnerà alcune abitudini che vi aiuteranno ad imparare. Quindi costruite una home page. Cercate di passare all'XHTML, è più pulito dell'HTML classico. (Ci sono buoni tutorial per principianti sul Web; eccone uno).

Comunque avere una home page non è sufficiente a rendervi un hacker. Il Web ne è pieno. La maggior parte delle quali inutili, melma senza contenuti - melma molto appariscente, penserete, ma sempre melma. Per saperne di più date un'occhiata a The HTML Hell Page (La Pagina dell'Inferno dell'HTML).

Per essere utile, la vostra pagina deve avere dei contenuti - deve essere interessante e/o utile agli altri hacker. E questo ci porta direttamente al prossimo argomento ...

4. Se non si è in possesso di un inglese funzionale, impararlo.

Verso il 1991 scoprii che molti hacker per i quali l'inglese era la seconda lingua lo usavano nelle discussioni tecniche, anche quando condividevano la stessa madrelingua; ciò mi venne riferito al tempo in cui l'inglese aveva un vocabolario tecnico più ricco di qualsiasi altra lingua e quindi era semplicemente uno strumento di lavoro migliore. Per ragioni simili, le traduzioni di libri tecnici scritti in inglese sono spesso insoddisfacenti (almeno quando esistono).

Linus Torvalds, un Finlandese, commenta i suoi codici in inglese (sembra non gli sia mai servito fare altro). La sua naturalezza con l'inglese è stata un fattore importante per la sua abilità nel reclutare una comunità mondiale di sviluppatori per Linux. È un esempio che vale la pena seguire.

Essere un madrelingua inglese non garantisce che abbiate abilità linguistiche da hacker. Se i vostri testi sono sgrammaticati e pieni di errori, molti hacker (incluso me stesso) tenderanno ad ignorarvi. Anche se testi carenti non significano pensieri carenti, generalmente esiste una forte correlazione tra le due cose - e non sappiamo cosa farcene di pensatori carenti. Se non siete ancora in grado di scrivere adeguatamente, imparate a farlo.

 

 

Status nella Cultura Hacker

1. Scrivere software open-source
2. Aiutare nel test e nel debug di software open-source
3. Pubblicare informazioni utili
4. Aiutare a mantenere le infrastrutture funzionanti
5. Servire la cultura hacker

Come molte culture senza un'economia monetaria, l'hackerdom si basa sulla reputazione. Cercherete di risolvere problemi interessanti, ma quanto interessanti saranno, e se le vostre soluzioni saranno veramente buone, è qualcosa che solo chi ha le vostre conoscenze o ne ha di superiori può giudicare.

Di conseguenza, quando giocherete a fare gli hacker, in primo luogo imparerete che si guadagnano punti in base a ciò che gli altri hacker pensano delle vostre abilità (questo è il motivo per cui non sarete veramente un hacker fino a quando altri hacker non vi chiameranno in questo modo). Questo fatto è nascosto dall'immagine dell'hacking come lavoro solitario; anche per un taboo della cultura hacker (che va lentamente scomparendo dalla fine degli anni '90 ma ancora potente) che non ammette che l'ego o il riconoscimento degli altri riguardino la propria motivazione anche solo in minima parte.

Più specificamente, l'hackerdom è ciò che gli antropologi chiamano una cultura del dono. Guadagnate status e reputazione non dominando altre persone, e non perché siete belli, e neanche perché possedete cose che le altre persone vorrebbero possedere, ma piuttosto regalando cose. In particolare, regalando il vostro tempo, la vostra creatività, e i risultati delle vostre capacità.

Ci sono fondamentalmente cinque tipi di cose che potete fare per essere rispettati dagli hacker:

1. Scrivere software open-source

La prima (la più centrale e la più tradizionale) è scrivere programmi che altri hacker pensano siano divertenti o utili, e donare i sorgenti all'intera cultura hacker.

Siamo abituati a chiamare questi lavori free software, ma questo confonde troppe persone che non sono esattamente sicure di cosa free significhi. Oggi molti di noi preferiscono il termine software open-source).

I più riveriti semidei dell'hackerdom sono persone che hanno scritto grandi, capaci programmi, che sono venuti incontro a grandi esigenze e li hanno donati, così che oggi tutti possono usarli.

Qui entra in gioco un po' di storia. Mentre gli hacker hanno sempre guardato agli sviluppatori di software open-source come al nucleo duro della comunità, prima della metà degli anni '90 la maggior parte di loro, per la maggior parte del tempo, lavorava su codici chiusi. Questo era ancora vero quando scrissi la prima versione di questo HOWTO nel 1996; si è dovuto aspettare l'avvento del software open-source dopo il 1997 per cambiare le cose. Oggi, la comunità hacker e gli sviluppatori open-source sono due descrizioni per quella che è essenzialmente la stessa cultura e popolazione - ma vale la pena ricordare che non è sempre stato così.

2. Aiutare nel test e nel debug di software open-source

Inoltre c'è richiesta di chi sostenga e faccia il debug di software open-source. In questo mondo imperfetto inevitabilmente spenderemo nella fase di debug la maggior parte del nostro tempo dedicato allo sviluppo del software. Motivo per cui tutti gli autori open-source vi diranno che buoni beta-tester (che sanno come descrivere i sintomi in maniera chiara, localizzano bene i problemi, sanno tollerare i bug in una versione rilasciata precocemente, e sono disposti ad applicare poche e semplici routine diagnostiche) valgono il loro peso in rubini. Persino uno di loro può fare la differenza tra una fase di debug che sia un incubo protratto, estenuante, e una che risulta essere semplicemente una salutare seccatura.

Se siete un principiante, cercate un programma in fase di sviluppo a cui siete interessati e siate dei buoni beta-tester. C'è una naturale progressione dall'aiutare a testare i programmi all'aiutare a farne il debug ad aiutare a modificarli. Imparerete molto in questo modo, e genererete un buon karma con le persone che vi aiuteranno in futuro.

3. Pubblicare informazioni utili

Un'altra cosa buona da fare è raccogliere e filtrare informazioni utili e interessanti in pagine web o documenti come liste di Frequently Asked Questions (FAQ), e renderle disponibili.

 curatori delle maggiori FAQ tecniche ottengono almeno lo stesso rispetto degli autori di software open-source.

4. Aiutare a mantenere le infrastrutture funzionanti

La cultura hacker (e lo sviluppo ingegneristico di Internet, in questo senso) è gestita da volontari. C'è una grande quantità di lavoro necessario ma non affascinante che richiede di essere fatto per mantenere funzionante il tutto - amministrare mailing list, moderare newsgroup, curare grandi siti per l'archivio di software, sviluppare RFC e altri standard tecnici.

Chi fa bene queste cose ottiene molto rispetto, perché tutti sanno come questi lavori assorbano una gran quantità di tempo e non sono così divertenti come giocare con del codice. Fare queste cose dimostra dedizione.

5. Servire la cultura hacker

Infine, potreste servire e propagare la cultura hacker stessa (per esempio, scrivendo un accurato manuale su come diventare hacker :-)). Non si tratta di qualcosa che sarete nella posizione di poter fare finché non sarete ben noti per uno dei primi quattro punti.

La cultura hacker non ha leader, in senso stretto, ma eroi, antenati tribali, storici e oratori. Quando sarete stati in trincea abbastanza a lungo, potrete diventare una di queste figure. Fate attenzione: gli hacker non si fidano di personalità troppo appariscenti tra i loro antenati, quindi cercare questo tipo di fama troppo visibilmente è pericoloso. Piuttosto che sforzarsi per ottenerla, dovreste migliorare la vostra posizione così che sia essa a raggiungervi, e una volta ottenuta siate modesti riguardo al vostro status.

 

 

Il Legame Hacker/Nerd

Contrariamente al mito popolare, non dovrete essere un nerd per essere un hacker. Aiuta, comunque, e molti hacker sono di fatto dei nerd. Essere socialmente emarginati aiuta a rimanere concentrati sulle cose veramente importanti, come pensare e fare dell'hacking.

Per questa ragione, molti hacker hanno adottato l'etichetta di geek (geco) come distintivo di orgoglio - è un modo per dichiarare la loro indipendenza dalle normali aspettative sociali (così come una passione per altre cose come la fantascienza e i giochi di strategia spesso si accompagnano con l'essere un hacker). Il termine nerd è entrato nel gergo nel anni '90, quando nerd era solo un leggero peggiorativo e geek, invece, uno più duro; dopo il 2000 questi termini hanno invertito i propri ruoli, almeno nella cultura popolare statunitense, e c'è oggi perfino una significativa cultura dell'orgoglio geek tra i non tecnici.

Se riuscite a concentrarvi sull'hacking abbastanza da diventare bravi e avere ancora una vita, ottimo. Oggi è molto più facile di quanto non fosse quando ero un principiante negli anni '70; la cultura principale è molto più amichevole verso i tecno-nerd oggi. C'è persino un numero crescente di persone che crede che gli hacker siano spesso degli amanti di alta qualità e da sposare.

Se siete attratti dall'hacking perché non avete una vita, va bene lo stesso - almeno non avrete difficoltà a concentrarvi. Forse l'avrete in futuro.

 

 

Appunti Di Stile

Ancora, per essere un hacker, dovete entrare nella mentalità hacker. Pare che fare alcune cose quando non si è davanti ad un computer aiuti. Non sono un'alternativa all'hacking (niente lo è) ma molti hacker le fanno, e sentono che in qualche modo si entra in connessione con l'essenza dell'hacking.

  • Imparate a scrivere bene nella vostra lingua. Benché sia un comune stereotipo che i programmatori non sappiano scrivere, un numero sorprendente di hacker (inclusi tutti i più esperti che conosco) sono scrittori molto abili.

  • Leggete fantascienza. Andate ai congressi di fantascienza (un buon modo per incontrare hacker e proto-hacker).

  • Esercitatevi in una forma di arti marziali. Il tipo di disciplina mentale rischiesta dalle arti marziali sembra essere simile a ciò che gli hacker fanno. Le forme più popolari tra gli hacker sono senza alcun dubbio le arti asiatiche a mani nude come il Tae Kwon Do, varie forme di Karate, Kung Fu, Aikido, oppure Ju Jitsu. Anche le arti della scherma occidentale e della spada asiatica hanno un grande seguito. Dove è legale, sparare con la pistola sta accrescendo la propria popolarità sin dalla fine degli anni '90. Le arti marziali che più hanno a che fare con l'hacking sono quelle in cui è enfatizzata la disciplina mentale, il rilassamento, e il controllo, piuttosto che la forza bruta, l'atletismo, o la resistenza fisica.

  • Studiate una disciplina meditativa. La favorita tra gli hacker è lo Zen (una cosa importante, è possibile trarre benefici dalla pratica dello Zen senza acquisire una religione o perderne una di cui si è già in possesso). Altri stili funzionano altrettanto bene, ma fate attenzione a sceglierne uno che non vi richieda di credere in cose folli.

  • Sviluppate un orecchio analitico per la musica. Imparate ad apprezzare tipi di musica peculiari. Imparate a suonare bene qualche strumento musicale, o a cantare.

  • Sviluppate un vostro apprezzamento per gli indovinelli e i giochi di parole.

Più cose già fate tra queste, più probabilmente siete materiale hacker naturale. Perché queste cose in particolare, non è completamente chiaro, ma c'è un legame con un mix di abilità della parte sinistra - e destra - del cervello che sembra essere importante; gli hacker hanno bisogno contemporaneamente di ragionare logicamente e andare fuori dagli schemi della logica apparente di un problema.

Lavorate intensamente come giocate e giocate intensamente come lavorate. Per i veri hacker, i confini tragiocolavoroscienza e arte tendono a scomparire, o a fondersi in un gioco creativo di alto livello. Inoltre, non vi accontentate di un un campo ristretto di abilità. Nonostante la maggior parte degli hacker si descrivano come programmatori, essi sono molto probabilmente più competenti in svariati campi correlati - amministrazione di sistema, progettazione di pagine web, e analisi dei guasti dell'hardware del PC sono esempi comuni. Un hacker che sia un amministratore di sistema, d'altra parte, è probabilmente abbastanza abile nella programmazione di script e nella progettazione di pagine web. Gli hacker non fanno le cose a metà; se investono del tempo in un'abilità, tendono a diventare molto bravi in essa.

In conclusione, poche cose da non fare.

  • Non usate un nome o un ID utente stupido, grandioso.

  • Non andate in escandescenze su Usenet (o altrove).

  • Non autodefinitevi cyberpunk, e non perdete il vostro tempo con chiunque lo faccia.

  • Non inviate o scrivete email piene di errori grammaticali e di ortografia.

L'unica reputazione che guadagnerete facendo una qualsiasi di queste cose è quella di idioti. Gli hacker hanno lunga memoria - potrebbero volervici anni per far dimenticare i vostri errori abbastanza da essere accettati.

l problema con i nickname o nomignoli merita qualche digressione. Mascherare l'identità dietro un appellativo è una caratteristica giovanile e stupida dei cracker, warez d00dz, e altre forme di vita inferiori. Gli hacker non lo fanno; sono orgogliosi del loro lavoro e vogliono che sia associato al loro vero nome. Quindi se avete un appellativo, sbarazzatevene. Nella cultura hacker vi etichetterà soltanto come un perdente.

 

Tengo a precisare che non ho mai svolto nessun tipo di azione illegale. Sono solamente sempre stato affascinato da queste culture e persone. Per questo ritengo doveroso nel mio sito web dedicare una pagina ai grandi di internet

Cerca nel sito

Contatti

Enrico e_m44@yahoo.it