Developer Conference 2013 #dchh

IMG_1885

I have been lucky to attend devcon 2013 this year. A big thanks to twt.de for making this possible. I’ll try to recap the conference, although it might be hard because so many things were going on.

First, some basic info about the conference:

The first thing I noticed even in my preparations before the conference was the broad approach in the talks and presentations. They really had subjects for almost everybody. And being kind of a generalist myself, this meant conflicts of interest in almost every slot. Which is a kind of luxury problem not many conferences have 😉

Here are some of my personal highlights of the conference:

IMG_1890

Location
Citing @muhdiekuh: „An IT Conference in a multiplex cinema is a no brainer.“… It was very refreshing to read code on slides from the last row of the room. Cinema displays are very well suited for all those gory details of tech presentations that get lost on a 800×600 low-res beamer. Everything was crystal clear and the big screen sometimes dwarfed the presenters which also led to some funny tweets all the while 😉 But really: THAT is the way to show slides!
One thing that kind of sucked about the cinema was that the foyer definitely isn’t meant as a place for hosting 1500 people at once. It is normally just an area that you pass through on your way out or your way in. Grabbing something to eat and talking to people was sometimes a bit packed. But I’d take that if I can have the big screen any day of the week 😉

IMG_1893

Orga
Tarek mentioned that they had Sarah, a professional event manager, working on the conference preparation for quite some time. This showed in many details, big and small. You found lots of people to ask questions about org-stuff and using cinemaxx staff for food and drinks was also brilliant. The coat check was also a nice detail and the overall organisation went smoothly. Kudos for all that small stuff which can really make the conference a pain if it doesn’t work.

IMG_1923

Food
The food was A-MA-ZING! Be it the nachos and popcorn at the cinemaxx or all of the food at the social event – it was nothing I expected, quite frankly. Some of my foodie highlights were the sea-salmon burgers, the currywurst wagon and the ready-prepared salad bar. Knowing three speakers (and their special treatment regarding beer coupons), there were always enough coupons to get drinks that night. The Hühnerposten was a very nice location as well and it needed some discipline to end the evening and return to the hotel to be fresh again for the next day.

IMG_1950

Now to some of my favourite sessions
The elasticsearch. talks ([1], [2]) were all very well prepared and had some nice uses-cases and demos to make you immediately want to try out some of the features, new and old. Also, it is always nice to compare that to the Google Search Appliance stuff that we are also very fond of at twt.de. Competition keeps you honest, I guess 😉
I also really liked the Neo4j talk. I am looking forward to version 2.0 now as some of the features will really drive the product forward. And who knows, maybe there are projects on the horizon someday. Graph-databases will definitely be relevant in the future and Neo4j does have some compelling features there.
I was a bit irked about the Zend Framework 2 session, but that might stem from the fact, that most of the best-practices seem like common sense to me and that I keep up with ZF2 use-cases for our projects anyway. Some nuggets of wisdom were to be found nonetheless, albeit very small ones 😉
Being a CMS guy, my motivation to see Marios React talk was more informative and it was interesting to see the Javascript XML stuff used in React.
And two more „meta“ kind of talks were also really entertaining: Judiths „Retrospektiven“ and Dr. Johannes Mainuschs „be nerd„, full of crazy ideas and pencil drawings with a big dose of real life bullshit bingo.

IMG_1937

Three is Company
Last but not least it was great to see all the friends and colleagues and talk about the sessions. It’s always good to discuss matters further and go deeper with the subject at hand. Being able to do that in a constructive setting is best. And although it was an exhausting trip, I never regretted taking it with Lars and Jaume 😉

The Zen TV Experiment

Broken TV Set

Lately I have been pointed to an interesting experiment about television. It is called The Zen TV Experiment by Adam Shand. I found it to be a very interesting read and I recommend you check it out although it is a bit longer than your typical 140 characters that we are so used to nowadays 🙂

It is basically a small experiment everybody can do themselves and it teaches us a lot about the television and its effect on our lives. Having studied media myself, I can relate to a lot of the scientific arguments – and watching television from time to time, I can relate to the described effects as well. In the experiment, you are basically asked to analyze television from a purely technical perspective to see what really happens when you are watching it. To look at the atoms of what makes the tv experience. Go read the piece and come back after that 😉

