A useless analysis of OS X release dates

May 9th, 2012

Updated and republished for 10.7.4′s release; skip it unless you really really care about all the OS X releases. Originally published on November 14th, 2005.

Below the break is a table showing all major releases of OS X from the public beta through the latest public version, which is OS X Lion 10.7.4 as of May 9, 2012. Note that this release marks the 64th release of OS X (counting both major and minor versions, and skipping two ill-fated updates). Wow.

Note: Click the ⓘ symbol to read Apple’s release notes for a given update.

The following was culled from Apple’s support downloads page, and as such, some of the dates may be off just a bit. If you know for certain that something is incorrect, please let me know and I’ll get it fixed.

Year Month Day Interval
(days)
Version Comments
2012 May 9 98 10.7.4
Feb 1 112 10.7.3 Eight new languages
2011 Oct 12 56 10.7.2 Now iCloud enabled
Aug 17 29 10.7.1
Jul 19 26 10.7 Lion – App Store only (USB stick in the fall)
Jun 23 94 10.6.8 App Store readied for Lion
Mar 21 74 10.6.7
Jan 6 57 10.6.6 Can you say “App Store?”
2010 Nov 10 148 10.6.5
Jun 15 78 10.6.4
Mar 29 140 10.6.3
2009 Nov 9 60 10.6.2
Sep 10 13 10.6.1
Aug 28 23 10.6 Snow Leopard – First Intel-only release
Aug 5 85 10.5.8
May 12 148 10.5.7
2008 Dec 15 91 10.5.6
Sep 15 77 10.5.5
Jun 30 33 10.5.4
May 28 107 10.5.3
Feb 11 88 10.5.2
2007 Nov 15 20 10.5.1
Oct 26 128 10.5 Leopard – First universal binary release
Nov 14 147 10.4.11 This ’10′ goes to ’11′
Jun 20 99 10.4.10
Mar 13 165 10.4.9
2006 Sep 29 94 10.4.8
Jun 27 85 10.4.7
Apr 3 48 10.4.6
Feb 14 35 10.4.5
Jan 10 71 10.4.4 First Intel-capable release
2005 Oct 31 111 10.4.3
Jul 12 57 10.4.2
May 16 17 10.4.1
Apr 29 14 10.4 Tiger
Apr 15 65 10.3.9
Feb 9 56 10.3.8
2004 Dec 15 40 10.3.7
Nov 5 88 10.3.6
Aug 9 75 10.3.5
May 26 72 10.3.4
Mar 15 89 10.3.3
2003 Dec 17 37 10.3.2
Nov 10 17 10.3.1
Oct 24 21 10.3 Panther
Oct 3 57 10.2.8
Aug 7? 93 10.2.7 For first-gen G5s only
May 6 26 10.2.6
Apr 10 56 10.2.5
Feb 13 56 10.2.4
2002 Dec 19 38 10.2.3
Nov 11 54 10.2.2
Sep 18 26 10.2.1
Aug 23 79 10.2 Jaguar
Jun 5 47 10.1.5
Apr 19 57 10.1.4
Feb 21 62 10.1.3
2001 Dec 21 37 10.1.2
Nov 14 50 10.1.1
Sep 25 95 10.1 Puma
Jun 22 44 10.0.4
May 9 1 10.0.3
May 8? 22 10.0.2 Released but replaced (see comments)
Apr 16 23 10.0.1
Mar 24 192 10.0 Cheetah
2000 Sep 13 10.0β Public Beta

Note: The Interval column reflects the number of days between update releases. Only one entry requires explanation, and that’s the value for the 10.5 release—it’s measured from 10.4.10′s release date, as 10.4.11 actually came out after 10.5.

Some random notes, updated from the original post:

  • Starting with the Public Beta and up through 10.7.4, there have been 64 OS X releases, both major and minor. This figure excludes two potential updates—10.0.2, which as far as I can tell, was never released, and 10.2.7, which I believe was the update with the one-day lifespan. If I’m wrong about either of these, please correct me.
  • As of May 9th, 2012 (10.7.4′s release date), it’s been 4,256 days since the Public Beta was released. So on average, we’ve seen some sort of update every 66.50 days.
  • The shortest time period between any two releases is 13 days, which is how quickly 10.6.1 came out after the 10.6 Snow Leopard release.
  • The longest time period between any two minor releases is 165 days, which was how long we waited for the 10.4.8 » 10.4.9 update.
  • Here’s a list of release counts by version number:
    • Public Beta: 1 release
    • 10.0: 5 releases
    • 10.1: 6 releases
    • 10.2: 9 releases
    • 10.3: 10 releases
    • 10.4: 12 releases
    • 10.5: 9 releases
    • 10.6: 9 releases
    • 10.7: 4 releases and counting

