Als Codingplattform ist der Anteil an Programmierenden im Team hoch. Film- und Serienliebhaber sind wir alle. Regelmäßig driften wir in Meetings ab und es geht um aktuelle Empfehlungen. Da drängt sich das Thema dieses Artikels ja geradezu auf. 

Die Figur des Hackers ist ein gern genutztes Klischee. Wasserfälle von grünem Code waschen über schwarze Bildschirme und mit dem Druck einer Taste hat man sich in geheime Netzwerke gehackt. Entwickler wissen, das stimmt nur bedingt. Guter Code braucht Zeit. Wir alle haben mit so manchem Bug schon so viel Zeit verbracht, dass dieser, bis er behoben wurde, schon selbst Kindergarten, Schule und ein Informatikstudium abgeschlossen hat.

Doch es gibt auch gute Beispiele an fiktiven Programmierern. Wir riskieren jetzt mal ganz viel Kritik an einzelnen Codezeilen in Staffel 3 Folge Drölfzig. So hundertprozentiger Realismus ist in Film und Serie praktisch unmöglich, denn in der Regel sind die Filmschaffenden selbst keine Entwickler. Aber Mühe geben lohnt sich. Darum folgen hier unsere Empfehlungen zu fiktionalen Entwicklern:

Eine kleine Warnung für alle die die genannten Serien nicht kennen. Es sind teilweise kleinere Spoiler im Text vorhanden. Aber keine Sorge, wir haben die Spoiler im Text markiert.

sgfg

Mr. Robot

Kurzfassung 

Die Serie handelt von einem jungen IT-Sicherheitsspezialisten mit einer dissoziativen Identitätsstörung. Er wird vom mysteriösen Mr. Robot für eine anarchistische Hackergruppe rekrutiert, um die Weltwirtschaft ins Schwanken zu bringen. Vorbild für die Serie war der Sony Hack. Unbekannte hatten sich dabei Zugriff zu den Servern von Sony Pictures Entertainment verschafft und von dort im großen Stil Daten abgefischt.

Rami Malek in „Mr. Robot“ I Bild: USA Network
Mit IT Experten zum realistischen Code

Dass, dieser Film ganz oben in der Liste auftaucht, überrascht niemanden. Mr. Robot wird als absolutes Paradebeispiel gehandelt, was fiktionale Hacker angeht. Im EntwicklerHeld Team ist sie der klare Favorit. 

Als Filmemacher ärgerte es Creator Sam Esmail, wie Entwickler oft dargestellt werden:

„Da fliegen keine Nullen und Einsen auf dich zu!“

Sam Esmail, Creator Mr Robot

sgsfhdfh

Mit „Mr Robot“ wollte er eine Serie schaffen, die Programmierer*innen wirklichkeitsgetreuer zeigt. Dafür hat sich Esmail IT-Experten und einen Ermittler der FBI Cyber Division ins Team geholt. So wurde sicher gestellt, dass auf den Bildschirmen die richtigen Befehle in die richtigen Fenster getippt werden. 

Die Serie zeigt sehr gut, dass echte Hacker mit Windows nicht viel am Hut haben. Stattdessen kommt deshalb auch bei Mr Robot Linux zum Einsatz und zwar vor allem die von Sicherheitsexperten geschätzte Distribution Kali Linux. Hacker brauchen mehr Kontrolle und nutzen darum bevorzugt die Kommandozeile, auch das wird in der Serie aufgegriffen. 

Genaue Analysen über den Code in Mr. Robot könnt ihr hier bei Ryan Kazanciyan, der auch als Berater für die Serie beteiligt war, nachlesen. 

sggssg

How to sell Drugs online (fast)

Kurzfassung 

Die deutsche Netflix-Serie dreht sich um Moritz, der seine Freundin an den Drogendealer der Schule verloren hat. Um sie zurückzugewinnen, fangen er und sein bester Freund Lenny an, selbst mit Drogen zu handeln, allerdings online und nach kurzer Zeit im ganz großen Stil. Mit einer unerwartet erfolgreichen Online-Plattform für Drogenhandel an der Hand, kommen typische Business-Probleme wie Qualitätskontrolle, steigende Nachfrage und die ständige Angst auf, erwischt zu werden. Das beste daran: Die Story basiert auf wahren Begebenheiten.

