uses
the tools, hardware, and software i use daily for development, operations, and calm execution
Editor & terminal
- Editor: VS Code with Vim keybindings - pragmatic balance of power and plugins
- Terminal: Alacritty on Linux, Windows Terminal on Windows - fast, GPU-accelerated, minimal config
- Shell: Bash for scripting, zsh for interactive work with oh-my-zsh (minimal plugins: git, docker, kubectl)
- Multiplexer: tmux for long-running sessions and remote pair programming
- Font: Fira Code with ligatures - clean, readable, designed for code
Development stack
- Languages: Python (FastAPI, asyncio), TypeScript/Node.js, Bash for glue
- Databases: PostgreSQL (primary), Redis (caching, queues), SQLite (local dev, embedded use)
- Infrastructure: Docker + Docker Compose locally, Kubernetes (k3s) for production
- CI/CD: GitLab CI/CD with self-hosted runners, some GitHub Actions for OSS
- Version control: Git via CLI, GitLab for hosting, conventional commits for clarity
DevOps & observability
- Monitoring: Uptime Kuma (uptime), Prometheus + Grafana (metrics), custom alerting to Mattermost
- Logs: Loki for aggregation, grep and tail for quick debugging
- Secrets: Vault for production, pass (passwordstore.org) for personal, 1Password for team shared credentials
- Backup: Restic to S3-compatible storage, automated daily snapshots, tested quarterly restores
- Networking: WireGuard for VPN, nginx for reverse proxy, Cloudflare for DNS and edge caching
AI & data tools
- LLMs: Claude (Anthropic) for complex reasoning, Llama 3 via Cloudflare Workers AI for on-demand inference
- RAG: pgvector for embeddings, OpenAI text-embedding-3-small for vectors, custom Python pipelines
- OCR: Tesseract for open source, Azure Document Intelligence for production regulated workflows
- Data: pandas for analysis, DuckDB for fast local queries, Jupyter for exploration
Communication & productivity
- Team chat: Mattermost (self-hosted, integrated with CI/CD and alerts)
- Email: ProtonMail for privacy, Thunderbird as client
- Calendar: Cal.com (self-hosted) for scheduling, Nextcloud Calendar for personal planning
- Notes: Markdown files in git repos, Obsidian for personal knowledge base, pen and paper for thinking
- Task tracking: GitLab issues for work, todo.txt for personal, daily meditation on priorities
Hardware
- Primary workstation: Custom-built Linux desktop (AMD Ryzen 9, 64GB RAM, NVMe storage)
- Laptop: ThinkPad T-series running Ubuntu - durable, repairable, excellent keyboard
- Server: Dell R720 homelab (ESXi, nested Kubernetes, staging environments)
- Keyboard: Leopold FC660C (Topre switches) - quiet, tactile, built like a tank
- Mouse: Logitech MX Master 3 - ergonomic, programmable, lasts all day
- Displays: Dual 27" 4K monitors (Dell UltraSharp) - color-accurate, USB-C daisy chain
Operating systems
- Daily driver: Ubuntu LTS (22.04) - stable, well-supported, great for Docker/K8s work
- Servers: Debian stable for production, Alpine Linux for containers
- Also use: Windows 11 for vendor tools and manufacturing integrations, macOS occasionally for testing
Philosophy
I prefer tools that are:
- Open source when possible - inspect, modify, trust
- Self-hosted for sensitive data - control your infrastructure
- Scriptable and CLI-friendly - automate the boring parts
- Boring technology - proven, stable, well-documented
- Privacy-respecting - no telemetry without consent, no data mining
I avoid tools that lock me in, phone home excessively, or prioritize VC growth over user respect.