Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

jarich (4909)

  (email not shown publicly)
AOL IM: ManningBear (Add Buddy, Send Message)

I run Perl Training Australia [] with pjf [] and do a lot of the course writing and maintenance. I also organise the courses we run, so if you want one, just ask. I hang around a bit on Perlmonks [] and also help run Melbourne Perl Mongers [].

Journal of jarich (4909)

Saturday December 09, 2006
07:08 AM

OSDC is over

Another OSDC is over and I'm exhausted. We did well this year. I believe registrations were about 185 when we closed them, but we got another 10 or so "walk-ins". Considering that we didn't advertise "walk-ins" (we only decided upon them late Tuesday afternoon) I think that that's pretty amazing. My job was publicity, so I can feel confident that I did it well. (For reference, previous years counts were: 153 for 2004 and 141 for 2005).

From an administrative point of view, there were a number of obvious (in retrospect) mistakes, but nothing we couldn't recover from. Examples include small things such as difficulties with printing name tags and not giving ourselves enough time to bump in.

Feedback has been overwhelmingly positive. It seems that everyone was happy with the mix of talks and speakers. There were some (valid) complaints about the catering, but most people understood that we were unhappy about it too and that we did our best to fix it.

The committee members did a fantastic job in making it all happen, and I'm hoping that my colleagues get a good chance this weekend to recover. Particular thanks go to:

  • Amanda Penrose for her beautiful artwork and for keeping the website up to date. Amanda also took the meeting minutes, organised and ran the tutorials, designed and arranged printing for the postcards, likewise for the t-shirts and bags, chaired rooms and did a fair bit of the registration desk management. In her free time she also helped out in the other roles as necessary.
  • Richard Jones for his excellent management of proposals, papers and the proceedings. Richard worked with the speakers to keep them informed of what was going on, found replacement talks at short notice when speakers pulled out, created the programme and made it all happen. In addition Richard also provided technical assistance with the CGPublisher software, managed registrations and organised the room helpers each day as well as the lightning talks. Furthermore, Richard also helped with the publicity by reaching out to Australia's python users.
  • Debbie Picket for her superb handling of all things facility. Despite all sorts of obstacles coming up with unfortunate timing, Debbie got us our conference rooms, arranged the catering, yelled at the caterers when they got things wrong, organised the registration desk helpers, procured a coffee machine so attendees had "real coffee" (or hot chocolate) and provided technical assistance in the lecture theaters. Debbie also helped with the publicity by using her university contacts.
  • Zoran Radicic did a fine job as sponsorship manager. He created by far the best sponsorship materials we've ever had. Unfortunately for us, he had to head overseas for the middle of the year and didn't end up with as good an internet connection as he'd hoped. Nevertheless, on his return he worked hard to put it all to rights. For someone who is both new to the area of sponsorship and conference management, I think he did well. Zoran spent most of the conference helping out on the registration desk and running small errands.
  • Ben Balbo did a great job as treasurer and was always prompt to answer questions regarding budget or whether registrants had paid. He helped with publicity by contacting the Australian and international PHP communities. Unfortunately Ben did his work and then headed overseas in November thus missing the conference.
  • Scott Penrose was the committee president. He has presided over yet another (his third) fantastic conference. This year Scott managed all the keynotes (and even found time to contribute one). He also arranged the monthly meetings, moderated the committee mailing list, managed the mail and web servers, kept an eye on tasks progress, helped with sponsorship while Zoran was overseas, co-managed the bank account with Ben, took on many of the small tasks (like contact person X about Y), purchased most of the sundries, collected and transported all of the materials, created and printed the signs, name badges and feedback forms. Scott also helped the publicity by sending through messages to the OSDC announce list, OSDClub announce list, LUV programmers' SIG and the Perl groups list. During the conference Scott was in all places at once doing all things which needed it.

It was great to work with such a group of talented and dedicated professionals.

Monday August 07, 2006
01:50 AM

Good and bad leadership

