Thursday, April 22, 2010

Ich bin ein Moose-er

Thanks to the efforts of Lars Dieckow (daxim) the new Moose website has already gotten a ton of nice SEO and accessibility improvements, but now we have our first official translation into German. So I would like to announce the launch of

If anyone else would like to do some translating, patches are always welcome.

Wednesday, April 7, 2010

New Moose Website

I released a new version of the Moose website earlier this week. It retains much of the old content, but is now a multi-page site with much more room to grow. In the coming months I hope to also better organize the content and make this site into a go-to resource for all things Moose.

And in the spirit of the keeping Moose a community driven project, I have made the code that generates the Moose site available via git (the instructions for this are in the original mailing list announcement). We have already gotten several commits to improve our markup and CSS (daxim++) as well as making the "Organizations that use Moose" linkable (jhannah++).

Thursday, March 25, 2010

Moose 1.00 is released

With help from Florian Ragwitz and all the rest of the Moose contributors, I just uploaded Moose 1.00 and Class::MOP 1.00 to the CPAN! And I am proud to say that over the last eight months or so, I have barely contributed more then a handful of lines of code to the project. This is not to say that I have abandoned it, but that it has now moved beyond me and is truly a community driven and developed project. And to that I raise my glass and say ...

Of course this doesn't mean anything more then 0.99 meant, I declared Moose 0.18 to be stable and ready to use almost 3 years ago, but reaching this release is still a milestone if only in that it will make it easier for some people convince their bosses to let them use Moose :)

Monday, February 1, 2010

On Frameworks ...

So I was reading zby's latest blog post on frameworks and libraries. On some level I agree with him that often times frameworks are basically just codified "convention", but I really don't see this as a bad thing, and here is why.

As I see it, the purpose of a library is to provide generic re-usable code that can be used in many different contexts. The purpose of a framework is to provide a set of guidelines/conventions/best-practices which a developer can then build upon, therefore avoiding the need to set those guidelines/dictate those conventions/determine those best practices themselves.

Some frameworks are more opinionated and complex (RoR, Catalyst, etc) and push/force you into their way of thinking, the benefit being that they also provide you with lots of building blocks that often times are zero-conf. While others (Dancer, Web::Simple, Mojolicious::Lite, etc) are more focused and purposefully simple, they leave many problems unsolved therefore allowing more freedom for the developer. Each of these approaches has merit and neither is truly superior in all contexts, which brings me to Plack and why I think this explosion of "frameworks" is a really good thing.

The ubiquity of Plack means that all these frameworks can be (fairly) easily used within the same application (or set of applications). It should (eventually) be very easy to have your Catalyst application running next to your Dancer application, running next to your WebNano application, all sharing the same session data, user information, etc. through Plack::Middleware components and mounted under a single Plack::App::URLMap and controlled easily using plackup.

Monday, January 25, 2010

Perl Oasis Slides

So I finally found some time this weekend to annotate my slides from OPW and get them uploaded to the interweb. The theme of the talk was two fold. First was that we all stand on top of the shoulders of those who came before us and that Open Source is a great context in which to do that, both when building on top of computer science concepts and when borrowing lessons learned from other language communities. The second half the talk was about my recent experiments using Plack (which is the Perl Web Server, in case you hadn't heard), Bread::Board, Path::Router and Moose, which I combined together as an experiment I call OX.

Thursday, January 21, 2010

Plack - The Perl Web Server

Wow, in less then a week it seems that Plack has climbed to number seven in Google search results for Perl Web Server. It is only a matter of time before the hivemind that is Google realizes what we already know, that Plack is *the* Perl Web Server for the new millennium!

Monday, January 18, 2010

Perl Oasis 2010

So this weekend I went down to the Perl Oasis (a.k.a - Orlando Perl Workshop, or OPW for short), which is a small one day conference run by Chris Prather and his wife Jamie. I had missed it last year, but I heard so many good reviews of it I decided that this year I couldn't miss it, and I am really glad I didn't because I had a really great time.

There were lots of great people, great talks and great conversation. Some highlights include miyagawa's Plack talk (Plack really should be the top search result for "Perl Web Server"), Lucas Oman gave a really interesting talk about trying to implement Roles in PHP, the always entertaining Matt Trout gave a talk in the form of an epic poem and many more.

I find that I really enjoy the small and short conferences, they are usually on a weekend (less work juggling to do) and everything is a group activity enjoyed by all (much easier to coordinate activities when you don't have 300+ attendees). This conference, along with the always fun Pittsburgh Perl Workshop are now both on my "can't miss" list.