Well, day two of EclipseWorld is over, and there's been good, bad and ugly. The highlight so far was a presentation on AspectJ. Aspect oriented programming is very cool. Basically, it lets you encapsulate according to common concerns by selecting certain points of execution (pointcuts) and then providing code to be executed at those points (advice). The compiler then weaves the aspects into existing code, resulting in standard bytecode (in the case of Java, anyway) that executes in any JVM. The typical example is logging: you can write an aspect that logs a call trace across any application in just a few lines of code. But, fancier stuff is possible: we saw examples of policy enforcement at compile time and runtime, consitent transaction management, asynchronous execution, and fault injection. It's powerful stuff, and Eclipse's support for AspectJ is really impressive. I think this could easily become an indispensable part of my toolkit.
I just got back from the conference reception, where we were kindly given two free drinks. Fortunately, I left before I could do any damage. On the way back to the hotel, I stopped off at Grand Central Station (it's right next door) for some gelato. Yummy.
I can't be the only one who is more than slightly disturbed by the men in camouflage with big guns, can I?
Okay, I need to lose my buzz and start practicing my presentation for tommorrow. Good times, good times.