Some people are great at leadership. They manage everything that comes their way. They keep track of all the important stuff, such as what team members are working on (in general terms). If people seem to disappear for a bit, they get in contact and give them a gentle nudge back into work. If others need to temporarily put down their responsibilities for any reason; these good leaders step in and either take their tasks on, or find someone else who can. If new tasks appear, good leaders delegate; or arrange new recruits. Good leaders might not actually do any particular task; but they take responsibility for the whole, and make sure the project runs as close to schedule as possible.

Good leaders are worth their weight in gold, so to speak.

Then there are the bad leaders. Who are much more interesting to study, unless you're working for them or with them.

There are all sorts of reasons why someone might be a bad leader. Perhaps they were forced into a leadership role when they'd rather just be a worker. Perhaps they chose the position for the glory perks. Perhaps they usually are a good leader who has taken on too many tasks, and has lowered the priority of this project. Knowing the "how" can help you push a mediocre leader towards becoming a good leader (if you're very lucky, and good with people). What makes someone a bad leader can vary as well. Perhaps they micro-manage too much, until noone tells them anything. Or maybe they don't pay any attention to what others are doing (failing to lead at all) until some catastrophe happens. Perhaps they just assume that everyone will take care of their own problems.

Good leaders often inspire loyalty and commitment. In return they reward their followers with recognition, praise and glory. Bad leaders inspire discontent and apathy even when they share the glory. Good leaders remember to reward and thank the helpers behind the scenes, bad leaders might only reward those they liked.

Good leaders are fun to work with. Bad leaders are people you want to flee from. Both can be found in all types of leadership roles. Open source project leads, school principals, bosses...

The really hard bit is if you are a generally good leader, trying to follow a bad one. Particularly when the position is voluntary one and the only reward is knowing you did a job well. Such a position leaves you with only a handful of options:

  • Quit the project -- and hope it survives without you. If you don't really care about it, this one is a good option. On the other hand if you joined because you wanted to see a successful conclusion, then this might not be sensible.
  • Step up and lead from the side-lines. If your manager is a control freak, this probably won't work. If they aren't, then this tends to work quite well. Unfortunately you typically then have to do both your assigned task and the leadership tasks. Further, you rarely get the glory at the end. Good option if you really value seeing the project reach a successful conclusion and have the time to spare.
  • Overthrow the current leadership. If it's a long running project this will probably be better for your health than leading from the side-lines. However, it may involve political nastiness, and that's not everyone's cup of tea.
  • Deal with it. Become apathetic, or whinge about the leader's suckiness in private. Do exactly what you have to and hope that everyone else does likewise. Works fine and will probably have successful project outcomes as long as there aren't any crises. Should leadership decisions have to be made however, you may need to push extra hard to ensure they happen.
  • Try to improve the leader. I'm sure this is possible, and it would be the ideal solution, but in all the cases I've experienced (my own, friends' and family's) I haven't seen this work.

In the past I've tried leading from the side-lines. It's worked extremely well for the project, but no so well for my health. Running a business, and working almost full time on other volunteer projects tends to take its toll on my sleep, relationships and general happiness.

Recently I decided to try the option of "dealing with it". The project I'm thinking of includes many clueful people. They have relevant experience, the leader has done it all before. Unfortunately that hasn't made it easier. Even with experience, bad leaders still stuck.

Feel free to add your stories below.

Monday June 19, 2006
10:11 PM

"He" is not gender neutral.

I don't view myself as a radical feminist. I rarely even think of myself as a feminist. But I guess I must be. I certainly have strong views about women in IT (we need more) and about the male attitudes towards us (they need to think more).

It's astounding, sometimes, how even the most women-friendly men can write women-unfriendly stuff without thinking about it. Consider the following two snippets:

So I'm wondering if anyone with die - eval experience would like to step up and share his views on how those two paradigms compare, in a form of an engaging talk.


This may not please your manager, as he may also believe that what you want is the lowest price, and so on.

Why does someone have to be male to give a talk at a Perl Mongers meeting on die and eval? Why is a manager automatically considered to be male?

When I object to this kind of writing I get responses which tell me that of course the author didn't mean to exclude the possibility of women in those roles. That "he/she" or "they" are ugly work-arounds. And the fact is that I agree. I don't believe the author intended anything, I agree that working around language is a pest.

