Stories
Slash Boxes
Comments
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 ]

pjf (2464)

pjf
  (email not shown publicly)
http://pjf.id.au/
AOL IM: miyuki3k (Add Buddy, Send Message)
Jabber: pjf@jabber.org

I run Perl Training Australia [perltraining.com.au].

I help with Melbourne Perl Mongers.

I spend an awful lot of time talking about Perl, and have had my picture in the Australian newspapers with a camel. That's rather scary.

Journal of pjf (2464)

Sunday June 21, 2009
12:39 PM

Dubai Adventures - Day 2

Dubai Adventures - Day 2
I'm never going to be awake early in the morning so I can visit the museum if I keep getting back to my hotel at 12:30am, and blogging about my day. And yet that's what I'm doing right now.

Today was my second day in Dubai, and I discovered that Dubai has westerners, women, and arabs; they all hang out in the malls. After sleeping in again (goodness, I was tired), I decided to go to the Mall of the Emirates (the one with indoor skiing in middle of the desert), and then make my way by foot to the Burj Al Arab area, which I estimated was a 2.5 km walk, and hence pretty easy.

I caught a taxi, as the distance was much too far to walk, and I had no idea which bus to catch. I had a great chat with the taxi driver; he was from Nepal, had moved to Saudi to work (not far from where I was working), and was now in Dubai. I asked if he had any family here, and he laughed. Apparently Dubai is so expensive, especially with rent, there's no way he could support a second person; the plan is to work here as long as he can stand it, and take his savings back home.

It seems that with the global financial crisis (GFC), while Dubai still has lots of taxis, it's lacking the tourists who normally use those taxis. The GFC and the drop in tourism is something I'd heard from a few sources now, and it's clear that a lot of Dubai depends upon the tourist trade.

When I stepped into the Mall, it felt like stepping into America. It had American shops, American food, and American people. Actually, as I was to discover after talking to a few of them; the majority of the westerners were from the UK. Almost everything in the mall had prices similar to what I'd pay back home, and like most malls, most of it were things I had absolutely no interest in at all.

Luckily, I found one of my objectives for the day, and that was a free wireless hotspot. I eventually found the access point, it's just outside the cinema, and the SSID is "yournetworkname". I used it to call home (again, hurray for VoIP), and after a good chat ran down my laptop battery. Unfortunately, I didn't bring my external battery (it's heavy!), so any remaining communication had to be done via a hand-held.

The other discovery I found in the mall was an arabic gift shop, which was filled with local wares and tourists. Amazingly, I actually enjoyed browsing here; this certainly wasn't stuff I'd see in Australia (or anywhere else), and the prices were extremely affordable. There was also a hilarious collection of art-work out the front of the door. Words can't do these justice, so you'll just have to look at the photos (coming soon) and see.

I purchased a selection of gifts and while often it was easy for me to say "$x will like this", I discovered that was very hard when $x = 'jarich'. Eventually I went for the shotgun approach, and got her one of everything.

Somehow, after two calls home, some IM chats with friends, a selection of gifts, some photographs of the ski slopes, and some chats with the locals, it had got rather late, so I decided to set out on my walk. This was made more challenging by the fact that my laptop had a flat battery, and that's where my maps were located, but since the Burj Al Arab is the world's tallest building, it's not hard to spot and walk toward it.

I should correct myself there, it's not hard to spot. Walking toward it was hard, since there were huge multi-lane highways, and construction work, and no obvious way to actually walk there. I could (and in hindsight, should) have got a taxi there. It would have cost AED 10 (about $3.50), which would have been a bargain for the XP I would have gained visiting it and the nearby Souq Madinat.

As it was, I ended up walking fruitlessly in what was essentially the wrong direction. Eventually I stopped for some food outside the Lulu Hypermarket, where the serving staff of the fast-food place I frequented were delighted that I was from Australia, and gave me detailed information about the busses in the area, and were generally awesome. They were from the Phillipines, and collectively were the nicest people I've met all trip. It's just a shame the food wasn't.

Having found the bus (AED 2 rather than AED 45 for a taxi), I looked forward to being able to see all the huge towers along Sheikh Zayed Road, which is the home of some of the most opulent hotels and establishments. Consequently, I was dreadfully disappointed when it decided to go down Al Wasl Rd instead, which doesn't have much sightseeing at all. Eventually the bus pulled into the Bur Dubai bus station, which I had never been to before, but which I knew was walking distance from my hotel.

Unfortunately for me, I didn't know in which direction my hotel lay, and due to an inefficient hashing algorithm being used in my brain, I couldn't recall the name of the street with my hotel, either. I knew I was staying in the Ramee Apartments, but apparently Ramee is a chain with a number of Dubai hotels. Plus, my laptop battery was dead, so no checking maps for me.

Luckily for me, I was in Dubai, so I just walked across the road to the mall (Dubai has plenty), plugged in my laptop, and fired up Google Earth with all my cached maps. The bus stop was only 600m from my hotel as the crow flies.

On walk to my residence, down a surprisingly deserted street, a man approached me from an alleyway. From experience I figured this probably meant he wants to sell me a 100% genuine fake rolex, although for a moment where I wondered if people get mugged in these parts, and there was a reason nobody else was walking down this street.

"Excuse me, but do you speak French?" Okay, I really didn't expect that. I admitted I didn't, and wondered where this conversation would go. "Oh. Then do you have a hotel?" I started to wonder if French-speaking, homeless tourists were common in these parts. "Yes, I have a hotel. I'm walking there now." "Oh. Are you sure? Because if you need a room, I have a room you can rent. It's very nice." "No, really, I do have a hotel." "Oh, okay, where are you from?" "Me? Australia. How about you?" "I'm from France."

Suddently, the conversation made sense. My new acquaintance was over here working, and with rent prices being so high, he was looking for a room-mate. He would have been most happy with someone who could speak French, but I'd do. If I was unhappy with my hotel, or sticking around in Dubai, he'd be happy to split the room costs with me, 50-50.

We had an interesting chat, and I pointed that I could see my hotel and was about to turn down one of the streets toward it. We wished each other a good night, and I dropped past the 24 hour Super Happy Mart to replenish some supplies for breakfast.

Tomorrow I should try to wake up early and visit the museum, but based on prior experience I'm not sure if I will. Failing that, my plan is to catch a bus or taxi to Jumeirah Mosque, check out the beach, and then walk through the back-streets of Al Bada to Sheikh Zayed Road, which should put me in the heart of the "down-town district". I'm sure I can find myself some trouble from there. ;)

