Windows NT vs. Unix: A design comparison
NT is often touted as a "very advanced" operating system. Why is that? What made NT better than Unix, if anything? And is that still the case?
The latest blog posts to take off on Hacker News. 6,945 posts.
NT is often touted as a "very advanced" operating system. Why is that? What made NT better than Unix, if anything? And is that still the case?
Following my previous post on rate limiting with GCRA, leaky buckets without the buckets , I reviewed my old notes on rate limiting for Exim . I thought I should do a new write-up of the ideas that I hope will be more broadly interesting.
In this post, we are going to take a deep dive into pointer tagging, where metadata is encoded into a word-sized pointer. Doing so allows us to keep a compact representation that can be passed around in machine registers. This is very common in implementing dynamic programming languages, but can really be used…
How does Linux move from an awake machine to a hibernating one? How does it then manage to restore all state? These questions led me to read way too much C in trying to figure out how this particular hardware/software boundary is navigated.
It'll bite you some day
I want to provide a smooth experience to my site visitors, so I work on accessibility and ensure it works without JavaScript enabled. I care about page load time because some pages contain large illustrations, so I minify my HTML. But one thing makes turning my blog light as a feather a pain in the ass.
Asynchronous IO (also known as "non-blocking IO") is a technique applications use to allow performing of many IO operations without blocking the calling OS thread, and without needing to spawn many threads (i.e. one thread per operation). In the late 1990s/early 2000s, an increasing amount of people using the internet…
Immutable infrastructure and its tooling has obvious benefits, but the way its current adoption is being done is locking us up in a room whose walls are padded with yaml and we could be losing a lot.
I have completed an initial new port of systemd to musl. This patch set does not share much in common with the existing OpenEmbedded patchset. I wanted to make a fully updated patch series targetin…
An introduction to signals: a written version of my talk at RustConf 2023.
One of the hardest things for people to understand with distributed systems is that eventual consistency is the same thing as eventual inconsistency. The very...
The difference in security defaults between Debian and Red Hat.
The first argument of a program’s command line, typically reflecting the program’s name/path and often referred to as argv[0], can in most cases be set to an arbitrary value without affecting the process’ flow. Making the case against argv[0], this post demonstrates how it can be used to deceive security analysts…
The Internet's architecture is viewed as an hourglass: broad application support at the top, narrow waist (IP), wide choice of links below IP
I reversed the firmware updater of my Toshiba HDD to be able to update it on Linux. The following commands should work, USE AT YOUR OWN RISK :
The Championnats d’Europe d’Escalade (climbing) in Villars-sur-Ollon has just finished. I couldn’t make it to all the events, but did see the finals of the “Speed” event. It’s a series of head-to-head elimination races up a 15m tall wall, resulting in an eventual victor after enough rounds.
🚀 3.5 sec to Linux userspace code
in which two women are driven into madness by poorly documented cab signaling gear
The {fmt} formatting library is known for its small binary footprint, often producing code that is several times smaller per function call compared to alternatives like IOStreams, Boost Format, or, somewhat ironically, tinyformat. This is mainly achieved through careful application of type erasure on various levels…
As you may, or may not know, I wrote paraLLEl-RDP back in 2020. It aimed at implementing the N64 RDP in Vulkan compute. Lightning fast, and extremely accurate, plus the added support of up-scaling on top. I’m quite happy how it turned out. Of course, the extreme accuracy was due to Angrylion being used as reference…
Around a decade ago, I was happy to learn about bcache – a Linux block cache system that implements tiered storage (like a pool of hard disks with SSDs for cache) on Linux. At that stage, ZFS on Linux was nowhere close to where it is today, so any progress on gaining more ZFS features in general Linux systems was very…
Teens wrote me a secret. I found them.
Userspace wireguard is fun!
What It Takes to Run The Witcher 3 on RiSC-V
There are significant changes happening in distributed systems.
An overview of erasure coding, its trade-offs, and applications in distributed storage systems.
Errata: Some significant mistakes were pointed out to me by email by Brendan MacDonell. I have included errata, but the results might not be reliable, so take this with pinch of salt! vmsplice is too fast Some programs use a particular system call “vmsplice” to move data faster through a pipe. Francesco already did a…