The Backend Engineering Show with Hussein Nasser
Episodes
Russia Follows in China’s footsteps and attempts to block TLS 1.3, ESNI, DoH & DoT, let us discuss
23 Sep 2020
Contributed by Lukas
It looks like Russia is submitting a proposal to block TLS 1.3, ESNI, DoH , DoT, let us discuss Resources https://www.zdnet.com/article/russia-wan...
Casting Firefox to your TV, Roku or Game Console? Watch out for this major DANGEROUS bug!
22 Sep 2020
Contributed by Lukas
What scared me about this bug is how EASY it is to execute, no MITM, no special software.. its all exploiting of existing software.. Let us discuss &n...
GoogleBot Crawler Now Uses HTTP/2 to Index the Web, Let us discuss how this affects our Back-end?
18 Sep 2020
Contributed by Lukas
Google Bot is now attempting to use HTTP/2 to crawl the web Ever since mainstream browsers started supporting the next major revision of HTTP, HT...
How I Got "Slightly" Better at Communicating my Ideas Effectively as a Software Engineer
18 Sep 2020
Contributed by Lukas
In this video, I explain how I got better at communicating my thoughts, opinions and ideas and how making content on YouTube Channel actually helped. ...
My Opinion on the “Stop Using React” Article
17 Sep 2020
Contributed by Lukas
There was a recent article titled Stop Using React which spawned lots of discussions. I want to give my thoughts on this article and React in general....
Best Practices Working with Billion-row Tables in Databases
14 Sep 2020
Contributed by Lukas
In this video, I discuss 3 methods to work with tables of billion rows. This discussion is inspired by a comment on my YouTube video on Twitter System...
Another Unsecured ElasticSearch Cluster Exposed with 900GB worth of private data, let us discuss
13 Sep 2020
Contributed by Lukas
It seems like these incidents are very common and not sure why ElasticSearch in particular. Let us discuss https://www.z...
How I deal with Stress and being Overwhelmed during the Pandemic as a Software Engineer and a Content Creator
13 Sep 2020
Contributed by Lukas
Some of you asked me how to deal with stress at my work and my content creation here on YouTube I share my thoughts with you Intro 0:00 Stress from Wo...
Unimog - Cloudflare’s edge load balancer has blown me away, let us discuss
12 Sep 2020
Contributed by Lukas
Unimog is a layer 4 load balancer built for Cloudflare scale. Cloudflare has written a great blog about it so let us discuss this technology. Video: h...
WOW! h2c Smuggling is a serious flaw and very easy to execute, Let us discuss this
11 Sep 2020
Contributed by Lukas
Jake Miller a security researcher discovered a serious flaw in proxies that allow h2c clear text upgrade and bypass proxy rules. Let us discuss Thanks...
Kafka Consumer Group is a Brilliant Design Choice and We should Discuss it
09 Sep 2020
Contributed by Lukas
Apache Kafka is an interesting software, every design decision the team makes perfect sense. I decided to dive deep into the discussion of the consume...
Is there a Limit to Number TCP Connections a Backend can handle?
07 Sep 2020
Contributed by Lukas
Someone asked me a question and I felt its interesting to make a video about, is there a limit to the maximum number of TCP connections a Client can m...
Doordash moves their Backend to Apache Kafka from RabbitMQ, VERY interesting! Let us discuss it!
06 Sep 2020
Contributed by Lukas
Doordash the food delivery service has built an asynchronous task processing backend with Celery and RabbitMQ. They are having lots of outages and pro...
Why Application-Layer Protocol Negotiation is Critical for HTTP/2 Backends
06 Sep 2020
Contributed by Lukas
Application-Layer Protocol Negotiation (ALPN) is a Transport Layer Security (TLS) extension that allows the application layer to n...
When to use UDP vs TCP in Building a Backend Application?
05 Sep 2020
Contributed by Lukas
In this video I explain when to use TCP vs UDP as a communication protocol on your backend app. I go through the advantages and disadvantages of UDP I...
Your Backend Might not Be Ready for HTTP/2 - Watch This Before Implementing it
04 Sep 2020
Contributed by Lukas
HTTP/2 is a protocol that allows multiplexing which can be very beneficial however HTTP/2 is not always cheap and might not be a good choice for your ...
Envoy Proxy Crash Course, Architecture, L7 & L4 Proxying, HTTP/2, Enabling TLS 1.2/1.3 and more
31 Aug 2020
Contributed by Lukas
Envoy is an open-source L7 proxy and communication bus Originally built at Lyft to move their architecture away from a monolith. In this video, I...
I finished Researching Envoy Proxy here is what I think, Let us Discuss
29 Aug 2020
Contributed by Lukas
Envoy Proxy is an L3/L4 Proxy that is designed to be service mesh, In this video, I discuss my initial thoughts about the product, design choices, and...
Postgres Vacuum Explained
28 Aug 2020
Contributed by Lukas
In this video, I explain Postgres Vacuum while I walk my dog.
Cloudflare fixes a HUGE limitation in HTTP/2 implementation of NGINX - This should be ported to all proxies
27 Aug 2020
Contributed by Lukas
Cloudflare is doing fantastic job to the web community security and backend engineering. This latest fix is awesome it is the ability to auto-tune win...
A SameSite Cookie Exception was made to avoid Redirect Loop in Single Sign On (SSO) Let us Discuss
27 Aug 2020
Contributed by Lukas
SameSite Cookie Lax is interesting and we are finding new exceptions everyday. Let us discuss this one where lax cookies will be sent on POST request ...
Inefficient Code in Chrome puts ENORMOUS load on DNS Roots Just for a pretty UX, let us discuss...
27 Aug 2020
Contributed by Lukas
This code was introduced for a user experience ending up taking 50% of the traffic on DNS Root server. Sorry I was touching my hair a lot ...
Windows 95 is 25 Years Old Today and I am feeling nostalgic, let us discuss
24 Aug 2020
Contributed by Lukas
Windows 95 was a great operating system, wrote so many apps on top of it and played so many games too. Join me as I discuss this https://www.theverge...
REST API has a major limitation and Vulcain solves it, Let us discuss
24 Aug 2020
Contributed by Lukas
GraphQL was born to solve a major limitation in REST API, but the cost of GraphQL and barrier to entry is high. Vulcain addresses REST limitations by ...
Chrome is enabling RAW TCP AND UDP Connections! Let us discuss
22 Aug 2020
Contributed by Lukas
Chrome is enabling Raw TCP and UDP from the Browser, this is big news! let us discuss the implication, security and benefit for us backend engineers. ...
Pessimistic concurrency control vs Optimistic concurrency control in Database Systems Explained
20 Aug 2020
Contributed by Lukas
In this video, I discuss the different concurrency control at database transactions, specifically the pessimistic vs optimistic concurrency control. a...
A Critical Jenkins Bug Discovered - This is why Building a Web Server is Hard
19 Aug 2020
Contributed by Lukas
Jenkins has just released a statement that there is a potential bug (CVE-2019-17638) where an attacker can steal content from other legitimate request...
My Struggle with the English Language in the US as an Arab Native Speaker and a Software Engineer
18 Aug 2020
Contributed by Lukas
Some of you asked me to talk about how I learned to speak good English on my YouTube videos. I wanted to make a video on the fact that It wasn't alway...
What are Third Party Cookies, How do they work?
17 Aug 2020
Contributed by Lukas
In this video I explain in details what are third party cookies and how do they work and explain the same site property that google changed 0;30...
When Designing a Backend System Minimize the “What If” Questions
16 Aug 2020
Contributed by Lukas
What if questions sometimes cripple the system design for backend application and complicate the end product. I discuss this in this video. &nbs...
I ask this question to every Backend Engineer I interview
16 Aug 2020
Contributed by Lukas
Light video today discussing my interviewing skills for software engineering positions. I always ask this open ended question and allow the candidate ...
Is YAGNI (You aren’t gonna need it) Still Relevant in Backend Engineering System Design?
16 Aug 2020
Contributed by Lukas
YAGNI stands for You aren’t gonna need it and its a pillar in extreme programming, in this video I discuss this philosophy within the context of Bac...
WOW! China Blocks TLS 1.3 with ESNI - Let us discuss
09 Aug 2020
Contributed by Lukas
SNI or server name indication is a TLS Extention that indicate which server/host/domain the client want to communicate with. This is to allow for host...
Let us discuss HSBC moving from 65 relational databases into one global MongoDB database
07 Aug 2020
Contributed by Lukas
HSBC moving from 65 relational databases to a single Global MongoDB, that might be true but it's misleading as not all systems are moved. Resources ht...
FireFox Changes to SameSite Cookie Default Behavior Following Chrome’s footsteps - Great Change
06 Aug 2020
Contributed by Lukas
SameSite Cookie attribute has been introduced to secure the web and only send cookies within a trusted and safe context. SameSite Cookies Video ...
Chrome Blocks Downloads For Files Hosted on HTTP (insecure) URLs - GREAT CHANGE!
06 Aug 2020
Contributed by Lukas
A great change by Chrome team, downloading files on HTTP insecure channels is insecure. Let us discuss Resource https://www.zdnet.com/arti...
How Homomorphic Encryption will revolutionize Software Engineering
02 Aug 2020
Contributed by Lukas
Homomorphic encryption is a form of encryption allowing one to perform calculations on encrypted data without decrypting it first. The result of the c...
Dropbox migrates to Envoy from NginX - Let us discuss
02 Aug 2020
Contributed by Lukas
Dropbox has fully migrated their proxying needs from nginx to envoy proxy. They wrote this detailed article about the reasons and motivations and prob...
Twitter hackers caught (Full analysis) - What really happened, how they got caught and can homomorphic encryption prevents this?
02 Aug 2020
Contributed by Lukas
The twitter hackers got caught and the case is closed, what have we learned? what really happened? and how can we prevent such attacks in the future, ...
MariaDB vs MySQL SSD NVMe vs SATA Performance - Discussions on the Percona Benchmark
30 Jul 2020
Contributed by Lukas
This is an analysis of the #percona benchmark article comparing MySQL & mariaDB performance with regards to SSD disks with NVMe vs SATA controller...
MongoDB and ElasticSearch Clusters WIPED! The Meow attack and how Backend Engineers can prevent it
30 Jul 2020
Contributed by Lukas
Bob Diachenko discovered an attack on MongoDB and ElasticSearch clustered that are unsecured. We discuss this attack in detail and how we as Backend E...
I started Researching WebRTC and…..
28 Jul 2020
Contributed by Lukas
My progress of researching webRTC
Advice to Anyone starting a Software Engineering YouTube Channel
26 Jul 2020
Contributed by Lukas
This is a podcast I did with @Adarsh Menon where I discuss my journey into Backend Engineering and some lessons learned during the course of my 20+ ye...
One Line of Code can open you for a MITM attack, Let us Discuss
25 Jul 2020
Contributed by Lukas
Was reading this article and it is interesting how relatable to backend engineering and security and how many times I made this mistake before. In thi...
WhatsApp handles 3 MILLION TCP Connections Per Server! How do they do it? Let us discuss
25 Jul 2020
Contributed by Lukas
WhatsApp is a chatting application written in Erlang. Let us have a discussion on how WhatsApp managed to run 3 million TCP connections on each FreeBS...
TLS 1.1 is Dead … Well Almost! thanks to Chrome 84- Deep Dive Analysis
21 Jul 2020
Contributed by Lukas
In this video I go through why TLS 1.0 and TLS 1.1 should go away. Resources https://threatpost.com/riskrecon-the-tls-1-2-deadline-is-loom...
Remote Code Execution bug found in Popular Node.js changelog library (I go through the code)
21 Jul 2020
Contributed by Lukas
Github security team has found a remote execution code in Node.JS library changelog. In this video I describe the bug and go through the code Re...
My Thoughts on the Massive VPN Leak of 1.2 TB User logs
20 Jul 2020
Contributed by Lukas
In this video I discuss the VPN Leak of 1.2 TB of user logs data, IP addresses, password and much more Resources https://www.theregister.c...
The Cloudflare Outage - What Happened? And my Thoughts
18 Jul 2020
Contributed by Lukas
In July / 17 Cloud Flare had a 27 minutes outage, we discuss this outage what caused it and my thoughts on this .. https://blog.cloudflare.com/c...
My Thoughts on The Twitter “Hack”
16 Jul 2020
Contributed by Lukas
A hacker used Twitter’s own ‘admin’ tool to spread cryptocurrency scam. In this video I discuss this attack
Server-Sent Events Crash Course
14 Jul 2020
Contributed by Lukas
Server-Sent Events or SSE is when the server sends events to the client in a unidirectional manner. In this video I explain Server-Sent Events and com...
HOW Would TikTok Be Blocked in US (Technical Explanations)
08 Jul 2020
Contributed by Lukas
In this video I go through all possible ways the US can use to block TikTok? 0:00 Intro 0:22 App Stores 1:30 DNS 2:20 ISP Level Block 3:30...
Have a Database User for each Express Route - Best Practices for Backend Application with Postgres
06 Jul 2020
Contributed by Lukas
This is a question from one of you guys that I thought I'd answer in its own video since its loaded. Q/A - Shark Beak I currently have the same ...
ZeroMQ
05 Jul 2020
Contributed by Lukas
ZeroMQ is an Open Source Messaging Library designed for a high-performance asynchronous messaging library. In this video I discuss this tech and build...
Discussing Layer 7 Reverse Proxy D=DOS Mitigation (Security Now Video by Steve Gibson )
02 Jul 2020
Contributed by Lukas
Discussing Layer 7 Reverse Proxy D=DOS Mitigation (Security Now Video by Steve Gibson )
Google Chrome and Firefox to Join Apple’s Safari in One Year Certificate Validity (My opinion)
02 Jul 2020
Contributed by Lukas
Google Chrome and Firefox to Join Apple’s Safari in One Year Certificate Validity (My opinion)
What is TCP Fast Open and how can it speeds up Web Application
30 Jun 2020
Contributed by Lukas
TCP Fast Open Spec https://tools.ietf.org/html/rfc7413#section-1
What is TCP Slow Start and how Does it affect your Web Application Performance?
30 Jun 2020
Contributed by Lukas
In this video I discuss what is the TCP Slow Start and its effect on performance of backend applications, proxies and even frontend applications.
Why you can’t run an unencrypted HTTP/2 Server on Port 80 - Protocol Ossification Explained
30 Jun 2020
Contributed by Lukas
In this video, I explain why we can't run unencrypted HTTP/2 or HTTP/3 without enabling TLS. This is because of Protocol Ossification.
Why Turning on HTTP/2 Was a Mistake (My opinion on the lucidchart article)
28 Jun 2020
Contributed by Lukas
Article: Why Turning on HTTP/2 Was a Mistake - Lucidchart - https://www.lucidchart.com/techblog/2019/04/10/why-turning-on-http2-was-a-mistake/ I...
What Recruiters really look for in a Backend Engineer? (Unpopular opinion)
19 Jun 2020
Contributed by Lukas
In this video I have a conversation with you on how we one break it into backend engineering answer most of your questions, what should you write in a...
Multicast DNS
17 Jun 2020
Contributed by Lukas
In this video I discuss multicast DNS. Wikipedia defines multicast dns In computer networking, the multicast DNS (mDNS) protocol resolv...
Overengineering in Software
17 Jun 2020
Contributed by Lukas
In this video, I explain the different cases where we overengineer software especially in two pieces, software code, and system design and architectur...
Can your ISP block you from Watching A Single YouTube Video?
07 Jun 2020
Contributed by Lukas
We know ISP can block you from going to YouTube all together but can they block you from watching a single youtube video? I discuss that in this video...
What Caused Stripe and Ruku to stop working on May 30th 2020? Expired Root Certificate Bug Explained
02 Jun 2020
Contributed by Lukas
In this video I explain what happened to services such as stripe & roku which failed to establish TLS sessions because the ROOT certificate AddTru...
MultiThreading and MultiProcessing over a Single TCP Connection, Good Idea?
31 May 2020
Contributed by Lukas
Sharing a Single TCP Connection whether this is HTTP, WebSockets or just RAW TCP protocol between multi-threading or multi-processes application is bo...
How Does Database Store Tables on Disk? Explained both SSD & HDD
30 May 2020
Contributed by Lukas
in this video I explain how database systems store their data on Disk both f from SSD (solid-state drives) and HDD (HarD disk drive). Ther...
Understand Fundamentals not Tools (e.g. WebSockets vs Socket.io, Javascript vs React, Python vs Django)
26 May 2020
Contributed by Lukas
Understand Fundamentals not Tools (e.g. WebSockets vs Socket.io, Javascript vs React, Python vs Django)
How to Spot Good Software Documentations from Really Bad one?
25 May 2020
Contributed by Lukas
In this video I discuss all about software documentation.Good doc from bad doc and how to differentiate and is documentation the only source of learni...
7 Tips To Optimize Your Backend API (Without Caching)
24 May 2020
Contributed by Lukas
In this podcast I discuss 7 Tips To Optimize Your Backend API (Without Caching) 1) The serialization representation (XML/JSON, pbf) 0:40 2) Preh...
10 FrontEnd Performance Tips To Improve Your Application (Any Programming Language)
20 May 2020
Contributed by Lukas
In this video, I would like to discuss 10 performance tweaks and tips that you can apply to your frontend application to improve its performance and e...
Agile vs Waterfall Software Development Methodology Explained
19 May 2020
Contributed by Lukas
In this video I explain the difference between Agile & Water, the pros & cons and more. Chapters 0:00 Intro 1:00 Waterfall 5:00 Agile
How WebSockets Work with HTTP/2 (RFC8441 Explained)
13 May 2020
Contributed by Lukas
In this video I explain how WebSockets work in the new HTTP/2 protocol. This is explained in the Bootstrapping WebSockets with HTTP/2 in RFC8441...
Machine Learning Occupancy Detection System being deployed in California
11 May 2020
Contributed by Lukas
Metroexpress lane is implementing a Machine Learning Occupancy Detection System which I found interesting. In this video I discuss machine learning, s...
What is a Multitenancy Architecture and Why Is it becoming popular?
09 May 2020
Contributed by Lukas
In this video I explain the multi-tenancy architecture. The basic idea is to have a single instance of your application to serve multiple tenants or c...
How Important are algorithm and data structures in backend engineering?
09 May 2020
Contributed by Lukas
Algorithms & Data Structures are critical to Backend Engineering however it really depends on what kind of application and infrastructure you are ...
My Preferred Method of Learning Backend Engineering Technologies Fast
05 May 2020
Contributed by Lukas
In this video I want to talk about my preferred method of learning backend engineering technologies, I prefer podcasts and youtube videos some people ...
What is a Message Queue and When should you Queues?
01 May 2020
Contributed by Lukas
Message Queues system like RabbitMQ and Kafka are amazing technologies but when should you actually use a message queue? I discuss this in this video....
RabbitMQ Channels, HTTP/2 Streams and How QUIC can fix the limitation Message Queues
01 May 2020
Contributed by Lukas
In this video I talk about RabbitMQ Channels compared to HTTP/2 Streams and how QUIC helps mitigate some of the major limitations in Channels and Stre...
Can QUIC Protocol be used as in Databases ? Web Application Database Pooling, head of line blocking and more
29 Apr 2020
Contributed by Lukas
In this video I discuss why QUIC will make a great communication protocol for databases and how it solves a critical problem with stateless web applic...
When should you shard your database?
28 Apr 2020
Contributed by Lukas
Database Application level sharding is the process of splitting a table into multiple database instances in order to distribute the load. However, Sha...
Advice for Junior backend engineers who just started new jobs
25 Apr 2020
Contributed by Lukas
In this video I give some advice to junior backend engineers who just started their new jobs and feel overwhelmed. Backend engineering jobs can be ove...
Why System Design and Architecture is an Art ?
23 Apr 2020
Contributed by Lukas
Creating a software design is an art here is why
What makes a good Software Tester?
22 Apr 2020
Contributed by Lukas
Software Testing is Art, In this video, I discuss what makes a Good Software Tester. How can you become a better software tester that people line up t...
JSON Web Token
19 Apr 2020
Contributed by Lukas
JSON Web Token (JWT, sometimes pronounced JOT) an internet standard for creating JSON-based access tokens that assert some nu...
Main Difference between Asynchronous, Multithreading and Multiprocessing Programming
12 Apr 2020
Contributed by Lukas
In this video I explain the main difference between asynchronous execution, multithreading and multiprocessing programming. There are advantages and d...
How End to End encryption work?
12 Apr 2020
Contributed by Lukas
In this video I explain End to End encryption within the context of WhatsApp. I explain how encryption and TLS works then the problem of having a cent...
WhatsApp Limits Messages that can be Forwarded
12 Apr 2020
Contributed by Lukas
WhatsApp Introduced long time a go Unlimited forwarding then limited Up to 5 times Double forwarded too many times (last year) Double forwarded...
Forward Proxy vs Reverse Proxy Explained
09 Apr 2020
Contributed by Lukas
In this video, I explain the difference between a proxy and a reverse proxy. This is a refreshed version of the proxy video I made. What i...
What is a Distributed Transaction in Microservices?
05 Apr 2020
Contributed by Lukas
In this video I explore what is a distributed transaction but first I explain what is a transaction, then why we invented distributed transactions and...
Chrome follows FireFox steps - Rolling back SameSite cookie change
04 Apr 2020
Contributed by Lukas
A very necessary change and good step made by Google Chrome Team to rollback the same site cookie change Blog https://blog.chromium.org/2020/04/tempor...
Bloom Filters Explained
02 Apr 2020
Contributed by Lukas
In this video I explain why we invented bloom filters and where you can use it to make your queries more efficent.
What is On Demand TLS?
30 Mar 2020
Contributed by Lukas
On-Demand TLS is a new feature developed by Caddy Web Server that allows TLS certificate to be generated on the first request, I explain this tech and...
Lazy Loading vs Eager Loading with Node JS & Express
29 Mar 2020
Contributed by Lukas
Lazy Loading is a technique where a piece of data is being loaded when needed instead prior. This ensures Fast startup times but can delay requests. I...
The good the bad and the ugly on gRPC
28 Mar 2020
Contributed by Lukas
In this podcast I discuss the good, the bad and the ugly about gRPC. No technology is perfect.
This is why gRPC was invented
28 Mar 2020
Contributed by Lukas
THIS IS MAIN reason gRPC was invented 8:40 -> 16:40 (8 minutes) In this video I discuss the reasoning and all the problems and limitations that lea...
Firefox re-enables TLS 1.0 & TLS 1.1 to allow access to legacy websites hosting COVID19 information
25 Mar 2020
Contributed by Lukas
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 erro...
Episode 141 - Software Chat - Copy and Paste Code, Tutorial Hell, Frontend Frameworks, GitHub Pull request Trolling and more
23 Mar 2020
Contributed by Lukas
Copy and Paste Code, Tutorial Hell, Frontend Frameworks, GitHub Pull request Trolling and more
Episode 140 - Software Chat - Learning at Home, Consistent Hashing, Empathy with Engineers and More
21 Mar 2020
Contributed by Lukas
New software chat series let me know if you like it
Episode 139 - How to Become a Good Backend Engineer (Fundamentals)
19 Mar 2020
Contributed by Lukas
In this video, I discuss the path of becoming a backend engineer through concepts and fundamentals. These are not tools 🧰 these are backend concept...