Category Archives: Technology

Why Victorians should not put Senator Conroy last

There has been quite a campaign to encourage people to put Senator Stephen Conroy last on the Victorian Senate ballot paper, in light of his never-ending attempts to filter the internet in Australia.

I can sympathise – several years ago, I was advising people to put Senator Richard Alston last on the same ballot paper, for similar reasons, and did so myself. I was wrong to do this.

By putting Senator Conroy last, you are effectively saying that his policies are worse than everyone else on the ballot paper. I am utterly against the filter, but, that said, there are plenty of issues just as serious, and there are some absolute nutcases standing for election for Victoria’s senate seats. Let me provide a few examples:

Family First are a group of extreme religious social conservatives, and most of their members belong to strange pentecostal sects. They too want a mandatory filter, but beyond that, they want to ban internet pornography entirely (good luck with that), they’re firmly against abortion and euthanasia, and they believe that “Small Business (are) the True Heroes of the Economy”, whatever that means. Now, I’m not saying that Family First are a front for whack-job churches like Hillsong and the Assembly of God, but whenever Senator Steven Fielding opens his mouth, I’m pretty sure he’s speaking in tongues. Their Queensland lead Senate candidate has, err, issues, and in the last election, the party demonstrated their lack of judgement by endorsing Pastor Danny Nalliah of Victoria’s-bushfires-were-an-act-of-retribution-from-God fame. Stephen Conroy may be a devout Catholic, but he’s not beyond ignoring stupid church doctrine and taking advantage of the NSW surrogacy laws, something which his own state doesn’t allow. He’s far better than the Family First nutters and should be put higher on the ballot paper than them.

The Citizens Electoral Council are a pack of Larouchite loons who should be put absolutely last on any sane human being’s ballot paper. Conroy is far preferable to them.

We all know who One Nation are, and what they stand for. The only reason I put them above the Citizens Electoral Council is that One Nation couldn’t organise a dinner in a room full of fish-and-chip shop owners. They’ve proved that they’re too incompetent to be dangerous. Nevertheless, they’re racist and extreme-right. Conroy is easily better than them.

The Liberal Party of Australia is a socially conservative party with an almost-dead small-l liberal faction. It is led by a man who, when health minister, pulled out all stops to keep RU486 banned in Australia. He believes that “climate change is crap” and is so creepy that he talks to the media about his daughters’ virginity. One of the Liberal Party’s Victorian candidates that is running for re-election is a former National Party member named Julian McGauran. The Age has an interesting article that refers to him. Definitely going below Conroy.

Obviously, there are plenty of good parties to put above Labor: the Greens, The Australian Sex Party and The Australian Democrats are all socially liberal parties. Stephen Mayne (of Crikey fame) is also running for the Senate, and while I disagree with a few things he’s said in the past, he’s shown himself to be honest and generally progressive.

But to put Senator Conroy last on your ballot paper is to say that he’s worse than a herd of far-right, bigoted religious fundamentalists, who want to interfere with your life. Despite his ridiculous stance on the filter, I don’t believe that he is as bad as them.

Upgrading an Acer Aspire One D150 from an HDD to an SSD

As I mentioned in my previous post, the hard disk in my Acer Aspire One D150 had some issues last week, to the extent that I don’t trust it anymore and planned to replace it with an SSD drive instead.

After soliciting advice from the good people on the LUV mailing list, I ordered a Kingston SSDNow V Series SNV425-S2BN/128GB 2.5″ drive from Newegg.

Transferring the contents of the old drive to the new turned out to be far simpler than I expected, as the SSD drive came with a USB-SATA dock; I’d been planning on copying all the data onto a different drive, then booting Linux from an SD card and copying it all back onto the new drive. The dock made it all very easy, as I could carve out the partitions (keeping in mind this advice about aligning filesystems to an SSD’s erase block size) and then copy all the data across to the new drive from my existing disk (noting to make changes to /etc/fstab and /boot/grub/menu.lst, as I had to change the name of the LVM volume group). I also have a small windows XP partition on the netbook, mainly for emergency use when having to deal with idiotic telcos, which I copied across using dd.

