Why I Write
Me rambling on to understand my own reasons to write.
Finishing Up My Appalachian Trail Hike
The Priest Mountain Shelter, VA (37.817850, -79.070375) Seven years ago I hiked half the Appalachian Trail, from its midpoint in Harper’s Ferry, WV, to its northern terminus at Katahdin, ME.…
Integrating Antigravity and Apache/Maka into Raft via ACP
Recently I started testing multi-agent collaboration tools in my daily workflow, spending quite a bit of time with both Cumora and Raft . Between the two, I prefer how Raft handles agent definitions,…
Retro Game Review - UFO: Enemy Unknown
UFO is a great game from 1994. Possibly the first, great turn-based tactics game.
Handwriting Ramblings 2: A quick update
I’m assuming you all gave a sigh of relief when you saw digital text rather than scans of my handwriting. This post is largely a set of updates and corrections to my previous post; given the…
Lectura.info: A new RSS reader
I always knew it was inevitable that I’d build my own RSS reader. I’ve been reading blogs since the 2000s. I’ve been blogging since 2005 (teenage angst blogs that are long dead),…
Video Dromedary Processor
Now that we have a working Forth environment running on the SG-1000, it makes some sense to start building up the video display capabilities. Can I get sprites working on the TMS9918 for the first…
The Self-Learning Loop: Building a Self-Updating AI Pipeline for Expense Extraction
LLM-based expense extraction is good, but not perfect. Here's how we built a feedback loop that captures corrections, distills them into rules, validates them with shadow runs, and promotes them to…
Running Local Models for Agents - a Mac mini vs a 6-Year-Old GPU
We wanted OpenEngine's implementation agents to run on a local model, so we benchmarked the two machines we had: a Mac mini with an M5 Pro and 64 GB of memory, and a Linux box with an RTX 3090, a GPU…
I Made My App Agent-Friendly with WebMCP
How I added WebMCP tools to my social media planner so AI agents can find drafts, create posts and update schedules through an open browser tab.
Choosing Friction - Why Developers Feel Disconnected from Their Work
The tools removed the resistance that used to tie us to what we build. Nobody is going to give it back, so the craft now has to be chosen, and part of that choice is not ours to make.
The relay economy: how Claude, GPT and Codex are resold as APIs in China and beyond (Oct 2026)
The relay economy is a large, commoditized grey market: hundreds of storefronts on a handful of open-source gateways. Some of what it sells is legitimate resale, but much rests on two fragile…
Japanese Postcards
Along my trip across Japan I collected a bunch of postcards from places I visited. I got them in museums, in tourist shops or in second-hand bookstores. I sent some to friends and family, but most of…
Creating a file with ed and a here document
Creating a file with ed and a here document When it comes to creating a new file with ed and a here document, there is a difference between "GNU ed" and "ed" on BSD. This is about…
The Value of Process and Artefact
One of the tensions at the heart of the current AI debate is one I’ve been interested in for a long time – the conflict between where we place value: in the artefact, or in the process that produced…
Introducing Zirql, an embeddable query language
Why I built a shared query language for Zirium and Zincite, with word and CSV examples and a guide to embedding it in Rust.
A Laravel API Starter Kit That Keeps Its Promises
Starter kits are right on the day you install them and drift from then on. Kit now checks its own promises in CI, so the docs, spec, errors and dependencies stay true.
The Subtle Art of Self-Hosting
I've been trying to build a proper homelab for a long, long time. syswraith @syswraith - Raspberry Pi 4B (8GB) - Seagate HDD (1TB)(salvaged from old lappy) - TL-WN 722N (YES, packet injection and…
Experiment: Not Perlin
Noise with CSS backgrounds
File Systems: The business of durability
What a file system does, how it got here, and what it promises when a write returns.
ArkOS 0.13: Variants and Samples
We’ve just released ArkOS 0.13.1, along with a large set of associated tooling. For the observant among you, we skipped 0.13.0. It was signed, but a last-minute API change made us pull it.…
Introducing Lisa
An introduction to Lisa, the open-source AI agent harness: enforceable limits, receipt-based verification, and lossless context.
Qwen3.8-Flash-Next vs Claude Opus 5.5: Six-way benchmark on a real Rust feature
A controlled comparison of Qwen3.8-Flash-Next and Claude Opus 5.5 on one LlamaStash feature, across Claude Code and Pi, at medium and xhigh effort
Installing Gentoo on a 2019 T2 Mac Pro with ZFS
t2linux (CC-BY-SA-4.0) It’s nearly impossible to buy reasonably priced compute hardware in the current market. Consumer memory has regressed to 2009 prices and high-end video card compute has…
Fluid Typography With clamp(): Building Type Scales That Respond Without Breakpoints
A type scale built on media queries jumps. The heading is 28px at 767 pixels of viewport width and 40px at 768, and nothing in between looks deliberate. Fluid typography replaces the jump with a…
Agents route around your hooks
A design-gate hook blocked nothing in eight agent runs. Nobody cheated. The agents wrote files through Bash, and the hook only watched Edit and Write.
Archiving family photographs: a format statement
What we capture when we scan a family photograph, what we keep, and how we expect it to still be readable in fifty years without any of the software that made it.
My research setup has to work without an AI agent
Why I make time to configure my research tools, what my current setup looks like, and how I keep the work understandable as models and agents change.
With "AI" coding the future of software development looks more grim than ever before!
This is not just a rant, this is a serious call and warning to every company or project developing software.
Dead Code Shouldn't Exist
How we removed 28k lines of code from Sentry, one Knip at a time. A talk about the cost of unused code, how Knip finds it, and the lessons we learned along the way.
Understanding Networks Through Spectral Graph Theory
“When we try to pick out anything by itself, we find it hitched to everything else in the Universe.” - John Muir
A Primer on Linear Algebra
“It is by logic that we prove, but by intuition that we discover.” - Henri Poincaré
My Friend Bob Cringely
Bob Cringely died on Oct 3, 2026
Can AI Agents Give Us the Internet Back?
Posted on October 20, 2026 by Evgeny Poberezkin Tags: ai, internet They can – but not on the networks most people use. Internet: a market that nobody owned When the internet began, only research and…
How Merdra Handles Access to Medical Information
Medical information should follow a patient. That does not mean it should be open to every hospital, clinician, or application. Medical records are confidential. A doctor, nurse, pharmacist, and…
Tiling Noise - Procedural GPU Patterns
Part 10 of the Procedural GPU Patterns tutorial series for Godot Engine 4.
Building a small coding agent
Notes on building a small coding agent.
106 applications, one offer: a senior engineer's job search in the age of AI
96 days of applying, 106 distinct roles, 112 hiring tracks, one Principal offer, and 104 tracks that never produced a conclusive answer. What my reconstructed 2026 job search says about hiring after…
Bazelizing Third-Party FPGA Designs: Two Case Studies
Converting existing open-source FPGA projects to Bazel and rules_openxc7 makes hardware builds reproducible, eliminates machine-specific paths, and enables one-command bitstream generation without…
Omarchy for the Masses
What it would take for a Linux desktop like Omarchy to reach the technically disinclined — and how an AI design director might let open source scale taste.
Random Script: transcribe.sh
I'm finding that I sometimes don't have time to take notes when I need to, but I often times can record audio. Maybe it's just a random thought I need to capture, or a full conversation crafting a…
AI as an accessibility layer
My youngest daughter has neurodiverse challenges that we’re still figuring out at the moment. One thing she finds especially hard is media that makes her feel stressed or anxious. She’s…
A Poor Man's Solution to Gradle's Rich Console Issue on NixOS
A follow-up to my post on Gradle's rich console on Nix: a small patchelf script in my nix configuration that repairs the native library cache whenever the Gradle wrapper breaks rich console.
Rose Galaxies
A rose for Hubble’s 21st anniversary For Hubble’s 21st anniversary in 2011, astronomers released a portrait of these two interacting galaxies, Arp 273, commonly called the Rose Galaxies.…
The MVP Event Horizon: When Your Prototype Goes Critical
Every MVP has an event horizon: the point where people start depending on it. You won't feel yourself cross it - you'll find out when you try to back out.
would I have learned as much with an LLM?
incidental learning in the age of LLMs.