How to install Ubuntu 11.04 on a Mac Mini


Hardware: MacMini4,1 (Mid-2010)
Software: Ubuntu 11.04 64-bit (Natty Narwhal)

The problem: booting with the CD gives bad graphics or a blank screen.

The solution: when booting, hold down alt. Select the “Windows” CD, not the “EFI” CD. This will get you to a blankish purple screen with a fuzzy icon of a keyboard on the bottom. Press F6 (NB: this will not work with an Apple Wireless keyboard. Use a wired keyboard). Pick a language. Press the down key to select “Install Ubuntu“. Now press F6 again, and select nomodeset by using the arrow keys and the space bar. Press escape, and the menu should close. Towards the bottom of the screen there’s a boot line and a cursor… use the arrow keys to scroll left until you’re just left of “quiet” and “splash” (actually, you can delete those words). Type “nomodeset xforcevesa“. Press enter to boot. Wait. Keep waiting. Nothing’s happening? Keep waiting. It took about 5 minutes for my Mac Mini to move on, upon which it started whirring and clicking. Hurray!

Post-install: your system won’t boot, unless you edit the boot commands at grub. Add nomodeset xforcevesa again (press ‘e’ when you’re at grub to edit a boot command). Once it boots, install the NVIDIA proprietary drivers. Edit /etc/default/grub to add nomodeset noacpi reboot=acpi in the appropriate place. Save the file, then run update-grub. Reboot. Your graphics may still suck. Run nvidia-xconfig and reboot. Are we there yet?

Posted in Pub | 23 Comments

When it rains, it pours – what happens when the cloud disappears

Update: It turns out that my website was not affected by the outage; just the Yottaa monitoring service. I was not in the one availability zone suffering from an outage. So much of what I wrote below was incorrect. Also, they’ve posted a detailed postmortem which is a great bedtime read.

For a few months now I’ve been cheering on Amazon as I’ve dived further into its cloud services. It has had excellent performance, little downtime, and is extremely affordable. But on the road to work today, I was listening to my Marketplace podcast, and a discussion of the reliability of cloud services took place, specifically pointing to Amazon’s recently massive outage which hit massive sites like Reddit and FourSquare. Wait, what? There was an outage?

I have my cloud services set up to be monitored by external websites to alert me to exactly these kinds of problems. I double checked my inbox… nope, no alerts. Nothing in the RSS feeds either. Hmm… I logged into, but after battling with the pretty awful user interface for half an hour, found out that history was capped at 24 hours. The event occurred 4 days ago. Great.

Then I checked Yottaa, and it showed me this:

Well that’s no good! My website was offline between 04/21/2011 03:00 and 04/22/2011 15:00; 37 hours. Oddly, it didn’t even register as an outage in Yottaa’s dashboard, nor did I get any alerts (apparently that’s not even an option)… well, Yotta’s got a beta label on their front page, so maybe it will get better. Ironically, the CSS wasn’t loading when I was using Yottaa’s site today. I seem to recall that Yottaa is hosted on Amazon’s servers…

I have a third monitoring service – Amazon CloudWatch. The last time I had an issue was when the server stopped responding due to a hardware failure. CloudWatch sent me an email that let me know with 10 minutes that the server was down, and I switched the site to a different server within an hour. Alas, no such email came for this incident… the server itself wasn’t suffering from a CPU or network fault, at least from the CloudWatch server’s perspective. In fact, it still isn’t clear what exactly went wrong… Amazon’s Service Health Dashboard has noted that it was a problem with their storage backend, but CloudWatch shows successful disk I/O on my instance throughout the incident.

This outage could have been avoided if I had any redundancy for this website (the outage only badly affected one of the four data zones located in Virginia, where my stuff happens to be; if I had had another server on Amazon’s cloud in Japan or California or Ireland I would have been fine)). But I don’t, because I’m a cheap bastard and don’t care about the Internet’s feelings.

So despite Amazon’s first major outage, I’m sticking with them. They were sufficiently transparent during the process via their status updates and will hopefully produce an interesting post-mortem. I expect that they’ll learn a lot from their mistakes, and that websites that rely on Amazon will learn to implement some redundancy (though most of the impacted sites are startups that are as frugal as I am, so maybe not).

Posted in Geekage, Pub | Leave a comment

