Transformations
We often talk about LLMs in terms of reasoning and generation. I have found it more helpful to think in terms of transformations and semantic layers. There appears to be some general principles that…
Three Ways to Give an AI Agent an Identity
Three ways to do it, and the plumbing that's reshaping all of them.
Fixing A Bug Inside Tmux Menu
Sometimes my tmux sessions will crash. This is super-rare and seemingly random so I just accept it. Today I figured out why and resolved it.
Forward Deployed
As a forward-deployed engineer (FDE) my job is to manufacture customer-product alignment.As Nina has pointed out, I love documentation, guides, thinking in procedures, and systematizing relationships…
Joys of cancelling a TBB task group
A Blender issue #152467 (“File Browser thumbnail cache broken with large amount of images”) reminded me to write this up. This particular issue is a (documented) surprise that when you…
Structured output and the JSON Schema dilemma
In this post I like to describe the current dilemma of using JSON Schema for structured AI outputs and how TypeSchema can be used as a clean, alternative data-modeling layer to generate both native…
Getting ready for local inference
Recently I’ve been experimenting with local LLMs for coding. Up until a couple of months ago I was a happy GitHub Copilot subscriber. I’d been quite satisfied to let other companies take on the cost…
Git Diff Report (HTML, txt)
Export a [[git difftool]] as text, HTML, PDF, or image for seeing and sharing changes with others in a nice visual way.
TUIs
Modern application with a UI running in [[Terminals]]. Tools Development & APIs posting - [[API Client]] like [[Postman]]: A modern API client that runs in the terminal. Neovim option:…
The Architecture Was Correct. The Decision Wasn’t.
Your system can be scalable, secure, and beautifully designed. And still be the wrong thing to build.
Reflections: 6 months of Agentic Engineering
blockquote.large { font-size: 1.2em; padding-top: 1em; } blockquote.large span { font-style: italic; } figcaption { font-size: 0.8em; text-align: center; } .image-columns { display: flex;…
Newspipe 12.1.0 released
I’m happy to announce the release of Newspipe 12.1.0. This version brings a reimagined reading experience, a few features I’ve wanted for a long time, and a much smarter crawler under the…
Collabnix AI Weekly - June 2026 Edition
Your weekly digest of Cloud-Native AI, Docker Sandboxes, and Model Context Protocol innovations.
Naive Bayes: classifying search intent with Bayes’ theorem
In the article on the multi-armed bandit we used Bayes to decide between variants: shifting traffic toward the one converting best while the test is still running. Now we take a step sideways, while…
Taste Is in the Spec (Cooking Is Not the Recipe)
Here’s a question I can’t stop chewing on: why is some software so damn good, and most of it so… not? Not buggy. Not slow. Just bad. Bad in a way you feel in your gut the moment…
Author Self-Review: The Cheapest Code Review You Skip
Self-review your pull request before requesting eyes: catch the cheap defects at the cheapest point and halve reviewer round-trips. A five-minute pass.
Basic Proof Techniques for Software Engineers
Basic Proof Techniques for Software Engineers
Standardize the Gates, Not the Steps
The problem that started this was not philosophical. We were trying to write down our SDLC. Not the aspirational one on a Confluence page, the real one, the one an auditor could follow and a team…
Optimizing LLVM's bump allocator
BumpPtrAllocator is LLVM's bump allocator (arena allocator): each allocation bumps a pointer within a slab, and everything is freed at once when the allocator dies. It backs Clang's ASTContext, lld's…
Build a Command-Driven Markdown Toolbar in React
Use custom invoker commands to format selected textarea text as Markdown. Read it on the web
In Plain Sight
A few days ago, in The Rungs , I reached for a phrase to describe something I'd found reassuring: two doors, one room . I'd been teaching a Rails application to compile itself into nine languages,…
AI-Augmented Home Assistant
How I run my Home Assistant config like production: an AI coding agent edits the live YAML, I review the diff, and everything is versioned in Git.
Small Teams Will Ship More Software Than They Can Maintain
Using Cursor and Claude, a 5-person engineering team can now build a billing webhook handler, a customer import tool, a Slack alert...Read More... Source
Armchair Transit with PostGIS: The Census & The Bestagons
Step one in the quest for good transit in Kingston: hexagons, census data, and a whole lot of ST_Intersection.
Coding Agents Still Need Engineering Judgment
AI-built SaaS apps can work, but the expensive cleanup starts when nobody supervises the system design, data model, auth boundaries, and production workflows.
#042
Python is open-sourced?! Wow I really want to learn how it use it now...
Platform Support for GNU Extensions to Basic Regular Expressions
Recently I was reviewing some shell script a colleague had written: if grep -e '@[^@]\+@' "$DIR/install.sh" ; then I thought the \ before the + was a mistake, and also pointed out…
Cloning My Voice for an Audiobook
I narrated my book in my own voice without recording a single chapter. The whole thing runs locally on a Mac, costs nothing, and sounds like me. This is the build, step by step, including the failure…
The Room and the Record
You give an agent everything a project has produced: every Slack message, every deck, every status update since kickoff. Then you put a dashboard and a chatbot on top, so anyone can ask where things…
Extracting sound effects from a Switch game
As part of my previous post reverse engineering the Denon XML API I talked about my love for the Golf sound effects in Nintendo Switch Sports, complete with a way to build an ambient soundscape. But…
Handle Custom Invoker Commands in React
Use custom --commands with a native command event listener and a React callback ref cleanup. Read it on the web
New Package: Gomuks.el
For the past few months I've been on and off working on a new package for Emacs, which is my first attempt at a proper major mode "application". It is a wrapper/frontend for Gomuks, which is a Matrix…
WireGuard for Saints Row: The Third
Great games come with LAN co-op. Even greater games allow you to directly enter the game lobby's IP address. Saints Row: The Third doesn't and relies on UDP broadcasts, instead. And because WireGuard…
Best Astro.js Online Courses/Tutorials
The best Astro.js courses for learning one of the fastest-growing content-focused frameworks, from free YouTube tutorials to premium paid courses.
When Your Tools Lie to the Agent
I gave an agent one brief and pointed it at my own platform: connect as a real MCP client, exercise every tool, and find every place where what the tool says and what the tool does disagree. Review…
Security Baked Into the JVM: why fork Apache River and OpenJDK?
The more distributed a system, the harder it is to secure. Code crosses JVM boundaries. Objects are serialized across trust boundaries. Third-party proxies run inside your process. The usual answer…
Emacs: new ‘doric-tiger’ and ‘doric-lion’ for the ‘doric-themes’
I am developing two new themes for my minimalist 'doric-themes' package.
How I Set Up Hermes Agent on a Hetzner VPS
A walkthrough of setting up Nous Research's Hermes Agent on a Hetzner CX23 box — OpenRouter, Telegram gateway, Obsidian sync, cron jobs, and the skills that make it feel like home
1€ TRX - One Euro TRX
I learned about the Sub-1€ TRX challenge from Ismo (OH2FTG) - thank you (maybe for getting me addicted?). The constraints Sub-1€ TRX, with LCSC parts. This excludes the PCB, so it can be 10x10…
Weeknotes 261: Without the hyperbole
Hot, hot, hot, man. Too hot. Uncomfortably hot. Dynamic Ecto Queries and PostgreSQL Query Plans – this is an interesting demonstration of how small code changes can ruin query performance. Well,…
discourse-manager: A Community Management Sim Inside Discourse
There's a browser game called You are the OS where you play as a computer's operating system. Processes request memory, users get impatient, the machine dies if you can't keep up. It's a sim about a…
Shipping CPU-optimized Rust binaries in container images
In an earlier post about gguf-runner I made a point that kept nagging at me afterwards. The point was this: prebuilt binaries are compiled for a conservative baseline so they run everywhere, and if…
Custom-for-1 software
CodeMine https://blog.codemine.be/posts/2026/20260610-custom-software/ -Using LLMs for vibe agentic coding teaches you some things. For example, building working prototypes doesn’t require you…
Atomic Coolify+Laravel Deployment
Improving my self-hosted Laravel deployments. I updated a handful of Coolify-hosted Laravel apps recently to get zero-downtime updates. Gone are those few annoying seconds of “no server available” I…
Progscape. A 64K demo for NOVA.
My entry for the newschool intro for NOVA2026
How I Build Software in June 2026
The pace of AI improvement has meant the way I build software looks very different to how I did six months ago, and again six months before that. The change over time is now so constant that it's…
defcon quals and symbolic execution with rosette
i’m getting a bit allergic to the way Chat Box Generated Prose always overuses headings so i might just not put any headings at all in this post. we’ll see. make a terrible comic day might have been…