I pointed my own RAG engine at my own writing and it buried the right answer under a Rust memory cheatsheet. The cause was one word of Rust. Here's the diagnosis, the one-word fix, and the before/afte…
I used an agent harness — 78 docs, six agents — to build a RAG engine, and the git log shows it worked. The engine itself has only ever indexed its own source. Harness engineering from the receipts, n…
Markdown context is great until a team needs it to stay fresh and shareable. Context Harness is my database-shaped bet on that problem — a work in progress I'm dogfooding, and reasoning through in pub…
A field guide to running real databases in the browser — SQLite-WASM, DuckDB, PGlite, and SurrealDB — plus the local-first movement and the search tradeoffs behind them.
We decided 'dynamic website' had to mean megabytes of JavaScript framework and a server to feed it. This series is about a heresy: a static site can be genuinely dynamic, with a real database doing th…
An honest writeup of running SurrealDB in the browser — not for search, but to get dynamic application state out of a static site generator on free hosting, with no SPA and no heavy JS framework. The …
New parents get a lot of advice about sleep. What they don't get is a baseline. Is my kid sleeping a normal amount? Is the longest stretch actually getting longer, or do I just feel like it does at 3a…
Local-first RAG engine in Rust — SQLite, hybrid search, Lua extensions, and an MCP server that hands your context to any AI tool.
Eight hex-chess variants in Rust/Bevy, compiled to WASM, with serverless WebRTC peer-to-peer multiplayer.
I've been running coding agents against real work for a while now, and the thing nobody warns you about is the output tax. Every time the agent runs git status, cargo test, or aws lambda list-function…
As an engineer, the context you need to do your job is scattered across a dozen systems: decisions made in chat threads, the why behind a change buried in a pull request, design rationale in a wiki pa…
Curated Claude agent skills shipped across my fleet as a Nix flake input via home-manager — version-pinned, reproducible.
A note from later. This is the original, o1-era plan for running SurrealDB in the browser — written more confidently than the code deserved. Much of it (the BM25 full-text index, the page table, the l…
A Bash script that scaffolds a new Zola post — generating the frontmatter, date, and slug from the title so a fresh draft is one command.
Creating an RSS Feed LinkedIn Publishing Pipeline In this post, we will walk through creating a fully automated pipeline that reads an RSS feed and publishes updates directly to LinkedIn. This involve…
Mastering C with Effective C: Introduction to Makefiles Introduction Welcome to the first post in the "Mastering C with Effective C" series! In this post, we'll explore the basics of Makefiles and how…
Upgrading Your C Project Build to Use Nix Flakes: A Modern Guide Hello again, fellow C enthusiasts! In our previous blog post, we explored building a C program with external library dependencies using…
Welcome, fellow C enthusiasts, to a whimsical journey through the world of library dependencies in C programming! This is the second post in the series "Mastering C with Effective C" series! Not at a…
The index for my Mastering C series — working through Robert Seacord's Effective C as a Rust dev before moving on to Zig.
Graph Algorithms in Rust: Breadth First Search (BFS) coming soon Reference Implementations HTTrack Cyotek WebCopy Content Grabber ParseHub OutWit Hub spidy Evine https://github.com/rivermont/spidy h…
Part 2 in the series Graph Algorithms, Implementing Breadth First Search (BFS) in Typescript. For a primer on BFS and it's applications and procedure, read Part 1: Graph Algorithms: Breadth First Sear…
The companion repo for this post can be found here: This is a post detailing my progress on building an Emulator in Rust. This isn't something I'm building from scratch, but in pursuit of learning rus…
A no-frills link-in-bio landing page — HF/ham radio contacts, Keybase verification, payment info, and a pointer to the devlog.