schoschie's posterous

I like to see the wiring under the board™ 

Zum »Todescode« des SchülerVZ-»Hackers«, im Speziellen zum unsäglichen Artikel auf »eltern-im-netz.de.vu«

[Update: Die Website »eltern-im-netz.de.vu« ist offenbar eine Satire. Das ist einerseits erfreulich und andererseits bestürzend. Erfreulich, weil da jemand nur so tut, als sei er unfassbar dämlich. Bestürzend, weil ich es nicht gemerkt habe. Entweder ist die Satire also sehr gut (ist sie), oder ich habe ob der grassierenden Doofigkeit im Web meine Fähigkeit verloren, Satire als solche zu erkennen.]

 

Auf der Website eltern-im-netz.de.vu ist ein Artikel erschienen zum vor Kurzem veröffentlichten mutmaßlichen Abschiedsbrief des sogenannten SchülerVZ-»Hackers«, der sich tragischerweise am 31.10.2009, nur 2 Wochen nach seiner Inhaftierung, das Leben genommen hat (siehe Berichterstattung bei heise.de). In diesem Artikel wird derartig viel Unsinn in die Welt hinausposaunt, dass ich mich nicht zurückhalten konnte, zwei Stunden eines Sonntagabends mit einer Richtigstellung zu vergeuden. Hierzu fühle ich mich umso mehr veranlasst, da eine populäre Tageszeitung, die mit sehr großen Schlagzeilen arbeitet, ein Foto dieses Abschiedsbriefs (dort in üblicher Manier sensationslüstern »Todescode« genannt) zeigt und sich ebenfalls Mühe gibt, Unwissen, Halbwahrheiten und Panik zu verbreiten zu einem sensiblen Thema, das ohnehin medial durchsetzt ist von Irrtümern und Mißverständnissen.

Ich zitiere also:

 

Der Hacker (aus dem Englischen “to hack” = alles kurz und klein hacken) […]

Falsch. »to hack« bedeutet zwar im eigentlichen Wortsinn »hacken«, ist aber in der angelsächsischen Umgangssprache seit langer Zeit gängig als Ausdruck für eine grob ausgeführte Tätigkeit, um schnell zu einem Ergebnis zu gelangen (nicht nur bezogen auf die Computerei), vgl. das deutsche »zusammenschustern«. Siehe auch:

http://en.wikipedia.org/wiki/Hacker_(computing)#History

http://catb.org/jargon/html/H/hack.html

http://catb.org/jargon/html/H/hacker.html

 

[…] wurde sein Abschiedsbrief veröffentlicht – geschrieben in einer Programmiersprache, für den Laien unmöglich zu entschlüsseln.

Es gibt sehr wenig, was man an dem Brief entschlüsseln muss, wenn man nur ein wenig sein Gehirn anstrengt. Der Brief ist auch keineswegs »in einer Programmiersprache« geschrieben, sondern stellt lediglich seine Gedanken zu seiner Situation in einer mathematisch-abstrahierten Form dar, die sich eines gängigen Konstruktes aus Programmiersprachen bedient, nämlich einer Verzweigung (if… then… else…; zu deutsch: wenn… dann… sonst…). Der Code, den er schreibt, stammt aus keiner speziellen Sprache, sondern nutzt Elemente, die in dieser Form praktisch allen Programmiersprachen eigen sind.

Dies ist der Wortlaut des Briefes (von mir aus dem Foto übertragen):

 

Gedanken (logical thinking over php)  10110101

 

• 2–3 Jahre Knast > beschissen

• andere Welt wenn ich rauskomme > beschissen

• 2–3 Jahre Einsamkeit > beschissen

• [Chance, auf ein neues Leben > gut]

• Zeit > alt

 

if ($var1 || $var2 || $var3 >= $var 4 || $var5):

then echo "bye world";

else:

echo "hello world";

<-! ENDIF --!>

 

Compiler:

Q: $var4 wirklich > als $var1-3 ?

A: nein (0)

R: bye world [01011110]

 

