RSSAmplifier

Blog

Notes on software development

Notes on software development

notes.eatonphil.comRSS feed ↗152 posts

Latest posts

Hourly updates to jobs and the feed

This is an external post of mine. Click here if you are not redirected.

Touring The Consensus, six months in

This is an external post of mine. Click here if you are not redirected.

The feature in OxCaml that more languages should steal

This is an external post of mine. Click here if you are not redirected.

WasmGC in Wasmtime

This is an external post of mine. Click here if you are not redirected.

Observing Go's garbage collector, old and new

This is an external post of mine. Click here if you are not redirected.

Doing the rounds

I'm leaving New York this December for the research triangle area of North Carolina. I've considered leaving New York many times for the same reason: lower cost of living to help me start a company without needing to force myself into a VC route. And now with The Consensus I have a project that 1) I fully believe in and 2) is going pretty well, so it's time to extend my runway. It has been a joy…

This week in infrastructure

This is an external post of mine. Click here if you are not redirected.

Of forks and clones and package management

This is an external post of mine. Click here if you are not redirected.

Python 3.14 garbage collection rigamarole

This is an external post of mine. Click here if you are not redirected.

Yeunjoo Choi from Igalia on Chromium

This is an external post of mine. Click here if you are not redirected.

Serving files over HTTP three ways: synchronous, epoll, and io_uring

This is an external post of mine. Click here if you are not redirected.

Automating Hermitage to see how transactions differ in MySQL and MariaDB

This is an external post of mine. Click here if you are not redirected.

Branimir Lambov from IBM on Cassandra

This is an external post of mine. Click here if you are not redirected.

Who even uses jemalloc in 2026 anyway? (many major projects)

This is an external post of mine. Click here if you are not redirected.

How jobs, events, and funding work on The Consensus

This is an external post of mine. Click here if you are not redirected.

Who contributed to DataFusion 53

This is an external post of mine. Click here if you are not redirected.

Taking multi-master MariaDB for a spin, reproducing a Jepsen report

This is an external post of mine. Click here if you are not redirected.

Developer Spotlight: Somtochi Onyekwere from Fly.io

This is an external post of mine. Click here if you are not redirected.

A static site generator and website transferring under 20kB

This is an external post of mine. Click here if you are not redirected.

Mojo's not (yet) Python

This is an external post of mine. Click here if you are not redirected.

Source-available projects and their AI contribution policies

This is an external post of mine. Click here if you are not redirected.

Open Source Contributor Spotlight: Kosta Tarasov and DataFusion

This is an external post of mine. Click here if you are not redirected.

I started a software research company

I quit my job at EnterpriseDB hacking on PostgreSQL products last month to start a company researching and writing about software infrastructure. I believe there is space for analysis that is more focused on code than TechCrunch or The Register, more open to covering corporate software development than LWN.net, and (as much as I love some of these folks) less biased than VCs writing about their…

We have pgvector at home

This is an external post of mine. Click here if you are not redirected.

Generating vector embeddings for semantic search locally

This is an external post of mine. Click here if you are not redirected.

Paths of MySQL, vector search edition

This is an external post of mine. Click here if you are not redirected.

Companies behind Postgres 18 development

This is an external post of mine. Click here if you are not redirected.

LLMs and your career

The most conservative way to build a career as a software developer is 1) to be practical and effective at problem solving but 2) not to treat all existing code as a black box. 1 means that as a conservative developer you should generally use PostgreSQL or MySQL (or whatever existing database), Rails or .NET (or whatever existing framework), and adapt code from Stack Overflow or LLMs. 2 means that…

Distinguishing yourself early in your career as a developer

Sometimes I get asked questions that would be more fun to answer in public. All letters are treated as anonymous unless permission is otherwise granted. Hello [Redacted]! You asked about a friend's son who is a recent graduate looking for work as a software developer and having a hard time. I like to think of three key aspects of getting a job: 1) knowing where to apply, 2) getting an interview at…

Year in community

This year I ran three book club readings over email with 1,230 unique attendees. I ran 12 coffee club meetups in midtown Manhattan with 170 unique attendees. Angelo and I ran 6 NYC Systems meetups with 12 different speakers and 281 unique attendees. I took 3 visiting PhD students out for Banh Mi . I raised $6,915 for educational non-profits, offering chats in return. I got coffee, lunch, or took…

Year in books

