Latest

Writing

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

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

New laptop - Thinkpad P14s

~4.5 years ago I bought Dell XPS 15. It was a powerhorse without a match for that size/price. I must admit that I wasn’t happy about it: Webcam is positioned below the screen, recording my typing fingers instead of my face. Battery getting swollen (and being forced to fly that way wasn’t fun), after replacing it happened again. The CPU fan is loud and throttles a lot. There’s only one company in Slovenia that does warranty repairs and takes the law-specified 40 working days to finish their job (replacing a battery, for example). Too heavy (over 2kg) I’ve decided to go back to Thinkpads, as they are unmatched by the overall experience and quality to run Linux.

Read article