Wednesday, 8 February 2012

Byteman Talk at FOSDEM

I just got back from my first ever FOSDEM where I spent half my time at the Universite Libre de Bruxelles in the Free Java room hearing some of the latest and finest scoops on free open source Java. The other half of my time was spent in Brussels' old town sampling some of the earliest and finest beers known to mankind. The Java talks were of a very high standard and very entertaining and the questions and answers revealed just how sharp the audience were. As for the beer, well after a Delirium Tremens and several Kasteel Reds at Delirium Cafe it did not seem that life could get any better.

On Saturday just before heading off for the dinner and then on to A La Mort Subite I gave a talk about Byteman to the assembled Java gurus. Heiko Rupp (JBoss RHQ/JON) was in the audience filming. So, (many) thanks to him you can watch the talk as well as download the slides. The links are also posted on the Byteman docs page along with all the other talks and papers from the last few years.

I was immensely surprised, amused and delighted when on Sunday Karl Helgason included an extra off the cuff demo into his talk on his exceptionally clever MIDI synthesizer project Gervill. Karl was very taken with my Byteman demo and was determined to find a way to apply it. So, after dinner on Saturday night he stayed up late reading the Byteman Programmer's Guide and then proceeded to implement a demo which used Byteman to show off Gervill.

Karl injected Byteman rules into implementations of the add, get and remove methods for interface List so that a note or drumbeat was triggered each time they were called. The rule used the integer index argument either to pitch the note or to select the drum to beat. He ran up Tomcat on OpenJDK and after about 3 seconds of intense cacophony summarised the ensuing calm with the single word "bootstrapped".

Karl proceeded to demo his own musical virtuosity, raising laughs from the whole room as he turned the Web GUI into an instrument simply by clicking on its icons and controls. This included zithering the mouse up and down the icons in the title bar which provided a perfectly pitched rising and falling scale. I don't think anyone has ever provided a better example of Tomcat's scalability, performance and fine-tuning.