Improving Single Executable Application Building for Node.js
Recently, I landed a change that moves the Single Executable Application (SEA) build process directly into Node.js core - a hobby project I’d been tinkering with for some time. It took some effort to
The Guardian Engineering Blog - Faster, cheaper, messier: lessons from our switch to self-hosted GitHub Actions
At The Guardian, like many engineering teams, we rely heavily on CI/CD pipelines to keep our software fresh, secure, and reliable for our users. Our workflows hinge on GitHub Actions, so when things go wrong or get expensive, the impacts are felt quickly. This is the story of why we moved away from GitHub-hosted runners to using our own self-hosted runners, what the process involved, and what we’ve learned along the way.
What finally posting Rails UI to Hacker News taught me

For a long time, I kept putting off posting Rails UI to Hacker News. I checke...
PostgreSQL 18 Temporal Constraints with WITHOUT OVERLAPS
In this tutorial, you will learn about PostgreSQL 18 Temporal Constraints, which allow you to enforce time-based data integrity using the WITHOUT OVERLAPS clause for primary keys and unique constraints, plus the PERIOD clause for foreign keys.
Who’s this for Basics How data is stored in disk How indexes speedup access to data Costs associated with indexes Disk Space Write operations Query planner Memory usage Types of Indexes Btree Hash BRIN GIN GiST & SP-GiST Conclusion Who’s this for This text is for developers that have an intuitive knowledge of what database indexes are, but don’t necessarily know how they work internaly, what are the tradeoffs associated with indexes, what are the types of indexes provided by postgres and how you can use some of its more advanced options to make them more optimized for your use case.
Using PostgreSQL as a Dead Letter Queue for Event-Driven Systems
Learn how to use PostgreSQL as a Dead Letter Queue (DLQ) for event-driven systems. Case study from Wayfair showing how to handle failures in Kafka consumers.
RegreSQL catches query regressions before production. Compare query outputs against baselines, track EXPLAIN plan costs, and test migrations with confidence.
DGate is fast and easy-to-use database client and SQL editor for MySQL, PostgreSQL, SQL Server, MongoDB and more. For desktop and web, it's open-source.
The Five Levels: from Spicy Autocomplete to the Dark Factory
In my last post, I wrote about technical deflation. We’re seeing the cost of code is dropping so fast that we need to change our tech debt payment plans. The smart teams…