Changing the disk inside the Acer couldn’t have been easier; it has a slot on the bottom that gives direct access to it; just remove the two screws and lift the lid:

This exposes the hard drive, which is sitting upside down in a tray:

To remove it, I simply slid the whole tray away from the SATA connector to the outside of the laptop case (ie, to the left, in the above photo) and lifted it out. After that, I removed the four screws holding the HDD into the tray, and replaced it with the SDD drive:

The SSD drive then slid straight into the SATA connectors in the netbook – exactly the same form factor as the old drive.

I was surprised to find that grub worked straight away, when booting up – I’ve had a history of messing up manual grub installations. Linux started up, but I soon found that I’d forgotten to rebuild the initramfs, and it was having trouble with the new LVM volume group name. Once that problem was solved, it booted without any further issues.

Windows XP was a little trickier – it simply wouldn’t boot at all. I soon found that this was because XP doesn’t like it when the starting sector of its partition changes. Fortunately, someone has written a program called relocntfs that allows this to be fixed from Linux. After I ran that on the XP partition, it worked perfectly.

The one final issue that I had was that resuming from hibernation no longer worked. It turns out that Ubuntu stores the UUID of the swap space partition in /etc/initramfs-tools/conf.d/resume; obviously the uuid of the swap space changed when I created the partitions on the new disk, so I had to put the new UUID had to be put into this file and then build a new initramfs.

The new SSD drive has been running well in the netbook for about 12 hours now. I haven’t noticed any particular increase or decrease in file access speed, but it is rather pleasant not feeling the vibration or hearing the whirr of a hard disk anymore.

How to bypass Australia’s forthcoming internet filter.

Just so that it is blindingly obvious how easy it will be to work around Australia’s impending ISP-level internet filter (which, I might add, is expanding its blacklist ever further), I thought I would sum it up in three simple steps. It’s not the cheapest way to bypass a filter – and the information below isn’t going to be new to my blog’s regular readers – but from where I stand (as someone who has access to an offshore Linux server), it certainly beats messing with Tor.

  1. Obtain an account on a Linux or similar Unix-like system in a country outside Australia, preferably one without reactionary politicians who are trying to curry favour with a conservative religious party that shares the balance of power in parliament. If you can’t get access to a server for free, then there are plenty of low-cost virtualized hosting sites such as Mythic Beasts (User Mode Linux) in the UK and Linode (Xen) in the US.
  2. Use ssh’s application-level port forwarding and log in to your new remote system. ssh will act as a SOCKS server on your local machine:
    ssh -N -D 1080

    Under Windows, you can do this with the ssh client provided in Cygwin. I would imagine that Putty provides a similar feature.

  3. Configure your web-browser to talk to the ssh socks proxy on your local machine. For Firefox users, this would mean going to Edit -> Preferences -> Advanced -> Network -> Settings, choosing “Manual Proxy Configuration” and putting localhost and 1080 in the SOCKS fields, and then selecting SOCKS version 5. You can now browse as you would normally, and all HTTP requests will be sent from the remote host, and all Australia’s internet filters will see is a stream of encrypted ssh traffic.

Of course, I am assuming that the Australian government doesn’t plan to block ssh connections out of the country. It would be almost amusing to see the smouldering ruins of Australia’s IT industry if they tried.

Combatting telemarketers with Asterisk

One of the few good acts of the previous government was the legislation and subsequent funding of the Do Not Call register, allowing those people who do not want to talk to telemarketers to opt out completely. I registered for it as soon as it went live, and I definitely noticed a reduction in the number of unsolicited calls that I received.

Unfortunately, the legislation simply did not go far enough; political organisations, polling companies and especially charities are exempt from the DNC register. The number of charities calling lately has risen considerably, and it’s starting to drive me insane.

I have a rule: I will not give any money to a charity that asks me for it. That includes phone calls, doorknockers (the Consumer Action Law Centre has a good sticker that deals with them) and that incredibly annoying import from the UK – twenty-somethings with clipboards on city streets.

