Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 6,947 posts.
OpenZFS – dRAID, Finally
Learn about dRAID in OpenZFS 2.1. Explore its data protection capabilities, distributed hot spares, faster resilvering, and enhanced performance in this article.
Why is memory reclamation so important for lock-free algorithms?
As it so happens, object lifetime tracking (or Memory Reclamation as I prefer to call it) is the current most difficult open problem in sha...
Look ma, no locks
We describe a systematic approach for replacing locks with tasks. In this approach thread blocking is replaced by properly scheduling of tasks.
VPR: Nordic's First RISC-V Processor
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…
About ZFS Performance
You likely know I like the ZFS filesystem a lot. ZFS stores the files in B-trees in a similar fashion as InnoDB stores data.
Some OpenBSD features that aren't widely known
In this article, you will learn about some OpenBSD features you may not know about
Understanding Postgres Performance
Update theres a more recent post that expands further on where to start optimizing specific queries, and of course if you want to dig into optimizing your infrastructure High Performance PostgreSQL is still a great read For many application developers their database is a black box. Data goes in, comes back out and in…
Finding the Lost Vikings – Reversing a Virtual Machine
After having fun reverse engineering the Comprehend Adventure game (Recomprehend) I was looking for a new DOS game reverse engineering project. Over the years various people have reversed a lot of …
Reducing the maximum latency of a bound buffer in Erlang
Recently I came across two great articles on the Pusher blog: Low latency, large working set, and GHC’s garbage collector: pick two of three and Golang’s Real-time GC in Theory and Practice . The articles tell the story of how Pusher engineers reimplemented their message bus. The first take was done in Haskell. During…
We sped up time series by 20-30x
This is a follow up post that dives into how we managed to achieve such huge performance gains for time series (among other things), and why it was so hard in the first place.
Clojure: Managing throughput with virtual threads
A blog mostly about Clojure programming
Pgsql: Create an infrastructure for parallel computation in PostgreSQL
Create an infrastructure for parallel computation in PostgreSQL. This does four basic things. First, it provides convenience routines to coordinate …
Stateful Experiments on AWS Lambda
In January 2017, we presented results to the European Commission on a FP7project called SyncFree, where we were tasked with a large-scale evaluationof the Lasp programming system. In this evaluatio...
Should you Rust in embedded yet?
A transcript of the talk I given in 2018 about the state of embedded programming in Rust.
A brief look at FreeBSD
Recently I've been playing around with FreeBSD in a virtual machine. The reason for this is that (if all goes well) some time in December my new Framework laptop will arrive, replacing my current X1 Carbon that is starting to show signs of old age (e.g. a keyboard where certain keys don't always work). Framework in…
Quicker serverless Postgres connections
Neon’s serverless driver redirects the PostgreSQL TCP wire protocol over WebSockets. This makes ordinary, fully-functional PostgreSQL connections accessible from new environments — including serverless platforms like Cloudflare Workers and Vercel Edge Functions. A key feature of these environments is that state is not…
UEFI boot: how does that actually work, then? (2014)
AdamW on Linux and more
PC-BSD Evolves into TrueOS
Hey TrueOS Community! I just wanted to take a few minutes to address what some of you may have already guessed. With a heavy heart, the TrueOS Project’s core
What I've Learned About Formal Methods in Half a Year
A retrospective on a few months of working on a graduate degree in computer science.
How should you build a high-performance column store for the 2020s?
Though most relational databases (like MySQL) are "row oriented", in that they keep rows stored together... experience has taught us that pivoting the data arrow so that columns, and not rows, are stored together can be beneficial. This is an old observation that most experienced programmers know about as the…
Running NetBSD on IBM ThinkPad 380Z
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.
64 bits ought to be enough for anybody
How quickly can we use brute force to guess a 64-bit number? The short answer is, it all depends on what resources are available. So we’re going to examine this problem starting with the most naive approach and then expand to other techniques involving parallelization. We’ll discuss parallelization at the CPU level…
Gremlin Free – Run chaos experiments to prevent outages
Get immediate access to Gremlin