Nik

Developer Conference 2013 Tag 1

Hier mal ein ausnahmsweiße deutscher Blogpost ;)
Ja, da ist der erste Tag auch schon rum von der 2013er Ausgabe der Developer Conference. Diese findet schon das dritte mal statt, allerdings das erste mal in dieser geilen Location:

(Cinemaxx Dammtor, Hamburg)

Gemütliche Sitze, von überall eine gute Sicht auf den Speaker und die Präsentation, super verpflegung - was will man mehr?

Die Talks

Leider ist gerade wieder eine Grippewelle im Umlauf so das doch einige Talks nicht stattfanden weil die jeweiligen Speaker krank waren. Trotzallem war das Programm am ersten Tag qualitativ sehr gut, vielfältig und reichhaltig. Ich habe in jedem Timeslot einen Talk gefunden der mir zusagte. Hier die jeweiligen Kurzzusammenfassungen:

  • Technologiewandel: Von der Socket- zur HTTP-Kommunikationsarchitektur:
    Der Speaker schien etwas aufgeregt zu sein, was aber nicht wirklich schlimm war da er fachlich ordentlich was auf dem Kasten hatte. Er ging die Histroy von MyTaxi's Softwarearchitektur durch, welche Entscheidungen wann, wie und warum gefallen waren. Insgesamt eine nette übersicht und best-practices für deren Bedürfnisse wurden erklärt. Das einzige was mir am Ende noch fehlte war eigentlich so ein "Lessons learned". Das war zwar impliziert durch die Erfahrung aber so gesammelt auf einer Folie wäre das schon ein guter Abschluss gewesen. So war es aber auch ein netter erster Talk zur "Einstimmung" in den Konferenztag.
  • The Architecture of Stack Overflow
    Stackoverflow ist ein sehr interessantes Projekt mit vielen Facetten. Was ich vorher nicht wusste war das die Infrastruktur auf .net basiert. Da musste ich erstmal mit einigen Vorurteilen bei mir Aufräumen. Der Speaker hat sehr deutlich deren Vorgehensweise bei der Featureimplementierung, dem Deployment und dem Testing wiedergegeben sowie deren Infrastruktur dargestellt. Stackoverflow macht es sehr konträr im Vergleich zu dem Hype um TDD und setzen eher komplett auf das KISS Prinzip. Getestet wird "live" an den Usern (unter http://meta.stackoverflow.com). Es gibt zwar ein paar LOC für tests aber die stehen in keinem Verhältnis zu den LOC des gesamten Projektes (gut 100k .Net code lines). Ich denke die "perfekte Wahrheit" liegt für mich irgendwo in der Mitte. Auferzwungenes TDD auf biegen und brechen nützt nichts und verleitet oft dazu dinge zu Abstrahieren und damit zu verkomplizieren wo man es eventuell gar nicht braucht (wenn man es simple hält). Alles im Freestyle zu coden macht natürlich genauso wenig Sinn. Ich denke hier spielt auch viel die amerikanische Mentalität eine Rolle...
  • Die JavaScript Cloud
    Da war er, der erste Buzzword-Talk. Dachte ich zumindest. Ich mein bei Cloud denken wir doch alle das es ein Buzzword-Bingo wird oder? Nun gut, der Talk bzw. der Speaker hat mich eines besseren belehrt und meine Finger jucken schon ein wenig das "jWebSocket Framework" auszutesten. Der Speaker hat absolutes Fachwissen und konnte dies auch an diversen Stellen zeigen, auch wenn es natürlich viel Produkt-Show um das jWebSocket Framework war. Ein für mich vollig neuer Ansatz, Java Classen innerhalb von JS aufrufbar zu machen hat mich schon etwas geflasht. Das mit den WebSockets ist nichts neues (für mich) gewesen, daher war ich da weniger beeindruckt und auch seine Demo dazu war dem was WebSockets eigentlich können auch nicht wirklich würdig. Interessant war noch die Hot-Deploy Methode die er gezeigt hat wo die WebSockets ihre Verbindung aufrecht erhalten. Mal schauen ob ich das jWebSocket Framework demnächst mal in einem meiner Gamejam Projekte anwenden werde.
  • lycheeJS – JavaScript Engine
    Mein favorite Talk für den ersten Tag. Daher leider viel zu kurz geraten. Mehr oder weniger zum Glück war parallel zu diesem Vortrag ein NodeJS Vortrag wodurch das Kino 8 wo der Talk stattfand nur wenige Plätze gefüllt waren. lycheeJS ist eine Platformunabhängige JS Engine die ursprünglich für 2D Games entwickelt wurde aber mittlerweile ein deutlich größeres Featureset besitzt. Ich werde das Projekt auf jeden Fall in mein Github Repo aufnehmen und damit rumspielen. Das Hauptproblem, welches auch am Ende in der Fragerunde von einer Person angesprochen war ist das dem Projekt aktuell "Eyecatcher" Fehlen die dessen Performance zur geltung bringen. Der Vortrag war ansich sehr solide, hat Spaß gemacht zuzuhören und der Speaker ist Awesome auf seinem Gebiet. Auch wenn nicht in allen Dingen seiner Meinung war (u.a. was die Cheat-Protection anging), welches aber auch durch die Fragerunde und einer Frage von mir aufgeklärt wurde. Ich hab richtig Lust an dem Projekt zu contributen, werde aber wohl für mein privates Prototype-Projekt nicht auf lycheeJS aufsetzen können, da der 3D Support noch nicht so fortgeschritten ist, was z.b. bei der GooEngine schon der Fall ist und auch deren Kernfeature ist.
  • PHP core, get rid of bugs and contribute
    War recht ähnlich zum Vortrag ausm letzten Jahr von der DCHH12. PHP hat sein Release-Prozess umgestellt, man kann nun mitwirken und für neue Features Voten etc... Dafür war der Praxisanteil deutlich höher. Einfach mal einen Segfault provozieren und dann den Stacktrace sichern und an die PHP-Devs geben - oder nochbesser: Selber fixen. Ja, das kann man durchaus... Ich hoffe damit hat Pierre (der Speaker) den Devs etwas die Angst genommen für PHP zu contributen. Lustig finde ich auch http://bugs.php.net/random um einfach mal einen Random-Bug zu nehmen und zu fixen. Jeden Tag eine gute Tat, oder wenigstens jeden Monat mal einen Bug in PHP fixen ;)
  • PHP Erweitern
    Angelehnt an den vorherigen Vortrag ging es nun darum ein PHP Modul zu schreiben bzw. genauer gesagt eine Extension. Mir war zwar vorher schon grob klar wie das gehen würde, war auch nett das mal anhand einer Demo live zu sehen, allerdings fehlt mir da der Usecase in der Praxis und zum anderen fühle ich mich in C nicht so fit als das ich ein komplexeres Modul drin schreiben könnte. Nett war auch noch das eingehen in Threadsafe programmierung mit Hilfe des TSRM (ThreadSafeResourceManager) welches neben dem PHP-Core angegliedert ist. Bei der Demo wurde auch klar das sehr oft Macros eingesetzt werden um nicht seine eigene PHP Suppe zu kochen und viele Fallstrike anhand von Macros verhindert werden sollen. Das fand ich allerdings schon etwas zu viel des Guten. Klar nimmt das erstmal die Fehlerquote ab wenn man neu mit C anfängt eine Extension zu basteln für PHP aber dann wissen die Leute eben auch nicht was die da machen, wenn die diese Macros überall verwenden. Vielleicht sehe ich das aber auch nur etwas zu kritisch...
  • Handle with Care: Fehlerbehandlung in JavaScript
    Überraschend wenig neues für mich. Ich dachte das dort nun fancy stuff auf mich wartet, aber Fehlerbehandlung ist eben auch einfach nur Fehlerbehandlung. Da gibt es in JavaScript nur 1-2 kleinere Dinge die man beachten sollte und so basis Prinzipien wie "Fehler dort behandeln wo sie entstehen" zu befolgen ist auch klar. Im worst-case das window.onerror Event nutzen um dann alle bis dahin hochgeschmissene Exceptions zu catchen und an einen eigenen Loggin-Service zu feuern ist auch kein Hexenwerk. Der Speaker war gut und die Präsentation war auch absolut okay. Vielleicht habe ich mir von dem Thema auch nur etwas zu viel erhofft. Die Fragerunde am Ende war eher etwas Slapstick, zumindest was die Fragen anging - da fehlte bei einigen etwas Grundverständniss für ErrorHandling... Aber es war ja schon eine fortgeschrittene Uhrzeit, vielleicht lag es auch nur dadran.


(Popcorn/Nachos)


Sehen die nicht putzig aus? Sie wurden auch gut weg geputzt...

Am Ende des Tages ging es dann noch in den "Hühnerposten" zur Afterwork Party:

Die Musik war gut, die Getränke mehr als Ausreichend und man konnte noch einen netten Plausch untereinander halten. Das Motto "Das große Klassentreffen der Entwicklerszene" wurde damit auf jeden Fall perfekt getroffen. Ich habe viele alte Kollegen aus der Unizeit getroffen und auch viele andere Gesichter die man öfter auf den Konferenzen antrifft.

Date: 07.11.2013