Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
Automating my 35mm film scanning pipelineA story about replacing a creative workflow and focusing on another.
Shan Hannadige describes automating the tedious parts of scanning 35mm film from a Canon AE-1P, building a pipeline and a site to present the results, and what it means to delegate one creative workflow to focus on another.
5 min · 1,257 words
marimo launches marimohub, a self-hostable open-source platform to store, manage, and run marimo notebooks on your own compute, storage, and SSO—without operating a separate database.
5 min · 1,089 words
A Minsky machine in ncurses terminfo
Nicolas Seriot shows how ncurses terminfo parameter expansion can simulate a 2-counter Minsky machine—hosting a Fibonacci program in your terminal, clocked by /usr/bin/top.
5 min · 1,222 words
Introducing wpd: Faster, safer WebP decoding
Halide Compression open-sources wpd, a Rust WebP decoder aiming to be faster and safer than libwebp — with strong multi-thread gains and a feature table targeting libwebp replacement.
2 min · 551 words
Writing code by hand is over, forever
After 18 years of daily hand-coding, Elio Capella Sánchez describes how Claude Code crossed a threshold at Filestage — more merged PRs with the same bug rate — and why high-level abstractions still matter for agents.
4 min · 883 words
The Era of Programming Languages Exploration is upon Us
programming_languages research perspectives There was a recent thread on the TYPES mailing list with researchers speculating about the future of our field given the disruptive effects of AI tools on programming in general.
6 min · 1,374 words
I recently watched the talk by Scott Jenson titled "Are we really going to use the same Desktop UX forever?" https://www.youtube.com/watch?v=V7AfAcQwLW0&t=445s. He's a great presenter, really articulate and concise. The kind of speaker that you'd gladly listen to for 3+ hours if given the chance. Which for a talk about window management is quite the compliment.
20 min · 4,654 words
How Futhark’s compiler keeps sparse Jacobian graph-colouring work efficient on the CPU—why not every data-parallel kernel belongs on the GPU, and what that means for the language’s CPU backend.
7 min · 1,610 words
Zig 0.17.0 release notes: five months of work from 206 contributors across 925 commits—language, standard library, and toolchain changes on the roadmap toward 1.0.
46 min · 10,569 words
One month coding with GLM 5.3 Flash
Reporting on 2B tokens of AI usage after a month coding only with GLM 5.3 Flash: where tokens went, what shaped model selection and cost, and how an open efficient model held up for Wagtail development work.
3 min · 735 words
Introducing Mobile Dev for Codex
Callstack introduces Mobile Dev for Codex: live iOS and Android previews, annotations, native/JS logs, and performance profiling inside the Codex app.
3 min · 646 words
New in llama.cpp: Decision Models
Text Classification • 0.1B • Updated • 297 • 4 Community Article /v1/systemone endpoint. You send a state (text, JSON, a screenshot) and typed questions.
4 min · 812 words
Back in June of 2024 at RustFest Zürich, the Const Generics project group first discussed a new design for supporting more complex uses of generic parameters in Const Generics. Since then, we've continued to refine the initial design and have implemented the new design as a family of features dubbed "Generic Const Arguments" (GCA for short).
11 min · 2,501 words
SequenceHash: multihashing for the rest of us
Multihashing is one of those cryptographic tasks that’s easy not to think about too much. This is unfortunate, because multihashing is a common stumbling point when cryptographers try to use hashes.
13 min · 2,942 words
Spring AI Modular RAG and TypeSafe Jev: Retrieve More, Keep Only What Answers
Christian Tzolov walks through Spring AI modular RAG plus TypeSafe Jev: rewrite/expand the query before retrieval, then keep only chunks that actually answer—contrasting naive QuestionAnswerAdvisor RAG with a live demo pipeline.
6 min · 1,487 words
From Vibe-Coding to Verification: The Engineering Case for Deterministic Checks in the AI Era
Tamiz Uddin argues that vibe-coding—accepting AI output because it “looks right”—is unsafe for production, and that modern engineering skill is verification via tests, types, and deterministic gates.
12 min · 2,796 words
Bez: Generating a browser engine from specs and testsA generated web rendering engine verified against Chromium, Firefox, and WebKit
Bez generates Rust web-engine code from specifications, admitting candidates only when three shipping browsers agree on geometry—aiming for complete or content-scoped engines that update by regeneration.
2 min · 368 words
Agentic-SDD: Giving Claude Code Agents a Real Engineering Process
Agentic-SDD is a Claude Code plugin that gates coding agents through a six-stage require→plan→analyze→implement→verify→fix pipeline with on-disk status, specialist agents, and a bundled knowledge-search engine.
6 min · 1,303 words
OxCaml - Stack Allocations and Locality
The motivation behind OxCaml is to make OCaml a great language for performance engineering, with the eventual goal being to upstream these language extensions to vanilla OCaml (OxCaml](https://oxcaml.org/)). OxCaml maintains backwards compatibility with OCaml, which implies that every OCaml program is a valid OxCaml program. The language extensions range from additions to the type system that rule out data races, to control over allocations that reduces garbage collection pressure, to management
7 min · 1,697 words
What Makes LLM Tokenization Slow?Exploring the performance of byte-pair encoding by optimizing a GPT-2 tokenizer.
Andrew Healey dissects GPT-2’s reference BPE tokenizer, measures what makes tokenization slow, and shows concrete optimizations on the hot path of LLM products.
11 min · 2,547 words