<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4330427319901823538</id><updated>2012-02-16T05:20:55.638-06:00</updated><category term='perl5'/><category term='perl perl5 cpan'/><category term='DarkPan'/><category term='ironman'/><category term='CPAN'/><category term='perl perl5'/><category term='perl'/><title type='text'>toddr's perl journal</title><subtitle type='html'>&lt;a href="http://ironman.enlightenedperl.org/"&gt;http://ironman.enlightenedperl.org/&lt;/a&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://perl-toddr.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://perl-toddr.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>toddr</name><uri>http://www.blogger.com/profile/03685965086573071892</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_T4BKJ6IIg6M/Sk3ZwVX9feI/AAAAAAAAAEk/ztHSDM1E_98/S220/15c6b7e.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4330427319901823538.post-4754900347317547569</id><published>2011-06-29T10:21:00.003-05:00</published><updated>2011-06-29T10:31:47.561-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='perl perl5 cpan'/><title type='text'>Looking for Crypt-OpenSSL-RSA author</title><content type='html'>I tried to contact the Crypt-OpenSSL-RSA author recently. The module was using &lt;a href="http://rt.perl.org/rt3//Public/Bug/Display.html?id=84444"&gt;&amp;quotexpecting undocumented behaviour that DynaLoader ISA AutoLoader&amp;quot&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;His name is Ian Robertson (IROBERTS). I've attempted to contact him via his cpan address, as well as iroberts+perl@red-bean.com I've gotten no response. If anyone knows how to contact him, I'd like to help fix some of the bugs in this module.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4330427319901823538-4754900347317547569?l=perl-toddr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perl-toddr.blogspot.com/feeds/4754900347317547569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://perl-toddr.blogspot.com/2011/06/looking-for-crypt-openssl-rsa-author.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/4754900347317547569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/4754900347317547569'/><link rel='alternate' type='text/html' href='http://perl-toddr.blogspot.com/2011/06/looking-for-crypt-openssl-rsa-author.html' title='Looking for Crypt-OpenSSL-RSA author'/><author><name>toddr</name><uri>http://www.blogger.com/profile/03685965086573071892</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_T4BKJ6IIg6M/Sk3ZwVX9feI/AAAAAAAAAEk/ztHSDM1E_98/S220/15c6b7e.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4330427319901823538.post-6889089995155230959</id><published>2011-04-01T11:44:00.001-05:00</published><updated>2011-04-01T11:52:43.314-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='perl perl5'/><title type='text'>Looking for CDB_File author</title><content type='html'>I tried to contact the CDB_File author last week. There's a bug in the module which I'd like addressed. The C code is not C99 compliant, which means it won't compile on some machines. &lt;br /&gt;&lt;br /&gt;His name is Matt Sergeant (MSERGEANT). I've attempted to contact him via his cpan address, as well as his http://sergeant.org/ address. No love so far. There's a co-maint on this module, but his emails are bouncing.  If anyone knows how to contact Matt, I'd like to help fix some of the bugs in this module, Many of the patches are already in RT but unresolved for the past 3 years.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4330427319901823538-6889089995155230959?l=perl-toddr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perl-toddr.blogspot.com/feeds/6889089995155230959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://perl-toddr.blogspot.com/2011/04/blog-post.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/6889089995155230959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/6889089995155230959'/><link rel='alternate' type='text/html' href='http://perl-toddr.blogspot.com/2011/04/blog-post.html' title='Looking for CDB_File author'/><author><name>toddr</name><uri>http://www.blogger.com/profile/03685965086573071892</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_T4BKJ6IIg6M/Sk3ZwVX9feI/AAAAAAAAAEk/ztHSDM1E_98/S220/15c6b7e.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4330427319901823538.post-5470600796084045153</id><published>2010-06-20T05:21:00.004-05:00</published><updated>2010-06-21T12:10:50.171-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CPAN'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='ironman'/><title type='text'>Make your desktop background a live world shot</title><content type='html'>cron this to run every 30 or 60 minutes and you have a world image updated with sun position and weather.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/usr/bin/env perl&lt;br /&gt;&lt;br /&gt;use LWP::Simple;&lt;br /&gt;&lt;br /&gt;my %image_hash = ( 'world_sunlight.jpg' =&gt; 'http://www.opentopia.com/images/cams/world_sunlight_map_rectangular.jpg',&lt;br /&gt;#                                   'world_weather.gif' =&gt; "http://images.intellicast.com/WeatherImg/Satellite/world.gif"&lt;br /&gt;    );&lt;br /&gt;&lt;br /&gt;foreach my $file (keys %image_hash) {&lt;br /&gt;    getstore($image_hash{$file}, $file);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Hopefully we don't kill the server that produces these shots.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4330427319901823538-5470600796084045153?l=perl-toddr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perl-toddr.blogspot.com/feeds/5470600796084045153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://perl-toddr.blogspot.com/2010/06/make-your-osx-background-live-world.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/5470600796084045153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/5470600796084045153'/><link rel='alternate' type='text/html' href='http://perl-toddr.blogspot.com/2010/06/make-your-osx-background-live-world.html' title='Make your desktop background a live world shot'/><author><name>toddr</name><uri>http://www.blogger.com/profile/03685965086573071892</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_T4BKJ6IIg6M/Sk3ZwVX9feI/AAAAAAAAAEk/ztHSDM1E_98/S220/15c6b7e.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4330427319901823538.post-6723207231672734159</id><published>2010-05-12T14:41:00.003-05:00</published><updated>2010-05-12T14:45:44.575-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CPAN'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='ironman'/><title type='text'>Looking for Crypt::RIPEMD160 Author</title><content type='html'>I tried to contact the Crypt::RIPEMD160 author today, as well as a bunch of people listed in the README, etc. 5 of the 8 emails bounced immediately. There's a 64bit bug in the module that is causing issues with Crypt::OpenPGP.&lt;br /&gt;&lt;br /&gt;Their name is Christian H. Geuer-Pollmann or CHGEUER in pause. If anyone knows how to contact them, I'd like to help fix some of the bugs in this module&lt;br /&gt;&lt;br /&gt;Todd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4330427319901823538-6723207231672734159?l=perl-toddr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perl-toddr.blogspot.com/feeds/6723207231672734159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://perl-toddr.blogspot.com/2010/05/looking-for-cryptripemd160-author.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/6723207231672734159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/6723207231672734159'/><link rel='alternate' type='text/html' href='http://perl-toddr.blogspot.com/2010/05/looking-for-cryptripemd160-author.html' title='Looking for Crypt::RIPEMD160 Author'/><author><name>toddr</name><uri>http://www.blogger.com/profile/03685965086573071892</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_T4BKJ6IIg6M/Sk3ZwVX9feI/AAAAAAAAAEk/ztHSDM1E_98/S220/15c6b7e.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4330427319901823538.post-6383034494777269343</id><published>2010-05-06T00:42:00.003-05:00</published><updated>2010-05-12T14:47:08.653-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CPAN'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='ironman'/><title type='text'>Looking for Net::Ident author</title><content type='html'>I tried to contact the Net::Ident author 8 days ago.&lt;br /&gt;&lt;br /&gt;Their name is Jan-Pieter Cornet or JPC in pause. If anyone knows how to contact them, I'd like to help fix some of the bugs in this module&lt;br /&gt;&lt;br /&gt;So far, I've tried their cpan.org email address and johnpc -- at -- xs4all.nl, but I've gotten no response&lt;br /&gt;Todd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4330427319901823538-6383034494777269343?l=perl-toddr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perl-toddr.blogspot.com/feeds/6383034494777269343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://perl-toddr.blogspot.com/2010/05/looking-for-netident-author.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/6383034494777269343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/6383034494777269343'/><link rel='alternate' type='text/html' href='http://perl-toddr.blogspot.com/2010/05/looking-for-netident-author.html' title='Looking for Net::Ident author'/><author><name>toddr</name><uri>http://www.blogger.com/profile/03685965086573071892</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_T4BKJ6IIg6M/Sk3ZwVX9feI/AAAAAAAAAEk/ztHSDM1E_98/S220/15c6b7e.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4330427319901823538.post-8399814586605416845</id><published>2010-03-26T13:36:00.003-05:00</published><updated>2010-05-12T14:45:40.788-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CPAN'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='ironman'/><title type='text'>Looking for Net::Daemon author</title><content type='html'>I just tried to contact the Net::Daemon author - Malcolm H. Nooning&lt;br /&gt;&lt;br /&gt;All of the emails I could find for him are bouncing. If anyone knows how to contact him, I'd like to help fix some of the bugs in this module&lt;br /&gt;&lt;br /&gt;Todd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4330427319901823538-8399814586605416845?l=perl-toddr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perl-toddr.blogspot.com/feeds/8399814586605416845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://perl-toddr.blogspot.com/2010/03/looking-for-netdaemon-author.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/8399814586605416845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/8399814586605416845'/><link rel='alternate' type='text/html' href='http://perl-toddr.blogspot.com/2010/03/looking-for-netdaemon-author.html' title='Looking for Net::Daemon author'/><author><name>toddr</name><uri>http://www.blogger.com/profile/03685965086573071892</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_T4BKJ6IIg6M/Sk3ZwVX9feI/AAAAAAAAAEk/ztHSDM1E_98/S220/15c6b7e.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4330427319901823538.post-6281794202832134311</id><published>2010-03-22T14:10:00.001-05:00</published><updated>2010-03-26T13:33:43.679-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CPAN'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='ironman'/><title type='text'>Looking for MIA CPAN Authors</title><content type='html'>&lt;pre&gt;&lt;br /&gt;I've been looking for the authors of the following modules that are in need of some minor maintenance. Most of the modules have RT queues untouched for multiple years. &lt;br /&gt;&lt;br /&gt;If anyone knows how to reach them, please let me know.&lt;br /&gt;&lt;br /&gt;Business::UPS - MSOLOMON@cpan.org, jwheeler@cpan.org -- jwheeler's email is bouncing.&lt;br /&gt;Net::AIM - aryeh@cpan.org, perlaim@aryeh.net -- All emails bouncing&lt;br /&gt;Safe::Hole - nakajima@netstock.co.jp, SEYN@cpan.org - &lt;br /&gt;IO::Stty - tex@habit.com, auschutz@cpan.org -- All emails bouncing.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4330427319901823538-6281794202832134311?l=perl-toddr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perl-toddr.blogspot.com/feeds/6281794202832134311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://perl-toddr.blogspot.com/2010/03/looking-for-mia-cpan-authors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/6281794202832134311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/6281794202832134311'/><link rel='alternate' type='text/html' href='http://perl-toddr.blogspot.com/2010/03/looking-for-mia-cpan-authors.html' title='Looking for MIA CPAN Authors'/><author><name>toddr</name><uri>http://www.blogger.com/profile/03685965086573071892</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_T4BKJ6IIg6M/Sk3ZwVX9feI/AAAAAAAAAEk/ztHSDM1E_98/S220/15c6b7e.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4330427319901823538.post-1352985704528401620</id><published>2010-03-22T13:48:00.000-05:00</published><updated>2010-03-22T14:10:00.279-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CPAN'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='ironman'/><title type='text'>Dated CPAN modules need TLC</title><content type='html'>So lately, I've been trying to help the perl community by fixing modules that have had their RT queue neglected because the author has gone MIA. This requires I take over the module to fix what needs fixing. In order to take over a module, you need to do the following:&lt;br /&gt;&lt;br /&gt;1. Open RT tickets about the issues you are having in the appropriate queue.&lt;br /&gt;2. Email the author(s) with as many email addresses as you can determine, cc'ing modules@cpan.org&lt;br /&gt;3. Publicly post that you're looking for the author in a frequented blog source&lt;br /&gt;4. It doesn't hurt to post to perl monks either.&lt;br /&gt;&lt;br /&gt;If all of this fails and multiple weeks go by, modules@perl.org will hook you up. &lt;br /&gt;&lt;br /&gt;This is summarized from &lt;a href="http://www.cpan.org/modules/04pause.html#takeover"&gt;The PAUSE FAQ&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll be doing this for a few modules over the next few months that have been bothering me because they have one thing or the other out of date. I've also been writing a dependency tracker for my own purposes, using the META.yml files that come with modules. A surprising amount of modules do not have a proper META.yml file.&lt;br /&gt;&lt;br /&gt;I've already started this process on a few modules. Where I could contact the authors, I've found them to be helpful in most cases. In some cases, they fix what I had an issue with. In other cases, they just pass the PAUSE baton on to me and I can fix it myself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4330427319901823538-1352985704528401620?l=perl-toddr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perl-toddr.blogspot.com/feeds/1352985704528401620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://perl-toddr.blogspot.com/2010/03/dated-cpan-modules-need-tlc.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/1352985704528401620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/1352985704528401620'/><link rel='alternate' type='text/html' href='http://perl-toddr.blogspot.com/2010/03/dated-cpan-modules-need-tlc.html' title='Dated CPAN modules need TLC'/><author><name>toddr</name><uri>http://www.blogger.com/profile/03685965086573071892</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_T4BKJ6IIg6M/Sk3ZwVX9feI/AAAAAAAAAEk/ztHSDM1E_98/S220/15c6b7e.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4330427319901823538.post-8678851262473809830</id><published>2010-02-11T10:46:00.001-06:00</published><updated>2010-02-11T10:50:33.566-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CPAN'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='ironman'/><title type='text'>Net::Jabber::Bot in the news</title><content type='html'>Ask any CPAN author. It's rewarding and frightening at the same time to hear people mention they're using your CPAN module:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://richard.wallman.org.uk/2010/02/jabber-bot"&gt;Richard Wallman mentioned Net::Jabber::Bot in his blog today&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4330427319901823538-8678851262473809830?l=perl-toddr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perl-toddr.blogspot.com/feeds/8678851262473809830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://perl-toddr.blogspot.com/2010/02/netjabberbot-in-news.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/8678851262473809830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/8678851262473809830'/><link rel='alternate' type='text/html' href='http://perl-toddr.blogspot.com/2010/02/netjabberbot-in-news.html' title='Net::Jabber::Bot in the news'/><author><name>toddr</name><uri>http://www.blogger.com/profile/03685965086573071892</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_T4BKJ6IIg6M/Sk3ZwVX9feI/AAAAAAAAAEk/ztHSDM1E_98/S220/15c6b7e.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4330427319901823538.post-7840422761975065585</id><published>2010-02-11T10:24:00.001-06:00</published><updated>2010-02-11T10:52:00.892-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='perl5'/><category scheme='http://www.blogger.com/atom/ns#' term='CPAN'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='ironman'/><title type='text'>inverting a hash</title><content type='html'>Code I've written in the past to swap keys and values&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;my %hash = ( foo =&gt; bar, ... fee=&gt;fo);&lt;br /&gt;my %reversed_hash;&lt;br /&gt;foreach my $key (keys %hash) {&lt;br /&gt;    $reversed_hash{$hash{$key}} = $key;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;or... I could have just done this all along.&lt;br /&gt;&lt;pre&gt;%hash = reverse %hash;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;When you think of how this works by treating the hash as an array of key/value pairs then just reversing the order of the array,  it initially feels somehow "dirty". But give it a few minutes and you realize it's really a frickin elegant solution!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4330427319901823538-7840422761975065585?l=perl-toddr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perl-toddr.blogspot.com/feeds/7840422761975065585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://perl-toddr.blogspot.com/2010/02/inverting-hash.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/7840422761975065585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/7840422761975065585'/><link rel='alternate' type='text/html' href='http://perl-toddr.blogspot.com/2010/02/inverting-hash.html' title='inverting a hash'/><author><name>toddr</name><uri>http://www.blogger.com/profile/03685965086573071892</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_T4BKJ6IIg6M/Sk3ZwVX9feI/AAAAAAAAAEk/ztHSDM1E_98/S220/15c6b7e.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4330427319901823538.post-7870764768432632109</id><published>2009-07-03T14:26:00.000-05:00</published><updated>2010-02-11T10:52:08.599-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='perl5'/><category scheme='http://www.blogger.com/atom/ns#' term='CPAN'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='ironman'/><title type='text'>How to kill your system by allocating all memory in perl</title><content type='html'>Sometimes you want to see how things behave on a host when it runs out of memory&lt;br /&gt;&lt;br /&gt;We actually caused a linux host with 128GB RAM to hang until we pulled the plug by doing this.&lt;br /&gt;&lt;br /&gt;To allocate more memory, change $procs to a bigger number. If you have 64bit perl, you can kill the host with 1 process, just concatenating strings with the subroutine below.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!perl&lt;br /&gt;use forks;&lt;br /&gt;&lt;br /&gt;my $procs = 2;&lt;br /&gt;for (1..$procs) {&lt;br /&gt;    print "Forking: " . `date`;&lt;br /&gt;    threads-&gt;new(\&amp;mem_load);&lt;br /&gt;}&lt;br /&gt;print "sleeping: " . `date`;&lt;br /&gt;sleep 10;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;sub mem_load {&lt;br /&gt;    my $str = "0123456789abcdef" x 1024;&lt;br /&gt;    $str = $str x 1024;&lt;br /&gt;&lt;br /&gt;    my $mem = $str;&lt;br /&gt;    for (1..130) {&lt;br /&gt; $mem .= $str;&lt;br /&gt; print "$$: $_\n";&lt;br /&gt;    }&lt;br /&gt;    sleep 9999999;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4330427319901823538-7870764768432632109?l=perl-toddr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perl-toddr.blogspot.com/feeds/7870764768432632109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://perl-toddr.blogspot.com/2009/07/how-to-kill-your-system-by-allocating.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/7870764768432632109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/7870764768432632109'/><link rel='alternate' type='text/html' href='http://perl-toddr.blogspot.com/2009/07/how-to-kill-your-system-by-allocating.html' title='How to kill your system by allocating all memory in perl'/><author><name>toddr</name><uri>http://www.blogger.com/profile/03685965086573071892</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_T4BKJ6IIg6M/Sk3ZwVX9feI/AAAAAAAAAEk/ztHSDM1E_98/S220/15c6b7e.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4330427319901823538.post-8703241548737322744</id><published>2009-07-03T14:15:00.000-05:00</published><updated>2010-02-11T10:52:14.598-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='perl5'/><category scheme='http://www.blogger.com/atom/ns#' term='CPAN'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='ironman'/><title type='text'>How to create high CPU load in perl</title><content type='html'>Sometimes you need to test how a host behaves when it's bogged down.&lt;br /&gt;&lt;br /&gt;This code is fairly safe. Change $procs to a big number if you want to see it kill your host.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!perl&lt;br /&gt;use forks;&lt;br /&gt;&lt;br /&gt;my $procs = 2;&lt;br /&gt;for (1..$procs) {&lt;br /&gt; threads-&gt;new(\&amp;amp;fpu_load);&lt;br /&gt; threads-&gt;new(\&amp;amp;cpu_load);&lt;br /&gt;}&lt;br /&gt;sleep 100;&lt;br /&gt;&lt;br /&gt;sub fpu_load {&lt;br /&gt; my ($f1, $f2, $sum);&lt;br /&gt; while(1) {&lt;br /&gt;   $f1 = rand(1000);&lt;br /&gt;   $f2 = rand(1000);&lt;br /&gt;   $sum = $f1 * $f2;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub cpu_load {&lt;br /&gt; my ($f1, $f2, $sum);&lt;br /&gt; while(1) {&lt;br /&gt;   $f1 = rand(1000);&lt;br /&gt;   $f2 = rand(1000);&lt;br /&gt;   $sum = $f1 * $f2;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4330427319901823538-8703241548737322744?l=perl-toddr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perl-toddr.blogspot.com/feeds/8703241548737322744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://perl-toddr.blogspot.com/2009/07/how-to-create-high-cpu-load-in-perl.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/8703241548737322744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/8703241548737322744'/><link rel='alternate' type='text/html' href='http://perl-toddr.blogspot.com/2009/07/how-to-create-high-cpu-load-in-perl.html' title='How to create high CPU load in perl'/><author><name>toddr</name><uri>http://www.blogger.com/profile/03685965086573071892</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_T4BKJ6IIg6M/Sk3ZwVX9feI/AAAAAAAAAEk/ztHSDM1E_98/S220/15c6b7e.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4330427319901823538.post-1466367649513314422</id><published>2009-07-03T05:24:00.000-05:00</published><updated>2009-07-03T07:14:00.125-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CPAN'/><category scheme='http://www.blogger.com/atom/ns#' term='DarkPan'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><title type='text'>How we should address the DarkPan problem</title><content type='html'>I just finished reading &lt;a href="http://perl-yarg.blogspot.com/2009/06/darkpan-schmarkpan-stop-meme.html"&gt;nperez's blog concerning DarkPan&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;No, DarkPan is not Larry Wall telling you he's your father. It's a reference to the immense amount of code out there in businesses that are written using old perl practices that most modern developers stopped using 10 years ago. As a result, when we discuss putting new features into perl5, the attitude is to make no changes to the language that would break previous code.&lt;br /&gt;&lt;br /&gt;I lost a good 10 hours of sleep at YAPC discussing DarkPan issues. Reading NPEREZ's the blog, I See the same sub issues we discussed at YAPC:  CPAN, vendor dependence, fear of upgrade.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CPAN&lt;/span&gt;: This is it's own discussion, but I think CPAN really suffers from not being perl version aware. This is why I think it comes up as a DarkPan topic every time. Right now I can say version 1.2 of module XX supports 5.8.8 but 1.3 requires 5.10. The problem is if I use 5.8.8 perl and run 'report updates' in CPAN, it's not smart enough to say you have the most up to date copy of module XX. Instead it reports that version 1.3 is available for download and install.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Dependence on vendor perl&lt;/span&gt;: Most UNIX operating systems depend on perl. For this reason, it's messy to tweak the perl that comes with the OS. FINE! Compile your own.&lt;br /&gt;&lt;br /&gt;I propose we establish a best practices policy that custom perl be compiled to /usr/local/perl/5.10 and /usr/local/perl/5.8.8, etc. I'm sorry, but it's just not that hard to compile your own and you only have to do it once. As for dependence on binaries like openssl, etc: Compile them too with prefix=/usr/local/perl/utils. Then when compiling your perl modules, make sure LD_RUN_PATH points to /usr/local/perl/utils/lib. Perl is now completely self contained.&lt;br /&gt;&lt;br /&gt;Vendor problem solved. You've now got a handy dandy tarball you can throw around on all your hosts that doesn't get in the way of anything vendor related. This goes to the comment Schwern made at YAPC about what PHP does right: You pull it out of the box, install it, and it just works.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Fear of upgrade&lt;/span&gt;: How do you eat a 2 ton elephant? 1 Bite at a time. If we have standards for custom perl locations for various versions, then the upgrade can be phased in. When you've decided your script is now 5.10 capable, simply change your first line to be #!/usr/local/perl/510/bin/perl and you're now declaring the script to be 5.10 compliant.&lt;br /&gt;&lt;br /&gt;This said, I have a hard time feeling sympathy for DarkPan (my own company included) whining that they have to fix their code if they want their 5.8.3 code to work on 5.10. How is this different from any other language or platform? Off the top of my head, I believe this is a problem in .net, java, IBM WebSphere, etc. Most of these platforms would tell you if you complained: "You want the new features in the new version of the language? You're going to have to upgrade your code"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Modern Perl:&lt;/span&gt;&lt;br /&gt;Perl5 does a bad job encouraging good programming practices. While at YAPC, I saw this topic come up in many forms: Modern Perl, perl5i, DarkPan, etc. There's alotta frustration with perl 5 because as we release new versions of perl5, we continue to allow all of the old sloppy programming practices.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;My take:&lt;/span&gt;&lt;br /&gt;1. Enable strict/warnings by default.&lt;br /&gt;2. add warnings when &amp;amp;subname, is called and tell the coder that their perl4 code needs to be upgraded to use subname();&lt;br /&gt;3. turn on frickin say/switch, etc by default&lt;br /&gt;4. I'm sure there's more.&lt;br /&gt;&lt;br /&gt;If the DarkPan code breaks, tell em to go put 1 line of code in their scripts: &lt;span style="font-weight: bold;"&gt;use sloppyperl;&lt;/span&gt;, which would effectively revert the language without requiring a re-code. If all these DarkPan users are so eager to upgrade, make em sweat a little by forcing them to add that one line of code to their scripts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4330427319901823538-1466367649513314422?l=perl-toddr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perl-toddr.blogspot.com/feeds/1466367649513314422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://perl-toddr.blogspot.com/2009/07/how-we-should-address-darkpan-problem.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/1466367649513314422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4330427319901823538/posts/default/1466367649513314422'/><link rel='alternate' type='text/html' href='http://perl-toddr.blogspot.com/2009/07/how-we-should-address-darkpan-problem.html' title='How we should address the DarkPan problem'/><author><name>toddr</name><uri>http://www.blogger.com/profile/03685965086573071892</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_T4BKJ6IIg6M/Sk3ZwVX9feI/AAAAAAAAAEk/ztHSDM1E_98/S220/15c6b7e.jpg'/></author><thr:total>5</thr:total></entry></feed>
