BLOG / EVENTS - JSUNCONF



UNSER ROADTRIP ZUR JSUNCONF 2018


KONTAKT ›

W ir, eine Gruppe von 5 kompetenten und motivierten Entwicklern, waren auf der JSUnconf 2018 (kurz für Java Script Unconference) in Hamburg. Zur mentalen Vorbereitung haben wir uns vergegenwärtigt, dass die Veranstaltung eine „Unconference“ ist. Der Rahmen ist also etwas informeller und dynamischer. Beispielsweise kann jeder Teilnehmer und jede Teilnehmerin potenziell einen Vortrag halten. Dazu werden am Anfang mögliche Vorträge vorgestellt, über die dann abgestimmt wird. Schon bei der Vorbereitung fiel uns auf, dass die Reise aller Beteiligten von Kiel und Umgebung nach Hamburg und zurück zur besseren Planung dringend etwas formalisiert werden muss. Das haben wir dann umgehend getan.

1. ORGANISATION DER HIN- UND RÜCKFAHRT ALS LOGISTIKPROBLEM

Es seien R1,…,R5 Entwicklungsressourcen, V1,...,V3 Fahrzeuge, L1,…,L4 Orte und T1,…,T4 und T5,...,T8 die Winter- bzw. Sommerreifen von V2. Für R1 und R2 war eine Übernachtung bei L3 mit Anreise am Vortag vorgesehen, während R3,…,R5 bei L1 und L2 übernachten wollten. Leicht erschwerend wohnt R5 nicht in direkter Umgebung von L1, sondern bei L2. Wir haben dann R1,…,R5 auf V1,…,V3 verteilt. Genauer sollte V1 direkt von L1 nach L4 fahren – V1 transportiert R1 und R2, die auch bei L5 übernachten. Um Zeit und Benzin zu sparen, sollten sich V2 und V3, mit dem zunächst R5 alleine anreist, bei L31 treffen, um R3,…,R5 in V2 weiter zu transportieren, während V3 zunächst dort stehen bleibt. Der Umstieg wurde für Samstag um 08:00 geplant; hat dann auch super geklappt. Die Rückfahrt von R3,…,R5 am Samstagabend wurde ähnlich durchgeführt – nur eben rückwärts. Am Sonntag wurden dann die Fahrten von V2 und V3 mit leicht veränderten Parametern wiederholt. Die Planung haben wir ausnahmsweise ohne Software vorgenommen; es war alles etwas knapp, da bei V2 am Freitag noch T1,…,T4 durch T5,…,T8 ausgetauscht werden sollten2.

FD - JSUnconf-Bild_Entwickler
Bild 1: Die Entwicklungsressourcen sind am Start

2. ES GEHT LOS

Schon vor unserer Anmeldung waren wir sehr von der friedlichen und kommunikativen Atmosphäre3 angetan und haben anerkennend die flauschigen Onesies4 (Drachen, Katzen, Einhörner) bemerkt, die vom Organisationsteam getragen wurden. Gleich danach haben wir uns über die diesjährigen Goodies der JSUnconf gefreut – Aufkleber, Kaffeebecher, ein Kühlschrankmagnet und lila Socken! Wir haben uns dann zwischendurch auf dem Gelände der Beruflichen Schule für Medien und Kommunikation (BMK) etwas umgesehen. Das Essen (auch vegetarisch und vegan) war schon sehr lecker – wenig überraschend konnte es allerdings mit dem von unserem Koch Ralf vorgelegten Standard nicht mithalten.

FD - JSUnconf-Bild_Socken
Bild 2: Die Socken! Die Socken!
Zusätzlich hielt während der gesamten Veranstaltung ein nicht endender Strom von Kaffee unsere Konzentration aufrecht. Da es angeboten wurde, haben wir zumindest teilweise am ersten Tag an einer Yogastunde teilgenommen. Diese fand etwas überraschend im Sitzen auf einem Stuhl (und trotz des guten Wetters drinnen) statt. Nach einem Start mit der Wechselatmung Anuloma Viloma5 machten wir unter der Anleitung von Yogalehrerin Janne Heinssen noch ein paar weitere Übungen. Das war zum Runterkommen total super.

3. VORTRÄGE UND NOCH MEHR VORTRÄGE