But even so, it bothers me. Because there is a (usually unintential) message there all the same, and it does say "Women don't speak at user group meetings" or "Women aren't managers". And even if I try not to listen I'm innudated with these messages every day. These messages (commercials, TV shows, billboards, books...) say it's the woman's job to clean the house, do the washing, iron the clothes, look after the kids. On the other hand, it's the man's role to work late at the office, play golf with friends, participate in sports, be intelligent, know how to fix computers...

There are enough messages out there discouraging women from being involved in IT at all. It's not a field where gender doesn't matter. Gender matters a lot. Which is why many women experience a lot of unwanted attention whenever they turn up to user groups or install-fests. But the whole thing would be just that much easier for us if people thought about how they wrote and tried a little harder to avoid being gender exclusionary.

Tuesday February 21, 2006
08:53 PM

Lucky country, but not the smart country

To join ranks with at least 15 other Australians, whose names have been splashed across the papers in the last year or so, is another woman: Barbara Kathleen Higgs. Higgs has been arrested with a small amount of marijuana at the resort beach of Sengiggi, Indonesia. She faces a possible 10 year sentence.

Now Higgs' case is different than most of the ones we've been hearing about recently - who are mostly travellers and holiday-makers. It would appear that Higgs part-owns a hotel in the area. Thus regardless of whether the drugs were for personal use or otherwise, Higgs has even less excuse not to know the local laws.

What amazes me is the wide-eyed innocence that Australians seem to be showing regarding taking drugs through the Asian countries which declare and promote the death penalty for offenses relating to drugs. The Australian government gives out a little booklet with every passport which has big warnings about taking/dealing/buying/using drugs overseas. It states that some of these countries do use the death penalty and where to find out more information. It warns you to get a note from your doctor for any prescribed medication you may need to take with you.

Despite the Australian government occasionally asking for clemency (ie not the death penalty), it has been made quite clear that they don't intend to bail offenders out of trouble with these other governments. Frankly I don't blame them. Asking for special consideration for Australian citizens may mean offering special consideration for their citizens. And if the country should actually agree, then that country risks Australians drug running in force, understanding that the harsh laws to prevent it don't apply to them.

The message should be pretty clear by now. Stay away from drugs while visiting Indonesia, Singapore and all other countries with the death penalty for trafficing. It's probably safe to grow a small patch of hash in Australia, and share it with your friends. You might be fined for it, you could have a minor sentence, but you won't face the death penalty. It's probably okay to buy a couple of tablets of XTC or whatever does it for you at a nightclub in Australia, although don't get left with the whole bag if the cops raid the place. These things are not necessarily okay everywhere else!

Yet it's probably not ignorance. It's probably the belief that "it won't happen to me, I won't get caught". Even so, a smart person ought to be doing all they can to "play it safe" right now. Have a look at what's happened to the ones who were unlucky enough to get caught and remember that not all countries treat prisoners as well as Australia does.


- Arrested December 2002 for possession 396.2 grams of heroin in Singapore. Executed 2005.


- Arrested October 2004 in Indonesia. Sentenced to 20 years' jail for allegedly possessing 4.1 kilograms of marijuana. Could have faced the death penalty.


- The 27-year-old Darwin man was jailed for eight months in February 2005 for allegedly possessing four ecstasy pills on the island of Batam, Indonesia. Could have faced six years' jail.


- Arrested April 2005 Indonesia. Renae Lawrence, 27, Martin Stephens, 29, Scott Rush, 19, Michael Czugaj, 19, Andrew Chan, 21, Matthew James Norman, 18, Si yi Chen, 20, Tach Duc Thanh Nguyen, 27, and Myuran Sukumaran, 24, accused of smuggling heroin en route to Australia. 2 death sentences (Chan, Sukumaran), life imprisonment for the rest.


- 24-year-old Adelaide model was arrested in Indonesia mid August 2005 with two ecstasy tablets. Sentenced to 3 months.


- The 20-year-old English teacher was allegedly caught mid August 2005 in possession of four syringes and more than 2000 assorted pills on the island of Sumatra, Indonesia. Could face the death sentence if convicted.


