
The Backend Engineering Show with Hussein Nasser
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 podcast is an audio version of videos I post on my youtube channel here http://www.youtube.com/c/HusseinNasser-software-engineering
Buy me a coffee
https://www.buymeacoffee.com/hnasr
🧑🏫 Courses I Teach
https://husseinnasser.com/courses
Latest episodes

Jan 5, 2023 • 37min
MySQL on HTTP/3 | The Backend Engineering Show
The communication between backend applications and database systems always fascinated me. The protocols keep evolving and we are in constant search for an efficient protocol that best fit the workload of Backend-DB communication.
In this episode of the backend engineering show I go through a blog written by @PlanetScale doing an experimentation of using HTTP/3 and HTTP/2 comparing it with MySQL Binary protocol.
https://planetscale.com/blog/faster-mysql-with-http3
0:00 Intro
7:45 MySQL Binary vs HTTP
10:20 The Tests
15:00 Connection Cost + Select 1
22:00 Parallel Select
26:00 The cost of H2 and H3

Dec 23, 2022 • 32min
How Shopify’s engineering improved writes by 50% with ULID | The Backend Engineering Show
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)
https://database.husseinnasser.com
Shopify posted a blog on tips to for scalable payment system, one tip peeked my interest related to switching from UUID to ULID. I explore the reasoning behind this in this video.
https://shopify.engineering/building-resilient-payment-systems
0:00 Intro
1:30 idempotency
6:30 UUID vs ULID
9:50 Clustered Index
13:30 Why UUID4 Inserts are slow
17:15 How ULID helps Shopify
22:00 Problem with tail pages
25:00 Does ULID help in all cases?
Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon)
https://backend.husseinnasser.com

Dec 16, 2022 • 44min
MongoDB Internal Architecture | The Backend Engineering Show
I’m a big believer that database systems share similar core fundamentals at their storage layer and understanding them allows one to compare different DBMS objectively. For example, How documents are stored in MongoDB is no different from how MySQL or PostgreSQL store rows. Everything goes to disk, the trick is to fetch what you need from disk efficiently with as fewer I/Os as possible, the rest is API. In this video I discuss the evolution of MongoDB internal architecture on how documents are stored and retrieved focusing on the index storage representation. I assume the reader is well versed with fundamentals of database engineering such as indexes, B+Trees, data files, WAL etc, you may pick up my database course to learn the skills. Let us get started.
Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon) https://backend.husseinnasser.com Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon) https://network.husseinnasser.com Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon) https://database.husseinnasser.com

Dec 1, 2022 • 31min
How UI/UX can break the backend
The User Interface/User Experience has great impact on the backend architecture and scalability. In this podcast I discuss three UI/UX that affected backend design and scalability.
0:00 Intro
1:40 UI vs UX
4:30 Google Chrome OmniBox
12:30 1 out of X Page
20:00 YouTube Notification
Resources
https://blog.apnic.net/2020/08/21/chromiums-impact-on-root-dns-traffic/
Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon)
https://backend.husseinnasser.com

Nov 16, 2022 • 30min
Do DHCP and DNS Servers Communicate?
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 the Network configuration
6:00 Showing DHCP in Wireshark
6:30 DHCP Discover
14:40 DHCP Offer
19:00 DHCP Request
21:30 DHCP ACK
22:00 How DHCP Updates DNS
26:15 Zero Configuration (mDNS, Link-local)
Resources
Dhcp https://datatracker.ietf.org/doc/html/rfc1541
Dynamic updates , dhcp RFC2136
https://datatracker.ietf.org/doc/html/rfc2136
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dhcp/configuration/xe-3se/3850/dhcp-xe-3se-3850-book/dhcp-client-option-12.pdf
RFC 1497
https://www.rfc-editor.org/rfc/rfc1497.html
https://www.rfc-editor.org/rfc/rfc6762#ref-Zeroconf
Link-local
https://www.rfc-editor.org/rfc/rfc3927

Nov 8, 2022 • 34min
Compressing Certificates in TLS | The Backend Engineering Show
Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon)
https://backend.husseinnasser.com
Certificates provide a way to authenticate both the server and the client and are included as part of the TLS handshake. However, the certificates can be large because the full certificate chain is included in the handshake. The large certificates can go up to 10KB in size and take multiple segments to deliver and assemble. RFC 8879 discusses how TLS compression can be achieved, I discuss that in this podcast. Enjoy.
0:00 Intro
4:15 Certificate Chain
6:00 Faking the chain
8:50 Certificate Stores
10:30 Including ROOT cert in the chain
12:00 The performance penalty of large certificate chain
20:15 RFC 8879 TLS Certificate Compression
23:00 How Compression Works in TLS 1.2 vs TLS 1.3
30:30 What could go wrong?
Resources
https://datatracker.ietf.org/doc/rfc8879/
https://www.rfc-editor.org/rfc/rfc5246
https://www.rfc-editor.org/rfc/rfc6928.html

Nov 6, 2022 • 10min
OpenSSL new vulnerability
Two new vulnerabilities in openssl were discovered, we discuss them in this video
https://www.openssl.org/news/secadv/20221101.txt

Nov 3, 2022 • 15min
TCP Protective Load Balancing coming to Linux Kernel 6.2
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 IPv6 Flow label. The Linux kernels gets the PLB support in Linux 6.2 this December, let us discuss with this is.

Oct 12, 2022 • 26min
When NodeJS I/O Blocks | The Backend Engineering Show
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-nodejs-i-o-blocks-327f8a36fbd4
Learn the fundamentals of network engineering, get my udemy course
https://network.husseinnasser.com
Buy me a coffee if you liked this
https://www.buymeacoffee.com/hnasr
0:00
3:00 Part 1 Socket/IO
9:48 Part 2 File I/O
12:42 Part 3 DNS
16:22 Part 4 NodeJS Single Threaded
19:10 Part 5 NodeJS Thread Pool
21:23 Part 6 DNS lookup bottleneck in Node

Oct 7, 2022 • 16min
NGINX Internal Architecture - Workers | The Backend Engineering Show
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 spins up multiple processes per core, how each process is pinned to a CPU core for minimum context switching, how NGINX accepts connections , parses requests and talks to the backend. Get my introduction to NGINX udemy course https://nginx.husseinnasser.com
Remember Everything You Learn from Podcasts
Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.