Moritz im Deep Work I Bild: Netflix
Einfluss der Nerd-Community

“Was uns (…) beeinflusst hat, war das große Feedback aus der Nerd-Community. Dass Leute auf Reddit Eastereggs enttarnt oder über die einzelnen Quellcodes diskutiert haben, hat uns gezeigt, dass sich die Liebe zum Detail lohnt.”

Philipp Käßbohrer

shfs

Das spiegelt sich auch in der Serie wieder. Die Darstellung der Charaktere ist gut gelungen. Die Serie zeichnet Figuren, die im Digitalen zu Hause sind und sich ihr Wissen selbst angeeignet haben, während Eltern und Lehrende wenig Durchblick haben, was “die jungen Leute” da an ihren Rechnern tun. Das kommt vielen von uns bekannt vor. Auch wenn die Schulzeit teilweise lange her ist, kennen wir das Phänomen, an Weihnachten die Computerprobleme unserer Eltern lösen zu dürfen. Vor allem gelingt es, dem Stereotyp vom im Keller sitzenden und Kapuze tragenden Hacker, der in Sekunden Welt verändernden Code schreibt, mit vielfältigen Figuren an den Leib zu rücken. Mit Kira gibt es ab Staffel 2 auch endlich eine Hackerin, ganz Netflix typisch, ein diverser Cast. Das finden wir toll.

Der Code hinter MyDrugs

Um den fiktiven Onlineshop MyDrugs zu erstellen, verwendeten die Macher übrigens VueJs, ein JavaScript-Framework. Tatsächlich gibt es sogar Fans, die dabei sind, die Seite nachzubauen. Dabei geht es aber um eine Fanseite, nicht um einen funktionierenden Onlineshop für Pillen. VueJs ist übrigens nicht irgendein Framework. Auch wir nutzen das für EntwicklerHeld.

dgadg

Westworld

Kurzfassung 

Die Serie handelt von einem futuristischen Vergnügungspark, in dem Gäste mithilfe von menschenähnlichen Robotern (Hosts) Geschichten des Wilden Westens spielen können. Red Dead Redemption als reales Rollenspiel sozusagen. Die Schusswaffen im Parkgelände sind so modifiziert, dass die Hosts beschädigt werden können, während die Gäste dadurch keine schweren Verletzungen davon tragen. Schadhafte Hosts werden in der Nacht von Ingenieuren repariert, und die Erinnerungsspeicher zurückgesetzt.

Was kann der Code bei Westworld?

Viel Code gibt es in Westworld zwar nicht zu sehen und wenn, auch nur sehr kurz. Aber die Codezeilen die wir erhaschen, füllen Reddit-Foren. Was ja meist schon ein gutes Zeichen ist.

Anscheinend laufen alle Westworld Hosts mit dem Framework Tensorflow. Ob in JavaScript mit Node oder in Python oder doch noch einer anderen Programmiersprache? So richtig einig ist sich die Reddit Community nicht. Auch was die Schnelligkeit angeht, gibt es Kritik. Code Review in einer Geschwindigkeit von etwa 30 Zeilen pro Sekunde? Wirklich? Aber es muss ja auch beim Zuschauen interessant bleiben. Und wer möchte schon 90 Minuten zuschauen, wie jemand versucht, einen Bug zu fixen? 

*Achtung Spoiler*

Außerdem ist Head of Programming Bernard Lowe, wie sich später herausstellt, selbst ein Host und somit vielleicht uns Menschen beim Programmieren überlegen?

Über wirklich realistischen Code lässt sich hier sehr gut streiten, aber wir lieben Westworld für die Komplexität und die mahnende Haltung im Umgang mit Daten und die damit verbundenen moralischen Fragen.

hshs

Silicon Valley

Kurzfassung 

Die HBO-Comedy-Serie erzählt die Geschichte von fünf Nerds (Richard, Erlich, Big Head, Gilfoyle und Dinesh), die im Herzen der US-amerikanischen Start-Up-Szene darauf warten, den großen Wurf zu landen. Nach mehreren erfolglosen Jahren gelingt es Richard endlich, einen cleveren Komprimierungs-Algorithmus zu entwickeln, wodurch gleich zwei Silicon Valley-Giganten auf den Programmierer aufmerksam werden. 

