| Vaniusamd a întrebat:

Cum pot deveni hack?

3 răspunsuri:
| Dash a răspuns:

Vrei sa spui ''Hack-er"...

| Angelique a răspuns:

1. Învată să programezi.

Acest lucru este esenţial. Daca nu şti să programezi în nici un limbaj îţi recomand să începi cu Python. E foarte bine gândit, bine documentat, şi destul de blând cu începătorii. Lăsând la o parte faptul că e un limbaj bun pentru începători, Python nu este o jucărie, este un limbaj foarte puternic şi flexibil şi care se pretează a fi folosit la proiecte mari. Am scris o evaluare mai detaliată aici. Nişte tutoriale foarte bune sunt disponibile pe pagina web www.python.org

Java este un alt limbaj bun pentru a învăţa să programezi în el. Este ceva mai dificil decât Python dar produce un cod mai rapid. Este un limbaj care e foarte bine să fie ştiut. Din nefericire însă implementarea oficială Sun este încă proprietară. Aceasta nu este o prea mare problemă în ceea ce priveşte limbajul în sine pentru că există alternative open-source de foarte bună calitate; problema reală este dată de bibliotecile de funcţii care sunt disponibile împreună cu limbajul. Implementările open-source sunt încă în spatele celor oficiale oferite de Sun. Aşa că dacă vrei să înveţi Java foloseşte o implementare open-source pentru a evita să devii dependent de codul proprietate Sun.

Dar trebuie să fi conştient că nu o să ajungi un hacker, nici măcar un programator dacă şti unul sau două limbaje de programare, trebuie să inveţi să gândeşti problemele de programare la modul general, independent de limbaj. Pentru a fi un hacker adevărat trebuie să ajungi până în punctul în care să reuşeşti să înveţi un limbaj nou în câteva zile făcând asociaţii cu ceea ce şti deja. Asta înseamnă că trebuie să şti mai multe limbaje diferite.

După ce depăşeşti faza iniţială şi o să incepi să înţelegi principalele concepte trebuie să înveţi C, limbajul pe baza căruia a fost construit Unix. C++ are foarte multe elemente comune cu C, dacă şti unul va fi uşor să îl înveţi pe celălalt. Nici C, nici C++ nu sunt genul de limbaje pe care să le înveţi prima data. O să observi că o să fi mult mai productiv in alte limbaje decât în C.

C-ul este foarte eficient, şi econom cu resursele calculatorului. Din nefericire C-ul are aceasta eficienţă deoarece managementul memoriei şi a resurselor este lăsat în seama programatorului. Tot codul acesta este complex şi predispus la probleme ( bug-uri ) şi va consuma foarte mult timp. Tinând cont de cât de rapide sunt calculatoarele de astăzi este mai bine să foloseşti un limbaj care să economisească timpul programatorului şi nu pe cel al calculatorului ( ex:Python ).

Alte limbaje de importanţă deosebită pentru un hacker sunt Perl şi LISP. Perl merită învăţat în special din motive practice; este folosit foarte frecvent pentru pagini de web dinamice şi pentru administrarea sistemului, astfel încât chiar dacă nu o scrii programe în Perl tot trebuie să şti să înţelegi o sursă. Mulţi oameni utilizează Perl aşa cum sugerez eu să fie folosit Python, pentru a evita programarea în C atunci cand nu e nevoie de eficienţă. Va trebui să fi capabil să înţelegi aceste programe.

LISP merită învăţat pentru sentimentul de mulţumire pe care îl ai atunci cand reuşeşti să-l înţelegi. Această experienţă te va face un programator mai bun pentru tot restul vieţii, chiar dacă nu o să foloseşti LISP pentru a scrie programe. ( Poţi să capeţi nişte experienţă în LISP uşor scriind şi modificând moduri de editare pentru Emacs, sau Script-Fu plugins pentru GIMP. )

Cel mai bine e să le înveţi pe toate cinci : Pyhton, C/C++, Java, Perl si LISP. În afara faptului că sunt cele mai importante limbaje pentru hacking sunt şi ipostaze ale diferitelor paradigme de programare, şi fiecare te va educa în diferite moduri.

