(Last Updated: 2016-05-31)

Some years ago I converted my desktop environment over to a MacBook Pro running Snow Leopard; now that the hardware is rather long in the tooth (memory constrained, disk constrained), I'm migrating over to a newer MacBook Pro which comes with OS X Mavericks (10.9). Since Snow Leopard is no longer supported and OS X Mavericks is a free upgrade, I'm planning on reinstalling the old MacBook with OS X Mavericks when I'm done with the migration, and would like to have the two environments consistently set up. So I wanted to keep track of the changes that I needed to make to get everything set up on OS X Mavericks, in order to be able to reproduce it. (My notes from 2009 have been useful, but for ease of reference I'm going to reproduce the relevant ones here -- since the locations of some things to change have been updated in the newer OS. Also D W Hoard's new mac notes have some useful tips; as does this Safe Mac article on a clean reinstall. Also locations of things to restore from a backup and Mac Forensics is useful for identifying what to copy over.)

My original plan had been to use Migration Assistant to migrate most of the content, but for some reason it was only willing to copy about 150KB of "settings" (possibly due to enabling FileVault2 or possibly due to the Snow Leopard to Mavericks gap, or possibly due to not being able to log in to my AppleID during the setup -- and so wanting to do the migration later). So I've reinstalled all the applications and done all the data migration by hand as well.

FileVault2

Particularly with a laptop I wanted to use full disk encryption from the beginning, so I set up Apple's FileVault2 almost as soon as I finished the initial setup (because it'd be easier to encrypt files transfered as they were copied, rather than waiting for a large volume of files to be encrypted). (FileVault2 still relatively easily decrypted via Firewire memory analysis, but more difficult to decrypt just from disk; so for maximal security Shutdown the computer, rather than just suspending, when leaving it alone in a higher risk environment.)

For better or worse, I ended up following the FileVault2 master password process, intended for business environments, to create a KeyChain file that can also unlock the FileVault in the case of a lost user password. (I found out after doing all of that setup that if you don't create a master password KeyChain file, then you'll be given a per-install unlock code to write down -- and if you do create the master password, only the master password KeyChain file can be used for recovery, there is no per-install unlock code provided.)

The basic idea is to use KeyChain Access to "Set Master Password" which creates "/Library/Keychains/FileVaultMaster.keychain", take a copy of that file for safe keeping, then remove the private key from the keychain to create a version to put on each machine. That triggers FileVault to allow the master password to unlock the keychain, without having the master password on the laptop.

Recovery instructions:

  • Boot in Recovery mode by holding Command-R while powering on (or it it won't boot at all with OS X Internet Recovery which won't work on my old Macbook, even though it has the latest EFI release)

  • Connect USB drive with the master password keychain file on it

  • Run /Applications/Utilities/Terminal.app

  • Attach the USB drive with:

    hdiutil attach /path/to/drive
    
  • Unlock the keychain file on the USB drive:

    security unlock-keychain /path/to/drive/FileVaultMaster.keychain
    

    plus the master password

  • Scan the disk volumes:

    diskutil cs list
    

    and find the UUID of "Logical Volume" (ie, the FileVault2)

  • Unlock the FileVault:

    diskutil cs unlockVolume [UUID] -recoveryKeychain /path/to/drive/FileVaultMaster.keychain
    

    and enter the master password again

  • If successful, make a full copy of all the data on the drive to some other device (eg, using Disk Utility or ditto) for recovery. (Then I assume one ends up reinstalling or reiminaging the drive from that unencrypted copy.)

