Six Colors
Six Colors

by Jason Snell & Dan Moren

This Week's Sponsor

Kolide believes that maintaining endpoint security shouldn’t mean compromising employee privacy. Check out our manifesto: Honest Security.

By Jason Snell

What I Use: Automation

Computers are really good at doing repetitive tasks. One of the best things about being a savvy user of technology is being able to harness the mindless power of these beasts to free one’s self from drudgery. Automating tasks! It’s the best.

I automate tasks in a bunch of different ways. On the Mac, there are a seemingly endless array of tools you can use to save yourself time and effort. I’m sure I’m not using enough of them. (In fact, I know I’m not, because I’m not using Hazel, which some of my friends swear by.)

I’m also not using TextExpander regularly at the moment, though I definitely turn it on from time to time when I realize I’m typing too many things over and over again, or typing them wrong. Back when I used to do liveblogs of Apple events for Macworld without any web apps to mediate the process, I could type ttime and an HTML timestamp would magically appear. I used that one a lot.

But this isn’t “What I Don’t Use.” It’s “What I Use.” So here are some of the tools I use for automation:

Keyboard Maestro. Earlier today I was complaining in a Slack chat room that I wanted to use a keyboard shortcut to automatically open two folders in Finder windows located in specific places on my screen, and I really didn’t want to have to write an AppleScript to do it. Was there a utility that could do this? I thought of Many Tricks’s Moom, but that’s not quite the trick it performs. Then Relay FM host and Sony PlayStation legend Shahid Kamal Ahmad suggested Keyboard Maestro ($36). Which I was already running! And he was absolutely right. Now I’ve got a keyboard shortcut that does exactly what I envisioned, and I didn’t have to write a line of AppleScript or build an Automator Action.

I use Keyboard Maestro for a bunch of tricks, most notably a lot of keyboard remapping to make my weird Leopold FC660M keyboard work with my Mac. (I had to remap function keys for volume, brightness, and muting, and even replace a few keys that are missing with alternatives. Keyboard Maestro handles it all with aplomb. If you’re looking for a single workhouse tool for automating your Mac, Keyboard Maestro is worth a look. It’s probably the single most versatile third-party automation tool on the platform.

Automator/AppleScript. Ah, the classics. I picked up AppleScript—as I was telling Dan the other day on the Six Colors Secret Podcast For Members Only—because I needed to solve problems and connect different apps together. I can’t say I like AppleScript, but I like the power it provides. Still, these days most of the AppleScript I use lives inside of Apple’s Automator utility. Automator is great because you can wrap AppleScript scripts inside of Automator actions, and save them as Services, which makes them show up in the menu bar, contextual menus, and other places—all for free, no extra software required. A lot of my podcasting workflow—converting and syncing files and the like—is done in the Finder via Automator actions with scripts inside. Some of those scripts are Applescript, and some are just unix shell scripts. Automator doesn’t care.

Grep. Grep, or regular expressions, or pattern-matching search-and-replace, is one of the most useful things I have ever learned on a computer. You may quibble in its inclusion here, but I would argue that a grep search-and-replace tasks is an automation of text. I’ve taken huge, messy spreadsheets, run a single grep search and replace, and made them usable. I’ve turned loosely formatted emails into rigorously encoded HTML pages. If you munge text for a living—whether it’s as a writer, programmer, or even spreadsheet jockey—you owe it to yourself to learn grep.

There are pattern-matching searches in most powerful text editors and word processors these days. If you use BBEdit—and you can now download it and use most of its features for free, forever!—you can get started by reading the excellent grep reference chapter in the BBEdit PDF Manual. (If I’m not mistaken, that chapter may have been written by John Gruber back in the day…) I learned by reading the excellent book Mastering Regular Expressions by Jeffrey E.F. Friedl. There are also a bunch of web-based tutorials, like A Beginner’s Guide to Grep and RegexOne.

Workflow. On iOS, I love the Workflow app ($3), which is almost miraculous in its ability to tie web services and different apps together. On my iPad, I’ve built a Workflow workflow (yeah, you heard me) that lets me choose any image in the Photos app, resize it, upload it to the Six Colors server via FTP, and place the proper HTML code for that image on the clipboard. It’s pretty great. For the next Apple event, I’ll probably clone that workflow and create one that uploads watermarked images for my event photography.

Macros inside iOS apps. When I’m on iOS, I’m doing most of my short-form writing these days in 1Writer, which uses a JavaScript-based macro language that’s extremely powerful. (I frequently use a macro that I got from Federico Viticci that quickly inserts a link to any app in the App Store right into my story.) Then there’s the excellent text editor Editorial, which is backed by a Python-based macro engine. Since iOS doesn’t have a systemwide scripting language, individual apps have had to build in their own macro systems. That’s disappointing in general, but if you’re using an app that has gone to the trouble, it can be pretty amazing.

Auphonic. When I’m editing podcasts on iOS using my beloved Ferrite Recording Studio, I often need to do some post-production. Ferrite doesn’t generate MP3 files, so to create a properly tagged MP3 complete with chapter markers, and one that sounds a bit better than the original because of some volume leveling effects, I use the Auphonic web service as an intermediary. It’s free for a basic level of audio processing and dirt cheap to buy more processing time. Right now it’s my go-to finishing step for posting podcasts on the iPad—it’ll even transfer the output file to my FTP server and my account on Libsyn when it’s done processing, so I don’t have to do a file-transfer dance back on my iPad.

So those are some of the automation systems and tools that I’m using today. I’m sure there are more I’m not even thinking of, and like I said at the top, hundreds more that I don’t even know about. But even with the few tools I’m using, I’m saving a whole lot of time, and forcing computers to do that work for me. It’s a good thing.


Search Six Colors