Wednesday, March 10, 2010

Do NOT use the Flickr uploader in Aperture 3.01

What a fuckin' disaster - Apple you bunch of twits !

Aperture 3 is a step forward in many ways but the Flickr uploader that comes built in was clearly the work of the junior member of the Aperture dev team. Oh, this will be easy, let's give it to Joe - he has no experience but it's only a bloody file uploader he can't screw it up too badly. Wrong. Joe fucked it up !! 

So, having selected an image to upload, I click the Flickr button in the tool bar - the tooltip for the button is "New Flickr Album". It creates an Album in my Aperture Library which it synchronizes with Flickr. Great - the image uploaded. However, if I then modify the image metadata in Flickr itself (which is what I would normally do) - like give the image a new name - it get's out of synch with the Flickr Album in Aperture and the image disappears from the album. Ok, I think to myself. I'll name the image version in Aperture, and set the keywords in Aperture too - great, these things synch to Flickr, and the keywords become Flickr tags.

At this point I'm not completely comfortable with the two-way nature of the link between Flickr and Aperture but it seems to work.

So, one day I use the Aperture auto-stack feature and inadvertently auto-stack more photos than I had intended - but it's no problem, they all needed stacking ... oh oh, what the fuck's happened to my Flickr page! The auto-stacking in Aperture created stacks that contained previously published-to-flickr photos - and the photo I had published was not the pick of the stack (the first photo in the stack) - so Aperture deleted the published picture and started publishing the pick. All of the comment history and favorites for my published photos disappeared in a blink. So, I set the correct photos to be the picks and they were re-published but all of the history is still lost.

So - do NOT use the Flickr uploader that comes with Aperture. It is poorly conceived and implemented and I rue the day that I used it.

Also, while I am bitching about Aperture 3 - it doesn't seem to handle psd file contents properly. See below - how the expanded image is at odds with the thumbnail. This has happened to every PSD file I have added (or that was generated by the Photomatix plug-in). What is going on Apple?


Monday, February 15, 2010

Scripted use of HandBrake to re-encode video

My workflow for importing media from my cameras reflects the fact that video is just as important to me as still images, and beginning to dominate in terms of storage needs. Which is saying a lot considering that I have a Canon 5D Mk2 and take a lot of RAW images which are over 30MB each.
Video originates mainly from my family's 2 point & shoot cameras - a Canon Powershot TX1, and my new (awesome summer camera) Canon D10, and to a lesser degree from the 5D Mk2.

Generally, the video is generally not particularly high quality - it's family orientated stuff that we really want to keep but doesn't need to be, for example, a 1080p 40Mb/s stream. So, I want to re-encode the footage to reduce my storage needs. In the case of video from the point & shoot cameras - I am well served by the "Universal" preset available in HandBrake (yes, I have an AppleTV), i.e. there' no noticeable quality loss but often storage is only 1/3 of the original. For footage from the 5D Mk2, I may use the "Universal" preset - which creates a 720p version that is still lovely and clear but uses only 10% of the storage (!!) or I handle the file using a different workflow (it will probably get used directly in Final Cut Express).

