MadMongers: A New Way To Build Web Services Apps

Tomorrow (Tuesday, January 14th), I'll be giving a talk at MadMongers about a new technique for building web-services enabled web apps. It is the core technology we developed to create The Game Crafter, and we now use it in all apps that we develop both internally and for customers. With it, you can build web-services enabled web apps in minutes rather than months, and I'll be demonstrating that live at the presentation. If you are within driving distance of Madison, WI I encourage you to join us. The…

Announcing TheGameCrafter::Client

I've been publishing simple web service wrappers on CPAN for other people's web services for years, but for some reason I never got around to writing a wrapper for my own web services until now. I'm pleased to announce TheGameCrafter::Client. It is just a light-weight wrapper around The Game Crafter's web service API so that you can get down to the business of writing your app and not worrying about how to make requests and…

Deep Cloning

I've been using Storable's dclone for years, but there's a module on CPAN called Clone that is said to be much faster. However, it doesn't seem to work.


use strict;
use warnings;
use Clone qw(clone);
use Data::Printer;
use 5.010;

my $a = { blue => '#0000ff', one => 1 };

say "A";
p $a; 

my $b = clone($a);

say "B";
p $b; 

$b->{car} = 'Ford';

say "B";
p $b; 

say "A";
p $a; 

Given the above code, I'd expect $a to retain it's structure, but $b to have the added new element of car = Ford. That's what happens when I use dclone, but for some reason it doesn't happen using  clone. Am I doing something wrong? 

Business::Shipping clobbers your Log4perl config

Just an FYI, if you're using Business::Shipping in your app and also Log4perl, then Business::Shipping will clobber your Log4Perl config with it's own. A quick work around for this is:

use Business::Shipping;
Log::Log4perl->init($your_own_config_file_path_goes_here);

Basically clobber Business::Shipping right back.

If I get some round-tuits I'll submit a patch to fix this problem. If the author of Business::Shipping were using something like Log::Any then he could spew out his logs, and the consumers of Business::Shipping could simply load the appropriat…

Meetup.com Event for The Perl Foundation Community Symposium

Meetup.com Event for The Perl Foundation Community Symposium

[From the YAPC::NA Blog.]