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

— 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. 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/

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.