Springe zum Inhalt

Wie man ein Hacker wird

Was ist ein Hacker?

Die Jargon-Datei enthält eine Reihe von Definitionen des Begriffs "Hacker", die meist mit technischem Geschick und der Freude an der Lösung von Problemen und der Überwindung von Grenzen zu tun haben. Wenn Sie jedoch wissen wollen, wie man Hacker wird, sind nur zwei wirklich relevant.

Es gibt eine Gemeinschaft, eine gemeinsame Kultur von erfahrenen Programmierern und Netzwerkassistenten, die ihre Geschichte über Jahrzehnte hinweg bis hin zu den ersten Minicomputern mit Zeitteilung und den ersten ARPAnet-Experimenten zurückverfolgt. Die Mitglieder dieser Kultur haben den Begriff "Hacker" entwickelt. Hacker bauten das Internet auf. Hacker haben das Unix-Betriebssystem zu dem gemacht, was es heute ist. Hacker sorgen dafür, dass das World Wide Web funktioniert. Wenn du Teil dieser Kultur bist, wenn du dazu beigetragen hast und andere Menschen darin wissen, wer du bist und dich einen Hacker nennen, bist du ein Hacker.

Die Hacker-Mentalität ist nicht auf diese Software-Hacker-Kultur beschränkt. Es gibt Leute, die die Hacker-Einstellung auf andere Dinge anwenden, wie Elektronik oder Musik - eigentlich findet man sie auf den höchsten Ebenen jeder Wissenschaft oder Kunst. Software-Hacker erkennen diese verwandten Geister anderswo und können sie auch "Hacker" nennen - und einige behaupten, dass die Hacker-Natur wirklich unabhängig von dem jeweiligen Medium ist, in dem der Hacker arbeitet. Aber im weiteren Verlauf dieses Dokuments werden wir uns auf die Fähigkeiten und Einstellungen von Software-Hackern und die Traditionen der gemeinsamen Kultur konzentrieren, aus der der Begriff "Hacker" stammt.

Es gibt eine weitere Gruppe von Menschen, die sich lautstark Hacker nennen, aber es nicht sind. Dies sind Menschen (hauptsächlich jugendliche Männer), die einen Kick davon bekommen, in Computer einzudringen und das Telefonsystem zu erschüttern. Echte Hacker nennen diese Leute "Cracker" und wollen nichts mit ihnen zu tun haben. Echte Hacker denken meistens, dass Cracker faul, unverantwortlich und nicht sehr intelligent sind, und das Objekt, das in der Lage ist, die Sicherheit zu brechen, macht Sie nicht zu einem Hacker, genauso wenig wie die Möglichkeit, Autos zu verkabeln, macht Sie zu einem Automobilingenieur. Leider wurden viele Journalisten und Schriftsteller getäuscht, das Wort "Hacker" zu verwenden, um Cracker zu beschreiben; das irritiert echte Hacker ohne Ende.

Der grundlegende Unterschied ist folgender: Hacker bauen Dinge, Cracker brechen sie.

Wenn du ein Hacker sein willst, lies weiter. Wenn du ein Cracker sein willst, lies die alt.2600 Newsgroup und mach dich bereit, fünf bis zehn im Slammer zu machen, nachdem du herausgefunden hast, dass du nicht so klug bist, wie du denkst. Und das ist alles, was ich über Cracker sagen werde.

Die Hacker-Haltung

  1. Die Welt ist voller faszinierender Probleme, die darauf warten, gelöst zu werden.
  2. Kein Problem sollte jemals zweimal gelöst werden müssen.
  3. Langeweile und Plackerei sind böse.
  4. Freiheit ist gut.
  5. Haltung ist kein Ersatz für Kompetenz.

Hacker lösen Probleme und bauen Dinge, und sie glauben an Freiheit und freiwillige gegenseitige Hilfe. Um als Hacker akzeptiert zu werden, muss man sich so verhalten, als hätte man selbst diese Art von Einstellung. Und um sich so zu verhalten, als ob man die Einstellung hätte, muss man der Einstellung wirklich glauben.

Aber wenn Sie die Kultivierung von Hacker-Einstellungen als eine Möglichkeit betrachten, sich in der Kultur durchzusetzen, werden Sie den Sinn verfehlen. Die Art von Person zu werden, die diese Dinge glaubt, ist wichtig für dich - um dir zu helfen zu lernen und dich motiviert zu halten. Wie bei allen kreativen Künsten ist der effektivste Weg, ein Meister zu werden, die Denkweise der Meister nachzuahmen - nicht nur intellektuell, sondern auch emotional.

Oder, wie es das folgende moderne Zen-Gedicht zeigt:

Um dem Weg zu folgen:
schau auf den Meister,
folge dem Meister,
mit dem Meister gehen,
durch den Meister zu sehen,
zum Meister werden.

Wenn Sie also ein Hacker sein wollen, wiederholen Sie die folgenden Dinge, bis Sie ihnen glauben:

1. Die Welt ist voller faszinierender Probleme, die darauf warten, gelöst zu werden.

Ein Hacker zu sein macht viel Spaß, aber es ist eine Art Spaß, der viel Mühe erfordert. Die Anstrengung erfordert Motivation. Erfolgreiche Athleten erhalten ihre Motivation durch eine Art körperliche Freude daran, ihren Körper leistungsfähig zu machen, indem sie sich selbst über ihre eigenen körperlichen Grenzen hinausbewegen. Ebenso müssen Sie, um ein Hacker zu sein, einen grundlegenden Nervenkitzel bekommen, indem Sie Probleme lösen, Ihre Fähigkeiten verbessern und Ihre Intelligenz trainieren.

Wenn du nicht die Art von Person bist, die sich so natürlich fühlt, musst du einer werden, um es als Hacker zu schaffen. Andernfalls werden Sie feststellen, dass Ihre Hack-Energie durch Ablenkungen wie Sex, Geld und soziale Anerkennung erschüttert wird.