Saturday June 20, 2009
06:27 AM

Dubai Adventures - Day 1

Dubai Adventures - Day 1
I'm posting my adventures out-of-order, apologies for any chronological confusion caused. The events in this blog post happened yesterday.

Last night I flew back to Dubai after my stint teaching Perl in Saudi Arabia. On the flight one of the Emirates stewards recognised me from my Australian flight, and we shared a few friendly words. Another seemed to take a shine to me and somehow produced the best coffee I've had all week; I suspect they have an espresso machine hidden away somewhere that they only bring out for special occasions. As such, even though my flight arrived at 2am, I was awake and happy.

Dubai airport has free wireless, which is something I am deeply grateful for. Using the amazing power of VoIP I called home (where it was a sensible time), and had a lovely chat with Jacinta. Amusingly, the call cost me much less than if I were in Australia making the same call from a mobile.

Eventually, with my e-mail updated and my social meter refilled, I caught a taxi to my hotel. It's a three-star apartment hotel in the Bur Dubai district, which I had picked because it was cheap, and looked like it was close to busses, souks, and the museum. I arrived, and pretty much collapsed into bed.

The hotel is right next to a mosque, and I had heard from a few reviews that one can expect to be woken up with the call to prayer. Sure enough, a few hours after I had gone to sleep, I could hear soft, dulcet tones calling the faithful to awake with the first light and gather for prayer. I stirred only a little and smiled; the call was very soft, and very musical, this wouldn't cause me to lose any sleep at all. Then the mosque outside my window started its call to prayer, with the volume cranked to eleven.

Looks like I'll be waking at first light tomorrow.

The hotel itself been really good. Being an apartment-hotel, I have cooking facilities, the most important for me are a kettle and microwave. It also has a washing machine, and I've taken the opportunity to wash some of my clothes. My biggest complaint is that like many hotels, it does have in-room Internet access, and it costs a fortune. There also seems to be an expectation that guests leave their keys at reception when leaving the hotel (maybe people have lost or disappeared with them?), but since nobody has taken the time to explain that to me, I've been taking my keys with me.

