Come diventare un Hacker

C’è una comunità, una cultura condivisa, dei programmatori esperti e dei maghi della rete che traccia la sua storia indietro di decenni dai primi time-sharing minicomputers ai primi esperimenti ARPAnet. I membri di questa cultura hanno dato origine al termine ‘hacker‘.

C’è un altro gruppo di persone che si chiamano ad alta voce hacker, ma non lo sono. Queste sono persone che penetrano nei computer e interferiscono nel sistema telefonico. I veri hacker chiamano queste persone “cracker” e non vogliono avere nulla a che fare con loro. I veri hacker sostengono che essere in grado di violare la sicurezza non ti rende un hacker più di quanto essere in grado di mettere fuori uso un’auto ti fa un ingegnere automobilistico.

Ci sono persone che applicano la vera attitudine di hacker ad altre cose, come l’elettronica o la musica – ma nel resto di questo articolo ci concentreremo sulle capacità e sulle attitudini degli hacker del software e sulle tradizioni della cultura condivisa che ha originato il termine ‘hacker’.

Passi

1. Adottare la mentalità di un hacker. Gli hacker risolvono problemi e costruiscono le cose, e credono nella libertà e nel mutuo aiuto volontario. Per essere accettato come un hacker, è necessario comportarsi come se si dispone di questo tipo di atteggiamento. E per comportarsi come se si ha questo atteggiamento, si deve credere davvero nell’atteggiamento. Quindi, se vuoi essere un hacker, ripeti le seguenti cose finché non ci credi:

Il mondo è pieno di problemi affascinanti che aspettano di essere risolti. Atleti di successo traggono la loro motivazione da una sorta di piacere fisico nel fare muovere il proprio corpo, spingendosi oltre i propri limiti fisici. Allo stesso modo, dovete ottenere un brivido nel risolvere problemi, affilare le vostre capacità ed esercitare la vostra intelligenza.

Nessun problema dovrebbe mai essere risolto due volte. Il tempo di riflessione degli altri hacker è prezioso – tanto che è quasi un dovere morale per voi condividere informazioni, risolvere problemi e poi dare le soluzioni, in modo che gli altri hacker possano risolvere nuovi problemi invece di dover perpetuamente ripensare ai vecchi.

Noia e ripetitività sono il male. Quando gli hacker si annoiano o devono sgobbare ad uno stupido lavoro ripetitivo, non fanno ciò che solo loro possono fare – risolvere nuovi problemi. Per comportarsi come un hacker, devi voler automatizzare i problemi noiosi, per quanto possibile.

La libertà è un bene. L’atteggiamento autoritario deve essere combattuto ovunque si trovi, affinché non soffochi te e gli altri hacker. Non tutte le figure di autorità sono autoritarie, tuttavia; gli autoritari prosperano sulla censura e sulla segretezza. E distruggono la cooperazione volontaria e la condivisione delle informazioni.

L’atteggiamento non è un sostituto dell competenza. Gli hacker non sprecano il loro tempo, ma hanno il culto dell competenza – soprattutto competenza di hacking, ma la competenza in qualsiasi cosa è apprezzata. La competenza verso abilità specifiche che pochi possono conoscere è particolarmente buona, e la competenza di abilità specifiche che coinvolgono una mente brillante, astuzia e concentrazione sono la cosa migliore.

2. Imparare come programmare. Il modo migliore per imparare è quello di leggere alcune cose scritte dai maestri della forma, scrivere qualcosa da soli, leggere molto di più, scrivere un po ‘di più, leggere molto di più, scrivere qualcosa di più e ripetere fino a quando la scrittura inizia a sviluppare il tipo di forza e di economia che vedi nei tuoi modelli. Per essere un vero hacker, tuttavia, è necessario arrivare al punto in cui si può imparare una nuova lingua mettendo in relazione quello che c’è nel manuale con ciò che già conosci. Ciò significa che dovresti imparare molte lingue diverse. Oltre ad essere i linguaggi hacking più importanti, i seguenti rappresentano approcci molto differenti alla programmazione e ciascuno vi educa in maniera preziosa.

Python è un buon linguaggio per cominciare perché è  progettato in maniera semplice, ben documentato e abbastanza gentile con i principianti. Nonostante sia un buon primo linguaggio, non è solo un giocattolo; ma è molto potente e flessibile e ben adatto per grandi progetti. Java è un’alternativa, ma il suo valore come primo linguaggio di programmazione è stata messa in discussione.

