Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 6,947 posts.
How StackOverflow Scales with SQL Server
Bad news: that page is gone. We try to keep our site as accurate and up-to-date as possible so that if you’re reading advice here, you can rely on it. That means from time to time, we decide that a page isn’t a great reference anymore, and the work to update it is beyond what […]
Coming Soon – Graviton2-Powered General Purpose EC2 Instances
We launched the first generation (A1) of Arm-based, Graviton-powered EC2 instances at re:Invent 2018. Since that launch, thousands of our customers have used them to run many different types of scale-out workloads including containerized microservices, web servers, and data/log processing. The Operating System Vendors…
Let's Embed a Go Program into the Linux Kernel (2023)
Today, we would like to present a lesser-known feature of the Linux kernel. Instead of launching a program from a file system, regardless of whether it's virtual or not, it is also possible to embed a user-space program directly into the kernel image itself and start it from there.
Simpler Backoff
Exponential backoff with jitter is de rigeur for making service calls. This code, or something like it, probably looks really familiar: func do(ctx context.Context) error { const ( maxAttempts = 10 baseDelay = 1 * time.Second maxDelay = 60 * time.Second ) delay := baseDelay for attempt := range maxAttempts { err :=…
The implications of UEFI "Secure Boot" for Linux users
Last month Steven Sinofsky from Microsoft announced new requirements for manufacturers wanting to ship Windows 8 systems, including a feature called “Secure Boot”. Canonical, together with Red Hat, today publishes a white paper highlighting the implications of these requirements for users and manufacturers. The paper…
GPS Time Rollover Failures Keep Happening, But They’re Almost Done
This is week "1111111111" in the GPS system. Tomorrow morning it will roll over to week "0000000000". How well will various systems handle this change? Not well, judging by what we've seen so far!
UtahFS: Encrypted File Storage
Several months ago, I realized that I had a lot of sensitive files on my computer (my diary, if you must know) that I was afraid of losing, but I didn’t feel comfortable putting them in something like Google Drive or Dropbox. Introducing UtahFS.
Gryadka is not Paxos, so it's probably wrong
In the original version of this post, I claimed that gryadka , which claims to be built on top of a Paxos-backed CAS register, was incorrect by providing a “counter-example”.
Big Sur bug prevents upgrades to the next version
If you work with Apple in some capacity, you know that they’re not very likely to admit mistakes. I’m not aware of Apple publishing postmortems after outages or providing details about known issues. So it’s up to the developer and admin communities at large to help each other learn about outages and potential causes…
/dev/audio
Software Engineer in Auckland, New Zealand.
Running Doom on Our Custom CPU and Going Viral
I get kidnapped by the MIG while adding DDR3 to our CPU
Summing ASCII encoded integers on Haswell at almost the speed of memcpy
“Print the sum of 50 million ASCII-encoded integers uniformly sampled from [0, 2³¹−1], separated by a single new line and sent to standard input.”
Upgrading my old Chumby 8 Linux kernel
As I mentioned in my last post, I spent a good chunk of my spare time over the past 6 months working on a project I’ve been thinking about for over a decade. I bought a Chumby 8 in 2011. It’s an 8″ touchscreen device powered by the Marvell PXA166 processor. It is essentially a souped-up digital picture frame with…
Using OpenBSD Relayd(8) as an Application Layer Gateway
I was lucky enough to attend to EuroBSDCon 2023 and offered the opportunity to talk about one of my favorite OpenBSD stock daemon: relayd(8). The talk was recorded and made available on the EuroBSDCon YouTube channel. . One may check the EuroBSDCon 2023 program for more material. This post attempts a reboot of the…
Update and Build Prep
All systems operational
Linux Pressure Stall Information (PSI) by Example
[Discuss this article and read other’s comments on the subject on this thread on Hacker News.] The three fundamental building blocks of computers, CPU, I/O and RAM can come under pressure due to co…
Taking a Look at CLR Thread Pool 'Thread Injection' Algorithm
As part of a never-ending quest to explore the CoreCLR source code I stumbled across the intriguing titled ‘HillClimbing.cpp’ source file. This post explains what it does and why.
68 things the CLR does before executing a single line of your code
Because the CLR is a managed environment there are several components within the runtime that need to be initialised before any of your code can be executed. This post will take a look at the EE (Execution Engine) start-up routine and examine the initialisation process in detail.
How Dirty COW works from the Linux kernel’s perspective
Dirty COW (CVE-2016-5195) is one of the most publicised local privilege escalation vulnerabilities in 2016, courtesy to its catchy name, cute logo, potential damages, and the fact that it was discovered in the wild by a researcher Phil Oester, meaning it was already under active use at the time of discovery.
Decomposing Transactional Systems
Every transactional system must execute, order, validate, and persist transactions.
The Lost Atomic Update on Loongson CPU
杰哥的{教学,运维,编程,调板子}小笔记
RISC-V Linux on ESP32
I've been playing with the idea of running linux on ESP32 since the first days I've met its more robust module, the WROVER-B, on paper it se...