(Du musst auch eine Art Glauben an deine eigene Lernfähigkeit entwickeln - einen Glauben, dass du zwar nicht alles weißt, was du zur Lösung eines Problems benötigst, aber wenn du nur ein Stück davon anpackst und daraus lernst, wirst du genug lernen, um das nächste Stück zu lösen - und so weiter, bis du fertig bist.)

2. Kein Problem sollte jemals zweimal gelöst werden müssen.

Kreative Köpfe sind eine wertvolle, begrenzte Ressource. Sie sollten nicht damit vergeudet werden, das Rad neu zu erfinden, wenn da draußen so viele faszinierende neue Probleme auftauchen.

Um sich wie ein Hacker zu verhalten, muss man glauben, dass die Denkzeit anderer Hacker kostbar ist - so sehr, dass es fast eine moralische Pflicht für einen ist, Informationen auszutauschen, Probleme zu lösen und dann die Lösungen wegzugeben, nur damit andere Hacker neue Probleme lösen können, anstatt ständig alte neu anzugehen.

Beachten Sie jedoch, dass "kein Problem jemals zweimal gelöst werden muss" bedeutet nicht, dass Sie alle bestehenden Lösungen für heilig halten müssen oder dass es nur eine richtige Lösung für ein bestimmtes Problem gibt. Oftmals lernen wir viel über das Problem, das wir vorher nicht kannten, indem wir den ersten Schnitt bei einer Lösung studieren. Es ist in Ordnung, und oft notwendig, zu entscheiden, dass wir es besser machen können. Was nicht in Ordnung ist, sind künstliche technische, rechtliche oder institutionelle Barrieren (wie Closed-Source-Code), die verhindern, dass eine gute Lösung wiederverwendet wird, und die Menschen zwingen, Räder neu zu erfinden.

(Sie müssen nicht glauben, dass Sie verpflichtet sind, Ihr ganzes kreatives Produkt wegzugeben, obwohl die Hacker, die es tun, diejenigen sind, die den größten Respekt von anderen Hackern erhalten. Es steht im Einklang mit den Werten von Hackern, genug davon zu verkaufen, um Sie im Bereich Lebensmittel, Miete und Computer zu halten. Es ist in Ordnung, deine Hacking-Fähigkeiten zu nutzen, um eine Familie zu unterstützen oder sogar reich zu werden, solange du dabei deine Loyalität zu deiner Kunst und deinen Mit-Hackern nicht vergisst.)

3. Langeweile und Plackerei sind böse.

Hacker (und kreative Menschen im Allgemeinen) sollten sich nie langweilen oder bei dummen, sich wiederholenden Arbeiten schuften müssen, denn wenn das passiert, bedeutet das, dass sie nicht das tun, was nur sie tun können - neue Probleme lösen. Diese Verschwendung schadet allen. Deshalb sind Langeweile und Plackerei nicht nur unangenehm, sondern sogar böse.

Um sich wie ein Hacker zu verhalten, muss man dies glauben, um die langweiligen Dinge so weit wie möglich zu automatisieren, nicht nur für sich selbst, sondern auch für alle anderen (insbesondere für andere Hacker).

(Es gibt eine offensichtliche Ausnahme davon. Hacker tun manchmal Dinge, die sich wiederholend oder langweilig für einen Beobachter als eine Übung zur Aufklärung des Geistes, oder um eine Fertigkeit zu erwerben oder eine bestimmte Art von Erfahrung zu haben, die man sonst nicht haben kann. Aber das ist freiwillig - niemand, der denken kann, sollte jemals in eine Situation gezwungen werden, die ihn langweilt.)

4. Freiheit ist gut.

Hacker sind von Natur aus antiautoritär. Jeder, der dir Befehle geben kann, kann dich davon abhalten, das Problem zu lösen, von dem du fasziniert bist - und wird, so wie autoritäre Geister funktionieren, in der Regel einen entsetzlich dummen Grund dafür finden. Also muss die autoritäre Haltung bekämpft werden, wo immer man sie findet, damit sie nicht dich und andere Hacker erstickt.

(Das ist nicht dasselbe, wie alle Autoritäten zu bekämpfen. Kinder müssen geführt und Kriminelle zurückgehalten werden. Ein Hacker kann zustimmen, eine Art von Autorität zu akzeptieren, um etwas zu bekommen, das er mehr will, als die Zeit, die er damit verbringt, Befehle auszuführen. Aber das ist ein begrenztes, bewusstes Schnäppchen; die Art von persönlichen Kapitulationsautoritären, die von Autoritäten gewünscht werden, wird nicht angeboten.)

Autoritäre leben von Zensur und Geheimhaltung. Und sie misstrauen der freiwilligen Zusammenarbeit und dem Informationsaustausch - sie mögen nur die "Zusammenarbeit", die sie kontrollieren. Um sich also wie ein Hacker zu verhalten, muss man eine instinktive Feindseligkeit gegen Zensur, Geheimhaltung und die Anwendung von Gewalt oder Täuschung entwickeln, um verantwortliche Erwachsene zu zwingen. Und du musst bereit sein, nach diesem Glauben zu handeln.

5. Haltung ist kein Ersatz für Kompetenz.

Um ein Hacker zu sein, muss man einige dieser Einstellungen entwickeln. Aber eine Einstellung allein macht dich nicht zu einem Hacker, ebenso wenig wie es dich zu einem Spitzensportler oder Rockstar macht. Ein Hacker zu werden, erfordert Intelligenz, Übung, Hingabe und harte Arbeit.

Deshalb muss man lernen, die Einstellung zu misstrauen und Kompetenz jeglicher Art zu respektieren. Hacker werden nicht zulassen, dass Poser ihre Zeit verschwenden, aber sie verehren die Kompetenz.

Grundlegende Hacking-Fähigkeiten

  1. Lernen Sie, wie man programmiert.
  2. Holen Sie sich einen der Open-Source-Unixe und lernen Sie, ihn zu benutzen und auszuführen.
  3. Lernen Sie, wie man das World Wide Web nutzt und schreiben Sie HTML.

