How to watch Netflix instant on Ubuntu

UPDATE 2012-12-09
I wrote a new post on a better way to do this. I’m going to leave this up because it’s still a good resource on getting a copy of Windows running for IE testing and the like.

…or any Linux distro, for that matter, 100% legally (i.e. no cracked copies of anything, no drm cracking, etc.).

Go here and follow the instructions to install just IE9: (the command I used was

curl -s | IEVMS_VERSIONS="9" bash


At home (where I had an average dl speed of 340Kb/s) this took 4 hours. It was something like 10 minutes at work where I was downloading at 4Mb/s.

The VM will expire in 30 days, but you can easily reset to a clean snapshot of the VM from before its deactivation counter started. It comes with Firefox already installed, so you don’t even have to install a new browser!

One thing to watch out for: by default there are no audio drivers installed. In VitualBox, open up the audio options for the VM and turn audio on, then select the correct drivers and hardware. For me, this was the ALSA drivers and the Intel HD hardware. You’ll just have to figure this one out by trial and error.

To do so, change the audio settings, start the VM, and see if windows automatically finds and installs the drivers for audio. If it doesn’t, close and keep trying different combinations until it does. Once the VM has the drivers installed, you need to make sure the audio works well 1. Just go to youtube and play any video. If the sound quality isn’t where you’d want it to be for watching a whole movie or tv show, repeat the previous steps until you find a combination that gives you the desired results.

And now we have oh so sweet Netflix instant on Ubuntu without needing to give Windows the two partitions it demands of our hard drives.


  1. Nobody wants to watch Doctor Who with choppy sound!

Note To Self: Keep Transient Names Short

In case anybody has this problem: I was trying to set a transient for a certain plugin and using an API key in the transient. This seemed like a great idea, since the transient would automatically be invalidated if the user ever updated their API key. Super simple.

But the transient wouldn’t set. No matter what, I’d hit my breakpoints inside the ‘if not set’ code block.

Well, as it turns out, if you set an expiration time, WordPress will also set a secondary transient option: _transient_timeout_{$transient_key}. That’s a lot of extra characters padding the left side of that option name! 19, in fact.

So with only 64 characters allowed in the option_name column of wp_options to begin with, you need to limit your transient names to 45 characters or fewer. In my case, the api key I was working with was 36 characters, which left me just 9 characters with which to uniquely prefix my transient.

I had 17.


TinyMCE Advanced as a Network Activated Plugin

If you’ve ever needed the TinyMCE Advanced plugin by Andrew Ozz, you know that the configuration process can be somewhat tedious.

If you’ve ever had to install it as a network activated plugin on a multisite installation (especially one with more than just a few sites), you probably thought about ditching the plugin altogether.

At work, I’m in the process of building a multisite installation that will consist of more than a dozen sites and they need this plugin. Being the lazy coder I am, I came up with this quick script to force TinyMCE Advanced to use site-wide options rather than options on a per-site basis.

Continue reading

The Last Days of Distro…

… maybe?

I’ve been getting significantly frustrated with Ubuntu since upgrading to 11.10. It seems to be getting too bloated for my needs. What’s more frightening is that it’s starting to do too much without my input and (sometimes) against my wishes.

The things I’m talking about are very minor and I’ll get into them below, but the direction is what’s worrying.

Continue reading

WordCamp San Francisco 2011

Ok, so I know this is actually kind of late. Ok, so it’s really late, but I wanted to share some of my thoughts from attending WordCamp San Francisco back in August.

WordCamp San Francisco was a hugely inspirational event for me. First of all, actually getting to meet so much of the community in real life was unreal. Many of the people I met I’d interacted with on Twitter or elsewhere online. Most I’d never interacted with at all. I’d never been around so many people who share my passion for WordPress. It was positively infectious.

Continue reading