Using Postgres for Everything
What Postgres for Everything means to a dev deploying all sorts of databases. Spoiler: it’s about collapsing your stack and keeping it simple.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 569 posts.
What Postgres for Everything means to a dev deploying all sorts of databases. Spoiler: it’s about collapsing your stack and keeping it simple.
Compression on the web is getting a big boost from shared dictionary compression. Learn what they are, how they work, and how they could substantially reduce load times even further than standard compression for both static and dynamic resources on the web.
Recently, I've been working on a new approximate nearest neighbor search algorithm called RaBitQ . The author has already provided a C++ implementation that runs quite fast. I tried to rewrite it in Rust (yet another RiiR). But I found that my implementation is much slower than the original one. Here is how I improve…
For a lark I made an ext4 file system with a billion empty files. https://gitlab.com/larswirzenius/create-empty-files has the program I wrote for this. I've done this before , but this time I made it a little simpler for me to do it again: everything in one Rust program rather than clunky scripts.
ISRG has been investing heavily in the Rustls TLS library over the past few years. Our goal is to create a library that is both memory safe and a leader in performance. Back in January of this year we published a post about the start of our performance journey. We've come a long way since then and we're excited to…
“Summing ASCII Encoded Integers on Haswell at the Speed of memcpy” turned out more popular than I expected, which inspired me to take on another challenge on HighLoad: Counting uint8s . I’m currently only #13 on the leaderboard, ~7% behind #1, but I have already learned some interesting things. In this post I’ll…
Why do I do this to myself? I have no idea. Anyway, let's learn how to eat disk space.
Inspired by the 1BR Challenge, I wanted to see how much it would cost to transfer 1 billion rows from Postgres to Snowflake. Moving 1 billion rows is no…
Going in depth into the Address Sanitizer internals.
A large contributor to the "feel" of an Operating System comes from the software it chooses to include by default. There are entire linux distributions that differentiate themselves just based on the default configured software. There is room for so many options of base software because there are in general many…
TDOA Sound Localization is determining the source of a sound when all you know is the differences in the time of arrival of the sound event…
How we scrape callstack information from the LuaJIT engine for profiling
IBM announced IBM® LinuxONE 4 Express, extending the latest performance, security and AI capabilities of LinuxONE to small and medium sized businesses and within new data center environments.
C. J. Date's Sigmod 1983 keynote, "Database Usability", was prescient. Usability is the most important thing to the customers. They care les...
Despite all of its warts, I like working in Linux. I've used it for 15 years and I've never been as productive in another environment. Most people claim that it's the configurability of Linux that keep the users coming. That may have attracted me at first, but what attracts me now is its programmability.
When I look inside a chip from the popular 7400 series, I know what to expect: a fairly simple die, implemented in a straightforward, cost-e...
What is QUIC protocol and how does it work ?
Thoughts on how compiler and database optimizers should evolve in the future, focusing on predictability and guarantees instead of smarts and heroics
In this blog post, you will learn different methods to harden your OpenBSD system, and in which situation they are useful
Windows paths have been WTF-16 -encoded for decades, but module names in the import tables of Portable Executable are octets. If a name contains values beyond ASCII — technically out of spec — then the dynamic linker must somehow decode those octets into Unicode in order to construct a lookup path. There are multiple…
This post is meant to guide you through some of the lessons I’ve learned while working with multi-terabyte datasets. The lessons shared are focused on what someone may face as the size of the…
Updated in 2025-09. The ELF object file format is adopted by many UNIX-like operating systems. While I've previously delved into the control structures of ELF and its predecessors, tracing the historical evolution of ELF and its relationship with the System V ABI can be interesting in itself. The format consists of…
UC Santa Cruz researchers show that it is possible to eliminate the most computationally expensive element of running large language models, called matrix multiplication, while maintaining performance.
I wanted to explore different ways of communicating between different processes executing on the same machine, and doing so as fast as possible. We're focussing on high speed inter-process communication (IPC), but some of these approaches can be extended across a network. We'll do this exploration in Rust.
One of the most common reasons for opening Activity Monitor is to check the % CPU of processes that might be running out of control. How accurate are those figures, though, and should you believe t…
At ISC 2024, Intel announces Aurora is the fastest AI supercomputer, has broken the exascale barrier, and details the importance of an open ecosystem in HPC and AI.
We estimate the magnitude of speed improvement for optimization solvers and computer hardware in the 35 years from 1989 to 2024.
XNU kernel buffer overflow, introduced in macOS 14.0 and fixed in macOS 14.5.
A tour on how DOS was able to use most of the 1 MB address space of the 8086
Amazon MemoryDB for Redis is a database service designed for 11 9s of durability with in-memory performance. In this paper, we describe the architecture of MemoryDB and how we leverage open-source Redis, a popular data structure store, to build an enterprise-grade cloud database. MemoryDB offloads…