Net::Amazon::EC2 now with v4 signature support

I just released 0.30_1 of Net::Amazon::EC2 to CPAN. This test release contains support for AWS4 signatures. It is based on a pseudonymous patch on this RT ticket but I reworked it to support both v2 and v4 signatures because I know some of the people who use this module connect with Eucalyptus or other AWS-compatible-ish APIs which may not fully support v4 yet.

So if you've been itching to get stuff done with EC2 in the eu-central-1 region (which AFAIK only accepts v4 requests), please give this test release a spin. I plan to release it as 0.31 after a couple of weeks if no show stopper(s) pop up.

If your core perl documentation uses =encoding, please test the new perldoc release

I'm here today to talk about the venerable perl documentation tool perldoc. Working with Koichi KUBO, I think I have a perldoc which works effectively with encodings in files like perlop, perlfunc and perlvar.

Preliminary results with the Japanese docs have been pretty successful, but it would be nice to get some positive results with other encodings/languages. So if you use a Perl with core documentation that isn't "plain old ASCII", would you please give Pod-Perldoc 3.24_01 a spin in your environment?

If you accept this task, please email results to bug-pod-perldoc at rt.cpan.org, open a github issue, or comment here.

Thanks!

Test::RequiresInternet now on CPAN

During my talk at YAPC I recommended that people writing functional tests for a web service client ensure that Internet access is available before running the rest of the test. Later, a question was asked about an easy way to test for Internet access, and I was informed of the existence of Net::Detect.

With a recent thread from CPAN-workers fresh in my memory, I promised to release Test::RequiresInternet to CPAN during YAPC if I was fortunate enough to get through all of it.

I uploaded Test::RequiresInternet shortly before game night and its available on CPAN (also Github.) I just haven't gotten around to publicizing it a bit until I was back from Florida.

That means you can now write your test like this:

use Test::More;
use Test::RequiresInternet ( 'fluxcapacitor.io' => 1953 );

# I got Internet!

ok(travel_in_time());

done_testing();

Why not just use Net::Detect? I wanted a simple module that uses TAP output and didn't have any dependencies outside of the Perl core. I also wanted to account for the environment variable NO_NETWORK_TESTING and the syntax I adopted.

Dear Perl lazyweb: how to construct read-only data objects out of JSON?

I recently updated a client called WebService::Geocodio for the Geocod.io geocoding service. Traditionally, geocoding means turning a mailing address into latitude/longitude coordinates (or the reverse operation, turning latitude/longitude into a mailing address.)

In a recent update of the upstream service they included the ability to fetch additional data fields including timezone, congressional district, school district and so forth. Is there a good CPAN module (or a recommendation) to take a Perl data structure like a hash and turn it into a Moo(::Lax) object "automagically?" I had a look but I didn't find anything especially suitable.

These data structures are purely informational in nature and just have getters for their attribute names. This would be less difficult to accomplish using Moose (obviously) but I'm wondering if there are any suggestions for something that installs getters for hash keys dynamically and is Moo-friendly.

Thanks!

What about HTML to Markdown?

Neil Bowers released a survey of markdown to HTML formatters recently. I thought it was an interesting coincidence, because I have recently written a CPAN library to go the opposite way, from HTML to Markdown.

For various and sundry reasons I wanted to move my blog from a Wordpress installation to a static blog where the post content is represented as markdown, but there were (to my complete astonishment) no CPAN modules to convert HTML to markdown, so I decided to write one based on HTML::Format.

In general, I was surprised by the lack of tools (in any language) to convert Wordpress exports into markdown, but now we have something for Perl. I was pleasantly surprised how quick and straightforward it was to implement the converter. If you have a need to convert HTML into format X, give HTML::Format some serious consideration as the base platform to do that work.

Over the weekend my new module was merged and released to CPAN by the HTML::Format maintainer. The driver script for the WordPress to Markdown conversion is here. I may revise my driver script to put post metadata into TOML but I haven't done that yet mostly because the static blog engine is still under construction so the exact post format requirements are still unstable.

I used a fairly good sized corpus of posts as tests and had good results but more tests are always welcome.