At this point, I will make a brief aside: if there’s anyone from Amnesty International reading this, could you please screen your clipboarders better? I really don’t appreciate your blow-ins asking me ridiculous questions, such as, “how long do you plan to live here?” as I exit the gates at a city railway station, and then abusing me when I tell them I don’t have time to talk, because I’m rushing off to recover a server that’s crashed in a large telco.

Back to the phone calls, however. Asterisk has a nice little command that will deal with telemarketers with autodialers – Zapateller. When invoked, it will play three tones that cause the telemarketer’s autodialer to think that the number is not valid, and then hang up.

I put the Zapateller command into my dial plan yesterday, and today I’ve received three phone calls, all of which had disconnected by the time I answered them.

  ; Ring both phones
  exten => 2100,1,Answer()
  exten => 2100,n,Zapateller()
  exten => 2100,n,Dial(SIP/snom&SIP/sipura,20)
  exten => 2100,n,Voicemail(u2000)

I will eventually put a couple of seconds delay between the Zapateller command and the line that dials my two telephones, so that I don’t hear any ringing at all.

Obviously, there’s no way I can be sure the callers today were telemarketers, especially since I’m not paying for caller-ID, but given that I haven’t received any personal calls on this line in weeks, I can be fairly confident that my phone system has only been playing tones to an autodialer… and Asterisk

For any Asterisk users out there using sipme as their Voice-over-IP provider who, like me, have been banging their heads against walls trying to figure out why it isn’t working, it turns out that sometime in early February, they made a change to their SIP proxy setup and elected not to mention it on their website.

Their new equipment apparently doesn’t like talking to Asterisk, so to make it work, it’s necessary to mask the user agent string by putting the following in the [general] section of your sip.conf file:


…which I found out only after considerably websearching let me stumble upon this thread in Whirlpool.

Evidentally, I haven’t made any non-Melbourne phone calls for almost two months, or I’d have discovered this earlier.

Seven reasons why embedding media players is bad.

I often wonder who it was that thought it would be a good idea to embed streaming media players into web browser windows. I can’t imagine that the public beat on the doors of software designers and told them, “You know, we like this internet radio thing, but hey – put it in a web browser!

Back in the days when streaming audio on the internet was just starting to become a commercial proposition (and don’t we all remember Xing), radio stations would put a link on their webpages, which, when clicked, would spawn a separate application to play it (based on the link’s mime-type).

Somewhere, along the way, this changed. Stations started embedding their players into web pages – hiding the url, in most cases. These days, I’d estimate that probably 70%25 of online radio stations make their listeners use embedded media players, and those who want to listen to the station with a dedicated application have to go hunting through the javascript source code for a link.

Here’s why I dislike them so much:

  1. It’s annoying for the user. Who wants a hulking great web-browser window on their screen, just to play music? The audio should be going on in the background, not sitting prominently on their screen, forcing the user to iconify it. Just let them run a separate application in the background, minimised.
  2. Most web browsers are unstable. Browsers are big, complex applications. They tend to crash, or hang, a lot. When this happens, embedded media players – which are generally just a bunch of shared libraries, dynamically linked at runtime, will die in sympathy. There’s nothing quite like having the White Stripes halt mid-chorus just as you accidentally click on some tweenie’s all-singing, all-blinking Myspace page.
  3. Most media players are unstable. They’re not big and complex like web-browsers, but I’ve found media players to be, by and large, pretty bloody awful. A bit of network lag, a stream pumps out something the player didn’t expect, and bang, that weblog entry you’ve been working on disappears with the player’s plugin.
  4. Not everyone uses a graphical browser. Good luck getting your javascript monstrosity in lynx – which probably rules out most visually handicapped users from accessing your stream. While most commercial radio organisations probably don’t care about this (although they should), government-funded broadcasters – who need to provide equal access to all – certainly should be taking it into account.
  5. Embedded players are often difficult to bookmark Want your listeners to return again and again? Well, they can’t, if your web pages launch a javascript window without the browser’s menubar on it. Let them bookmark the stream in their favourite media application instead.
  6. People want to use an interface that they are familiar with. I don’t care about that snazzy interface your web design team has dreamt up. My media player of choice is gxine. It’s small, light, and with libxine behind it, it works for the vast majority of radio stations I want to listen to. I have no desire to use any other application to listen to audio, certainly not one with your radio station’s logo plastered over it … and people who aren’t IT-minded will be confused with all the millions of different interfaces that these web-designers waste money putting together.
  7. Hiding the url makes life difficult for people with streaming appliances. There’s a bunch of products coming to the market that are effectively internet radios. It’s probably not far off from the day when mobile internet rates are cheap enough that people start listening to internet streams in their car or while jogging as frequently as they’d listen to a normal radio; as it is, I tend to use my wireless PDA as a portable radio, around the house. If you’re a radio station hiding your url behind a huge web of indecipherable javascript in an embedded player, you’re going to be bleeding listeners. Just provide a damned link.

