Kuinka tulla hackeriksi

Source: http://www.catb.org/esr/faqs/hacker-howto.html

Eric Steven Raymond

Thyrsus Enterprises

    
Copyright © 2001 Eric S. Raymond


Sisällysluettelo

1. Maailma on täynnä mielenkiintoisia ongelmia odottamassa ratkaisua.
2. Ongelmaa ei pitäisi koskaan ratkaista kahdesti.
3. Lapset ja uupumus ovat pahoja.
4. Vapaus on hyvä.
5. Asenne ei korvaa osaamista.

1. Opi ohjelmoimaan.
2. Hanki yksi avoimen lähdekoodin Unix-tiedostoista ja opi käyttämään sitä ja käyttämään sitä.
3. Opi käyttämään World Wide Webiä ja kirjoittamaan HTML.
4. Jos sinulla ei ole toiminnallista englantia, oppia sitä.

1. Kirjoita avoimen lähdekoodin ohjelmisto
2. Auta testata ja korjata avoimen lähdekoodin ohjelmia
3. Julkaista hyödyllisiä tietoja
4. Auttaa ylläpitämään infrastruktuuria
5. Palvelkaa hakkerikulttuuria itse

Miksi tämä asiakirja?

Jargon-tiedoston toimittajana ja muutamien muiden samantyyppisten tunnettujen asiakirjojen kirjoittajana olen usein saanut innostuneilta verkko-aloilta sähköpostin pyyntöjä, jotka kysyvät (itse asiassa), «miten voin oppia olemaan roskapostori?». Vuonna 1996 huomasin, että ei näyttänyt olevan muita usein kysyttyjä kysymyksiä tai internet-asiakirjoja, jotka käsittelivät tätä elintärkeää kysymystä, joten aloin tämän. Monet hakkerit pitävät sitä lopullisina, ja luulen, että se tarkoittaa sitä. Silti en väitä olevan yksinomainen toimivalta tässä asiassa; Jos et pidä siitä, mitä olet täällä lukenut, kirjoita oma.

Jos luet tämän dokumentin tilannekuvan offline-tilassa, nykyinen versio elää osoitteessa http://catb.org/~esr/faqs/hacker-howto.html.

Huomaa: Tämän asiakirjan lopussa on luettelo Usein kysytyistä kysymyksistä. Lue nämä — kahdesti — ennen kuin lähetät minulle kysymyksiä tästä asiakirjasta.

Viisipistekerros-yhdeksän neliösumman kaavio, joka sisustaa tätä dokumenttia, kutsutaan purjelentokoneeksi. Se on yksinkertainen kuvio, jossa on yllättäviä ominaisuuksia matemaattisella simuloinnilla nimeltä Elämä, joka on kiehtonut hakkereita monta vuotta. Mielestäni se on hyvä visuaalinen tunnus, jonka hakkerit ovat — abstrakti, aluksi hieman salaperäinen-näennäinen, mutta yhdyskäytävä koko maailmaan, jossa on oma monimutkainen logiikka. Lue lisää lippa-tunnuksesta täältä.

Jos löydät tämän asiakirjan arvokkaaksi, kannattaa minua Patreonilla. Ja kannattaa myös tukea muita hakkereita, jotka ovat tuottaneet koodia, jota käytät ja arvosta. Paljon pieniä mutta jatkuvia lahjoituksia kertyy nopeasti ja voi vapauttaa ihmisiä, jotka ovat antaneet sinulle lahjoja työstään tuottamaan enemmän arvoa.

Mikä on hakkeri?

Jargon-tiedosto sisältää joukon termejä «hakkeri», joista useimmat liittyvät tekniseen osaamiseen ja iloksi ongelmien ratkaisemisessa ja rajojen ylittämisessä. Jos haluat tietää, kuinka tulla hakkeri, vain kaksi ovat todella merkityksellisiä.

On yhteisö, yhteinen kulttuuri, asiantuntijaohjelmoijat ja verkostoitumisroogorit, jotka jäljittävät historiansa vuosikymmenten ajan ensimmäisiin aikakauden jakamiseen tarkoitettuihin pienoisohjelmistoihin ja aikaisimpiin ARPAnet-kokeisiin. Tämän kulttuurin jäsenet ovat peräisin «hakkeri». Hackers rakensi Internetin. Hakkerit tekivät Unix-käyttöjärjestelmän sen, mitä se on tänään. Hakkerit tekevät World Wide Web -työhön. Jos olet osa tätä kulttuuria, jos olet toimittanut sitä ja muita ihmisiä, jotka tietävät, kuka sinä olet ja hakkasi hakkeri, olet hakkeri.

Hakkereiden mieltymys ei rajoitu tähän ohjelmistohaapukulttuuriin. On olemassa ihmisiä, jotka soveltavat hakkeriasennetta muihin asioihin, kuten elektroniikkaan tai musiikkiin — itse asiassa voit löytää sen kaiken tieteen tai taiteen korkeimmilla tasoilla. Ohjelmiston hakkerit tunnistavat nämä sukulaiselat muualla ja voivat kutsua heitä myös «hakkereiksi» — ja jotkut väittävät, että hakkereiden luonto on todella riippumaton tietylle välineelle, jonka hakkeri toimii. Mutta muussa tämän asiakirjan kohdalla keskitymme taitoihin ja asenteisiin Ohjelmistohakkereita ja yhteisen kulttuurin perinteitä, jotka alkavat ilmaisun «hakkeri».

On toinen ryhmä ihmisiä, jotka äänekkäästi kutsuvat itseään hakkereiksi, mutta eivät. Nämä ovat ihmisiä (pääasiassa nuoria miehiä), jotka saavat potkia tietokoneiden rikkoutumisesta ja puhelinjärjestelmän heittämisestä. Todelliset hakkerit kutsuvat näitä ihmisiä «keksejä» ja eivät halua mitään tekemistä heidän kanssaan. Todelliset hakkereita useimmiten ajattelevat, että keksejä ovat laiskoja, vastuuttomia ja ei kovin kirkkaita ja vastustavat sitä, että kykenevyys rikkoa turvallisuutta ei tee hakkeroimaksi enempää kuin kykyä hotwire-autoihin tekee sinusta autoinsinööri. Valitettavasti monet toimittajat ja kirjailijat on huijattu sana «hakkeri» kuvaamaan keksejä; Tämä ärsyttää todellisia hakkereita loppua.

Perusero on tämä: hakkerit rakentavat asioita, crackerit rikkovat heitä.

Jos haluat olla hakkeri, jatka lukemista. Jos haluat olla krakkauslaite, lue alt.2600-uutisryhmä ja valmistaudu tekemään viisikymmentäkymmenestä kymmeneen slammeriin, kun huomaat, ettet ole niin fiksu kuin luulet olevan. Ja kaikki minä aion sanoa crackers.

Hackerin asenne

1. Maailma on täynnä mielenkiintoisia ongelmia odottamassa ratkaisua.
2. Ongelmaa ei pitäisi koskaan ratkaista kahdesti.
3. Lapset ja uupumus ovat pahoja.
4. Vapaus on hyvä.
5. Asenne ei korvaa osaamista.

Hakkerit ratkaise ongelmia ja rakentavat asioita, ja he uskovat vapauden ja vapaaehtoisen keskinäisen avun. Jos haluat hyväksyä hakkereiksi, sinun täytyy käyttäytyä, jos sinulla on tällainen asenne itse. Ja käyttäytyä kuin sinulla on asenne, sinun täytyy todella uskoa asenteeseen.

Mutta jos ajattelet hakkerien asenteiden viljelyä vain tapana saada kulttuuriin hyväksyntä, menetätte sen. Sellainen henkilö, joka uskoo, että nämä asiat ovat tärkeitä sinulle — auttaa sinua oppimaan ja pitämään sinua motivoituneina. Kuten kaikkien luovien taiteiden parissa, tehokkain tapa tulla päälliköksi on jäljitellä päälliköiden mielentilaa — ei pelkästään älyllisesti vaan emotionaalisesti.

Tai, kuten seuraava moderni Zen-runo on:
Reitin seuraaminen:
Katso päällikkö,
Seuraa päällikköä,
Kävellä päällikön kanssa,
Katso päällikön,
Tulla päälliköksi.
Joten, jos haluat olla hakkeri, toista seuraavat asiat, kunnes uskot heidät:

1. Maailma on täynnä mielenkiintoisia ongelmia odottamassa ratkaisua.

Hakkeri on hauskaa, mutta se on hauskaa, joka vie paljon työtä. Ponnistelut ovat motivaatiota. Onnistuneet urheilijat saavat motivaationsa eräänlaisesta fyysisestä iloksesta, kun he tekevät kehoaan, työntäen itsensä omien fyysisten rajojensa ohi. Samoin on hakkeri, joka saa perusihmiset ongelmien ratkaisemisesta, terävöittää taitojasi ja käyttää älykkyyttäsi.

Jos et ole sellainen henkilö, joka tuntee näin luonnollisesti, sinun täytyy tulla yksi, jotta se olisi hakkeri. Muutoin löydät hakkerointienergian, joka häiritsee häiriötekijöitä, kuten seksiä, rahaa ja sosiaalista hyväksyntää.

(Sinun on myös kehitettävä eräänlainen usko omaan oppimiskykyyn — usko siihen, että vaikka et ehkä tiedä kaikkea mitä tarvitset ongelman ratkaisemiseksi, jos käsittelette vain sitä ja opi siitä, Opit tarpeeksi ratkaisemaan seuraavan kappaleen — ja niin edelleen, kunnes olet valmis.)

