Feb 11, 2026
Week 6: Error Handling, Logging, and the Unreliable API Problem
Building a robust API caller with retry logic and exponential backoff. LLM APIs fail more than you expect.
Blog
Recent writing and implementation notes.
6 posts
Feb 11, 2026
Building a robust API caller with retry logic and exponential backoff. LLM APIs fail more than you expect.
Feb 04, 2026
Reading and writing files, JSON serialization, and the JSONL format that underpins most AI evaluation datasets.
Jan 28, 2026
The week Python scripting became Python engineering. Building a reusable test utilities package from scratch.
Jan 21, 2026
Building a validation library for LLM outputs. Deterministic checks for non-deterministic systems.
Jan 14, 2026
Learning Python data structures by building a test case manager. The list-of-dicts pattern shows up everywhere in AI testing.
Jan 07, 2026
Starting from zero Python to building a reusable prompt template engine in one week. Including one hour lost to PYTHONPATH.
Building a robust API caller with retry logic and exponential backoff. LLM APIs fail more than you expect.
Feb 11, 2026
Reading and writing files, JSON serialization, and the JSONL format that underpins most AI evaluation datasets.
Feb 04, 2026
The week Python scripting became Python engineering. Building a reusable test utilities package from scratch.
Jan 28, 2026
Building a validation library for LLM outputs. Deterministic checks for non-deterministic systems.
Jan 21, 2026
Learning Python data structures by building a test case manager. The list-of-dicts pattern shows up everywhere in AI testing.
Jan 14, 2026
Starting from zero Python to building a reusable prompt template engine in one week. Including one hour lost to PYTHONPATH.
Jan 07, 2026