<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="/voltar.xsl"?>

<page>
<title>Perl Modules</title>
<folder title="My Perl Modules"><p>These are the perl modules I've written over the years.  Some unpublished, others published.  Many are buggy, some are not.  If I'm intending for others to use the modules, then I almost certainly published them here also:
                   <a href='http://search.cpan.org/~jettero/'>http://search.cpan.org/~jettero/</a></p><p>In fact, I'd be rather surprised if anyone really looked at this page that didn't come to my site for some other reason.</p></folder><folder nosig='1' date="circa 08/22 08" title="Statistics::Basic">
<p> Essentially, I wanted a set of perl native packages that would do very basic statistics. That package (<a href="Statistics-Basic-1.53.tar.gz">Statistics-Basic-1.53.tar.gz</a>) is called <a href="?eo_cat=Statistics-Basic.html">Statistics::Basic</a>. It contains things like ::Mean, ::StdDev, ::Covariance, etc. <br /><br />Changes: <pre>1.53: Fri Aug 22 17:34:02 EDT 2008
   - did some cleanup on the recalc code
   - still showing a bug in the new t/08_filter tests... 
   - yeah, bad bug in the median code, wow

1.50: Fri Aug 22 06:56:17 EDT 2008
   - adding a computed vector class that will act just like a
     vector, but will be recomputable.
   - computed vectors and a test have been added...
   - added a filtered-outlier test
   - documented the new computed vectors

1.00: Thu Aug  7 07:24:36 EDT 2008
   - finished up the docs, they still need to be proofread
</pre></p>

</folder>
<folder nosig='1' date="circa 08/21 08" title="Crypt::PBC">
<p> Ben Lynn&#39;s PBC library is really fun: <a href="http://crypto.stanford.edu/pbc/">http://crypto.stanford.edu/pbc/</a>. But I&#39;m a perl nerd at heart, so I ported it to perl. He&#39;s actively working on his library, so I expect to have to update this module relatively regularly. File: <a href="Crypt-PBC-0.854.tar.gz">Crypt-PBC-0.854.tar.gz</a> Man Page: <a href="?eo_cat=cpbc-PBC.html">Crypt::PBC</a>. <br /><br />Changes: <pre>0.854: Thu Aug 21 06:21:28 EDT 2008
   - Used EU::MM&#39;s prompt() instead of rolling my own.  BingOS++.
     Woops.

0.853: Thu Aug 14 12:05:26 EDT 2008
   - Fixed a build problem for bsd 
   - Fixed an eval { use Something } problem in a test.
     It now reads eval q{ use something };  ... grrz.

0.852: Wed Aug 13 16:29:37 EDT 2008
   - A cpan tester informed me that his libgmp was in /usr/local
     ... that&#39;s kindof a no brainer.  I added some rudimentary
     libpaths to the Makefile.PL; I should probably make it use
     some system paths.  Later.
</pre></p>

</folder>
<folder nosig='1' date="circa 08/18 08" title="CPAN::CachingProxy">
<p> I had originally posted this project <a href="http://perlmonks.org/?node_id=684733">on perlmonks</a>, where I was encouraged (privately) to post the code as a module on CPAN. I never hesitate to post on CPAN. File: <a href="CPAN-CachingProxy-1.3.tar.gz">CPAN-CachingProxy-1.3.tar.gz</a> Man Page: <a href="?eo_cat=CachingProxy.html">CPAN::CachingProxy module</a>. <br /><br />Changes: <pre>1.3: Mon Aug 18 09:07:51 EDT 2008
   - found a few variable name bugs/typos
   - added a couple more expiration options
   - added an LWP timeout option

1.2: Tue Aug 12 07:19:25 EDT 2008
   - I taught the cache about an alternate expiration for the
     index files.  It makes sense to only cache them for a
     shorter while...

1.1: Thu Aug  7 16:04:01 EDT 2008
   - ditched version.pm
   - re-wrote a couple of examples and docs
     (the key_space stuff)
   - minor path patch
</pre></p>

