Archive for the 'JAOO '06' Category

JAOO - Day 6

Thursday, October 12th, 2006

Well, I’m a little late for my report for day 6 (loads of work waiting for me in the office), but here it is.
Day 6 was Alistair Cockburn on his “Crystal Clear” methodology. He told us about the problems we are facing and how Crystal Clear tackles them. In the afternoon we did some, well let’s call it “practical games”, excercising some techniques on a little game-project.
Then it was off to the airport for me - I had a very tight schedule for my three flights home. As the first flight was already delayed by 15 minutes, this meant I had to run through Copenhagen airport to catch the next flight - waiting for 10 minutes, because this one was also late.
I also managed to get my last plane, so I arrived in Linz (Home, sweet home!) at 23:00. My luggage was not so lucky, it arrived at 11:30 the next day - boy, was I glad that I didn’t have my keys in the suitcase ;-)
So good bye, JAOO - see you again next year!

JAOO - Day 5

Thursday, October 5th, 2006

This is Day 5 of the JAOO. The conference ended yesterday and there are just two days of tutorials left.
First I chose to see Angelika Langer on “New Features in J2SE 5.0″ (also to support my learning for the SCJP certification). Learned some new things, found out that I had already understood some things right.
The second was “EJB 3 Persistence with OpenJPA” by Patrick Linskey and David Ezzio, which was a very good introduction into JPA (and a little EJB 3) and some additional information on the OpenJPA implementation. Same here: learned some new things, found out that I had already understood some things right. Still a great presentation (they also showed some running code samples).
And another discovery: up to today, I thought I was the only guy on the conference coming from Austria, until I met two guys from Vienna (it felt really strange directly talking to a person in the oh-so-familiar austrian dialect again). So the Austrian-Count is up to 3.
Shot some photos in the center, got the bus (Yes again!) - unfortunately the wrong one (D’oh!). Funny thing was, I noticed this when I got off the bus (at the station where I thought I would have to) and the place just didn’t look as I had expected. But I had luck this time: as I looked around I noticed that I was only some hundred meters away from my hotel.
Seems like these kind of things always happen to me when I think about something completely different while trying to do some compilicated task (like getting on the bus).
Well, I’m back in the hotel, so after The Simpsons (with danish subtitles) I might as well have another 7-Euro beer.

JAOO - Day 4

Thursday, October 5th, 2006

This is day 4 at JAOO, which for me was the track “Back to the Future” hosted by the Practical Programmer Dave Thomas. The core idea of this track was to show up some concepts of “old” or not-so-mainstream programming languages, if they worked out the way they were supposed to, and if not, why not (was it because it was just a miserable concept or did some environmental factors prevent it from succeeding).
The first talk was another one by Guy Steele, this time on the history of Scheme (and a little LISP lesson) - “WOW!” again. It was followed by a talk on Haskell by Erik Meijer, a talk on Colored Petri Nets (an extension to the Petri Net model) and a talk about SIMULA and BETA.
The great final of the conference (the next two days are “only” tutorials) was a panel discussion about what will programming be in 2016, with Guy Steele, Ole Lehrmann Madsen, Steve Vinoski, Kevlin Henney and Erik Meijer, hosted by Dave Thomas.
The key points were that programming languages will have to provide better abstractions (especially for concurrency), DSLs will take an important role (as a special kind of abstraction), current main-stream languages will evolve (and/or die - be serious, who really thinks that he’ll be doing Java until he retires? On the other hand, as someone noted, there is so much Java code around, some people may have the (questionable) “opportunity” to maintain Java legacy code for the rest of their lives) and of course new languages will step on the scene (or take it over).
That was it for day 4. Picked up something to eat (a salmon sandwich after which I felt a little strange - hope in my case the salmon had nothing to do with salmonella), got the bus (yes!) and enjoyed two beers in the hotel (there go another 14 Euro).

JAOO - Day 3

Tuesday, October 3rd, 2006

I started day 3 with no great expectations at all (maybe because I was still a little sleepy from yesterday’s party).
It was supposed to start with Guy Steele on “The Soul of a New Programming Language”. I had heard of this Guy, so I thought it would be a good talk.
After the talk I had only one word left for it: WOW!. The talk was about Fortress, a brand new language Sun is designing especially for scientific purposes. It’s supposed to be “the new Fortran” with really phantastic features: a language that supports mathematical notations, contracts (against which the implementation is automatically unit-tested), operator overloading (he made a good point why it was going to be better than C++ operator overloading), transactional distributed memory, built-in notion about other nodes in the computation cluster (so loops are automagically distributed to multiple nodes) and much, much more. After this talk I needed a long break to let this all settle down … WOW!
Then I saw the end of Eberhard Wolff’s introductory talk to the Enterprise Performance track, one guy from Tangosol and one from BEA talking about performant Java persistence (unfortunately I already knew their slides from somewhere on the web) and then Kirk Pepperdine on Performance Anti-Patterns. Angelika Langer’s talk on Micro-Benchmarking in Java revealed some interesting details of the JVM and the Hotspot compiler (she still only got a green-minus from me). And Andre Bondi talked about Performance Engineering on a project of his (how to measure performance, how to interpret the results and how to tackle problems).
After the conference, and after waiting for the bus for ’bout an hour (there was some demonstration going on, so maybe this was the reason), I decided I needed something to eat. Denmark? The sea? Fresh fish? Sushi! So I went to a super market and bought what turned out to be one big roll of rice, filled(?) with this algae stuff (not the kind Alistair Cockburn was talking about yesterday) and with some pieces of raw fish on top. There was also Wasabi (the hot green stuff) and soy sauce, so everything that’s necessary - except chopsticks. But that wasn’t too bad, now that we are in the age of fingerfood.
What’s still bugging me is Guy Steele’s talk. So many new (and old) ideas for a new programming language (and he said that they had already taken out the really crazy ones), so I still have some research to do today. More tomorrow … WOW!

