Today I LearnedRSS

September 2026

2026-09-18
Lecture Friday: Dependency Cultures

It's weird seeing Mitchell Hashimoto's philosophy. I already kind of do a version of that for my own projects. I don't often fork but more often just learn from others and then create my own better version that fits the task at hand. It depends on what you count as a dependency, but I have some number you can count on two hands for this website including the OS and database and such. I've written my own tools for a number of things where I thought I could do a more minimal version for my needs. I just don't like bloat, so in a way I ended up at the same place as the fork model.

And yet, when it comes to third party dependencies I run, I advocate for basically running on their release branch. A dependency you suddenly need to update after being left fallow for some time generally involves major changes and risk. And because I only run a hand full of fairly large reputable dependencies with few transitives, it's pretty easy for me to trust the process.

The hardest thing I've come up against is that both of my philosophies are pretty unpopular where I've worked. It really is the case that dependence is a cultural phenomena. If I don't know exactly what it's doing, I get frustrated. Other people get frustrated if they can't import a solution to their problems and be done with them.

When it comes to security problems though, I've lost count of how many "security updates" I've had to patch that have nothing to do with the dependency as deployed in our application. Patching "critical" vulnerabilities for obscure non-default configurations in components we don't even enable. Fork and prune saves significant overhead on all of that. The code is now internally maintained. A real part of the software and not some box you call into and pretend has zero overhead. You also get to actually read the dependency. At least for source dependencies. You'd also be much more aware how many binary blobs you actually depend on. To any Python programmers reading, you might be surprised how many binary blobs you depend on.

It also means you're free to reshape it because it lives in your software, not along side it. You're also free from someone else arbitrarily imposing changes on you. You acknowledge that it's your responsibility. It always was. Adding any dependency to your code takes on the responsibility for the actions of its maintainers. You just pretend that it's a line in a dependency file and not really your problem.

One of the interesting ideas was how the number of dependencies for a project could be related to the tooling for this problem. I'd like more data to see if that's really a trend or if it's a sampling artifact in their data. The problem with the fork model could just be there isn't tooling that encourages it and makes it simple to maintain. Interesting problem space. It's possible LLMs could make it easier to let you fork a dependency, slim it down to just the things you need, then track security patches in the upstream and compare them to your fork to see if you need to fix anything.

2026-09-12
The Internet Is Kind of a Predatory Cesspit Now

There's a bunch of absolutely banging quotes in this. I'm also apt to agree. The post itself claims to talk about the internet, but I don't see the line between internet and real life anymore. The mantra of the 2020s is, "If I conned you, that's because I'm smart." It's a pretty degenerate way to run a society. It's also a case of bad money driving out good. An economy run on deception doesn't seem stable in the long run, but it will produce enough jackpots to keep the illusion alive up until a few people own just about everything. At that point the poor masses no longer matter because markets only count ballots in your wallet.

You'd think you'd want something in your society to counter balance exponential runaways like this, but most people gave up on government and political power in the 70s and 80s, self-assured that individualism could solve all problems thanks to the boom in superhero narratives of the 40s.

2026-09-11
Lecture Friday: Solving the Right Problems for Engine Programmers

So many great takeaways in this. I spent a bunch of time "summarizing" for my post here but it piratically became a text transcript with different words. Just hit after hit.

2026-09-04
Lecture Friday: Fil-C: Garbage In, Memory Safety Out!

Yeah, this conference did not disappoint. This is huge! I run OpenBSD so I'm already totally fine to trade some performance for security. It's obviously not perfect (send patches), but this is one of the coolest projects I've seen in a long time. Like old school, you didn't think it was possible, well you're wrong because I did it.

It's not compiling the Linux kernel yet, but userland was covered for enough to do LibreOffice at least. Really exciting stuff for a spare time project. It'd be really cool if the Webkit, Firefox, or Chromium team took on the challenge of submitting patches to be able to compile those projects with Fil-C and have the first fully memory safe flagship browser (even if just as an optional build). OpenBSD might be easier than Linux given its smaller target, included userland, and still being just C for compilation.