J

My Setup™

28 May 2017

Since starting remote work I’ve spoken to many people who are interested in what the “ideal setup” looks like for others. Not only that, people are interested in applications and workflows that enable remote workers or provide a rough guideline what they should use when they get started.

So, after a many one off links via chat or Twitter DMs, I’ve finally put it into writing.

Hardware

I use a 13” MacBook Pro connected to a 27” Thunderbolt display. I’m not someone who needs multiple displays to get things done and in fact, find it better for concentration and focus if I just use the single monitor.

I learned very early on in my remote career that you should spend the money to get properly setup in your space since you’re going to be using it every day and working from the dining room table doesn’t cut it for full-time work.

My home office is fitted out with a Herman Miller Embody chair which I use at my height adjustable sit to stand Mobel desk.

Fun fact; I was using a standing desk so far before they were cool that my first one was actually made up of two copy paper boxes and a spare shelf bridged between them.

I purchased the desk frame and then built the top myself using some recycled hardwoods I had laying around. To ensure my feet don’t get sore, I do have an anti-fatigue mat that I swap in when I stand.

The Thunderbolt display sits atop a HiRise for imac stand and my laptop rests on a mStand.

My mouse and keyboard are the latest generation Apple ones and I have been in the market to get an ergodox and atreus for a while but yet to pull the trigger on building my own.

My go to headphones are the Bose QC35s. They are not cheap but after using them, I can confirm they are worth every cent. You can’t get any better when it comes to noise canceling wireless headphones. When I’ve out and about, I revert back to the Apple in-ear headphones since I’m yet to find a nice lightweight pair to carry with me.

When it comes to planning and task management, I’m 100% analogue. I use a Leuchtturm1917 notebook and a modified version of the Bullet Journal system. I’ve found using this system has forced better planning and prioritisation due to it requiring you to “migrate” tasks and establish a pattern for adding/cleaning up tasks. For me, applications that handled task management made it too easy for me to put things off to forget about things.

I have a couple of YubiKey 4’s that house all my SSH, GPG and 2FA needs. Authy on iOS fills the remainder of gaps with 2FA on services or as a backup device.

For my 21st birthday, my wife bought me an iPad which came in handy when I was commuting for staying occupied. I’ve since traded that in for an iPad mini and nowadays, I use it as my primary source for reading books. I found the iPad mini to be a better fit for reading since it’s closer to the size of most books and fits comfortably in my hands.

Software

I entrust my entire machine setup to Boxen. Whether it is dotfiles, apps or OSX configurations - Boxen manages the lot. Under the hood, Boxen is just Puppet sprinkled with some Ruby niceties so I always have an expected state for my machine. This gives me great flexibility because if I ever need to replace my laptop or re-install the operating system from scratch, I know it’s going to be exactly how I want it once it’s done. No more needing to manually manage installation or setup by hand. This approach does mean you need to actively keep your environment up to date whenever you want to make changes but it works great for me.

When I was commuting I got into using Dash because it allowed me to keep all the documentation for the frameworks and languages I used locally so that if my train wifi was broken, I would still be able to find the information I needed to. Even though I rarely have long commutes anymore, I still keep it around as it comes in handy when you are flights or in the zone without an internet connection.

To prevent myself from continually cmd + zing, everything I do is in some sort of git repository, probably hosted on GitHub. I don’t use a git GUI client but when I need to resolve merge conflicts, I do fire up Kaleidoscope for better inspection.

For email I used to use Sparrow before Google swallowed it up, however, more recently I’ve found Postbox which feels like a perfect drop in replacement. There was a time when I was running mutt but the modern world and its unnecessary need for HTML emails without text alternatives was too much of a barrier to keep pushing on with.

I’m a big fan of the CLI so it probably comes as no surprise that I spend most of my day using Tmux and Vim inside of iTerm. I don’t have anything against Terminal.app but iTerm had better tmux support out of the box so I’ve stuck with it.

Instead of wasting time moving my hand to the mouse I use Shortcat which allows me to (mostly) keep both my hands on the keyboard at all times. Alfred helps me maintain some sane workflows when I need to search for files or automate a workflow so I don’t need to worry about remembering how or when to do something. My window management is quite simple so I use Divvy.

Being one of those paranoid security types I heavily use Little Snitch wherever I go which helps me keep on top of those network connections in and out of my machine and pick out any of those sneaky apps which try to connect to services without me knowing. It’s also saved me a few times when I’ve been out and about on mobile data and my mac decided it wanted to download a new update. A nice accomplice to Little Snitch is Little Flocker which has a similar feature set but targeted at notifying you when applications try to alter or read from your file system. Unfortunately, Little Flocker has recently been purchased by F-Secure and rebranded as XFENCE and its future development is still unknown.

Should I not working from home behind the protection of my VPN router, I use Cloak for a VPN. It has got great UIs on iOS and OSX, very reliable and open policies about how your data and privacy are tracked. The only drawback is when I need to swap geographical locations (for say testing), I end up flipping to Express VPN and jumping between various regions.

Keybase (and the Keybase File System) has made GPG usable for the masses and I cannot thank them enough. Prior to keybase every time something needed to be encrypted, I battled with GPG only to find that the other person was having just as much trouble and it was usually easier just to use snail mail to get it to them.

I use 1Password to store all of my top secret credentials and an added benefit here is that I’m also their Teams product to manage any shared credentials that pop up so it’s great to have it all in the one well-designed app.

To share screenshots I use MonoSnap with the AWS S3 integration so that I don’t need to waste precious disk space on my local machine.

The teams at Envato are quite distributed at times however we are also big on pairing when we work on tasks. To stay connected, I use a combination of Google Hangouts and tmate for anything that will be done in a terminal or screenhero if there will be GUI involved. Most of the day to day chat (and exchanging of gifs) is done via Slack. During Google Hangouts, I use shush to mute using a system wide hotkey instead of battling with the browser and it’s shortcut that sometimes bookmarks instead of muting.

I am one of those people who still use IRC and Textual is the only client I’ve found recently which doesn’t feel clunky and slow when you try and load more than a single IRC server. I have used Irssi but I found it didn’t handle flakey connections (a.k.a everywhere in Australia) very well.

For managing containers, I use Docker (specifically Docker for Mac). I still do a fair bit of work with VM’s so for that I use VMWare Fusion and the Vagrant plugin. Before VMWare Fusion, VirtualBox was my go to for virtualisation, however, upgrading became a painful experience and terribly unreliable so I gave it the flick.

I use Pocket to collect articles and other interesting things I find around the web and come back to them when I have time to read them.

To keep me taking regular breaks when I should be I use Time Out. I’ve been able to setup it up in a way that alternates between short and long breaks and stops me from skipping back exercises I keep promising my physio I will do.

Changes?

The only thing I’m looking to change in my setup is downsizing my 15” to a 13” laptop. I do a great deal more traveling and working from cafes than when I started and now I find it a tiny bit too big to be lugging around.

Update: About 6 months after writing this post I downsized to a 13” and now have what I consider to be the ideal setup for both at home and working from anywhere. For me it’s the perfect balance of portability and power.