Wenn Sie kein funktionierendes Englisch haben, lernen Sie es.Die Hacker-Einstellung ist wichtig, aber die Fähigkeiten sind noch wichtiger. Haltung ist kein Ersatz für Kompetenz, und es gibt ein gewisses Grundwerkzeug an Fähigkeiten, das man haben muss, bevor ein Hacker davon träumen kann, einen solchen zu nennen.

Dieses Toolkit ändert sich im Laufe der Zeit langsam, da die Technologie neue Fähigkeiten schafft und alte überflüssig macht. Zum Beispiel umfasste es früher die Programmierung in der Maschinensprache und erst kürzlich auch HTML. Aber im Moment beinhaltet es ziemlich klar das Folgende:

1. Lernen Sie, wie man programmiert.

Das ist natürlich die grundlegende Hacking-Fähigkeit. Wenn Sie keine Computersprachen beherrschen, empfehle ich, mit Python zu beginnen. Es ist sauber gestaltet, gut dokumentiert und relativ freundlich zu Anfängern. Obwohl es eine gute Muttersprache ist, ist es nicht nur ein Spielzeug; es ist sehr leistungsstark und flexibel und eignet sich gut für große Projekte. Ich habe eine detailliertere Bewertung von Python geschrieben. Gute Tutorials sind auf der Python-Website verfügbar; es gibt ein ausgezeichnetes Tutorial von Drittanbietern bei Computer Science Circles.

Früher habe ich Java als eine gute Sprache empfohlen, um früh zu lernen, aber diese Kritik hat meine Meinung geändert (Suche nach "The Pitfalls of Java as a First Programming Language" darin). Ein Hacker kann es nicht, wie sie es verheerend formulieren: "Lösungsansätze wie ein Klempner in einem Baumarkt"; man muss wissen, was die Komponenten tatsächlich leisten. Jetzt denke ich, dass es wahrscheinlich am besten ist, zuerst C und Lisp und dann Java zu lernen.

Es gibt hier vielleicht einen allgemeineren Punkt. Wenn eine Sprache zu viel für dich tut, kann sie gleichzeitig ein gutes Werkzeug für die Produktion und ein schlechtes zum Lernen sein. Es sind nicht nur Sprachen, die dieses Problem haben; Web-Anwendungs-Frameworks wie RubyOnRails, CakePHP, Django können es zu einfach machen, eine oberflächliche Art von Verständnis zu erreichen, die Sie ohne Ressourcen auskommen lässt, wenn Sie ein schweres Problem angehen müssen, oder sogar einfach nur die Lösung auf ein einfaches zu debuggen.

Wenn Sie sich mit ernsthafter Programmierung beschäftigen, müssen Sie C, die Kernsprache von Unix, erlernen. C++ ist sehr eng mit C verbunden; wenn Sie das eine kennen, wird es nicht schwierig sein, das andere zu lernen. Keine der beiden Sprachen ist eine gute, um zu versuchen, als Ihre erste zu lernen. Und eigentlich, je mehr Sie die Programmierung in C vermeiden können, desto produktiver werden Sie sein.

C ist sehr effizient und schont die Ressourcen Ihrer Maschine. Leider erreicht C diese Effizienz, indem es von Ihnen verlangt, viele Low-Level-Management von Ressourcen (wie Speicher) von Hand durchzuführen. Der gesamte Low-Level-Code ist komplex und fehleranfällig und nimmt beim Debuggen einen großen Teil Ihrer Zeit in Anspruch. Mit den heutigen Maschinen, die so leistungsstark sind wie sie, ist dies in der Regel ein schlechter Kompromiss - es ist klüger, eine Sprache zu verwenden, die die Zeit der Maschine weniger effizient nutzt, aber Ihre Zeit viel effizienter. Also, Python.

Weitere Sprachen, die für Hacker von besonderer Bedeutung sind, sind Perl und LISP. Perl ist aus praktischen Gründen lohnenswert zu lernen; es wird sehr häufig für aktive Webseiten und Systemadministration verwendet, so dass Sie auch wenn Sie nie Perl schreiben, lernen sollten, es zu lesen. Viele Leute verwenden Perl in der Art und Weise, wie ich vorschlage, dass Sie Python verwenden sollten, um C-Programmierung bei Jobs zu vermeiden, die nicht die Maschineneffizienz von C erfordern. Du musst in der Lage sein, ihren Code zu verstehen.

LISP ist es wert, aus einem anderen Grund gelernt zu werden - der tiefen Erleuchtungserfahrung, die man haben wird, wenn man sie endlich bekommt. Diese Erfahrung wird Sie für den Rest Ihrer Tage zu einem besseren Programmierer machen, auch wenn Sie LISP selbst nie viel verwenden (Sie können relativ einfach erste Erfahrungen mit LISP machen, indem Sie Bearbeitungsmodi für den Emacs Texteditor oder Script-Fu-Plugins für den GIMP schreiben und ändern).

Am besten ist es, alle fünf von Python, C/C++, Java, Perl und LISP zu lernen. Abgesehen davon, dass sie die wichtigsten Hacking-Sprachen sind, stellen sie sehr unterschiedliche Ansätze zur Programmierung dar, und jede wird Sie auf wertvolle Weise aufklären.

Aber seien Sie sich bewusst, dass Sie nicht einfach durch die Akkumulation von Sprachen das Qualifikationsniveau eines Hackers oder gar eines Programmierers erreichen werden - Sie müssen lernen, wie man über Programmierprobleme allgemein denkt, unabhängig von einer Sprache. Um ein echter Hacker zu sein, müssen Sie an den Punkt kommen, an dem Sie eine neue Sprache in Tagen lernen können, indem Sie das, was im Handbuch steht, mit dem, was Sie bereits wissen, in Beziehung setzen. Das bedeutet, dass du mehrere sehr unterschiedliche Sprachen lernen solltest.