I warned you it was useless…perhaps not completely boring, but useless!

How to use Safari to track The Masters leaderboard

April 5th, 2012

In general, I don’t use Safari—mainly because I’m addicted to the add-ons I get with Chrome and Firefox. (Yes, I know Safari has extensions…but they’re underpowered and feature limited compared to what you can get in the other browsers.) However, during Masters week, Safari has a key role in my following the tournament, thanks to one key feature: web clip, i.e. Open in Dashboard.

While The Masters has an excellent iPad app, I don’t like having the iPad locked into one app for hours at a time. So, to follow the leaderboard, I turn to Safari’s Open in Dashboard feature, along with a favorite old Mac OS X Hints hint that allows me to drag widgets out of the Dashboard. Using these two things together, I can view the full Masters leaderboard, floating in a window all its own.

Best of all, the interactivity of the leaderboard is preserved, so I can re-sort the list, expand a player’s scores, and do all the other things I can do on the actual leaderboard page.

Note that you’ll need some spare monitor space for this trick: the dragged Widget floats over every other window, so it will get in the way if you’re using, for instance, an 11″ MacBook Air.

If you’d like to do the same, here’s how…

  1. Implement the referenced hint, so you can drag Widgets out of the dashboard.
  2. In Safari, open The Masters’ leaderboard page.
  3. Select File > Open in Dashboard, then hover your mouse over the main leaderboard area (it will highlight), then click Add in the purple bar at the top of the window.
  4. Dashboard will open, showing the leaderboard in its own window. Now start dragging that window, then press F12 to exit Dashboard. The dragged window will still be with you; drop it where you’d like to keep it, and you’re done.
  5. You can quit Safari at this point; once the web clip is created, you don’t need Safari running.

Note that web clippings like this are ephemeral—if you close the widget, you’ll have to create it again from scratch. You can also drag it back on the Dashboard, by reversing the process: start dragging, press F12 to activate Dashboard, then release the drag.

Wallpapers: iPad 3 (aka the new iPad)

March 22nd, 2012

The following wallpapers are 2048×2048 pixels in size, and designed for use on third-generation iPads (“the new iPad”). Note that the images shown in the carousels are very low-quality 512×512 JPEG representations of the actual photos; to get the high-quality images, download the entire bundle [29MB] and install only those you wish to use.

Home Screens

Loading Images
wpif2_loading
H_clouds1++H_clouds2++H_clouds3++H_sand1++H_water1++
You can use your scroll wheel/trackpad to scroll

Lock Screens

Loading Images
wpif2_loading
L_birds1++L_birds2++L_boat1++L_boat2++L_building1++L_clouds1++L_clouds2++L_clouds3++L_fish1++L_fish2++L_flowers1++L_flowers2++L_golf1++L_lake1++L_lizard1++L_mountains1++L_plane1++L_plane2++L_rocks1++L_scuba1++L_scuba2++L_scuba3++L_scuba4++L_sunset1++
You can use your scroll wheel/trackpad to scroll

License: All photographs in these wallpapers are © Rob Griffiths, and are freely provided for personal use only. You may not include these wallpapers on other sites, nor in any commercial product, without my prior permission. (I hate having to put this here, but prior experience has shown it to be necessary.)

Wallpapers: iPad and iPad 2

March 22nd, 2012

The following wallpapers are 1024×1024 pixels in size, and designed for use on the first and second generation iPads. Note that the images shown in the carousels are very low-quality 512×512 JPEG representations of the actual photos; to get the high-quality images, download the entire bundle [9MB] and install only those you wish to use.

Home Screens

Loading Images
wpif2_loading
H_clouds1++H_clouds2++H_clouds3++H_clouds4++H_clouds5++H_rocks++H_sand++H_water1++
You can use your scroll wheel/trackpad to scroll

Lock Screens

