BLOG / EMPLOYER BRANDING – JSUNCONF
UNSER ROADTRIP ZUR JSUNCONF 2018
27. April 2018
Florian Diedrich
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 weiterzutransportieren, 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.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.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 verschiedene 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.
4. 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.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.
https://twitter.com/jsunconf?lang=de
https://twitter.com/tu404/status/988283859396685824
Sanskrit अनुलोम विलोम, Unicode macht’s möglich.
https://twitter.com/chimney42?lang=de
https://algorithmwatch.org/de/mission-statement/