Code, Curry, and Community - YAPC::Europe 2006

This article was originally published in Linux User & Developer magazine, issue 67

YAPC::Europe (Yet Another Perl Conference) is a community-run event for users of the Perl programming language, that has been held annually since 2000. Each year the conference takes place in a different European city - prior to Birmingham YAPC::Europe has taken place in London, Amsterdam, Munich, Paris, Belfast, and Braga.

Each conference is organised by the local Perl user group (known as Perl Mongers - see http://www.pm.org) in the host city. So as a member of Birmingham Perl Mongers (http://birmingham.pm.org) I ended up involved with the running of the event, and believe me it's not an easy task! Having attended previous YAPCs I was always impressed with the slick organisation, so I hoped that we could keep up the standard.

The first talk of the conference was "How to get the most out of YAPC" by Jose Castro. This was a short introduction to the conference experience and ettiquette as sometimes, events like YAPC can appear to new attendees as a bit of a clique. But in reality that's nonsense, you just need to know the secret password, which is "Hello, may I buy you a beer?". :-)

Next up was the keynote speech by Larry Wall, the creator of Perl. Larry talked about the gradual evolution of Perl, likening the different versions of Perl to the life stages of children, and the Perl community being the family that supports the child's growth. Perl is coming up to 20 years old now, so will soon be finishing college, moving out of home and becoming an adult.

The second keynote was from Curtis "Ovid" Poe, secretary of The Perl Foundation (TPF - see http://www.perlfoundation.org) grants committee. TPF is the organisation that acts as a "guiding hand" for Perl - co-ordinating projects, providing infrastructure (websites, mailing lists, etc), raising funds, and giving development grants. Curtis talked about the work done by TPF, the people who run it, and requested feedback from the wider Perl community about how TPF can improve.

Following the keynotes, the conference programme split up into three main tracks, with occasional workshop sessions in a fourth room. Because Perl is used in so many different industries, there was a great variety of talks on offer. I attended talks ranging from networking ("SNMP for the masses"), people management ("Neuro Linguistic Hacking"), accessibility, testing, parsing, to the plain bizzare ("Barely Legal XXX Perl"). There really was something for everyone, the hard part was deciding which presentations not to see!

The social scene
Aside from the talks themselves, a very important part of the conference experience is the social side. Remember, there are over 200 developers and other IT professionals brought together in a (for most) foreign city, many of whom will be staying in the same hotel, so the evenings consist of a semi-organised mashup of beer, chat, games, and coding. It's great fun! But while it can be said that conferences such as YAPC are like a holiday - the technical content is just the excuse, there is a serious side to the socialising as well.

I've found myself that the chats in the hallways, the informal meetings in the pub, etc are one of the real benefits of going to an event like this. You can read people's presentations on-line, but nothing beats the insight that you get from a one to one conversation with a speaker, being able to ask direct questions, and talking about technology with people in completely different industries to your own. This way of gaining a fresh perspective is worth the attendance fee in itself.

On Thursday night, all of the conference attendees were treated to a meal out (the "Conference Dinner"), which was sponsored by Systems Mechanics. Now being in Birmingham, we naturally wanted to take everyone for a Balti, a special type of curry that originated in the local area. However actually finding a curry house that could accomodate >200 people in one sitting did prove rather difficult, but eventually we came across a venue that hosts Asian weddings, so we knew the food would be good, and more importantly they had a late bar! The meal was organised as a buffet and was very well received - I noticed several people going up for seconds, always a good sign!

The Cathedral and The Bazzar
Fridays at the Perl conference are always a spectacle not to be missed. During the morning, the foyer area was turned into "The Bazzar", giving space for the conference sponsors and open-source projects to show their wares, give out freebies, and talk directly to the conference attendees - there was quite a bit of recruitment going on. Shadowcat and Google both ran competitions - Shadowcat were giving away a Squeezebox wi-fi music server, while Google were offering an iPod together with a collection of their branded toys, including Google Goo (of which more on that later).

After lunch, we held a "lightning talks" session. 90 minutes are allocated for anyone to come and present a short talk - the catch is, that after 5 minutes a gong is struck and finished or not the next speaker goes on. Not a bad idea for wedding speeches actually! As this is quite a light-hearted way to end the conference, talks range from serious, to funny, to the downright strange, such as Larry Wall and Phillipe Bruhat dancing to the Batman music! Of particular note was Tatsuhiko Miyagawa's talk "Tilting Google Maps". He used the motion sensor in a Thinkpad laptop to control navigation around the sattelite view of Google Maps. Complete with a live demo (push the laptop forwards to go north, back to go south, etc) this was not for the seasick!

The traditional last item on Friday afternoon is the auction. Various items are donated by the conference sponsors to be auctioned off to raise funds for community projects. Hats off to the auctioneer, Marty Pauley, for keeping everyone engaged and entertained. At the time of writing the final amount of money raised has not been announced, but early indications are that 2006 has been a record year.

Many of the attendees were travelling back on Saturday morning, so Friday night was a last chance for a group social, and an opportunity for the organisers to breath a sigh of relief that the conference went without a hitch. Beer, a large group of Perl hackers, and the "Google Goo" competition prizes made for a very amusing combination!

The Future for Perl
The key message that I got from the conference was that the Perl community is incredibly vibrant, and there is a huge amount of development going on. However, it has to be said that Perl's PR is not particularly good. By those outside of the Perl community, the language is perceived as "write-once", hard to maintain, not really suitable for large-scale development. Dave Cross gave an excellent talk, "Perl and other languages", in which he tackled this perception head on.

If you Google for "perl scripts" for example, the top results actually show some of the worst possible Perl code you could ever wish [not] to see. Because Perl initially captured the low-end web market with many thousands of un-trained programmers distributing code ("Free CGI Scripts" etc), the ratio of good Perl code to bad on the web is not particularly favourable. But to be honest, if any large group of non-programmers decide to "have a go" then no matter what language they use the results will be very poor. And what do bad workmen blame first?

However, maybe because PHP now dominates the low-end web market, much more good Perl code is now being seen and talked about. During the conference I was introduced to Catalyst, a web framework for medium to large sites that powers the award-winning MighTyV, Plagger, a highly customisable RSS aggregation system, and OpenThought, a system for developing under the "GUI application as web page" model without writing large amounts of JavaScript. Great inroads are being made in quality assurance as well. You can trust that a module from CPAN (Comprehensive Perl Archive Network - see http://search.cpan.org) will work because of the immense effort put in to automated testing and reporting. To help ensure that your own code is maintainable, a code analyser, Perl::Critic, is now available. Perl::Critic has default policies based on Damien Conway's excellent book "Perl Best Practices", and can run stand-alone or even be built in to your test suite.

Ultimately though, the real barometer of the health of a platform is not the celebrity bloggers, or the latest technology IPO, instead it is the real-world investment by established companies on systems that use that platform on a daily basis. Here it was notable that neither of the two principal sponsors of YAPC::Europe 2006, Morgan Stanley and Systems Mechanics, had been involved with financing the event before, so it was very interesting to find out from their presentations why they were using Perl., and on what projects.

Morgan Stanley use a POE (Perl Object Environment) based toolset, developed in-house, to control their vast global server network. Systems Mechanics use Perl to develop business-critical network management systems for major telecoms operators. These sorts of applications are about as far from "Free CGI scripts" as you can get, and show that, with reference to Larry's keynote, Perl is growing up, making a transition from its Unix and CGI scripting roots and evolving into an open, mature, systems development language.

Much like a large open-source project, a community event like YAPC::Europe relies on the efforts of many people working together to be a success. Many thanks to the organisers, sponsors, speakers, and everyone else who contributed to making YAPC::Europe 2006 such a memorable event that was enjoyed by all. Next year's YAPC::Europe will be held in Vienna, Austria, from 29th August - 31st August 2007. Hope to see you there!

Jon Allen, September 2006