Writings

How to Fix LLM Date and Time Issues in Production

LLMs don't have access to the current date, causing issues in time-based analysis. Here's how to fix date and time handling in production LLM systems with explicit context.

Understanding Claude Code's Context Window

How Claude Code's context window works: what consumes tokens (MCP servers, tools, messages), why it matters, and how to manage context effectively.

How I Use Claude Code: My Complete Development Workflow

After 8 months with Claude Code, here's my complete workflow. Learn how I combine Linear, MCP servers, and Obsidian for AI-assisted development that works.

Build Efficient MCP Servers: Three Design Principles

Three design principles for context-efficient MCP servers: filter at source, pre-aggregate data, work creatively. Real reductions: 746k→262 tokens.

The Double-Edged Sword of Customer Obsession

Customer obsession can sharpen focus and drive urgency—but left unchecked, it burns out teams and breaks products. Here's how to get it right.

What Is Technical Debt? A Pragmatic Guide for Startup Teams

Learn when tech debt is smart, when it’s dangerous, and how to manage it. A clear, startup-tested guide to technical debt from a seasoned engineering leader.

The AI Prompt I Wish I Had While Documenting SaMD Systems in Rails

How AI could have helped me generate FDA audit-ready SDS documentation faster while building regulated software.

My Journey into 3D Printing with the Bambu Labs P1S

Discover my journey from 3D printing novice to creator with the Bambu Labs P1S. Learn about open-source designs, home organization projects, and designing your first custom print.

How Buoy Software is Redefining Rails Development with ViewComponents

Discover how Buoy Software improved their Rails app by transitioning from React and GraphQL to ViewComponents. Learn about performance gains and simplified development.

Acceptance Tests with Subdomains

How to use subdomains in your feature specs.