Gmail forwarding

I have a few old Gmail and Google Apps mail accounts that I’m forwarding to a shiny new domain. This works great, and it forwards everything received at the old accounts to the new accounts, except for anything it flagged as spam. Unfortunately, Google’s spam filter has a fluctuating false-positive rate which is pretty high for me. What can you do to bypass the spam filter?

Gmail’s filtering system is fantastically powerful. It’s also the solution to this problem.

  1. Create a new filter: use the “doesn’t have” field and put the EICAR anti-virus test string in there X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
  2. Select these options for the filter: “Forward it to”, “Delete it”, “Never send it to Spam”
  3. Now that you’re done creating this filter, disable your account’s normal forwarding mechanism if you’ve already set it up

Gmail might complain that the filter will never match an incoming email. Ignore it. The cake is a lie. And because Google rejects viruses prior to delivery (actually, prior to its SMTP server closing a connection to an inbound email), this filter will match all mail that could possibly be delivered to your account. And it’ll tell Gmail that it’s not spam, and forward it to your new address. And then it’ll delete it for good measure.

Posted in Pub | Leave a comment

Maps in the UAE

Street addresses do not work in the UAE. While they officially do exist, a long history of disagreements on what to call each street, the odd superblock structure of the city, inconsistent numbering, and linguistic difficulties have all conspired to make it impossible for anyone to know for sure what address they live at. The telephone company uses an obscure plot numbering system borrowed from the ownership records, and organized companies attempt to look up your building using your telephone number (and usually fail). For the rest of us, we use a system truly out of the dark ages: bad English. For example:

“I live in Sama Tower, which is in Madinat Zayed next to the New Medical Center. Madinat Zayed. It’s on the corner of Airport Rd. and Elektra St. No, it’s not near the Abu Dhabi Airport… it’s close to the Corniche. On the same block as the Madinat Zayed Mall. It’s on the corner of 2nd and 7th. Close to the HSBC building. It’s the very tall boring rectangular building.”

This is made even more fraught with error by the fact that the delivery guy got off the boat just 2 months ago when he started learning English. Poor sap.

Some of the larger companies, who have the resources to make websites, have decided that this system could use some improvement. I’m pretty sure the process went like this:

Bob: Hey Joe! I know you’re busy and everything, but we should really put a map on our website since there are no addresses in this country. Could you take a few minutes and do that for me?
Joe: I fix cars.
Bob: Great! Have it done in 10 minutes.
Joe: …

So poor Joe gets stuck making a map, probably in Paint.exe. He has to estimate the size of each superblock, the placement of various landmarks he uses to get to work, the road names, and get an espresso for Bob. As you might expect, it’s a complete disaster. Just look at the map below.

In this map there are no road names. Okay, I said that nobody could agree on the names of the roads in Abu Dhabi, but maybe you could just pick one? No? How about a road number? Sure, there are about 849 “10th Street”s in Abu Dhabi, but in the area of the map, there’s probably only one. The highways also have numbers (yes, there is a highway on the map… can you tell which road it is?). Wait, why isn’t North up? Poor Joe, his map not only prevented him from fixing the thingymabob that was causing the car to spontaneously combust, but also prevented anyone from actually getting to his business.

Unbeknownst to Joe, there is a much better way to provide a map. See, a few decades ago we began launching big hunks of metal into asynchronous orbit around this planet. Whizzing and whirring, they sent digital bits of information back to nerds on the ground, who interpreted the information and made photographs out of them. Later, a small company named Google was born, and made useful maps out of the photos. They even made them available on a series of tubes for free! Today, we can take advantage of their foolish willingness to combine these images with AJAX (haha, suckers!). The result should look something like this:

View Hyundai Workshop in a larger map

You’re welcome, Bob.

Posted in Pub | 1 Comment

When Elektra street looked up

This is the tower I live in:

Now look closer.

Now up a little.

Yeah. That’s no good. Apparently the high winds today that were kicking sand all over the roads also knocked a cleaning rig around the corner of the building. I’m not quite sure how the bucket travelled 15 floors up from where the initial damage took place, but the rescue is really something I wish I had seen (security is keeping mum, but the grapevine says the workers are okay). Ironically, the tower management had posted a notice saying that we were switching away from these cleaning rigs with people in them to robotic window cleaners… I wonder if this was one of the reasons they had in mind. Now, how are they going to get the bucket back around the corner without breaking more glass?

