The Joke Of Design

In order to “get” a joke your brain has to connect concepts together in a new or novel way. If you don’t get it, can’t make the connection or the connection is already well established, your brain tells you “there’s nothing wrong with me that I didn’t get the joke, it’s just not funny”. This message is communicated even louder if you’re in a room full of people who are laughing at the joke you don’t seem to get. Sometimes your brain goes on the defensive to prove that it’s not malfunctioning, there’s just no joke.

Good design is like a joke: some people just don’t get it.


Creating Your Own Proxy Server On Mac OSX

I’m not going to tell you that I invented this method but I did collate and refresh the steps required to implement this on Snow Leopard so I thought I’d post them here for others to find. You can find out more about proxy servers on Wikipedia.

Setting Up The Host Mac:

1. In the System Preferences > Accounts control panel confirm that all user accounts on the host Mac have strong passwords. You’re going to open this Mac up to the internet and attackers will be trying to get in so strong password are a prerequisite.

2. Next turn on Remote Access. In System Preferences > Sharing you must enable “Remote Login”. Press the “+” button to add a user to the allowed users list. Make a note of this username and password because you’ll need these credentials to login on the client Mac later.


3. If your Mac is on a network with a router (which ts probably is) then you’ll need to give it a static IP address and set up port forwarding on the router. You must forward incoming connections on port 22 to your Mac’s IP address. Your router’s interface will differ.


Adding An Exception For SSH To Little Snitch (If Running On The Host Mac):

Little Snitch uses a standard dialog box to select applications so you can’t navigate to the SSH executable which lives in a hidden folder at /usr/bin/. Therefore you’ll need to put an alias to SSH on your desktop and point Little Snitch to that.

1. In the Finder, select Go > Go To Folder…


2. In the Go To Folder… dialog, enter /usr/bin/ and press “Go”.


3. Find “ssh” in the bin folder and make an alias of it on your desktop.

4. Launch Little Snitch Configuration.

5. Click the green “+” icon to add a new rule.

6. Configure the new connection as illustrated below. Click the gear icon and select “Choose Application…” to find and choose the ssh alias you created in step 3.


7. Click OK and close Little Snitch Configuration.

8. Delete the ssh alias (not the original) from your desktop, as you’re done with it.

Setting Up The Client Mac:

1. Open You must leave it open until you are done using the proxy – closing the terminal window will terminate the proxy connection. Enter the following command, filling in the username with name from step 2 above, and with the IP address from step 4: ssh -D 2001

2. Launch and configure Firefox to use this new SSH proxy connection. In the Firefox preferences, click the “Advanced” tab and selected “Network.”


