Journal
Posts and long-form series on AI, startups, venture capital, and more.
All Posts
Comparing Python Libraries for Structured LLM Extraction
A practical comparison of instructor, outlines, and pydantic-ai for getting structured data from LLMs based on production experience.
Personal Blogs and the Small Web
A look at the history of personal blogging, why people write on the web, and the indie web communities keeping the small web alive.
From Theory to Practice: Building Real Decision Models with Petersburg
A practical guide to modeling complex decisions with Monte Carlo simulation using petersburg, featuring real case studies from startups and drug development.
I Tested LLM Prompt Caching With Anthropic and OpenAI
Experiments testing prompt caching with actual API calls, measuring cache hits, token counts, and costs across Anthropic Claude and OpenAI GPT.
MCPB: One-Click Installation for MCP Servers
How the new MCP Bundle format makes installing Model Context Protocol servers as easy as browser extensions, with thoughts on where it fits in the ecosystem.
Governance in AI Agent Security
Why prompt injection defenses keep failing and what enterprise AI deployments actually need to detect the lethal trifecta.
Resulting: Why Good Decisions Sometimes Look Bad
How judging decisions by their outcomes creates perverse incentives in organizations and why we struggle to separate luck from skill.
Recognition-Primed Decisions: Expert Intuition Under Pressure
How experts make split-second, high-consequence decisions under extreme uncertainty when there's no time for systematic analysis.
Fall Reading List 2025
Three books about decision-making, risk, and building empires that shaped my fall reading, from poker strategy to cable TV moguls
The Nursing Decision Cycle: Clinical Judgment Under Pressure
How nurses make high-consequence decisions under extreme time pressure when lives hang in the balance and mistakes cost lives.