You do not need an audience
Working in public is usually sold as a growth strategy. For me it is something quieter and more useful: a way to keep ideas moving, keep the builder muscle warm, and leave a trail I can come back to.…
Making a Small Language Model Actually Useful in Movie Search
Mofy is a personal, offline-first movie app with no cloud API calls. Making search understand human-like queries meant ruling out generative models after four failed attempts, and fine-tuning a…
🚀 New Release: mcp-windbg 1.1.0
Version 1.1.0 of mcp-windbg is out. It's the first release since 1.0.0 , which was broken on fresh installs for some time. What Happened: 1.0.1 The dependency was mcp>=1.28.1 with no upper bound.…
Press Releases about Our FOUND Workshop at ECCV 2026
Press releases about our workshop, “The 2nd Workshop on Foundation Data for Industrial Tech Transfer (FOUND)” at ECCV 2026, have been published by LY Corporation, CADDi, and SB Intuitions.
New tests around local LLMs
Qwen 3.8 27B This week was interesting for local models with the open-weights release of Qwen 3.8 27B. It was highly anticipated, because Qwen 3.6 held the crown for a long time in open models of a…
Choosing the Right Caching Strategy on AWS
Caching can make an AWS application faster and cheaper, but the wrong cache can serve stale or private data. Learn where each AWS caching option fits and what it costs you in complexity.
Self-hosting mail without opening a single port
A home mail server with no open ports, reachable from my phone over WireGuard, without any subscription fee.
OpenSpec for Humans
Why spec-driven development is useful to product managers, designers, and engineers, especially when AI can write the code.
Hidden Tech Debt Is Still Tech Debt: A Production Lesson
A production system ran reliably for years until bot traffic exposed hidden technical debt, exhausted its SNAT ports, and brought API calls down. Let's dive into what happened and explore how it…
A New Way of Working With AI
For most of my career, working with computers meant giving them precise instructions. I wrote the code, searched for answers, and operated…
Measure once, print twice
Four ways to approach printing your own models.
Getting into 3D printing
Over the last months I have purchased and become interested in 3D printing. ...
To raise VC, think like a VC first
A lot of people have the wrong idea about fundraising. They make fundraising a really complex thing, making it seem that you have to change your entire personality, or lie, or somehow try to fool…
Writing when you have AI
If before writing was the most effective tool to organize ideas, now it has a competitor in AI. Yes, but they can also work together. And they work on different levels and situations.
Compose & kotlinx.html
Let's render a simple page with Ktor server and kotlinx.html : get ( "/users.html" ) { call . respondHtml { myLayout ( title = "Users" ) { userList ( users = db . users . value , ) } } } A reusable…
Modern Software Engineering: The 2021 Book We Needed for the AI Era
A personal reflection on David Farley's Modern Software Engineering — why its principles of feedback, learning, and modular design are the essential foundation for the age of agentic coding, vibe…
Aging body, minor symptoms
As I get older, I have to recognize that some pains are inevitable . I worry a lot about my health and I get anxious about small symptoms. I know that I am kind of a hypochondriac. My pattern is as…
CSS field-sizing: content Is Finally Baseline
Learn how CSS field-sizing: content lets inputs and textareas size themselves to their content without JavaScript.
A skill for single-player agentic knowledge management
There has been a bunch of discourse in the AI space about how to get agents the correct context. Following along with those discussions, I’ve built a system that seems to work quite well for me…
If your VS Code remotes stopped working, downgrade to v1.124.x
Quality software reigns again
Trivializing the SSH escape sequence
Imagine you're enjoying a really premium SSH session when the remote host's network drops out long enough to cause your client connection to hang, and things are past the point of recovery. And,…
GPU training with Claude Code and Modal: describe the experiment, review the diffs
How I run fine-tuning experiments by pairing Claude Code with Modal: the five-minute setup, the CLAUDE.md conventions, and the loop where the agent writes, launches, debugs, and evaluates GPU runs.
What If AI Forces Us Offline?
The real danger is not that AI destroys humanity. The real danger is that humanity logs off.
Introducing the cli.dev Ecosystem
cli.dev is a shared home for the tools, products, and experiments I build and maintain.
Cochran's Q test in R, or the extension of McNemar's test for more than two groups
Introduction Data Cochran’s Q test Aim and hypotheses Assumptions In R Interpretations Post-hoc tests Summary Introduction In previous articles, we showed how to test whether two qualitative…
Fifteen Ways Past My Own Gate
The last thing I wrote about building software with a coding agent ended on a question I could not answer with more machinery: is this test still capable of telling me I am wrong? The setting was a…
bye bye going to Chile for a month 🇨🇱
I got Arts Council England funding earlier this year to help complete a book I am working on, and in order to finish it, I have some research to do in Santiago, Calbuco and Chiloé all the way over…
Forever a Student
When I was learning CSS’s grid feature (oh gosh, nearly ten years ago), I posted a few short videos talking about my understanding of the feature and how it worked. I was surprised to get scolded for…
Boundaries
And not the cricket kind!
How to bypass Hcaptcha
You can bypass/automatically solve Hcaptcha on any website
📸 August snapshots (or what I did on my summer vacation)
📸 August snapshots. (Or: What I did on my summer vacation).
Separation of Base System and Userland
I had a need to deploy a small VPS recently and I wanted it to be reliable and secure so I gave FreeBSD a try. This was also a great excuse to play around with something I've been curious about for a…
AWK: Fifty years of simplicity and efficiency in the Terminal
1. AWK: Fifty years of simplicity and efficiency in the Terminal 2. What Is AWK and the Story Behind Its Initials 3. How AWK works: basic concepts 4. AWK in action: some practical examples 4.1. Print…
Why Do I Need an Ontology?
Introduction Imagine an AI that approves a second refund on the same order. Its reasoning is clear, and the tool call is correct. Yet, the refund remains wrong, and system knowledge isn’t…
ChatGPT Can Now Keep a Character On-Model
Two more free, open-source illustration skills, added to the same repo as Guild Enamel. Premium 3D Claymorphism generates on-brand 3D product icons — type a subject plus a hex code and the color,…
Your content layer is your context for agents
What I took away from facilitating a panel on the agentic shift with Contentful's Neha Khawas and APPLY's Brian Browning: a practical framework for agent-ready content, and where to actually start.
If GenAI knows anything at all, it knows you've already lost the lottery
Can Generative AI be said to know anything?\nWe'll answer that through the (broken) definition of knowledge, the epistemological concept of sensitivity and a detour into philosophy of law.\nThis time…
What my prompts say about how I work with AI
September 2023 is when I started using AI as part of my job. I had used it before then, but that was when I became responsible for getting real results with it. Features had to work. Bugs had to be…
Clankers
The Catharsis of Robot Gore... Keep reading
The Color Of Money: the dye economy in soul's remnant
why do i keep going down color-based rabbit-holes? my latest foray into colors leads me today to the dye system in soul's remnant. for those of you who don't have a finger on the pulse of MMOs on…
Optimisations Wednesday, 25% more throughput than Ollama
Smarter & deeper MTP, MTPLX, and less CPU/GPU synchronisation on Qwen.
You Can Rebuild a Factory. You Cannot Re-run an Extinction.
Late at the bench, I put a question to ATLAS: What's the best use of our planet's resources? Here's what came back. Big question, and an honest one. Let me answer it straight rather than dodge into…
Tests and product market fit
I watched a team write a careful test suite for a feature, then kill the feature two weeks later because nobody wanted it. The tests were wasted effort, and worse: they made the feature harder to…
suboptimalism has been updated
new writing "shanghaied"
The Church Needs Tradition
A church ought to make sure the next generation does not have to re-tread the same ground. The church has had answers to their questions for a very long time.
Churn Risk Is a Conditional Rate: A Simpler Empirical Bayes Model
My old churn model measured how surprising a user’s silence was against their own history. That’s a real question with a real answer, but it isn’t churn risk: it flagged regulars…
Porting my F# Web App to Rust in 2 Hours with AI
I've been using AI to revive some of my old projects the latest of which is CloudCompare, a simple cloud comparison tool for server, object, and egress pricing. I've been moving most of my…
The Glory of Bottomless Cex Tat or; On <i>Road Trip Adventure</i> (2002)
Earlier this week Michael made a request on their blog to post about some kind of obscure game, and of course I wanted to participate. I considered talking about Mirrors , a fascinating PC-88…
How Much Did My One-Letter Aliases Actually Save Me?
I have three shell aliases (j, s, z) for just, stree ., and zed . I dug through 7 months of shell history to find out how many characters they've saved.