Loading Images
wpif2_loading
L_clouds++L_clouds1++L_clouds2++L_clouds3++L_clouds4++L_flowers++L_flowers1++L_golf++L_landscape1++L_landscape2++L_landscape3++L_landscape4++L_landscape5++L_landscape6++L_landscape7++L_landscape8++L_landscape9++L_landscape10++L_landscape11++L_landscape12++L_landscape13++L_scuba++L_scuba1++L_scuba2++L_scuba3++L_scuba4++L_scuba5++L_scuba6++L_scuba7++L_seagull++
You can use your scroll wheel/trackpad to scroll

License: All photographs in these wallpapers are © Rob Griffiths, and are freely provided for personal use only. You may not include these wallpapers on other sites, nor in any commercial product, without my prior permission. (I hate having to put this here, but prior experience has shown it to be necessary.)

Wallpapers: iPhone 4 and iPhone 4S

March 22nd, 2012

The following wallpapers are 640×960 pixels in size, and designed for use on the iPhone 4/4S. Home screen images feature a slightly darkened navigation bar (where the paging dots appear), along with a fade-to-darker gradient in the Dock area below the navigation bar.

Note that the images shown in the carousels are very low-quality JPEG representations of the actual photos; to get the high-quality images, download the entire bundle [6MB] and install only those you wish to use.

Home Screens

Loading Images
wpif2_loading
H_clouds1++H_clouds2++H_clouds3++H_clouds4++H_rocks2++H_sand1++H_scuba1++H_scuba2++H_water1++
You can use your scroll wheel/trackpad to scroll

Lock Screens

Loading Images
wpif2_loading
L_bird++L_clouds++L_clouds2++L_flowers++L_golf++L_golf2++L_landscape2++L_landscape3++L_landscape4++L_landscape5++L_landscape6++L_landscape7++L_landscape8++L_landscape9++L_landscape10++L_landscape11++L_landscape12++L_landscape13++L_landscape14++L_scuba++L_scuba3++L_scuba5++L_scuba6++L_scuba7++L_scuba8++L_scuba9++L_scuba10++L_scuba11++L_water++L_water2++L_water3++L_water4++
You can use your scroll wheel/trackpad to scroll

License: All photographs in these wallpapers are © Rob Griffiths, and are freely provided for personal use only. You may not include these wallpapers on other sites, nor in any commercial product, without my prior permission. (I hate having to put this here, but prior experience has shown it to be necessary.)

A Rube Goldberg-inspired garage parking assistant

February 27th, 2012

We recently started parking our truck in the shorter of our garage bays—it’s short due to shelves at the front that can’t be moved any further forward (as they’d then block access to another portion of the garage).

The amount of wiggle room available is quite small—about two inches of leeway, at the most. So parking in the same spot every time is quite important. (The frontmost item on the truck is the bracket that holds the license plate, so that’s the part that needs to be watched.)

While there are many ways to solve this issue, here’s how I chose to do it:

Sure, I could have hung a tennis ball from the ceiling (I did that first, actually), or put a block on the ground in front of the tire. But I had issues with both of those methods, and I like semi-geeky do-it-yourself solutions. Read on, if you wish, for the details on the project…

Boring Background Info

Skip this section entirely unless you really want to know why I built a video-based system, instead of using one of the many other options available.

As noted, I first tried hanging a tennis ball from a string, such that it hit the windshield when the truck reached the ideal spot. While this worked, there were two issues with it. First, I had to get the truck’s left/right position just perfect, too, because otherwise the tennis ball would hit a different spot on the curved windshield, which meant I might run into the shelving. Second, it was really hard to tell when the tennis ball was going to just touch the windshield, and I didn’t have enough room to have it hit solidly then back up—so I wound up creeping in, inch by inch, until contact was made.

The second option I considered was some sort of stop-point indicator on the floor, like the custom pads you can buy in many auto parts stores. Alternatively, I could just secure a block to the floor at the front of a tire. However, our garage gets a fair bit of use for various projects, and as a play zone for the kids on rainy days, so I didn’t want something stuck in the middle of the floor.

That left electronic parking sensor systems, like the one pictured at right. After buying one, though, I discovered it lacked the sensitivity needed for my confined space—the one I bought wouldn’t work for distances under about two feet. (I tried aiming the sensor at parts of the truck that were further away, but the sensor wasn’t consistent enough to insure that I stopped at the same distance every time.)