Posted in Pub | Leave a comment

Emirates Skills: training for the race to the bottom

A literal red carpet was rolled out in the lobby of our building today. Large tents were set up in the courtyard, and incredibly fancy catering (they set up a backdrop with nice lighting, and glittering tablecloths and chair covers adorned the furniture) wafted smells of beef biryani towards passerbys. Nobody at the university seems to know what’s going on, but a small sign and a website reveals quite a bit. Emirates Skills is, ostensibly, a national competition in the UAE designed to recognize and promote technical expertise among the youth of the local population. A national technical contest really wouldn’t be anything to write about, were it not for the fact that it seems to have been setup by people who seriously lack the expertise to be setting up such contests. For example: the first technical specification outlining the conditions of a contest that I read was filled with very obvious grammer and spelling errors. Okay, so someone forgot to proofread that… but even worse, the “skills” that are being tested are very vendor-specific. The first paragraph of the document:

The name of the skill is Information Technology-Office Software Applications; this skill covers various uses of Microsoft office [sic] 2007 suits [sic]. Practical mathematical and theoretical knowledge.

Databases can only be created in MS Access. Spreadsheets can only be created in Excel. The documents actually notes that it is testing the same skills as covered in the “Microsoft Office Specialist” certification program. Really guys? There’s a whole ecosystem of software out there, and while Microsoft Office may be the most pervasive office suite, there are so many alternatives out there, and it doesn’t make sense to be promoting one company’s software over another. (The contest isn’t even being sponsored by Microsoft!) These limitations really restrict creativity and turn youth away from thinking about how to best accomplish the task at hand, instead training them to be mindless drones (the education system in India has done a great job of doing that to a large portion of the population). Ah, well… maybe the robotics category will turn out something cool.

Nevermind, they’re forcing everyone to use Lego Mindstorms.

Posted in Pub | Leave a comment

Into the wild: geeking in Oman

A few days ago we celebrated the Prophet’s birthday with a 3 day weekend, allowing me time to head into the mountains for an extended trip. Just one problem: the qualification round of Google Code Jam Africa Arabia fell on Thursday, and there would be no internet access at the remote cliffs. I briefly considered foregoing the experience, but with the valuable prize of a t-shirt at stake, the geek force in me was too strong to resist. I managed to get two brief climbs under my belt before making off with the Jeep to head back to civilization, leaving my companions alone in the middle of Nowhere, Oman.

Worried that the border crossing would have heavy delays due to the holiday, I stopped at an Omani gas station and was delighted to find that I had a strong 3G signal from across the border. I opened my laptop, plugged everything in, and… disaster! The cheapo power inverter was broken! I glanced at my laptop’s power meter: 88%, 2 hours and 30 minutes.

I quickly started working on the problems, racing against the battery. The first two problems went quite well, though it had been difficult to concentrate with giant trucks honking and making 3 6 point turns in spaces that were far too close to the Jeep. It was also getting quite warm, with the laptop dissipating its limited energy as heat. I rolled down the windows, but the mosquitoes and flies quickly changed my mind. “No sweat,” I thought, as I had just one more problem to complete.

That last problem took me 1.5 hours, and left my battery at 8%. I was drenched in my bodily fluids. I had qualified.

Posted in Pub | Leave a comment

Sketching up the machine shop

I know what we want, but have no idea which models to get… help?

Posted in Pub | Leave a comment

Quick, what’s my IP address??


Announcing the glorious debut of two sites: and


Here in the UAE, it pays to be sure whether you’re on your VPN or not. There are also many other technical reasons you might want to know your external IP. Unfortunately, most of the sites that reflect your IP to you accompany the information with lots of ads and other crap you don’t care about. used to be quite good, returning just your IP, but is now quite slow and unreliable.


Returns your external IP address. No more, no less.
$ curl

Returns your external IP address and your resolved external hostname (or just your IP again if it could not perform a reverse lookup)! Wow! Useful for checking which ISP you’re on.
$ curl
Posted in Pub | Leave a comment

Protip: do not leave your passport in your pants, and then put your pants in the washer and dryer. Trust me on this one.

Posted on by lid | Leave a comment