Among the 50 books I read in 2025, I recommend the following 11 non-fiction and 7 fiction works (complete list here ). These were the 18 books that I rated a four or five out of five stars. Non-fiction On Writing Well by William Zinsser This is the third or fourth time I've read this book and it has stood the test of time. It's been a few years since I last read it so it was a good reminder that a…

Is psql's scripting language Turing complete? Or: fibonacci in psql

This is an external post of mine. Click here if you are not redirected.

An individual can change an organization

One of the biggest lessons I learned early in my career was from Drew DeVault at Linode, 10 years ago. He was one of the youngest developers in the company (only I was younger, at 20, at the time) but he cared really strongly about thinking through architecture and code decisions when the culture at the time was, and I love those guys, a little haphazard. Drew had no special position. We all had…

Transaction pooling for Postgres with pgcat

This is an external post of mine. Click here if you are not redirected.

In response to a developer asking about systems

Sometimes I get asked questions that would be more fun to answer in public. All letters are treated as anonymous unless permission is otherwise granted. Hey [Redacted]! It's great to hear from you. I'm very glad you joined the coffee club and met some good folks. :) You asked how to learn about systems. A great question! I think I need to start first with what I mean when I say systems. My…

A simple clustering and replication solution for Postgres

This is an external post of mine. Click here if you are not redirected.

Analytics query goes 6x faster with EDB Postgres Distributed's new analytics engine

This is an external post of mine. Click here if you are not redirected.

Set up a single-node EDB Postgres Distributed cluster on Ubuntu

This is an external post of mine. Click here if you are not redirected.

What even is distributed systems

Distributed systems is simply the study of interactions between processes. Every two interacting processes form a distributed system, whether they are on the same host or not. Distributed systems create new challenges (compared to single-process systems) in terms of correctness (i.e. consistency ), reliability, and performance (i.e. latency and throughput). The best way to learn about the…

Stack traces for Postgres errors with backtrace_functions

This is an external post of mine. Click here if you are not redirected.

Want to meet people, try charging them for it?

I have been blogging consistently since 2017. And one of my goals in speaking publicly was always to connect with like-minded people. I always left my email and hoped people would get in touch. Even while my blog and twitter became popular, passing 1M views and 20k followers, I basically never had people get in touch to chat or meet up. So it felt kind of ridiculous when last November I started…

Debugging memory leaks in Postgres, jemalloc edition

This is an external post of mine. Click here if you are not redirected.

Cheerleading

At work we're so absorbed in the difficulties we face that it becomes easy to forget what we appreciate and what we value in our coworkers. On social media we can be so focused on our own work that we forget to interact with others'. I have heard so many times from founders that they switch between heads down building, disappearing from the community, and then pop up to talk about what they've…

Debugging memory leaks in Postgres, heaptrack edition

This is an external post of mine. Click here if you are not redirected.

Screw your title

I've been a developer, a manager, a cofounder, and now I'm a developer again. I ran away from each position until being a founder because I felt like I was limited by what I was allowed to do. But I reached an enlightenment of sorts during my career progression: that everyone around me was dying for someone to pick things up, for employees to show engagement and agency. We think of our titles as…

Transactions are a protocol

Transactions are not an intrinsic part of a storage system. Any storage system can be made transactional: Redis, S3, the filesystem, etc. Delta Lake and Orleans demonstrated techniques to make S3 (or cloud storage in general) transactional. Epoxy demonstrated techniques to make Redis (and any other system) transactional. And of course there's always good old Two-Phase Commit . If you don't want to…

Things that go wrong with disk IO

There are a few interesting scenarios to keep in mind when writing applications (not just databases!) that read and write files, particularly in transactional contexts where you actually care about the integrity of the data and when you are editing data in place (versus copy-on-write for example). We'll go into a few scenarios where the following can happen: Data you write never actually makes it…

Phil Eaton on Technical Blogging

This is an external post of mine. Click here if you are not redirected.

Minimal downtime Postgres major version upgrades with EDB Postgres Distributed

This is an external post of mine. Click here if you are not redirected.

From web developer to database developer in 10 years

Last month I completed my first year at EnterpriseDB. I'm on the team that built and maintains pglogical and who, over the years, contributed a good chunk of the logical replication functionality that exists in community Postgres. Most of my work, our work, is in C and Rust with tests in Perl and Python. Our focus these days is a descendant of pglogical called Postgres Distributed which supports…