Today I woke reasonably late, enjoyed a long hot shower, and prepared myself some maps to help me get around. I'd figured that on my first day I'd explore the local district (old Dubai), and on the second day I'd explore further away (new Dubai). A few people had mentioned that walking in Dubai in the middle of the day is unwise, but I like walking, and I like hot weather, so how bad can it be?

About 45'C (113'F) and humid is the answer. I had packed plenty of water, and stuck to the shade, so I got a few good hours of walking in before I decided to find a bus-stop for a rest. Bus-stops in Dubai are wonderfully civilized, since they're air-conditioned. Unfortunately mine didn't have wireless access.

The main problem with trying to see Bur Dubai during the middle of the day is that everyone else is smart enough to go and do something else when it's that hot, and so with the exception of lunch venues and supermarkets, eveything was closed, even the malls! This was a bit of a disappointment as I had found the museum, but it was also closed. I hope to get in early tomorrow.

While I was in Saudi Arabia, my colleagues there told me that more foreigners live in Dubai than locals. I now believe them! Exploring Bur Dubai felt more like exploring India. I too was obviously something peculiar; I was a westerner, I had long hair, and I was walking in the middle of the day in Dubai. Any one of those attributes was out-of-the-ordinary, so at times I felt that I was positively head-turning.

To be honest, I enjoyed the attention. Most of what I was were smiles; a few people asked where I was from, and what it was like in Australia, and why I was walking in the middle of the day when everyone sensible was out of the sun and having a rest.

Walking through Bur Dubai took me to the fabric souk, but most of it was closed. I'm not much of a clothing/fabrics person, so that didn't bother me too much. It also took me to Dubai Creek, which is a fascinating and enchanting throng of activity. Water taxis dart back and forth, larger dhows and other vessels travel up and down, and somehow nobody collides with anyone else.

From here I returned to my room and had a snooze, but my evening walk took me back to the creek. I took a water taxi across for the standard fare of 1 dirham (about $0.30), and set out to explore Deira, the old parts of Dubai north of the creek.

In Bur Dubai, there were an endless number of shops. I walked along "Computer Street" and past "Bank Street" in my travels. I found streets that were filled with eateries, and filled with clothing stores. In Deira, the streets were also filled with shops, but it felt like they had been randomly generated. There's be stores selling mobile phones, car tyres, bedding, motorcycles, computers, food, movies, whitegoods, furniture, electronics, beauty products, and fish, all next to each other. Many seemed to have equally random names, my favourite of which was "Moist Flower Electronics". The streets were twisty-turvy little things, and I soon found myself lost, and not for the first (nor the last) time that day.

I don't really mind being lost in other cities. It means I get to see things I didn't plan, and in Dubai in particular, I can always hail a taxi to take me back to my hotel. So I continued onwards, hoping to find the Gold Souk that I had marked on my map, but really happy with anything.

I eventually found myself at the Hyatt hotel and its attached mall, because I wanted a break from the heat, and I had discovered my map of Dubai had lacked public toilets. Inside the mall was an ice-skating rink, and while I didn't skate, it sure was nice to be in a cool environment again. Most other things were closed, so after I had made myself more comfortable, I decided to go exploring again.

Without too much travel, I found myself at the Dubai fish market, a place which I was able to discover by its unique scent alone. In Australia, I'm used to fish markets generally being indoors, and air-conditioned. I think the market had one air-conditioned building, and that was filled with people in the process of preparing the fish for sale (sorting, gutting, filleting, etc). Most of the other stalls had generous amounts of ice to keep the fish cold.

I honestly can't do the fish market justice with words. There are people everywhere. There are fish, everywhere. The quantity of fish and people dwarfed anything I've seen in Australia.

The most striking image of the market was outside, where a huge line of sharks were lined up outside; I can only assume for transport, since nobody seemed to be buying them. While it appeared that were once on ice, the ice had since melted, so it felt like I had walked out into some strange land where dead sharks are a natural feature on the pavement. I couldn't help but snapping a few photographs, and some of the locals (who had also been photographing them) started a conversation with me. Apparently it's this busy every day, and that if I think it's hot now, I should try coming back in August!

From the fish market I wandered along the foreshore, which seems to be an extremely popular location if you're male and from south asia. I got to see the port and some large cargo vessels, but it wasn't particularly scenic. I crossed the road and visited "Gold Mart", since Dubai is renowned for its gold markets.

