
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

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/

Feb 16, 2022 • 11min
Accessing SSDs through TCP - NVMe over TCP
NVMe changed the game of fast SSD storage. The spec is being extended to support networked storage, I have some doubts that would like to discuss in this video. Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon) https://database.husseinnasser.com Introduction to NGINX (link redirects to udemy with coupon) https://nginx.husseinnasser.com Python on the Backend (link redirects to udemy with coupon) https://nginx.husseinnasser.com

Feb 16, 2022 • 32min
What does it take to break Bitcoin’s encryption? | The Backend Engineering Show
I stumbled upon a research calculating how big of quantum computer required to break bitcoin public key encryption. It will take them 300 million quantum bits to find the corresponding private key given a public key. That wasn’t really the most instructive thing really from that research. The interesting thing is how bitcoin design carefully hides information about the original owner which makes breaking it really challenging.
In this episode I discuss what does it take to break bitcoin encryption.
0:00 Intro
3:00 Public Key Cryptography
6:30 Bitcoin Keys ( Private key/public key and bitcoin address)
8:18 Why do we need a Bitcoin address
11:13 How minors verify transactions
17:30 When is the bitcoin public key visible?
19:12 The Wallet
20:47 What does it take to break bitcoin?
-find wallet.dat file which contain all the keys, some upload that online
-obtain public key from digital sign during a transaction posting. If someone used that public key , obtained the private key, then used it to generate a new ransaction to a different address before this transaction get posted.
-have a bitcoin address in mine satoshi, find out the public key not possible, then find out the private key from the public key, you can take all the time you need here. Because once you find those puppiest you are off to the races
25:20 Bits of security
28:00 My thoughts
Resources
https://avs.scitation.org/doi/10.1116/5.0073075

Feb 14, 2022 • 16min
NodeJS introduces HTTPS Import from URLs
NodeJS introduces importing network based modules in their latest release. Importing network based modules using `https:` and `http:` is supported under the `--experimental-network-imports` flag. This allows web browser-like imports to work in Node.js with a few differences due to application stability and security concerns that are different when running in a privileged environment instead of a browser sandbox.
Import HTTPS
https://github.com/nodejs/node/pull/36328/files

Feb 5, 2022 • 13min
First port your computer connects to browsing the Web | Backend Engineering Show
I asked a question on my community post What port does your computer connect to when you visit google.com on your browser for the very first time? The answer really depends on the network configuration and that's what I discuss in this video. The answer could be HTTP port 80, HTTPS port 443, DNS port 53 or other answers that aren't even listed here including DNS over HTTPS and DNS over TLS. Lets discuss

Jan 30, 2022 • 32min
Index page splits | The Backend Engineering Show
In this episode of the backend engineering show I discuss the ramification of index page splits which results in fragmented index yielding slow query performance when using indexes. I go through what a page is, how a page is read and written in the database and finally discuss the current solutions to address this problem such as reindexing, fill factor and choosing a good index key type.
Get my Fundamentals of Database Engineering Udemy course https://database.husseinnasser.com
0:00 Intro
1:50 What is a Page?
5:00 How to Read and Write a page
8:45 Batching Writes and WAL
11:45 The Order of Content in the Page
16:00 Page Splits
21:30 Solving Index Fragmentation
28:30 Summary

5 snips
Jan 23, 2022 • 26min
Multi-tenancy architecture | The Backend Engineering Show
Multitenancy refers to placing two or more clients, customers or tenants so they share a single resource. The idea behind Multitenancy is to save on resources instead of giving each client its own resource (storage, app, memory, network etc..). You slice each part and give it to dedicated client. The number one rule is those tenants shouldn’t be aware of the existence of other tenants, they need to be completed isolated, no one tenant can read or influence the other’s tenant share. If this is confusing don’t worry I’ll go through examples in this episode of the backend engineering show.
0:00 Intro
2:50 Ssd Multitenancy
6:45 Database Multitenancy
10:14 Networking Multitenancy (SDN)
16:55 VMs and Containers Multitenancy
19:00 Application Multitenancy