It's already a week ago that I was at Devoxx for the first time. It's time to have a quick glance at all the technical impressions I took away.
The first session I attended was about Play. Of course I had heard about Play before since I am following the Scala sphere. But I never really considered it for what I do. This changed. Play seems to be really flexible and fast in the development cycle. Changes in the Scala source code became immediately effective in the running application. Very impressive.
Java FX and Embedded stuff
This combination was very well represented in various sessions. After years of stumbling around trying to reinvent (or more resell) the Applet, Oracle realized it is 2012. JavaFX is now marketed as the successor to Swing. Swing on the other hand is as dead as anything in the java land gets. It will stay where it is, i.e. no further development, which is hardly any news to developers using this stuff. With JavaFX we now have an alternative. It is still young, but it will get some foothold on the desktop. And on embedded devices like Raspberry Pi. Actually the first presentation I saw about this topic was run on a Raspberry Pi. Many gadgets used throughout the conference where using Raspberry Pies as well. This is the toy for geeks. I'll have to find a place to buy one.
There was a lot of Scala at Devoxx. Also lots of people doing Scala, but very little doing professional Scala. I was hoping for some advanced sessions, but there weren't that many. One awesome exception was Daniel SpiewakÂ´s talk about implementing a compile in a functional way. Very energetic. Fun to watch. Hard to grasp. You should watch it if can.
Also the Scala Puzzlers were nice.
Certainly not a big topic. But it was my talk, so I have to mention it. Man was I scared when I saw the rooms. Everything was happening in movie theaters. Even the 'small' rooms where huge and intimidating. But I survived the talk and there where lots of good questions. While this might mean I just didn't explained it very well, I consider it a sign that people found the talk interesting. No matter how scared you are of talking in public, you should do it. It's better than riding thrill rides. And if you don't know JUnit Rules you should have a look.
A big topic were robots. These guys where dancing for the key note.
If you want to develop software for these little guys you'll get financial support on the robot. You'll only have to pay 3000$ (or Euro?). Still a lot of money and a little much for me. But this gets into a price range where interesting robots can get purchased by somewhat normal persons. I guess we'll see more of these in the not to far future.
When Geeks Leaks
Neal Ford was doing a key not and it was awesome. As usual. He also mentioned his new book "Presentation Patterns". Since I read quite some stuff about the topic, I didn't considered his book before. This changed. I'll buy it sooner or later and I hope to find some useful tips especially for technical talks.
Infrastructure as code
Infrastructure as code is the idea to use code to setup all the infrastructure you need: database, application server, web server, you name it. A short talk discussed how you can actually do that from your JUnit tests! The key players are puppet, chef and Vagrant the later being a tool to setup virtual machines.
Never heard of it before, but I chatted with the inventor/CEO on the speakers reception, so I had a look. Hazelcast is an amazingly easy to setup distributed memory storage system. Just include the jar in the class path, and start up any number of apps, each asking for let's say a map and the data gets magically distributed to all the JVMs. That's the way technology should work. For a real production setup you'll probably do some more configuration, but when you want to distribute some data around a cluster Hazelcast is an option I'd look into.
The talk about Kotlin, the JVM based language build by Jetbrains was among the best. Awesome speaker Hadi Hariri. Kotlin itself wasn't that impressive. It copies a lot of stuff Scala has, but not the real fun stuff, like the type system and implicits. This makes the language much simpler, at least for Java developers, but also the benefit for switching is much less. Even more since Kotlin isn't ready yet, and Java 8 will include some of the missing features. At least you can be confident that it always will have decent IDE support.
There was more, maybe it will drip into future blog posts when I go through my notes.