Man könnte darauf schließen, dass es Code aus der Programmiersprache PHP sein soll, da er »php« in der Überschrift erwähnt, und da die »Variablen«-Bezeichner mit dem Zeichen $ beginnen (so aber z. B. auch in Perl), aber als PHP-Code wäre das Geschriebene fehlerhaft, da es in PHP das Schlüsselwort »then« nicht gibt. Diese Syntax entspricht stattdessen eher einer Sprache wie Python, Ruby, oder einer BASIC-ähnlichen Sprache. Auch in Python oder Ruby wäre dieser Code jedoch fehlerhaft, da Code-Zeilen dort nicht mit einem Semikolon enden. Die Schlusszeile <-! ENDIF --!> wiederum entstammt keiner dieser Sprachen, sondern soll offenbar einen HTML-Kommentar darstellen, der jedoch an dieser Stelle nichts zu suchen hat und ebenfalls falsch geschrieben ist (richtig wäre <!-- ENDIF -->). Man kann also nur schließen, dass er sich offenbar mit verschiedenen Programmiersprachen befasst hat, aber entweder noch nicht sehr sicher (d.h. Anfänger) war, oder dass er zu dem Zeitpunkt, als er dies schrieb, mehr oder weniger verwirrt und nicht in der Lage war, klar und strukturiert zu denken.

Die Behauptung, dass es sich bei der Sprache um C++ handele, fusst auf Oberflächlichkeit oder Unwissen. Der Code demonstriert typische Konstrukte aus verschiedenen gängigen Programmiersprachen, die so ähnlich auch in C und C++ zu finden sind, aber es spricht absolut nichts dafür, dass es unbedingt C++ sei (zumal es auch in C++ kein »then«, noch den Doppelpunkt als Block-Einleitung gibt). Wer eine solche Behauptung aufstellt, hat möglicherweise einmal in seinem Leben Kontakt mit einer Programmiersprache gehabt, die zufällig C++ war, und sich durch das if…then…else-Konstrukt dunkel an diese Programmiersprache erinnert gefühlt, da er keine andere je kennengelernt hat.

Um welche Sprache es sich genau handelt, spielt allerdings nicht die geringste Rolle. Es ging ihm offenbar lediglich darum, die sich ihm stellenden, nicht sonderlich aussichtsreichen Zukunftsperspektiven in einer möglichst emotionslosen, nüchternen, abstrahierten Form darzustellen, vielleicht, um besser in der Lage zu sein, eine Entscheidung zu treffen, und sicherlich nicht ohne eine gewisse Ironie bezüglich seiner Situation und der Umstände, durch die er in sie gelangt ist.

Wie ist der »Code« also zu »entschlüsseln«:

Er sieht 5 Varianten oder Variablen (abgekürzt »var«) für seine Zukunft, die er mitnichten in irgendeiner Programmiersprache, sondern in natürlicher Sprache und stichpunktartig notiert hat:

  1. Die Aussicht auf 2–3 Jahre im Gefängnis, nachvollziehbar als »beschissen« bewertet
  2. Die Aussicht, dass die Welt eine andere ist, wenn er aus dem Gefängnis freikommt (dito)
  3. Die Aussicht auf 2–3 Jahre Einsamkeit (dito)
  4. Die als »gut« eingeschätzte Chance auf ein neues Leben
  5. (vermutet) Der Umstand, dass er in der vergangenen Zeit gealtert sein wird.

Hier folgt dann ein fünf Zeilen langer Code-Block, der eine Verzweigung (Entscheidungsfrage) darstellt, geschrieben in einer (fehlerhaften) Mischung der Syntax von Python/Ruby und PHP/Perl. Die mit »if« (wenn) beginnende erste Zeile bedeutet übersetzt: Wenn die Variante 1 oder die Variante 2 oder die Variante 3 »größer« ist als die Variante 4 oder die Variante 5 -- mit anderen Worten, wenn die Aussicht auf 2-3 Jahre Gefängnis, Einsamkeit und eine andere Welt nach seiner Freilassung »schwerer wiegen« als die Chance auf ein neues Leben, dann (»then«) --: gefolgt von den beiden Handlungsmöglichkeiten, die er für sich sieht, symbolisiert durch jeweils eine Textausgabe (mit dem Schlüsselwort »echo« = ausgeben), nämlich »bye world« oder andernfalls (»else«) »hello world«. (Hier ist es sicher kein Zufall, dass »hello world« auf das klassische erste Programmierbeispiel beim Lernen einer neuen Programmiersprache anspielt, nämlich ein Miniprogramm, das nichts anderes tut, als den Text »hello world« auszugeben.)