Einer der ersten Vorträge, den wir gehört haben („Rapid Prototyping von Browser-GUIs“), wurde von Markus Siering von Xing gehalten. Die Idee hinter diesem Projekt ist es, handgezeichnete Layouts abzufotografieren und durch einen Machine Learning-Ansatz in echten Code zu übersetzen. Es reichten dabei schon wenige Trainingsskizzen, bis die Maschine verstanden hat, welche GUI-Elemente verwendet wurden. Die Idee zur Realisierung durch ein neuronales Netzwerk basiert auf einem Artikel aus dem Design-Blog von Airbnb. Die erkannten Layouts waren vergleichsweise einfach aufgebaut und der Prototyp hat erstaunlich gut funktioniert.

Ein weiterer Vortrag („Machine Learning in the Browser“) zum interessanten Thema Machine Learning wurde von der bunt kostümierten Lian Li6 gehalten, die entgegen häufigen anderslautenden Vermutungen nichts mit dem Hardware-Hersteller gleichen Namens (聯力) aus Taiwan zu tun hat. Als Beispielproblem diente die Bestimmung von Komplementärfarben aus RGB-Werten. Zwar kann diese Funktion auch direkt implementiert werden; es war jedoch ziemlich spannend, das Erlernen der gesuchten Funktion (das mit der auf TensorFlow basierenden API deeplearn.js bzw. seit kurzem TensorFlow.js realisiert wurde) schrittweise im Browser zu beobachten, wo es auch stattfand. Vorher wurden noch grob die mathematischen Grundlagen neuronaler Netze (gerichtete Graphen, Vektor-Matrix-Multiplikation usw.) umrissen.

Etwas unerwartet gab es auch einen reinen Theorievortrag („How Hard can it be“). Anna Melzer stellte anhand von äußerst anschaulichen Beispielen kurz einige Formalismen zur Akzeptanz von Sprachen vor (Endliche Automaten, Kontextfreie Grammatiken, Push-Down-Automaten, Turing-Maschinen). Dann erläuterte sie, dass diese Formalismen eine verschiede Ausdrucksstärke besitzen, die die Anordnung der akzeptierten Sprachen in der Chomsky-Hierarchie zur Konsequenz hat.

Weiter gab es noch eine offene Diskussionsrunde zum Thema Code Reviews und natürlich mehrere Vorträge über funktionale Programmierung in JavaScript. Zu den von uns verwendeten Technologien passte auch ein Vortrag, in dem die Implementierung von Web Hooks mit Amazon Web Services umrissen wurde.

Technisch gesehen ist für unsere Tätigkeit zunächst JavaScript als Programmiersprache relevant, da sie bei FLS sowohl clientseitig (in Browser-Komponenten) als auch serverseitig (in Node.js ) verwendet wird. Ebenso wichtig ist für uns das Thema Cloud Hosting, z.B. durch Amazon Web Services. Algorithmisch sind neuronale Netze insofern interessant für uns, als sie grundsätzlich auch für Tourenplanungsprobleme verwendet werden können.

5. FAZIT

Wir haben viele Eindrücke mitgenommen, interessante Vorträge angehört und ein paar Kontakte geknüpft. Anders als der Name der Veranstaltung es vermuten lässt, geht es keineswegs ausschließlich um Software-Entwicklung mit JavaScript im allerengsten Sinne; nicht alle Vortragsvorschläge waren zu technischen Themen. Auf jeden Fall sind neuronale Netze ein sehr interessantes Thema, auch wenn die Verwendung zumindest in einigen Bereichen kritisch7 gesehen wird. Natürlich ist nicht jedes Thema gleichermaßen relevant für unsere tägliche Entwicklungsarbeit; wir haben uns aber sehr über die offene Atmosphäre und die große thematische Breite gefreut.


1 Genaue Position des Pendlerparkplatzes Wasbek ist an den Geokoordinaten 54.070424, 9.909627.

2 Wir haben später gemerkt, dass wir für die Reifen Bezeichner vergeben haben, obwohl das für die Modellierung des Problems nicht nötig ist. Die Bezeichner wurden aus historischen Gründen beibehalten.

3 https://twitter.com/jsunconf?lang=de

4 https://twitter.com/tu404/status/988283859396685824

5 Sanskrit अनुलोम विलोम, Unicode macht’s möglich.

6 https://twitter.com/chimney42?lang=de

7 https://algorithmwatch.org/de/mission-statement/