Furthermore, should any radio station managers or CTOs read this article, please use an open codec, such as Ogg Vorbis for your station’s stream. There’s no good reason to be using a proprietary player – it’s as ridiculous as the sealed set scheme, which was used early in Australia’s radio history, where radio sets that could only be tuned to one station were sold to listeners. Needless to say, it wasn’t particularly successful. By using a codec that people are free to use without restrictions or patent fees, it will open the market to a wealth of new applications and devices, and allow your station to be accessed in ways you might not have considered. Consider how far radio would have gone if it had stuck with the sealed set model…

(And as an aside, there’s just no excuse for publically funded organisations like the ABC, the BBC, CBC, Radio New Zealand and RTE to be using proprietary streaming systems. I really don’t see why government money should be going to prop up one or two software vendors, thereby forcing the public to use proprietary products to listen to programs that their taxes have paid for).

Mobile Phone Etiquette

I don’t like mobile phones. It really hit home last weekend when I went for a long walk up Sydney Rd, and whilst standing at the Glenlyon Rd intersection, I had two people converge on me from different directions, both yammering away with their phones glued to their ears. Even the sound of the traffic was preferable to that of two inane phone conversations at once.

Unless I’m on-call, I generally have my phone on silent … if I even have it with me at all. So, at the risk of turning the weblog into an online version of Grumpy Old Men, here is my guide to Mobile Phone Etiquette.

  1. In a restaurant, your phone should be turned off, or if absolutely necessary, on silent with vibrate on, to alert you of messages. You should not take calls at the table, nor should you conduct SMS conversations with remote parties… it’s really not that entertaining for other guests to be watching someone type on their phone.
  2. Use an inoffensive ringtone, preferably one that actually sounds like a phone ringing. You might find it hard to believe, but that 10 second grab of Avril Levigne on a tinny phone speaker isn’t doing anything for your musical cred.
  3. Don’t walk away from your desk and leave your phone behind. I’ve worked in an office where this, combined with an incredibly annoying ringtone, had one co-worker threatening to flush another’s phone down the toilet.
  4. Enter cinema, phone goes off. No excuses. If you’re on-call, you shouldn’t be in the cinema anyway.
  5. Public transport: keep it quiet, and keep it short. The rest of us already know that you’re on the train and that you’ll be home in twenty minutes. I think the Chaser guys summed it up rather well.
  6. Don’t walk and talk, it results in you being oblivious to what is going on around you, and annoying people who are walking behind you. If your phone rings and you’re on a thoroughfare, duck down a side street.
  7. You don’t have to answer it. I’ve never understood those people who are so desperate for any sort of communication that they’d climb a mountain in twenty seconds to answer a ringing phone. If it’s important, then the caller will leave a message.
  8. Voicemail: If it’s important enough for you to leave a message, then say what you want. “Call me back” isn’t enough information for me to determine whether it’s worth adding to Telstra’s profits.
  9. Mobile phones are not a fashion accessory. You don’t need to buy a new one every year, and the money you spend on them could go towards a deposit for the house that your generation is whinging they can’t afford.
  10. Bluetooth headsets: yes, they do make you look like an idiot.