Wednesday, 8 January 2014

Browser for your OS X Time Machine Backups (Updated)

A few years back I was very excited about a browser for OS X's Time Machine called Time Tracker. It probably still works, but remains in its very early "unpolished" state (in the author's own words). So here's another one that I've been using for a while now, one I personally think is well polished and much better.

BackupLoupe by soma-zone — Advanced Browsing for Time Machine

If you're not paying attention to Time Machine as it backs up, you won't see the size differences—and even if you are, there's no easy way to see individual file differences. In some ways that's the beauty of Time Machine—it's totally set and forget, completely out of the way. But sometimes you want to take a closer look... and that's where BackupLoupe comes in.

BackupLoupe is useful for diagnosing why Time Machine is so slow, or why the last backup was 32 GB even though you don't think you changed anything, or even checking that there was actually a 10 GB backup after you imported your holiday photos into iPhoto...

It's well worth the $5 USD (which I paid after using it for a while—there's no copy protection, but its cheap and very useful).

High Level Differences

The main feature in my view is being able to see the differences between any two successive backups. That is, on top of the normal browsing features of Apple's own Time Machine interface (browsing for a file, viewing/restoring it).

Basic BackupLoupe interface—colours indicate where the big chunks of backup data have gone, and you can easily dig down into backups to see exactly what changed.


My first use of BackupLoupe was looking for cache data, logs and other essentially temporary/transient files that really didn't need to be backed up on my previous, slower Mac. Some applications do indeed prevent their cache files being backed up, but there's some caches (like my email application's local cache of my already-remotely-backed-up-emails) that just doesn't need to be backed up every hour, slowing the rest of the backup down, and ultimately using up space that would otherwise allow longer-term backups of my important data.

File Changes

BackupLoupe also works with MobileBackups. These are the backups that Time Machine does when it can't find any of your Time Machine disks (e.g. when you're away from the office/desk), so that you still have hourly backups, even though they're not on a redundant/separate disk. They proved quite useful recently when I was playing a game and several save files were lost due to a bug in the game's UI.

Thanks to Time Machine, the files were backed up exactly as they had been about 45 minutes earlier. Thanks to BackupLoupe it was very easy to see which ones had changed (updated, and thus OK), and which had been lost (deleted, and needing to be restored).

MobileBackups saved my saved games, BackupLoupe showed me which files had changed and how, even though I would otherwise have no idea which file is which.
And if you want to see how and when the file has changed over time, you can do that too. Just open up the 'History' panel to see a list of backed up versions of the file. Double-clicking takes you to that revision in the backup history, or right-click to bring up the 'Show Differences' option, which opens the two versions of the file in Apple's excellent FileMerge application, showing you the actual changes to the file, side-by-side.

See detailed file changes with the 'History' side panel. Bringing up the context menu allows you to see differences between snapshots in FileMerge.

All up a very useful application, if you want to delve a little deeper into your Time Machine backups, see exactly what is being backed up, see how big each incremental backup is, what files are changing and how, and look for possible exclusions to speed things up and save space.

Monday, 6 January 2014

Sensor Aspect Ratios — What's Best?

I was inspired by a question on the Photography StackExchange site to think about digital camera image sensors, specifically the aspect ratios commonly seen.

Without getting into a long history of aspect ratios, I'll just say that far and away the most common aspect ratios for digital cameras are 3:2 and 4:3. There's various aspect ratios around these commonly used (TV 4:3, HDTV 16:9, Movies 1.85:1 or 2.4:1) as well as many variations in things like picture frames. Another common aspect-ratio is 1:1, though often for smaller things like profile pictures, and instagram photos.

