

The Backend Engineering Show with Hussein Nasser
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
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
Episodes
Mentioned books

Mar 30, 2022 • 9min
Google thinks Linux is slow to reboot, so they patch it
Google linux boxes have over 16 NVMe SSD PCIe Express drives.When a shutdown signal is sent to linux, the OS iterate through each NVMe and send synchronous request to shutdown that takes 4.5 seconds. This adds up to over a minute to achieve a reboot. Google patches linux with asynchronous Shutdown APIs
Resources https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1316262-google-has-a-problem-with-linux-server-reboots-too-slow-due-to-too-many-nvme-drives
patch https://lore.kernel.org/lkml/20220328230008.3587975-1-tansuresh@google.com/
Sync vs async https://www.youtube.com/results?search_query=asynchronous+vs+synchronous+hussein

Mar 29, 2022 • 26min
The cost of Hash tables | The Backend Engineering Show
Hash tables are effective for caching, database joins, sets to check if something is in a list and even load balancing, partitioning and sharding and many other applications. Most programming languages support hash tables. However they don’t come without their cost and limitations lets discuss this.
0:00 Intro
1:50 Arrays
3:50 CPU Cost (NUMA/M1 Ultra)
6:50 Hash Tables
10:00 Hash Join
16:00 Cost of Hash Tables
20:00 Remapping Cost Hash Tables
22:30 Consistent hashing

Mar 23, 2022 • 24min
Understanding Aggregate Functions Performance | The Backend Engineering Show
Aggregate functions like Count, max, min, avg performance really depends on how did you tune your database for that kind of workload. Let us discuss this.
0:00 Intro
1:22 SELECT COUNT(*)
4:30 SELECT AVG(A)
5:15 SELECT MAX(A)
8:00 Best case scenario
11:30 Clustering
14:00 Clustering Sequential Writes
17:19 Clustering Random Writes
20:30 Summary

Mar 22, 2022 • 6min
Why checking the URL won’t prevent all phishing attacks
99% of phishing attacks can be avoided by looking at the URL. However this secuirty researcher proves that not enough. https://mrd0x.com/browser-in-the-browser-phishing-attack/

Mar 18, 2022 • 22min
Its always Microservices - The Spotify Outage Explained (March 8 2022)
On March 8 2022 Spotify and Discord experienced an outage latest 2-3 hours. The reason was a configuration on the xDS formats on Google Traffic Director. Let us discuss how this change caused the outage and what Spotify did to mitigate that outage without relying on Google restoring the service back up.
Resources
Spotify outage
https://engineering.atspotify.com/2022/03/incident-report-spotify-outage-on-march-8/
Google Cloud outage
https://status.cloud.google.com/incidents/LuGcJVjNTeC5Sb9pSJ9o
Envoy xDS
https://blog.envoyproxy.io/the-universal-data-plane-api-d15cec7a
Microservices scaling with common sense
https://www.youtube.com/watch?v=NsIeAV5aFLE
CARDS
4:36 Miicros https://www.youtube.com/watch?v=NsIeAV5aFLE
9:30 Spotify Hermes https://www.youtube.com/watch?v=fMq3IpPE3TU&t=21s
0:00 Intro
2:00 Spotify Outage
3:30 Microservices
6:10 Service Discovery
10:00 Spotify Quick Workaround
12:15 Google Traffic Director Outage

Mar 7, 2022 • 16min
The Many Ways of DDoS | Russia-Ukraine Cyberwar
The Russia-Ukraine Cyberwar has reached a peak this past week. In this video I explain the multiple ways a Denial of Service attacks can happen and how to protect against them
Intro 0:00
What is DOS? 1:00
Long running requests 1:42
Crash backend processes 3:30
Exhaust Max connections 4:25
Large response (web traffic) 5:42
Lots of requests 8:27
Complex request (Regex bug) 9:57
Prevention 12:27

Feb 24, 2022 • 9min
Why the next Chrome version will break websites
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon) https://database.husseinnasser.com
Chrome, Edge and Firefox are approaching version 100. that version is 3 digit version where most websites only checked two digits. You can imagine what can go wrong. Lets discuss

Feb 23, 2022 • 12min
The Slack 2/22/22 Outage
On 2/22/2022 Slack experienced a 3 hours outage from 6AM to 9AM PST because of a configuration change. That change lead to increase load to their database infrastructure which causes queries to starve. Lets discuss
https://status.slack.com/2022-02-22

Feb 22, 2022 • 14min
Should NodeJS Support HTTP/3?
It looks like there is demand for bringing QUIC and HTTP/3 to NodeJS, someone donated $1000 dollar to make it happen. However, what are the use cases for supporting HTTP/3 in Nodejs? I talk about whether HTTP/3 should come to NodeJS in this video.
https://rysolv.com/issues/detail/863986ce-c8d5-466d-abf4-476d3177452d

Feb 17, 2022 • 11min
Canada's Banks 2022 Outage
Five major Canadian banks went offline for hours blocking access to online and mobile banking as well as e-transfers for customers. There are no reports of what might have caused the outage so In this video we explain what might have caused it. https://www.bleepingcomputer.com/news/security/canadas-major-banks-go-offline-in-mysterious-hours-long-outage/


