... at the last minute!
So yesterday was the London Perl Workshop, and a jolly good time was had by all. It wasn't as bigger turn out as it could have been, but I think the lateness of organisation may have been a factor. Certainly the calibre of talks on offer was excellent, and I was only disappointed not have been able to watch both tracks at once. Unfortunately Tom fell ill, so Abigail filled in with an impromptu talk. I stayed in the beginners hall all day, partly because I was talking in there, but also the short talks appealed a little more than the longer talks this year.
Jesse Vincent kicked off with a brief run through Jifty. I found it quite enlightening and was impressed with the installation and upgrade scripts. I liked how upgrading the schema meant an automated process could modify the database for you. This is the kind of thing that I was hoping to write for my Labyrinth project, but I may be able to abstract them out of Jifty as a more generic installation tool. We'll see. I was amused to see that his use of Actions was extremely similar to the way I use actions, except mine seemed a little more dynamic as they are both configurable and based on business logic in Labyrinth. It was a good talk and I felt it got the right level of depth without going too far.
Next up was a talk about Wigwam by Mike Astle. The project is something that seems to have tried to solve a problem that sounds simple enough, but in general it's not something many of us ever need to deal with. It certainly doesn't scale to the level of MessageLabs, and there were a few alternative suggestions from the audience, although Jos' example of using rsync at / level was perhaps the most interesting.
Then it was my turn with 'Using Phrasebooks - A design Pattern'. I'd done the talk before a couple of years, but I've reformatted it and paced it a little better. I think it went down well, and the questions I got back were quite varied. I got a couple of suggestions that I'll be looking into, particularly the Locale::Maketext idea.
Marcus Ramberg then led us through a "Bag of tricks" he'd learnt from coding the iusethis.com site. I liked the use of Leon's HTML::TagCloud, and I may end up using it myself in the future. I was intrigued to see the Last Minute Perl talk by Greg, but as it turned out it was rather more impromptu than last minute, as unfortunately Greg hadn't had the time to do the talk. So Greg and muttley did a duet of how to organise a workshop. As I can personally vouch for, the key point is 'Get The Venue'. We then broke for lunch.
A talk on Geocoding by Marc Tobias Metten started the afternoon session. We'd a similar kind of talk, although from a different perspective, at Birmingham.pm recently, so I was already familiar with some of the aspects of the talk. Essentially though, pretty much all the data sources to match geographic coordinates to postcodes are only commercially available, and expensive. Getting people to add their own data is starting to gain momentum, but only about 1% is currently mapped.
Abigail then ran through a very entertaining talk showing how you could write 'A regex for solving Sudokus'. He did confess that once he'd written it, it did take one and half hours to run :) He's now looking at other Japanese puzzle games to see what can be solved with a regex.
'How to make a grumpy network capacity planner happy' by Alistair McGlinchy was one talk I was looking forward to. Network Capacity Planning is something we do try to do at MessageLabs, as any increase in CPU, Memory, Bandwidth, etc can have quite significant effects. Alister highlighted some of the things that programmers do, including their excuses, that really annoy him. The example he specifically used was for a web based system, but it is still true of other network traffic. I took a few notes and will make an effort to use some of the thoughts he presented.
'Angerwhale: Gone Fishing' by Ash Berlin was not a talk I felt engaged in. It's blog software written in Catalyst. I'm not really interested in either blogging software or Catalyst. Hopefully others got more out of it than I did.
Then came the final talk of the day. Due to organising the YAPC::Europe event, I'd missed Jos' 'Barely Legal XXX Perl' talk, so was delighted to be able to see it today. It was a talk Jos was originally due to present at last year's LPW, but had to bail out due to illness. The talk is about a bet with Adam Kennedy. In particular the one in Adam's Acme::BadExample module. Jos took us through all the lines of the code and shows why they might be parseable as real Perl code, and why only perl can truly parse Perl. But the bet is get it to actually run, or at least load correctly, without failing compilation. True to form, Jos highlights how each part of the module can be made to work. The talk is an insight into to some of the curiosities of Perl techniques and the fact there is often more than way to do. Jos presents an interesting fact finding mission and entertained along the way. A great end to the day.
It was then all over, and off to the pub. It was good to have a bit of a debrief and I got chatting to Abigail and his wife towards the end of the night. At one point I turned around and noted the pub was deserted of the other Perl Mongers. It turned out they'd either disappeared off to the BBC Backstage Party or had headed off to find Dim Sum. Had I known I would have joined them, but as it turned out, everyone's early departure was a blessing in disguise.
Abigail and his wife wanted to look for food, so we downed our drinks and headed out into the London night. We said our farewells and I headed for Euston station. Where I was greeted by a several screens of Silverlink trains and nothing else. No Virgin Trains listed anywhere. It turned out there were some engineering works on the line after Milton Keynes and a bus service between MK and Northampton was provided to complete the journey. I caught the 20:35 from Euston to MK. The train I was planning to catch was 22:13. I am so glad I didn't wait for it. The train took over 90 minutes to reach Milton Keynes (the same it normally takes from Euston to New Street), with a further 30 minute trip to get to Northampton. When I got there, it transpired that the next train would be the last. Had I taken any later train from Euston, I would have been stranded in Northampton for the night!
The journey from Euston to New Street took 4 hours, with another 25 minutes to get back home by taxi, as I'd long missed the last bus. I'm tempted to send Virgin Trains the receipt for my taxi fare with a complaint explaining that it could have been a night's hotel bill they were receiving as well. There was no explanation earlier in the day of the disruption that was planned for the evening and seeing as they had my email when I bought the tickets, they could have warned me that my planned train was not running as expected.
However, despite being a little disappointed not to be able to join them, I'm more than a little grateful that the guys of London.pm did disappear for food early. I might never have got home last night if they hadn't. I'm sure they didn't plan it, as everything London.pm seems to do is last minute, including the LPW, but it did amuse me that I'd caught the last train home at the last minute :)
It was a good day out and a good LPW. I look forward to more trips down to London next year, but just hope that the return journeys aren't as adventurous. Thanks guys.
Re:Labyrinth
barbie on 2006-12-11T17:59:53
Not yet. I don't feel brave enough to release the code just yet. There are still some things I want to clean up, as although I know how it works, I wanted it to be as obvious to others too. Having seen the way that Catalyst and Jifty have ways of building very basic sites from the word go, I want to be able to have a skeleton that will work out of the box, which then you can add predesigned plugins to it without needing to understand where everything fits. It was how the prototype was designed for LEAs, which is still being used across the UK 4 years later.
Whereas Jifty and Catalyst are more for programmers, Labyrinth was intended as a complete product that HTML/CSS gurus could then take on to do all the fancy layout stuff with. I'm sure once I do release it, I'll get lots of feedback (I'm sure bargepoles will feature a lot
;)), but at the end of the day I wrote it to make my life easier, and it has. But in the interests of sharing ideas, I do want to try and get it into a state that I feel comfortable to release it. And seeing as YAPC::Europe::2006 is now over, I getting a bit more time to clean it up and write all that missing documentation.