System preferences

  • Change computer name (System Preferences -> Sharing), plus from the command line:

    sudo scutil --set HostName ...
    

    to make it show up in Terminal properly

  • Reduce size of dock, automatically show/hide (System Preferences -> Dock)
  • Change medium date format to YYYY-MM-DD, change time formats to 24 hours (System Preferences -> Language & Region -> Advanced -> Dates)
  • Show digital clock in 24-hour format, with day of week and date (System Preferences -> Date & Time -> Clock)
  • Enable secondary click, in bottom right corner (System Preferences -> Trackpad)
  • Require password 5 seconds after sleep or screen saver begins (System Preferences -> Security & Privacy -> General)
  • Change desktop background to a neutral solid blue/purple colour (System Preferences -> Desktop & Screen Saver -> Desktop -> Apple -> Solid Colors -> Custom Color... or "Change Desktop Background..." from the Desktop context menu); unfortunately one seems to have to choose the colour by eye as they're doesn't seem to be a way to find the actual colour values used. (This has to be done per space, per monitor :-( But at least there you can capture a screenshot of a section of desktop and use the magnifying glass bit of the colour picker to pick the same colour for each...)
  • Tell "Mission Control" not to warp to a space with existing windows open for the application when the application is selected, so it is possible to, eg, use Terminal on more than one space sanely... (System Preferences -> Mission Control -> When switching to an applicatin, switch to a Space with open windows for the application)
  • Also tell "Mission Control" that Displays do not have different Spaces -- that's just confusing to remember when you move back and forth between just-Macbook/just-external-display (Macbook lid closed) and both displays enabled. (System Preferences -> Mission Control -> Displays have separate Spaces)
  • And tell "Mission Control" not to "automatically rearrange Spaces based on most recent use" -- how can one keep track of where one left something if the computer keeps moving it around! (System Preferences -> Mission Control -> Displays have separate Spaces)
  • Plus to be able to ever use F11/F12 for something else (eg, VMWare ESXi installer!), change the "Mission Control" keyboard sequences for "Show Desktop" and "Show Dashboard" to have Option-Cmd as well as F11/F12 (System Preferences -> Mission Control -> Keyboard & Mouse Shortcuts)
  • Configure Finder to always display extensions with Finder->Preferences->Advanced->Show all filename extensions (which also affects what is shown on the Desktop).
  • Also customise locations shown in Finder sidebar, in Finder->Preferences->Sidebar.
  • Change the File Picker to sort by "Date Modified" rather than "Date Added" for sane selection of "file to attach" and similar (go into a file picker, eg, attach file to email, then use drop down next to the directory name to choose "Date Modified"; change appears to be global to all applications, and "Date Modified" is much more useful than "Date Added").

Also disable various animations, at least opening/closing windows:

defaults write -g NSAutomaticWindowAnimationsEnabled -bool false

ETA, 2016-05-31: It seems like reducing the expose animation duration with:

defaults write com.apple.dock expose-animation-duration -float 0.05 killall Dock

also helps (or at least seemed to when switching spaces got painfully slow after an upgrade; maybe that was just the Dock being sluggish).

Enable the "Lock" icon in the Dock, which is part of the KeyChain access functionality by:

  • Running "/Applications/Utilities/KeyChain Access.app"

  • Choosing "KeyChain Access"->Preferences->General->Show keychain Status in menu bar"

and then the top item in the "Lock" drop down menu is "Lock Screen"; handy for times when you know you're walking away from your desk.

Sleep preferences

The default in OS X Mavericks is to sleep the display after a few minutes and then sleep the whole computer soon afterwards. That's extremely annoying if you're trying to either leave something happening while you're away from the computer (eg, downloading a file, compiling, ...) or remotely access your computer, and don't know why it keeps disconnecting from the network :-(

It sort of makes sense to automatically sleep the computer after a while on battery power but "a minute after the screensaver" seems far too agressive, and it makes little sense on mains power, so I'm unclear why it is the default. In hindsight it appears the "Power Adapter" Energy Saver preference "Prevent computer from sleeping automatically when the display is off" may turn this feature off when on mains power -- but AFAICT it's disabled by default, and the setting is only obvious if you realise the computer is going to sleep automatically... and that option isn't available in the "Battery" section.

In Snow Leopard the computer sleep was configurable with a separate slider in the Energy Saver preferences, but that slider is gone in OS X Mavericks. Fortunately it is still possible to regain control over when the computer sleeps by setting some preferences from the command line (which I also had to do in Snow Leopard to cause it to suspend to ram rather than take minutes to write to disk; fortunately the disk in the new MacBook is so fast that there's no need to avoid suspending to disk).

For OS X Mavericks reasonable settings are to set the display to sleep after 10 minutes on mains power, and 5 minutes on battery power, and to disable the "halfdim" (so that the screen powers off completely). But to disable the automatic sleep/standby, since it is easy to put the computer to sleep when it's not needed -- and I know that better than the computer! The display sleep can be configured in System Preferences -> Energy Saver; but the rest needs to be configured with "pmset" from the command line:

sudo pmset -c displaysleep 10 sleep 0 standby 0 halfdim 0
sudo pmset -b displaysleep 5 sleep 0 standby 0 halfdim 0

("pmset -c" sets the mains power settings; "pmset -b" sets the battery power settings; "man pmset" has more details. The System Preferences -> Energy Saver display will reflect changes in these settings if you go out of it and back into it, but appears not to update live.)

Finally disable "PowerNap" (waking up while sleeping to try to do certain things Apple considers "important" like checking for email) in the mains power settings. It does not, eg, keep existing file transfers going so it does not really help me -- and it involves waking the system up at times when I might not want it to be downloading data. I'd rather just manually control when the computer is awake and sleeping, as described above.

Terminal and shell preferences

  • Dragged Terminal.app (/Applications/Utilities/Terminal.app) onto Dock
  • Set terminal size to 80x53 (Terminal -> Preferences -> Window -> Window Size)
  • Set terminal to exit when shell exits cleanly (Terminal -> Preferences -> Shell -> When shell exits)
  • Enabled visual bell and disabled audio bell (Terminal -> Preferences -> Advanced -> Bell)
  • Enable focus follows mouse with:

    defaults write com.apple.Terminal FocusFollowsMouse -boolean YES
    

    (requires restarting Terminal; cf Snow Leopard setting where it was a string rather than a boolean; it seems less reliable at restoring to the same Terminal window after swapping Spaces :-( Possibly one of the window arrangers might help, or these hints on arranging windows -- particularly amethyst looks promising as it is Open Source, and has spaces support as well as focus follows mouse support.)

  • Copy over ".bashrc" with PS1 and PATH settings, and ".bash_profile" which auto-loads .bashrc ("test -r ~/.bashrc && source ~/.bashrc")
  • Copy over my "~/.bin" directory of local quick hacks

Hardware Drivers

The only hardware that I have which needs separate drivers is the Wacom Intuos Pro. The Wacom Drivers include a specific driver for the Intuos Pro that covers OS X Mavericks. The drivers are a .dmg file, which needs to be downloaded, opened, and the "Install Wacom Tablet" package run -- before plugging in the tablet for the first time. It installs some drivers as well as "/Applications/Wacom Tablet.localized", for a total of 105.4MB. (Sadly they don't provide any sort of checksum, or a HTTPS download site; changing the URL to HTTPS just gives an error page.) After that, just plugging the tablet in works fine -- and there's a "Wacom Tablet" tab added to the System Preferences which can be used to configure the tablet.

ETA, 2014-05-25: It turns out I still need to manually install a driver for my USB/Serial adapter. (Described separately because it was non-trivial to do on OS X 10.9/Mavericks, unlike on OS X 10.6/Snow Leopard.)

Apple Mail.app Mail

I've used Apple Mail.app for my business email (and Thunderbird for other email; see below). While all my mail is on the mail server (IMAP), I didn't want to download it all over again, so I've copied the email over locally (more migration notes). To do this, make sure Apple Mail is not running on the source machine (and has not run on the destination machine), then copy from the old Mac to the new Mac:

(It may be necessary to reveal the Library folder, if you want to do this copying with the Finder, but it's always visible in Terminal.app.)

Once the messages are first copied over (which took at least half an hour), then remove "~/Library/Mail/Envelope Index" to force reindexing, and launch Apple Mail on the destination machine.

The import process said it would take nearly an hour (apparently including the reindexing) -- but after a while it seemed to get hung at 100% CPU, not making any more progress. My guess is that at least one of the cached mail files was invalid in an unexpected way (there were also messages logged in /var/log/system.log about invalid dates, typically "year 100" style issues). I worked around this by removing mail directories from the copy that seemed to get stuck importing, removing the partial "Envelope Index" fieles, and retrying -- preferring to complete the import and then re-download the messages from those folders via IMAP (especially since they seemed to be old message folders I wouldn't refer to again often, so could fetch if needed). A few times I thought it was stuck (no update on the message progress), but sometimes it did eventually carry on -- so it's worth giving it several minutes to see if it can make any more progress. Overall it took a few attempts, and several hours in total, but eventually I got there.

Once the import is done, it will be necessary to re-enter passwords to access the IMAP server/SMTP server (they are stored in the KeyChain which isn't copied with these steps), but in my case that's relatively easy to do. I also found that quite a few messages imported as unread, and I needed to at least visit the folders to refresh the read settings from the server -- if not mark all messages as read again. After that a lot of CPU time was consumed with what I assume was Mail.app and Spotlight reindexing the mail for searching (lots of CPU in Mail.app and mdworker processes); I left that running assuming it would eventually catch up.

For future reference, copying from some newer OS X version it may also be necessary to remove ~/Library/Containers/com.apple.mail/Container.plist as well; the symptom is that Apple Mail won't even launch. But my old Mac doesn't have those files (seems to have been introduced with OS X 10.7), and it appears the whole "~/Library/Containers/com.apple.mail" folder will be built automatically if the folder does not exist at all.

Also of note Apple Mail recovery, and hints on speeding up Apple Mail involving "Envelope Index" and the removing the Container directory to force it to be rebuilt, plus some Bonus Tips for Apple Mail.app from the author of a book on the topic. Finally some plugins like Mail ActOn and MailRecent which I haven't used, but look worthy of review later.

ETA, 2014-05-26: Other setup required for semi-sane email:

  • Enable Plain text email (Mail -> Preferences... -> Composing -> Message Format)

  • Disable "Smart Quotes" and "Smart Dashes" (by unticking Edit -> Substitutions -> Smart Quotes and Edit -> Substitutions -> Smart Dashes) to stay with the ASCII subset.

ETA, 2014-07-23: Also:

  • Disable "Correct Spelling Automatically", because it is wrong more often than it is right, and very insistent on "fixing" anything it does not like. I would rather select for fixes, than try to catch all the "damn you autocorrect" instances :-( (And unlike on a touch screen device, my finger is no where near the "no, don't do that" option, so that is at least as annoying as going back and fixing them afterwards.) To change: Start composing a message, then uncheck Edit -> Spelling and Grammar -> Correct Spelling Automatically (or from context menu of a typo). (Words that Apple Mail thinks are spelling mistakes are still underlined, and can be reviewed manually.)

ETA, 2014-05-28: Modern Apple Mail has no "don't keep copies of any messages" (present in Snow Leopard, 10.6.8), so it appears the mailboxes I removed while importing got re-downloaded again soon after I started using using Apple Mail, without further intervention. (I guess that explains some of my high bandwidth usage in the past month!)

MacPorts

Following the MacPorts install guide installed the Apple XCode Developer Tools (to be able to compile things from the command line). On OS X Mavericks you have to:

  • Find XCode in the App Store and choose to install it (which just installs an installer for various developer related things...)
  • Run "xcode-select --install" and choose "Install to just install the command line tools (I believe the "Get Xcode" button will also install the IDE, etc, which I don't need at present)
  • Run "sudo xcodebuild -license" to accept the Developer licenses and enable the compiler (it appears to be a superset of the licenses displayed by earlier steps)

and then it's possible to actually compile things (which you can test by compiling a "hello world" trivial example).

After that I installed from the OS X Mavericks install package, ran "cd && . .profile" to pick up the path changes, and then ran "sudo port selfupdate" to be ready to install software from MacPorts.

I had a lot of ports installed on my old machine, but some of them definitely aren't needed, so I'm going to install ports again as I find that I need them. To get started I've done:

sudo port install git-core subversion mercurial 
sudo port select --set python python27
sudo port install texlive-bin texlive-generic-recommended     \
          texlive-fonts-recommended texlive-latex-recommended \
          texlive-pstricks
sudo port install openvpn2 
sudo port install p5-text-markdown w3m
sudo port install coreutils

I also configured git with "git config --global user.email ..." and "git config --global user.name..."

X11

In order to be able to run X11 applications, I've also installed the xorg-server with MacPorts:

sudo port install xorg-server xterm

because Mavericks does not include X11 and I'd been using xorg-server on my previous MacBook rather than XQuartz (XQuartz doesn't seem to have been updated in 6 months, since just after Mavericks was released, whereas MacPorts xorg-server tracks upstream X.org releases fairly closesly).

To configure it, log out/log in (to ensure X11.app will auto-start), run "xterm" to ensure that X11.app is running, then X11 -> Preferences to change preferences. Enable:

  • (Input) Emulate three button mouse

  • (Windows) Click-through Inactive Windows

  • (Windows) Focus Follows Mouse

Note that "ssh -Y" or "ForwardX11Trusted yes" -- ie, forward a trusted X11 connection, rather than an untrusted X11 connection -- is still required, because xorg-server does not have the Security extension, resulting in "Warning: untrusted X11 forwarding setup failed: xauth key data not generated". (To verify it is missing: "sudo port install xdpyinfo"; "xdpyinfo | grep SECURITY". However the RENDER extension is present.)

Historically I've used the X11 "fixed" font alias for terminals and some applications that needed a fixed width font, but with the Retina Macbook it renders poorly (too small, etc). The correct fix is to change the DPI to something more reasonable (it defaults to 96dpi AFAICT), but I haven't found a way to do that for xorg-server in a way that helps with bitmapped fonts.

According to "/opt/local/share/fonts/misc/fonts.alias", the "fixed" font is an alias for "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1". Some experimentation proved that "-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1" happens to render at a more reasonable size, but is not semi-condensed; and there's no suitable sized semicondensed font. (Other suggestions to improve X11 font rendering; and fonts on the Mac in general. See also X11 font documentation, and more notes on X11 fonts.)

To change the fixed font alias:

sudo vi /opt/local/share/fonts/misc/fonts.alias

and change the mapping for the "fixed" font. Then restart X11. That makes "xterm -font fixed" work... but "xterm" produces a different result, because it's been converted to use Xft by default, and so uses a different rendering indicator.

So a better work around for xterm is to use a scalable monospace font like Dejav Sans (which supposedly is similar to the Terminal.app default font, by doing this:

sudo port install mkfontscale dejavu-fonts
cat <<EOF >~/.Xresources
Xft.dpi:        96
Xft.antialias:  true
Xft.hinting:    true
Xft.autohint:   true
Xft.rgba:       rgb
Xft.hintstyle:  hintfull

xterm*faceName: DejaVu Sans Mono:size=9
EOF
xrdb -load ~/.Xresources
xterm

although it doesn't quite look as nice on the Retina display, I think because X11.app is defaulting to rendering to 1400x900 and upscaling (not sure how to change that).

Open Source Applications

Mac OS X packaged software, not built from source is installed in /Applications/OpenSource, so:

mkdir /Applications/OpenSource

Firefox

To reduce the upgrades to Firefox (which in the regular version now seems to be releasing new versions every few weeks, that change/break things), I'm running the Firefox Extended Support Release (Firefox ESR FAQ.

To install, and get a reasonably sane profile based on an existing one:

  • Download Firefox ESR installer for English (British), for OS X.

  • Open .dmg file, and drag Firefox application into /Applications/OpenSource

  • Run Firefox at least once, to create a minimal profile

  • Close Firefox on both the "source" computer and the destination

  • Find the Firefox profile folder name on the source computer (~/Library/Application Support/Firefox/Profiles/RANDOM.default/)

  • Run the Firefox profile manager on the destination computer and create a new profile that has exactly the same directory name; given the above install location, the profile manager can be run with:

    /Applications/OpenSource/Firefox.app/Contents/MacOS/firefox-bin -p
    
  • While in the profile manager delete the mostly empty profile from first running Firefox, so that FireFox will default to the newly created profile name (ie, the one to be copied over); then exit the profile manager.

  • Copy the contents of the Firefox profile from the source computer to the new profile (in the identical directory name) on the destination computer.

  • Run Firefox and verify that it works (if opening windows is animated, then see System Preferences notes above)

  • Set startup page to about:blank for minimal new pages

  • Change about:config for mousewheel.with_control.action and mousewheel.with_meta.action to 1 (ie, scroll), to disable the scroll to zoom action, which just bugs me when I accidentally do it. (Legal values are 0-4, with 3 being "make the text larger/smaller".)

Safari

ETA, 2015-06-24: To disable Safari automatically unzipping archives rendering it impossible to store the original file as retrieved, disable open "safe" files after downloading -- Safari Preferences, General, near bottom -- or possibly tweak handling of zip files in com.apple.DownloadAssessment.plist. The first one (disabling opening safe files) seems to work, but also disables auto-opening other things too.

ETA, 2015-09-22: To enable "View Source" in Safari, enable the Develop menu: Safari Menu -> Preferences -> Advanced -> "Show Develop Menu in menu bar". Then it is Develop -> Show Page Source.

Thunderbird

Because Thunderbird development has been deprioritised, there are no new "Extended Support Releases", and the general releases are around much less frenetic than the Firefox general releases.

To install, and copy over a profile based on an existing one:

  • Download Thunderbird installer for English (British), for OS X.

  • Open .dmg file, and drag Thunderbird application into /Applications/OpenSource

  • Close Thunderbird on "source" computer (and the destination)

  • Find the Thunderbird profile folder name on fhe source computer (~/Library/Thunderbird/Profiles/RANDOM.default; no it is not in "Application Support" like Firefox, no idea why)

  • Run the Thunderbird profile manager on the destination computer and create a new profile that has exactly the same directory name; given the above install location, the profile manager can be run with:

    /Applications/OpenSource/Thunderbird.app/Contents/MacOS/thunderbird-bin -p
    

    (or -ProfileManager if you wish)

  • Copy the contents of the Thunderbird profile from the source computer to the newly created profile (in the identical directory name) on the destination computer. (If you keep all mail offline, then this will potentially be a very large directory to copy and take much longer than copying the Firefox profile above.)

  • Run Thunderbird and verify that it can receive and send email

(This seems to work for going from Thunderbird 17 ESR to Thunderbird 24.)

CBB

CBB is a cash book application, from the 1990s; I've been using it for years and mostly keep using it because I know it, and have a lot of data already entered into it (the version I'm using dates back to 2000). It's a TCL/Tk application. To be able to usefully use it remotely (ie, via X11 forwarding), I run TCL/Tk under X11, rather than using the newer Quartz front end that was created a couple of years ago. To set it up:

sudo port install tk +x11
sudo mkdir -p /usr/local/package/cbb
sudo chown ewen:staff /usr/local/package/cbb
cd ~/misc/src/cbb/cbb-0.8.1
make clean
./configure --prefix=/usr/local/package/cbb
make
make install

(where "~/misc/src/cbb/cbb-0.8.1" is a directory containing my build source for CBB assembled from old Debian packages.)

After copying my "~/.cbbrc.tcl" and "~/.cbbcur.tcl" from my old computer (set up as described in that earlier post) I can then use "cbb" as before. However the "TkFixedFont" also suffers from the same "too small" problem as X11 in general. The two reasonable options seem to be:

set cbb(fixed_font) "-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1"

or:

set cbb(fixed_font) "Terminal 9"

in "~/.cbbrc.tcl"; both of which seem about the right size. For now I've gone with the first one, since it seems more likely to be portable. (Sadly I couldn't get "DejaVu Sans Mono" to be recognised, probably due to the spaces.)

Commercial Applications

Over several years using OS X I've purchased some commercial applications for OS X where they worked significantly better than the built in and/or Open Source equivalents. I wanted to migrate these to the new machine.

Where possible I try to install these under "/Applications/Purchased" to make it easier to find again later:

mkdir /Applications/Purchased

Apple Aperture

Apple Aperture is purchased through the Apple App Store. For migration one convenient advantage of this is that it is very easy to install onto a replacement computer: open the App Store application, login into the same Apple ID, go to Aperture, and click to Install it.

The only slight complication is that Aperture on Snow Leopard is 3.3 and the version on the App Store is 3.5.1 (Aperture versions after 3.3 required newer Mac OS X than 3.3).

To migrate the library (loosely based on this migration summary, which talks about migrating between slightly older versions; another guide which also migrates Apperture preferences; that site has other useful Aperture tips):

  • Copy all the referenced masters to the same location on the new computer (or otherwise make them available at the same disk path on the new system); if you have a lot of referenced masters this step may take a long time.

    (Beware that if you've imported "to be sorted" photos that aren't in their permanent referenced master location you'll also need to copy those temporary directories too... eg, ~/Pictures/*, and /camera symlinks if you were using AutoImporter.app. You can tell if you've missed this step because Aperture will show "warning" triangles of lost referenced masters, and a menu item to Reconnect Masters -- which isn't needed if you can put the Masters back in the path where Aperture was expecting to find them.)

  • On the source computer, do a repair database of the Aperture library to make sure it's ready to be transferred, by closing Aperture, going to "~/Pictures" in Finder, holding down Command and Option and then double clicking on the "Aperture Library.aplibrary" folder (NOTE: You have to keep holding down Command and Option until Aperture launches, as it's a feature built into Aperture.)

  • Close Aperture on the source computer and the destination computer

  • Copy the "~/Pictures/Aperture Library.aplibrary" folder from the source computer to the destination computer (if you have mostly referenced masters this step will be fairly quick, as mostly it is just copying Previews and Thumbnails; the time consuming copy of referenced Masters was done earlier)

  • Copy any AppleScripts related to Aperture, eg:

    scp -p SRC:"Library/Application\ Support/Aperture/ImportProjectDate.scpt" \
             ~/"Library/Application Support/Aperture/ImportProjectDate.scpt"
    mkdir ~/Pictures/Scripts
    cd ~/Pictures/Scripts
    ln -s "../../Library/Application Support/Aperture/ImportProjectDate.scpt" .
    
  • Open Aperture on the destination computer. It will tell you that the Aperture library (~/Pictures/Aperture Library.aplibrary) needs to be upgraded (and won't be usable on Aperture 3.3 after upgrading); choose "Upgrade" (safe, since this is a copy of the Library).

  • So long as you didn't miss anything, Aperture should be functional with access to all the images; if there are any warning triangles of disconnected masters, find out which image folder was missed, stop Aperture, and copy that folder over too.

Note that this process does not migrate the Aperture Preferences, which I chose to ignore as I had not yet customised Aperture very much (the limited RAM on my old MacBook meant it struggled to run well, so I didn't use it much)

(It's also possible to use the Apple Aperture Vault system (create vault / restore vault) to migrate the library, but it probably helps most if you mainly have Managed masters, and/or a pre-existing vault backup to restore from.)

Adobe Creative Cloud for Photographers

A few months ago Adobe made available a Creative Cloud for Photographers package, at $10/month in a "local" currency (here in New Zealand it's actually charged in Australian Dollars, so works out around NZ$12/month or so). The package includes Photoshop CC and Lightroom 5.

Since it is installed via an Adobe installer, tied to a subscription account, and allowed to be installed on a few (3?) computers, it's very simple to get going on a new computer. To install you need to:

  • Go to the Adobe Download Centre

  • Log in with your Adobe Cloud account

  • Download the Creative Cloud Installer (.dmg file)

  • Open the Creative Cloud Installer .dmg and run the Installer program, which installs a Creative Cloud application manager (in /Applications/Adobe Creative Cloud)

  • Access the "Creative Cloud" application manager, log in with your Adobe Cloud account, then choose "Install" on the Photoshop CC and Lightroom applications; these install in "/Applications/Adobe Photoshop CC/Adobe Photoshop CC.app" and "/Applications/Adobe Photoshop Lightroom 5.app" (the latter is supposed to be identical to the non-CC version, but just rebuilt to support the CC licensing). The install speed will depend on the Internet connection speed, as it is downloading the application from the Internet, and especially Photoshop CC is fairly large. (It appears it may be possible to change the install location in the Creative Cloud application manager preferences, but using the default location makes it more likely that plugins will find the right location.)

  • Run Photoshop and Lightroom; they will ask for a country and a a license key (pre-populated), and allow you to (optionally) register the software (which you can just skip past).

I believe that the Creative Cloud application manager needs to check in with Adobe at least every few weeks in order to verify that the subscription is current -- but reportedly it will happily run disconnected (from the network) for a week or two after that (presuambly it gets told a "paid up to DATE" piece of information each time it checks).

ETA, 2014-06-27**: Adobe have made the Adobe Photoshop Lightroom program permanent. The CC Manager periodically seems to forget that Lightroom is included -- at one point insisting it was only available for trial -- but most recently I managed to fix it by signing out (in Settings), and then signing in again, and installing Lightroom again. Hopefully now that the program is permanently available it'll be more robust.

The program now also includes Lightroom Mobile for both iPad and iPhone, but I have not yet installed those.

Nik Image Collection

About a year ago, in 2013, Nik Software was purchased by Google. At that point a bundle of all the Nik image tools was released for a single price, not much more than the cost of an individual tool in the past. It can be installed on two computers, and supports both Snow Leopard and Mavericks, as well as Photoshop CC, Lightroom 5, and Apeture -- so it's best installed after Aperture, Photoshop and Lightroom 5. (Nik Documentation online)

The software is delivered as a large .dmg file containing all the plugins. There's no additional licensing step beyond having the DMG file. Installation into Photoshop CC is slightly complicated because it (often?) doesn't automatically find the Photoshop CC, even when Photoshop CC is installed in the default location, but a video from RC Concepcion shows how to force the Nik Installer to install into Photoshop CC -- by manually locating the Photoshop CC Plug-ins directory for a custom install. So installation is:

  • "mkdir /Applications/Purchased/NikCollection" to create custom install location

  • Open the Nik Collection DMG file, and run the Nik Installer inside

  • Verify that it found the Aperture and Lightroom 5

  • Check if found Photoshop CC; if not click the "+" button to add another Host application, and navigate to "/Application/Adobe Photoshop CC/Plug-ins", then choose Open. It will display "Adobe Photoshop Custom 1" as an install location

  • Choose "/Applications/Purchased/NikCollection" as the install location; installation will take just under 1GB (!)

  • Once the installation is complete (fairly quick, as all software is already downloaded, in the DMG file), run each of the host applications and verify the Plugins are visible:

    • Aperture: Photos -> Edit with Plug-in

    • Lightroom 5: Develop -> Photo -> Edit In

    • Photoshop: Filter -> NikCollection; you'll probably want to use the NikCollection Settings to avoid it opening its panel every single time Photoshop starts... (although it's not entirely obvious how to bring it back if you do)

ETA, 2014-05-24: However the Nik Collection is still being developed (see, eg, Brian Matiash on The Grid Episode 143). Most updates are installed automatically, but due to a problem with new Plugins causing Photoshop to crash, updates involving new plugins apparently have to be installed manually now, to be safe.

So to get "new plugins" updates -- such as Analog Effects Pro 2 released on 2014-05-14 as part of Nik Collection version 1.203 (new features in Analog Effex Pro 2) -- one downloads the latest release collection "trial" version (which are updated periocically), and installs it over the top of an existing paid install. This updates Nik Collection to the latest suite of plugins, and auto-recognises that it is a paid version. (This "upgrade" method used to be described on the Nik Photography Google Plus page, but Google seems to have removed the entire Google Plus account now, even though it appears in their search index! And it's only a couple of weeks later :-( )

To upgrade to the latest set of Nik plugins:

  • Install the paid version, as above.

  • Download the latest Nik Collection trial (from the home page "Try Now"->Mac; a 620MB download); I renamed mine to "NikCollection-1.204_mac_trial.dmg" to avoid confusion later since it seemed to be that release in the installer.

  • Ensure that Apple Aperture, and Adobe Lightroom and Adobe Photoshop are not running (so that the plugins are not open, and new plugins can be installed)

  • Open the downloaded DMG file

  • Run the "Nik Collection" installer in the DMG file

  • Verify that it recognises all the host applications (Adobe Photoshop CC, Apple Aperture 3.5.1, Adobe Lightroom 5), and finds the original install path (/Applications/Purchased/NikCollection in my case), and is going to install over the top.

  • Choose Install, and enter your password to install Nik Collection

  • Wait for the install to finish, then verify the plugins are found in the host applications.

For this particular upgrade (Analog Effex Pro 2 functionally replaces Analog Effex Pro, but they are separate plugins), it is also useful to manually remove Analog Effex Pro to avoid later confusion:

  • Close Photoshop, Aperture and Lightroom

  • sudo rm -r "/Applications/Purchased/NikCollection/Analog Efex Pro.app"

  • sudo rm -r "/Applications/Adobe Photoshop CC/Plug-ins/Google/Analog Efex Pro"

  • sudo rm -r "/Library/Application Support/Aperture/Plug-Ins/Google/Analog Efex Pro"

  • Verify that Analog Effex Pro is no longer shown by Photoshop or Aperture, but Analog Effex Pro 2 is shown.

  • Use the Lightroom Plug-In manager to remove the Analog Efex Pro plugin:

    • Start Lightroom

    • Go to Lightroom->Preferences->External Editing

    • Choose "Analog Efex Pro" from the "Additional External Editor" drop down list, and let it close

    • In the same "Additional External Editor" drop down list then choose 'Delete preset "Analog Efex Pro"' to remove it, and confirm the delete. (The "Delete preset" option only appears when it is the selected external editor.)

    as far as I can tell this results in removing "~/Library/Application Support/Adobe/Lightroom/External Editor Presets/Analog Efex Pro.lrtemplate" on a Mac, but it's probably safer done within Lightroom.

AFAICT the result is an updated NikCollection with Analog Efex Pro 2 and without Analog Efex Pro, that still considers itself a licensed version. Not as seamless as an automatic update that works -- but not as messy as an automatic update that causes other programs not to start!

OnOne Perfect Photo Suite

I purchased OnOne Perfect PhotoSuite 7.5 when it was on sale a while ago; they have since released Perfect PhotoSuite 8, declared 7.5 a legacy version, and put a cheaper version of Perfect PhotoSuite 7.5 on the Apple App Store. (Perfect PhotoSuite 7.5 user guide) Perfect PhotoSuite 7.5 does not list compatibility with OS X 10.9 (only 10.6/10.7/10.8) but also pre dates the release of OS X 10.9 so I tried to install it anyway; it appears to work. (The software is licensed for two computers but due to space constraints on my old MacBook this is actually the first time I have installed it; and sadly the "eligible for free update to 8" cutoff date is -- unsurprisingly -- after the Perfect PhotoSuite 7.5 sale date.)

For Perfect PhotoSuite 7.5 compatibility with Photoshop CC, there is a Perfect PhotoSuite 7.5.1 update available for download (In the legacy software section; see also Perfect Photosuite 7.5 release announcement.)

(There is also Perfect Photosuite 8 and an 8.5 "coming soon"; in theory it should be possible to purchase the upgrade for another $100. But I'm going to hold off doing that until I find out if I use it, since it appears likely that multiple earlier versions will be eligible for upgrades, and I'd prefer to go straight to 8.5 if I upgrade.) (2014-05-13: as it turns out onOne had a one day give away of Perfect Effects 8 -- part of the suite -- presumably as publicity leading up to the 8.5 release, so I've grabbed a copy of that too, but not installed it; I don't know if Perfect Photo Suite 7.5 and Perfect Effects 8 can be installed side by side.)

Installation instructions:

  • Download Perfect Photo Suite 7.5.1 for Mac OS X

  • Open 7.5.1 DMG file, and run the Perfect Photo Suite 7.5.1 installer package

  • There appears to be no option to fine tune the installation destination (even though the installer has a "Destination Select" menu option, it just skips over that, and the "Change Install Location" only allows selecting a drive); the software installs into "/Applications/Perfect Photo Suite 7/Perfect Photo Suite 7.app"

  • The 7.5.1 installer automatically found Adobe Photoshop CC, Adobe Lightroom and Apple Aperture, and installed the Plug-Ins into them.

  • Run one of the Perfect Photo Suite plugins thorugh one of the host applications, to trigger the license verification process, then enter the license code from the purchase receipt; it does an online verfication so needs an Internet connection.

  • Verify the Plugins are visible in each host application (all but "FocalPoint" are named with "Perfect" at the start of their name, so easy to spot):

    • Aperture: Photos -> Edit with Plug-in (7 Plugins)

    • Lightroom 5: Develop -> Photo -> Edit In (5 Plugins) and Develop -> Plug-in Extras (8 Plugins)

    • Photoshop: Window -> Extensions -> OnOne brings up a custom panel to launch the Plugins, which can be turned on and off and minimised into the vertical dock (click on the ">>" icon); that should list the 6 Plugins that make sense in Photoshop (eg, Perfect Layers is not in Photoshop because... Photoshop has layers already!)

Since they appear to run under OS X 10.9 (Mavericks) I'll wait to see if I use them enough to justify upgrading to Perfect Photo Suite 8/8.5.

ETA, 2014-06-27: onOne had a "Summer Sale" with a bundle of Perfect Effects 8.5 (standard and premium edition, released 2014-05-13), which seemed the cheapest way to upgrade, so I took advantage of that upgrade offer. OnOne's install instructions are very minimal. The upgrade does seem to want to see the previous version installed. The general idea is:

  • Download Perfect Effects 8.5 Premium Edition DMG file

  • Open the DMG file

  • Run the "Perfect Photo Suite 8.pkg" file

  • Agree to the Software License

  • Choose to install Perfect Effects 8, and optionally to remove the older versions (which I did choose to do, to avoid confusion of multiple versions -- given I've never actually used any of the plugins I've no attachment to a specific version)

  • Enter your password to authenticate the installation

  • Verify that the Plug-ins detected all your photo applications (ie, Aperture, Lightroom, and now two Photoshop CC versions)

  • Run one of the plugins in one of the applications, to activate the licensing procsss, and choose "License >"

  • Enter license key, and Activate the application

  • Verify license is active in "Perfect Photo Suite 8" -> "About Perfect Photo Suite 8"

  • Verify that the plugins are active in all applications (it appears that the Photoshop access is now via Photoshop's File -> Automate menu, rather than a custom Window).

SuperDuper!

I've used SuperDuper! for years to clone the contents of my Mac onto a backup drive. It's a fairly simple program (with a slightly confusing UI), that is purchased online.

Installation instructions:

  • Download SuperDuper! DMG file

  • Double click on the DMG file, and agree to the license

  • Drag "SuperDuper!" into /Applications/Purchased

  • Run "/Applications/Purchased/SuperDuper!"

  • Go to SuperDuper!->Register...

  • Enter "Registration Name" and "Serial Number" from license email

After which all the registered features (particularly "Smart Update" are automatically enabled).

OmniGraffle

OmniGraffle is a diagramming tool for OS X. The Professional edition has import/export support for Visio, which is the de facto business network diagramming tool; that's the main reason I've used OmniGraffle. I'd previously purchased OmniGraffle 5 Pro for that reason. The license allows a single user to use it on multiple machines, which means use on both my old and new MacBooks is permitted.

OmniGraffle 5.4.4 supports OS X Mavericks according to the OmniGraffle Blog post about Mavericks (as does OmniGraffle 6, which is paid upgrade costing US$99, through their store -- since I didn't purchase it from the Mac App Store, I can't purchase the ugprade through the Mac App Store either, as they cannot do cross-grades). Since I don't use OmniGraffle much, for now I've chosen to install OmniGraffle 5.4.4 until I find a need for a later version (export to Photoshop Layers may eventually be useful).

Installation instructions:

  • Download OmniGraffle Pro 5.4.4 via the OmniGraffle Release Notes page (which seems to be the only place on their website still linking to the older download versions).

  • Open OmniGrafflePro-5.4.4.dmg

  • Drag "OmniGraffle Professional" into /Applications/Purchased

  • Run "/Applications/Purchased/OmniGraffle Professional.app", and open a new blank diagram

  • Go to "OmniGraffle Pro"->Licenses... and choose "Add License..."

  • Enter the "License Owner" and "License Key" from the purchase email.

VMWare Fusion

On my old MacBook I used VMWare Fusion 3 and 4 (declining to upgrade to VMWare 5, since it was a paid upgrade without really obvious benefits on OS X Snow Leopard). Unfortunately VMware Fusion 4 is not supported on OS X Mavericks (OS X 10.6/10.7 officially; sort of 10.8 unofficially) and the only solution is to upgrade to VMWare Fusion 6, which is supported on OS X Mavericks (VMWare Fusion 6 released 2013-09-04; sadly VMWare Fusion 6 is only supported on OS X 10.7+).

Fortunately VMWare Fusion 4.x is elegible for a paid upgrade to VMWare Fusion 6, via the VMWare Store Upgrade page; it appears to be about AUD$53 to upgrade to VMWare Fusion 6, and about AUD$73 to upgrade to VMWare Fusion Professional 6 (and doesn't seem to be any cheaper to have upgraded from VMWare Fusion 5.x). The Professional version seems to include a VMWare Player commercial license (ie, allowing running the VMs created on VMWare Professional), the ability to create Linked Clones (minimising disk usage of similar VMs) and OVF (Open Virtualization Format) deployment (eg, from VMWare Server and other products). (Table of VMWare Fusion 6 vs VMWare Fusion Professional 6 features.) Overall it seems worth another NZ$25 for the additional Professional features (especially given the new prices are much further apart, and the 6.x to 6.x Professional seems to be the same cost as the 4.x to 6.x Professional upgrade!)).

Installation instructions:

  • Make sure you have registered your VMWare 4.x Serial Number (in My VMWare, or have the VMWare 4.x Serial Number handy to register as required.

  • Go to the VMWare Store Upgrade page and click through to the VMWare Fusion Professional Upgrade page.

  • Ensure "Upgrade from 4.x, 5.x, 5.x Professional or 6.x" is selected

  • Click "Add to Cart", then sign in to VMWare with the credentials used to purchase VMWare Fusion 4.x

  • In theory you should see a tiny "+" with your name, below the line telling you to register your serial number if you don't see anything, and then when you click on that it should expand to show the VMWare Fusion 4.x license, which you can select; if not see anything, you'll need to register the serial number first to proceed.

  • Select the earlier VMWare Fusion license you want to upgrade and then "Add Cart". Then enter your payment information, and pay for the upgrade. That should get you a new VMWare Fusion Professional 6.x software license key, which needs to be put in a safe place.

  • Download VMWare Fusion 6.x; the same software download includes all features, and only the license key determines which ones are made available. (The "light version" does not include the VMWare Tools for lots of Operating Systems -- which makes for a smaller initial download; but once you try to install VMWare Tools into a VM it will download those features separately.) I downloaded the light version.

    For 6.0.3 (VMware-Fusion-6.0.3-1747349-light.dmg) released 2014-04-17:

    MD5SUM: 4e51eb539a327c9b776a56a2ac3f8cfb
    SHA1SUM: 9db23099225c6a28b3a0ff7c18e08f66e994e62d 
    
  • Open the DMG file, and double click on the install icon, agree to the license, enter your license key from the VMWare Fusion Professional 6.x purchase (when fully entered it should show a tick, and when you continue recognise you purchased VMWare Fusion Professional). It will both copy the software onto the Mac, and start VMWare Fusion.

  • It will be installed in "/Applications/VMWare Fusion.app", but you can drag it into "/Applications/Purchased/VMware Fusion.app" (while it is not running).

  • Run "/Applications/Purchased/VMware Fusion.app", click cancel at the initial splash screen (unfortunately it appears that "Import an existing Virtual Machine" doesn't work, at least with VMWare Fusion 4.x VMs, outside of the main Virtual Machine directory -- neither selected manually nor by searching for them).

  • Instead go to the directory with the VMs in it in Finder, and double click on the *.vmwarevm directories to open them in VMWare, after which they will appear in the Virtual Machine Library (Window->Virtual Machine Library). It may be necessary to tell VMWare Fusion that you "moved them" (ie, did not duplicate them, allowing it to keep the VM identifiers, etc, as they are). For now I'm telling VMWare not to upgrade them to a newer VM interface, in case I need to copy them back to the old MacBook (which can only run VMWare Fusion 4.x).

  • It may also be necessary to re-setup the networking for the VM, if it's not just relying on DHCP, or change the VMWare Fusion DHCP range to match what was being used on VMWare Fusion 4.x (VMWare Fusion 6.x default seems to be 172.16.187.0/24; I was previously using 192.168.155.0/24, for no obviously good reason).

Other notes

iTunes on OS X 10.9 (Mavericks) removed the ability to sync Calendars/Contacts locally (some people found a wokaround by running a local CalDAV server); the feature was finally restored with OS X 10.9.3. However it needs to be manually enabled again in iTunes under the device's "Info" tab.

If calendar sync is done with iPad/iPhone that are already sync'd to an existing device, at least the first sync will need to be done in "merge" mode -- and then subsequent manual tidy up may be required (particularly handling of all day events seems to result in them repeating into the next day, at least in New Zealand -- fixing those on the iPad/iPhone seems to be the only reasonable fix, as almost every round trip in the other direction results in adding a day to the end and/or moving the start date later by a day :-( This seems to be a bug in iOS 7, and apparently worse with multiple devices. It seems Microsoft has problems understanding all day events too).

I also have an Apple Thunderbolt Display. To change the brightness of that display, either:

  • Go to System Preferences->Displays and there is a slider for adjusting the brightness (and there are also colour calibration options there); or

  • use the brightness up/down function buttons (F1/F2, without function) with the Control Key held down. In my case that is somewhat inconvenient because the external Mac keyboard I use (with lovely clicky keys) predates the function button and hence doesn't have brightness keys -- so I have to use the built in MacBook one.

  • ETA, 2014-06-05: On an extended keyboard, F14/F15 for darker/lighter, which seem to work fine with my external keyboard

Beware when adjusting the brightness that in OS X 10.9 (Mavericks) the Menu bar is always displayed on both monitors, but it is dimmed on the inactive monitor, so if you're using it to judge brightness be sure that you've moved the mouse back onto the Thunderbolt display (and clicked on something) to make it the active monitor -- otherwise it'll be much brighter/darker after than you thought after you finish adjusting.

In OS X 10.9 (Mavericks) the only semi-workable built-in way to move windows between spaces is via "Mission Control". There's a dedicated function button to get to it on the MacBook keyboard, but with an older Mac keyboard the important shortcut to remember is Control Up-Arrow. (And Control Down-Arrow reverts to normal application windows.) With the Apple Magic Mouse, one can also "double tap with two fingers" on the Magic Mouse, which may be easier (listed under "More Gestures" in the mouse preferences). (Technically there are two other ways, neither very practical: 1. Drag window to the edge of screen, wait, watch space animation and see window appear on the wrong side of the newly shown space (cf dragging between monitors!), drag window back to more sane position such as near the edge adjacent to the space it just came from; or 2. put mouse point over window, hold down mouse button, hold down control key, use arrow keys -- it's infeasible on an external keyboard/mouse to the point I've never made it work, and maybe it's only supported on the internal keyboard/mouse.)

The Spaces behaviour is rather different to older OS X (eg, 10.6 aka Snow Leopard), which definitely explains why there are so many replacements/helper versions around. I'll give it a few days before deciding.

To have sane automatic backups of photos when devices (iPhone, iPad, etc) are plugged in (and not have iPhone start each time a device is connected!), set up Image Capture to automatically import photos when each device is connected. (Seems to work the same as in 10.6/Snow Leopard, except that it defaults to ~/Pictures/Autoimporter; I set it to work the same as I had on 10.6: import into ~/Pictures/CAMERANAME.)