My current Perl Ironman Challenge status is: My Ironman Badge

Monday, January 25, 2010

YAPC::EU and course ideas

After spending time at OPW2010 with many wonderful people, I was exposed to the thought that YAPC::EU was in fact more better (double comparative), than YAPC::NA. So I decided to look into what exactly it would cost to spend a week in the wonderfully historic Pisa, Italy (where YAPC::EU::2010 will be) in the first week of August.


Airfare alone is frightening.

But I am not going to give up on the idea, at least, not until I consider other possibilities.

In IRC tonight, I had the spontaneous idea of perhaps putting together a course with the complete kit of course materials, exercises, etc. My idea of the class goes as such: Modernizing Legacy Perl Applications. Basically, we would explore a pre-modern Perl app (, raw blessed hashes, raw DBI, raw forking, etc) and modernize it over two days (16 hours total). Overall, the class would provide a practical crash course in various aspects of modern Perl (and lots of modules from Task::Kensho) and also a general outline for students to use when implementing their own revitalization project. It would be a tight squeeze for the time allotted, but so far, I haven't seen any other classes take such a tack for introducing modern Perl.

While classes that explore Moose and Catalyst at from the beginner and up level, no one seems to put it all together. I'd like to do that. And I'd like for it to be a source of compensation of costs to attend the wonderful YAPCs abroad.

Right now the course idea seems like an insurmountable task, but with a couple of interested parties willing to invest time into resources development and teaching, it is very feasible.

So we will see. I may see a leaning tower yet :)

Saturday, January 16, 2010


What an incredibly awesome conference! Kudos to Chris Prather (perigrin) and his lovely wife for organizing this event. It has been a big success in my book and many others. My talk went well and I will publish the slides and code to github soonish.

Tomorrow is the hackathon gathering where I hope to dig into updating some bitrotten code of mine. And also perhaps taking a look at metaclass serialization.

Short post. More tomorrow perhaps.

Thursday, January 7, 2010


I recently added a new feature to DBIC::API. You can now specify "as" as passed to ->search() that is a complement to the "select" attribute. This doesn't produce a true "as" because the DBIx::Class docs only say it is for internal access, but what it does produce is an accessor of that name (use get_column with specified "as"), to get at columns that are actually results produced from DB functions such as COUNT. This means you can specify:


using CGI::Expand syntax to produce the right arguments to ->search

{ select => [ { count => 'some_column' } ], as => [ 'my_count ] }

This is rockin.

As funky as the CGI::Expand syntax is, it is incredibly flexible. This one minor feature let me avoid a more complicated setup for work and instead rely on what DBIC::API is good for: exposing DBIx::Class via web service.

I'll do another release of DBIC::API soon.

Sunday, January 3, 2010

New Year Hacking

So in my last post, I made mention of brokenness in DBIC::API. Specifically, the prefetch_allows only considered hashes with only one key. To my defense, I didn't have any more of a complicated use case. Also, other use cases, in and around the internets and even the docs for DBIC itself, don't include those kinds of complex prefetch. So, I didn't consider that someone might want to prefetch/join on multiple keys like that.

Mea culpa.

So, my latest commit to the DBIC::API repo, on trunk, makes abraxxa's modified (and initially broken) test pass. First code of the new year! When abraxxa gets back to me, I'll do another release for general consumption.

Some other random news: I'll be talking at the Perl Oasis Workshop on workers, job queues, etc and how POEx::WorkerPool is your solution to making things easy. Also, I will be giving a short talk at the Frozen Perl Workshop making use of my recent hacking on DBIC::API and ExtJs for doing datagrids.

Before the latter talk, I hope to have some up on CPAN that is a ready-made datagrid that you merely plop in and configure up. I had written about doing a datagrid like that since last year, and ultimately had to delay delivering on that promise until I had made my certain advancements in core technologies. Now that I am getting DBIC::API how I like it and I already have it talking to ExtJs's RESTful Stores, without custom query code.

Anyhow, I am excited to get back into the swing of things for work and excited to meet all of the smart Perl peeps you always meet at these kinds of conferences.