Iterating over all dists on CPAN

CPANPAUSEiteratorsJSON Sat 14 September 2013

I recently released a new version of my PAUSE::Packages module, which caches information about releases on CPAN and makes it easy to iterate over it. In this post I'll cover the motivation for this module, why I decided to transform the existing PAUSE export file, and how David Golden nudged me to use JSON.

Read more ...

Perl 6 isn't Perl

namingversionsopinion Fri 6 September 2013

Until today I had thought of Perl 6 as the successor to Perl 5 that hadn't turned up. That the problem was mainly that it hadn't had a production-ready release yet, and there was no drive for one. But after watching a video of a Larry Wall talk, I realised that Perl 6 isn't the next version of Perl, it's a whole new language, inspired by Perl 5, amongst other things. Calling it Perl anything is not only a disservice to Perl 5, I think it's a disservice to Perl 6.

Read more ...

When creating a CPAN distribution, all the modules should come under a single namespace. If your Foo-Bar distribution has a lead module Foo::Bar, then in almost all cases, all other modules in your distribution should be in the Foo::Bar::* namespace. In this post I'll explain why.

Read more ...

As I described in a recent post, I discovered that my Module::Path module has rather more dependent distributions than I thought. Awareness of this has changed my behaviour, for the good.

Read more ...

CPAN in one sentence

CPANfunny Wed 21 August 2013

This line, taken from the documentation for Class::Tiny, sums up one facet of CPAN perfectly!

Read more ...

The CPAN buddy system

CPANBuddyculturecommunity Fri 16 August 2013

This is an idea for encouraging new contributors to CPAN. When someone uploads their first ever module to CPAN, a volunteer buddy would be assigned. This would be a more experienced CPAN author who would email them "hi, saw your just uploaded your first module — awesome! Let me know if you have any questions, in the meantime here are some good resources about modules, CPAN and the perl community". Of course that could be done automatically, but the human connection would make a lot of difference, I believe.

Read more ...

While working on my adoption metric I've been looking at the number of distributions dependent on each distribution. Today I built the full dependency graph, so I could count the total number of dependencies. Or as ETHER put it: "how many other distributions will you break if you break yours?" It turns out 70% of CPAN distributions aren't used by any other distribution.

Read more ...

Two weeks ago I published a list of CPAN modules that might be candidates for adoption, and described the metric used to score them. I had a lot of comments on that version, which has prompted version 3 of the metric. The key change is the use of gating criteria to decide whether a module should even be considered for the list. The new list contains dists that score at least 5 (out of 14), which is about 4% of the dists on CPAN.

Read more ...

PAUSE supports an informal mechanism for flagging that a module is available to be taken over, or to flag that you'd like help. In this article I'll outline the mechanism, and point out some things to be aware of.

Read more ...

Last week I described a process for adopting a CPAN module. In this post I describe a metric for identifying candidates for adoption. These are essentially modules that have outstanding bugs, haven't been released for a while, and are used by other modules. I've generated a list of the top 1000 adoption candidates according to my current scoring metric. This is very much a work in progress.

Read more ...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17