Monday, November 14, 2011

Devoxx 2011 Day One


This is the 10th anniversary of Devoxx, and my first time attending. I've attended JavaOne three times, most recently as a speaker: I shared the stage with Dan Fraser and we presented on a fun project we helped out with back in 2008.

This year Dan and I thought it was time to give Devoxx a try. So far, we have not been disappointed!

Sessions

With one exception, the sessions have been great. Today was divided into two three-hour "university" sessions followed by a series of 30-minute quick talks about open source software tools.

As a Java expert and Scala neophyte, I found Mario Fusco's introduction to the Scala language this morning to be well-balanced and informative. Mario's material was challenging enough to keep me engaged for the full 90 minutes, but not so ambitious that it left me behind. After the break, Kevin Wright took the podium to talk about Scala as an Agile Enabler. Although Kevin is clearly well-versed in the professional use of Scala, I don't feel his talk was particularly focused on Scala as an Agile Enabler, or on any particular topic. Kevin's enthusiasm for Scala was clear, but unfortunately the talk was a bit too undirected. The redeeming feature was the Q&A session at the end, where Kevin related some of his real-world stories of Scala in daily use on a multi-person team.

After lunch, we were treated to a fascinating talk on Continuous Delivery by David Farley of LMAX. David presented in great detail on both the theory and practice of Continuous Delivery, which he pointed out is often overlooked by agile teams even though it's the first item of the Agile Manifesto. Part of what kept this talk so engaging were all the references to the actual process in place today at LMAX. This kept the talk grounded in reality, and I think attendees left with the feeling that through a process of gradual improvement, we can all eventually achieve a similar state of Release Nirvana.

Following the Continuous Deployment session, the pace picked up as the rapid-fire 30-minute sessions came up.

Aslak Knutsen and Dan Allen presented a lively talk jam-packed with Arquillian. From a cold start assuming no prior knowledge, Aslak and Dan introduced Arquillian, illustrated a dozen use cases with live working demos, then dug into the plugin API and demonstrated how to use and create(!) Arquillian extensions. Yes, this was a 30-minute talk and somehow they managed to finish on time. :)

Next up, Ben Evans stood in for Kirk Pepperdine and presented "Are your GC Logs Speaking to You?" Ben did a great job illustrating the ins and outs of HotSpot's generational garbage collectors, how to read and understand their log output, and covered a few need-to-know basics on the tuning parameters you can use to change the size of the different heap areas.

Finally, Marian Muller presented on an exciting set of features that SERLI is contributing to Glassfish: versioning and rolling upgrades. The versioning feature allows the server administrator to deploy new webapps into the container while retaining the previous version of the app in a deployed-but-disabled state. Rollbacks are then simple: you just ask Glassfish to re-activate the older deployment. During this switchover, there is still a period of downtime where the app is unavailable. This brings us to the companion feature: rolling updates. Although this is still a work in progress, Marian demonstrated several different policies for "no downtime" switchover between one active-and-deployed context and an inactive-and-deployed version.

And that was just day one. There are so many interesting speakers, I've already had to make lots of difficult choices. Good thing I'll have the chance to see what I missed on Parleys.

Surprises

It's cold here! From what I heard, I was expecting more moderate temperatures. Maybe 10-15ºC. So far, the tempature has been hovering around the 4ºC mark. Good thing I packed some layers.

The "hall track," which tends to be what I remember most about the conferences I attend, hasn't been working for me so far. At JavaOne, there were many opportunities to break the ice and start fascinating conversations with strangers: sharing tables at lunch, while queueing for a popular session, or in one of the many lounge areas set up throughout the venue. Here at Devoxx–this year, at least–breakfast and lunch are eaten at small standup tables, there is no need to queue for sessions, and I haven't spotted any designated lounging areas. Tomorrow I will just have to start picking people at random and saying "hi."

In Conclusion

I'm happy we chose to come to Devoxx this year. Antwerp is a beautiful city, Belgium is full of great beer, and I'm happy to support a truly independent community-run conference. I look forward to the next four days with eager anticipation.