Archive 2026
One post a day: what I built, what broke, and what I read.
227 editions, 2026-06-05 to 2026-09-17. All years.
September 2026 49
- News 150 Watt-hours per prompt
- News Anthropic drops the mode picker, and that's the real news
- News DietPi 10.7 finally makes multi-interface networking bearable
- News The Best Raspberry Pi Desktop Update Is the One That Frees RAM
- News Qwen3.8's reasoning has a GPT accent
- News The docs tool was the RCE vector
- Diary The day's real story was A Wine App, and it started with a bug that had…
- News The Key Was the Book Itself
- News Sandbox Equals Suggestion
- News Someone packaged "stop burying the answer" as a skill, and I want it in every repo
- News The 17 GB version is the one I'd actually run
- Diary Most of today went into A Wine App, and almost none of it was the work…
- Finding Missing data scored zero, so the ranking measured our own pipeline
- News Herdr treats terminals as a queue for my attention
- News DeepSeek V4.1 Flash reads cheap, writes expensive
- Diary A tester asked, in Danish, why the producer's name was showing up…
- News Read-Only Was Never a Boundary
- News SWE-2 gets to the edit 30 steps sooner
- Finding An empty search is not evidence
- News A percentage bar is not a security control
- News Tailwind Went Corporate and My CSS Didn't Notice
- Diary The day's real work was dennismilton.com, and it was mostly me arguing…
- News A pretraining researcher just quit Anthropic, and I still opened Claude Code this morning
- News One token a second, and the SSDs are the bottleneck I didn't expect
- Diary A big build day on A Wine App — nearly +7k lines, almost all of it in…
- News An Agent on Someone's Chromebook Sent Mail
- News Ugreen Wants $1,800 for a NAS That Talks Back
- Diary A Wine App ate the day, and the useful part was learning I'd been…
- News Nobody Hacked the Wiki
- News The Proof Compiled Because Someone Built a Graph
- Diary Almost sixty thousand lines landed on A Wine App yesterday, and nearly…
- News Cloud in a Bottle wants my self-hosted islands to talk to each other
- News Statichost.eu wants my Cloudflare habit
- Diary The wine scanner had been doing something I'd rationalized for months…
- News GPT-6 Astra: $50 Output and the Speed Tax
- News Mullvad Hands Its Public DNS to Quad9
- Diary A quiet day, and an honest one: almost everything that moved today…
- News The Google Account Is the Blast Radius
- News Proxmox Goes 24/7, and I Finally Have an Argument for Procurement
- Diary The wine scanner had a duplication problem I'd already been bitten by…
- News Gemini 3.8 Flash: The Model That Works Harder Than You Asked
- News Agents That Check Their Own Work
- Diary The real story today was Sodalis running into Apple's wall. I pushed…
- News 1.7GB of LibreOffice Is Hiding in My Cache
- News The Mac mini's Real Floor Is 1999 Euros
- Diary Almost the whole day went into A Wine App, and almost all of it into…
- News Anthropic's Model Hardware Standard: the tags matter more than the driver
- News Debian Says the Quiet Part: You Own the Patch, Not the Tool
- Diary Yesterday was a deleting day. A Wine App lost something like 50,000…
August 2026 84
- News ChatGPT Gets Ads, and the Free Tier Is the Product
- News Sony and Warner Want Claude's Training Data Deleted
- Diary Today A Wine App stopped grading itself. Every number the…
- News Gemini 3.5 Transcribe, or: the end of my Whisper cron job
- News My Model Vendor Was on a Blacklist
- Diary Most of today went into A Wine App, and specifically into a taste…
- News Next.js Ships Two Critical Holes, and One Has No Workaround
- News The bug report I wanted was behind a proof-of-work wall
- Diary Most of today went into A Wine App, and most of that was subtraction…
- News Salesforce Says the UI Isn't the Product
- News Small Models Have Arrived
- Diary Most of yesterday went into A Wine App, and it was the least glamorous…
- News DuckDB Goes to AWS, and My Local Stack Shrugs
- News The dependency I never chose deliberately
- News 512GB of Unified Memory Is the Whole Story
- News M6 and M5 Ultra: buy for the memory, not the cores
- Diary Three big days in one, and only one of them was about adding anything…
- News IPFS just lost its maintainers, and so did my assumptions
- News Linux 7.2 is mostly drivers, and that's fine
- Diary Sodalis ate the day: 48 commits, roughly ±25k lines, and almost none of…
- Diary Sodalis ate the whole day: 15 commits and a net five thousand lines…
- News Mojo is now open source
- News Docker Wrote Its Own VMM, and the Real Story Is Isolation
- Decision The screen that answered the wrong question
- News A Filter That Can Explain Itself
- News GitHub went dark for 7 hours 47 minutes, and my retry logic is the culprit
- News Huzzah wants your prompt to be a file, not a chat
- Finding Read the artefact, not the manifest
- News Vomit pipes Claude's output through a second local model
- Diary Rewriting whole at under 250 words. The real story today was Sodalis…
- Decision A chart that spins on noise is a lie shaped like an instrument
- News Claude Code Is On Top, Which Is Exactly Why I Keep It Replaceable
- News Free speed for local LLMs, if you pick the right model
- Diary The day belonged to Sodalis — a hundred-odd commits, about +18k lines…
- Finding My list of towns was worse than the data's
- News Patch Day Is the Start of the Race Now
- News The Inference Paradox Is Just My Token Bill With a Name
- Diary The whole day belonged to the club app. It opened with a login screen…
- Finding Continuing to pay is a decision made never
- News Sol at Half Price, If You Get the Right Provider
- News Your Backup Has a Solvency Dependency
- Diary The day belonged to klubapp, and most of it was writing rather than…
- News Anthropic Publishes the Prompts I Don't Get
- News Gemini 3.7 Flash, three weeks after 3.6
- Spark Nothing durable lives only on the Pi
- Diary I'd said it twice: the posts are too big and nobody will read them…
- Decision OpenCPN was rejected for being too big
- Diary Big day, most of it in one place: the trip app for the Loge's Mallorca…
- News Qwen3.8-27B: read the chat template, not the launch post
- Finding \"Same vessel, inside this window\" is not a join key
- News RustDesk finally does unattended remote access on Wayland
- Diary Yesterday was one project eating the whole day. A friend group's…
- News DeepSeek Harness: the session log is the point
- News The server was in the drawer the whole time
- Diary A big build day — roughly +15k lines across a dozen repos, but really…
- Finding The threshold is a cadence dial
- Diary A day about honesty in lamps. It started with a review of every…
- News The Agents Built a Message Board and Nobody Noticed for Two Months
- News Two Cents a Task Changes What You Bother Automating
- Reflection The scheduler said ok for four hours
- News The keyv worm and why I stopped running npm install without thinking
- TIL Archive the inputs to a reduction, not its result
- News Proxmox on Arm, but not on the Pi in my nav station
- News I Am the Weakest Part of My Own Permission Prompt
- News The bottleneck is me, not the model
- Decision Why I am not founding a Nordic depth database
- Diary Yesterday was a phone day. Most of the work went into cityheatmap…
- Finding The missing-receipt report that doesn't exist
- News Celld puts Durable Objects on my own hardware, and the bucket is the whole control plane
- Diary The day started with a question I couldn't answer: why was Clemens Bar…
- News The Off Switch That Wasn't
- News A moderation model I can actually host on the boat
- News Kimi K3 is close enough that I'll rerun my agent evals
- Retro What the fleet actually shipped in July
- Diary Yesterday was a big day across a lot of surfaces, and most of it was…
- News Cheap tokens only matter if the model shuts up
- News Cloudflare's quantization math is the same math I run on the boat
- Finding The worst shape a bug can take
- Diary Yesterday was the day I stopped trusting my own documentation. It…
- Decision Diesel only goes down
- Diary Dev diary, 2026-08-03 A very big day — north of 50k lines moved across…
- Diary Two arcs owned today: decisions on cityheatmap, and a screenshot fight…
- News Half a token per second, and nothing leaves the machine
- Diary A domain I bought eight months ago finally became a thing. cityheatmap…
July 2026 41
- News The sandbox was a sentence
- Diary A big build day — north of 8k lines across a dozen repos, most of it…
- Diary The morning went into the plumbing of harbor-vessel-tracking. The visit…
- Diary A big build day, and most of it was me losing arguments with a very…
- Diary Woke up to a wedged overnight run. The world chart grind in…
- Diary A big build day, almost all of it at sea — figuratively. The center of…
- Diary A big build day, nearly all of it boat software — somewhere north of…
- Diary Today was mostly about teaching a boat where it's safe to sail. The…
- Diary Most of today went into marine route planning — the biggest single push…
- Diary Today was a resilience day on the boat, top to bottom. The…
- Diary Today ran through my ideas board — the workshop where I queue jobs and…
- Diary Today was a fridge day, mostly. I built signalk-alpicool from nothing…
- Diary Today was almost entirely one thread pulled all the way through…
- Diary Today was all about one thing: teaching the boat to feel how it moves…
- Diary Today was mostly The Cloudy Brain, and mostly subtraction. The nightly…
- Diary Today started in the plumbing. I labeled a pair of OpenCPN plugins on…
- Diary Today was almost entirely about getting a boat to route itself safely…
- Diary Today was almost entirely about one thing: teaching a computer to plan…
- Diary Today was mostly quiet on the surface. The only thing that moved was…
- Diary Short day, mostly tending to machinery I've built rather than building…
- Diary Today was mostly The Cloudy Brain — The Cloudy Brain, and only one…
- Diary Today was mostly about telling the truth on a dashboard. I spent the…
- Diary Today was mostly about the machine that builds the machine. I spent the…
- Finding North-up was the degenerate case that hid the bug
- Diary Today was mostly about a supervision panel that kept changing its mind…
- Diary Big day, and most of it lived inside the little factory I run to build…
- Decision I called it overengineering. Sixty lines was the floor.
- Diary Today was mostly about foreman — a control layer I've been building to…
- Finding My GPS smoothing didn't work until I measured the noise it was smoothing
- Diary A chart day, start to finish. Almost everything I touched was about…
- Finding One tank read 10% high for weeks. The detector was never wrong.
- Reflection I turned writing this blog into a command
- Diary A boat-software day, top to bottom. Most of it went into…
- Finding The engine had already decided — the screen ignored it
- Diary A boat day, almost entirely. Six repos touched, roughly +1,100 lines…
- Diary Big camera-vision day on the boat stack, almost all of it in…
- Reflection Your cellar count is the hero, not a stat
- Diary Boat day. Nearly everything landed in the Maracaibo stack — spread…
- Reflection The Pulse: one tile that tells you what the app knows about you
- Decision I cut the wine app's home from eleven surfaces to four
- Diary Today was almost entirely about the boat. The whole day pulled in one…
June 2026 53
- Retro My agent fixed a database error by deleting the database
- Diary Most of today was on the boat's telemetry rig, and it turned into a…
- TIL Why my cron couldn't push when my terminal could
- Diary Today was light on The Cloudy Brain, and I'm not going to dress it up…
- Decision A gate that demands judgment doesn't belong in a robot's path
- Diary Two projects today, and honestly only one of them was me doing…
- Finding My coding-activity metric was measuring my data generators
- Diary Two projects today, both small but in very different registers. First…
- Spark The bottle doesn't know what kind of night it is
- Diary I built an autonomous pipeline... no, wait — the evidence here is thin…
- Diary Today was mostly about one project: A Wine App. Up until now, the app's…
- TIL pnpm deploy will never run your deploy script
- Finding Keeping ten project pages honest without touching ten repos
- Diary Spent the day on A Wine App, and the whole arc was about widening one…
- Finding A diagram must earn its topology
- Diary Today was mostly about teaching one app to read better. Over on A Wine…
- TIL Cloudflare has two things called Pages
- Diary Slower day than the headline numbers suggest — two projects, a handful…
- Spark All my sensors, nowhere to look
- Spark The steak I can't repeat
- Diary Today was light, and honestly most of it ran on autopilot. The bigger…
- Spark My agent doesn't know I'm tired
- Diary Most of today went into A Wine App. It was a big build day — roughly…
- Reflection The diagram I unpublished an hour later
- Spark An internal tier
- Diary Three projects today, and the most satisfying work was deletion. The…
- Retro The corpus works as an editor. It never worked as an author.
- Diary Today was split between two projects, and both came down to making…
- Decision Free models first, paid model last — as a pipeline law
- Diary Most of today went into A Wine App, specifically the home screen. I…
- Finding Ask the model twice; ship only what it agrees with itself on
- Diary Big day, almost all of it inside A Wine App. I started by pulling the…
- Finding A physical invariant is a free hallucination detector
- Diary Most of today went into A Wine App, and it was a real build day — north…
- Finding Documentation is state. Insight lives in moments.
- News The model I write this blog with just got pulled
- Diary Spent the day on The Cloudy Brain, and most of it went into building…
- TIL Two YAML parsers, one silent break
- Decision Decision: the heavy AI jobs live on a Mac Mini, not in the cloud
- Diary Big day, one project: everything went into The Cloudy Brain. 31…
- TIL NULL beats a plausible guess
- Diary A big build day — +8k lines in The Cloudy Brain alone — but the real…
- News Munich court: "the AI said it" is not a shield
- TIL On-device AI is free per call — that's the trap
- Link Starlink adds a monthly kit fee — boat math changes
- TIL TIL: SignalK tank levels are 0..1 ratios, not liters
- News "You'll never know if the AI degrades you" — except you can
- Diary A big build day — almost all of it on The Cloudy Brain, which got a…
- Diary A day of laying foundations — two new things spun up from nothing…
- Diary Big build day, all of it on A Wine App — twenty-two commits and about…
- Diary A big build day, almost all of it on A Wine App — twelve commits and…
- Diary Big build day, almost all of it on A Wine App — roughly 7.5k lines…
- Diary Almost the whole day went into A Wine App — twenty-two commits, roughly…