So, my workflow is something like this:

  1. Import from camera or card, using Image Capture, into an import folder - the same folder each time.
  2. Run my "encode" script from a Terminal window - see below (I could call this from Automator but haven't done so yet).
  3. From Finder, check the encoded video is ok. I have seen issues with Handbrake not creating usable output from very short input files. If all ok, delete the original video files.
  4. Import content into Aperture 3 (Yippee, Aperture 3 supports video !!)
  5. Kick off a Time Machine backup.
  6. Erase import folder.


My "encode" script.
This script does the following:

  1. Enumerates files of type avi & mov in the current folder and generates H264 mp4 files that can play on my AppleTV.
  2. Sets the timestamp of the mp4 files to be the same as the input file - since there is no EXIF-type data in the mp4 files you would otherwise lose the original time & date.

#!/bin/zsh
# Author: balrob. Date: Feb 2010. Copyright: public domain.


set -G


for EXT in 'MOV' 'mov' 'AVI' 'avi'; do
for FILE in *.$EXT; do
BASE=`echo $FILE | sed s/.$EXT//`
HandBrakeCLI -Z Universal -i $FILE -o $BASE.mp4
touch -c -t `stat -f '%Sm' -t '%Y%m%d%H%M.%S' $FILE` $BASE.mp4 
done
done

Yes, I know I could have used case-insensitive globbing, but that doesn't help me here:
sed s/.$EXT//
because sed is case sensitive.  

Wednesday, September 16, 2009

Defeating Geo-Defence "Rabbit Hole"

For those you you who love the iPhone game Geo-Defense, here's my defeat of the "Rabbit Hole" level.

Tuesday, May 26, 2009

One day, long, long ago ...

One day, long, long ago, there lived a woman who did not whine, nag, or bitch.



But it was a long time ago, and it was just that one day.



The End

Thursday, January 8, 2009

Creamoata

I was very sad to read recently about the demise of Flemings Creamoata, a long time staple of any civilized breakfast table. I loved the Fine Ground Creamoata - porridge made with it had the consistency of pudding - smooth & creamy.

Anyway I wrote to Nestle and asked for the “recipe“ and was pleased to receive a reply the same day - with details of how to make my own Creamoata - thanks Danielle from Customer Services !
”Recipe“ is not quite the right word as it turns out, since Creamoata is just Rolled Oats that has been milled to a fine consistency - so more like ”Processing Instructions“.

Here are the instructions:

Medium Ground Creamoata
Place Rolled Oats in a food processor and process on highest speed for approximately 4 minutes.

Fine Ground Creamoata
Place Rolled Oats in a food processor and process on highest speed for approximately 8 minutes.

Easy eh? Don’t fill the food processor more than about 1/2 full.

Here’s my favorite recipe for preparing Creamoata oats for breakfast:

Ingredients:
1/3 cup Creamoata
1/2 cup cold water
1/2 cup cold milk
1/8 teaspoon salt
1/2 mashed banana
A few raisins (optional)

Cooking
Add 1/2 cup of cold water and 1/2 cup of cold milk to 1/3 cup Creamoata in a small saucepan while stirring with a whisk.
Add salt, mashed banana and raisins.
Bring to the boil slowly, stirring constantly. Simmer for 1 and a half to 2 minutes stirring and serve.

Serve with Dark Muscovado Sugar and extra milk.
Dark Muscovado is an acquired taste, so regular Brown Sugar will do if your taste is unsophisticated :-)

One trap for young players when cooking with Creamoata is how quickly it will thicken - and will quickly result in a blobby mess if you don’t watch it. This is why I suggest stirring with a whisk rather than a spoon or fork.

Enjoy ...

Thursday, June 12, 2008

USB versus Firewire

I am kind of annoyed by this Macworld UK article: USB 2.0 hard drives
The author, Rosemary Haworth, says of Firewire support: "You’ll pay more for this feature, and many people won’t need it, given the advantages of USB 2.0 over the dreadfully slow USB 1.1 standard.".
I think you've done some people a disservice Rosemary, by not telling them about the advantages of Firewire, which are more subtle than just bus speed.

When reading or writing to a Firewire drive you'll find that the CPU is very lightly loaded compared with USB. This is because the CPU is heavily involved in USB data transfers, but with Firewire it is different. The Firewire disks can directly transfer data into memory without CPU supervision (the CPU asks for the data transfer and then is free to do other work while the Firewire hardware takes care of the transfer - at the end of the transfer the CPU is notified).

Who cares you might ask ? Well, here's an example of where Firewire is important:

You are an engineer or Product Manager and you use VMWare Fusion to run VM's of Windows as part of a customer demo. Have you ever been embarrassed by how long the VM takes to load or how sluggish it is to run from your laptop. Well, buy an external Firewire drive and put your VMs on it. Since data transfers from Firewire use little CPU, the CPU is free to run the VM - and you get the advantage of two disks (your main one provides the OS and Applications, and the VM comes from the external disk - you effectively have twice the hard disk speed).

In a nut shell, USB is great so long as you don't really need all of your CPU at the same time as you need data from the USB disk. Where-as Firewire leaves most of your CPU alone - for productive use.

Monday, May 12, 2008

Playing "Hunt the dialog" in Leopard

The "Spaces" virtual desktop feature of Mac OS X 10.5.2 Leopard, is great - but far from perfect.

Have you ever played "hunt the dialog" ?

This game is played upon you when you use Spaces. Here's what happens:

An application, that is in a different Space than the one you are currently using, alerts you by bouncing in the dock. You click it, and are whisked away to the right space. However, the app looks kind of odd - you can't detect why immediately but it soon becomes clear that the app doesn't have focus. Somewhere else is a dialog, from this app, that should be on top, but is in a different Space.
Well, where is it?

If you are really unlucky it is behind another app in a different space - finding these really sucks.
If you are lucky it will be visible in another space. Usually, as soon as you click it, you automatically switch back to the correct Space (the one that the originating App is in) - and can then interact with it.

Spaces needs some polish.