Dorward

On the dangers of opening one's mouth

18 September 2009

I am now the primary maintainer of Catalyst::View::ContentNegotiation::XHTML. This is not one of the things I expected to happen when I woke up yesterday morning.

  1. Every five seconds, someone is wrong on the Internet, and often they are wrong about content negotiation.

  2. A fondness for simple markup rules (as found in XML) combined with a nagging dislike of Appendix C of the XHTML 1.0 specification (which makes the rules complicated again) and an interest in markup validation has led me to find out more than most people about HTTP.

  3. I like Perl and I like Catalyst

When you combine these bits of information, it was almost inevitable that I would get myself involved with getting content negotiation Done Right in Catalyst.

The Perl motto is “There’s more than one way to do it” but, thanks to the CPAN, it could easily be “Someone has already done it for you” and so it is useful to think out loud in the Perl community (or to think into an IRC channel in this case).

Just as I was about to start learning how to write a Catalyst View module from scratch, Tomas Doran pointed me at his module, and it was pretty good.

Nothing is perfect though, so I contributed some tests and patches and it was better.

Time passed. Work continued. It got better without me. I took another look at it and found another possible improvement.

It turned out that providing too much help can be a little dangerous.

15:22 < t0m> Dorward: well volunteered, what was your CPAN id again?
15:23 < Dorward> Eeek
15:23 < Dorward> What have I done?!
15:23 < Penfold> made it better
15:23 < Penfold> be porud
15:23 <+mdk> t0m: nice one ++
15:23 < t0m> Made DORWARD primary maintainer of Catalyst::View::ContentNegotiation::XHTML.
15:23 < t0m> Made DORWARD primary maintainer of Catalyst::View::TT::XHTML.

This wasn’t quite how I planned getting my first CPAN commit, but it has made it through the PAUSE queue and should be available at a mirror near you soon.

Please feel free to take a look, give it a try (give Catalyst a try if you aren’t already), and submit comments and bug reports.