Last week I attended the 2013 edition of what is likely the best Java conference around: Devoxx. This year I decided to put a small recap of the week on my blog.
I’ve been returning to Antwerp each year since 2006 when Devoxx was still called Javapolis. Besides soaking up the contents of the conference it is also a great opportunity to catch up with former colleagues and old friends. As usual I arrived Sunday afternoon to avoid the queues at monday morning when picking up the goody bag and wristband.
With the wristband – that contains an NFC chip – you can obtain your lunch, pick up goodies or enter raffles at the sponsors’ booths, and also use a sign in the corridors of each conference room to “like” or “dislike” the session. Although this sign is a good idea in itself, it does unfortunately add to the already congested queues leaving and entering the rooms. I would like to see this sign getting replaced by a voting option from within the Devoxx iOS and Android apps (like they introduced in this years JFall conference) in next year’s edition.
I attended two 3-hour University sessions followed by a couple of 30-minute ‘tools-in-action’ presentations.
AngularJS End to End
Presented by the AngularJS team from Google in three sperate parts: part I “Building a basic app” by Brad Green, part II “Internals of AngularJS”by Misko Hevery, and part III “New stuff (in 1.2)” by Igor Minar and Brian Ford. Very nice session and although I’ve been playing around with AngularJS since March of this year, I still learned alot.
Java EE7: What’s New in the Java EE Platform
Nice overview of the new features in JEE7 by Arun Gupta and Antonio Goncalves. Brought with a lot of humour and as a nice added feature they took questions via a Twitter hashtag.
Unfortunately, with Oracle’s announcement to stop with commercial support for Glassfish, we now have to wait for the first supported JEE7 application servers to arrive on the scene (please hurry-up wildfly!).
As a side note to all the French speakers: take an example from Antonio. He must have been the only French guy at Devoxx who speaks English very well. I got really fed up with all the Frenglish (e.g., “my browser is not my brother“). I only hope that next year Stephan Janssen – and the rest of the selection committee – can refuse the Frenglish speakers, like he already promised in 2011 during the announcement of Devoxx France.
Project Lombok: Return of the Boilerplate Busters
Nice 30-minute introduction to Project Lombok by Reinier Zwitserloot and Roel Spilker. Despite their “Ghostbusters sketch”, I definitely will be checking out the project sometime soon.
Fluentlenium, UI Testing with Less Boilerplate
Fluentlenium appears to be a nice, fluent-style wrapper around Selenium. It is also something I plan on looking into in the near future. Unfortunately the presentation by Mathilde Lemee was quite impossible to follow (see my remark about the Frenglish speakers).
A Hint of NoSQL into my Java EE
Again a presentation in Frenglish. This time by Guillaume Scheibel. Guillaume talked about Hibernate OGM: a “proof of concept” project for mapping JPA 2.0 to NoSQL datastores. Currently they are working on modules for Infinispan, EhCache, MongoDB, and Neo4j.
Autumn Collections: from iterables to lambdas, streams, and collections
Another 3-hour session presented by a Frenchman, but fortunately José Paumard speaks decent English. As the title of the talk already suggests, this was a very good introduction into the most important changes that are coming in Java 8 next year. As a bonus, Brian Goetz was invited to perform several interludes by answering questions that were asked via Twitter.
Te Modern Java Web Developer Bootcamp
I’ve had the pleasure of attending Matt Raible’s previous appearances at Devoxx. So I had high hopes for his university session, and I surely wasn’t let down. Matt gave a detailled overview of what it entails being a modern (Java) frontend developer and what frameworks and toolsets to use.
JUnit PowerUp – Practical Testing Tips
A 30-minute session by James McGivern about the possibilities and tools that can be used when taking concurrency into account when unit testing.
Brian Ford’s half an hour talk about Karma. Basically a re-run of last year’s presentation of one of his colleages on Testacular. The only difference? Testacular is now called Karma.
The keynotes started off with two guys, calling themselves Meta-Ex, performing live music by coding in Clojure…
After that Stephan Janssen presented the usual statistics about the 12th edition of Devoxx: 3500 attendees (500 too many IMHO) from 40+ countries, 200 presentations in 9 tracks, #devoxx trending topic in Belgium. Next, he invited Daniel de Luca to the stage to talk about Devoxx4Kids, which is going viral. Finally, Stephan talked about his other big project, Parleys: the talks will be published before the holidays, they will be free for the attendees, and finally he talked about his deal with PIAS Comedy to host shows from (standup) comedians.
Finally, there was the obligatory keynote by Oracle. Mark Reinhold and Brian Goetz talked about the past, present, and future of Java and the JVM. And Stephen Chin and Richard Bair showed some demos with JavaFX, Raspberry PI, and a chess playing robot.
UI Engineer – the missing profession
From the title and description of the talk, I had some high expectations. But when Dierk Koenig – after a rather boring introduction of half an hour – started talking about his open source project OpenDolphin instead of the UI Engineering profession, I just had to leave.
A 15-minute “quicky” by James Ward on his project WebJars. WebJars are client-side web libraries (e.g., jQuery or Bootstrap) packaged into JAR (Java Archive) files. This makes managing the client-side, non-Java dependencies much easier. I have to investigate further…
How to participate in the future of Java
Talk by Heather Vancura and Patrick Curran from the JCP on the JCP and the way one can participate in the JCP.
The Habits of Highly Effective Teams
I’ve had the pleasure of seeing Martijn Verburg at several occasions (Devoxx, JPoint’s meetingpoint). Once again he managed to give a very humorous yet informative talk. This time about 10 point that make a team an effective team.
Elastify your application: from SQL to NoSQL in less than one hour
Basically a demo of CouchBase, ElasticSearch, and Kibana. About halfway through the presenters, Tugdual Grall and David Pilato, completely lost me due to their Frenglish. So I left.
Reactive programming patterns with Java 8 features
Nice presentation by Joshua Suereth about reactive programming (basically asynchronous and non-blocking, see also the reactive manifesto) using the new features in the upcoming version of Java.
The Bleeding Edge
Very nice talk by Martijn Verburg and Edward Warburton about their experiences at their startup jClarity with using a “bleeding edge” tool stack. They talked about both the upsides and especially the downsides of the modern tools they had chosen (Groovy, AngularJS, Vert.X, MongoDB, Chef, Bootstrap). Especially nice to hear a nuanced report on MongoDB now that the NoSQL hype seems to have somewhat calmed down.
Keynote by Google’s Lars Bak about Dart 1.0.
Distributed Systems using Hazelcast
I was very impressed by the demo Peter Veentjer gave on Hazelcast. Hazelcast is an in-memory data and compute grid. But unlike solutions like Infinispan or Terracotta, Hazelcast is a library and not a framework or out-of-the-box product; it is a 2.5MB jar without external dependencies that can be included into your application, making it possible to scale out at the application level. I definitely have to try to find some spare time to mess around with the library.
Security test automation in software development using open source tools
A very decent presentation by David Tillemans on three open source tools that can be used in automating security testing: findBugs, PMD, and Zed Attack Proxy (ZAProxy) from OWASP.
Spring Framework 4.0 – the next generation
A very long and boring enumaration by Sam Brannen about (almost) every new detail in Spring 4.0.
Building a REST+RPC API in 30 minutes
Ludovic Champenois from Google began by saying that the talk about AppEngine was prepared by someone else who couldn’t make it, and that he took over last minute. And that was exactly what it felt like: someone who was following slides and trying to give a demo but had no idea what he was doing. Added to, that the speaker also spoke in Frenglish, which I couldn’t really reconcile with him working for Google in California, of all places.
Designing a REST-ful API with Spring 4
To me, this talk by Ben Hale, was by far the best session of Devoxx 2013. He started with a thorough introduction of REST and HATEOAS and gave a nice demo of how you can design a REST-ful API with Spring.
Spring Webapps + OSGi + dotcms = profit!
A talk by Will Ezall from dotcms about dotcms. I couldn’t quite follow along during his talk and demo, and I also didn’t win one of the ChromeCasts they gave away!
Batch applications for the Java platform (JSR 352)
My last session of the week was a talk by Scott Kurz, the spec lead from IBM for the JSR 352. A very dry overview of batch processing in Java.
As ever, the organization of Devoxx was perfect, and hanging out with old friends and former colleagues was nice as always. So in a way, I’m already I’m looking forward to next year’s edition.
But on the downside… There appeared to be three main themes this year: AngularJS, Lambdas, and Raspberry PI and robotics. But I have already been playing around with AngularJS since March, we still have to wait for Java 8 as it is expected to arrive in March 2014, and I’m not that interested in the PI. Adding to that – contrary to previous editions – there were no big scoops, no great announcements, no big-named speakers, and the overall quality of the presentations and speakers at the conference part wasn’t up to the usual level. So I left Antwerp missing some of the magic that every single one of the previous editions did seem to have.