Uses
Inspired by Wes Bos, this page details the things I use to stay productive. Let's dive in.
Last updated: June 22, 2023
Editor & Terminal
- My editor is Neovim.
- I made a theme called Electron Highlighter and have spent an absurd amount of time on it. I have made this theme for a bunch of different apps, and use it pretty much everywhere that I can use a theme.
- My font in my editor and terminal switches between Berkeley Mono and MonoLisa. Berkeley Mono feels like a font from the early days of computers and I freaking love it (it's the font you see on this website). Mono Lisa is highly readable and looks excellent (I'm currently using it in my editor, though I switch back and forth). Both fonts are an aboslute joy to use. If I have to stare at a font all day, it's worth paying for one I enjoy looking at. For my terminal, I used the nerd-font font patcher script to add a bunch of extra icons to it.
- I use Kitty for my terminal. I used iTerm for a very long time, but what sold me on Kitty was how every option is in a single config file so it's super portable, and it's also cross-platform. The single config file works great for my dotfiles setup.
- I use fish as my shell. It's not POSIX compliant, but I rarely need that and can always pop into zsh to run a script if I need to. Fish is fast, has really killer autocomplete suggestions, and the scripting feels a lot less archaic than zsh or bash.
- I use a terminal prompt called Starship. It's built in Rust so it's super fast, it has support for a ton of different shells, and customizing is done via a TOML file so it's dead simple to make it look exactly how you want. I can't recommend it highly enough.
I have a lot of terminal aliases and scripts to help me be more productive. Here are a few of my favorites:
afk
starts my screensaverweather
gets the current weather in your area - try it out! Runcurl wttr.in
in your own terminal.please
=sudo
. Stole this idea from Paul Irish, but I can't seem to find it in his dotfiles anymore.rm
=trash
. I installed trash-cli, so settingrm
equal totrash
means instead of losing something forever when I runrm
, it dumps it into my trash so I can still recover it if I need to. I've been burned too many times.gpub
=git push -u origin $(git_current_branch)
. When you start a new branch in git, it's super annoying to have to set the upstream origin the first time you're pushing that branch. This alias makes it easy to publish a new branch.
Desktop Apps
I used to prefer having desktop apps for everything, but these days I try not to use too many apps, and generally prefer to use web apps for most things (because portability). Things like Notion and email that I could use an app for I just use the web app. Most of my time is spent in a browser, terminal, or Slack (I tried Slack in the browser and just couldn't make it stick. Might give it another go sometime). Here's the rest:
- For my browser, I'm using Arc from The Browser Company. It's still in early release. It's Chromium based, but is a totally rethought browser experience. I'm absolutely loving it. Before Arc I used Firefox for years.
brew install --cask firefox
- I use 1Password for password management across all my devices, and at this point I think it's safe to say that I couldn't live without it. I use the Family Plan because it gives me shared folders so my wife and I can both use it for shared logins and also keep our own logins separate.
- I use Raycast for launching apps, emoji picker, dark/light mode toggle, lorem ipsum generator, snippet manager, clipboard history, window management, and a confetti cannon (seriously). It took a lot for me to leave Alfred but Raycast is really incredible.
brew install --cask raycast
- Kap is the best app I've found for doing screen captures (for videos only - the builtin macOS screenshot utility is perfectly fine for screenshots). You can easily export them to MP4 or GIF. Super useful for showing UI changes in GitHub PRs.
brew install --cask kap
- Insomnia is an excellent REST client, used for testing API calls that also has top notch GraphQL support.
brew install --cask insomnia
Desk Setup
- My desk is an IKEA countertop that I cut down to 84" mounted to Fully Jarvis adjustable desk frame. They unfortunately no longer sell this (as far as I can tell).
- I have a 32" 4K curved monitor mounted to the desk with Fully Jarvis dual adjustable monitor arms.
- To the left of my monitor, my laptop (currently a 16" MacBook Pro) sits on a laptop stand attachment to the dual monitor arms.
- I use a ZSA Moonlander keyboard and can't imagine going back to a normal keyboard anymore.
- I use HyperX Cloud Alpha gaming headphones. I'm fully remote and have these on nearly all day, so comfort is super important, and they are ridiculously comfortable.
- I use the microphone built in to my headphones.
- I use a Logitech C920x webcam. Any standalone webcam will be a significant upgrade over the builtin webcam on your laptop.
- I use a Logitech MX Master 3 bluetooth mouse. I like that Logitech has software for mapping the different keys to Mac-specific actions that I typically use trackpad gestures for (like switching between desktops or Mission Control).