Software I use, gadgets I love, and other things I recommend.

I get asked a lot about the things I use to build software. After 30 years in tech, I've developed strong opinions about my tools. Here's what I'm currently using.

Workstation

  • Custom Linux workstation

    I run Arch Linux as my daily driver. There's something satisfying about having a system that's exactly what you need and nothing more. Plus, the AUR has pretty much everything.

  • VPS and Baremetal Cloud Servers

    For development and hosting, I use a mix of VPS instances and dedicated baremetal servers. Having real hardware when you need it and elastic resources when you don't is the best of both worlds.

Development tools

  • Zed, backed by Neovim

    Zed is my primary editor these days—fast, minimal, and the vim bindings feel native. When I need to make a quick change, I'll still pop open Neovim. Old habits die hard.

  • Claude Code

    I use Claude Code as my AI pair programmer. It's become an essential part of my workflow for exploring codebases, writing tests, and thinking through architecture decisions.

  • Ollama

    I run open-source LLMs locally for research and experiments. It's great for testing ideas quickly without API costs or privacy concerns.

  • AutoGluon

    When I need to spin up a classic ML model quickly, AutoGluon is my go-to. It handles the tedious parts of model selection and hyperparameter tuning so I can focus on the problem.

Infrastructure

  • Ansible

    For configuration management and deployment automation. I use it to manage my personal servers and client infrastructure.

  • Terraform

    When I need to provision cloud resources, Terraform is my go-to. Infrastructure as code is the only sane way to manage cloud environments.

  • Incus

    For local container and VM management. It's a great alternative to Docker when you need more flexibility or want system containers.

  • Headscale / Tailscale

    I run Headscale as a self-hosted coordination server for my Tailscale mesh network. All my machines are connected securely without the hassle of managing VPNs or firewall rules.

  • Stalwart

    Self-hosted mail server that actually works. Modern, written in Rust, and handles JMAP, IMAP, and SMTP without the typical mail server pain.

Productivity

  • Obsidian

    All my notes live in plain Markdown files synced with Git. Obsidian makes it easy to link ideas together and build a personal knowledge base.

  • Todoist

    I've tried every task management system out there. Todoist strikes the right balance between simplicity and power for how I work.

  • Atuin

    Shell history that syncs across all my machines. The fuzzy search is fast and I never lose a command I ran months ago on a different box.