These are the tools that I use everyday to write code and do fun stuff on the
internet. This is not necessarily an endorsement of these tools, but this is
what works well for me.
🖥 Hardware
- 🖥 Desktop:
Mac mini (M1, 2020)
- 🖱 Mouse:
Anker Ergonomic Vertical USB Wired Mouse
- ⌨ Keyboard:
Kinesis Freestyle Pro (with
Cherry MX Red switches)
- 🎧 Headphones:
- Airpods Pro - For use while
on-the-go, running, or doing work around the house. Superb noise
canceling.
- Sony MDR-7506 -
Workhorse headphones. Great for listening to music, or to use in music
production.
- If you own/buy these, do yourself a favor and buy a set of
aftermarket
foam pads. The stock
ear cups are quite uncomfortable, in my experience.
- Sennheiser HD 6XX -
Open-backed headphones for deliberately listening to music.
- Sennheiser HD 598 CS -
For use while working, and on airplanes. Very comfortable, great sound
quality, and they have an inline microphone, which is useful for video
calls.
- DAC/AMP: JDS Atom AMP+ and
Atom DAC+
- I’m still a newbie audiophile, but these sound real good with my
Sennheiser HX 6XX’s. Superb clarity.
- 🖊 Pens
- 📓 Notebooks:
👨💻 Development
- VSCode - VSCode is my go-to editor. I’m
not a power user of it, but I think it has one of the better ecosystems of
editor plugins of current GUI-based editors.
- Boxy Theme Kit -
Boxy Solarized Dark is my VSCode theme of choice.
- JSON Tools -
Useful for pretty-formatting JSON.
- Paste URL -
A simple extension for pasting URLs into Markdown documents.
Automatically pulls the link’s title, and formats it as
[title](url)
.
- Auto Close Tag -
Automatically adds closing HTML tags.
- vim - I’m using vim more and more these days. Still a novice, but I’m
becoming more comfortable with it.
- You can find my vim config here.
I’ve also been keeping notes on my vim learnings.
- SourceTree - This is a bit controversial,
but I like having a GUI client for git. Not for everything (most in-depth
git operations will still require dropping down into the CLI), but
SourceTree allows me to minimize the number of common git mistakes that get
made. Seeing graphically staged changes is a big deal for me, and SourceTree
allows you to stage specific lines of a file much easier than the git CLI.
⌨ Terminal
- iTerm2 - Much more customizable than
Terminal.app. Has better theming support, and a bunch of other functionality
that I don’t really use.
- Source Code Pro Light
Font - Super readable, and I like the aesthetic.
- I use either the builtin Solarized Dark color scheme, or Solarized
Dark High Contrast (found here).
- I highly recommend using the “Natural Text Editing” key presets, so you
can use the normal macOS text navigation movements in iTerm. (Can be
enabled with “Preferences -> Profiles -> Keys -> Key Mappings -> Presets
-> Natural Text Editing”)
- oh-my-zsh - I’m not a hardcore
ZSH user, but
oh-my-zsh
is really awesome. This shell gives you tons of
productivity wins: git status in the prompt, super great auto-completion and
history searching. Seriously, it’s worth a try. I was skeptical of leaving
bash, but it’s really been worth the switch.
- agnoster
theme - Agnoster is a great theme for zsh. I’ve been told it’s a ’newb'
theme by a more experienced user of zsh, but I really like it. It’s a
bit flashy, but that’s what makes it fun.
- fzf - “fzf” is a fast fuzzy file finder.
Works great in vim, on the CLI, and for searching shell history.
- zoxide - zoxide is super useful for
jumping between frequently used directories. Integrates well with “fzf”.
- See also, the original “z”
- lazygit - A powerful git
terminal UI for when I’m feeling lazy.
📱 Services/Apps
- Instapaper - My “read later” service of
choice. It’s simple, it works well, and it has text-to-speech support, so I
can listen to articles on-the-go.
- Tailscale - “Zero config VPN.” Makes it trivial to
setup a personal VPN between various networks. I use it to connect to my
home network when on-the-go.
- Overcast - My preferred podcast player.
- Pedometer++ - A perfect pedometer app. It’s
simple, never breaks, and isn’t bloated. I’ve been using this since I
ditched my Fitbit. Works great with the Apple Watch.
- Libby - A slick app for renting ebooks and
audiobooks from our local library.
- BookPlayer - An open source
audiobook player for iOS.
- Buffer - A service for scheduling Tweets.
Helpful when I want to use Twitter in “write-only mode”.
- Artvee - Public domain scans of classical artwork.
Useful for blog post headings.
🖥 Self-Hosted Services
- Miniflux - An excellent minimalist RSS reader.
- Node-RED - Automation platform, similar to IFTTT.
Has a large community plugin ecosystem.
- Podsync - Tool for creating Podcast Feeds
(RSS) from a Youtube channel. Useful for listening to tech talks on-the-go.
☑️ Productivity
- Todoist - Todoist is my favorite todo application.
It suits my needs very well: it’s cross platform, has an open API, supports
complex repeated tasks (i.e. “repeat every third Sunday of the month”), and
has a pleasing design aesthetic. I pay for Todoist premium, and it’s one of
the few services that I feel delighted to give them my money.
- Obsidian - Personal knowledge management tool, with
[[wikilink]]
support.
- I wrote more about my usage of Obsidian
here.
- Day One - An excellent journaling app for Apple
platforms (macOS, iOS).
- I wrote more about my usage of Day One
here.
- Raycast - A customizable Spotlight replacement
for macOS.
- AnyList - My app-of-choice for making grocery
lists. It keeps a history of items you’ve purchased in the past, supports
list sharing, and has power-user features like associating items with a
particular store.
- Drafts - I use Drafts as a medium-persistency
notes app (similar to iOS’s default Notes.app). It syncs consistently
between macOS and iOS, supports Markdown formatting, and has a ton of
power-user features like tagging, scripting, filters, customizable tool
palettes, and Shortcuts integration.
🌐 Chrome Extensions
- Vimium - Vim keybindings for navigation and
scrolling in Chrome.
- TamperMonkey - User scripts for Chrome.
- DarkReader - Automatic dark mode for all
websites. (Works ~pretty well)
- Strict Workflow -
A pomodoro timer that has the added benefit of blocking distracting sites
while you’re in “work mode”
- Privacy Badger -
Blocks tracking cookies and embeds. Created by the
EFF.
- Copy as Markdown -
Simple utility to copy links as
[markdown](links)
.
- Picture-in-Picture -
PiP mode for Chrome (works for Youtube!)
- Distill Web Monitor -
A useful extension for getting notified when a webpage changes.
🛠 Utilities
- Rectangle - A great window resizing/tiling
utility app for macOS.
- Raycast - My preferred Spotlight replacement.
- grip - Grip allows you to preview Github
markdown really easily. It’s a simple command line tool, works reliably, and
speeds up the process of writing Github READMEs.
- stats - macOS system monitor menu bar
utility.
- codemod - Straight-forward tool for
performing large-scale find-and-replace refactors on code.
- fastmod - A rewrite of
codemod
in Rust that’s much faster. Great for very large codebases!
Single Serving Websites
- Kill the Newsletter! - Converts
email newsletters to RSS feeds.
- rewind.website (a.k.a. “Cast Rewinder”) - Allows
you to listen to podcasts “from the beginning” by rehosting an RSS feed that
emits olds episodes on a schedule.
- PolitePol - Creates RSS feeds from websites
that don’t publish feeds.
💽 Databases
- Sequel Pro - Sequel Pro is a great GUI
interface for MySQL. It allows you to create and modify tables, query
tables, edit and create rows, everything you’d need to bootstrap a database
setup. Two thumbs up. 👍👍
- Postico - Postico is pretty much at
feature-parity with Sequal Pro, but for PostgreSQL.
Note: None of the links on this page are affiliate links.
(Updated April 7, 2023
)