Ich kann keine vollständigen Anweisungen geben, wie man lernt, hier zu programmieren - es ist eine komplexe Fähigkeit. Aber ich kann Ihnen sagen, dass Bücher und Kurse es nicht tun werden - viele, vielleicht die meisten der besten Hacker sind Autodidakt. Man kann Sprachmerkmale - Bits des Wissens - aus Büchern lernen, aber die Denkweise, die dieses Wissen zu einer Lebensfertigkeit macht, kann nur durch Praxis und Lehre erlernt werden. Was es tun wird, ist (a) Code lesen und (b) Code schreiben.

Peter Norvig, der einer der Top-Hacker von Google und Mitautor des am weitesten verbreiteten Lehrbuchs über KI ist, hat einen ausgezeichneten Aufsatz mit dem Titel Teach Yourself Programming in Ten Years geschrieben. Sein "Rezept für den Programmiererfolg" verdient besondere Aufmerksamkeit.

Das Lernen zu programmieren ist wie das Lernen, eine gute natürliche Sprache zu schreiben. Der beste Weg, dies zu tun, ist, einige Dinge zu lesen, die von Meistern der Form geschrieben wurden, einige Dinge selbst zu schreiben, viel mehr zu lesen, viel mehr zu lesen, ein wenig mehr zu schreiben, viel mehr zu lesen, viel mehr zu schreiben.... und zu wiederholen, bis Ihr Schreiben beginnt, die Art von Stärke und Wirtschaft zu entwickeln, die Sie in Ihren Modellen sehen.

Ich habe mehr über diesen Lernprozess in How To Learn Hacking gesagt. Es ist ein einfacher Satz von Anweisungen, aber kein einfacher.

Gute Codes zum Lesen zu finden, war früher schwierig, denn es gab nur wenige große Programme in der Quelle, mit denen Anfänger Hacker lesen und basteln konnten. Dies hat sich dramatisch geändert; Open-Source-Software, Programmierwerkzeuge und Betriebssysteme (alle von Hackern entwickelt) sind inzwischen weit verbreitet. Was mich ordentlich zu unserem nächsten Thema bringt.....

2. Holen Sie sich einen der Open-Source-Unixe und lernen Sie, ihn zu benutzen und auszuführen.

Ich gehe davon aus, dass Sie einen Personalcomputer haben oder Zugang zu einem solchen erhalten können. (Nimm dir einen Moment Zeit, um zu verstehen, wie viel das bedeutet. Die Hackerkultur entwickelte sich ursprünglich aus der Zeit, als Computer so teuer waren, dass Einzelpersonen sie nicht besitzen konnten.) Der wichtigste Schritt, den jeder Neuling in Richtung Hacker-Fähigkeiten unternehmen kann, ist, sich eine Kopie von Linux oder einem der BSD-Unixe zu besorgen, sie auf einem persönlichen Computer zu installieren und auszuführen.

Ja, es gibt neben Unix noch andere Betriebssysteme auf der Welt. Aber sie werden als Binärdateien verteilt - Sie können den Code nicht lesen und ihn auch nicht ändern. Der Versuch, das Hacken auf einer Microsoft Windows-Maschine oder unter einem anderen Closed-Source-System zu lernen, ist wie der Versuch, das Tanzen zu lernen, während man einen Körperabdruck trägt.

Unter Mac OS X ist es möglich, aber nur ein Teil des Systems ist Open Source - Sie werden wahrscheinlich viele Wände erreichen, und Sie müssen darauf achten, dass Sie nicht die schlechte Gewohnheit entwickeln, vom proprietären Code von Apple abhängig zu sein. Wenn Sie sich auf das Unix unter der Haube konzentrieren, können Sie einige nützliche Dinge lernen.

Unix ist das Betriebssystem des Internets. Während Sie lernen können, das Internet zu nutzen, ohne Unix zu kennen, können Sie kein Internet-Hacker sein, ohne Unix zu verstehen. Aus diesem Grund ist die Hackerkultur heute ziemlich stark Unix-zentriert. (Das war nicht immer so, und einige alte Hacker sind immer noch nicht glücklich darüber, aber die Symbiose zwischen Unix und Internet ist so stark geworden, dass selbst Microsofts Muskeln nicht in der Lage zu sein scheinen, sie ernsthaft zu beugen.)

Also, bringen Sie ein Unix - ich mag Linux selbst, aber es gibt auch andere Möglichkeiten (und ja, Sie können sowohl Linux als auch Microsoft Windows auf demselben Computer ausführen). Lerne es. Führen Sie es aus. Basteln Sie daran. Sprich damit mit dem Internet. Lies den Code. Ändern Sie den Code. Sie erhalten bessere Programmierwerkzeuge (einschließlich C, LISP, Python und Perl), als jedes Microsoft-Betriebssystem vom Hosting träumen kann, Sie werden Spaß haben, und Sie werden mehr Wissen aufsaugen, als Sie denken, dass Sie lernen, bis Sie als Master-Hacker darauf zurückblicken.

Weitere Informationen zum Erlernen von Unix finden Sie unter Das Loginataka. Vielleicht möchtest du auch einen Blick auf The Art Of Unix Programming werfen.

Der Blog Let's Go Larval! ist ein Fenster zum Lernprozess eines neuen Linux-Benutzers, das ich für ungewöhnlich klar und hilfreich halte. Der Beitrag How I Learned Linux ist ein guter Ausgangspunkt.

Um ein Linux in die Finger zu bekommen, besuchen Sie die Linux Online!-Seite; Sie können von dort herunterladen oder (bessere Idee) eine lokale Linux-Benutzergruppe finden, die Ihnen bei der Installation hilft.

In den ersten zehn Jahren dieses HOWTOs berichtete ich, dass aus Sicht eines neuen Benutzers alle Linux-Distributionen nahezu gleichwertig sind. Aber in den Jahren 2006-2007 entstand eine tatsächlich beste Wahl: Ubuntu. Während andere Distributionen ihre eigenen Stärken haben, ist Ubuntu bei weitem die am besten zugängliche für Linux-Neulinge. Hüten Sie sich jedoch vor der abscheulichen und kaum verwendbaren "Unity"-Desktopoberfläche, die Ubuntu einige Jahre später als Standard eingeführt hat; die Varianten Xubuntu oder Kubuntu sind besser.