Hm, fünf Nerds aus Silicon Saxony, kommt uns in Teilen bekannt vor. Vielleicht gibt es da gewisse Parallelen mit unserer Gründungsgeschichte.

Jaimie Trueblood/HBO/“Silicon Valley“
Der Pied Pieper-Algorythmus

Auch hier gilt, wie bei allen Serien: Viel Code bekommen wir nicht zu sehen. Aber in Staffel 3 Folge 1 können wir den Pied Piper-Algorithmus aus der Serie erspähen. Es ist ein in C geschriebenes Programm zur Videokompression. Diese Art der Videokomprimierungstechnologie soll das Internet bei weitreichender Anwendung um bis zu 10 Prozent schrumpfen lassen können. So der Plan des StartUps. 

So sieht der Code aus:

#include 

#include 

typedef unsigned long u64;

/* Start here */

typedef void enc_cfg_t;

typedef int enc_cfg2_t;

typedef __int128_t dcf_t;

enc_cfg_t _ctx_iface(dcf_t s, enc_cfg2_t i){

int c = (((s & ((dcf_t)0x1FULL > i * 5) + 65);

printf(„%c“, c); }

enc_cfg2_t main() {

for (int i=0; i0; c >>= 1)

{

d += c & 1;

}*/

// O(m) lol no thanks

//1000 wrap into loop

c = c – ((c >> 1) & ~0UL/3);

c = (c & ~0UL/5) + ((c >> 2) & ~0UL/5);

c = (c & 0UL/0x21) + ((c >> 4) & 0UL/0x11);

c = (c & ~0UL/0x101) + ((c >> 8) & ~0UL/0x101);

c = (c & ~0UL/0x10001)+((c>>16)&~0UL/0x10001);

c = (c & ~0UL/0x100000001)+((c>>32)&~0UL/0x100000001);

//TODO throw away intermediates… but could be useful later (see seander)

return c;

}

//TODO transform + multiply spectra + transform back. faster? lossy?

u64 * ConvolutedMagic(u64 *x, u64 y, u64 *z, u64 n, u64 n_y) {

//z is array of offsets in BITS

//y is left-aligned of length n_y

//TODO function is ridic fragile. e.g. if len z > len x/y…

u64 * a = malloc(sizeof(u64)*n);

u64 b,o_64,o_bit;

for (int i=0; i> 6;

o_bit= z[i] – ((z[i]>>6)  0) {

b += x[o_64+1] >> (64-o_bit);

} b = (b >> (64-n_y))> (64-n_y))

Silicon Valley Staffel 3 Folge 1

Jagt man den Code einmal durch den Compiler, ergibt das folgendes:

DREAM_ON_ASSHOLES

Wir haben ein Herz für Tech StartUps und sind damit schon etwas voreingenommen. Aber wenn dann auch noch Eastereggs im Code versteckt sind, ist bei uns kein Halten mehr. Da fühlen wir uns bei Silicon Valley ganz zu Hause. 

fhahsfh

Die Moral von der Geschicht 

Auch wenn der Code nicht ganz korrekt ist, Mühe geben lohnt sich. Jede Serie gewinnt, wenn Produzent*innen versuchen, IT zu verstehen und nicht die Klischeeschublade bedienen. Darum gilt es auf die Perspektive zu achten. Gerade bei Comedy. Lieber mit den Charakteren lachen, als über sie. Und wo wir gerade bei den Figuren sind, vor allem gut durchdachte, vieldimensionale Charaktere sind wichtig, dann ist es auch nicht so schlimm, wenn der gezeigte Code nicht ganz perfekt ist. Programmierer*innen brüten mit absoluter Hingabe über einzelnen Code Schnipseln, das sollte belohnt werden. Umso besser wenn sich dann im Code auch noch Easter Eggs verstecken.

Und Apropos Easter Egg: Es lohnt sich in einigen unserer Coding Challenges nochmal ganz genau in den Code zu schauen. Vielleicht versteckt sich in der ein oder anderen Challenge auch noch eine Überraschung!

Categories: