Monthly Archives: February 2011

What’s the best ERD tool for the Mac?


I spent ages combing the web for a decent ERD tool for the Mac, and for some time resigned to using dbwrench, a java binary the provides decent but limited functionality and is free of charge.

The choice of tools for ERD work is much narrower than what’s available on Linux or the PC, where something like DBDesigner 4 is fantastic and can handle pretty much any job you throw at it.

Then finally I stumbled across SQLEditor and I have to say it’s excellent.  It has a sharp and clean GUI with the attention to detail you’d expect from a first rate Mac app.  However there is a price tag, $79, and after years of being able to depend on high quality apps that are available for free, I have to say paying such a price takes some getting used to.  In this case I think it’s totally worth it and would recommend this tool for any Mac-based software developer.

NB: As phpMyAdmin has collapsed in recent versions, you might also be looking for a decent MySQL client, Sequel Pro is the clear leader.


Managing Multiple iPhoto libraries

If you’re managing your photos with iPhoto, it’s only a matter of time before you need to deal with multiple iPhoto libraries.  As the 10 megapixel image format becomes the norm, importing a new batch of photos to your computer now requires some extra planning to be able to handle the huge storage requirements.

The challenge

Loading large libraries can be slow, unless you upgrade your disk to an SSD, and also backing up can be painful if you stick to one monolithic library.  If you do have an SSD machine the disk will be quite a bit smaller than the 500 GB you might have become used to, so space will be precious.

10-15 GB is quickly and easily reached in terms of library size, and as long as you keep it less than 16 GB you can always do a quick backup on a dedicated USB key, at the time of writing one of these goes for around £24.

But how to you create and manage multiple libraries?  If you are stuck with a monolithic monster, how can you move some of your iPhoto events to another library to cut down on size?

The solution

Enter iPhoto Library Manager: it’s a commercial offering and currently the best option I’ve found available, it will set you back $20 but is well worth it in my opinion.

When you start managing multiple libraries probably the easiest way to keep them arranged is by chronological date.  The three I currently have are just iPhoto 2008, iPhoto 2009, etc.  When you rename your existing library (do this when iPhoto is closed) the next time you launch the app it will ask you which of your multiple libs do you want to load, or do you want to create a new one called iPhoto Library.  Accept the default name offered, that way it’s always easy to see which is your current library.  With iPhoto 11 (version 9.x of the app, confusingly) you can launch the relevant lib in iPhoto just by double-clicking it.

In terms of shaving a few GBs off your monolithic library, iPhoto Library Manager makes the task very easy.  Simply do the following:

  • locate your large library and your newly created empty, default library in the library list view
  • select the large library
  • change the default view from photos to events
  • select the events you want to migrate to the empty library
  • drag them to the empty lib within the library list view
  • sit back and wait

I recently relocated around 8 GB and it took around 1/2 an hour.  Once the move is complete open iPhoto with it pointing at your large library, and simply delete the events that you copied into the new lib.  You can rename all your libs appropriately when the event move is complete.

Using this approach you can clean up your digital photo collection and keep future libraries down to a manageable size.

I just uploaded 1000 DSLR photos from a trip to India and it took up 3 GB!  For active photographers I can imagine managing disk space becomes a real concern.

Bonus win

Once your libraries are nicely packaged in smaller 8-16 GB bundles, you can easily offload them onto another machine on your network, like a Time Capsule, freeing up space on your lightning fast SSD.  Then just mount the disk on your local machine, fire up iPhoto by clicking the remote library, and be amazed as it browses the photos almost as fast as if they were local!

SSD Upgrade: How to get new life out of your mbp

I’d been hearing rumours for ages, mostly from Tom, that an upgrade to an SSD drive was worth its weight in gold.  And this was before the new MacBook Airs came out.  But once I tried one of those and was blown away to see iPhoto launching in a second or two, and everything else with similar speed, I was faced with the difficult decision:
  • do I spend £1500 to get one of these babies
  • do I spend £300 on just the SSD and upgrade my mbp

I guess the choice was pretty obvious.  My machine is around 2 years old* and for the £1500 or so I spent on it, I thought it should last a little longer.

*MacBook Pro (15″ Late 2008), 2.4 GHz, 4GB RAM, Core 2 Duo, 64 bit, 250 GB 7200 rpm SATA) courtesy of MacTracker

Executive summary

If you don’t have time to read the detail all you have to know is that you need to upgrade to an SSD.

  • regular HD: 23.9 secs to load a small Xcode project (using Xcode 4 GM)
  • with SSD: 6.1 secs

I’d like to have tested how much speed improvement was gained just be re-installing OS X but didn’t have the time … Certainly my existing install was 1.5 years old, and it was upgraded to Snow Leopard rather than freshly installed.