2. Ongelmaa ei pitäisi koskaan ratkaista kahdesti.

Luova aivot ovat arvokas ja rajallinen resurssi. Niitä ei pidä tuhlata uudelleen keksiä pyörä, kun on niin monia kiehtovia uusia ongelmia odottaa siellä.

Jotta hakkeri käyttäytyisi, sinun on uskottava, että muiden hakkereiden ajatusajankohta on arvokas — niin paljon, että on lähes moraalinen velvollisuus jakaa tietoa, ratkaista ongelmat ja ratkaista sitten ratkaisut niin, että muut hakkerit voivat ratkaista uusia Ongelmia sen sijaan, että joutuisivat ikuisesti käsittelemään vanhoja.

Huomaa kuitenkin, että «mitään ongelmaa ei pitäisi koskaan ratkaista kahdesti.» Ei tarkoita sitä, että kaikki nykyiset ratkaisut on pätevää, tai että on olemassa vain yksi oikea ratkaisu johonkin tiettyyn ongelmaan. Usein opimme paljon ongelmasta, jota emme tienneet ennen, tutkimalla ensimmäistä leikkausta ratkaisussa. On hyvä ja usein tarpeen päättää, että voimme tehdä paremmin. Mikä ei ole hyvä, on keinotekoisia teknisiä, oikeudellisia tai institutionaalisia esteitä (kuten suljettu lähdekoodi), jotka estävät hyvää ratkaisua uudelleenkäytöstä ja pakottavat ihmiset muuttamaan pyöriä uudelleen.

(Sinun ei tarvitse uskoa, että olet velvollinen antamaan kaiken luovan tuotteen, vaikka hakkerit tekevät niitä, jotka saavat eniten kunnioitusta muista hakkereista. Se on johdonmukainen hakkereiden arvojen kanssa myydä tarpeeksi Ruokaa ja vuokria sekä tietokoneita. On hyvä käyttää hakkerointitietojasi perheen tukemiseen tai jopa rikastua, kunhan et unohda uskollisuutesi taiteellesi ja hakkereihisi, kun teet sitä.)

3. Lapset ja uupumus ovat pahoja.

Hakkereita (ja luovaa ihmistä yleensä) ei saa koskaan unohtaa tai joutua horjumaan tyhmää toistuvaa työtä, koska kun tämä tapahtuu, se tarkoittaa, että he eivät tee sitä, mitä vain he voivat tehdä — ratkaista uusia ongelmia. Tämä tuhlaus vahingoittaa kaikkia. Siksi ikävystyminen ja raivo ei ole vain epämiellyttävä, vaan todella paha.

Jos haluat käyttäytyä kuin hakkeri, sinun on uskottava tämä tarpeeksi haluttamaan automatisoida pois tylsät bittiä mahdollisimman paljon, ei pelkästään itsellesi vaan kaikille muillekin (erityisesti muille hakkereille).

(Tämä on yksi näennäinen poikkeus tästä. Hakkerit tekevät joskus sellaisia asioita, jotka voivat tuntua toistuvilta tai tylsäisiltä tarkkailijalle mielenterveyden harjoitteluna tai taitojen hankkimiseksi tai joilla on jonkinlaista kokemusta, jota et voi muutoin saada Mutta tämä on valinnanvapaus — kukaan, joka voi ajatella, olisi koskaan pakko joutua tilanteeseen, joka peittää heidät.)

4. Vapaus on hyvä.

Hakkerit ovat luonnollisesti anti-autoritaarisia. Jokainen, joka voi antaa sinulle tilauksia, voi estää sinua ratkaisemasta minkälaista ongelmaa olette kiehtonut — ja kun otetaan huomioon, miten autoritaariset mielet toimivat, yleensä löytyy järjetöntä syytä siihen. Joten autoritaarista asennetta on taisteltava missä tahansa, ettei se haittaa sinua ja muita hakkereita.

(Tämä ei ole sama kuin taistella kaikkia viranomaisia, lapsia täytyy ohjata ja rikolliset pidättäytyvät.) Hakkeri voi hyväksyä jonkinlaista auktoriteettia saadakseen jotain, jota hän haluaa enemmän kuin sen jälkeen, kun hän kuluttaa tilauksia. Rajallinen, tietoinen bargain, millaista henkilökohtaista antautumista autoritaariset haluaa ei ole tarjolla.)

Autoritääriset menestyvät sensuurissa ja salassa. He eivät luota vapaaehtoiseen yhteistyöhön ja tietojen jakamiseen — he pitävät vain «yhteistyöstä», jota he ohjaavat. Niinpä käyttäytyä kuin hakkeri, sinun on kehitettävä vaistomaista vihamielisyyttä sensuuriin, salailuun ja voimankäytön tai petoksen käyttöön, jotta pakotettaisiin vastuuntuntoisia aikuisia. Ja sinun täytyy olla valmis toimimaan tämän uskon mukaan.

5. Asenne ei korvaa osaamista.

Jotta hakkeri olisi, sinun on kehitettävä joitain näistä asenteista. Mutta yksinkäyttäytyminen ei tee hakkerointia, enempää kuin se, joka tekee sinusta mestari-urheilija tai rock-tähti. Hackeriksi tuleminen vie älykkyyttä, käytäntöä, omistautumista ja kovaa työtä.

Siksi sinun täytyy oppia epäluottamuksesta ja kunnioittaa kaikenlaista osaamista. Hakkerit eivät anna poskerille tuhlaa aikaa, mutta he palvovat osaamista — erityisesti kykyä hakkeroida, mutta osaamista arvotaan. Erityisen hyvä osaaminen vaativissa taidoissa, jotka harvat osaavat hallita, ja paras osaaminen vaativissa taidoissa, jotka liittyvät henkiseen ajatteluun, käsityöhön ja keskittymiseen.

Jos arvostat osaamista, nautit kehittää sitä itsessänne — kovaa työtä ja omistautumista tulee eräänlainen voimakas pelata pikemminkin kuin raivoa. Tämä asenne on välttämätöntä hakkereiden muodostumiseksi.

Peruskoulutustaidot

1. Opi ohjelmoimaan.
2. Hanki yksi avoimen lähdekoodin Unix-tiedostoista ja opi käyttämään sitä ja käyttämään sitä.
3. Opi käyttämään World Wide Webiä ja kirjoittamaan HTML.
4. Jos sinulla ei ole toiminnallista englantia, oppia sitä.

Hakkereiden asenne on elintärkeää, mutta taidot ovat vielä tärkeämpiä. Asenne ei korvaa osaamista, ja on olemassa tietty perustaito työkalu, jonka on oltava ennen kuin hakkeri haaveilee kutsumasta sinua.

Tämä työkalupakki muuttuu hitaasti ajan myötä, kun teknologia luo uusia taitoja ja tekee vanhat vanhentuneet. Esimerkiksi se sisälsi ohjelmoinnin konekielellä, eikä vasta äskettäin ollut HTML. Mutta nyt se sisältää melko selvästi seuraavia:

1. Opi ohjelmoimaan.

Tämä tietenkin on perustavanlaatuinen hakkerointikyky. Jos et tiedä mitään tietokoneen kieliä, suosittelen aloittaa Pythonin kanssa. Se on puhdas, hyvin dokumentoitu ja suhteellisen ystävällinen aloittelijoille. Vaikka se on hyvä ensimmäinen kieli, se ei ole pelkästään lelu; Se on erittäin voimakas ja joustava ja soveltuu hyvin suurille projekteille. Olen kirjoittanut yksityiskohtaisemman arvioinnin Pythonista. Hyviä opetusohjelmia on saatavilla Python-sivustolla; On erinomainen kolmannen osapuolen Computer Science Circles.

Käytin Javaa suosittelemaan hyvää kieltä opettamaan aikaisin, mutta tämä arvostelu on muuttanut mieleni (etsiä Java-ohjelmakoodia). Hakkeri ei voi, kuten he tuhoavat sanovat, «lähestymistapa ongelmanratkaisuun kuin putkimies laitteistokaupassa»; Sinun on tiedettävä, mitä komponentit todellisuudessa tekevät. Nyt luulen, että on ehkä parasta oppia C ja Lisp ensin, sitten Java.

Täällä on ehkä yleisempi asia. Jos kieli vaikuttaa liian paljon sinulle, se voi olla samanaikaisesti hyvä työkalu tuotannolle ja huono oppimista. Ei ole vain kieliä, joilla on tämä ongelma; Web-sovelluskehykset, kuten RubyOnRails, CakePHP, Django, saattavat olla liian helppoa päästä pinnalliseen ymmärrykseen, joka jättää sinut ilman resursseja, kun joudut ratkaisemaan vaikean ongelman tai jopa ratkaisemaan ratkaisun helposti.

Jos pääset vakaviin ohjelmointiin, sinun täytyy oppia C, Unixin ydinkieli. C ++ liittyy hyvin läheisesti C: hen; Jos tiedät yhden, oppiminen toinen ei ole vaikeaa. Kumpikaan kieli ei ole hyvä kokeilla oppimista kuin ensimmäinen. Ja oikeastaan, mitä enemmän voit välttää ohjelmointia C: ssä, tuottavampi sinä olet.