Nu pot să dau instrucţiuni complete despre cum să înveţi să programezi, e o muncă dificilă. Dar pot să îţi spun că nu te vor ajuta foarte mult carţile şi cursurile ( mulţi, poate cei mai mulţi hackeri sunt autodidacţi ). Pot să înveţi despre un limbaj din carţi, dar modul de gândire care transformă acele cunoştiinţe într-o deprindere pot fi învăţate numai prin exerciţiu şi programare. Ceea ce trebuie să faci e să (a) citeşti programe şi să scrii programe.

Peter Norving care este unul dintre cei mai buni hackeri de la Google şi coautor al unor excelente cărţi despre inteligenţă artificială, a scris un eseu excelent numit Teach Yourself Programming in Ten Years. Reţeta lui pentru succes în programare merită toată atenţia.

A învăţa să programezi e ca şi cum ai învăţa o nouă limbă. Cea mai bună modalitate e să citeşti câteva texte scrise de experţi în domeniu, să scrii nişte chestii singur, să citeşti mai mult, să mai scrii, să citeşti, să scrii ... şi să repeţi până când dezvolţi în scris genul de putere şi economie pe care o vezi în modelele tale.

Găsirea unor programe bune pentru analizat era o chestie dificilă, pentru că erau puţine disponibile sub formă de cod sursă pe care puteau experimenta hackerii. Acest lucru s-a schimbat dramatic; programe cu sursă deschisă ( open-source ), unelte pentru programare şi sisteme de operare ( toate construite de hackeri ) sunt acum disponibile pentru oricine. Ceea ce ne apropie de următorul subiect ...

2. Instalează şi foloseşte un sistem de operare din familia Unix.

O să presupun că ai un calculator personal sau ai acces la unul. ( Gândeşte-te un moment ce înseamnă asta. Cultura hackerilor a apărut în timpul în care calculatoarele erau aşa de scumpe încât nici o persoană fizică nu îşi permitea să îşi cumpere. ). Unul dintre cei mai importanţi paşi pe care un începător îl poate face pentru a începe să dobândească deprinderi de hacker este să facă rost de o copie de Linux sau BSD, să-l instaleze pe calculatorul personal şi să înveţe să-l folosească.

Da, mai sunt şi alte sisteme de operare în lume în afară de Unix. Dar sunt distribuite sub formă binară, nu poţi citi codul, nu-l poţi modifica. A încearca să înveţi hacking pe un calculator cu Microsoft Windows sau orice alt sistem de operare cu surse închise e ca şi cum ai încerca să dansezi îmbrăcat în ghips.

Sub Mac OS X este posibil, dar numai o parte din sistemul de operare are şi surse, e posibil să te loveşti de multe ziduri, şi trebuie să fi atent să nu dezvolţi prostul obicei de a depinde de codul proprietate Apple. Dacă te concentrezi pe Unix poţi învăţa foarte multe lucruri.

Unix este sistemul de operare al internetului. Deşi poţi să înveţi să foloseşti internetul fără să şti Unix, nu poţi să fi un hacker fără să înţelegi Unix. Din acest motiv, cultura hackerilor este strâns legată de Unix. ( Acest lucru nu a fost întotdeauna adevărat, şi câţiva hackeri nu sunt prea bucuroşi, dar simbioza între Unix şi internet este suficient de puternică încât nici Microsoft nu poate să intervină.)

Aşa că instalează un sistem din familia Unix ( Şi mie îmi place Linux dar mai există şi alte căi ( şi da, poţi să ai şi Linux şi Windows pe acelaşi calculator )). Invaţă să-l folosesti. Experimentează cu el. Navighează pe internet cu el. Citeşte codul. Modifică codul. O să ai la dispoziţie unelte pentru programare : C, LISP, Python şi Perl, mai mult decât pe orice sistem Microsoft, o să înveţi mult mai repede decât îţi dai seama.

Pentru mai multe informaţii în legătură cu Unix vezi The Loginataka. Aruncă o privire şi pe The Art Of Unix Programming.

