New CPANTS Site

I've finally launched a new CPANTS website: http://cpants.cpanauthors.org/

Some of the new features follow:

BackPAN support

Almost all the BackPAN distributions have also been analyzed.

Personal Feed

You can subscribe your kwalitee report feed of your distributions (http://cpants.cpanauthors.org/author/PAUSEID/feed).

Metrics

Finally Moose and friends are correctly considered as "use strict" equivalents, and new valid_signature metric is introduced (both have been implemented in Module::CPANTS::Analyse 0.86 months ago, but have not been introduced on the previous site for various reasons). On the other hand, some of the experimental metrics about debian packages are disabled because the data source has not been updated for a while.

Issues?

If you find anything, tell me via github's issue tracker:

https://github.com/charsbar/www-cpants/issues

Happy holidays!

Merry XS-mas!

Some time ago, I've acknowledged the LWP::Protocol::Net::Curl existence here. Lots of things changed since then due to the feedback received, so thank you all, guys! Today, I am proud to announce the reach of the stable milestone with the version 0.011.

YAPC::Europe 2013 in Kiev, week minus 33. Countdown correction. Dates. Site

Dear YAPC::Europe attendees and those who would like to come to Kiev in August 2013,

We are very happy to announce the launch of the conference site: yapc.eu/2013.

ye2013site.jpg

Together with that, I am correcting the week countdown counter: there's no week minus 34, and the week -35 is followed by the week -33. The dates of the conference are 12-14 August 2013. There's a negligible small change that the dates will be changed, so we will make additional announcement when we are ready. It's Christmas and New Year time, that's why we have to wait a little bit more to be 100% sure. Vyacheslav vti and Anatoly sharifulin have just returned from Saint Petersburg where they attended the celebration of the 25th birthday of Perl, which is a good excuse :-)

Re-Announcing Mojolicious::Plugin::InstallablePaths

A few days ago, I announced the release of Mojolicious::Plugin::ModuleBuild. After some thinking I realized that without much (any?) changes it would work more generally, even with the ExtUtils::MakeMaker toolchain. Therefore I am now announcing the availability of Mojolicious::Plugin::InstallablePaths.

The general concept is that Mojolicious applications assume a certain directory structure for use locally. To make a CPAN-installable distribution out of that application one must move some directories. Further, if packaging using Module::Build, even more changes had to be applied.

Mojolicious::Plugin::InstallablePaths allows a consistent usage in all phases of development and with either build tool (EUMM or Module::Build). Hopefully this helps encourage people to think of their Mojolicious apps as candidates for CPAN and makes it easier for them to share them with the world that way!

The old module will be marked for deletion and the old blog entry will be removed as well, so don’t try to use it, its going away.

Perl 5 Porters Weekly: December 10-December 16, 2012

Welcome to Perl 5 Porters Weekly, a summary of the email traffic of the perl5-porters email list.

Topics this week include:

  • RFC: Adding a prototype attribute
  • Undocumented %ENV behaviour
  • rand() on Windows only uses 15 bits of entropy

pmtools on GitHub

GitHub now holds a pmtools Git repository. Since I have some time right now to attend to pmtools (and other personal programming), I thought it would make my life easier to move my pmtools development into Git while making pmtools development more collaborative.

(Yes, I will accept pull requests, but I reserve the right to review all changes before making a formal release.)

Notify Your Android?

Following my recent move into the World of Android I’ve been looking into notification apps that I can hook into and send message to using Perl.

Luckily for me there was already a perl module, WebService::NotifyMyAndroid, that had already done the hard work of communicating with the API at Notify My Android.

As with all thing, it hadn’t seen a release in about a year, and the sneaky NMA guys had changed all their URLs - breaking the module’s calls.

As an interested hacker I took a copy of the code and made the appropriate changes to get it up and running again.

Last night, after emailing the module’s author and having a short conversation I became co-maintainer of the module.

This morning I uploaded v0.0.3 to the CPAN.

Merry Festive Time!

What are the files in a CPAN distribution?

I generally have no problem understanding what's in a CPAN distribution and why, but lately (for years, now), it seems that tools are building files that I don't know about. Is there a canonical place to find information about what absolutely, definitely needs to be in a CPAN distribution? I generally rely on my tools to do this stuff for me, but honestly, what's META.json, MYMETA.json, META.yml,MYMETEA.yaml? And then I wind up with files like MANIFEST.bak and MANIFEST.SKIP.bak and I honestly don't know the format of many of these files, why they're duplicated or where to look up this information. Which of these files should I commit to source control and which of these files should git ignore?

It's an embarrassment because honestly, I should know this stuff, but I don't. Surely there's a place where I can find all of this explained at once, perhaps in conjunction with a description of the files in my .cpan, .cpanm directories?

Creating My Own Buzzword

Most of you love programming and shut ears when its only starts to buzzing anywhere but please hold on, its for a good cause and maybe even you might benefit from it.

Creating a perl developer survey

Having seen the Javascript developer survey, I thought that Perl should have one (there was one in 2010).

