Mistakes engineers make in large established codebases
What I've learned from ten years working on projects like this
The latest blog posts to take off on Hacker News. 6,945 posts.
What I've learned from ten years working on projects like this
I found out about pool allocators some time ago, and I really liked its simplicity and high performance, so I decided to write my own. This article was initially inspired by Dmitry Soshnikov’s article . It’s also worth mentioning that this article was discussed in Hacker News .
Learn how NAT traversal works, how Tailscale can get through and securely connect your devices directly to each other.
a bunch of weird and random technical stuff
Is 1970s distributed systems theory finally meeting 2020s kernel development?
System76 built their first workstation-class Arm PC, the Thelio Astra, and it's marketed for streamlined autonomous vehicle development. But I'm not an automotive developer, just someone who enjoys Linux, Arm, and computing. So I was excited to spend a few weeks (which turned into a few months) testing the latest…
Explore the challenges of building a change data capture (CDC) pipeline for Postgres. And see how Sequin used a watermark design inspired by Netflix's DBLog.
Apparently shlx is a “medium latency” (3 cycles) instruction on Alder Lake. My disappointment is immeasurable, and my day is ruined.
How Postgres’ v7 UUIDs are made monotonic, and why that’s a great feature.
Some engineering patterns that sound good but almost never work as intended
Cheers to the Next Level!
Or, how to break all the tools that parse the "Fixes:" tag Kees Cook There was a recent discussion about how Linux's "Fixes" tag, which ...
How does the Linux kernel represent processes and their state: A breakdown of task_struct and mm_struct
The previous iteration of this article was too technical, too long, and contained a lot of controversial points, so I've been thinking for a long time about rewriting it completely, making it accessible to the non-technical folks, and exposing the deeper core issues that still make Linux a questionable match for the…
Memory-Dump-UEFI is a UEFI application for dumping the contents of RAM.
Several weeks ago we received a bug report from a customer that said their game was crashing when using IL2CPP scripting backend. QA verified the bug and assigned it to me for fixing. The project was quite big (although far from the largest ones); it took 40 minutes to build on my machine. The instructions on the bug…
I recently picked up an embedded project in which I needed to build a highly customized full system image with minimal boot times and NetBSD was the best choice for it. Let's look at why its build system helps.
In the context of out-of-order microarchitectures, I was under the impression that execution units remain occupied until the µop they’re processing is complete. This is often not the case.
No clustering algorithm is perfect and you must make a trade-off.
The Ivory Tower is a blog about software engineering and development philosophy by Anders Sundman.
This is not at all news, but it comes up often enough that I think there should be a concise explanation of the problem. People, myself included, like to say that POSIX time, also known as Unix time, is the number of seconds since the Unix epoch , which was 1970-01-01 at 00:00:00.
VPR (pronounced “Viper”) is Nordic Semiconductor’s first RISC-V processor, landing in the new nRF54H and nRF54L lines of SoCs after their initial announcements in April and October of 2023 respectively. Readers of this blog are familiar with my long-running obsession interest in RISC-V (see my RISC-V Tips and RISC-V…
On the concepts involved in a running program. What happens, exactly, when you double click an executable file, or launch it from the command line, and it begins to execute?
How to connect a USB4 SSD to get better performance from an Intel Mac. Should you buy a Thunderbolt 4 hub, or a Thunderbolt 5 dock? Do any of these live ‘up to’ their claimed performanc…
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
This is the fascinating story of how researchers used Bloom filters cleverly to make SQLite 10x faster for analytical queries. These are my five-minute notes on the paper SQLite: Past, Present, and Future
Introducing S2, a serverless stream store that makes durable real-time streams feel as simple and scalable as object storage.
The RAM myth is a belief that modern computer memory resembles perfect random-access memory. Cache is seen as an optimization for small data: if it fits in L2, it’s going to be processed faster; if it doesn’t, there’s nothing we can do. Most likely, you believe that code like this is the fastest way to shard data (I’m…
Welcome to Waqas' blog