"So there are Oliphaunts. But no one at home will ever believe me."
Random header image... Refresh for more!

Category — apple

Troubleshooting hardware/software interaction

When you’re trying to figure out what when wrong, you have to look at all the variables, not just the obvious ones.

I rebooted my hackintosh a few days ago, and instead of booting to the Chameleon boot loader screen, it hung on the spinner. I decided to leave it to the weekend to fix. I hadn’t performed any updates to important system software so I figured it was going to be small nightmare to track down whatever minuscule change had broken the system. I had been making a back up image of the boot partition on a daily basis, but I stopped a few weeks ago when I swapped in an old hard drive that was giving me problems so that I could recover some files from it.

This morning I began the recovery process by removing that old drive and plugging the recovery image drive in. But, dang it, the recovery drive wouldn’t get past the “recovering DMI pool data” message, which means the BIOS couldn’t pass drive information to the boot loader. On a hunch I tried rebooting from the main drive again, and this time it worked with no issues. So I conclude that the old, scratch drive I had been using finally gave up the ghost and Chameleon was choking on trying to read the disk to see if it contained a bootable partition. Possibly if I had let it try long enough, it would have past the problem drive.

March 26, 2011   Comments Off

Corrupting your Preferences

There is nothing more insidious than having your preferences corrupted. Of course I’m talking about the file that stores your configuration information from an application running in Mac OS X becoming unreadable to the computer, causing unpredictable results.

Every application stores information about itself in something known as a property list file, or plist file for short. Any well-behaved application will create it for you if it is missing. This happens, for example, the first time you run the program. If this configuration file gets corrupted—for example, if there was a crash while it was being updated—then the program may not be able to read it the next time it starts up. Rather, it may be able to read it, but only partially, yielding strange, incomplete, or undefined options controlling the behavior of your application.

This happened to me recently when iChat refused to start up with the video camera enabled. It would tell me that the computer did not support video conferencing. However, it was able to turn the indicator light for the camera on, and all other programs using the camera worked fine. A bit of Google searching revealed that iChat is particularly susceptible to having its plist file corrupted in a way that has this effect.

Even if you don’t have a reason to suspect the preferences file, it is not a bad troubleshooting technique, when you are up against the wall and everything else has failed. So it’s a good technique to remember.

Most plists will live somewhere in your Home folder’s Library. In my case, I found the .plist for iChat in Home/Library/Preferences. It’s name was com.apple.ichat.plist. Quitting iChat, deleting the file, and restarting iChat solved the problem.

February 25, 2010   Comments Off

Creating custom subclasses for MyDocument

I learned two things while playing around with Cocoa.

Firstly, in order to change the default MyDocument subclass of NSDocument to something else, say FooDocument, it is not enough to change the class references. Of course the whole application is tied into Interface Builder’s .xib files by magic, so you have to tell MyDocument.xib’s File’s Owner that its new class type is FooDocument. That wasn’t too hard to figure out. However if you do that you’ll get a cryptic error:

The DocumentType type doesn't map to any NSDocumentClass

This is because the class name of the document is part of the application’s configuration file. In other words you have to update your InfoPlist.

The second thing I figured out is that (NSString *)windowNibName isn’t just for looks. I foolishly changed the return value thinking it would programmatically set the name of the document window. No. The application framework sends this message to the NSDocument instance you have configured for your application (see above) to figure out the name of the .xib (or .nib) file it needs to wake up to display your document. Which is nifty, but one of those mysterious interactions that makes Cocoa hard to learn but easy to use.

Is there a flow chart to model the interaction of the run time and .nibs?

February 17, 2010   Comments Off

Canon VIXIA HFS-100 fumble test

So, I just got this new toy. The following video was shot after ripping the camera out of the box and fumbling with it to figure out how to turn it on, set it to high quality, zoom and focus. Hence it is nothing more than the fumble test. Here is a sample of what you get with the “raw” AVHDC conversion to Apple Intermediate codec, and another sample of what you get when you use iMovie 09′s Share > Export Movie… > HD option (720p).

The links below should pop a QuickTime player for you. Both are large files at high resolutions. Cuts are about 16 seconds each (I didn’t bother trying to make them exactly the same but the overlap is considerable).

Apple Intermediate, 1920×1080 pixels, 214 MB

iMovie HD Export, 1280×720 pixels, 24 MB

Light in the room was above average (very sunny out, large windows on three sides, high ceiling).

By the way, I really like the camera. I’m already wondering if I should get the extra battery and charge, and a wide angle lens. Still, too bad about that viewfinder, Canon.

July 17, 2009   Comments Off

Brain transplant

iTunes. A great program that leaves your life in a mess if you share a household with another music lover and iTunes consumer. I’ve always manually managed keeping my library and my wife’s library more or less in sync, without excessive duplication (thanks to symlinks). It’s a lot of work though, and the result is a library spread across several hard drives, no consistency, and no process that my wife can understand or duplicate (“How do I get the songs in your library into mine again?” Sorry Apple, but any answer that begins with “First mount the network drive in your account…” isn’t going to cut it).

I had hopes for AppleTV coming to the rescue, but the truth is, Apple does not rescue problems that affect only 1% of users, their rationale for the recent switch from ExpressCard slots to SD card slots. I feel sorry for the 15″ MacBook Pro users that just got hosed by Apple. The right solution was to include an SD card adapter already installed. Or to add a second port.

Anyway, tonight I am upgrading my wife’s laptop and my laptop with 500 GB hard drives. The only way I can make a solution that works for her is to consolidate everything in her library, and mine. I’m going away for a year, so the libraries will fork during that time, and then I get to reconsolidate them. Good times.

Apple, fix iTunes. It cries out for a client-server database-driven solution.

July 13, 2009   Comments Off