Gold Mart, as I was to discover, was not the Gold Souk, but a collection of jewellery stores. At this point I would discover that a great many store owners thought I might like to buy a watch, or a belt, or sunglasses, or numerous other items that I wasn't interested in.

I left the Gold Mart, and a guy by the door assured me that he had the greatest collection of pirated and counterfeit goods I could wish for. I walked down the street, and at every corner I was offered a fake rolex for sale. I eventually found the Gold Souk, which really is awesome, but I could hardly move without someone approaching me with offers of counterfeit merchandise. To the vendors' credit, they were always very up-front about the lack of authenticity.

The Gold Souk is home to the world's "heaviest gold ring", which is a glittering monstronsity that weighs about as much as I do. It also really does have a massive amount of gold on sale, in the form of ingots, chains, rings, bracelets, necklaces, earrings, and many other forms. It was very sparkly.

From the Gold Souk, I made my way back to the creek, and discovered a stall specialising in perfumes and incenses. As my mother-in-law put in a special request to bring her back some frankincense, I took the opportunity to investigate. I could get a small amount for 5 dirhams, a reasonable amount (100g) for 15, or a huge amount (500g) for 55. I opted for huge, and haggling, and got the price down to 45 dirhams, about $15 for 500g. I actually have no idea if that's a good price, and probably should have haggled more.

With the frankincense in my inventory, and the hope that I can bring it through customs in my head, I caught another water taxi across the river, and walked back to my hotel. On the way, I discovered an Internet cafe close to my hotel that assured me I could plug in my laptop, at the rate of 10 AED/hr (about AUD $3.30/hr). While that's more expensive than downtown Bur Dubai (2 AED/hr, or 4 AED/hr if you want a seat), it's a lot less expensive than the paid hotspots (15 AED/hr), and considerably cheaper than the hotel (35 AED/hr). I suspect I'll be visiting that cafe a lot.

My day ends with blogging, coffee, and a soak in the bath. With Day 1 of Dubai over, I've walked somewhere in the realm of 15km, and spent about 100 dirhams (about $35 AUD), excluding the hotel. Tomorrow, I plan to visit the museum early, and then head south to new Dubai.

Thursday June 18, 2009
10:48 AM

Saudi Arabian Adventures - Day 0

Saudi Arabian Adventures - Day 0
The events in this entry occurred on the 11th/12th June

At the start of this year, Kirrily "Skud" Robert made a remark about new year resolutions that are easy and fun to keep. As an example, she included "never turn down an adventure".

While I'm not one to make (or keep) new year resolutions, this one stuck in my mind as a particularly good one to have. While it's certainly been a fun resolution, I disagree about it being easy to keep. It's this particular resolution that had me stripping off to go swimming in waters of unknown depth, quality, and temperature when travelling around Tasmania with Peter, Donna and Jacinta after Linux.conf.au this year.

The same resolution of "never turn down an adventure" now has me in Saudi Arabia, giving a Perl course to the world's largest oil company. It would have been easy for me not to be here. As it happens, I arrived only a day before my entry visa expired. The amount of legwork required to set up a trip like this for the first time is quite considerable, and actually started back in Feburary! So far, it certainly has been an adventure.

It started with my flight from Dubai to Dammam. Emirates was kind enough to upgrade me to business class, which was nice, and meant a very comfortable flight. At the end of the flight I leisurely strolled off the plane and through the airport, looking at the scenery and taking my time. When I rounded the last corner, I immediately realised I had made a terrible mistake. Despite the flight having lasted only an hour, I had flown internationally, with hundreds of other people. There would be passport control and customs. These things are rarely quick, and one really wants to be at the front.

I found myself about three-quarters down the back of a queue, with only a small number of passport control officers. I noticed that processing each person took a long time, maybe five minutes or more, as they needed document checks, and fingerprints, and photographs, and sometimes a short interview, and (if they looked unwell) a check by doctors concerned about swine flu. It was about 10pm at night, and after counting the people in front of me, and doing some maths, I estimated I would be through passport control at approximately 2am!

