
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

Mar 25, 2020 • 4min
Firefox re-enables TLS 1.0 & TLS 1.1 to allow access to legacy websites hosting COVID19 information
Firefox has disabled TLS 1.0 and TLS 1.1 to improve your website connections. Sites that don't support TLS version 1.2 will now show an error page. We reverted the change for an undetermined amount of time to better enable access to critical government sites sharing COVID19 information.
https://www.youtube.com/watch?v=grVVuGnN9IE
https://www.mozilla.org/en-US/firefox/74.0/releasenotes/
https://twitter.com/cramforce/status/1242515799215988737?s=21

Mar 23, 2020 • 26min
Episode 141 - Software Chat - Copy and Paste Code, Tutorial Hell, Frontend Frameworks, GitHub Pull request Trolling and more
Copy and Paste Code, Tutorial Hell, Frontend Frameworks, GitHub Pull request Trolling and more

Mar 21, 2020 • 19min
Episode 140 - Software Chat - Learning at Home, Consistent Hashing, Empathy with Engineers and More
New software chat series let me know if you like it

Mar 19, 2020 • 27min
Episode 139 - How to Become a Good Backend Engineer (Fundamentals)
In this video, I discuss the path of becoming a backend engineer through concepts and fundamentals. These are not tools 🧰 these are backend concepts and fundamentals technologies. - Communication Protocols 3:30 - TCP,UDP - QUIC - HTTP - WebSockets - gRPC - Web Servers 8:40 - How web servers work? - Dynamic vs Static Content - E-Tags - HTTP protocol - Database Engineering 11:00 - Relational vs NoSQL - ACID - Proxies (Reverse Proxies, Load balancer) 13:31 - What is difference between Proxy vs Reverse Proxy - Layer 7 Proxy vs Layer 4 Proxy - Reverse Proxy applications - Load Balancing algorithms - Caching 15:40 - When to use Caching - Message queue, Pub/Sub 16:36 - When to use PubSub messaging first queue. - Web Frameworks (API authoring) 18:30 - Express, Django, Node JS - Message Formats (JSON, protobuf) 19:24 - JSON & protobuf - Security 20:50 - TLS, Encryption, Firewalls

Mar 15, 2020 • 16min
Episode 138 - Firefox Implements DNS over HTTPS This is good but also might be bad
FireFox DNS over HTTPS is a great step to a more secure web however it is absolutely useless without this ESNI. I also discuss doh in this video, esni and why this might not be a good idea
https://blog.mozilla.org/blog/2020/02/25/firefox-continues-push-to-bring-dns-over-https-by-default-for-us-users/

Mar 15, 2020 • 12min
Episode 137 - Active-Active vs Active-Passive Cluster Pros and Cons
In this video I want to talk over the active active active vs active passive cluster configuration for high availability. We will also explain the pros & cons of using an active-active cluster vs using an active-passive cluster.

Mar 8, 2020 • 27min
Episode 136 - Sidecar Proxy (Pros and Cons)
A sidecar proxy is an application design pattern which abstracts certain networking features, such as inter-service communications, monitoring and security, timeouts, retries, communication protocols, away from the main architecture to ease the maintenance of the application as a whole.
In this video I’d like to talk about how we classically do things:
Library Pattern
getComments HTTP1:1/JSON
Add features retries/timeout /hardcode the server name what it changed/add new server to load balance between them/credentials
Sidecar pattern
getComments HTTP/2
Sidecar proxy/container
Examples
Microservices (Linkerd, Envoy, Istio)
Pros
Language agnostic (polyglot)
Protocol upgrade
Security
Tracing and Monitoring
Service Discovery
Caching
Cons
Complexity
Latency
SideCar Proxy must be layer 7
Library 2:25
Sidecar: 7:40
Example: 13:00 (https://www.youtube.com/watch?v=cp3Ku1XeOn8)
Pros & Cons : 16:15
Cards
6:22 HTTP/2
10;50 Reverse Proxy / proxy
example 13:00 (https://www.youtube.com/watch?v=cp3Ku1XeOn8)
16:00 Layer 4 vs Layer 7 load balancer

Mar 5, 2020 • 7min
Episode 135 - mySQL 8.0 has a new feature called Atomic DDL and it is not what you think
MySQL 8.0 supports atomic Data Definition Language (DDL) statements. This feature is referred to as atomic DDL. An atomic DDL statement combines the data dictionary updates, storage engine operations, and binary log writes associated with a DDL operation into a single, atomic transaction. The transaction is either committed, with applicable changes persisted to the data dictionary, storage engine, and binary log, or is rolled back, even if the server halts during the operation.
I discuss mySQL 8.0 atomic ddl compared to Postgres transactional ddl

Feb 29, 2020 • 1h 20min
Episode 134 - gRPC
gRPC (gRPC Remote Procedure Calls[1]) is an open source remote procedure call (RPC) system initially developed at Google in 2015[2]. It uses HTTP/2 for transport, Protocol Buffers as the message format.
In this video I want to explore gRPC, go through examples, pros and cons of gRPC.
Client/ Server communication
SOAP
HTTP (REST)
WebSockets
Client Libraries
gRPC
gRPC Demo
todos
gRPC Pros and Cons
Pros
Fast two/uni and request
Unform
One library to rule them all
Progress feedback( long synchronous requests) drop pluggable wait...)
cancel request
All benefits of H2 and Protobuff
Cons
schema based (not everyone wants schema)
Thick client - limited languages - Proxies still don’t understand it
Still young
Error handling
No native browser support
Timeouts, circuit breaker just like any RPC (pub/sub rules in this case)
Can you create your own protocol?
Spotify example with Hermes

Feb 26, 2020 • 5min
Episode 133 - Firefox fixes a bug that prevented users from signing into the Royal Bank of Canada (73.1)
Firefox version 73.1 fixes a bug that prevented users from signing into Royal Canadian Bank (Firefox fixed a bug that prevented Canadians from signing in to their bank royal Canadian bank) what caused it? Lets get into it
* Users will sign in and will get blank page.
* Cause Beacon API and HTTP/2
* Bug has been there forever
Sources
https://bugzilla.mozilla.org/show_bug.cgi?id=1613943#c16 🏭 Software Architecture Videos