- The 42-year-old Adelaide computer expert was convicted mid August 2005 of possessing 1.8 grams of hashish at his home in Bali's hill resort of Ubud, Indonesia. Sentenced five months in jail, but could have faced four years in prison.

Saturday January 28, 2006
02:32 AM

Rant: The driver vs the bicyclist vs the driver

The price of oil has risen worldwide, and as a result so has the price of petrol in Australia. The grumbling that started when prices crept over $1 a litre have quietened now, but I still hear them from time to time and so we should.

At the start, people argued that the Australian government should give us all some relief by reducing the petrol excise. I don't know what it's set at, but the argument that the government should reduce it to take the petrol price back down below a dollar sounded convincing.

I'm all for reducing the petrol excise, even though I don't yet drive. Reducing it means that almost everything can go down in price, from airplane tickets through to bread. Whether it would or not, I'm not certain.

Officially the fuel excise and registration costs go largely into funding new roads and maintenance. Realistically the government doesn't have a "road fund", and will spend what it thinks it can get away with on roads. This might be more than it receives from road users, or it might be less. It might average out, or it might not. It doesn't really matter.

What gets to me is the attitude some drivers display over the whole matter. Bicyclists don't buy petrol and don't pay registration. Thus, cyclists don't fund roads. Since cyclists are getting the roads for free, this makes them second class (or worse) road users. And these drivers want them to know about it.

These might not be the drivers who cut cyclists off because they assume that the cyclist isn't travelling that fast. They might not be the drivers who don't even look for cyclists before pulling out into the traffic. But they are the drivers who take every opportunity to argue about the whole issue on any forum where they get half the opportunity.

It's frustrating because the argument is so stupid. If every cyclist got into a car instead, and paid these extra taxes, everyone would be worse off, not better.

  • Bicycles take up less space, so they reduce the possible congestion. In many cases, bicycles can use off-road tracks even further reducing the on-road traffic.
  • They are cheaper to make with respect to energy expenditure, and pollution and cheaper to run, thus improving the possible air quality.
  • Accidents between cyclists and pedestrians, or cyclists and cyclists don't result in death or even usually require medical assistance. Accidents between cars and any other road user are usually much more serious, and expensive.
  • By getting out on their bicycle many cyclists are avoiding a sedentry lifestyle. Treating the problems caused by a sedentry lifestyle are costing all Australian tax-payers an awful lot of money.

I'm more than aware that there are stupid cyclists out there. Every driver I've ever spoken to can tell me about this one time where a cyclist did this really stupid thing which nearly resulted in a collision. Most drivers can tell me about a few such incidents. What they don't seem to realise is that there are a lot of stupid drivers out there too.

I have stories of dangerous/stupid driving that has put me at risk, for probably one in every three trips I've ever done. I've been in multiple collisions, because I've been travelling at 20km/hour in a nice straight line and the driver who just passed me, turned straight in front of me without pausing. If it were at night, or in other bad conditions, this might be a little excusable. But when it's bright day, and I'm wearing a fluro yellow jacket, and I'm cycling in a sign-posted bicycle lane, it's ridiculous.

I understand that every time I take my bicycle onto a road; I'm taking my life into my hands. I know the same isn't true for some drivers. If it were, the TAC (Traffic Accident Commission) wouldn't spend so much money reminding people that cars are excellent killing devices when you speed, or drive under impairment, or just don't look out for other road users.

Our biggest crime (other than not paying for the use of the road) appears to be our speed. When we tear down the alley of death (between slow moving traffic and parked cars) we're accused of going too fast, or of endangering property (oh no, the car got a scratch!) or of being too hard to see. If we travel in the middle of a lane, then we're too slow, or obstructionary.

I used to think that all drivers should be forced to commute on bike a couple of times a year, just so they understood. Now I agree with a motor-cyclist friend of mine. Maybe cars should be issued with giant spikes on the steering wheels, not airbags. :) I think it'd make drivers pay more attention.

Monday January 23, 2006
02:38 AM

Crufty code

I'm a infrequent reader of, and I know it's true, because I've seen similar code out there.