Swapping out your HD is greatly simplified if you use Time Machine and this writeup assumes you do.  The upgrade operation is simple and is described in the following steps, however it’s the caveats which make all the difference.

  1. buy an Intel X25 SSD
  2. get your hands on a Torx screwdriver
  3. create a Time Machine backup of everything that’s important to you
  4. follow the video and instructions and swap out your HD with an SSD
  5. install a fresh version of Snow Leopard
  6. reinstate your important files using Time Machine
  7. sync back your system data with MobileMe

Buy an Intel X25 SSD

Intel seems to have the best SSD on the market for for a mbp, here’s a 160 GB model on Amazon for £300, it will definitely works for late 2008 mbps 15″ and 17″, leave a comment if it works for other models.

Buy a TORX screwdriver

I got mine on Ebay for $5, here are some listings.  You’ll need this to transfer the HD drive mounting screws from the old drive to your new SSD.

Create a Time Machine Backup

This is actually the tricky part.  Some of the larger SSDs available are 160 GB, but the drive you currently have is mostly likely 250 or 500 GB or more.  So you need to be quite picky about what you decide to load onto the new drive.

I basically removed all of ~/Library and /Library but kept my applications because it would take ages to download them all again.  Now this does mean you’ll lose some customisation you’ve setup with your apps, but you shouldn’t lose any data.  There are of course many apps that store important data in ~/Library/Application Support/<app-name>.  You need to take careful care to backup the data you’ll need, and ensure the rest is saved in the cloud.  Here’s a list of what I saved:

  • the whole app support directory for 1password
  • the library for LittleSnapper

Now I should mention I’m a MobileMe subscriber – ie I’m one of the few who was willing to shell out $60/year for over the air synching of contacts, etc.  But the service is invaluable for any kind of multi computer syncing, all my prefs, keychain, mail rules (30+), dashboard and dock items, etc, were saved and easy to migrate.

Follow Video and SSD Install Instructions

Thanks to Robert Hodgen for putting together a video and detailed instructions for installing the Intel X25 SSD.

In the video he uses a 17″ unibody MacBook Pro, around 2008 by my guess, and in fact on 2008 and later mbps it’s easier to install, no need to unscrew the back cover like he does, just pop open the battery cover (this is gone by 2009) and the HD is right there, easy to access.

The one thing that didn’t work for me was installing the firmware, I’d be curious to hear if anyone else gets it working.  The link to the firmware is in the comments, I downloaded the zip which auto-mounts, then right clicked on the disk volume and chose ‘burn to CD’.  But during the bootup process when the new SSD was installed, when I held the option key and inserted the CD it came up as not recognised, after about 20 seconds a question mark graphic appeared on the screen.  Can’t say I’m any worse for wear without the firmware update, but of course maybe the disk would be even faster with it 😉

Reinstate your files with Time Machine

This was another sticking point.

I specifically made sure my entire Time Machine backup was was a lot less than the 160 GB capacity of the new drive, I think it was around 120 GB.  But when I installed Snow Leopard from scratch and followed the option, “reinstate from Time Machine backup” it claimed the new disk was not big enough.

At first I was concerned, but there was a message, “you will also be able to reinstall individual files/folder from Time Machine later”, and in fact this was the case.

After the basics of Snow Leopard completed installing, I got had an option where I could select any of the 4 Time Machine options (roughly, from memory)

  1. all files in your user directory
  2. your applications
  3. your preferences
  4. some extra files

I selected options 1 and 2.  Between that, the data stored on MobileMe and a few folders I manually backed up from the Application Support folder, I was able to fully reinstate my system.

For the curious, most of my ports installed binaries were preserved fine during the upgrade, and they were in the standard dir /opt/local/*.

A few apps died though:

  • Photoshop
  • Microsoft office apps
  • iLife apps
  • iWork apps

They all had to be reinstalled.

Sync back your system data with MobileMe

This was another caveat.  When you hit sync the operation appears to go through all your targets and sync correctly (obviously choose ‘replace local data with MobileMe data), however in practice the data doesn’t seem to update.  The way MobileMe sync appears to work is that there’s a preliminary sync, but the main one only happens when you launch the app you’re syncing too (keychain, address book, etc).  So just launch all these and it should be fine.


If you attempt this update let me know how it goes for you.

    App Store Visualization

    Interactive Art & Computational Design / Spring 2011 » Chong Han Chua | App Store Visualization | 31 January 2011

    Some interesting work done by Chong Han Chua where he used a node.js script to scrape the entire appstore, saved the results in an sqlite db and wrote a Java visualisation program that groups the average colours of icons into an interactive spectrum display.  Includes full source and a video of the visualisation running.


    App Store Visuaization from johncch on Vimeo.