Se si entra nella programmazione seria, si dovrà imparare il C, il linguaggio di base di Unix (C++ è strettamente legata a C; se ne conosci uno, imparare l’altro non sarà difficile). C è molto efficiente con le risorse della macchina, ma assorbire enormi quantità di tempo con il debug ed è spesso evitato per questo motivo (a meno che l’efficienza della macchina sia indispensabile).

Perl è degno di apprendimento per ragioni pratiche: è molto usato per le pagine web attive e per l’amministrazione di sistema, in modo che anche se non si scrive in Perl, dovresti imparare a leggerlo. Molte persone usano Perl per evitare la programmazione in C per i lavori che non richiedono l’efficienza della macchina C.

LISP vale la pena di imparare per un altro motivo – per l’esperienza di profonda illuminazione che si avrà quando finalmente lo si capisce. Questa esperienza ti renderà un programmatore migliore per il resto dei tuoi giorni, anche se non utilizzi molto LISP. È possibile ottenere una prima esperienza con LISP abbastanza facilmente scrivendo e modificando le modalità di modifica per l’editor di testo Emacs, o il plugin Script-Fu per GIMP.

3. Prendi uno dei Unix open-source e impara ad usarlo e a eseguirlo. Unix è il sistema operativo di Internet. Mentre puoi imparare ad usare Internet senza conoscere Unix, non puoi essere un hacker di Internet senza capire Unix. Per questa ragione, la cultura dell’hacker oggi è fortemente centrata su Unix. Quindi, apri un sistema Unix (come Linux, ci sono altri modi e sì, è possibile eseguire sia Linux che Microsoft Windows sulla stessa macchina). Imparalo. Eseguilo. Armeggiare con esso. Parla di Internet con lui. Leggi il codice. Modifica il codice.

Ci sono altri sistemi operativi al mondo oltre a Unix. Ma sono distribuiti in binario – non si può leggere il codice, e non è possibile modificarlo. Cercare di forzare una macchina Microsoft Windows o un qualsiasi altro sistema closed-source è come cercare di imparare a ballare mentre si è ingessati. In Mac OS X è possibile, ma solo una parte del sistema è open source – è molto probabile che si colpiscono molti ostacoli, e bisogna stare attenti a non sviluppare la cattiva abitudine di dipendere dal codice proprietario di Apple.

Scarica on-line Linux o (idea migliore) trova un gruppo di utenti locali di Linux che possa aiutarti con l’installazione.

Mentre altre distribuzioni hanno delle proprie aree di forza, Ubuntu è di gran lunga il più accessibile per i neofiti di Linux.

Un buon modo per immergere le dita dei piedi in acqua è di avviare quello che i fan di Linux chiamano un live CD, una distribuzione che funziona interamente da CD, senza dover modificare il vostro disco rigido. Questo sarà lento, perché i CD sono lenti, ma è un modo per dare uno sguardo alla possibilità, senza dover fare qualcosa di drastico.

4. Imparare ad usare il World Wide Web e a scrivere HTML. La maggior parte delle cose che la cultura hacker ha costruito é dare il proprio lavoro, aiutando a gestire le fabbriche e gli uffici e le università senza alcun evidente impatto sulla vita dei non-hacker. Il Web è l’unica grande eccezione, il grosso lucido giocattolo degli hacker e anche i politici ammettono che ha cambiato il mondo. Solo per questo motivo (e anche per molti altri buoni motivi) è necessario imparare come lavorare sul web. Questo non significa solo imparare a guidare un browser (chiunque può farlo), ma imparare a scrivere in HTML, linguaggio di markup del web. Se non sapete come programmare, scrivere HTML vi insegnerà alcune abitudini mentali che vi aiuteranno ad imparare. Quindi costruisci una home page. Prova a orientarti verso XHTML, che è un linguaggio più pulito rispetto al classico HTML.

