This week on Tuesday and Wednesday parts of the German Java community met for JavaLand, the conference of the German Java community. In this post I would like to talk about the conference in general, some of the talks I attended and show you some facts about what happened on Twitter.
Location and Organization
The conference has the most unusual setting one can imagine: A theme park, Phantasialand in Brühl. Though I was rather sceptical about this it really turned out to be a good choice. The rooms for the talks were mostly well suited and it was a nice place for meeting outside. On Tuesday evening and at some times during the day some of the attractions were open for use. Though I am not really into theme parks I have to admit that some of them really were fun.
Another unusual choice of the organizers: There were no lunch breaks. Every talk started at the full hour and lasted for 45 minutes, starting from 09:00 in the morning and continuing to the evening. You had 15 minutes to change rooms and get a coffee. The attendees could decide by themselves if they would like to eat a really quick lunch in 15 minutes or skip one of the slots completely. This circumvents some of the problems with large queues at other conferences or breaks that are too long for some participants.
The quality of the food was excellent, with buffets during lunch time and even Tuesday evening. There were several main dishes, different variations of salads and dessert. One of the best conference catering I have ever seen.
There were quite some community events, e.g. the Java User Group café or the innovation lab with the Oculus Rift and a Quadrocopter.
The Talks
Most of the talks were in German but there were also some in English. I doubt that you get a lot of value if you don't speak German and go to JavaLand just for the talks, though there were several high profile non German speakers. On several partner stages companies presented talks done by their employees. I had an especially good impression of the Codecentric stage and regret that I couldn't go to see Patrick Peschlow talking on Elasticsearch, a talk I heard good things about.
Some of the talks had a common theme:
Reactive Programming
There was a surprising amount of talks on reactive programming. First Roland Kuhn, the project lead of the Akka project, introduced the principles of building reactive applications. He showed how choosing an event driven approach can lead to scalable, resilient and responsive applications. He didn't go into technical details but only introduced the concepts.
At the end of day one, Michael Pisula gave a technical introduction into the actor framework Akka, also referring to a lot of the concepts Roland Kuhn mentioned in the morning. Though I already have a good grasp of Akka there were some details that were really useful.
At the beginning of the second day Niko Köbler and Heiko Spindler gave another talk on reactive programming. It was a mixture of concepts and technical details, showing MeteorJS, a framework for combining JavaScript on the client side with the server side, and again Akka.
Profiling
There were two sessions related to profiling: First Fabian Lange of Codecentric showing different aspects of profiling in general and some details on microbenchmarking. I will especially take a closer look on jmh, a microbenchmark tool in OpenJDK.
In "JVM and application bottleneck troubleshooting with simple tools" Daniel Witkowski of Azul demoed an example process of analyzing a problematic application. He used system tools and VisualVM to find and identify problems. A rather basic talk but nevertheless it is good to keep some of the practices in mind.
Building Web Applications
Felix Müller and Nils Wloka presented two different web frameworks. Play, presented by Felix Müller, is a framework that is mostly developed by Typesafe, the company behind Scala and Akka. You can use it from Java as well as Scala though the templates are always written in Scala. I started building an application using Play a while ago and had a quite good impression. If I had a use case for a full stack framework I would definitively have another look.
Nils Wloka did a session that obviously wasn't for everyone: 45 minutes of live coding in Clojure building a complete web application for voting on conference talks using Ring, Compojure and Hiccup. I am currently working on a simple application using the same stack so I could follow at least most of his explanations. I especially liked that he managed to finish the app, deploy it to OpenShift and used it to let the audience vote on his talk. Quite impressive.
I like it that both frameworks support rapid development. You don't need to restart the server as often as with common Java web development. A lot of the changes are available instantly.
Miscellaneous
There were two more talks I'd like to mention: On the second day Patrick Baumgartner gave an excellent introduction into Neo4J, the graph database on the JVM. He showed several use cases (including a graph of Whiskey brands that spawned quite a discussion on the properties of Whiskey in the audience) and some of the technical details. Though I just recently attended a long talk on Neo4J at JUG Karlsruhe and already had seen a similar talk by Patrick at BEDCon last year it was really entertaining and good for refreshing some of the knowledge.
Finally the highlight of the conference for me: On the first day Stefan Tilkov gave one of his excellent talks on architecture: He showed how splitting applications and building for replacement instead of building for reuse can lead to cleaner applications. He gave several examples of companies that had employed these principles. I have never attended a bad talk by Stefan so if he's giving a talk at a conference you are at you should definitively go see it.
The Tweets
As I have done before for Devoxx and other conferences I tracked all of the tweets with the hashtags #javaland and #javaland14, stored them in Elasticsearch and therefore had the possibility to analyze them with Kibana. I started tracking several months before the conference but I am only showing some of my findings for the conference days here, as those can give good insight into which topics were hot. Each retweet counts as a separate tweet so if there is one tweet that gets retweeted a lot this will have a strong impact on the numbers.
Timing
Looking at the distribution of the tweets for the two conference days we can see that there are a lot of tweets in the morning of the first day and surprisingly in the evening of the first day. I suspect those are mostly tweets by people announcing that they are now starting to ride the Black Mamba. Of course this might also be related to the start of the Java 8 launch event but I like the Black Mamba theory better.
Mentions
A good incication of popular speakers are the mentions. It's a huge surprise that the twitter handle for the conference only is at third place. The two speakers Arun Gupta and David Blevins seem to be rather popular on twitter (or they just had a really long discussion).
Hashtags and Common Terms
To see the trends we can have a look at the hashtags people used. I excluded #javaland as it is contained in every tweet anyway.
The Java 8 launch event is dominant but Java EE 7 and JavaFX both are strong as well. There was quite some interest for Stephen Chin and his Nighthacking sessions. Neo4J and Asciidoctor are quite a surprise (but not #wegotbeer, a reasonable hashtag).
Hashtags are one thing but we can also look at all the terms in the text of the tweets. I excluded a long list of common words so this is my curated list of the important terms.
"Great", "thanks" and "cool" ... I am not that deep into statistics but it seems to me that people liked the conference.
Conclusion
JavaLand was a fantastic conference. I had some doubts about the setting in the theme park but it was really great. I will definitively go there again next year, if you are in the area you should think about going there as well. Thanks to all organizers for doing a great job.