The Backend Engineering Show with Hussein Nasser
Episodes
5 Backend Design Patterns for Managing Threads and Sockets
19 Jan 2026
Contributed by Lukas
In this video I introduce 5 different design patterns for building backend applications. Each mode explains how a socket listener is established, a co...
Page Tables
15 Dec 2025
Contributed by Lukas
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 pos...
CPU and Kernel Page Faults
24 Nov 2025
Contributed by Lukas
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 happe...
Amazon US-EAST-1 Outage in Details
31 Oct 2025
Contributed by Lukas
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 cau...
Graceful shutdown in HTTP
17 Oct 2025
Contributed by Lukas
There are cases where the backend may need to close the connection to prevent unexpected situations, prevent bad actors or simply just free up resourc...
Postgres 18 gets Async IO
03 Oct 2025
Contributed by Lukas
Postgres 18 has been released with many exciting features such as UUIDv7, Over explain module, composite index skip scans, and the most anticipated as...
Kernel level TLS
13 Jun 2025
Contributed by Lukas
Fundamentals of Operating Systems Course https://oscourse.winktls is brilliant.TLS encryption/decryption often happens in userland. While TCP lives in...
The beauty of the CPU
09 May 2025
Contributed by Lukas
If you are bored of contemporary topics of AI and need a breather, I invite you to join me to explore a mundane, fundamental and earthy topic.The CPU....
Sequential Scans in Postgres just got faster
18 Apr 2025
Contributed by Lukas
This new PostgreSQL 17 feature is game changer. They know can combine IOs when performing sequential scan. Grab my database coursehttps://courses.huss...
Does discipline work?
11 Apr 2025
Contributed by Lukas
No technical video today, just talking about the idea of discipline and consistency.
Socket management and Kernel Data structures
04 Apr 2025
Contributed by Lukas
Fundamentals of Operating Systems Course This video is an overview of how the operating system kernel does socket management and the different data st...
The genius of long polling
06 Dec 2024
Contributed by Lukas
Polling is the ability to interrogate a backend to see if a piece of information is ready. It can introduce a chatty system and as a result long polli...
Six stages of a good software engineer
01 Nov 2024
Contributed by Lukas
You get better as a software engineer when you go through these stages. 0:00 Intro 1:15 Understand a technology 7:07 Articulate how it works 15:30...
This new Linux patch can speed up Reading Requests
25 Oct 2024
Contributed by Lukas
Fundamentals of Operating Systems Course https://oscourse.win Very clever! We often call read/rcv system call to read requests from a connection, th...
Cloudflare's 150ms global cache purge | Deep Dive
18 Oct 2024
Contributed by Lukas
Cloudflare built a global cache purge system that runs under 150 ms. This is how they did it. Using RockDB to maintain local CDN cache, and a peer-...
MySQL is having a bumpy journey
28 Sep 2024
Contributed by Lukas
Fundamentals of Database Engineering udemy course https://databases.win MySQL has been having bumpy journey since 2018 with the release of the versi...
How many kernel calls in NodeJS vs Bun vs Python vs native C
20 Sep 2024
Contributed by Lukas
Fundamentals of Operating Systems Course https://oscourse.win In this video I use strace a performance tool that measures how many system calls does...
When do you use threads?
13 Sep 2024
Contributed by Lukas
Fundamentals of Operating Systems Course https://os.husseinnasser.com When do you use threads? I would say in scenarios where the task is either ...
Frontend and Backends Timeouts
07 Sep 2024
Contributed by Lukas
I am fascinated by how timeouts affect backend and frontend programming. When a party is waiting on something you can place a timeout to break the wa...
Postgres is combining IO in version 17
02 Sep 2024
Contributed by Lukas
Learn more about database and OS internals, check out my courses Fundamentals of database engineering https://databases.win Fundamentals of opera...
Windows vs Linux Kernel
30 Aug 2024
Contributed by Lukas
Fundamentals of Operating Systems Course https://os.husseinnasser.com Why Windows Kernel connects slower than Linux I explore the behavior of TCP/...
Running out of TCP ephemeral source ports
25 Aug 2024
Contributed by Lukas
In this episode of the backend engineering show I describe an interesting bug I ran into where the web server ran out of ephemeral ports causing the ...
io uring gets even faster
20 May 2024
Contributed by Lukas
Fundamentals of Operating Systems Course https://os.husseinnasser.com Linux I/O expert and subsystem maintainer Jens Axboe has submitted all of the ...
They made Python faster with this compiler option
07 May 2024
Contributed by Lukas
Fundamentals of Operating Systems Course https://oscourse.win Looks like fedora is compiling cpython with the -o3 flag, which does aggressive functi...
How Apache Kafka got faster by switching ext4 to XFS
29 Apr 2024
Contributed by Lukas
https://oscourse.win Allegro improved their Kafka produce tail latency by over 80% when they switched from ext4 to xfs. What I enjoyed most about thi...
Google Patches Linux kernel with 40% TCP performance
05 Mar 2024
Contributed by Lukas
Get my backend course https://backend.win Google submitted a patch to Linux Kernel 6.8 to improve TCP performance by 40%, this is done via rearrangin...
Database Torn pages
29 Feb 2024
Contributed by Lukas
0:00 Intro 2:00 File System Block vs Database Pages 4:00 Torn pages or partial page 7:40 How Oracle Solves torn pages 8:40 MySQL InnoDB Doublewrite bu...
Cloudflare Open sources Pingora (NGINX replacement)
28 Feb 2024
Contributed by Lukas
Get my backend course https://backend.win Cloudflare has announced they are opening sources Pingora as a networking framework! Big news, let us discu...
The Internals of MongoDB
19 Feb 2024
Contributed by Lukas
https://backend.win https://databases.win I’m a big believer that database systems share similar core fundamentals at their storage layer and under...
The Beauty of Programming Languages
19 Feb 2024
Contributed by Lukas
In this video I explore the type of languages, compiled, garbage collected, interpreted, JIT and more.
The Danger of Defaults - A PostgreSQL Story
18 Feb 2024
Contributed by Lukas
I talk about default values and how PostgreSQL 14 got slower when a default parameter has changed. Mike's blog https://smalldatum.blogspot.com/2...
Database Background writing
16 Feb 2024
Contributed by Lukas
Background writing is a process that writes dirty pages in shared buffer to the disk (well goes to the OS file cache then get flushed to disk by the O...
The Cost of Memory Fragmentation
29 Jan 2024
Contributed by Lukas
Fragmentation is a very interesting topic to me, especially when it comes to memory. While virtually memory does solve external fragmentation (you c...
The Real Hidden Cost of a Request
13 Dec 2023
Contributed by Lukas
In this video I explore the hidden costs of sending a request from the frontend to the backend Heard https://medium.com/@hnasr/the-journey-of-a-requ...
Why create Index blocks writes
28 Oct 2023
Contributed by Lukas
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon) https://database.husseinnasser.com Why create Index blocks ...
The Problems of an HTTP/3 Backend
05 Oct 2023
Contributed by Lukas
HTTP/3 is getting popular in the cloud scene but before you migrate to HTTP/3 consider its cost. I explore it here. 0:00 Intro HTTP/3 is getting popu...
Encrypted Client Hello - The Pros & Cons
29 Sep 2023
Contributed by Lukas
The Encrypted Client Hello or ECH is a new RFC that encrypts the TLS client hello to hide sensitive information like the SNI. In this video I go thro...
The Journey of a Request to the Backend
01 Aug 2023
Contributed by Lukas
From the frontend through the kernel to the backend processWhen we send a request to a backend most of us focus on the processing aspect of the reques...
They Enabled Postgres Partitioning and their Backend fell apart
24 Jun 2023
Contributed by Lukas
In a wonderful blog, Kyle explores the pains he faced managing a Postgres instance for a startup he works for and how enabling partitioning sigintfica...
WebTransport - A Backend Game Changer
09 Jun 2023
Contributed by Lukas
WebTransport is a cutting-edge protocol framework designed to support multiplexed and secure transport over HTTP/2 and HTTP/3. It brings together the ...
Your SSD lies but that's ok | Postgres fsync
25 May 2023
Contributed by Lukas
fsync is a linux system call that flushes all pages and metadata for a given file to the disk. It is indeed an expensive operation but required for du...
The problem with software engineering
21 May 2023
Contributed by Lukas
ego is the main problem to a defective software product. the ego of the engineer or the tech lead seeps into the quality of the product. Fundamental...
2x Faster Reads and Writes with this MongoDB feature | Clustered Collections
11 May 2023
Contributed by Lukas
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon) https://database.husseinnasser.com In version 5.3, MongoDB i...
Prime Video Swaps Microservices for Monolith: 90% Cost Reduction
06 May 2023
Contributed by Lukas
Prime video engineering team has posted a blog detailing how they moved their live stream monitoring service from microservices to a monolith reducing...
A Deep Dive in How Slow SELECT * is
02 May 2023
Contributed by Lukas
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon) https://database.husseinnasser.com In a row-store database en...
AWS Serverless Lambda Supports Response Streaming
07 Apr 2023
Contributed by Lukas
Lambda now supports Response payload streaming, now you can flush changes to the network socket as soon as it is available and it will be written to ...
The Cloudflare mTLS vulnerability - A Deep Dive Analysis
06 Apr 2023
Contributed by Lukas
Cloudflare released a blog detailing a vulnerability that has been in their system for nearly two years. it is related to mTLS or mutual TLS and speci...
The Virgin Media ISP outage - What happened?
06 Apr 2023
Contributed by Lukas
BGP (Border gateway protocol) withdrawals caused the Virgin media ISP customers to lose their Internet connection. I go into details on this video. ...
GitHub SSH key is Leaked - How bad is this?
30 Mar 2023
Contributed by Lukas
GitHub Accidentally Exposed their SSH RSA Private key, this is the message you will get . @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...
Cookie Hijacking - How Linus Tech Tips got Hacked
29 Mar 2023
Contributed by Lukas
How Linus Tech Tips channel got Hacked In this short video we explain how was it possible for Linux to get hacked with cookies hijacking. 0:00 In...
All Postgres Locks Explained | A Deep Dive
19 Mar 2023
Contributed by Lukas
Get my database engineering course https://database.husseinnasser.com In this video I do a deep dive in all locks obtained by postgres, I learned a l...
Pinterest moves to HTTP/3
16 Mar 2023
Contributed by Lukas
Pinterest moves to HTTP/3 on all their clients and edge CDNs this year. They witnessed interesting gains but not without good lesson learned. The main...
Why Loom Users got each others’ sessions on March 7th 2023
14 Mar 2023
Contributed by Lukas
On March 7 2023, Loom users started seeing each others data as a result of cookies getting leaked from the CDN. This loom security breach is really cr...
How Discord Stores Trillions of Messages - A deep dive
11 Mar 2023
Contributed by Lukas
Discord engineering goes into details of how they migrated from Cassandra to ScyllaDB, improved the performance of their reads and writes and rearchit...
Postgres Architecture | The Backend Engineering Show
16 Feb 2023
Contributed by Lukas
Creating a listener on the backend application that accepts connections is simple. You listen on an address-port pair, connection attempts to that add...
How Alt-Svc switches HTTP/2 clients to use HTTP/3 | The Backend Engineering Show
13 Feb 2023
Contributed by Lukas
The Alt-Svc header/frame is a capability that allows the server to adverse alternative services to the connected application available in protocols, p...
Your DNS queries will eventually look like this (0x20 DNS encoding)
28 Jan 2023
Contributed by Lukas
Correction: Google is implementing the proposal originally submitted by researchers from Georgia institute of tech. I incorrectly said in the video th...
DropBox Removed their SSDs, got 20% faster writes
24 Jan 2023
Contributed by Lukas
https://dropbox.tech/infrastructure/increasing-magic-pocket-write-throughput-by-removing-our-ssd-cache-disks In this episode of the backend engineerin...
MySQL on HTTP/3 | The Backend Engineering Show
05 Jan 2023
Contributed by Lukas
The communication between backend applications and database systems always fascinated me. The protocols keep evolving and we are in constant search fo...
How Shopify’s engineering improved writes by 50% with ULID | The Backend Engineering Show
23 Dec 2022
Contributed by Lukas
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon) https://database.husseinnasser.com Shopify posted a blog on ti...
MongoDB Internal Architecture | The Backend Engineering Show
16 Dec 2022
Contributed by Lukas
I’m a big believer that database systems share similar core fundamentals at their storage layer and understanding them allows one to compare differe...
How UI/UX can break the backend
01 Dec 2022
Contributed by Lukas
The User Interface/User Experience has great impact on the backend architecture and scalability. In this podcast I discuss three UI/UX that affected b...
Do DHCP and DNS Servers Communicate?
16 Nov 2022
Contributed by Lukas
In this video I explain how DHCP work and how it updates DNS entries for new hosts joining the network. I'll also mention Zero Config 0:00 Intro 1:00 ...
Compressing Certificates in TLS | The Backend Engineering Show
08 Nov 2022
Contributed by Lukas
Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon) https://backend.husseinnasser.com Certificates...
OpenSSL new vulnerability
06 Nov 2022
Contributed by Lukas
Two new vulnerabilities in openssl were discovered, we discuss them in this video https://www.openssl.org/news/secadv/20221101.txt
TCP Protective Load Balancing coming to Linux Kernel 6.2
03 Nov 2022
Contributed by Lukas
Google recent paper on protective load balancing in TCP attempts to improve packet drops and latency by making the host change the flow path using the...
When NodeJS I/O Blocks | The Backend Engineering Show
12 Oct 2022
Contributed by Lukas
In this episode of the backend engineering show I go through an article I wrote discussing NodeJS Asynchronous I/O https://medium.com/@hnasr/when-node...
NGINX Internal Architecture - Workers | The Backend Engineering Show
07 Oct 2022
Contributed by Lukas
Buy me a coffee if you liked this https://www.buymeacoffee.com/hnasr In this podcast I explain the NGINX internal process architecture, how NGINX spin...
Cloudflare is moving away from NGINX | The Backend Engineering Show
04 Oct 2022
Contributed by Lukas
Cloudflare identified several limitations in NGINX architecture and decided to write their own reverse proxy. 0:00 Intro 1:53 What NGINX is used for ...
Threads and Connections | The Backend Engineering Show
01 Sep 2022
Contributed by Lukas
In this episode of the backend engineering show I discuss the evolution of multi-threading apps, their pros and cons and then I go through 5 threading...
Memcached Architecture | The Backend Engineering Show
27 Aug 2022
Contributed by Lukas
Memcached is an in memory cache with one major feature be a transient cache. Memcached has a very simple design. It was originally designed to help wi...
Is SmartNIC a game changer for network performance? | The Backend Engineering Show
15 Aug 2022
Contributed by Lukas
In this episode of the backend engineering show I go through the main job of the network interface controller (NIC for short) and how the datacenter i...
Consistent Hashing | The Backend Engineering Show
06 Aug 2022
Contributed by Lukas
In this episode of the backend engineering show I discuss consistent hashing a very important algorithm in distributed computing specially in database...
Replacing TCP for the Datacenter - Discussing the Homa paper
01 Aug 2022
Contributed by Lukas
In this episode of the backend engineering show I go through and discuss the Homa Protocol paper which attempts to replace TCP as a protocol in the da...
ByteDance makes Linux kernel reboots faster
26 Jul 2022
Contributed by Lukas
ByteDance, the company behind TikTok is proposing few patches to the linux kernel to make kernel reboots via kexec go from 500ms down to 15 ms saving ...
This dangerous OpenSSL vulnerability can easily be triggered | CVE-2022-2274 Explained
15 Jul 2022
Contributed by Lukas
We discuss the CVE-2022-2274 OpenSSL Vulnerability. The OpenSSL 3.0.4 release introduced a serious bug in the RSA implementation for X86_64 CPUs suppo...
NULLs are weird, PG15 makes them less weird
13 Jul 2022
Contributed by Lukas
Postgres 15 introduces a new syntax to treat nulls as not distinct. This will allow developers to create a unique constraint on nullable fields and ha...
This decades old function in Linux is now 4 times faster
12 Jul 2022
Contributed by Lukas
memchr() is a function that searches in a memory block for a character, this has been recently improved in the latest linux patch and we can learn som...
Amazon Aurora Supports Postgres 14
11 Jul 2022
Contributed by Lukas
Amazon Aurora PostgreSQL-Compatible Edition now supports PostgreSQL major version 14 (14.3). Let us discuss this news. https://aws.amazon.com/about-aw...
Canada Rogers ISP Internet Outage - Early report and speculation
11 Jul 2022
Contributed by Lukas
Rogers Communications, the Canadian ISP is down. One of its ASNs (they have many) is AS812 with over 5 million IP addresses. Tried a few and none of t...
Index Fill Factor | The Backend Engineering Show
11 Jul 2022
Contributed by Lukas
In this episode of the backend engineering show I’ll discuss Fill Factor index property, an important key parameter for a good performing database. ...
HTTP 103 - Early Hints
04 Jul 2022
Contributed by Lukas
In this video I discuss early hints HTTP 103 status code, the problem it solves and the challenges it has.
YugabyteDB supports read committed isolation
30 Jun 2022
Contributed by Lukas
YugabyteDB is a postgres compatible and cloud native database. Read committed isolation level is a critical feature and adding it might lure more post...
Mutual TLS | The Backend Engineering Show
27 Jun 2022
Contributed by Lukas
Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon) https://network.husseinnasser.com Transport Laye...
Cloudflare Outage Analysis - Jun 21 2022
22 Jun 2022
Contributed by Lukas
In this episode we go through the cloud flare outage blog. https://blog.cloudflare.com/cloudflare-outage-on-june-21-2022/ Fundamentals of Networ...
When CSS loads last - HTTP Request Prioritization (RFC 9218) | The Backend Engineering Show
20 Jun 2022
Contributed by Lukas
In this episode of the backend engineering show I go through the Extensible Prioritization Scheme for HTTP. This RFC addresses the problem in HTTP whe...
What is a zero day attack?
05 Jun 2022
Contributed by Lukas
In this video I explain what is a zero day vulnerability or attack. Fundamentals of Networking for Effective Backends udemy course (link r...
This project could free millions of IPv4 addresses, but is it worth it?
02 Jun 2022
Contributed by Lukas
IPv4 UniCast Extensions Project attempts to unreserve old IPv4 subnets so they are publicly addressable. Is it worth it? Let us discuss https://...
Sorting in Postgres 15 is 371% faster in certain cases
01 Jun 2022
Contributed by Lukas
Fantastic gains in Postgres 15! improved sorting by 371%. Normally you can avoid sorting by using an index access path. However, you can’t always ha...
UDP hole punching
30 May 2022
Contributed by Lukas
In this episode of the backend engineering show I discuss UDP hole punching in details. Fundamentals of Networking for Effective Backends udemy cour...
Software engineering and Nursery rhymes
29 May 2022
Contributed by Lukas
As a new parent, you get exposed to a whole new world. There is this new toddler song “Five little monkeys jumping on the bed” where it starts wit...
Linux Big TCP might be a game changer for Google (and other cloud providers)
28 May 2022
Contributed by Lukas
Eric Dumazet, a Linux kernel and a Google Principal software engineer pushed a new change to Linux to support a new feature in Linux called BIg TCP. H...
Redo, Undo and WAL logs | The Backend Engineering Show
26 May 2022
Contributed by Lukas
Database logging is a critical feature to maintain durability, in this show I discuss them in details 0:00 intro 1:00 ad 3:30 Start of the Show 6:...
The software engineer mental health
20 May 2022
Contributed by Lukas
In this video I discuss the developer mental health, stress, pressure, expectation, how to understand and shed light on the issues, and what might cau...
Distributed Transactions are Hard (How Two-Phase Commit works)
11 May 2022
Contributed by Lukas
In this video I explain how we can use two-phase commit protocol works to achieve atomic distributed transaction. 0:00 What is atomicity &...
Why this query is fast
04 May 2022
Contributed by Lukas
Welcome to another database question. In this question I created a community poll question and provided some answers. All answers can be correct of co...
WhatsApp went down (early report/analysis) April-28-2022
28 Apr 2022
Contributed by Lukas
WhatsApp Went down again, this is an early report with brief analysis, enjoy. https://engineering.fb.com/2020/10/21/networking-traffic/how...
DNS is Beautiful
28 Apr 2022
Contributed by Lukas
DNS or Domain Name System, despite its drawbacks, is brilliantly designed for scale. We can learn few lessons from this protocol especially when desig...
The Beauty of the Internet Protocol
24 Apr 2022
Contributed by Lukas
In this episode of the backend engineering show we discuss the Internet Protocol. A beautiful, elegant protocol that made the Internet possible. We di...
Caching is hard | The Backend Engineering Show
15 Apr 2022
Contributed by Lukas
In this episode of the backend engineering show we discuss an article written by the Forem team illustarting a bug they recently fixed in their cachin...