5. Se non avete un inglese funzionale, imparatelo. L’inglese è la lingua di lavoro della cultura hacker e di Internet, e hai bisogno di conoscerlo per funzionare nella comunità hacker. La traduzione di libri tecnici scritti in inglese sono spesso insoddisfacenti. Essere di madrelingua inglese non garantisce di avere buone competenze linguistiche sufficienti per funzionare come un hacker. Se la tua scrittura è semianalfabeta, sgrammaticata e piena di errori ortografici, molti hacker tendono a ignorarti. Mentre la scrittura sciatta non sempre significa pensare sciatto, ma la correlazione è forte. Se non sei ancora in grado di scrivere con competenza, impara.

6. Guadagnare rispetto come un hacker. Come la maggior parte delle culture senza un’economia monetaria, l’hacker si basa sulla reputazione. Stai cercando di risolvere problemi interessanti, ma per quanto interessanti siano, se le soluzioni sono veramente buone, è qualcosa per il quale solo i tuoi coetanei tecnici o i tuoi superiori sono di solito in grado di giudicare. È per questo che non sei veramente un hacker finché altri hacker non ti riconoscono costantemente come tale. In particolare, l’hacker è ciò che gli antropologi chiamano una cultura del dono. Guadagni lo status e la reputazione non dominando altre persone, né per essere belli, non avendo le cose che vogliono gli altri, ma piuttosto donando delle cose: il tuo tempo, la tua creatività e i risultati delle tue abilità.

Scrivi un software open-source. Scrivi programmi che altri hacker pensano siano divertenti o utili, e dai i programmi alle fonti della cultura hacker da utilizzare. Gli hacker più riveriti come semidei sono persone che hanno scritto molti programmi in grado di soddisfare un bisogno diffuso e lo hanno distribuito, così che ora tutti lo usano.

Test di aiuto e debug di software open-source. Ogni autore open-source che sta pensando vi dirà che un buon beta-tester (chi sa come descrivere chiaramente i sintomi, localizzare bene i problemi, tollerare bachi in una veloce release, e sono disposti ad applicare alcune semplici routine diagnostiche) valgono molto. Prova a trovare un programma in fase di sviluppo che ti interessa e cerca di essere un buon beta-tester. C’è una progressione naturale da aiutare i programmi di prova ad aiutare il loro debug fino ad aiutare a modificarli. Potrai imparare molto in questo modo, e generare un buon karma con le persone che ti aiuteranno in seguito.

Pubblicare informazioni utili. Un altro aspetto positivo è quello di raccogliere e filtrare informazioni utili e interessanti in pagine web o in documenti come liste di Frequently Asked Questions (FAQ), e renderle in generale disponibili. I curatori delle principali domande tecniche FAQ ottengono quasi lo stesso rispetto degli autori di software open-source.

Aiuta a mantenere il funzionamento delle infrastrutture. La cultura hacker
(e lo sviluppo dell’ingegneria di Internet, per questo discorso) è gestita da volontari. E’ necessario molto lavoro non riconosciuto per funzionare – amministrare le mailing list, moderare le newsgroup, mantenere grandi siti di archivi software, sviluppare RFC e altri standard tecnici. Le persone che fanno questo genere di cose ottengono molto rispetto, perché tutti sanno che questi lavori richiedono tempo e non sono divertenti come giocare con il codice. Eseguirli mostra dedizione.

Servire la cultura hacker. Questo non è qualcosa per cui sarai posizionato ad eseguire fino a quando non sei conosciuto in giro e diventato famoso per una delle quattro voci precedenti. La cultura hacker non ha leader, di preciso, ma ha degli eroi culturali e gli anziani delle tribù, storici e portavoci. Quando sei stato in trincea abbastanza a lungo, puoi crescere e diventare uno di questi.

Attenzione: gli hacker diffidano dei palesi egocentrici tra i loro anziani delle tribù, quindi raggiungere molto visibilmente questo tipo di fama è pericoloso. Invece di adoperarsi per essa, si deve cercare di posizionarsi in modo di essere cullati e quindi essere modesti e riconoscenti dello stato raggiunto.

Consigli

Lavora intensamente come quando giochi e gioca così intensamente come quando lavori. Per i veri hacker, i confini tra “gioco”, “lavoro”, “scienza” e “arte” tendono a scomparire, o a fondersi in una giocosità di alto livello creativo.

Non essere contento di una gamma ristretta di abilità. Sebbene la maggior parte degli hacker si auto-descrivono come programmatori,  molto probabilmente sono più competenti in diverse abilità correlate – amministrazione di sistema, web design, PC hardware troubleshooting sono quelli comuni. Gli hacker non fanno le cose a metà; se investono in un’abilità, tendono a diventare molto bravi.

