100 CPAN Distributions + App-ManiacDownloader

I now have over a 100 Distributions on CPAN!

Some days ago I discovered that my CPAN distributions count had already gone above 100, only that my MetaCPAN page has misled me due to a bug ( which I reported since). I now have 103 distributions on CPAN and you can find a list of them on the Israeli Perl Mongers site, with whatever is missing from the MetaCPAN page.

So now I'm in the CPAN 100 club, and now will also better focus on improving the quality of my existing distributions. According to GumbyPAN, the top ten authors are SHARYANTO [265] RJBS [258] TOBYINK [239] ADAMK [236] ZOFFIX [222] MIYAGAWA [216] BINGOS [197] INGY [177] TOKUHIROM [170] SMUELLER [156], so no one has gone up to 300 distributions yet (also see the top 20 current in the leadercpan page.).

Maniac Downloader

One of the distributions on my road to the 100 distributions was Maniac Downloader, which is a download accelerator written in Perl using AnyEvent and other CPAN distributions. It was written as a way for me to scratch an itch where I noticed that I could get better download throughput from many sites by opening more than one connection. I tried several download managers, but most of them were GUI only and the only terminal one I found - prozilla, could not handle https:// URLs and, furthermore, didn't implement the "secret sauce" of Maniac downloader of splitting slow segments into multiple parts to speed up the acceleration, and finally - was very noisy. Since prozilla is written in C, it was not easy to hack on it, so I decided to write something myself using Perl.

I wrote the first prototype of Maniac Downloader using POE, but didn't get very far, and I also think performance left some things to be desired. Then, some weeks ago, I started working on the second version as a Dist-Zilla distribution and using AnyEvent, and made more progress. AnyEvent is easy to use, and works nicely and quickly, and I like it more than POE.

I released App-ManiacDownloader-v0.0.3 to the CPAN today, and it now resumes interrupted downloads, so it's getting more usable for me. There are still some tasks left to be done there, but you can try using it already.

12 Comments

Congratulations!

Didn't realize I'm now at the top of the list. I hope someone else could take over the #1 position though, as I really don't feel like I'm the most {active,productive,whatever} CPAN author there. I just love releasing software as CPAN distributions: it's convenient and familiar.

I noticed that you name your Maniac Downloader script as "mdown". This does not associate with "download" on my head, instead it reminds me of Markdown. I personally would've picked "maniacdl", "maniac-dl", or just "maniac".

Have you tested your Pod for your distributions?
Metacpan sometimes doesn't pick distributions if there are certain Pod errors in it, cpan.org might forgive similar errors. You should check cpants on your distributions missing from metacpan.org. I had a similar issue with one of my modules for almost 10-15 releases till I resolved the Pod error and it magically reappeared in metacpan.org
Cheers and congrats on the 100!
HTH,
-Shantanu Bhadoria

This also happens to quite a few of my dists. Last time I checked a couple of days ago, here are my dists that fail to index on MetaCPAN:

App::dux
Data::Dump::PHP
Perinci::CmdLine
Text::ANSI::Util
Text::ANSITable::ColorTheme::Extra
Text::WideChar::Util

I have included the POD syntax test in the dist, so there are no errors in the POD. But it seems Pod::Simple fails to parse some of the dists (ref: https://github.com/CPAN-API/metacpan-web/issues/963 )

Sometimes updating Pod::Simple helps(I had to do that to get nested encoding errors),
I also noticed your pod weaver puts
=encoding utf8 message in the wrong place in Text::Widechar::Util package( i didn't look in your other distros but maybe they have a similar issue?).
This is what triggers nested encoding error in pod and also prevents indexing of your package in metacpan.
HTH

My preferred download accelerator: http://aria2.sourceforge.net/

We sometimes equate the number of useless dists an author has to a sort of internal trust metric. As a result, we blacklisted some of the authors you mentioned in that club from our internal minicpan. We just can't afford to rely on anything they released.

AFAICT a large portion of the stuff on the CPAN top 20 is either abandonware (do SIMON and AUTRIJUS even exist anymore?) or CPAN spam. Apparently even the "top 20" are not exempt from Sturgeon's Law.

Congrats, Shlomi! I'm gonna take a look at ManiacDownloader, looks interesting to use especially on systems that I don't have my preferred downloader, lftp, installed. You might want to take a look at lftp as well since it does what you describe in the ideal downloader you wanted before ManiacDownloader (quiet, no-frills and can do parallel/split-up downloading, and as a plus, it can download via torrent as well.)

Leave a comment

About Shlomi Fish

user-pic An Israeli software developer, essayist, and writer, and an enthusiast of open/free software and cultural works. I've been working with Perl since 1996.