Month: December 2009

In The “M” Word, I listed many of the things that have happened in the Perl marketing world over the last year. I wanted to end the year by mentioning a few people without whom this project would not have got off the ground at all.

Curtis “Ovid” Poe started writing about Perl’s image issues on his use.perl journal back in July. But he didn’t just write about it. He chaired the Marketing BOF that we held in Lisbon and he was the driving force behind setting up the TPF marketing committee. He has also been instrumental in getting the blogs.perl.org site up and running.

Gábor Szabó wasn’t very far behind Ovid in starting to blog about marketing. He has also been vociferous in TPF marketing committee discussions. He always has another idea for projects we can take on and often does those projects himself before anyone else has a chance to volunteer. I particularly want to draw attention to the clean-up he did on pm.org (a site full of links to dead Perl Monger groups isn’t great advertising) and his work trying to increase Perl’s visibility at non-Perl conferences.

Matt Trout and Mark Keating set up the Iron Man Blogging competition. To my mind this has been the single biggest success in marketing Perl this year. I’m still astonished daily by the number of people out there who are blogging about Perl. They have somewhere around two hundred blogs in the competition.

Leo Lapworth has done some amazing work dragging Perl’s web sites into the 21st century. Not many weeks go by without Leo announcing that he has redesigned another web site. I’m sure I’ve forgotten some of his announcements, but for a sample of his work see www.perl.org, learn.perl.org, dbi.perl.org and lists.perl.org. Thanks should also go to his employers, Foxtons, who donated some of his time (and some time from a web designer too).

Of course it’s true that the recent resurgence of Perl is due to the new and improved modules that you can find on CPAN. Moose, DBIx::Class, Catalyst and Plack (to name only four) are what enables Perl to retain its place in the forefront of modern programming languages. But it’s the people listed above (and dozens of other who also work on marketing projects) who enable Perl news to break out of the echo chamber.

We owe these people our thanks. And, on a more practical level, we owe them beer. If you see them at a Perl Mongers meeting, at a conference or even just on the street, it is your duty to stop them and say the magic words:

I can be a bit of a lazy open source author at times. I love it when someone improves my code and then just emails me patches. I love it even more now that I’m using Github so that people can just fork my code and send me pull requests.

That happened over the weekend. I got a pull request from cycles saying that he’d been refactoring Perlanet and asking if I’d be interested in merging his changes. These refactorings had come out of a mini-hackathon that had been run by the North West England Perl Mongers. I knew that they had been interested in using Perlanet to power the Iron Man aggregator, but that the monolithic nature of the code made it hard for them to subclass the bits that they needed to change.

So what cycles has done is to take my code and break it down into a number of smaller functions (and a couple more classes) so that people can subclass it and override methods where they want different behaviour to the defaults that I use. I can see this leading to a little ecosystem of Perlanet subclasses where people release their favourite tweaks to CPAN. I see this as a good thing.

I liked cycles’ changes so I merged them into my repository. They’re available there now if you want to look. I haven’t yet released a new version to CPAN as there are a few things I want to check out first.

Firstly, this new update seems to have increased the version of Moose required. With the version of Moose that I was running on my system (0.88), a lot of the tests were failing. Updating to 0.93 solved that problem. I need to work out exactly what the problem was and update the “requires” line in Build.PL appropriately.

Secondly, the newer version of Moose gave a deprecation warning when used with CHI. Updating to the latest version of CHI fixed that (but that, in turn, meant upgrading a few modules in the Log::Any family). This is all starting to get a bit too close to the bleeding edge of CPAN for a module that I want as many people as possible to use.

Finally, cycles had started to use TryCatch in the module. Not, of course, that I object to high quality exception handling in my code, but this is another module that isn’t yet in general use. It’s something that you won’t find in a “standard” (whatever that means) Perl installation.

I’m in the process of building RPMs of all of the missing modules (or later versions for the modules where the Fedora/Centos build is just lagging CPAN a bit). They’ll be available from rpm.mag-sol.com in the next few days.

Currently I’m leaning towards just releasing the new version and hoping that the people who want to use it will have enough enthusiasm that they won’t complain about the updated and new modules that are required. But I thought it would be interesting to ask for your opinions too.

As a user of CPAN modules, how do you decide when a module is too cutting edge for you to use? Do you just install newer versions of modules automatically when an installation asks you too? Or are you a little more careful than that? Would the constraints in this latest version of Perlanet prevent you from using it?

And as a writer of CPAN modules, how cutting edge do you allow yourself to be? Are you happy to release stuff that only works with the very latest versions of Moose or other fast-moving modules? Or do you like to ensure that your stuff is usable by people who might be a little behind the curve?

I should make it clear that I’m very grateful for the work that cycles did and I’m not disparaging his efforts at all. I’m just dithering a bit about how cutting edge I want to be.

Yesterday was the London Perl Workshop. As always it was a fabulous day packed full of great talks about Perl. Thanks to the organisers for all the work they put in.

I gave the keynote speech first thing in the morning. The talk was called The “M” Word and it was an overview of how the Perl community has started to get to grips with the problem of marketing over the last year.