Tuesday, March 24, 2009

Apachecon EU Day 2

Training

On Tuesday I attended Chad Michael Davis' Ajax on Struts 2 training. Chad is one of the authors of Manning's Struts 2 in Action book, and it was great to get to meet him in person. In the class, we saw how to start with the skeleton of a webapp and turn it into a Struts 2 app (add the necessary jars, add a filter to web.xml, add the struts.xml config file) and then moved on to adding Ajax to an existing app, using JQuery.

At one point, Chad mentioned that we might want to save a copy of the app because we were going to make some major changes... for me that wasn't necessary, because I had learned enough about git in Scott's BarCamp session that I had done 'git init' immediately when we started, and had been committing changes all along. It's great to be able to put even trivial example projects under version control so simply and easily.

ApacheCon EU Day 1

Travel

The flight to Amsterdam was uneventful, if wakeful. I had brought ear plugs, but not a sleep mask, and reading lights going on in nearby rows would disturb me. It wasn't a particularly turbulent flight, but it seemed that every time I'd almost get to sleep, we'd hit some rough air. So I landed in Amsterdam on Monday morning with very little sleep, and a full day ahead.

BarCamp

First up was BarCampApache Amsterdam 2009. This is an "unconference" which means there is no agenda until the attendees get together and create one. There were excellent talks on Mahout, Lucene phrase detection, open geo data, teaching OSS, a discussion about open source and open society, an introduction to git, a call for help with testing Tomcat, some reasons to contribute to the ESME incubator project, and an overview of Synapse.

Maven Meetup

After dinner we had a Maven Meetup with 30+ attendees. The general idea of a Meetup is a bit more formal than BarCamp, but since we hadn't gotten many session proposals beforehand, we simply brainstormed topics that people wanted to hear about or were prepared to present. Several people wanted to hear about Eclipse integration, so Carlos talked about the Eclipse IAM (Integration for Apache Maven) and M2Eclipse. Next we heard about archetypes for the Alfresco project, and in general how developing archetypes can ease packaging customizations for webapps. After running back to the room for my video connector (in a room full of MacBooks, no one had the one I needed!) I talked about the Release plugin and gave a quick demo of releasing a simple project. We talked about how to get artifacts into the central repository, and why cleaning it up by deleting things isn't a good idea for build reproducibility. Another topic we covered was what's coming in Maven 3.0, as well as some of the new features in 2.1 which is just out. Preventing re-deployment of released artifacts came up, and I mentioned that there are feature requests in both the Deploy Plugin and Archiva for this, while I believe Nexus already supports it.

We had a short break and never made it back to the remaining topics as people had formed into groups discussing various things. We wrapped up at 10pm, and after being awake for 30 hours, I was happy to get some sleep!

Thanks to the conference organizers for providing free space to both BarCamp and the various Meetups, which were open to everyone, not just registered conference attendees.

ApacheCon EU Day 0

Travel

I left Phoenix mid-morning Sunday for a short hop to Houston and then a long leg over to Amsterdam. Last year I flew through Newark, which split the trip into 5 and 7 hour flights. I prefer this year's itinerary, which was 2 and 10. I'd rather get all the changing planes and running through airports over with, and just relax. Heading out of Phoenix, the flight was over-sold and I didn't get a seat assignment until they were halfway through boarding. I had only 40 minutes to connect in Houston, and of course they moved the departure gate to E20 which is the farthest possible gate out in the corner of the terminal. Luckily, the arrival gate changed to E12 instead of the original C gate, so instead of being a dash across the entire airport, it was just around the corner and down the hall. I had been worried about having so little time, and indeed they were already boarding when I got to the gate, but we ended up being delayed, apparently waiting for a small group to arrive from another connection. The flight to Amsterdam was not full, and there was plenty of room to spread out and relax.

[updated: empty post earlier due to blogspot.com + Safari problem -- pasted text displays at the bottom of the page rather than in the box.]