Ron Savage's Journal Ron Savage's use Perl Journal 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-25T01:58:25+00:00 pudge Technology hourly 1 1970-01-01T00:00+00:00 Ron Savage's Journal Comments re The Modern Perl book <p>Hi Folks</p><p>OK, so and Moveable Type have disabled my password for the 3rd time. I get the hint. I won't be back (there).</p><p>And no, I didn't forget it. I keep it in an encrypted file along with all the other passwords I've collected...</p><p>For the record, in the past I pretended I'd lost my password, and re-registered, but I'm sick of doing that.</p><p>As for the book, I have some comments, hoping chromatic stumbles across them<nobr> <wbr></nobr>:-):</p><p>1) Chapter 7: 'grovel': I don't think that's the correct usage of that word. Try 'fossick'.</p><p>2) Chapter 9: 'Alternately, use Moose and don't worry about the details' - under DOES(). Hmmmm.</p><p>This statement is far too brief. I think it should spell out exactly what a programmer needs to do in this situation when using Moose.</p><p>Cheers</p> Ron Savage 2010-08-14T00:58:29+00:00 journal App::Office::CMS - A Canny, Microlight and Simple CMS <p>Hi Folks</p><p>It's slow work, but I <i>am</i> making progress on App::Office::CMS.</p><p>It's based on CGI::Application and friends, to help sustain the microlight claim.</p><p>Which Javascript library, I hear you all cry!</p><p>YUI. You should have guessed.</p><p>Only a few weeks now...</p><p>Cheers<br>Ron</p> Ron Savage 2010-08-03T08:15:12+00:00 journal The Environment under 5 web servers <p>Hi Folks</p><p>A comparison of env vars provided by 5 web servers is available <a href="">here</a>.</p> Ron Savage 2010-06-21T03:53:44+00:00 journal Repost: Berkeley ICSI Internet/ISP connexion survey <p>Hi Folks</p><p>Don't you just hate that?</p><p>After posting this the first time, I posted another article soon after, and due to a design fault on's home page, only the last shows up, under 'Recent Journals'.</p><p>I emailed pudge about it, so perhaps something will happen...</p><p><a href="">The Survey (requires Java)</a></p><p><a href="">New Scientist's explanation</a></p> Ron Savage 2010-06-05T06:46:43+00:00 journal Volunteering thru <p>When I'm between contracts, I do some volunteer work thru<br><a href="">goodcompany</a>, where small community groups post requests ('wishes') for people ('angels') to help ('grant the wish').</p><p>I only respond to Web/IT requests, but there are a range of categories into which requests can be put.</p><p>In Australia, there are between 600,000 and 700,000 such community groups, and many share the same sorts of problems, e.g. managing lists of contacts and donors.</p><p>So, I thought I'd report of on a few projects I've helped with, most of which are for charities:</p><p>o The East West Overseas Aid Foundation</p><p>They donate money to India for property and school classes, for example.</p><p>At first, I just helped with their list of contacts. But I'd seen a number of groups struggling with Excel for this, and ended up writing App::Office::Contacts and *::Donations, although they're not yet ready to use my code.</p><p>Now, we're working on bringing their web site up-to-date.</p><p>It'd be nice if there was a very-light-weight CMS in Perl we could host of a VPS.</p><p>On CPAN I found Miril, but sometimes it used MS-DOS slashes, (in config files) and I didn't feel like debugging it. And I've have to redesign the interface, to start with.</p><p>o Association for Children with a Disablity</p><p>I met a senior manager, who quickly got serious, making a small but revealing derogatory comment about my clothes!</p><p>We had a long talk anyway. She'd been quoted $16,000 by a local MS-oriented computer shop to do this project.</p><p>I offered to do it for %10 of that, or even for free. But no, a couple of weeks later she emailed saying my help wasn't wanted. Very strange.</p><p>o Windermere Child and Family Services</p><p>This was my first project thru goodcompany.</p><p>This charity had bought an Australian donation manager program - imaginatively called DonMan -, but had never used it.</p><p>So I wrote a bit of Perl to reformat several Excel spreadsheets into a CSV file acceptable to DonMan, and that was it.</p><p>o Court Network</p><p>This is the latest project. Attending court can be a bewildering experience for people who are most likely going to court due to some disaster in their lives anyway.</p><p>So, Court Network has a stable of about 450 volunteers who accompany the court user thru the process, both here in (the state of) Victoria, and in Queensland.</p><p>They had a paper-based system of matching up court users with volunteers, so I've written a classic web app to replace that.</p><p>When it goes live, the public will be able to submit details themselves, rather than go thru Court Network's office staff.</p><p>And the latter have extra features (Search, Update, Reports).</p><p>They're a non-technical group (a common situation), and so far haven't been able to tell me who hosts their web site (some other volunteer process), so we still have to deal with getting CGI and database features working.</p><p>And my contact there is going to get DreamWeaver training, so at least I won't be dealing with web site content.</p><p>o Life's Little Treasures Inc</p><p>This is a support group for women who've had premature babies.</p><p>Indeed, some premmies are still in hospital a year after birth, so their problems must be major.</p><p>In the end, this group chose Joomla, since they wanted to expand their on-line forum network's power, now that they're handing out brochures to all mums with new-borns, in some hospitals, not just to mums with premmies.</p><p>News flash: I checked their outstanding wish, and they're now asking for a WordPress export. I guess they just couldn't find a volunteer to help with Joomla. Or perhaps the Joomla side of things has been sorted out.</p><p>I'm thinking of getting East West (above) off TYPO3 and onto WordPress, but that's a coincidence (perhaps).</p><p>o Australian Karen Foundation</p><p>The Karen are an ethnic group in Myanmar, who are being genetically exterminated by the psychopaths who run Myanmar.</p><p>Some Karen have fled into a refugee camp in Thailand, where the Thai government gives them some support, and has just a few weeks ago even connected them to the internet, albeit only a couple of hours a day (I think).</p><p>Someone from a town near the camp visits occasionally to repair their PCs. They have about 10 machines, most of which work most of the time. The machines run MS Windows, but are not networked.</p><p>The A. Karen Foundation collects 2nd hand laptops from Australian companies and someone carries them over to Thailand once a year or so.</p><p>I've been collecting info on freeware directories, and on universities where free courses on learning English, maths, etc, can be downloaded.</p><p>I put the info into a <a href="">TiddlyWiki</a> - a brilliant 1-page-wiki manager.</p><p>o Lastly, Cottage by the Sea</p><p>This is a holiday/respite home for children, on the other side of Port Phillip Bay from where I live.</p><p>They are 120 years old this year, and are very slowly digitising their records (photos, annual reports, list of children who've attended).</p><p>I've offered to design a database to hold these records, and to write a search engine for people researching the historical record.</p><p>We'll see what happens.</p><p>o Summary</p><p>I've skipped a few places where I went and just had one meeting.</p><p>Nevertheless, you can see there is no way of predicting what sort of work comes up, or what it will entail, exactly.</p> Ron Savage 2010-06-03T01:16:10+00:00 journal Berkeley ICSI Internet/ISP connexion survey <p>Hi Folks</p><p><a href="">The Survey (requires Java)</a></p><p><a href="">New Scientist's explanation</a></p> Ron Savage 2010-06-02T23:08:50+00:00 journal Objects are servers rather than experts <p>Hi Folks</p><p>This is a reply to Ovid's post<br><a href="">Objects are experts</a>.</p><p>Over the weekend I was blocked from logging in to blogs... with both my usual u/p and my OpenID. I looked a bug report re that.</p><p>Anyway, here's what I wrote:</p><p>Hi Ovid</p><p>Sigh, I remember the good old days when I could sign in to No matter.</p><p>Many years ago I programmed in Snap, which is object-oriented Prolog, and that was very interesting...</p><p>But as for calling object 'experts', I disagree, although I support the thrust of your argument.</p><p>I call them 'servers', and the class is just the server factory.</p><p>The point of 'server' is that an object provides services in exactly the same way a classic server, e.g. web server, does.</p><p>And yes, we don't want to meddle with the internals of the 'server', we just want it to work, as you say.</p><p>I guess we can agree that 'expert' is more human-oriented terminology, whereas 'server' is more emphasizing the mechanistic side of things.</p><p>Cheers<br>Ron Savage</p> Ron Savage 2010-05-24T23:14:07+00:00 journal Unable to sign in to <p>Hi Folks</p><p>OK - what's the secret.</p><p>I tried to sign in to, using:<br>o My id - No go<br>o My CPAN is - No go<br>o A new user registration - No go</p><p>In the last case, it rejected about 8 different passwords I invented on the spot.</p><p>Suggestions?</p> Ron Savage 2010-04-05T00:26:11+00:00 journal Session Management with Plack <p>Hi Folks</p><p><a href="">A Gentle Introduction to Plack Sessions</a>.</p> Ron Savage 2010-03-30T05:19:03+00:00 journal Go on, install Debian. You know you want to... <p>Hi Folks</p><p>I've created a page for my <a href="">Debian TiddlyWiki</a>, which I've built up since switching to Debian.</p><p>The skeleton *.deb file linked to on that page is discussed in the TiddlyWiki.</p><p>A <a href="">TiddlyWiki</a> is a 1-page wiki with a built-in editor.</p><p>Download an empty TiddlyWiki from <a href="">this page</a>.</p><p>Lastly, a warning: Avoid Google's chrome browser (yes, I know it's damn fast) until you've understood the implications of <a href="">these notes</a>.</p><p>Basically, chrome 'rectifies' your HTML by upper-casing it, so the TiddlyWiki's editor stops working.</p> Ron Savage 2010-03-10T23:42:56+00:00 journal For CGI::Application users interested in Plack <p>Hi Folks</p><p>Get it while it's hot (and Plack is certainly hot):<br><a href="">Gentle into to Plack.</a></p> Ron Savage 2010-03-03T04:06:53+00:00 journal Just gotta laugh: Bug in perlbug <p>Hi Folks.</p><p>OK. So I've installed almost every one of my modules, to check each Build.PL is up-to-date.</p><p>Now I can process every Build.PL and send thanx to the authors whose modules I use, using perlthanks, a version of perlbug.</p><p>But it hangs. I'm running it in test mode, i.e. outputting the 'mail' to a file, before doing anything silly like sending real, live, email. And this is from within a script, using `perl...`.</p><p>Turns out that when you use perthanks (I did not try perlbug - but see below), and you use test mode (-F), and you specify the body on the command line (-b), it ignores the -b and stops to ask you for the path to your editor, so you can enter a body! Grrr.</p><p>OK. So I write the body to a file, and use -f to feed it back in. It works!</p><p>Off go 159 emails. Let me know if you received yours.</p><p>Now to file a bug report on perlthanks. But the program 'knows' perlthanks is not a core module, so recommends trying to log a bug report via RT.</p><p>But on RT a search for perlbug fails.</p><p>Ah well, like perlthanks itself, it's the thought that counts.</p><p>I could have said something like 'CPAN Rules!', but of course you knew that.</p> Ron Savage 2010-02-13T23:28:34+00:00 journal CGI::Office::* renamed App::Office::* <p>Hi</p><p>After an exchange of emails with Matt "The Enforcer" Trout<nobr> <wbr></nobr>:-) when I tried to register the namespace CGI::Office, I've accepted his suggestion that the App::* prefix is more suitable. Note: App::Web is already taken.</p><p>If you're looked at CGI::Office::*, there are some things to be aware of:</p><p>o The namespace prefix has changed (obviously).</p><p>o The directory names have changed, for CSS and HTML template files, from<nobr> <wbr></nobr>.../cgi/... to<nobr> <wbr></nobr>.../app/...</p><p>o The contents of the config files have changed, where they contain the directory names in the last point.</p> Ron Savage 2010-02-02T21:49:44+00:00 journal Triplets for New Year's Day: CGI::Office::Contacts etc <p>Hi</p><p>Yes, folks, it's finally happened:</p><p>CGI::Office::Contacts, CGI::Office::Contacts::Import::vCards, and CGI::Office::Donations have been uploaded to CPAN.</p> Ron Savage 2010-01-01T03:50:51+00:00 journal Drum roll! Trumpets!! I give you: CGI::Office::Contacts!!! <p>Hi Folks</p><p>Well, not today, but in a few days I'll release:</p><p>o CGI::Office::Contacts<br>o CGI::Office::Contacts::Import::vCards</p><p>and shortly thereafter:</p><p>o CGI::Office::Contacts::Donations</p> Ron Savage 2009-12-23T21:31:15+00:00 journal Perl@Work#3: Managing Network Routers <p>Hi Folks</p><p></p> Ron Savage 2009-10-22T05:15:45+00:00 journal Perl@Work#2: Graphics at BHP <p>Hi Folks</p><p></p> Ron Savage 2009-10-18T02:52:47+00:00 journal Perl@Work#1: Take 3 <p>Hi Folks</p><p>Sigh. After proof-reading 'take 2' several times, and posting it, it has vanished [1], so now it's 'take 3':</p><p></p><p>Thanx to daxim for valuable comments on omitting any discussion of the http method names. I've put a new section in the doc, near the front, spelling out what I intend the doc to cover.</p><p>And thanx for Aristotle for valuable comments on the phrase RESTful urls. I've wiped out all trace of that phrase, which means even the disk file name has changed.</p><p>[1] I should have expected that, since it almost always happens at weekends, although you'd like it to not happen at all...</p> Ron Savage 2009-10-12T21:50:44+00:00 journal Perl@Work#1 - RESTful URLs, the path info, and code paths <p>Hi Folks</p><p>Well, no word from Perlsphere, so here's the first in the series:</p><p>Perl@Work#1:</p><p>I've written 420 lines (incl blanks) on the second article, but there's a way to go yet...</p> Ron Savage 2009-10-09T04:43:53+00:00 journal Foreshadowing a series of blogs: Perl@Work <p>Hi Folks</p><p>After a few detours, I'm slowly building the free time to start blogging on what I've been doing with Perl over the last few years.</p><p>I'm going to call my series 'Perl@Work'.</p><p>I've almost finished the first article, and have 3 more in mind. These stories are all utterly different from each other, which is one thing about programming I find fascinating.</p><p>My first plan for publishing was to go to the Perl Foundation's web site [1] and search for 'advocacy'. I expected to find a place to submit stories, but couldn't see anything.</p><p>Then I tried their wiki [2]. Probably the section 'Who uses Perl?' would be the place to put a link to my stories.</p><p>But the question remains: Where to blog?</p><p>Like many, I'm not happy with, although I do appreciate the effort that's gone into it over the years.</p><p>I like the look of Perlsphere [3] so that's where I'm headed, if they'll have me<nobr> <wbr></nobr>:-).</p><p>If not, I'll be back soon.</p><p>[1]<br>[2]<br>[3]</p> Ron Savage 2009-10-02T23:38:03+00:00 journal The Difficulties of Copyright <p>Hi Folks</p><p>Via Perlsphere [1] and a Perlbuzz [2] roundup [3] I see the Perl Foundation [4] has guidelines for copyright notices [5].</p><p>All well and good, in an area many of us are uneasy or unclear about.</p><p>But there's a problem: In Australia, and I'll bet other countries, the token (C) is not a copyright symbol, because to have legal status the ring has to completely enclose the C.</p><p>I mention this so that people don't think that something like:</p><p>This note is Copyright (C) 2009, Ron Savage.</p><p>means this note is copyrighted by me. It doesn't mean that, so it isn't.</p><p>And yes, the intention is clear, but hey, guess what a lawyer would do with that...</p><p>[1]</p><p>[2]</p><p>[3]</p><p>[4]</p><p>[5]</p> Ron Savage 2009-09-02T22:56:40+00:00 journal Parde V 0.41 - A Comment <p>Hi</p><p>The reason I'm using V 0.41 is that I use the MSWin installer.</p><p>1) It's possible to get Padre into an infinite loop, like this:<br>With a file open in Padre, go to the command line and delete the file.<br>Padre correctly notices the change, and asks to Reload or Not. If you click Not, it keeps popping up this msg box for ever.</p><p>2) The Ctl-Q to Quit is brutally abrupt. I'd like it to be either ask for confirmation, or to be (say) Ctl-Q Ctl-Q.<br>This is not related to having open files, when of course it should ask for confirmation.</p><p>3) When I try to open another file, I'd like it to default to the same directory as the 'current' file. I expect and get this with other editors, and indeed, if I wish to open a specific file, I choose an already-opened file, in the same dir as the one I want, to be the current file, so as to trigger this behaviour. That'd be great. TIA!</p><p>Still, it's very promising. I look forward to the next version.</p> Ron Savage 2009-08-26T23:47:07+00:00 journal Modern Perl Books - A Comment <p>Hi</p><p>I find the articles on Modern Perl Books [1] a marvellous read.</p><p>OTOH, searching their site with a key of local::lib produces the classic:</p><p>Internal Server Error...</p><p>Errr, patches welcome!</p><p>[1]</p> Ron Savage 2009-08-26T23:31:20+00:00 journal On First Looking in to Padre <p>Hi Folks</p><p>OK. Padre V 0.41 is looking good. No surprise there.</p><p>Here are a few nits I'd like to see fixed:</p><p>o The About box beeps, and it's unpleasant. No other app I know does that</p><p>o The Doc stats box beeps, too</p><p>o A save should create a *.bak file</p><p>o A Close [x] on the top right of the output, dir tree, etc windows</p><p>o A visual indicator that a script is running</p><p>o Interpretation of '&gt;' and '|' on the command line when a script or command is run</p><p>o Interpretation of \n (e.g.) when I do a regexp replace. It seems the regexp option only applies to the search string, not the replace string</p><p>o An option/button to clear the output window</p><p>o Correct interpretation of indent = 4 and use tabs. This appears to work for a new file, but I saved the options and reloaded Padre to test, but loading a pre-existing file with tabs as the first char on some lines, had them displayed with 8 spaces</p><p>o An icon, e.g. binoculars, to save having to use the menu to open a search window</p><p>Despite these small points, I definitely like Padre. Well done!</p><p>I look forward to it having a major impact on Perl's visibility.</p><p>Cheers<br>Ron</p> Ron Savage 2009-08-05T08:56:20+00:00 journal Business::AU::Ledger V 0.82 is now in CPAN <p>Hi</p><p>Yes, folks, I've reconsidered.</p><p>The installation instructions and todo-list are in the POD.</p><p>And no, I do not regard this version as production-ready, even though it does, AFAICT, reliably store and retrieve payment and receipt transactions.</p><p>It does not handle reconciliation transactions at all.</p> Ron Savage 2009-04-19T03:51:40+00:00 journal Business::AU::Ledger progress is slowing down <p>Hi Folks</p><p>I've just upgraded YUI [1] from V 2.6.0 to V 2.7.0, and their JSON parser is now throwing errors in code which used to work<nobr> <wbr></nobr>:-(.</p><p>I'm don't quite know what to do next, since I would rather not downgrade YUI, but even that's under consideration.</p><p>And no, Business::AU::Ledger is not yet on CPAN.</p><p>It will be one day, and - yeah! - has a web interface.</p><p>It's designed to replace the only MS Windows program I still use, a free accounting package from the ATO (Australian Tax Office [2]) called eRecord [3].</p><p>Teaching C# means I have that installed (both my desktop and laptop are dual-boot machines, in that they run as OS called Debian and something else called Win2FK [desktop] and WinXFP [laptop]).</p><p>But I don't<nobr> <wbr></nobr>/use/ C#.</p><p>My module lacks things like handling split cheques, and reconciliation, and a few small details, but is almost usable...</p><p>[1]</p><p>[2]</p><p>[3]</p> Ron Savage 2009-04-12T03:42:16+00:00 journal $search_engine = $CGI::Application + $AJAX + $JSON; <p>Hi Folks</p><p>CGI::Application::Demo::Ajax V 1.01 is now on CPAN.</p><p>It gives you a search engine using CGI::Application and AJAX via YUI [1] and JSON via JSON.XS.</p><p>Just plug in your own database and away you go!</p><p>[1]</p> Ron Savage 2009-04-12T03:29:10+00:00 journal Any XML mod use stand-alone tree mod such as Tree::Simple? <p>Hi Folks</p><p>Seems to me many XML parsers talk about tree structures, but so far I have not been able to find one which uses a stand-alone tree module such as Tree::Simple.</p><p>Does anyone know of such a beast?</p><p>TIA.</p> Ron Savage 2009-03-21T09:27:09+00:00 journal HTML::Parser::Simple is now on github <p>Hi Folks</p><p>See git://</p><p>See the POD for details.</p> Ron Savage 2009-03-02T06:24:06+00:00 journal Class::Sniff needed for C# <p>Hi Folks</p><p>I've just started teaching (sic<nobr> <wbr></nobr>:-) C# and I see methods can have the attribute 'partial', meaning the current file contains a partial implementation of the method, with the rest of the source for the same method in another file or files.</p><p>Am I the only one to think this could be a source of confusion for people who've never programmed before?</p><p>And as for order of execution of the bits and pieces, the text is so far silent on that matter. Perhaps it doesn't matter!?</p> Ron Savage 2009-02-26T22:45:25+00:00 journal