The tools I use & why I use them
I've spent a decade honing my engineering and design workflows, but never really bothered to share all the tools that make my days more productive and enjoyable.
My main criteria when evaluating the tools I use each day are:
- Do they enable me to work close to as fast as my brain can think?
- Do they make the experience of working a joyful and rich experience?
Here's a list of all the tools I use on a near-daily basis, and why they make me a better craftsperson:
Quicksilver is the original Mac app launcher. Although it sometimes feels dated next to Spotlight, it's scriptable and lets you perform actions on your searches. Although if I'm being honest, I usually just use it to launch apps rapid-fire.
If you're still hunting for apps in your Applications folder by hand, definitely download Quicksilver and work it into your workflow. You'll be surprised you could live without it before.
Ever get frustrated trying to optimize your screen real estate in OS X? I like to work with a terminal on one half of the screen and a browser on the other. Trying to size the windows in this way using the mouse cursor is a bad time.
Divvy is a window management tool for OS X. It allows you to quickly size windows into exact screen portions.
I have mine configured for three quick keyboard shortcuts to allow me to make the currently-focused window occupy the left half, right half, or entirety of the screen:
I used to have a tic where I'd open a new browser tab, type "f", and press Return to launch Facebook. Then I quit Facebook, and the tic shifted to typing "r" and launching Reddit. Ever been there?
I've surveyed a bunch of Mac content filter apps for keeping me focused when I'm working, and Focus is by far the best one.
It has support for blacklist- and whitelist-based filtering, timers, schedules, and a special "Hardcore Mode" which doesn't let you turn it off in the middle of a timer or schedule.
When you visit a blocked site, you'll be forwarded to a page with an inspirational quote:
Having trouble staying on task for hours at a time?
What if you tried staying on task for just 25 minutes? Think you could do that?
Whenever I'm feeling distracted, I use the Pomodoro Technique to keep me going. The gist of it: Work for 25 minutes and then take a break for 5. Repeat several times.
Pomodoro One is a minimalist Pomodoro timer I use when I'm in crunch mode. It keeps me focused for hours because I know a break is just around the corner.
I've tried so many personal task management tools and OmniFocus is the best one there is, hands down.
Built by disciples of David Allen's Getting Things Done methodology, OmniFocus keeps all your tasks organized by project and context.
My favorite feature is the Inbox, where new tasks live until you get a chance to sort through them. It has integration with iOS's "Send to" feature, so I'm always able to forward articles and ideas directly to my OmniFocus for later reading without losing a beat.
OmniFocus is amazing for tracking tasks, but often I just need to archive bits of information for retrieval. This might be account numbers, usernames, license keys, or lists of books I want to read.
I've tried so many freaking Mac mail apps. All of them have a common problem: They're slow when put under real-world load.
I delete a ton of email, just like I'm sure you do. I found that every desktop mail app I used would lag when I was doing rapid-fire deletion.
Plus I really wanted an interface with Vim-like keyboard shortcuts.
The GMail interface is fast and had keyboard shortcuts. But I like to isolate myself from email during the day because it's almost as much of a productivity suck as Slack.
That's when I found Mailplane. It's a Mac app that wraps a nice desktop interface around GMail. Although it doesn't satisfy my dream of having a single inbox for all of my three email accounts, it does a great job of showing me my email, letting me batch through all my messages to get to zero, and getting the hell out of there.
Vim is the best text editor on the face of the earth.
And that will be the most hotly-contested statement on the face of the earth.
But seriously: Before you learn them Vim keybindings seem archaic and confusing. But they're built for speed. And once they're part of your muscle memory, they'll come as natural to you as the alphabet.
As I said before, one of my criteria for choosing my tools is if they get me closer to being able to work as fast as I think.
Here are some of my favorite Vim plugins that enhance my workflow:
- vim-pencil: Rethinking Vim as a tool for writing. I'm using it to write this!
- ctrlp.vim: Full path fuzzy finder for Vim. It's like the Quicksilver launcher for your text files.
- NERD Tree: A file tree explorer.
Tmux is like Divvy (above) for your terminal. Split a terminal window in half without using the mouse, deploy new shells, and keep your entire session running even if you close your terminal window. Here's me editing this article using it (and Vim) right now:
Probably the biggest reason I use Tmux is because it enables IDE-like functionality without leaving the terminal. For those of you using Emacs, you might not find a use for Tmux in your toolbox. But being that Vim is a text editor first and foremost means you have to look elsewhere to do things like display an editor and shell in the same screen.
Tmuxinator enhances the Tmux experience by giving you the ability to fully configure Tmux workspaces and launch them with a single command.
Imagine you're working on three different web projects. Each of them has a
server process, a file you're editing, and maybe a test runner. Instead of
launching all of these as separate terminal windows every time you want to
switch projects, Tmuxinator allows you to configure Tmux workspace templates so
that switching projects is as simple as typing
Plus, in case you ever accidentally close a terminal window like I do all the time, your session is saved right where you left off. Just use Tmuxinator to re-launch your session and everything will be right where you left it.
Powerline is a nifty little status line plugin for Vim, Tmux, ZSH, and others. It displays things like the current time, CPU utilization, and more.
If you're not using a static site generator for your blog, I implore you to consider it! It reduces your maintenance overhead since you don't need to bother with configuring and maintaining a server or database.
And with services like Disqus and my own Formbot, it's hardly necessary to run a server application for most blogs.
There are plenty of static site generators and they all have their pros and cons.
Being a Ruby enthusiast, I settled on Middleman. It has enough features, including a robust blog plugin.
Plus it has support for external pipelining, which I use to generate image thumbnails in Gulp.
Amazon S3 & CloudFront
I've used S3 to host my static sites for years. Despite its learning curve, S3 offers unlimited storage and bandwidth at a relatively low cost.
I use the gem middleman-s3_sync to sync my Middleman sites to S3.
Hosting a Static Website on Amazon Web Services
2014 MacBook Pro
In my opinion, the 2014 and 2015 Retina MacBook Pros are the best laptops Apple ever made.
They balance fast speeds, elegant design, and ports (yes, there are ports!) for most applications.
I think it's the most refined notebook computer in history. And I'm sad Apple decided to veer off that path with gimmicks like the Touch Bar.
So for now, I'm staying in 2014.
Buy a MacBook Pro from 2015 before they run out!
iPhone 7 Plus with Defender Case
This is the best smartphone I've ever used. Even though in its Otterbox Defender case it's as big as a 1980's carphone, the iPhone 7 Plus feels like putting a computer in your pocket.
WASD Keyboard with PBT keycaps
I didn't believe the hype at first.
An entire subreddit devoted to mechanical keyboards?!
Spurred by some pretty brutal wrist pain, I sought relief through new hardware. I looked at Amazon review after Amazon review and people were recommending mechanical keyboards.
I settled on the WASD 87-key keyboard. The Wirecutter agrees.
A $150 keyboard?!
Yes, and I spent $100 on custom keycaps. It's not for everyone. But I can tell you my fingers are happy all day long pecking away on this gorgeous keyboard. And like a good mattress, a good keyboard returns on investment over years of constant use.