After returning my purchase, and researching other systems available online, the best I found claimed it would work at about a foot, with some variability. Clearly that wouldn’t do the trick, given the limited clearance I had to work with.

I also considered an Arduino solution, but that seemed both complex (as I know zip about programming them) and expensive. I did find this project, but I wasn’t sure if the sensitivity would meet my needs, and didn’t want to risk the cost and effort just to find out it wouldn’t work.

At this point, I was about to give up when I discovered I had an old LCD panel lying around—it was the second screen from one of those cheap portable two-screen DVD players designed for in-car use. (The iPad has become our kids’ in-car entertainment system.) It had a video input port, so I reasoned I could just buy a cheap security camera, find somewhere to mount it and the display, and then visually watch the truck approaching the shelving, making it easy to stop just where I needed to. Here’s how I got it all working…

Step One: Find a screen

I was able to skip this step, as I already had one, but small LCD panels are plentiful and reasonably cheap—this one at NewEgg, for instance, is $54. The only requirement is that it have some sort of video input port, and a power supply (unless you want to tackle that project yourself).

The actual screen I had lying around was the second screen (the rightmost one in the image) from this Panasonic player.

I used it just as it appears (the stand folds flat against the back), though I briefly contemplated making a new case for it. Then I remembered that I have limited “maker” skills, and quickly tabled that idea.

Step Two: Find a camera

I had exactly two criteria for the camera: small and cheap. I wound up buying a Swann PNP-50 at Fry’s for $40. As an added bonus, it includes infrared LEDs, providing (supposedly) a grayscale image at night, up to 16 feet away.

I considered using automotive backup cameras, which are even smaller and cheaper, but I was worried that their wide field of view would distort the view too much for my needs (getting close to a vertical surface).

With camera in hand, I tested it with the LCD panel, and it worked perfectly. I wouldn’t say it reminded me of 1080p HD video, but it was more than adequate for my needs.

(You could buy a security camera and remote viewing screen bundle, but such systems were priced much higher than I was willing to spend for a garage project.)

Step Three: Solve the power problem

I only wanted the screen and camera powered on while I was actively parking the truck. I contemplated all sorts of complex sonar-based solutions to trigger the power when the truck started getting close to the shelving, but then remembered a very effective—and decidely low-tech—alternative.

Most garage door openers have lights, and those lights turn on when the door starts moving, and typically turn off a minute or two after the door stops moving. I didn’t want to lose the light socket, but this socket adapter from Home Depot (which cost all of $2.52) let me add a plug to the existing light/socket. As expected, the plug only has power when the light has power, which is only during and shortly after the garage door opens or closes.

While this isn’t perfect—there’s no need to use the camera system while backing out—for $2.50ish, it was more than good enough for me. I then ran an extension cord from the new plug, up along the ceiling, and over to the shelving, so I could plug in the camera and screen. A quick test (pressing the door’s Light button on the wall switch) showed that the system worked as expected.

Step Four: Position the camera

I thought this would be the simple part of the process, but it was actually the most time consuming. Because there’s so little room available, I couldn’t work in front of the truck while it was parked, so I had to temporarily attach the camera (duct tape!), move the truck in, check the picture, move the truck out, and repeat until it was right.

The camera had to be mounted somewhere where there was enough clearance from the truck, and yet provide a clear view of the front of the truck and the shelving. At first, I tried mounting it above the height of the hood, pointing down, but that didn’t work well. I then tried it down lower, pointing to the right, but I had to mount it so far to the side (to clear the truck) that the image wasn’t clear enough.

It was at that point that I stripped the camera of its anti-glare hood and tilt/swivel mounting bracket (as seen in the camera image above), which great reduced the necessary clearance.

I had a couple of L-brackets lying around, and amazingly, the screw hole for the camera’s hood lined up perfectly with one of the holes in the L-bracket. I attached the camera to the L-bracket, and tried a low location (still via duct tape), in line with the license plate bracket. (I used a lump of Professional Grade Duct Tape™ to make sure the camera didn’t tip while I was placing it; eventually I’ll replace that with some modeling clay or something.)

This worked exactly as I hoped: the edge of the license plate bracket comes into the camera’s view as I approach, and the shelving is visible at the same time. Parking is a simple matter of stopping when the license plate bracket is very close to, but not touching, the shelving.

