Full-screen browser for OSX - PlainView


Building my presentation for the FL Drupal Camp I was stuck - neither Firefox nor Safari would let me do a full-screen browser display so the audience was going to be stuck seeing my title bar, browser window border, tool bar, etc - not terribly good for a presentation. A bit of searching later I discovered the perfect solution - PlainView. Built on the same WebKit engine that powers Safari (OSX's built-in web browser), it very simply gives you a border-free, toolbar-free browser that can be made to display in the full screen, hiding everything else. It suited my needs perfectly, I'll definitely be using it again and strongly recommend it.

Moving your TimeMachine


It's bound to happen to everyone, they outgrow their TimeMachine and want a new one, a bigger one, one that will allow them to go further into the past... I'm talking about OSX's built-in backup system here, I don't know what you were thinking..

So ever since starting to use OSX Leopard I've been using TimeMachine to keep a running backup of my laptop for two reasons - I can instantly jump back to an old revision of a file, and it keeps a near-constant mirror of the OS as it is with all of the software & settings intact. My laptop came with a 120gb drive and I've been using a 160gb USB drive for TimeMachine. Obviously enough, when this is my main machine I move a lot of files around - download lots of files (all legit), delete some, move others to a file server, but with TimeMachine keeping a regular hourly backup of all change files it can end up bloating up pretty quickly. Sure enough, within a few short months I'd filled up the drive and for the past three or four months it regularly informs me that it has flushed some older backups in preference to keeping newer data.

It's 2009 and hard drives of all sorts are insanely cheap. Taking advantage of the early sales I snagged a 320gb replacement internal drive for the laptop and a 500gb external drive for TimeMachine. Incidentally, both of the drives were made by Seagate, as all of my drives are, as all of their drives (at least up through their January 2009 new models) come with a five year warranty, so between backups I'm (mostly) guaranteed five years of usable storage.

Moving on.

I personally don't like moving data off a primary drive due to the inherent reliability problems of external storage - if it's important data then it needs to be on an actively used internal drive, not on a DVD or CD sitting on a shelf somewhere for grubby little fingers to play with (or get knocked over), and definitely not on a USB memory key that's going to get put through it's paces in the next laundry cycle. All external storage formats should be used for backups exclusively. End of story.

So, in order to keep my data intact I planned a drive shuffle. First I was going to migrate the TimeMachine backup data to the new external drive, then I was going to swap out the internal drives and follow up with a quick restore off the backup drive to the main OS drive. Simple enough, and something I've done before.

Well the first step, as mentioned, was to migrate the 160gb (actually only 145gb due to drive companies lying about the size of a "gigabyte") to the new 500gb drive so I could retain the last few months of data as an active backup. That seemed simple enough. Because the drive comes pre-formatted for use with Windows (NTFS), I plugged the new drive to my laptop, ran the funky Seagate software installer & allowed it to wipe & repartition my drive for OSX. After rebooting (yeah, go figure, silly company) I has a 465gb usable drive. But it didn't have my TimeMachine data.

The official guideline on migrating TimeMachine data is to use DiskUtility to "restore" the data to a new drive - odd terminology, but it kinda makes sense. Well, for some odd reason it started giving me an error when I tried this. Just to be sure (and because computers make us crazy by expecting different outcomes for repeating the same procedures) I tried again, and sure enough, the same error.


A quick google later and I find two shareware utilities that might also do the trick - CarbonCopyCloner and the amusingly titled SuperDuper. Long story short - both tools would run for a few minutes and then seem to get stuck, sitting with zero change in progress while saying they're copying this file that's actually rather tiny (so it wasn't that it was just moving a huge file). Enough of that, back to google.

A bit more research turned up an article on the excellent which detailed how to use the UNIX tool dd to copy a drive, including to use it to recover lost data off a partition. So I gave it a spin.

The instructions are simple. First off, use the tool "df" to find out the exact location of the partitions or drives you wish to copy (the first column marked "Filesystem"), e.g. the 160gb drive showed as "/dev/disk3" and its partition as "/dev/disk3s2", while the 500gb drive was "/dev/disk2". Then, once you know the drives you just run the following command: "dd olddrive newdrive" e.g. "dd /dev/disk3 /dev/disk2".

Well, while I was overjoyed that my first h@rDk0r3 use of UNIX in some time actually started to do something, I was dismayed to see it say the average copy speed was "1705KB" i.e. 1.7meg per second, and at that rate would take 26 hours to complete. Bummer. As it turns out, by default it works with tiny 512byte data blocks, which obviously takes FOREVER.

While researching it I come across another tool that bids itself as a simpler tool for migrating partitions called "ddrescue". I do a quick download, compile and run, and sure enough it's using the same block size. Sure enough, there's a handy little option called "--block-size", or just "-b" for short, that lets you tell it to use larger blocks of data at a time. A quick "-b 4096" later and the transfer speed jumped to ~5KB. Good enough, though it still took six hours.

After the six hours I now had a drive that seemed to all be there, but it only said it was 145gb and my efforts to resize it with Disk Utility just gave a wonderfully error that says "Error with partition: MediaKit reports partition (map) too small".

Back to the drawing board.

I then thought "maybe I have to copy just the partition instead of the entire drive. Six hours later... and I was left with basically the same thing - Disk Utility said that the entire drive was in one large 465gb partition, but Finder said it was only 145gb.

Back to the drawing board. Again.

And back to Disk Utility.

This time around I deleted the existing partition first so that the 500gb drive was completely blank. I then set the Rescue action to erase the destination. Four hours later it had copied all of the data, another two hours later and it had verified the data.

Golden. Or so I thought.

I now have a single, 465gb partition that shows up in Finder and Disk Utility. The only problem is that Disk Utility says that the drive itself has no partitions! While I'm stumped, I think I'm going to count my blessings, just deal with it - TimeMachine works again, and if I find a fix I'll post an update.

Dupe Windows drive images in VirtualBox


VirtualBox is a pretty good virtual machine system from Sun Microsystems that has several key benefits:

  • It's free, whereas most others are commercial and can cost a chunk of change,
  • It's multiplatform, so a company can standardize on it across all of their supported systems.

It seems to be pretty capable in regards to running client operating systems - it has a menu which lets it automatically configure itself for a wide variety of Windows releases, UNIX distributions, etc.

The only minor problem I've found is in regards to how it handles disk images - the virtual disk files it creates to store the client operating system. The problem is that you can't just duplicate the file from your file manager or command line, because it identifies each disk file with a unique identifier that obviously doesn't change when you manually copy it. Instead it comes with a command which will do the duplication for you, only it's hidden in OSX.

So, if you need to duplicate a drive image in VirtualBox on your Mac OSX machine, you would run a command like so (all on one line):

/Applications/ clonevdi Windows_XP_IE_6.vdi Windows_XP_IE_7.vdi

Ta-daa! All done.

Hot to fix a suicidal Cisco VPN client on OSX


After starting to use the Cisco VPN client to do remote work on my McBook, I noticed that it would give an oh-so-useful "Error 51: Unable to communicate with the VPN subsystem" error fairly often, like this:


As it turns out the Cisco kernel extension is a bit flaky and craps out, so you have to restart it. Thankfully Anders Brownworth at worked out how to fix this inane Error 51 thing. Thanks Anders!

Trying out ZigVersion


For the past two years I've been using SmartSVN as my graphical subversion tool of choice on OSX, mainly because it seemed more feature rich and stable than the others. On the MacPro with 3gig of RAM I used to have at work it was great, I didn't notice the bloat associated with its Java foundation, but on my current 1.33ghz PowerBook with only 1.2gb of RAM the bloat really is noticeable - it can take easily use more virtual memory than anything else running (about 700mb is typical), and take longer to become active again when swapping between apps. So after a quick look at similar tools again I've decided to try out ZigVersion, a native C application which makes it much faster. While the workflow is definitely different, it seems pretty good so far, though it's early days yet. I'll let you know how it goes.


Subscribe to MacOSX