Archive for the ‘IT’ Category.

Top tips from #pyconau

Last weekend I was at PyCon-AU in Hobart. Plenty has been said, on twitter and else where about what a great conf it was, so I won’t go into that too much.

I will mention that my biggest complaint is that there were too many talks that I wanted to see, so I missed about 2/3rds of them simply through being unable to be in more than one place at once. Fortunately all the talks that I missed are available on YouTube so I’ll be gradually catching up on them as time permits.

I came away from the conference with, amongst other things, a new grab-bag of tools that I plan to be using shortly. Some of the most valuable are:

I’m already excited about next year. Terrifyingly, I’ve already started planning a couple of talks I’m going to propose.

If you’re going to compare Terms of Service, kindly do so based on facts.

ObDisc: I used to work for Google. I still have lots of friends at Google. I have a bias towards trusting Google that’s largely based on knowing people who work there and trusting them personally. I pay money for many Google services – several Apps domains, for instance. I am also a paying customer of both Dropbox and iCloud.

I had thought that the nonsense about Google’s Terms of Service and their impact on Google Drive was dead with Nilay Patel‘s comprehensive summary of Dropbox, Skydrive, Google Drive, and iCloud Terms of Service, but then I saw this tweet and realised that the nonsense is continuing. The article linked (published on Trend Micro’s “Cloud Security” blog) to was written on the same day as Nilay’s piece, so it’s not new – but apparently this nonsense is still being spread.

Trend Micro also have a similar service, called Safe Sync. In the footnotes below, I’ve included (as well as the comparison from Nilay’s article) the equivalent sections from Safe Sync’s own EULA for you to compare.

All of these Terms are fairly standard. Amongst their many similarities, each of them has a “You retain ownership” clause[1], and a “You grant us the right to” clause[2]. [3]

Without exception, every bit of FUD I’ve seen has been predicated around comparing the “You retain ownership” clauses from the other services with Google’s “You grant us the right to” clause. Today’s bit of nonsense does exactly the same thing: it lists the “You retain ownership” clauses from Skydrive and Dropbox against the “You grant us rights” clause from Google. This one goes one step further though: it first argues that the “You retain ownership” clauses in the other Terms are vital for establishing a Reasonable Expectation of Privacy under US law; then makes the explicit claim that Google’s terms destroy any argument that content uploaded to your cloud storage service has a reasonable expectation of privacy – implying (although never actually stating) that Google’s Terms, unlike the others, lack the vital “You retain ownership” clause.

Utter nonsense.

It’s quite possible that not having a “You retain ownership” clause might have consequences on a Reasonable Expectation of Privacy; but as Google’s Terms are equivalent to the others, this would apply equally to the other services. I don’t see how this could arise from a genuinely mistaken reading of Google’s Terms, either: the “You retain ownership” clause is quite literally in the previous sentence to the one quoted in the Trend Micro article – I don’t see how any honest attempt at understanding the Terms could miss the clause. I don’t see how this can be anything other than a deliberate attempt to create FUD.

The Trend Micro ends with a plug for their own product. The penultimate sentence says:

Here’s hoping the EFF shames Google into at least being less evil.

Good news! Ars Technica got in touch with the EFF and asked them to read over Google’s policy.. Was the result the shaming that Trend Micro were hoping would be bestowed on their competitors?

When Ars spoke to the Electronic Frontier Foundation about Google Drive’s terms of service, the EFF found little about them that was more suspicious than in any other similar cloud service.

I’m sure that Google is indeed positively burning with shame.

Edited to add: Just to be clear, I’m not intending to imply that there is no reason to be concerned about putting your private data on any of these services. Any time you decided to use any of these services (or any cloud Webmail service, or an online photo sharing site, or a social network…) you need to carefully balance the utility you get from the service against the very real privacy and security issues associated with the service. However, these decisions need to be based on *facts*: what the relevant Terms and Policies actually say. Spreading FUD about the contents of the policies doesn’t help anyone make a decision about which services to use (or not to use).

Google Drive
Some of our Services allow you to submit content. You retain ownership of any intellectual property rights that you hold in that content. In short, what belongs to you stays yours.
By using our Services you provide us with information, files, and folders that you submit to Dropbox (together, “your stuff”). You retain full ownership to your stuff. We don’t claim any ownership to any of it.
Except for material that we license to you, we don’t claim ownership of the content you provide on the service. Your content remains your content
Except for material we may license to you, Apple does not claim ownership of the materials and/or Content you submit or make available on the Service
You are the owner of your files and are solely responsible
for your conduct and content of your files, as well as any of the content contained in communications with other
users of the Trend Micro Products/Services.
Trend Micro does not claim any ownership rights
in your files.


