Nazwa forum

Opis forum


#1 2010-03-03 15:52:30

marcin11

Administrator

Zarejestrowany: 2010-02-20
Posty: 16
Punktów :   
Języki które znam:: HTML, Python
Języki których się ucze:: C++
Aktualny projekt:: HomePage

Jak zostać hackerem.

Skąd ten dokument?
Jako twórca Jargon File często otrzymuję prośby e-mailem od wielu entuzjastycznych nowicjuszy w Sieci pytających (w skrócie): "w jaki sposób mogę zostać doskonałym hackerem?". Co dziwne, nie ma jak do tej pory jakichkolwiek FAQ lub innych dokumentów Webowych traktujących o tym ważnym temacie, więc oto mój.

Jeśli czytasz zrzut tego dokumentu offline, bieżąca wersja znajduje się na www.jtz.org.pl/hacker-howto-pl.htmlWersja oryginalna (angielska) jest do przeczytania na http://www.tuxedo.org/~esr/faqs/hacker-howto.html
Hacker - kto to taki?

      Jargon File zawiera garść definicji terminu "hacker", w większości opierających się na biegłości w zagadnieniach technicznych, znajdowaniu upodobania w rozwiązywaniu problemów i przekraczaniu ograniczeń. Jeśli jednak chcesz wiedzieć, w jaki sposób zostać hackerem, tylko dwie z nich są naprawdę odpowiednie.

      Istnieje społeczność, kultura grupowa, złożona z ekspertów w dziedzinie programowania i magików sieciowych, której historia sięga wstecz poprzez dziesięciolecia do pierwszych wielodostępnych minikomputerów z podziałem czasu i najwcześniejszych eksperymentów z siecią ARPAnet. Członkowie tej kultury zapoczątkowali termin "hacker". Hackerzy zbudowali Internet. Hackerzy uczynili z UNIXa system operayjny, jakim jest dzisiaj. Hackerzy zapoczątkowali Usenet. Hackerzy sprawili, że Światowa Pajęczyna (World Wide Web) zaczęła działać. Jeśli jesteś częścią tej kultury, jeśli bierzesz w niej czynny udział i inni ludzie z tej grupy Ciebie znają i nazywają Cię hackerem - wtedy jesteś hackerem.

      Filozofia hackera nie jest ograniczona do tej kultury software'owo-hackerskiej. Są ludzie, którzy stosują postawę hackera w innych zagadnieniach, jak elektronika czy muzyka - w rzeczywistości możesz znaleźć ją na najwyższym poziomie we wszystkich dyscyplinach nauki czy sztuki. Software'owi hackerzy rozpoznają te bratnie dusze gdziekolwiek się pojawią i mogą ich również nazywać hackerami - są tacy, którzy twierdzą, że natura hackera jest naprawdę niezależna od konkretnego medium, nad którym on pracuje. Niemniej jednak w dalszej części tego dokumentu skupię się na umiejętnościach i postawach hackerów software'owych, oraz na tradycjach kultury społecznej, która zapoczątkowała termin "hacker".

      Jest druga grupa ludzi, którzy głośno nazywają siebie hackerami, ale nimi nie są. Wspomniani ludzie (w większości niedorosłe osobniki płci męskiej) znajdują podnietę we włamywaniu się do komputerów i robieniu zamieszania* w systemie telefonicznym. Prawdziwi hackerzy nazywają takich ludzi "crackerami" i nie chcą mieć z nimi nic wspólnego. Prawdziwi hackerzy uważają w większości, że crackerzy są leniwi, nieodpowiedzialni i niezbyt błyskotliwi, a fakt, że jesteś w stanie przełamać system ochrony nie czyni Cię hackerem bardziej niż umiejętność uruchamiania samochodu "na krótko" robi z kogoś inżyniera w dziedzinie motoryzacji. Niestety, wielu dziennikarzy i autorów publikacji dało się oszukać i używają słowa "hacker" na określenie crackera. A to bezgranicznie irytuje hackerów z prawdziwego zdarzenia.

      Podstawowa różnica jest następująca: hackerzy coś tworzą, a crackerzy to niszczą.

      Jeśli chcesz być hackerem, czytaj dalej. Jeśli masz ambicję zostać crackerem, przeczytaj grupę dyskusyjną alt.2600 i przygotuj się na pięć do dziesięciu lat odsiadki po tym, jak okaże się, że nie jesteś tak bystry, jak myślałeś. I to wszystko co mam do powiedzenia o crackerach.