Was meint dieser Code? Nichts anderes als dass es schlecht für ihn steht (»bye world«), wenn 2-3 Jahre im Knast »beschissener« sind als die Aussicht auf das neue Leben danach. Um dies zu erörtern, lässt er sein kleines Programm anschließend in Gedanken kompilieren (aus dem für Menschen lesbaren Programmcode in den vom Computer ausführbaren Maschinencode übersetzen), woraufhin der Compiler (jenes Stück Software, das die Kompilierung vornimmt), da er die Antwort auf eine solch existenzielle Frage natürlich selbst nicht kennt, bei ihm (dem Programmierer) nachfragt (Q = Question): Ist Variante 4 (Aussicht auf neues Leben) wirklich größer (mehr wert) als Varianten 1-3 (Die Zeit im Gefängnis)? Und er beantwortet (A = Answer) sein eigenes Zwiegespräch mit nein (0 = Null, der üblichen Computer-internen Darstellung des Wertes »nein« oder »falsch«). Somit ist das Ergebnis (R = Result) des Programms folglich »bye world«: Tschüss, Welt.

Der Text war offensichtlich ein Hilferuf, möglicherweise auch ein seelischer Abschluss. Vielleicht war es ihm zu »gefällig« oder zu schlicht, seine Verzweiflung im »Klartext«, in natürlicher, direkt verständlicher Sprache auszudrücken; vielleicht fand er eine Art letzten, ironischen Gefallen daran, seine vertrackte Situation in Code zu verklausulieren.

 

Matthias L. sehe für sich keine Perspektive mehr in seinem Leben, möchte raus aus dieser schrecklichen Computerwelt.

Wie kommt man zu dieser Unterstellung? Das einzige, was man mit Sicherheit aus dem Text entnehmen kann, ist, dass er raus möchte aus dem Gefängnis. Von einer schrecklichen Computerwelt steht da … nichts.

 

Bis hier könnte man dem Autoren des Artikels noch Naivität und Ignoranz vorhalten, jedoch mit Nachsicht. Was folgt, ist allerdings derart irreführend und mit Fehlinformationen und Missverständnissen durchsetzt, dass es nicht mehr entschuldbar ist:

 

Bei dem Code handelt es sich hierbei um die berüchtigte Programmiersprache C++

Der Code ist in keiner bestimmten Sprache geschrieben; C++ ist deutlich weniger wahrscheinlich als PHP, Perl, Python oder Ruby, aber der Code wäre in all diesen Sprachen eindeutig fehlerhaft. Siehe oben.

Vollkommen unverständlich ist die Bezeichnung »berüchtigt« für eine Programmiersprache, sei es C++ oder jede andere. Eine Programmiersprache »berüchtigt« zu nennen, ist ebenso sinnvoll wie einen Kugelschreiber oder einen Hammer berüchtigt zu nennen. Programmiersprachen sind lediglich Werkzeuge.

 

[…] Doom 4 geschrieben wurden

Das Spiel »Doom 4« ist erst angekündigt und noch nicht erschienen. Zehn Sekunden Recherche hätten diesen (kleinen) Irrtum beseitigt.

 

Dabei gilt C++ gerade unter Hackern und Gamern als der schwierigste Code

Wie schwierig eine Programmiersprache ist, ist sicherlich eine höchst subjektive Fragestellung. C++ ist mit wenig Zweifeln schwieriger zu beherrschen als zum Beispiel PHP oder Python, um nur einen Vergleich heranzuziehen. Man wird jedoch leicht Programmiersprachen finden, die deutlich höhere geistige Ansprüche stellen als C++. Dass C++ »unter Hackern und Gamern« als die schwierigste Sprache gelte, ist aus der Luft gegriffener Unsinn. Wo ist die Quelle für diese Behauptung?

 