Google Drive
you give Google (and those we work with) a worldwide license to use, host, store, reproduce, modify, create derivative works (such as those resulting from translations, adaptations or other changes we make so that your content works better with our Services), communicate, publish, publicly perform, publicly display and distribute such content. The rights you grant in this license are for the limited purpose of operating, promoting, and improving our Services, and to develop new ones.
We may need your permission to do things you ask us to do with your stuff, for example, hosting your files, or sharing them at your direction. This includes product features visible to you, for example, image thumbnails or document previews. It also includes design choices we make to technically administer our Services, for example, how we redundantly backup data to keep it safe. You give us the permissions we need to do those things solely to provide the Services.
You understand that Microsoft may need, and you hereby grant Microsoft the right, to use, modify, adapt, reproduce, distribute, and display content posted on the service solely to the extent necessary to provide the service.
you grant Apple a worldwide, royalty-free, non-exclusive license to use, distribute, reproduce, modify, adapt, publish, translate, publicly perform and publicly display such Content on the Service solely for the purpose for which such Content was submitted or made available, without any compensation or obligation to you.
You understand that in order to provide the Service and make your Content available thereon, Apple may transmit your Content across various public networks, in various media, and modify or change your Content to comply with technical requirements of connecting networks or devices or computers. You agree that the license herein permits Apple to take any such actions.
In order to make the Trend Micro Products/Services available to you, you agree to grant Trend Micro a limited, nonexclusive, perpetual, fully-paid and royalty-free, sub-licensable and worldwide license: (i) to use, copy, transmit, distribute, store and cache files that you choose to sync; and (ii) to copy, transmit, publish, and distribute to others the files as you designate

[3]All of the service have Privacy Policys which modify the Terms of Service in various ways. It’s interesting comparing these too.

  • Google’s Privacy Policy mostly limits what they can do with the rights you’ve granted them under the ToS. For instance, although the Terms of Service require that you grant Google the right to use your data for “the limited purpose of … promoting … our Services”, the Privacy Policy seems to restrict Google’s ability to actually do this – as far as I can tell, only data you have expressly chosen to make world-visible could ever be used in this way.
  • Dropbox’ Privacy Policy, by contrast, greatly *expands* the rights Dropbox have. For instance, the Terms say that “aside from the rare exceptions we identify in our Privacy Policy, no matter how the Services change, we won’t share your content with … law enforcement, for any purpose unless you direct us to”. On the surface, this seems much more restricted than Google’s equivalent terms – until you find this in the Privacy Policy: We may disclose to parties outside Dropbox files stored in your Dropbox and information about you that we collect when we have a good faith belief that disclosure is reasonably necessary to (a) comply with a law, regulation or compulsory legal request. In short, despite the misleading wording in the Terms, Dropbox can and will share your data with law enforcement just as readily as any other corporation.

Lion cannot get an initial IPv4 DHCP lease if IPv6 is enabled on your network

I just got bitten by this a second time, so I figure it’s time to blog about it so that I might be able to find my own notes on why this happens next time around.

If your network supports IPv6, Lion is unable to get an IPv4 DHCP lease if it’s never had one before.

This has bitten me twice: once when I booted into Recovery, and a second time just now right after a completely fresh install of Lion.

In both cases, the fix was the same: I had to tell my router to disable IPv6. As soon as I did that, my machine got an IPv4 address. I was then able to re-enable IPv6 and the machine continues to work fine on IPv4 indefinitely.

Not too much of a bother in a house with only a few macs that very rarely encounter a fresh install; but I hate to think how this would play out on a corporate LAN.

Running multiple instances of Chrome on Mac/Linux

Edit 2013/02/24 – This post is seriously out-of-date now. Chrome has built-in multi-profile support that’s much easier to use than these scripts. Use that instead!

Sometimes it’s handy to be able to have multiple browser instances open at once. For instance, Google’s Multiple Login only allows me to have 3 accounts signed in at once, which isn’t enough for me to have all the personal accounts I want to check plus my work account. Even if it could, I like to keep my personal and work search and browsing histories separate, so that it’s easier for me to find something I vaguely remember seeing recently.

