Systems ideas that sound good but almost never work
Some engineering patterns that sound good but almost never work as intended
The latest blog posts to take off on Hacker News. 569 posts.
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
Launched in 1998, the 380Z was one very fine ThinkPad. It was the last ThinkPad to come in the classic bulky and rectangular form factor. It was also one of the first to feature a huge 13.3" TFT display, powerful 233MHz Pentium II, and whopping 160 megs of RAM.
Researchers at the University of Helsinki and Cambridge attempted to build a faster SQLite using modern programming paradigms like io_uring and disaggregated storage. They demonstrate up to a 100x reduction in tail latency. These are my notes.
Bartek Wydrowski, Google Research; Robert Kleinberg, Google Research and Cornell; Stephen M. Rumble, Google (YouTube); Aaron Archer, Google Research
This post is about building an LLM inference engine using C++ and CUDA from scratch without libraries.
A while ago, someone on the fediverse mentioned "OS/2's virtualization features" to me. I don't remember who it was, sorry. I had the chance to take a look at this today.
macOS 15.2 was released a few days ago, with a surprise. A terrible, awful surprise.
Hot code reloading with Elixir and Erlang
C2y makes memcpy(NULL, NULL, 0) and other zero-length operations on null pointers well defined. This removes a source of bugs that may result in security issues.