C on erittäin tehokas ja erittäin varovainen koneesi resursseista. Valitettavasti C saa tämän tehokkuuden vaatimalla sinua tekemään runsaasti alhaisen tason resurssien hallintaa (kuten muistia) käsin. Kaikki tämä matalan tason koodi on monimutkainen ja bugi-altis ja imeytyy valtavia määriä aikaa virheenkorjaukseen. Nykypäivän koneilla yhtä voimakkaat kuin ne ovat, tämä on yleensä huono kompromissi — on älykkäämpiä käyttää kieltä, joka käyttää koneen aikaa vähemmän tehokkaasti, mutta aika paljon tehokkaammin. Siten, Python.

Muita hakkereille erityisen tärkeitä kieliä ovat Perl ja LISP. Perl kannattaa oppia käytännön syistä; Se on hyvin laajalti käytössä aktiivisissa verkkosivuissa ja järjestelmän hallinnoinnissa, joten jos et koskaan kirjoita Perl: ää, sinun pitäisi oppia lukemaan se. Monet ihmiset käyttävät Perl: ia tavalla, jota ehdotan, että käytät Pythonia, jotta C-ohjelmointi C-koneen tehokkuutta vaativia töitä vastaan ​​ei onnistu. Sinun täytyy pystyä ymmärtämään koodinsa.

LISP on oppimisen arvoinen toisesta syystä — syvällinen valaistumiskokemus, kun saat lopulta sen. Tämä kokemus tekee sinusta paremman ohjelmoijan loppupäivänne, vaikka et käytä itse itse paljon LISP: ää. (Voit saada aloituskokemuksen LISP: llä melko helposti kirjoittamalla ja muokkaamalla Emacsin tekstieditorin muokkaustilaa tai GIMP: n Script-Fu-laajennuksia.)

Parasta on oppia kaikki Python, C / C ++, Java, Perl ja LISP. Sen lisäksi, että ne ovat tärkeimpiä hakkereita, ne edustavat hyvin erilaisia ​​lähestymistapoja ohjelmointiin, ja kukin kouluttaa sinua arvokkaasti.

Mutta ole tietoinen siitä, että et pääse hakkereiden taitotasoon tai pelkästään ohjelmoijaan yksinkertaisesti keräämällä kieliä — sinun on opittava ajattelemaan ohjelmointiongelmia yleisesti, riippumatta mistä tahansa kielestä. Jotta voisit olla todellinen hakkeri, sinun on päästävä siihen pisteeseen, jossa voit oppia uuden kielen päivinä kertomalla mitä käsikirjassa on, mitä tiedät jo. Tämä tarkoittaa, että sinun pitäisi oppia hyvin erilaisia ​​kieliä.

En voi antaa täydellisiä ohjeita siitä, miten oppia ohjelmoimaan — se on monimutkainen taito. Mutta voin kertoa teille, että kirjat ja kurssit eivät tee sitä — monet, ehkä useimmat parhaista hakkereista ovat itseoppinut. Voit oppia kielten piirteitä — tietopaketteja — kirjoista, mutta mielentarve, joka saa tämän tiedon elävään taitoon, voidaan oppia vain harjoittelun ja oppisopimuskoulutuksen avulla. Mitä se tekee, on (a) lukukoodi ja (b) kirjoituskoodi.

Peter Norvig, joka on yksi Googlen parhaista hakkereista ja AI: n yleisimmin käytetty oppikirja, on kirjoittanut erinomaisen esseen nimeltä Teach Yourself Programming in Ten Years. Hänen «resepti ohjelmoinnin onnistumiselle» on syytä kiinnittää huomiota.

Oppiminen ohjelma on kuin oppia kirjoittamaan hyvää luonnollista kieltä. Paras tapa tehdä se on lukea juttuja, jotka kirjoittavat lomakkeen päälliköt, kirjoittavat joitain asioita itse, lukevat paljon, kirjoittavat vähän enemmän, lukevat paljon, kirjoittavat lisää … ja toistavat, kunnes kirjoitus alkaa Kehittää sellaista vahvuutta ja taloudellisuutta, jota näet malleissasi.

Minulla on enemmän sanottavaa tästä oppimisprosessista Miten oppia hakkerointi. Se on yksinkertainen ohjeisto, mutta ei helppo.

Hyvän koodin löytäminen lukeminen on ollut kovaa, koska lähdekoodissa oli vain vähän suuria ohjelmia, jotka pakenivat hakkereita lukemaan ja tekemiseen. Tämä on muuttunut dramaattisesti; Avoimen lähdekoodin ohjelmistot, ohjelmointityökalut ja käyttöjärjestelmät (kaikki hakkereiden rakentamia) ovat nyt laajalti saatavilla. Mikä tuo minulle siististi seuraavaan aiheeseen …

2. Hanki yksi avoimen lähdekoodin Unix-tiedostoista ja opi käyttämään sitä ja käyttämään sitä.

Oletan, että sinulla on henkilökohtainen tietokone tai pääsee johonkin. (Ota hetki ymmärtää, kuinka paljon se tarkoittaa. Hakkerikulttuuri alunperin kehittyi takaisin, kun tietokoneet olivat niin kalliita, että yksilöt eivät voineet omistaa niitä.) Yksi tärkein vaihe, jolla jokainen aloittelijasi voi ryhtyä kohti hakkureiden hankkimista, on saada kopio Linuxista Tai jollakin BSD-Unixes -ohjelmistosta, asenna se henkilökohtaiseen koneeseen ja suorita se.

Kyllä, Unixissa on muitakin käyttöjärjestelmiä maailmassa. Mutta ne jaetaan binääriin — et voi lukea koodia, etkä voi muokata sitä. Yritetään oppia hakata Microsoft Windows-koneeseen tai mihin tahansa muuhun suljettuun lähdekoodiin, kuten yrittää oppia tanssimaan, kun hänellä on vartaloa.

Mac OS X: ssä on mahdollista, mutta vain osa järjestelmästä on avoimen lähdekoodin — olet todennäköisesti osunut paljon seiniä, ja sinun on varottava kehittämästä huonoa tapaa riippuen Applen omistajasta. Jos keskity Unixiin hupparin alla, voit oppia hyödyllisiä asioita.

Unix on Internetin käyttöjärjestelmä. Vaikka voit oppia käyttämään Internetiä tietämättä Unixia, et voi olla Internet-hakkeri ymmärtämättä Unixia. Tästä syystä hakkukulttuuri on tänään melko voimakkaasti Unix-keskittynyt. (Tämä ei aina ollut totta, ja jotkut vanhat hakkerit eivät vieläkään ole tyytyväisiä tähän, mutta Unixin ja Internetin välinen symbioosi on tullut riittävän vahva, että Microsoftin lihas ei näytä kykenevän vakavasti hakkaamaan sitä.)

Joten tuota Unix — pidän Linuxista itselleni, mutta on olemassa myös muita tapoja (ja kyllä, voit käyttää sekä Linuxia että Microsoft Windowsia samalla koneella). Opi se. Suorita se. Tinker kanssa. Keskustele Internetin kanssa. Lue koodi. Muokkaa koodia. Saat parempia ohjelmointityökaluja (kuten C, LISP, Python ja Perl) kuin mikä tahansa Microsoft-käyttöjärjestelmä voi haaveilla hosting, sinun on hauskaa, ja voit nauttia enemmän tietoa kuin ymmärrät oppimisen kunnes Katsot sitä takaisin päähankkijaksi.

Lisätietoja Unixin oppimisesta on ohjeaiheessa Loginataka. Saatat myös haluta tutustua Art Of Unix -ohjelmointiin.

Blogi Let’s Go Larval! On ikkuna oppimisprosessista uudelle Linux-käyttäjälle, jonka mielestäni on epätavallisen selkeä ja hyödyllinen. Juttu, miten oppinut Linux on hyvä lähtökohta.

Jos haluat käsiisi Linuxissa, katso Linux Online! Sivusto; Voit ladata sinne tai (parempi idea) löytää paikallisen Linux-käyttäjäryhmän, joka auttaa sinua asennuksessa.

Tämän HOWTO: n elämän ensimmäisen kymmenen vuoden aikana ilmoitin, että uuden käyttäjän näkökulmasta kaikki Linux-jakelut ovat lähes samanlaisia. Mutta vuosina 2006-2007 syntyi todellinen paras vaihtoehto: Ubuntu. Samalla kun muut distroilla on omat voimavaransa, Ubuntu on kaukana Linuxin aloittelijoista. Varo kuitenkin kummallista ja lähes käyttökelvottomasta «Unity» -työpöydän käyttöliittymästä, jonka Ubuntu esitteli oletuksena muutaman vuoden kuluttua; Xubuntu- tai Kubuntu-variantit ovat parempia.

Löydät BSD Unix -ohjeet ja resurssit osoitteesta www.bsd.org.

Hyvä tapa laskea varpaasi veteen on käynnistää, mitä Linux-fanit kutsuvat live-CD-levylle, jakelu, joka kulkee kokonaan CD: n tai USB-muistin avulla ilman, että sinun täytyy muokata kiintolevyä. Tämä saattaa olla hidasta, koska CD: t ovat hitaita, mutta se on tapa tarkastella mahdollisuuksia ilman, että tarvitsee tehdä mitään jyrkkiä.

Olen kirjoittanut alusta Unixin ja Internetin perusasiat.