Some pieces of code, though, are so lanugage specific, that although they deserve to be show-cased on such a site, they're not suitable for that particular one.

Take today's example (from a popular CPAN module, no less):

unless (ref $self) {
    my $class = ref($self) || $self;
    # etc.

Classic code cruft! If ref $self wasn't true a moment ago, it's not suddenly going to become so now!

This is a very mild example of crufty code. I can easily see it happening, yet it's obviously wrong, and still in there!

Another example, from the the same module, is overly complex (identifying details obscured for the time being):

$object->Some::Module::signature([map {join $;, $_->[0], Some::Module::disqualify($_->[1]->{'type'} || '')} @values]) if @values;
return wantarray ? @values : $values[0];

I don't normally go hunting for code to complain about. I've written enough of that, and maintained other people's enough to satisfy any urges I might have in that direction. My hunting today, was to find where, in a very useful, but complex module, things were going wrong. And crufty code (not to mention very few comments) makes it just that little bit harder.

I'm not saying that the last example is bad code, but I do believe it is needlessly complex. I suspect it started out simple, and easy to understand, and then grew into that. Such is how crufty code happens.

Monday December 19, 2005
05:38 AM

Interface design

It appears to me that many API's of in-house projects just happen. Instead of design meetings to discuss what a subroutine should return in each relevant case (success, failure, error), it's instead left to the developer to pick whatever they think is appropriate at the time. Unfortunately the developer can occasionally get it wrong.

Now I admit that it can be hard work to come up with a good interface. I'm certainly not perfect at it myself. Often I go over old code of mine and cringe at the decisions I made. Usually this happens when I realise that had I written it better, I could probably be reusing some of that code for my latest project.

Some bad user interface issues can be worked around. There's the classic case where you fix (and rename) the original and create a wrapper that has the old behaviour. Or alternately, you break up the original so that you now have a handy subroutine which does the small but important bit you'd otherwise have to duplicate.

Some times the bad user interface issues can't be fixed. Perhaps there's a freeze on the API, or too much code depends on things being exactly the way they are (weird side effects and all). Some times there are "political issues" with such changes and other times the issue is with the required review and re-review process.

Fortunately, as I'm discovering, most of the horrible issues with solving interfaces can be happily avoided at the start, with test cases. Surely you'll test for success, failure and error? That will help you define right then and there what should happen in each case. Test cases are great at providing use cases at the function level. And of course at each level above that.

Now I just have to finish reading Ian and chromatic's book and start using them properly.

Thursday December 15, 2005
02:15 AM

Critical thinking and phishing scams

I think most people who are in IT have learned to junk the phishing scams they get every day in their mailboxes.

Hopefully most of those not in IT have also learned (or had their sys-admin implement protective measures). Yet I suspect people are still getting caught out.

I don't think it's a case of stupid people rather one of education. It is possible to go through the entire primary/secondary/(and even) tertiary education systems without learning critical thinking. It's amazing how many people are willing to just believe sentences like that below without asking key questions such as who are they?, when was this done?, do you have a reference for that?.

A study was done concerning the business success of a day's worth of travellers on a particular airline and they found that over 90% of the people who stepped off the plane leading with their right foot, received wage increases within 6 months!

It's not true. I just made it up.

Trying to teach users about phishing scams is only partly successful because of this gap in critical thinking ability. You can tell them that they'll never receive a letter from their bank asking them to enter their username and passwords after following a link in that email. This will probably be effective, but it doesn't mean they'll apply that to an email from ebay, or some other service.

Explaining the underlying concepts behind phishing and the key tells is likely to have more success. But chances are that it'll be learning by rote if critical thinking is not engaged. For example, if a user receives an email, addressed to them, and is asked to click on a link that goes to from an email who's "From" address appears to be, they'll probably do it. The link address looks okay (it says and "secure" is good right?) Further, the email address actually matches the domain (that means it's okay, right?).

What we also need to get users to do is read the actual email and determine if it sounds plausible based on the language used within. For example consider a random piece of junk I received today:

You have recieved this email because you or someone had used your account to make fake bids at eBay. For security purposes, we are required to open an investigation into this matter.


