Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
Passkeys are a trap. Do not use them.
An opinion piece for non-technical web users arguing that passkeys, while potentially more secure than passwords, can tie people to platforms through non-copyable, non-transferable and attested credentials, and recommending hardware security keys such as a YubiKey instead.
20 min · 4,646 words
Taylor Swift or Beyoncé? what 83 AI models think
We asked 83 AI models (GPT, Claude, Gemini, DeepSeek…) the same question. 89% picked Beyoncé. See every answer, who searched the web, and who dissented.
10 min · 2,392 words
Unikernels were hard. Key word: were.
Geoffrey Huntley writes up his conversation with Justin Cormack about the unikernel revival: why MirageOS-era unikernels were hard, the operating system as design debt, porting missing libraries with AI agents, Nix machine tests, security trade-offs, and languages designed for agents, with chapter links to the recording.
13 min · 2,922 words
Please Stop the Slop: What AI Slop Is and How to Spot It
Tejas Kumar defines AI slop—cheap machine-generated content with no human value—after it showed up in the comments under his own post, explains how to spot it, cites the research behind its spread, and argues being human still wins, closing with a petition.
16 min · 3,572 words
Some quick thoughts on Unit Testing ActivityPub
As part of his NLnet-funded work on the ActivityBot framework, Terence Eden describes the problems he has hit writing unit tests for ActivityPub: validating usernames and text, validating messages, verifying HTTP signatures, and testing communication with other servers. He is publishing his tests and a collection of sample messages and signatures for other projects.
2 min · 524 words
PopVax founder Soham Sankaran announces that its broadly protective COVID-19 vaccine candidate PVX-001 entered a first-in-human Phase I trial in Melbourne, with 14 participants dosed and no serious adverse events as of 6 October 2026, and describes the company's full-stack approach from computational protein design to in-house mRNA manufacturing.
16 min · 3,593 words
Responding to George Hotz's short post on American lobbying, Antonin Carette argues from a European perspective that lobbying is simply legal corruption, pointing to Wikipedia's definition of corruption, which explicitly includes lobbying and describes power abused within the law.
1 min · 324 words
the problem (communication between the compiler, the build system, and beyond)
An essay arguing that operating systems miss optimization opportunities because compilers, build systems, package managers, filesystems and schedulers do not share dependency and resource information, with C examples of whole-program optimization and ideas for deduplication, easier development and better scheduling if they communicated.
13 min · 2,988 words
Multi-agent LLM coordination in a Pokémon 2v2 environment
Oliver Grabner introduces an open environment where two LLM agents share a side in 4-player Pokémon Showdown battles and can talk before every turn, measuring whether natural-language coordination wins more battles and what it costs.
3 min · 737 words
Last weekend marked the four-year anniversary of Ludicon. I started Ludicon because I believed that working independently would let me do my best work. Building software on my own, I can move fast, take risks, and focus on problems others don’t consider practical, or slow down and go deep into rabbit holes without having to justify myself. I’m happy with the quality of the work I’ve produced, excited about what is yet to come, but disappointed with its commercial success so far. In retrospect, 2022 was not a particularly good time to start a game middleware business. In…
4 min · 854 words
Wanted to download an ISO, ended up writing a kernel exploit
deafbeef bought a TP-Link EAP770 Wi-Fi 7 AP that corrupts large downloads; with the device already EOL, TP-Link's shell blocked the sysfs fix, so he wrote a kernel exploit against his own access point to flip two zeros and make transfers reliable.
13 min · 3,102 words
What I Self-Host, What I Don’t, and Why
A personal tour of a mini-PC home server running 17 native and 11 Podman services under systemd — what the author self-hosts (media, photos, etc.), what they deliberately don't, and the reasoning behind each choice.
14 min · 3,240 words
Will Lachance refines his Implementation Decision Records (IDRs), short documents meant both to get better output from LLM coding agents and to leave a durable record of implementation decisions, arguing they should capture the problem, goals, non-goals and intended result rather than a step-by-step plan.
3 min · 609 words
Kyle Kukshtel writes up his Indie Rodeo talk on making games more legible to AI coding agents: practical ways to structure a game project, tooling and feedback loops so agents like Claude Code can iterate faster and more reliably on game development.
27 min · 6,159 words
What I've been seeing lately (in software)
A personal survey of software culture amid generative AI: normalizing pro-human discussion, exacting design and organizing, the job question, beautiful work, and a growing European push toward self-hosted and public-sector open source.
4 min · 848 words
When ldaxr Doesn't Work: Exclusive Accesses and Cacheability on AArch64
Joel Siks debugs why spinlocks built on ldaxr/stxr exclusive accesses hung on a real Raspberry Pi 5 while working in QEMU in his hobby AArch64 kernel floss, tracing it to memory cacheability attributes and the differences between QEMU, the Arm architecture manual and the Cortex-A76.
12 min · 2,658 words
There's little that's "inevitable" about AI
Iris Meredith of deadSimpleTech examines the common claim that AI is inevitable, asks what that would actually mean for a technology, and argues that by the boosters' own implicit standards of cost, adoption and durability, large language models fall well short of being inevitable.
16 min · 3,794 words
Why 'externalized' proofs of cyclic trait impls does not work
Niko Matsakis compares modular proofs, where an impl must establish its supertraits, with external proofs, where users of the impl carry that obligation, and argues that external proofs are incompatible with Rust as designed, so cyclic trait impls require a modular strategy.
7 min · 1,585 words
An opinionated hands-on comparison of Isabelle/HOL, Lean, HOL4 and Agda, formalizing Euclid's proof of the infinitude of primes in each and judging them on user experience: dependent types versus LCF-style kernels, tooling, libraries and automation, with the full proofs included.
36 min · 8,226 words
11 of 23 Core Open Source Projects Run on 1 or 2 People
Linux Stans walks through a sheets.works analysis of 23 projects that phones, browsers and servers depend on, finding 11 had only one or two regular contributors in the past year, covering maintainers of tzdata, xz, sudo and SQLite, the funding that does or does not reach them, and r/linux pushback.
13 min · 3,007 words