The Backend Engineering Show with Hussein Nasser

The Backend Engineering Show with Hussein Nasser

By Hussein NasserTechnology
Download on the App Store

The Backend Engineering Show with Hussein Nasser episodes

  • 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.
    10 min
  • Linux Big TCP might be a game changer for Google (and other cloud providers)

    Eric Dumazet, a Linux kernel and a Google Principal software engineer pushed a new change to Linux to support a new feature in Linux called BIg TCP. How about we discuss this  resources https://www.phoronix.com/forums/forum/software/general-linux-open-source/1325637-linux-5-19-networking-brings-big-improvements-with-big-tcp-purelifi-more-hardware https://patchwork.kernel.org/project/netdevbpf/patch/[email protected]/https://datatracker.ietf.org/doc/html/rfc2675

    15 min
  • Redo, Undo and WAL logs | The Backend Engineering Show
    Database logging is a critical feature to maintain durability, in this show I discuss them in details   0:00 intro 1:00 ad 3:30 Start of the Show 6:00 What is commit 9:30 What if a commit fails half way 11:00 WAL 23:00 Checkpointing 27:00 fsync 33:00 Undo logs Get $20 off of your first order of cometeer quality delicious coffee https://cometeer.com/husseinnasser use coupon HUSSEIN20 ☕️
    41 min
  • The software engineer mental health

    In this video I discuss the developer mental health, stress, pressure, expectation, how to understand and shed light on the issues, and what might cause it all.  Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon) https://network.husseinnasser.com

    20 min
  • Distributed Transactions are Hard (How Two-Phase Commit works)

    In this video I explain how we can use two-phase commit protocol works to achieve atomic distributed transaction.   0:00 What is atomicity  3:00 Distributed Transaction 6:00 Two phase commit protocol 13:00 Limitations of Two phase commit protocol    Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon) https://network.husseinnasser.com Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon) https://database.husseinnasser.com

    17 min
  • Why this query is fast

    Welcome to another database question. In this question I created a community poll question and provided some answers. All answers can be correct of course but the question is what is the most efficient? this is what I try to explore in this video and compare how different database platforms such as mysql or Postgres differ in those implementations;

    Table T with three integer fields A, B and C.

    A has a primary key clustered index.

    B has a secondary index.

    Which query is more likely to be the most efficient?

    0:00 Intro

    1:00 The Question

    3:20 WHERE C BETWEEN 50,50000

    5:30 WHERE B BETWEEN 50,50000

    13:20 WHERE C BETWEEN 50,50000

    Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)

    https://network.husseinnasser.com

    Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)

    https://database.husseinnasser.com

    18 min
  • DNS is Beautiful

    DNS or Domain Name System, despite its drawbacks, is brilliantly designed for scale. We can learn few lessons from this protocol especially when designing our own apps. This episode of the backend engineering show I go through how DNS works, the pros and the cons and attacks that happened on this system.

    0:00 Intro

    2:00 Overview DNS

    7:40 How DNS works (Details)

    15:44 DNS uses UDP

    19:30 DNS Poisoning

    24:10 is DNS really distributed?

    26:30 How Attackers Abuse DNS

    30:30 How Chrome overloaded the ROOT servers for 12 years

    Resources

    https://blog.apnic.net/2020/08/21/chromiums-impact-on-root-dns-traffic/

    https://www.cloudflare.com/learning/dns/what-is-dns/

    https://www.cloudflare.com/learning/dns/dns-cache-poisoning/

    https://blog.cloudflare.com/sad-dns-explained/

    https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610

    Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)

    https://network.husseinnasser.com

    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

    42 min
  • The Beauty of the Internet Protocol
    In this episode of the backend engineering show we discuss the Internet Protocol. A beautiful, elegant protocol that made the Internet possible. We discuss why we need an IP address, how routing is done and how VPNs take advantage of the agnostic nature to encrypt traffic
    27 min
  • Caching is hard | The Backend Engineering Show

    In this episode of the backend engineering show we discuss an article written by the Forem team illustarting a bug they recently fixed in their caching layers. They go into good level of details explaining the 3 levels of caching that they have. I go through this article in this episode and give my opinion at the end as to why we shouldn’t really cache unless we need to. Enjoy

    0:00 Intro

    1:00 Three level of caching summary

    7:39 Edge Caching

    8:30 Backend Rails Caching

    10:30 Database Caching

    15:00 Understand why you Cache

    Article

    https://dev.to/devteam/the-three-caches-of-forem-492p

    22 min

About The Backend Engineering Show with Hussein Nasser

From the publisher's feed

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.

More shows like The Backend Engineering Show with Hussein Nasser

Freakonomics Radio by Freakonomics Radio + Stitcher

Freakonomics Radio

31,929 Listeners

Software Engineering Radio - the podcast for professional software developers by team@se-radio.net (SE-Radio Team)

Software Engineering Radio - the podcast for professional software developers

274 Listeners

Risky Business by Risky Business Media

Risky Business

373 Listeners

Science Vs by Spotify Studios

Science Vs

12,159 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

987 Listeners

Darknet Diaries by Jack Rhysider

Darknet Diaries

8,070 Listeners

Practical AI by Daniel Whitenack and Chris Benson

Practical AI

210 Listeners

Within Reason by Alex J O'Connor

Within Reason

1,626 Listeners

All-In with Chamath, Jason, Sacks & Friedberg by All-In Podcast, LLC

All-In with Chamath, Jason, Sacks & Friedberg

10,106 Listeners

Dwarkesh Podcast by Dwarkesh Patel

Dwarkesh Podcast

550 Listeners

Big Technology Podcast by Alex Kantrowitz

Big Technology Podcast

513 Listeners

Hard Fork by The New York Times

Hard Fork

5,565 Listeners

The AI Daily Brief: Artificial Intelligence News and Analysis by Nathaniel Whittemore

The AI Daily Brief: Artificial Intelligence News and Analysis

671 Listeners

Prof G Markets by Vox Media Podcast Network

Prof G Markets

1,439 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

74 Listeners