jeffa's Friends' Journals http://use.perl.org/~jeffa/journal/friends/ jeffa's Friends' use Perl Journals en-us use Perl; is Copyright 1998-2006, Chris Nandor. Stories, comments, journals, and other submissions posted on use Perl; are Copyright their respective owners. 2012-01-25T02:18:27+00:00 pudge pudge@perl.org Technology hourly 1 1970-01-01T00:00+00:00 jeffa's Friends' Journals http://use.perl.org/images/topics/useperl.gif http://use.perl.org/~jeffa/journal/friends/ Bob Jacobsen interview on FLOSS Weekly http://use.perl.org/~merlyn/journal/40324?from=rss Last week, I interviewed Bob Jacobsen for FLOSS Weekly. Bob used Perl's Artistic 1.0 license on some Java code to manage model trains. The code was later patented by an Oregon-based company(!) and then Bob got sued(!!) for Bob distributing the other company's patented code(!!!). The good part of the story is that this is the first test at the US Federal Appeals Court level for an open source license to be enforceable even if no money exchanges hands, and... we won! <p> Bob spent a lot of time and money on the case though. Listen to <a href="http://twit.tv/floss117">the podcast</a> and contribute to <a href="http://jmri.sourceforge.net/donations.shtml">his legal defense</a> if you care about open source.</p> merlyn 2010-04-23T03:55:11+00:00 journal Perl hashes in comparison to C, C++, Python and Ruby http://use.perl.org/~mpeters/journal/40268?from=rss I just came across <a href="http://incise.org/hash-table-benchmarks.html">this blog post</a> which benchmarks several hash implementations in C and C++ including the hashes or Python and Ruby. <br> <br> I was wondering if someone wanted to <a href="http://github.com/mackstann/hash-table-shootout">fork the benchmarks on GitHub</a> and add a Perl entry. I haven't done C in a while and I've never done XS, so I'm probably not the best person for that job. <br> <br> Any volunteers? mpeters 2010-03-25T14:47:41+00:00 journal Headsup on command line for shortcuts in Windows XP http://use.perl.org/~bart/journal/40219?from=rss <p>For Strawberry Perl, and Padre, I use a custom entry in the Start Menu, which technically is a shortcut (*.LNK file). For example, for Padre the command line in the shortcut file was:</p><blockquote><div><p> <tt>C:\WINDOWS\system32\cmd.exe<nobr> <wbr></nobr>/c PATH=c:\strawberry\perl\bin;c:\strawberry\c\bin;%PATH% &amp;&amp; padre</tt></p></div> </blockquote><p>Likewise, the command line for my Strawberry shell was:</p><blockquote><div><p> <tt>C:\WINDOWS\system32\cmd.exe<nobr> <wbr></nobr>/k PATH=c:\strawberry\perl\bin;c:\strawberry\c\bin;%PATH%</tt></p></div> </blockquote><p>Overnight, these both stopped working.</p><p>After a bit of puzzling, I figured out that a new program had been installed by Windows Update, and this had added a new directory to PATH. As a result, after the environment variable was substituted with its real value, the length of the expanded command line was now longer than 256 bytes, and now PATH got truncated.</p><p>Remember, folks:</p><blockquote><div><p> <b>The length of the command line for a shortcut, after expansion, should never be longer than 256 bytes.</b></p></div> </blockquote><p>If you put the code for modification of PATH in a *.BAT file, no such restriction applies.</p><p>So now, my shortcut to start the command shell is:</p><blockquote><div><p> <tt>C:\WINDOWS\system32\cmd.exe<nobr> <wbr></nobr>/k c:\strawberry\strawberry_path.bat</tt></p></div> </blockquote><p>where c:\strawberry\strawberry_path.bat contains the lines</p><blockquote><div><p> <tt>@echo off<br>PATH=C:\strawberry\c\bin;C:\strawberry\perl\bin;%PATH%</tt></p></div> </blockquote><p>which makes it easier for me to add more Perl based tools that depend on these entries in PATH: I now have a central location for the definition, if I ever need to add or modify a directory.</p> bart 2010-03-02T14:26:35+00:00 journal blogs.perl.org http://use.perl.org/~mpeters/journal/40174?from=rss <p>I'm trying to like the new site blogs.perl.org but every time I try to use it something goes wrong. Every time I try to comment on a post I get this strange error message (It's happened to me every day for at least a week. I decided to ignore the first few times since all sites have problems and it is still beta, but I guess I just got too annoyed today):</p><blockquote><div><p>Comment Submission Error</p><p>Your comment submission failed for the following reasons: Text entered was wrong. Try again.</p></div></blockquote><p>Really? My text was wrong? Do tell, how could it have been made "right".</p><p>Not only is this error message completely unhelpful, but it takes me to a separate page where I have to click my browser's back button to try again. Really? That's so 90's.</p><p>I've tried clearing out any blogs.perl.org cookies that might be bad for some reason; I've tried changing my content, my name, my url, etc. Nothing seems to work. Anyone know what's going on or have a clue as to how I can fix this?</p> mpeters 2010-02-11T15:35:07+00:00 journal Google Wave Invites http://use.perl.org/~Mr.+Muskrat/journal/40002?from=rss I have 25 Google Wave invitations. If anyone would like one, please contact me at mmusgrove@cpan.org. Mr. Muskrat 2009-12-10T18:09:12+00:00 journal [Win32::]KeyState http://use.perl.org/~Mr.+Muskrat/journal/39982?from=rss <p>Way back on July 9, 2003 I uploaded Win32::KeyState to CPAN but it was indexed as KeyState. No biggie.</p><p>It has not received any love since that day.</p><p>I know of one person other than myself who ever used it: Johan Lodin.</p><p>Is anyone still using it? Or has everyone moved on to Win32::GuiTest and/or Win32::Console?</p><p>I would like to either turn over the module to someone or remove it from CPAN.</p><p>Either follow up with a comment here or send me an email at mmusgrove@cpan.org. (The email address listed in the documentation is no longer valid.)</p><p>Thank you.</p> Mr. Muskrat 2009-12-05T19:03:31+00:00 journal Win32::mIRC http://use.perl.org/~Mr.+Muskrat/journal/39981?from=rss <p>I doubt that anyone is still using Win32::mIRC.</p><p>I doubt that anyone other than me ever used this module and I want to remove it from CPAN. (I do not care if it ends up in BackPAN or not.)</p><p>If anyone <b>is</b> still using Win32::mIRC, please send an email to mmusgrove@cpan.org and not the email address listed in the module documentation.</p><p>Thank you.</p> Mr. Muskrat 2009-12-05T18:56:43+00:00 journal Obligatory giving of Thanks! http://use.perl.org/~mpeters/journal/39950?from=rss I'm currently waiting for the turkey and stuffing to cook and am feeling really grateful for lots of things, so I thought I'd share some of my programming gratitude here. In no particular order, I'm thankful for: <ul> <li> <strong>Mark Stosberg</strong> - Not only is he the driving force behind the CGI::App community but he's also great at helping out with important modules that have fallen a little stale (CGI.pm, CGI::Session, Data::FormValidator). He's also been a patient follower and contributor to my Smolder project. </li><li> <strong>Brad Oaks</strong> - Not a CPAN contributor, but the main organizing effort behind Raleigh.pm and a fellow co-worker. Our technical meetings are good geekery and our social meetings are pretty fun too. Not all of us programmers are good at organizing social things, so I'm glad that he is. Not only is he a good sounding board for my ideas at work but he makes me think of things that I didn't see on my own. </li><li> <strong>Ricardo Signes</strong> - Great speaker, prolific module author and very funny guy. I've had the privilege of hanging out with him at lots of YAPCs and a couple Perl QA Workshops and it's always a blast. His willingness to delve into the abyss that is Email and make it sane (or saner) for the rest of us is enough to earn him permanent Perl sainthood. </li><li> <strong>Perrin Harkins</strong> - mod_perl guru and former co-worker, I really learned a lot from him about architecture, code structure, maintenance and a million other things. He's usually playing with lots of different new toys and sharing all his benchmarks and comparisons so the rest of us can make better decisions. </li><li> <strong>Jim Brandt</strong> - Current President of the Perl Foundation which means he has the hardest thankless job which everybody takes for granted in the Perl community. It's amazing how much gets done in a completely volunteer effort like the TPF and we should all be grateful for his work (and those of past presidents like Allison Randall and Richard Dice). </li></ul><p> I know I've left lots of people off this list, but the turkey needs basting, so I'll leave the rest of the thanks to other people.</p> mpeters 2009-11-26T19:17:19+00:00 journal Installing Wx on ActivePerl 5.8.9 http://use.perl.org/~bart/journal/39823?from=rss <p>Two days ago, after successfully installing <a href="http://search.cpan.org/perldoc?Alien::wxWidgets">Alien::wxWidgets</a>, <a href="http://search.cpan.org/perldoc?Wx">Wx</a> and <a href="http://search.cpan.org/perldoc?Wx::Demo">Wx::Demo</a> on Strawberry Perl, with a bit of trouble and a lot oit f time, I was curious to see how <a href="http://search.cpan.org/perldoc?Wx::Demo">Wx::Demo</a> works on ActivePerl, and if it shows the same screwed up result in the wxComboCtrl demo. (For the impatient: it does.)</p><p>ActivePerl has <code>PPM</code>, right? So this should be a piece of cake. Let me see... Uh, nothing. Ooh yes, I forgot to add repositories. I'll add my favorites: TCool, Bribes, Trouchelle, UWinnipeg.</p><p>Good, now both <a href="http://search.cpan.org/perldoc?Alien::wxWidgets">Alien::wxWidgets</a> and <a href="http://search.cpan.org/perldoc?Wx">Wx</a> appear. Smooth, in less than a few minutes, both are installed. Now to check, run</p><p> <code>perl -MWx -le "print Wx-&gt;VERSION" </code> </p><p>Uh oh... I get a Windows dialog box telling me some DLL (I forgot its exact name, something with "custom" in its name) can't be found, and the above command line just produces a syntax error, saying the module can't be loaded.</p><p>What next? Well, ActivePerl now supports the MinGW compiler, and I've got one installed as it came with the Strawberry distro... just add "<code>c:\strawberry\c\bin</code>" back to <code>PATH</code>, and I'm good to go.</p><p>So, uninstall Wx again, and try to install it with <code>CPAN</code>. Wait a minute, now it says I don't have a (usable) <a href="http://search.cpan.org/perldoc?Alien::wxWidgets">Alien::wxWidgets</a>? But I installed 0.45 with PPM? Aargh! So if you install <a href="http://search.cpan.org/perldoc?Alien::wxWidgets">Alien::wxWidgets</a> with PPM, you <em>can't use</em> it to install <a href="http://search.cpan.org/perldoc?Wx">Wx</a> with <code>CPAN</code>, and that's the main purpose of that module! Right, uninstall that too, and install it with <code>CPAN</code>, too.</p><p>I was not expecting a smooth ride with <code>CPAN</code>, and that's exactly what I've got. Installing in one go didn't work, obviously, so I broke it down into smaller tasks installing troublesome dependencies first. That did go smoothly, apart from one module that failed tests: <a href="http://search.cpan.org/perldoc?Module::Build">Module::Build</a>. I don't get why a module that is seen by many as the future of <code>CPAN</code>, can be so much trouble. I assumed it would work well enough, so I <code>force install</code>ed it.</p><p>Installing <a href="http://search.cpan.org/perldoc?Alien::wxWidgets">Alien::wxWidgets</a> took... forever. I gave up waiting and went doing something else, even forgetting all about it. I was surprised to see, accidently stumbling back to this console window, that it was still actively chugging along. Anyway, it tested smoothly, and installed with no problems.</p><p>Installing <a href="http://search.cpan.org/perldoc?Wx">Wx</a> next, went a lot faster. In a matter of minutes it was installed. Well, sortof... </p><p>I got some trouble trying to open <a href="http://search.cpan.org/perldoc?Wx">Wx</a>. Even just "<code>look Wx</code>" tried to unpack the package, ending in the error message</p><blockquote><div><p> <tt>gzip: stdout: broken pipe</tt></p></div> </blockquote><p> <code>CPAN</code> barfing and refusing to open a shell.</p><p>I assume this implies that pipe between the external <code>gzip</code> and <code>tar</code> program are probably treated in text mode by mistake; maybe that my ports of these programs are broken. But replacing the <a href="http://unxutils.sourceforge.net/">UnxUtils</a> programs with those from <a href="http://gnuwin32.sourceforge.net/">GnuWin32</a> offers no improvement whatsoever.</p><p>Strawberry Perl didn't have that problem. Let me see what's in its "<code>o conf</code>" settings... a space?? In ActivePerl's <code>CPAN</code>, both are empty. How can you do that...</p><blockquote><div><p> <tt>o conf gzip ' '<br>o conf tar ' '</tt></p></div> </blockquote><p>That works. I don't know what it means, I assume it now will try to use Perl modules instead of external programs, but at least, it no longer produces a broken pipe. That's what matters.</p><p>And now: no more broken pipe!</p><p>There was a problem with <a href="http://search.cpan.org/perldoc?ExtUtils::XSpp">ExtUtils::XSpp</a>, which refused to be installed as a dependency, it looks like it didn't even try (??), so I had to install that manually, and retry.</p><p>Argh, <code>CPAN</code>, I hate you! If in the <code>CPAN</code> shell, some step in the build process fails, and you retry, it'll happily assume that step worked and go to the next step, and then croak. Exiting <code>CPAN</code> and relaunching it is often enough to really make it start over, but sometimes you may have to manually delete the built files.</p><p>Anyway, installing <a href="http://search.cpan.org/perldoc?Wx">Wx</a> finally worked. So did installing <a href="http://search.cpan.org/perldoc?Wx::Demo">Wx::Demo</a>. Running the demos shows that it all worked.</p><p>Conclusion: <strong>yes</strong>, you <em>can</em> install Wx on ActivePerl and the MinGW C compiler, but it'll take a lot of time, and some kicking of the (<code>CPAN</code>) engine in strategic spots.</p><p> Oh, and yes, the combo control shows the exact same weird behavior as it did in Strawberry Perl, here's a <a href="http://users.pandora.be/bartl/perl/WxPerl_demo_wxComboCtrl_oops.png">screenshot</a> to show what I mean). I'm curious to hear if it works better on other platforms than Windows it does. I'm trying to decide if it's a bug in <a href="http://search.cpan.org/perldoc?Wx">Wx</a>, or in <a href="http://search.cpan.org/perldoc?Wx::Demo">Wx::Demo</a>, and if it's tied to the platform. </p><p>p.s. Just earlier today I found there's a PPM repository on WxPerl's own site. Aargh! Well, it was an interesting experience anyway. And now I've got Wx version 0.93, which is a bit more recent than the version on that repository (0.89)...<nobr> <wbr></nobr>:)</p> bart 2009-10-31T23:19:55+00:00 journal Strawberry Perl and the nightmare of installing Padre http://use.perl.org/~bart/journal/39812?from=rss <p>Yesterday evening I felt like it was time for something new, and I decided to install <a href="http://strawberryperl.com/">Strawberry Perl</a> and <a href="http://padre.perlide.org/">Padre</a>. So I grabbed the MSI installer file from Strawberry Perl's website, and ran it. Soon enough it finished, and I felt simply lost. Was that it?</p><p>I glanced in the Start Menu, and I found a few links to docs, 2 to CPAN, and one to the help channel on IRC. I've never used IRC in my life, I don't even have IRC software, so that didn't feel welcoming. No welcome message, no introduction message "What now?", nothing. I'm an experienced Perl user, and as I felt lost, I can't imagine what kind of hell it must feel like to people who are new to Perl.</p><p>So I opened a command line window, and I typed "<code>perl -v</code>". Wow! At least that was something: apparently Strawberry Perl had put itself in my <code>PATH</code>, and in front of my default Perl install. (The reason for that is because my default perl is in the user environment variable PATH, and Strawberry put itself in the system environment variable PATH, and the latter comes in front of the former. It doesn't feel right to me, but at least, it's a annoyance caused by Windows.)</p><p>But I had, half and half, expected that Padre would have been there. It wasn't. So I went to the win32 Wiki (following the link in the Start Menu and initially ending up in the wrong place), and tried to find a "What now?" page. Still nothing. There's a (very incomplete) page on editors usable for Perl (I can name, off the top of my head, 3 free Windows text editors that aren't listed). I needed an editor, this is a fresh Windows install and there's no editor there yet apart from Notepad. </p><p>I decided to grab <a href="http://padre.perlide.org/">Padre</a> anyway. So I dropped down to the command line window, and typed "<code>CPAN</code>", followed by "<code>install Padre</code>". That should go swiftly, shouldn't it? It didn't. I got all sorts of weird errors, most of them relating to "missing prerequisite", at least most due to a module that failed to install, due to a "missing file" error message. Say what??</p><p>So I decided to figure out <em>which</em> module failed to install, and installed, by hand, the first one that produced such an error: <a href="http://search.cpan.org/perldoc?IPC::Run">IPC::Run</a>. Hmm, that installed without glitch. But "<code>install Padre</code>" still doesn't work. So, digging down, I decided to try "<code>install Wx</code>" first. Big mistake. After a very long compilation time, Wx appears to exist out of trillions of little C files, it still failed to install successfully. Again, it appears the reason is because of prerequisites that failed to install.</p><p>So I dug further down, installing module after module by hand: starting up with the huge ones like <a href="http://search.cpan.org/perldoc?PPI">PPI</a>, and ending up in really tiny ones, like <a href="http://search.cpan.org/perldoc?Class::Accessor">Class::Accessor</a>. Eventually, they all installed. </p><p>So what was the culprit? <em>Nothing</em>. They all installed. But I get the distinct impression <em> <a href="http://search.cpan.org/perldoc?CPAN">CPAN</a> throws away part of the build before it even finishes</em>, and therefore, installing huge dependency trees fails. You have to split it up in smaller chunks and install them one at a time.</p><p>Seriously, I can't expect somebody new to perl and CPAN to get this far. From installing Strawberry Perl to finishing installing Padre through CPAN took <em>over 2 hours</em>.</p><p>So after everything installed fine, I sighed a sigh of relief, and typed "padre" at the command line. A spinning cursor for 1 second, and the command line prompt was back. That was it. No error, no error message. Nothing.</p><p>After a pause of more than an hour, I decided to tackle the problem, and started by the most likely culprit: <a href="http://search.cpan.org/perldoc?Wx">Wx</a>, which I had more or less forced to install. I dropped back to the CPAN command line and entered "<code>test Wx</code>". Again, some mysterious error message about a missing file (something like "can't copy file<nobr> <wbr></nobr>... to<nobr> <wbr></nobr>...: file does not exist). "<code>look Wx</code>", in order to unpack the distro, died with the same error. After trying a few times, it finally worked, as it seems <a href="http://search.cpan.org/perldoc?CPAN">CPAN</a> had decided to start afresh. This reinforces the idea that <a href="http://search.cpan.org/perldoc?CPAN">CPAN</a> <em>is</em> the culprit, apparently cleaning up before it even completes building. Eventually, after going through "<code>perl Makefile.PL</code>" and "<code>dmake</code>" manually, "<code>dmake test</code>"... succeeded? So, back in the CPAN shell, I installed it again. I dropped out of CPAN, hopefully typed "<code>padre</code>" and... still nothing.</p><p>So I tried one more module: <a href="http://search.cpan.org/perldoc?Wx::Demo">Wx::Demo</a>. (Seriously, guys, the docs of that demo module are seriously lacking. You run the demo through the script it installs: <a href="http://cpansearch.perl.org/src/MBARBON/Wx-Demo-0.10/bin/">wxperl_demo.pl</a>, but I really had to browse the repository to figure that out.) Anyway: the demos all worked. (One demo looks like shit: "WxComboCtrl", but that's a problem for another day.)</p><p>Back to "<code>padre</code>": still nothing. Okay, debugging time. "<code>perl -x -S padre.bat</code>". Huh, I get an editor window?? "<code>padre</code>"... It works??</p><p>It no longer fails. It all works.</p><p>Okay, the nightmare is over. It took me nearly 3 hours to get this far. This is not something you want to make everybody go through. And the fault is, most likely, in the module <a href="http://search.cpan.org/perldoc?CPAN">CPAN</a>.</p><p> <small>p.s. This post was written using <a href="http://search.cpan.org/dist/Text-Markdown/">Markdown</a> using <a href="http://attacklab.net/showdown/">Showdown</a> and posted after conversion to HTML.</small> </p> bart 2009-10-28T08:56:09+00:00 journal Help needed on a new 5.10 warning http://use.perl.org/~mpeters/journal/39632?from=rss I'm trying to run an existing application on 5.10 for the first time (5.10.0 for right now) and am getting a warning that is not making it easy for me to track down. Any help from the lazy web would be appreciated.<br> <br> It goes like this:<blockquote><div><p> <tt>&nbsp; Variable "$x" is not available at (re_eval 1070) line 1.</tt></p></div> </blockquote><p>I'm assuming this is pretty deep inside some dependency I'm using (of which my application probably has an old version which doesn't play nicely with 5.10). Google is no help here as it returns a lot of CPAN testers results with the same warning for various modules (<a href="http://www.mail-archive.com/cpan-testers@perl.org/msg652326.html">http://www.mail-archive.com/cpan-testers@perl.org/msg652326.html</a>, <a href="http://trouchelle.com/perl/ppmrepview.pl?id=33577&amp;v=10">http://trouchelle.com/perl/ppmrepview.pl?id=33577&amp;v=10</a>).<br> <br> My normal trick of using</p><blockquote><div><p> <tt>&nbsp; $SIG{__WARN__} = \*Carp::cluck;</tt></p></div> </blockquote><p>to get a nice stack trace of where the warning is coming from is not actually giving me a stack trace. Anyone have any extra ideas?</p> mpeters 2009-09-15T21:48:20+00:00 journal Death of a newsgroup http://use.perl.org/~bart/journal/39621?from=rss <p>When I downloaded the headers of the usenet groups I follow, this morning, I saw no new headers in comp.lang.perl.misc. <em>None at all??</em> </p><p>So I doublechecked. In the last 24 hours, there have been 3 (no, 4) automated FAQ postings, and 2 spam messages. That is all.</p> bart 2009-09-14T07:30:57+00:00 journal Toggle between if/endif in Vim with % http://use.perl.org/~jmcnamara/journal/39580?from=rss Dera Lazyweb, <p> In vi/vim is it possible to match if/endif in a non-standard language so you can toggle between them using %? I know that this feature is usually reserved for parentheses and braces but this particular language doesn't use them. </p><p> I can see, from reading around, that you can set regions via ":syntax region" but I'm not sure if that applies to this case. </p><p> I am not a vi user. I'm asking mainly for a colleague. </p><p> John.<br> --</p> jmcnamara 2009-09-04T11:15:58+00:00 journal Pod to Textile for Wikis on Github http://use.perl.org/~jmcnamara/journal/39555?from=rss As a mentioned <a href="http://use.perl.org/~jmcnamara/journal/39545">recently</a> I added Pod to Textile support to Pod::Simple::Wiki. It is now up on <a href="http://search.cpan.org/~jmcnamara/Pod-Simple-Wiki/lib/Pod/Simple/Wiki.pm">CPAN</a>. <p> This lets you to convert a Pod document to Textile markup as follows:</p><blockquote><div><p> <tt>pod2wiki --style=textile Some::Module.pm &gt; some_module.wiki</tt></p></div> </blockquote><p>Which makes it easy to add a github wiki page like <a href="http://wiki.github.com/jmcnamara/pod-simple-wiki/pod2wiki">this</a>. </p><p> John.<br> --</p> jmcnamara 2009-08-29T22:15:40+00:00 journal Installing Snow Leopard http://use.perl.org/~jmcnamara/journal/39550?from=rss <p> I installed Snow Leopard and everything went okay. As usual the first thing that I do on an OS is to check the perl version:</p><blockquote><div><p> <tt>$ perl -v<br> <br>This is perl, v5.10.0 built for darwin-thread-multi-2level</tt></p></div> </blockquote><p>Good start. </p><p> A few things that didn't work straight away were Apache (dav_svn_module was the culprit, probably the wrong version), make (I needed to install the developer tools separately) and Adblock in Safari (only works in the 32 version). </p><p> Apart from that everything looks good. </p><p> John.<br> --</p> jmcnamara 2009-08-29T08:58:35+00:00 journal Spreadsheet::ParseExcel on github http://use.perl.org/~jmcnamara/journal/39545?from=rss <p> I've moved Spreadsheet::ParseExcel to github: <a href="http://github.com/jmcnamara/spreadsheet-parseexcel/tree/master/">http://github.com/jmcnamara/spreadsheet-parseexcel</a> </p><p> It had previously been on Google Code but I didn't find it conducive to collaboration. Hopefully github will be better. I already like the clean look and feel. </p><p> One of the default options on github is to have a wiki page which I thought would be useful for the Pod documentation if it were converted to the Textile format. Then I thought "I have a module for that", <a href="http://search.cpan.org/~jmcnamara/Pod-Simple-Wiki/lib/Pod/Simple/Wiki.pm">Pod::Simple::Wiki</a>. </p><p> So I imported Pod::Simple::Wiki to github, cloned it, followed <a href="http://search.cpan.org/~jmcnamara/Pod-Simple-Wiki/lib/Pod/Simple/Wiki/Template.pm"> my own instructions</a>, and within a hour I had a <a href="http://search.cpan.org/~jmcnamara/Pod-Simple-Wiki/bin/pod2wiki">pod2wiki</a> Textile converter (with tests). </p><p> Here are example pages for <a href="http://wiki.github.com/jmcnamara/spreadsheet-parseexcel">Spreadsheet::ParseExcel</a> and <a href="http://wiki.github.com/jmcnamara/pod-simple-wiki">Pod::Simple::Wiki</a> itself. I'll upload it to CPAN once I make a few more changes to the docs and to link handling. </p><p> John.<br> --</p> jmcnamara 2009-08-28T11:07:41+00:00 journal What Perl can learn from OpenBSD http://use.perl.org/~mpeters/journal/39304?from=rss Will all the talk about trying to improve the Perl core development and release process it's interesting to see what other (non-commercially backed) open source project are doing - <a href="http://www.youtube.com/watch?v=i7pkyDUX5uM">http://www.youtube.com/watch?v=i7pkyDUX5uM</a> <br> <br> From the slashdot overview:<blockquote><div><p>Twelve years ago OpenBSD developers started engineering a release process that has resulted in quality software being delivered on a consistent 6 month schedule &#8212; 25 times in a row, exactly on the date promised, and with no critical bugs. This on-time delivery process is very different from how corporations manage their product releases and much more in tune with how volunteer driven communities are supposed to function.</p></div> </blockquote> mpeters 2009-07-17T01:05:59+00:00 journal There is no Perl web hosting problem! http://use.perl.org/~perrin/journal/39253?from=rss <p>I keep seeing people refer to some kind of crisis in the world of cheap Perl web hosting. They talk about ISPs not supporting mod_perl and invoke PHP as an evil horde conquering all hosts.</p><p>Well, I'm fine with PHP, and congratulate it on its success. However, Perl is not in trouble.</p><p>First, for those who do want the full power of a mod_perl installation, or want to choose their own version of perl, their own webserver, etc., virtual hosting with root is available for about $30-$35 a month. That's not much for getting your own box. And yes, there's mod_perl hosting out there too, but I can't see why you'd use it when you can get full control this cheaply.</p><p>But obviously not everyone wants to administer their own system, so for everyone else there is FastCGI. Hosts with FastCGI are available for $5-$10 a month! Even if PHP became available for $2, that wouldn't be enough of a difference to matter. And FastCGI works just fine for perl.</p><p>There are other things you can complain about if you really want to: installing modules on some hosts is not obvious, and configuring FastCGI on some is not well-documented. However, unlike pricing, those are problems you can solve yourself. So please stop with the ISP panic. Perl web hosting is alright.</p> perrin 2009-07-08T13:31:03+00:00 journal Question for Mac Users http://use.perl.org/~CromeDome/journal/39243?from=rss <p>For those of you using Macs, are you using Perl as it ships with OS X, the Perl MacPort, or are you compiling your own? If you could briefly explain why you use the one you do. I agonize over this every couple of months, and finally decided to sample a larger bit of the community this time around.</p><p>Thanks!</p> CromeDome 2009-07-07T13:04:52+00:00 journal Web Developer's Newest Support Tool? http://use.perl.org/~Mr.+Muskrat/journal/39211?from=rss This afternoon a coworker sent me an email that said, 'This looks really handy for debugging, when you ask the client what browser they're using and they say "Vista": <a href="http://supportdetails.com/">http://supportdetails.com/</a>' Mr. Muskrat 2009-07-02T18:51:28+00:00 journal Bands I'd like to see in a summer music festival http://use.perl.org/~bart/journal/39209?from=rss <p>If I were a festival promotor (but I'm not) these are the bands I'd like to see, because they did impressive things (more than 1 song) in the last year:</p><ul> <li> <a href="http://www.google.com/search?q=school+of+seven+bells+site%3Axlr8r.com">School of Seven Bells</a> </li><li> <a href="http://www.google.com/search?q=friendly+fires">Friendly Fires</a> </li><li> <a href="http://feverray.com/video/when_i_grow_up_video.html">Fever Ray</a> </li><li> <a href="http://www.youtube.com/watch?v=RGlJjVdzPDY">Juana Molina</a> </li></ul><p>and for the dance tent:</p><ul> <li> <a href="http://www.last.fm/music/Pogo">Pogo</a> </li><li> <a href="http://www.youtube.com/watch?v=6yxLn4F_0ss">Deadmau5</a> </li></ul><p>However, it doesn't look very likely to see them all (or even,, half of them) in a single event.</p> bart 2009-07-02T14:01:59+00:00 journal My Slides from YAPC http://use.perl.org/~mpeters/journal/39175?from=rss Just wanted to post links to my slides from YAPC for the 2 talks I did there. Not sure how interesting they are without my accompanying tenor, but here they are: <br> <br> <a href="http://www.slideshare.net/mpeters/tap-in-depth">TAP in Depth</a> <br> <br> <a href="http://www.slideshare.net/mpeters/perl-continous-integration">Continuous Integration Testing in Perl</a> mpeters 2009-06-25T16:44:59+00:00 journal Open Source Advertising http://use.perl.org/~mpeters/journal/39112?from=rss Just saw this <a href="http://blog.reddit.com/2009/06/help-reddit-celebrate-1-year-of-open.html">announcement on reddit</a>. <br> <br> Please take a few seconds to <a href="http://www.reddit.com/r/programming/comments/8rf4b/help_reddit_celebrate_1_year_of_open_source_by/">find Perl and Parrot and upvote them</a>. And if you feel like downvoting some other projects, no one would hold that against you<nobr> <wbr></nobr>:) It's a nice way to show them that the un-dead Perl programmers can still click on links. mpeters 2009-06-10T18:27:28+00:00 journal Another perltidy lazyweb request http://use.perl.org/~mpeters/journal/39107?from=rss Having been inspired by <a href="http://use.perl.org/~domm/journal/39106">Domm</a> to fix one of my perltidy annoyances (it says something about the greatness of a tool that I keep using it even though there are some annoyances...). <br> I have these<nobr> <wbr></nobr>.perltidyrc settings:<blockquote><div><p> <tt>--indent-columns=4<br>--cuddled-else<br>--nooutdent-long-quotes<br>--paren-tightness=<nobr>2<wbr></nobr> <br>--brace-tightness=2<br>--square-bracket-tightness=2</tt></p></div> </blockquote><p>And I have this code:</p><blockquote><div><p> <tt>Some::Class-&gt;create(<br>&nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; foo =&gt; 3,<br>&nbsp; &nbsp; &nbsp; &nbsp; bar =&gt; 2,<br>&nbsp; &nbsp; &nbsp; &nbsp; baz =&gt; 1,<br>&nbsp; &nbsp; }<br>);</tt></p></div> </blockquote><p>Now I want those opening and closing tokens to be closer together and not waste so much vertical space. So I added this:</p><blockquote><div><p> <tt>--stack-opening-tokens<br>--stack-closing-tokens</tt></p></div> </blockquote><p>Now my code looks like this:</p><blockquote><div><p> <tt>Some::Class-&gt;create({<br>&nbsp; &nbsp; &nbsp; &nbsp; foo =&gt; 3,<br>&nbsp; &nbsp; &nbsp; &nbsp; bar =&gt; 2,<br>&nbsp; &nbsp; &nbsp; &nbsp; baz =&gt; 1,<br>});</tt></p></div> </blockquote><p>Which is fabulous except that the inner args are indented 2 levels (8 spaces) instead of just 1 (4 spaces). So how do I get this?</p><blockquote><div><p> <tt>Some::Class-&gt;create({<br>&nbsp; &nbsp; foo =&gt; 3,<br>&nbsp; &nbsp; bar =&gt; 2,<br>&nbsp; &nbsp; baz =&gt; 1,<br>});</tt></p></div> </blockquote> mpeters 2009-06-09T20:37:41+00:00 journal DBD::Oracle's Persistent OCI Environment http://use.perl.org/~Mr.+Muskrat/journal/39080?from=rss <p>Background:<br> We have been writing all of our security related information to<nobr> <wbr></nobr>/var/log/secure. We typically use two database handles in our applications: one for the operator logged in and one for administrative purposes. The operator has just enough privileges to do what he or she needs to do in the application. We recently upgraded to Red Hat Enterprise Linux 5.3 64-bit, Oracle 11 Standard 64-bit, DBI 1.607 and DBD::Oracle 1.22 and everything was happy.</p><p>About a week ago we started putting that info into the database as well and everything was running wonderfully. That is until someone mistyped his or her password -- then we started seeing odd behaviors. It started out looking like a return was failing to return and instead crashing the app. One person was working through our code looking for something that had changed and added a cluck before the return in an attempt to shed some light on the situation. The app mysteriously made it further along but started crashing with a OCIHandleAlloc failure.</p><p>I found some information on the web that indicated that we might be falling back on 32-bit libraries. Our LD_LIBRARY_PATH environment variable turned out to indeed be pointing to 32-bit libraries so I fixed it. The problem persisted.</p><p>I saw that were newer versions of DBI (1.608) and DBD::Oracle (1.23). The DBI install went off without a problem. DBD::Oracle 1.23 was failing LOB tests (a known issue without a resolution) so I kept it at 1.22. The problem persisted.</p><p>Next I enabled trace level 1. I logged in using a valid username but an invalid password. That is when I saw that, while we were using two database handles, DBI/DBD::Oracle was refusing to accept the good admin connection as good after the bad connection attempt was made.</p><p>Then another coworker pointed out that by default, DBD::Oracle reuses the OCI environment for subsequent connections. Usually this is a good thing but it was causing us problems. Fortunately, the solution was as simple as adding <tt>ora_envph =&gt; 0</tt> to our connection options. I also removed that cluck and it remained fixed.</p> Mr. Muskrat 2009-06-05T15:36:57+00:00 journal My Other Blog http://use.perl.org/~Mr.+Muskrat/journal/39020?from=rss <p>Many are leaving use.perl.org but I am not (yet any way). I do not post very often so the interface, while annoying at times, is not enough to drive me mad.</p><p>Instead I am just letting everyone know that I am working towards a Bachelor of Science in Photography through the <a href="http://aionline.edu/">Art Institute of Pittsburgh - Online Division</a>. I started a new blog a week or so ago: <a href="http://onlinestudentofphotography.blogspot.com/">Online Student of Photography</a>. "Wow, what a boring name for a blog." I know but it was the best I could come up with at the time.</p><p>I hate writing assignments with a passion but for some reason blogging is therapeutic.</p> Mr. Muskrat 2009-05-22T11:52:43+00:00 journal CPAN Modules Moved to github http://use.perl.org/~CromeDome/journal/38977?from=rss <p>Like so many others before me, I have moved my CPAN modules over to github.</p><p>With that being said, I would avoid using CGI::Application::Plugin::CAPTCHA at this time, at least for anything too serious. It's a suitable speed bump, but has a glaring hole you can drive a truck through. I have a fix sitting here from Cees Hek that addresses that issue. Should see a new version sometime in the near future.</p> CromeDome 2009-05-14T03:19:50+00:00 journal SVN Commit Notifications over Growl http://use.perl.org/~CromeDome/journal/38930?from=rss <p>We're primarily a Windows shop. That doesn't have to relegate us to second-class citizens in the software development world, however. We have long used Perl for our web-based products, and development of our Windows client apps has gradually come to incorporate some of the practices and tools that we've grown accustomed to when developing in Perl.</p><p>In the not-so-distant future, we're taking a huge step off of Visual SourceSafe and moving to Subversion. We've long been using Subversion for our web apps, and upcoming developments in Powerbuilder will finally allow us to migrate away from VSS once and for all. We have a comfort level with Subversion, but before we totally take the plunge, we wanted to find ways to get more out of our version control software. Enter Growl.</p><p>Those of you who have used Growl on OS/X, you might not be aware that a <a href="http://www.growlforwindows.com/gfw/">Windows port</a> is also available. It's kinda rough around the edges, but for the most part is pretty stable and handy. We wanted to use Growl to notify developers of recent commits to the source tree. Some of you might already do this, or something more robust, but it's something we recently implemented, and it's been tremendously useful. I find that developers are more informed as to what other people are up to, and gives people a gentle reminder to update their sandbox every now and again<nobr> <wbr></nobr>;-)</p><p>To get started, make sure you have a Subversion server in place. If you are hosting repositories on a Windows server, I highly recommend <a href="http://www.visualsvn.com/server/">VisualSVN Server</a>. It has a nice MMC snap-in, and is easy for anyone with Windows experience to administrate. Install Growl for Windows on the same box - you're going to need it to communicate with your developers. When configuring Growl, make sure to enable "Allow Network Notifications" and "Allow Clients to Subscribe to Notifications". You will also have to add a password - network Growl (at least on Windows) will not work without one.</p><p>Create a sandbox on your Subversion server. The post-commit hooks will need one to operate on. You can <a href="http://www.devnetinc.com/crome/post-commit.zip">use our post-commit hook scripts</a> as a starting point.</p><p>post-commit.bat is what is actually run by Subversion. It executes post-commit-run.bat and logs the output (I can't take credit for this - I got the idea from <a href="http://blog.pengoworks.com/index.cfm/2008/2/5/Debugging-Subversion-Repository-Hooks-in-Windows">Dan G. Switzer's blog</a>). If something bad happens, this log is the only way you're going to see what it is.</p><p>post-commit-run.bat does a couple of things for us. It updates the copy of the sandbox on the Subversion server, then captures the log entry of the last commit. It then executes some Perl that broadcasts that log message over Growl. The first time you use this batch file, make sure you specify the user name and password of a Subversion user on the svn calls to give Subversion an opportunity to cache credentials. I haven't found another way of accomplishing this (and I am open to suggestions here!). Once the hook is run, you can remove them from the batch file.</p><p>To make Subversion cache credentials on Windows, add the following registry entries through regedit:<code><br>[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auth]<br>"store-passwords"="yes"<br></code><br>(taken from the <a href="http://svnbook.red-bean.com/en/1.4/svn.advanced.confarea.html">online Subversion book</a>)</p><p>As for the Perl program, it simply uses GNTP::Growl to broadcast the latest log message over Growl. I do not think that Growl on Mac currently supports GNTP, but think there is plans for such in the hopper.</p><p>Each developer that is receiving notifications will need Growl installed. On the Network tab, they should create a subscription to the Subversion server machine.</p><p>This isn't elegant, but it has worked pretty well for us.</p><p>Good luck! Hope you find this useful!</p> CromeDome 2009-05-06T16:25:35+00:00 journal Elsewhere, Iron Man http://use.perl.org/~nothingmuch/journal/38912?from=rss <p><a href="http://blog.woobling.org/">http://blog.woobling.org/</a></p> nothingmuch 2009-05-02T17:34:52+00:00 journal Do you order your sub definitions? http://use.perl.org/~perrin/journal/38892?from=rss <p>Just curious. I usually try to arrange them so that most calls to other subs in the same file are forward references and the internal subs are defined close to where they are called most prominently. Does anyone else think about this?</p> perrin 2009-04-29T21:11:13+00:00 journal