BSD Unix Hilfe und Ressourcen finden Sie unter www.bsd.org.

Eine gute Möglichkeit, die Zehen ins Wasser zu tauchen, ist das Booten einer so genannten Live-CD, einer Distribution, die vollständig von einer CD oder einem USB-Stick läuft, ohne dass die Festplatte geändert werden muss. Das kann langsam sein, weil CDs langsam sind, aber es ist ein Weg, einen Blick auf die Möglichkeiten zu werfen, ohne etwas Drastisches tun zu müssen.

Ich habe eine Einführung in die Grundlagen von Unix und Internet geschrieben.

Früher habe ich empfohlen, entweder Linux oder BSD nicht als Soloprojekt zu installieren, wenn man ein Neuling ist. Heutzutage sind die Installateure so gut geworden, dass es auch für einen Neuling möglich ist, es ganz alleine zu machen. Dennoch empfehle ich immer noch, Kontakt mit der lokalen Linux-Benutzergruppe aufzunehmen und um Hilfe zu bitten. Es kann nicht schaden und kann den Prozess glätten.

3. Lernen Sie, wie man das World Wide Web nutzt und schreiben Sie HTML.

Die meisten der Dinge, die die Hackerkultur aufgebaut hat, erledigen ihre Arbeit außer Sichtweite und helfen, Fabriken, Büros und Universitäten zu betreiben, ohne offensichtliche Auswirkungen auf das Leben von Nicht-Hackern. Das Web ist die einzige große Ausnahme, das riesige, glänzende Hackerspielzeug, das selbst Politiker zugeben, hat die Welt verändert. Allein aus diesem Grund (und vielen anderen guten) müssen Sie lernen, wie man das Web bedient.

Das bedeutet nicht nur, dass man lernt, wie man einen Browser steuert (das kann jeder), sondern auch, wie man HTML, die Auszeichnungssprache des Webs, schreibt. Wenn Sie nicht wissen, wie man programmiert, wird Ihnen das Schreiben von HTML einige mentale Gewohnheiten beibringen, die Ihnen helfen werden zu lernen. Also bauen Sie eine Homepage.

Aber eine Homepage zu haben, ist nicht annähernd gut genug, um dich zu einem Hacker zu machen. Das Web ist voll von Homepages. Die meisten von ihnen sind sinnloser, inhaltsloser Schlamm - sehr flott aussehender Schlamm, wohlgemerkt, aber trotzdem Schlamm (für mehr dazu siehe The HTML Hell Page).

Um sich zu lohnen, muss Ihre Seite Inhalte haben - sie muss für andere Hacker interessant und/oder nützlich sein. Und das bringt uns zum nächsten Thema.....

4. Wenn Sie kein funktionierendes Englisch haben, lernen Sie es.

Als amerikanischer und englischsprachiger Muttersprachler habe ich mich bisher dagegen gewehrt, dies vorzuschlagen, damit es nicht als eine Art Kulturimperialismus verstanden wird. Aber mehrere Muttersprachler anderer Sprachen haben mich gedrängt, darauf hinzuweisen, dass Englisch die Arbeitssprache der Hackerkultur und des Internets ist und dass Sie es wissen müssen, um in der Hackergemeinde zu funktionieren.

Um 1991 herum erfuhr ich, dass viele Hacker, die Englisch als Zweitsprache haben, es in technischen Diskussionen verwenden, auch wenn sie eine Geburtssprache teilen; es wurde mir damals berichtet, dass Englisch ein reicheres technisches Vokabular hat als jede andere Sprache und daher einfach ein besseres Werkzeug für den Job ist. Aus ähnlichen Gründen sind Übersetzungen von Fachbüchern in englischer Sprache oft unbefriedigend (wenn sie überhaupt fertig sind).

Linus Torvalds, ein Finne, kommentiert seinen Code auf Englisch (es ist ihm anscheinend nie in den Sinn gekommen, etwas anderes zu tun). Seine fließenden Englischkenntnisse waren ein wichtiger Faktor für seine Fähigkeit, eine weltweite Gemeinschaft von Entwicklern für Linux zu gewinnen. Es ist ein Beispiel, dem man folgen sollte.

Als englischer Muttersprachler ist es nicht garantiert, dass Sie über ausreichende Sprachkenntnisse verfügen, um als Hacker zu fungieren. Wenn Ihr Schreiben halbgebildet, ungrammatisch und voller Rechtschreibfehler ist, werden viele Hacker (einschließlich mir) dazu neigen, Sie zu ignorieren. Während schlampiges Schreiben nicht immer schlampiges Denken bedeutet, haben wir im Allgemeinen festgestellt, dass die Korrelation stark ist - und wir haben keinen Nutzen für schlampige Denker. Wenn Sie noch nicht kompetent schreiben können, lernen Sie es.

Status in der Hackerkultur

  1. Schreiben von Open-Source-Software
  2. Hilfe beim Testen und Debuggen von Open-Source-Software
  3. Nützliche Informationen veröffentlichen
  4. Unterstützung bei der Aufrechterhaltung der Funktionsfähigkeit der Infrastruktur
  5. Dienen Sie der Hackerkultur selbst.

Wie die meisten Kulturen ohne Geldwirtschaft läuft das Hackerdom nach dem Ruf. Sie versuchen, interessante Probleme zu lösen, aber wie interessant sie sind und ob Ihre Lösungen wirklich gut sind, ist etwas, das nur Ihre technischen Kollegen oder Vorgesetzten normalerweise beurteilen können.

Dementsprechend, wenn du das Hackerspiel spielst, lernst du, die Punktzahl in erster Linie dadurch zu halten, was andere Hacker über deine Fähigkeiten denken (deshalb bist du nicht wirklich ein Hacker, bis andere Hacker dich ständig einen nennen). Diese Tatsache wird durch das Bild des Hackens als Einzelarbeit verdeckt; ebenso durch ein Hacker-kulturelles Tabu (das seit Ende der 90er Jahre allmählich verfällt, aber immer noch stark ist), gegen das Eingeständnis, dass Ego oder externe Validierung überhaupt an der Motivation beteiligt sind.

