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. 4,387 posts.
Some engineering patterns that sound good but almost never work as intended
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.
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
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.
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.
Hot code reloading with Elixir and Erlang
By all accounts, Pat Gelsinger is affable, technically sharp, hard-working, and decent. Those who have worked for him praise him as a singularly good manager. In January 2021, when Gelsinger was abruptly named the CEO of Intel, this is more or less all I knew of him — and I found myself urgently needing to learn much…
This post was made possible through hard work and determination. Do not feel frustrated if this stuff does not click immediately and remember, the source of truth will always be the source code. For us, our source code is raw assembly. That said it’s important you understand these techniques in detail because when…
I couldn't remember every UUID so I wrote them all down
Cores are the new megahertz, at least for enterprise servers. We've gone quickly from 32, to 64, to 80, to 128, and now to 192-cores on a single CPU socket! Amazon built Graviton 4, Google built Axiom, but if you want your own massive Arm server, Ampere's the only game in town. And fastest Arm CPU in the world is…
Coding in Rust and others; making coding videos.
Near the beginning of November, nixCraft posted this challenge on Mastodon, daring people to take the No NAT November challenge and disable IPv4 for the month, relying only on IPv6:
tl;dr Raspberry Pi engineers tweaked SDRAM timings and other memory settings on the Pi, resulting in a 10-20% speed boost at the default 2.4 GHz clock. I of course had to test overclocking, which got me a 32% speedup at 3.2 GHz! Changes may roll out in a firmware update for all Pi 5 and Pi 4 users soon. My quest for…