Friday, September 11, 2015

What I learned at JavaZone 2015

This week I was lucky to go to Oslo to attend JavaZone, which is what they say "the largest community-driven developer conference in the world".
No matter that's true or not it is for sure one of the coolest conferences I have ever been to. It is generally extremely well organized and on top of that they have some really cool features like:

  •  an overflow area, where you can watch all sessions on a split screen and switch audio using a headset!
  •  different food stations, that open in the morning and serve delicious food all day!
  •  recordings of all sessions, uploaded to vimeo and made available in a couple of hours!
  •  ... many more cool things (e.g. I got a Raspberry Pi as a Sopeaker's present :-))

But that such a conference is all about the people and the content, which was equally great:


The first day I started with a talk about alternative implementations for collections. The speaker maintains a library with something he called a gap list, that had some clever techniques to make positional insertion cheaper (compared to ArrayList). It made sense to me and the measurements looked good, although there's a last bit of sceptic on my side, as he did the measurements "on his own".

The next session was the one about Neo4J by Michael Hunger. I already knew Neo4J a bit as did some examples using Xtend some time ago, but it was still very interesting. He showed a cool demo, where he imported data from twitter, github and stackoverflow and joined it together in the database. Also I didn't know the cool web frontend he used, that lets you enter some Cipher code (the Neo4J query language) and shows the results as dynamic diagrams. Cipher btw. is implemented using Scala's parboiled. They really should consider reimplementing it with Xtext, so they get proper editors for free ;-)

Next up was Rafael Winterhalter, talking about his open-source library "Byte Buddy". Byte Buddy is a bytecode library, that comes with builder APIs and some hooks for agents to make it easier to do byte code generation at runtime. The talk was well presented and very interesting. I especially liked the style of his slides, which were very reduced and calm (I'm kind of sick of stockimage-heavy slide decks - I know I use them myself too much :-))

The fourth talk was "How to make your code sustainable" by Christin Gorman. The room was very crowded and it seems like most people enjoyed that talk very much, as she was very enthusiastic. For me it was a bit too superficial and the enthusiasm was tiring me at some point. (nitpicking on)Also there were strange code examples that just wouldn't compile (nitpicking off).

"The Rule of Three" with Kevlin Henney came next. I went to the room, and of course it was overflown. It's Kevlin Henney after all. So I got to try the overflow area for the first time, and it worked flawlessly (as everything else at this conference). The talk was cool, it's always a pleasure listening to him, although he was doing jokes on IDEs :-). I didn't learn many new things (maybe some quotes I have forgotten about now already) but it was super entertaining.

Next up it was my turn to give an introduction to Xtext. The talk went well I think, there were at least some very excited attendees approaching me after the session. As always most of the talk is a demo. It has been recorded and you can watch it here (find all the other talks in the same album).

After that talk I went to the hotel to watch the silly Apple Event (what a waste of time!) and were too tired to get up and go back to the #AweZone party. Oh my, I'm getting old!

On the bright side, I was able to get some work done in the evening and wouldn't have a hangover on ...


I took the time to get in touch with some people and also get more work done. Also I found some cozy places on the conference site and enjoyed the great coffee, food, and ice cream along with some coding.

The only talk I attended was Neal Ford's take on "Microservices". As you might know microservices are the thing, these days and there were very many talks on this topic at JavaZone. I was reading up on microservices from time to time in the past months to understand what that hype is all about and I was still somehow skeptical. But Neil managed to explain the benfits so that I finally understood how, why and when such an architecture might be helpful. At the same time I also figured how much stupid stuff you can read about this topic on the internet. But maybe that's the case with every heavily hyped topic.

After that talk it was time for me to get to the airport and catch my plane to Hamburg. Everything went well and I was already sitting in front of the gate, when Germanwings sent me a note that my flight got canceled (40 mins before boarding). As I knew I couldn't do anything about it I rebooked for the next flight Friday 12:15 and booked a hotel room.


Breakfast, some work, and then to the airport. On my way I wanted to check the boarding time once more: 20:15. Huh? WTF! They silently canceled that second flight, too, and rebooked my for an even later flight! Fun times.

So now I'm sitting here in front of Oslo Airport writing this and wait for the next possible flight to go out tonight. I hope they won't cancel it again.


JavaZone was a blast. Thanks for having me I hope I can come back next year.
Also: Germanwings I hate you!