Meeting Perl while on Vacation

Well bandwidth is still a problem for me these days (can you even remember 56k dial-up) so just a short post.

Well on the road today I met Perl at least 3 times and I wasn't even on line.

Well first we passed a semi hauling a load of cars and I looked up and saw a sticker on it saying powered by CargoTel. Well some of you may not know, well most maybe, that the CargoTel network for car delivery logistics is 100% Perl.

Well stopping at a very remote site in the afternoon I saw a sign that said 'As Seen On 'Tripadvisor.com' again another site that uses a good deal of Perl at least the last time I checked.

Finally stopping at the B+B this evening I noticed a sticker on the front door was from our good friend to the perl world 'Booking.com'

So I guess for a dead of dieing computer language we are not doing to-bad if we can penetrate into what can only be called a rather remote part of N.A.

Open Access: Second Thoughts

I have always been a proponent of Open Access scholarship. The days where dissemination of scholarship cost a significant amount of money are over. However, I am having some second thoughts. Most of these lie in the fact that, while I like open access, I like academic freedom even more. It is this juncture that bothers me the most.

Open Access began mostly in the sciences as a reaction to the fact that science publishers were continuing to mark-up the amount it cost to purchase journals without thinking of the stagnating and declining library budgets. This has lead to a confrontation between libraries and publishers in the sciences. The outcome of this continuing debate is two forms of Open Access called “Green”, preferred by libraries and university administrators, and “Gold”, preferred by the UK government and publishers. A good discussion of the pros and cons can be found here.

A Simple dist.ini for Dist::Zilla

This is day 3 of the Perl-QA Hackathon in Lyon, France, and I decided it was time to fix some issues with the older dist.ini I was using. Erik Colson asked about my dist.ini, so I thought I should explain it here, along with comments.

Perl Help :(

Dear Perl expert i Want To know How this Script Work Please
_____________________________________________________________________

#!/usr/bin/perl
use strict;
use warnings;
use IO::Socket::INET;

# in /admin/config.php
# // handle special requests
# if (!isset($no_auth) && isset($_REQUEST['handler'])) {
# $module = isset($_REQUEST['module']) ? $_REQUEST['module'] : '';
# $file = isset($_REQUEST['file']) ? $_REQUEST['file'] : '';
# fileRequestHandler($_REQUEST['handler'], $module, $file);
# exit();
# }


# in /admin/library/view.functions.php
# case 'api':
# if (isset($_REQUEST['function']) && function_exists($_REQUEST['function'])) {
# $function = $_REQUEST['function'];
# $args = isset($_REQUEST['args'])?$_REQUEST['args']:'';
#
# //currently works for one arg functions, eventually need to clean this up to except more args
# $result = $function($args);
# $jr = json_encode($result);
# } else {
# $jr = json_encode(null);
# }
# header("Content-type: application/json");
# echo $jr;
# break;


$| = 1;

Well it is worth the wait?

Well being out here in off-line land I took some time to work on formating some YAML files for my ongoing AD&D game. Well I was ok until I had to parse some things. Usually I just lay with my good old online YAML parser but I was finding it a bit trying what with the slow speed and late hour.

Then I remembered that some time ago I had used such a thing with Padre and sure enough after about 5 mins searching on Map of CPAN I ran into Padre::Plugin::YAML So I decided to give it a whirl and here is the results.

Well it seems I must of been missing a few of the compassionates it required as it took a good few hours to install but it did go-smootly. Seems it was not the size of the packages that took forever it was installing and compiling and the stuff the requirements required. Sigh!

My new buildbot

I've added some buildbot instances on various architectures to my new buildbot at http://perl514.cpanel.net/build/. I needed about a day to set it up.

Tested projects are so far: perl5, rakudo, nqp, parrot and p2.

The buildslaves are currently: centos5 (old system), cygwin, cygwin64, darwin (my macbook air), debian (fresh), mingw32 (strawberry), ppc (an old powerbook)

And soon: mingw64 (python refuses mingw64, demands msvc), freebsd, openbsd, solaris10 (intel 64bit)

All the slaves initiate the connection to the bot on some private tcp port, so they can all stay behind my firewall. Most of them are some vm's on my devbox, and I start/stop them at random.

The setup included installing python 2.7, setuptools, and then easy_install buildbot-slave. The configuration is a bit tricky, but it's python code, not just some data format, and not jenkins.

Test::More - New Maintainer, Also stop version checking!

This post is to announce two things:

1) I am the new maintainer for Test::More. Schwern and I got together this morning to move it to a github organization, Test-More, at https://github.com/orgs/Test-More/. We are working on getting the repository into a decent state. You will need to update your links, repo remotes, etc. https://github.com/Test-More/test-more/