An dieser Stelle wird der Artikel vollends absurd -- oder aber der zitierte Benedikt Mühlhausen ist alles andere als ein IT-Experte:

 

“In der IT-Szene wird C++ häufig für Websites und gewaltverherrlichende Computergames verwendet.

C++ ist in der Softwareindustrie die verbreitetste Programmiersprache für mittel- bis sehr große, überwiegend komplexere Anwendungen. Beispiele für Software, die in C++ geschrieben wurde, sind MS Office, Adobe Photoshop und die meisten Webbrowser. Dass C++ gerade für Websites häufig eingesetzt würde, ist fraglich -- es gibt durchaus komplexere Web-Anwendungen, deren auf dem Webserver laufender Code in C++ geschrieben wurden, aber C++ ist für die serverseitige Programmierung eine eher unübliche Wahl.

Im zweiten Teil des Satzes wird unterstellt, dass C++ eine Programmiersprache sei, die ausdrücklich für gewaltverherrlichende Spiele zum Einsatz kommt. Dies ist zwar nicht ganz falsch, denn sicherlich sind viele Computerspiele (natürlich unter anderem auch so genannte »Killerspiele«, die -- wie Spiele aus jedem anderen Genre! -- unter der Haube außerordentlich komplex und umfangreich strukturiert sein können) in C++ geschrieben. Die Implikation jedoch, C++ sei die Sprache der Wahl für Gemetzel auf dem Bildschirm, ist himmelschreiender Unfug. Der Inhalt bzw. das Genre eines Computerspiels steht in keinerlei Zusammenhang mit der verwendeten Programmiersprache! Um bei dem vorherigen Vergleich zu bleiben: diese Behauptung ist ebenso absurd wie die Aussage »Blaue Kugelschreiber werden häufig zum Schreiben von Horror-Romanen verwendet.«

 

Es bietet dem Coder sehr viele Möglichkeiten, ist dafür aber auch die schwierigste Programmiersprache der Welt! Ohne jahrelanges Studium und die richtigen Bücher ist da nichts zu machen.

Diese Aussage lässt eher Rückschlüsse auf die intellektuellen Fähigkeiten eines Benedikt Mühlhausen zu, als dass es eine zutreffende allgemeingültige Aussage zu C++ wäre. Jede Programmiersprache ist für Laien zunächst schwierig zu erlernen, und Lehrbücher sind beim Studium sicherlich hilfreich. Es gibt wenig bis nichts, wodurch C++ hier mehr als alle anderen Sprachen herausragen würde.

 

Er selbst […] staunt nicht schlecht über die Fähigkeiten des Hacker-Jungen.

Auch hier sollte man eher infrage stellen, inwiefern Benedikt Mühlhausen die Betitelung »IT-Experte« verdient. Es bedarf eher rudimentärer Kenntnisse von Programmiersprachen, jedoch eines funktionierenden Kopfes, um den Brief zu verstehen. Dort besondere Fähigkeiten zu erkennen, ist mehr als wohlwollend, oder spricht eben aus grober Ignoranz.

Diese Kritik trifft natürlich nur insofern zu, als Benedikt Mühlhausen all dies auch tatsächlich so gesagt hat, und nicht nur verzerrend und grob vereinfachend (oder schlicht falsch) zitiert wurde.

 

Fazit: selten war mehr Un- und Halbwissen in einem einzigen Artikel zu finden. Das ist tragisch, denn eine Website, die sich »ELTERN GEGEN DIE MEDIALE VERROHUNG DER JUGEND« auf die Fahne geschrieben hat, sollte den Anspruch haben, aufzuklären, statt Unwissen und Irrtümer zu verbreiten.

Ich vermute allerdings, dass der Artikel ohnehin darauf abzielt, einfach nur möglichst viel Besucherverkehr zu erzeugen von Leuten, die scharenweise ankommen, Gaffern ähnlich, um sich zu weiden an einem solchen Ausmass von Dummheit auf so engem Raum.

Comments [4]