Postawa hackera

      Hackerzy rozwiązują problemy i tworzą rzeczy wierząc w wolność i wzajemną pomoc. Aby zostać zaakceptowanym jako hacker, musisz zachowywać się jakbyś sam miał ten rodzaj podejścia. Jednak żeby zachowywać się tak, jakbyś miał takie podejście, musisz w nie naprawdę uwierzyć.

      Jednakże jeśli myślisz o rozwijaniu postaw hackerskich jedynie jak o metodzie uzyskania akceptacji wewnątrz kultury, zmierzasz w złym kierunku. Bardzo ważne jest, abyś stał się takim typem człowieka, który wierzy w te rzeczy - po to, byś łatwiej uczył się i zachował motywację. Jak we wszystkich dziedzinach twórczej sztuki, najefektywniejszą metodą zostania mistrzem jest naśladowanie stylu myślenia mistrzów - nie tylko intelektualnie, lecz również emocjonalnie.

      Więc, jeśli chcesz być hackerem, powtarzaj następujące rzeczy do chwili, kiedy w nie uwierzysz:
      1. Świat jest pełen fascynujących problemów oczekujących na rozwiązanie.
      Być hackerem to kupa zabawy, ale to tego typu zabawa, która pochłania mnóstwo wysiłku. Wysiłek wymaga motywacji. Atleci odnoszący sukcesy biorą swoją motywację z formy fizycznego zadowolenia płynącego z umiejętności nakłonienia własnego ciała, aby działało tak, jak sobie tego życzą, z popychania samych siebie poza własne fizyczne ograniczenia. Podobnie, aby być hackerem, musisz odczuwać podstawową satysfakcję z rozwiązywania problemów, wyostrzania własnych umiejętności i ćwiczenia swojej inteligencji.

      Jeśli nie jesteś osobą myślącą tak w sposób naturalny, musisz takim zostać, jeśli chcesz być hackerem. W przeciwnym razie zorientujesz się, że twoja hackerska energia jest uszczuplana przez zagadnienia takie jak seks, pieniądze i społeczna akceptacja.

      (Musisz również rozwinąć w sobie rodzaj wiary we własne możliwości uczenia się - wiary, że możesz nie wiedzieć wszystkiego, czego potrzebujesz do rozwiązania problemu, ale jeśli zmierzysz się z nim choć trochę i wskutek tego nauczysz się czegoś, umiesz już wystarczająco, żeby ugryźć następny kawałek i tak dalej, aż będzie po wszystkim.)
      2. Nikt nigdy nie powinien rozwiązywać problemu dwa razy.
      Twórcze umysły są wartościowym, rzadkim surowcem. Nie powinny być marnotrawione na powtórne wynajdowanie koła jeśli jest tyle fascynujących problemów czekających na rozwiązanie.

      Aby zachowywać się jak hacker musisz wierzyć, że myślowy czas innych hackerów jest cenny - tak bardzo, że niemal moralnym obowiązkiem jest, abyś dzielił się informacjami, rozwiązywał problemy i rozdawał rozwiązania tak, aby inni hackerzy mogli rozwiązywać nowe problemy zamiast konieczności ciągłego przetwarzania starych.

      (Nie musisz wierzyć, że masz obowiązek rozdawać za darmo całą swoją twórczą działalność, choć hackerzy, którzy tak czynią uzyskują najwięcej szacunku od innych. Nie jest sprzeczne z wartościami hackera, żebyś mógł sprzedać wystarczająco dużo, aby mieć dostęp do pożywienia, dachu nad głową i komputerów. Jest logiczne, że używasz swoich hackerskich umiejętności aby utrzymać rodzinę lub wręcz wzbogacić się, tak długo, dopóki robiąc to nie zapomnisz, że jesteś hackerem.)
      3. Znudzenie i harówka są złe.
      Hackerzy (i twórczy ludzie w ogóle) nigdy nie powinni zanudzać się czy też być zmuszonymi do zaharowywania się przy głupiej i powtarzalnej robocie, ponieważ jeśli tak się stanie, okaże się, że nie robią tego, co powinni - rozwiązywania problemów. To marnotrawstwo szkodzi wszystkim. Dlatego znudzenie i nużąca praca są nie tylko nieprzyjemne, ale w rzeczywistości szkodliwe.

      Aby zachowywać się tak, jak hacker, musisz uwierzyć w to wystarczająco mocno, aby zautomatyzować nudne fragmenty tak bardzo, jak to możliwe, nie tylko dla siebie, ale i dla innych (w szczególności innych hackerów).

      (Jest jednak pewien oczywisty wyjątek od tej reguły. Hackerzy czasem robią rzeczy, które mogą wydawać się powtarzalnymi lub nudnymi dla obserwatora jako ćwiczenia oczyszczające umysł, lub, gdy w celu osiągnięcia konkretnego rodzaju doświadczenia nie można inaczej. Ale jest to wybór - nikt, kto jest istotą myślącą nie powinien być zmuszany do nudy.)
      4. Wolność jest dobra.
      Hackerzy z natury sprzeciwiają się narzucaniu władzy. Każdy, kto może wydawać Ci polecenia jest w stanie powstrzymać Cię przed rozwiązywaniem problemu, niezależnie jak bardzo byłbyś nim zafascynowany - a biorąc pod uwagę sposób działania władczych umysłów, zawsze znajdą one jakiś niebywale głupi powód aby tak uczynić. Więc autokratyczne nastawienie powinno być zwalczane gdziekolwiek byś go nie znalazł, w przeciwnym razie stłumi Ciebie i innych hackerów.

      (To nie jest wszakże to samo, co zwalczanie wszelkich form władzy. Dzieci muszą być wychowywane a przestępcy izolowani. Hacker może zgodzić się na zaakceptowanie pewnych form władzy w celu osiągnięcia czegoś co ceni bardziej niż czas, który poświęci spełniając rozkazy. Ale to jest ograniczona i świadoma transakcja, nikt nie oferuje takiej formy uległości, jakiej oczekiwaliby ludzie o autokratycznym nastawieniu).

      Autokratom służy cenzura i utajnienie. Nie ufają oni dobrowolnej współpracy i chęci dzielenia się informacjami - jedyną współpracą, którą lubią jest ta kontrolowana przez nich. Więc aby zachowywać się jak hacker, musisz wytworzyć w sobie instynktowną wrogość wobec cenzury, utajnienia i używania siły lub podstępu do wywierania przymusu na odpowiedzialnych za swoje czyny dorosłych ludziach. I musisz być gotów do działania zgodnie z tymi przekonaniami.
      5. Postawa nie zastąpi kompetencji.
      Aby być hackerem musisz wytworzyć w sobie niektóre z tych postaw. Ale kopiowanie postawy samej dla siebie nie uczyni z Ciebie hackera, tak samo jak postawa nie uczyni z Ciebie mistrza w sporcie lub gwiazdy rocka. Żeby zostać hackerem potrzeba inteligencji, ćwiczeń, poświęcenia i ciężkiej pracy.

      W związku z tym musisz nauczyć się niedowierzania dla postawy oraz szacunku dla kompetencji pod każdą postacią. Hackerzy nie pozwolą pozerom marnować ich czasu, ale cenią sobie kompetencję - szczególnie kompetencję w hackerstwie, ale każda inna jest też dobra. Kompetencja w dziedzinach, które niewielu potrafi opanować jest szczególnie ceniona, a kompetencja w dziedzinach, które wymagają umysłowej dokładności, wysiłku i koncentracji jest ze wszystkich najlepsza.

      Jeśli jesteś czcicielem kompetencji, będziesz z przyjemnością rozwijać je w sobie - ciężka praca i poświęcenie staną się formą intensywnej zabawy, nie zaś harówką. A to jest szczególnie istotne w procesie stawania się hackerem.

