123 episodes

Welcome to this podcast with your host Hussein Nasser. If you like software engineering you’ve come to the right place. All opinions are my own.

Most of my content in the podcast is an audio version of my youtube channel here http://www.youtube.com/c/HusseinNasser-software-engineering

Hussein Nasser Podcast Hussein Nasser

    • Technology

Welcome to this podcast with your host Hussein Nasser. If you like software engineering you’ve come to the right place. All opinions are my own.

Most of my content in the podcast is an audio version of my youtube channel here http://www.youtube.com/c/HusseinNasser-software-engineering

    Episode 124 - NginX

    Episode 124 - NginX

    NginX is an open source web server written in C and can also be used as a reverse proxy and a load balancer.

    In this video, I want to go through the following topics in NginX


    What is NginX? 2:25
    Current & Desired Architecture 4:58
    Layer 4 and Layer 7 Proxying in Nginx 8:40
    Example 10:25

    Install Nginx (mac) 13:30
    Nginx as a Web Server 15:00 (webserver.conf)

    Static context location root 20:00
    regular expression 27:00
    proxy pass 30:30


    Nginx as a Layer 7 Proxy 33:30

    Proxy to 4 backend NodeJS services (docker) 37:00
    IP_Hash load balaning 43:00
    Split load to multiple backends (app1/app2) 46:00
    Block certain requests (/admin) 49:00


    NGINX as a Layer 4 Proxy 51:30
    Create DNS record 1:01:08
    Enable HTTPS on Nginx (lets encrypt) 1:05:08
    Enable TLS 1.3 on Nginx 1:14:00
    Enable HTTP/2 on NGINX 1:17:10


    Summary 1:20:10

    Cards

    3:40 proxy vs reverse proxy https://www.youtube.com/watch?v=ozhe__GdWC8&t=1s

    8:50 OSI Model https://www.youtube.com/watch?v=7IS7gigunyI

    10:00 L4 vs l7 load balancer https://www.youtube.com/watch?v=aKMLgFVxZYk

    34:00 spin up docker app https://www.youtube.com/watch?v=vmSMrQ8Ev9w&t=14s

    44:26 stateless vs stateful https://www.youtube.com/watch?v=nFPzI_Qg3FU

    1:16:30 TLS video https://www.youtube.com/watch?v=AlE5X1NlHgg&t=8s


    ---

    Send in a voice message: https://anchor.fm/hnasr/message

    • 1 hr 26 min
    Episode 123 - Horizontal vs Vertical Database Partitioning

    Episode 123 - Horizontal vs Vertical Database Partitioning

    In this podcast I explain what database partitioning is and illustrate the difference between Horizontal vs Vertical Partitioning, benefits and much more.   Why Partitioning?






    ---

    Send in a voice message: https://anchor.fm/hnasr/message

    • 11 min
    Episode 122 - ARP

    Episode 122 - ARP

    ARP

    Address Resolution Protocol is a protocol that maps IP address to a mac address so hosts can be addressed. I want to make a video explaining ARP because it is starting to surface a lot in different videos that I’m making such as man in the middle, load balancing, and security.

     


    ---

    Send in a voice message: https://anchor.fm/hnasr/message

    • 15 min
    Episode 121 - What happens when you type google.com into your browser address box and hit enter?

    Episode 121 - What happens when you type google.com into your browser address box and hit enter?

    In this video I want to go through what really happens under the hood when you type google.com and you hit enter in a browser. This is inspired by alex’s github page below, it is a great detailed description of what happens. I did however add more details to certain areas and I removed some stuff like keyboard events and low level operating system like that. So if you are interested stay tuned!

    https://github.com/alex/what-happens-when



    5:30 HSTS https://youtu.be/kYhMnw4aJTw

    19:30 tcp vs udp

    https://youtu.be/qqRYkcta6IE

    24:42 tls

    https://youtu.be/AlE5X1NlHgg

    40:56 mimesniffing

    https://youtu.be/eq6R6dxRuiU

    Initial typing

    - lookup for most visited sites or an actual search

    Google.com Enter

    - parse is it a url or search term? If search do a search if url visit website

    Which protocol? which port ?

    HSTS?

    HTTPS

    or HTTP?

    DNS

    cached?

    Hosts?

    DoH?

    Lookup ?

    TCP

    ip / port ?

    arp?

    NAT?

    proxy?

    HTTP 1.1 ? More than one connection

    TLS

    version? ciphers? Alpn? SNI ? H2 ? H3? Quic?

    GET / - ?

    Headers compress

    cookies?

    binary stream?

    HTML?

    H2 push?

    HTML Parse?

    Make multiple requests css? JS? Multiple streams?

    If H1 then pipeline?


    ---

    Send in a voice message: https://anchor.fm/hnasr/message

    • 47 min
    Episode 120 - What is Fail-over? Achieving High-Availability

    Episode 120 - What is Fail-over? Achieving High-Availability

    Failover is the technique of switching to a redundant backup machine when a certain node goes down. This is a very common implementation for achieving high availability and it is often mixed with different load balancing techniques such as layer 4 and layer 7 balancing.  In this video i want to go through following  * What is Failover? 1:47
 * ARP - Address Resolution Protocol 3:00
 * VIP & VRRP 5:40
 * High-availability Example 12:12
  Cards 4:00 ARP 12:50 docker javascript 18:00 OSI Model     

    ---

    Send in a voice message: https://anchor.fm/hnasr/message

    • 20 min
    Episode 119 - HAProxy

    Episode 119 - HAProxy

    HAProxy is free, open source software written in C that provides a high availability  layer 4 and layer 7 load balancing and proxying . It has a reputation for being fast and efficient (in terms of processor and memory usage).
    In this video I want discuss the following

    Current & Desired Architecture 2:30
    HAProxy Architecture  5:50
    HAProxy as TCP Proxy & HTTP Proxy (Layer 4 vs Layer 7) 17:00
    ACL (Access Control Lists) 19:20
    TLS Termination vs TLS Pass Through 20:40
    Example 24:23

    Spin up the services 25:51
    Install HAProxy - 28:00

    HAProxy configuration 29:11
    ACL Conditional 39:00

    ACL Reject URL 48:00

    Enable HTTPS HAProxy 53:00
    Enable HTTP/2 on HAProxy 1:05:30


    Summary

    Cards
    Docker Javascript node 4:00
    Varnish 15:46
    NAT 23:30
    Docker Javascript node 26:00
    Encryption 56:00
    TLS 56:10
    HTTP2 1:08:40
    Source Code for Application
    HAProxy config
    https://github.com/hnasr/javascript_playground/tree/master/proxy
    Docker application
    https://github.com/hnasr/javascript_playground/tree/master/docker
    resources
    https://www.haproxy.com/blog/the-four-essential-sections-of-an-haproxy-configuration/
    https://www.haproxy.com/documentation/aloha/10-0/traffic-management/lb-layer7/acls/#predefined-acls
    https://certbot.eff.org/lets-encrypt/osx-nginx

    ---

    Send in a voice message: https://anchor.fm/hnasr/message

    • 1 hr 14 min

Customer Reviews

Jacob(o) ,

My favorite GIS podcast

I absolutely love this podcast. As a GIS person, l’m trying to learn as much about software engineering as I can, especially application development. Hussein delivers, both as an educator and entertaining podcast host. He covers super relevant topics that are useful in the industry. Keep up the great work!

Kim Sundeen-GIS Developer ,

Staying on the leading edge in the cross section of GIS and software engineer in

I listen to this podcast on my way into work or while exercising. It gives me food for thought and a lead in discussion at work for knowing what topics to continue researching or learn about. I especially love how Hussein breaks down the complicated topics and to piecemeal bits for every day discussion. Thank you for all your hard work Hussein!

Top Podcasts In Technology

Listeners Also Subscribed To