Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
Just say no to OpenAI and Anthropic
Security engineer Micah Lee argues against paying OpenAI and Anthropic, citing the frontier labs' AGI ideology, and explains why open-weight models (e.g. GLM) are now good enough for complex work, with private inference options like Tinfoil and cheap ones like OpenCode Go.
7 min · 1,529 words
Building a VMM from scratch, #0: Why BoxLite is replacing libkrun
BoxLite explains why every box runs in a micro-VM on libkrun today, why they are replacing it with an in-house VMM, and how this build-in-public series will walk through writing a VMM from scratch.
4 min · 984 words
Paul Anthony Webb reacts to Deno's team moving to Cloudflare and winding down runtime development within a year, the second VC-backed tool he depends on to be handed to the community. He announces Ende, his own Deno fork that drops Node compatibility and extras like Deploy, KV and Jupyter, aiming for a December soft launch.
3 min · 735 words
nobloat/poll – designing a minimal poll tool
After a frustrating Doodle experience, the author builds nobloat/poll: a self-hostable, single-binary Doodle alternative in plain Go with no external dependencies, and walks through link-based ownership without signup, calendar invites, proof-of-work spam protection, JSON-file storage instead of a database, reliable mail sending, and shrinking the binary.
13 min · 2,884 words
The Unreasonable Effectiveness of VEX in NixOS
Faced with a flood of new CVEs, the author explains why SBOM-based scanning and reachability analysis break down for whole operating systems, and how NixOS's reproducible package graph makes it practical to generate VEX (Vulnerability Exploitability eXchange) statements, demonstrated with the experimental nixos-vex project.
6 min · 1,296 words
I paid people to try and follow my README
Terence Eden describes paying people about €25 each to follow his ActivityBot README aloud over video calls, the many confusing steps, jargon and assumptions they uncovered, and why testing documentation with real people beats relying on your own judgement or an LLM.
3 min · 668 words
Changelog 32 - Slick Seventeen, Awesome Applications, Universal USB Tools
LineageOS announces version 24.0, based on Android 17, ahead of the project's 10-year anniversary, covering security patch status across branches, new and updated core apps such as the Canvas image editor, universal USB tooling, and the list of supported, added and moved devices.
17 min · 3,941 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
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
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
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
Attack of the Vibe Coded Photoshop Clones
Shokunin Studio tracks the dozen-plus AI 'vibe coded' clones of Photoshop and other Adobe, Microsoft, Avid and Autodesk apps, compares them to earlier waves of automated cloning, and argues vibe-cloned piracy undermines the incentive to build original creative software.
7 min · 1,496 words
Ending the Casuarina Linux Experiment
Wesley Moore announces he is winding down Casuarina Linux, the distro he started: things continue as-is until the end of October 2026, after which package updates stop, with infrastructure staying up until the end of 2026. He explains why he is ending the project and what happens to the package repo and website.
4 min · 831 words
Zerobrew: A faster alternative to Homebrew
Zerobrew is an open-source package manager positioned as a faster Homebrew alternative, documenting install flow, architecture, and claimed speedups up to about 6.6×.
8 min · 1,811 words
Harness²: Recursive Agent Harnessing for an Open WorldRecursive Agent Harnessing for an Open World — Google Cloud AI Research & Northwestern
Google Cloud AI Research and Northwestern introduce Harness², an open-source framework that recursively improves an AI agent's execution harness (prompts, tools, memory) via Propose–Probe–Compose without ground-truth verifiers, gaining up to 11.5 points on WorkBuddy-Bench.
13 min · 3,004 words
August in Servo: CSS Grid, text selection, and more!Plus accessibility and navigation improvements.
The Servo project's monthly update covering Servo 0.6.0 and 417 commits landed in August: CSS Grid enabled by default, new web platform features and DOM APIs, text selection, accessibility, navigation and session-history fixes, a SpiderMonkey upgrade, embedding API changes and performance work.
9 min · 2,143 words
We gave init() developers an ESP32-S3 computer as a conference badge. They put DOOM on it.
WorkOS shipped ESP32-S3 computers as init() 2026 conference badges; attendees put DOOM, Tamagotchi, voice assistants, and flight trackers on them. A recap of the badge hardware and what ~500 people built.
5 min · 1,195 words
The reverts will continue until morale improves
PostgreSQL committer Peter Eisentraut reflects on the unusually large wave of feature reverts after PostgreSQL 19 entered beta, why quality bar and unfinished design led to cutting ~8–10 significant features, and what that means for PostgreSQL 19 and 20.
5 min · 1,145 words
The stable release of Python 3.15.0, with 5,643 commits from 1,012 contributors: sentinel and frozendict built-ins, UTF-8 by default, explicit lazy imports, unpacking in comprehensions, a significantly faster experimental JIT, the Tachyon sampling profiler, new typing features, a stable ABI for free-threaded builds, and frame pointers enabled by default.
3 min · 704 words
A statement on the Tor Project's relationship with Mullvad
The Tor Project explains why it is continuing its technical collaboration with Mullvad after concerns over a political donation by a Mullvad co-founder, while pausing proactive co-branding and revising how Mullvad Browser is described on Tor's channels to avoid implied endorsement.
2 min · 538 words