 Hallo, ich wollte hier kurz vorab was über Borg-Backup erzählen. Das ist nur mal so ein ganz kleiner Point, das soll ja auch nicht so lange dauern, das ist ja nur ein Lightning Talk. Direkt danach gibt es aber auch noch eine andere Veranstaltung, wo es um ein Code geht und etwas später heute Abend gibt es noch eine Veranstaltung, wo es mehr so etwas ausführlicher allgemein drum geht. Dieses Zitat, The Holy Grail of Backup Software, das ist nicht von mir, das hat irgendein anderer begeisterter Attic-User mal im Twitter gepostet. Der hat also diese Attic-Backup Software entdeckt und war ganz begeistert davon und wir sind im Prinzip genauso gegangen. Und was es mit Borg-Backup zu tun hat, werde ich dann gleichsehen. Borg ist nämlich ein Forg von Attic. Generell Attic-Backup ist leider auch nicht so sehr bekannt, es ist zwar in Debian und Ubuntu und so weiter drin, aber irgendwie hat es sich nicht so ganz rumgesprochen. Das gibt es also schon seit fünf Jahren diese Backup Software, also seit der ersten Commit stattgefunden hat. Und ich habe mir das damals auf der Suche nach einer Backup Software halt angeguckt und das hat mir also spontan begeistert diese Software, weil sie doch einige Sachen gelöst hat, die also andere Backup-Ansätze nicht gelöst haben. Außerdem war es in Pfeifen, das ist mir natürlich auch sehr entgegengekommen, weil ich Code halt gerne in Pfeifen. Und ich habe mir den ganzen Code mal kurzfristig durchgeschaut, also das hat alles eigentlich einen sehr guten Eindruck gemacht. Und wie gesagt war halt auch jetzt nicht brandneu, so dass man mit allen möglichen Katastrophen rechnen musste. Das war durchaus schon eine irgendwo eingefahrene Sache. Es gab aber ein bisschen Probleme. Das seht ihr, wenn ihr auf GitHub in den Ethic-Easy-Tracker mal oder in den Ethic-Projekt mal reinschaut. Es geht ja nur relativ langsam voran, das liegt daran, dass der Hauptautor halt relativ wenig Zeit hat. Er möchte aber halt gerne alle selber machen. Also Contributions und so, naja vielleicht und so, aber wenn man Pull Request macht, das kann halt wochen und Monate dauern oder wird halt gar nicht akzeptiert. Von daher war das ein bisschen Problem. Das ging alles nur sehr langsam voran. Gleichzeitig waren halt doch so ein paar kleinere Bugs und ein paar ja, war nicht Bugs, aber so kleine Ärgernisse waren halt auf dem Issue-Tracker. Und ja, mit neuen Developern war es halt nicht so besonders offen. Und von daher war das ein bisschen problematisch. Ich habe da also eine Zeit lang vielleicht sich Pull Requests gemacht. Also da waren manchmal so 20, 30 Pull Requests von mir offen. Aber ich habe jetzt vor ein, zwei Monaten habe ich sie alle gelöscht, weil sie sind ähnlich akzeptiert worden. Das hat dann dazu geführt nach einer gewissen Diskussion auch mit dem Originalautor und mit ein paar anderen Leuten, dass wir das Projekt gefolgt haben. Weil es hat sich irgendwie ein bisschen abgezeichnet, dass so die Ansichten wie so ein Projekt voranschreiten sollte etwas unterschiedlich waren. Also ich wollte das relativ schnell vorantreiben. Und der Originalautor wollte es halt lieber so als Spielprojekt und nichts Großes draus machen und alles selber machen und so. Also das war nicht so recht vereinbar. Deshalb vor ungefähr einem Jahr habe ich das gefolgt. Und ja, das hat sich eigentlich ganz gut entwickelt. Da ist so ein bisschen eine Community entstanden. Also ist jetzt auch nicht mehr nur ein Mannprojekt, sondern jetzt mehrere Entwickler, wo also da heftig dran arbeiten. Also dieser sogenannte Bus Factor, wo man immer sagt, quasi wenn ein Entwickler vom Bus überfahren wird, was passiert denn mit dem Projekt? Das Problem haben wir nicht mehr so extrem. Es ist halt blöd, wenn es nur einer ist, dann ist halt das Projekt mehr oder weniger mit tot. Muss nicht unbedingt vom Bus überfahren werden, kann natürlich genauso sein. Er hat einfach keine Lust oder keine Zeit. Im Baldback-Up sieht es so aus, wir haben praktisch auf der Basis von Ethic angefangen und haben da ziemlich viele Backfixes und auch bestehende Pull Requests gemörzt, die also im Hauptprojekt halt nicht angenommen worden sind. Aber ich habe es mir natürlich vorher durchgeschaut, also die sind nicht deshalb nicht angenommen worden, weil sie irgendwie schlecht waren oder so. Die sind einfach deshalb angenommen, weil keiner Zeit hat, das anzugucken und auf Merch zu klicken. Wir suchen auch immer neue Entwickler. Also wenn ihr da Lust und Spaß dran habt, könnt ihr gerne mitmachen. Und das Ganze geht ein bisschen schneller voran. Also wir haben jetzt schon einige neue Releases gemacht, wo also schon deutlich besser wie Ethic sind. Zum Featureset kurz. Die Back-Up Software ist, wie man sich es vorstellt, sie soll relativ einfach und schnell sein. Wenn das Ganze zu kompliziert ist oder zu langsam ist, dann macht halt keinen Back-Up. Wir benutzen Content-Define-Junking. Da kommt nachher noch ein bisschen mehr dazu. Das Back-Up-Programm dedupliziert. Also ihr braucht weniger Platz auf dem Storage wie normalerweise. Wir können auch komprimieren. Da ist vor allem diese LZ4-Kompression hervorzuheben. Die komprimiert zwar nicht wahnsinnig gut, aber sie ist dafür super schnell. Also es ist keine Bremse in dem ganzen Prozess. Wenn man mehr Zeit hat, kann man auch sowas nehmen, aber das ist dann halt eher langsam, komprimiert dafür aber besser. Wir verschlüsseln mit AES256 im Counter-Mode und das Ganze wird danach authentifiziert mit HMAC. Das heißt, es ist das übliche AE-AD-Verfahren. Also dass man halt erst verschlüsselt, dann authentifiziert. Das verhindert, dass irgendeiner am Cypher-Text rumspielt und da irgendwelche Angriffe probiert. Das Backend ist relativ simpel. Wir können einfach ins File-System reinspeichern oder was auch unterstützt wird, ist über SSH. Dass man also auf dem Client Borek laufen hat, um die Backup-Daten einzusammeln und der schiebt es dann über SSH auf dem Server drauf, wo auch Borek laufen muss. Zur Not geht es aber über SSHFS auch. Also wenn man auf dem Server kein Borek installieren kann, kann man auch über File-System das drauf schieben. Free and Open Software, BSD-License, die Dokus sind ganz gut, ist ja Free-to-Docs drauf. Wir unterstützen alle möglichen BSDs, Linux, Mac OS X. Unter Windows könnt ihr es mit Sidewind probieren. Tut auch so mehr oder weniger, aber ein bisschen vorsichtig sein, vielleicht. Und wir tun sogar BigAndy in Architekturen auch unterstützen, die also heutzutage eher etwas exotisch sind. Also wenn ihr einen alten Power Mac G5 oder sowas habt, da läuft es auch drauf. Extended Attributes, ACLs, so die ganzen üblichen Sachen werden unterstützt. Und was auch recht nett ist, ihr könnt ein Backup über Fuse mounten. Also wenn ihr zwei, drei Dateien aus dem Backup zurückhaben wollt, müsst ihr nicht das Backup irgendwie restoren oder die Kommando-Zeile ausfeilen. Ihr könnt es einfach über Fuse mounten und mit dem Dateimanager drin rummachen und einfach die Dateien rauskopieren, die ihr haben wollt. Ist mit Python 3.4 gemacht. 3.5 geht auch. Die geschwindigkeitskritischen Sachen sind in C und in Seifen gemacht, weil gerade wenn es halt auf maximale Performance ankommt, ist natürlich Python nicht so die erste Wahl. Aber wie gesagt, der Code ist dann in C. Und wir haben ein recht gute Testcoverage, also irgendwo 84 Prozent oder so. Und wir benutzen ein CI-System. Wie viel Zeit habe ich noch? Mal zu den Besonderheiten. Wenn ihr zum Beispiel diese Ersync-Methode benutzt, die ist ja recht populär. Ich mache ein Backup mit Ersync und mache dann so mit Hardlings und so. Das benutzen ja recht viele. Da merkt man aber relativ schnell, mit virtuellen Maschinen-Images hat man da so ein bisschen Problem. Also bald man die virtuelle Maschine halt einmal gestartet hat, und das Ersync überträgt halt die komplette Datei wieder auf den Storage. Und man hat dann halt nicht nur einmal 50 Gigabyte draufliegen, sondern nochmal 50 Gigabyte. Und wenn man dann täglich ein Backup macht, dann wird das halt doch ziemlich viel. Speziell für VMs haben wir Sparse-Files Support. Dieses Sparse-Files haben wir praktisch Lücken. Also wenn quasi in so einer VM-Datei in Haufen Nullen drin sind, würden die nicht wirklich abgespeichert, sondern da macht es quasi einfach ein Loch in die Datei. Und das führt halt auch dazu, dass die Datei dann halt nicht so viel Platz auf dem Storage belegt. So was muss man supporten, sonst tut spätestens beim Extract, also beim Restore vom Backup explodiert euch das Speicherplatz. Also den Support haben wir drin, von daher gibt es da kein Problem. Wir können auch von physikalischen Disks oder irgendwelchen Logical Volumes oder so Backups machen, geht auch. Also man kann quasi Raw Devices aufmachen, wenn ihr jetzt irgendwo eine große Fotosammlung habt und ihr tut den Ordner umbenennen, gibt es auch keine Probleme bei der Deduplikation. Wenn ihr Ersynch nehmen würdet, hättet ihr halt den kompletten Kram nochmal auf dem Storage, weil ihr halt nicht mehr merken würdet, dass das das Gleiche ist. Deduplizieren gibt es mehrere Fälle. Ihr könnt also innerhalb von eurem Backupset deduplizieren. Also wenn ihr einfach auf eurem Fallsystem eine Datei irgendwie doppelt rumliegen habt oder einfach irgendwo ein viele, viele Nullbytes, irgendwo doppelt habt. Also innerhalb des Backupsets wird dedupliziert in einem Backup-Lauf. Das ist aber oft nicht so wahnsinnig viel, weil man versucht hier von sich aus, dass man Kram nicht unnötig doppelt rumliegen hat. Was stärker auftritt, ist natürlich die historische Deduplizierung. Weil wenn ihr jetzt heute ein Backup macht und morgen nochmal ein Backup macht, sind natürlich die meisten Dateien immer noch die gleichen. Da ändert sich ja nicht so wahnsinnig viel. Und da kriegt ihr dann unheimlich viele Platzgewinne raus, wenn ihr halt den ganzen Kram nicht nochmal speichert, sondern wenn die Duplikate halt erkannt werden. Und was noch toller ist, wir können sogar Deduplizierung zwischen verschiedenen Maschinen machen. Wenn ihr also mehrere Maschinen in ein Backup-Repository reinpumpt und ihr verschiebt den Datenbestand von Maschine A nach Maschine B, dann tut es trotzdem noch deduplizieren, weil der das an den Daten an sich erkennt. Wie das Ganze gemacht wird, ist folgendermaßen. Also er nimmt einfach eine Datei, schiebt da so einen sogenannten Rolling-Hash drüber. Also das ist so ein 4 Kilobyte großes Window und das wird auch einfach drübergeschoben. Und immer wenn der Hash praktisch auf den letzten paar Bits sagt, okay, ich bin jetzt gerade null, dann wird praktisch geschnitten. Und dadurch entstehen praktisch Stückchen von euren Dateien und der Schnittpunkt richtet sich halt am Inhalt der Datei. Und dadurch kann also selbst wenn sich so eine Datei ein bisschen ändert, können halt immer noch ähnliche Stücke entstehen. Also die meisten Stückchen sind immer noch gleich, nur halt da, was sich geändert hat, das passt dann halt nicht mehr. Diese Junkerparameter, also wie das zu hackt wird, die sind konfigurierbar, also kann man auch so ein bisschen an die Daten anpassen. Und für die Paranoidenleute, also der Junker wird gesiedet. Also man kann nicht an der Größe ein Anzahl der Stückchen erkennen, was ihr für Daten habt. Also jeder Junker praktisch, wenn ihr Krypto anmacht, würde praktisch etwas anders zu hacken. Der Storage funktioniert über ein Key Value Store. Also es wird einfach vom Content her, also von dem Junk Inhalt, wird ein Hash berechnet. Und das ist dann im einfachsten Fall die Adresse in den Key Value Store rein. Macht ja relativ viele Software inzwischen so. Sobald ihr die Krypto anmacht, ist es kein normaler Hash mehr. Also das Oberisch einfach Schad 256. Wenn ihr die Krypto anmacht, wird ein HMAC benutzt. Das ist dann HMAC Schad 256 momentan. Besonderheit beim HMAC ist, dass da ein Secret Key mit eingeht. Also man kann nicht an den Hashes oder an den HMACs nachher sehen, was ihr für Daten habt. Im ersten Fall kann man das noch nicht sehen. Wobei im ersten Fall ist eh nichts verschlüsselt, da würde man es auch anders sehen. Hier noch kurz, der Link ist also so wie üblich inzwischen einig auf GitHub. Da gibt es eine Organisation, die heißt Borgbackup. Und da drunter gibt es noch mal ein Repo, das heißt Borg und noch so ein paar andere Repos mit anderer Software, die damit zu tun hat. Auf dem Erich kam man auch ein Channel, auf Renote heißt dementsprechend auch Borgbackup. Und ab 14 Uhr 30 ist im kleinen Workshop-Raum dann eine kleine Projektrundgang. Also ich werde mal durch den Code durchgehen. Also wer Pfeifen oder C oder Seifen programmiert, kann da gerne vorbeikommen. Und ich werde auch generell so ein bisschen einmal quer durchs Projekt durchgehen. Also wie wir so Tests machen und so weiter. Also einfach mal so ein kleiner Projektrumgang richtet sich halt so ein bisschen mehr an Entwickler. Um 20 Uhr ist im ZKM-Vortragssaal dann noch ein längerer Talk. Es ist weniger für Entwickler, geht aber dann mehr so ein bisschen auf die Interna vielleicht auch ein und auf die Benutzung. Okay, jetzt noch eine Frage kurz. Wer macht die Olga hier? Haben wir ausreichend Lightning Talks heute oder haben wir zeitfrei? Soll ich gleich noch einen ranhängen? Ich habe noch ein anderes Thema. Ja, okay. Ist auch nicht so lang, das sind wahrscheinlich eher 5 Minuten, keine 15. Aber ich habe gedacht, bevor wir hier alle gelangweilt dann rausgehen nach einer Stunde, mache ich noch einen. Das ist der Gag dran. Weil sonst könnte man einfach sagen, ich chank nach Offset. Ich hack alle ein Megabyte oder so. Aber dann hast du halt das Problem, wenn sich alles verschiebt, dann hast du verloren. Und dadurch, dass er sich am Content orientiert, wenn sich der Content verschiebt, verschiebt sich halt auch die Hacksstelle. Und dadurch passt es eigentlich wunderbar. Es ist nicht immer perfekt natürlich, wie der hackt. Also er sucht nicht nach der perfekten Stückelung, aber das passt praktisch dann so durch den Algorithmus halt. Okay, ich habe noch ein anderes Projekt, das hier auch Freifunker und Freifunkinteressierte und so da sind. Und Leute, die Wireless Lans und so installieren, dachte ich, das könnte ich vielleicht auch noch kurz vorstellen. Und zwar, das ist so entstanden. Ich habe einen Anruf gekriegt von einer Frau, die betreibt so, ja, ist jetzt keine Mietwohnung, ist auch kein Hotelisch, sondern Zwischending. Also sind quasi Zimmer für Leute, die nur einen Monat oder so einen Zimmer brauchen. Also so kurz Zeit Miet, den nennt man es glaub. Und die haben dann das Problem, die können sich nur durch keinen eigenen DSL-Anschluss beauftragen, weil das klappt einfach vom Timing her nicht, in den Mindestvertragslaufzeit. Also die Vermieterin muss praktisch dann die Leute ein WLAN zur Verfügung stellen. Und da könnt ihr euch ja schon vorstellen, was das nächste Problem dann ist, ja, Störerhaftung. Wenn die Mieter dann halt irgendeinen Mist machen im Internet oder irgendwas, was vielleicht nicht so ganz legal ist oder zumindest umstritten ist, dann kriegt halt die Vermieterin irgendwelche böse Briefe von irgendwelchen Rechtsanwälten und kann überhaupt nicht beurteilen, ob das überhaupt stimmt. Manche haben ja auch schon so Briefe verschickt, ohne da überhaupt einen Anlass zu haben. Und selbst wenn man annehmen würde, dass es stimmt, wüsste sie nicht, welcher Mieter war das jetzt. Und dann bleibt da eigentlich fast nur übrig, okay, entweder machst du jetzt ein Gerichtsprozess oder zahlst halt einfach. Und das will man also nicht haben, weil da entsteht halt immer ein Haufen Ergern, Haufen Arbeitsaufwand und Haufen Kosten. Und man will natürlich auch die Leute nicht vom Internet abschneiden, weil wenn die da in der Wohnung kein Internet haben, sind die halt unglücklich. Die hat es am Anfang so gemacht, die hat einfach ihr normales eigenes WLAN offen gelassen, aber das ist nicht lange gut gegangen und die hat dann durchaus kurz danach schon irgendwie 1.000, 2.000 Euro Kosten irgendwo gehabt, durch irgendeinen Mist halt. Übergangsweise hatte mir dann ein Freifunkruder installiert, also nur so als Minimal-Lösung, die man halt schnell machen kann. Das Problem war dann aber, wenn ihr 10 Mieter habt und einen TP-Link billig Freifunkruder, das sind halt 10 Megabit durch 10, also das macht die Leute dann auch nicht wirklich glücklich. Und von daher war da also eine viel schnellere Lösung gefragt. Und ich habe mir am Anfang überlegt, es mit Freifunk zu machen, aber da gab es dann im Prinzip zu viele Fragezeichen. Ihr wisst ja, da kann man natürlich so ein Offloader oder sowas installieren. Aber es war dann ein bisschen unklar, ob es überhaupt gewollt ist vom Freifunkprojekt, dass da also quasi jemand, der sowas kommerziell betreibt, der sich irgendwie reinhängt und der 100 Megabit reinpumpt oder so, die Performance, die man noch kriegen würde, war auch nicht so ganz klar, wenn man da jetzt also so ein Kabel-BW-Enschluss mit 150 Megabit macht, ob man den überhaupt auslasten kann oder ob man dann immer nur noch 10 Megabit oder so hat. Also das war alles ein bisschen unklar und deshalb habe ich da praktisch eine andere Lösung entwickelt, die ein bisschen flexibler ist. Und ich tue das jetzt so von außen nach innen mal kurz erzählen. Also ich habe praktisch Freifunk ohne Mashing im Prinzip so ein bisschen nachgebaut. Die äußere Komponente ist ein VPN. Und im Prinzip kann man sich ja dann ein VPN-Provider raussuchen. Es gibt sehr viele im Internet, so ab ein paar Euro, bis ein paar mehr Euro halt. Viele benutzen OpenVPN. Und wenn man im Prinzip mit einem Provider nicht glücklich wäre, ja, könnte man dort auch wieder kündigen und sich einen anderen Provider nehmen, der dann vielleicht irgendwie schneller oder besser ist oder so. Das ist ja ein bisschen das Problem bei Freifunk. Wenn man Freifunk halt installiert, Infrastruktur, dann ist man halt irgendwo auch auf Freifunk festgelegt. Da kann ich nicht einfach sagen, ich will jetzt gerne kurz mal ein anderes VPN haben oder sowas. Was man auch machen kann, ist, dass man halt ein mehrere VPN-Tunnel aufbaut. Wenn man zum Beispiel so ein Dualcore-Prozessor hat mit Hyper-Fredding und so, kann man da auch so ein ganz primitives Loadbalancing machen, weil ein paar Leute tun dann den einen Tunnel benutzen, ein paar andere Leute benutzen den anderen Tunnel. Und das OpenVPN ist ja jeweils ein Prozess, also das verteilt sich dann so ein bisschen. Was man auch machen kann, sind VPN-Tunnel in verschiedene Länder. Weil wenn ihr jetzt zum Beispiel einen Flugbuchen wollt oder Home-Banking machen wollt oder bei Amazon was kaufen wollt, irgendwie sowas, ja. Dann wollt ihr vielleicht nicht über den rumänischen Tunnel kommen, weil sonst meinen die ihr seid böse und so und ihr gehört hier nicht rein und so. Deshalb kann man dann halt einen VPN mit dem deutschen Endpunkt machen, dass das alles irgendwo so halbwegs normal aussieht. Und man kann dann noch ein zweites VPN machen, wo zum Beispiel den USA rauskommt. Das stand bei YouTube vielleicht ganz praktisch, dass man nicht immer dieses Video in ihrem Land nicht verfügbar Meldung kriegt. Und ich habe dann noch einen nach Rumänien gemacht, weil der VPN-Provider, den ich rausgesucht habe, halt seinen Hauptsitz in Rumänien hat. Und dadurch hat dann praktisch der Anwender die Wahl, welchen Tunnel er sich raus sucht. Man könnte sogar natürlich verschiedene Providern nehmen, wenn man irgendwie jetzt der Stabilität von einem Provider nicht so ganz traut, könnte man also quasi Kunden-Debates weinwerden und da halt mehrere Tunnel dann machen. Also das ist so die externe Komponente. Man muss dann natürlich auch gucken, dass das Ding schnell genug ist. Also wenn ich jetzt einen super schnellen Internetanschluss habe, bringt man das Ganze nix, wenn ich dann nachher ein lahmes VPN drauf habe. Dann der nächste Schritt, weil dann nach innen ist natürlich euer Gateway. Und gerade bei diesen typischen TP-Link 20 Euro-Routern, da sieht man ja, da ist halt bei 10 Megabit Ende, weil halt diese MIPS-CPU einfach nicht mehr VPN-Durchsatz schafft. Und deshalb habe ich einfach da mal ein gebrauchtes Fingpad genommen und das auch so rausgesucht, dass es ein Prozessor hat, wo AIS-Beschleunigung hat. Weil dann kann man bei OpenVPN, das benutzt ja im Endeffekt OpenSSL, und also diese CPU-Hardware-Beschleunigung, die wird dann auch benutzt und schafft halt deutlich mehr Durchsatz, wie wenn man alles auf ein Prozessor rechnet. Was auch praktisch ist, wenn man so ein Notebook nimmt, man hat halt Tastatur, Bildschirm und Touchpoint, hat man alles dabei. Also man muss jetzt nicht irgendwo Platz verort haben, um jetzt ein Tower hinzustellen und einen TFT hinzustellen und eine Tastatur und Maus und Tra-la-la. Weil es kann ja mal sein, dass irgendwie mit dem Internet ein Problem gibt oder der SSH nicht mehr tut und dass man wirklich verortwas machen muss. Also da ist natürlich so ein kleines 12-Zoll Laptop, ganz praktisch, das kann man irgendwo kurz verstauen und hat dann alles zur Hand, was man im Zweifelsfall braucht. Ein Ziel war auch, über 100 Megabit VPN-Durchsatz zu kriegen. Weil wir haben halt ein Internetanschluss bestellt, wo 150 Mbit hat und man will den natürlich halbwegs ausnutzen, so ein schweres irgendwie vergebene Liebesmüh. Wenn ihr so ein gebrauchtes Notebook kauft, was auch ganz praktisch ist, ihr habt da eigentlich RAM drin, also selbst schönes Ding, fünf Jahre alt ist, habt da mindestens zwei Gigabyte RAM drin, also da kann man so ein bisschen was machen. Die alte gebrauchte Platte, das man einfach raus macht, eine kleine SSD rein. Gigabit LAN ist vor fünf Jahren auch schon üblich gewesen, das normale interne LAN vom Notebook. Und was man dann einfach macht, wenn man so ein Ruder macht, will man auch ein zweites Interface haben, so Einfachheit, man macht dann einfach das externe Interface als USB. Und an dem Notebook war es ein bisschen haken, der hat natürlich nur USB 2, der ist zu alt für USB 3. Aber das macht in dem Fall nichts aus, weil das ist ja das externe Interface. Und da müsste also nicht jetzt ein Gigabit erreichen, sondern 300 Megabit oder sowas reichen da auch, üblicherweise. Was auch nett ist, so ein Notebook hat ein Akku, das heißt, wenn man irgendwo kurz der Strom runter bricht, habt ihr praktisch automatisch eine USB drin und man kann das auch dann im Prinzip wie eine USB programmieren, dass der halt noch drei Minuten weiterläuft und dann einfach an Shutdown einleitet, automatisch. Dann formatet man also das, wenn der irgendeiner einen Stecker zieht und Stromausfall ist oder so, dass es halt blöd runter bricht. Noch ein Vorteil, wenn man so ein kleines Notebook hat und jetzt nicht nur so ein Raspberry Pi oder MIPS-CPU mit wenig RAM, ihr könnt auch durchaus was Größeres installieren. Also, wenn ihr z.B. so Ubiquiti Access Points verwendet, die brauchen ja einen Rechner, wo man die Kontrollersoftware drauf macht und die Kontrollersoftware ist halt in Java und das will halt so ein bisschen Ressourcen haben, also so ein Gigabyte oder so, ist da, glaube ich, das Minimum. Also, dadurch kann man praktisch das auch mehrfach verwenden, dann diese Hardware. Zur Software, das ist relativ simpel, wenn man sich es genau überlegt, halt irgendein brauchbares Linux, dann braucht er natürlich OpenVPN, um die Tunnel aufzubauen. IP-Tables, also ich hab's in Form von Firm benutzt. Firm ist ja quasi so, wie eine Art Makrosprache für IP-Tables, dass es ein bisschen komfortabler ist. Also, damit könnt ihr halt dann die Firewall-Rules machen und die Pakete halt auseinander dividieren. Und IP-Root, braucht man halt, um die Routing-Tables entsprechend zu modifizieren. Das Ganze benutzt dann auch VLANs, also im Internet-Zwerg, um praktisch die verschiedenen VPN oder um die verschiedenen Datenströme auseinanderzuhalten, die dann in die verschiedenen VPNs rein sollen. DHCP Server, Name Server, hab ich auch drauf gemacht, lokal. Dann halt, dass es Debian aktuell bleibt, unattended Updates drauf, dass es sich regelmäßig seine Sicherheitsupdates holt, unhaltbar, was ihr sonst so alles braucht, also vielleicht ein dünn DNS-Klein, dünn SSH-Diemen und so weiter. Und das IP-Tables guckt dann im Prinzip, oder der Körner guckt dann im Prinzip, über welches VLAN kam das Paket rein. Wenn der halt sieht, okay, VLAN Nummer 1 oder Nummer 10, sag ich mal, dann weiß er halt, okay, das sind jetzt erste VPN. Wenn er sieht, okay, das kommt über VLAN 20 rein, dann sieht er 8, das sind jetzt zweite VPN. Wenn er sieht, das kommt über VLAN 30 rein, dann packt er es ins dritte VPN rein. Also generell alles, was da irgendwie von innen kommt, wird alles in VPNs gepackt, so gut wie nix geht, direkt ins Internet raus. Was man dann halt braucht, sind entsprechend halt VLAN-fähige Switches, aber gut, ihr dürft da nicht die ganz billigsten nehmen, ihr müsst so die zweit billigsten nehmen, kostet also heutzutage nicht die Welt. Was man auch machen kann, wenn man so einen TP-Link-Router verwenden will, der hat auch einen VLAN-fähigen Switch drin, also den kann man auch nehmen. Der Gag ist dann halt der. Der Anwender kann halt, wenn er diese verschiedenen Switchport hat, je nachdem, wo er seinen Kabel reinsteckt, sucht er sich damit praktisch das VPN raus. Also wenn er es in Port 1 reinsteckt, kommt er halt in USA raus, kommt er in Deutschland raus. Dieser TP-Link wird übrigens nur als Accesspoint in Switch benutzt, der macht nix mit Routing und nix mit VPN oder so. Wenn er VLAN machen wollt, entsprechend natürlich auch Accesspoints, entweder auch auf dem TP-Link machen, die halt als Accesspoint betreiben. Wenn ihr das VLAN dann britschen tut, auf den entsprechenden LAN-Port, kriegt es die gleiche VLAN-ID. Also damit hat man automatisch das VLAN-Tagging. Oder man nimmt halt zum Beispiel so Biquity Hardware oder ähnliches von anderen Herstellern. Das ist so Enterprise Hardware, da kann man also einfach die VLAN-Nummer eintragen und kann halt ein bestimmtes WLAN-Netzwerk dann auf ein bestimmtes VLAN drauf leiten. Und der Sinn ist einfach der, dass man nachher eine bestimmte WLAN-Kennung hat, die kriegt einen bestimmten Tag und dadurch landet sie in einem bestimmten VPN in einem bestimmten Land. Legt auch auf GitHub. Ist noch keine Organisation, weil bisher haben sie nicht viele Rede gefunden. Aber heißt VPNGW, also wie VPN Gateway. Also wenn ihr mal sowas selber basteln wollt, könnt ihr euch hier ein paar Stunden Zeit sparen, weil das war ein bisschen gefrickelt, bis das so alles harmoniert hat. Und ja, Pull Requests sind willkommen. Okay, das war's so weit. Dann danke erst mal. Und wer Lust hat, wie gesagt, sind noch zwei andere Veranstaltungen. Mit Übergang. Spiegel's mal doch lieber. Okay, hi, ich bin Nylki. Und ich erzähle euch jetzt was über L-Systeme, was man damit im Browser machen kann und warum ich eine Bibothek geschrieben habe, um mehr zu machen, als man sonst in Implementierung findet. Für alle, die nicht wissen, was L-Systeme sind oder Lindenmayer-Systeme, gibt's eine ganz knappe Einführung und für alle anderen noch mal eine kurze Aufrischung. L-Systeme sind relativ veralt mittlerweile, ein altes Konzept, wurde von Aristide Lindenmayer 1968 entwickelt und sind Ersetzungssysteme. Du kannst damit relativ gut bestimmte biologische Prozesse simulieren oder auch modellieren, zum Beispiel Bäume, Zellwachstum und so weiter, aber eignet sich auch hervorragend für Fraktale wie Kochkuchen und so weiter. Im Prinzip startet man mit einem Anfangswort, einem Aktion oder Initiator und wendet dann immer weiter Produktion an, die das jeweilige Zeichen ersetzt mit einer neuen Kette. Das sieht dann so aus, also zum Beispiel wir haben ein Axiom F und eine Produktion von F nach F minus F plus plus F minus F und die erste iteration wäre halt genau dieser String, weil aus dem F der String produziert wird und nach der zweiten ist es dann halt komplexer, weil jedes weitere F eben wieder ersetzt wird. Genau. Und was üblich ist, dass man das mit der sogenannten Turtle Graphic visualisiert, dass zum Beispiel, also man muss sich vorstellen, dass eine Schildkröte auf dem Boden den Weg abläuft und dass F eine Linie zeichnet, wie gesagt, die Schildkröte läuft einen gewissen Weg, das plus dabei dreht sich die Schildkröte, bei minus dreht sich die andere Richtung und das Beispiel, wir laufen, dann drehen wir uns zum Beispiel 45 Grad, laufen dann weiter, wir haben uns gegedreht, deswegen verläuft die Kurve in einem Winkel, dann drehen wir uns einmal 45 Grad, das erste Plus, zweites Plus nochmal, laufen, drehen uns wieder und laufen. So, das sieht dann so aus und jetzt zeige ich euch, was man so im Grausamit machen kann. Genau, da sind wir wieder und das ist der erste Teil einer Kochkurve oder der Koch-Schnee-Flocke und wir sehen hier, hier ist das Aktion F und wir könnten jetzt natürlich, naja, ich sehe es hier aber, also man könnte jetzt fortfahren und das ergänzen und dann jeweils weiter iterieren und kriegt dann halt die entsprechenden Fraktale und kann die Rotation natürlich ändern und vielleicht will man ja auch gar keine Kochkurve haben, sondern eine Linie, die dann abbiegt, die würde dann abbiegen und man kann das dann halt natürlich dann blieb ich oft fortführen. Aber das meiste, was man so findet an Bibliotheken oder Implementierung, die EL-Systeme umsetzen, fokussieren sich wirklich auf diese Turtle-Graphic-Interpretierung und was aber schön wäre und eigentlich auch in der ursprünglichen Idee von Linmaier schon beinhaltet ist, dass man stochastische Linmaier-Systeme erstellen kann, also wo Zufallswerte, eine Rolle spielen und so weiter und das war mir wichtig oder ich wollte es zumindest mal ausprobieren kann sozusagen also hier haben wir eine, hier haben wir ein ganz einfaches Beispiel, eine Linie f, so wenn wir 2f haben, das ist natürlich länger, aber vielleicht wollen wir ja, dass die Linie nur zu 30% der Fälle nach links läuft, dann wollen wir vielleicht keine Produktion, die nach f zu f geht, sondern eben zu 30% nach f und ansonsten, dann vielleicht nach f plus f. Richtig, danke. Sprechendhaft. Vorführungseffekt. Das ist natürlich ja zu irgendwie wenig spektakulär, das ist vielleicht schon interessanter, aber ihr seht, worauf ich hinaus will und stochastische L-Systeme kann man hervorragend benutzen, um halt irgendwie so was wie Bäume, die halt sonst langweilig aussehen, wenn ihr halt irgendwie eine Wald hast, voller gleich aussehender Bäume, naja, dann ist es halt wie so ein Kachel-Effekt, wenn das halt irgendwie von oben aus betrachtest und deswegen kann man das halt auch irgendwie schön variieren und eben nämlich dann auch die Strichdicken dann quasi auch bei jedem, bei jeder Abzweigung auch größer und kleiner machen und theoretisch auch mit der Farbe variieren und in 3D geht es dann potenziell auch, also das ist nicht wirklich ein Baum, das ist mehr so eine Grasgruppe, Strauchgruppe, habe ich auch nur gestern ein bisschen zusammengehackt, deswegen ist auch noch nicht die Dicke drin oder so, aber ja, versteht das Prinzip. Also wenn man erstmal ein L-System hat, kann man das natürlich dann beliebig oft anwenden, um halt prozedural bestimmte Objekte zu erzeugen und das ja bestimmt ganz praktisch für Spiele im Browser oder Simulation oder was auch immer, oder einfach Kunst oder was weiß ich. Man kann aber auch Sound mitmachen, deswegen also ich wollte halt nicht nur diese klassischen Turtle Graphics ausprobieren, sondern was ist, wenn man irgendwie was ganz anderes machen will, wie Sound? Ach so, muss ich hier ranstecken. Wissen Sie, mit dem Sound gibt es eine Klinge? Oder ist das eh über? Wird sich gleich nicht sehr schön anhören, weil ich habe von Musik, keine Ahnung, ich habe jetzt eine MIDI-Bibliothek benutzt, um Midi-Töne zu erzeugen und es klingt irgendwie, aber es klingt vielleicht noch nicht nach Musik, aber kurz zur Erklärung, die eckigen Klammern, die sind auch in dem Werk von 1998 oder 1996 und in den 90ern definiert und sind Abzweigung, also eine eckige Klammer erzeugt eine Abzweigung und schließt sie dann wieder und in dem Fall dachte ich mir, dass wenn eine Abzweigung erzeugt, wird quasi eine, alle Noten, die in der Abzweigung sind, parallel gespielt zu den weiteren. Nein, ich mache mal mal. Wunderbar. Kommt noch was. Meine Produktionen sehen im Prinzip so aus, also ich fange irgendwie mit den Noten, also ich habe von Musik wenig Ahnung, war aber nicht, war ein bisschen faul, aber egal, dachte mir, ich moduliere Notenwerte, die Tonleiter, du, und fange mit cd an, wobei darauf deine e folgen soll und deine e, also irgendwie fast nach Chord, wobei c, e und g am Anfang gleichzeitig gespielt werden und dann kommt das d erst, dann kann man das mit den Branches vielleicht verstehen, wie das funktioniert. Und beim c wird halt, seht ihr, dass irgendwie 30% würde halt c plus erzeugt, dann c minus oder cd und plus geht eine Oktape höher und bei minus eine Oktape tiefer und dadurch gibt es dann so ein bisschen Variation im Sound. Das war es eigentlich schon. Was ich zeigen wollte, wenn ihr andere Ideen habt, wie man was man mit Lindenmeier-System machen kann, dann geht doch einfach dahin und schreibt ein Beispiel oder guckt euch die Issues an. Ich habe also bei ein paar Sachen da muss ich noch rumfallen und es wäre praktisch, wenn da Leute mal rüber gucken könnten und ansonsten bei Twitter oder per Mail machen. Danke. Felix, haben wir ein Displayport? Der Typ, der wunderbar, super. Nehmen wir doch ein paar Mal das Frau Reha, die Karten. Wo ist denn das HDMI? Na, ist ein HDMI. Haben wir auch noch ein Adapter, dann machen wir auf Adapter oder nicht nehmen, was sie kriegen kann, Adapter technisch. Ich habe auch einen Vorgang. Vielen Dank. Ihr seht, weiß. Sehr schön, schon mal anfang. Vielleicht besser. Das Vortrag sieht aber wie es spitze hier passt. Jetzt wird es ein bisschen untechnischer. Hoffentlich trotzdem interessant. Ich wollte etwas über das Digital Refugee Labs erzählen. Das und die Digital Refugee Labs. Schlimmer Name. Wir sehen, um was es geht. Ein bisschen Einleitung. Es gibt die Open Knowledge Foundation. Die haben so ein Projekt. Das nennt sich Code for Germany. Da gibt es verschiedene Labs in Deutschland. Ich habe später noch mal eine Karte, in der man sich interessiert. Ein Lab davon ist hier in Karlsruhe. Da hänge ich mich mal um. Im Endeffekt geht es darum, was wollen wir machen? Wir wollen offenes Wissen verbreiten. Wir wollen offene Daten fördern. Wir wollen für Transparenz sorgen. Und Bürgerbeteiligung stärken Wir machen so Dinge bisher wie Lab Meetups. Wir diskutieren über Stoßenprojekte. Es gibt ein Projekt, das nennt sich Woismarkt. Das gibt es für ein Gestelle. Da kann man abrufen, wo Wochenmarkte sind. Es gibt ein Feinstaubprojekt von Stuttgart. Das ist ziemlich nett. Solche Dinge laufen da. Wir machen Vorträge. Das ist unser Thema, mit dem wir uns in unserer Freizeit beschäftigen. Jetzt ist es so. Die Open Knowledge Foundation hat einen Projektantrag eingreicht, bei der Bundeszentral für Politische Bindelung, um was im Bereich Flüchtlinge zu machen. Mit den Labs, die es schon gibt, sich sozial zu engagieren. Das ist das, was in den refugee labs rauskommen soll. Schwerpunkte sind Dinge wie Vernetzung von lokalen Initiativen. Vermittlung von technischen Fähigkeiten. Es gibt ein paar Projekte, die noch eine Auswirkung haben. Das ist ein bisschen Mission Statement. Das sind digitale Hilfsmittel und kreative Ansätze für Hilfsorganisationen und Flüchtlinge. Das ist ein Thema, mit dem wir uns in den Bereich von lokalen Initiativen vermitteln. Es geht um die Neue und Weiterentwicklung von Tools. Es geht nicht nur darum, es gerade neu zu erfinden, sondern auch Bestehendes weiterzuentwickeln, zu unterstützen, aufzuräumen, zu verbessern. Verschiedene Bereiche stehen da drin. Es geht auch darum, die Verteilung von Ressourcen. Man hat Ressourcen, zum Beispiel Personen, aber auch Ressourcen spenden. Es lag an irgendwo viele Hygiene-Artikel, die man eine Drogerieke spendet. Woanders braucht man die. Es ist sehr schwer, das zu koordinieren, weil es keine Strukturen gibt. Das ist ein dritter Punkt. Es ist Zusammenarbeit mit Behörden. Es gibt Dinge, die können freiwillige machen. Es gibt Dinge, die können Initiativen machen. Aber viele Dinge werden sollen und können nur vom Start bereitgestellt werden. Dementsprechend muss man sich auch koordinieren. Da existiert bisher auch sehr wenig. Da ist eine große Lücke, in der man was machen könnte. Es gibt Daten, die man aus sinnvoll nutzen könnte. Zum Thema Flüchtlinge. Aber die kommen oft schnell dran. Das liegt zum einen daran, weil man keine guten Schnittstellen hat. Da gibt es einen PDF. Das PDF ist zwei Jahre alt. Wenn man eine Mail hinschreibt, dann nimmt man das PDF und versucht es zu passen. Damit man nicht jedes Mal händisch die Daten raussuchen muss. Das ist ein Thema, das man nicht überprüfen kann. Teil von dem Projekt ist auch Information, die existiert. Aber vergraben sind, leichter bereitzustellen. Es geht nicht nur um Karlsruhe. Es gibt vier Laps, die innerhalb des Digital Refugees Standorte sind, um das durchzuführen. Es gibt auch andere Okaylabs. Die sind nicht speziell in diesem Projekt dabei. Aber es ist abzusehen, dass die interessante Projekte, die da laufen, auch übernehmen. Wir haben interdisziplinäre Teams. Wir haben interdisziplinäre Teams. Wir haben interdisziplinäre Teams. Es ist schwer, eine gute Anwendung für die Institutionen, für die Flüchtlinge, für irgendwelche Hilfsorganisationen zu machen. Wenn man sich als Informatiker und vielleicht noch als Designer ansetzt und sagt, ich denke, die brauchen A, ich mache jetzt mal. Im Endeffekt kann das nur funktionieren, wenn man sich mit den Leuten zusammensetzt, mit denen redet, was sie brauchen, immer wieder Rücksprachen, immer wieder diskutiert und einfach nach dem Bedarf arbeitet. Und nach dem, was die Menschen brauchen, nach dem, was man denkt, was an Bedarf da ist. Wir brauchen Menschen mit verschiedenen Hintergrunds zusammenbringen. Formal geht das Projekt sechs Monate. Formal deshalb, weil wir wollen natürlich nicht danach aufhören. Im Endeffekt ist es so, es gibt ein Projektantrag und es gibt ein Projekt, das offiziell sechs Monate geht, das halt so einen festen Rahmen hat, dass man ein bisschen was hat, an dem man sich entlanghangelt. Und danach soll es hoffentlich mit den Projekten weitergehen. Und die sollen schon vorher vielleicht schon eingesetzt werden und danach spätestens soweit sein. Wir haben jetzt schon gefördert von der bundeszentralische politische Bildung, aber nicht so riesig, aber nicht für alles ist so viel Geld da. Eine Karte, genau. Es gibt, wie gesagt, vier Labs, aufmerksame Beobachter werden merken, dass es fünf grüne Marker gibt. Das liegt daran, es gibt einmal das Lab Hamburg, Berlin, Karlsruhe und Leipzig Dresden sind einstandort zusammen, die machen das zusammen. Und wenn jemand generell Interesse hat an Open-Knowledge, Open-Data, die groten Marker sind die anderen Labs, die es gibt, die jetzt nicht in diesem speziellen Projekt dabei sind, aber die sich mit dem Thema beschäftigen. Also wenn da euch interessiert, sind nicht überall in Deutschland so gut verbreitet, aber es gibt schon ein paar Gebiete, wo es sehr viele gibt und wo man sich sehr schön engagieren kann, auch in wirklich sehr coolen Projekten. Kurz ein bisschen was zum Ablauf. Wir machen einen Kickoff, für die, den Karlsruhe beheimatet sind und Bock haben mitzumachen. 2. Juli geht es los. Wir haben dann Umsetzungsphase mit Arbeitstreffen. Also wir machen halt Projekte. Um es mal so primitiv auszudrücken, wir werden Expertenvorträge machen, weil das auch schon rauskommt. Den Hilfsorganisationen oder den Mitarbeitern dort, den fehlt es zum Teil einfach bei manchen Sachen an Wissen. Auch an technischem Know-how oder an, was für Wege gibt es überhaupt zu kommunizieren, außer vielleicht E-Mails, die man massenhaft rumschickt. Also wirklich teilweise sehr grundsätzliche Sachen. Da wollen wir ein bisschen was machen, auch wie man da vielleicht selber sich Wissen aufbauen kann von den Offenklerninitisationen. Wir machen Training-Sessions, wo wir vielleicht auch mal mit Tools oder mit irgendwas mal zeigen, wie kann man die benutzen. Es gibt so eine Ergebnis-Präsentation slash Abschlussveranstaltung, in der wir die Ergebnisse zeigen wollen und die eigentlich den Sinn hat, dass man sieht, ist ein Stand erreicht, den man benutzen kann oder müssen wir noch nachhaken, dann nach Ende von dem Projekt. Und es gibt drei Punkte, das heißt nämlich, wie viel wie möglich, was immer davon abhängig ist, wie viele Leute es gibt, die was machen, die sich engagieren, weil wie bei allem, wenn man niemand hat, der was macht, dann läuft auch nichts. Status quo. Das Ganze ist noch am Anfang, wie gesagt, 2. Juli ist Kickoff in Karlsruhe. Der erste Kickoff ist in Hamburg, glaube ich, Ende Mai. Also niemand hat so richtig angefangen, bis er das alles noch ein großes versprechen ohne Inhalt. Was wir in Karlsruhe jetzt schon gemacht haben, ist, wir haben Kontakte mit Organisationen aufgebaut, also Flüchtlingshilfe, AWO, Caritas, alle Milchenorganisationen, die in Karlsruhe sich bei einem Thema engagieren. Wir haben Interviews mit denen geführt, ausgetauscht, die mit den Einfammer unterhalten, die einfach mal eine Stunde zwei mit denen geredet und die gefragt, was braucht überhaupt, was sind eure Probleme. Jetzt in Bezug auf, unser Themenfeld digital, digitales Anwendungssoftware Tools, weil klar, mit Software kann man nicht jedes Problem lösen, aber wenn es da Probleme gibt, könnten wir vielleicht mal was machen. Dann haben wir die Artikel vorbereitet, und wir sind gerade dran, so ein paar Projekte, die aus diesen Interviews entstanden sind, auszuarbeiten in erste richtige Ideen, die man dann auch umsetzen kann. Im Endeffekt, was ich sagen will, ist, ich stehe hier eigentlich nur um Werbung zu machen. Mehr habe ich eigentlich gar nicht vor, ganz uneigennützig, weil ich möchte, dass nicht mit den Leuten, die was sind, wir sind so, hat er kein 8 bis 10, 12. Jetzt ist der Zeitpunkt, wenn das jemand interessiert und sagt, ich kann da was, und ich würde mich vielleicht auch engagieren in irgendwas, wo was rauskommt, wo ich vielleicht echt Menschen helfen kann, die es nötig haben, das man jetzt mitmacht. Paar Termine noch, habe ja schon jetzt mehrfach eingeworfen, 2. Juli Kickoff-Vanstaltung, hier in Karlsruhe, da gibt es so Dinge wie Vorträge, Kennlernen, Ideenfindung und das, was wir jetzt treffen. Wir machen zusätzliche Treffen für das Refugee Lab, aber wir machen auch normale Treffen. Das nächste ist im 20. Juni. Da reden wir dann sowohl über das Lab wie auch über unsere anderen Themen und generell über Open Data. Ich habe euch noch ein paar Links hingeknallt. Das erste ist mal so eine Übersicht, wo man noch viel besser, viel verständlicher und wahrscheinlich auch viel ausführlicher steht, um was es da überhaupt geht. In den Labs, wenn man nicht abgruppe, wenn jemand sich anmelden will für die Termine kann er sich einfach anmelden, dann kann man ein bisschen abschätzen, wie viele Leute willkommen werden. So viel dazu, dann noch 2 kleine Serviceinweise, die ich heute im Fahrplan entdeckt habe oder gestern im Fahrplan entdeckt habe. Jetzt, faktisch fast jetzt, gibt es von Freifunk für geflüchtete ZKM-Vortragssaal, indem die was erzählen und ich habe gesehen, es gibt jetzt um 17 Uhr, das Ziel von Baden-Württemberg, wo sie sich auch im Freifunkslot, wo sie sich auch das Thema unterhalten, also ich werde hingehen, wir müssen auch mal anhören, was die vorhaben. Vernetzung kann nicht schaden und wenn es interessiert, kommt doch vielleicht auch vorbei und damit wäre ich dann auch schon durch. Hat jemand Fragen, Interesse? Möcht jemand mich später ansprechen? Könnt er mich auch einfach anhauen? Ich hänge bis Sonntag auf jeden Fall noch hier rum. Danke. Keine, oder? Ja, traut sich eh niemand. Frau Garmann. Ja, Frau Garmann ist am besten. Du verschubst schon was? Ah, bisschen verschoben aber, egal. Also, ich halte jetzt einen kleinen Likentalk über Winshap is not just a board computer. Nur kurz über mich. Ich heiße Nikolas Schreiber, KIT hier Informatik im vierten Semester und das Projekt Winshap war das PSDE Projekt. Das heißt, jeder Informatiker im KIT muss so ein kleines Programmierprojekt mit ein paar Leuten zusammen machen und die Leute, die nichts gemacht haben, stehen da unten runter. Also, unsere Aufgabe bei dem PSDE Projekt war es ein Datendieler zu schreiben. Wir hatten erst mal wenig Ahnung von, was sollen Datendieler sein und wir brauchen Daten. Wo gibt's die denn? Natürlich gibt's überall Internetdaten und andere Zeug, aber wir haben uns gedacht, okay, wir holen uns mal die Daten von irgendwelchen Sensoren. Dann eben so, okay, Sensoren sind meist in Technik drin und Technik, die jeder hier so rumstehen hat oder warum immer dabei hat, ist eigentlich ein Smartphone. Aber die meisten Sensoren sind zwar ruhig in Smartphones, werden eben schon irgendwo benutzt. Die kann man sich schon eben anschauen. Aber eben Sensoren in Geräten, die noch sehr weniger sich wirklich anschauen, ist eigentlich im Auto drin. Die wird überall eigentlich auch in dem Auto intern benutzt, aber man selbst zieht da eigentlich nie irgendwo Daten. Und deswegen wollten wir eben ein Boardcomputer bauen. Genau, und so als Umfang von diesen Datendieler haben wir uns gedacht, wir wollen irgendwie die Live-Daten auf den Smartphone anzeigen, eben irgendwie über ein WLAN-Netzwerk bekommen oder irgendwoher wollen wir die Live-Daten bekommen. Und es werden uns, wenn wir die irgendwie speichern können, um sie später nochmal anzuschauen oder ja, deswegen eine Datenbank. Und wenn wir eben dann die Daten schon mal haben, wenn wir dann zum Beispiel die Geschwindigkeit haben, dann könnten wir auch gleich noch mit den Datenzeug berechnen, wie ist jetzt grad die, wie lange fahre ich jetzt schon bei dieser einzelnen Fahrt oder wie lange fährt, welche Person und Anauszeug. Und jetzt müssen wir aber erstmal die Daten herbekommen, woher die genau kam. Das war, hat uns erst mal ein bisschen gedauert, aber vor allem weil eben ein Auto normalerweise kein Ethernet-Port oder irgendwie eine Schnittstelle hat, die man so direkt mit dem PC auslesen kann. Es war ein bisschen schade, aber wir sind dann auf eine andere Schnittstelle gestoßen, die sogenannte On-Bot Diagnostics-Schnittstelle, die eigentlich seit, ich glaube es heißt 5, in jedem einzelnen Auto verbaut sein muss in Deutschland. Und die habe ich jemals sehr schön und scharf fotografiert. Genau. Und wie man jetzt von dieser Schnittstelle, die ja nicht unbedingt wie eine PC-Schnittstelle aussieht, eben Daten auf den PC kommt, das ist schon ein Adapter für sogenannte OBD-2 Bluetooth-Adapter und so gut wie jeder von denen hat eigentlich irgendwas mit dem Microchip ELM 327 zu tun. Also, alle die ich ihnen gefunden habe, außer einer der sehr schlecht dokumentiert war, waren ELM 327. Das ist dann möglich mit, also hier ist es sozusagen ein Bluetooth-Adapter, aber der ELM 327 ist eigentlich nichts mit Bluetooth selbst zu tun. Das ist, der empfängt einfach nur die Befehle per U-Adsch und hier ist eben zwischen U-Adsch und PC ist dann halt ein Bluetooth-Schnittstelle. Genau, was man dann eben den Chip, den Adapter den initialisieren, mit verschiedenen Daten, wie welches Protokoll muss ich benutzen und so, und kann dann über sogenannte PIDs Daten abfangen. Also es gibt verschiedene Informationen, die man dann auch verholen kann. Auch Diagnostik-Sachen vom Fehlerstand, vom Auto, vom Motorsteuergerät, ein bisschen was. Aber eben wir als, wir wollten eben wirklich die Live-Daten anzeigen. Deswegen haben wir uns erstmal auf die Show Current Data auf den Punkt 1 konzentriert. In dem Modus 1 gibt es dann verschiedene PIDs, die so gibt, das ist auch sehr nett gemacht. Man kann dann, ganz oben, gibt es immer wieder so ein Beid Stelle, wo dann binär kodiert ist, okay, diese Daten kann ich überhaupt bekommen. Da stehen uns sozusagen, okay, ich kann jetzt das Auto, das gibt mir jetzt zum Beispiel die Motorgeschwindigkeit, aber nicht die Motorlaufzeit und andere Autos macht es dann irgendwie andersrum und das ist eben in dem, hier ganz oben PID supported von 1 bis 20 binär kodiert, welche es denn jetzt gibt. Wir haben dann eben diese Schwindschelle auch genommen und haben dann gedacht, okay, wir um eben für eine Datenbank, die wir, wenn wir eben eine Datenbank haben wollen, dann wäre es ganz schön, wenn wir das nicht nur auf dem Handy haben, also die Daten nur auf einem Gerät haben, sondern die vielleicht auch dauerhaft im Auto gespeichert haben und haben deswegen gedacht, okay, dann nehmen wir ein Restway Pizer aber und speichern darauf die Daten im Auto immer schön per WLAN, das dann gehostet wird, sich anschauen. Also wir haben dann eben auf dem Pi einen kleinen Server aufgesetzt und das dann per WLAN frei, die Daten bereitgestellt und es konnten eben dann über eine Web-Oberfläche, also man hat sich dann eben in WLAN verbunden, hat im Chrome-Browser oder irgendein anderen Browser auf dem Handy eingegeben und da hat man auf einer Web-Oberfläche ganz schön Engages angezeigt bekommen und ein anderes Zeug, das sah dann in der Testfahrt ungefähr so aus. Also hier ist jetzt der Pizzi wirklich nur als Stromquelle, weil ich gerade keinen Akku-Pack oder sowas dabei hatte. Das könnte man aber auch dann mit dem Autostrom direkt machen oder eben über die Zigarettenanzünder-Dose kann man auch Strom von bekommen und braucht nur noch keinen Laptop mehr extra. Man sieht auch so ein bisschen die Gages und die auch so ein bisschen Textfeld und das konnte man eigentlich auch relativ einfach dann erweitern mit neuen Gages und ja. Die Software, also mit was wir das alles programmiert haben es lief ein Node.js Server da haben wir also da drauf und im Browser haben wir auch normales.js, also jetzt nicht Node.js-spezifisches JavaScript, weil es manchmal große Unterschiede gemacht hat vor allem, weil wir das Projekt objektorientiert sein sollten sondern das alles objektorientiert programmieren und uns wurde deswegen vorgeschlagen TypeScript zu benutzen. Weiß jeder hier was TypeScript ist? Nein? Also TypeScript ist sozusagen ein Rapper für JavaScript, der ist also man kann ja JavaScript objektorientiert semi-objektorientiert programmieren und TypeScript macht das sozusagen für ein, man kann auch schon Klass vorne dranschreiben und man kann sogar Typ-Deklaration so ein bisschen machen, also das ist so ein bisschen okay, das muss jetzt ein String sein oder das muss jetzt irgendwie eine Zahl sein und das war aber so ein bisschen problematisch, weil das eben so ein Mix von verschiedenen Sachen war und TypeScript selbst hat eben nicht so gut mit Node.js getan so der Aufbau dann von der kompletten Software der sah dann ungefähr so aus also wir haben vom OBD aus also vom Bus aus also alles mit dem Bus ist sozusagen die ist dann der Raspberry Pi selbst der Bus läuft komplett auf dem Raspberry Pi und das hat uns eben die Möglichkeit gegeben einfach aggregierte Funktionen hier oben hinzuzufügen also zeugt das Sachen berechnet. Wir haben dann auch den aktuellen Benzinverbrauch zum Beispiel konnten wir dann ohne Probleme über diese aggregierte Funktionen berechnen und dann wieder auf den Bus schmeißen dann konnten wir uns auch auf der Endgerät-Seite sich anschauen und eben auch die Datenbank die dann die ganzen Daten speichert und über ein Protokoll, das wir dann so ein bisschen darauf programmiert haben, konnte man eben auch die Daten aus der Datenbank wieder abfragen oder währenddessen also während der kompletten Entwicklung gab es aber verschiedene Probleme die da so im Weg standen das war eben wie vorhin schon gesagt Node.js selbst das uns durch das TypeScript und das Objektorientierte eigentlich ein bisschen Probleme gemacht hat vor allem weil sehr viel dort eben Eventbasiert ist, was zwar generell kein nichtes Kontra, nicht genau das Gegenteil von Objektorientiert ist hat uns eben Schwierigkeiten gegeben weil dann auf einmal die Funktion innerhalb von einer Klasse nicht mehr in einem Klassenkontext waren, weil sie von einem Event aufgerufen wurden und da hat auch eben so eine Funktion, die das alles dann doch wieder im Subjekt schiebt, hat auch nicht immer funktioniert dann hat uns auch noch eine Bibliothek, wir benutzt haben die extra für diese OBD2 für die Onboard Diagnostik Schnittstelle, die hat auch nicht immer wirklich das getan, was sie soll der ELM327 der hat ein Befehlsbuffer von genau einem Befehl das hat aber diese Bibliothek nicht gebockt sie hat einfach dann, wenn man drei Befehle so irgendwie reingeschoben hat da hat es auch drei Befehle innerhalb von paar Millisekunden oder Nanosekunden rausgeschoben und dann hat's halt der Mi-Controller Schrott gebaut und das hat auch schon bei Initialisierung natürlich, oder vor allem bei der Initialisierung Probleme gemacht und die Initialisierung selbst also von der Bibliothek selbst hat die Befehle schon innerhalb von einer Millisekunde alles offen den OBD2-Adapter geschickt, was halt eben nicht mehr funktioniert hatte dann haben wir irgendwann so ein bisschen festgestellt ok, unser OBD-Adapter der kann gar nicht so schnell die Daten rüberreichen, wie wir so gedacht also der kann nicht da ist die Datenrand nicht wirklich so schön, wie wir dachten in unserem Testauto waren es dann vier bis fünf Werte pro Sekunde wenn man dann sich so denkt ok, ich will 20 verschiedene Werte die ganze Zeit messen und mir speichern dann ist das nicht mehr wirklich live, was man da so hat das hängt aber immer so ein bisschen vom Auto ab, also bei unserem Testauto das war jetzt ein Opel Astra 2005 war Bauart, also das war auch ganz relativ am Anfang von OBD2 da waren es halt wirklich vier bis fünf Werte musste man Prioritäten stellen welche Werte jetzt wichtig sind so was wie Tankverstand ist jetzt nicht so wichtig wie die aktuelle Motorgeschwindigkeit aber anscheinend bei den neueren Autos und dann bei dem was glaube ich konnte man das bis zu 40 Hertz hochtreiben, was dann schon etwas angenehmere Datenrate ist um auch viele Informationen zu bekommen dann hatten wir auch noch ein Fehler gemacht dass wir eine NoSQL-Datenbank als Datenbank auf dem Bus gewählt haben die dann eben nicht skaliert hat bei etlichen Werten auch wenn wir dann vor allem stundenlang fuhr, dann hat es irgendwann doch schon etwas länger gedauert vor allem haben wir auch eine Replayfunktion eingebaut die sozusagen eine Fahrt wiederholt, die die Fahrt nochmal abspielen lässt die hat dann eben nicht mehr so schön funktioniert und wir haben es noch nicht ausprobiert aber wir glauben das mit einer SQL-Datenbank besser laufen dann noch ein anderes Problem, wir hatten gedacht okay wir können dann gleichzeitig noch Google Maps Karten oder sowas einbinden mit dem aktuellen Standort oder sowas aber das lief dann nicht mehr so schön weil wir uns ja bei WLAN mit dem Pi verbunden hatten das heißt und beim Android-Colonel selbst hat man entweder WLAN oder Mobiles Internet es ist nicht möglich für diese Adresse für diese IP hätte ich jetzt gerne hätte ich jetzt gerne das Netzwerk aber für den ganzen Rest hätte ich jetzt gerne das Mobiles Internet das scheint bei iOS funktioniert ist, da kann man dann über ein Proxy sagen okay du schiebst es da ein, du schiebst es da ein aber bei Android ging das leider überhaupt nicht, so die einzige Möglichkeit wäre das dann noch über ein UMTS-Dick um Raspberry Pi selbst die restliche Internetgeschwindigkeit durchzuleiten ja, das war jetzt sozusagen mein Vortrag über Winshap das Projekt ist auf GitHub noch im privaten Repo, aber ich rede jetzt bald mit den anderen Leuten vom Team ob wir das nicht in offizielles, offenes Repo schieben können, dass Leute sich das auch mal anschauen können und vielleicht auch was mit OBD2 machen können, weil es eigentlich ziemlich spaßig damit die Daten herzubekommen aber jetzt ist noch ein bisschen Zeit für Fragen, die keiner hat okay, aber falls doch noch irgendjemand eine Frage hat dann kann er mich unter dieser Even-Adresse noch erreichen ich bin jetzt auch noch wahrscheinlich letztendlich in den nächsten zwei Tagen bis morgen, Mittag, so Richtung hier ja, vielen Dank na ja, irgendwie ist die Auflösung ein bisschen klein aber das ist egal, das funktioniert trotzdem so, genau ich wollte mal ein bisschen was erzählen was so mit Infobiemer inzwischen passiert ist wer es nicht kennt, die Software das ist also das was man noch jetzt hier vor zehn Sekunden gerade gesehen hat, was jetzt in den Pausen anzeigt, was hier für Vorträge stattfinden und genauso zeigt es irgendwie auf ein paar Screens die draußen hängen, inklusive auf der großen Leinwand an dieses Twitterzeug und eben auch welche Vorträge wann wo stattfinden und da die Software eigentlich im Rahmen der GPN entstanden ist, habe ich gedacht jetzt mache ich mal irgendwie nach vier Jahren so mal ein Update was da eigentlich inzwischen der Stand ist weil da hat sich schon ein bisschen was getan so, vielleicht nochmal ganz kurz also wer es jetzt bisher das jetzt nur aus Betrachtersicht gesehen hat, mal ganz kurz die Einführung was ist es überhaupt also es ist ein Tool was ich eben wie gesagt vor vier Jahren für die GPN12 geschrieben habe das ist eine Möglichkeit relativ einfach Präsentationen zu bauen zum Beispiel jetzt genau solche Screens man kann das natürlich auch benutzen um irgendwie in S-Bahnen oder sowas dann diese komischen Infotainment Sachen zu bauen oder jetzt gerade lustigerweise mit dem Dashboard was jetzt hier gerade vorgestellt wurde, das könnte man damit zum Beispiel dann auch direkt auf dem Pall zum Beispiel verwenden um genau jetzt auch solche diversen Regler und so was anzuzeigen ursprünglich vor vier Jahren habe ich das Ganze eben für so dicke Desktop-Maschinen entwickelt die Grafikkarte rein und da war es jetzt von der Performance hier irgendwie egal was man macht es kamen dann immer wieder Leute haben gefragt, gibt es das auch für ein Raspberry Pi gab es dann erstmal nicht und dann habe ich mir das aber mal angeguckt und habe dann eben jetzt das hauptsächlich für den Raspberry Pi im Prinzip weiterentwickelt und eben auch dann optimiert also die ganzen Frickelansätze die ich jetzt irgendwie auf Desktop-Maschinen machen konnte mit Front-Rendering das funktioniert auf dem Pi nicht, weil es viel zu langsam ist und dann gibt es halt dann jetzt irgendwie neue Front-Render-Bibliothek komplett und inzwischen ist es auf dem Pi an einem Punkt angekommen wo man nicht mehr so viel Performance rausholen kann genau, dann wird es inzwischen auch kommerziell eingesetzt also es gibt irgendwie so ein paar Firmen die darauf irgendwie komplett ihre Produkt bauen, also es gibt irgendwie Firmen die benutzen dann eben genau die Pi-Variante und verkaufen das dann zusammen mit Hardware und eigener Software Dinge anzeigt wer jetzt gar keine Vorstellung hat wie das jetzt aussieht wenn man damit was baut also zum Beispiel dieser Screen jetzt hier recht, dieses Hello World das kann man jetzt eben genau mit diesen 5-Zahlen-Code mal eben hin programmieren also im Prinzip definiert man sich eine Fläche, lad in Font und in jedem Frame rendert man dann einfach diesen String an in bestimmte Position so und das ist im Prinzip was was auf dem wie man dann ausgeführt werden kann und jetzt war es eben so auf dem gpn habe ich das halt so gemacht auf der ersten gpn stand halt irgendwie eine Desktop-Kiste rum wenn ich was an der Präsentation ändern wollte dann habe ich mich da halt per SSR irgendwie eingelockt hab irgendwie live am Code Room editiert kann man machen, funktioniert meistens manchmal funktioniert es nicht, dann war irgendwie kurz alles weg ja und es funktioniert halt nicht so richtig also das ist halt nicht so der professionelle Ansatz eigentlich das hat trotzdem auf dem 29.C3 und 30.C3 so ganz gut funktioniert also da lief es übrigens auch, also wer da war hat das auch gesehen in den Zellen ja und jetzt kann man das natürlich mal richtig lösen und jetzt gibt es halt irgendwie Infobiemers Service was dann irgendwie im Prinzip diese ganze Gefrickel wegabstrahiert und man kann jetzt irgendwie Higher Level da irgendwie Dinge ausrollen und das sieht dann im Prinzip also im Prinzip ist das Infobiemer-House eigentlich nur ein gigantischer Rapper die Tatsache, dass irgendwo das Infobiemer-Programm läuft und ein paar Dateien anzeigt bloß dass man sich halt nicht selber darum kümmern will wie sorgt man dafür, dass das Programm läuft wie sorgt man dafür, dass überall die gleichen Stände von Dateien vorhanden sind sondern man macht das irgendwie so per Knopfdruck auf einer Web-Oberfläche die Installation jetzt zum Beispiel also das hier was man gerade gesehen hat läuft jetzt eben auch auf dem Pi, der da hinten um herum liegt die Installation war jetzt extrem einfach also ich nehme eine SD-Karte entpack eine ZIP-Datei bootet ein Pi gebt auf einer Web-Oberfläche irgendeine Pin ein das sieht dann so aus wie jetzt hier rechts in einem kleinen Screen und dann ist im Prinzip der Pi mit dem Account verbunden von der Webseite und dann kann man eben den Rest per Webseite einfach klicken und kann sagen das GPN16 Setup jetzt auch auf diesem Pi installieren, klickt man dann lernt er so ein bisschen Zeug runter und dann läuft es im Prinzip genau, also muss jetzt nicht mehr selber einrichten mit Raspien rummachen und irgendwie Sachen drauf kopieren, sondern es dauert halt zwei Minuten von Pi, der gar nichts kann bis es läuft genau die Oberfläche sieht dann im Prinzip so aus, also kann ich nachher auch ganz kurz noch live zeigen dass es im Prinzip Packages gibt das ist im Prinzip die Sammlung von Dateien und Code, der eben eine bestimmte Visualisierung darstellt oder erzeugt und das ist so ein Package, das kann man jetzt zum Beispiel mittels Git auf meine Webseite schieben und dann kann man mit dem weiteren Klick daraus ein Setup erzeugen, ein Setup ist dann im Prinzip ein oder mehrere Packages, üblicherweise erstmal nur eins plus die Konfiguration dazu und die Konfiguration dazu die kann man eben auch in der Metadatendatei angeben kann eben sagen okay dieses Package hatte es halt zum Beispiel die Hintergrundfarbe konfigurierbar und dann erzeugt halt die Web-Oberfläche an der Stelle das entsprechende GUI-Element dazu kann man irgendwie eintragen, wenn man auf Speichern klickt dann wird sofort eine neue ConfigChasen auf das Gerät ausgerollt und der Code, der dann lokal auf dem Gerät läuft solltet es dann aufschnappen und sofort entsprechend die Anpassungen vornehmen genau dann kann man natürlich auch die einzelnen Geräte angucken das heißt man kann irgendwie schauen was das gerade so treibt damit man jetzt nicht irgendwie von Gerät zu Gerät rennen muss um irgendwie festzustellen läuft da noch was und kann ich auch gleich nochmal zeigen dann der Entwickler Workflow wenn ich jetzt also Code ändern will also ich stelle hier fest zeigt irgendwie, hat ich falsche Schriftgröße oder keine Ahnung ist schwarz, weil irgendwie ein Unicode Zeichen nicht da ist oder sonst wie irgendwelche Dinge dann kann ich halt das reparieren also ich hab dann halt bei mir lokal ein Repository von dem Package was jetzt irgendwie auf dem Screen läuft mach ein Git commit danach ein Git push und dann landet es im Prinzip auf meiner Webseite die sogt dafür, findet raus okay, dieses Package wird verwendet auf der GPN16, das ist installiert auf diesen 10 Geräten und dann wird es halt sofort auf allen ausgerollt das heißt man hat irgendwie sekundensperrteren Code dann im Prinzip live genau, das funktioniert eben so, dass die Geräte kriegen da mitgeteilt was ist der Sollzustand diese 10 Videos sollst du lokal vorlegen haben diesen Code und dann laden die eben alles was dafür brauchen, damit dieser Sollzustand erreicht ist dabei verwende ich content-based addressing das heißt, wenn ein Gerät einmal zum Beispiel eine Schriftdatei runtergeladen hat, also was weiß ich archial oder sowas, dann muss es das nie wieder in Zukunft runterladen, weil es das einfach schon hat selbst wenn man ein anderes Setup installiert oder irgendwie Dinge ändert also jede Daten werden nur einmal runtergeladen genau und die kompletten Daten liegen jetzt also auch nicht auf meinem Website, warum? sondern die liegen irgendwie auf S3 das heißt, die Website ist im Prinzip nur für die Konfiguration zuständig für den Betrieb selber ist sie nicht mehr relevant genau, und entwickelt ist alles in Python hinten rum, also wenn das interessiert, der kann mich auch gern nochmal ansprechen kann mich auch gern noch Sachen dazu erzählen und das war es im Prinzip schon, jetzt kommen wir mal ganz kurz ich weiß nicht ob man das so spontan umschalten kann also wir können zum Beispiel jetzt mal na das ist ja mal ein Browser genau, also wenn man das ist jetzt die Live-Webseite wenn ich jetzt mal hier Update klickt dann kriege ich jetzt eben von dem Pi gesendet, was jetzt da gerade angezeigt wird wenn man das mal kurz umschaltet ja, also ist halt genau das und jetzt kann ich zum Beispiel nochmal wenn ich zurückgehe kann ich jetzt mal auf das gpn16 Room Setup was jetzt halt hier genau im Saal läuft gehen und kann man hier die Schriftart umstellen wenn ich jetzt hier auf Speichern klick dann sieht man also, wenn man nochmal ganz kurz zurück schaltet ja, es hat es sofort ausgerollt also was jetzt passiert ist, in der Stelle das war jetzt irgendwie ein Klick und irgendwie eine Änderung in der Konfigoberfläche aber hinten rum ist halt so ein bisschen mehr passiert also ich habe jetzt im Prinzip dem Gerät gesagt zum einen hat sich die Konfiguration geändert das heißt, er hat eine neue Config.json irgendwie auf S3 hochgeladen hat dann mit dem Gerät gesagt ok, deine Konfiguration hat sich geändert das Gerät hat die Datei runtergeladen hat dann gesehen, ah ok, da brauche ich jetzt aber noch Comic Sans dafür, was ich jetzt noch nicht auf dem Gerät hatte lehrt es runter und wenn die ganzen Downloads fertig sind, dann passiert im Prinzip der Austausch von den Dateien so dass eben die vorige Schriftart durch die neue ersetzt wurde das wiederum erkennt meinen Code und benutzt dann die Schriftart und zeigt es an also so ein bisschen paar Schritte aber das ist eigentlich auch egal wie es funktioniert weil man kann es einfach klicken jetzt machen wir mal wieder zurück ja, dann lassen wir es erstmal ich stelle es vielleicht später wiederum für den professionelleren Eindruck genau, und wenn ich jetzt halt mal ganz kurz noch eine Demo also ich habe jetzt hier ein bisschen da groß also hier jetzt irgendwie Code das ist jetzt zum Beispiel ein Verzeichnis alles drin was so ein Package ausmacht und wenn ich das jetzt auf den Screen hier bringen will dann also es ist jetzt schon ein Git Repository was ich jetzt machen muss, auf der Webseite ist eben hier so ein neues Package anlegen das heißt ich sage jetzt irgendwie ok, er zeigt mir mal so ein neues Git Repository, kriege ich hier so eine Zeile die ich im Prinzip hier hinzufüge so, jetzt habe ich neue Remote, jetzt zeige ich einfach Git Push, Info wie immer ein Master so, jetzt hat er den Code hochgeladen auf meine Webseite und jetzt ist halt auch so sofort dieses leere Paket ist jetzt halt tatsächlich das was ich gerade hoch gepusht habe jetzt kann ich daraus ein Setup bestellen Example da gibt es jetzt nichts zu konfigurieren weil das so ein Trivial Beispiel ist und jetzt kann ich eben sagen ok assign das mal auf ein Gerät und zwar wir sind im Medientheater richtig so, klicke ich einmal drauf und jetzt sollte im Prinzip hier genau das schon laufen also der Weg wie man irgendwie so Code dahin bringt ist halt extrem einfach und wenn ich da jetzt im Prinzip also wir können es gerade mal so laufen lassen ich ändere jetzt mal eine Zeile Code in meiner Lua-Data hier und sag einfach mal ok, das soll jetzt sag mal einfach mal, es soll doppelt so schnell gehen dann mache ich jetzt einfach hier Git Comet Git Push Netzwerk ist durch und jetzt sollte nach ein paar Sekunden, jetzt habe ich es doch langsam gemacht aber also man kriegt es mit und genau also den Fehler könnte ich jetzt natürlich auch genauso Trivial wieder korrigieren ja also das ist im Prinzip das was ich jetzt so in den letzten 3 Jahren so nach und nach gebaut habe und es hat es halt extrem einfach gemacht da hat es auch ein bisschen größere Installationen sehr einfach zu betreiben das heißt Gerät, SD-Kade raus Formatieren, Zip Dateien packen reinstecken, Pin eingeben, fertig ja, das war im Prinzip alles wer da noch ein bisschen mehr wissen will also da kann man unglaublich viel glaube ich noch erzählen der kann mich einfach jetzt dann irgendwie noch draußen ansprechen dann kann ich dann noch ein bisschen in Details gehen oder auch mal ein bisschen Code zeigen oder wie auch immer ja, danke er fällt gerade auf, ich soll es wieder zurückstellen ist ja zum Glück auch einfach sehr gut also Hallo zusammen, ich wollte euch heute wirklich nur ein ganz kurz ein Lightning Talk halten und zwar auch weniger jetzt was ich euch vorstellen möchte sondern mehr wo ich eigentlich interagieren möchte und so ein bisschen eine Rückmeldung was ihr davon denkt und ja, vielleicht können wir dann da zusammenarbeiten also es geht darum wäre es eine Idee eine Speaker-Speakerin Wunschliste für die nächste GPN zu machen warum? naja, es gibt jetzt drei Gründe es gibt bestimmt noch mehr die man sich überlegen könnte aber drei, die ich euch kurz vorstellen wollte was ich mir einfach so gedacht habe und schauen wollte ob das andere Leute gibt die das auch sinnvoll fänden zum einen, Demokratie also wenn wir mitbestimmen wollen so welche Vorträge auf der GPN sind dann können wir entweder selbst Vorträge halten aber das ist manchmal auch ein bisschen scary und vielleicht fühlen wir uns nicht Experten fürs Thema oder wir haben einfach keine Zeit das irgendwie vorzubereiten auf der anderen Seite würde man ja schon gerne einen Einfluss drauf haben was hier dann an Programmen gibt und naja, wie könnte man das machen man könnte zum Beispiel Leute vorstellen von denen man weiß die sind ziemlich cool die können auch gut sprechen und die haben irgendwie was zu sagen was zur GPN passt das könnte man irgendwie so sammeln und auf eine Liste tun und dann je nachdem wie man das dann weiter denkt entweder dem Orga-Team unterbreiten oder die Leute selbst anschreiben oder wie auch immer also das ist noch einfach nicht definiert zum anderen Highlights also wir haben ziemlich coole Talks schon auch hier auf der GPN also ich weiß nicht wie gestern Abend in den Raumschiffen bauen war das war ziemlich cool das waren so Talks wo man sich irgendwie auch schon ein oder zwei Tage davor drauf gefreut hat weil man wusste oder gehört hat die Leute sind toll die haben auch ein locker Redestil und die zeigen was interessant ist aber irgendwie so in der Sprache dass ich auch verstehen kann wenn ich mich mit dem Thema nicht auseinander gesetzt habe eben solche Sachen wo man weiß das ist cool und da freue ich mich drauf das eben selbst irgendwie zu kreieren das wäre ja auch ganz cool wenn man das selbst machen könnte und naja dann könnte man zum Beispiel auf so eine hypothetische Wunschliste auch Leute draufstellen die man auch mal gern da hätte also ich meine ob die dann kommen ist eine andere Frage aber zum Beispiel ich weiß nicht wer sie kennt ist die Queen of Shitty Robots eine Schwedin die macht ziemlich coole Roboter die eben nicht das tun was sie sollen oder das tun was sie sollen auf eine nicht besonders erwünschte Weise hat sich auch ein Haavaschroboter das war ihre letzte Kreation glaube ich es könnte auch auf Youtube anschauen also der drückt dann Chumbo auf ihren Kopf und dann kommt eine Hand und die haut sie praktisch auf den Kopf und das ist der Haavaschroboter und sie hat sich eben auf diese Shitty Robots spezialisiert und ich finde es irgendwie cool wenn man sie da hätte oder zum Beispiel Leute wo ihr sagt es sind vielleicht keine Gesichter die irgendwie jeder kennt oder auch Leute von denen man gehört hat und das ist irgendwie ein Prof der mich beeindruckt hat mit dem was er gesagt hat also in dem Fall ist es meine Psychologie-Professorin die einfach faszinierend zu Wissenschaftsteorien reden kann und ich meine das ist ja was uns auch hier betrifft weil irgendwie wir sind ja Nerds und wir finden Wissenschaft ziemlich cool und damit kann man tolle Sachen machen und so aber dann einfach auch zu verstehen dass Wissenschaft halt irgendwie so auch auf Spielregeln beru zum Beispiel auf der Annahme was sich nicht herleiten lässt aber womit man als Annahme gut ausgehen kann aber das ist eben auch zum Beispiel Paradigmen unterworfen die sich wechseln können zum Beispiel steht die Erd am Zentrum oder die Sonne oder wie immer und ich finde das wäre halt ein Thema was jetzt nicht direkt hart oder Software ist was aber sehr gut auf die GPN passen würde und dazu ist sie halt eine super tolle Rednerin oder irgendwie die Leute wo man eigentlich weiß was sie nicht kommen werden aber man fängt irgendwie cool mal dass man die gern da hätte wie zum Beispiel Astro Samantha also Samantha Christoforetti genau so hat ja jeder irgendwie seine eigenen Helden oder auch seine eigenen Themen die man vielleicht mal gern als Highlight auf der GPN haben würde naja und der dritte Punkt ist halt also im TCC gibt es eben diese Aussage hier ist ein All Creatures Worker und wenn ich mich so umschau auf der GPN dann finde ich es ziemlich cool dass irgendwie so von den Teilnehmern her schon relativ diverses Bild irgendwie da ist es geht noch immer besser natürlich aber das ist schon cool allerdings bei den Speakers sind halt irgendwie so die gleiche Kategorie hauptsächlich deshalb finde ich es wäre irgendwie cool wenn wir mehr Unicons da haben könnten also einfach Leute die wie auch immer aus der typischen Speakerskategorie die wir auf der GPN haben irgendwie rausfallen weil die bringen dann nochmal eine andere Perspektive rein oder was auch immer was ich sehr bereichernd finde und was ich auch ja also je mehr Angebot eben dass du wahrscheinlicher ist es dass für einen selbst auch irgendwie was dabei ist was einen irgendwie weiterbringt deshalb war eben meine Idee da so was zu machen aber wie ihr schon merkt ich habe keine Ahnung wie man das konkret machen möchte und ich will das auch irgendwie nicht im Alleingang machen deshalb will ich sehen was euch daran auch noch interessieren würde und ich habe noch weder irgendwie ein Etherpad wo man so was sammeln könnte noch irgendwie keine Ahnung was aber ihr könnt mir auf Twitter irgendwie so eine Private Message schreiben oder wie auch immer wenn ihr das gut findet oder er quatscht mich einfach an also ich bin auch noch heute und morgen da genau gibt es gleich was was jemand von euch dazu sagen oder fragen möchte ja im Wikine-Seite aufmachen ja ja also ich bin nicht sicher wieviel ich das mit den Leuten absprechen muss oder einfach machen kann aber das wäre eine gute Idee ja ok einfach machen wird mir gesagt super noch mehr also irgendwie so findet ihr das sinnvoll oder nicht so oder ok das sieht man dann na ich bin sinnvoll aber ich habe kein Partichkonferenz die das gemacht haben und dann aufgehört haben damit also das Problem hatten das immer so Freunde bekannte Gesicht eingeladen wurden Freunde von Freunden wurde da eingeladen ok das heißt es gab das also das ist gerade nochmal vom Mikro wiederholt es gab bei einer anderen Tech-Konferenz das Problem dass dann irgendwie nur der eigene Clan irgendwie so eingeladen wurde das stimmt und deshalb hatte ich wie gesagt das erste mal eine Wunschliste und wenn man das dann konkret mit der Olga abspricht hätte ich dann eben gedacht dass man vielleicht so was einführt ich habe keine Ahnung 5 festvergebene Plätze im Fahrplan und der Rest alles freie Einreichungen zum Beispiel da wäre dann irgendwie noch genug Platz aber letztendlich also ist es denn jetzt bei der GPN anders also ich meine jetzt ist es auch eigentlich auch bei Word of mouth das heißt es werden entweder die angesprochen die eh schon Talks gehalten hatten oder die die halt im Entropia Kern sind also insofern finde ich dann gut dann war ich glaube ich die letzte heute bei den Lightning Talks und dann entlass ich euch irgendwie in die Freiheit tschüss