To me, it is not merely a question of the Technical Events – which are a big part of the experiment – that are manipulating our perception of reality and our own lives. On a more abstract level, there are also mechanisms that capture our brains and make it stay with the program for a lot longer than we initially intended to. In television programming, a principle called flow is used to perpetually keep us interested in the next episode, the next news show, the next part of the movie.

Flow is the reason that the commercial breaks are the longest in the middle of a show and not between shows. Our brains are wired to solve puzzles and to want to figure stuff out. That’s why you see so many teasers for the story line of the next crime show while you are still watching the afternoon cooking show. The flow preps your brain to be interested in what really happens and to stay with the program to figure that out. The nasty fact is that this works even for shows that you have already watched a few times. It is something that even people who know the principle and recognize the mechanism can’t really defend against when they don’t consciously discipline themselves to turn the tv off. Maybe you know the feeling of: „after the next show I will DEFINITELY turn the tv off“ and then find yourself still zapping at three in the morning.

So Flow in combination with the basic flood of technical events really makes it hard for all of us to turn the tv off. It might be best to not turn it on in the first place. Maybe we can start with the Zen TV Experiment and see for ourselves. Take care 😉

Image from Flickr User schmilblick

DevCon and TYPO3Camp RR

DevCon2013

Next week it’s travel time again. First, I am going to visit Hamburg again and have a look at what the Developer Conference has to offer. I am really looking forward to the event and I am thankful, that TWT has again made it possible for me to participate in the event. That’ll be November 7th and 8th for DevCon.

TYPO3Camp Rhein Ruhe 2013

As if that wouldn’t keep me busy enough, I’ll also be participating in the TYPO3Camp Rhein Ruhr in the Unperfekthaus in my hometown, Essen. It’s the first time for me on a CMS specific conference, but maybe they’re also interested in my general git-flow talk there. I’ll throw my hat in the ring and we’ll see what comes of it. The TYPO3Camp will be held on November 9th and 10th.

I’ll post updates regarding the talks and workshops I see here on the blog so stay tuned.

Stimulating Playgrounds

Fantasy Playgrounds

As a father of three I often think about what is good for my children. I came across this wonderful blog post about creative playgrounds on one new idea.

I think that creative surroundings do a lot for the upbringing of children. And I would appreciate it if normal city playgrounds would look more like these examples.

Maybe vandalism would also be less of a problem. In my experience people value the creative accomplishments of others more than rules and regulations. So that would be a classic win-win situation, even if the initial cost is higher. In the long run, you would have very creative playgrounds and it would cost less in total.

Feel free to make the world a better place for yourself and our children. Build some great playgrounds 🙂

Or, if you don’t want to build them yourself: support sikitas.de or similar associations.

http://www.inewidea.com/2013/09/03/56389.html

PHP Unconference 2013

Wow, a whole year passed since last year’s Unconference. This time we were able to visit Hamburg with 6 developers from TWT (thanks again for the support) to rock the (un)conference.

For me, the Unconference is always a very intense three day event. To make it even more intense, I decided to also propose a talk this time. So I through my hat in in the ring for „Versionskontrolle mit git-flow“ as we are currently implementing git-flow in our teams.

And it seemed to hit a nerve as I got voted in to give my talk in room H2 at the Geomatikum. A big thanks to everyone who voted for it. Being in the first slot was a bit of a challenge, but I hope people were entertained at least 🙂

For those interested in the subject, you can find the slides at Github.

After that I was a bit relieved and could concentrate on taking in the atmosphere, the great food and the very interesting talks other people held.

Of course there was too much good stuff to see so that we all had to pick. Here is my schedule:

You can find slides for the talks at the Unconference Wiki.

Not to forget the social aspect. We met with a bunch of colleagues, ex-colleagues, acquaintances, gurus, experts and Star Wars characters:)

Naturally there’s lots of entertainment in HH.

I hope that next year’s Unconference will feature another one of my talks and I am looking forward to the next incarnation…

Take care 😉

Vooza – cooler Name, witzige Videos

Vooza

Unter vooza.com finden sich einige der witzigsten Startup-Videos, die ich seit langem gesehen habe. Jeder Bereich der Silicon Valley Kultur wird pointiert auf den Arm genommen und es finden sich stetig neue Videos auf der Seite.

Welches ist euer Lieblingsvideo? Ich fange mal an mit „Code Pigs“ zum Thema Entwicklung 😉 Ist ja naheliegend…

Mobile Performance – doch eine eigene mobile Variante?

Basecamp Mobile

