The bullet journal

BLOG

Notes, half-formed arguments, build logs, and the occasional coherent thought. Basically where the rambling goes once it seems useful enough to leave in public.

JUL20263 entries
#021article07/29/26

MCP cut the session cord

MCP's July 28 rewrite removes protocol sessions and makes each request self-describing. That's a real deployment win. It also hands retries, state ownership, compatibility, and cleanup back to the application.

#DIY Agent
#020article07/24/26

The Project Is Still the Curriculum

Agents can remove implementation toil without removing learning. The project changes shape: prediction, evidence, investigation, and the consequential seams you decide to own.

#DIY Agent#Traceability
#019article07/21/26

Token laundering and the benchmark that escaped

An agent split an auth token into pieces so a scanner could not see it. Every fragment passed. The sequence rebuilt the credential anyway.

#DIY Agent#Traceability
MAY20263 entries
#018article05/13/26

Spec-driven agents need valves, not cages

Strict specs are great when the target is known. They get expensive when the spec quietly prevents the agent from finding the target.

#DIY Agent
#017article05/11/26

Git tells you what. The trace tells you why.

Git can show what changed. It cannot tell you which prompt, model, tool failure, or review decision made the line exist. That missing join is the point.

#DIY Agent#Traceability
#016share05/05/26

When orchestration becomes the brittle layer

On three procedural domains (travel, Zoom support, insurance), serializing the full workflow into the system prompt beat LangGraph orchestration on success rate AND consistency. Higher tokens per conversation, fewer LLM calls, better outcomes. Scope-limited to procedural workflows but the direction is clear.

APR20268 entries
#015share04/30/26

Building Pi, and the case for slowing down

A Pragmatic Engineer conversation about building Pi and self-modifying software. What stuck with me was the discipline of slowing down, and that "saying 'no' a lot is how we keep complexity down."

#014article04/26/26

The write path is the architecture

Retrieval is only the read path. The dangerous architecture lives in write-back: which observations become claims, which claims become canon, and who gets to approve the transition.

#Memory#DIY Agent#Traceability
#013share04/22/26

Coding agents are not product agents

Ethan's framing for why a perfectly capable coding agent still doesn't ship a perfectly good product. The gap is taste and product judgement, not capability — and that's not the gap the harness can close for you.

ETHANDING.SUBSTACK.COMOpen
#012share04/20/26

9B Qwen beats GPT-4.5 — when the scaffold is right

Itay's whitepaper for little-coder. Same Qwen3.5-9B model: 19% on Aider Polyglot inside Aider's scaffold, 45% inside little-coder's. That second number beats GPT-4.5-preview (44.9%) and GPT-OSS-120B (41.8%) — on a consumer laptop, no cloud inference.

ITAYINBARR.SUBSTACK.COMOpen
#011share04/10/26

hindsight — learn, not just remember

Memory service that explicitly separates world facts, observations, experience facts, and mental models — then runs TEMPR retrieval (semantic + BM25 + graph + temporal in parallel) and a CARA reflection step on top. Local Docker stack, Python/Node SDKs, MIT.

#010share04/09/26

Memory is also about forgetting

Portable memory layer for CLI/coding agents. SQLite backbone with markdown + YAML mirrors that you can actually inspect with `cat`. The interesting primitives aren't the storage — they're the lifecycle: half-life decay, retrieval strengthening, sleep consolidation, conflict tracking.

#009share04/04/26

pi-mono — minimal agent substrate by Mario Zechner

The monorepo behind pi — minimal AI agent toolkit with a unified multi-provider LLM API and an extension model that lets you reshape the scaffold without forking the runtime. Mario also built libGDX years ago, which is its own kind of recommendation.

#008article04/03/26

Context Is the Constraint

Capability stopped being the bottleneck a while ago. The hard part now is routing the right context to the right task without blowing up the window — and that's a job for the harness, not the model.

#DIY Agent
SEP20211 entry
#007case study09/15/21

typeline

A typing test obsessed with flow state. Custom React engine, motion-design feedback borrowed from arcade games, and a roadmap toward head-to-head races.

MAY20201 entry
#006case study05/31/20

Manulife Mobile

Co-op designer on a four-person team rebuilding the Manulife Mobile group retirement experience for iOS + Android — reinstating UX practices and establishing patterns for remote usability testing.

JAN20201 entry
#005case study01/15/20

donovanyohan.com v1

A portfolio platform built in Next.js to convince a recruiting manager I know what I'm doing — design brief, succinct content system, and bright yellow highlighter accents borrowed straight from my research notes.

DEC20191 entry
#004case study12/15/19

shop.donovanyohan.com

A small storefront for custom apparel — selling self-designed pieces and offering commission work for collaborators who want a one-off design or bring their own.

SEP20191 entry
#003case study09/30/19

The Co-operators Mobile

Full-stack mobile co-op working alongside a UI/UX team — growing as a developer while learning the UX process and contributing motion-graphics work to the team's release builds.

JAN20191 entry
#002case study01/15/19

flowr

A student-built organizational tool that turns my own scheduling frustration into a research artefact — using a UX student as a real research resource for the first user-centered project I ever shipped.

JUN20141 entry
#001case study06/01/14

Freelance Graphic Design

A long tail of logo, promotional, and apparel design for clubs, competitions, and small clients — collected as a gallery of marks that span a decade of side work.