It is indeed often the system. Now what the article is not talking about is that sometimes people do everything they can so that the system doesn't change.
Interesting point, let's not forget those devices indeed don't give us enough access to run whatever operating system you want on them.
Ever wondered about how Windows 3 was architectured? This is an interesting read. It was really complex though, you can really tell it's in the middle of several transitions.
We really have nice facilities in the kernel to squeeze some extra performance nowadays.
Or why competitive multiplayer games which anti-cheat probably will never make it to Linux. I'm not into this kind of games but this is an interesting piece on comparing the differences between the Linux and Windows kernels. It also show that with some care from the game developers, those anti-cheats might not be necessary in the first place.
A good list of things to consider when designing systems. And indeed in case of success the result looks probably boring.
You like weird bugs involving shell implementations, syscalls and filesystems? Somehow I do, this was an interesting one.
A very important tool to have around and know how to use. This is a neat introduction.
Interesting paper about the use of sandboxing in several ecosystems. It's not used much directly but there are clear differences in term of complexity to set them up.
Need to play with file descriptors on Unix systems? This is a fun and gentle introduction.
Or why it's hard to truly evaluate performance in complex systems. We often test things in the optimistic case.
Nice table of the Linux syscalls. You can search for them based on ABI and version. It even points to their definition.
They keep being fascinating to me. Nice reflections showing how they can impact regular systems as well. I wonder why OCaml seems to be so prevalent in that space though.
If you forgot that the memory allocator can matter greatly depending on your workload.
Nice post explaining the need of ACPI or Device Tree and how they are leveraged by kernels.
Nice performance comparison of file handling in multithreaded context. It's surprising how slow MacOS seems to be there.
Interesting comparison. Ada doesn't fare as good as I'd have expected as soon as pointers are in the mix... but there is a twist, you can go a very long way without pointers in Ada.
A harsh reminder that getenv is not thread safe...
Nice experiment in minimalism. It's nice to see we can still build tiny systems like that.
Interesting article. There's clearly space for both languages indeed. They'll end up having each their own ecological niches, probably with some overlap.