Käytin suosittelemaan asentamasta joko Linux- tai BSD-ohjelmaa sooloprojekteina, jos olet aloittelijasi. Nykyään asentajat ovat saaneet tarpeeksi hyvää, että tekeminen kokonaan omalla on mahdollista, jopa aloittelijalle. Suosittelen kuitenkin, että otat yhteyttä paikalliseen Linux-käyttäjäryhmään ja pyydät apua. Se ei voi vahingoittaa, ja se voi sileä prosessi.

3. Opi käyttämään World Wide Webiä ja kirjoittamaan HTML.

Suurin osa asioista, jotka hakkeriyhteisö on rakentanut, tekevät työnsä pois näkyvistä, auttaen toimimaan tehtaita ja toimistoja ja yliopistoja ilman mitään ilmeistä vaikutusta siihen, miten ei-hakkerit elävät. Web on yksi iso poikkeus, valtava kiiltävä hakkerointi, jonka jopa poliitikot myöntävät, on muuttanut maailmaa. Tästä syystä (ja paljon muita hyviä) täytyy oppia työskentelemään webissä.

Tämä ei tarkoita vain oppimista selaimella (kuka tahansa voi tehdä sen), mutta oppii kirjoittamaan HTML: n, verkon merkintäkieltä. Jos et tiedä miten ohjelmoida, HTML-kirjoitus opettaa sinulle tiettyjä henkisiä tottumuksia, jotka auttavat sinua oppimaan. Joten rakenna kotisivu.

Mutta vain kotisivulla ei ole läheskään tarpeeksi hyvää, jotta sinusta olisi hakkeri. Web on täynnä kotisivuja. Suurin osa niistä on hyödytöntä, nollapitoista lietettä — erittäin houkuttelevaa lietettä, mieli, mutta liete kaikki samanlaiset (lisää tästä katso HTML Hell Page).

Jotta voisit olla hyödyllinen, sivullasi on oltava sisältöä — sen on oltava kiinnostavaa ja / tai hyödyllistä muille hakkereille. Ja tämä tuo meidät seuraavaan aiheeseen …

4. Jos sinulla ei ole toiminnallista englantia, oppia sitä.

Olen itsekin itseni amerikkalaisena ja kotimaisena englantilaisena puhujana, ja olen ollut haluton ehdottaa tätä, ettei sitä pidetä eräänlaisena kulttuuri imperialismina. Mutta useat muiden kielten äidinkielenään puhuvat ovat pyytäneet minua huomauttamaan, että englanti on hakkeri-kulttuurin ja Internetin työkieli ja että sinun on tiedettävä se toimimaan hakkeriyhteisössä.

Noin 1991 saatoin tietää, että monet hakkerit, joilla on englanti toisena kielenä, käyttävät sitä teknisissä keskusteluissa jopa silloin, kun he jakavat syntyperäisen kielen; Se kerrottiin minulle silloin, kun englannilla on rikkaampi tekninen sanasto kuin mikään muu kieli, ja se on siksi yksinkertaisesti parempi työkalu työhön. Samankaltaisista syistä englannin kielellä kirjoitettujen teknisten kirjojen käännökset ovat usein epätyydyttäviä (kun he ovat valmiita).

Linus Torvalds, suomalainen, kommentoi koodiaan englanniksi (ei ilmeisesti koskaan tapahtunut hänen tekemästään). Hänen englannin kielen taito on ollut tärkeä tekijä hänen mahdollisuutensa palkata maailmanlaajuinen Linux-kehittäjien yhteisö. Se on esimerkki, jota kannattaa seurata.

Äidinkielenään toimiminen ei takaa, että sinulla on riittävät kielitaitot hakkereihin. Jos kirjoitus on puoliksi lukemaa, epäsymmetristä ja kirjoitusvirheitä täynnä, monet hakkerit (myös minä itse) pyrkivät jättämään sinut huomiotta. Vaikka hämärä kirjoittaminen ei aina ole loogista ajattelua, olemme yleensä löytäneet korrelaation olevan vahva — eikä meillä ole mitään hyötyä epäkelpoisille ajattelijoille. Jos et voi vielä kirjoittaa pätevästi, oppia.

Hacker-kulttuurin tila

1. Kirjoita avoimen lähdekoodin ohjelmisto
2. Auta testata ja korjata avoimen lähdekoodin ohjelmia
3. Julkaista hyödyllisiä tietoja
4. Auttaa ylläpitämään infrastruktuuria
5. Palvelkaa hakkerikulttuuria itse

Kuten useimmat viljelijät, joilla ei ole rahataloutta, hakkerointi toimii maineella. Yrität ratkaista mielenkiintoisia ongelmia, mutta kuinka mielenkiintoisia he ovat, ja ovatko ratkaisusi todella hyviä, on jotain, jonka vain tekniset vertaiset tai esimiehet saavat tavallisesti arvioida.

Näin ollen, kun pelaat hakkerepeliä, opit pitämään pisteet ensisijaisesti mitä muut hakkerit ajattelevat taitojasi (siksi et ole todella hakkeri, ennen kuin muut hakkerit jatkuvasti kutsuvat sinut). Tämä tosiasia on hämärtynyt kuvaamalla hakkerointia yksinäisenä työssä; Myös hakkeri-kulttuurinen tabu (vähitellen romahtanut 1990-luvun lopulta mutta silti voimakas) sen myöntämisen puolesta, että ego tai ulkoinen validointi ovat mukana motivaatiossa lainkaan.

Erityisesti hakkerointi on mitä antropologit kutsuvat lahjakulttuuriksi. Sinulla on status ja maine siinä eikä hallitsemalla muita ihmisiä, olemalla kaunis tai tekemällä asioita, joita muut haluavat, vaan antamalla asioita pois. Erityisesti antamalla aikaa, luovuutta ja taitosi tuloksia.

Periaatteessa on viisi erilaista asiaa, joita hakijat voivat noudattaa:

1. Kirjoita avoimen lähdekoodin ohjelmisto

Ensimmäinen (kaikkein keskeisin ja perinteisin) on kirjoittaa ohjelmia, joita muut hakkereiden mielestä ovat hauskoja tai hyödyllisiä ja antavat ohjelman lähteet pois koko hakkerikulttuurille.

(Me kutsumme näitä töitä «vapaiksi ohjelmistoiksi», mutta tämä hämmentää liikaa ihmisiä, jotka eivät olleet varmoja siitä, mitä «vapaata» tarkoittaisi. Useimmat meistä nyt mieluummin käyttävät ilmaisua «open-source» -ohjelmisto).

Hackerdomin kunnioitetut puolisot ovat ihmisiä, jotka ovat kirjoittaneet suuria, kykeneviä ohjelmia, jotka täyttävät laaja-alaisen tarpeen ja antoivat heidät pois, joten nyt jokainen käyttää niitä.

Mutta tässä on hieno historia. Vaikka hakkerit ovat aina tavoittaneet avoimen lähdekoodin kehittäjiä keskuudessamme yhteisön tärkeimmäksi ydinkysymykseksi, ennen 1990-luvun puoliväliä useimmat hakkerit käyttivät suurimman osan suljetusta lähteestä. Tämä oli vielä totta, kun kirjoitin tämän HOWTOn ensimmäisen version vuonna 1996; Se otti avoimen lähdekoodin ohjelmiston valtavirtaistamisen vuoden 1997 jälkeen muutosten tekemiseksi. Nykyään «hakkeriyhteisö» ja «avoimen lähdekoodin kehittäjät» ovat kaksi kuvausta, joka on olennaisesti sama kulttuuri ja väestö — mutta on syytä muistaa, että tämä ei aina ollut niin. (Lisätietoja tästä on kohdassa Historiallinen huomautus: hakkerointi, avoin lähdekoodi ja vapaa ohjelmisto).

2. Auta testata ja korjata avoimen lähdekoodin ohjelmia

He palvelevat myös avoimen lähdekoodin ohjelmistoja. Tässä epätäydellisessä maailmassa vietämme väistämättä suurimman osan ohjelmistokehitysajoista virheenkorjausvaiheessa. Siksi minkä tahansa avoimen lähdekoodin kirjoittajan, joka ajattelee, kertoo, että hyvät beta-testerit (jotka tietävät, miten kuvaavat oireita selvästi, lokalisoivat ongelmat hyvin, sietää vikoja quickie-julkaisussa ja ovat valmiita soveltamaan muutamia yksinkertaisia ​​diagnostisia rutiineja) Niiden painoarvo rubiineissa. Jopa yksi niistä voi tehdä eron virheenkorjausvaiheen välillä, joka on pitkäaikainen, uupumaton painajainen ja joka on vain terveellistä haittaa.

Jos olet uusi aloite, yritä löytää kehitteillä olevaa ohjelmaa, josta olet kiinnostunut ja hyvä beta-testaaja. On luonnollista etenemistä auttaaksemme testiohjelmia auttamaan heitä vianmäärityksessä muokkaamaan niitä. Opit paljon tällä tavoin ja luo hyvän karma ihmisten kanssa, jotka auttavat sinua myöhemmin.

3. Julkaista hyödyllisiä tietoja

Toinen hyvä asia on kerätä ja suodattaa hyödyllisiä ja mielenkiintoisia tietoja verkkosivuihin tai asiakirjoihin kuten usein kysyttyihin kysymyksiin (FAQ) ja tehdä niistä yleisesti saatavilla.

Suurten teknisten kysymysten ylläpitäjät saavat lähes yhtä paljon kunnioitusta kuin avoimen lähdekoodin kirjoittajat.