Podstawowe umiejętności hackera.

      Postawa hackera jest istotna, ale umiejętności znaczą jeszcze więcej. Postawa nie zastąpi kompetencji i można wyróżnić pewien konkretny zestaw umiejętności, które będziesz musiał posiąść, zanim hackerom przyśni się nazwać Ciebie jednym z nich.

      Ten zestaw zmienia się powoli w czasie wraz z techniką wytwarzającą nowe zdolności i czyniące inne z nich przestarzałymi. Na przykład kiedyś do zasobu zdolności hackera zaliczało się programowanie w języku maszynowym, natomiast do niedawna nie należała do nich znajomość HTMLa. W chwili obecnej w miarę jasno można zaliczyć do nich co następuje:
      1. Naucz się programowania.
      To jest oczywiście fundamentalna umiejętność hackera. Jeśli nie znasz żadnego języka programowania komputerów, polecam rozpoczęcie od Pythona. Jest zaprojektowany w czysty sposób, dobrze udokumentowany i stosunkowo przyjazny dla początkujących. Pomimo dobrego spełniania roli pierwszego języka programowania, nie jest on po prostu zabawką: jest potężnym i elastycznym narzędziem świetnie dopasowanym do dużych projektów.

      Bądź jednak świadom, że nie osiągniesz poziomu umiejętności hackera, a nawet zwykłego programisty, jeśli będziesz znać zaledwie jeden język - musisz nauczyć się myśleć o problemie programistycznym w sposób ogólny, niezależny od jakiegokolwiek języka. Aby być prawdziwym hackerem, potrzebujesz osiągnąć poziom, na którym możesz nauczyć się nowego języka w ciągu dni poprzez porównanie tego, co wyczytasz w podręczniku z tym, co już umiesz. Oznacza to, że powinienieś nauczyć się kilku bardzo różniących się od siebie języków.

      Jeśli zajmiesz się poważnym programowaniem, będziesz musiał nauczyć się C, rdzennego UNIXowego języka (choć nie powinieneś uczyć się go w pierwszej kolejności). Inne języki o szczególnej wartości dla hackerów to Perl i LISP. Perl jest wart nauczenia z przyczyn praktycznych: jest bardzo szeroko wykorzystywany do tworzenia aktywnych stron WWW i administracji systemem, więc nawet jeśli nie piszesz programów w Perlu powinieneś nauczyć się go czytać. LISP jest wart nauki dla głębokiego uczucia oświecenia, kiedy go wreszcie zrozumiesz. To doświadczenie uczyni z ciebie o wiele lepszego programistę, nawet jeśli nie używasz LISPa zbyt często.

      Najlepiej jednak nauczyć się wszystkich czterech (Pythona, C, Perla, LISPa). Poza faktem, że są najważniejszymi hackerskimi językami programowania, reprezentują bardzo różne podejścia do programowania, a każdy z nich nauczy Cię innych wartościowych rzeczy.

      Nie mogę dać tu kompletnych instrukcji jak nauczyć się programowania - to skomplikowana umiejętność. Ale mogę powiedzieć, że książki i kursy tego nie zrobią (wielu, może większość najlepszych hackerów to samouki). Co Ci pomoże to: (a) czytanie kodu, (b) pisanie kodu.

      Nauka programowania jest jak nauka doskonałego pisania w języku naturalnym. Najlepszą metodą jest czytanie rzeczy pisanych przez mistrzów formy, pisanie samemu, czytanie dużo więcej, pisanie nieco więcej, czytanie jeszcze więcej, pisanie jeszcze trochę więcej ... powtarzaj aż Twoje pisanie zacznie rozwijać się do siły i wydajności, którą obserwujesz w swoich wzorcach.

      Kiedyś znalezienie dobrego kodu było zadaniem trudnym, ponieważ mało było dużych programów dostępnych w kodzie źródłowym do czytania i zabawy dla świeżo opierzonych hackerów. To zmieniło się znacząco. Oprogramowanie z udostępnionym kodem źródłowym, narzędzia programistyczne, systemy operacyjne (wszystkie zbudowane przez hackerów) są dziś szeroko dostępne. I to pięknie doprowadza mnie do następnego tematu...
      2. Weź jeden z UNIXów dostępnych z kodem źródłowym i naucz się go używać i zarządzać nim.
      Zakładam, że masz komputer, lub możesz uzyskać dostęp do takowego (ta dzisiejsza młodzież ma dużo lżej :-)). Jeden z najważniejszych kroków, który musi postawić nowicjusz w kierunku osiągnięcia umiejętności hackera jest zdobycie kopii Linuxa lub jednego z BSD-UNIXów, zainstalowanie go na komputerze i uruchomienie.

      Tak, są systemy operacyjne na tym świecie poza UNIXem. Ale są udostępniane w kodzie binarnym - nie możesz poczytać kodu i nie możesz go zmienić. Próbowanie nauki hackerstwa w DOSie, Windows lub pod MacOS jest jak nauka tańca z gipsem na całym ciele.

      Poza tym UNIX jest systemem operacyjnym Internetu. Chociaż możesz nauczyć się posługiwania Internetem bez znajomości UNIXa, lecz bez zrozumienia go nie nauczysz się internetowego hackerstwa. Z tej przyczyny kultura hackerów jest silnie scentralizowana wokół UNIXa. (To nie zawsze była prawda i niektórzy hackerzy starej daty nie są z tego powodu szczęśliwi, ale symbioza pomiędzy UNIXem i Internetem stała się tak silna, że nawet potęga Microsoftu nie jest w stanie zadać jej poważnego ciosu).

      Więc postaw UNIXa - osobiście lubię Linuxa, ale są inne drogi (no i oczywiście możesz używać Linuxa i DOS/Windows na tej samej maszynie). Naucz się go. Zarządzaj nim. Baw się nim. Nawiąż kontakt z Internetem za jego pomocą. Czytaj jego kod źródłowy. Modyfikuj kod. Otrzymasz lepsze narzędzia programistyczne (włączając C, Lisp, Python, i Perl) niż system operacyjny Microsoftu mógłby marzyć, będziesz miał kupę frajdy i wsiąkniesz więcej wiedzy niż się zorientujesz zanim nie spojrzysz na to później z perspektywy hackerskiego mistrza.

      Aby nauczyć się więcej o UNIXie, zobacz The Loginataka.

      Aby dopaść w swoje ręce Linuxa zobacz Where can I get Linux.
      3. Naucz się używać World Wide Web i pisać w HTML.
      Większość rzeczy, które zostały zbudowane przez kulturę hackerską jest ukrytych przed wzrokiem pozwalając kierować fabrykami, biurami i uniwersytetami bez widocznego piętna na stylu życia nie-hackerów. Web jest jednym wielkim wyjątkiem, wielką błyszcącą zabawką hackerów, która, co potwierdzają nawet politycy, zmienia świat. Z tego jedynego powodu (i wielu innych równie dobrych) powinieneś nauczyć się jak dział Sieć.

      Nie oznacza to po prostu nauki posługiwania się browserem (każdy to może zrobić), ale nauczyć się pisania w HTML, języku Webu. Jeśli nie umiesz programować, pisanie w HTMLu nauczy Cię paru umysłowych przyzwyczajeń, które pomogą Ci to opanować. A więc: zbuduj sobie home page.

      Jednakże posiadanie samej strony domowej nie jest jeszcze wystarczające do uczynienia Cię hackerem Sieć jest pełna stron domowych. Większość z nich jest bezcelowyn, pozbawionym zawartości szlamem* - bardzo wymyślnie wyglądającym, trzeba zauważyć, ale szlamem bez dwóch zdań (dla dalszych informacji zobacz The HTML Hell Page).

      Aby Twoja strona posiadała wartość musi zawierać treść - musi być interesująca i/lub użyteczna dla innych hackerów. A to przenosi nas do następnego tematu...

