Skip to content

Blog

Writing on software, open source, and engineering.

Where Retrieval Stops Being Enough for Agent Memory

Similarity search fails agent memory in two specific ways. Here's how Cascade fixes both, including the RRF fusion code and why recency is a retrieval channel instead of a filter.

airagretrieval

Cascade Today: An All-in-One Layer for Claude Code

Routing, retrieval, and memory around a coding agent. The tier system that picks the cheapest capable model, why the RAG index degrades gracefully, and what a month of building it settled.

cascadeairust

Starting Cascade: Early Lessons Extending Claude Code

Cascade began as scripts to paper over my own problems with Claude Code. Four lessons from the first month, including why multi-account routing is a bookkeeping problem and why the daemon changed the whole design.

cascadeaiclaude-code

From ML Experiments to Production AI: My Journey

Two decades of systems engineering, then AI. The gap between a working notebook and a running service never closed, it moved. And the skills that close it are not machine learning skills.

aimlproduction

Core and Plugins: Drawing nSelf's Extension Boundary

Splitting a monolithic CLI into a core plus 60 plugins. Schema ownership in a shared Postgres, a declared capability model, and what has to be true before a plugin economy can exist at all.

nselfgoarchitecture

Building a Self-Hosted Backend: The nSelf Journey

It started as a 200-line deploy script and became a 248-command Go CLI. What actually made self-hosting viable was not the containers, it was backup drills, health gates, and refusing to have a broken middle state.

nselfgoself-hosted

React at Scale: Lessons from Enterprise Applications

Enterprise React for Apple, Capgemini, and Northrop Grumman. The 2.8MB bundle we cut to 400KB, why it got that way structurally, and the state management rule that actually holds up.

reacttypescriptperformance

The Evolution of PHP: From Personal Home Pages to Modern Enterprise

Fifteen years shipping PHP, including the PHP 7 migration. What the Zend Engine rewrite actually did to get 2x throughput at half the memory, and what maintaining backward compatibility at that scale costs.

phpperformancemigration

Why Node.js Changed Everything for Full-Stack Developers

I moved my primary stack from PHP to Node in 2014, before that was a safe call. What the event loop actually changes about system design, and the failure mode nobody warns you about.

nodejsjavascriptarchitecture