Using Test2 to (Re-)Implement Test::Class::Moose

I’ve been on vacation for the past week, and I decided to take a look at using Test2 to reimplement the core of Test::Class::Moose. Test::Class::Moose (TCM) lets you write tests in the form of Moose classes. Your classes are constructed and run by the TCM test runner. For each class, we constructor instances of the class and then run the test_* methods provided by that instance. We run the class itself in a subtest, as well as each method. This …

Read more

Please Test the DateTime 1.22 Trial Release

The 1.22 trial release includes some small backwards incompatible changes in how DateTime->from_epoch handles floating point epoch values. Basically, these values are now rounded to the nearest microsecond (millionth of a second). This release also fixes a straight up bug with the handling of negative floating point epochs where such values were incremented by a full second. I’ve tested many downstream DateTime dependencies in the DateTime::* namespace. The only thing that broke was DateTime::Format::Strptime, for which I will release a …

Read more

Hacking on Perl 6 (Rakudo and Roast)

I found a bug in Perl 6 recently. Really I independently discovered one that was already reported. Here’s how to trigger it: $ perl6 -e ‘say <2147483648/3>’ ===SORRY!=== Cannot find method ‘compile_time_value’ Any numerator of 231 or greater causes that error. Note that Perl 6 is perfectly happy to represent rationals of that size or larger: $ perl6 -e ‘say Rat.new(2147483648, 3)’ 715827882.666667 So the problem was clearly somewhere in the compiler. Here’s a quick guide to how I fixed …

Read more

My Perl 5 Advent Calendar Article

My article on Stepford for the Perl 5 advent calendar is now live. Maybe I can write an article on Perl 4 or Perl 7 for the trifecta? Stepford is a tool we wrote at MaxMind, Inc. to help automate our database build process. It’s like make but in Perl, and instead of writing a set of rules, you write a set of step classes and it puts them all together. See the article for more details.

Read more

My Perl 6 Advent Calendar Article

I wrote an article for the Perl 6 advent calendar, Perl 6 Pod, that just went live earlier this evening. I’ll also have a Perl 5 advent calendar article coming up soon on December 16. Am I the only person to write an article for both the Perl 5 and Perl 6 advent calendars this year? I guess we’ll find out on December 25.

Read more

Perl 6 Is Fun

This post got a lot of discussion on Hacker News that you might find interesting. I’ve been writing a fair bit of Perl 6 lately, and my main takeaway so far is that Perl 6 is fun. Pretty much everything I love in Perl 5 is still part of Perl 6, but almost everything I hate is gone too. $Love – $Hate = $Fun; Here are some of the things that I’ve been having fun with in Perl 6 … …

Read more

Please Test DateTime::Locale 0.93

For a long time, the DateTime::Locale distribution has been rather stale. It is built from the CLDR project data, which came in XML form. And not just any XML, but one of the most painful XML formats I’ve ever experienced. It’s a set of data files with complicated inheritance rules between locales (both implicit and explicit). Any data file can contain references to any other file. There are “alternate” and “variants” for various items. It’s complicated. To make it worse, …

Read more

Parallels Between Anti-Sweatshop Campaigns and Consumer Advocacy for Animals

In a discussion group about animal activism on Facebook, someone recently shared an article titled The Myth of the Ethical Shopper. It’s a really interesting piece about some of the problems with consumer advocacy aimed at encouraging people to buy sweatshop-free products. I highly recommend reading it. The discussion in the Facebook group was about how this piece might relate to efforts targeting consumers on behalf of animals, but I think the discussion got off on the wrong foot. I’ll …

Read more

I renamed my GitHub organization

The organization formerly known as “autarch-code” is now called “houseabsolute”. I think some folks may not have wanted to transfer a repo to an organization named “autarch-code”. The new name is hopefully a little less “all about Dave”. I also changed the picture, though I really miss the old one, because I thought it was hilarious. I’ve saved it here on this blog for posterity.

Read more