26 November 2010

Devoxx 2010

From 17th to 19th of November 2010 was the Devoxx in Antwerp. Here are some random notes about the sessions that I attended. I should have tweeted them right away, but I didn't, so a post will have to do.

Devoxx 2010 NotebookDay 1
At the beginning Stephan gave us a warm welcome. He was motivated as ever. :-) The following keynote on SE 7 by Mark Reinhold was nice but he was telling the same story what would be shipped in Java 7. I'm tired of hearing it. Cut the crap! Ship it! Just ship anything!

The first session was held by Heinz Kabutz about mad reflection. After years of reading his newsletters it was nice to see him in person. The title of his talk was very proper: madness! Thank you Heinz for this "mad" talk. It was very informative.

Joshua Bloch's performance talk was so full that the organisers closed the room 15 minutes before the session started. I did not make it in :-( So I had to change my plans and went for the "new stuff in Scala 2.8" presentation. Bill Venners gave many real code examples, but I didn't comprehend most of them. That's probably my fault. It's been some time since I had a look in their book. (@Devoxx Team: Maybe you could organise some kind of dynamic overflow room for sessions of well known speakers the next time, just to be safe?)

In the evening I wanted to attend the BOF about the state of Java SE 7. But the room was totally full and there was no fresh air. I started growing a headache and had to leave. Later that evening I did my first steps in Android development during the Visage BOF. Visage turned out to be cool stuff. Unfortunately the setup of the development environment took too much time. In the end Stephen Chin went through a working example in only a few minutes.

Day 2
The second day started with a presentation about the future of Java EE: "Bla bla cloud bla bla virtualisation bla bla service lookup bla bla more flexible bla bla specification bla bla". Hell this talk was boring! Fortunately the following talk by Kito Mann about GTD made it all up.

Later George Reese talked about how to operate at the cloud scale. His talk was a bit abstract, but contained nice slides. Just my style of presentation :-)

During lunch break I listened to a quickie by Costin Leau about @inject. He made it very fast paced. It was a good overview when one already knew dependency injection. I wish more presentations about technologies would be that compact. Well done!

Devoxx 2010 crowded main hall
After lunch Kirk Pepperdine showed how to extend visual VM. It seemed easy. It would be great to use it for a combined view of all our monitored applications. Maybe I will give it a try.

Then there was the JavaPosse. It was horribly boring. I've never listened to them before. It's just not my style of humour. So I left the room to hear a presentation about HBase at Facebook by Jonathan Gray, who gave insights into a very large system. Especially the questions (in fact the answers) revealed interesting details: Distribution using bit torrent and deploying to a cluster of self-made app servers which are all monitored with JMX. Cool, cool, cool.

William Pugh, the creator of Findbugs presented some valid points about defects, e.g. "finding defects in code is so easy". He told interesting war stories about bugs at Google making it a practical presentation.

I had not made it into Joshua Bloch's first talk but at least managed to get a decent seat for his puzzler talk. And I got the first puzzler right! Oops, I hadn't known that EnumMap's entrySet() is that weird. Again, I hadn't anticipated the regular expression backtracking, although the pattern had looked weird to me. No - 1:3 for the puzzler brothers. Finally I got one right, well, most people did. And I got the last one right, too. Only few people noticed the lowercase el. Final score 3:3!

In the evening I attended the NoSQL BOF, my first real BOF. Everybody was very friendly and it I enjoyed listening to real world users of NoSQL. But in my opinion the committers and heavy users were unfair complaining about JVM memory management problems. It's obvious that data stores need a lot of memory. Thank you guys for sharing some thoughts with me NoSQL newbie.

Day 3
The third day started with a discussion panel about the future of Java. It was quite informative. The Paris JUG leader said that Java user groups are in fact JVM user groups That is true and it indicates the change in the Java ecosystem. Another interesting bit was the notion of comprehending <? super T> being a dividing line between journeymen and experts. This reminds me of Joel Spolsky's old post about the "pointers business". Are bounded wildcards Java's "pointers"?

Then we had a very fast paced vanilla Adam Bien. He demoed all the good things one is able to do with Glassfish in J2EE. He did some "no risk no fun"-styled live coding with a cinematic version of the Java pet store including aliens and predators. He had almost no slides. It was hilarious :-).

Last but not least my favourite session were the "boilerplate busters", i.e. project Lombok. Thank you guys for your work to get rid of ugly code. I will definitely start using Lombok at once. And thank you for making it such an entertaining presentation. You guys are great! It's a pity that there are no pictures of this talk.

Devoxx 2010 was a great conference. 12 out of 17 talks were excellent and I managed to loot some t-shirts from the exhibition. It was just a bit too full, but Stephan promised that they would close registration sooner next year. So I will definitely visit Devoxx again in 2011.

This post kinda sucks because I wrote it on my Android on the plane during the flight home, and on the train, and on the subway ...