4. Auttaa ylläpitämään infrastruktuuria

Hakkereiden kulttuuria (ja Internetin teknistä kehitystä tuota asiaa) hoitaa vapaaehtoiset. Paljon tarpeellista mutta silmämääräistä työtä on tehtävä, jotta se pysyisi jatkossa — postituslistojen hallinnointi, uutisryhmien hallinta, suurten ohjelmistojen arkistointipaikkojen ylläpito, RFC: ien ja muiden teknisten standardien kehittäminen.

Ihmiset, jotka tekevät tällaista asiaa, saavat paljon kunnioitusta, koska kaikki tietävät, että nämä työpaikat ovat valtava aika, eikä niinkään niin hauskaa kuin pelata koodilla. Tehdä heitä osoittaa omistautumista.

5. Palvelkaa hakkerikulttuuria itse

Lopuksi voit palvella ja levittää itse kulttuuria (esimerkiksi kirjoittamalla tarkan alusteen siitä, miten tulla hakkereiksi :-)). Tämä ei ole jotain, jonka saat sijoittaa tekemään, kunnes olet ollut ympärillä ja tunnetuksi yhdestä ensimmäisestä neljästä asiasta.

Hakkerikulttuurilla ei ole tarkkoja johtajia, mutta sillä on kulttuurin sankareita ja heimojen vanhoja ja historioitsijoita ja tiedottajia. Kun olet ollut kaivannossa tarpeeksi kauan, voit kasvaa yhdeksi näistä. Varokaa: hakkerit epäluottamustaan ​​törkeää egoa heidän heimojen vanhimmista, joten näkyvästi päästäkseen tällaiseen mainettaan on vaarallista. Sen sijaan, että pyrkisit siihen, sinun on asetettava asema itsellesi niin, että se putoaa syliin ja sitten olla vaatimaton ja armollinen tilastasi.

Hacker/Nerd Connection

Toisin kuin suosittu myytti, sinun ei tarvitse olla nörtti olla hakkeri. Se auttaa kuitenkin, ja monet hakkerit ovat itse asiassa nerds. Jotain sosiaalisesta syrjäyttämisestä auttaa sinua pysymään keskittyneenä todella tärkeisiin asioihin, kuten ajatteluun ja hakkerointiin.

Tästä syystä monet hakkerit ovat ottaneet etusijan «geek» ylpeyksipanoksi — se on tapa julistaa itsenäisyytensä tavanomaisista sosiaalisista odotuksista (samoin kuin suosimisesta muihin sci-fi- ja strategiapeleihin, jotka usein menevät olemiseen Hakkeri). Ilmaisua «nörtti» käytettiin aiemmin 1990-luvulla, kun «nörtti» oli lievä pejoratiivinen ja «geek» melko harmaampi; Joskus vuoden 2000 jälkeen, he vaihtivat paikoin ainakin Yhdysvaltojen suosittujen kulttuurien joukossa, ja nyt on jopa merkittävää geek-ylpeyttä kulttuuria ihmisten keskuudessa, jotka eivät ole techies.

Jos pystyt keskittymään tarpeeksi hakkerointiin, jotta se olisi hyvä, ja silti on elämä, se on hieno asia. Tämä on paljon helpompaa tänään kuin se oli kun olin newbie 1970-luvulla; Valtavirran kulttuuri on paljon ystävällisempi tekno-nerds nyt. On yhä enemmän ihmisiä, jotka ymmärtävät, että hakkerit ovat usein korkealaatuisia rakastaja- ja avioliittomateriaaleja.

Jos olet kiinnostunut hakkeroinnista, koska sinulla ei ole elämää, se on myös hyvä — ainakin sinulla ei ole vaikeuksia keskittyä. Ehkä saat elämää myöhemmin.

Pisteitä tyylille

Jälleen olla hakkeri, sinun täytyy syöttää hakkeri-ajattelutapa. On joitain asioita, joita voit tehdä, kun et ole tietokoneessa, joka näyttäisi auttavan. He eivät ole korvikkeita hakkerointiin (mikään ei ole), mutta monet hakkerit tekevät niitä ja kokevat, että he liittyvät tiettyyn perustavanlaatuiseen tapaan hakkeroinnin ydin.

  • Opi kirjoittamaan äidinkieli hyvin. Vaikka se on yhteinen stereotypio, jota ohjelmoijat eivät voi kirjoittaa, yllättävä määrä hakkereita (mukaan lukien kaikki tunnetuimmat tunnetut) ovat erittäin hyviä kirjoittajia.
  • Lue science fiction. Siirry science fiction -konventioihin (hyvä tapa vastata hakkereihin ja protohackereihin).
  • Liity hakkerointiin ja tee asiat (toinen hyvä tapa kohdata hakkereita ja proto-hakkerit).
  • Harjoittele taistelulajien muodossa. Kamppailulajeissa vaadittava henkinen kurinalaisuus näyttää olevan samanlainen kuin mitä hakkerit tekevät. Hakkereiden suosituimmat muodot ovat ehdottomasti aasialaisia ​​tyhjän käden taiteita, kuten Tae Kwon Do, erilaisia ​​karatteja, Kung Fu, Aikido tai Ju Jitsu. Länsi-aidat ja aasialainen miekka-taide ovat myös näkyviä. Paikoissa, joissa se on laillista, pistooli ammunta on kasvanut suosio 1990-luvun lopulta lähtien. Eniten hakkeroituja kamppailulajeja ovat ne, jotka korostavat henkistä kurinalaisuutta, rentoa tietoisuutta ja täsmällistä valvontaa, eikä raakaa voimaa, urheilullisuutta tai fyysistä sitkeyttä.
  • Tutki todellista mietiskelytaitoa. Hakkereiden monivuotinen suosikki on Zen (tärkeämpää on, että Zen voi hyötyä ilman uskonnon hankkimista tai hylkäämistä sellaisesta, jota sinulla on jo). Muut tyylit saattavat toimia hyvin, mutta muista valita sellainen, joka ei vaadi sinua uskomaan hulluja asioita.
  • Kehitä analyyttinen korva musiikille. Opi arvostamaan erityisiä musiikkityyppejä. Opi soittamaan soittimia hyvin tai miten laulaa.
  • Kehitä kiitollisuutesi puns ja wordplay.

Mitä enemmän näistä asioista jo teet, sitä todennäköisemmin olet luonnollinen hakkamateriaali. Miksi nämä asiat erityisesti eivät ole täysin selviä, mutta ne liittyvät toisiinsa vasemman ja oikean aivovasteen yhdistelmään, joka näyttää olevan tärkeä; Hakkereiden täytyy pystyä molempia syitä loogisesti ja siirtyä ongelman ilmeisen logiikan ulkopuolelle hetkessä.

Toimita yhtä voimakkaasti kuin pelaat ja pelaa yhtä voimakkaasti kuin työskentelet. Todellisille hakkereille «leikki», «työ», «tieteen» ja «taiteen» väliset rajat ovat yleensä katoamisia tai sulautuvat korkean tason luovaa leikkyvyyteen. Älä myöskään ole tyytyväinen kapeisiin taitoihin. Vaikka useimmat hakkerit itse kuvaavat ohjelmoijiksi, he todennäköisesti ovat enemmän kuin päteviä useissa asiaan liittyvissä taidoissa — järjestelmän hallinnointi, web-suunnittelu ja PC-laitteiston vianmääritys ovat yleisiä. Toisaalta hakkeri, joka on järjestelmän pääkäyttäjä, on todennäköisesti varsin taitava skriptien ohjelmoinnissa ja web-suunnittelussa. Hakkerit eivät tee asioita puolittain; Jos he investoivat taitoon ollenkaan, heillä on taipumus olla erittäin hyviä.

Lopuksi muutamia asioita ei tehdä.

  • Älä käytä typerää, suurta käyttäjätunnusta tai näytön nimeä.
  • Älä pääse liekki sotia Usenet (tai missään muualla).
  • Älä kutsu itsesi «cyberpunkiksi», äläkä hukkaa aikaa kenellekään.
  • Älä lähetä tai kirjoita sähköpostia, joka on täynnä oikeinkirjoitusvirheitä ja huonoa kielioppia.

Ainoa maine, jonka teet tekemällä jotain näistä asioista, on kuin twit. Hakkereilla on pitkät muistot — se voi viedä sinut vuosikausia elävien varhaisten virheitasi alas riittävän hyväksyttäviksi.

Näytön nimiä tai kahvoja koskeva ongelma ansaitsee jonkin verran vahvistusta. Identiteetin piilottaminen kahvan taakse on nuorten ja typerä käyttäytyminen, joka on ominaista kekseistä, warez d00dz: stä ja muista alemman elämän muodoista. Hakkerit eivät tee tätä; He ovat ylpeitä siitä, mitä he tekevät ja haluavat sen liittyvän heidän oikeisiin nimiinsä. Jos sinulla on kahva, pudota se. Hakkerikulttuurissa se merkitsee vain sinut häviäjänä.

Historiallinen huomautus: hakkerointi, avoin lähdekoodi ja vapaa ohjelmisto

Kun alun perin kirjoitin tämän miten-to vuoden 1996 lopulla, jotkut sen olosuhteet olivat hyvin erilaiset kuin heillä tänään. Muutama sana näistä muutoksista voi auttaa selventämään asioita ihmisille, jotka ovat hämmentyneitä avoimen lähdekoodin, vapaan ohjelmiston ja Linuxin suhteesta hakkeriyhteisöön. Jos et ole utelias, voit siirtyä suoraan FAQ: iin ja bibliografiaan täältä.

