CPAN tips

One thing I forgot to mention. I picked up a couple of really useful CPAN tips:

  • In the latest versions of you can specify that sudo be used “make install” so you don’t have to run “sudo cpan” up front, which is dead handy.
    • Of course, installing into your home directory is better.
  • CPAN::Mini keeps a private mirror of CPAN up to date. It comes out at around 500Mb. After being stuck on a train with no wireless, the value of this became very clear!

YAPC Back, see

After spending the bank holiday in Wales, I trotted off to Brum for YAPC::Europe 2006. It’s my first YAPC and a heck of an experience. 3 days of being immersed in Perl and Perl people. I took in a heck of a lot…

  • I have to learn how to get Catalyst working. Actually, I did a bit of that on the train on the way back thanks to the CPAN mirror that they handed out in the goodie bag and the power sockets on Virgin trains. I wish I had understood more of Matt Trout’s presentation, but it whizzed past at hypersonic speed.
  • Jos Boumans is a sick puppy. He did the funniest presentation of the conference, “Barely Legal XXX Perl”. An exploration of how to twist Perl into successfully compiling and running Acme::BadExample. As amusing as it was, it also provides a keen insight into techniques that might come in useful if sufficiently encapsulated…
  • Moose needs to be investigated further. It seems like a good bid at providing a sane OO environment for Perl. It looks like a good step towards Perl 6. It’s still using a blessed hash, but that’s probably a good thing on the whole; it means Data::Dumper still works.
  • I attended two talks on POE. Firstly, Merijn Broeren gave an overview of all the weird terminology associated with it. At this point, I wasn’t completely put off. But Jan-Pieter Cornet’s “Fun with POE” on the second day really helped bring things into perspective. We spent an hour and a half creating an IRC bot that did various things up to and including acting as a DNS server! It’s definitely something I’m going to try and use as soon as I get a chance.
  • I missed Tatsuhiko Miyagawa’s Plagger talk, but it was a good one by all accounts (certainly the slides I read afterwards piqued my interest). Unfortunately, I don’t have a use for an utterly pluggable RSS/Atom aggregator. Yet. Good to know it’s there though. It does pull in half of CPAN, however. I seem to recall somebody saying afterwards that it completely overheated their laptop and used up all the battery installing it.
  • The Lightning Talks were mostly pretty good.
    • Tatsuhiko Miyagawa demonstrating scrolling google maps by tilting his thinkpad was brilliant. I am in awe of being able to think that one up and make it work…
    • “undef isn’t” was hilarious and succeeded in its goal of making undef a lot less well defined. Although it did remind me of Python, which allows you to assign a new value to None (at least it warns at you for doing this these days).
    • Jifty rocks. Must look at that too. It seems more rails like than Catalyst, which is preferable for some of the things I’m looking at right now.
    • HTTP::Async by Edmund van der Burg is a neat module that appears to solve a common problem in a nice simple way.
    • Tim Bunce’s work on DBI for parrot looks fascinating. I really appreciated his humility when he talked about reusing the JDBC API where possible…
    • I have a request to people: Please stop creating more XML Writers! Aaron Crane did a talk about the 30+ Getopt modules on CPAN. I feel that it’s getting that way about XML Writers… (disclaimer: I’ve written two and they both suck).
  • Acme did a superb talk about searching in Perl. He covered KinoSearch, Search::ContextGraph and Algorithm::Cluster. For me, this really built on Kevin Falcone’s talk summing up the options for searching in Perl.
  • If you haven’t used profiling in DBI yet, learn how. You can do a heck of a lot with it. Oh, and if you’re doing bulk loading, check out execute_for_fetch().
  • There were two non-Perl talks: Marty Pauley on lithp (a discussion of where lisp came from and why you should learn it) and Bernd Ullman on APL, which was hilarious (most people debug APL by throwing it away and writing it again). Scarily, APL is still seeing active use in financial institutions…
  • Bernd also gave a great insight into the sheer pain of getting Perl running on an IBM mainframe. It scared and delighted me in almost equal measure.
  • Smylers talk on recruiting Perl programmers was full of useful advice. It really gave you some good ways to think about how to test your candidates.


I spent last weekend in North Wales. It’s an incredibly impressive part of the country, with superb scenery. But it’s not just scenery. I also managed to get in some white water rafting and a 4×4 session. And then walked up Snowdon. Not all on the same day you understand. I stayed in the fairhaven B&B (in Betws-y-Coed) which I also recommend. Very nice people.

It’s really nice to know that the drive is doable for a weekend break. I’d really like to back and do a bit of mountain biking.

The only bad bit was driving back—I accidentally turned off the A55 and ended up heading to Manchester when I was trying to get to Birmingham. That resulted in sitting in traffic on the M6 for several hours. Damn.