Episode · The Backend Engineering Show with Hussein Nasser
5 Backend Design Patterns for Managing Threads and Sockets
19 Jan 2026 · 46 min
Episode notes
In this video I introduce 5 different design patterns for building backend applications. Each mode explains how a socket listener is established, a connections are established and how threads and connections are managed to read, write and process requests.
Podcast
The Backend Engineering Show with Hussein Nasser
Hussein Nasser · Tech & Science · English
Welcome to the Backend Engineering Show podcast with your host Hussein Nasser. If you like software engineering you’ve come to the right place. I discuss all sorts of software engineering technologies and news with specific focus on the backend. All opinions are my own. Most of my content in the p
More from The Backend Engineering Show with Hussein Nasser All episodes →
-
23 Aug 2026 · 18 min
How open ai agents "hacked" hugging face
-
10 Jul 2026 · 21 min
How a query optimization gave birth to infinite scroll
The infinite scroll in social media as we know it today is despised by all. But it always start as a bad idea. It originated as a result of UI change to relief the backend database from inefficient queries. I explore this in this episode of the backend engineering. 0:00 Intro1:00 Classic Paged results 6:23 Limitations of paging9:00 The scroll interface 12:00 How TikTok to infinite scroll 14:00 The current state
-
17 Jun 2026 · 34 min
Postgres is half as fast in Linux 7.0
An aws engineer discovered a 50% regression in postgres throughput while testing the new Linux 7.0 kernel. The cause turns out to be massive TLB and page faults exacerbated by Postgres process-based design. In this backend engineering show episode I dive deep into how this was discovered, the root cause and the possible fixes and workarounds. Intermediate and Advanced Backend Engineering Course Bundlehttps://courses.husseinnasser.com/bundleMy Book, Root Cause: Stories and Lessons from Two Decades of Backend Engineering Bugs https://amzn.to/4cKfZhe 0:00 Intro2:30 The Discovery6:30…
-
8 Jun 2026 · 32 min
Don't let AI rob you
A discussion about why many engineers still love the struggle, the mistakes, and the process of figuring things out themselves. This is how we grow and get better and stronger. Letting AI do everything (even though it can’t) robs us this feeling..
-
15 Apr 2026 · 10 min
New Book: Root cause
I wrote a new book that has been in the works for years. It is called Root Cause , and it is for those who enjoy the art of backend engineering. Early in my career, 20 years ago, I built backend and database applications without fully grasping their inner mechanics. Performance issues, race conditions, bugs, and even data corruption often left me lost. Since that day, I resolved to truly understand how systems work. From networking protocols and intermediary proxies to backend services and various database engines. I made it a habit to follow every request on its journey through the dark…
-
15 Dec 2025 · 47 min
Page Tables
Page tables provide the mapping between virtual memory and physical memory for each process. This means it needs to be as efficient and as fast as possible. I explore the inner workings of page tables in this episode. 0:00 Intro 2:00 Virtual Memory ⁃ ⁃ 8:00 MMU 10:00 Page Tables ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ 11:30 Single Table Byte Addressability ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ 16:00 Single Table Page addressability ⁃ ⁃ ⁃ ⁃ ⁃ 19:00 Multi-level Paging (Radix tree) ⁃ ⁃ 31:00 Huge Tables ⁃ ⁃ 33:00 TLB ⁃ ⁃ Summary
-
24 Nov 2025 · 49 min
CPU and Kernel Page Faults
Page faults occurs when the process tries to access a memory that isn’t backed by a physical page kernel raises a fault which loads a page. It happens on first access, stack expansion, COW, swap and much more. However it comes with a cost. In this episode of the backend engineering show I dissect the need and the cost page faults in the kernel. 0:00 Intro 4:00 Virtual memory Abstraction of physical memory Memory sharing Allow more processes to run , unused go to disk Numa, kernel can place memory near the cpu 12:00 VMA areas Text/code Data BSS Heap Stack 19:50 Kernel mode 25:30 What is a…
-
31 Oct 2025 · 24 min
Amazon US-EAST-1 Outage in Details
On October 19 2025 AWS experienced an outage that lasted over a day, 10 days later we finally got the root cause analysis and we know exactly what caused the DNS to fail0:00 Summary 5:30 How did Dynamo lost its DNS?13:41 EC2 Errors 16:16 Network Load Balancer ErrorsRCA here https://aws.amazon.com/message/101925/
-
17 Oct 2025 · 26 min
Graceful shutdown in HTTP
There are cases where the backend may need to close the connection to prevent unexpected situations, prevent bad actors or simply just free up resources. Closing a connection gracefully allows clients and backends to clean up and finish any pending requests. In this episode of the backend engineering show I discuss graceful connections in both HTTP/1.1 via the connection header and HTTP/2 via the GOAWAY frame. 0:00 Intro 4:58 Why shutdown connection? 6:46 HTTP/1.1 Graceful shutdown 12:26 Cost of HTTP/2 17:40 HTTP/2 GoAWAY frame 23:40 Summary Links…
-
3 Oct 2025 · 41 min
Postgres 18 gets Async IO
Postgres 18 has been released with many exciting features such as UUIDv7, Over explain module, composite index skip scans, and the most anticipated asynchronous IO with worker and io_uring mode which I uncover in this show. Hope you enjoy it 0:00 Intro 1:30 Synchronous vs Asynchronous calls 3:00 Synchronous IO 6:30 Asynchronous IO 10:00 Postgres 17 synchronous io 17:20 The challenge of Async IO in Postgres 18 20:00 io_method worker23:00 io_method io_uring 29:30 io_method sync 31:08 Async IO isn’t done! 3 1:30 Support for backend writers 32:36 Improve worker io_method 33:00 direct io support…
