My Setup

I am a software engineer by nature, and I focus on building tools for other developers, both for my employer and for personal, open source projects. I work full-time remote, and spend most of my time on a Mac, but I also support developers on every major OS.

In my free time I play a lot of video games, on a variety of platforms, but I have strong opinions about which ones are “best”. I have done my best to keep gaming-specific items in a separate section.

I’m grateful and privileged to be well employed and capable of buying quality gear. I appreciate that not everyone can afford such luxuries. I hope that someday the world will have enough social safety nets and universal benefits that everyone could have the same opportunities. #unionize



  • Mac Mini (M1, 16GB, 2TB) — My everyday machine for personal projects, browsing the web, and pretty much anything else. Perhaps the best value Mac I’ve ever purchased.

  • iPad Pro 11” (M2, 128GB, Silver) — Media consumption device, “on the go” Mac replacement, and drawing tablet. I’ve even given successful presentations with it. Absolutely love this thing.

  • iPhone 15 Pro (128GB, White Titanium) — I miss the iPhone 13 Mini, but USB-C and optical 2X/3X zoom are too tempting. Converted me to the caseless PopSocket lifestyle thanks to its size and weight. I’d pay even more for an iPhone Pro Mini.


  • Uplift V2 Standing Desk (60” C-Frame, ash grey) — Sturdy and high quality desk. Mounted a pair of Ikea wireframe underside cable organizers from my previous desk.

  • Herman Miller Aeron Chair (~2019, Graphite, size C) — Ergonomic, sturdy, dependable. Bought it from a local business liquidation outlet when I went full-time remote, and I haven’t regretted it once.

  • Dell UP2718Q (27”, 4K, HDR10, 60Hz) — The only monitor I’ve found with HDR up to 1000nits with local dimming and four full-speed inputs. I’d love a 5K or 6K version for proper retina resolution, but as far as I can tell, Dell doesn’t even sell a monitor that matches this feature set, five years later. However, image retention is getting worse with time, especially on the left-most edge. If Apple made an HDR monitor with multiple inputs, I’d switch in a heartbeat.

  • Sonos Ray + Sub Mini — A great, small soundbar that fits behind/under my monitor. Connected to my Mac Mini via optical cable through a TB3 dock.

  • Kinesis Freestyle Edge — The only compact, split layout, backlit, mechanical keyboard with a flat keycap profile. Programmable with macros, and includes ten custom keys on the left side, while the right side layout is extra compact so that my mouse can be as close to natural position as possible. Rearranged the keycaps to the Dvorak layout, of course.

  • Logitech MX Anywhere 3S — Excellent mouse for smaller hands or shorter fingers. Use the RF dongle whenever possible for best response and lowest latency, but it can be paired to three separate dongles or bluetooth devices, perfect for use at a desk or on the go with a laptop or iPad.

  • AIMOS 4 Port USB Switch — Simple USB switch for selecting which computer my keyboard and mouse are connected to. Far less fiddly (and cheaper) than using a KVM, especially when dealing with 4K HDR video. Mirrors the four inputs on my monitor.

  • Elgato Stream Deck v1 — Mostly used for controlling Apple Music on my Mac Mini when I’m working, but also includes a couple other useful shortcuts and system controls.

  • Elgato Facecam — Good quality webcam that actually has a decent size sensor for indoor use. Lets me look reasonably good without needing a bunch of key lights shining in my face every time I’m in a meeting. It does not include a microphone, for better or worse.

  • Blue Yeti (10th Anniversary Edition) — Bog standard condensing microphone. I’ve recorded a handful of podcasts and conference talks with this. It’s not great, but it’s not awful. Picks up a ton of background noise, even in it’s recommended “cardioid” setting. Keep the gain to a minimum, or maybe just go ahead and buy a better microphone.

  • Anker 637 Charging Station — Extremely convenient charging station, with a MagSafe charger on the front, two USB-A and two USB-C PD charging ports on the back, and three AC outlets, which are perfect for powering ad-hoc devices like a laptop or my race seat.


  • Sony WH-1000XM4 (Silver) — Bluetooth ANC over-ear headphones. They sound great, but most importantly they are extremely comfortable for long listening sessions, something I can’t say about most other headphones I’ve tried.

  • Sony INZONE H9 — Wireless USB over-ear gaming headphones that actually support ANC and simultaneous mixing of bluetooth audio. Lets me play and hear audio from my games while also listening to podcasts from my phone. Compatible with PC and PS5. Sadly, does not seem to support the Steamdeck or Switch except via bluetooth, at which point I’d rather use the XM4 or airpods.

  • Apple AirPods Pro — The only in-ear headphones I’ve ever been able to stand wearing for more than 30 seconds. Mostly used when doing chores or listening on the go.


  • LG C2 OLED 65” — Probably the best TV on the market for the money. Looks great, mostly untouched by adware, and I have never once connected it to the internet lest it get worse by design.

  • Apple TV 4K — The least worst streaming box available. The remote is amazing, but I wish it had one or two extra buttons on it. On the bedroom TV remote, I’ve remapped the “mute” button to the TV’s “sleep” button, for obvious reasons.

  • Sonos Arc + Sub — The best soundbar I’ve ever heard, paired with a great subwoofer. Excellent integration with the TV and Apple TV when set up using HDMI eARC.


  • Unifi CloudKey+ — A simple PoE network video recorder with a single internal drive bay. Records 24/7 video from each camera, but also integrates into Homekit through Homebridge for motion events. Replaced the 1TB spinning rust with a 4TB SSD. No subscription needed!

  • Unifi G4 Instant — A basic 2K wifi camera with good picture quality, even at night.

  • Logitech Circle View Doorbell — The least worst hardwired Homekit doorbell I’ve tried.

  • Lutron Caseta smart switches — Hands down the best and most reliable smart switches around. Requires a dedicated hub, but the Homekit integration is flawless. We now have these in the kitchen, the living room, the bedroom, and their outdoor weatherproof version for controlling holiday lights.

  • Philips Hue smart bulbs — For lamps where a smart switch is not an option. Also requires a dedicated hub, but the Homekit integration can be a bit fiddly, and the bulbs are way more expensive to replace. Offers some interesting lighting arrangements, like lighting strips and ambiance lights.

  • Synology DS916+ — Four bay NAS with quadcore Intel CPU, powerful enough for streaming and encoding video through Plex. Mostly used for storing movies and TV shows that I’ve ripped from DVDs or Blurays.


  • GL iNet Beryl AX — Travel router. Plug in to ethernet or bridge to hotel WiFi, and only log in to the captive once. Every other device now transparently shares the same “connection”, resolving incompatibilities like with the Nintendo Switch.

