January 2008 Archives

Replicants are like any other machine. They’re either a benefit or a hazard. If they’re a benefit, it’s not my problem.Deckard, Blade Runner

A Software Update

The Software Update window popped up on my Mac Pro today, with iTunes and Quicktime updates. I installed and rebooted, then… nothing. It just sat there with the grey spinner going. When this happens (which is a lot), I tell myself:

Apple sucks. They make the hardware and the software and they can’t even reboot without a hang.

Then I cycle power, and it boots. Except this time.

Welcome to Hell

This time, cycling power did nothing. Rebooting in safe mode (Shift key) did nothing. Rebooting in choose-startup-disk mode (Option key) did nothing. Repeating the above with a wired Apple keyboard did nothing. Repeating the above with all external devices disconnected did nothing. Oh shit.

Getting a Clue

After about 10 minutes of fooling around, I got lucky and stumbled onto this series of steps:

  1. Plug in a wired mouse.
  2. Reboot in eject-cd mode (hold mouse button down).
  3. Stick in the OS X install disk.
  4. Reboot in choose-startup-disk mode (Option key).
  5. It works. Notice that your boot choices include, as usual, (a) the RAID mirror, (b) the second slice of the RAID mirror, but not (c) the first slice of the RAID mirror. Grunt knowingly.
  6. Select the RAID mirror, boot. Cheer.
  7. degraded-raid-mirror-in-disk-utility.pngOpen Disk Utility.app, and note that the RAID mirror is “Degraded,” and that “disk0s2” has “Failed.”
  8. Select the (degraded) RAID mirror and do a “Verify Disk.” It passes. Whew.

Well, now we’re getting somewhere. I’ve got a bad drive. I wonder if my Mac Pro’s history of dodgy reboot performance could be related. But I digress.

SMART Isn’t

I forgot to mention Step 9: Check SMARTReporter’s log file. You see, campers, modern hard drives support a “standard” called SMART, which stands for “Self-Monitoring, Analysis, and Reporting Technology,” but as we’ll soon see, means “Worse Than Worthless False Confidence Generator.”

Anyway, SMARTReporter’s menu bar display says everything is grrrrrreat. And its log file seconds the motion:

2008-01-20 12:29:17.721 SMARTReporter[466:20b] Drive: 'Hitachi HDS725050KLA360 ( | KRVN27ZAK612ZF | disk0)' Status: SMARTOK (S.M.A.R.T. condition not exceeded, drive OK)

Mind you, I’m not slamming SMARTReporter. I’m slamming the apparently-pathetic implementation of SMART on my Hitachi Deskstar HDS725050KLA360. A drive for which I paid too much money because, you see, it’s genuine Apple factory equipment. Which leads us to the happy part of this story, my call to AppleCare.

AppleCare Saves the Day

At this stage of the game, I’m feeling pretty good. I have a bad drive, but I’ve also got AppleCare, so my drives are covered (which is why I paid too much for Apple drives in the first place).

I call 800-275-2273, listen to hip music for 10 minutes, then get some exotic sounding guy. Despite the accent, I’m pretty sure he’s in California rather than Bangalore.

I spew my sad story. He counters with “have you tried reinstalling the operating system?” OK, at this point, I’m priming myself for some serious idiot-destroying. I’m gonna make him wish he’d never been born. Same for the five other guys I’m gonna have to talk to before they do the right thing.

But I’m cool. I repeat that this is a drive failure. That the array is “degraded,” and that the drive has “failed.” Immediately, he gets it, and three minutes later, a new drive is on its way from Apple to yours truly.

Wow. I am happy, again, that I bought an Apple.

OS X Blew It

I’m using OS X’s software implementation of RAID. It seems to work just fine. But if you’ve ever been burned by a RAID setup, you know that the rubber meets the road when something goes wrong. In this case, OS X’s software RAID totally blew it.

Imagine that you’re a software implementation of RAID. You notice that one of the slices of a RAID-1 array refuses to come online. How would you handle this error? If you answered “I’d hang the whole freaking operating system” you may have a future at Apple writing device drivers. If you answered “I’d boot anyway, and display an error dialog,” go to the head of the class.

Extra credit if you write a description of the problem to a log file. Which OS X didn’t. The logic here is that, if the computer won’t boot, there’s no way to read a log file anyway. Joke!

A Benefit or a Hazard?

By using a RAID mirror, I basically asked for this problem. A two-drive mirror is twice as likely to lose a drive as a single drive setup. On the bright side, the odds of losing two drives at once is the square of the odds of losing a single drive. And losing two drives at once is the only scenario that matters.