Pentru a obţine o copie Linux, vizitează Linux Online!; poţi să descarci de acolo sau ( o idee mai bună ) gaseşte un grup local de utilizatori Linux care să te ajute cu instalarea. Din perspectiva unui nou utilizator toate distribuţiile Linux sunt identice.

Poţi să gasesti informaţii şi resurse despre BSD Unix la www.bsd.org.

Am scris o scurtă introducere la adresa Basics of Unix and the Internet

(Notă : Nu recomand instalarea unui sistem Linux sau BSD singur, mai ales dacă eşti un începător. Pentru Linux găseşte un grup de utilizatori şi cere ajutor.)

3. Învaţă să foloseşti internetul şi HTML.

Cele mai multe lucruri pe care cultura hackerilor le-a produs nu s-au bucurat de atenţie publică, fiind folosite în fabrici şi universităţi fără nici un impact direct asupra omenilor în general. Internetul este marea excepţie, marea şi strălucitoarea jucărie realizată de hackeri care a schimbat lumea. Din acest motiv ( şi multe altele ) trebuie să înveţi să şti să lucrezi pe internet.

Asta nu înseamnă doar să şti să foloseşti un browser ( oricine poate să facă asta ), trebuie să înveţi să scrii HTML - limbajul Web-ului. Dacă nu şti să programezi învăţând HTML o să îţi fie mai uşor să înveţi apoi un limbaj de programare. Aşa că trebuie să îţi faci o pagină pe web. Încearcă să foloseşti standardul XHTML, care e mai aranjat decât clasicul HTML. ( Se găsesc uşor tutoriale pe internet; aici e unul.)

Dar simplu fapt de a avea o pagina e doar începutul lungului drum spre a devenii un hacker. Internetul e plin de astfel de pagini. Majoritatea au un conţinut inutil ( vezi The HTML Hell Page ).

Ca să merite, pagina ta va trebui să aibă conţinut, să fie interesantă/folositoare altor hackeri. Şi asta ne aduce la urmatorul subiect ...

4. Dacă nu şti engleză la un nivel acceptabil, învaţă.

Ca american şi vorbitor nativ de limbă engleză am ezitat să sugerez acest lucru, l-am perceput ca o formă de imperialism cultural. Dar câţiva vorbitori nativi de altă limbă decât engleza m-au împins să declar că engleza este limba comunităţii hackerilor şi că trebuie să o şti pentru a te integra.

În jurul anului 1991 am învăţat că mulţi hackeri care stiau engleza o foloseau în special în discuţiile tehnice; mi s-a spus că engleza are un vocabular tehnic mult mai bogat decât orice altă limba şi deci este un instrument mai bun pentru astfel de discuţii. Din motive similare traducerile cărţilor tehnice din engleză sunt deseori nesatisfăcătoare.

Linus Torvalds comentează tot codul pe care îl scrie în engleză ( aparent nici nu şi-a pus vreodată problema dacă ar trebui să facă altfel ). Engleza lui fluentă a fost un factor important în abilitatea sa de a recruta o comunitate globală de dezvoltatori Linux. Este un exemplu bun de urmat.

Fiind un vorbitor nativ de engleză nu garantează că ştii suficient de mult pentru a fi un hacker. Dacă scrisul este plin de dezacorduri şi de greşeli, mulţi hackeri ( inclusiv eu ) vor avea tendinţa să te ignore. Deşi scrisul dezordonat nu înseamnă neapărat şi o gândire dezordonată am observat că există totuşi o corelaţie destul de puternică. Daca nu şti să scrii bine, învaţă.
Scrie programe cu surse deschise ( open-source )

Primul lucru ( central şi tradiţional ) pe care îl poţi face e să scrii programe pe care ceilalţi hackeri să le considere distractive şi utile, şi să oferi codul sursă al acestor programe astfel încât toţi să îl poată folosi.

(Iniţial au fost numite gratis ( free ) dar termenul a introdus confuzie pentru că nu se ştia exact ce înseamnă gratis. Cei mai mulţi folosesc astăzi termenul de open-source).

