Latest

Writing

Essays and field notes on software, open source, communities, and the systems around them.

Buy Your Friends Batteries

Your next group birthday gifts should be home batteries. Most birthday gifts are forgotten within a year. Batteries save your friends money every day and keep essential devices running when the power goes out. A 5 kWh battery costs about €1,600. That is expensive for one person and easy for a group: eight people contribute €200 each; sixteen people contribute €100 each; thirty-two people contribute €50 each. Create a battery birthday club. Buy each friend a battery on their birthday until everyone has one.

Read article

Positive Mindset, Prepare for the Worst

Pessimism has a strange advantage over optimism: it can be wrong and still look intelligent. If I predict disaster and it happens, I was right. If it does not, I can say that vigilance prevented it. The optimist has no such protection. To be optimistic is to say what you want, act as if your actions matter, and risk looking naïve. This makes pessimism hard to give up. Every disappointment confirms it, while every success can be dismissed as temporary or lucky. What begins as caution can become an identity.

Read article

I want extern "fil-c"

Rust’s C FFI gives us access to decades of useful software, but the bargain is backwards. We use Rust to prove memory safety at compile time. Then we cross an unsafe boundary and trust the C library to respect a contract that neither language can enforce. The legacy code remains the cheap path, while rewriting it is the expensive one. Fil-C offers a more interesting bargain. It recompiles C and C++ with capabilities, runtime checks, and a concurrent garbage collector. Memory-safety violations panic instead of becoming exploits. Existing software often needs few or no source changes, but it pays for safety at runtime.

Read article

Cookie Law for Robots

Consent without choice When a website asks me to accept cookies, I usually click the button before I have finished reading it. I suspect most people do. When researchers asked participants to join a fictitious social network, most never opened the terms or the privacy policy, and those who did spent about a minute on a document that takes half an hour to read. This is strange, because the legal point of consent is to give us a genuine, informed choice. Instead the notice has trained us to continue without choosing.

Read article

nixpkgs has a due-process problem

Nixpkgs has a due-process problem. A project has a due-process problem when people have real power but the rules around it are vague. Nixpkgs committers can merge and close pull requests. Reviewers can block them. Teams can remove commit access and decide policy. Yet the project does not always say what standard applies, who decides, or how a mistake can be corrected. This is not an argument against strict review. Security, licensing, attribution, maintainer time, and contributor conduct all matter. The glibc work I recently submitted changes the dynamic loader and rebuilds the world. It should be reviewed unusually carefully. I have also made bad merges.

Read article