Status w kulturze hackerskiej

      Podobnie jak większość kultur nie zawierających ekonomii pieniądza hackerstwo opiera się na pojęciu reputacji. Starasz się rozwiązać interesujące problemy, ale na ile są one interesujące oraz na ile Twoje rozwiązania są dobre jest zagadnieniem, które potrafią osądzic tylko podobni Tobie lub lepsi od Ciebie.

      W związku z tym, jeśli bierzesz udział w tej hackerskiej zabawie uczysz się oceniać własne wyniki tylko na podstawie tego, co inni sądzą o Twoich umiejętnościach (stąd właśnie bierze się stwierdzenie, że nie jesteś hackerem dopóki inni hackerzy uparcie nie nazywają Cię hackerem). Ten fakt jest nieco stłumiony przez wizerunek hackera jako samotnika. Podobnie działa tabu kultury hackerskiej (stopniowo zanikające, ale ciągle obecne) sprzeciwiające się wyznaniu, że ego lub zewnętrzne uznanie mogą być w ogóle czyimkolwiek czynnikiem motywującym.

      Z pewnego punktu widzenia hackerstwo jest czymś, co antropologia nazywa kulturą darów. Zdobywasz w niej status i reputację nie poprzez dominacje nad innymi ludźmi, nie za swoją urodę, nie dlatego, że posiadasz to, co inni chcą mieć, ale dlatego, że dajesz coś innym za darmo. W szczególności rozdając swój czas, swoją kreatywność, wyniki swoich umiejętności.

      Ogólnie wyróżnia się pięć rzeczy, które można robić dla zdobycia respektu przez hackerów:
      1. Pisz oprogramowanie z udostępnionym kodem źródłowym
      Pierwszym (centralnym i najbardziej tradycyjnym) elementem jest tworzenie programów, które są odbierane przez innych hackerów jako zabawne lub użyteczne, oraz udostępnianie kodów źródłowych do użytku dla całej kultury hackerskiej.

      (Zwyczajowo nazywało się te prace "oprogramowaniem darmowym", ale zbyt wielu ludzi nie wiedziało do końca co miałoby znaczyć pojęcie "darmowy". Wielu z nas woli teraz określenie "oprogramowanie z dostępnym kodem źródłowym"* - "open source" software).

      "Półbogami" hackerstwa są ludzie, którzy napisali duże, użyteczne programy, stanowiące odpowiedź na szerokie zapotrzebowanie, a teraz udostępniają je za darmo, do użytku dla wszystkich zainteresowanych.
      2. Pomagaj testować i usuwać błędy w programach z udostępnionym kodem źródłowym
      Hackerzy pomagają testować i usuwać błędy w oprogramowaniu z dostępnym kodem źródłowym. W tym niedoskonałym świecie nieuniknione jest, że większość naszego czasu przy tworzeniu oprogramowania poświęcamy na usuwanie błędów. Dlatego każdy autor programów powie Ci, że dobry beta-tester (taki, który potrafi opisać symptomy, dobrze zlokalizować problemy, toleruje błędy we wczesnych wersjach i umie zastosować kilka prostych procedur diagnostycznych) jest na wagę złota. Nawet jeden taki człowiek jest w stanie pokazać różnicę pomiędzy procesem debugowania wydającym się czasochłonnym, wyczerpującym koszmarem, a takim, który jest wręcz dobroczynną uciążliwością.

      Jeśli jesteś nowicjuszem, spróbuj znaleźć program w trakcie procesu tworzenia, który Cię zainteresuje i bądź dobrym beta-testerem. Istnieje naturalny postęp od pomagania przy testowaniu, poprzez pomoc przy usuwaniu błędów aż do pomocy przy tworzeniu programu. W ten sposób nauczysz się wiele i wytworzysz dobre fluidy z ludźmi, którzy później pomogą i Tobie.
      3. Publikuj użyteczne informacje
      Inną użyteczną działalnością jest gromadzenie i filtrowanie użytecznych informacji i umieszczanie ich na stronach internetowych i w dokumentach typu FAQ (Frequently Asked Questions - "często zadawane pytania") oraz udostępnianie ich dla szerokiego forum.

      Osoby zarządzające dokumentami technicznymi typu FAQ są szanowane prawie tak, jak autorzy oprogramowania.
      4. Pomóż działać infrastrukturze
      Kultura hackerska (i techniczny rozwój internetu, jeśli o tym mowa) jest napędzana przez ochotników. Jest wiele koniecznej, ale niezbyt widowiskowej roboty, którą trzeba wykonać, aby wszystko działało tak, jak należy - administracja e-mailowymi listami dyskusyjnymi, filtrowanie grup dyskusyjnych (moderowanie), zarządzanie dużymi archiwami oprogramowania, rozwijanie różnych standardów technicznych.

      Ludzie wykonujący dobrze ten rodzaj pracy uzyskują dużo szacunku, bo każdy wie, że ta robota pochłania mnóstwo czasu i nie jest tak ciekawa, jak zabawa z kodem. Robienie tego pokazuje poświęcenie.
      5. Służ samej kulturze hackerskiej
      W końcu, możesz służyć samej kulturze oraz szerzyć jej ideologię (chociażby za pośrednictwem napisania niezłej rozprawy na temat: "Jak zostać hackerem" :-)). Inni nie będą tego od Ciebie oczekiwać, o ile nie kręciłeś się w tym temacie od jakiegoś czasu i nie zostałeś postacią dobrze znaną z któregoś z pierwszych czterech zagadnień.

      Kultura hackerów nie posiada przywódców w typowym rozumieniu tego słowa, ale posiada kulturowych bohaterów, starszyznę "plemienną", historyków i rzeczników. Jeśli wystarczająco długo przebywałeś w obozie, możesz w końcu wyrosnąć na jednego z nich. Strzeż się jednak: hackerzy nie ufają wybujałym osobowościom swojej "starszyzny", więc sięganie po tego typu zaszczyty może być niebezpieczne. Zamiast walki o nie powinieneś raczej ustawić się odpowiednio, aby same upadły do Twoich stóp, a wtedy bądź skromny i wdzięczny za swoją pozycję w grupie.