As luck would have it, another passport control officer was put on duty, and I managed to get through customs after only a three-and-a-half hour wait. There was then a rather ominous moment of me realising that while there were lots of drivers waiting with signs and people's names, none of them held my name. Luckily, my driver had only gone to get a cup of tea (quite understandable after 3.5 hrs waiting!), and we met after only a few minutes of me wandering about looking lost.

After chatting a bit with the driver, I must admit that I slept most of the trip to the hotel. It seemed to involve the single longest stretch of road possible; I woke up a few times, and we were still on the same highway. It also had what I could only describe as christmas-tree lights strung along the edges (so one didn't drive off into the desert), and all the electronic signs (eg, roadwork ahead) were animated in such a way that if one ever appeared in my web-browser, I would immediately add it to my block-list.

After going through a number of security checkpoints (which I would later learn are required for all entry and exits to the Aramco campus), I finally arrived at my hotel. This felt like being in America; it had American power points, all the light-switches were the wrong way around, and the lamps have these funny knobs that I keep turning the wrong way.

At this point, most people would fall asleep, exhausted. However I'm equipped with the geek version of Maslow's hierarchy of needs, so the first thing I did upon arriving was wake up the poor reception staff so I could be connected to the wireless network, and dent/tweet that I had arrived.

Thursday June 11, 2009
11:58 AM

Dubai stopover

Dubai stopover
I'm in Dubai for a 10 hour stopover between flights, and I'm loving it already. Having come from a very cold, very wet, and very dark Melbourne, having a world that's bright and warm and humid is just fantastic. I'm itching to get to the beach, or walk across the desert, or just go exploring generally. I've already done some of that in my local area, but I can't go too far as I still need to get back in time to catch my flight.

Of course, getting into Dubai wasn't all fun and puppies. The flight was fourteen hours long, and while I had brought along sleeping tablets, they seemed to work better at dulling my thinking while awake rather than helping me sleep. I don't remember sleeping on planes being anywhere near this bad for my trips to the USA, but then again those trips were done without me sleeping the night before.

Besides trouble sleeping, my biggest oops was forgetting that I had brought two bags with me, rather than one. Luckily, the helpful Emirates staff were able to find my errant luggage, and since Dubai airport has free wifi, I was happy to wait.

Customs seemed very relaxed, and while I was selected for 'additional screening', that mostly consisted of chatting to the friendly guard about how much extra battery life my laptop can get from my external battery. The best part was after the security guard asked me to "step this way", he acknowledged that I had been on a flight for 14 hours, and so if I wanted to duck out for a smoke, that would be perfectly okay. He looked very disappointed when I said that I didn't smoke, and in hindsight he may have been looking for an excuse to go to the smoking area. ;)

Currency conversion rates at the airport are nowhere near as bad as they are in Australia, at least when converting from Aussie Dollars to Saudi Riyals and UAE Dirhams. Overall about 5% of my money went on currency conversion, whereas in Australia it was hard to find anyone who'd sell Riyals for less than 10%, plus waiting times.

The food so far has been excellent. The aircraft food was tasty (for aircraft food) and bountiful. Emirates has given me a hotel (quite spacious) at which to stay between my flights, and the hotel comes with lunch (a huge buffet), dinner (an even bigger buffet), and a "snack" (which looks like it's really "second lunch"). The food is really good, there's a fantastic vegetarian selection, and the service is excellent. I can wholeheartedly say that I like the airport hotel. ;)

My only problem with the hotel is that there are no tea or coffee making facilities. That's not a big downside, since I can always walk downstairs with my "snack" voucher and be given a half dozen cups of coffee, a pudding, a huge slice of cake, some very nice freshly made creme caramels, and assorted morsels to "fill in the edges".

Prices in touristy places seem about on-par with prices in Australia. Prices outside of touristy places vary in my short experience with them. I went to a supermarket to refresh a few supplies, and found fresh fruit and vegies at about the same prices in Australia. However the cans of coke and associated soft-drinks in the "impulse buy fridge" were only 1 AED each, which is about $0.33 AUD. Coffee at the airport is the most surprisingly expensive, at the equivalent of $7 AUD per cup!

Most ironic experience today was one of the locals pulling up in his car and asking me for directions to the hospital. Oddly enough, I could give them, as I'd walked past the hospital on the way from my hotel.

I'm now just about to hop on a flight to Saudi for my assignment teaching Perl. I may be out of Internet range for a while.

Monday June 08, 2009
08:34 AM

Teaching Perl in Saudi Arabia

Teaching Perl in Saudi Arabia
After what seems like an almost endless amount of paperwork, visa applications, immunisations, negotiations, contracts, travel agents, and administrivia, I'm about to fly to Saudi Arabia, to teach Perl to the world's biggest oil company.

Why are they learning Perl? Well, as best I can tell, they're using it for data munging of geological data. That's got a familiar ring to it, in fact I've been seeing a big growth of Perl in Geoscience recently.

On the way back I'm planning to spend a couple of days in Dubai, just because it sounds like such a bizarrely opulent part of the world. World's biggest hotel. World's biggest indoor ski slope. World's biggest shopping mall, and certainly the closest thing we have to Magrathea, with Dubai creating artificial islands in the shapes of palm trees and the world itself. I also hear the diving is pretty good.

Saturday May 30, 2009
06:23 AM

My strange working habits

My strange working habits
After far too long on the road, I've been in Melbourne for a whole week. In theory, I get to spend at least another 10 days here before my next flight, which (provided the last piece of paperwork gets signed) will be to Saudi Arabia.

This week, when it comes to interesting FOSS stuff, I've done absolutely nothing. What I've discovered is that when I'm on the road, I keep squeezing in bits of work around the edges. A lot of my coding gets done in departure lounges, and for my last trips to Canberra, on a bus. However when I'm home, I can relax. I can sleep in, be comfortable, and have long, drawn-out breakfasts. I have friends, real ones, that I can see and spend time with. In short, I have all the things of which I've been completely deprived while travelling.

While this is great for recharging my batteries, it's not great in terms of deliverable productivity. If you're waiting on me to complete or review a piece of code, you have my most sincere apologies. Feel free to keep nudging me, it does help.

Sunday May 24, 2009
12:08 AM

StepMania Heaven

StepMania Heaven
I'm a fan of StepMania, a free and open source dance game in the style of Dance Dance Revolution. For years I'd played with the soft plastic mats that tend to come with these games for home console systems. These are great for the starting player, and easily fold up for storage, but as one's dance moves become more dynamic and energetic, they rapidly start to crumple, crease, and slide.

For years, I'd dreamed about having a rigid dance platform. Last year, at Linux.conf.au, I was lucky enough to take home a plywood and cork tile homebrew creation, courtesy of Tamara Olliver, who constructed it as part of a talk at the conference. The mat worked pretty well, and I even added some retro buttons, but I had problems with it mis-firing. The mesh connectors would fray with heavy use, and then tend to stick together. I still had dreams of a metal dance mat, but the cost of shipping to Australia put these way out of the price range I was willing to spend on one.

Well, a couple of weeks ago, I found an eBay supplier who was selling metal dance mats in Australia, with a delivered cost of $150 after some creative investigation and use of the "best offer" button. The mats looked like they were clones of TX-1000 series. Having not seen an offer like this for years, I purchased two.

Now, the TX-1000 is the cheapest, nastiest metal dance mat one can find, and I knew this, but they still beat any soft mat one cares to play with. The original ones used tiles that would "float" on a bed of foam, with the corners removed and a heavy-duty bolt in each position, to ensure each pad couldn't move away from where it was supposed to be. This is similar to many arcade setups, and works pretty well. That meant that while all the components in these pads are cheap, but at least the engineering principle was sound. One could expect the tiles to last a couple of months before they needed to be replaced.

Of course, what I got was a cheap-and-nasty version of an already cheap-and-nasty pad. Rather than each pad having four bolts (a total of 24 in total), there are only four bolts on the entire board. Rather than the tiles "floating" on foam, they still have the foam underneath, but each tile is now supported on three edges by the side of the dance platform, and internal supports. The pads tiles now flex to make contact with the underlying sensor.

At first, this doesn't sound too bad, until I tell you that the tiles are acrylic, which is not an impact resistant material. Because the tiles are now flexing, their lifespan goes from months down to days.

So, I now own two awesome metal dance mats, each one with a number of not-so-awesome broken tiles. This isn't as big a deal as one may think, the tiles have a rubber underlay that holds them together, so the dance mat still continues to work more-or-less as before. However the nice 'foot-feel' is impaired, and with enough damage, they tiles may actually become unusable.

I'm not too upset about this. For $150 a mat, I didn't expect a first-class dancing platform, and the mats are extremely easy to service; the tiles are easily removed and replaced, and the electronics are simple to get to. So, I'm looking to replace each tile with polycarbonate, also known as bulletproof glass. There are some fun acrylic vs polycarbonate videos that demonstrate the difference in impact resistance, and I'm pretty sure that polycarb will be tough enough for what I need.

I've found a supplier, but unfortunately polycarb seems to come in a standard engineering size of 1.2 x 2.4m, which is about three times what I need. If I had six dance mats, or could just pay for the materials I need, then each tile comes to about $6 each, including professional cutting, which I think is a great deal. I'm calling around to see if I can find a supplier who's got an off-cut, or maybe a salvage yard that has some odds and ends.

To complete my StepMania setup, yesterday was spent modding furniture. Our lounge-room AV cabinet would fit our old CRT television, but not the new Plasma TV that Jacinta won at the Open Source Developers Conference last year, and as such the new TV has mostly been sitting in storage. After some discussions on the best way to succeed, and with the help of a new electric jig-saw, the TV cavity in the cabinet was enlarged, the ends painted, and the new TV fitted. Jacinta did all the hard cutting, since she actually has wood-working experience, and I don't.

The new set-up is so much nicer than previously. The TV takes inputs from just about anything, and forwards its audio to the stereo, so there's much less futzing around with splitter boxes. It also takes an analogue VGA input, and while my laptop's analogue VGA doesn't seem to want to talk to anything else, it loves talking to the TV. As such, the laptop has been spending a lot of time connected, with StepMania being played, or media being watched.

My only problem is that I feel sad when disconnecting the laptop. My lounge-room changes from a totally awesome StepMania and gaming heaven into just a lounge-room, with just a TV. I think now is the time to finally put together a dedicated MythTV box. My plan is to convince Jacinta that she wants a new laptop, since her old laptop is showing signs of stress on the internal VGA cabling, it's the prime candidate for being re-purposed.

So, if you happen to be in Melbourne, and have a source of 2-3mm polycarbonate, or feel like showing me your awesome dance moves, now's a good time to visit. ;)

Friday May 22, 2009
03:04 AM

autodie 1.999_01 (beta) released

autodie 1.999_01 (beta) released
Today I decided to hack code while sitting under a tree, along the beautiful banks of the Merri Creek. I promised myself that I'd make a dev release of autodie before I finished for the day. Since I had forgotten to bring a cushion, autodie 1.999_01 will be remembered as my first release made due to me having an overly sore butt.

The new version of autodie is a dev release, which in any other language means "beta". It won't get installed by default with the CPAN installer, but you can download it manually and play with it. The hinting interface is there, and while it may have a few rough corners, it's pretty much all working.

To release autodie 2.0, I need to walk through the source and tidy up a number of TODOs (there are lots of these), check the documentation is correct (the hinting interface has changed a little since the docs were written), and add a few more test cases. Patches are welcome for any of these, and best made via github (fork the repo and check out the hints branch), although any form of patch is welcome.

Saturday May 16, 2009
09:10 AM

Perl for Geoscience

Perl for Geoscience
Traditionally our Perl courses have been targeted at people who work with computers as a job. Developers, software QA, sysadmins, database admins (DBAs), and the like. However, recently I've noticed a sharp increase in course bookings from people who don't have computers as their primary job. In particular, we've been seeing a lot of bookings from people who work in geoscience, and hydrology in particular. These bookings aren't just from within Australia, I'm seeing international interest as well.

It seems that Perl has gained a reputation as being a good cross-platform language for when you have a big hunk of data in one format, and you need to get that data into another format. Geoscience folks deal with lots of data, and they seem to be perpetually massaging it (often by hand, or in a spreadsheet) to get it into the format they need.

Perl is certainly well-suited for this task, and people learning Perl for the purposes of data transformation have been a mainstay on our courses since we first started running them. However I've found our new wave of interest particularly challenging to teach. They don't have any programming backgrounds, so I can't draw analogies to other languages, or even assume they'd know why subroutines are a good idea. They may have never used a command-line before, so the concept of providing command-line arguments is completely foreign. Even the way they think about data is different; for many students in my last class, the idea of hierarchical data (such as a tree) was a completely new concept; in their world, data had always been tabular in nature.

I'm thrilled that I'm able to teach people new skills, and I'm sure some of the students from my classes will be going back to their workplaces and replacing some of their colleagues with very small Perl scripts. However I'm deeply worried that their understanding will be too incomplete. I teach a very modern Perl course, with a lot of focus on best practices, maintainability, validation, and theory. While I know some of my students can grasp this a little, others are still struggling with consistent indentation, and can't grok the long-term concepts at all. I fear they'll under-use the CPAN, reinvent the wheel, copy-and-paste from bad examples, fail to use revision control, fail to document their code, pile on technical debt, and do all the other things that inexperienced programmers do.

I don't know what to do about this. For this group of people, I think I'd get great feedback (and more bookings and money!) if I taught a class that focused on short-cuts and quick'n'dirty programming, since my students can grasp those short-term gains; they can't as easily grasp the long-term ones of maintainability, testing, source control, and correctness. One could argue those long-term goals aren't important for my new clients, since they're writing code for "once-off" tasks, but as most of us know, there's an awful lot of once-off code that's still being used decades after it was written. I feel the concepts of code quality and maintainability are more important for inexperienced programmers than anyone else, since they're the ones most likely to make these mistakes. I'd rather not teach at all than teach bad practices.

I think we'll probably extend our most popular course to five days, and slow down the material; I've got enough cool bonus material to fill an extra day if we have a class of more computer-oriented students. I've also found myself dropping entirely some of the more foreign concepts like pipes, buffering, file locking, and running external commands; students can look these up if they ever need them.

What I really wish I could do is sit down with my new classes for a week and teach them basic programming and computer science concepts, preferably without computers getting involved at all.

Thursday May 07, 2009
11:04 PM

The social life of a Perl trainer

The social life of a Perl trainer
I'm blogging every week about Perl, not least due to the presence of a competition that encourages me to do so. However this week I'm not dealing with technical matters, I'm dealing with personal and social ones.

There's a common perception that I have a massively social job. I travel around the world and teach people Perl. I speak at many conferences each year. I attend a multitude of user-groups. Sometimes I do consulting, and when I do, the things I'm fixing are often people related: internal education, politics, and culture. In any given year I meet work closely with hundreds of new people. People are my life and my job.

Despite that, sometimes it feels very lonely.

The problem isn't with the quantity of people I meet, but the quality of my relationships with them. When I meet course attendees we spend a lot of time together, but it's one-to-many time. At conferences I have more quality social time, but it's only for a couple of days, and my talk preparations often get in the way. Often there are so many people at conferences I want to meet or catch up with that I only spend at most a few hours with each person, regardless of how much I like them.

Due to my lifestyle, I meet many wonderful people who I would love to spend more time with. The problem is that so many of them live in other cities, or other countries, or have travelling or lifestyle schedules similar to me. In fact, my travel schedule can really screw things up. Last night there was a gathering of four of my most favourite people in the whole world, and in my home town. I wasn't there, because I was on an yet another airplane.

Back when I had a "real job", or even when I did regular consulting, I didn't have these problems. I'd see the same people each week at work. I'd go to the same places for lunch. There'd be regular social activities that I could attend, because I wasn't changing city every week. While having a regular job may not help with the breadth of friendships, it certainly helps with the depth of them.

I've been teaching and living this lifestyle for many years, so why am I noticing this just now? Well, it's partially because I'm so busy right now. The global financial crisis has kicked our business into overdrive. A combination of hiring-freezes, and the need to do more with less, has caused Perl courses and consulting to be very popular. Sometimes I joke about being in a different city every week, but recently it's been the norm.

However the big wake-up was that how I've been associating with my students has changed. Years ago they were learning Perl because it was cool, and fun, and because doing things in Perl was so much easier than doing things in almost any other language. Those students were were bright, eager to learn, and full of questions. That almost always meant that I got along extremely well with them socially, as well as academically. These days we still get those students, but many people are on our courses because programming is their job, not their passion. They don't always self-identify as geeks, and I find that I have an awkward time relating to them socially.

Having good students is one of the most rewarding parts of being a teacher, and is what got me hooked on teaching before I even graduated from University. I'm unlikely to give up the teaching any time soon; I enjoy the travel, the freedom, and it's certainly hard to argue with the money, but I do find that ephemeral socialisation is really starting to tick me off. Sometimes I wonder if I should actually go back and teach at University, purely for the social highs associated with doing so.