Hakkereiden eetos ja yhteisö, kuten olen kuvannut tästä pitkään ennen Linuxin syntymistä vuoden 1990 jälkeen; Olen liittynyt siihen ensimmäistä kertaa ympäri vuoden 1976, ja sen juuret ovat helposti jäljitettävissä 1960-luvun alussa. Mutta ennen Linuxia, useimmat hakkerointi tehtiin joko omistuksessa olevilla käyttöjärjestelmillä tai kourallisilla lähes kokeellisilla kotiteatterijärjestelmillä, kuten MIT: n ITS: llä, joita ei koskaan otettu käyttöön alkuperäisten akateemisten aukkojen ulkopuolella. Vaikka joitain aikaisempia (ennen Linuxia) yrityksiä muuttaa tilannetta, niiden vaikutus oli parhaimmillaankin hyvin marginaalinen ja rajoittui erityisten tosi uskovien yhteisöihin, jotka olivat pieniä vähemmistöjä jopa hakkeriyhteisössä, puhumattakaan suuremmasta maailmasta Ohjelmista yleensä.

Nykyään kutsutaan «avoimen lähdekoodin», joka ulottuu hakkeriyhteisöön, mutta vuoteen 1985 se oli nimetty kansallinen käytäntö pikemminkin kuin tietoinen liike, johon on liitetty teorioita ja manifesteja. Tämä esihistoria päättyi, kun vuonna 1985 arkkikirjoittaja Richard Stallman («RMS») yritti antaa sille nimen — «vapaaksi ohjelmaksi». Mutta hänen nimeämistoimintansa oli myös väite, joka väitti; Hän asetti ideologiset matkatavarat «vapaan ohjelmiston» tarraan, jonka suurin osa nykyisestä hakkeriyhteisöstä ei koskaan hyväksynyt. Tämän seurauksena huomattava vähemmistö hakkeriyhteisöstä (etenkin BSD Unix -ohjelmaan liittyneistä) harjoitteli «vapaata ohjelmistoa» -merkintää, ja se käytti vakavien mutta hiljaisten varausten kanssa enemmistön loppuosa (mukaan lukien itse).

Näistä varauksista huolimatta RMS: n vaatimus määritellä ja johtaa hakkeriyhteisöä «vapaan ohjelmiston» banneriin, jota pidettiin laajalti 1990-luvun puoliväliin asti. Se haastoi vakavasti vain Linuxin nousu. Linux antoi avoimen lähdekoodin kehittämisen luonnollisen kodin. Monet projektit, jotka julkaistiin termeillä, joita kutsumme nyt avoimen lähdekoodiksi, siirrettiin Unixesin omistukseksi Linuxiin. Linuxin ympärillä oleva yhteisö kasvoi räjähdysmäisesti, siitä tuli paljon suurempi ja heterogeenisempi kuin Linux-hakkerikulttuuri ennen. RMS pyrki määrätietoisesti valitsemaan kaiken tämän aktiviteetin «vapaiden ohjelmistojen» liikkumiseen, mutta se rikkoi sekä Linux-yhteisön räjähtävä moninaisuus että sen perustajan, Linus Torvaldsin, julkinen epäilys. Torvalds käytti ilmaisua «vapaat ohjelmistot» ilman vaihtoehtoisia, mutta julkisesti hylätyn RMS: n ideologisia matkatavaroita. Monet nuoremmat hakkerit seurasivat.

Vuonna 1996, kun julkaisin tämän Hacker HOWTO: n, hakkeriyhteisö oli nopeasti uudelleenorganisoinut Linuxin ja kourallisen muita avoimen lähdekoodin käyttöjärjestelmiä (erityisesti BSD Unixista peräisin olevia). Yhteisön muisti siitä, että useimmat meistä olivat vuosikymmenien ajan kehittäneet suljetun lähdekoodin ohjelmistoja suljetuissa lähdekoodeissa, eivät olleet vielä alkaneet häivyttää, mutta tämä seikka jo alkoi tuntua osaksi kuolleesta menneisyydestä; Hakkerit määrittelivät yhä enemmän itsensä hakkeriksi liittymällä avoimeen lähdekoodiin, kuten Linuxiin tai Apacheen.

Ilmaisu «avoimen lähdekoodin» ei kuitenkaan ollut vielä tullut esiin; Se ei tekisi niin vasta vuoden 1998 alkupuolella. Kun se tapahtui, suurin osa hakkereista hyväksyi sen seuraavien kuuden kuukauden aikana; Poikkeukset olivat vähemmistö ideologisesti kiinni ilmaisusta «vapaat ohjelmistot». Vuodesta 1998, ja varsinkin vuoden 2003 jälkeen, «hakkeroinnin» tunnistaminen «avoimen lähdekoodin (ja vapaan ohjelmiston) kehittämisellä» on tullut erittäin lähellä. Tänään ei ole juurikaan yritettävää erottaa toisistaan ​​näitä luokkia, ja näyttää todennäköiseltä, että ne muuttuvat tulevaisuudessa.

On kuitenkin syytä muistaa, että tämä ei aina ollut niin.

Muut resurssit

Paul Graham on kirjoittanut essee nimeltä Great Hackers, ja toinen on Undergraduation, jossa hän puhuu paljon viisautta.

Nuoremmat hakkerit saattavat löytää Things Every Hacker Once Knew in mielenkiintoisen ja hyödyllisen.

Olen myös kirjoittanut lyhyen historian hakkeroinnista.

Olen kirjoittanut paperin, katedraalin ja basaarin, joka selittää paljon Linuxin ja avoimen lähdekielen kulttuureista. Olen käsitellyt tätä aihetta vieläkin tarkemmin sen jatko-osassa «Homesteading the Noosphere».

Rick Moen on kirjoittanut erinomaisen asiakirjan Linux-käyttäjäryhmän käytöstä.

Rick Moen ja minä olemme työskennelleet toisessa asiakirjassa, miten kysyä älykkäitä kysymyksiä. Tämä auttaa sinua hakemaan apua tavalla, joka tekee todennäköisemmäksi sen, että sinä todella saisit sen.

Jos tarvitset ohjeita siitä, miten henkilökohtaiset tietokoneet, Unix ja Internet toimivat, katso Unix ja Internet Fundamentals HOWTO.

Kun vapautat ohjelmiston tai kirjoitat ohjelmistopäivityksiä, yritä noudattaa ohjelmiston julkaisumenetelmän HOWTO ohjeita.

Jos nautitte Zen-runoksesta, saatat pitää myös Rootless Root: The Unix Koans of Master Foo.

Usein Kysytyt Kysymykset

K: Miten kerron, jos olen jo hakkeri?
K: Opetatteko minulle miten hakata?
K: Miten aloitan?
K: Milloin sinun on aloitettava? Onko liian myöhäistä oppia?
K: Kuinka kauan kestää minun oppia hakemaan?
K: Onko Visual Basic hyvä kieli aloittaa?
K: Auttaisitko minua murtamaan järjestelmää tai opettamaan minulle, miten haljeta?
K: Miten saan salasanan jonkun toisen tilin?
K: Miten voin jakaa/lukea/seurata jonkun toisen sähköpostiosoitetta?
K: Kuinka voin varastaa kanavan OP-oikeudet IRC: ssä?
K: Olen murskattu. Auttaisitko minua estämään muita hyökkäyksiä?
K: Minulla on ongelmia Windows-ohjelmistoni kanssa. Autatko minua?
K: Mistä löydän todellisia hakkereita, joiden kanssa puhut?
K: Voitko suositella hyödyllisiä kirjoja hakkerointiin liittyvistä aiheista?
K: Pitääkö minun olla hyvä matematiikassa tulla hakkeriin?
K: Mikä kieli pitäisi oppia ensin?
K: Millaista laitteistoa tarvitsen?
K: Haluan osallistua. Voitteko auttaa minua valitsemaan ongelman, jota tarvitaan?
K: Pitääkö minun vihata ja yhdistää Microsoftin?
K: Mutta ei avoimen lähdekoodin ohjelmiston jätä ohjelmoijia, jotka eivät pysty elämään?
K: Mistä saan ilmaisen Unixin?

K: Kuinka kerron, jos olen jo hakkeri?

V: Kysy itseltäsi seuraavat kolme kysymystä:

  • Puhutko koodia, sujuvasti?
  • Tunnistatko hakkeriyhteisön tavoitteet ja arvot?
  • Onko vakiintunut hakkeriyhteisön jäsen kutsunut sinut hakkereiksi?

Jos voit vastata kyllä ​​kaikille kolmelle näistä kysymyksistä, olet jo hakkeri. Kaksi yksinään ei riitä.

Ensimmäinen testi koskee taitoja. Luultavasti siirrät sen, jos sinulla on tässä asiakirjassa aiemmin kuvatut tekniset vähimmäisvaatimukset. Voit puhaltaa sen läpi, jos sinulla on ollut huomattava määrä koodia, jonka avoimen lähdekoodin kehittämishanke on hyväksynyt.

