tl;dr After four attempts and dropping $100k, we succeeded in using Opus to rewrite Postgres in Rust. We defined a number of skills and were able to build a repeatable process to rewrite Postgres files into Rust. After running up … Read the rest
pgrust passes 100% of the Postgres regression tests
pgrust is a Postgres rewrite in Rust that I’ve been working on with my friend Jason Seibel. It targets compatibility with Postgres 18.3, passes the PostgreSQL regression tests, and now also passes the isolation tests.
It is disk compatible with … Read the rest
The four horsemen behind thousands of Postgres outages
Postgres is great, but there are some very common problems that people have that can pretty easily lead to outages with Postgres. These aren’t just theoretical issues. From talking to a lot of startups, these are the things that actually … Read the rest
pgrust update: at 67% Postgres compatibility, and accelerating
… Read the restIt’s been a week since I published the original pgrust post. pgrust is my attempt to rewrite Postgres in Rust. My ultimate goal is to build a database that is safer to work with so that I can work
pgrust: Rebuilding Postgres in Rust with AI
… Read the restI’ve written dozens of blog posts about Postgres internals. Postgres is one of the greatest databases out there. But from chatting with a lot of my friends at startups, I’ve seen consistent challenges. Two weeks ago I started rebuilding
Simple Rules for Building Simple Systems
Once a design of a system meets all the business constraints necessary, my next priority is to make the system as simple as possible. By simple, I mean a system that is both easy to understand and easy to change. … Read the rest
An Algorithm for Passing Programming Interviews
Over the past few years, I’ve interviewed with a dozen or so companies and have completed ~50 or so individual algorithm problems. I’m frequently given feedback that I did a great job at the algorithms problem. In this post, I’m … Read the rest
Tools in My Toolbox
One of the most important skills I believe programmers need is to understand when to use certain tools. My typical process for solving a problem is to go through each tool in my toolbox and see which one would solve … Read the rest
Advent of Code: Day 3
Day 3’s problem was an interesting one. We are given two wires and have to find the point where the two wires intersect that’s closest to the origin. As usual, we’ll approach this problem in two steps. First we’ll parse … Read the rest
Advent of Code: Day 2
Day 2 of the Advent of Code is a classic – implement a virtual machine for a simple assembly like. Eric Wastl, the creator of the AoC, has been writing challenges like this for years before the AoC even existed! … Read the rest