The last days on JavaOne were one big roller coaster, ending with me back at work, having loads of coffee, seriously jetlagged on monday. I do still remember most of it though, so here are some of my nuggets on the things I've seen in the last two days of JavaOne 2007.
First off some announcements on the next release of Eclipse: Europa. Since last year Eclipse is using a "release train" where multiple projects release at the same time. The number of projects involved has gone up from 8 to 22+ so it's going be a huge release. Some notable additions to the Eclipse tooling is Mylar and Dash. Mylar is task tracking on steroids, and Dash provides macro-like scripting support to automate stuff inside the Eclipse IDE. Eclipse used to be something I could keep track of in my spare time, but it's getting way too huge for that. A lot of the Eclipse projects are still in a kind of half-baked alpha/beta state though. I hope the Europa release will make things more solid and usable again.
Next I went to a JMX talk. JMX is getting pretty mature, some interesting advancements are planned. First support using the WiseMan project for WS-Management, a monitoring standard which is supported by Microsoft Windows Vista too. Also some support for i18n, and finally, in-spec support for clustering/federation! JMX on clustered boxes can be a bit of pain since it either requires vendor specific support for JMX clustering (like Websphere does) or every JMX client needs to connect to every server in the cluster. These changes will make JMX more usable without having to resort to product-specific features.
One of the more interesting talks I've seen at JavaOne was on testing concurrent software. This is pretty hard as concurrency problems typically depend on a lot of hard to control factors. William "FindBugs" Pugh's students created a new framework to make it easier to create concurrency tests. Some really interesting solutions are provided, very useful if you need to write tests with blocking/synchronizing code.
After some talks on SPAR (which was kind of a weird talk) and beans binding it was time for some Afterdark Robot Wars action and a Rolling Stones imitation attempt. Since this ended early we went to the Holy Cow, which was fun, and a bit less fun the next morning. At least I managed to eat my American style greasy breakfast and everything was fine again.
The day 4 pre-show was some midlife-crisis workshop with people that banged on big drums and blew on sharp whistles, not exactly right for an audience which is tired and/or has a hangover. Like always the last day was toys, toys, toys. Basically, the message was: Java is everywhere. From helicopters to meat scales to dancing robots: Java runs them all! James Gosling must have the best job on earth preparing all this stuff each year.
Friday was a lot quieter than the rest of the week but still some interesting sessions. I started with Advanced Java Globalization. Basically, this taught me everything I knew about globalization was wrong, as the more recent JDK API's fixed a lot of flaws in the past. Really interesting, as these problems can get really tricky, and aren't just problems for some crazy language that 10 people speak: most common languages have some exceptions break the code if you don't do it right.
A fun session was "The Top 10 Ways to Botch Enterprise Java Technology-Based Application Scalability and Reliability". A nice high level talk on what common pitfalls are in this area. My JavaOne ended with someone talking about debugging Swing. He actually written a library use the Swing EDT just like VB does, and some other horrible hacks. At least he did show some useful AOP techniques for testing. I've seen usage of AOP a couple of times this conference and it seems useful to this kind of voodoo-magic stuff for testing and tracing purposes.
Back in Holland, I'm still pondering about all the stuff I've seen. A lot of inspiration, new ideas and new faces, which is what JavaOne is all about!