Days start early at YAPCs. They start particularly early if you’ve woken up with a few last-minute ideas for changes to a presentation you’re giving that day. So I was up, fed and sitting in the conference hall long before the 8:45 start to the day.
Following a few announcements from the organisers, I moved to a different room to hear Tim Bunce talk about “What’s New in DBI” - where “new” is apparently defined as “since the book was published in 2000″. DBI is one of the most heavily used Perl modules and it’s easy to miss new features if you don’t closely peruse the documentation for every new release. There were a few new features that had passed me by, so this talk was well worth seeing.
I then moved back to the main hall to see Paul Johnson (currently a colleague, but not one I see often as he works in a different country) talking about testing web applications. Paul seems keen on Selenium and its Perl wrapper WWW::Selenium which is something I haven’t looked at. So another interesting thing to add to the list.
After this I watched JJ (one of the conference organisers) talking about the tools he has written for parsing Excel files from the command line. He has an interesting set of tools and I’m sure they’ll be useful for bridging the cultural divide between geeks and business users.
After a short break I went to see a couple of talks by Simon Cozens (filling in at the last minute for the missing Michael Schwern). The first talk (an introduction to hashes) was interesting for the revelation that although we all introduce hashes to new programmers using the metaphor of a dictionary - that’s rarely how they are used. Simon’s second talk went through some ways that Perl has made his life easier in his real job as a trainee missionary.
It was then time for my first talk of the day - What’s Wrong With ORM. Despite having given this talk a couple of time before, it was the one I was least happy with. Even when I first gave it back at the start of the year, the title was slightly misleading - it should have been “What’s Wrong With Current ORM Implementations”. ORM tools have moved on a lot since then and a more accurate title might now be “What To Look For In An ORM”. Basically it’s an extended rant against ORMs (like ActiveRecord) that wrongly encourage people to keep intelligence out of their database and put it all into their applications. I should really just turn it into an article and retire the talk. Just how out of date it is was demonstrated neatly by the following talk by Matt Trout who explained how wonderful the DBIx::Class community is and how quickly they add new features (like the ones that I used to complain were missing).
After a nice lunch with some people from the BBC I returned to the venue to watch two more talks by Matt Trout about Catalyst which is the Perl MVC of choice for many people. I really need to find the time to look more closely at Catalyst.
Next I watched a talk by Leon Brocard about how he implemented search on his database of recipes and another talk by Paul Johnson where he examined some of the more arcane corners of Perl syntax.
In the next section I decided to drop out of the talks and spend some time in the hallway track catching up with people. I was getting a bit nervous about my final talk of the conference - Programming Languages and Perl - which was, in places, a little critical of the Perl community who were making up 100% of the audience. I needn’t have worried though. It seemed to go down very well and plenty of people have spoken to me since telling me that they agree with me.
My talk was the last one of the day so I quickly went back to the hotel to dump my bag, before joining everyone on the way to the conference dinner which was held in an Indian banqueting hall on the other side of the city centre. The sight of over 200 geeks walking through the centre of Birmingham in one giant procession was pretty impressive and I don’t think we lost anyone on the way. The meal itself was an indian buffet. The food was very good and there was a lot of interesting conversation to be had. My table had a good mix of old friends and new people to meet and a good time was had by all.