Perl-Operated Boy

And now for something completely different.

Adopting DateTime::Format::Mail

Finally pushing my first release of this distribution is a special moment to me.

Its original author, Iain Truskett (SPOON), died on December 29th, 2003. He was 24. Back then, I didn't know him, had never interacted with him, or even used any of his modules. That was ten years ago.

Improving the grant program (1) Grant Limit

Last year, Alberto, who ran the Grants Committee at that time, published this blog article to ask what we can do better. I read the comments repeatedly to think about our improvement options. In the next few entries, I will discuss what we did and what we will do to make the grants program more useful.

The first one is the removal of $3,000 limit (see #2 of the announcement).

From the comments made at Alberto's article:

I think the grant limit is an issue. I have projects I could submit, but I think they'd take too much of my time, and $3,000 just wouldn't cover it. Basically, I think I'd need to be able to take weeks or a months off of my job to get done what I'd like to do.

A smaller issue is the grant size - I did not have in mind grand plans like autarch, but I can easily see this being a month of work. $3k/month is rather limited.

Questioning the Role of API Design in Perl

or Querying the Designated API of Perl Roles

A Little more Testing of the waters

Still exploring the MooseX name-space these days and today I was going to have a look at 'MooseX::YAML' as that was the format I was saving my AD&D data in it (for the time being) I thought it might be a good fit to load things up faster or at least save me some code in writing a YAML parse role.

So I started out with a little YAML to test



use MooseX::YAML;

my $dwarf_yaml =  <<YAML;
  class: 
    - Fighter:8
  dexterity: 15
  constitution: 16
  charisma: 18
  race: 'Dwarf'
  name: 'Glarp Gnlnarn'
  strength: 18
  exceptional: 91
YAML

Then I should just be able to load in my YAML and be done.


my $dwarf_yaml = MooseX::YAML::Load($dwarf_yaml);

my $dwarf = MooseX::Blessed::Reconstruct->new->visit($dwarf_yaml);

print $dwarf->name()."\n";
print "charisma=".$dwarf->charisma()."\n";
print "strength=".$dwarf->strength();
print " (".$dwarf->exceptional().")\n"
	if($dwarf->can('exceptional'));
print "opens a door on a ". $dwarf->open_door_on_a()."\n";
print "opens a barred door on a ".$dwarf->open_barred_doors_on_a()."\n"
  if($dwarf->can('open_barred_doors_on_a'));

But I get this

My Master Voice

One part of AD&D that I allays loved and why I played it for so long was its story telling nature. I can't tell you how many reams of paper myself and the rest of us players and DMs produced in our epic mutil-year game, Still have a few stuffed upstairs in the attice where they where shoved after life caught up with me and my cohorts and the joys or, wives, husband, jobs, houses and kids overtook our game.

It was the 'in-character' and 'NPC' conversions that where always best as some of my fellow players where very good at it. One player what an expert at imitating a ranting nut bar that may or may not have some good info for the party a.k.a. 'the old man from scene 24'.

scene24.jpg

Well I was wondering if there as a way to add this sort of thing into my game rather than the rather stale, tablets or very expensive 'cut out' videos many of todays games.

Perl Encryption Primer

Timm Murray gave his Perl Encryption Primer talk last night at MadMongers. He’s been blogging about it for the past month. The posts are quite informative so you should check them out. There’s also a video up on YouTube about it now.

[From my blog.]

The everywhere trick

After reading Eric's Plack blog series today, I also stumbled upon his other blog post about a nice little Devel::Dwarn trick.

I also pepper use Data::Dump; dd $something; in my code a lot! So many that I created DD and DDC to lessen the typing. But this trick is better because I don't have to put the use statement at all. Plus I get some safety (I do accidentally check in these debugging print statements from time to time).

But putting -MData::Dump or -MData::Dump::Color on the command-line or PERL5OPT will only work for the code in the main package. What if I pepper debugging statements in some module? That's where another nice module written by Brock Wilcox comes in: everywhere. This module lets you use a module, well, everywhere. It works by installing a coderef at the start of @INC that will trap every require statement and import the modules you want to import everywhere to the target module. By the way, this @INC handler trick is also employed by some other cool modules, among others: App::FatPacker and PAR.

So now you can just put "dd" statements in your modules and test your application with:

perl -Meverywhere=Data::Dump yourapp.pl

or some shorter alias which I'm sure you'll soon create if you use this often enough.

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is run by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.