Step Five: Clean up the installation

Once I’d found the spot for the camera, the rest was relatively easy. I mounted the camera with a couple screws and drilled a hole for the video cable.

I then bent a couple other L-brackets to serve as lower mounts for the LCD screen, and screwed them in at roughly eye height for someone seated in the truck. To make the screen easily removable, I held the top in with simple screw-in hooks; a half-twist on each, and I can remove the screen if/when it fails.

One more hole for the screen’s mess of cabling, some behind-the-shelving connections, and a couple of plugs into the extension cord, and it was done! (Click the image at right for a larger version.)

So how well does it work, in actual use? Wonderfully well, as seen in the video. I simply drive in until I see the bumper, then slow down as the plate bracket appears. With an onscreen view, it’s really easy to stop within the required two inches, every time.

Was this project strictly necessary? Not at all; a brick on the ground would’ve been much cheaper, faster, and about as effective. But it wouldn’t have been nearly as much fun.

Use Mountain Lion in VMware Fusion with Tools

February 16th, 2012

Note: As of VMWare Fusion 4.1.2, this hack is no longer necessary. I’ve left it here mainly for those using older versions of Fusion (though you may not be able to install newer Mountain Lion previews on those older versions of Fusion).

If you’re a Mac developer with access to OS X Mountain Lion, you might want to use it in a virtual machine. This is simple in VMware Fusion, but if you try to install VMWare Tools, Mountain Lion will kernel panic. Unfortunately, using virtual OS X without VMware Tools installed is painful—no screen resize, captured and laggy mouse, etc. So here’s a workaround to get Mountain Lion working with VMware Tools (this assumes you have Mountain Lion already running in a virtual machine):

  1. Make a snapshot of your current setup!
  2. Run the VMWare Tools installer, but do not reboot when it’s done. Just leave the installer running onscreen.
  3. Navigate to /Library > Application Support > VMware Tools.
  4. Delete vmmemctl.kext and vmmemctl
  5. Edit (you’ll need root power) services.sh in that same directory.
  6. Comment out these two lines (they’re shown commented out, via the # in front of each):
    #kextload '/Library/Application Support/VMware Tools/vmmemctl.kext'
    #'/Library/Application Support/VMware Tools/vmmemctl'
  7. Save the edited file, quit the editor, and now (via the still-running Installer) reboot the virtual machine.

The initial reboot may take a long time, but it should work. If it doesn’t, you’re on your own, as I’ve now exhausted all my knowledge on the topic.

A workaround for an iPhoto/set desktop picture bug

January 12th, 2012

On both my Mac Pro and my iMac, I’ve run into a problem where the iPhoto library simply doesn’t show up in the Desktop & Screen Saver System Preferences panel (in Mac OS X 10.6.x). Well, sometimes it shows up, but simply as a line reading iPhoto, but without any actual content.

When this happened the first time, I looked in Console and found the following entry for each time I’d tried to load the Desktop tab of the Desktop & Screen Saver panel (reformatted for easier reading):

1/12/12 9:09:36 AM      System Preferences[4134]
**** DesktopPref error: DSKiPhotoRootSource -loadData TIME OUT!!! There something wrong with iLife Media Browser

Googling on that error led to a number of pages, including iLife: Cannot See iPhoto Files in Other iLife Applications on Apple’s support site. But after trying everything in that article, I still couldn’t see my iPhoto images when trying to set the Desktop picture.


I even tried deleting all cache files, rebooting, and (a very time consuming process) rebuilding the iPhoto library. Nothing fixed the problem. (This seems to be related to the size of the iPhoto library; I’ve only ever seen the issue on my main Mac, which has over 25,000 photos and videos, using 235GB of drive space.)

The workaround: While I still haven’t solved the problem (as it seems to be a bug in OS X itself), there is a workaround. As posted by mrkgoo in this thread on Apple’s Discussion site, here’s what to do:

  1. Open the Desktop & Screen Saver panel in System Preferences.
  2. Click on the Screen Saver tab. You probably won’t see iPhoto listed here, but just wait—potentially quite a while, but keep waiting. Eventually, you will see a fully-functional iPhoto entry.
  3. Click on the Desktop tab, and bingo, notice you now have an iPhoto entry there, too.
  4. Choose the album you want to use for the images on each connected monitor.
  5. Click back to the Screen Saver tab—if you don’t, then you’ll have to repeat this process the next time you open the Desktop & Screen Saver System Preferences panel.

While this is moderately annoying, it definitely works. I’m documenting it here because I forget the solution every time I decide to change my set of desktop images. (I’ve also submitted this to Mac OS X Hints, so it should show up there at some point.)

Why does the workaround work? I’m not sure, but to my non-technical eye, it seems that the Desktop tab has a short timeout for loading the iPhoto library, while the Screen Saver tab has no such limit. Once the data’s been read in, though, the Desktop tab is quite willing to display and use it.

Troubleshooting a Mac CD tray that won’t stay closed

October 29th, 2011

Recently, I placed my Mac Pro up for sale, both on the net in general and on eBay. The eBay auction closed with a successful bidder, so yesterday, I went to prep the machine for shipping. After wiping the drives and reinstalling OS X, I had but one thing to do: solve a small but annoying problem with one of the two installed disc burning SuperDrives (name used for simplification; one was an actual SuperDrive from Apple; the other a multi-format burning drive from Sony).

The stock drive, which I had mounted in the lower slot, worked fine. So did the after-market upper drive, as long as there was a disc in the slot. If I ejected the disc and then closed the tray, the drive would grind for a few seconds, then eject. It would then stay ejected for a few minutes, until (I believe) OS X noticed it was open. It would then close, and the grind-eject cycle would repeat.

I’m posting the sordid details of my experience in case anyone else is looking for help with a CD/DVD tray that won’t stay closed on their own OS X machine; perhaps it’ll show up in a Google Mac-specific search at some point in the future. Read on for the details…


I figured it was a simple matter of a dust in the innards or something, so I shut down the Mac Pro, removed the drives, disassembled the case on the troublesome drive, and cleaned it out. After putting everything back together, nothing had changed: the upper drive would auto-eject, the lower one would not. I then Googled for the problem, and didn’t find anything specific to the problem on Macs that looked like it would help. There were a lot of discussions about such issues on Windows PCs, however.

Now I suspected some sort of subtle drive failure, so I drove to a local PC parts place and picked up a $25 generic burner. Returned home, swapped out the bad drive, reassembled…and nothing had changed. The brand-new drive was now exhibiting the exact same behavior.

I disassembled the Mac Pro again, and this time, swapped the two drives around, so that the “good” stock drive was in the upper bay, and the new “bad” drive was in the lower bay. (As these are IDE drives, I also switched the master/slave jumpers on each drive.) Upon reboot, the upper drive—the previously “good” one—now had the auto-eject issue. Argh!

I then removed the “bad” drive completely, leaving the “good” drive in the lower bay. No auto-eject issues. I then moved it to the upper bay, and bingo, it started auto-ejecting. This seemed to imply some sort of cabling issue, so I spent a few reboots trying various combinations of master, slave, and cable select jumper settings. Nothing worked: whichever drive was connected in the upper slot would auto-eject, and it didn’t matter if there were one or two drives connected.

I also tried resetting parameter RAM (no luck), booting in single user mode (nothing interesting), and examining the log fles (no entries at all). Desperate for help at this point, I returned to Google, and started browsing the Windows-related threads on the issue. One contained an unlikely fix, but I was willing to try almost anything at this point.

I connected both drives, booted up, and let the upper drive do its auto-eject thing. This time, though, I didn’t fully reassemble the Mac Pro. I left both drives simply sitting on their shelf, poking out the side of the Mac Pro. When the “upper” drive did its auto-eject thing, I pushed it back in, and then, as the grinding noise started, I poked a straightened paperclip into the tiny hole that’s used to manually eject a stuck CD/DVD. (You can’t reach this hole if the drive is installed in the Mac Pro, as the bezel hides it.)

After the tray manually opened, I pushed it closed. Amazingly, the grinding noise was gone, and the tray stayed in! I then shut down and rebooted…and it worked perfectly. It continued to work even after I swapped the other two drives into the “upper” position, and changed the “lower” drive as well. Very weird.

Now, I’m completely stumped as to why this fix worked: remember that I’d tried a total of three drives in the upper position, so it clearly wasn’t something related to any particular drive. It also can’t be related to OS X, as I’d fully wiped the drive and reinstalled a clean copy of OS X just hours earlier. And I don’t see how it can be related to the cabling, because it seems unlikely to me that the manual eject hole is connected to any circuitry. So I have no idea why this worked, I’m just thrilled it did work after several frustrating hours of troubleshooting.

If you have any ideas as to why this may have worked, I’d love to hear them.

Thanks and goodbye, Tatters!

October 24th, 2011


Tatters, 199? – 2011

View a gallery of my favorite pictures of Tatters

I was never a cat person growing up; my family always had dogs. Once I got through college, I lived in shared housing arrangements for the first five years of my work life (the joys of living in Silicon Valley)—so that meant no pets of my own. My jobs were also such that having a pet would be difficult, as I traveled a fair bit. So I remained petless for many years.

In January of 1994, though, I purchased my first home (shortly after moving to Oregon). In all ways but one, it was a very typical starter home: 1970s three-bedroom two-bathroom ranch with too much dark wood, not enough light, horrendously outdated kitchen, and and orange-and-white marble-look-but-plastic guest bath.

The one way in which it differed is that the home came with a guilt trip, which led directly to my first-ever experience as a cat owner…


On the day I moved in, I found a large container of dry cat food in the living room, along with a note from the prior owner. The note explained that she’d been feeding a neighborhood stray cat, and she was worried what would happen to him now that she was moving away. Given she provided a huge container of food, I felt it was the least I could do to continue her feedings. That night, I had my first encounter with the then-unnamed stray. He was incredibly friendly, and carried this attitude of “yea, I know I’m cool” that was somehow plainly obvious through his features and behaviors.

I continued the feedings for a couple months, noticing that this cat was somewhat feisty—he’d show up some evenings clearly having been in a scrape with another cat. Sometime’s he’d have a bit of blood on his fur (he won!), other times he was just dirty and covered in twigs (he lost!). Eventually, I just started calling him Tatters, to reflect how he often looked when I saw him.

Maybe four months after I bought the house, Tatters showed up one night with his right front fore claw (the high-up claw) torn and badly bleeding. It didn’t look like a fight injury; more like he’d gotten it stuck on something as he jumped down, and it ripped pretty badly. I wrapped the injured leg in some gauze and tape, and took him to the vet the next morning. (I put him in the garage overnight, on a used blanket for a bed.)

The vet called me at work with good and bad news. The good news was that the claw was easily repaired; the bad news was that Tatters had FIV, and the vet wasn’t sure what that would mean for his future existence. The cost to repair his claw was high, as I recall—especially as I’d just purchased a home and was very “house poor.” So I had to choose: fix his injured claw at great cost and not knowing how long he may live, or have him put to sleep. There was no way I was taking option number two, so I added “cat poor” to my “house poor” situation.

The vet recommended an expensive life-long FIV treatment regime, too, but I wasn’t willing to make that commitment (as it was unproven at the time if it even did any good). I figured I’d just make sure Tatters was happy and comfortable for his remaining years, however many that might be, without going down the daily medication path. As it turns out, in hindsight this was an excellent decision, as he’s been part of my life for 18 years. (I don’t know how long he actually lived; he must’ve been at least one or two years old when I bought the home, as he was fully grown.)

After the diagnosis, I couldn’t let Tatters be an outdoor cat any more—FIV is transmittable between cats, and I’d feel horrid if he infected someone else’s cat. So he became a permanent indoor cat (with occasional supervised outdoor time in our yard). He also became an incredibly important part of my life, probably because he was so unlike a typical cat in any respect. I usually call him the uncat, or the dogcat, in fact, as his preference is to be on or around people at all times, not exhibiting the typical cat-like “I’m independent, and I won’t come see you right now” attitude. With my history of dog ownership, Tatters was the best introduction to cat ownership I could’ve ever hoped for.

We’ve had an amazing 18 years together; he’s been with me through four homes, my wedding, the addition of my wife’s cat (who died a few years back) to our home, and the inevitable changes that came about when children entered our world. Through it all, he’s been the most amazing companion, especially the last few years as I’ve worked at home. The house can seem awfully empty during the day, but he was always there at my side, just happy to be in the room with me.

So thank you, Tatters, for 18 wonderful years. I’ll miss you greatly, as will our family. Rest in peace.