Związek pomiędzy pojęciem "hacker" a pojęciem "dziwak".

      Wbrew popularnemu mitowi nie musisz być dziwakiem aby móc zostać hackerem. To niewątpliwie pomaga i wielu hackerów jest odludkami. Bycie wyrzutkiem społecznym pomaga skupić się na ważnych rzeczach, takich jak myślenie i grzebanie w kodzie.

      Z tego powodu wielu hackerów zaadoptowało sobie etykietę "dziwak"*, a nawet używają ostrzejszego terminu "świr"* jako oznaki własnej dumy - jest to forma zadeklarowania ich niezależności od normalnych społecznych oczekiwań. Zobacz The Geek Page dla dalszej dyskusji.

      Jeśli potrafisz skoncentrować się na hackerstwie wystarczająco, aby być w tym dobrym i wciąż posiadasz własne życie - w porządku. Dziś jest dużo łatwiej niż w latach siedemdziesiątych, kiedy byłem nowicjuszem. Główny nurt kultury społeczeństwa jest dziś dużo bardziej przyjacielsko nastawiony wobec techno-dziwaków. Zwiększa się nawet ilość ludzi zdających sobie sprawę z faktu, że hackerzy są często świetnym materiałem na partnerów i małżonków. Więcej na ten temat w Girl's Guide to Geek Guys (Przewodniku dla dziewcząt po dziwnych facetach).

      Jeśli pasjonujesz się hackerstwem, bo nie posiadasz własnego życia, to też w porządku - przynajmniej nie będziesz miał problemów z koncentracją. Może później rozpoczniesz prywatne życie.

