Blog
A collection of posts on various topics including data science, software engineering, cycling, travel, food, and startups.
Year's End: Looking Back at 2025
Reflecting on a year of career transitions, building personal software, writing extensively about AI and decision-making.
Project Diaries in ContextSwitch: Your AI-Powered Development Journal
I’ve been using ContextSwitch to manage my todos for a while now, but the new diary feature has made it much more valuable. Combined with Claude Code …
AI Tools I Actually Use
A practical rundown of the AI products I use daily for software development and work - no hype, just what actually works for me.
A Guide to the Guides
An overview of the living document guides on this site, covering everything from Atlanta restaurants to startup leadership.
PyGeoHash 2025: A Year of Transformation
Looking back at a transformative year for PyGeoHash - from complete rewrites to MIT licensing, type hints to automated publishing, and the community impact of a decade-old library reborn.
Claude Skills: Teaching Your AI Assistant Context-Aware Expertise
How Claude Skills let you embed reusable expertise into your projects, with a deep dive into building a de-slop skill for cleaning AI-generated code.
Building Blog Header Art with Claude Skills
How I built a custom Claude Code skill to generate blog header images that match my site's aesthetic, using DALL-E 3 and chroma key techniques.
Deep Research Systems: Architectural Differences That Matter
A technical analysis of how modern AI research systems actually work, comparing ReAct, test-time compute scaling, and hybrid reasoning architectures.
AI Agents Will Break Our Markets (Unless We Fix Them First)
A new paper explores what happens when autonomous AI agents participate in economic systems built for humans. Spoiler: lots of problems.
Native Structured Outputs: When to Skip the Framework
OpenAI and Anthropic now offer built-in structured output support. Here's when to use native APIs versus validation frameworks.