Unless you count the losing-your-last-drive-before-fedex-delivers-the-replacement scenario. That’s a bad one :-)

Yahoo! Sucks!

| | Comments (0) | TrackBacks (0)

Every time I deal with Yahoo!, I understand, again, how Google became #1.

I just submitted this blog at Yahoo! Site Explorer. After you click “Submit URL”, you see this depressing message:

Thank you! Your URL has been added to our list of URLs to crawl. Please expect a delay of several weeks before your URL is crawled.

OK, thank you, Yahoo! State Commissariat on Series of Pipes of Internet. That’s exactly what you would expect from a used-to-be in web search. But it gets worse. Below the aforementioned declaration of mediocrity is this little gem:

Search Submit:
- Guaranteed inclusion in Yahoo! Search index.
- Frequent refresh-every 48 hours.
- Reporting to track and optimize performance.
- Ranking based on relevance.

If you want Yahoo! to not-suck, it’ll cost you $49 per URL per year:

Search Submit Basic enables you to submit up to 5 URLs per domain for inclusion in non-sponsored search results on Yahoo!, and other portals such as AltaVista and AllTheWeb.

Lets see, “guaranteed inclusion” in the Yahoo! index for fifty bucks. I wonder what part of “non-sponsored” has Yahoo! baffled.

Of course, there’s more.

If you’d like to get boned extra-hard and further corrupt the integrity of Yahoo!’s search results, there’s Search Submit Pro:

Search Submit Pro gives you the tools to fine-tune your search marketing strategy. Expand your presence in the algorithmic search results, gain more control over the way your Web content is presented, and gain insight into user behavior to drive more sales.

I love the part about “expanding your presence in the algorithmic search results.” It sounds so much nicer than “our search results are for sale.”

Apple’s Bug Reporter pegs the irony meter nearly every time I use it.

This time, I can’t log in.

But wait, it gets better. This apparently happens so much that the login screen contains a link to another web app that tattles on the Bug Reporter:

*ADC Members: Report Login Issue

Fortunately, the tattler is more reliable than the Bug Reporter itself. That’s because it doesn’t use Web Objects, or because it’s not a piece of crap, or both.

Once you log into the Bug Reporter, and actually try to create a bug, you’re in for another treat. When you try to attach a file, this is the usual response:

An error occurred while attempting to reach the enclosure database. You may submit this report, but attachments will be not saved. Please either upload your files at another time, or send them to devbugs@apple.com referencing the corresponding Bug ID number.

You read right, folks. Uploading the attachment fails so often that the error message includes instructions for mailing the attachment to a human being who will attach the file manually.

There’s no villains here… it’s just… sad.

Leopard Server ships with MySQL and Ruby on Rails. So far, so good.
But when you fire up a Rails app that uses MySQL:

$ ruby script/server

and access something that hits the database, you get this:

WARNING: You're using the Ruby-based MySQL 
library that ships with Rails. This library is not suited 
for production. Please install the C-based MySQL library
instead (gem install mysql).

The fun has just begun. Try to install the mysql gem (enter “3” and press return when prompted):

$ sudo gem install mysql
Select which gem to install for your platform (universal-darwin9.0)
 1. mysql 2.7.3 (mswin32)
 2. mysql 2.7.1 (mswin32)
 3. mysql 2.7 (ruby)
 4. mysql 2.6 (ruby)
 5. Skip this gem
 6. Cancel installation
> 3

Congratulations, the install has failed:

Building native extensions.  This could take a while...
ERROR:  While executing gem ... (Gem::Installer::ExtensionBuildError)
    ERROR: Failed to build gem native extension.

Your next move is to Google for a solution for a couple of hours. Yes, other people are having this problem, and no, none of them are running Leopard Server, so their solutions won’t work. What next?

  1. Submit a bug to Apple making this series of irrefutable points:

    • Leopard Server ships with Rails.
    • Leopard Server ships with MySQL.
    • Leopard Server is a production-ready operating system.
    • Rails, as shipped in Leopard Server, is not production-ready (see previous item).
  2. Receive a (timely, thank you Apple) response reminding you that the MySQL client libraries don’t ship with Leopard Server, so why don’t you install them, per this article?

  3. Having installed the client libraries, spend another hour on Google until you figure out the magic:

    $ sudo gem install mysql -- \
      --with-mysql-include=/usr/include/mysql \
      --with-mysql-lib=/usr/lib/mysql
    

    Enter “3” again, and you’ll see:

    Building native extensions.  This could take a while...
    Successfully installed mysql-2.7
    

Ah yes. The pain, she has go away.

About this Archive

This page is an archive of entries from January 2008 listed from newest to oldest.

February 2008 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.01