Please Note:

If we do not receive the appropriate eBay account verification within 48 hours, then we will assume this eBay account is fraudulent and will be suspended.

The purpose of this verification is to ensure that your eBay account has not been fraudulently used and to combat the fraud from our community.

Italics mine.

Hmm. So my account has already been used fraudulently, but this verification is to ensure that it hasn't been... I can spot an issue here.

Unfortunately, I can imagine my users still clicking on the link and jumping through whatever hoops they're told to, just to keep their account. You can read them the contradiction, but they just won't think about it. :(

Definately need to come up with a way of teaching people more critical thinking.

It might even help with some of the social problems we're having.

Thursday July 28, 2005
04:04 AM

Horror stories and the urge to impress

For the last week I've been telling people I'm getting my wisdom tooth out on Wednesday. This has universally met with sympathy followed by stories of how horrible an experience it was to the speaker or to someone the speaker knows.

I've heard stories of dentists yanking on one tooth for a whole hour before it decided to leave the jaw and come free. I've heard stories of abscesses and damage to neighbouring teeth. I've heard stories of where the tooth split; leaving parts of the root still embedded in the gum. Stories of dentists digging relentlessly into the gum while the short term anesthetic wore off...

What I didn't hear was one good story. Not a single hint that this procedure, that dentists are probably performing every day, could go off without a hitch.

I'm certain that my friends and family were not tring to make me cancel my appointment and that they probably didn't see anything wrong in telling me these stories. They were merely trying to impress me, while telling a story which had elicited sympathy for them in the past.

I've watched myself do a similar thing before. I'll probably be guilty of doing it again.

But meanwhile, I'll share my own wisdom tooth saga. I walked into the dentist on Wednesday morning with a great deal of trepidation. I was early but they saw me immediately, so I didn't even have much time of sitting in the waiting room fretting.

The dentist numbed my gum with some gell (which I hate because it dissolves and runs around my mouth and numbs my tongue as well). He then attacked me at length with the traditional weapon of all dentists: the needle. The gell had only partly done its job, as usual, but I managed not to squirm too much.

Once the area was properly numbed, and that numbness tested, the dentist put his plier-like tools into my mouth and tried to get a grip on my tooth. There were some scrapping sounds but it seemed he wasn't having much success. After a short time he swapped to another tool and did something else for a few seconds.

Then he told me it was all over.

I wasn't inclined to believe him, to be honest. Where was the pain? Where was the huge effort to rip the tooth out of the bedrock of my jaw? How could it be over in less than 2 minutes?

Still, he showed me the tooth and gave me some gauze to bite down on.

So I become living evidence that not all wisdom tooth removals are as bad as the stories.

The whole appointment took less than 15 minutes and the first 7 of those minutes involved me getting into the chair, them getting the tools ready and general discussion of what was to happen.

Of course, had the whole saga been more interesting I too could have had an impressive story to tell. The only impressive bit about my story is its apparent uniqueness. On the other hand, I was happy to be able to eat a proper lunch 3-4 hours after the visit and, except for a 2 day ban on alcohol and hot drinks, my week has mostly continued on as normal.

Since I don't feel a great need to impress people with war stories at the moment, I think I prefer eating solid food and the lack of pain and discomfort in my mouth. ;)

Wednesday July 20, 2005
08:25 PM

Letting go once-in-a-life-time opportunities....

I just received a call from a business in Melbourne. They wanted a one day course on a topic I think I know fairly well. Even more, a topic I really care about and of which I wish more people had a decent understanding.

I wanted to say "Yes, absolutely, we'd love to provide you training on that". I'd even seriously consider doing it for free.

Instead I said "We provide training in the computer programming language Perl. We could definately put together a course on correctly using apostrophes, but you might be better off calling an organisation who already has such a course."

So they went away.

I really don't know how they decided that Perl Training Australia might possibly have a course on correctly using apostrophes. It's not as if our webpage suggests we run office skills training...

I hope they get a really good course and learn that the humble apostrophe doesn't mean "the next letter will be an 's'."

I should have said yes though....