</folder>
<folder nosig='1' date="circa 08/13 08" title="Net::Pcap::Easy">
<p> Net::Pcap does the job, but it&#39;s confusing and difficult to operate. This module solves that problem in a relatively general way.<br /><br /> I wanted an way to build libpcap filters really quickly. It shouldn&#39;t take two hours to crank one out, particularly since I imagine they all kinda look the same. So, I wrote this to simplify writing sniffers really quickly.<br /><br /> Here it is: <a href="Net-Pcap-Easy-1.32.tar.gz">Net-Pcap-Easy-1.32.tar.gz</a> Read it: <a href="?eo_cat=PcapEasy.html">Net::Pcap::Easy</a>. <br /><br />Changes: <pre>1.32: Wed Aug 13 13:49:19 EDT 2008
    - woops, &#39;skip&#39; device fails tests...

1.31: Wed Aug 13 07:21:36 EDT 2008
    - I dislike module::build, removed

1.3: Wed Aug  6 07:00:43 EDT 2008
    - Awesome.  t/07 had a naked (non eval&#34;&#34;) use WWW::Mechanize,
      even though it didn&#39;t use it.  So, CPAN testers rock.
</pre></p>

</folder>
<folder nosig='1' date="circa 08/12 08" title="Date::Lima">
<p> Nichus and I wrote this one for our network monitoring scripts. It turns 7654321 seconds into 12w4d14h12m1s. <a href="Date-Lima-1.3.tar.gz">Date-Lima-1.3.tar.gz</a> / <a href="?eo_cat=Lima.html">Date::Lima</a>. <br /><br />Changes: <pre>1.3: Tue Aug 12 07:19:17 EDT 2008
   - I modernized this greatly

1.2:  Fri Sep 22 07:47:51 EDT 2000
   - jettero redid the NAME field to match cpan

1.1:  Fri Sep 22 07:47:51 EDT 2000
   - jettero redid the exports
</pre></p>

</folder>
<folder nosig='1' date="circa 08/08 08" title="Unix::Process">
<p> I needed a way to get info about a process. I wanted it to work under BSD and Linux. Check out the man page: <a href="?eo_cat=Process.html">Unix::Process module</a> (<a href="Unix-Process-1.31.tar.gz">Unix-Process-1.31.tar.gz</a>). <br /><br />Changes: <pre>1.31: 
   - I used a perl 5.8 syntax in my Makefile.PL
   - although, I think this should work in perl 5.6
     + hrm, looks like IPC::System::Simple doesn&#39;t work under
       5.6, at some point they started using the &#34;use if WINDOWS&#34;
       syntax, which I think is from later perls.

1.300_000: Tue May 27 12:09:33 EDT 2008
   - The autoloader was kinda crappy
   - There were whitespace bugs
   - I hate M::B and went back to EU::MM
     (so I also ditched version.pm)

1.2.1: Mon May 26 15:44:35 EDT 2008
   - I might as well do a new version of everything using
     version.pm while I wait for all my CPAN deletes to go
     through.  I just discovered that version.pm doesn&#39;t/didn&#39;t
     go core until perl 5.9...  I really wish I&#39;d have prereqed
     it everywhere I used it, but I didn&#39;t.  *sigh*
</pre></p>

</folder>
<folder nosig='1' date="circa 08/07 08" title="Devel::FindBlessedRefs">
<p> I needed to find all the refs blessed under PackageName. I was told that can&#39;t be done, but with XS, you can pretty much do anything you want. I don&#39;t think this is very efficient, but I only needed it for debugging. Here it is: <a href="Devel-FindBlessedRefs-1.2.tar.gz">Devel-FindBlessedRefs-1.2.tar.gz</a> Read it: <a href="?eo_cat=Blessed.html">Devel::FindBlessedRefs</a>. <br /><br />Changes: <pre>1.2: Thu Aug  7 16:13:58 EDT 2008
   - removed version.pm and Module::Build

1.1.3: Wed Jul 30 07:26:31 EDT 2008
   - just noticed my email address was wrong in the pod
   - removed the Makefile.PL, it causes problems

1.1.2: Wed Jul 23 16:11:58 EDT 2008
   - Module::Build needs ExtUtils::CBuilder to build XS
     (lame)
</pre></p>

</folder>
<folder nosig='1' date="circa 08/07 08" title="CGI::RSS">
<p> I wanted something that worked like CGI.pm but for RSS. Sadly, nobody completed anything like that before me, so I have attempted to construct it. I know precious little about the format, but I think this is a reasonable attempt. Here it is: <a href="CGI-RSS-0.8.tar.gz">CGI-RSS-0.8.tar.gz</a>, <a href="?eo_cat=RSS.html">CGI::RSS</a>. <br /><br />Changes: <pre>0.9: Thu Aug  7 15:53:52 EDT 2008
   - ditched version.pm

0.7.3: Tue May 27 12:03:32 EDT 2008
   - (wow, use version has to be on the same line as our $VERSION
      for older EUMM)

0.7.2: Mon May 26 15:44:02 EDT 2008
   - I might as well do a new version of everything using
     version.pm while I wait for all my CPAN deletes to go
     through.  I just discovered that version.pm doesn&#39;t/didn&#39;t
     go core until perl 5.9...  I really wish I&#39;d have prereqed
     it everywhere I used it, but I didn&#39;t.  *sigh*
</pre></p>

</folder>
<folder nosig='1' date="circa 08/07 08" title="Object::Previous">
<p> I&#39;ve been wishing for a long time that perl had a previous_object() function like Pike. They showed me how on perlmonks.org... So I wipped this together quick. Here it is: <a href="Object-Previous-1.1.tar.gz">Object-Previous-1.1.tar.gz</a> Read it: <a href="?eo_cat=Previous.html">Object::Previous</a>. <br /><br />Changes: <pre>1.1: Thu Aug  7 15:49:49 EDT 2008
    - version.pm is incompatible with EU::MM and
    - removed the Autoloader from the .pm

1.0.0:  Sat Jun  7 19:59:19 EDT 2008
    - finished the pure perl and XS versions
</pre></p>

</folder>
<folder nosig='1' date="circa 08/07 08" title="POSIX::Regex">
<p> I wanted POSIX regexs in perl. It&#39;s not the first time I&#39;ve wanted them. So I cranked &#39;em out. The File: <a href="POSIX-Regex-1.000_000.tar.gz">POSIX-Regex-1.000_000.tar.gz</a> The Manpage: Check out the man page: <a href="?eo_cat=Regex.html">POSIX::Regex</a>. <br /><br />Changes: <pre>1.000_000: Thu Aug  7 15:25:12 EDT 2008
   - after much hullabaloo, I have determined that version.pm
     needs Module::Build to work reliably with XS and I have
     further determined that Module::Build causes more problems
     than it solves.  I hate it.  So I&#39;m removing version.pm and
     Module::Build and going back to the ultra stable
     ExtUtils::MakeMaker.

0.90.16: Wed Jul 30 07:28:25 EDT 2008
   - changed my author and copyright sections, they were all
     wrong
   - removed the Makefile.PL, causes problems

0.90.15: Mon Jul 28 06:39:12 EDT 2008
   - added lib checkers to both .PLs
</pre></p>

</folder>
<folder nosig='1' date="circa 07/14 08" title="">
<p> Back in about 2001, I wanted to build a huge library of Technical Analysis tools for perl. I only built three of them originally. <br />File: <a href="stockmonkey-2.11.tar.gz">stockmonkey-2.11.tar.gz</a><br />Man Page: <a href="?eo_cat=StockMonkey.html">StockMonkey Modules</a>. <br /><br />Changes: <pre>2.11: Sun Jul 13 13:08:22 EDT 2008
    - fixed the HMA test.  HMA can apparently exceed (or
      under-ceed) input-min-max boundaries.  Huh.

2.10: Sat Jul 12 20:33:50 EDT 2008
    - Gustav  found that ParabolicSAR fails to
      accept four tuples that That must have been hard to figure out...
    - I also apparently misspelled tuple everywhere, wow
    - I added a FAQ pointing to Genius Trader

2.9: Wed Jul  2 15:44:30 EDT 2008
    - Added LaguerreFilter (a fascinating take on moving averages
      using digital filter processing)
    - added a test for the LF
    - switched the adaptive diff filter from an average to a
      median (more literally what&#39;s in Ehlers&#39; book)
</pre></p>

</folder>
<folder nosig='1' date="circa 06/15 08" title="Games::RolePlaying::MapGen">
<p> I was particularly thrilled with <a href="http://www.aarg.net/~minam/dungeon.cgi">Jamis Buck&#39;s Dungeon Generator</a>, but I wanted to design something a little more flexible that allowed for export and generation plugins. Although images aren&#39;t the only focus of the module, screenshots sell everything, <a href="vis1.map.png">so I provided this one</a> an <a href="vis2.map.png">this one</a>. I have also provided <a href="vis1.map.xml">XSLT samples</a> of <a href="vis2.map.xml">each of them</a>. It&#39;s quite tittlating don&#39;t you think? <br />There is also a new <a href="?eo_cat=GRMEditor.html">editor</a> that&#39;s worth checking out. <br />File: <a href="Games-RolePlay-MapGen-1.3.0.tar.gz">Games-RolePlay-MapGen-1.3.0.tar.gz</a><br />Man Page: <a href="?eo_cat=MapGen.html">Games::RolePlaying::MapGen module</a>. <br /><br />Changes: <pre>1.3.0: Sun Jun 15 11:01:38 EDT 2008
   - added the MapQueue module (which includes d20-like visicalc)

1.2.20: Tue May 27 12:07:32 EDT 2008
   - (wow, use version has to be on the same line as our $VERSION
      for older EUMM)

1.2.19: Mon May 26 14:48:22 EDT 2008
   - I might as well do a new version of everything using
     version.pm while I wait for all my CPAN deletes to go
     through.  I just discovered that version.pm doesn&#39;t/didn&#39;t
     go core until perl 5.9...  I really wish I&#39;d have prereqed
     it everywhere I used it, but I didn&#39;t.  *sigh*
</pre></p>

</folder>
<folder nosig='1' date="circa 06/09 08" title="MySQL::Easy">
<p> This (<a href="MySQL-Easy-2.0.4.tar.gz">MySQL-Easy-2.0.4.tar.gz</a>) is something I&#39;ve been using over and over. I don&#39;t remember how I used to live without it. I had quit publishing this on CPAN for a while, but I decided to put it back after soneome asked about it. I have gotten grief about the namespace previously, but moving it into DBIx didn&#39;t work out. Check out the man page: <a href="?eo_cat=DEMySQL.html">MySQL::Easy module</a>. <br /><br />Changes: <pre>2.0.4: Mon Jun  9 20:55:50 EDT 2008
   - added a smarter last_insert_id

2.0.3: Tue May 27 12:04:27 EDT 2008
   - (wow, use version has to be on the same line as our $VERSION
      for older EUMM)

2.0.2: Mon May 26 15:56:50 EDT 2008
   - I might as well do a new version of everything using
     version.pm while I wait for all my CPAN deletes to go
     through.  I just discovered that version.pm doesn&#39;t/didn&#39;t
     go core until perl 5.9...  I really wish I&#39;d have prereqed
     it everywhere I used it, but I didn&#39;t.  *sigh*
</pre></p>

</folder>
<folder nosig='1' date="circa 05/29 08" title="Term::GentooFunctions">
<p> The gentoo /sbin/functions.sh suite is really nice for shell scripts. I wanted some of that functionality for perl. Here it is: <a href="Term-GentooFunctions-1.2.2.tar.gz">Term-GentooFunctions-1.2.2.tar.gz</a>, <a href="?eo_cat=TermGF.html">Term::GentooFunctions</a>. <br /><br />Changes: <pre>1.2.2: Tue May 27 12:06:23 EDT 2008
   - (wow, use version has to be on the same line as our $VERSION
      for older EUMM)

1.2.1: Mon May 26 15:58:50 EDT 2008
   - I might as well do a new version of everything using
     version.pm while I wait for all my CPAN deletes to go
     through.  I just discovered that version.pm doesn&#39;t/didn&#39;t
     go core until perl 5.9...  I really wish I&#39;d have prereqed
     it everywhere I used it, but I didn&#39;t.  *sigh*

1.2.0: Sat May 24 09:21:21 EDT 2008
   - using version.pm as suggested by Andreas Koenig
</pre></p>

</folder>
<folder nosig='1' date="circa 05/27 08" title="Net::SMTP::OneLiner">
<p> This exports a send_mail() function into your local namespace.<br />The package: <a href="Net-SMTP-OneLiner-1.3.3.tar.gz">Net-SMTP-OneLiner-1.3.3.tar.gz</a> The Manpage: <a href="?eo_cat=OneLiner.html">Net::SMTP::OneLiner</a><br /><br />Changes: <pre>1.3.3: Tue May 27 12:02:10 EDT 2008
   - (wow, use version has to be on the same line as our $VERSION
      for older EUMM)

1.3.2: Tue May 27 07:30:11 EDT 2008
   - still forgot the version.pm

1.3.1: Mon May 26 15:42:56 EDT 2008
   - I might as well do a new version of everything using
     version.pm while I wait for all my CPAN deletes to go
     through.  I just discovered that version.pm doesn&#39;t/didn&#39;t
     go core until perl 5.9...  I really wish I&#39;d have prereqed
     it everywhere I used it, but I didn&#39;t.  *sigh*
</pre></p>

</folder>
<folder nosig='1' date="circa 11/05 07" title="Math::Units::PhysicalValue">
<p> Math::Units did <em>almost</em> what I wanted. I really wanted something like Math::Calc::Units -- which felt unfinished, and hadn&#39;t been updated for years. This (<a href="Math-Units-PhysicalValue-0.71.tar.gz">Math-Units-PhysicalValue-0.71.tar.gz</a>) is something I wrote for dividing things like &#34;6,500 ft&#34; and &#34;43 s&#34; and getting &#34;103.16 miles/hour&#34;. This module uses Math::Units and Math::Algebra::Symbols to do all it&#39;s magic. Really, PhysicalValue is just a collection of clever operator overloads. Check out the man page: <a href="?eo_cat=PhysicalValue.html">Math::Units::PhysicalValue module</a>. Last updated on Mon Nov 5 07:36:30 EST 2007 </p>

</folder>
<folder nosig='1' date="circa 07/19 07" title="Crypt::Cracklib">
<p> I didn&#39;t write this. I fetched the CPAN version and the requirements failed to mention Test::Pod::Coverage. The tests didn&#39;t pass. And I was just generally POed about it. So I repackaged it and uploaded it to my website. I won&#39;t be releasing this version on CPAN or anything. I probably won&#39;t even mention it to the author. File: <a href="Crypt-Cracklib-1.1.jet.tar.gz">Crypt-Cracklib-1.1.jet.tar.gz</a> Man Page: <a href="?eo_cat=Cracklib.html">Crypt::Cracklib</a>. Last updated on Thu Jul 19 09:15:26 EDT 2007 </p>

</folder>
<folder nosig='1' date="circa 07/03 07" title="Games::Go::SGF2misc">
<p><a href="?eo_cat=SGF2misc.html">Games::Go::SGF2misc</a> is yet another SGF reader (<a href="Games-Go-SGF2misc-0.9.8.tar.gz">Games-Go-SGF2misc-0.9.8.tar.gz</a>). This one spews forth the SGF in several formats. as_perl(), as_hash(), as_png(), etc... It is designed to work without the help or need for the infamous sgf2misc by J. Van Der Steen (http://gobase.org/software/sgf2misc/). And also without the perfectly acceptable Games::Go::SGF. </p>

</folder>
<folder nosig='1' date="circa 03/05 07" title="MySQL::Easy">
<p> This (<a href="MySQL-Easy-1.34.tar.gz">MySQL-Easy-1.34.tar.gz</a>) is something I&#39;ve been using over and over. I don&#39;t remember how I used to live without it. So, I give it to you. Don&#39;t use it if you don&#39;t like it! :) This namespace has been discontinued. It is still available under the name DBIx::Easy::MySQL. Check out the man page: <a href="?eo_cat=Easy.html">MySQL::Easy module</a>. Last updated on Mon Mar 5 16:03:12 EST 2007 </p>

</folder>
<folder nosig='1' date="circa 05/07 05" title="Net::IdentServer">
<p> This (<a href="Net-IdentServer-0.56.tar.gz">Net-IdentServer-0.56.tar.gz</a>) is something I wrote for validating DSL users from behind a masq firewall. Long story. Check out the man page: <a href="?eo_cat=IdentServer.html">Net::IdentServer module</a>. Last updated on Sat May 7 14:06:41 EDT 2005 </p>

</folder>
<folder nosig='1' date="circa 05/05 04" title="AI::GAUL">
<p><a href="?eo_cat=ai.gaul.html">AI::GAUL</a> is just a simple XS wrapper for the most excellent GAUL C lib. It is not done yet. Snag it here: <a href="AI-GAUL-0.0.7.tar.gz">AI-GAUL-0.0.7.tar.gz</a> Last Modified: Wed May 5 09:09:53 EDT 2004 </p>

</folder>
<folder nosig='1' date="circa 04/13 04" title="Text::SpellCheck">
<p> The <a href="?eo_cat=SpellCheck.html">Text::SpellCheck module</a> (<a href="Text-SpellCheck-0.56.tar.gz">Text-SpellCheck-0.56.tar.gz</a>) is just something I wanted for my <a href="http://www.givin60.com">giving 60</a> site. I never did get around to installing it though.<br /> Last updated: Tue Apr 13 07:29:01 EDT 2004 </p>

</folder>
<folder nosig='1' date="circa 08/01 03" title="">
<p> This cute little module makes dockapps. <br /> File: <a href="Wharf-JDockApp-1.2.1.tar.gz">Wharf-JDockApp-1.2.1.tar.gz</a><br /> Man: <a href="?eo_cat=JDockApp.html">Wharf::JDockApp</a></p>

</folder>
<folder nosig='1' date="circa 02/08 03" title="FoxPro::DBF">
<p> This (<a href="FoxPro-DBF-0.16.tar.gz">FoxPro-DBF-0.16.tar.gz</a>) is something I&#39;ve been meaning to make for quite a while. The <a href="?eo_cat=DBF.html">FoxPro::DBF module</a>. This first step lets you read foxpro data from any platform (with perl). Clearly this module needs a new name. This module doesn&#39;t work with DBI because DBI is too sql-centric; though, that is an end goal, I just don&#39;t see how I can get this module to work with DBI. Last updated on Sat Feb 8 12:17:44 EST 2003 </p>

</folder>
<folder nosig='1' date="circa 09/22 02" title="Business::CSI">
<p> I have to use Card Service International at work ... This made their API bareable. The <a href="?eo_cat=CSI.html">Business::CSI module</a> (<a href="Business-CSI-0.81.1.tar.gz">Business-CSI-0.81.1.tar.gz</a>). Last updated on Mon Jul 30 20:50:47 EDT 2001. </p>

</folder>
<folder nosig='1' date="circa 09/22 02" title="MySQL::GUI">
<p> This doesn&#39;t work yet. It will (in the future) load up glorious mysql client menus and things. :) <a href="?eo_cat=GUI.html">MySQL::GUI module</a> (<a href="MySQL-GUI-0.35.tar.gz">MySQL-GUI-0.35.tar.gz</a>). Last updated on Thu Jan 17 11:50:50 EST 2002 </p>

</folder>
</page>
