100+ Modules for Adoption! (Bit Rot Thursday)
EDIT: Just a note for PAUSE admins, as some emailed me, any module listed on this post can be given away to anyone who wishes to take it, without any need to ask me first. I do not wish to retain a co-maint either, so please just go ahead and transfer the ownership :) Thanks!
Today's Thursday, and if you regularly read blogs.perl.org, you know today is the first day of my plan to combat bit rot.
Happy Bit Rot Thursday, everyone!
The first step I'm undertaking is reducing the number of projects under my wing by means of deleting them entirely or putting them up for adoption. In total, there are about 107 modules I made adoptable, although some of them are a bundle deal.
Adoption
Here are adaptable modules that I moved to the ADOPTME user. If interested, you should be able to claim any of them by emailing PAUSE admins at modules at perl dot org
and asking them to transfer permissions to you. See neilb's blog post for more details.
I do realize a lot of them are trash, even if some were useful or amusing back when I first started coding Perl. I don't think I'd cry if I find out some of them get deleted by adopters.
And the modules are:
- Acme::CPANAuthors::Canadian — We are Canadian CPAN authors
- App::Nopaste::Service::PastebinComAPI - App::Nopaste service for www.pastebin.com using their API
- App::Nopaste::Service::PastebinCa - App::Nopaste service for www.pastebin.ca
- LWP::UserAgent::ProxyHopper::Base and LWP::UserAgent::ProxyHopper — This duo is from my prolific trash-producing 2008 era. They allow a UA to use multiple proxies and I recall someone actually using them.
- Net::OBEX — the module itself and all others in the distro. This was a very fun experiment of using Perl to transfer photos from my Motorolla Razor phone, back when flip-phones were all the rage.
- POE Stuff — I have a whole swarm of POE stuff and I'm giving it all away. I use none of those myself any more and it's been ages since I've used POE in the first place.
- POE::Component::Archive::Any — a non-blocking wrapper around Archive::Any
- POE::Component::Bundle::WebDevelopment - a collection of PoCos useful for Web Development
- POE::Component::CPAN::SQLite::Info - non-blocking wrapper around CPAN::SQLite::Info with file fetching abilities
- POE::Component::IRC::Plugin::BaseWrap - base class for IRC plugins which need triggers/ban/root control
- POE::Component::IRC::Plugin::CPAN::Info - PoCo::IRC plugin for accessing information about CPAN modules, distributions and authors.
- POE::Component::IRC::Plugin::FTP::EasyUpload - provide files to IRC users via FTP
- POE::Component::IRC::Plugin::Google::Calculator - non-blocking access to Google's calculator via IRC
- POE::Component::IRC::Plugin::OutputToPastebin - easily pastebin output from your bot
- POE::Component::IRC::Plugin::Unicode::UCD - lookup unicode chars/codes from IRC
- POE::Component::IRC::Plugin::WWW::CPANRatings::RSS - announce CPAN ratings on IRC from RSS feed on http://cpanratings.perl.org/
- POE::Component::IRC::Plugin::WWW::Google::Time - access time data from Google via IRC
- POE::Component::IRC::Plugin::WWW::OhNoRobotCom::Search - search http://ohnorobot.com/ website from IRC
- POE::Component::IRC::Plugin::WWW::XKCD::AsText - read http://xkcd.com comics on IRC
- POE::Component::IRC::PluginBundle::Toys - a collection of fun-to-have plugins
- POE::Component::IRC::PluginBundle::WebDevelopment - a collection of plugins useful for Web Development IRC bots
- POE::Component::Net::FTP - non-blocking wrapper around Net::FTP
- POE::Component::NonBlockingWrapper::Base - POE based base class for non-blocking wrappers around blocking stuff
- POE::Component::WWW::CPANRatings::RSS - non-blocking wrapper around WWW::CPANRatings::RSS
- POE::Component::WWW::DoingItWrongCom::RandImage - non-blocking way to get URIs to random images from http://www.doingitwrong.com
- POE::Component::WWW::Google::Calculator - A non-blocking POE wrapper around WWW::Google::Calculator
- POE::Component::WWW::Google::Time - non-blocking wrapper around WWW::Google::Time
- POE::Component::WWW::OhNoRobotCom::Search - non-blocking POE based wrapper around WWW::OhNoRobotCom::Search module
- POE::Component::WWW::Pastebin::Bot::Pastebot::Create - non-blocking POE wrapper around WWW::Pastebin::Bot::Pastebot::Create
- POE::Component::WWW::Pastebin::Many::Retrieve - non-blocking wrapper around WWW::Pastebin::Many::Retrieve
- POE::Component::WWW::XKCD::AsText- non-blocking wrapper around WWW::XKCD::AsText
- Syntax::Highlight::CSS - highlight CSS syntax. I used this ridiculous module for code highlights on one of the tutorial sites I ran. That site no longer exists.
- WebService::Cryptsy - implementation of www.cryptsy.com API. A decent-quality module I wrote for someone on IRC. Lately has been getting test failures.
- WebService::HtmlKitCom::FavIconFromImage - generate favicons from images on http://www.html-kit.com/favicon/
- Win32::GUITaskAutomate - A module for automating GUI tasks. My first module on CPAN, I believe. I since found using AutoIt v3 for automation much easier.
- WWW::BashOrg - simple module to obtain quotes from http://bash.org/ and http://www.qdb.us/
- WWW::CPANRatings::RSS - get information from RSS feed on http://cpanratings.perl.org/
- WWW::DoctypeGrabber - grab doctypes from webpages
- WWW::DoingItWrongCom::RandImage - fetch random image from http://www.doingitwrong.com
- WWW::FreeProxyListsCom - get proxy lists from http://www.freeproxylists.com
- WWW::GetPageTitle - get titles of web pages
- WWW::HTMLTagAttributeCounter - access a webpage and count number of tags or attributes
- WWW::ImagebinCa::Create - "paste" images to http://imagebin.ca from Perl.
- WWW::ImagebinCa::Retrieve - retrieve uploaded images from http://imagebin.ca
- WWW::Lipsum - perl interface to www.lipsum.com
- WWW::OhNoRobotCom::Search - search comic transcriptions on http://ohnorobot.com
- WWW::Pastebin::Base::Retrieve - base class for modules which implement retrieving of pastes from pastebins
- WWW::Pastebin::Bot::Pastebot::Create - create pastes on sites powered by Bot::Pastebot
- WWW::Pastebin::Many::Retrieve - retrieve pastes from many different pastebin sites
- WWW::Pastebin::PastebinCa::Create - create new pastes on http://pastebin.ca/ from Perl
- WWW::Pastebin::PastebinCa::Retrieve - a module to retrieve pastes from http://pastebin.ca/ website
- WWW::Pastebin::PastebinCom::API - implementation of pastebin.com API
- WWW::Pastebin::PastebinCom::Create - paste on www.pastebin.com without API keys
- WWW::Pastebin::PastebinCom::Retrieve - retrieve pastes from http://pastebin.com/ website
- WWW::Proxy4FreeCom - fetch proxy list from http://proxy4free.com/
- WWW::ProxyChecker - check whether or not proxy servers are alive
- WWW::WebDevout::BrowserSupportInfo - access browser support API on http://webdevout.com
- WWW::XKCD::AsText- retrieve text versions of comics on www.xkcd.com
Deletion
Also, some modules went under the axe and have been marked for deletion:
- Acme::Excuse — a useless modules that intercepted
__DIE__
signal and showed a random message from http://www.programmerexcuses.com/ - Acme::XAppender — the "x appender framework" that resulted from a joke in a #perl IRC channel
- App::IRCBot::NewYears — a bot for IRC New Years parties. While I still plan to make my bot attend such parties, it'll now be the Perl 6 version
- Package::Localize — a half-working module that lets you use multiple different copies of packages with package-scoped variables. In the end, it didn't work out for my purpose.
In Perl 6 land, I removed these:
- Acme::GiveUp — this was a fun way to use a fancy emoticon for a sub name; no need to exist
- WWW::You'reDoingItWrong — the doingitwrong.com is a fun website, but there's no need for a module, regardless of the clever sub naming schemes.
More
What I've done today is not all the modules I wish to delete or give away. Those I've left for the next time need evaluation to see whether anything uses them. Also, as I become more and more interested in programming Perl 6, rather than Perl 5, there may come a day, when I give all of my Perl 5 goodies up. Only time will tell.
Given I somehow ended up with permissions for Acme::CPANAuthors::German, it seems only right that I take on ::Canadian, I think? :)
Certainly, especially since you're *on* the ::Canadian one :)