GeekOut Estonia 2011 is over and it turned out great – we seldom see so many geeks in one place in Estonia! It was an awesome time for everyone – before the day was half-way done we already wanted to try out a dozen new concepts and frameworks! See what other people had to say about it on Twitter.
GeekOut was opened officially with a brief keynote by Jevgeni Kabanov, the CTO of ZeroTurnaround. Even though GeekOut was sold out with 132 attendees, he suggested that this represents a much larger popular segment than in other countries – with only 1.3 million people in Estonia, GeekOut is, proportionately speaking, among on of the largest Java conferences in the world! Gotta love statistics!
What’s new in Java 7?
Martijn Verburg gave a great overview of the new cool features found in Java 7. Even though the changes are not as big as the transition from Java 4 to Java 5, there are still many small additions and improvements. It turns out that Project Coin has played a key role in introducing small language-level enhancements to Java. Some of those changes are switching Strings, auto-closable resources and separators in numeric literals.
The new NIO.2 API is a welcome addition too. There are also some surpising introductions – catch blocks with multiple Exception types and the first bytecode addition in Java history: invokedynamic. The latter will benefit many scripting languages that run on the JVM (think Scala, Groovy and Clojure). See the slides for more awesomeness!
“Distributed Garbage Collection”
Alex Snaps described some crazy aspects of caching in clusters. It’s not as easy as you think. He also talked about some of his crazy stunts, such as having a 320GB permGen size in a JVM (using BigMemory). After coming up with the most interesting buzzword of the day (“Distributed garbage collection”), he talked about his company’s new product, “Terracotta Toolkit”. It provides clustering that is transparent to application and programming model (“If you know the Java memory model, you know Terracotta”). The solution is able to handle data in the range of hundreds of GB’s by propagating only deltas to other servers in the cluster.
Vaadin – Doe you know it?
Do you know the Finnish word for “doe” (as in female reindeer)? We didn’t know either, until we realized that this is one translation of the word “Vaadin“, which is also a very cool tool for building rich web applications. Don’t panic, this is not simply “yet another web framework”; Joonas Lehtinen showcasing it managed to blow away the whole audience of geeks in five minutes!
In technical terms, the framework runs atop the Google Web Toolkit and eliminates the remaining “web” parts from application code that GWT didn’t erase. The nice cherry on top of it all is that Vaadin worked beautifully with JRebel. Check the slides for proof!
John Davies from Incept 5 took us through the maze of standards and formats used in the financial services industry. The systems involved ranged from latency critical front-office systems that handle tens of thousands of messages per second to incredibly complex back-office systems where the value of each transaction is measured in billions of USD.
When integrating an array of complex systems, he didn’t like the prospect of creating a huge unified “one-schema-to-rule-them-all”, but decided to make it easy to convert a message from one format to another. Did he succeed? Check out Spring Integration.
Imagine this blog post was actually a giant SQL statement joining ten gazillion tables. That is the length of the statements some people have to write for a living. Peter Neubauner offered an alternative in graph DBs, such as Neo4j. Those databases excel at modeling relationships (who said relationships are hard?) and can also be fully normalized. His talk was perhaps the most technical of the day, and he even managed to do some data mining and graph traversal onstage. On a live system. With interesting results.
Container redeployment is a hack
The last two presentations were bordering on the dark side. First Jevgeni made sysadmins cry with hard data on how badly container redeployment works and how easy it is to make it come crashing down. He managed to do this in front of everyone with a tiny webapp by leaking just one object. It took only 14 redeploys for a trivial 2-class app to reach an OutOfMemoryError.
Imagine how much time do real world applications have which contain thousands of classes. He also explored common redeploying techniques used in production systems and demonstrated on stage how LiveRebel can remedy many of their shortcomings.
After Jevgeni showed there’s a light in the end of the tunnel (which may or may not be the train) Martijn Verburg turned into a diabolical developer. He gave us many inspiring ideas on how to be really evil and excercise a next generation methodology – “mortgage-driven development”. Sarcasm aside, he dispelled hype from around several buzzwords of the day and made many thought-provoking points. Did you realize that vi is often the most advanced text editor available on production systems? Thought not.
The day wrapped up with a reception that lasted into the early hours of Friday. Pizza and beer, two required mainstays of the Geek diet, were in order and the speakers were ready to unleash a different sort of character after a full day of Java in Estonia….
By now, all the geeks are back home, but the rebellion goes on. There is already some talk around the watercooler about how many attendees we’d like to see at GeekOut next year, and whether GeekOut will ever occur outside of Estonia….well, see you next year!
pssst: Check out this blog for more details on GeekOut…