Suffice to say, whatever camera you have, there's a good chance you'll end up cropping images for different purposes (even if you don't do it explicitly, such as the automatic cropping when you print for a specific frame). And you'll probably find you use one or two aspects ratios more often than others (e.g. HD videographers will probably mostly want 16:9, many professional photographers like 3:2, social media junkies perhaps prefer square).

So what is the best aspect ratio for a camera? Why don't they make native 16:9 cameras, given the prevalence of 16:9 video, or square sensors in phones mostly used for social media?

Ok, so there are some that don't conform to the 3:2 or 4:3 standards. The Lytro actually has a square sensor, Canon are rumoured to be developing a square sensor, and OmniVision make some low resolution Native HD Sensors (16:9, 1-2MP). There's probably more, but its pretty uncommon, even in dedicated video cameras. I had assumed GoPro Hero 3+ Black cameras had 16:9 sensors because of their 4k video (4096x2160), but it looks like they're a ~4000x3000 sensor.

So are square and wide sensors an untapped market? Or are they just gimmicks we don't need?

Obviously if you are always shooting/recording for a specific aspect ratio, then the ideal sensor is also that aspect ratio—that way you're not wasting part of the image circle by cropping. So let's see what's actually being wasted when we crop...

The ideal case is going to be a circular image sensor. Well, sort of. The viewfinder would be weird. The RAW files would be weird. Framing would be awkward. You'd probably just set it to 4:3 or 3:2 anyway unless it was super easy to adjust on-the-fly. It's another thing to think about, etc... But mathematically, it does give you the most pixels on your image (assuming a given maximum pixel pitch) and give you the most coverage of the image circle (what with it being circular and all).

So this is a few standard crops from a "circular sensor":
Some standard aspect ratios, at maximum size within the image circle.
And here I've taken each of those standard crops, as if they were the image sensor, and applied various crops to show how much smaller they get.
Crops from a 1:1 sensor
Crops from a 4:3 sensor
Crops from a 3:2 sensor
Crops from a 16:9 sensor

The point to notice is that the non-native crops start to get quite small, specially from the 1:1 or 16:9 sensors. Look especially at the 1:1 crop from the 16:9 sensor, and vice versa—both are considerably smaller than they could otherwise be. You can see the 4:3 and 3:2 sensors provide a bit more of a 'middle-ground', and are thus more flexible to be used with different aspect ratios.

Below is a table showing the coverage of each crop of the image circle for comparison. The columns show what 'limits' the crop (i.e. which sensor is used) and the rows show what shape the crop is. Higher values mean a larger area of the image circle is used, which is generally a good thing (more pixels, assuming a specific pixel pitch).
Coverage of the image circle for the various crops from the various sensors described above.
The table shows much the same information, as the images, though perhaps a little easier to compare directly. As you'd expect, the maximum coverage is achieved when only limited by the image circle (IC). In general, the 4:3 and 3:2 native aspect ratios provide the most 'general purpose' sensor, in that they provide reasonable coverage for both 1:1 and 16:9.

Note, however, there's still a significant chunk of the image circle 'thrown away' by using rectangular (including square) sensors. The CMOS Sensor Squared rumour about Canon's square sensors talks about the square sensor as fitting entirely within the image circle. I think the more likely implementation would be this:
Extra-large square sensor, covering square, and both portrait & landscape oriented 3:2-sized regions.
Instead of using the 'inner' square, which immediately loses the edges of a 3:2 image in either orientation, a slightly larger sensor (or possibly even the kind-of-plus-shaped-sensor) means you keep full-sized 3:2 crops in both orientations, as well as an otherwise-impossibly-large square crop.

Bigger sensors get significantly more expensive though, and require bigger mirrors, so this may well be out of the question. I'm even wondering if the rumoured square sensor is possible with the EF-mount lens-flange-distance.

Anyway, I hope the table and graphs show why we're still using 4:3 and 3:2 sensors.

Sure it'd be nice to have native 16:9 or 1:1 for those who only use one aspect ratio, but a 16:9 crop from a 3:2 sensor is only 8% smaller, while you lose 28% of the area for any of the squarer crops from a 16:9 frame (compared to cropping from 3:2). And, while you lose a lot cropping to 1:1 from any of these sensors, cropping to the common rectangular sizes from 1:1 cuts the image down by 28% compared to cropping from a 4:3 frame. For generic use: small gains, big losses.

Besides, you likely get a much better quality mass-produced-3:2-sensor than you would a (slightly wider, but lower production) 16:9-sensor anyway.

Tuesday, 13 November 2012

Amazon Pricing Irregularities

I'm by no means the first person to point this out, but figured I'd point out a pretty serious irregularity in Amazon's pricing for a returning user compared to a 'new' user.

I was looking on the Amazon Kindle e-book store, as one does when procrastinating, and saw the following NRSV Bibles for Kindle listed for $7.99. A pretty standard price for an e-book, right? But when I clicked on them the price had almost doubled to $14.82! Naturally I went back and forth a few times, looked closer, but each time the prices in the search were $7.99 but rose to $14.82 when I clicked on the book. See screenshots from my browser below.


I've seen this on some other books, though with much smaller increases, around 10-15%, and assumed it was just a tax thing. Maybe they only show tax once you view the book details... annoying perhaps, but maybe its just too hard to cache search results and work out the local tax rates all at once... who knows. But that's clearly only part of the story (sales tax does indeed apply in my area for this publisher), because sales tax isn't 85%... it's only 10%. So where does the other 75% come from?!

Unlike some reports, this isn't just a case of multiple versions of the same book at different prices. There's no '+' icon next to the formats to show other versions; this is the same item.

So I opened up Google Chrome and went into Incognito Mode and repeated the search. I didn't log into Amazon, just checked the prices. Here's the search and item details, both showing the $7.99 price.


What the hell? If I log in and tell them who I am, they want to charge me 85% more for the same book?!

This is definitely an extreme case. The highest of the price discrepancies I saw, but its not uncommon to see a rise of 10-15% over the 'incognito' prices, when they know who you are. Another similar book from the same publisher rose "only" 14.7% (from $15.67 to $17.97), which is "only" 4% over the applicable sales tax.

This is pretty poor form from Amazon, and is pissing me off enough not to buy from them. Even the 4% increase (over sales tax) is dodgy, but seriously... 75% increase for logging in?! No thanks.

Sunday, 22 April 2012

Pixelsync — Photomanagement for Aperture and iPhoto on the iPad

Update: Pixelsync is now discontinued, due to significant changes in Aperture 3.3

It's a shame to see it go this way, but I'll leave the rest of the post as is, since the info may still be valid for those who've not updated. Here's hoping Photosmith start working on an Aperture version!

Update 2: Pixelstream App?

A very bare Pixelstream website is promising to "Bring Aperture, iPhoto, and Lightroom to iOS", which may well mean a PixelSync replacement. Stay tuned...

Ever since I got an iPad I've been wishing Apple would make me some kind of iOS 'client' to Aperture so that I could do basic photo management and editing from my iPad. I often leave my laptop at work, or would like to be able to work on photos with something smaller, and which doesn't produce so much heat if I'm not doing serious edits. I can imagine those with a Mac Pro or iMac would have even more reason to want such an app for their iPad...

So Apple haven't stepped up to the plate, but two iOS developers have:

Pixelsync for Aperture and iPhoto, or Photosmith for Lightroom users

I only use Aperture, so can only really talk about Pixelsync, but it looks like it has pretty similar functionality, at least comparing version 1.x of both... Both have announced upcoming 2.x releases, so looking forward to some significant new features from both!

So what does it do?

It lets you sync photos from your main library (Aperture or iPhoto) to the iPad app, make changes to metadata (e.g. ratings, keywords, colour labels, titles, etc) and sync those changes back to your library.

You can also export these photos (email or the iPad's photostream) and show slideshows of any of the synced photos, if you're into that kind of thing.

This all works using a helper app on your computer that provides access to your Aperture and/or iPhoto libraries (yes, it supports multiple libraries at once).

What doesn't it do (yet)?

Obviously running on an iPad, you're not running a full version of Aperture — it's just a companion, so its worth knowing what you can't do with it...

You can't edit photos (yet). You can't rearrange your library or add photos to albums/books/etc (yet). You can't use the faces or geolocations features (yet). And you can't import photos from your iPad directly into Aperture (yet).

Some of these are planned features for v2.x, some are unlikely to come for a long time. Check out the limitations information for further details or up-to-date limitations of the app.

What's the point?

I find a lot of the time consuming work in going through my photos is in the management side of things. Even just picking which shots I want to delete, keep, share or print can be quite time consuming. This usually takes a couple of passes through an 'event' of rating photos. For some projects I do a lot of tagging as well. So even though this app can only edit metadata of photos, this is still a significant chunk of the time I spend using Aperture

If I want some feedback from my wife or a client about photos (I'm not the most decisive, especially when there are 10 photos of the same 'moment', each with their own technical and artistic flaws!), then having them on the iPad makes this really easy, and saves me bringing the computer home from work.

I'm also pretty bad at getting around to sorting through some of my larger 'events'... like that holiday we took over a year ago that keeps getting pushed back for smaller, easier tasks... so having the whole album on my iPad, with the ability to very quickly go in and rate a few photos, to sort the wheat from the chaff, makes it a much smaller barrier to getting any work done on those larger, older, albums that I never seem to have time for. I'm much more likely to have the iPad on the bus/train than my laptop, and I can only imagine how much of a difference this would make if I had a desktop computer.

I wish it did more...

Yeah it doesn't handle basic edits... that's a pain, when I know I could rotate the photo by 2ยบ to fix that awfully skewed horizon in a couple of seconds in Aperture...

And some of the features being discussed in the developer's feedback forum sound amazing... but apparently independent developers don't have infinite resources to do these things instantly; who'd have thought?...

I'd also love to see some kind of "Back To My Mac"-style connection, so you don't need to be on the same network (ie let me sync between work and home), which might also let me sync photos directly into Aperture while I'm on a shoot or on holidays... but I might just be dreaming here (;

Is it worth it?

Yep. It's about $10 (depending on your currency and I guess whether the developer changes prices), so if you're like me and used to having to pay for photography software its not a big price to pay for a very worthwhile extension to my usage of Aperture. I've been wanting to see an app like this for many months, if not years, and am a bit sad I didn't find it sooner!

I guess the alternative is to use VNC and just use Aperture directly, but having tried this its just not as responsive as I'd like, and so much of what I do in Aperture is keyboard-driven, which kinda sucks when the keyboard takes up half your photo-viewing real-estate on the iPad...

Wednesday, 18 May 2011

moneyGuru review

I've had reasons to become a bit more fiscally responsible of late (having gotten married and gone into debt — unrelated of course! — and I've also fallen in as the treasurer for a non-profit group), I've had reason to find an application for recording and managing finances.

I came across one called moneyGuru some months ago and have for various reasons stuck with it (where iBank, GNU Cash, Quicken, MYOB and some others I didn't try long enough to even remember, got left behind). So I thought I'd share some reasons why moneyGuru became my application of choice for tracking my finances.

Now everyone's needs are different, of course, so let me state mine up front: I'm not after all that much from financial software; I want to be able to create some kind of categorised budget and see if I'm sticking to it, and see roughly where the money goes. For our personal finances, we needed to make a rough budget of regular expenses and see if we could afford loan repayments. As for the non-profit group, I need to categorise expenses and incoming money for reporting purposes, and make sure we're not spending more than our budget. I also wanted to find a cross-platform program that's likely to be around a while, so that when I move on from the treasury position, the next person can still use the software (the old records were in the ATO's e-Record system which was no longer available when I needed it!).

What I don't need is payroll software, GST/sales tax support, PAYG and other tax support, capital gains, asset management, etc, which some of the more complex/expensive software does (Quicken/MYOB). I don't need it, so don't want to pay for it, and to some extent don't even want it in the software I use — I'm not a professional accountant, and know only a little of the terminology, so having too many features just gets in the way of learning the basics.

So moneyGuru...

Price — It's not free, but it's fair. Something that various developers and some musicians, and even some restaurants have started doing in recent years is letting you choose how much to pay for their products. I quite like the concept, at least for electronic distribution, though probably because I'm a bit cheap (in my defence, I've been a student for many years so it's not entirely by choice). So I was able to pick a fairly arbitrary amount to pay for moneyGuru, and then, after checking what others had paid recently, and feeling a bit guilty, I doubled it and felt I was probably paying a fair price.

Sure, this made it more expensive than GNU Cash (which is free), but I chose a price cheaper than the more expensive financial software, since I didn't want to buy all those extra features I just don't need (and of course wasn't buying them here). What I was really paying for was avoiding some of the hassle of just using spreadsheets, which had been sufficient (though a little tedious) in the past.

One interesting novelty that the developer (HardCoded Software) provides is an account of how many hours they have or haven't been paid for their work on their applications. Some are in excess, some are in deficit, so if you're feeling extra generous, you might want to pay a little more to make up for those who haven't paid for his time.

Supported Operating Systems — It's cross-platform and runs much the same on Mac OS X, Windows and Linux. GNU Cash also does this, most others don't. MoneyGuru looks pretty much identical on each, and the features all match up (it's not like Microsoft Office, where the Mac and Windows variants are quite different beasts).

User Interface — It looks nice on my Mac. Much nicer than GNU Cash. And it's not just looks, it's less fiddly than most cross-platform apps, which usually rely on old, outdated widgets, which usually don't support tabbing around and default buttons, meaning you're reaching for the mouse a lot. MoneyGuru uses native widgets and has a lot of keyboard shortcuts, so I can happily work with just the keyboard — the mouse is fine for many jobs, but it has no place in data entry!

Developer Support — One thing that always attracts me towards software is when developers have bug/issue trackers and regular involvement in them. I like giving feedback to developers, and do so on pretty much every application I use regularly (usually, and preferably, by participating in online issue-trackers). Some developers love it and have quickly sent back beta versions for testing, some tell me the bug-fix or feature request is already on their list of things to do (and years later remains undone), some just ignore it (who knows if they've even read it, I usually assume they've given up on the project). So seeing the developer active and responsive on the moneyGuru issue tracker is a great sign for me, and better yet, visibly accepting/rejecting feature suggestions, bug fixes, etc. There's also active support forums for getting help.

Features — Well it does everything I need, and just about everything I want. I can track my accounts, both savings and debts, as well as the cash in my wallet or under the mattress, and can categorise income and expenses very easily. It also lets me import data directly from CSV, QIF and QFX files downloaded from my financial institutions, which means data entry is only really necessary for cash expenses. I won't explain how it all works, as there's a decent manual to do that.

The budget system is usable, though designed for future expenses rather than for checking whether you kept to your budget or not (however an overhaul of the budget system is apparently on the way). There's some pretty graphs for displaying financial history or current status if that makes more sense to you than just numbers. And you can easily look at specific date ranges (months/quarters/years/financial years/custom ranges) to make comparisons between them (though direct graphical comparisons would be a nice feature, also apparently on the way).

Comparisons
  • Compared to iBank, moneyGuru isn't quite as pretty, the graphs are less extensive/customisable, it doesn't sync with your iPhone and it doesn't handle your shares/stocks. Then again, I didn't pay for those features. Also moneyGuru can run on Windows/Linux, so if sharing financial info is important, that may be too. I'd probably get iBank if I could justify the cost.
  • Compared to Quicken/MYOB, moneyGuru lacks a lot of professional accounting features, but as before, you don't need to pay for them if you don't need them. If I was a professional accountant, or running my own business, I'd be using professional financial software.
  • Compared to GNU Cash, moneyGuru is much prettier and simpler to work with. For my money, there's a lot to be said about a really usable and sensible UI, and moneyGuru is one of the few cross-platform applications that manages to still seem Mac-like despite its compatibility.
Summary — If you don't have a complex financial situation, but want to track your finances and budget, then moneyGuru is a very usable solution with a fair price. Complex finances, business owners and professional accountants are going to need something more advanced, and if money's not an issue then iBank is a little prettier and has a few more features.

Finally, in case it needs to be stated, I am not in any way connected to the developers/projects in this post, other than through bug-reports, feature requests and buying/trialling their software.

Thursday, 31 March 2011

ATO e-Record Downloads

This is not breaking news in any sense, but something I've just had to work around.

For some years, the ATO has provided a program called E-Record that lets small businesses and organisations keep financial records. It was free, it worked, it satisfied various reporting requirements, etc... but then they decided it was too much hassle to keep updating it. In July 2010 they removed the download and in September stopped supporting it altogether. That's all good and well and I'm not going to rant about how they should be supporting small businesses with free accounting software; it's ultimately their call to can it (and there's plenty of software around that's really not that expensive).

But... it's really rather awkward when you find that you need to open old records that are in the ATO's E-Record proprietary, binary format, and you can't actually download their software to open them.

So... after a lot of digging (and failing to find any other software that can open the *.ifm files), I've managed to find some installers for E-Records around the Internet.

Firstly, there's this Computer-Aid website that's "selling" the old installers for $6 (they claim to recover bandwidth costs, but I'm not convinced a 15 MB download costs $6). If you're feeling generous (and to be fair, its not a big price for accessing your old records) then by all means grab a copy there.

I did a bit of asking around and managed to find some installers, which are now hosted on DropBox (if you're new to DropBox and decide to sign up, please use my referral link!)
Please run an up-to-date virus scanner over these before you open/install them! I got these from other people who I don't know — not the official website (since it's long gone!). If you don't check them yourself, you're putting a lot of blind faith, not only in me, but in various people that I've contacted randomly on forums... You don't even know me (probably), let alone the random people I got these installers from. So scan it! Better still, run it on a 'throw-away' virtual machine.

Wednesday, 23 June 2010

iPhone e-mail photo resizing — which one should I pick?

So the iPhone running iOS4 now offers to resize any photos attached to an email, just after you hit the send button. Quite a useful feature (does anyone really need a full 3 or 5 MP picture of your latest meal/injury/novelty vegetable/...?).

It offers
  • Small (~10's of kBs),
  • Medium (~100's of kBs),
  • Large (~1000 kB), or
  • Original Size (2, 3 or 5 MP depending on your iPhone model)
But it doesn't actually tell you the dimensions of the images, only file sizes.

So for those interested, here are the dimensions in pixels, and approximate viewing sizes at three different resolutions: 100, 163 and 300 dpi, typical for a monitor, iPhone and a good quality photo print respectively.

Small — 320 x 240 (8 x 6 cm, 5 x 3.7 cm, 2.7 x 2 cm)
Medium — 640 x 480 (16 x 12 cm, 10 x 7.5 cm, 5.4 x 4 cm)
Large — 1280 x 960 (32 x 24 cm, 20 x 15 cm, 10.8 x 8.1 cm)
(all figures rounded to 1-2 sig figs as I felt like at the time, the dpi's are similarly accurate by the way — do the maths yourself if you need accuracy!)

It may be worth noting that the iPhone 2G/3G/3Gs has a screen resolution of 480 x 320, so even the small one will fill a decent chunk of that screen, and medium is ample to cover it. The iPhone 4 has a screen resolution of 960 x 640, so medium will fill ~2/3 of the screen and large will cover it entirely.

So how does it look at full screen on your phone? (i.e. how you're seeing it by default in the Photos app)
  • If it looks okay and you have no desire to zoom in, small or perhaps medium sized images will be fine for anyone.
  • If you need to zoom in to see about 1/4 of the image at a time, send a large version.
  • If you're zooming further or want to print it, send the original size image.
While their device might have a different resolution, if all the detail is there in your full screen image, then it'll be there on theirs.

Friday, 20 November 2009

Browser for your OS X Time Machine Backups

Update: A better solution here.


Apple's Time Machine backup system for OS X is great. So far, thankfully, I've not had to rely on it (see below), and I guess that will be the real test as to whether it truly is as great as I believe it to be, but for now I really like it. It basically (see below) stays out of the way, runs entirely on its own, backs up in a smart way, and generally just works...

Backing up involves me remembering to plug my external hard drive in that sits on my desk. This is fairly easy for me since it's plugged into the same USB hub as my mouse, iPhone dock & camera cable... The only time I've had to use it is when I've accidentally deleted a file or two, nothing catastrophic, so I guess I can't really sing praises too highly until I actually attempt to restore my laptop from it.

The one issue that's come up a few times for me is that I'll want to unplug everything to go home from work and I'll notice it's still backing up, and it'll be doing some massive 1.5 GB or so backup... d'oh. But... why? I have no idea what it's backing up (sometimes I've just forgotten, for example, that I upgraded XCode earlier), and there's no way to see what it's actually doing. For that matter, what is the difference between each successive backup? The Apple Time Machine browser lets you see what's there at any point in time, but the curious are left unsatisfied, being unable to see how big individual backups are, or what's changed between versions. (At this stage I should point out to those unfamiliar with Time Machine that it makes incremental backups, so it only has to store the changes made to the disk rather than a full copy every single time).

I recently found a (very beta/pre-release) application called TimeTracker [download] from CharlesSoft (with the very apt tag-line of "software you always wished someone else would write" — I've been wishing for about a year for this app).

It lets you see a list of all the backups in the Time Machine database, how big each backup is (i.e. the size of the changes on the disk for that particular backup — not the entire size of all data backed up), and most importantly lets you browse through the backup seeing just the files that changed. So when you're wondering why Time Machine is suddenly backing up 200 MB every hour or two you can look back and see what folder it's all in... (Turns out Google Chrome on OS X doesn't store its cached webpages etc in the ~/Library/Caches like all good little OS X apps should *tsk tsk*).

TimeTracker Screenshot (the '0 bytes' backups are just ones I've not yet clicked on)

So, if you're like me, and you have no desire to backup caches, build directories from code projects, and sources files or data that you have backed up elsewhere, you can go into TimeTracker to see what's being pointlessly backed up and then:
  1. Open up the Time Machine browser (aka "Enter Time Machine"), right click on the unnecessary item, and select Delete all Backups of "..." to delete all the past backups of the item.
  2. Open up the Time Machine preference pane, click Options and add an exclusion for the unnecessary item so it doesn't get backed up in future.
As I said before, TimeTracker is fairly beta (it has no icon for example, and a couple of minor bugs) but for occasional use by the curious Time Machine operator, it's great!

For the especially curious, once you've gone and delete an item from your Time Machine backups, you may want to go into your ~/Library/Caches/com.charlessoft.TimeTracker/Backups/ folder and remove the contents so it refreshes the file/directory tree of the backups (otherwise it won't update the trees to show you the new sizes/files after you delete something).

Tuesday, 22 September 2009

iTunes in the Mix — Fanboy Rant

About once a month or so I stumble across some software feature that reassures my faith in the genius of certain programmers/software designers. These tend to be in Apple, Google or Canon products, though plenty of smaller software companies/developers have pleasantly surprised me equally well (I'm on a bit of a Connected Flow fanboy-high at the moment, for example).

I've actually had two such pleasant surprises in the last week. Both with iTunes 9.

Compound Smart Playlist Rules
Last week, when I installed iTunes 9, the first thing I did (as with each new version) was check if they'd finally implemented a more comprehensive mechanism for settings 'rules' up for Smart Playlists. I was pretty happy to find they had finally done so.

Basically, instead of making a playlist that can match "any" or "all" of a single list of rules, you can now create sub-rules (effectively allowing brackets in search/logic terms). For example, you could have a playlist (for your iPod/iPhone) that includes all songs rated 3+ or that you've listened to more than 5 times, but excludes the ones you've listened to in the last week and excludes the classical music that you only listen to when working on your laptop...

This could be done in earlier versions as well, except that you had to create intermediate Smart Playlists for each sub-rule (i.e. one to match the sub-rules, like the "play count > 4" OR "rating > 2", and then another to match the outer 'all' rule). It was messy. This is less messy. I'm happy.

Failings / Suggestions
It's not perfect of course. I'd like to be able to make variables of my own, for example the ratio of Play Count to Skip Count (maybe I used to like a song a lot, but now I skip it all the time...). Also if the variables could be stored as part of the main database, I could make variables indicating how 'neglected' a song is (some formula to represent how much I like it from play-count/rating or dislike it from skip-count, and how recently I've played it) to put these songs onto my iPhone preferentially over others. I know, I know, I'm getting pretty picky here, but I thought I had to suggest something :P

Genius Mixes
Today's awesome feature discovery was iTunes 9's Genius Mixes feature. It's been sitting there for about a week now, but I only just realised what it actually does. Basically it's made 12 categories out of my music library, letting me select music based on mood/genre/some kind of qualitative term like that.

It seems to have made some very sensible groups for me (though I imagine it won't work for everyone's music collection), letting me easily put my music on shuffle with a specific theme or mood in mind. As someone who almost never listens to albums, always shuffles, this is great for me.

There are plenty of guides on how to set it up, but the basic gist is you need Genius enabled (see the Store menu) to get access to the mixes.

Failings / Suggestions
It does of course have a few issues. The names of each list really suck. I have six mixes called "Rock Mix" for example (sure, it's enumerated them, but that's not that useful). Whether that's because iTunes Genius classifies the songs as Rock or whether it's reading the Genre tags on my MP3s (which I think are mostly from CDDB), they're fairly silly Genius Mix titles. I like the clustering, but as with all classification problems, knowing exactly what you've classified isn't always easy. I'd suggest they allow people to rename the mixes, but that would assume/require that the clustering algorithm consistently generates the same song clusters (which I'm quite sure it won't — I'm quite sure my own listening habits and those of others contributing to Genius will change where boundaries are drawn between clusters over time).

So the names suck, but the Genius Mixes themselves are quite good, and I think they know this because they've listed a few artists under each mix to give you an idea of what is in it. If you know the artists in your music collection, you're going to know which mix you want to hear.

Another problem with it is that you can't see what's in each Genius Mix. There's currently no way to access a list of songs in the mix (or even a sample of the mix) except for the currently playing song (which, of course, you can only see by playing the mix). So might be good if they opened up the box a little on this one.

It'd be nice also if they had Genius mixes on the iPhone/iPod, generated automatically from the songs you've chosen to sync to the device. While you can sync the Genius Mixes themselves (though the interface only displays their sometimes-unhelpful-name, not the artists, so having 6 Rock Mixes kinda sucks for picking the one you like), you can't have it generate Genius Mixes automatically based on the (limited) library of your music device.

End Fanboy Rant
Anyway, I'm a fan of iTunes 9. Two pretty cool features that make it suck less, and make me a happier iTunes user.

Monday, 14 September 2009

Aperture Bug — EXIF Data Missing in Exported Images

I really like Aperture. It's got a simple and intuitive interface, and gives you a lot of power to store, organise, prepare, manipulate, etc your photos. I've been using it for about a year now, and on the whole, it's great...

Of course, like any software, I have a few issues with it... some are simple UI annoyances, speed issues, the occasional, but temporary bug... but there's one that Apple seem to consistently ignore (I've sent them bug reports about it several times over the last year, and it still remains)... to the point where I wonder if somehow there's only a few of us suffering from this bug.

The bug in question is fairly simple, and completely repeatable (for me at least).

Step 1: You take a photo, and import it into Aperture.
Step 2: You do whatever it is you do in Aperture to your photos.
Step 3: You export the finished version (specifically the Version, not the Master).

This export step might be using basic "Export Version(s)" option of Aperture, or it might be using an export plug-in such as FlickrExport by Connected Flow (which essentially exports the versions to temporary files so the plug-in can do something with them). Either way, it's the same process of creating a JPEG file from your master, with your modifications applied.

Step 4: Notice the missing EXIF fields (e.g. in the 'more details' link on Flickr, using a program like ExifTool, or even importing the version into another photo application like iPhoto)

Now, perhaps for most people, nothing has gone wrong... The file has been exported, and it looks like it should. Unfortunately, Apple seem to have decided to not include a bunch of EXIF fields. Up until April 2009, this included things like Longitude and Latitude (which upset some people) — but that was fixed in 2.1.3 (not that they mentioned it in the release notes). Unfortunately, that was all they fixed — lens and flash information are still excluded for no apparent reason.

So you ask, why would anyone care, it's just some EXIF data that most people don't even know how to access? Mostly just education and/or curiosity on sites like Flickr, where you can see what settings and equipment people used to take specific photos. The internet is a great tool for learning, and with massive databases and information sources like Flickr, people can answer all sorts of questions and learn all sorts of things from the work of others.

So what are the actual differences?
I used ExifTool to read the EXIF data from a Master and Version of the same photo (with some modifications) and found the following notable differences.

Firstly some additional data is in the Version JPEG (which I would say is generally a Good Thing™, yay!)
  • File name, size, resolution, etc that have changed are of course updated in the Version as they should be.
  • Headline, Caption, Keywords etc from IPTC info are added. Cool.
  • A bunch of EXIF info is added to the Version regarding colour profiles (about 30 EXIF fields relating to colour profiles in fact... I won't list them all, but things like Color Space Data and Profile Description).
Then some information has been changed between the Version and Master JPEGs (some good, some odd)
  • GPS Longitude and GPS Latitude have lost some precision (tsk tsk, is someone carelessly type casting...?). In my example image, it's about 0.3 seconds, so not huge, but still unnecessary.
  • Focal Plane X Resolution and Focal Plane Y Resolution have also lost precision (a change of about 0.0001 — probably no big deal!)
  • Scale Factor to 35mm Equivalent, Circle Of Confusion, Field of View, 35mm Focal Length and Hyperfocal Distance have all been updated. I'm fairly sure this is because I cropped the image, so these are probably intelligent changes.
  • Y Cb Cr Sub Sampling changed from YCbCr4:2:0 (2 2) to YCbCr4:2:2 (2 1). Don't really know what this is, so not sure if it makes sense or not...
  • EXIF Byte Order changed from Little-endian (Intel, II) to Big-endian (Motorola, MM). No big deal, this is just the way the EXIF data is formatted at the bit/byte level.
And, as per my complaint, they've left out a bunch of EXIF fields. There's 165 in total that have been neglected, so I'll just list a few that I believe would be useful for some photographers...
  • Lens Type — Canon EF 50mm f/1.8 MkII (and other Lens related data), or
  • Lens Model — EF50mm f/1.8 II
  • Macro Mode — Normal
  • Self Timer — Off
  • Quality — Fine
  • Canon Flash Mode — External Flash
  • Flash Activity — 146
  • Flash Bits — E-TTL, External
  • Flash Exposure Compensation — -1
  • Flash Sync Speed Av — 1/200 Fixed
  • Continuous Drive — Single
  • Focus Mode — One-shot AF
  • Record Mode — JPEG
  • Canon Image Size — Medium
  • Canon Exposure Mode — Manual
  • Measured EV — 0.75
  • Picture Style — Standard
  • AF Mode — Single-point AF
  • and so on...
Some of these I think would be useful to gain a bit more info about the scene being shot and how it was shot, and in plenty of cases give people a bit more info on how other photographers use their camera (e.g. the flash information or even that I use a single AF point).

I realise that copying the camera settings of another photographer, much like copying their camera body or lenses doesn't make better photos, but it does give people ideas to try out. There have been plenty of times I've seen 'odd' settings in the 'more details' tab on Flickr, or seen people describe settings that I'd not normally use which have helped me learn more about my camera and how it works. So I think this would actually be quite useful for those of us who do have a look behind the scenes on photos we wish we could take ourselves.

I really wish Apple would stop ignoring this problem. If it bugs you too, please head over to the Aperture feedback form and tell them to fix it as well! Feel free to link to or copy sections of this post that you feel they should fix (e.g. the specific EXIF fields you want them to include in exported versions).

My experience is with a Canon EOS 450D (aka XSi or Kiss X2), so no doubt the EXIF data will be a little different for other Canons and other brands, so you might even want to use ExifTool to check out what Aperture is ignoring for you! I recommend using a 'diff' tool (such as FileMerge which comes with the Apple Developer Tools or the command line 'diff') to compare the outputs from ExifTool.

Friday, 28 August 2009

Stop imposing maximum password lengths!

I recently got a letter from Medicare Australia asking me to sign up to their online services, so I can make claims online or something (I'm young and healthy and generally deal with Medicare less than once a year but figured I'd go along with it anyway, whatever...). After signing up and having them mail me (not e-mail, real actual mail... more secure perhaps?) a password to log in, I got to the stage of logging in for the first time, setting up my account with security questions and a new password...

At which point I discovered
Your new password will be case sensitive and must contain:
  • eight characters in total
  • at least one (1) letter and one (1) number.
The password policy can also be seen here for those without a Medicare account, if you scroll down to 'Passwords'.

At first I thought nothing of it, the usual password restrictions, security conscious etc, but then found that eight characters in total was not just a minimum, it was a maximum as well! Ridiculous. What possible reason could they have to limit my maximum password length?

Perhaps management have insisted that all fields on the website have a fixed length so that the cursor can be automatically advanced between fields when the user has typed in their details. While this can be a nice feature for the very computer illiterate, it's forcing a reduction in password security (and is often implemented poorly so that it becomes quite difficult to correct mistakes in the last character of input fields).

Perhaps they store passwords in clear-text in an 8-byte database field... sigh... surely not... I hope not.

Perhaps they think users will forget long passwords, but let's face it, most users either have their web browser remember all their passwords, or have their own standard memorable password (be it secure or not) that is quite possibly not 8 characters long... if it's about not forgetting passwords, don't force them to make a new 8 character version for your site!

Eight characters seems to be considered a minimum for a secure passwords, definitely not a maximum... About 10 years ago I remember a lot of websites had these kinds of password length limits, typically forcing users to have a password between 6 and 8 characters, but there's just no excuse for it these days.

Stop forcing us to have insecure 8-character passwords!

EDIT: As commenter Charles has pointed out, some websites crop your password to the first 8 characters, which is even worse than Medicare's practice!

It's a reasonably common practice to add a few words, numbers, symbols, acronyms, etc together to make up a memorable password (for those who don't have randomly generated ones). For example, "elephant#43spiced" might be reasonably secure in that it's two separate dictionary words, a number and a symbol in some arbitrary order. It might also be very memorable if your favourite animal is the elephant, and your favourite menu item at the local Thai joint is Spiced Chicken Soup and appears 43rd on the menu...

Alas, if your bank only uses/checks the first 8 characters, your password is now a simple dictionary word: "elephant". Bugger. Despite all your efforts to include numbers and symbols and make it more complicated, its really not that secure at all.

The worst part is, you probably don't even know that your password is insecure. If they'd told you that your password should be 8 characters only, then at least you could have made it "spiced#43elephant" for a much more secure cropped password of "spiced#4".

So check your passwords — try logging into your important accounts (e-mail, banking, share trading, anything that has your credit card details saved like eBay and Amazon...) with just the first 8 characters... Perhaps you need to change passwords to make the first 8 characters secure, and perhaps you have a spare 5 minutes to e-mail the webmaster of the site to ask them to fix up this gaping security hole!

Thursday, 7 May 2009

University of Sydney's new Mail Service

For many years my university has offered a simple e-mail service with web-based, POP and IMAP access via servers on-campus. On-campus servers meant it was fast in response and download speed, and data was free (for both us students and the university). External access was available via SSL when necessary. The only real problems were limited attachment sizes and inbox quota (a few megabytes each).

Recently, the university has decided that we need a new e-mail system, my guess is they decided it'd be too expensive to set up a system with more realistic quotas (GB rather than MB) for every user themselves, so they're outsourcing it. At first I thought, great, they've finally jumped on the Google Apps For Your Domain band-wagon and we'll all have a much more usable e-mail service. Exciting times.

Alas, no. They went with Microsoft Outlook Live (beta).

This has a few serious drawbacks...

The servers are overseas
  • Firstly, it's going to be a little bit slower. This doesn't really matter if you're using POP to access it, but for web-based and IMAP access it'll be a small annoyance. Given the larger e-mails we're now allowed to send/receive, this may become more of an annoyance, but this is probably the least of my complaints...
  • The second effect is that the data now costs money. Okay, okay, they're not charging us directly, but tens of thousands of students now accessing their mail via servers, apparently located in Seattle, are going to have a sizeable impact on the university's overall internet budget. Again, not a major complaint...
  • Thirdly, the university's firewall prevents direct access to external sites. There's a web proxy (HTTP and HTTPS with limited ports only) or a VPN (which costs money each time you connect and for the data you use). So if you don't want to use the web-interface (free over the proxy) you have to pay for the VPN and for the data you use connecting to the POP or IMAP services. Admittedly this problem is technically fixable, either by punching a specific hole in the firewall for e-mail access or making VPN access free and VPN data to these sites free. We'll see what happens there...
It's Microsoft, and there is no cure
Would you be surprised to hear that the Microsoft Outlook Live (beta) service is only fully featured in IE 7 and 8? Of course not... we've come to expect this kind of behaviour from them... But what does fully featured mean?
  • Drag and Drop — okay, a minor annoyance if I decide to use the web interface and want to move e-mails around, but I'm more likely to set up automatic rules I think...
  • Keyboard shortcuts — oddly these work "partially" in Safari and Firefox (no mention of Opera). This is just plain weird... unless they decided they just had to have some of the reserved shortcuts in FF/Safari, I can't imagine why they only half-completed this job...
  • Keyboard shortcuts for MSN chat — I won't be using the built-in MSN chat in their web interface, so I personally don't care that these don't work at all (again, odd that they're specifically disabled in FF/Safari when some shortcuts work...).
  • Options — yep, that's right, most of the settings pages for the e-mail service are completely unavailable in FF/Safari. We can create filters, adjust some very basic spell-check settings, change how our calendar is displayed and choose our localisation. We cannot access the following tabs: Automatic Replies, Deleted Items options, Mail options, General options, Change Password, Voice Mail options, Junk E-Mail options. Are you serious, Microsoft? We are forced to use IE specifically to change our password? Even just to access the general options? This includes things like enabling POP / IMAP interfaces so I don't have to use their crappy web interface...
At best this is some pathetic laziness on the part of their web devs, perhaps complete incompetence... at worst this is intentionally anti-competitive.

There's also one of my hated features of Hotmail present in Microsoft Outlook Live — the mandatory yet severely limited 'secret question'. When I opened the account for the first time, I was required to make a secret question, and I had a list of 5 options for my question. The problem with this, is most people will actually put a valid answer in, and thus make it incredibly easy for a stalker to gain access to their e-mail. One doesn't need to be a P.I. to figure out a friend's mother's maiden name. Unfortunately, since I'm refusing to load up IE, I can't remember what the exact questions were, but suffice it to say there was no "make up my own question" option. Now I know what you (the security conscious) are thinking — people can just put garbage in as their answer. But I guarantee you at least half the students will put a truthful response in. At least if they could have made up their own question, they might have put something more likely to actually be secret in there...

It's not the end of the world, I know, and eventually I'll succumb to their evil demands, open IE and enable POP access so I can keep checking my e-mail via my GAFYD account... (and keep having it read by the Google E-mail Overlord bots) but it's the principal of the thing — the university should know better than to support a company that's pushing their lax security and anti-competitive ways upon us. If they truly must outsource it, at least outsource it to a company that caters for everyone (not just IE users) and has even a vague notion of what online security should be.

Friday, 6 February 2009

Switching from Hotmail to GMail (including your entire mail history and e-mails received thereafter)

According to a recent announcement (14th January, 2009), free POP3 access to Hotmail accounts is now on offer from Microsoft (in "United Kingdom, Canada, Australia, France, Japan, Spain, Germany, Italy, and the Netherlands"). Combined with GMail (or Google Apps For Your Domain), which lets you import mail from a POP3 account, this allows you to use the GMail interface for your Hotmail account, or switch entirely to GMail (or GAFYD) but keep your full Hotmail history and still receive any new e-mails sent to your Hotmail account.

From my experience (setting up my housemate's GMail account) it's actually a very simple and painless procedure, and doesn't seem to require any settings change in the Hotmail account.

From the aforementioned post from Microsoft, the basic details for the import are as follows:

POP server: pop3.live.com (Port 995)
POP SSL required? Yes
User name: Your Windows Live ID, for example yourname@hotmail.com
Password: The password you usually use to sign in to Hotmail or Windows Live
SMTP server: smtp.live.com (Port 25)
Authentication required? Yes (this matches your POP username and password)
TLS/SSL required? Yes
So the steps in setting up your account for GMail are as follows:

1. First log into your GMail or GAFYD e-mail account (or of course create one if you don't have one yet).

2. Go into '
Settings' and select the 'Accounts' tab.

3. Down the bottom is a section titled "
Get mail from other accounts" (which can be used to get your e-mail from any other POP3 account in GMail). Click the "Add a mail account you own" link in this section.

4. This will bring up a pop-up asking for the e-mail address of the account. Enter your Hotmail address here (e.g. awesometown83@hotmail.com) and hit
Next Step.

5. On this next page you now need to modify the settings (as the automatic defaults aren't quite right). Set them as follows:

  • Username: awesometown83@hotmail.com (obviously replace awesometown83 with your actual Hotmail username)
  • Password: enter your Hotmail password in here... (assuming you trust GMail with this automated access to your Hotmail account... I do.)
  • POP Server: pop3.live.com
  • Port: 995
  • Always use a secure connection (SSL) when retrieving mail: Tick this option
The rest of the options here are up to you...
  • Leave a copy of retrieved messages on the server: If you check this, your e-mails will all remain in your Hotmail account, so if you decide later that you don't want to keep using GMail for this, you can go back without any hassle. Alternatively, if you have a high volume of e-mail through this account, you may want GMail to remove them after it retrieves them so you don't have to log into Hotmail and empty the account if it fills up.
  • Label incoming messages: You may want to apply a label here, so that you can easily see/sort which e-mails came through the Hotmail account. This would be useful, for example, if you want to let friends know that you've got a new e-mail address (the GMail one), you can see who's still sending e-mails to the Hotmail one.
  • Archive incoming messages (Skip the inbox): If you are labelling the Hotmail e-mails with a unique label, then perhaps you don't want them all in your inbox, but would rather they're just visible under the GMail label (personally, I do this with my work e-mail account so the work e-mails don't clutter the inbox). It's probably worth checking this particular option when you first set up the Hotmail account so that all of the imported e-mails skip the inbox on the first import; once the import process has completed (it may take a few hours if you have a large Hotmail history) you can go back into the account settings and un-tick this so that any e-mails go into your inbox.
6. When you press Add Account, GMail will test the details you provided and attempt to start collecting e-mails. If this fails you should check the details you entered match what I've written above (especially the username — did you remember to put @hotmail.com on the end?). If this succeeds then you'll be asked if you want to be able to send e-mail as awesometown83@hotmail.com, which depends on whether you intend on keeping the Hotmail address active. If you select no, you're done!

If you select yes, you'll be able to send e-mail from within GMail that appears to come from your Hotmail address, which may or may not be useful to you.

If you choose to be able to send e-mail from the Hotmail address, you'll be asked to enter the name that's used to send e-mail from that Hotmail address (perhaps you don't use your real name with your Hotmail address, in which case here's your chance to keep your real name hidden...).

Lastly, GMail will need to send a verification to the Hotmail address to prove it's actually yours (a bit of a moot point now since you've already provided a valid password, but its the same interface they use for being able to send e-mails from custom addresses...). Send the verification and you'll come to the final page.

The final page allows you to enter the verification code manually, however if you simply go to your inbox, you'll find the e-mail has a link in it to follow, which doesn't require any copy/pasting of the verification code. I can't remember the order GMail imports e-mails in, it might be the oldest first, so if you want to perform the verficiation immediately, you might want to log in (one last time, hopefully!) to your Hotmail account and open the e-mail up straight away... Otherwise just just wait 'til its finished importing and find it in your GMail account.

GMail will now start the importing process, in which all your Hotmail e-mails are imported into your GMail account. Perhaps annoyingly, all the imported e-mails will be marked as
unread, even if they were marked read in Hotmail. You could use a GMail filter to fix this, or use the GMail smart select terms to select all the unread e-mails and mark them as read if this is a problem.

If you have just a few in there (less than 100), then it'll be basically instant, if you've got your entire history of thousands it might take a few hours. Either way, let it run and do its thing (you can check its status in the '
Accounts' tab in 'Settings'). I'm not sure if the Hotmail Spam/Junk mail folder is also imported this way. Chances are 99% of the junk will get picked up by GMail's (incredible) Spam filter, so it doesn't really matter, however if you have a large amount of Spam, then you'll probably notice a few get through. Remember though, that you'll be seeing the entire history's worth of Spam in one go, so don't get too put off if a handful get through all at once, and of course mark them as Spam and you're improving the Spam filtering straight away.

One final thing to bear in mind (I don't know the current policy on this, so I'm guessing to some extent) is that Hotmail used to (this was true about 5 years ago I think... and thus may still be) delete accounts if you didn't log in once every 30 days. If this is still the case, I'm not sure whether the POP3 logins that GMail does count (if they do, you're safe, and if Hotmail have given up on this silly policy you're also safe) but I guess there's a small chance that they might delete your account for inactivity if you completely stop logging into it. I really hope this is not the case, but it's Microsoft, and there is no cure...

Good luck, and (for those new to GMail) enjoy the much improved GMail interface... try out searching, navigating around (without image ads all over the place), labels and filters. (:

Tuesday, 13 January 2009

Mac OS X Desktop Wallpaper broke after switching from iPhoto to Aperture — Fixed!

Summary: If you've deleted your iPhoto library (e.g. after switching to Aperture) and your desktop wallpaper preferences have stopped working properly thereafter, recreate the iPhoto library (with the same name as before) and it should fix the problem.

I recently tried out Aperture (previously using iPhoto) on my MacBook Pro after purchasing a Canon 450D (in-depth review), and, after deciding I liked Aperture more than iPhoto, I migrated all my photos from iPhoto into Aperture and deleted my iPhoto library completely.

The result of this (apart from the obvious intended one of my photos being in the Aperture library) was that my Mac OS X desktop wallpapers stopped working properly. Going into the System Preferences app, and into the Desktop & Screen Saver pane, I discovered the following:
  • My custom folders were no longer listed in the selection slider on the left – all that remained were the default Apple folders (Apple Images, Nature, Plants, Black & White, Abstract, Solid Colors [sic], Pictures Folder) and my Aperture Projects... twice.
  • Attempting to open either of the Aperture Projects folders caused the second one of them to open (I could click on either, but it would always open the lower one in the list) – selecting any of the projects/albums worked fine (almost... see below)
  • I could no longer add/remove folders (the +/- buttons at the bottom didn't work).
This bugged me since I had previously been using a few folders that I manually added pictures to for wallpapers... so at first I was mildly annoyed and after logging out / rebooting didn't fix it I set up a Wallpaper smart album in Aperture to much the same effect as my custom folder. Fine. Almost...

Every time I went back into the Desktop & Screen Saver preferences, my wallpaper selection would revert (for all active monitors) to the Apple Images selection. I think this also happened on reboot (can't quite remember) and when I plugged in my second monitor (which I only use at work... and thus happens about once a day).

Completely separately and coincidentally I was helping my girlfriend use iPhoto on her laptop (over IM), and wanted to open up my version of iPhoto so I could remember where a menu option was; this required me to create a new iPhoto library. Inadvertently I'd just fixed the problem. I noticed the next day and went into the System Preferences to discover now that the iPhoto Albums had been reinstated in the list, the custom Folders list was also back (along with the ability to add/remove them and the settings surviving reboots and unplugs).

It may be important that I used the same name for the iPhoto library as the previous one (i.e. just the default), so if you've got the same problem it may be important to pick the same name.

I'd be interested to know if there's a "correct" way to delete the iPhoto library that doesn't break the desktop wallpaper settings when switching to Aperture, but for now I guess I'll leave the empty library in place.

Tuesday, 29 April 2008

Boot Camp vs Parallels vs VMWare Fusion

Update: (2009/06/01) This post is quite old now, and both companies have released new versions. As a very brief summary, I'm actually finding the performance pretty similar these days (they've both obviously put a lot of work into the areas they lagged behind the other) so I'd say it's now much more an issue of cost, eye candy and utility features (rather than performance) to decide on one or the other. Personally, I'm using Parallels v4... for now (;

I did some benchmarks a while back (August 2007) that I had always intended to post online somewhere, and since I've finally gone and made this blog I'm posting them, albeit a little late.

Now firstly, there have been updates to Parallels and Fusion since August '07, so these benchmarks are out of date, but I don't think that makes them totally worthless. Having updated Parallels and Fusion in April this year, and tested both with Visual Studio 2005, my (subjective) feeling is that the performance (at least for compiling a C++ project in Visual Studio in Windows) has changed very little since August last year. Still, I'm supplying these benchmarks with a few grains of salt...

I ran these benchmarks using SiSoft Sandra, which I've always liked for benchmarking (you get each measure individually, and it doesn't try to combine them all into a single weighted average that has no real-world measurable value - but then again, as an Engineer and Physicist I may be a little biased against calculations that fail on dimensional analysis... sorry, I digress...).

My platform is a MacBook Pro 15", 2.2 GHz Core 2 Duo (4MB), 800 MHz Bus, 2 GiB 667 MHz RAM (2x1 GiB DIMMs), GeForce 8600M GT 128MB 16xPCIe (and so on, as per the stock MacBook Pro from August '07 with the 160 GB HDD upgrade).

The benchmarks were run in SiSoft Sandra as mentioned above, in a Windows XP machine on my MacBook Pro. It was actually the same Windows XP install for all three setups - I installed Windows in Boot Camp and was able to run the system either by launching one of the Virtual Machines (Parallels Desktop or VMWare Fusion) or by booting in via Boot Camp. The upside of this was consistency (and for me, ease of switching between VMs/Boot Camp for my actual work), the downside is that any hardware detection that takes place only at install time may cause a lower than optimal performance on one of the VMs (I mention this only because I recall something about needing to re-install Windows XP if you upgrade to a multi-core processor or one that supports certain new CPU instruction sets if you want to make use of the extra cores/instructions, so it might be relevant... I'm not sure). This would also therefore affect the disk performance for the VMs, since they're directly accessing the disk rather than a virtual disk.

The software versions at the time of benchmarking were
  • Parallels Desktop 3.0 build 4560
  • VMWare Fusion 1.0 (either RC1 or build 51348 - can't remember which)
  • Boot Camp (beta 1.3 or 1.4 - can't remember which)
For the record, current versions are Parallels 3.0 build 5584, Fusion 1.1.2, Boot Camp 2.1.

Where possible the machines were set up identically, however Parallels still only supports a single processor for virtualisation. This obviously caused some major differences in the benchmarks, but is not necessarily a Bad Thing™ when you're using a VM. A single core is fine if the application(s) you use in the VM are, on the whole, restricted by a single thread.

So down to the benchmarks... In each of the images below, the systems are represented as follows
  • Parallels - Red bars/lines, labelled "Current X" (e.g. Current Processor) - as the screenshots were taken from Parallels.
  • VMWare Fusion - Orange bars/lines, labelled "VMWare Fusion 1.0"
  • Boot Camp - Green, labelled "BootCamp"
Apologies to the colour-blind; some of the graphs make it very difficult to differentiate between the data, and it didn't really help that I left a couple of other similar-performing devices in the graphs for comparison... ignore the blue and magenta scores (;

For a good (professional) explanation of these benchmarks (by the people who made them) you should check out SiSoft's Benchmarking 101 Pages.

First up, Processor Multi-Media - Fusion runs almost native speed, Parallels falls way behind at about 25% of native. Now given Parallels is only running with one processor, one would expect it to be half the native speed, so it seems as if the one core is running about half the speed (when it comes to Multi-Media instructions) compared to the cores when running natively or in Fusion.

Processor Arithmetic - Again Fusion is close to native speed (92.2% Dhrystone, 93.0% Whetstone), and Parallels, as expected, is sitting at about half native speed due to the single processor virtualisation (47.6% Dhrystone, 54,0% Whetstone). Actually, 'per-core' Parallels outperforms Fusion here by a few per cent points.
Multi-Core Efficiency - Parallels doesn't show up in this graph, but again you can see Fusion falls just short of the native Boot Camp scores (looks to be around 90% of native values).
Cache and Memory - This benchmark shows memory bandwidth as a function of the block size, and indicates the speeds of the different levels of cache (note the significant steps around 32-64 kiB and 4 MiB). The two VMs perform at pretty much native speed above 128 kiB but things are very different below 32 kiB. Parallels is about 60-70% of native speed while Fusion seems to be about 40-50% faster than native speed in this range. My guess is its actually something odd going on with the timing if this benchmark within the VM. I can't imagine it would be possible to generate memory bandwidths beyond that of the native L1 cache! My guess is the VMWare graph basically follows the native one in the 'real world' for cache speeds.
Memory Bandwidth - This one's quite surprising, as both VMs exceed the native memory bandwidth for both integer and floating point benchmarks. Perhaps (at least in the Boot Camp beta) Apple's drivers for Windows weren't quite up to date. For the integer benchmark, Parallels beats Fusion by 38%, and for the floating point benchmark, Fusion beats Parallels by 13.5%. Unless you really know what your applications are doing in terms of memory access, these results don't really give a clear winner...
Memory Latency (Linear) - Another benchmark that clearly indicates the different cache levels (note the jumps between 16 and 64 kiB, and again either side of 4 MiB). Parallels tends to sit one (or so) clock cycle faster than Fusion for the whole range, and seems to get further ahead as the test range size increases. Parallels only really deviates from native speed at/around the 4 MiB mark (i.e. the size of the L2 cache). From memory the graph is the same (or very similar) for the second processor in Boot Camp and Fusion (not worth graphing twice).
Memory Latency (Random) - Again, Parallels is slightly faster than Fusion for all the test range sizes, and the native Boot Camp benchmark jumps ahead significantly at/around the 4 MiB L2 cache limit.
File Systems - Fairly notable differences between the three platforms here, with Fusion about 20% faster than Parallels, and native Boot Camp disk access about 20% faster than Fusion.
Summary - Certainly back in August 2007 (drivers may have been updated since...) there was no clear winner between Boot Camp, Parallels Desktop and VMware Fusion for all-round performance. Boot Camp came top of everything except memory bandwidth (but lost by quite a large margin to both VMs), Parallels tended to perform better than Fusion in memory and cache access, while Fusion's dual-core virtualisation put it a long way ahead of Parallels for raw CPU performance.

From my personal experience (here comes the subjective bit...) running Windows XP in Parallels and Fusion, even though Parallels only supports a single processor for virtualisation, Fusion seems to use a lot of its second core for processing graphics. I'm not 100% sure of this, but Parallels seems to do a better job (and this might be due to its OpenGL support? since Fusion lacks OpenGL support... clutching at straws though) of passing the work off to the graphics card, while Fusion does more of the rendering in CPU-land. I've seen Fusion sitting there using something like 80% of one processor while Windows is sitting there doing nothing but displaying a few windows; Parallels was down at 10-20% of the one processor (though the GPU does produce plenty of heat while its running).

A more objective test, and this is what has me sold (for now...) is that the C++ library I spend a lot of time using at work takes about 3-4 minutes to compile in Visual Studio 2005 under Parallels, and about 12 minutes under VMWare Fusion. This is a test I ran a few weeks back (April 2008) with the latest version of both Parallels and Fusion, and I came to the same conclusion (that compiling a large C++ project in VS2005 was faster in Parallels than Fusion) in August 2007 as well. As for Boot Camp, I've given up on that completely - I hate rebooting (and the fact that Windows thinks the system clock should be in local time for some really stupid reasons, despite good arguments to the contrary).

I guess this suggests that compiling (at least the combination of C++, VS2005, Windows XP, and our code-base) is more memory-bandwidth/latency-bound than processor/disk-speed-bound.

Fortunately, I've ported this library and some of our applications to Mac OS X (thanks to Leopard's POSIX compliance) so I don't have to spend much time in the VMs any more (;

On a final note, I've noticed that a lot of people compare them by their features, interface, 'feel' and such, saying that one or the other feels more like a Mac program, or feels more robust, etc. I've avoided any mention of these because I didn't find them different enough in these areas to be able to suggest everyone (or even a significant majority) would feel the same way on these subjective matters.

Apart from graphics support and number of CPUs virtualised, they're very very similar applications on the surface, though performance can differ quite a bit for applications that are bound to the performance of specific components of the system.