SPIRIT, Friction, Dark Software Factory
The concluding chapter of my SPIRIT series. 🙂 Let's start off with a recap: Substrate Self: The foundation. Team: Shifts the bar from whether the documentation is good to our foundation is…
Interesting Stuff - Week 34, 2026
A short roundup this week, but the two posts pair up better than they have any right to. Both are about doing useful work when you can’t see the whole picture yet: one at the level of streaming…
Obnam: backup chunks
Goal My goal for today is to introduce a new chunk type to represent an entire backup. That means, one snapshot of the live data. Plan Add a new variant Chunk::Backup that contains or references all…
Doing it for the CICs – SS7 & SIGTRAN Support in FreeSWITCH (mod_isup)
Recently there’s been some really fun projects to resurrect telecom protocols and standards that are (rightfully) almost dead – like 1xBTS. I’ve always had a soft spot for ISUP /…
Automated organisation is here
Connect your AI to the Johnny.Decimal MCP server.
I'm Unsure if Someone Yoinked my Project Idea
I applied to give a talk this year at Clojure Conj. After good bit of work, I submitted the following blurb: A Practical Type Linter for Clojure Type validation is great, but manually writing…
Bookmarks - llm, data, programming, design
These are some things I’ve wandered across on the web this week. 🔖 Do you WANT contributors? An open-source project’s first few artifacts are click-through: license (checkbox), README (template),…
20 Major Mistakes in Software Development
Software development has achieved a lot since the days of Binary, Cobol, etc. However, there are mistakes about software development that were performed in the early years of this direction and are…
Chroma Syntax Highlighting via Caddy
After learning that Chroma is how Caddy renders Markdown into HTML, I started thinking it’d be neat to use Chroma to do viewing with styling/syntax highlighting of any supported files that I…
7 Stages of Software Development Cycle
This is the time when latest technology pushes the evolution of virtually every field. Today most business and personal activities rely on the work of computer systems which need to provide accurate,…
Post #91: Reading the Profiler Intro
Today, some reading on Godot’s profiler… (Link: https://docs.godotengine.org/en/stable/tutorials/scripting/debug/the_profiler.html#an-overview-of-the-profiler )
I Love Open Source Software Development
Photo by Jefferson Santos on Unsplash I release software when I think it is finished. This is not the same thing as it being finished. MenuTidy, QuitProtect and RainbowApple all worked on the day I…
LLVM for the Rest of Us
LLVM is everywhere. It sits underneath an enormous amount of modern software and touches everything from ordinary CPU compilation to GPU development, programming languages, machine learning systems,…
Note 2026-08-22T19:27:10.000-07:00
Via Calishat (@researchbuzz@researchbuzz.masto.host) on Mastodon: WHOA. #HTML #ASCII #stunting https://www.youtube.com/watch?v=3YtygAx_C6A A Walkable ASCII Cyberpunk City in One HTML File - YouTube…
From demo to tool
Yesterday I posted a demo that showed the creation an interactive world consisting of ray traced boxes. Since that is just a demo, there were limited things you can do with it. Yes it’s a…
Reworking Drafts in 11ty
I have had some difficulties working out how to do draft posts in 11ty and went with a standard solution that has worked well over the past few years. However there was one big drawback for me. Last…
Cache-Control for LLMs
Claude Sonnet 5 charges \$2.00 per million fresh input tokens. Writing them into a five-minute cache costs \$2.50, and every read after that costs \$0.20 (see here). So two identical calls cost…
A new stealth LLM on openrouter: stealth/ox-alpha
I experimented with a newly released free model on openrouter.ai, asking it (via a Gemini‑generated prompt) to code a complete Pac‑Man clone using only HTML, CSS, and vanilla JavaScript. I then…
Security Baked Into the JVM: sixteen Subjects on the wire
Alice calls the order service. The order service calls the ledger on her behalf. At the second hop, the ledger has to decide whose authority the debit is being made under. Most stacks answer badly.…
3.39 Does Complexity Actually Help? The Virtue-of-Complexity Autopsy
KMZ's virtue of complexity survives only under a zero-intercept restriction and a per-draw scoring rule. Fix either and it reverses: 15 predictors beat 12,000, and buy-and-hold beats both.
Making presentations with Inkscape
About six months ago, I came into difficulties while making a presentation with LibreOffice and started exploring alternatives like LaTeX Beamer and ipe. However, due to some bugs and limitations, I…
Building Python Bindings for Sprocket
This summer I participated in Google Summer of Code , a program where students are sponsored by Google to work on open source software. My project was to write Python bindings for Sprocket, a…
Svelte Kit query.live first thoughts
Initial thoughts on one of the new remote function APIs in Svelte Kit 3/Svelte 6
Rewriting the OnixOS Build System from Scratch (And Moving to Multiarch)
Developing an independent Linux distribution sounds romantic from the outside. “You are building your own OS, you own the stack, and you have the backing of a passionate community!”
The New Shape of Product Engineering
Airtable spun one product into a separate company before selling the rest. I think that detail explains most of this year.
We're all 10x engineers now. So what do we do?
AI tools have turned us all into 10x engineers. Not only can we generate code 10x faster, or maybe even more, than before, but we can also generate 10x the tech debt and security vulnerabilities if…
Relearning Kotlin in lazy mode (with sbx)
Relearning Kotlin without installing anything: let an agent set up jbang, Kotlin and ten lessons inside an sbx sandbox, then turn that setup into a reusable kit.
Big Ticks and Small Ticks in Equity Microstructure
Learn how to parse LOBSTER limit order book data with Python and Polars, compute key microstructure metrics, and understand big-tick vs. small-tick equity trading.
Building Anki Cards with Claude Code
A working method for generating Anki cards with AI that you can actually trust, covering the HTML rendering bug that eats numeric cutoffs without an error, why ChatGPT alone produces a deck that…
Tools I'd take from industry to academia: orchestration tools
Since I finished my PhD and started working in industry I have been introduced to a lot of new tools and ways of working that weren’t at all common in academia at least not in any research…
Miniroll UI Revamp
Miniroll, the blogroll platform I've been building has come quite a way since it's first inception. You can create and manage blogrolls, embed them on your site, create aggregated rss feeds, fetch...
Elevation Grid
This is a simple project to visualize the surface of the earth with a LED matrix. It is a way to play with open topographical data. The concept is pretty straightforward. Imagine a rectangle slowly…
Journal
I like Rippling engineering blog, but it doesn't expose an RSS feed. And that's how I like my blogs. To add offense to the injury, their page uses client-side pagination, and can't be easily…
On Reading The Code
Engineers love to argue about what “is the way.” Some of what we argue about is recurring: tabs vs. spaces, Vim vs. Emacs. There is no true right or wrong. It isn’t that Vim is better than Emacs, and…
Post-Quantum Signatures with crypto/mldsa: What ML-DSA Actually Costs
crypto/mldsa lands in go1.27rc1 with full crypto/x509 and crypto/tls integration. I signed real documents, built a certificate chain, ran a live TLS 1.3 handshake and measured exactly what ML-DSA…
Six months building a game with AI, after never finishing one before
A retrospective on building a deep multiplayer browser strategy game with AI, from a web developer who had never finished a game, and what it taught me.
Keeping Shai-Hulud off the Mélange
Unless you’ve been keeping your head in the sand, you may have heard of Shai-Hulud. I’m not talking about the giant worm from Frank Herbert’s Dune novel , but the self-replicating supply-chain worm…
Some musings on AI and what some people are talking about it
Opinionated notes from an internal Zalando unconference on agentic engineering. Covers three themes: documentation and knowledge bases in an AI era, why ROI matters once tokens carry real cost, and…
datasette-keyboard-shortcuts: adding keyboard shortcuts to datasette
datasette-keyboard-shortcuts is a Datasette keyboard shortcut plugin I published on Github and on PyPi.
Login with Passkeys in a .NET MAUI App
I’ve been digging through the .NET MAUI Preview 7 changes, and there’s one addition that deserves a bit more attention than a bullet point in some release notes. .NET MAUI now has a cross-platform…
tmux: orchestrating agents with send-keys and capture-pane
tmux is a 2007 terminal multiplexer that turns out to be the most native orchestration layer AI agents have: one session per agent, driven by any principal — human or model — with send-keys and…
Declarative WebGPU with S-expressions
This is pngine, a declarative format and runtime for WebGPU I've been working on for the past 2.5 years: ( shader-module :name code :code " " " @vertex fn vertexMain( @builtin(vertex_index)…
Prototyping invites and reminders
Some rapid prototyping to help us explore our next big service iteration. I got to do some quick and dirty prototyping work this week. We want to add invites and reminders to the service. This will…
Convert images for the Samsung EM32DX
Now that I have a shell script to send images to my Eink display, I'm looking at improving the experience. Mostly by porting the tools to Perl to better integrate them with my other tools. But…
Weekly Activity Report — 16 August 2026 to 23 August 2026
Compiled entirely from public activity on meta.discourse.org, X, and GitHub. 💬 meta.discourse.org Sam shipped detailed admin-only AI logging for Discourse AI and clarified LLM setup,…
Contributions: Aug 16–23, 2026
8 merged, 8 in progress in workerd and node
Designing API Errors for Agents
Agents treat API errors as instructions. Clear validation, recoverable identifiers, and actionable messages keep them from wasting tokens on the wrong fixes.
Programmer Bookshelf
A person is known by the books he keeps Teams function better when members understand each other’s motivations and thought patterns. Why do we have a hard time understanding at work why our…