Toinen testi koskee asenteita. Jos hakkerin ajattelutavan viisi periaatetta näyttäisivät sinulle itsestään selvemmäksi, enemmän kuin kuvaus elämästäsi kuin mikään muu romaani, olet jo puolivälissä ohittamassa sitä. Se on sisäinen puoli; Toinen, ulospäin suuntautuva puolikas on se, missä määrin tunnistat hakkeriyhteisön pitkän aikavälin hankkeita.

Tässä on epätäydellinen mutta suuntaa-antava luettelo joistakin näistä hankkeista: Onko sinulla väliä, että Linux parantaa ja levittää? Oletko intohimoinen ohjelmistovapaudesta? Vihamielinen monopolille? Toimitteko uskomalla, että tietokoneet voivat olla voimavaroja, jotka tekevät maailmasta rikkaamman ja inhimillisemman paikan?

Mutta varovaisuus on täällä. Hakkajärjestöllä on joitain erityisiä, lähinnä puolustavia poliittisia etuja — kaksi puolustaa vapaata puheoikeuksia ja torjuu «henkisen omaisuuden» voimat, jotka tekisivät avoimen lähdekoodin laitonta. Jotkut näistä pitkän aikavälin hankkeista ovat siviili-vapausjärjestöjä, kuten Electronic Frontier -säätiö, ja ulospäin suuntautuva asenne sisältää asianmukaisesti tukea heitä. Mutta sen lisäksi useimmat hakkerit pitävät yrityksiä systemaattistaa hakkeriasennetta eksplisiittiseksi poliittiseksi ohjelmaksi epäilemällä; Olemme oppineet, kovaa tapaa, että nämä yritykset ovat hajottavia ja häiritseviä. Jos joku yrittää rekrytoida sinua marssimaan pääkaupungissasi hakkeriasennon nimessä, he ovat jääneet huomaamatta. Oikea vastaus on todennäköisesti «Sulje ja näytä heille koodi.»

Kolmannella testillä on hankala elementti rekursiivisuudesta sen suhteen. Huomasin kohdassa «Mikä on hakkeri», että hakkeri on osittain kysymys kuuluvan johonkin erityiseen subkulttuuriin tai sosiaaliseen verkostoon, jossa on yhteinen historia, sisältä ja ulkopuolelta. Kaukana aiemmin hakkerit olivat paljon vähemmän yhteenkuuluva ja itsetietoinen ryhmä kuin nykyään. Mutta sosiaalisen verkoston näkökulma on kasvanut viimeisen kolmenkymmenen vuoden aikana, kun Internet on tehnyt yhteyksiä hakkereiden alakulttuurin ytimeen, joka on helpompi kehittää ja ylläpitää. Yksi muutoksen helppo käyttäytymisindeksi on, että tällä vuosisadalla meillä on omat T-paidat.

Sosiologit, jotka tutkivat hakkukulttuurin verkostoja «näkymättömien oppilaitosten» yleisessä osastossa, ovat huomanneet, että tällaisten verkkojen yksi ominaisuus on, että heillä on portinvartijat — keskeiset jäsenet, joilla on sosiaalinen valta vahvistaa uusia jäseniä verkkoon. Koska «näkymättövä kollegio», joka on hakkerikulttuuri, on löyhä ja epävirallinen, portinvartijan rooli on myös epävirallinen. Mutta yksi asia, jonka kaikki hakkerit ymmärtävät luullansa, on se, ettei jokainen hakkeri ole portinvartija. Gatekeepers on oltava tietynasteinen vanheneminen ja saavutus ennen kuin ne voivat antaa otsikko. Kuinka paljon on vaikea kvantifioida, mutta jokainen hakkeri tietää sen, kun he näkevät sen.

K: Opetatko minulle miten hakata?

V: Ensimmäisen sivun julkaisemisen jälkeen olen saanut useita pyyntöjä viikolta (usein useita päiviä) ihmisiltä «opettamaan minulle kaiken hakkeroinnin». Valitettavasti minulla ei ole aikaa tai energiaa tehdä tätä; Omat hakkerointiprojektini ja avoimen lähdekoodin kannattajina toimiminen vievät 110% ajastaan.

Vaikka tekisinkin, hakkerointi on asenne ja taito, jonka pohjimmiltaan sinun täytyy opettaa itseäsi. Löydät, että vaikka todelliset hakkerit haluavat auttaa sinua, he eivät kunnioita sinua, jos pyydät lusikan ruokkia kaiken, mitä he tietävät.

Opi pari asiaa ensin. Osoita, että yrität, että pystyt oppimaan omasta. Siirry hakkereille, joihin kohtaat erityisiä kysymyksiä.

Jos lähetät sähköpostia hakkereille, jossa pyydetään neuvoja, tässä on kaksi asiaa, jotka on tiedettävä eteenpäin. Ensinnäkin olemme huomanneet, että ihmiset, jotka ovat laiskoja tai huolimattomia kirjoituksissaan, ovat yleensä liian laiskoja ja huolimattomia ajattelussa hyvien hakkereiden tekemiseksi — niin pidä huolta oikeellisuudesta ja käytä hyvä kielioppia ja välimerkkejä, muuten luultavasti Sivuutetaan. Toiseksi, älä uskalla pyytää vastausta ISP-tiliin, joka eroaa tilistä, josta lähetät; Löydämme ihmisiä, jotka tavallisesti käyttävät varastettuja varastettuja tilejä, eikä meillä ole kiinnostusta palkita tai avustaa varkautta.

K: Kuinka voin aloittaa?

V: Paras tapa päästä alkuun olisi luultavasti mennä LUG (Linux-käyttäjäryhmä) kokoukseen. Löydät tällaiset ryhmät LDP: n yleisen Linux-tietosivun kohdalta; On todennäköisesti yksi lähellä sinua, mahdollisesti liittyy korkeakoulu tai yliopisto. LUG-jäsenet luultavasti antavat sinulle Linuxin, jos kysyt, ja varmasti auttaa sinua asentamaan yhden ja aloittamaan.

Seuraava vaihe (ja ensimmäinen askel, jos et löydä LUG: ta lähistöllä) pitäisi löytää avoimen lähdekoodin omaava projekti, joka sinua kiinnostaa. Aloita lukukoodi ja tarkista virheet. Opettele osallistumaan ja työskentelemään sisään.

Ainoa tapa on työskennellä parantaaksemme taitojasi. Jos pyydät minulta henkilökohtaisesti neuvoja siitä, miten pääset alkuun, kerron sinulle nämä täsmälleen samat asiat, koska minulla ei ole sinulle mitään pikakuvakkeita. Minä myös henkisesti kirjoitan sinut todennäköiseksi häviäjänä — koska jos sinulla ei ollut kykyä lukea näitä FAQ-kysymyksiä ja älykkyyttä ymmärtää siitä, että ainoa tapa on parantaa taitojasi parantaen, olet toivoton.

Toinen mielenkiintoinen mahdollisuus on käydä hakkereissa. Fyysisten paikkojen — tuottajien klubit — luodaan kasvava liike, jossa he voivat rentoutua työskentelemään yhdessä laitteisto- ja ohjelmistoprojektien kanssa tai työskentelemään yksin kogeenisessa ilmapiirissä. Hakkerit usein kerää työkaluja ja erikoislaitteita, jotka olisivat liian kalliita tai logistisesti hankalia yksityishenkilöille. Hackerspaces on helppo löytää Internetissä; Yksi voi olla lähellä sinua.

K: Milloin sinun on aloitettava? Onko liian myöhäistä oppia?

V: Jokainen ikä, jolle motivoidaan aloittaa, on hyvä ikä. Useimmat ihmiset näyttävät olevan kiinnostuneita 15-20-vuotiaista, mutta tiedän poikkeuksia molempiin suuntiin.

K: Kuinka kauan kestää minun oppia hakemaan?

V: Tämä riippuu siitä, kuinka lahjakas olet ja kuinka kovaa sitä työtä. Useimmat ihmiset, jotka yrittävät, voivat hankkia arvostetun taidon kahdeksantoista kuukaudella kahteen vuoteen, jos he keskittyvät. Älä usko, että se päättyy siellä; Hakkeroinnissa (kuten monilla muilla aloilla) kestää noin kymmenen vuotta päästä hallitsemaan. Ja jos olet todellinen hakkeri, vietät loput elämäsi oppimalla ja viimeistelemällä veneesi.

K: Onko Visual Basic hyvä kieli aloittaa?

V: Jos pyydät tätä kysymystä, se tarkoittaa melkein varmasti, että yrität hakata Microsoft Windowsia. Tämä on huono ajatus itsessään. Kun vertaillessani yritin oppia hakemaan Windowsia yrittäessäni oppia tanssimaan, kun yllään runkoelokuvaa, en ollut valehtelemassa. Älä mene sinne. Se on ruma, ja se ei koskaan pysähdy ruma.

Visual Basicilla on erityinen ongelma; Lähinnä se ei ole kannettava. Vaikka Visual Basic -ohjelmistolla on avoimen lähdekoodin prototyyppi, sovellettavat ECMA-standardit eivät kata enempää kuin pieniä joukkoja sen ohjelmointikäyttöliittymiä. Windowsissa suurin osa sen kirjastotuki on yksittäisen myyjän (Microsoft) omaisuutta. Jos et ole kovin varovainen siitä, mitä ominaisuuksia käytät — varovaisempi kuin mikään aloittelijasi todella pystyy — pääset lukittumaan vain niihin alustoihin, jotka Microsoft haluaa tukea. Jos käynnistät Unixin, käytettävissä on paljon parempia kieliä ja parempia kirjastoja. Python, esimerkiksi.

