Writing archive
Older posts are still here, but the emphasis now is agentic AI, local models, and evaluation work.
-
Remote Agents Need A Run Trail
Jun 08, 2026An agent can run somewhere else. The trail still has to be easy to inspect.
-
Answerproof: AI Search Audits Start With Buyer Questions
May 30, 2026AI search visibility is not a rank tracker with a new label.
-
What 12 AI Search Pre-Checks Showed
May 30, 2026I ran 12 small AI-search pre-checks while building Answerproof.
-
Replayable Benchmarks
May 22, 2026A benchmark only starts earning trust when the harness can replay the same failure.
-
Memory Is Not Operating State
May 22, 2026Agent memory should help recover context. It should not become the authority for what is true.
-
The Boundary Layer Is the Product
May 22, 2026A useful local AI stack is not one model doing everything. It is a boundary layer that knows what stays local, what goes cloud, and what needs proof.
-
Agent Demos Are Too Generous
May 21, 2026Most agent demos get a very generous audience.
-
The Harness Is the Product
May 21, 2026A lot of agent demos are impressive for about six seconds.
-
Local AI Is About Iteration Speed
May 21, 2026People keep talking about local AI like it is mainly a privacy play or a cost play. Those matter. They are not the main reason I keep reaching for it.
-
The Workflow Survives Model Swaps
May 21, 2026The real benchmark is whether the workflow still works when the model changes.
-
Routing Is the Product
May 21, 2026If a harness cannot choose between local and cloud models cleanly, it is leaving the hard part unsolved.
-
multiharness and ds4
May 21, 2026A local-first agent harness only matters if it makes model choice and failure modes visible.
-
Rust for Data Engineers: A Python-to-Rust Field Guide
Mar 25, 2026I spent a decade writing Python for data pipelines. ETL scripts, API integrations, data transformations—Python was the obvious choice. Then I hit the wall: a...
-
Reading Gmail Without the Gmail API: A gog CLI Postmortem
Mar 05, 2026I needed to read emails programmatically. Google’s official solution wants OAuth flows, consent screens, API quotas, and a 47-step verification process for “...
-
Moving My AI Workers to Hetzner: A Migration Guide with Blood on the Page
Mar 04, 2026I moved my entire AI agent infrastructure from a home server to a 4 euro Hetzner CX21 in under three hours. The migration worked. Then it broke. Then it brok...
-
My Monthly Client Reports Took 4 Hours to Build. Now They Take Zero. Here Is What I Broke Along the Way.
Mar 04, 2026Every month I send performance reports to twelve clients. The process used to take four hours: pulling data from three databases, normalizing schemas that ne...
-
I Replaced 6 Cron Jobs with One Agent Loop. Here's What Broke First.
Mar 02, 2026The migration seemed straightforward. Six cron jobs, one per server, each doing one thing. I consolidated them into a single Python process with an event loo...
-
My AI Agents Kept Failing Silently. So I Built a Dead Man's Switch.
Feb 26, 2026I run six AI agents on a permanent loop. They check my calendar, monitor GitHub repos, summarize pull requests, and handle routine data pipeline alerts. For ...
-
My $5 Semantic Search Setup Outperformed Elastic. Here's the Bill of Materials.
Feb 25, 2026I had 12,000 notes spread across Notion, Obsidian, and random Markdown files. Finding anything required remembering where I put it and what I called it. Keyw...
-
I Replaced 6 Cron Jobs with One Agent Loop. Here's What Broke First.
Feb 23, 2026I had six cron jobs scattered across three servers. They checked APIs, sent alerts, generated reports, and kept the lights on. They worked fine until they di...
-
Why I Stopped Using Browser Automation for APIs
Feb 19, 2026I used to love browser automation. Give me a website without an API, and I’d fire up Selenium or Playwright and make it bend to my will. Login forms? No prob...
-
The Atomic Task System That Actually Works
Feb 19, 2026I’ve tried every productivity system under the sun. GTD, bullet journaling, Notion templates with more databases than a data warehouse, time-blocking, energy...
-
How I Cut Our dbt Runtime by 80% Using These 3 Patterns
Feb 19, 2026Our dbt project had a problem. A 6-hour runtime problem.
-
The dbt Model That Taught Me Everything About Optimization
Feb 19, 2026I once had a dbt model that took 47 minutes to run. It wasn’t even doing anything complicated—just joining a few large tables, some aggregations, the usual s...