Plan 9: The way the future was
We know what Unix's future used to look like. It was designed by the research group at Bell Labs that built Unix and called ‘Plan 9 from Bell Labs’. [ 154 ] Plan 9 was an attempt to do Unix over again, better.
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 696 posts.
We know what Unix's future used to look like. It was designed by the research group at Bell Labs that built Unix and called ‘Plan 9 from Bell Labs’. [ 154 ] Plan 9 was an attempt to do Unix over again, better.
Hamidreza Soleimani's Blog - Just about what I know
A few weeks back, I was at XDC and gave a talk about various current and past input stack developments (well, a subset thereof anyway). On...
By Devine Lu Linvega
Now that I have your attention. I've been mulling TenFourFox's future for awhile now in light of certain feature needs that are far bigger ...
In this piece, I disagree with Joe Armstrong and Rob Pike, basing my argument on the differences between vending machines and gift boxes (illustrated with drawings carefully prepared in Microsoft Paint).
It’s surprisingly hard to give a good answer (the question was raised in this article). It depends on how you count, and the details are interesting (to me anyway). To not leave you hanging: …
At Tuesday Night Live with James Hamilton at the 2016 AWS re:Invent conference, I introduced the first Amazon Web Services custom silicon. The ASIC I showed formed the foundational core of our second generation custom network interface controllers and, even back in 2016, there was at least one of these ASICs going…
Posts and writings by Lennart Poettering
I've been running QubesOS as my main desktop since 2015. It provides good security, by running applications in different Xen VMs. However, it is also …
When writing lock-free code in C or C++, one must often take special care to enforce correct memory ordering. Otherwise, surprising things can happen. Intel lists several such …
This is the Part 2 of a series. Feel free to read the prequel for more context: Building the fastest Lua interpreter automatically Building a good VM for a dynamic language takes a ton of engineerin
When you have to traverse some sort of a nested data structure (say, a binary tree), one approach is to create a stack that remembers where in the tree you are. Another, much more elegant approach, is to write the function recursively. A recursive function employs the machine stack used to implicitly implement…
I’m a huge fan of interactive programming (see: JavaScript , Java , Lisp , Clojure ). That is, modifying and extending a program while it’s running. For certain kinds of non-batch applications, it takes much of the tedium out of testing and tweaking during development. Until last week I didn’t know how to apply…
Here’s a fun bit of trivia: malloc on Linux never fails [due to the obvious cause]. In this post, we’ll show that this indeed is the case, and explore why…
ZFS keeps winning over btrfs on many fronts. Here's a short list that explains exactly how.
1. Nobody really knows how to do it 2. If you think you have a reliable system for doing it, you're probably doing the computer's job -- "...
This is the story of a clever trick that's been around for at least 35 years, in which array values can be left uninitialized and then read during normal operations, yet the code behaves correctly no matter what garbage is sitting in the array. Like the best programming tricks, this one is the right tool for the job…
tl;dr: Rebuilding a target because its mtime is older than the mtimes of its dependencies, like `make` does, is very error prone. redo does...
I've been looking at what would be needed in order to have a global view of CRLs in browsers. At the moment revocation has three problems: privacy (by asking the CA about the status of a certificate you're revealing to them what you're looking at), performance (OCSP checks take hundreds of milliseconds which adds up…
Building a robust background worker system that leverages transactional isolation to never work a job too early, and transactional durability to never let one drop.
A few years ago I wrote [_The World in Which IPv6 was a Good Design_](https://apenwarr.ca/log/20170810). I'm still proud of that article, bu...
QubesOS provides a desktop operating system made up of multiple virtual machines, running under Xen. To protect against buggy network drivers, the …
FatELF is a file format that embeds multiple ELF binaries for different architectures into one file. This is the Linux equivalent of what Mac OS X calls "Universal Binaries."