As I’ve mentioned before on this blog, I really like using Nix and NixOS to manage and deploy my systems. Now that I’m doing more projects than ever, I’ve started experiencing some friction with the monolithic deployment model of NixOS—I have multiple git repositories in which I’m developing various projects and I don’t want to constantly redeploy my main DigitalOcean droplet NixOS config every…
My reading this year involved a lot of China: I read Breakneck by Dan Wang, Apple in China by Patrick McGee and House of Huawei by Eva Dou. These books taught me that you’re sorely mistaken if you think China just copies things, it has become the factory of the world by learning processes that are embodied in its workforce and factories which can’t just be copied by stealing IP, though it has done…
Standard WebSocket compression uses framed compression where every message is compressed independently of any other. This makes the compression more effective for larger messages, since the compressor has more ‘context’ to work with. To control our robots we’re sending about 10 messages per second that are medium-sized, serde flexbuffer-encoded messages, about 100KB each. These compress fairly…
Sending a ping by creating an ICMP socket normally requires root: you can’t create a raw socket to send ICMP packets without it. The ping command line tool works without root however, how is that possible? It turns out you can create a UDP socket with a protocol flag, which allows you to send the ping rootless. I couldn’t find any simple examples of this online and LLMs are surprisingly bad at…
This week I’ve submitted a report for a bug I found in Chromium, the first time I’ve done so. I wanted to show how I found the bug and to spread the word … to hopefully speed up the resolution of it.
Back after popular request, my favorite books I read this year! A decent year for reading, though I don’t have a big list of things I still want to read. If you have any suggestions of good things you’ve read recently, please send them my way!
Living in Amsterdam without owning a car is very easy—the public transit is excellent, cycling infrastructure is everywhere, and when you really need a car, there’s many car sharing services at your disposal. You can instantly rent a car for minutes, hours, or days right from your phone. It’s more affordable and flexible than owning a car, as long as you don’t need one daily.
Most of my career has been working on web services and mobile apps but at some point this got old for me—in high school I was part of a soldering club and I had this lingering feeling that I wanted to get into ‘harder’ problems. Two years ago I started looking around for companies in Amsterdam and came across Monumental where I’m now working to automate construction using robots, starting with…