Dr Horrible

In case you’ve been living under a log lately you might have heard of “Dr. Horrible’s Sing Along Blog“. This is a very amusing mini movie that was released online by Joss Whedon creator of Firefly, Angel, and Buffer the Vampire slayer.

While it doesn’t have vampires or spaceships it does have super heroes and super villians and makes for a very amusing musical. The various musical numbers are catchy and the whole thing is professionally done. Both Neil Patrick Harris, and Nathan Fillion can sing a lot better than one might initially expect. While it’s not as much fun as “Once More With Feeling” it is probably one of the more entertaining things I’ve watched online.

Check it out on hulu.com before it stops being free and you have to pay.

Canceled

Well I’ve done it, I canceled my WoW account. Sadly it’s because I really don’t have much of a reason to play anymore. Several of my friends stopped playing, then about 3 weeks ago my guild’s two tanks decided to take a break leaving us stranded.

On top of that one of the tanks was the primary raid leader and there wasn’t anyone really there to take his place. Even so we might have receovered but losing our two geared tanks sort of did us in. We were through Illidan and working on SWP and honestly you can’t just pick of a random tank to fill in when you’re that far. So people starting bailing pretty quickly and all that’s left in the guild are the super casual players, and people who got a bit tired with the whole raid grind.

I guess I could have joined a different guild but I myself was getting a bit tired of raiding especially without my friends around. Plus there’s always the fun of trying to apply to a new guild, and hoping that you don’t end up with a bunch of people you can’t stand. I just don’t enjoy playing with $random people I haven’t met enough to go through all that effort.

So despite having some of the best raiding gear in the game, I’ve pulled the plug on my account. Perhaps I’ll return with WotLK and start raiding again but who knows.

RIP Edge of Eternity

How to fix a Corrupted Time Machine Backup

The other day time machine decided to stop working for me and kept giving me errors about mounting the backup image. After firing up Console.app I found that the sparsebundle which time machine stores the backup data in was corrupted. This is a bad thing since if I couldn’t find a way to fix the image all my backups for the last 6 months would be lost :(.

My first step on the road to fixing the problem was to open the bundle with “Disk Utility” and see if repair disk would work. To do this you need to drag the back image (the .sparsebundle) and drop it on disk utility. Then you can select the image and press “Repair Disk”. Usually if if you have some disk corruption this would fix it, but not for me.

After working for a couple minutes Disk Util would fail at repairing the disk since it found an “Invalid Sibling Link”. It seems the disk was corrupted and the disk repair utility decided it wasn’t going to repair it. Worried that my backups were gone for good I did some Googling and found that this problem isn’t totally uncommon. It seems that Disk Utility is just fairly bad at repairing disks and that using the “real” disk repair utility fsck_hfs might actually fix the problem.

Of course there’s one problem fsck_hfs has to be used directly on a block device not a “sparsebundle” disk image. Not only that but the volume you run the util on cannot be mounted and OS X always tries to mount the image when you click on it. The solution? Use the command line tool hdiutil to “attach” but not “mount” the image. This makes OS X create a /dev/ device for the sparse bundle but doesn’t actually mount the filesystem.

So combining hdiutil and fsck_hfs we might have a way to fix the disk image. Note: Make sure you turn off Time Machine in the System Preferences panel. We don’t want Time Machine trying to mount our image and back up to it until we’re done making all the repairs.

First I ran hdiutil:

hdiutil attach -nomount -readwrite Bhaal_0011247e3338.sparsebundle

After a minute or two of thinking we had success:

/dev/disk1              Apple_partition_scheme
/dev/disk1s1            Apple_partition_map
/dev/disk1s2            Apple_HFSX

The next step was run fsck_hfs on the main volume.

fsck_hfs -rf /dev/disk1s2

-f is required to force a check since this is a journaled file system. I also used -r to have it rebuild the filesystem catalog for the “invalid sibling link” this is required (thanks Dan). At this point I went out for breakfast since I was running a disk repair utility over my wireless internet to my Linux SAMBA server. After coming back from breakfast we had success!

** /dev/rdisk1s2
** Checking Journaled HFS Plus volume.
** Detected a case-sensitive catalog.
** Checking Extents Overflow file.
** Checking Catalog file.
** Rebuilding Catalog B-tree.
** Rechecking volume.
** Checking Journaled HFS Plus volume.
** Detected a case-sensitive catalog.
** Checking Extents Overflow file.
** Checking Catalog file.
   Incorrect number of thread records
(4, 13716)
** Checking multi-linked files.
** Checking Catalog hierarchy.
   Invalid directory item count
   (It should be 0 instead of 1)
   Invalid directory item count
   (It should be 3 instead of 4)
   Incorrect folder count in a directory (id = 3795486)
   (It should be 0 instead of 1)
** Checking Extended Attributes file.
** Checking multi-linked directories.
** Checking volume bitmap.
** Checking volume information.
   Invalid volume free block count
   (It should be 37267681 instead of 37310834)
   Volume Header needs minor repair
(2, 0)
** Repairing volume.
** Rechecking volume.
** Checking Journaled HFS Plus volume.
** Detected a case-sensitive catalog.
** Checking Extents Overflow file.
** Checking Catalog file.
** Checking multi-linked files.
** Checking Catalog hierarchy.
** Checking Extended Attributes file.
** Checking multi-linked directories.
** Checking volume bitmap.
** Checking volume information.
** The volume Backup of Bhaal was repaired successfully.