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…
Simsalabim — giving the iOS Simulator hardware powers
The iOS Simulator is a wonderfully fast place to build an app — right up to the moment the app needs something that belongs to the physical world. Bluetooth discovery returns nothing, there’s no…
Nifty Django Feature: Third-Party Packages
Part of the Nifty Django features series: The documentation now includes mentions of third-party packages and community maintained solutions, go check them out!
I didn't plan to let an AI manage my to-do list
Eddie (my AI agent) now manages my to-do list. 1 I hadn't planned that. It kind of happened on its own. As I wrote in one of my previous posts , I like interacting with him via Telegram. The playful…
The Depths of JavaScript: Minesweeper in 247 Bytes
247 characters. b=e=>document.body.innerHTML=m(73,e||[~9,..."1172711",~9].map(j=>m[i-=j]?++e:i).map(j=>b(b[i=j]^1|e),b[i]=!m[O--,i]*~e));b(m=t=>t--?`<a…
Intelligence and behavior
There has been constant fighting with the latest crop of AI models.
Open Source in the age of AI
If I go through the halls of X, I would probably come back with a very confused opinion on the state of open source today. On the one hand there are examples like opencode with tons and tons of open…
Making my Terraform AI friendly
Which mostly meant having less of it.
Context complexity: what is the Big-O of an agent API?
TLDR; small, local models are a good instrument for measuring what a harness costs an agent. an API is only as good as its outputs’ specificity, parsimony, and truthfulness. obvious code repair is…
Public Stuff Sends Signals
I've been seeing a tremendous amount of discussion going on recently around the use of X. I have an annoyingly-long history with this topic . What you do in private is your own business. What you do…
How File-Based Attacks Land: A Detection Engineer's Field Guide
A practical taxonomy of how malware and phishing arrive as files, why classic controls miss them, and how detection should think.
Mastering the 3 Notes Per String (3NPS) Scale System: All 7 Symmetrical Boxes (Fret 1 to Fret 15) & Indian Sargam
Unlock fluid alternate picking, economy runs, and diagonal neck mastery. Explore all 7 symmetrical 3 Notes Per String (3NPS) scale patterns ordered sequentially from the nut (Fret 1) up to the 15th…
The CAGED Scale Framework: Mastering All 5 Position Boxes from Fret 0 to 15 with Indian Sargam
Unlock fluid fretboard visualization from open strings to high frets. Master all 5 classic CAGED major scale box shapes ordered sequentially from the nut (Fret 0) to Fret 15 in the key of C Major / A…
Security Research Without Asking Permission
On July 21, OpenAI acknowledged that it had compromised Hugging Face’s production infrastructure during an internal cyber evaluation it operated. OpenAI gave its models an offensive objective,…
A Tool Call Returned Success and the Work Never Happened
Twelve live posts lost between 28% and 59% of their text, and every call returned ok. A post-mortem of silent tool failure in an MCP server: the race, the wrong lesson, and the check you can run.
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…
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.
Secrets, Quotas, Grant Planes, Notifications, and MFA
A big batch landed since the last update. Here are the highlights. Secrets at Rest Tenant secrets (SSO config, webhook signing keys, Slack URLs) are now encrypted with per-tenant envelope encryption:…
💻Offline Stack💻
also check my programs I use Precursor to this list: 💻 Internet Exit Strategy 🌸 = high value, those are also saved on my phone LLMs 8.5GB Bonsai-27B-Ternary 3.4GB MedGemma-1.5-4B-it-4bit 🌸1.7GB…
In Praise of Libraries
My latest library haul Quiet places for soothing your soul. Unassuming spaces where you can wander for hours, lose yourself browsing the shelves, discovering hidden gems or just enjoying the peace. 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!