JAOO - Day 2

Tuesday, October 3rd, 2006

Day 2 on JAOO was the day of the great party (that’s why I am providing this post one day late) and great talks.
It all started by an inspiring keynote from Amazon’s Werner Vogels talking about Amazon’s platform - and how they got there. I read an interview with him in a recent ACM Queue or Communications, which was rather simular, but still a great talk.
Next on my list was the famous Bertrand Meyer talking about new concurrency concepts they implemented in their SCOOP system (which is based on the Eiffel runtime). Really interesting what kind of abstractions they used for those concepts.
After the lunch break I wanted to see Martin Fowler on Event Patterns, but unfortunately he had some problems with his back and could not come. His substitute was another ThoughtWorker, but he was not as good as I would have expected Martin Fowler to be.
A small intermezzo on the feedback that the attendees give after each talk: you just put a green, yellow or red paper card into a basket, and that’s it. So green means “Great talk!”, yellow means “T’was ok.” and red shows that there was something wrong with the talk.
So the Event Patterns talk was the first yellow for me.
Then there was Eric Evans’ two-hour talk about Domain Driven Design - really great talk (definitely green).
Next for me was a panel discussion on Abstractions for Concurrency with Bertrand Meyer, Denis Caromel, Satnam Singh and Joe Duffy. During the discussion I regreted not having seen the others’ talks: Singh for example had his about transactional memory - a really hot topic.
Day 2 ended with Alistair Cockburn (”with a silent ck” as he insisted once again) stating that “Methodologists are Blue-Green Algae and Methodologies are Swimsuits”. Brilliant talk again and fun to watch and listen to!
Did I say day 2 ended already? It did not, because this was just the time the great JAOO Party started. With all this free beer and good music I stayed longer than I should have.
On the other hand it couldn’t have been that bad, as I’m currently blogging in the hotel’s lobby and sipping another beer…

JAOO - Day 1

Sunday, October 1st, 2006

Well, what should I tell you. It’s like a dream come true - I’m at the JAOO conference in Aarhus/Denmark.
After some extreme-airport-hopping (4 airports in 7 hours) yesterday and some major problems with the local geography (getting to my hotel), I still managed to survive JAOO Day 1.
On today’s program were some parallel sessions about Ruby on Rails, Spring, Equinox/OSGi and Test Driven Development. I participated in the Equinox and TDD sessions.
The former was held by Tom Watson and Jeff McAffer, two guys from IBM. They first explained the ideas and concepts behind OSGi, followed by a live presentation of a simple “Hello OSGi” bundle (those attendees who had their laptop with them were encouraged to try it themselves). They also provided the source code of a simple chat application, but due to all the (really interesting) discussions, there wasn’t enough time left to try this one in the session (but I started it and - well - it worked).
The bottom line: OSGi is a really interesting technology for glueing your components together, solving all of your classpath issues (well, not quite that is). A minor “problem” is, that development is a little different from “normal” Java development (as with every container there are new things to learn and understand).
Another problem is, that some libraries using a Thread’s context ClassLoader have problems running as OSGi bundle. Unfortunately one of these libraries is Hibernate, which would pose a problem for many people wanting to use OSGi on the server. Luckily there is the concept of a buddy classloader solving this problem, but this is not (yet?) part of the OSGi standard, but only provided by Equinox.
Session 2 - Test Driven Developmen - was moderated by the ThoughtWorker Erik Dörnenburg (I was waiting the whole session to hear the name Martin Fowler, but it just didn’t come). It was a good practical presentation about TDD and what it’s all about (to sum it up: red bar - green bar - refactor, in this order).
The second part of the session was an introduction into jMock. I found out, that I disliked it for a false reason. I always liked it because of its concise syntax (compared to easymock’s record-and-replay mechanism), but I thought that it was somewhat brittle to provide a method’s name as a string (e.g.

mock.expect(once()).method("someMethod")

). This of course poses a problem when you refactor your classes, but the key point is that your test will fail if you provide an invalid method name (jMock checks if a method with the provided name really exists). So you will find out if you did anything wrong.
Well, that’s about all from JAOO Day 1. What’s left is a pleasant feeling in my stomach - the reason may be the most expensive 3 small pieces of roast lamb I have ever had (26 Euro) or the most expensive beer (6,5 Euro for 0,4l … even at the Oktoberfest in Munich you get twice as much). Good night.