Moose::Manual!

I’m very excited to announce the first release of the new Moose::Manual documentation as part of the Moose 0.66 release. This is part of the documentation work being funded by the Moose docs grant from TPF. One of the complaints we often hear about Moose is that the docs are not good enough, and that it’s hard to get started with it. The Manual was created to address this issue. I’m hoping that it will be a good starting point for people to understand Moose concepts and features.

The Many Axes of Software Development

People want many things from software, and those desires are often contradictory. There’s a constant back and forth about what people want from CPAN modules, in particular. It seems like we have the same arguments year after year. I think talking about priorities before talking about why something is good or bad is crucial. So what are these priorities? How do they work together? Which ones are contradictory? Which ones are most important to you, and when do the priorities shift?

Epic Fantastic Ecology

I enjoy reading a good epic fantasy from time to time. Sure, it’s a well-worn genre, but I like a big story, and if it’s well-written, it can be fun. I just finished re-reading Tad Williams’ Memory, Sorrow, and Thorn trilogy (for the first time since it was published 20 years ago). It was enjoyable, despite a bunch of cliche bits. But it got me thinking about how ridiculous many fantasy worlds are when you look a little deeper.

Discoverability in REST vs Providing an API

I’m still stuck on the whole problem of the requirement that URIs for REST APIs be discoverable, not documented. It’s not so much that making them discoverable is hard, it’s that making them discoverable makes them useless for some (common) purposes. When I last wrote about REST, I got taken to task and even called a traitor (ok, I didn’t take that very seriously ;) Aristotle Pagaltzis (and Matt Trout via IRC) told me to take a look at AtomPub.

I’d Like to Be Dead Like Perl

The “Perl is Dead” meme has been going around for some time. It seems like one of those self-reinforcing things that people keep repeating, but where’s the evidence? The other half of the meme is that other dynamic languages, specifically Ruby, Python, and PHP are gaining market/mind share. That is true. I hear a lot more about Python, Ruby, and even PHP these days than I did five or ten years ago.

But I Like Docs, Roy!

Roy Fielding, the inventor of REST, wrote a blog post recently titled REST APIs must be hypertext-driven. It’s quite hard to understand, being written in pure academese, but I think I get the gist. The gist is that for an API to be properly RESTful it must be discoverable. Specifically, you should be able to point a client at the root URI (/) and have it find all the resources that the API exposes.

Favorite Concerts

I just got back from seeing The Magnetic Fields, and it was a great show. It got me thinking about the most memorable concerts I’ve seen over the years. In no particular order … Weird Al at Toad’s Place in New Haven, 1991 (or 1992). I know how deeply uncool it is to admit this, but I’ve seen Weird Al live, and it was great. I think this was the first rock concert I ever went to, in fact.

You don’t need to scale

Programmers like to talk about scaling and performance. They talk about how they made things faster, how some app somewhere is hosted on some large number of machines, how they can parallelize some task, and so on. They particularly like to talk about techniques used by monster sites like Yahoo, Twitter, Flickr, etc. Things like federation, sharding, and so on come up regularly, along with talk of MogileFS, memcached, and job queues.

A problem of multi-issue groups illustrated as a Venn Diagram

… 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?

Cross-posting from Movable Type to use Perl

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.