2) Test::More 1.5 is suspended indefinitely. Regular Test::More will eventually reach the point where it will hit version 1.5.0, at this point the version will collide with the 1.5 experiment. There is probably *A LOT* of code out there that does version checking to see if it is running the 1.5 experimental code. This needs to be changed to check for capabilities instead using can(), for example Test::Builder->can("history"). Altering a programs behavior based on Test::More version is not appropriate.

We have split the repo into Test::More and Test::Builder2. We are working on moving all issues for Test::Builder2 and Test::More1.5 into the correct repo. That repo is https://github.com/Test-More/TB2

After things settle I will create a new blog post with a plan for future work on the Test::More/Test::Builder/Test::Simple ecosystem.

perldoc -l for modules without pod

perldoc -l Carton prints the path to Carton.pm so I can write

vim $(perldoc -l Carton)

if I want to open it in vim.

perldoc -l Carton::CLI print
No documentation found for "Carton::CLI".

even though there is a Carton::CLI module

wouldn't it be nice it also printed the path to the module, even if it did not have pod in it?

Alternatively, can you recommend another way to access the source code of an installed module?

Where to find the good stuff

One thing I ave found when doing a little research for this post was the very large number of perl tutrials out there and how many where well over 10 years old some as old as 15.

Well still stuck here in limited access land so I had a quick look around and found this site

So in about 10 mins of reading I now know where to send anyone who asks me where to go for good tutorials.

There is also a good chance if you want to help out as there is a long list of sites to still look at and I am 108% sure that GABOR would be more than happy for the help.

One thing that really grabbed my attention in this site is it is just not a simple list of tutorials it is a vetted list and it is very well vetted. Just check out the reject page and you will see the reviews really through job at evaluating a site you just say a site is bad you have to prove it.

What goes around, comes around

A thousand years ago, Viking raiders poured out of the frozen North to terrify and oppress my poor Celtic ancestors. But now it's our turn! That's right: once again, I'm returning to Oslo to spread mayhem, fear, and Perl (and not necessarily in that order!)

On Monday 24 March, I'm running a public class on behalf of Oslo.pm at Redpill-Linpro. I'll be teaching my Perl Masterclass, exploring advanced programming techniques for more experienced Perl programmers. I'm really pleased, because I don't often get the chance to offer my top-shelf class to the general public. We still have seats left, and you can sign up today.

Tel Aviv Perl Mongers Meeting on 26 March 2014: Special Challenges in Hardware Description Languages

(The Hebrew text will be followed by an English one).

Perl::QA Hackathon in Lyon - Day 2

I've just released Test::Class::Moose version 0.50. The major feature you'll notice are the Test and Tests attributes. They're included to make it easier to migrate from Test::Class.

sub this_is_a_test : Test {
    pass 'we have a single test';
}

sub another_test_method : Tests { # like "no_plan"
    # a bunch of tests
}

sub yet_another_test_method : Tests(7) { # sets plan to 7 tests
    ...
}

Well A long way From home

Well I am a long way from home today and of course I had to check in and look at a few things.

Well No problem with the modern web just connect in from anywhere in the world and do your work.