Software / Services


  • Firefox — The only one that doesn’t hate you or your privacy. Sending tabs from my phone to my desktop for later viewing is magical. Available everywhere.

  • Fastmate — Native wrapper for the Fastmail web client. Good enough in a world of snoozing and other advanced features, although I miss the simplicity and speed which I could manage my inbox with Thunderbird.

  • 1Password — Least worst cross-platform password manager that anyone can (and should) use.

  • Fantastical — Excellent native calendaring app with fantastic widgets. Works with iCloud and other accounts, and the natural language processing is 👩‍🍳💋. “Nails fri 3pm at 123 main st” will create an event named “Nails” for Friday at 3PM, and set the location to “123 Main St”. Extremely useful for quick inputs when setting appointments in person.

  • Ivory — My favorite Mastodon client (so far) mostly because it maintains most of the sensibilities from the best third-party Twitter clients. The Mac client is … good enough, but the iOS app is clearly what gets the most attention. I will forever miss Twitterrific for Mac.

  • Notability — Hybrid drawing and markup app, best used on an iPad with the Pencil. I mostly use it for filling out or signing PDF forms, but sometimes it’s nice to draw diagrams or make notes related to games I’m playing.

  • Obsidian — My favorite markdown editor and notes app all-in-one. Isn’t afraid to get nerdy; has a Vim mode. Endless settings screen.

  • Overcast — The podcast app who’s developer is not afraid to take the time to get it right. Smart Speed and Voice Boost were invented here.

  • Parcel — Package delivery tracking. Clean interface, with a strong list of supported carriers.

  • Reeder — My favorite RSS feed reader app. Clean, good looking three column layout with great fonts, and it works really well on iPhone, iPad, and Mac. Syncs using Feedbin or similar service. Includes a simple “read later” queue that gets synced via iCloud.

  • Soulver — Math playground; calculator and notepad with live answers and variables. Great for unit conversions and multi-step calculations with editable history. You have to try it to understand.


  • iTerm2 — The best native terminal for macOS with powerful features, like “smart selection” to treat predictable text patterns or identifiers (eg, “D1234”) as clickable links to their canonical URLs.

  • Vim — The standard. Taught me the magic of modal editing. Don’t ask me about emacs; my wrists are still swollen from college.

  • VS Code — The de facto IDE for Python developers. Includes a decent Vim mode.

    • µfmt — Safe, atomic formatting and import sorting for Python.


  • Apple Music — Decent music streaming service. Pays artists more than Spotify does. Lets you import your own MP3s (like from Bandcamp or CD) and treat them like songs and albums from their streaming catalog.

  • Bandcamp — Buy music directly from indie artists while you still can. Download the MP3s for those albums while you still can.

  • — Independent (and free) service for keeping track of the music you’ve listened to over time. Requires using an app to “scrobble” tracks as they play. Still has my entire play history from when I started using it all the way back in 2006.

  • Longplay — View and play your Apple Music collection as albums, not tracks. My new favorite music listening app of all time. Scrobbles to

  • Marvis — Alternative iOS app for managing and playing your Apple Music collection. My go-to for playlists or shuffle mode. Scrobbles to

  • MusicHarbor — Stay on top of new and upcoming releases from artist you care about. One-touch add to library or a default playlist.

  • NepTunes — Mac menu bar app to display current track name and scrobble music to


  • Letterboxd — Good service and app for tracking and rating movies you’ve seen. I don’t watch movies very often, but I enjoy taking time to reflect on them and rate them when I do.

  • Plex — Host your own streaming service using your own library of media files. This is where all of my local “backups” of movies and TV shows go so that I can watch them from anywhere on any device at any time. Does an excellent job at curating and presenting your directory of files, but it requires running a local server — I run it on my NAS. I bought the lifetime subscription pass back in 2014 and never looked back.

  • Trakt — Service for tracking TV shows and episodes. Makes it easy to keep a record of which seasons and episodes you’ve seen and where you left off. Also supports movies, but I use it only for shows. Best paired with an app like Watcht or Sequel.

  • Watcht — Great app for Trakt to view your currently active TV shows, what shows or episodes you have available to watch, and what episodes are airing soon. Having your “up next” queue right there on the home dashboard is perfect.


  • Alfred — Launcher and so much more.

  • Amphetamine — Caffeine for modern macOS.

  • Bartender — Keeps menu bar apps under control.

  • DaisyDisk — Simple and good looking app to analyze storage space.

  • IINA — Streamlined video player. What VLC should have always been.

  • iStat Menus — Menu bar resource monitor. CPU, RAM, disk, network, and more.

  • Magnet — No frills window manager with splits and quadrents.

  • Middle — Adds a proper middle click gesture to Apple touchpads.

  • Pastebot — Simple clipboard manager with advanced features.

  • Rocket — Emoji picker for every app, à la Discord or Slack. “Boosters” include ASCII gems like ¯\_(ツ)_/¯

  • SoundSource — Advanced, nit-picky control of audio levels and output devices.



  • Corsair One i200 (Intel i9 10900K, Nvidia 2080Ti, 32GB) — An excellent, liquid-cooled all-in-one gaming PC. Compact and quiet, with a desktop footprint no bigger than a Mac Studio or Xbox Series X. Since upgraded to a 2TB NVMe with a 2TB SSD for each extra storage.

  • Playstation 5 (Disc model) — Used almost exclusively for playing Gran Turismo. On my desk so that I can use it with my race seat. Installed the matte black side panels from DBrand.

  • Nintendo Switch (Blue+Red launch edition) — Zelda, Mario, Kirby, and not much else.

  • Xbox Series X — It’s an Xbox hooked up to the TV.

  • Steamdeck OLED (Special Edition, 1TB) — For PC gaming on the go, or when I want to be on the couch. Excellent screen panel, but it’s a shame it’s not higher resolution.


  • Quest Pro — My preferred VR headset for pretty much everything, but especially for simulators. The visuals are high quality, the internal tracking is flawless, and the controllers are fantastic. Added an aftermarket side-to-side head strap to help keep weight and pressure off my forehead, making it the most comfortable headset I’ve ever used. Most frequently used with the Link cable below to play driving and flight simulators.

    • Quest Link Cable — Connects a Quest headset to my gaming PC so that I can play PC VR games on the newer Quest headsets. Significantly better experience than trying to use AirLink, even with the dedicated wifi dongle.
  • Playstation VR2 — My newest VR headset, but not my favorite. Visual quality is not as good as the Quest Pro, and the controllers belong in a trash can. Like my PS5, this is almost exclusively used for Gran Turismo, which thankfully supports the standard PS5 controller and the steering wheel in VR.


  • Xbox Elite Series 2 — Modern Xbox controllers have the best ergonomics on the market, and this is easily the best of the bost. The hair triggers are excellent, and the build quality is second to none. Strong recommend.

  • NYXI Wizard Joy-pad — A better Joy-con for the Switch, with classic Gamecube layout and hall-effect sensors in the joysticks. HE sensors should be mandatory these days, but this pair goes above and beyond with a layout that doesn’t confuse my brain every time I jump between the Switch and the Xbox.

  • Playseat Challenge — Compact, foldable race seat. Fits in a closet, even with the wheel and pedals attached. Trivial to set up or put away in 2-3 minutes, perfect for playing a driving sim at a moment’s notice.

  • Fanatec Gran Turismo DD-Pro — Excellent mid-range wheel and pedal setup. Direct drive force-feedback is practically a must for modern racing sims, and this is one hell of an upgrade from the Logitech G29 that most folks start with. Do yourself a favor and get the load cell brake pedal — it’s a bit weird at first, but provides a much better experience.

  • Virpil HOTAS — High quality joystick and throttle for every flight (or space) simulator. Requires buying a set of pieces, but that does offer a choice of alternative layouts or features. The pieces I selected include: