… because who doesn’t love a good Venn Diagram?

CAA is committed to focusing on just one issue, and we avoid taking stances on other issues. Sometimes people question why, and I often see calls among the greater animal rights/social justice world for a multi-issue movement.

There are lots problem with any multi-issue group, and the bigger your scope the bigger the problems. For example, what are your goals, what are your strategies? How do you know you’ve won?

But I think the most serious problem is simply recruiting volunteers. I’ve illustrated that problem with this handy Venn Diagram.

Each circle represents your potential volunteer base, and the intersections are the potential volunteer base of a hypothetical group, either an AR/anti-abortion group or an AR/pro-abortion group.

Now, some people might dispute the relatively small size of each intersection. That’s not the point (and I mostly did it so the text stayed readable). The real key is that the two intersections are mutually exclusive. Our hypothetical multi-issue group can only pick one of those two intersections.

Even in cases where the intersections are not exclusive, you still need to find people who fall into that intersection, and the more issues you add, the smaller the intersection becomes.

I consider this to be entirely proved by this blog entry, because it includes math. And math is always right.

If you’re seeing this on use Perl then the cross-poster is working. You can get it from my svn. You’ll also need to install WWW::UsePerl::Journal, which I monkey patch like crazy in the plugin. I have submitted patches to barbie, though, so hopefully that’ll go away in the future.

The plugin isn’t too smart, so if you save the same entry it’ll re-crosspost each time. Patches welcome, of course.

Not so long ago I joined the Moose core team, and I recently shepherded a rather big Class::MOP (0.65) and Moose (0.56) release.

Soon after there was an interesting thread on the Perl AppEngine list asking Why Moose. This is a perfectly good question.

I realized that when you look at the Moose docs, it doesn’t really explain how it is conceptually different from any other Perl 5 OO helper module, nor does it really do much to show you exactly how Moose saves you work.

In the latest release, 0.57, I’ve written some new documentation that aims to answer some of these questions.

First up we have Moose::Intro.

This document aims to explain what Moose is, why it’s better than the existing body of Perl 5 OO, and introduces each Moose concept with definitions and comparisons to existing practice. The intended audience is folks familiar with Perl 5 OO who haven’t been exposed to more advanced OO concepts like meta-object protocols (ala Common Lisp Object System).

Second is Moose::Unsweetened.

This takes a couple small class examples, and shows them first in Moose, and then in plain old hand-written Perl 5. The idea here is to try to show exactly what Moose is doing for you behind the scenes.

Hopefully these documents will be useful for newcomers to Moose. I’d love to here any feedback you might have on these (or anything about Moose). Feel free to comment here, email us at moose@perl.org, or stop by irc.perl.org#moose.