Konkret ist Hackerdom das, was Anthropologen eine Geschenkkultur nennen. Du gewinnst Status und Ansehen darin, nicht indem du andere Menschen dominierst, oder indem du schön bist, oder indem du Dinge hast, die andere Menschen wollen, sondern indem du Dinge verschenkst. Insbesondere, indem du deine Zeit, deine Kreativität und die Ergebnisse deiner Fähigkeiten verschenkst.

Es gibt im Grunde fünf Arten von Dingen, die Sie tun können, um von Hackern respektiert zu werden:

1. Schreiben von Open-Source-Software

Die erste (die zentralste und traditionellste) ist es, Programme zu schreiben, die andere Hacker für lustig oder nützlich halten, und die Programmquellen an die gesamte Hackerkultur weiterzugeben.

(Früher nannten wir diese Werke "freie Software", aber das verwirrte zu viele Leute, die sich nicht sicher waren, was genau "frei" bedeuten sollte. Die meisten von uns bevorzugen heute den Begriff "Open-Source-Software").

Die am meisten verehrten Halbgötter von Hackerdom sind Menschen, die große, leistungsfähige Programme geschrieben haben, die einem weit verbreiteten Bedürfnis entsprechen und sie verschenkt haben, so dass jetzt jeder sie benutzt.

Aber es gibt hier einen schönen historischen Punkt. Während Hacker immer zu den Open-Source-Entwicklern unter ihnen als dem härtesten Kern unserer Community aufgeschaut haben, arbeiteten die meisten Hacker vor Mitte der 90er Jahre meist an Closed Source. Das war noch immer der Fall, als ich 1996 die erste Version dieses HOWTOs schrieb; es brauchte das Mainstreaming von Open-Source-Software nach 1997, um die Dinge zu ändern. Heute sind "die Hacker-Community" und "Open-Source-Entwickler" zwei Beschreibungen für die im Wesentlichen gleiche Kultur und Bevölkerung - aber es sei daran erinnert, dass dies nicht immer so war. (Mehr dazu im Abschnitt "Historische Hinweise: Hacking, Open Source und Freie Software".)

2. Hilfe beim Testen und Debuggen von Open-Source-Software

Sie dienen auch denjenigen, die Open-Source-Software entwickeln und debuggen. In dieser unvollkommenen Welt werden wir zwangsläufig den größten Teil unserer Softwareentwicklungszeit in der Debugging-Phase verbringen. Deshalb wird Ihnen jeder Open-Source-Autor, der nachdenkt, sagen, dass gute Beta-Tester (die wissen, wie man Symptome klar beschreibt, Probleme gut lokalisiert, Fehler in einem Quickie-Release toleriert und bereit sind, ein paar einfache Diagnose-Routinen anzuwenden) in Rubinen gewichtet sind. Schon eines davon kann den Unterschied zwischen einer Debugging-Phase, die ein langwieriger, anstrengender Albtraum ist, und einer Phase, die nur eine heilsame Belästigung ist, ausmachen.

Wenn du ein Neuling bist, versuche, ein Programm in der Entwicklung zu finden, das dich interessiert, und sei ein guter Beta-Tester. Es gibt einen natürlichen Fortschritt vom Helfen von Testprogrammen über das Helfen von Debugging bis hin zum Helfen von Modifikationen. Auf diese Weise wirst du viel lernen und gutes Karma mit Menschen erzeugen, die dir später helfen werden.

3. Nützliche Informationen veröffentlichen

Eine weitere gute Sache ist es, nützliche und interessante Informationen in Webseiten oder Dokumenten wie Listen mit häufig gestellten Fragen (FAQs) zu sammeln, zu filtern und diese allgemein zugänglich zu machen.

Maintainer von wichtigen technischen FAQs erhalten fast so viel Respekt wie Open-Source-Autoren.

4. Unterstützung bei der Aufrechterhaltung der Funktionsfähigkeit der Infrastruktur

Die Hackerkultur (und die technische Entwicklung des Internets, wenn wir schon dabei sind) wird von Freiwilligen betrieben. Es gibt eine Menge notwendiger, aber unglamouröser Arbeit, die erledigt werden muss, um es am Laufen zu halten - die Verwaltung von Mailinglisten, die Moderation von Newsgroups, die Pflege großer Software-Archivierungsseiten, die Entwicklung von RFCs und anderen technischen Standards.

Leute, die so etwas gut machen, bekommen viel Respekt, denn jeder weiß, dass diese Jobs riesige Zeitvertreib sind und nicht so viel Spaß machen wie das Spielen mit Code. Sie zu machen, zeigt Hingabe.

5. Dienen Sie der Hackerkultur selbst.

Schließlich können Sie der Kultur selbst dienen und sie propagieren (indem Sie z.B. eine genaue Anleitung schreiben, wie man ein Hacker wird :-))). Dieses ist nicht etwas, das Sie in Position gebracht werden, um zu tun, bis Sie herum für während während gewesen sind und für eines der ersten vier Sachen bekannt werden.

Die Hackerkultur hat keine Führer, genau, aber sie hat Kulturhelden und Stammesälteste und Historiker und Sprecher. Wenn du lange genug in den Gräben warst, kannst du in einen von diesen wachsen. Vorsicht: Hacker misstrauen ihrem eklatanten Ego in ihren Stammesältesten, so dass es gefährlich ist, sichtbar nach dieser Art von Ruhm zu greifen. Anstatt danach zu streben, musst du dich selbst so positionieren, dass es auf deinen Schoß fällt, und dann bescheiden und gnädig über deinen Status sein.

Die Hacker/Nerd-Verbindung

Im Gegensatz zum populären Mythos muss man kein Nerd sein, um ein Hacker zu sein. Es hilft jedoch, und viele Hacker sind in Wirklichkeit Nerds. Eine Art sozialer Außenseiter zu sein, hilft dir, dich auf die wirklich wichtigen Dinge zu konzentrieren, wie Denken und Hacken.

