I’ve tried a lot of different tools looking for those that are reliable, a joy to use, and visually appealing when applicable. These are the tools I’ve arrived at and currently use:

  • Sublime Text

    • An elegant and efficient text editor that balances productivity and configurability.
  • Sublime Merge

    • A desktop Git client that pairs well with Sublime Text. While nothing beats the power of Git on the command line, the majority of the time what I need is simple. Diffing, composing commits, handling merge conflicts, and branch management make up 90% of the features I regularly use in Git and having a GUI makes each of these tasks significantly easier.
  • iTerm2

    • A modern terminal that is pleasant to use.
  • Roam Research

    • Roam is a powerful knowledge management tool and it is where I dump my notes, thoughts, and ideas all throughout my day. The tagging features of Roam enable me to quickly search, find, and pull together notes from different contexts into a cohesive structure.
  • TablePlus

    • The best database manager I’ve used on MacOS that supports both SQL and a variety of NoSQL databases.
  • Arq Backup

    • Dependably backs up my MacOS machine to cloud storage.
  • Alfred

    • The rest of the features I wish were built right into MacOS - hotkeys, text snippets, scripting, all the MacOS automation your heart could desire.
  • Karabiner-Elements

    • Keyboard customizer for MacOS that most importantly allows me to remap CapsLock to both Escape and Control.

Software I used to use

  • Acme

    • Rob Pike’s text editor from Plan 9.
  • Nyne

    • Nyne is a configuration tool and event processing library that I wrote for Acme/Edwood. You can think of it as the .vimrc for Acme.
  • nvi

    • nvi is the text editor originally distributed with the Fourth Berkeley Software Distribution (4BSD).
  • Vim

    • Vi IMproved - The most widely used “standard” vi implementation
  • Emacs

    • The Emacs Lisp interpreter that happens to also be a text editor
  • Linux

    • The target platform for most of the software I write. When using it on the Desktop, I got tired of constant display and audio issues which, of course, work almost flawlessly on MacOS.