JAOO 2007Again this year I had that opportunity to participate in the JAOO Conference in Århus. Like last year I’m going two days, this year it will be Monday and Wednesday, which is great, because the conference party takes place Monday evening 🙂

Monday started with the opening keynote by Robert. C. Martin in which he talked about clean code and what it means to be a professional developer. He made some really good points and mentioned interesting quotes like: “First make it work – then make it right – then make it fast”.

After the keynote I followed the Virtualization for Developers track for the better part of the day. A lot of our infrastructure at work is virtualized so this track was perfect for me. The track started with a general introduction to virtualization, how things works and terminology, fx Virtual Infrastructure, which I had never heard about before.
Most of the track was presented by guys from VMWare, so naturally it surrounded their products. In the next talk they presented what they call Virtual Appliances (VA), which is similar to a .msi file on Windows, just that the .msi file installs an application, the Virtual Appliances installs a complete virtual machine setup, which may span multiple machines each with different OS and applications. This was quite interesting and it’s already readily available to try out. VMWare has prebuilt VA’s on their site and their VMWare Player application is available for free.

Later on in the track they talked about some experimental features that are part of the newly released VMWare Workstation 6. One of them, Record/Replay, enables you to record all input to the VM and replay it. In the demonstration the user was writing an email, editing a photo, etc. and accidentally opens a file that BSOD’s the PC. In normal cases all work would have been lost, but it this case it was just a matter of replaying all the actions and “take over” the VM at the correct time before it began to open the file that caused the BSOD. A very cool feature, but it still has some rough edges.

After a lot of virtualization talks I decided to sit in on the “Beautiful Debugging” talk by Andreas Zeller. This was an interesting and inspiring session. Andreas Zeller started his session by stating that the only way debugging can be beautiful is if you don’t have to do it at all. He elaborated on this for the rest of the session and he presented the very interesting concept of Delta Debugging where you compare two version of your program, a working version and a buggy version, and modify the input until you can isolate the part of the code that contains the bug. Of course this is grossly simplified description of the process. Unfortunately the presentation was mostly aimed a C code, but I guess it should be possible to use the same ideas and principles for debugging java.

After all the talks it was time for the party keynote which was held by Charles Simonyi, who is the 5th civilian to travel to space. Unfortunately this was not as exciting as it sound and seemed a little bit like your average holiday picture presentation, though some parts were okay.
The party started shortly after the keynote and the drinks and food was excellent. The food was prepared by Chili John and the beer was sponsored by Microsoft and Sun.
Unfortunately we had to leave rather early since we had to travel back to Aalborg in time for work on Tuesday, but we still had time to enjoy the party, the food and the beer.

All in all Monday at JAOO 2007 was great, and I’m looking forward to my second day at the conference this year.