Cei mai respectaţi în cultura hackerilor sunt cei care au scris programe mari şi capabile, care au satisfăcut o nevoie generală şi care au fost oferite gratis împreună cu sursele complete astfel încât oricine să le poată folosi şi învăţa din ele.

Dar lucrurile nu au fost mereu aşa. Deşi hackerii au privit dezvoltatorii open-source cu multă admiraţie ca un element esenţial al culturii, înainte de 1990 majoritatea hackerilor scriau programe cu sursele închise. Această atitudine era încă activă în 1996 când am scris prima versiune a acestui document; lucrurile s-au schimbat începând cu anul 1997. Astăzi comunitatea hackerilor şi comunitatea dezvoltatorilor open-source sunt două denumiri care descriu acelaşi lucru dar e bine să ştim că lucrurile nu au fost mereu aşa.
Ajută la testarea şi îmbunătăţirea programelor open-source

Şi cei care găsesc erorile din programele open-source sunt foarte respectaţi. În această lume imperfectă, inevitabil ajungem să ne petrecem cel mai mult timp de dezvoltare a programelor căutând erori. Din acest motiv orice dezvoltator open-source care gândeşte îţi va spune că nişte testeri buni ( care ştiu cum să descrie simptomele clar, să localizeze problemele, să ignore micile probleme din primele apariţii, şi care pot să aplice nişte funcţii de diagnosticare ) sunt foarte valoroşi. Chiar şi unul singur poate să facă diferenţa între o căutare de erori care este stresantă şi una foarte uşoară.

Daca eşti un începător, încearcă să găseşti un program care este în dezvoltare şi de care eşti interesat şi fi un bun tester. Are loc un avans natural de la a ajuta la testarea programelor, la a ajuta la eliminarea erorilor şi a ajuta la scrierea lor. O să înveţi foarte mult astfel şi o să ai o relaţie bună cu oameni care te vor ajuta mai târziu.
Publică informaţii utile

Un alt lucru bun e să colectezi şi să filtrezi informaţii utile şi interesante în pagini web sau documente cu răspunsuri la întrebări frecvente ( FAQ - Frequently Asked Questions ) pe care să le faci disponibile tuturor.

Menţinătorii celor mai importante liste de întrebări frecvente primesc la fel de mult respect ca şi dezvoltatorii open-source.
Ajută la menţinerea infrastructurii funcţionale

Cultura hackerilor ( şi a inginerilor care au dezvoltat internetul ) se bazează pe voluntariat. E foarte multă muncă necesară care trebuie făcută pentru a menţine lucrurile funcţionale : administrare liste de mail, moderare grupuri de ştiri, menţinerea unor arhive mari de soft, dezvoltarea de RFC-uri şi alte standarde tehnice.

Oamenii care fac aceste lucruri sunt foarte respectaţi pentru că toată lumea ştie că aceste munci sunt mari devoratoare de timp şi nu sunt atât de distractive ca programarea. Făcând aceste lucruri persoanele respective îşi arată loialitatea.

Ajută comunitatea hackerilor

În final, poţi să ajuţi la propagarea culturii hackerilor în sine ( prin de exemplu scrierea unui eseu despre cum să devii un hacker :-)). Nu vei putea să faci acest lucru decât dacă vei fi cunoscut de cât mai mulţi oameni pentru unul din primele patru lucruri.

Comunitatea hackerilor nu are lideri, dar are eroi, "bătrâni", istorici şi purtători de cuvânt. Când ai fost implicat mai mult timp în comunitate se poate să ajungi ceva de genul ăsta. Atenţie: hackerii nu au încredere în ego-ul zgomotos al "bătrânilor" aşa că poate fi periculos să ai o astfel de faimă. Nu trebuie să încerci din toate puterile să te ridici la un astfel de nivel, trebuie să te poziţionezi de aşa natură încât să îţi cadă în braţe şi atunci să fi modest.
Puncte pentru stil

