Look for any podcast host, guest or anyone
Showing episodes and shows of

Hussein Nasser

Shows

Ahmed ElemamAhmed ElemamPostgreSQL Deep Dive With Hussein Nasser & Ahmed Elemam - Tech Podcast بالعربيPostgreSQL Deep Dive With Hussein Nasser & Ahmed Elemam - Tech Podcast بالعربي @hnasr Hussein Nasser Will Explain how PostgreSQL actually works internally and go through PostgreSQL Architecture Questions - Can you explain the architecture of PostgreSQL's storage system, including how data is stored on disk and in memory? - How does it make sure of data consistency and transactions? - How does PostgreSQL handle concurrency and locking, and what are the different levels of isolation? - How does PostgreSQL handle indexing and what types of indexes are available? ...2023-03-102h 11The Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserGoogle thinks Linux is slow to reboot, so they patch itGoogle linux boxes have over 16 NVMe SSD PCIe Express drives.When a shutdown signal is sent to linux, the OS iterate through each NVMe and send synchronous request to shutdown that takes 4.5 seconds. This adds up to over a minute to achieve a reboot. Google patches linux with asynchronous Shutdown APIs    Resources https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1316262-google-has-a-problem-with-linux-server-reboots-too-slow-due-to-too-many-nvme-drives  patch https://lore.kernel.org/lkml/20220328230008.3587975-1-tansuresh@google.com/  Sync vs async  https://www.youtube.com/results?search_query=asynchronous+vs+synchronous+husse...2022-03-3009 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserThe Flavors of Database Replication - The Backend Engineering Show with Hussein NasserIn this episode, I will discuss the different types of database replication and the pros and cons of each, streaming, binary, logical, synchronous, asynchronous, one-way and two-way replication. Stay tuned if you like databases and check out my database engineering course head to husseinnasser.com/courses for a discount code Support my work on PayPal https://bit.ly/33ENps4 Become a Member on YouTube https://www.youtube.com/channel/UC_ML5xP23TOWKUcc-oAE_Eg/join 🧑‍🏫 Courses I Teach https://husseinnasser.com/courses2021-05-3119 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserTor’s Connection Establishment - The Backend Engineering Show with Hussein NasserIn this episode, I will discuss Tor’s circuit Establishment which is the core of the Tor protocol. https://svn-archive.torproject.org/svn/projects/design-paper/tor-design.pdf https://youtu.be/gIkzx7-s2RU Support my work on PayPal https://bit.ly/33ENps4 Become a Member on YouTube https://www.youtube.com/channel/UC_ML5xP23TOWKUcc-oAE_Eg/join 🧑‍🏫 Courses I Teach https://husseinnasser.com/courses 2021-05-2934 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserThe New Postgres 14 Looks Promising - The Backend Engineering Show with Hussein NasserIn this episode of the Backend Engineering show, we will go through the new features in Postgres 14. Here is a rundown of improvements made to the database platform with timestamps. 0:00 Intro 2:20 Performance 18:50 Data Types and SQL 23:00 Administration 32:30 Replication and Recovery 35:47 Security Postgres 14 Beta 1 https://www.postgresql.org/about/news/postgresql-14-beta-1-released-2213/ Support my work on PayPal https://bit.ly/33ENps4 Become a Member on YouTube   🧑‍🏫 Courses I Teach https://husseinnasser.com/course2021-05-2339 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserThe OSI Model by Example - The Backend Engineering Show with Hussein NasserIn this episode of the Backend Engineering Show, I’ll explain the OSI Model with an example. I start with the physical layer which is often ignored moved up to the application layer, presentation layer, session layer, transport layer, IP layer, and data link layer. I believe every software engineer should understand the OSI Model as it helps cement the fundamental understanding of networking applications. Intro 0:00 Layer 1 Physical 4:00 Layer 7 Application 9:45 Layer 6 Presentation 11:30 Layer 5 Session 14:20 Layer 4 Transport 15:00 Layer 3 IP 18:00 Layer 2 Data Link 20:00 Su...2021-05-2032 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserThe Tale of OLTP, OLAP, and HTAP in Data Warehousing - The Backend Engineering Show with Hussein NasserIn this show, I discuss why we have 3 data models in database systems, OLTP (Online Transactional Processing) OLAP (Online Analytical Processing), and HTAP (Hybrid Transactional Analytical Processing). I’ll also explain the difference between them, the use of ETL tools (extract transform load) to load data from transactional to analytical databases, and what is the future of HTAP. Support my work on PayPal https://bit.ly/33ENps4 Become a Member on YouTube https://www.youtube.com/channel/UC_ML5xP23TOWKUcc-oAE_Eg/join 🧑‍🏫 Courses I Teach http...2021-05-0942 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserMy Python CRUD App hits 2 million rows, Should I Shard my Database?Hey Hussein I have a 2 million row table used in my CRUD python app, I’m worried that as the table grow my inserts will slow down, should I consider sharding my database or partition the table? thank you I’m avid of simplicity in design if I can do it in one machine I’ll do it. Sharding/Partitioning are all great inserts are fast, queries are slow 0:00 inserts can be slow 3:00 indexes/stored procedures selects, updates, and deletes can be slow 12:00 add proper indexes. simplicity wins, premature optimization is bad 15:20 crazy things that people say like microservices day 1 scares2021-04-0321 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserIs there a Limit to Number of Connections a Backend can handle?In today's show, I'll answer the question do backend connections max out? There are many aspects to this question and I want to try to tackle all of them.   I'll also mention the efforts that the  @Cloudflare  and team are doing to improve the CONNECT with MASQUE protocol  Tune in to the Backend engineering Show with Hussein Nasser on your fav podcast player. 2021-03-1619 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserOverview of InterPlanetary File System - IPFS with (Examples with Command line & Brave Browser)The InterPlanetary File System (IPFS) is a protocol and peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices. Intro 0:00 Why IPFS? 2:00 Explain the original web model and the limitation * Content addressing instead of location addressing * decentralized content distributed among peers Content 3:30 * Content is hashed as CID * Content is immutable each update generates new CID * Content addressing Routing 4:30 * Distributed...2021-01-3125 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserIndexing Woes, The Secret to Backend Interviews, What is on my Bookshelf? The Backend Engineering ShowThe Backend Engineering Show Live with Hussein Nasser episode 10 we discuss many great questions!! Indexing Woes, The Secret to Backend Interviews, What is on my Bookshelf? Backend Engineering Show2020-12-192h 06The Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserImpostor syndrome and Staying Motivated - The Backend Engineering Show with Hussein Nasser - Q&AIn The Backend Engineering Show Live, we discuss Impostor syndrome and Staying Motivated in software engineering field.2020-12-121h 50The Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserThe Road to QUIC - what’s wrong w/ HTTP/1.1, HTTP/2, HTTP Pipelining, CRIME, HTTP/2 HOL, HPACK - The Backend Engineering Show Live with Hussein Nasser #8In The Backend Engineering Show Live we will have a casual Q&A around QUIC Outline  HTTP/1.1 Trouble HTTP/2 Trouble QUIC Handshake QUIC 0RTT HPACK vs QPACK Why HTTP/32020-12-052h 03The Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserCommunication Protocols QA - The Backend Engineering Show Live with Hussein NasserIn this live stream we have a Q&A about Communication Protocols in the Backend , enjoy. We Talk about Masque, WebTransport, WebSockets, TCP, UDP and more2020-11-211h 38The Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein Nasser🔴 Facebook's is all about QUIC, MASQUE, RIP Kafka's Zookeeper, dotNET 5 and more! - Backend Engineering Show Live with Hussein NasserIn this Livestream we discuss the following topic  Facebook moving to QUIC https://engineering.fb.com/2020/10/21/networking-traffic/how-facebook-is-bringing-quic-to-billions/ Multiplexed Application Substrate over QUIC Encryption (masque) https://datatracker.ietf.org/wg/masque/about/ KIP500, Kafka removing ZooKeeper https://www.confluent.io/blog/how-to-prepare-for-kip-500-kafka-zookeeper-removal-guide/ DotNET 5 https://devblogs.microsoft.com/dotnet/announcing-net-5-0/2020-11-151h 04The Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserGeoDNS, Active Active, MicroServices, Evil Garbage Collectors and More! Live with Hussein NasserLive Q&A discussion of different backend engineering topics2020-11-071h 36The Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserTLS - Live Stream (by Hussein Nasser)Let us have a casual chat about TLS, Security, Certificates and more2020-10-311h 36The Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserSoftware Engineering is OverwhelmingSoftware Engineering is overwhelming and hard, I discuss how to ease up that burden and make it fun here. 0:00 Intro 2:20 Learning Software Engineering 17:55 Bugs 23:30 Design Activities 28:50 Summary 🎙️Listen to the Backend Engineering Podcast https://husseinnasser.com/podcast 🏭 Backend Engineering Videos https://www.youtube.com/playlist?list=PLQnljOFTspQUNnO4p00ua_C5mKTfldiYT 💾 Database Engineering Videos https://www.youtube.com/playlist?list=PLQnljOFTspQXjD0HOzN7P2tgzu7scWpl2 🏰 Load Balancing and Proxies Videos https://www.youtube.com/playlist?l...2020-10-1835 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWebSockets - Live Stream (By Hussein Nasser)In this live stream we will keep the theme about WebSockets, scaling, layer 7 proxying vs layer 4 proxying in websockets ,  interesting problems and just chatting!       0:00 Intro 13:00 Stream Starts 21:30 WebSockets 1:08:00 Securing WebSockets 1:13:00 Scaling WebSockets Watch on YouTube https://www.youtube.com/watch?v=brKJFkLQWYo&feature=youtu.be 2020-10-181h 26The Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWe Need to Stop the Microservices Madness - Scaling with Common SenseI stumbled upon this interesting article titled Scaling with common sense, the author goes into different topics of the bad practices of pre-mature scaling and optimization specifically with regards to microservices and k8. Let us discuss Resources https://zerodha.tech/blog/scaling-with-common-sense/ 0:00 Intro 3:00 Comparisons are almost always meaningless. 5:30 Scaling starts with well built software. 8:50 Eat healthy and exercise daily. 10:15 KISS, don’t be afraid, and boring better cool. 12:00 The bottleneck is almost always the database. 13:40 RDBMS works, almost always. 15:00 Ev...2020-10-0747 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserKafka Consumer Group is a Brilliant Design Choice and We should Discuss itApache Kafka is an interesting software, every design decision the team makes perfect sense. I decided to dive deep into the discussion of the consumer group concept which is underrated and talk more about it. 0:00 Intro 1:24 Messaging Systems Explained 3:30 Partitioning 4:30 Pub/Sub vs Queue 6:55 Consumer Group 10:00 Parallelism in Consumer Group 10:30 Partition awareness in Consumer Group 11:30 Achieving Pub/Sub with Consumer Group 14:00 Head of Line blocking in Kafka2020-09-0921 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserIs there a Limit to Number TCP Connections a Backend can handle?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 make to the server? If there is what is it? and how does that make sense in all the configurations? 0:00 Intro 1:00 Is there a Max Connection Limit? 4:30 64K Connection Limit Explained 7:20 Max Connections on Reverse Proxies and Max Connections 14:30 How does Router get around Max Connections? 7:00 3 million whatsapp https://www.youtube.com/watch?v=vQ5o4wPvUXg 2020-09-0719 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserDoordash moves their Backend to Apache Kafka from RabbitMQ, VERY interesting! Let us discuss it!Doordash the food delivery service has built an asynchronous task processing backend with Celery and RabbitMQ. They are having lots of outages and problems. Let us discuss how they solved their problem by moving to Apache Kafka. Very well written article. Resource https://doordash.engineering/2020/09/03/eliminating-task-processing-outages-with-kafka/ https://www.rabbitmq.com/connections.html#high-connection-churn  2020-09-0631 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWhy Application-Layer Protocol Negotiation is Critical for HTTP/2 BackendsApplication-Layer Protocol Negotiation (ALPN) is a Transport Layer Security (TLS) extension that allows the application layer to negotiate which protocol should be performed over a secure connection in a manner that avoids additional round trips and which is independent of the application-layer protocols. It is needed by secure HTTP/2 connections, which improves the compression of web pages and reduces their latency compared to HTTP/1.x. The ALPN and HTTP/2 standards emerged from development work done by Google on the now withdrawn SPDY protocol. https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation 1:30 TCP Handshake 1:40 TLS2020-09-0607 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWhen to use UDP vs TCP in Building a Backend Application?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 also discuss the protocol within the context of Chatting System, Multiplayer game, and building a browser and a web server   0:00 Intro 2:00 UDP 3:00 TCP 6:00 UDP vs TCP for Building a Chatting System  9:20 UDP vs TCP for Building a Multiplayer game  15:30 UDP vs TCP for Building a Browser and WebServer 19:11 Summary2020-09-0621 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserYour Backend Might not Be Ready for HTTP/2 - Watch This Before Implementing itHTTP/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 backend. * Intro 0:00 * What is HTTP/2 ? 1:30 * HTTP/2 Pros 5:10 * HTTP/2 Advantages on Browsers 5:30 * HTTP/2 Advantages on Reverse Proxy Connection Pooling 9:20 * HTTP/2 Problem 11:00 Google Talk https://www.youtube.com/watch?v=xxN4FfwaANk2020-09-0417 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserEnvoy Proxy Crash Course, Architecture, L7 & L4 Proxying, HTTP/2, Enabling TLS 1.2/1.3 and moreEnvoy 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 want to go through the following * What is Envoy? 0:00 * Current & Desired Architecture 0:48 * Envoy Architeture 3:00 * DownStream/Upstream 7:30 * Clusters 9:19 * Listeners 10:50 * Network Filters 11:50 * Connection Pools 13:45 * Threading Model 18:34 * Example 21:25 * Show the 4 apps 24:30 * Install Envoy Brew 26:00 *  https://www.getenvoy.io/install/envoy/macos/ * Envoy as a Layer 7 Proxy 27:30 ...2020-08-311h 13The Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserI finished Researching Envoy Proxy here is what I think, Let us DiscussEnvoy 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 much more. The actual full video on Envoy will be coming soon stay tuned.2020-08-2906 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserPostgres Vacuum ExplainedIn this video, I explain Postgres Vacuum while I walk my dog.2020-08-2807 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserCloudflare fixes a HUGE limitation in HTTP/2 implementation of NGINX - This should be ported to all proxiesCloudflare is doing fantastic job to the web community security and backend engineering. This latest fix is awesome it is the ability to auto-tune window size buffer when it comes to uploading HTTP/2 traffic. Article https://blog.cloudflare.com/delivering-http-2-upload-speed-improvements/ 4:15 slow tcp start https://www.youtube.com/watch?v=rgPcxg8gjho&t=1s 5:40 HTTP crash course https://www.youtube.com/watch?v=0OrmKCB0UrQ&t=4s 6:20 TCP crash course https://www.youtube.com/watch?v=qqRYkcta6IE 12:20 Bandwidth bideo https://www.youtube.com/watch?v=6Tf80mbhyAQ2020-08-2816 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserA SameSite Cookie Exception was made to avoid Redirect Loop in Single Sign On (SSO) Let us DiscussSameSite 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 as long as the cookies are fresh (2 minutes) Resources https://www.chromestatus.com/feature/50881473460305922020-08-2711 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserInefficient Code in Chrome puts ENORMOUS load on DNS Roots Just for a pretty UX, let us discuss...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 just took a shower lol. With regards to this article I want to ask you guys a question, Chrome put this feature in order to improve the user experience but it ended up having a huge cost. Did you ever make a choice between performance and user experience? which one usually wins for you? would love to know your opinion   Resources   https://arstechnica.com/gadgets/2020/08/a-chrome-feature-is-creating-enormous-load-on-global-root-dns-servers/ https://docs.microsoft.com/en-us/deployedge/microsoft-edge-policies#dnsint...2020-08-2720 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWindows 95 is 25 Years Old Today and I am feeling nostalgic, let us discussWindows 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.com/21398999/windows-95-anniversary-release-date-history2020-08-2511 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserREST API has a major limitation and Vulcain solves it, Let us discussGraphQL 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 introducing HTTP/2 push.  Is a simpler alternative? let us discuss   Learn about Vulcain here https://github.com/dunglas/vulcain 2020-08-2410 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserChrome is enabling RAW TCP AND UDP Connections! Let us discussChrome 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. resources https://www.theregister.com/2020/08/22/chromium_devs_raw_sockets/ raw tcp spec https://github.com/WICG/raw-sockets2020-08-2217 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserPessimistic concurrency control vs Optimistic concurrency control in Database Systems ExplainedIn this video, I discuss the different concurrency control at database transactions, specifically the pessimistic vs optimistic concurrency control. and the pros and cons of each.    0:00 Intro 3:00 concurrency Control 5:30 Pessimistic concurrency Control 9:20 Optimistic concurrency Control  Resources  https://en.wikipedia.org/wiki/Optimistic_concurrency_control https://www.baeldung.com/java-jpa-transaction-locks https://docs.oracle.com/javaee/7/api/javax/persistence/OptimisticLockException.html https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use https://www.2ndquadrant.com/en/blog/postgresql-anti-patterns-read-modify-write-cycles/2020-08-2016 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserA Critical Jenkins Bug Discovered - This is why Building a Web Server is HardJenkins has just released a statement that there is a potential bug (CVE-2019-17638) where an attacker can steal content from other legitimate requests. In this video, I describe the bug and why being a web server is difficult.  2;00 HTTP Smuggling https://www.youtube.com/watch?v=PFllH0QccCs 7;50 multi-Threading https://www.youtube.com/watch?v=0vFgKr5bjWI&t=1s   Resources https://nvd.nist.gov/vuln/detail/CVE-2019-17638 https://en.wikipedia.org/wiki/Jetty_(web_server) https://www.jenkins.io/security/advisory/2020-08-17/2020-08-1915 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserMy Struggle with the English Language in the US as an Arab Native Speaker and a Software EngineerSome 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 always that easy and I struggled a lot and still struggling with English.   I have immigrated to the United State in 2015 In this video, I want to explain my struggle with the English language as an Arabic native speaker and how I got better but still, I need lots of work.  Speaking Tech English is definitely easier than Social.2020-08-1916 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWhat are Third Party Cookies, How do they work?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 SameSite 6;00 CORS 6;22 Content Security Policy https://www.youtube.com/watch?v=nHOuakyHX1E  https://blog.chromium.org/2020/01/building-more-private-web-path-towards.html2020-08-1716 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWhen Designing a Backend System Minimize the “What If” QuestionsWhat if questions sometimes cripple the system design for backend application and complicate the end product. I discuss this in this video.    Stay Awesome Hussein Nasser2020-08-1609 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserI ask this question to every Backend Engineer I interviewLight video today discussing my interviewing skills for software engineering positions. I always ask this open ended question and allow the candidate to go free.2020-08-1611 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserIs YAGNI (You aren’t gonna need it) Still Relevant in Backend Engineering System Design?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 Backend Engineering.  https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it  * Extreme Programming Rob Jefferies * You Aren’t Gonna Need it  .. true but only if the design is well defined  * But I am going to need it * Waterfall vs Agile2020-08-1615 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWOW! China Blocks TLS 1.3 with ESNI - Let us discussSNI 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 hosting of multiple websites on the same public static ip address. For the longest time all ISPs used SNI to block hosts and websites, China is now blocking the encrypted version SNI. 0:00 Intro 2:00 DNS and DOH 3:30 SNI 6:30 ESNI 11:00 The Block The ESNI and DOH stops this but China want https://www.zdnet.com/article/china-is-now-blocking-all-encrypted-https-traffic-using-tls-1-3-and-esni/ ...2020-08-0913 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserLet us discuss HSBC moving from 65 relational databases into one global MongoDB databaseHSBC 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 https://diginomica.com/hsbc-moves-65-relational-databases-one-global-mongodb-database Why some devs don't use MongoDB https://news.ycombinator.com/item?id=23507197 https://news.ycombinator.com/item?id=19497817 https://news.ycombinator.com/item?id=18366385 https://news.ycombinator.com/item?id=232704292020-08-0710 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserFireFox Changes to SameSite Cookie Default Behavior Following Chrome’s footsteps - Great ChangeSameSite Cookie attribute has been introduced to secure the web and only send cookies within a trusted and safe context.  SameSite Cookies Video  https://www.youtube.com/watch?v=aUF2QCEudPo2020-08-0707 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserChrome Blocks Downloads For Files Hosted on HTTP (insecure) URLs - GREAT CHANGE!A great change by Chrome team, downloading files on HTTP insecure channels is insecure. Let us discuss  Resource  https://www.zdnet.com/article/google-to-block-some-http-file-downloads-starting-with-chrome-83/2020-08-0708 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserHow Homomorphic Encryption will revolutionize Software EngineeringHomomorphic encryption is a form of encryption allowing one to perform calculations on encrypted data without decrypting it first. The result of the computation is on an encrypted form, when decrypted the output is the same as if the operations had been performed on the unencrypted data.  In this video I go through what homomorphic encryption is and how it will change software engineering forever. 0:00 Intro 2:25 What is Encryption? 3:55 Why we can’t always encrypt? TLS terminator proxies to looks Search and Analyse data Database indexing, functions 8:30 Meet Homomorphic encryption ...2020-08-0324 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserDropbox migrates to Envoy from NginX - Let us discussDropbox has fully migrated their proxying needs from nginx to envoy proxy. They wrote this detailed article about the reasons and motivations and problems faced during migration. It is an interesting read. Let us discuss https://dropbox.tech/infrastructure/how-we-migrated-dropbox-from-nginx-to-envoy Migrating Dropbox from Nginx to Envoy | Hacker News 0:00 Intro 4:20 What is this Article about? 6:10 Performance 11:15 Security 14:28 Missing Features in NginX 23:24 Migration was NOT Seamless 33:00 Summary2020-08-0235 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserTwitter hackers caught (Full analysis) - What really happened, how they got caught and can homomorphic encryption prevents this?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, can homomorphic encryption help? Resource https://www.theverge.com/2020/7/31/21349920/twitter-hack-arrest-florida-teen-fbi-irs-secret-service 0:00 Intro 2:00 Summary of July 15 3:30 How the attack really happened? 8:00 How the attackers got caught? 10:45 How could this be prevented? 12:15 Can homomorphic encryption help?2020-08-0217 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserMariaDB vs MySQL SSD NVMe vs SATA Performance - Discussions on the Percona BenchmarkThis is an analysis of the #percona benchmark article comparing MySQL & mariaDB performance with regards to SSD disks with NVMe vs SATA controllers. Pretty neat  0:00 Intro 1:00 MariaDB vs MySQL 2:15 SATA vs NVMe 4:30 SATA Benchmark 7:30 NVMe Benchmark 10:00 SSD & B-Trees 11:20 Best Practices mySQL for SSDs    Resources https://www.percona.com/blog/2020/07/29/checkpointing-in-mysql-and-mariadb/ https://www.percona.com/blog/2020/07/30/how-mysql-and-mariadb-perform-on-nvme-storage/?utm_campaign=2020%20Blog%20Q3&utm_content=135945936&utm_medium=social&utm_source=twitter&hss_channel=tw-35373186 https://www.samsung.com/semiconductor/global.semi.static/best-practices-for-mysql-with-ssds-0.pdf   🏭 Backend Engineering Videos https://www.youtube.com/playlist?list=PLQnljOFTspQUNnO4p00ua_C5mKTfldiYT  💾 Database Engineering Videos https://www.youtube.c...2020-07-3013 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserMongoDB and ElasticSearch Clusters WIPED! The Meow attack and how Backend Engineers can prevent itBob Diachenko discovered an attack on MongoDB and ElasticSearch clustered that are unsecured. We discuss this attack in detail and how we as Backend Engineers can secure our databases.   0:00 The Meow Attack again MongoDB & ElasticSearch 1:43 How does it work? 5:00 Scope of the Attack 6:00 How Backup & MVCC Help 8:30 What does “Unsecure” mean? 11:00 Protecting Database Instances2020-07-3016 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserI started Researching WebRTC and…..My progress of researching webRTC2020-07-2822 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserAdvice to Anyone starting a Software Engineering YouTube ChannelThis 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+ years engineering journey. Enjoy    0:00 Intro 2:45 Podcast Starts 3:15 How did you get into programming? 10:15 What problems do you solve at Esri ? 14:55 Generalist or Specialist ? 24:45 Advice to people starting out 33:15 On being Humble 47:05 YouTube advice for tech YouTubers 53:45 Thoughts on starting a company 56:45 Advice to 22 year old Hussein     🏭 Backend Engineering Videos https://www.youtube.com/playlist?list=PLQnljOFTspQUNnO4p00ua_C5mKTfldiYT  💾 Database Engineering Videos https://www.youtube.com/playlist?list=PLQnljOFTspQXjD0HOzN7P2tgzu7scWpl2  🛰 Netw...2020-07-271h 04The Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserOne Line of Code can open you for a MITM attack, Let us DiscussWas reading this article and it is interesting how relatable to backend engineering and security and how many times I made this mistake before. In this video I discuss how it is not a good idea to ignore certificate validation which can lead MITM attacks.   This article shows an ASUS router that does not verify TLS certificate which is a flaw discovered by Martin Rakhmanov a security researcher.   0:00 Intro 2:00 Validate Certificate  12:18 How to mitigate  18:00 Avoiding MITM   Resources https://www.techradar.com/news/this-router-is-vulnerable-to-fake-updates-and-cross-site-scripting-attacks   🏭 Backend Engineering Videos https://www.youtube.com/playlist?list=PLQnljOFTspQUNnO4p00ua_C5mKTfldiYT  💾 Database Engineering Videos https://ww...2020-07-2619 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWhatsApp handles 3 MILLION TCP Connections Per Server! How do they do it? Let us discussWhatsApp is a chatting application written in Erlang. Let us have a discussion on how WhatsApp managed to run 3 million TCP connections on each FreeBSD server.   WhatsApp has the following metrics 42 Billion messages a day 1 Billion users 3 Million connections!!   0:00 Intro 2:00 How WhatsApp reached 1,2 then 3 Million Connection 7:00 How Many Processes?  10:00 Server Side Load Balancing 13:50 Client Side Load Balancing   Resources https://blog.whatsapp.com/1-million-is-so-2011 https://blog.whatsapp.com/on-e-millio-n https://developers.facebook.com/videos/f8-2016/a-look-at-whatsapp-engineering-for-success-at-scale/   🏭 Backend Engineering Videos https://www.youtube.com/playlist?list=PLQnljOFTspQUNnO4p00ua_C5mKTfldiYT  💾 Database Engineering Videos https://www.youtube.com/playlist?list=PLQnljOFTspQXjD0...2020-07-2616 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserTLS 1.1 is Dead … Well Almost! thanks to Chrome 84- Deep Dive AnalysisIn 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-looming-do-you-have-your-act-together/157296/ https://www.zdnet.com/article/chrome-84-released-for-blocking-notification-popups-on-spammy-sites/ ‪https://www.theregister.com/2020/07/20/microsoft_roundup/‬2020-07-2114 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserRemote Code Execution bug found in Popular Node.js changelog library (I go through the code)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  Resources https://portswigger.net/daily-swig/github-security-team-finds-remote-code-execution-bug-in-popular-node-js-changelog-library https://github.com/conventional-changelog/standard-version/pull/351/files https://github.com/advisories/GHSA-7xcx-6wjh-7xp22020-07-2110 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserMy Thoughts on the Massive VPN Leak of 1.2 TB User logsIn 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.com/2020/07/17/ufo_vpn_database/ https://www.comparitech.com/blog/vpn-privacy/ufo-vpn-data-exposure/2020-07-2016 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserThe Cloudflare Outage - What Happened? And my ThoughtsIn 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/cloudflare-outage-on-july-17-2020/2020-07-1810 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserMy Thoughts on The Twitter “Hack”A hacker used Twitter’s own ‘admin’ tool to spread cryptocurrency scam. In this video I discuss this attack2020-07-1609 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserServer-Sent Events Crash CourseServer-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 compare it to websockets and HTTP and Long Polling.   Source Code https://github.com/hnasr/javascript_playground/tree/master/server-sent-events  Resources https://developer.mozilla.org/en-US/docs/Web/API/EventSource   0:00 Intro 1:50 HTTP 1.0/1.1 3:40 WebSockets 5:00 Server Sent Events 7:30 SSE Use Cases 9:00 SSE Code Example 18:00 SSE Pros & Cons 25:20 Do You Need SSE? 28:30 Summary2020-07-1429 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserHOW Would TikTok Be Blocked in US (Technical Explanations)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 DOH/ DOT 5:00 SNI  5:50 VPN2020-07-0806 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserHave a Database User for each Express Route - Best Practices for Backend Application with PostgresThis 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 setup for my side project. What do you think about having a 'create table if not exist' running on startup that creates this table? Good/bad?    It is always a good idea to have a specific database user for each route with specific permissions and use connection pooling as much as possible.2020-07-0706 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserZeroMQZeroMQ is an Open Source Messaging Library designed for a high-performance asynchronous messaging library. In this video I discuss this tech and build a simple queue with this tech 0:00 Intro 1:48 What is ZeroMQ? 4:48 Messaging Patterns 6:42 Socket Types 8:55 Simple Queue 11:00 Code 23:20 ZeroMQ Pros & Cons 29:30 Summary Source Code https://github.com/hnasr/javascript_playground/tree/master/zeromq-simplequeue Resources https://github.com/booksbyus/zguide/tree/master/examples/Node.js https://en.wikipedia.org/wiki/ZeroMQ 2020-07-0529 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserDiscussing Layer 7 Reverse Proxy D=DOS Mitigation (Security Now Video by Steve Gibson )Discussing Layer 7 Reverse Proxy D=DOS Mitigation (Security Now Video by Steve Gibson )2020-07-0214 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserGoogle Chrome and Firefox to Join Apple’s Safari in One Year Certificate Validity (My opinion)Google Chrome and Firefox to Join Apple’s Safari in One Year Certificate Validity (My opinion)2020-07-0214 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWhat is TCP Fast Open and how can it speeds up Web ApplicationTCP Fast Open Spec https://tools.ietf.org/html/rfc7413#section-12020-07-0112 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWhat is TCP Slow Start and how Does it affect your Web Application Performance?In this video I discuss what is the TCP Slow Start and its effect on performance of backend applications, proxies and even frontend applications.2020-06-3011 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWhy you can’t run an unencrypted HTTP/2 Server on Port 80 - Protocol Ossification ExplainedIn this video, I explain why we can't run unencrypted HTTP/2 or HTTP/3 without enabling TLS. This is because of Protocol Ossification.2020-06-3009 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWhy Turning on HTTP/2 Was a Mistake (My opinion on the lucidchart article)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/  In this video I discuss this article and my opinion.  That is not a limitation of HTTP/2 but of the application that couldn't handle the request. It is like driving a volvo all your life and then switching to a Ferrari and saying it was a mistake because its too fast. I disagree with the solutions of throttling the LB and I think the app should either be architected to not send this much requests if possible or just add more se...2020-06-2815 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWhat Recruiters really look for in a Backend Engineer? (Unpopular opinion)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 CV, what recruiters expect for backend engineers etc..   Question: Hey Hussein, I hope you are doing well, Are there any tips or tricks I can do to make it easier to break into the industry as a back-end developer? i mean what are recruiters looking for in a CV? i would be glad if you made a video about that.2020-06-2025 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserMulticast DNSIn this video I discuss multicast DNS. Wikipedia defines multicast dns In computer networking, the multicast DNS (mDNS) protocol resolves hostnames to IP addresses within small networks that do not include a local name server.    0:00 Intro 0:30 DNS Explained in LAN 4:00 Multicast DNS2020-06-1706 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserOverengineering in SoftwareIn this video, I explain the different cases where we overengineer software especially in two pieces, software code, and system design and architecture.  Chapters 0:00 Intro 1:45 OverEngineering in Software Development 7:15 OverEngineering System Design2020-06-1718 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserCan your ISP block you from Watching A Single YouTube Video?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  Stay Awesome, Hussein2020-06-0711 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWhat Caused Stripe and Ruku to stop working on May 30th 2020? Expired Root Certificate Bug ExplainedIn this video I explain what happened to services such as stripe & roku which failed to establish TLS sessions because the ROOT certificate AddTrust External CA Root has expired. This is a bug in openSSL and other software the perform this kind of validation.   I explain what happened in details..   Resources https://twitter.com/sleevi_/status/1266647545675210753 https://tools.ietf.org/html/rfc4158 https://ohdear.app/blog/resolving-the-addtrust-external-ca-root-certificate-expiration2020-06-0208 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserMultiThreading and MultiProcessing over a Single TCP Connection, Good Idea?Sharing a Single TCP Connection whether this is HTTP, WebSockets or just RAW TCP protocol between multi-threading or multi-processes application is bound to cause bad undesirable effects. I explain this in this video and give example of how QUIC & HTTP/2 have solved this problem.   Pooling 5:00 QUICK Database 6:30 HTTP/2 Playlist 7:002020-06-0109 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserHow Does Database Store Tables on Disk? Explained both SSD & HDDin this video I explain how database systems store their data on Disk both f from SSD (solid-state drives) and HDD (HarD disk drive).   There are many factors that go into that discussion so I tried to cover the high level here.   Reseources https://www.extremetech.com/extreme/210492-extremetech-explains-how-do-ssds-work https://www.percona.com/blog/2019/12/18/give-love-to-your-ssds-reduce-innodb_io_capacity_max/2020-05-3018 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserUnderstand Fundamentals not Tools (e.g. WebSockets vs Socket.io, Javascript vs React, Python vs Django)Understand Fundamentals not Tools (e.g. WebSockets vs Socket.io, Javascript vs React, Python vs Django)2020-05-2604 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserHow to Spot Good Software Documentations from Really Bad one?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 learning about a particular tech?2020-05-2512 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein Nasser7 Tips To Optimize Your Backend API (Without Caching)In this podcast I discuss 7 Tips To Optimize Your Backend API (Without Caching)  1) The serialization representation (XML/JSON, pbf) 0:40 2) Preheating connections 3) H1 vs H2 4)TCP meltdown (big distance) 5) Proxies 6) large payload (select * ) 7) Client side processing (transfomring the work)2020-05-2407 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein Nasser10 FrontEnd Performance Tips To Improve Your Application (Any Programming Language)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 efficiency. These tips are applicable to any programming language on Web, mobile, or desktop application.  Chapters 0:00 Intro 0:40 Optimistic queries 1:57 Paging 3:00 Lazy Loading 4:00 Request what you Need 6:53 Connection State 10:00 LRU Cache 11:10 Group Notifications 12:30 Avoid Expensive Queries Even At Expense of Bad UX 14:00 Design your UX So you Minimize Requests2020-05-2015 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserAgile vs Waterfall Software Development Methodology ExplainedIn this video I explain the difference between Agile & Water, the pros & cons and more. Chapters 0:00 Intro 1:00 Waterfall 5:00 Agile2020-05-1915 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserHow WebSockets Work with HTTP/2 (RFC8441 Explained)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 https://tools.ietf.org/html/rfc8441 https://link.medium.com/v5sB9nbUp6  1:00 HTTP2 5:50 HTTP/2 limitations2020-05-1308 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserMachine Learning Occupancy Detection System being deployed in CaliforniaMetroexpress lane is implementing a Machine Learning Occupancy Detection System which I found interesting. In this video I discuss machine learning, supervised learning, labeling and much more.2020-05-1110 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWhat is a Multitenancy Architecture and Why Is it becoming popular?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 customers and the properties are this. This is as opposed to isolated or dedicated infrastructure. Shared Instance One database hosting multiple customers Isolation at the application level Can be multi-processes and multi-instances as long as they are pooled Stateless Tags Multitenancy, software Multitenancy, Multitenancy explained, Multitenancy architecture https://www.zdnet.com/article/defining-the-true-meaning-of-cloud/2020-05-1008 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserHow Important are algorithm and data structures in backend engineering?Algorithms & Data Structures are critical to Backend Engineering however it really depends on what kind of application and infrastructure you are building. In this video I want to go through the following   1 Backend Engineers are two types - Integrating Existing Backend  - Core Backend  Example Building a CRUD API? Online Cinema system, URL shortener, You will pick up a database and write your logic Building a social network?  * are you gonna be integrator use a ready made graph database?  * Are you gonna use a off the shelf database and write your logic in the application? * Are you gonna build your o...2020-05-0913 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserForward Proxy vs Reverse Proxy ExplainedIn 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 is a Proxy ?  Proxy use cases - Logging - Anonymity - Geofencing  - Caching - Block sites (office)  - Enable Polyglot    What is Reverse Proxy?  Reverse Proxy Example Reverse Proxy Use Cases  - Caching (Varnish)  - Load Balancing - Ingress (/pics)  - Canary Deployment   Many types of proxy check it here  Q and A * can we use proxy and reverse proxy together?  * Can I use Proxy to hide my identity instead of a VPN?  * Can I us...2020-04-0914 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserWhat is a Distributed Transaction in Microservices?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 finally discuss proposed solutions to implement distributed transactions   Cards 2:40 ACID https://www.youtube.com/watch?v=pomxJOFVcQs 7:30 Microservices https://www.youtube.com/watch?v=T-m7ZFxeg1A    Transactions 2:30 Compensating Edits 6:40 Atomic Clocks 11:50 Event Sourcing 13:30 Mini-Monolith 15:20   Resources  https://www.youtube.com/watch?v=YPbGW3Fnmbc  https://www.youtube.com/watch?v=S4FnmSeRpAY  https://www.youtube.com/watch?v=epOLEdaPSLQ  https://softwareengineeringdaily.com/2018/12/19/linkerd-service-mesh-with-william-morgan/     🏭 Software Architecture Videos https://www.youtube.com/playlist?list=PLQnljOFTspQXNP6mQchJVP3S-3oKGEuw9  💾 Data...2020-04-0521 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserEpisode 89 - Push vs Pull NotificationsThis is originally a video that I converted into a podcast I think it is still useful  https://www.youtube.com/watch?v=8D1NAezC-Dk Notifications have become part of our daily life. We receive them almost every minute on our phones, tablets, and computers. As software engineers, it is good to understand how notifications work, and what different type of notifications there are (push and pull notifications), the advantages and disadvantages of each.    In this video I'll explain how the push notification and pull notification works and the stateful vs stateless nature of each and how it affects the arch...2019-02-1415 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserEpisode 88 - What was wrong with SOAP Protocol?Soap (Simple Object Access Protocol) has been a popular messaging protocol in the early 2000s. It uses XML as a format with well defined schema, and your choice of stransport protocol. Despite it still being used people have been moving towards #REST architecture and more so #gRPC recently. In this episode we discuss why people moved from #SOAP and what are the advantages and disadvantages of SOAP.   Stay Awesome! Hussein Nasser2019-02-1211 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserEpisode 86 - Recycling in ArcGIS ServerWhen you publish a service you can specify how many processes (min / max) your service can use. As requests are being served memory is allocated, state is changed, some processes could go corrupt Recycling is the process destroying and re-spawning processes that are running to maintain a good memory footprint.  Here is a good read on recycling http://enterprise.arcgis.com/en/server/latest/publish-services/windows/tuning-and-configuring-services.htm Enjoy Hussein2019-02-0511 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserEpisode 83 - Q&A: Programming for GISVikrant asked a question on Linked:  Dear Hussein, I want to learn programming for GIS. Is python useful? I am not very good in programming. Kindly guide. And thanks for the posts.. Programming for GIS really depends on what you are trying to do and how do you want to advance your career. In this podcast we will discuss four kind of areas where you can programming for GIS. GIS Admin Programming GIS Desktop Programming GIS Web Programming  GIS Server Programming Enjoy2019-01-2726 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserEpisode 80 - MIME SniffingAny content served through HTTP “should” include meta data about its type. This is so the browser/client knows what to do with the content it receives. For example, if the content type header is an image the browser will preview it, if it is HTML it will render the markup and execute any javascript code. Content type however is optional and web masters sometimes don’t set it, which leave the browsers wondering about the content type it is consuming. So browsers had to implement parsing and “sniffing” techniques to detect the type of content...2019-01-0411 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein Nasser2018 was a great yearThank you so much guys for a great year! I love you. -Hussein 2018 was a great year:    Created, edited and posted 120 software engineering youtube videos with over 1.1 Million impressions   Published 75 podcasts with over 8k plays    Self Published a new GIS book   Published two programming online courses  #hustle2018-12-3101 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserEpisode 76 - Database LocksHussein's Courses 📐⟶ https://www.husseinnasser.com/courses Hussein's Books 📒⟶ https://www.husseinnasser.com/books In this episode of #softwaretalk I'm in beautiful San Francisco for the weekend. Our topic today is database locks. Stay Awesome! Hussein2018-12-1606 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserEpisode 71 - Best Programming Language for 2019 (Rant)Hussein's Courses 📐⟶ https://www.husseinnasser.com/courses Hussein's Books 📒⟶ https://www.husseinnasser.com/books I don’t usually do rants. f you are new software developer, pick a language and write software. There is no best programming language. Each programming language has its own of pros and cons. Stay Awesome -Hussein2018-12-0508 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserEpisode 68 - Geodatabase Talk - ObjectIDHussein's Courses 📐⟶ www.husseinnasser.com/courses Hussein's Books 📒⟶ www.husseinnasser.com/books ObjectId (among others) is a system field that is added to a geodatabase table. In this episode we discuss best practices in coding against this field. Checkout my new book (learn gis programming with ArcGIS online and Javascript 4.9 API) ! www.husseinnasser.com2018-11-2011 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserEpisode 53 - Product Architect vs Solutions ArchitectIn this episode of #softwaretalk, we discuss the differences between the software product architect and a solutions architect. We start by defining the difference between a software product and a solution. Then we discuss the responsibilities of product architect vs solution architect. If you are interested to be a solution or product architect or engineer you came to the right place. Cheers Hussein2018-10-0712 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserEpisode 49 - User Experience vs API - What Comes First?Any modern software or application that we build must have a backend API (Application Programming Interface) whether design in C++ IMPL Interfaces Or HTTP REST Architecture, and a Front End User Experience to consume this API which could range from a mobile app to a voice device. This is an open discussion, when you as a software engineer want to design a new application, what do you start first? Front-End User Experience? Or the Back-end API? We discuss the pros and cons of both. I enjoyed making this episode! Enjoy guys Hussein Nasser2018-09-3016 minThe Backend Engineering Show with Hussein NasserThe Backend Engineering Show with Hussein NasserEpisode 29 - Who is Hussein Nasser?In this podcast I talk about my story. Where did I come from? What did I study? What jobs did I have? Why did I start my blog and Youtube Channel? How did I write my books? Why did I move to the United States? and much more.. Stay Awesome guys and Enjoy the podcast. Hussein2018-03-0429 min