Here's my current list of questions. I've got these in a Google docs form, but won't show the options for each question.

  • Is Perl your primary development language?
  • What level of Perl experience would you give yourself?
  • How long have you been programming in Perl?
  • What version(s) of Perl do your systems run on?
  • Is programming in Perl part of your daily job?
  • How do you find reusable code, libraries and tools?
  • Have you released any code to CPAN?
  • Have you written any code in Perl 6?
  • What is your preferred OO framework?
  • What development environment(s) do you use for Perl?
  • What framework, if any, do you use for web development?
  • Other than Perl, what are your primary development languages?

What other questions should be on the list?

If you program in Javascript, go fill in that survey as well.

Happy Birthday Perl

Happy 25th Birthday, Perl! I made you a card:

perl -C -e'print map+(v9635 x8^unpack B8).(v10)[++$n%9],(unpack u,"MK__^=^WW_S_WK)FNO\$3F5U\$7BJJ.=>U51S-WK)GNM>UF=W%[K[N>?___SW__")=~/./g'

Test::Class + Moose?

I recently wrote about finding duplicate code in Perl and I've just uploaded Code::CutNPaste to the CPAN. Hopefully folks will find it useful.

However, what's not yet on the CPAN is Test::Class::Moose. People have asked me repeatedly how to mix the two, so I whipped up a quick alpha.

How to find CPAN modules that need help on Windows?

Recently Neil Bowers wanted to identify CPAN distributions you could help out with and Michael Roberts mentioned the smoke testing effort on Windows .

Assuming someone would like to help with Windows, how could he generate a list of modules that are especially problematic on Windows?

Is there a way to fetch all the distributions that have no successful test reports on Windows?

Is there a way to create the ratio of (failed test reports)/(all test reports) on MSWin32 for each distribution, and then show the top 100 of that list?

The Joy of Perl

Tomorrow is the 25th birthday of Perl. The Perl programming language.

When I've first heard about it, it was named PERL, the spelling that now is a nice indicator of awareness in the row with Perl and perl. Honestly, I never thought of Perl as of a practical extracting and reporting language, I simply had no clue about which reports and which extractions were mentioned in that definition.

I have first seen the name of the language on the book covers in a book shop in my home town years ago. I cannot tell you when exactly, but it was definitely before 1998. At that time it was only something related to web and programming for me.

Perl is not my first programming language. The first one was C++ (with ++ from the start), and I still find it one of the best languages and tend to use it as soon as there's a small need.

cpantimes

OK, so I decided to hack in support for submitting CPAN testers reports into cpanminus. I've uploaded the result to CPAN in case anybody else wants to use it. After CPANPLUS and cpanminus, the logical name for it was cpantimes.

Here's how to use it...

Perl 5 Porters Weekly: December 3-December 9, 2012

Welcome to Perl 5 Porters Weekly, a summary of the email traffic of the perl5-porters email list.

Topics this week include:

  • security notice: Storable
  • security notice: Locale::Maketext
  • Does Unicode mandate a collation order?
  • a job for someone? SvREFCNT_dec_NN()
  • CERT Perl Secure Coding Standard

Smoke testing on Windows

As a Perl programmer on Windows, I've often had moments of supreme frustration. I can't use SSH or SFTP from Perl, and I can't use some of the mail handling modules. When I got started back in the early years of the century, I couldn't even use CPAN; I had to compile my own Perl and accept the fact that tests just mostly had no chance of working. Over the past year or two, however, especially as I've come to rely on CPANtesters for my own modules, I've started to realize that one reason for this is the lack of dense testing of modules on Windows. (Yeah, Paul Evans had something to do with that realization, too.)

But then Gábor Szabó posted on Google+ that he hoped to make it to #20 on the Windows smoke tester leaderboard. (As of today, he's at #19 - congrats!)

Wait. There's a leaderboard?

The shit of booking.com

A few times every month someone asks me how is it to work at booking.com. People know that I worked there some time ago and they tend to gather more information about the company in which they are going to be interviewed for a position of a developer.

The dates before the 21 December 2012 are the best ones to stop thinking about the company where I spent 1.5 years. Although both booking.com and I are strongly related to the Perl programming language and its community, the text below the cut-line is not about any technical issue in Perl, but is about the way booking.com stops the contracts with their employees. I intentionally use the feature of MovableType that allows splitting the abstract and the body. So, please do not read further if you don't want to read things that are there.

Oh Carp!

Recently got hit with this error:

Goto undefined subroutine &Carp::shortmess_real at /usr/share/perl/5.10/Carp.pm line 41.

What's going on?

Building a Search Web App with Dancer and Sphinx

In this article, we'll develop a basic search application using Dancer and Sphinx. Sphinx is an open source search engine that's fairly easy to use, but powerful enough to be deployed in high-traffic sites, such as Craigslist and Dailymotion.

In keeping with this year's Dancer Advent Calendar trend, the example app will be built on Dancer 2, but it should work just as well with Dancer 1.

Alright, let's get to work.

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.