Backend
104 articles · all categories
I've been building web backends since ~2004 when they were just called websites. With these essays I want to share the hard lessons learned about serverless, databases, APIs, and the ops that keep them alive.
Backend articles
10 articles from 2022 · show all
October 2022
Why PATCH endpoints matter
A painful lesson from production that brought several engineers almost to tears: *Please* add PATCH endpoints to your public APIs.
Over-engineering tweet embeds with web components for fun and privacy
A way to embed tweets in static sites with full pre-renders and live updates using just 9kB of client-side JavaScript, 2 HTTP requests, and full reader privacy ✌️
September 2022
How better data modeling fixes your code
When your code feels hard, 9 times out of 10, the problem is with your data model. The signs are subtle.
Notes on A Relational Model of Data for Large Shared Data Banks
In 1970 a paper came out that changed the world of business computing. It laid the ground work for modern databases.
June 2022
You are allowed to invent HTTP status codes
A fun problem for RESTful APIs: Did you get 404 because your URL is wrong or because the resource wasn't found?
May 2022
What microservices are for
Microservices are a pain in the ass. They turn every system into a byzantine mess of complexity. But this week ... they saved my butt.
April 2022
Promise.allSettled, a wonderful tool for resilient code
The pros and cons of different approaches to writing resilient code that handles partial failures
January 2022
How to add Typeform as a Gatsby source
Every year I ask readers if they're enjoying my newsletter. Then fail to use those responses 😅 This year I said heck it and built a /testimonials page that shows everyone's feedback raw from Typeform. Here's how.
Wow API Gateway v2 is fast
A story of how my performance hunch was totally wrong and the answer that sped up an AWS Lambda 33%
Using DynamoDB Streams with the Serverless Framework
DynamoDB Streams are a convenient way to react to changes in your database. And surprisingly easy to use 🥳