Searching CPAN Offline

29
Searching CPAN oine Léon Brocard London Perl Workshop

description

Searching CPAN Offline with CPAN::Mini::Webserver

Transcript of Searching CPAN Offline

Page 1: Searching CPAN Offline

Searching CPAN o�ine

Léon Brocard

London Perl Workshop 2008

Page 2: Searching CPAN Offline

Me

Léon BrocardFrench, live in LondonLike foodLike the colour orangeFounded Amsterdam.pm, Bath.pm, Croydon.pmNow in London.pmStarted YAPC::EuropePerl hacker

Page 3: Searching CPAN Offline

What is CPAN?

CPAN is an acronym standing for ComprehensivePerl Archive Network, an archive of over 12,200modules of so�ware written in Perl, as well asdocumentation for it.[1] It has a presence on theWorld Wide Web at www.cpan.org and is mirroredworldwide on more than 250 locations [2]. CPAN candenote either the archive network itself, or the Perlprogram that acts as an interface to the network andas an automated so�ware installer (somewhat like apackage manager). Most so�ware on CPAN is freeso�ware.[3]

Page 4: Searching CPAN Offline

CPAN is big

49,400 Uploads16,502 Distributions63,128 Modules7,031 Uploaders

Page 5: Searching CPAN Offline
Page 6: Searching CPAN Offline

It all began a long time ago

TPC4, during OSCONIn 2000Monterey, CA

Page 7: Searching CPAN Offline

I got annoyed

search.cpan.org was closed source (and still is)I am not always connected to the internetLatency

Page 8: Searching CPAN Offline

Kobesearch

I played with searching, but didn’t get very farRandy Kobes wrote Search::CPAN::Lite(kobesearch.cpan.org)Needs to extract �les and generates a database

Page 9: Searching CPAN Offline

Time passes

Didn’t do anything for a whileNeeding to extract �les and generate a database wastoo much work

Page 10: Searching CPAN Offline

Needed distraction from writing a book

www.tickmyboxes.com

Page 11: Searching CPAN Offline

Insight in the shower

Do not need to extract CPANIndexes are good enoughCan extract on the �y

Page 12: Searching CPAN Offline

Actually

Not CPAN, but MINICPANCPAN::Mini & minicpanCPAN::Mini::Webserver

Page 13: Searching CPAN Offline

And

Assume we have a (MINI)CPAN mirrorDependencies: all of CPAN

Page 14: Searching CPAN Offline

Dependencies

App::Cache, Archive::Peek, CGI, CPAN::Mini,File::Type, HTTP::Server::Simple,IO::Capture::Stdout, List::MoreUtils, MIME::Base64,Module::InstalledVersion, Moose,Parse::CPAN::Authors, Parse::CPAN::Whois,Parse::CPAN::Meta, Parse::CPAN::Packages,Path::Class, Pod::Simple::HTML, Perl6::Say, PPI,PPI::HTML, Search::QueryParser, String::CamelCase,Template::Declare, Test::More

Page 15: Searching CPAN Offline

Release

0.32 Sat Aug 2 19:27:12 BST 2008

Page 16: Searching CPAN Offline

Releases

0.32 Sat Aug 2 19:27:12 BST 20080.33 Fri Aug 8 08:00:12 BST 20080.34 Fri Aug 8 18:00:32 BST 20080.35 Tue Aug 12 07:30:28 BST 20080.36�u Aug 14 16:20:53 CEST 20080.37 Fri Aug 15 09:37:46 CEST 20080.38 Mon Aug 18 09:15:25 BST 20080.39 Tue Aug 19 08:27:37 BST 20080.40 Fri Aug 22 09:24:54 BST 20080.41�u Aug 28 15:39:02 BST 20080.42 Sun Sep 7 09:31:44 BST 20080.43�u Sep 18 17:14:50 BST 2008

Page 17: Searching CPAN Offline

Other people

andya, bricas, corion, clkao, evdb, jesse, markf,martijn, miyagawa, ranguard, rjbs, rsavage,tokuhirom

Page 18: Searching CPAN Offline

All about search

brocardacme::bu�yacme bu�yacme-bu�yblood -orangebu�y -testcamel case

Page 19: Searching CPAN Offline

Other features

BonjourOpenSearchActs like search.cpan.orgActs like CPAN mirrorInstall modules

Page 20: Searching CPAN Offline

Show me

$ minicpan_webserver

HTTP::Server::Simple: You can connect to

your server at http://localhost:2963/

Page 21: Searching CPAN Offline
Page 22: Searching CPAN Offline
Page 23: Searching CPAN Offline
Page 24: Searching CPAN Offline
Page 25: Searching CPAN Offline
Page 26: Searching CPAN Offline
Page 27: Searching CPAN Offline
Page 28: Searching CPAN Offline

Future

Slight tweaks

Page 29: Searching CPAN Offline

Summary

CPAN::Mini

CPAN::Mini::Webserver