About This Website
The motivating idea for this site is that it become a sort of garden that I will tend over time. Revising some parts, pruning others, grafting on new notes.
Less metaphorically, it is a perpetual draft. I am fascinated by human projects that take a long view, that unfold over the years, and that reward patience. My ambition is that this website can be such a project for myself.
The core principles guiding the design of
- Speed is a feature.
- Respect your user.
I host the site on the smallest, cheapest Digital Ocean droplet available (currently 1 GB RAM + 1 CPU). Nginx serves it. I deploy it using Ansible. There is no user tracking code, though I monitor basic traffic via server logs and GoAccess.
I am a software developer and engineering manager living in NYC. Since 2014, I have worked at Braze, where I manage one of their engineering teams. In a prior life, I worked as a policy analyst for the New York State Governor's Office. And before that, I studied history and philosophy at Swarthmore College.
- I track the books that I read and want to read on Goodreads. See Books I Like for a list of favorites with brief commentary.
- Most of the code I write outside of work is available on Github.
Orbital is a web app for learning and practicing build orders and timings in real time strategy games. At its core, it is a timer that uses text-to-speech synthesis to read user-defined phrases aloud at specific timings. The effect is similar to having a coach remind you to take certain actions at specific times. I have used it to practice and improve at StarCraft II. Orbital is written in Elm and the code for it is on Github.
Zeke is a CLI that makes managing a folder of markdown notes more ergonomic. I use it for my own personal note taking system. It is written in Rust.
Computer-wise, my daily driver is a 2017 MacBook with 16GB of RAM. Apple has since replaced this model with the MacBook Air, which is the same idea but with two USB-C ports instead of one and a slightly larger screen. Anyway, this is the best computer I have ever owned. It is sleek and thin and light. It has more than enough power for my needs. If I need a bunch of compute, it's trivial to spin something up on AWS or Digital Ocean.
For gaming purposes, I have a custom built desktop. Its core components are a Ryzen 5 3600X processor, a GeForce RTX 2070 Super graphics card, the Asus X570-Plus motherboard, Fractal Design's Meshify C case, 16 GB of RAM, and a Samsung 970 Evo SSD. This is hooked up to a Roccat Kain 120 Aimo mouse, a Varmilo VA87M mechanical keyboard with colorful keycaps, and Sony WH-1000X M3 noise canceling headphones. I wouldn't recommend those headphones, by the way, because they have a design flaw that causes the headband to break really easily. Mine are currently wrapped in electrical tape because of that.
At work, I use the standard startup issue 13” MacBook Pro. How boring.
My phone is a Pixel 3a XL. I especially love that it runs stock Android and that it has a fingerprint reader. All the other Android phone manufacturers keep self-sabotaging by adding their own bloated, crappy software to Android and never issuing OS updates. More broadly, my take on the current phone ecosystem is that the hardware is amazing. Is anyone using modern phones in a way that pushes the limits of the hardware? The software, on the other hand, is so limiting. It's all walled garden apps with no interoperability and design that trades power and creative expression for “usability”.
When I'm not reading on my phone, I read on a Kindle Paperwhite. And I listen to music and shelter from the sounds of the subway with a pair of Jabra 65T earbuds.
While I am, by tradition and upbringing, a PC gamer, most of my gaming over the last few years has been on the Nintendo Switch. The Switch is an instant classic. I hope its form factor and flexibility inspire a bunch of future devices.
I carry some of these things around in a Tom Bihn Synapse 25 backpack. Do not be fooled by the conservative and somewhat dull appearance. It is an exceptionally well designed bag.
I spend the most time in Firefox (extensions: HTTPS Everywhere, uBlock Origin, Neat URL, Momentum, 1Password). All my writing (of code or text) is done within Neovim (my config) running inside Alacritty + zsh (with oh my zsh) + tmux.
I use the same UNIX command line tools as the rest of the world, but a few exceptions are worth mention. ripgrep is a blazing fast replacement for grep, written in Rust. tldr is a simple alternative to man pages. fzf is a fuzzy finder which I use for path and shell history searching. bat is a
cat replacement, but with line numbers and syntax highlighting. exa is an
ls replacement with some nice features, like git integration and better colors.
For facts and ideas that I really care about, I use Anki to remember. Technology aided spaced repetition is the closest thing to a super power I have encountered, other than maybe modern contact lenses. My personal note taking system is just a folder, synced with Dropbox and managed with Zeke, which has a bunch of markdown files in it. I track other things in Todoist (todo lists…), Pinboard (bookmarks), YNAB (finances), and Beeminder (goals).
Other miscellany. Alfred, Bartender, Rectangle, and Day-O are nice quality of life improvements for macOS. f.lux keeps me from messing up my sleep schedule. And there's this lovely tea timer built by Michael Villar.
All of this software is installed and kept up to date via homebrew. I back everything up via Dropbox and Borg.