Responsive Design ist zur Zeit anscheinend das Allheilmittel, um mobile Varianten von Websites anzubieten. Zugegeben, es hat einige Vorteile, was die Wartbarkeit der Codebasis angeht und es ist auf den ersten Blick sehr charmant, nur ein einziges kombiniertes Set an HTML Templates verwalten zu müssen, das mit CSS Media Queries dann die jeweils richtige Darstellung auswählt.

Jedoch gibt es auch eine andere Sicht der Dinge. So haben 37signals bei der Entwicklung der mobilen Variante von Basecamp Next – ihrem Flaggschiff Produkt – eine parallele mobile Viewschicht gebaut, die heftig optimiert und vom Umfang her reduziert ist. In seinem Artikel beschreibt Jasons Zimdars, wie sie jeden einzelnen Screen angeschaut und für die mobile Benutzung optimiert haben, um die beste Performance herauszuholen. Er erläutert auch einige grundsätzliche Strategien und Überlegungen, die aus dem Projekt hervorgegangen sind.

Bei Basecamp Next betrifft die Optimierung auch „nur“ die Viewschicht. Models und Controller der Rails App werden weiterhin mitbenutzt. Somit hält sich der Overhead noch einigermaßen in Grenzen.

Das Ganze erinnert mich an die verschiedenen Ausgabekanäle bei Generierungs-CMS wie zB FirstSpirit, die für die verschiedenen Varianten dann auch noch statisches HTML (oder JSON oder XML oder oder oder) rauspusten und verschiedenste Anwendungsszenarien abdecken können. Hier bedeutet jeder Ausgabekanal ebenfalls zusätzlichen Aufwand und zusätzliche Templates.

Natürlich ist eine parallel zu betreibende Variante ein nicht zu unterschätzender Kostenfaktor beim Launch und auch im späteren Betrieb. Daher sollte man schon einen entsprechenden Anwendungsfall haben, in dem eine solche Optimierung entsprechend Sinn ergibt. Sollte dies der Fall sein, zeigt der Artikel, welche Performancegewinne bei einer dedizierten mobilen Variante zu realisieren sind.

http://37signals.com/svn/posts/3269-behind-the-speed-basecamp-mobile

Basecamp Next

Interessant ist auch der Artikel zur grundsätzlichen Performance von Basecamp Next und den verwendeten Technologien wie zB HTML5 pushState statt dem Neuladen von Seiten oder dem Hin- und Herschicken von JSON. Die Vorgehensweise grenzt beinahe schon an negatives „Partial Caching“ auf der Clientseite. Wobei auch die Caching Strategien im Detail erläutert werden. Viele der Optimierungen sind übrigens auch wieder in die öffentliche Rails Version zurückgeflossen.

http://37signals.com/svn/posts/3112-how-basecamp-next-got-to-be-so-damn-fast-without-using-much-client-side-ui

jQuery 2.0 und Plugin Repository

jQuery 2.0 released

Die neue jQuery Version steht seit dem 18. April zum Download bereit. Es haben sich einige Änderungen ergeben, die vor allem auch mit der Abwärtskompatibilität Schluss machen. Viele Entwickler haben darauf gewartet, dass endlich die vielen Hacks und Sonderwege für alte Internet Explorer Versionen entfernt werden, damit  der Code wieder schlanker und damit natürlich auch performanter werden kann. Aber: Die IE Unterstützung beginnt jetzt tatsächlich erst mit Version 9…

Um aber weiterhin jQuery auch mit älteren Browsern einsetzen zu können, wird nach der 1.9er Version eine 1.10er kommen, in der auf jeden Fall Sicherheitsupdates und kleinere Bugfixes weiter gepflegt werden. Die 2.0er Version ist übrigens API-kompatibel mit der 1.9er Version und das jQuery Migrate Plugin kann hier ebenfalls beim Update unterstützen.

Eine immer größere Bedeutung kommt den jQuery Plugins zu. Viele Funktionen werden hierüber nachgerüstet und manche Seiten sind ohne jQuery Plugins gar nicht benutzbar. Um der immer unüberschaubarer werdenden Flut an Plugins Herr zu werden, gibt es mittlerweile ein zentrales jQuery Plugin Repository, in dem die Plugins auch bewertet werden können. Unter plugins.jquery.com findet ihr die Übersicht und auch die Bewertungen der einzelnen Erweiterungen.

http://blog.jquery.com/2013/04/18/jquery-2-0-released/