Making Postgres scale
A war story of manually sharding Postgres across 6 databases under load, and the case for automating the process with a proxy instead of weeks of engineering effort.
The latest blog posts to take off on Hacker News. 543 posts.
A war story of manually sharding Postgres across 6 databases under load, and the case for automating the process with a proxy instead of weeks of engineering effort.
The “Exo 2” language allows programmers to write “schedules” that explicitly control how the compiler generates code. This allows performance engineers to transform simple programs into complex programs that do the same thing as the specification, but faster.
From simple object storage to sophisticated table management, builders have always shaped S3's evolution. Andy Warfield discusses why making complex systems simple remains our north star at AWS.
TinyKVM can be used to sandbox regular Linux programs or programs with specialized APIs embedded into your servers.
Take an interactive journey through the history of IO devices, and learn how IO device latency affects performance.
Git's new bundle-uri could help significantly speed up clones, but what bugs lurk within?
The worst "street-cred" I have is that I've been using tiling window managers for thirty-five percent of my life: five years with Sway and two...
The developer resources in just one place!
To start off, we can leverage the STL for this calculation. std::count_if() more precisely:
Musings on the representation, propagation and handling of errors in existing programming languages, as well as thoughts on future systems. (15K+ words)
We introduce Polars Cloud, the distributed cloud architecture to scale and run Polars anywhere.
We’re sharing details about Strobelight, Meta’s profiling orchestrator. Strobelight combines several technologies, many open source, into a single service that helps engineers at Meta improve effic…
Learn how Linux/FFmpeg C partial codebase is organized to be extensible and act as if it were meant to have “polymorphism”. Specifically, we’re going to briefly explore how Linux …
Databricks offers a unified platform for data, analytics and AI. Build better AI with a data-centric approach. Simplify ETL, data warehousing, governance and AI on the Data + AI Platform.
Hard as it may be to imagine, there was a time when Java was brand new and exciting. Long before it became the vast clunky back-end leviathan it is today, it was going to be the ubiquitous graphical platform that would be used on everything from cell phones to supercomputers: write once, run anywhere. Initially …
During the winter of 2024, I restored an IBM PS/1 486-DX2 66Mhz, "Mini-Tower", model 2168. It was the computer I always wanted as a teenager but could never afford. Words cannot do justice to the joy I felt while working on this machine.
Learn why SQLite-on-the-server fits hyper-scale systems when each tenant gets an isolated database with local reads, durable storage, and simple…
This week-end project started by browsing the open-data repository of Paris’ public transport network, which contains various APIs to query real-time departures, current disruptions, etc.The data reuse section caught my eye, as it features external projects that use this open data.In particular, the RATP status…
VectorChord-BM25 enhances PostgreSQL search with BM25 ranking, 3x faster than ElasticSearch. Supports BERT, Tocken, and Unicode tokenizers
A concise breakdown of what smallpond and 3FS are, how to use them, and if they're suitable for your data processing needs.
Json parsing in C using function pointers attached to a struct
TLDR; Starting from Linux kernel version 6.9 on x86_64, there’s a new config option CONFIG_X86_FRED enabled and it adds 16 bytes to the starting point of a task’s kernel stack area, so you’ll need to account for this extra padding in your “raw” kernel stack & pt_regs lookup code. Update: It turns out that there’s a…
A while back my machine was so messed up that I could barely ssh onto it. 3,200% CPU utilization - all 32 cores on the host were fully utilized! Compare that to my last bug where it only used 1 core, 100% Fortunately, it was using Java 17 runtime which...
Notes on installing and netbooting Windows 11 over iSCSI
So there are only 2 web browser engines, and it seems likely there will soon only be 1, and making a whole new web browser from the ground up is effectively impossible because the browsers vendors have weaponized web standards complexity against any newcomers. Maybe eventually someone will succeed and there will be 2…
A collection of 150+ nifty tips and tricks for macOS, for both system features like the Dock, Spotlight, and Mission Control and built-in apps like Safari, Mail, and Photos.
Over the last decade, we’ve seen great advancements in distributed systems, but the way we program them has seen few fundamental improvements. While we can sometimes abstract away distribution (Spark, Redis, etc.), developers still struggle with challenges like concurrency, fault tolerance, and versioning. There are…
I want to write a post about Pitchfork, explaining where it comes from, why it is like it is, and how I see its future. But before I can get to that, I think I need to share my mental model on a few things, in this case, HTTP/2.
I’m setting up an old Dell box (2011-era tech). I was migrating to some new boot drives and setting up grub on them again. Got to the point of deleting the old boot entries and adding new ones, and got an error like Could not prepare boot variable: No space left on device. Weird, because there weren’t that many EFI…