Aus diesem Grund haben viele Hacker das Label "geek" als Zeichen des Stolzes angenommen - es ist eine Möglichkeit, ihre Unabhängigkeit von normalen sozialen Erwartungen zu erklären (ebenso wie eine Vorliebe für andere Dinge wie Science-Fiction und Strategiespiele, die oft mit einem Hacker einhergehen). Der Begriff "Nerd" wurde schon in den 90er Jahren so verwendet, damals, als "Nerd" ein leicht abwertender und "Geek" ein eher härterer Begriff war; irgendwann nach 2000 wechselten sie die Plätze, zumindest in der US-amerikanischen Populärkultur, und es gibt jetzt sogar eine bedeutende Geek-Pride Kultur unter Menschen, die keine Techies sind.

Wenn du es schaffst, dich genug auf das Hacken zu konzentrieren, um gut darin zu sein und trotzdem ein Leben zu führen, ist das in Ordnung. Das ist heute viel einfacher als damals, als ich in den 1970er Jahren Neuling war; die Mainstream-Kultur ist heute viel freundlicher für Techno-Nerds. Es gibt sogar eine wachsende Anzahl von Menschen, die erkennen, dass Hacker oft hochwertige Liebhaber- und Ehepartner-Materialien sind.

Wenn du dich zum Hacken hingezogen fühlst, weil du kein Leben hast, ist das auch in Ordnung - zumindest wirst du keine Konzentrationsschwierigkeiten haben. Vielleicht bekommst du später ein Leben.

Punkte für den Stil

Auch hier gilt: Um ein Hacker zu sein, muss man in die Hacker-Mentalität eintreten. Es gibt einige Dinge, die du tun kannst, wenn du nicht an einem Computer bist, der zu helfen scheint. Sie sind kein Ersatz für Hacking (nichts ist es), aber viele Hacker tun es und fühlen, dass sie sich auf eine grundlegende Weise mit der Essenz des Hackens verbinden.

Lerne, deine Muttersprache gut zu schreiben. Obwohl es ein gängiges Stereotyp ist, das Programmierer nicht schreiben können, sind eine überraschende Anzahl von Hackern (einschließlich der besten, die ich kenne) sehr fähige Autoren.

Lies Science Fiction. Besuchen Sie die Science-Fiction-Konventionen (eine gute Möglichkeit, Hacker und Proto-Hacker zu treffen).

Treten Sie einem Hackerspace bei und machen Sie Dinge (eine weitere gute Möglichkeit, Hacker und Proto-Hacker zu treffen).

Trainiere in einer Kampfsportform. Die Art der mentalen Disziplin, die für Kampfkünste erforderlich ist, scheint in wichtiger Hinsicht ähnlich zu sein wie das, was Hacker tun. Die beliebtesten Formen unter Hackern sind definitiv asiatische Kunst mit leeren Händen wie Tae Kwon Do, verschiedene Formen von Karate, Kung Fu, Aikido oder Ju Jitsu. Westliches Fechten und asiatische Schwertkunst haben ebenfalls sichtbare Spuren. An Orten, an denen es legal ist, steigt die Popularität des Pistolenschießens seit Ende der 90er Jahre. Die hackigsten Kampfkünste sind diejenigen, die eher auf mentale Disziplin, entspanntes Bewusstsein und präzise Kontrolle als auf rohe Stärke, Athletik oder körperliche Belastbarkeit setzen.

Studiere eine aktuelle Meditationsdisziplin. Der ewige Favorit unter Hackern ist Zen (wichtig ist, dass man von Zen profitieren kann, ohne eine Religion zu erwerben oder eine bereits bestehende zu verwerfen). Andere Stile können auch funktionieren, aber achten Sie darauf, einen zu wählen, der nicht verlangt, dass Sie verrückte Dinge glauben.

Entwickeln Sie ein analytisches Ohr für Musik. Lerne, eigentümliche Musik zu schätzen. Lerne, ein Musikinstrument gut zu spielen oder zu singen.

Entwickeln Sie Ihre Wertschätzung für Wortspiele und Wortspiele.

Je mehr von diesen Dingen Sie bereits tun, desto wahrscheinlicher ist es, dass Sie natürliches Hackermaterial sind. Warum gerade diese Dinge nicht ganz klar sind, sondern mit einer Mischung aus Links- und Rechtshirn-Fähigkeiten verbunden sind, die wichtig zu sein scheint; Hacker müssen in der Lage sein, sowohl logisch zu denken als auch die scheinbare Logik eines Problems spontan zu verlassen.

Arbeite so intensiv wie du spielst und spiele so intensiv wie du arbeitest. Für echte Hacker verschwinden die Grenzen zwischen "Spiel", "Arbeit", "Wissenschaft" und "Kunst" oder verschmelzen zu einer kreativen Verspieltheit auf hohem Niveau. Begnüge dich auch nicht mit einem engen Spektrum an Fähigkeiten. Obwohl die meisten Hacker sich selbst als Programmierer bezeichnen, sind sie sehr wahrscheinlich mehr als kompetent in mehreren verwandten Bereichen - Systemadministration, Webdesign und PC-Hardware-Fehlerbehebung sind üblich. Ein Hacker, der ein Systemadministrator ist, hingegen, ist wahrscheinlich sehr erfahren in Skriptprogrammierung und Webdesign. Hacker machen keine halben Sachen; wenn sie überhaupt in eine Fertigkeit investieren, neigen sie dazu, sehr gut darin zu werden.

Schließlich noch ein paar Dinge, die man nicht tun sollte.

Verwenden Sie keine dumme, großzügige Benutzerkennung oder einen Benutzernamen.

Holen Sie sich nicht in Flammenkriege im Usenet (oder anderswo).

Nenn dich nicht Cyberpunk und verschwende deine Zeit nicht mit jemandem, der es tut.

Veröffentliche oder schreibe keine E-Mails, die voller Rechtschreibfehler und schlechter Grammatik sind.