When doing web development, it’s often handy to have one browser signed into the site as an admin, another signed in as a regular user, and one not signed in. Chrome’s “Incognito Window” feature can help with one of these, but you can’t have two Incognito windows at the same time (at least, not on Mac/Linux – I hear tell that the Windows version may have supported multiple incognito sessions at some point, but I don’t know if that’s still the case)


I’ve created a little script. I call it chrome and it lives in ~/bin on all my machines. It detects the platform and calls the appropriate binary.

More importantly, it takes one (optional) parameter, which it uses to figure out which profile to run.

I usually start my day by running this script twice: once as chrome work and once as chrome personal. The order is significant, as clicking on urls in other applications will result in them being opened in the first profile that ran. So, while I’m at work I want most things to open in the work profile; if I’m not working I want a different default behaviour.

If you don’t pass a parameter, the script will invoke the default profile – the one that gets used if you don’t specify a profile at all.

I’ve put the script on github for your amusement and pleasure (and hardcore forking action).

Free voicemail transcription on Telstra Prepaid (and postpaid too!)

In the last few months of being with Optus, I trialled a service they offer which transcribes voicemails to text and sends and SMS. I loved this feature – even when it’s not entirely accurate, the transcription is enough that I can figure out who the message is from, what it’s about, and how urgent it is that I call back. In a lot of cases it’s just someone passing on some information and there’s no need to call back at all.

When I ported my first mobile service to Telstra prepaid, I was delighted to find that I was getting this service for free. I had seen Voice2Text mentioned on Telstra’s site and assumed that this was the service I was getting.

A few weeks later I ported my second service to Telstra prepaid – but on this service, regular voicemail was in effect. I sent Telstra’s Twitter team a message asking how to activate this:

I have voice2text on my first prepaid account (0407123456); I’d like it on my second prepaid phone (0403654321) as well.

Unfortunately the team were only able to tell me that Voice2Text wasn’t active on my first service, and they guessed that ‘It may only be available for Post-Paid accounts‘. They suggested I call the standard support number just in case they were wrong.

All of this was a shock coming from Optus, where the team who run the @Optus account are knowledgeable about their product range and proactive about solving problems – their response would have been to call me and ask for more information to find out what I was actually seeing on my phone; they never wasted my time with guesses about what services might be offered, they would make sure they had all the information to hand before they called me – and they would never tell me that a service I’m receiving doesn’t exist.

(disclaimer: I worked at Optus 3ish years ago, my old team worked some of the backed that the @Optus team use – but as far as I know this had no bearing on the service I received from the team. Please don’t confuse my love of the @Optus team with an endorsement for the company overall – I had terrible coverage issues which they were unable/unwilling to address, which is why I’m now a bitter ex-customer of theirs. It’s a shame that such quality customer service couldn’t be backed by a network that has a semblance of coverage and the ability to make and receive the occasional phone call. But I digress…)

Today, a friend pointed me at a different Telstra service called variously ‘Call Back Notification’ or ‘Message2Text’. This service offers people leaving me a voicemail ‘the option to leave a short 10 second message that is converted to text and sent to you as an SMS‘. Sound familiar? This is identical to Voice2Text – except for the 10-second time limit, and the fact that it’s completely free and available even on prepaid.

To activate this, you need to disable the Messagebank service on your account. The Telstra site says that thai requires a call to their call center; but I can confirm that dialing ##002# turned off MessageBank (and thus turned on Message2Text) for me. I’m not entirely sure how to turn MessageBank back on – but as I don’t intend to use it, I don’t care.

Your iPhone will be happier on Telstra Prepaid

Update: It turns out that the $49 for 2Gb was way too much – my actual usage is less than 700Mb a month.

Instead of the complicated shenanigans below, I now just add $40 of credit once a month, and convert $39 that to 750Mb of data. This means I’m paying just over $480/year, down from $708 on Optus.


I’ve recently switched my iPhone from an Optus post-paid plan to Telstra prepaid. The primary motivation for the switch was coverage – I work only 500m from my home, and Optus coverage in the area ranges from poor to non-existent – but it turns out that Telstra’s pre-paid plans are better value (for my needs) than Optus’ post-paid contracts anyway.

On Optus, I was paying $59/month every month. This gave me 500Mb of data, of which I used around 300Mb/month on average. I was also making around 80 minutes of calls per month and sending around 120 SMS/MMS – I could have used around 4 times as much without exceeding my cap. In short, Optus were giving me lots of unneeded credit to spend on calls/SMS/MMS, but not as much data as I would have liked.

