I’m off to another conference – this time TSSJS in Las Vegas. Continuing my trend of having bad flying experiences, my flight out was delayed an hour for mechanical failure, complete with gate change. Other than that and an amazingly choppy landing, getting to Vegas was easy. I found time to walk the strip, take in the sights & sounds, eat too much, and do some dancing. I even managed to take in a show – Cirque de Soleil’s KA. The show is part acrobatics, part story-telling via dance, part circus, part musical, all extravaganza and a totally awesome stage set. The stage features a basketball court sized chunk of stage which can go up or down a 100ft or more, rotate, be stood on vertically edge, or flipped end over end. KA uses it in every possible configuration, including some incredible ninja fight/dance scenes where the stage is slowly lifting and turning and becoming more vertical as the fight turns into a cliff-hanging scramble/chase and the “villains” are falling off to their doom as the “hero” is clinging by a thread.
True to form, the return trip featured a major Bay Area thunderstorm which delayed all flights (mine included) into all three major bay area airports for at least 2 hours, plus plenty of chop getting out of LA and over the Sierras. But I’m back safe and sound once again.
TSSJS looked like it was doing well this year; the main speaking hall/room was packed for the keynote sessions, there was a lot of buzz going around. I caught up with a bunch of old friends and reconnected with some new ones from FOSDEM. I especially enjoyed Kirk Pepperdine’s Java performance analysis talk where he covers a basic decision tree to tease apart I/O issues from GC issues from CPU issues from other causes.
I myself sat on a panel: Who Invited These Other Languages to my JVM? We managed to talk for entire hour and had plenty more to say. My stance in a nutshell: Java appears to have plateaued (although Projects Lambda and Coin may give it a serious boost), but that the JVM is on a roll. Where people used to target C as their “assembly” of choice years ago (to avoid having to do code-generation), they now target the JVM – which avoids the code-gen AND supplies a GC, AND a well-understood threading model, plus true type-safety.
I presented “A JVM Does That?”, a low-level romp through a JVM’s innards discussing all the services provided by a JVM, and why they exist – and perhaps why they should NOT exist, or should exist elsewhere, or should not ever ever have been part of the spec.