How to Go Wrong Testing HTML and Why It Took Me Forever to Fix It

About a million years ago (ok, more like 6 months) a kind soul by the name of Polina Shubina reported a small bug in my Markdent module. She was even kind enough to submit a PR that fixed the issue, which was that the HTML generated for Markdown tables (via a Markdown extension) always used </th> to close table cells. However, there was one problem, there was no test for the bug.

Please Test MooseX::Params::Validate 0.20

A little while back I asked people to test Params::Validate 1.14. Judging by the lack of bug reports I’m sure that many people tested it and it worked fine. Ok, just kidding. I strongly suspect almost no one tested it and that someone will yell at me for breaking their software. But hey, I tried. Now I’m asking folks to try out MooseX::Params::Validate 0.20. This release makes a rather major change to the exception thrown when a type constraint rejects a value.

Please Test Params::Validate 1.14

I’ve just released a new version of Params::Validate that allows validation callbacks to die in order to provide a custom error message or exception object. This was a long-needed feature, and will enable me to make Moose::Params::Validate support the error messages provided by type objects, which has also been long-needed. However, I’m a little nervous about any changes to Params::Validate, since it’s used a rather large chunk of CPAN. It has c.

MaxMind is Hiring

We’ve actually been trying to hire someone for a while, but there was some question about what states we can hire from. First of all, we’re hiring a Senior Software Engineer. This involves a lot of Perl, some Go, and the possibility of C and other languages from time to time. This is mostly backend work, building web services at an ever growing scale. We’re accepting applications for this position from all US states and Canada.

The definition of irony?

autarch@houseabsolute:~/projects/DateTime-TimeZone (master $>)$ dzil release [DZ] beginning to build DateTime-TimeZone Cannot determine local time zone

How Should Log::Dispatch 3.0 Work?

I’ve been playing with the idea of making a new version of Log::Dispatch that breaks some things. There are a few changes I’d like to make … First, I want to trim back the core distro to only include a few outputs. This would just be those outputs which are truly cross-platform and don’t require extra dependencies. Right now that would be the Code, File, Handle, Null, and Screen outputs. I might also borg rjbs’s Log::Dispatch::Array, since it’s so darn useful for testing.

Isn’t Email Great?

Apparently my post on Perl 5’s overloading is deeply, deeply offensive. Here’s an email I got out of the blue today: Perl isn’t your first language isn’t it? You strike me as Java programmer. Look. Don’t do overloading. If you need to do overloading then you are probably doing something wrong. “If you don’t care about defensive programming, then Perl 5′s overloading is perfect, and you can stop reading now. Also, please let me know so I can avoid working on code with you, thanks.

On Writing Emails (and Not Sending Them)

I suspect I’m not the only person who does this. I start writing an email because I’m angry/annoyed/outraged/indignant. I write the whole thing. I sign it. I look at it. Then I discard it. There’s something therapeutic about this. I get all of the benefits of venting without actually escalating a conflict. I wonder if there’s a market for an email client app or plugin that helps with this? “While you wrote this email your writing speed was 20% faster than your standard writing speed.

Please Try the Latest Test::Class::Moose

I’ve been doing a lot of work on Test::Class::Moose recently and I’ve released a trial distro with my changes. The highlights in this release are: Support for parameterized test classes - instantiate a class more than once with different parameters Separated the test runner from Test::Class::Moose itself - there is now a new Test::Class::Moose::Runner class so your test classes themselves are not also runners Integrated the parallel runner code into this new runner so you can just pass jobs => 2 to the Runner class and get parallel testing These changes are (obviously) backwards incompatible so Ovid and I would love to get your feedback on these changes before enshrining them in a stable release.