The Backend Engineering Show with Hussein Nasser

Hussein Nasser
undefined
Jul 4, 2022 • 11min

HTTP 103 - Early Hints

In this video I discuss early hints HTTP 103 status code, the problem it solves and the challenges it has.
undefined
Jun 30, 2022 • 12min

YugabyteDB supports read committed isolation

YugabyteDB is a postgres compatible and cloud native database. Read committed isolation level is a critical feature and adding it might lure more postgres customer’s to move to the cloud native database. But will they compete in front of Google’s new AlloyDB ?    0:00 Yogabyte implements Read committed 4:20 Isolation Levels 8:40 Can YugabyteDB compete with Google AlloyDB?   https://www.theregister.com/2022/06/28/yugabytedb_215/ https://docs.yugabyte.com/preview/architecture/transactions/explicit-locking/
undefined
Jun 27, 2022 • 51min

Mutual TLS | The Backend Engineering Show

Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon) https://network.husseinnasser.com Transport Layer security or TLS is a protocol that encrypted the communication between client and server. TLS can also be used to authenticate the server, when the client also requires authentication this is called Mutual TLS and this is the topic of today’s show. 0:00 Introduction 2:00 What is TLS? 7:00 Server Authentication TLS 14:00 Advantages of one way TLS 19:44 Disadvantages of one way TLS 29:00 mTLS 31:00 Advantages of MTLS 37:00 The Problems of mTLS 43:00 Summary and my Thoughts
undefined
Jun 22, 2022 • 25min

Cloudflare Outage Analysis - Jun 21 2022

In this episode we go through the cloud flare outage blog.  https://blog.cloudflare.com/cloudflare-outage-on-june-21-2022/ Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon) https://network.husseinnasser.com
undefined
Jun 20, 2022 • 36min

When CSS loads last - HTTP Request Prioritization (RFC 9218) | The Backend Engineering Show

In this episode of the backend engineering show I go through the Extensible Prioritization Scheme for HTTP. This RFC addresses the problem in HTTP where the client prefers certain requests to be served before others. This RFC was designed by Lucas Pardue from Cloudflare and Kazoo Oku from Fastly.   0:00 The Request Priority Problem  13:00 How RFC 9218 addresses the problem 25:00 HTTP/1.x Backends 32:00 Summary  RFC 9218 https://datatracker.ietf.org/doc/rfc9218/
undefined
Jun 5, 2022 • 6min

What is a zero day attack?

In this video I explain what is a zero day vulnerability or attack.   Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon) https://network.husseinnasser.com
undefined
Jun 2, 2022 • 11min

This project could free millions of IPv4 addresses, but is it worth it?

IPv4 UniCast Extensions Project attempts to unreserve old IPv4 subnets so they are publicly addressable. Is it worth it? Let us discuss  https://blog.apnic.net/2022/05/31/cutting-down-on-ip-address-waste/Unicast Use of the Formerly Reserved 127/8 https://datatracker.ietf.org/doc/draft-schoen-intarea-unicast-127/ Unicast Use of the Lowest Address in an IPv4 Subnet https://datatracker.ietf.org/doc/draft-schoen-intarea-unicast-lowest-address/   Unicast Use of the Formerly Reserved 240/4 https://datatracker.ietf.org/doc/draft-schoen-intarea-unicast-240/   Unicast Use of the Formerly Reserved 0/8 https://datatracker.ietf.org/doc/draft-schoen-intarea-unicast-0/ https://twitter.com/TheRealRevK/status/1532033651650830339   Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon) https://network.husseinnasser.com
undefined
Jun 1, 2022 • 10min

Sorting in Postgres 15 is 371% faster in certain cases

Fantastic gains in Postgres 15! improved sorting by 371%. Normally you can avoid sorting by using an index access path. However, you can’t always have an index on every group by, order by, join or distinct predict. This will come handy. Let us discuss Resources https://www.phoronix.com/scan.php?page=news_item&px=PostgreSQL-15-Faster-Sort https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/speeding-up-sort-performance-in-postgres-15/ba-p/3396953#change3 https://www.postgresql.org/docs/15/release-15.html#id-1.11.6.5.4 https://techcommunity.microsoft.com/t5/sql-server-blog/understanding-sql-server-fast-forward-server-cursors/ba-p/383556
undefined
May 30, 2022 • 17min

UDP hole punching

In this episode of the backend engineering show I discuss UDP hole punching in details.  Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon) https://network.husseinnasser.com
undefined
May 29, 2022 • 9min

Software engineering and Nursery rhymes

As a new parent, you get exposed to a whole new world. There is this new toddler song “Five little monkeys jumping on the bed” where it starts with five monkeys jumping on the bed and one falls off the bed and the mom calls the doctor and then another monkey falls and the mom calls the doctor again. This keeps going until all monkeys are no longer on the bed. This clearly looks like a software engineering problem. In the face of it is extreme inefficiency in IO with the mom calling the doctor 5 times in span of 3 minutes. The mom could decide to wait for all monkeys to fall and call the doctor once. A Method that is known as batching. Two problems with this approach; the first is latency the mom can’t wait, she is worried, she needs immediate answer from the doctor for the first monkey that fell. The second problem is we don’t know if more monkeys are going to fall off the bed, so while the mom waiting, the first monkey will be in pain and will “starve”. We makes decisions like this constantly in software engineering. In some database systems for example commits from transactions are grouped and batched for few microseconds/milliseconds so more commits can arrive and the database can flush/fsync the WAL once. This is specially important in highly concurrent system because disk fsync is costly and bypasses the operating system cache. However, this comes at a cost of slight delay in transaction commits but less IO in general. To batch or not to batch. The five little monkey problem doesn’t have one right solution it all depends.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app