Konferenzbesuch und gleich ein kleines Experiment, ich werde versuchen die von mir besuchten Sessions und hoffentlich auch ein wenig von der Atmosphäre einzufangen, los gehts :-):
Die Anreise aus Lübeck war eigentlich ganz gemütlich und nachdem ich in Büchen auf die aus Hamburg anreisenden Kollegen Jörg und Melwin getroffen bin, kam so langsam auch etwas Leben in die Figur, ich bin und bleibe nicht für das Aufstehen vor 6:00 Uhr gemacht.
9:30 los gehts!
html5 ist das Schlagwort 2011, zumindest wenn man Sebastian Meyen glauben darf, welcher soeben die webinale/IPC/RailsWayCon eröffnet hat. Und, der besondere Hit, mobile ist abgeschafft, weil alles ‚irgendwie‘ mobile ist, wobei ich hier immer noch super viele Laptops sehe.
Keynote Bundesbeauftragter für den Datenschutz Peter Schaar
Viele Warme Worte, so lässt es sich wohl am besten zusammenfassen. Ich hab bei Formulierungen wie „Weiterentwicklung von Privatsphäre und Datenschutz“, „Wiedererlangung der Hoheit über seine Daten“, etc. immer echte Schwierigkeiten das in etwas zu transformieren, was ich wirklich in der Praxis verwenden kann. Wobei ich wenigstens eine Sache mitnehme, auch bei mir ist weiterhin „Privacy by default“ way to go, auch wenn ich da nicht immer mit Kunden einer Meinung sein werde. Was ich allerdings gar nicht teile ist die Ansicht der Herrn Schaar, der sich für ein „Don’t Track Me“ im Browser ausspricht, da bin ich eher skeptisch ob Sites die wirklich evil sind, diese respektieren.
Designing multilingual Applications, Kore Nordmann
Der Vortag beginnt bei den Basics wie z.B. das Detektieren der User Sprache via accept-headers. Als negatives Beispiel für Lokalisation verweist Kore auf IP basierte Lokalisation wie sie beispielsweise von Google. Recht hat er, ich habe mich auch schon des öfteren gefragt, was das wohl soll. Lokalisierte Dienste, ok, aber die Sprache möchte ich gerne selbst bestimmen.
Weiterhin wir das Language Handling von ezPublish als gutes, aber sehr komplexes Beispiel zitiert, welches aber einen mächtigen Wrapper benötigt um bedienbar und performant(caching) zu sein. Da gettext eine Abhängigkeit zu setlocale hat und setlocale nicht threadsafe ist, rät Kore dringend davon ab, in Szenarien, wo mehrere Sprachen verwendet werden, gettext zu verwenden und empfiehlt stattdessen QT Linguist. Die immer wieder gerne aufgeworfene Frage nach dem Key für die Adressierung von übersetzten Strings beantwortet Kore mit sprechenden Ids für Strings, z.B. der englische Text und zusätzlicher Context wie z.B. Modulname.
Da habe ich irgendwo auch schon andere Meinungen gelesen, die genauso nachvollziehbar waren :-). Auf der View-Seite sollte Formatierung von z.B. Zahlen über NumberFormator der Intl Extension geschehen. Diese ist nicht defaultmäßig aktiv, Benjamin Eberlei merkte allerdings an, das es im Symfony Projekt einen Wrapper dafür gibt, der die Methoden der die Schnittstelle abstrahiert und den man ggf. da wohl auch für andere Anwendungszwecke rausziehen kann.
PHP 5.4, Johannes Schlüter
Johannes Schlüter berichtet über Neuerungen von PHP und ich versuche mal im Schnelldurchlauf zusammenzufassen.
Zuerst mein persönlicher Favorit: Überraschung! Auch PHP 5.4 hat auch keine vollständige Unicode Unterstützung und ein Release Termin steht noch nicht fest.
Und im Schnelldurchlauf: sqllite(2) Engine unterstützt, default_charset utf-8, safe mode fällt raus, magic_quotes werden ersatzlos gestrichen, short open tags ala <?= $foo; ?> gehen unabhängig von den php.ini Settings immer.
Neu ist direktes ansprechen von Arrays nach einem Funktionsauruf z.B foo()[42], closures + $this, wobei der Ursprungscontext für $this angesetzt wird, Traits, das sind Methoden die über das Keyword use in z.B. Classendefinitionen genutzt werden können und dann noch einige Verbesserungen der Interactive Shell, die ich persönlich nicht so spannend finde, aber da Johannes diese zu verantworten hat, hat er diese natürlich angepriesen ;-).
Neu auch das JsonSerializable Interface mit der Methode jsonSerializable mit Hilfe dessen die Json-Serialierung via json_encode() beeinflusst werden kann. Und schließlich viele kleine Perfomance tweaks, wobei Johannes zwar keine plakativen Beispiele zur Hand hatte, aber lt. Benjamin Eberlei 20-30% weniger Speicherbedarf bei einigen Unittest Szenarien benötigt.
Ales ganz fluffig vorgetragen und insgesamt vor zu viel um hier in die Tiefe zu gehen.
The rise of the social App – trends to look for, Andrew Gill
Ich bekenne, ich halte von dem ganzen Social Media Gebrabbel insbesondere in einer so ausgeprägten Inkarnation wie wie sie Andrew Gill propagiert nicht wirklich viel! Ich lasse hier mal 2 Dinge stehen die mir in Erinnerung geblieben sind, die jeder für sich interpretieren mag: „I don’t call callcenters, I tweet my problem.“ und er würde sein Bewegungsprofil verkaufen, wenn er wüsste was die Maketeers damit tun. Wenn man davon lebt, das dies Szenario eintritt, dann ist es vermutlich opportun diese Position zu beziehen. Ist ja auch irgendwie alles Geschmackssache …
Agility and Quality, Sebastian Bergmann
In diesen Talk bin ich eher zufällig hinein geraten, da dieser Vortrag wohl „Mit Retrospektiven zu erfolgreicheren Projekten“ ersetzt hat. Ansich gabs dann zumindest für mich und meine Mitstreiter nichts wirklich neues. Außer vielleicht einer schönen Idee, die Sebastian über die Einführung von Usernamen in Facebook zu erzählen wusste:
So wie ich es verstanden hab, hat Facebook im Vorwege der Einführung des Username Features, quasi versteckte Tests der neuen API Funktionalität durch realen Traffic der User durchgeführt, eine Idee die ich zumindest im Hinterstübchen speichere, „wenn man mal die gleichen Problem wie Facebook“ hat, um mal Melwin zu zitieren.
Your Tests are lying!, Sebastian Bergmann
Der Vortrag von Sebastian Bergmann zum Thema Tests handelt in den ersten 10 Minuten über das Testen und oder eben nicht Testen von Gettern und Settern und endet in der Conclusion das man das eben machen kann, oder auch nicht. Ich scheine währenddessen ob der schlechten Luft kurz den Faden verloren zu haben, da sich mir nicht unmittelbar erschlossen hat, warum das eine wichtige Frage ist.
Ansonsten beinhalten seine Slides ein paar sehr schöne Beispiel, die anschaulich verdeutlichen, wie man eben nicht testen sollte, da lohnt reinschauen unbedingt.
Dann vielleicht noch eine sehr schöne Antwort auf die Frage aus dem Publikum wie man denn wohl Controller am besten testet: „Ideally your Controllers are so simple that they don’t need testing.“. Das lass ich mal so stehen.
Deeper into Git, Stefan Koopmanschap
Dieser Vortrag fiel qualitativ doch etwas hinter den anderen heute gehörten ab, im wesentlichen beschränkte sich das Vorgetragene auf eine kurze Erklärung der Kommandos rebase, bisect und blame. Darüberhinaus noch eine Erklärung eines typischen Workflows, wie er zum Beispiel von Projekten die auf github gehostet werden praktiziert wird und noch ein paar Verweise auf git SAS Dienste und zack, das wars, wie gesagt etwas dünn und entsprechend dann auch in 30 Minuten erledigt.
Mein Fazit des ersten Tages: Die Revolution scheint auszubleiben, es werden im wesentlichen bereits bekannte Themen vertieft. Darüber hinaus soll es aber wohl einen sehr guten Vortrag von Johann-Peter Hartmann zum Thema DevOps gegeben haben, den ich leider verpasst habe. Die Kollegen waren aber voll des Lobes! Und soeben gefunden: Ein Video dazu auf YouTube: klick!