Archive for January, 2006

Best. Support. Ever. Apple wins a customer

Monday, January 23rd, 2006

Last Saturday I turned on my iPod nano to discover that about a third of the horizontal lines were solid white, obscurring the volume bar. I was momentarily devestated that my black beauty had broken. In desparation I googled “apple ipod support” and came to the iPod support page. I didn’t have a lot of hope for the outcome, but I filled out a couple forms anyway. Saturday night (yes, the same day, on a weekend no less), I got an email from Apple saying that they would replace my iPod for free. I was happy, but skeptical. Could it be that easy? And free? That never happens with online returns.

On Monday, a box arrived with prepaid DHL shipping label. The included instructions told me to stick my iPod in the box and send it back to Apple. This is the kicker: Apple even included strips of packing tape for me to seal up the box. Amazing! Not only did Apple spring for the shipping costs, but I didn’t even have to come up with my own tape. Total cost to me: $0.00.

On Friday, my replacement iPod arrived, and I’m listening to it now with all my old tunes loaded. Painless, free, fast. Apple got it right.

Apple: This is my first positive support experience from an online purchase. I never had to wait on hold, never had to even dial my phone, and you covered shipping. That’s the way it should be. You’ve won a customer for life.

Make and the ?= operator

Tuesday, January 10th, 2006

The GNU crew improved Make with lots of handy stuff. One such gem that I found today is the ?= operator, which only defines a macro if it is not already defined (like as an environment variable). It behaves almost like wrapping the assignment in ifndef. John Gramm-Cunning has a good explanation of this subtle difference.

Here’s an example of ?= in action.

INSTALL_HOST ?= root@myhost.example.com

The INSTALL_HOST macro will have the value “root@myhost.example.com” unless someone specifies it as an environment variable when invoking make. This makes its value easily overridable by users calling your Makfile, like this:

$ INSTALL_HOST=root@foobar.com make install

I find it pretty handy.

However, I have one gripe. Make in general is tough to learn because its keywords and operators are not Googlable. Say I find the ?= operator in a Makefile and I want to look it up. Normally, I would just punch it into Google, but that just gives you a bunch of junk results. Not a huge deal, but it’s tough to find good docs out there for this reason

Nobody knows what f_fsid is supposed to contain

Thursday, January 5th, 2006

It’s not everyday that a man page makes you laugh out loud, but this blurb from the page for statfs did the job for me:

Nobody knows what f_fsid is supposed to contain

I really did laugh out loud, until I read below in the page that basically explains that f_fsid just holds different things on different operating systems.

Good for a laugh nonetheless.