Punkty za styl

      Znów: aby być hackerem, musisz wejść w styl myślenia hackera. Jest kilka rzeczy, które możesz robić, jeśli nie siedzisz za komputerem. Nie są one substytutami hackerstwa (nic nie jest), ale wielu hackerów to robi czując, że na pewien sposób wiążą się w swych podstawach z duchem hackerstwa.
          o Czytaj science-fiction. Odwiedzaj konwenty science-fiction (świetny sposób, aby spotkać hackerów, lub osoby dobrze rokujące, aby nimi zostać).
          o Studiuj Zen i/lub trenuj sztuki walki (tu dyscyplina psychiczna zdaje się być podobna do hackerskiej)
          o Rozwijaj w sobie analityczny słuch do muzyki. Naucz się cenić specyficzne gatunki muzyki. Naucz się dobrze grać na jakimś instrumencie lub dobrze śpiewać.
          o Rozwiń w sobie szacunek dla gier umysłowych i zabawy słownej.
          o Naucz się dobrze pisać w swoim języku narodowym. (Zdumiewająco dużo hackerów, włączając w to tych najlepszych, jakich znam, jest doskonałymi pisarzami).

      Im więcej z tych rzeczy robisz, tym bardziej prawdopodobne, że jesteś dobrym materiałem na hackera. Nie wiadomo do końca, dlaczego akurat te rzeczy kojarzą się ze zdolnościami hackerskimi, ale są one związane z jednoczesnym wykorzystywaniem zdolności prawej i lewej półkuli mózgowej, a to wydaje się być ważne (hackerzy muszą zarówno myśleć logicznie jak i być w stanie wyjść poza zakres pozornej logiki, by móc przekroczyć barierę swoich wyobrażeń w danej chwili).

      W końcu kilka rzeczy, których nie należy robić.
          o Nie używaj głupich, górnolotnych pseudonimów.
          o Nie wdawaj sięw święte wojny na Usenecie (lub gdziekolwiek indziej).
          o Nie nazywaj siebie "cyberpunkiem" i nie marnuj czasu na kogokolwiek, kto określa siebie kimś takim.
          o Nie wysyłaj poczty lub ogłoszeń na grupach dyskusyjnych, które będą pełne błędów ortograficznych, lub gramatycznych.
      Reputacja jaką zdobędziesz robiąc te rzeczy jest niewiele warta. Hackerzy mają dobrą pamięć - może upłynąć wiele lat Twojego życia zanim zostaniesz zaakceptowany.

