December 2012 Archives

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.

CPAN module recommendation system

A little confession/reasoning/backstory: I love CPAN surfing. You know, watching the latest releases, browsing module dependencies and other modules by the same authors... And favoriting the interesting stuff. Stats show that I'm not supposed to be the only one. If so, wouldn't it be nice to provide a crowdsourced recommendation for CPAN modules? Think: "People who favorite Mojolicious often favorite: AnyEvent, Data::Printer, Devel::NYTProf, Dist::Zilla...". Plus, given the user's favorites, own releases & own release dependencies, a custom-tailored module suggestion list could be build for any PAUSE ID subscribed to the MetaCPAN. Enter the CPAN::U experiment.

TMTOWTDI, plus benchmarking

There's a very common Perl idiom for getting "top N elements" from an array: @top = (sort @a) [0 .. $n - 1]. Mostly, it's good enough for anything one would dare to store in RAM.

Then, there is Sort::Key::Top, which allows you to write @top = top $n => @a. Yet another syntax sugar?

Not even close! While the docs don't state it boldly, it is:

  1. a XS based module
  2. partition-based general selection algorithm (also known as quickselect) implementation

So, expect it to be fast. How fast?

About stas

user-pic Perl Programmer. Cloud Explorer.