DevCamp Karlsruhe: viele nette Leute, interessante Vorträge und jede Menge Spaß

Letztes Wochenende fand zum zweiten Mal das DevCamp in Karlsruhe statt. Nicht nur weil synyx auch dieses Mal als Sponsor auftritt, war ich beide Tage vor Ort. Nein, ich finde diese Art der Veranstaltungen einfach klasse. Eine lockere Atmosphäre, man trifft viele nette, aufgeschlossene Leute. Außerdem gefällt mir das Format. Es gibt hier keine Zuschauer, sondern nur Mitwirkende. Jeder Teilnehmer bekommt dabei die Zeit, seinen Vortrag, Workshop oder eine einfache Diskussionsrunde durchzuführen.
sessionplanung
Diese Gelegenheit haben  mein Kollege Christian und ich uns nicht entgehen lassen und haben gleich am Samstagmorgen eine Session zum Thema Devoxx4Kids gehalten. Wer sich dafür interessiert, kann sich die Slides auf der deutschen D4K-Website anschauen. Natürlich gibt dort noch mehr Informationen zu dem Thema. In einer lockeren Atmosphäre hat es uns sehr viel Spaß gemacht, den Anwesenden die Devoxx4Kids näher zu bringen.
Ich ließ mich anschließend von meinen Kollegen noch zu einer weiteren Session „JavaScript – Bad Practises“ überreden. Hey, und die Hälfte davon hab ich als Marketing-Mensch sogar noch verstanden. Dann war es auch schon Zeit für das Mittagessen. Ich habe mir etwas Zeit gelassen, da der Andrang recht hoch war. Aber lecker war´s. Den Samstagnachmittag und den größten Teil des Sonntags, habe ich dann mit vielen Gesprächen mit sehr netten Menschen verbracht.
Mein Fazit: es war ein tolles Event mit tollen Leuten. Jeder, der vor hat irgendwann einen Vortrag zu halten, sollte sich diese Gelegenheit nicht entgehen lassen. In lockerer Runde macht das Spaß und das Lampenfieber geht ganz schnell weg. An dieser Stelle sei den Organisatioren, den Sponsoren, Fabian Beiner für seine tolle Moderation und zuletzt natürlich auch ALLEN Teilnehmern gedankt, denn ohne die würde nichts funktionieren.
devcamp
Wie schon erwähnt, war mein Kollege Christian Mennerich auch dabei. Er hat ebenfalls eine kleine Zusammenfassung zum DevCamp geschrieben. Hier folgt sie:
Es gab viele technisch sehr interessante Vorträge auf dem DevCamp, die thematisch von Hausautomatisierung und Heimarbeitsorganisation über Suche und Java Performanceanalyse bis hin zu Programmierworkshops reichten. Wen es interessiert was er verpasst hat, kann dies noch hier nachschauen: http://lanyrd.com/2014/dcka/schedule/. Ein großes Thema waren immer wieder Webanwendungen, JavaScript und JavaScript Frameworks, aber auch die Graphdatenbank Neo4j wurde mit einem Vortrag beehrt. Im Folgenden werden für jeden Veranstaltungstag exemplarisch zwei Vorträge näher beschrieben, die besonders gefallen haben.
Der Samstag
Alexander Reelsen von ElasticSearch hat einen sehr guten Vortrag gehalten über die Kombination von ElasticSearch, LogStash und Kibana. Einführend motivierte er kurz die Notwendigkeit des zentralisierten Loggings, einerseits zur Analyse der betriebenen Systeme und zur Früherkennung von Kapazitätenknappheit oder Angriffen, andererseits aber auch zur Informationsgewinnung z.B. zu Marketingzwecken. LogStash als Mittel der Wahl folgt hier im wesentlichem dem Muster Eingabe –> Filterung –> Ausgabe. Daten können aus den verschiedensten Quellen in LogStash gelangen, darunter Monitoringtools, Datenbanken, Warteschlangen und viele andere. Ebenso vielfältig sind die Ausgabemöglichkeiten und -formate. Filter bieten zahlreiche Möglichkeiten, Daten zu konvertieren, anzureichern oder auszublenden. Exemplarisch hat Alexander demonstriert, wie syslog oder JSON Dateien eingelesen und in ElasticSearch gespeichert und durchsuchbar gemacht werden können. Mittels Kibana können Daten auf einfach konfigurierbaren Dashboards visualisiert werden. In einer schönen Live-Demo hat er gezeigt, wie sich beispielsweise die von meetup.com zur Verfügung gestellten Streams einfach indizieren lassen, um sie mittels Kibana und ElasticSearch analysieren und visualisieren zu können. Alexander hat seine Vortragsfolien öffentlich zur Verfügung gestellt: https://speakerdeck.com/elasticsearch/using-elasticsearch-logstash-and-kibana-to-create-realtime-dashboards.
Petar Petrov hat über seine Erfahrungen berichtet, die er gesammelt hat, als er neben seiner beruflichen Tätigkeit in 30 Nächten im Rahmen des von GitHub veranstalteten Game Off Wettbewerbs ein Spiel mit JavaScript programmiert hat. Das Ergebnis heißt Psiral, hat guten Platz im Wettbewerb belegt und ist unter psiral.herokuapp.com zu bewundern und zu spielen. Neben den Schwierigkeiten der technischen Umsetzung des Spiels hat Petar psychologische Komponenten beleuchtet: Die Schwankungen der Motivation, die Schwierigkeiten der Organisation ein solches Projekt neben seinem eigentlichen Beruf zu realisieren und die Notwendigkeit zu schlafen! Gespickt war sein Erfahrungsbericht neben technischen Aspekten auch immer wieder von kurzen Anekdoten über die Zusammenarbeit mit der Spieldesignerin, die nebenbei auch seine Ehefrau ist. Insgesamt ein sehr interessanter Bericht über die vielen Facetten der Projektplanung und -durchführung.
Der Sonntag
Tim Suchanek hat einen Workshop gleich in zwei Teilen gehalten, um live zu demonstrieren wie gut MEAN funktioniert. MEAN steht für MongoDB (eine dokumentenbasierte NoSQL Datenbank), Express (ein Webframework für Node.js), Angular.js (ein JavaScript MVC Framework) und Node.js (eine Laufzeitumgebung für JavaScript). Den Rahmen für beide Vorträge bildete ein online Einkaufszettel (wage angelehnt an die Meet&Eat Plattform Crowddining, an der Tim mitarbeitet).Vorbereitet hatte Tim lediglich die HTML und CSS Dateien für den fertigen Einkaufszettel, als als Ausgangsprojekt diente das auf GitHub zur Verfügung stehende angular-seed. Der erste Vortrag bestand aus der Erstellung eines Backends basierend auf der MongoDB, Node.js und Express. Vorbildlich testgetrieben entwickelte Tim in 45 Minuten eine REST-Schnittstelle, die die nötigen CRUD (create, read, update, delete) Operationen bereitstellt, um den Einkaufszettel zu füllen und zu bearbeiten.
Im zweiten Workshop zeigte er, wie mit Angular.js ein zugehöriges Frontend entwickelt werden kann. Zusätzlich kam neben Angular noch Restangular zur Anwendung. Tim demonstrierte, wie einfach es ist, Kenntnisse in der Technologie und den Framworks vorausgesetzt, die notwendigen Anzeigeelemente und -effekte zu generieren und mit Funktionalität füllen.
Der Workshop war sehr gut besucht und lief beeindruckend flüssig. Die wenigen kleinen Stolpersteine nutzte Tim geschickt, um auch die Debuggingmöglichkeiten und -techniken zu demonstrieren. Der Einkaufszettel steht auf GitHub zur Verfügung: https://github.com/crowddining/einkaufszettel.