AI Adoption is a Trust Problem
AI Adoption is a Trust Problem
An experimental digital garden
AI Adoption is a Trust Problem
Claude Code and Agent Conventions
Chatbots are not input validation
Direnv env var additions, overrides, and removals
Computer Use
Stateful Agent Collaboration
Externalize Your Thought Process
Personal Software
Stateful Agents and Basic Memory
Director, Not Performer
I've Stopped Learning Programming Languages
Reviving a Raspberry Pi with Claude Code
Why Write
Year in Review: 2025
Images as Context
On Writing, Speaking and Thinking
Embeddings with sqlite-vector
Debugging DSPy token usage and prompts
Intro to DSPy
Running a Mile with LLMs
Claude Code Custom Slash Commands Hierarchy
Running `uv` with Environment Variables
When Datadog's magic breaks your API calls
A short, fast rollercoaster
Using Checkpoints with Coding Agents
Agents can make progress independently, but they also make messes
The performance costs of thinking and provider defaults
With MCP, Dates are a Footgun
Gemini 2.5 Uses Thinking By Default
Amazon Bedrock On Demand Throughput Error
A few strategies to make LLMs useful for you
Agent Coding Strategies
Who Finds LLMs Useful and Why
OpenAI Compatible API Implementation Variance
Note Taking
Using `llm` to handle large input context
Git Worktree
Create a Link Blog
Alfred as a Text Editor
A few concepts for LLM chat UIs
RSS Club
You need to use models to build software to really understand their limits
Vibe Coding in early 2025
Goose as a Task Runner
Adding an llms.txt file to Hugo
Claude Code
Cursor Triple Backticks Stop Sequence
Developing a Mental Model for using Models
Astro Code Toggle Component
Using Claude Citations to annotate the sources for document Q&A