All blog posts in reverse chronological order.
-
TBT #10: Mass Compile and PL/EDIT --- 1980s Productivity Tools, Reborn on COR24 PL/SW
(Throwback Thursday)
April 30, 2026
2353 words • 12 min read • Abstract
In the 1980s, I worked at IBM on PL/X systems code for an MVS/ESA time-sharing service called AQ --- hundreds of developers editing source on green-screen 3270 terminals, submitting batch compile jobs, sometimes waiting an hour for results. Two colleagues built productivity tools that absolutely changed the workflow: PL/EDIT, a template-driven editor that expanded common PL/X forms via hotkeys long before IDEs or Emacs were common, and Mass Compile, a batch-queue scheduler that let you submit compile jobs for code you had not written yet. Both have just landed in my COR24 PL/SW live demo. This post tells the original story and shows what was rebuilt.
-
Bucket List #3: 3D Source Code, Five New Languages, and Visible Compilers
(Bucket List)
April 30, 2026
2876 words • 15 min read • Abstract
Three threads winding through the next chunk of the bucket list. First, source code in three dimensions: punch cards were 1D, screens are 2D, DiscoveryOne projects glyphs at (x, y, z) onto seven semantic facets. Second, five programming languages of my own currently in flight --- PL/SW, SWS, sw-MLPL, Tuplet, and DiscoveryOne --- each picking a different point on the build-axis / run-axis space. Third, the missing tool category that would tie all the language work together: educational visualizers that let you *watch* a compiler run --- step through a lexer, animate a parser, observe register allocation, see a heap fill and a garbage collector reclaim it, watch a JIT tier up. Most CS students never see any of this. They read about it. I want to build the surface that lets them watch.
-
Personal Software #9: Vibe-Maintenance --- When AI Agents Don't Just Write Code, They Fix Bugs
(Personal Software)
April 29, 2026
2523 words • 13 min read • Abstract
The corollary to vibe-coding is vibe-maintenance --- AI agents not just writing new code, but fixing bugs in the constellation of demos, compilers, interpreters, and runtimes that the lab has accumulated. Twenty-eight sw-embed repos closed 141 issues in eighteen days. The web-sw-cor24-demos Status tab visualizes that activity as a closed-issues heatmap and a commit heatmap, alongside repo-level Try-it / In-dev badges. The post walks through the four bug-fix patterns the activity reveals (capacity-limit bumps, subtle codegen bugs, surface-level language features rolling in, and cross-cutting tooling bugs), and the human skill the cadence does not eliminate: writing an issue title that names the symptom precisely enough for the agent to act on it.
-
Personal Software #8: One Ring to Rule Them All --- sw-launcher's Memory Profiles, Heap Budgets, and a Working Scenario A
(Personal Software)
April 28, 2026
4405 words • 23 min read • Abstract
Thirteen sw-embed repos --- BASIC, Forth, OCaml, Pascal, PL/SW, Smalltalk, Tuplet, Macrolisp, Snobol4, APL, plus the resident-shell trio of monitor/script/yocto-ed --- each invented their own way to load code, runtime, source, and data into the COR24 emulator. The first sw-launcher schema (v1.1) tried to canonize their layout with a fixed 8 x 128 KiB partition grid; the second (v1.2) threw the grid out and replaced it with named memory profiles plus a `heap_justification` block, because the survey's real finding was not that the layouts varied --- it was that several of them were leaking. Phase 1 is shipped: `sw-launch run echo` actually exits 0 and prints "A" through the captured UART of a real `cor24-run` process. The post walks through both schema revisions, the memory-stance reversal that drove v1.2, and what works end-to-end today.
-
Dogfooding #1: YAGNI Until You Do --- A Pascal P-Code Bump Allocator Grows a Free List
(Dogfooding)
April 27, 2026
1527 words • 8 min read • Abstract
First post in a new Dogfooding series. The Pascal p-code VM shipped with a bump allocator and a no-op free --- enough for small demos, intentionally not more. Then OCaml-in-Pascal (used to write the Tuplet lexer/parser) ran out of heap mid-parse, even after re-doubling the heap twice. YAGNI worked right up until I needed it. This post is about that crossing-over moment: what the bump allocator bought, what it cost, and what reclaim looks like when it finally has to ship.
-
AI Tools #3: sw-checklist --- Reining In AI Coding Agents With a Code-Metrics Ratchet
(AI Tools)
April 27, 2026
1695 words • 9 min read • Abstract
sw-checklist is a personal-software Rust CLI I wrote to rein in AI coding agents: function/file/module/crate size limits enforced as warnings and failures. The post threads Brooks (essential vs accidental complexity) and Hickey (simple vs easy, complect vs decomplect) through that tool. The metrics are an accidental cost, but they pay rent --- AI agents that started out reacting to violations eventually anticipate them, and the long-run code stays focused on essential complexity. The metaphor for tech debt is a ratchet: clicks back are sometimes allowed, but the wrench only turns one way.
-
Saw #8: Tuplet, Smalltalk-on-BASIC, Forth-from-Forth, sw-MLPL Split, and I2C on COR24
(Sharpen the Saw Sundays)
April 26, 2026
2481 words • 13 min read • Abstract
Tuplet is a new experimental PoC language with significant whitespace and glyphs, set up as a playground for future language experiments---and the reason for installing Espanso and configuring Emacs as a shared glyph-input layer (also useful for GNU APL). An integer/toy Smalltalk written in COR24 BASIC works as a forcing function for BASIC; Tuplet plays the same role for OCaml and Forth. A new Forth-from-Forth runs in the browser via WASM. sw-MLPL splits into Linux/CUDA, Mac/MLX, and Web UI repos after its build dir crossed 35 GB. The COR24 emulator gains I2C support with examples, and the demo site's Status tab tracks the new languages with commits and issues.
-
Rabbit-hole #5: FORTH --- Retargetable Codegen and the Forward-Reference Problem
(Down the Rabbit-Hole)
April 26, 2026
1278 words • 7 min read • Abstract
After dictionary compaction turns one Forth source tree into different vertical profiles, the next rabbit trail goes horizontal: how does the same self-hosted Forth compiler target COR24, WASM, RV32I, or S/360 without forking the language, and how do forward references and mutually recursive words survive that split?
-
Rabbit-hole #4: FORTH --- Dictionary Compaction and Specialized Images
(Down the Rabbit-Hole)
April 25, 2026
2066 words • 11 min read • Abstract
After optimizing FIND (rabbit-hole 2 and 3), the next move is to eliminate FIND entirely for deployment. This post walks the jump from dev image to runtime image: pruning shadowed redefinitions, dropping the compiler/REPL/instrumentation for production builds, and the pointer-rewriting work that actually makes compaction safe. Frames the whole thing as a Forth composer — one small core plus pluggable feature modules plus target profiles.
-
Rabbit-hole #3: FORTH --- Life After Hashing
(Down the Rabbit-Hole)
April 24, 2026
1951 words • 10 min read • Abstract
Phase 4 of the COR24 Forth ships without the XMX hash. What replaces it? A layered set of cheap optimizations --- numeric fast path, recent-hit cache, hot-token cache --- that target the interactive hot path without rebuilding the hash subsystem. Plus the instrumentation you need to know which words to actually cache.
-
Large-Language-Monkeys: Scaling Inference, Not Models
(Machine Learning)
April 24, 2026
2009 words • 11 min read • Abstract
Brown et al. (2024) show that repeatedly sampling a small model --- and letting an automatic verifier pick the best candidate --- can beat single-shot frontier models at a fraction of the cost. DeepSeek-Coder-V2-Instruct jumps from 15.9% to 56% on SWE-bench Lite with 250 samples. Coverage scales log-linearly across four orders of magnitude. This post walks the paper, reproduces the shape of the result on an 8B vs 70B binary_search demo, and asks what changes when inference itself is the scaling axis.
-
Rabbit-hole #2: FORTH --- FIND and the Cost of a Name
(Down the Rabbit-Hole)
April 23, 2026
2227 words • 12 min read • Abstract
A rabbit hole on FORTH, following the phase-4 direction set out in the self-hosting spectrum post. Dictionary lookup is the price Forth pays for readability: this post walks through what FIND does, how the all-asm kernel made it fast with a 2-round XMX hash and a 1-entry lookaside cache, and why phase 4 (forth-from-forth) is dropping the whole subsystem now that FIND lives in high-level Forth.
-
ML Frontier #05: Grokking --- Delayed Generalization
(Machine Learning Frontier)
April 23, 2026
835 words • 5 min read • Abstract
Train a small network past the point of zero training loss and sometimes --- thousands of steps later --- test accuracy suddenly jumps from random to near perfect. The model didn't just memorize; it discovered the rule. This is grokking, and the research explaining it reframes generalization as a phase transition.
-
AI Tools #2: AgentRail Mid-Saga --- Insert, Reorder, Reopen, Recover
(AI Tools)
April 23, 2026
1608 words • 9 min read • Abstract
Sagas assume linear plans. Daily use across parallel repos assumes surprises. The April AgentRail features --- insert/reorder/reopen, audit/snapshot, maintenance mode --- are what you only design after you actually live with the tool.
-
Embedded #3: How Much of Forth Can Be Forth? A Kernel Self-Hosting Spectrum
(Embedded)
April 20, 2026
6918 words • 35 min read • Abstract
How much of a Forth kernel can be written in Forth instead of assembly? Four points along that spectrum, from a 3000-line all-asm kernel to a Forth-hosted cross-compiler that emits its own .s file. This post walks through phase 1 (all-asm), phase 2 (forth-in-forth, shipped with XMX-hashed FIND and a 1-entry lookaside cache), phase 3 (forth-on-forthish, first two subsets shipping — ,DOCOL plus Forth : and ;), and phase 4 (forth-from-forth, future). Plus the performance work — hashing, cache, adaptive web pump-loop, build-time snapshot.
-
Saw #7: Prolog, Many-Agent Isolation, Self-Hosting Assembler, and MLPL
(Sharpen the Saw Sundays)
April 19, 2026
1899 words • 10 min read • Abstract
Rust-to-Prolog solves the classic Lion and Unicorn logic puzzles---a reference implementation that sets up a self-hosting COR24 port: PL/SW for the WAM-style runtime, SNOBOL4 for the lexer and parser. All-Together-Now scales to many concurrent agents with mosh, tmux, and per-user isolation on Arch Linux. The COR24 assembler begins self-hosting. sw-MLPL advances in parallel.
-
TBT #9: UNIVAC Startrek, TRS-80 Adventures, and COR24 BASIC
(Throwback Thursday)
April 16, 2026
1467 words • 8 min read • Abstract
Three BASIC games from three eras---UNIVAC 1108 Startrek whose Red Alert bell telegraphed Klingon encounters across the teletype room, a 1980s Trek text adventure typed in from a magazine listing on a TRS-80, and Robot Chase added at a friend's request---all running in the browser on an emulated COR24 integer BASIC implemented on a p-code VM written in Pascal.
-
Saw #6: Agent Coordination, Fuzzing Tests, Vendoring, and Emacs Graphics
(Sharpen the Saw Sundays)
April 12, 2026
1331 words • 7 min read • Abstract
All Together Now gained a multi-panel Web UI for coordinating Claude Code and opencode/GLM-5 agents. Fuzzit became an LLM-guided fuzzing tool that stress-tests CLIs and APIs. Vendoring in the COR24 compiler chain lets PL/SW and SNOBOL4 evolve independently. Emacs Graphics brings PaperBanana-styled SVG charts, menus, and presentations to Emacs buffers.
-
Saw #5: Sagas, Languages, and Compiler Chains
(Sharpen the Saw Sundays)
April 5, 2026
1233 words • 7 min read • Abstract
Agentrail-rs gained saga archiving for multi-saga projects. Meanwhile, a new ML language (MLPL) took shape, PL/SW got macros, and two compiler-chain fixes unblocked APL and BASIC on COR24.
-
Bucket List #2: A Landing Page for Software Tools
(Bucket List)
April 3, 2026
1101 words • 6 min read • Abstract
Two weeks of vibe-coding with agentrail-rs produced a landing page for the COR24 Software Tools ecosystem---a portfolio of bucket list items that are actually getting done: a Lisp with garbage collection, a p-code VM, two programming languages, a monitor, an editor, and more.
-
Saw #4: All Together Now --- Emacs Meets the Multi-Agent Orchestra
(Sharpen the Saw Sundays)
March 29, 2026
1237 words • 7 min read • Abstract
Two CLI tools got full Emacs packages this week---pjmai-rs for project navigation and reg-rs for regression testing. Meanwhile, a new multi-agent Program Manager called All Together Now went from zero to four phases: PTY orchestration, web dashboard, and wiki-based agent coordination.
-
TBT #8: wiki-rs --- Six Wikis, One Engine, Thirty Years of History
(Throwback Thursday)
March 26, 2026
1479 words • 8 min read • Abstract
Six wiki implementations in Rust, tracing thirty years of storage evolution from flat files to git commits. What started as a throwback project became infrastructure for multi-agent AI coordination---with a Compare-and-Swap API that lets multiple AI agents safely share state through wiki pages.
-
ML Frontier #04: Is Chain of Thought Real?
(Machine Learning Frontier)
March 23, 2026
1201 words • 7 min read • Abstract
Chain of Thought prompting transformed AI reasoning in 2022. By 2026, the frontier has shifted from making CoT better to asking whether it reflects real reasoning at all---and when step-by-step thinking helps versus hurts.
-
Saw #3: agentrail-rs --- From Walking Skeleton to Dual Memory
(Sharpen the Saw Sundays)
March 22, 2026
1357 words • 7 min read • Abstract
agentrail-rs went from walking skeleton to ICRL core loop, dual memory, distillation, and a hybrid orchestrator---all in one weekend. Next up: domain-specific Layer 2 repos, tested against three new projects that require C, Rust, Lisp, and Web UI skills.
-
Embedded #2: COR24-RS --- Learn Assembly in Your Browser
(Embedded)
March 22, 2026
1943 words • 10 min read • Abstract
A Rust-based browser emulator for the COR24 instruction set architecture. Three tabs---Assembly, C, Rust---all running on the same COR24 CPU in your browser. Includes interactive tutorials, coding challenges, animated tours, self-test mode, realistic UART timing, and a complete ISA reference. No installation required.
-
Bucket List #1: Things I've Always Wanted to Build
(Bucket List)
March 21, 2026
1003 words • 6 min read • Abstract
A lifelong list of technical things I always wanted to learn and build---too busy during my career, too hard before AI. Now retired, I'm working through them for fun, no deadlines. This is the introduction to the list.
-
TBT #7: reg-rs - Regression Testing from C++ to Java to Rust
(Throwback Thursday)
March 19, 2026
2047 words • 11 min read • Abstract
reg-rs is a Rust CLI that captures command output as golden baselines and detects regressions on re-run. A clean-room rewrite of a tool I first used at Forte Software in 2000, later reimplemented as jregress at Sun (still maintained at Oracle), and now open-sourced in Rust with shell aliases, text-based test files, and AI-assisted test creation and maintenance.
-
ML Frontier #03: Structure Beats Scale --- Knowledge Graphs and Domain-Specific Superintelligence
(Machine Learning Frontier)
March 19, 2026
707 words • 4 min read • Abstract
What if scaling AI didn't require bigger models---but better structure? Princeton research proposes Domain-Specific Superintelligence: smaller expert models grounded in Knowledge Graphs, where the graph itself serves as both curriculum and reward model for verifiable multi-hop reasoning.
-
Embedded #1: BMP280 Driver --- From Prototype to Patent Proof-of-Concept
(Embedded)
March 17, 2026
1192 words • 6 min read • Abstract
A no_std Rust driver for the BMP280 pressure sensor, extended to support dozens of sensors via I2C multiplexers for a patent proof-of-concept. The journey from single-sensor to multi-mux arrays, and the eventual upgrade to BMP581.
-
AI Tools #1: XSkill --- A Memory Layer for Multimodal Agents
(AI Tools)
March 17, 2026
584 words • 3 min read • Abstract
XSkill gives multimodal agents persistent memory---Skills for structured workflows and Experiences for tactical lessons---improving tool use by 2-6 points across five benchmarks without retraining.
-
ML Frontier #02: In-Context Reinforcement Learning
(Machine Learning Frontier)
March 16, 2026
823 words • 5 min read • Abstract
Transformers can learn reinforcement learning policies from trajectory examples in the prompt---no weight updates, no gradient descent. ICRL turns agents from amnesiacs into learners by injecting successful execution traces into context.
-
Saw #2: reg-rs, avoid-compaction, and agentrail-rs
(Sharpen the Saw Sundays)
March 15, 2026
1876 words • 10 min read • Abstract
Three Rust CLI tools getting foundational upgrades: reg-rs moves to git-friendly text-based test definitions, avoid-compaction structures multi-session AI workflows with saga/step handoffs, and agentrail-rs adds in-context reinforcement learning to push agent reliability from 75% toward deterministic.
-
Rabbit-hole #1: Poor Man's Rust-to-Unsupported-ISA Translator
(Down the Rabbit-Hole)
March 13, 2026
2797 words • 14 min read • Abstract
How to compile Rust for a CPU that rustc doesn't support---by targeting one it does. Uses MSP430 as a 16-bit stepping stone to generate code for the 24-bit COR24 RISC architecture, then traces the full pipeline from source to registers.
-
ML Frontier #01: Neural Collapse
(Machine Learning Frontier)
March 9, 2026
736 words • 4 min read • Abstract
Why do deep networks converge to elegant geometric structures? Neural collapse explains: during late training, class representations form a symmetric simplex structure. Research from 2024-2025 proves this is globally optimal in deep transformers and ResNets.
-
Saw #1: pjmai-rs, Rig, and langchain-rust
(Sharpen the Saw Sundays)
March 8, 2026
2775 words • 14 min read • Abstract
Sharpening the foundation: pjmai-rs gets critical Rust 2024 edition fixes and new features, plus a first look at Rig and langchain-rust---two Rust frameworks for building type-safe LLM agents and chain-based AI workflows.
-
pjmai-rs: Navigation History and Fuzzy Completion
(Personal Software)
March 7, 2026
594 words • 3 min read • Abstract
New pjmai-rs features: navigation history to revisit recent projects, smarter fuzzy tab completion, subdirectory navigation, and improved stack management. Building on the TBT post with practical workflow enhancements.
-
rank-wav: Ranking Audio Files by Acoustic Quality
(Personal Software)
March 6, 2026
996 words • 5 min read • Abstract
rank-wav is a Rust CLI that ranks WAV files by acoustic features like spectral centroid, bandwidth, and RMS energy. It computes 'pleasing' and 'best' scores to help you quickly triage audio samples, synthesis outputs, or sound design variants.
-
TBT #6: PJMAI-RS - A Shell That Knows Your Projects
(Throwback Thursday)
March 5, 2026
1918 words • 10 min read • Abstract
PJMAI-RS is a Rust CLI tool that maintains a registry of your projects and lets you switch between them instantly with short aliases. The clever part: it uses exit codes to signal a shell wrapper, allowing a subprocess to change your working directory.
-
Five ML Concepts - #30: The Journey So Far
(Five ML Concepts)
March 5, 2026
3559 words • 18 min read • Abstract
Episode 30 marks a milestone: 145 machine learning concepts covered across 30 episodes. From backpropagation to scaling laws, dropout to distribution shift, RAG to reward hacking. This retrospective celebrates the journey and announces what's next: Frontier ML Thinking—one concept, two minutes, deeper implications.
-
Five ML Concepts - #29
(Five ML Concepts)
March 4, 2026
462 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Neural Collapse (late-stage geometric convergence of class representations), Grokking (sudden generalization after prolonged memorization), SAM (optimizing for flat loss regions under perturbations), Mechanistic Interpretability (analyzing internal circuits of neural networks), Self-Training Instability (feedback loops that amplify errors in self-generated data).
-
Five ML Concepts - #28
(Five ML Concepts)
March 3, 2026
448 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Lottery Ticket Hypothesis (small winning subnetworks within large models), Sparse Activation (using only part of a model per input), Conditional Computation (dynamically routing inputs for efficiency), Inference Parallelism (distributing inference across devices), Compute Optimality (balancing model size, data, and compute).
-
How AI Learns Part 7: Designing a Continuous Learning Agent
(How AI Learns)
March 2, 2026
899 words • 5 min read • Abstract
A robust architecture: core model (rarely updated) + adapters (modular skills) + external memory (facts) + context manager (RLM-style) + logging and evaluation loop. Errors feed into memory first. Only recurring, validated improvements reach adapters.
-
Five ML Concepts - #27
(Five ML Concepts)
March 2, 2026
424 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Elastic Weight Consolidation (protecting important parameters during new task learning), Replay Buffers (mixing past examples to prevent forgetting), Parameter Routing (activating task-specific parameter subsets), Memory-Augmented Networks (external memory modules for neural networks), Model Editing (targeted weight updates without full retraining).
-
How AI Learns Part 6: Toward Continuous Learning
(How AI Learns)
March 1, 2026
696 words • 4 min read • Abstract
Continuous learning aims to absorb new information and skills over time without losing old capabilities. The key: learn often in memory, consolidate carefully in weights. Periodic consolidation, not constant updates.
-
Five ML Concepts - #26
(Five ML Concepts)
March 1, 2026
429 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Data Augmentation (expanding training data with transformations), Caching Strategies (reducing latency by reusing computation), Constitutional AI (training models to follow explicit principles), Goodhart's Law (optimizing metrics distorts objectives), Manifold Hypothesis (data lies on lower-dimensional structures).
-
music-pipe-rs: Web Demo and Multi-Instrument Arrangements
(Personal Software)
February 28, 2026
685 words • 4 min read • Abstract
Continuing the music-pipe-rs story: a web demo with Bach and Baroque arrangements, the seq command for explicit note sequences, and GarageBand integration. Plus the generative music resources that inspired this project.
-
Lucy 20%: Upgrading My Home AI Cluster
(General Technology)
February 28, 2026
905 words • 5 min read • Abstract
Expanding my home AI cluster from 10% to 20% brain power with a new X99 motherboard and RTX 3090. Adding VoxCPM voice cloning, FLUX text-to-image, and Wan 2.2 text-to-video capabilities.
-
How AI Learns Part 5: Context Engineering & Recursive Reasoning
(How AI Learns)
February 28, 2026
636 words • 4 min read • Abstract
Large context windows are not a complete solution. As context grows, attention dilutes and instructions drift. Recursive Language Models treat context as a dynamic environment, rebuilding focus each step instead of dragging everything forward.
-
Five ML Concepts - #25
(Five ML Concepts)
February 28, 2026
411 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Label Smoothing (softening targets to reduce overconfidence), Miscalibration (confidence not matching accuracy), Representation Learning (automatically learning useful features), Adversarial Examples (inputs crafted to cause errors), Double Descent (test error decreasing twice with model size).
-
How AI Learns Part 4: Memory-Based Learning
(How AI Learns)
February 27, 2026
632 words • 4 min read • Abstract
Modern AI systems increasingly rely on external memory. RAG, CAG, and Engram-style modules shift 'learning' away from weights. The brain stays stable. The notebook grows.
-
Five ML Concepts - #24
(Five ML Concepts)
February 27, 2026
431 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Warmup (gradually increasing learning rate at start), Data Leakage (training on unavailable deployment info), Mode Collapse (limited generative output variety), Blue/Green Deployment (switching between parallel production environments), Reward Hacking (exploiting reward function flaws).
-
TBT #5: IBM 1130 System Emulator - Experience 1960s Computing
(Throwback Thursday)
February 26, 2026
1236 words • 7 min read • Abstract
A browser-based IBM 1130 system emulator with authentic console panel indicator lights, keypunch, printer, and assembly game. Experience the full 1965 minicomputer ecosystem through interactive simulations. Work in progress.
-
How AI Learns Part 3: Weight-Based Learning
(How AI Learns)
February 26, 2026
654 words • 4 min read • Abstract
Weight-based learning modifies the neural network itself. Pretraining, fine-tuning, LoRA, alignment methods, distillation---each changes the brain permanently. Slow to change, but forms the stable core.
-
Five ML Concepts - #23
(Five ML Concepts)
February 26, 2026
445 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Emergent Behavior (capabilities appearing at scale), Tool Use (AI calling external tools), Loss Surface Sharpness (flatter minima generalize better), Learning Rate Schedules (adjusting learning rate during training), Canary Deployment (gradually rolling out new models safely).
-
How AI Learns Part 2: Catastrophic Forgetting vs Context Rot
(How AI Learns)
February 25, 2026
646 words • 4 min read • Abstract
Two fundamentally different failure modes plague AI systems. Catastrophic forgetting destroys old knowledge when learning new skills. Context rot loses early instructions in long conversations. Different problems, different solutions.
-
Five ML Concepts - #22
(Five ML Concepts)
February 25, 2026
477 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: RSFT (rejection sampling fine-tuning with filtered outputs), Model Steerability (adjusting behavior at inference time), LSTM (long short-term memory for sequences), Why More Data Beats Better Models (data scale trumps architecture tweaks), System Reliability vs Model Quality (balancing accuracy with uptime).
-
Many-Eyes Learning: Intrinsic Rewards and Diversity
(Machine Learning)
February 24, 2026
1398 words • 7 min read • Abstract
Expanding many-eyes learning with intrinsic rewards and a new web visualization. CuriousScout uses count-based novelty, OptimisticScout uses optimistic initialization. The key trade-off: diversity helps during exploration, but once Q-values converge, all scouts should follow the same optimal policy. Strategy quality matters more than diversity in simple environments.
-
How AI Learns Part 1: The Many Meanings of Learning
(How AI Learns)
February 24, 2026
597 words • 3 min read • Abstract
When people say 'AI learned something,' they usually mean one of four very different things. Understanding these time scales---from milliseconds to years---is essential for building AI systems that improve safely over time.
-
music-pipe-rs: Unix Pipelines for MIDI Composition
(Personal Software)
February 24, 2026
1155 words • 6 min read • Abstract
Personal Software continues. music-pipe-rs takes the Unix philosophy to MIDI composition---small tools connected by pipes. Start with a seed, generate motifs, transform, visualize, convert to MIDI. Deterministic output from a single seed at the pipeline head.
-
Five ML Concepts - #21
(Five ML Concepts)
February 24, 2026
452 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Prompt Injection (malicious instructions overriding AI behavior), Jailbreaks (bypassing safety constraints), GRU (gated recurrent units for sequences), Planning vs Prediction (action evaluation vs forecasting), Production Rollbacks (reverting to stable model versions).
-
midi-cli-rs: Extending with Custom Mood Packs
(Personal Software)
February 23, 2026
1337 words • 7 min read • Abstract
Personal Software grows. midi-cli-rs now supports custom mood packs---TOML files that extend built-in moods with your own musical variations. No Rust required. Define tempo, key, intensity, and let the generators handle the rest.
-
Five ML Concepts - #20
(Five ML Concepts)
February 23, 2026
461 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: VAEs (generative with structured latents), Uncertainty Estimation (know when you don't know), Interpretability (distributed representations resist explanation), Gradient Noise (mini-batch variation), Human-in-the-Loop (human oversight for critical decisions).
-
In-Context Learning Revisited: From Mystery to Engineering
(Machine Learning)
February 22, 2026
648 words • 4 min read • Abstract
ICL evolved from emergent surprise (2020) to mechanistic understanding (2022) to engineered capability (2026). Transformers implement implicit gradient descent during inference---they learn without weight updates. The frontier: models learning from their own feedback. Not magic. Meta-learning in plain sight.
-
Five ML Concepts - #19
(Five ML Concepts)
February 22, 2026
456 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Autoencoders (compress and reconstruct), Correlation vs Causation (co-occurrence isn't cause), Curriculum Learning (easy to hard), Failure Analysis (categorize errors), Covariate Shift (new inputs, same task).
-
JSON et al: A Deep Dive into Data Serialization Formats
(General Technology)
February 21, 2026
2244 words • 12 min read • Abstract
JSON is everywhere, but it's not the only option. This post explores data formats beyond basic JSON—JSONL for streaming, JSONB for fast queries, Protocol Buffers for compact wire formats, YAML/TOML for human editing, and TOON for LLM efficiency. Each has trade-offs: pick two of readability, compactness, or speed.
-
Five ML Concepts - #18
(Five ML Concepts)
February 21, 2026
449 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Preference Learning (train from comparisons), Ensembling (combine models for robustness), ML Fragility (breaks on distribution shift), Epoch (one pass through data), Cost vs Quality (bigger isn't always better).
-
midi-cli-rs: Music Generation for AI Coding Agents
(Personal Software)
February 20, 2026
1043 words • 6 min read • Abstract
Personal Software via Vibe Coding: a music tool for AI agents. midi-cli-rs provides mood presets (suspense, upbeat, calm, jazz) so agents can generate complete audio compositions from simple commands. No music theory required.
-
Five ML Concepts - #17
(Five ML Concepts)
February 20, 2026
477 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Benchmark Leakage (test data contamination), Concept vs Data Drift (changed relationships vs inputs), Weight Decay (L2 penalty for simplicity), Scaling Laws (predictable performance growth), Shadow Deployment (test alongside production).
-
TBT #4: ToonTalk - Teaching Robots to Program
(Throwback Thursday)
February 19, 2026
1074 words • 6 min read • Abstract
ToonTalk is a 1995 visual programming environment where you train robots by showing them what to do. I vibe coded tt-rs, a Rust/WebAssembly reimplementation with boxes, scales, birds, nests, and robots---programming by demonstration for the browser.
-
Five ML Concepts - #16
(Five ML Concepts)
February 19, 2026
473 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Train/Val/Test Split (separate data roles), Overconfidence (high probability wrong predictions), Batch Normalization (stable training), Optimization vs Generalization (low train loss doesn't mean good test), A/B Testing (compare with experiments).
-
Multi-Hop Reasoning (2/2): The Distribution Trap
(Multi-Hop Reasoning)
February 18, 2026
801 words • 5 min read • Abstract
RSFT on easy examples made performance worse---27% vs 37% SFT baseline. Training distribution must match evaluation distribution. Easy examples teach shortcuts that fail on hard problems. The fix is one flag change.
-
Towards Continuous LLM Learning (2): Routing Prevents Forgetting
(Towards Continuous LLM Learning)
February 18, 2026
780 words • 4 min read • Abstract
Part 2 of implementing the Share algorithm: after fixing critical bugs (zero-gradient saddle point, half-parameter training), routing-based coefficient selection achieves zero regressions. Result handling improved 40% to 50%. We're 60% through verifying the paper's claims.
-
Five ML Concepts - #15
(Five ML Concepts)
February 18, 2026
475 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Perplexity (how surprised by data), Catastrophic Forgetting (new learning erases old), Weight Initialization (starting values matter), Curse of Dimensionality (high-D makes data sparse), Monitoring (track performance and drift).
-
Five ML Concepts - #14
(Five ML Concepts)
February 17, 2026
453 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: ROC/AUC (performance across thresholds), Spurious Correlations (coincidental patterns), Gradient Clipping (limit gradients for stability), Loss Landscapes (error surface over parameters), Cold Start (no history for new users).
-
Five ML Concepts - #13
(Five ML Concepts)
February 16, 2026
453 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Calibration (predicted probabilities match outcomes), Shortcut Learning (exploiting spurious patterns), Early Stopping (halt when validation plateaus), Universal Approximation (NNs can fit any function), Checkpointing (save model state).
-
Five ML Concepts - #12
(Five ML Concepts)
February 15, 2026
493 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Precision vs Recall (correct positives vs finding all), OOD Inputs (data unlike training), Batch Size (examples per update), Inductive Bias (built-in assumptions), Latency vs Throughput (speed vs capacity).
-
Neural-Net-RS: An Educational Neural Network Platform
(Machine Learning)
February 14, 2026
1053 words • 6 min read • Abstract
Personal Software for education: a neural network platform where every step is visible---no framework magic. CLI with progress bars, web UI with real-time loss charts, WASM for browser execution. Built via Vibe Coding to watch XOR training reveal why hidden layers matter.
-
Cat Finder: Personal Software via Vibe Coding
(Personal Software)
February 14, 2026
919 words • 5 min read • Abstract
Personal Software via Vibe Coding: I needed to find cat photos scattered across my system. Instead of cloud services or app stores, I described what I wanted to Claude Code and got a working Rust CLI tool using YOLOv8 and ONNX Runtime. Privacy-first, locally-run, and mine to modify.
-
Five ML Concepts - #11
(Five ML Concepts)
February 14, 2026
508 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: RNN (sequential processing with memory), Chain of Thought (step-by-step reasoning), Softmax (scores to probabilities), MoE (route inputs to specialists), Distribution Shift (training vs deployment mismatch).
-
RLM: Recursive Language Models for Massive Context
(Machine Learning)
February 13, 2026
1000 words • 5 min read • Abstract
When data won't fit in a context window, RLM expands the workspace instead. The MIT paper achieves 87-91% accuracy where standard prompting scores 0%. My Rust implementation provides four capability levels from DSL commands to WASM sandboxing to LLM delegation.
-
Five ML Concepts - #10
(Five ML Concepts)
February 13, 2026
504 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: CNN (sliding filters for image features), Encoder-Decoder (compress then generate), RAG (retrieve context before generating), Few-shot Learning (learn from prompt examples), Distillation (small student mimics large teacher).
-
TBT #3: Vector Graphics Games
(Throwback Thursday)
February 12, 2026
1638 words • 9 min read • Abstract
Before pixels, there were vectors. Vibe Coding classic arcade games (Asteroids, BattleZone, Tempest) in Rust/WebAssembly with wgpu rendering---from my first encounter with an IBM 2250 to playable browser demos, all built in one day with Claude Code.
-
DyTopo: Dynamic Topology for Multi-Agent AI
(Machine Learning)
February 12, 2026
786 words • 4 min read • Abstract
When multiple AI agents work together, fixed communication patterns fail at scale. DyTopo rebuilds the graph each round based on semantic similarity between what agents need and what they can offer, preventing context explosion while enabling adaptive collaboration.
-
Towards Continuous LLM Learning (1): Sleepy Coder - When Fine-Tuning Fails
(Towards Continuous LLM Learning)
February 12, 2026
1216 words • 7 min read • Abstract
What happens when you fine-tune a model on new tasks? It forgets old ones. This post documents our implementation of the Share algorithm in Rust—using SVD-based subspace extraction to enable continual learning without catastrophic forgetting. Part 1 covers the problem and initial negative results.
-
Five ML Concepts - #9
(Five ML Concepts)
February 12, 2026
475 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Dropout (random disabling prevents overfitting), RLHF (learn from human preferences), Inference (using trained models), Quantization (lower precision for efficiency), Flash Attention (block-wise for memory savings).
-
Five ML Concepts - #8
(Five ML Concepts)
February 11, 2026
482 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Bias-Variance Tradeoff (balance under/overfitting), Diffusion (generate by learning to denoise), KV Cache (store past keys/values), Mixed Precision (lower precision for speed), MLA (compress attention into latent space).
-
Deepseek Papers (3/3): Engram Revisited - From Emulation to Implementation
(Deepseek Papers)
February 11, 2026
1038 words • 6 min read • Abstract
From behavioral emulation to real implementation: integrating hash-based Engram memory with HuggingFace models. The gating mechanism is critical---it learns when to trust memory lookup and when hash collisions would add noise. Engram excels at exact-match retrieval, not generalization.
-
Five ML Concepts - #7
(Five ML Concepts)
February 10, 2026
474 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Cross-Validation (rotate held-out data), GPT (predict next token at scale), GQA (shared keys/values for efficiency), Context Window (how much the model sees), Self-Attention (each token attends to all others).
-
Five ML Concepts - #6
(Five ML Concepts)
February 9, 2026
496 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Regularization (constraints to prevent overfitting), BERT (bidirectional masked language modeling), RoPE (position via rotation in attention), Prompting (craft inputs to steer outputs), Positional Encoding (tell model where tokens are).
-
Five ML Concepts - #5
(Five ML Concepts)
February 8, 2026
498 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Perceptron (single linear unit ancestor), Pre-training (learn general patterns first), Speculative Decoding (draft fast, verify in parallel), In-Context Learning (adapt from prompt examples), Latent Space (internal representations where similar things cluster).
-
Five ML Concepts - #4
(Five ML Concepts)
February 7, 2026
458 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Activation Functions (introduce nonlinearity), Transfer Learning (reuse knowledge across tasks), VLM (joint image-text understanding), Adam (adaptive learning rates), Superposition (many concepts in overlapping representations).
-
Five ML Concepts - #3
(Five ML Concepts)
February 6, 2026
529 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Loss Function (how far off predictions are), Overfitting (memorizing vs learning), Fine-tuning (specializing pre-trained models), LoRA (efficient adaptation with small matrices), Tokenization (breaking text into digestible pieces).
-
TBT #2: Pipelines on OS/390
(Throwback Thursday)
February 5, 2026
1784 words • 9 min read • Abstract
Unix invented pipes. Mainframes reinvented them for records, not bytes. This Throwback Thursday recreates CMS/TSO Pipelines in Rust with a visual debugger, demonstrating record-oriented dataflow from the 1996 Olympics web server era.
-
Small Models (6/6): Which Small AI Fits YOUR Laptop?
(Small Models, Big Brains)
February 5, 2026
979 words • 5 min read • Abstract
Which small AI fits your laptop? Benchmarking Phi-2, Gemma-2B, and SmolLM on the 2-3B efficient frontier. Phi-2 achieves 61.7% MMLU with only 2.7B parameters, beating models 5x larger through synthetic textbook training. Data quality beats parameters.
-
Five ML Concepts - #2
(Five ML Concepts)
February 5, 2026
451 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Gradient Descent (walk downhill to minimize error), Attention (focus on what matters), DPO (align from preference pairs), Learning Rate (step size tradeoff), Temperature (dial between predictable and creative).
-
Small Models (5/6): Max AI Per Watt
(Small Models, Big Brains)
February 4, 2026
844 words • 5 min read • Abstract
One billion parameters: the sweet spot for AI. Big enough to reason, small enough to run anywhere. Comparing TinyLlama, Llama-3.2-1B, StableLM, and Pythia with LoRA fine-tuning in minutes and speculative decoding for 2-3x speedups.
-
Five ML Concepts - #1
(Five ML Concepts)
February 4, 2026
416 words • 3 min read • Abstract
Five ML concepts in under 30 seconds each: Backpropagation (learning by flowing error backward), Transformers (attention over all tokens), Mamba (linear-time sequence modeling), Hallucination (confident nonsense), and Embeddings (meaning as coordinates).
-
Small Models (4/6): This AI Has a Visible Brain
(Small Models, Big Brains)
February 3, 2026
851 words • 5 min read • Abstract
LLMs are black boxes. Baby Dragon Hatchling uses brain-inspired sparse coding with 80% sparsity, making only 20% of neurons active per token. When fewer neurons fire, each one carries interpretable meaning. Train it on Shakespeare and actually see what's happening inside.
-
Solving Sparse Rewards with Many Eyes
(Machine Learning)
February 3, 2026
1478 words • 8 min read • Abstract
Single explorer: 0% success. Five explorers: 60% success. Sparse rewards are an information problem, not a compute problem. Using multiple scouts with different exploration strategies, we gather diverse discoveries that benefit a shared learner.
-
MCP: Teaching Claude to Play (and Trash Talk)
(General Technology)
February 2, 2026
666 words • 4 min read • Abstract
Teaching Claude to play tic-tac-toe and trash talk using Model Context Protocol (MCP). A Rust server exposes 6 tools via JSON-RPC over stdio, proving MCP standardizes AI tool integration across any compatible language model.
-
Small Models (3/6): Planner + Doer = Genius
(Small Models, Big Brains)
February 2, 2026
794 words • 4 min read • Abstract
27 million parameters beats o3-mini on ARC. The Hierarchical Reasoning Model separates planning from execution, mimicking the brain's dual-process theory. It achieves 40% on the hardest reasoning benchmark where most LLMs score under 5%.
-
Deepseek Papers (2/3): Engram - Conditional Memory for Transformers
(Deepseek Papers)
February 2, 2026
710 words • 4 min read • Abstract
Implementing Deepseek's Engram paper on conditional memory. Instead of recomputing common patterns through O(n^2) attention, Engram provides O(1) lookup for cached results. Our LoRA-based behavioral approximation achieves 58% loss reduction in 10 seconds.
-
Multi-Hop Reasoning (1/2): Training Wheels for Small LLMs
(Multi-Hop Reasoning)
February 1, 2026
697 words • 4 min read • Abstract
A 135M parameter model goes from 0% to 75% accuracy in 5 minutes. Using knowledge graph-guided training with rejection sampling, we teach multi-hop reasoning with scaffolding during training, then remove it at inference.
-
Small Models (2/6): AI in Your Pocket
(Small Models, Big Brains)
February 1, 2026
770 words • 4 min read • Abstract
AI in your pocket, no internet required. Pocket Eliza++ runs MobileLLM-350M on Android via llama.cpp and JNI, creating a privacy-first therapist chatbot. The 260MB quantized model achieves ~10 tokens/second on mid-range phones.
-
Deepseek Papers (1/3): mHC - Training Stability at Any Depth
(Deepseek Papers)
February 1, 2026
765 words • 4 min read • Abstract
Implementing Deepseek's mHC (Manifold-Constrained Hyper-Connections) paper. Using Sinkhorn-Knopp iteration to create doubly-stochastic matrices, mHC maintains training stability at 48 layers where standard hyper-connections explode. Cross-platform validation on Apple Silicon and NVIDIA.