41554 blogs · [ { "id": "01a0c502-2aca-7257-88be-1d2f07c242b1", "title": "Becoming, Pending Review", "url": "https://christophermeiklejohn.com/fiction/2026/09/21/becoming-pending-review.html", "published_at": "2026-09-21T10:40:08+00:00" }, { "id": "01a0c502-2aca-7257-88be-1d2f083f69ae", "title": "The Shortcut Became the System · A pipe disappeared. The rectangle around the door remained.", "url": "https://christophermeiklejohn.com/ai/agents/reliability/development/games/2026/09/14/the-shortcut-became-the-system.html", "published_at": "2026-09-14T00:00:00+00:00" }, { "id": "01a094e4-beeb-7375-a24b-38de6c372e6c", "title": "My Front of House of Cards · The show ended at 10:12. The fix merged at 10:17.", "url": "https://christophermeiklejohn.com/ai/zabriskie/agents/reliability/2026/09/12/my-house-of-cards.html", "published_at": "2026-09-12T05:30:00+00:00" }, { "id": "01a0875f-e93a-7027-b89e-d35cea5e4f3a", "title": "Software for One", "url": "https://christophermeiklejohn.com/ai/personal/programming/2026/09/06/software-for-one.html", "published_at": "2026-09-06T18:00:00+00:00" }, { "id": "01a0875f-e93a-7027-b89e-d35ceaa07f50", "title": "The Quickest Path to a Diff · The app died at Red Rocks while its health checks stayed green. Every line of code was fine. The sum was nobody's job.", "url": "https://christophermeiklejohn.com/ai/zabriskie/agents/reliability/performance/distributed/2026/09/04/the-quickest-path-to-a-diff.html", "published_at": "2026-09-04T18:30:00+00:00" }, { "id": "01a0875f-e93a-7027-b89e-d35ceaf773bf", "title": "Every Card Will Show · The earlier implementation, tests, audits, and accepted proofs said the algorithm was correct. None of them stated the whole problem.", "url": "https://christophermeiklejohn.com/ai/zabriskie/development/agents/2026/08/24/every-card-will-show.html", "published_at": "2026-08-24T04:00:00+00:00" }, { "id": "01a0875f-e93a-7027-b89e-d35cebd4dbda", "title": "The Safeguards Have to Run · Two abandoned notebooks showed me the difference between a research rule and a working control.", "url": "https://christophermeiklejohn.com/series/the-machine-in-the-lab/two-notebooks-lost-series/", "published_at": "2026-08-18T12:00:00+00:00" }, { "id": "01a0875f-e93a-7027-b89e-d35cec79427d", "title": "The Whole Night", "url": "https://christophermeiklejohn.com/ai/zabriskie/development/2026/08/17/the-whole-night.html", "published_at": "2026-08-17T23:00:00+00:00" }, { "id": "01a0875f-e93a-7027-b89e-d35ced58e2bf", "title": "Science at LLM Speed · Research-like output is cheap. A valid claim still needs evidence that can show it is wrong.", "url": "https://christophermeiklejohn.com/series/the-machine-in-the-lab/science-at-llm-speed/", "published_at": "2026-08-15T18:00:00+00:00" }, { "id": "01a0875f-e93a-7027-b89e-d35ceddb251b", "title": "One Writer · Our tools assume one writer, and assume that writer is a human. Nothing computes what a change reads and writes at runtime, so the only known fix is brute force priced for organizations.", "url": "https://christophermeiklejohn.com/ai/zabriskie/agents/reliability/testing/ci/distributed/2026/07/27/one-writer.html", "published_at": "2026-07-27T02:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298643d5c7e8", "title": "The Hard Call Is the Whole Job · A cancelled flight, three confident machines, and the woman on the Hilton Diamond line who refused to stop.", "url": "https://christophermeiklejohn.com/ai/personal/agents/reliability/testing/2026/07/08/the-hard-call-is-the-whole-job.html", "published_at": "2026-07-08T19:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298643d9acb0", "title": "The App That Lives Between Shows", "url": "https://christophermeiklejohn.com/ai/zabriskie/development/2026/06/30/the-app-that-lives-between-shows.html", "published_at": "2026-06-30T19:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29864477bc11", "title": "The Test Suite Was the Incident · A night of brittle fixtures, 49 failed CI runs, and an expensive lesson about what happens when AI agents write the test suite and nobody owns the test data.", "url": "https://christophermeiklejohn.com/ai/zabriskie/agents/reliability/testing/2026/06/10/the-test-suite-was-the-incident.html", "published_at": "2026-06-10T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298644ee1eaa", "title": "Rift · For thirty years I programmed with Phish on, every day. In 2026, the music is out of phase with the work.", "url": "https://christophermeiklejohn.com/ai/personal/phish/flow/agents/2026/05/03/rift.html", "published_at": "2026-05-03T09:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298645a00d56", "title": "Babysitting the Agent · Two weeks in, even with all the hooks I've built, working with the agent has become a chore. Every shipped feature ends with me clicking through it to find out what didn't actually work.", "url": "https://christophermeiklejohn.com/ai/zabriskie/agents/reliability/2026/05/03/click-the-button.html", "published_at": "2026-05-03T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298645cf257e", "title": "Getting Up to Speed on Multi-Agent Systems, Part 8: Open Questions", "url": "https://christophermeiklejohn.com/ai/agents/mas-series/2026/05/01/mas-series-08-open-questions.html", "published_at": "2026-05-01T12:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298646b6a631", "title": "Getting Up to Speed on Multi-Agent Systems, Part 7: Benchmarks and What They Miss", "url": "https://christophermeiklejohn.com/ai/agents/mas-series/2026/04/30/mas-series-07-benchmarks.html", "published_at": "2026-04-30T12:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-2986477d7d7b", "title": "Getting Up to Speed on Multi-Agent Systems, Part 6: Verification Patterns", "url": "https://christophermeiklejohn.com/ai/agents/mas-series/2026/04/29/mas-series-06-verification-patterns.html", "published_at": "2026-04-29T12:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-2986479b25bc", "title": "Getting Up to Speed on Multi-Agent Systems, Part 5: Debate, State, and Coordination", "url": "https://christophermeiklejohn.com/ai/agents/mas-series/2026/04/28/mas-series-05-debate-state-coordination.html", "published_at": "2026-04-28T12:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298647eb099c", "title": "Getting Up to Speed on Multi-Agent Systems, Part 4: Wave 2 (Why It Breaks)", "url": "https://christophermeiklejohn.com/ai/agents/mas-series/2026/04/27/mas-series-04-wave-two.html", "published_at": "2026-04-27T12:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29864894b06a", "title": "Spring Tour Recap: A Month of Shipping on Zabriskie", "url": "https://christophermeiklejohn.com/ai/zabriskie/development/2026/04/26/spring-tour-recap.html", "published_at": "2026-04-26T19:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298649708f36", "title": "Getting Up to Speed on Multi-Agent Systems, Part 3: Wave 1 (Can Agents Coordinate At All?)", "url": "https://christophermeiklejohn.com/ai/agents/mas-series/2026/04/26/mas-series-03-wave-one.html", "published_at": "2026-04-26T12:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298649e4c836", "title": "Getting Up to Speed on Multi-Agent Systems, Part 2: The Vocabulary", "url": "https://christophermeiklejohn.com/ai/agents/mas-series/2026/04/25/mas-series-02-the-vocabulary.html", "published_at": "2026-04-25T12:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29864ae1d79c", "title": "Getting Up to Speed on Multi-Agent Systems, Part 1: The Landscape", "url": "https://christophermeiklejohn.com/ai/agents/mas-series/2026/04/24/mas-series-01-the-landscape.html", "published_at": "2026-04-24T06:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29864b2b5246", "title": "The Tribe Has to Outlive the Model · Five model swaps in three weeks taught me the project's continuity lives in the humans and conventions around the agents, not the agents themselves.", "url": "https://christophermeiklejohn.com/ai/zabriskie/agents/reliability/2026/04/23/the-tribe-has-to-outlive-the-model.html", "published_at": "2026-04-23T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29864c0c2915", "title": "The Tax on the Happy Path · What I learned by removing the elaborate CI gate I'd built to slow my AI agents down — after realizing it had never actually caught anything.", "url": "https://christophermeiklejohn.com/ai/zabriskie/agents/reliability/caucus/2026/04/21/the-tax-on-the-happy-path.html", "published_at": "2026-04-21T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29864cc9c751", "title": "Opt-In Isn't a Guardrail · A CI gate I built to slow AI agents down passed every paperwork check, missed every real bug, and blocked the rollback during a production outage.", "url": "https://christophermeiklejohn.com/ai/zabriskie/agents/reliability/caucus/2026/04/14/opt-in-isnt-a-guardrail.html", "published_at": "2026-04-14T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29864d18f84c", "title": "The Structural Engineer's Other Job · AI-generated code increasingly passes review and tests but ships half-working features. What humans have to check for instead.", "url": "https://christophermeiklejohn.com/ai/verification/zabriskie/agents/2026/04/09/the-structural-engineers-other-job.html", "published_at": "2026-04-09T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29864da6f084", "title": "Caucus V1: Cursor Background Agents and a Multi-Agent Workflow That Actually Loops", "url": "https://christophermeiklejohn.com/ai/agents/reliability/zabriskie/2026/04/08/cursor-agents-caucus-v1.html", "published_at": "2026-04-08T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29864dfe0487", "title": "The Feature That Has Never Worked · A broken auto-live poller, and what perceived urgency does to Claude Code", "url": "https://christophermeiklejohn.com/ai/zabriskie/reliability/2026/04/03/the-feature-that-has-never-worked.html", "published_at": "2026-04-03T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29864eaad683", "title": "Software Engineering Is Becoming Civil Engineering", "url": "https://christophermeiklejohn.com/ai/engineering/2026/04/01/software-engineering-is-becoming-civil-engineering.html", "published_at": "2026-04-01T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29864f3b144e", "title": "Multi-Agent Systems Have a Distributed Systems Problem", "url": "https://christophermeiklejohn.com/ai/agents/distributed/zabriskie/2026/03/30/multi-agent-systems-have-a-distributed-systems-problem.html", "published_at": "2026-03-30T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29864fb35c4b", "title": "The Show Is Happening Right Now and Nothing Works", "url": "https://christophermeiklejohn.com/ai/zabriskie/development/2026/03/29/the-show-is-happening-right-now-and-nothing-works.html", "published_at": "2026-03-29T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29864fc43772", "title": "Memory Isn't Learning", "url": "https://christophermeiklejohn.com/ai/zabriskie/development/2026/03/27/memory-isnt-learning.html", "published_at": "2026-03-27T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298650973f79", "title": "Finding Safe Food on the Road", "url": "https://christophermeiklejohn.com/ai/development/claude/2026/03/23/finding-safe-food-on-the-road.html", "published_at": "2026-03-23T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298651185328", "title": "Teaching Claude to QA a Mobile App", "url": "https://christophermeiklejohn.com/ai/zabriskie/development/android/ios/2026/03/22/teaching-claude-to-qa-a-mobile-app.html", "published_at": "2026-03-22T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-2986518dd06a", "title": "What Building With Claude Actually Looks Like", "url": "https://christophermeiklejohn.com/ai/zabriskie/development/2026/03/20/what-building-with-claude-actually-looks-like.html", "published_at": "2026-03-20T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298651b1fe6d", "title": "Why I'm Building Zabriskie", "url": "https://christophermeiklejohn.com/ai/zabriskie/community/2026/03/08/why-im-building-zabriskie.html", "published_at": "2026-03-08T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298651edd78c", "title": "Claude Tested Everything Except the One Thing That Mattered", "url": "https://christophermeiklejohn.com/ai/claude/2026/03/08/claude-tested-everything-except-the-one-thing-that-mattered.html", "published_at": "2026-03-08T00:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29865230575a", "title": "Ten Years of Lasp", "url": "https://christophermeiklejohn.com/lasp/distributed/2026/03/01/ten-years-of-lasp.html", "published_at": "2026-03-01T08:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298652ecc762", "title": "I Built a Social App in a Week with Claude Code", "url": "https://christophermeiklejohn.com/ai/claude/2026/02/17/building-a-social-app-in-a-week-with-claude-code.html", "published_at": "2026-02-17T08:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298653483ae4", "title": "Filibuster 2.0: Byzantine Fault Injection with Hardcoded Fault Values", "url": "https://christophermeiklejohn.com/filibuster/2023/09/09/filibuster-2.0-byzantine-hardcoded.html", "published_at": "2023-09-09T08:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298653b1f89d", "title": "Filibuster 2.0: Coaching UI", "url": "https://christophermeiklejohn.com/filibuster/2023/09/08/filibuster-2.0-coaching.html", "published_at": "2023-09-08T08:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298654a5eb4d", "title": "Filibuster 2.0: Byzantine Fault Injection with Arbitrary Faults", "url": "https://christophermeiklejohn.com/filibuster/2023/09/07/filibuster-2.0-byzantine-arbitrary.html", "published_at": "2023-09-07T08:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-2986550c0f21", "title": "Filibuster 2.0: Computing API coverage of a Microservice Application", "url": "https://christophermeiklejohn.com/filibuster/2023/09/06/filibuster-2.0-API-coverage.html", "published_at": "2023-09-06T08:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298655d0f61a", "title": "Filibuster 2.0: Microservice Linter, Multiple Invocations to the Same RPC Method", "url": "https://christophermeiklejohn.com/filibuster/2023/09/05/filibuster-2.0-multiple.html", "published_at": "2023-09-05T08:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298656935938", "title": "Filibuster 2.0: Microservice Linter, Requests become part of a Response", "url": "https://christophermeiklejohn.com/filibuster/2023/09/04/filibuster-2.0-request-response.html", "published_at": "2023-09-04T08:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-2986571ba5a0", "title": "Filibuster 2.0: Microservice Linter, Redundant RPCs", "url": "https://christophermeiklejohn.com/filibuster/2023/09/03/filibuster-2.0-redundant.html", "published_at": "2023-09-03T08:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29865753515a", "title": "Filibuster 2.0: Improved UI", "url": "https://christophermeiklejohn.com/filibuster/2023/09/02/filibuster-2.0-02-user-interface.html", "published_at": "2023-09-02T10:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-2986576a1fb4", "title": "Filibuster 2.0: Healthcheck your Functional Test Suite with API Coverage", "url": "https://christophermeiklejohn.com/filibuster/2023/09/02/filibuster-2.0-01-healthcheck.html", "published_at": "2023-09-02T09:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29865776ff1c", "title": "Filibuster 2.0: Redis Fault Injection", "url": "https://christophermeiklejohn.com/filibuster/2023/09/01/filibuster-2.0-redis-fault-injection.html", "published_at": "2023-09-01T10:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-298657d73cd7", "title": "Filibuster 2.0: Introducing the new version of Filibuster", "url": "https://christophermeiklejohn.com/filibuster/2023/08/31/filibuster-2.0-release.html", "published_at": "2023-08-31T10:00:00+00:00" }, { "id": "01a0875f-e93b-70e3-b861-29865861d68e", "title": "Filibuster 2.0: Developer Tooling as a Childhood Dream", "url": "https://christophermeiklejohn.com/filibuster/2023/08/30/filibuster-2.0-building-developer-tools.html", "published_at": "2023-08-30T11:00:00+00:00" } ] posts Claim your blog
Back to Christopher Meiklejohn
Blog · corpus.blog/blogs/christophermeiklejohn.com/posts

Christopher Meiklejohn

christophermeiklejohn.com

2026

2023