Myös, kuten muut perusasiat, Visual Basic on huonosti suunniteltu kieli, joka opettaa sinulle huonoja ohjelmointitottumuksia. Ei, älä pyydä minua kuvaamaan niitä yksityiskohtaisesti. Tämä selitys täyttäisi kirjan. Opi hyvin suunniteltu kieli sijaan.

Yksi näistä huonoista tottumuksista on riippuvainen yksittäisen toimittajan kirjastoista, widgetteistä ja kehitystyökaluista. Yleensä mikä tahansa kieli, jota ei ole täysin tuettu ainakin Linuxissa tai jossakin BSD: stä ja / tai ainakin kolmesta eri valmistajan käyttöjärjestelmästä, on huono oppia hakemaan.

K: Auttaisitko minua halkaisemaan järjestelmää tai opettamaan, miten haljeta?

V: Ei kukaan, joka voi vielä kysyä tällaista kysymystä lukemalla tämän FAQ: n, on liian tyhmä, jotta se olisi opittavaa, vaikka minulla olisi aikaa tutorointiin. Kaikki tällaiset sähköpostiviestit, joita saan, jätetään huomiotta äärimmäisen karkeasti.

K: Miten saan salasanan jollekin toiselle henkilölle?

V: Tämä on halkeilua. Mene pois, idiootti.

K: Kuinka voin jakaa/lukea/seurata jonkun toisen sähköpostiosoitetta?

V: Tämä on halkeilua. Häivy, hermostunut.

K: Kuinka voin varastaa kanavan OP-oikeudet IRC: ssä?

V: Tämä on halkeilua. Aloittaa, kreetan.

K: Minua on murskattu. Auttaisitko minua estämään muita hyökkäyksiä?

V: Ei. Joka kerta, kun minulle on esitetty kysymys tähän mennessä, on ollut jotain huonoa MS-tietokonetta. Windows-järjestelmiä ei voida tehokkaasti suojata crack-hyökkäyksiltä. Koodilla ja arkkitehtuurilla on yksinkertaisesti liian monta puutetta, mikä tekee Windowsin varmistamisesta yrittävän vapauttaa venettä seulalla. Ainoa luotettava ehkäisy alkaa siirtymällä Linuxiin tai johonkin muuhun käyttöjärjestelmään, joka on suunniteltu ainakin kyettävä suojaamaan.

K: Minulla on ongelmia Windows-ohjelmistoni kanssa. Autatko minua?

V: Joo. Siirry DOS-kehotteeseen ja kirjoita «muoto c:». Kaikki ongelmat, jotka olet kokenut, lakkaavat muutamassa minuutissa.

K: Mistä löydän todellisia hakkereita, joiden kanssa puhut?

V: Paras tapa on löytää Unix- tai Linux-käyttäjäryhmä paikalliselta ja mennä kokouksiin (löydät linkkejä useisiin käyttäjäryhmiä koskeviin luetteloihin ibiblio LDP-sivustossa).

(Minulla oli tapana sanoa täältä, että et löytäisi mitään todellista hakkeria IRC: ssä, mutta minulla on mahdollisuus ymmärtää, että tämä muuttuu. Näyttää siltä, että jotkut todelliset hakkuryhmät, jotka on liitetty esimerkiksi GIMP: hen ja Perliin, ovat nyt IRC-kanavia.)

K: Voitko suositella hyödyllisiä kirjoja hakkerointiin liittyvistä aiheista?

V: Säilen Linux-lukutaulukon HOWTO, jonka saatat olla hyödyllistä. Loginataka saattaa myös olla mielenkiintoinen.

Katso Python-sovelluksen esittely Python-sivuston opetusohjelmasta.

K: Pitääkö minun olla hyvä matematiikassa tulla hakkeriin?

V: Ei. Hakkerointi käyttää hyvin vähän muodollista matematiikkaa tai aritmeettista. Erityisesti et yleensä tarvitse trigonometriaa, laskentaa tai analyysiä (on poikkeuksia tähän kourallisiin sovellusalueisiin, kuten kolmiulotteiseen tietokoneen grafiikkaan). Tietyn muodollisen logiikan ja Boolen algebra tunteminen on hyvä. Jotkut maadoitukset äärellisessä matematiikassa (mukaan lukien finite-set teoria, combinatorics ja kaavio-teoria) voi olla hyödyllistä.

Paljon tärkeämpää: sinun on pystyttävä ajattelemaan loogisesti ja seuraamaan tarkkoja perusteluja, matemaatikkojen tapaan. Vaikka useimpien matematiikan sisältö ei auta sinua, tarvitset kurinalaisuutta ja älykkyyttä käsitellä matematiikkaa. Jos sinulla ei ole älykkyyttä, teillä on vain vähän toivoa kuin hakkeri; Jos sinulla ei ole kurinalaisuutta, sinun kannattaa kasvattaa sitä.

Mielestäni on hyvä tapa selvittää, onko sinulla mitä tarvitset, ottamaan kopion Raymond Smullyanin kirjasta Mikä on tämän kirjan nimi? Smullyanin leikkisä looginen huijaus on hyvin hakkereissa. Heidän ratkaiseminen on hyvä merkki; Nauttiminen niiden ratkaisemisesta on vielä parempi.

K: Minkä kielen pitäisi oppia ensin?

V: HTML, jos et tiedä sitä jo. Paljon kiiltäviä, hype-intensiivisiä huonoja HTML-kirjoja siellä, ja ahdistellen muutamia hyviä. Pidän parhaiten parhaiten HTML: Lopullinen opas.

HTML ei kuitenkaan ole täydellinen ohjelmointikieli. Kun olet valmis aloittamaan ohjelmoinnin, suosittelen aloittamaan Pythonin. Kuulet paljon ihmisiä, jotka suosittelevat Perliä, mutta sitä on vaikeampi oppia ja (mielestäni) vähemmän suunniteltu.

C on todella tärkeä, mutta se on myös paljon vaikeampaa kuin Python tai Perl. Älä yritä oppia sitä ensin.

Windows-käyttäjät, älä ratkaise Visual Basicia. Se opettaa sinulle huonoja tapoja, eikä se ole siirrettävissä Windowsilta. Välttää.

K: Minkälainen laitteisto tarvitsen?

V: Aikaisemmin se oli, että henkilökohtaiset tietokoneet olivat melko heikosti tehottomia ja muistia huonoja, niin että he tekivät keinotekoisia rajoja hakkerin oppimisprosessiin. Tämä pysähtyi totta 1990-luvun puolivälissä; Mikä tahansa kone Intel 486DX50 -laitteesta on riittävän tehokas kehitystyöhön, X- ja Internet-viestintään, ja pienimmät levyt, joita voit ostaa tänään, ovat riittävän suuria.

Tärkeää, kun valitset koneen, johon haluat oppia, on se, onko sen laitteisto Linux-yhteensopiva (tai BSD-yhteensopiva, jos valitset tämän reitin). Jälleen tämä pätee lähes kaikille nykyaikaisille koneille. Vain todella tahmeita alueita ovat modeemit ja langattomat kortit; Joissakin koneissa on Windows-laitteisto, joka ei toimi Linuxin kanssa.

Laitteiston yhteensopivuudesta on usein kysyttyjä kysymyksiä. Uusin versio on täällä.

K: Haluan osallistua. Voitteko auttaa minua valitsemaan ongelman, jota tarvitaan?

V: Ei, koska en tiedä kykyjäsi tai etuja. Sinun on oltava itsemääräämätön tai et tartu, minkä vuoksi muut ihmiset valitsevat suuntaasi lähes koskaan.

K: Pitääkö minun vihata ja bash Microsoft?

V: Et, et. Ei, että Microsoft ei ole kauhistuttavaa, mutta hakkukulttuuri oli jo kauan Microsoftin edessä, ja Microsoftin historia on vielä pitkä. Mikä tahansa energia, jota vietät vihaa Microsoftia, olisi parempi käyttää rakastamaan veneesi. Kirjoita hyvää koodia, joka kootaan Microsoftin tarpeeksi ilman saastuttamista karmaasi.

K: Mutta ei avoimen lähdekoodin ohjelmiston jätä ohjelmoijia, jotka eivät pysty elämään?

V: Tämä vaikuttaa epätodennäköiseltä — toistaiseksi avoimen lähdekoodin ohjelmistoteollisuus näyttää luomassa työpaikkoja sen sijaan, että ottaisi ne pois. Jos ohjelman kirjoittaminen on nettotuottoa siitä, että sitä ei ole kirjoitettu, ohjelmoija maksaa siitä, onko ohjelma avoin lähdekoodi sen jälkeen, kun se on tehty. Ja riippumatta siitä, kuinka paljon «ilmaista» ohjelmistoa kirjoitetaan, näyttää aina olevan enemmän kysyntää uusille ja räätälöidyille sovelluksille. Olen kirjoittanut lisää tästä avoimen lähdekoodin sivuilla.

K: Mistä saan ilmaisen Unixin?

V: Jos sinulla ei ole vielä Unixia asennettuna koneellesi, muualla tällä sivulla mainokseni, mistä saat yleisimmin käytetyn vapaan Unixin. Jotta hakkeri tarvitsisi motivaatiota ja aloitteellisuutta ja kykyä kouluttaa itseäsi. Aloita nyt…

Комментарии закрыты, но трекбеки и пингбеки открыты.