No one ever asks me what font or syntax theme I use, but nevertheless here we are.


  • NeoVim

    I started using Vim full time since the beginning of 2018 and I can’t imagine my life without it. Vim is a gateway drug to the life of optimizing for productivity (even if it costs you some productivity up front!).

    The primary reason why I love Vim is the keyboard focused design. It keeps my hands and arms in relatively the same position as I work, as I rarely need to reach for the mouse. It’s not that the mouse is a bad input device, but the travel distance between the mouse and home row on your keyboard starts to become a problem the faster you work. You can cut down on this by getting a tenkeyless or 60%, but it can’t beat not moving your hands at all!


    I use vim-plug to manage my plugins; you can see all of the plugins I in my dotfiles.


  • Forest Night Theme

    I like the subtle dark theme with hints of green. I use this in NeoVim, Alacritty, and Alfred.


  • JetBrains Mono font

    I switched fonts every so often, and this is my current choice.


  • Alacritty

    I switched to Alacritty because I thought iTerm2 was causing my computer to crash (I think I have since concluded that it is a macOS bug).

    I’ve kept using it, as it is super lightweight and is meant to be used with tmux


  • Postico

    Postico is a minimal Postgres GUI client and is an example of an amazing macOS application, amazing performance and has just the functionality that I need.


  • Google Chrome

    Chrome simply gives the best performance and looks the best. I’m not a huge fan of Google products, but everything else sucks compared to Chrome.


  • Sublime Merge

    This is the best Git GUI application that I have ever used.

    The features that I enjoy the most is the three way merge, staging/unstaging individual lines of code, and the ability to search just about anything in the repository.


  • Dash

    Dash is an offline documentation repository with full text search. Combined with the Alfred Dash workflow, this is a must have application for anyone writing software on a Mac.


  • Sketch

    I don’t do a whole lot of designing, but when I do I like doing it in Sketch.


  • Figma

    I sometimes use Figma for design in addition to Sketch, but I end up using it as a cloud-enabled MS Paint.


  • zsh

    zsh is pretty much an improved version of Bash. It is worth using because of the community that has been built up around it (see ohmyzsh) and the number of plugins available.

    It’s even the default shell on macOS now!


  • zplug

    zplug is a plugin manager for zsh that is inspired by vim-plug. I recently switched from ohmyzsh to zplug to get a better handle on my configuration and make it easier to install plugins.


  • tmux

    tmux is primarily what I use to manage terminal splits and windows. It follows the Vim philosophy of keyboard shortcuts and extensibility, so they make a fine pair.


  • asdf

    Once I started programming in Elixir, I needed to be manage two languages at once (the other being Erlang) and asdf makes that super simple. It is based on a plugin architecture, so there is a plugin for just about every language you can think of.

    I contributed to the Io plugin when I was reading Seven Languages in Seven Weeks by Bruce Tate.


  • fzf

    fzf is a versatile tool that allows you to pipe in arbitrary text to form fuzzy pattern searching.


  • gh

    I use hub to easily create GitHub pull requests from the terminal. When you run gh pr create, it will open up a window in your $EDITOR (Vim for me) and allow you to craft your title and description for the new PR for the current branch.


  • ripgrep

    This is a blazingly fast grep replacement. I use it for searching in the terminal and as my grepprg in vim.



  • Alfred

    Alfred is a workhorse of a tool. It’s amazing for launching apps, searching your computer, managing your pasteboard, and snippets. It becomes really powerful when you start using workflows as it enables Alfred to integrate with other apps and run arbitrary scripts in any language.

    It’s definitely my #1 productivity tool for macOS.


  • 1Password

    1Password is some of the best money I’ve ever spent on software.


  • Things 3

    I like Things for personal projects, but I don’t actually use it that much in my daily life because my work projects already have a form of project management software.


  • Fastmail

    I started using Fastmail as a cheap way to use my domain as my email address, then I learned of some of the powerful aliasing features which I now love.


  • Itsycal

    This is a neat little menubar app that works really well for seeing what upcoming events you have over the next few days.


  • Dropbox

    Dropbox is another service I’ve been using for years.

    I originally used it as a way of syncing source code files between my computer and a tiny (I mean like the screen wouldn’t expand larger than 400x300px) Linux VM that I had to use for a course in college.


  • Licecap

    Licecap is a handy tool for taking quick video gifs of your screen. It looks arcane but it works.

    I use it a lot for sharing new designs and how to reproduce bugs in pull requests.