Well my internet connection is 34kb so not very broad as well I using my cousin's computer but at least I can get my google mail and use good old ftp if I need to copy anything to and from the remote site

Well that is all great and good but I had to do some very quick debugging on a web site I sometimes help maintain. Well with the very limited connection speed I was timing out over the ftp but after 20min I finally got the offending file downloaded.

DOAPy Dist

So what's DOPE? No, not DOPE, DOAP... what's DOAP?

Here's what Wikipedia has to say...

DOAP (Description of a Project) is an RDF Schema and XML vocabulary to describe software projects, in particular free and open source software.

It was created and initially developed by Edd Dumbill to convey semantic information associated with open source software projects.

It is currently used in the Mozilla Foundation's project page and in several other software repositories, notably the Python Package Index.

When you want to preserve your digital data: how few copies

Dr. Rosenthal's classic "How Few Copies" examines in detail just how few of copies you might need to preserve your digital data. (The context is Lots Of Copies Keep Stuff Safe, which you need to know about if you care about digital preservation.)

If preservation (and backup is part of preservation) is one of your interests, Dr. Rosenthal's blog is just a generally good blog to read.

DBD::SQLite 1.41_07

As the upstream released a new version of SQLite (3.8.4.1) and I was asked to include it in the next stable, I released yet anther release candidate: DBD::SQLite 1.41_07. There's no changes in Perl/XS, and all the bugs fixed in the stream should be obscure. I'm planning to release it as the next stable in a week or two, after I get enough reports from you and/or CPAN Testers. Tell me if you happen to find anything. Thanks for your patience.

Gluu fer the Wëëbb Part 2

Well in my first post of this series I just managed to get a listing up and running utilizing the Toto plugin well lets move on a little.

Well it seems I have my list and the underlying urls I have 'http://localhost:3000/character/view/Glarp_Gnlnarn' which is correct but of course it is not a 100% 'REST' as I think that by convention 'character' should be the plural 'characters' but then again in the POD they say this is a BREAD interface not a REST and the author defines it as

'- in a BREAD application, browse and add are operations on zero or many objects, while edit, add, and delete are operations on one object'

Ok I can buy that so back to doing some code.

Well back to doing a little coding.

So this time out I again start with my route and sub

Perl::QA Hackathon in Lyon - Day 1

I'm at the Perl QA Hackathon in Lyon and it's been an interesting trip so far. I missed my flight yesterday, so I had to fly out this morning — only to get to the airport and discover that I left my passport at home. Fortunately, the hackathon is in Lyon, France, so I was able to use my Titre de Sejour (residence permit) instead. Then the coffee machine ate my money.

Then shortly after I get to the hackathon (after four hours of sleep followed by four hours of travel), Leon Timmermans hit me with an interesting problem regarding parallel tests in Test::Harness. I came up with an approach that isn't as sexy as his, but is far simpler and it involves a module I released today, TAP::Stream.

Here’s a video of a talk I did at MadMongers recently to...



Here’s a video of a talk I did at MadMongers recently to convert a PHP library into a Perl module. You can download the slides here.

[From my blog.]

'For the first time in forever'(1) Send-A-Newbie will be supporting YAPC::NA

by Claire Jackson and Mark Keating
The Enlightened Perl Organisation has been supporting newcomers to many perl events for a number of years. The official send-a-newbie program has been run in conjunction with YAPC::EU since 2009.

This year, we are proud to announce, that the initiative has been expand to assist
neophytes in accessing YAPC::NA::2014 to take place in Orlando, Florida.

Since this is the initial year the program has been organised between a chosen attendee and the conference organisers to test the process and implementation of this, hopefully, yearly initiative.

Adding YAPC::NA to the list of events covered by the Send-a-Newbie initiative, furthers the idea of a global representation of Perl and the chance for more tenderfoots to engage in the community. The SAN initiative is not restricted to age, experience or location and has seen delegates from India, Asia, UK, Netherlands, Spain.

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.