Pentru a fi un hacker trebuie să îţi formezi un mod de gândire specific. Sunt anumite lucruri pe care le poţi face atunci când nu eşti la un calculator care par să ajute. Nu există un substituient pentru hacking ( nimic nu e ) dar mulţi hackeri apelează la astfel de activităţi şi se simt conectaţi într-un anumit fel cu hackingul.

Învaţă bine limba materna. Deşi există un stereotip că programatorii nu pot scrie, un număr surprinzător de hackeri ( inclusiv unii dintre cei mai împliniţi pe care îi cunosc ) sunt foarte buni scriitori.

Citeşte cărti ştiinţifico-fantastice. Mergi la întâlnirile pe teme ştiinţifico-fantastice( sunt un loc bun unde poţi întâlni alţi hackeri )

Învaţă o formă de arte marţiale. Genul de disciplină mentală necesară pentru arte martiale este similară cu ceea ce fac hackerii. Cele mai populare forme între hackeri sunt Tae Kwon Do, diferite forme de Karate, Wing Chun, Aikido, sau Ju Jitsu. Cele mai populare sunt cele care pun accentul pe disciplina mentală, relaxare conştientă, şi control în defavoarea rezistenţei şi puterii fizice.

Studiază o disciplină de meditaţie. Cea mai practicată în acest moment este Zen ( important, poate fi practicată fără necesitatea de a crede într-o noua religie sau renunţarea la cea pe care o ai deja ). Şi altele pot funcţiona dar trebuie să fi atent să nu începi să crezi chestii aiurea.

Dezvoltăţi simţul muzical. Învaţă să apreciezi diferite genuri de muzica. Învaţă să cânţi la un instrument muzical, sau doar să cânţi.

Apreciază jocurile de cuvinte.

Cu cât mai multe lucruri din cele enumerate faci deja, este mai probabil să fi un hacker natural. De ce aceste lucruri nu se poate explica, dar sunt conectate cu o serie de caracteristici ale emisferei drepte şi emisferei stângi care sunt importante; hackerii trebuie să fie capabili să gândească logic dar şi să poată să depăşească tiparele.

Munceşte la fel de intens cum te joci, joacă-te la fel de intens precum munceşti. Pentru hackerii adevăraţi graniţele dintre "joc", "muncă", "ştiinţă" şi "artă" par să dispară şi să se uneasca într-un singur concept. Deasemenea nu trebuie să fi mulţumit cu un anumit set de cunoştinţe. Deşi majoritatea hackerilor se recomandă ca programatori, este foarte probabil să fie competenţi şi în alte domenii : administrare de sistem, web design, şi depanatori de componente. Un hacker care este administrator de sistem este probabil să fie foarte bun la programarea în limbaje de script şi web design. Hackerii nu fac lucrurile pe jumătate : dacă învaţă ceva nou au tendinta să devină foarte buni.

În final, câteva lucrurile care nu trebuie făcute.

Nu folosi un nick sau un ID grandios sau prostesc.

Nu participa la jigniri( flame wars ) pe Usenet ( sau oriunde altundeva ).

Nu te autointitula un vandal electronic( cyberpunk ) şi nu băga pe nimeni în seamă care se denumeşte astfel.

Nu pune mesaje sau trimite mail-uri care sunt pline de erori

Nu vei primi decât mustrări pentru orice fel de astfel de abatere. Hackerii au memorie lungă, poate dura ani de zile pentru a fi acceptat.

Problema cu nick-urile merită să fie abordată mai pe larg. Ascunderea identitatii în spatele unui nume fals este o atitudine copilărească specifică crackerilor, warez d00dz, şi altor forme de viaţă inferioare. Hackerii nu fac asta; sunt mândrii de ceea ce fac şi vor ca acţiunilor lor să fie asociate cu numele lor real. Aşa că dacă ai un astfel de nick, renunţă la el. În cultura hackerilor nu va face altceva decât să te marcheze ca un ratat.
Sper ca ti-am fost de folos,Funda ;;) ?

anonim_4396
| anonim_4396 a răspuns:

Citeste si invata tot ce prinzi despre calculatoare si dispozitive electronice.