By contrast, I’m now paying $12.50/week to Telstra for a service that has ridiculous amounts of calls and SMS – even more than then the ridiculously high Optus cap, which I never managed to get close to using. Importantly, it also has 4 times as much data as the Optus plan did – and even better, the coverage and network quality is so much better than on Optus that there’s some chance I might use a good chunk of that data!

Telstra’s pre-paid service options are broad though, and it took me a while to figure out exactly what I wanted (even after I had help from workmates who’d made the same transition earlier). Largely this is because adding data onto the account is a separate step from recharging the rest of the account – but also it’s not clear when various things expire. This post is my attempt at making it easier for other people to negotiate the maze of Telstra’s prepaid options.

In order to end up with this, I have to:

  1. Apply a $60 recharge to one of the prepaid plans – specifically, I choose the “Talk & Text+” plan as it’s the closest match to my needs. After applying the recharges, this gives me 300 minutes of calls and 600 SMS to use – as well as $60 credit. This credit can be used once I’d run out of free things – or it can be used for things that aren’t covered by the free calls, such as calling Telstra’s prepaid service number (Yes, that’s right: when I was activating my iPad sim, Telstra charged me $0.25 for the privilege of having them set up another source of income for them – calling Telstra for help from a Telstra service is not a free call)
  2. Yes, I know I said I was paying $50/month and I’ve just started by paying $60 all at once.
  3. So at this point, I have $60 of credit, and I have insane amounts of free calls/sms, but I don’t have any data to use. To get the data, I have to buy a PlusPack – paying for it out of that $60 credit currently in the account. In my case, I choose the $49 pack, which gives 2Gb of data.
  4. At this point, I have: 300 minutes of calls, 600 SMS, 2Gb of data, and an extra $11 credit sitting on my account. All four balances expire in 30 days time. I’ve paid $1 more than I would have paid on Optus

28 days later, those balances are about to expire, so I go through much the same process:

  1. Pay $60 to add $60 credit to the account. This extends the life of the previous $11 so that it expires on the same day as the new $60 – so I have a total of $71, expiring in 30 days.
  2. Because I’ve chose the “Talk and Text+” plan, this adds another 300 minutes and 600 sms to those balances – and as with the main credit balance, the life of the existing credits gets bumped to the new expiry date, 30 days from today.
  3. Convert another $49 of credit into another 2Gb data pack. This does *not* extend the life of the previous data pack. However, the new data pack won’t be touched just yet, as you still have an existing pack active – you need to exhaust the old pack first. If you’re dedicated to getting the best possible value from Telstra you could do your best to suck up the rest of the 2Gb by the time the data pack expires – or you could just let it expire at the end of the day.
  4. At this point, you have 600 minutes (minus whatever you used during the month – so in my case, around 500 minutes) and 1200 SMS (minus whatever you used during the month – again, in my case, that’s about 1100 left), 2Gb of data (plus whatever is left in last month’s data pack – after my first month, that was a tad over a Gb left), and $22 of credit – all expiring 30 days from today.

28 days later, it’s time to renew again – but this time, only a $30 recharge is needed. Added to the existing $22, that’s still $3 more than is needed to top everything up by the usual amounts. This only adds an extra 100 minutes of calls and 200 SMS to the balance – but that’s going to leave me with around 400 minutes of unused talk time and 1100 SMSes at the end of the 28 days

28 days after that, I’ll have spent $150 in 12 weeks (compared with $177 I would have spent on Optus in the same period); I’m left with a large balance of free minutes/SMSes in case my usage ever increases (on the Optus plan, any of the freebies you didn’t use within the month just vanished), and if I try hard I might have used at least half of the data provided. After a full year, I’ll have paid $637 to Telstra, instead of $708 to Optus. If you recharge every 30 days instead, that would be just $600 (and a tidgy bit more for the extra 5 days).

Sheesh. 900+ words to explain the gymnastics I have to go through in order to save $100/year? If it wasn’t for the fact that this also gives me access to a mobile phone network that actually works, it wouldn’t be worth it!

PS: I believe my $59 plan was an older version; I believe the current plans give you 700Mb of data for the same price. Optus never bothered to suggest I move onto the better-value plan – and as far as I know the only way to do that would have been to sign another 12 month contract, which I wouldn’t be willing to do until they can provide coverage around the area where I live/work. Even so, more data (750Mb) can be had for just $39/month on Telstra prepaid – much better value.