Non dovete credere che siete obbligati a dare a tutti il tuo prodotto creativo, sebbene gli hacker che lo fanno siano quelli che ottengono più rispetto dagli altri hacker. E’ coerente con i valori degli hacker quello di vendere abbastanza per comprare il cibo, per pagare l’affitto e acquistare il computer. Va bene utilizzare le vostre abilità di hacking per sostenere la famiglia o addirittura diventare ricchi, purché non si dimentichi la fedeltà all’ arte e ai vostri colleghi hacker mentre lo fate.

Contrariamente al mito popolare, non dovete essere un nerd per essere un hacker. Esso aiuta, comunque, e molti hacker sono infatti dei nerd. Essere una sorta di reietto sociale ti aiuta a rimanere concentrato sulle cose veramente importanti, come pensare e fare hacking. Se si riesce a concentrarsi abbastanza sull’hacking per essere bravo e avere anche una vita, va bene. La cultura dominante è molto più amichevole al techno-nerd adesso.

Per essere un hacker, devi entrare nella mentalità hacker, e ci sono alcune cose che puoi fare quando non sei al computer che sembrano aiutare. Non ci sono sostituti dell’hacking (niente lo è) ma molti hacker le fanno e sentono di connettere alcuni metodi di base con l’essenza dell’hacking (gli hacker devono essere in grado di ragionare sia in modo logico sia al di fuori della logica apparente di un problema in un certo momento).

Scrivi bene nella tua lingua madre. Anche se è uno stereotipo comune che i programmatori non sappiano scrivere, un sorprendente numero di hacker sono degli scrittori molto capaci.

Leggi di fantascienza. Vai alle convention di fantascienza (un buon modo per incontrare hacker e proto-hacker).

Addestrati in una forma di arte marziale. Il tipo di disciplina mentale richiesto per le arti marziali sembra essere simile in maniera importante a quanto gli hacker fanno. La maggior parte delle arti marziali per l’hacker sono quelle che sottolineano disciplina mentale, rilassata consapevolezza e controllo, piuttosto che forza bruta, prestanza fisica, o forza fisica. Il Tai Chi è una buona arte marziale per gli hacker.

Studia una reale disciplina di meditazione. Il favorito perenne tra gli hacker è lo Zen (importante, è possibile beneficiare dello Zen senza acquisire una religione o senza scartare quella che già avete).

Sviluppa un orecchio analitico per la musica. Impara ad apprezzare particolari tipi di musica. Impara a suonare bene qualche strumento musicale o impara a cantare.

Sviluppa il tuo apprezzamento verso i giochi di parole.

Approfondisci il pensiero creativo. La mentalità hacker è guidata dalla risoluzione dei problemi in modo creativo. Questa creatività vi dà la capacità di risolvere gli altri problemi considerati irrisolvibili.

Avvertenze

Celare la propria identità dietro un manico è un caratteristico  infantile e stupido comportamento dei crackers, warez d00dz e altre forme di vita inferiori. Gli hacker non fanno questo, sono orgogliosi di ciò che fanno e vogliono che associati ai loro nomi reali. Quindi, se si dispone di un manico, lasciatelo cadere. Nella cultura hacker vi marca come un perdente. Un soprannome IRC è ovviamente accettabile, anche se usato in altre situazioni, perché è più veloce da digitare.

Fare una delle seguenti cose vi farà guadagnare una cattiva reputazione nella comunità hacker. Gli hacker hanno la memoria lunga – potrebbero servire degli anni prima di essere accettato a dispetto dei primi errori. Inoltre, quello che c’è su internet rimane su Internet. Non pensare che nessuno si imbatta in quello che hai fatto tre anni fa.

Non utilizzare un sciocco e grandioso ID utente.

Non entrare in conflitto su Usenet (o altrove).

Non chiamarti ‘cyberpunk’ e non sprecare il tuo tempo con chiunque lo faccia.

Non scrivere post o e-mail pieni di errori di ortografia e di grammatica.

Non credere ciecamente ai consigli dati qui o dovunque su Internet come veri e come l’unica via per abbracciare la mentalità di un hacker.

Scritto da Monika6