Now that I've put Djet into production, I recon it's time I at least told about it.

Djet is a Node Based Content Management System. It's a rather advanced one, using features from modern Perl and PostgreSQL. It's meant to be used behind some kind of frontend server, e.g. Nginx, or at least a Web Cache like Varnish.

Padre is now on Github

Perhaps you remember Padre, The Perl IDE. It was started around 5 years ago, had a lot of development, and ended up being a quite decent programmer's editor.

Alas it's been suffering from lack of care for a couple of years now. Not because of lack of need or interest, but because nobody seems to have the time. And perhaps somebody needs to step up and grab the torch. Perhaps it's you?

Role::REST::Client and hash key randomization

Role::REST::Client is a small module to be used as a Moose role. It will enable your module to call REST services in a clean, transparent way. It was originally a part of Catalyst::Model::REST , and I guess that is still the main use case, but it can really be used in any module needing to call a REST service. To use it, all you have to do is

use Moose; 
with 'Role::REST::Client';

and you will be able to use ->get, ->post, and so on with Role::REST::Client handling the encoding, (de)serialization, etc of the call. Thanks to many contributions from Wallace Reis, Matt Phillips and Mark Stosberg it is very configurable and robust.

I've been getting error reports for some time, but a cursory glance through the code showed no faulty use of hashes. I've used all my ressources at $work, so I haven't had time to dig into this problem, until Сергей Романов (sergeyromanov) poked me with a pointy test case. The problem was easy to find, two parameters to ->new relying on their individual order.

Problem is fixed and uploaded to CPAN as Role::REST::Client 0.15

REST authentication

A week ago or so, I wrote about the new Role::REST::Client.

This is just a short note to tell that it now does basic authentication.

Divide and Conquer

At least that's the goal. I've split Catalyst::Model::REST in two, so there's a new Role::REST::Client as well as the original distribution.

Originally I started CMR because I needed to access some REST services from a Catalyst application. There was nothing useful around, so I wrote a simple Catalyst Model and wrapped it up on CPAN.

It's been further developed to when there has been new requirements, and a couple of days ago the nice people on #catalyst suggested to split the functionality into a distribution of its own. The use case being that a role can be applied to an alr…