3. Click “Settings” then set the SOCKS Host to your local IP (which is always, port 2001 and SOCKS v4 proxy.


4. Click OK, close the Preferences dialog and then browse to to confirm that you are using the proxy.

Happy surfing!


New Carry: Tritium Field Watch

Radioactive is the new black.

This is my new “Tritium Field Watch” from CountyComm. I like simple watches and I appreciate that the face isn’t cluttered up with logos or other b.s. It’s not a military watch but it has a lot of value for a small price and includes real tritium hour markers as well as vials on the minute and hour hands. According to the manufacturer these vials give off light for 10 years, even if kept in total darkness.

You can read more about tritium on Wikipedia.



New Carry: GoRuck GR1 Backpack

I’ve been saving for this backpack for a while and I’m really happy that I finally have it: my very own GoRuck GR 1. I’ve worn already and it is entirely comfortable even without a chest strap and hugs my back nicely – it’s just exceptionally well designed. I did quite a bit of riding and walking with my old North Face pack tonight and by the time I got home it was digging into my shoulders, as usual. Generally it’s worn well over it’s 6 year duty with me but mostly when lightly packed for short periods. But all in all I’m glad to decommission it.

This new pack has a surprising number of zippered pockets that hold most of my every day carry but I’m looking forward to outfitting it with some MOLLE attachments for greater organization.


This backpack is everything I had hoped it would be, and it seems other people feel the same way as the GR1 has been popping up on both fashion and tactical blogs alike with increasing frequency. Here are some of the things that I love about it:

1. No chest strap. It has a rigid, curved shoulder harness that requires no chest strap (though one could be added but I don’t know why you would). Most manufacturers do not use this kind of harness because it is costly to produce in time and materials. This is a superior design for long wearing comfort.
2. Few external pockets. I have OCD about external zippers and check them two, three times to make sure they are closed. The GR1 has only 1 external facing pocket (excluding the main and water / laptop chamber) and even if I forgot to close it I doubt anything would fall out unless I was turned upside down and shaken.
3. Easy to get into. Internal pockets are easy to open so most of the little things I used to store in external facing pockets go inside now. With my old backpack I needed to be careful opening and closing zippers in a hurry to avoid jams, but this is not a problem with the GR1. The American manufactured YYK zippers do not bind under force.
4. No baloney. Manufacturers seem to think that having lots of loops, pulls, external mesh pockets and zippers makes their backpacks look more serious. This is baloney. These doo-dads often get snagged on sharp edges in the environment and create distraction when trying to access the backpack. The GR1 is plain, functional and is not prone to snagging. Simple is the new serious.
5. MOLLE. I cannot understate how versatile the MOLLE system is, even for civilian use. The GR1 is a great pack as is: add your own MOLLE attachments to transform it into the definitive camping daypack, camera kit, portable office, workshop, tackle box, whatever. By design parts can be added and subtracted as needed, and fast. Think of this backpack as platform that can be customized to suit your specific tools and activities.
6. Ruggedness. Nothing hurts it, but it’s mighty fun to try.


Evernote As Personal Pocket Ref

The “Pocket Ref” is a beefy 800+ page guide that fits in your pocket and contains maps, tables and scientific formulas covering all manner of disciplines and trades. It gained notable fame when it appeared in an episode of “Mythbusters” and an internet search will reveal dozens of incarnations of the tome under various vanity bindings.

The ‘Ref is not available in digital form. But then again your needs probably stray from the dew point tables and wind charts that the fill the ‘Ref’s pages. Why not build you own Pocket Reference using Evernote and your mobile device? Keeping your most used reference material handy will save you time and avoid the embarrassing wait for web pages to load while you’re trying to remember if the NATO alphabet uses “Xylophone” or “X-Ray”.

Here’s some ideas to get you started:

  • The NATO Alphabet
  • Fasteners And Screw Head Charts
  • Unicode Characters
  • Application Shortcut Lists
  • Software Manuals
  • Hardware And Home Appliance Manuals
  • Markup Dictionaries (Proofreading, Accounting, And So On)
  • Emergency How-To Instructions (Fix A Flat, First Aid)



Music: Borrowed Time (Ambient)

Borrowed Time by GWG

I borrowed a little more than time when writing this – it’s another one-take improvisation. Unstructured and free flowing but the instrumentation is clear and bright.


New Beginning (Ambient)

New Beginning by GWG


Everything Automated

Update: Keyboard Maestro, which I use to trigger all of my workflows is available at a special discount. Click here to buy and save 20%. We now return you to your regular programming…

Here it is for your inspiration: my big list of custom hacks, tools and macros. Some of these workflows have been covered in detail here in which case I’ve provided a link and I try to update this post as I add workflows. But to start, an introduction to:

The Tools

There’s always more than one way to accomplish any task. The list below represents the tools that I think are best in class but by all means go ahead and use the tool you like or already own.


Backup Solution

Chronosync: 40$ from Econ. Creates bootable backups, archives deleted or update files and can be triggered when volumes or servers mount.

Task Scheduling

Hazel: $21.95 from Noodlesoft. Mostly works with files and folders but through clever configuration it will run tasks on a schedule. Has excellent Automator and Applescript integration and runs as Pref Pane.

Hotkey Management

Keyboard Maestro: $36 from Stairways Software. The user interface is a little old-fashioned but it works extremely well. I’ve had problems reliably mapping menu commands in some other, fancier, applications but never in Keyboard Maestro.

And now onto the workflows, hacks and hot keys…

Keyboard Maestro Workflows

Make New Folder From Selection
Command-G turns Photoshop layers into a group, why not Finder items? Blog post here.

Run “Open DNS Updater” Every 2 Hours
I direct every computer on my LAN to OpenDNS instead of my ISP’s servers. The updater needs to run on my Mac so that OpenDNS always has my correct IP address but it doesn’t need to run all the time. Since the updater lives in the menu bar running the updater and then quitting it 3 minutes later keeps my menu bar tidy.

Unlock Drive
I have a 1TB encrypted hard drive that I carry everywhere. It contains a sync of my entire Documents folder plus a backup of my mailbox, iPhoto library, Garageband Songs, Audio Unit presets and Photoshop settings (I sync my Photoshop setting between all my Macs so that I have an identical work environment no matter where I go). The global key combination “-1tb” opens the unlocking program for me and dismisses it after I enter my password.

Run All Backups
Chronosync already manages my backups, including backups that occur when I mount a removable hard drive or connect to a server. I use a typed string “-backup” to kickstart Chronosync’s backup schedule if I want to sync everything on command.

Bring Pathfinder To The Front
Pathfinder is another tool I use – I am addicted to tabbed Finder windows! The global Option-Tab hot key activates Pathfinder from any application.

Various Keynote Workflows
I use Keynote almost every day. I have over a dozen macros for Keynote, too many to cover here in detail but I can talk about them in general. I have assigned hot keys to all of the align and distribute commands. I also have macros assigned to Command-Option-Arrow Key to move objects in increments of 100 pixels by repeating the Shift-Arrow Key keystrokes 10 times. Lastly, I have written an Applescript that presents a dialog accepts a string such as “62u” which then instructs Keyboard Maestro to move the current selection 62 pixels up. Or I can type “15r” and the selection moves 15 pixels to the right. This keeps my brain focused on design, not counting pixels.

Open Current Page In Firefox
Need to switch from Safari to Firefox? Blog post here.

Get Current RGB Value Under Cursor
The global hot key combo Control-Option-Command-C instructs the Iconfactory’s xScope tool to surrender the RGB value of the color currently under my cursor. An Applescript formats the result to my liking (I prefer “RGB 100-10-1” without leading zeros) and places the string back in the clipboard.

Applescripts Workflows

Truncate after __
Truncate after first number
Truncate after first word

These three scripts help me deal with files from internet. Great when I have 100 files that all have garbage in the file names. One of these scripts usually runs as part of a Hazel workflow.

Merge Selected Files
A custom interface (or rather a total removal of the interface) for the UNIX “cat” command. This script sorts and merges whatever files I have selected using the name of the first file. Of course, the script is smart enough to throw out anything that’s not part of the archive. Hazel calls this script if it detects a segmented file.

Photoshop Build Contact Sheet
I don’t use this often but this is how I make icon previews in Photoshop. I also use it at work sometimes.

Photoshop Save PNG With Timestamp
My #1 most used script. I made it for personal use but now use it at work often. This is great if I need to export the same Photoshop file to PNG a few times with slight changes or layers visibility toggled.
script_glyphDownload PS_Save_PNG+Timestamp.scpt.

Photoshop Save PNG
Basically a silent way to save a PNG. “Save for web…” is just as fast but is not the same as saving a PNG from Photoshop, hence this tool.

Photoshop Crop Then Save With Timestamp
Another super-useful script for anyone who exports UI elements from Photoshop. Crops the current Photoshop document to my selection and saves it out as PNG. Then it steps backwards in the history stack as if it had never run at all. The timestamp suffix lets me execute the script repeatedly and never overwrite any files.
script_glyphDownload PS_Crop_Save_PNG+Timestamp.scpt.

Photoshop Merge Copy With Timestamp
Similar to the above script, but it trims out unused pixels and makes the canvas as small as possible while preserving the alpha channel.

Mail These Files To Me
Photoshop Mail Open Document To Me

This is a simple way to get stuff onto my mobile devices when a wired connection is not possible.

Sort My Dropbox
I don’t keep a lot on Dropbox. But sometimes I use it if I’ve forgotten my portable drive somewhere. This script looks at the folder name that I have put files in on Dropbox and then finds the best matching folder name on my computer at home. It then moves the contents to my computer’s hard drive. It’s like automated sorting. Probably could be done with Hazel instead of Applescript.

Post My IP Addresses to a Website
Self explanatory. Gets internal and external IP of my computer and posts it to a secret website. This is great if my IP address changes and I need to FTP or ARD back to my Mac. I used to subscribe to “” but this script works fine. Runs automatically at startup.


Clean File Names
This script does a few dozen text replacements on files. Almost anything I download from the internet that is not an archive goes through this workflow.

Replace Dashes
Remove Alphanumeric Text
Replace Periods With Spaces
Replace Dashes With Spaces
Replace Underscores With Spaces
Replace Spaces With Underscores
Add Date Created To Filename

This collection of workflows does simple text substitutions.

ZIP Individual Folders
I use ComicbookLover to organize collections of images and eBooks. Making a comic book archive is as simple as changing the letters z-i-p to c-b-z. This script takes multiple folders and makes individual zip archives.

Copy Path To Clipboard
Self explanatory. Saves a little mousing around.


Open Current Safari Page In Firefox

Safari is my main browser but sometimes I need to move the webpage I’m viewing over to Firefox so that I can run a greasemonkey script or access a feature from a add-on that will only run in Firefox. The following script attached to a Keyboard Maestro macro does the trick.

tell application "Safari"
set theURL to URL of front document as string
end tell

do shell script "open -a Firefox " & theURL