The Wayback Machine - https://web.archive.org/web/20101113174344/http://blogs.perl.org/

New Data::Google::Visualization::DataTable

After a bug report from a user, I've uploaded a new Data::Google::Visualization::DataTable.

You can do some fun stuff with this module - it allows easy preparation of data for use with the Google Visualization API - ie: any data source you can access in Perl, you can easily spit out as one of a number of awesome and often interactive graphs and charts.

If you make so…

Posting utf8 data using LWP::UserAgent

Yesterday we had some troubles setting up a client that should post some utf8 JSON to a web API. The problem was, that the data kept showing up as latin-1. After lots of "fun" with hexdump, wireshark, the debugger and Devel::Peek we verified that we were in fact passing a properly utf8 encoded JSON to LWP::UserAgent like so:

    my $response = $ua->post(
        $self->api_base_url . '/' . $args->{action},
        'Content-type'   => 'application/json;charset=utf-8',
        Content          => $args->{data},
    );

Still we didn't receive utf8 on the server.

Top 10 Mistakes When Building and Maintaining a Database

Top 10 Mistakes When Building and Maintaining a Database is a good overview of what not to do when creating a database.

  • The article is SQL Server-centric; and
  • Mistake #4, "Use of Adhoc Queries", seems to be true only when you have a large, heterogenous development staff (like 10+ developers). Smaller development groups don't seem to suffer from allowing ad hoc queries by …

Why uninitialized variables are bad (Linux kernel and more)

I've always been an avid hater of uninitialized variables. I'll hunt them down, catch them and beat them to a bloody pulp and then shoot the remains.

Too much, you say? No need for the bat AND the gun, you say? Oh, quite the contrary.

Here is an example of a recently discovered Linux kernel issue. An uninitialized memory segment. The fix is really simple: to initialize it with zeros. This was done in a patch that only adds the following command:


Blessed are the CPAN Testers

I was doing a lot of work on Dancer lately. We've been experiencing a few test failures on Windows with the upcoming big release. I'll admit we are usually reluctant to go to Windows-land and fix issues, but Alias sure made it clear how important it really is, so it was something that had to be done at some point.

While investigating this situation, I've noticed Cwd's realpath() function was complaining a path for a test did not exist. The path did not exist for Linux or BSD either but the test wasn't failing there.

After check…

DancerJukebox - Dancer-based music queuing webapp

David Precious (A.K.A. bigpresh) recently wrote a nifty little webapp for MPD (Music Player Daemon) using Dancer, available here.

He also wrote an article about it which you can read here.

Props!

Lacuna Expanse conspiracy theory

Has Lacuna Expanse been created solely to cripple Perl developers' productivity?

Are tiobe.com the real developers of Lacuna Expanse, in a fiendish plot to further lower perl's ranking?

Who cares?!
The Saben Semesne are attacking!
Where are my spies?!

Dear LazyPerl

I'm looking for a Catalyst or other Perl based application framework that will do standard CRUDS (CReate, Update, Delete, Search) functions. I've seen a few of the online writeups about how different people put these together in as few lines as possible, but I'm more looking for one that I can just install via CPAN, configure a database connection, and start the server.

Any suggestions?

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.