Backing Up a Mac (with OSX and Bootcamp) 
If you have a Mac you are probably already familiar with Time Machine. It works pretty well and has some nice features. However, it’s not really the ideal way to recover from say a catastrophic hard drive failure. My understanding is that your Time Machine backup cannot be used for a recovery back to EXACTLY the state of your machine at the point of the last backup. For instance, upon restoring you might find that some of your software is no longer licensed correctly (because some digital certificates aren’t backed up properly).

Because of this, many folks recommend making regular backup images, which are exact snapshots of your hard drive. There are ways to do this with low level tools for free, but if you want to keep things easy then most people seem to recommend purchasing SuperDuper!. This tool lets you make backups to an external or network drive. You can also do efficient incremental backups (only updating the changes since the last backup) and do scheduling. You can also mount the image (it’s a sparsebundle) and grab individual files/directories if you like.

If you have a Windows OS on a Bootcamp partition then things get a bit trickier if you want to back that up too. Windows 7 has a fairly nice built-in backup feature. Unfortunately, from my understanding there is no way to recover a Windows 7 backup image without totally formatting the hard drive and then recovering the image. This creates a catch-22 because in order run Windows under Bootcamp, you must first install OSX (which would immediately get wiped by the Windows 7 image recovery).

The solution is to make backup images of your Bootcamp partition while OSX is booted. There is exactly one easy-to-use tool that can do this: Winclone. Unfortunately, this is product is no longer supported. It was released as donation-ware but donations are no longer accepted so it’s effectively free now. From everything I’ve read online, it apparently still works (most of the time). Many have been able to restore from the compressed Winclone images and you can even do resizing of the image if you want to increase or decrease the space that Windows takes up on your hard drive.

So I have been making Winclone image backups with the realization that there might be problems. So I also make user file backups with Windows 7’s incremental “Shadow Copy” feature (sort of like Time Machine). If the Winclone image doesn’t work, I’ll just have to rebuild everything and reinstall my applications.

I have spent a lot of time looking, but I can’t seem to find any better solution than Winclone. Almost every other tool out there (including Acronis and others) can’t handle the partitioning scheme that Apple uses for Bootcamp (GUID Partitioning).

If you just need Windows for a just a couple pieces of Windows-specific software (or just for games), then you might not care about making recovery images at all. Perhaps only using Windows 7 “Shadow Copy” backups for user files (or use DropBox or a remote backup service).

I however really want the full image backups (that can actually be recovered under Bootcamp) because I boot into Bootcamp both from VMWare Fusion as well as directly. This is officially against Microsoft’s licensing policy and you are supposed to buy TWO OS licenses if you want to do that. However, it can be made to work if you jump through the right hoops. If image recovery works for me (in the event of a failure or hard drive upgrade) then I can avoid going through all the effort of double-activating Windows 7 off of one license again.

Hopefully some better tools will come out for completely backing up a Mac with Bootcamp. I'm surprised there isn't a better way already (or maybe I've missed something).

[ add comment ] ( 9 views )   |  [ 0 trackbacks ]   |  permalink
Home Depot Fridge Installer Incompetence 
1.) First, the installers didn't turn the water off when they removed the old ice maker water line.

2.) Then they kinked and crimped the crap out of the copper line trying desperately to stop the spray that went all over the place.

3.) Next, they told my wife that the 1/4'' copper line would not "fit" the new fridge and we'd need to pay a plumber to run a new line.

So I salvaged what remained of the existing copper line and used the new compression fitting that CAME WITH THE NEW FRIDGE and did it myself. You'd think these guys would at least get a day of training!

I can add this experience to my long list of complaints about Home Depot including buying a drain snake that was broken and used (indicated by the hair and gunk wrapped around the coil) inside the sealed box. It was apparently returned by a customer and put right back on the shelf without inspection. If you think that's bad, the same thing happened with a toilet I bought that someone installed but then decided they didn't want.

(I would have passed on shopping at Home Depot again, but unfortunately they were the only ones that had the refrigerator we wanted.)

[ add comment ] ( 3 views )   |  [ 0 trackbacks ]   |  permalink
Favorite Semordnilap 

Well, it's actually two semordnilaps. The semordnilaps are from the old adventure game Manhunter: San Francisco and are part of a rather clever puzzle that involves signage on a glass office door at a murder scene. You (the gamer) must realize that you are seeing the lettering from the INSIDE of the office and thus a mirror image of the correct text. Once you realize this, "bAT VOMIT" becomes:


Knowing the correct name, you can identify the victim and this allows you to make progress in the game. The use of the lowercase 'b'/'d' does make the puzzle a little less elegant, but offers a clue as to how to solve it.

Here's a screen capture of the murder scene in all its gruesome 16-color glory:

UPDATE: This "bAT VOMIT" phrase should probably actually be described as Mirrored Semordnilaps, following the pattern of Mirrored Palindromes.

[ add comment ] ( 14 views )   |  [ 0 trackbacks ]   |  permalink
XCode Preprocessor Declarations for String Aliases 
I recently ran into a problem with adding some preprocessor declarations to an XCode project. Basically I needed to make the equivalent of a #defined symbol but declared within the project rather than source (a pretty common thing to do).

Googling quickly identified the project setting "Preprocessor Macros" as being the way to do it. It maps to the command line GCC option "GCC_PREPROCESSOR_DEFINITIONS".

The documentation says to specify the symbol and if it's an alias simply list the symbol followed by the equal sign and the value.

Like this:


In my case, I needed the symbol to be a string.

Like this:


This is where I ran into problems. When I attempted to compile, I got errors that indicated that my quotes had disappeared by the time the preprocessor got the declaration. So I figured this should be a simple solution. I just needed to figure out how XCode expects me to escape the quotes.

I tried everything to figure out what the stupid escape was. I tried the standard C-style /", double-quotes, two single quotes, @"STRING", HTML tags, etc. NOTHING worked. I tried Googling for solutions but came up empty too.

Finally, I had my eureka moment. I'll just create my own "stringify" macro function and pray I can define macro functions in XCode.

If declared in C(++), it would look like this:


The # sign has special meaning inside preprocessor macros and converts the succeeding argument to an encapsulated string.

The full solution is to first define STRINGIFY under XCode's "Preprocessor Macros" and then use that to define your alias declaration.

Like this:


And it worked! I don't feel too bad about this being a bit hackish because the alternative would be modifying a lot of source code. ;)

[ add comment ] ( 3 views )   |  [ 0 trackbacks ]   |  permalink
Stolen from "Hognoxious" on Slashdot.

Overheard in a museum:

Boy: Mister, how old is that dinosaur skeleton?

Curator: [after some mumbling and finger counting] 60 million and four years, eight months and sixteen days.

Boy's mother: How can you know so accurately?

Curator: Well, in the training course they told me it was 60 million years old. That was when I joined, which would be back in January 2006...

[ add comment ]   |  [ 0 trackbacks ]   |  permalink

<Back | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Next> Last>>