Inne źródła:

      Peter Seebach zarządza świetnym Hacker FAQ dla managerów, którzy nie wiedzą, jak postępować z hackerami.

      Loginataka zawiera kilka rzeczy dotyczących właściwego treningu i postawy hackerów UNIXowych.

      Napisałem również A Brief History Of Hackerdom (krótką historię hackerstwa).

      Jestem autorem artykułu The Cathedral and the Bazaar, który wyjaśnia, w jaki sposób działąją kultury hackerskie wokół Linuxa i oprogramowania z dostępnym kodem źródłowym. W dalszej części Homesteading the Noosphere treści te znalazły jeszcze bardziej bezpośredni opis.

Często zadawane pytania
Pytanie: Nauczysz mnie hackerstwa?
Od pierwszej publikacji tego dokumentu otrzymuję kilka próśb tygodniowo o to, żebym kogoś "nauczył wszystkiego o hackerstwie". Niestety, nie mam ani czasu ani energii aby to uczynić. Moje własne projekty hackerskie zajmują mi 110% czasu.

Nawet gdybym miał czas, hackerstwo jest postawą i umiejętnością, których musisz po prostu nauczyć się sam. Przekonasz się, że chociaż prawdziwi hackerzy chcą Ci pomóc, nie uszanują Cię, jeśli będziesz ich błagać, żeby karmili Cię swoją wiedzą jak łyżeczką.

