How the Hourglass Won
The Internet's architecture is viewed as an hourglass: broad application support at the top, narrow waist (IP), wide choice of links below IP
Topics /
The most popular blog posts about systems & performance on Hacker News. 399 posts.
The Internet's architecture is viewed as an hourglass: broad application support at the top, narrow waist (IP), wide choice of links below IP
Cliff L. Biffle blogged a great write-up of a debugging odyssey at Oxide with the title Who killed the network switch? Here’s the bit that jumped out at me: At the time that code was written…
Using a glibc version that is different from the system-provided one shouldn't require the use of containers, as I recently heard someone claim. Let's take a look at how dynamic linking works and what the options are.
Why an Intel Mac’s up to 40 Gb/s from Thunderbolt 3 is less than an Apple silicon Mac’s up to 40 Gb/s from USB4, and how you can benefit from it.
ARM64EC (and ARM64X) Explained Probably the most confused looks I get from other developers when I discuss Windows and ARM64 is when I used the term " ARM64EC ". They ask is the same thing as ARM64? Is it a different instruction set than ARM64? How can you tell if an application is or ARM64 ARM64EC?
A follow-up on a previous story, in which we identify another problem, and perhaps confirm a theory through a theorem.
Let's blink an LED on Pine64 Ox64 BL808 64-bit RISC-V Single-Board Computer... With Nim Programming Language and Apache NuttX Real-Time Operating System
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…
I regularly hear or read statements like this: “X is slow but this is to be expected because it needs to do a lot of work”. It can be said about an application or a component in a larger system, and can refer to other resources that aren’t time. I often find these profoundly unhelpful as they depend much more on the…
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…
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…
In my previous post , I mentioned that I found a number of oddities when digging through the details of various Atari 8-bit file systems. I...
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…
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.
Update: I have created an awesome-minisforum-v3 GitHub repository to list information for Minisforum V3 users, including some workarounds for the issues mentioned in this review. Quest for the Ideal
Last week I noticed some unexpected assembly code in a function calling std::unordered_map::find (yes, I know, friends don’t let friends use STL, but that is a topic for another discussion). I decided to investigate a bit and it turned out to be quite a journey. It was a Clang compiler, ARM-based platform, I will use…
MEGA888 merupakan link alternatif slot gacor tutorial terbaru cara bermain game slot88 server indonesia penuh kesempatan menang maksimal teori konspirasi nyata pasti maxwin.
Creating standalone Linux applications with lone.
There are two main aspects to compile times that matter to developers. Cold build times, when building from scratch and warm build times when you’ve already built and you’re rebuilding following an edit. This article focuses on warm build times, which for rapid iteration during development is what generally matters…
In this article I describe the DEFLATE algorithm that GZIP implements and depends on. The DEFLATE algorithm uses a combination of LZ77, Huffman codes and run-length-encoding; this article describes each in detail by walking through an example and developing source code to implement the algorithm. My aim is to…
LMAX is a retail financial trading system that can handle that can 6 million orders per second on a single JVM thread. The business logic runs in-memory surrounded by disruptors using event sourcing.
in which two women are driven into madness by poorly documented cab signaling gear
Last weekend I wanted to get some inspiration to write some TLA+ spec and I got my hands back on the paper Time, Clocks, and the Ordering of Events...
Okay, sorry for the clickbait. NixOS is not reproducible according to the Reproducible Builds definition. I keep reading people making this claim repeatedly on orange-site, even LWN.net made a similar claim when writing about Nix and Guix earlier this week.1 Along with their recently launched wiki. So, what is the…
Given that events play such a central role in event-driven architecture, there’s an astonishing lack of agreement on what should be contained in an event. This may be rooted in the fact that, depending on your perspective, events fulfill different purposes.
This is directly inspired by Engineering for Slow Internet. I figured I’d give running with dogshit internet on my desktop and phone a go to see how poorly (or well!) specific applications behave. This is not an in-depth review of the behavior, but just my general impressions running for a few hours on 200kbit…
What is bufferbloat, why is it bad, and what to do about it
Request rate is the number of requests that arrive, or are serviced, or leave, during some period.
An investigation into the internals of Sidekiq, one of the most popular Ruby background job processors.