Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
C++ futures part 1: The mental model
Raymond Chen starts a series on C++ std::promise, std::packaged_task, std::async and std::future by modeling them as a single shared state he calls the source, and sketches how that source produces, stores and hands off a value or exception.
3 min · 688 words
(Post-Quantum) Cryptographic Right Answers
Filippo Valsorda updates the "Cryptographic Right Answers" tradition (Percival, Ptacek, Latacora) for the accelerated post-quantum transition, giving developers concrete recommendations for encryption, key exchange, signatures, hashing, passwords, TLS and more.
17 min · 4,016 words
Turn a WiFi 7 Router into a 320Msps Software Defined Radio Receiver
A GitHub project that repurposes a WiFi 7 router as a ~320 Msps software-defined radio receiver, documenting the hardware path, sampling approach, and how to get RF samples out of commodity WLAN silicon.
5 min · 1,059 words
Running RAG with a (small) language model in the browser
Bart de Goede extends his static blog's in-browser semantic search into full retrieval-augmented generation by running small language models client-side with transformers.js on WebGPU or WASM, and evaluates how faithful and useful answers from Qwen3, Gemma and other small models are compared with larger ones.
9 min · 2,160 words
Writing a Demoscene Intro for the ZX Spectrum
Mark Dastmalchi-Round walks through tools, techniques and challenges of writing a retro ZX Spectrum demoscene crack intro, covering the pipeline from assets to a runnable production.
31 min · 7,074 words
Making big downloads resumable in Firefox
Olivia explains that Firefox's default network.http.response.timeout of 300 seconds seems to break resuming large downloads, and that setting it to 0 (or a very large value) in about:config made big downloads resumable and more stable in her testing, with wget -c as a fallback.
1 min · 292 words
Radim Marek explains how PostgreSQL's TABLESAMPLE really samples: SYSTEM picks whole pages so rows come in bundles, BERNOULLI with REPEATABLE drifts after an UPDATE, and hashing a key gives a stable sample, plus when each approach fits.
12 min · 2,718 words
I can't use generic lambdas at compile-time, now what?
Braden Ganetsky follows up his 'Break MSVC and Clang' post with a deep dive into working around a Clang bug that blocks using generic lambdas in constant evaluation, explaining how he got a compile-time C++ technique to work on Clang 16 onward.
16 min · 3,598 words
C++26 Contracts: Introduction to Preconditions and Postconditions
C++ Stories introduces C++26 contracts: pre() and post() on function declarations and contract_assert() inside functions, why they beat assert, the ignore/observe/enforce/quick-enforce evaluation semantics, compiling examples with GCC, const parameters in postconditions, avoiding side effects in predicates, predicate cost, and why contracts are not a replacement for input validation.
9 min · 2,052 words
Use the Tello's GameSir T1d controller as a Linux gamepad
A guide to making the BLE-only GameSir T1d controller sold with the Ryze/DJI Tello drone work as a regular Linux gamepad by speaking its proprietary GATT protocol and exposing it as a virtual input device, with every button verified.
7 min · 1,703 words
A practical introduction to arena allocators in C: what they are, why grouping allocations into one region makes memory management faster and less leak-prone, and a step-by-step personal implementation with code, plus the trade-offs of using them.
9 min · 2,184 words
Fetching AMD SEV Reports (With Zig)
A walkthrough of AMD SEV-SNP attestation: what confidential VMs protect against, how to retrieve a signed attestation report on Linux and through Coconut SVSM and OpenHCL, and how to verify its certificate chain and validate it against expected policy using a Zig library.
4 min · 969 words
Nish Tahir explains "system one" decision models like TypeSafe AI's Jev, which answer in a single forward pass by masking the vocabulary to a fixed set of options, then walks through fine-tuning a small model on multiple-choice data and calibrating its confidence with temperature scaling, with a companion GitHub repo.
4 min · 1,019 words
Implementing a 3-2-1 Backup Strategy with restic and Backblaze B2
In order to follow a proper 3-2-1 backup strategy, you should have three copies of your important data: two local on different media types, and one off site. For local, I have a [DAS](<https://en.wikipedia.org/wiki/Direct-attachedstorage>) with two 14TB drives configured in a RAID 1 array[1](<htt...
3 min · 660 words
PGO or not PGO this is the dilemma. Step 2Step 2: How it works
The second of Marco Tusa's three-part Percona series on profile-guided optimization explains how PGO works as a two-pass build: instrumented binaries record per-edge control-flow counters during a training workload, and the compiler then uses those counts for inlining, branch layout, hot/cold splitting and code ordering, which is why MySQL's MTR test suite transfers well as training data.
5 min · 1,174 words
What Is poppy.json? The /.well-known File That Tells AI Agents How to Work With Your Company
A walkthrough of poppy.json, the Personal Agent Protocol (PAP/Poppy) discovery file at /.well-known/poppy.json: required fields for organization, OAuth, agent/API/web interfaces and extensions, plus a fictional worked example of Draft 0.1.
4 min · 888 words
Iframes that finally fit their content
Ahmad Elalfy explains Chrome 154's responsive iframes, which let an iframe grow to its content height with one CSS property, as long as the embedded page opts in with a meta tag. He compares it with the old postMessage and ResizeObserver approach and covers fallbacks, layout shift and the privacy risk of allowing any origin.
6 min · 1,287 words
Voxlocal: a minimal voice agent written in Rust
Sam Khawase walks through building Voxlocal, a minimal local voice agent in Rust, explaining each stage of the pipeline from audio capture and Whisper speech recognition through text normalization, embeddings and retrieval, LLM tool routing and Piper speech synthesis, and measuring where the time goes.
13 min · 3,024 words
Why Is Speculative Decoding Fast?
Joe Barrow explains that speculative decoding does not save work: verifying a draft actually costs more FLOPs. It is fast because single-token decoding is memory bound, so drafted tokens use idle GPU compute at small batch sizes. That is why it can waste compute at high throughput, and why dynamic per-sequence speculation depth helps.
4 min · 897 words
A GNU Guix blog tutorial on extending Guix with new guix commands: listing available extensions, the existing extension packages and meta-package, and walking through creating an extension's project directories and Scheme module so it can be distributed and used by others.
5 min · 1,143 words