Der einzige Ruf, den du dir bei all diesen Dingen einnimmst, ist der als Trottel. Hacker haben lange Erinnerungen - es könnte Jahre dauern, bis Sie Ihre frühen Fehler so weit herunterleben, dass sie akzeptiert werden.

Das Problem mit Screennamen oder Handles verdient eine gewisse Verstärkung. Ihre Identität hinter einem Griff zu verbergen, ist ein jugendliches und dummes Verhalten, das für Cracker, Warez d00dz und andere niedrigere Lebensformen typisch ist. Hacker tun das nicht; sie sind stolz auf das, was sie tun, und wollen, dass es mit ihren echten Namen verbunden ist. Wenn du also einen Griff hast, lass ihn fallen. In der Hackerkultur wird es dich nur als Verlierer markieren.

Historischer Hinweis: Hacking, Open Source und Freie Software

Als ich diese Anleitung Ende 1996 schrieb, waren einige der Bedingungen um sie herum sehr unterschiedlich zu dem, was sie heute aussehen. Ein paar Worte zu diesen Änderungen können helfen, die Dinge für Menschen zu klären, die über das Verhältnis von Open Source, Freier Software und Linux zur Hackergemeinde verwirrt sind. Wenn Sie nicht neugierig sind, können Sie von hier aus direkt zu den FAQ und der Bibliographie springen.

Das Hackerethos und die Community, wie ich es hier beschrieben habe, geht lange vor der Entstehung von Linux nach 1990; ich habe mich zum ersten Mal um 1976 damit beschäftigt, und seine Wurzeln sind bis in die frühen 1960er Jahre zurückverfolgbar. Aber vor Linux wurde das meiste Hacking entweder auf proprietären Betriebssystemen oder auf einer Handvoll quasi-experimenteller, selbst entwickelter Systeme wie MIT's ITS durchgeführt, die nie außerhalb ihrer ursprünglichen akademischen Nischen eingesetzt wurden. Obwohl es einige frühere (vor Linux) Versuche gegeben hatte, diese Situation zu ändern, waren ihre Auswirkungen bestenfalls sehr gering und auf Gemeinschaften von engagierten wahren Gläubigen beschränkt, die selbst innerhalb der Hackergemeinschaft winzige Minderheiten waren, geschweige denn in Bezug auf die größere Welt der Software im Allgemeinen.

Was heute als "Open Source" bezeichnet wird, geht so weit zurück wie die Hacker-Community, aber bis 1985 war es eher eine ungenannte Volkspraxis als eine bewusste Bewegung mit Theorien und Manifesten. Diese Vorgeschichte endete, als Erzhacker Richard Stallman ("RMS") 1985 versuchte, ihr einen Namen zu geben - "freie Software". Aber sein Akt der Benennung war auch ein Akt der Behauptung; er brachte ideologisches Gepäck an das Label "Freie Software" an, das ein Großteil der bestehenden Hacker-Community nie akzeptierte. Infolgedessen wurde das Label "Freie Software" von einer erheblichen Minderheit der Hackergemeinde (insbesondere bei denen, die mit BSD Unix in Verbindung gebracht werden) lautstark abgelehnt und von der Mehrheit der übrigen (einschließlich mir selbst) mit ernsthaften, aber stillen Vorbehalten verwendet.

Trotz dieser Vorbehalte hielt sich der Anspruch von RMS, die Hacker-Community unter dem Banner "Freie Software" zu definieren und zu führen, bis Mitte der 90er Jahre. Es wurde nur durch den Aufstieg von Linux ernsthaft in Frage gestellt. Linux gab der Open-Source-Entwicklung ein natürliches Zuhause. Viele Projekte, die unter Bedingungen durchgeführt wurden, die wir heute Open-Source nennen würden, sind von proprietären Unixen auf Linux migriert. Die Community rund um Linux wuchs explosionsartig und wurde viel größer und heterogener als die Hackerkultur vor Linux. RMS versuchte entschlossen, all diese Aktivitäten in seine "freie Software"-Bewegung aufzunehmen, wurde aber sowohl durch die explodierende Vielfalt der Linux-Community als auch durch die öffentliche Skepsis ihres Gründers Linus Torvalds behindert. Torvalds benutzte weiterhin den Begriff "freie Software" mangels Alternativen, lehnte aber öffentlich das ideologische Gepäck von RMS ab. Viele jüngere Hacker folgten diesem Beispiel.

Als ich 1996 dieses Hacker-HOWTO zum ersten Mal veröffentlichte, reorganisierte sich die Hacker-Community schnell um Linux und eine Handvoll anderer Open-Source-Betriebssysteme (insbesondere solche, die von BSD Unix stammen). Die Gemeinschaft erinnert sich an die Tatsache, dass die meisten von uns jahrzehntelang an der Entwicklung von Closed-Source-Software auf Closed-Source-Betriebssystemen gearbeitet hatten, die noch nicht verblasst war, aber diese Tatsache begann bereits wie ein Teil einer toten Vergangenheit zu erscheinen; Hacker definierten sich zunehmend als Hacker durch ihre Anhänge an Open-Source-Projekte wie Linux oder Apache.

Der Begriff "Open Source" war jedoch noch nicht entstanden; er würde dies erst Anfang 1998 tun. Die meisten Hacker haben es dann innerhalb der nächsten sechs Monate übernommen; die Ausnahmen waren eine Minderheit, die ideologisch an den Begriff "Freie Software" gebunden war. Seit 1998, und insbesondere nach etwa 2003, ist die Identifikation von "Hacking" mit "Open-Source (und freier Software) Entwicklung" extrem nahe gerückt. Heute ist es wenig sinnvoll, zwischen diesen Kategorien zu unterscheiden, und es scheint unwahrscheinlich, dass sich das in Zukunft ändern wird.

Es sei jedoch daran erinnert, dass dies nicht immer so war.

Quellen:

Im Original erschienen auf: http://www.catb.org/esr/faqs/hacker-howto.html 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.