Wish list for iPhoto: Make Faces Smarter!

Ever used iPhoto and thought to yourself “I wish it did…”, well I just installed the new iLife ’11, which includes iPhoto 9.

I decided to play around with Faces, and update a few photos… not exactly the quickest process! Anyhow, I found a tip to speed things up: make a smart folder which shows “Face is unnamed”. Now you can go in and name faces, and once you do it jumps to the next photo. You can use tab to goto the next name field in a photo (or shift-tab to go backwards) put the name in, hit enter and it will goto the next photo. I have also been deleting face fields where I do not want to deal with identifying people.

So what is my wish? Simple: if the photo is dated before the birth date of a person in your Address book, then do not show that name.

Yes I could type it in manually, but don’t show it as an autofill option. It would make filling names in so much easier for me.

Ok, ok. I’m biased, both of my kids names start with a J!

I’m guessing the opposite would be useful as well, for someone who has passed away. Mind you Address Book does not have a field for that!

Have you found any tricks to make using Faces easier?

Controlling iTunes from the command line

I had a little fun the other day, making a script that would pause iTunes, from the command line. In the end I made ones to pause, play, and go forward a track.

All of them use a slightly modified version of a line of Applescript:

tell application “iTunes” to play

You can also tell it “to next track, to pause, to stop, to previous track”, which all work as expected.

To get it to work on the command line you’ll need to turn it into a script, which is a plain text file with some command line options in it. To get Applescript to work on the command line we need to use osascript, with the “-e” option.

Here’s what you should have in your file:

#!/bin/bash
osascript -e “Tell application “iTunes” to pause”

Note the the quotes and slashes? You need to wrap the Applescript command in quotes, and since you have quotes in the middle of it, you need to escape them using the slashes so the whole applescript is parsed.

Next step is to save the script to somewhere useful. In my case I have set my command line environment to check for scripts in ~/bin/ , so I saved it there as ‘pause’. After that you will need to make it an executable, so pop into the terminal and do “chmod +x ~/path-to-your-file/pause”, at which point you run it.

Go play something in iTunes, and then go over to the Terminal and type “pause” and hit enter. If your script is in your environment path then iTunes just paused…

Here are the other scripts I used, just to make your life easier ;-)

#!/bin/bash
osascript -e “Tell application “iTunes” to play”

#!/bin/bash
osascript -e “Tell application “iTunes” to next track”

Feedback is appreciated!

Mac Classes coming up: Introduction to Mac

Tom and I are offering starting another set of classes this month: our “Intro to Mac” class on Tuesday the 22nd, and on the Tuesday after that we are doing part 2, and the last part on October 6th.

This class covers the physical computer itself, a guided tour of the Mac interface, the Desktop, Menus, key System Preferences, the Finder, using CDs, DVDs, & USB keys, and a brief discussion about organizing and finding files. The second night we will be introducing Safari along with some useful plugins, iChat, Skype, discussing online safety, Preview, Address Book, and Time Machine. And on the third night, the Dashboard and its many widgets, managing your email with Mail.app, organizing your life with iCal, using iTunes to play music and videos, a quick introduction to the iLife and iWork suites of programs, and trouble-shooting.

Interested? To register and reserve a space, you can either call me at 613-262-4705 or email classes@darnermedia.ca.

More details on the dates: September 22, 29 and October 6th (Tuesdays), from 6:30 PM to 9:30 PM. Price: $180, location: the Routhier Community Center.

Details of our other classes can be found on Darner Media page for the classes.

Bringing up your Mac’s Color Picker anywhere!

I was wandering through Smoking Apples earlier today, and ran across their article: Deconstructing the Mac OS X Color Picker. Now, honestly, I do not use it very often.. but it is a very useful tool to keep track of a few favorite colors, and an easy way to pickup new colors from something else on your screen.

They also mention a few plugins, one of which I am going to grab ASAP: a hexadecimal color picker, which you can use to get color values for use in your web pages.

Last, and not least, is the super simple way to open the picker from anywhere! Make a new script in your Script Editor and type in ‘choose color’ and save the script as an application. When you run it up comes the color picker! Feeling too lazy to open Script Editor? The folks at Smoking Apples made the script and put a nice icon on it already. It’s in their article.

Thanks guys!

Archiving selected emails to a single file.

I needed to gather about 50 emails into a single file so I could sift through them and pull out a variety of information. Going through them one at a time in Mail was going to take longer than I wanted, or was willing to do at once, so I decided to save them to a single file so I could do it later.

It turns out to be very simple: you select the relevant emails, in my case the result of a search, and do a “Save As..”. At this point you have a choice of how to save them, and I chose the default “Rich text Format”. I ended up with one file with all 58 emails in it.

Now I can open it in TextEdit and delete the parts I don’t want.

Open a pile of links in browser tabs, all at once!

One of things I occasionally do at work is to grab every url for a client’s domains/sites and open them up to eyeball them and see if anything obvious needs fixing.

First I go and copy a list of all the active domains, and clean it up with a “search and replace” script. I end up with a list of url’s, one per line.

After that I copy it all and go over to the Terminal and run a nice little script which I call “tab”. My current default browser then starts sprouting tabs galore.

Here’s the script:


#!/bin/bash
pbpaste | tr "r" "n" | xargs -n 1 open

How does it work?

pbpaste provides the contents of the clipboard to the command line (see pbcopy to put things into the clipboard). tr translates characters, in this case from one kind of line end (or return character) to another. An issue with pbcopy from what I can tell! Then the cleaned up clipboard gets pushed to xargs which take the command -n 1 open and builds one open per line of data being fed to it. Yes, xargs is very cool. The open command will then “open the URL in the default browser”.

I am sure this can all be done in Applescript or Automator.. but typing tab and return on the command line is the fastest and simplest for me!

If you want to use the script and are not sure how to take the shell code above and turn it into an actual script.. let me know and i’ll provide instructions (gee, another blog post!).

How to run the same application more than once!

I spotted this trick on macosxhints.com: An easy way to run multiple instances of any program

Apple’s Developer Resources has a copy of the man page for open and explains it like this:

-n  Open a new instance of the application(s) even if one is already running.

So what can you do with it, and why?

I had no real use for it until this morning when I wanted to test the CPU load on Safari of a web site, without having to close all my windows and their tabs. So I fired up the terminal and did;


open -n /Applications/Safari.app

… and then there were two Safari icons in my Dock!

The MacOSXHints article warns that there is some danger having multiple copies of an application open, as they will all be trying to read/write to shared files like preferences.

Let me know if you have any cool uses for it!

The perils of VOIP and cluelessness!

OK, so it’s really not VOIP’s fault.. here’s my clueless CSR story of the day:

My mom called to let me know that everything was fine, and that they would be offline until they come back from their home-away-from-home in Florida. What happened? Well, it turns out that when your phone is VOIP and you call Comcast (their local cableco) and tell them to disable the internet in a week, they just hear “disconnect”. The call dropped about 15 seconds later.

After a day of calling on their cell phone and trying to get the service reinstated *for just one week*, and not getting anywhere they gave up.

fun, eh?