What I use
Inspired by /uses, this is a non-exhaustive list of the tools and technologies that I use daily.
This website
This website is a standard Next.js app, with a custom MDX layout. Nothing fancy. Thanks to static site generation, this all works without JS, but I can still write in MDX and use React components, which is nice because it gives me a place to experiment with JS playthings.
Mac
- Webcam: Sony a5100 Mirrorless DSLR, with a 35mm f/1.8 lens
- I used to use it for streaming, now it just brightens Google Meets.
- Microphone: Shure SM7B + Focusrite Scarlett Solo + dbx 286s
- Elgato Key Light
- Desk: Bestier 55" Standing Desk
- Headset: AirPods Pro 3
- Keyboard: Apple Magic Keyboard
- Mouse: Apple Magic Trackpad
- Monitor: BenQ MA320U
- It works great for my needs: It's 32", 4K, and works great with my Mac. Can't complain.
Windows
- Keyboard: Razer Huntsman V3 Pro
- Mouse: Logitech G Pro X Superlight
- Monitor: ASUS ROG Swift 32" 4K OLED (PG32UCDM)
- 240Hz and OLED make for the best experience I've ever had. Text looks blurry on the Mac though, so I only use it for gaming.
- Speakers: Bose SoundLink Mini II
Hardware
- Work computer: Macbook Pro 16" (2021, M1 Max)
- 64GB RAM, for Docker (via OrbStack).
- Went with an M1 Max so I could have 3 monitors at once. Before I moved to the BenQ, I was using 3 external 4K monitors.
- 2TB SSD, because I don't want to worry about making space during normal everyday use.
- Gaming PC:
- RTX 3090 Ti
- CORSAIR Vengeance DDR5 96GB (2x48GB) DDR5 6000MHz CL30
- 2TB Samsung 990 Pro NVMe SSD
- ARCTIC Liquid Freezer III 420
- Corsair OBSIDIAN 1000D
- This thing is a monster - you can fit two computers inside it. My goal is to get the home lab hardware in there eventually.
- AMD Ryzen 7 9800X3D
- MSI X670E GAMING PLUS
- Home lab:
- 80GB DDR4 ECC RAM
- 2TB Samsung 990 Pro NVMe SSD
- Gigabyte B550 (AM4 motherboard)
- Ryzen 9 5950X CPU
- 2 x 18TB Toshiba MG Series HDD
- They're loud, but they make for a nice little ZFS pool.
Backup Strategy
I use a combination of both local and remote backups.
- I have a ZFS pool running in my home lab, which I use to store all of my data mirrored across two HDDs.
- My Mac backs up to an external Time Machine SSD.
- I used to use the home lab for backups, but it was very unreliable and caused immense HDD thrashing.
- I use BackBlaze to backup my entire Mac to a remote server.
- My ZFS pool is also mirrored to a remote ZFS pool, at zfs.rent.
So that's 1 local backup and 2 off-site backups. Prior to having this setup, I did lose data, and swore to myself that it would never happen again.
Software
- Atuin
- Infinite searchable shell history that syncs. I have it on every server and every computer I own, and it syncs my shell history across all of them.
- Unclutter
- For the clipboard history. I know other apps exist, but I love the little gesture to bring it up. I use it multiple times a day.
- IntelliJ IDEA Mac/Windows/Linux
- I've used it for 10+ years. It's extremely powerful, but a bit slow.
- I use the One Dark Vivid theme.
- Claude Code Mac/Windows/Linux
- Plan Mode is the way I do everything now. For existing projects, I have a back and forth with Claude discussing a task I want it to accomplish, fleshing out a plan, thinking it through, and when I'm happy I let it execute. Thanks to good guardrails in CLAUDE.md, it's gotten to the point where it'll get the code just right. 90+% of my programming time is now spent fleshing out plans with Plan Mode, 8+ tasks at a time. The amount of work I can deliver in an 8-hour block is through the roof.
- OrbStack Mac
- Unlike traditional Docker, this uses Apple virtualization to run containers. It's much lighter, and performs incredibly well. I've made it a point not to install developer tooling on my Mac anymore; all my projects have a container for devtools now, so I can have whatever version of whatever tooling that specific project needs.
- TablePlus Mac
- The best DB GUI I've ever used. Sadly, the Linux version is nowhere near as good as the Mac version.
- Transmit Mac
- It's not often I need to FTP/SFTP, but when I do, I use Transmit.
- Tailscale
- VPN for everything. All of my devices and servers are connected to Tailscale, which means I can access any of their services from anywhere without opening ports or making them web-accessible.
- NextDNS
- Block ads, block trackers, and block malware, for all devices on your network. Hooks up with Tailscale so it's applied to all of your devices automatically.
- iTerm2
- I've been looking into Warp for a while, but iTerm's been more than good enough for me.
- Homebrew
- Does anyone still develop on macOS without Homebrew? I don't know.
- Eagle
- My inspiration library. I store a lot of UI/UX designs here, and use the app when I need to find inspiration for my own work.
- Obsidian
- I use it for my personal wiki, and for my notes on projects.
- I used to use Notion, but it was too slow and clunky. Obsidian also works off of plain markdown files, so I'm not locked into a proprietary database, like I was with Notion.
- Linear
- The best app for project management, by far.
- Things
- I funnel all of my tasks into Things. Linear is good for software projects, but Things is better for personal tasks and non-software work.
- BBEdit
- I have it open 24/7 for scratch files / loose notes. I Cmd-N and start typing. It's fast and no frills.
- Every now and then I'll go through all the untitled notes and process whatever's on them.
- Raycast
- My macOS launcher. I almost exclusively use it to launch apps, and only got off Spotlight because would sometimes take a while to show me the first result.
- Its functionality is completely wasted on me. I just like the fast app launcher. Sometimes the unit conversions.