Naucz się na początku kilku rzeczy. Pokaż, że się starasz, że potrafisz uczyć się samodzielnie. Potem zwróć się do znajomych hackerów ze szczegółowymi pytaniami.
P: Pomożesz mi włamać się do systemu, lub nauczysz mnie crackerstwa?
Nie. Każdy, kto ciągle zadaje takie pytanie po przeczytaniu tego dokumentu jest zbyt głupi, by go czegoś nauczyć, nawet gdybym miał na to czas. Jakiekolwiek podobne prośby wysłane e-mailem zostaną zignorowane, lub odpowiem na nie ze skrajną nieuprzejmością.
P: Gdzie mogę znaleźć prawdziwych hackerów do rozmowy?
Najlepszą metodą jest odnaleźć grupę użytkowników UNIXa lub Linuxa w pobliżu i udać się na ich spotkanie (możesz znaleźć linki do kilku list takich grup na stronie LDP na Sunsite).

(Kiedyś uważałem, że nie spotkasz prawdziwych hackerów na IRC, ale miałem okazję przekonać się, że to się zmienia. Okazuje się, że niektóre społeczności hackerskie, związane z takimi rzeczami jak GIMP czy Perl mają własne kanały IRC.)
P: Jakiego języka powinienem nauczyć się na początku?
HTML'a, jeśli jeszcze go nie znasz. Jest pełno widowiskowych, przeładowanych formą, złych książek o HTML'u na rynku i załamująco niewiele dobrych. Tą, którą lubię najbardziej jest HTML: The Definitive Guide.

Ale HTML nie jest pełnym językiem programowania. Kiedy będziesz gotowy zacząć programować, polecam rozpoczęcie od Pythona. Spotkasz wiele osób polecających Perla i Perl jest popularniejszy od Pythona, ale jest trudniejszy do nauki.

C jest naprawdę ważne, ale jest też dużo trudniejsze od Perla i Pythona. Nie próbuj uczyć się go na początku.
P: Ale, czy rynek oprogramowania z dostępnym kodem źródłowym nie uniemożliwi programistom zarobienia na życie?
To wydaje się nieprawdopodobne - ale na razie przemysł oprogramowania z dostępnym kodem źródłowym wydaje się stwarzać nowe stanowiska pracy zamiast je odbierać. Jeśli zrealizowanie programu jest korzystniejsze ekonomicznie niż nie stworzenie go, programista otrzyma zapłatę niezależnie od tego, czy program będzie darmowy. I niezależnie od ilości "darmowego" oprogramowania, zawsze wydaje się być większy popyt na nowe i specjalizowane oprogramowanie. Napisałem więcej na ten temat na stronach Open Source.
P: Jak mogę zacząć? Gdzie zdobędę darmowy UNIX?
Gdzieś na tej stronie zawarłem wskazówki, gdzie znaleźć najpowszechniej stosowany darmowy UNIX. Żeby być hackerem potrzebujesz motywacji, inicjatywy i umiejętności samodzielnej nauki. Zacznij teraz...

Od tłumacza:

Tu znajdują się oryginalne sformułowania, które dla mnie stanowią elementy kontrowersyjne. Jeśli ktoś pokusi się o próbę poprawienia mnie w tłumaczeniu - bardzo proszę. Wszak na tym polega esencja hackerstwa...

phreaking
    - w uproszczeniu oznacza to korzystanie z usług telefonicznych "na lewo", czyli bez opłaty. U nas objawiało się to np. poprzez wykorzystanie zapalniczki piezoelektrycznej do nabijania impulsów w aparatach publicznych na żetony... (dzięki Greg... ;-) <-

sludge
    - szlam to dokładne tłumaczenie tego słowa. Jednak niezbyt dobrze brzmi po polsku... Na pewno jest lepsze słowo na określenie bezwartościowego śmiecia, czegoś stworzonego dla samego tworzenia, bez wartości dla innych, prócz twórcy... <-

open source software
    - właściwie to się czepiam, ale warto wreszcie przyjąć jakąś polską wersję tego określeia do naszego języka. "Oprogramowanie z dostępnym kodem źródłowym" brzmi zbyt opisowo. Co tylko dowodzi, że język polski jest ubogi w określenia, dla opisania zjawisk musimy używac więcej słów (moje tłumaczenie jest ok 20% większe od oryginału...)<-

nerd
geek
    - moje tłumaczenia "dziwak" oraz "świr" oddają raczej nastrój emocjonalny określeń użytych przez Erica (tak sądzę ;-), niż rzeczywiste znaczenie tych slangowych sformułowań. FIXME please...

(źródło: http://www.jtz.org.pl/Inne/hacker-howto-pl.html)

Offline

 

Stopka forum

RSS
Powered by PunBB 1.2.23
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.coolgamersm2.pun.pl www.destiny-guild.pun.pl www.shahrukhikajol.pun.pl www.battleofimmortals.pun.pl www.vsmetrans.pun.pl