Optimizers need a rethink
Thoughts on how compiler and database optimizers should evolve in the future, focusing on predictability and guarantees instead of smarts and heroics
The latest blog posts to take off on Hacker News. 6,945 posts.
Thoughts on how compiler and database optimizers should evolve in the future, focusing on predictability and guarantees instead of smarts and heroics
Why are streaming joins so tricky? Discover the hidden complexities of real-time data, and learn how to tame the infinite stream!
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…
I commented on Lobsters that /tmp is usually a bad idea , which caused some surprise. I suppose /tmp security bugs were common in the 1990s when I was learning Unix, but they are pretty rare now so I can see why less grizzled hackers might not be familiar with the problems.
As much as Andy loves PostgreSQL, there is one part that is terrible and causes many headaches for people. Learn what it is and why it sucks.
Asynchronous code does not require the rest of your code to be asynchronous. I can’t say the same for blocking code.
Understand .NET 9.0 LINQ performance improvements, faster iterator and the usage of Span
Many companies are running old Postgres versions and missing out on many improvements. The reasons: Postgres works and upgrades suck.
In September, machine learning engineers at Mozilla filed a bug report indicating that Firefox was consuming excessive memory and CPU resources while running Microsoft’s ONNX Runtime (a machine learning library) compiled to WebAssembly.
Kenton Varda introduces the next iteration of Cloudflare's Durable Object platform, which recently upgraded from a key/value store to a full relational system based on SQLite. For useful background on …
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…
Someone in one of my online communities recently asked about why their Node command was dropping output when piped to another command:
Fuzz testing decades-old software can turn up some curious behaviors
Explore Tandem NonStop architecture principles and their relevance to high availability in software systems like Elixir, Gleam, and Erlang.
I recently released papaya, a fast and feature-complete concurrent hash table for Rust. In this post I want to dive into the design and research that went into creating it, as well as why you might consider using it over existing solutions.
I read a wonderful twitter thead about CGI and the birth of the web and this triggered a thought I've been kicking around. > Wasm is the new CGI And to be cle...
It should have good performance and be able to hold many entries. Reads are more common than writes. I know how I would do it already, but I’m curious about your approach.
If you read my previous article on DOS memory models, you may have dismissed everything I wrote as “legacy cruft from the 1990s that nobody cares about any longer”. It's time to see how any of that carried over through the 16-bit to 64-bit evolution.
The CAP Theorem is a fundamental theorem in distributed systems that states any distributed system can have at most two of the following three properties.
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 is part of a series on the design of zest . See the list of posts here .)
How a modern AVX instruction shares a similar design with a 1985 blitter chip, by Arnaud Carré
(Here begins a comment written by John Carmack in 2014, about an email he sent to a programmers’ mailing list in 2007.)
Introduction When modeling a Postgres database, you probably don’t give much thought to the order of columns in your tables. After all, it seems like the kind of thing that wouldn’t affect storage or performance. But what if I told you that simply reordering your columns could reduce the size of your tables and…
Nick Botticelli's personal website
Sometimes, a seemingly simple and obvious solution can lead to a series of problems later on. This is especially true when adding retries.
Perfctl is particularly elusive and persistent malware employing several sophisticated techniques
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.
The slides, the video, and the text behind my presentation at EuroBSDCon 2024 and BSDCan 2025 - Why and how we're migrating many of our servers from Linux to the BSDs.