Backend Engineering with Hussein Nasser

Backend Engineering with Hussein Nasser

husseinnasser.com
Welcome to the Backend Engineering 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


WOW! China Blocks TLS 1.3 with ESNI - Let us discuss
Aug 9 • 13 min
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 hosting of multiple websites on the same public static ip address. For the longest time all ISPs used SNI to…
Let us discuss HSBC moving from 65 relational databases into one global MongoDB database
Aug 7 • 10 min
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 https://diginomica.com/hsbc-moves-65-relational-databases-one-global-mongodb-database Why some devs don’t…
FireFox Changes to SameSite Cookie Default Behavior Following Chrome’s footsteps - Great Change
Aug 6 • 7 min
SameSite 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=aUF2QCEudPo —- Send in a voice message: https://anchor.fm/hnasr/message
Chrome Blocks Downloads For Files Hosted on HTTP (insecure) URLs - GREAT CHANGE!
Aug 6 • 8 min
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/ —- Send in a voice message:…
How Homomorphic Encryption will revolutionize Software Engineering
Aug 2 • 24 min
Homomorphic 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…
Dropbox migrates to Envoy from NginX - Let us discuss
Aug 2 • 35 min
Dropbox 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…
Twitter hackers caught (Full analysis) - What really happened, how they got caught and can homomorphic encryption prevents this?
Aug 2 • 17 min
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…
MariaDB vs MySQL SSD NVMe vs SATA Performance - Discussions on the Percona Benchmark
Jul 30 • 13 min
This 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…
MongoDB and ElasticSearch Clusters WIPED! The Meow attack and how Backend Engineers can prevent it
Jul 30 • 16 min
Bob 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…
I started Researching WebRTC and…..
Jul 28 • 22 min
My progress of researching webRTC —- Send in a voice message: https://anchor.fm/hnasr/message
Advice to Anyone starting a Software Engineering YouTube Channel
Jul 26 • 64 min
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+ years engineering journey. Enjoy 0:00 Intro 2:45 Podcast Starts 3:15 How did you get into programming?…
One Line of Code can open you for a MITM attack, Let us Discuss
Jul 25 • 19 min
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 this video I discuss how it is not a good idea to ignore certificate validation which can lead MITM attacks.…
WhatsApp handles 3 MILLION TCP Connections Per Server! How do they do it? Let us discuss
Jul 25 • 16 min
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 FreeBSD server. WhatsApp has the following metrics 42 Billion messages a day 1 Billion users 3 Million…
TLS 1.1 is Dead … Well Almost! thanks to Chrome 84- Deep Dive Analysis
Jul 21 • 14 min
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-looming-do-you-have-your-act-together/157296/…
Remote Code Execution bug found in Popular Node.js changelog library (I go through the code)
Jul 21 • 10 min
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…
My Thoughts on the Massive VPN Leak of 1.2 TB User logs
Jul 20 • 16 min
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.com/2020/07/17/ufo_vpn_database/ https://www.comparitech.com/blog/vpn-privacy/ufo-vpn-data-exposure/ —- Send in a…
The Cloudflare Outage - What Happened? And my Thoughts
Jul 18 • 10 min
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/cloudflare-outage-on-july-17-2020/ —- Send in a voice message: https://anchor.fm/hnasr/message
My Thoughts on The Twitter “Hack”
Jul 16 • 9 min
A hacker used Twitter’s own ‘admin’ tool to spread cryptocurrency scam. In this video I discuss this attack —- Send in a voice message: https://anchor.fm/hnasr/message
Server-Sent Events Crash Course
Jul 13 • 29 min
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 compare it to websockets and HTTP and Long Polling. Source Code…
HOW Would TikTok Be Blocked in US (Technical Explanations)
Jul 7 • 6 min
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 VPN —- Send in a voice message: https://anchor.fm/hnasr/message
Have a Database User for each Express Route - Best Practices for Backend Application with Postgres
Jul 6 • 6 min
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 setup for my side project. What do you think about having a ‘create table if not exist’ running on startup that…
ZeroMQ
Jul 5 • 29 min
ZeroMQ 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…
Discussing Layer 7 Reverse Proxy D=DOS Mitigation (Security Now Video by Steve Gibson )
Jul 2 • 14 min
Discussing Layer 7 Reverse Proxy D=DOS Mitigation (Security Now Video by Steve Gibson ) —- Send in a voice message: https://anchor.fm/hnasr/message
Google Chrome and Firefox to Join Apple’s Safari in One Year Certificate Validity (My opinion)
Jul 2 • 14 min
Google Chrome and Firefox to Join Apple’s Safari in One Year Certificate Validity (My opinion) —- Send in a voice message: https://anchor.fm/hnasr/message
What is TCP Fast Open and how can it speeds up Web Application
Jun 30 • 12 min
TCP Fast Open Spec https://tools.ietf.org/html/rfc7413#section-1 —- Send in a voice message: https://anchor.fm/hnasr/message
What is TCP Slow Start and how Does it affect your Web Application Performance?
Jun 30 • 11 min
In this video I discuss what is the TCP Slow Start and its effect on performance of backend applications, proxies and even frontend applications. —- Send in a voice message: https://anchor.fm/hnasr/message
Why you can’t run an unencrypted HTTP/2 Server on Port 80 - Protocol Ossification Explained
Jun 30 • 9 min
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. —- Send in a voice message: https://anchor.fm/hnasr/message
Why Turning on HTTP/2 Was a Mistake (My opinion on the lucidchart article)
Jun 28 • 15 min
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…
What Recruiters really look for in a Backend Engineer? (Unpopular opinion)
Jun 19 • 25 min
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,…
Multicast DNS
Jun 17 • 6 min
In 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…
Overengineering in Software
Jun 16 • 18 min
In 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 Design —-…
Can your ISP block you from Watching A Single YouTube Video?
Jun 6 • 11 min
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, Hussein —- Send in a voice message: https://anchor.fm/hnasr/message
What Caused Stripe and Ruku to stop working on May 30th 2020? Expired Root Certificate Bug Explained
Jun 2 • 8 min
In 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…
MultiThreading and MultiProcessing over a Single TCP Connection, Good Idea?
May 31 • 9 min
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…
How Does Database Store Tables on Disk? Explained both SSD & HDD
May 30 • 18 min
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). There are many factors that go into that discussion so I tried to cover the high level here. Reseources…
Understand Fundamentals not Tools (e.g. WebSockets vs Socket.io, Javascript vs React, Python vs Django)
May 26 • 4 min
Understand Fundamentals not Tools (e.g. WebSockets vs Socket.io, Javascript vs React, Python vs Django) —- Send in a voice message: https://anchor.fm/hnasr/message
How to Spot Good Software Documentations from Really Bad one?
May 25 • 12 min
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? —- Send in a voice message: https://anchor.fm/hnasr/message
7 Tips To Optimize Your Backend API (Without Caching)
May 23 • 7 min
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…
10 FrontEnd Performance Tips To Improve Your Application (Any Programming Language)
May 20 • 15 min
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.…
Agile vs Waterfall Software Development Methodology Explained
May 19 • 15 min
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 —- Send in a voice message: https://anchor.fm/hnasr/message
How WebSockets Work with HTTP/2 (RFC8441 Explained)
May 12 • 8 min
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 limitations —-…
Machine Learning Occupancy Detection System being deployed in California
May 11 • 10 min
Metroexpress 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. —- Send in a voice message: https://anchor.fm/hnasr/message
What is a Multitenancy Architecture and Why Is it becoming popular?
May 9 • 8 min
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…
How Important are algorithm and data structures in backend engineering?
May 9 • 13 min
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…
My Preferred Method of Learning Backend Engineering Technologies Fast
May 5 • 11 min
In this video I want to talk about my preferred method of learning backend engineering technologies, I prefer podcasts and youtube videos some people prefer books. My First Programming Book My Problem with Learning in Books My Preferred Method of learning…
What is a Message Queue and When should you Queues?
May 1 • 13 min
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. —- Send in a voice message: https://anchor.fm/hnasr/message
RabbitMQ Channels, HTTP/2 Streams and How QUIC can fix the limitation Message Queues
May 1 • 9 min
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 Streams. Chapters 0:00 Intro 0:10 RabbitMQ Channels 3:10 HTTP/2 Streams 6:00 How QUIC Helps —- Send in a…
Can QUIC Protocol be used as in Databases ? Web Application Database Pooling, head of line blocking and more
Apr 29 • 12 min
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 applications. Web applications uses database connection pooling to establish database connections on the…
When should you shard your database?
Apr 28 • 21 min
Database Application level sharding is the process of splitting a table into multiple database instances in order to distribute the load. However, Sharding a database is an expensive operation (maintainability and overhead) and I suggest you do that only…
Advice for Junior backend engineers who just started new jobs
Apr 25 • 23 min
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 overwhelming at the start, there are so much to learn, so much to read, documentation, tests, code in…
Why System Design and Architecture is an Art ?
Apr 23 • 2 min
Creating a software design is an art here is why —- Send in a voice message: https://anchor.fm/hnasr/message
What makes a good Software Tester?
Apr 22 • 11 min
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 to give pick you? Organizations build software products. But the software is useless if it is filled with…
JSON Web Token
Apr 19 • 57 min
JSON Web Token (JWT, sometimes pronounced JOT) an internet standard for creating JSON-based access tokens that assert some number of claims. The tokens are signed either using a private secret or a public/private key. In this video I want to discuss the…
Main Difference between Asynchronous, Multithreading and Multiprocessing Programming
Apr 12 • 15 min
In this video I explain the main difference between asynchronous execution, multithreading and multiprocessing programming. There are advantages and disadvantages of each approach. Synchronous 0:30 Multithreading a process have many threads shared…
How End to End encryption work?
Apr 12 • 13 min
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 centerlized server decrypting the traffic, I then talk about how end to end encryption (e2e) can help mitgate…
WhatsApp Limits Messages that can be Forwarded
Apr 12 • 5 min
WhatsApp Introduced long time a go Unlimited forwarding then limited Up to 5 times Double forwarded too many times (last year) Double forwarded messages can only be forwarded once or even none Forwarding feature end to end encryption Sent/delivered/read…
Forward Proxy vs Reverse Proxy Explained
Apr 9 • 14 min
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 is a Proxy ? Proxy use cases - Logging - Anonymity - Geofencing - Caching - Block sites (office) - Enable Polyglot…
What is a Distributed Transaction in Microservices?
Apr 5 • 21 min
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…
Chrome follows FireFox steps - Rolling back SameSite cookie change
Apr 3 • 5 min
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/temporarily-rolling-back-samesite.html Firefox re-enables https://www.youtube.com/watch?v=sh3TPId35Ec SameSite…
Bloom Filters Explained
Apr 1 • 9 min
In this video I explain why we invented bloom filters and where you can use it to make your queries more efficent. —- Send in a voice message: https://anchor.fm/hnasr/message
What is On Demand TLS?
Mar 30 • 14 min
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 their pros and cons in this video. —- Send in a voice message: https://anchor.fm/hnasr/message
Lazy Loading vs Eager Loading with Node JS & Express
Mar 29 • 8 min
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. In this video I’ll show both Eager loading and the lazy loading with example Node JS —- Send in a voice…
The good the bad and the ugly on gRPC
Mar 27 • 15 min
In this podcast I discuss the good, the bad and the ugly about gRPC. No technology is perfect. —- Send in a voice message: https://anchor.fm/hnasr/message
This is why gRPC was invented
Mar 27 • 9 min
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 lead to the invention of gRPC. —- Send in a voice message: https://anchor.fm/hnasr/message
Firefox re-enables TLS 1.0 & TLS 1.1 to allow access to legacy websites hosting COVID19 information
Mar 25 • 4 min
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 error page. We reverted the change for an undetermined amount of time to better enable access to critical government…
Episode 141 - Software Chat - Copy and Paste Code, Tutorial Hell, Frontend Frameworks, GitHub Pull request Trolling and more
Mar 23 • 26 min
Copy and Paste Code, Tutorial Hell, Frontend Frameworks, GitHub Pull request Trolling and more —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 140 - Software Chat - Learning at Home, Consistent Hashing, Empathy with Engineers and More
Mar 21 • 18 min
New software chat series let me know if you like it —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 139 - How to Become a Good Backend Engineer (Fundamentals)
Mar 19 • 26 min
In this video, I discuss the path of becoming a backend engineer through concepts and fundamentals. These are not tools 🧰 these are backend concepts and fundamentals technologies. - Communication Protocols 3:30 - TCP,UDP - QUIC - HTTP - WebSockets - gRPC…
Episode 138 - Firefox Implements DNS over HTTPS This is good but also might be bad
Mar 15 • 16 min
FireFox DNS over HTTPS is a great step to a more secure web however it is absolutely useless without this ESNI. I also discuss doh in this video, esni and why this might not be a good idea…
Episode 137 - Active-Active vs Active-Passive Cluster Pros and Cons
Mar 15 • 11 min
In this video I want to talk over the active active active vs active passive cluster configuration for high availability. We will also explain the pros & cons of using an active-active cluster vs using an active-passive cluster. —- Send in a voice…
Episode 136 - Sidecar Proxy (Pros and Cons)
Mar 7 • 26 min
A sidecar proxy is an application design pattern which abstracts certain networking features, such as inter-service communications, monitoring and security, timeouts, retries, communication protocols, away from the main architecture to ease the…
Episode 135 - mySQL 8.0 has a new feature called Atomic DDL and it is not what you think
Mar 4 • 6 min
MySQL 8.0 supports atomic Data Definition Language (DDL) statements. This feature is referred to as atomic DDL. An atomic DDL statement combines the data dictionary updates, storage engine operations, and binary log writes associated with a DDL operation…
Episode 134 - gRPC
Feb 29 • 79 min
gRPC (gRPC Remote Procedure Calls[1]) is an open source remote procedure call (RPC) system initially developed at Google in 2015[2]. It uses HTTP/2 for transport, Protocol Buffers as the message format. In this video I want to explore gRPC, go through…
Episode 133 - Firefox fixes a bug that prevented users from signing into the Royal Bank of Canada (73.1)
Feb 25 • 5 min
Firefox version 73.1 fixes a bug that prevented users from signing into Royal Canadian Bank (Firefox fixed a bug that prevented Canadians from signing in to their bank royal Canadian bank) what caused it? Lets get into it * Users will sign in and will get…
Episode 132 - Optional Chaining and nullish coalescing coming to Javascript, how useful are they and when can you use them?
Feb 23 • 13 min
Some cool new features are coming to the Javascript language namely Optional chaining and nullish coalescing how useful are they? lets discuss So Optional chaining and nullish coalescing are coming to the Javascript language. I think it is already in the…
Episode 131 - Firefox deprecates support for TLS 1.0 and 1.1 ( THIS IS GREAT! BUT …. )
Feb 17 • 12 min
We are one step closer to a more secure web. Firefox disabled TLS 1.0 1.1 It’s a big change that I am very happy about but not everyone is. Let’s discuss . Resources https://hacks.mozilla.org/2020/02/its-the-boot-for-tls-1-0-and-tls-1-1/…
Episode 130 - Envoy fixes a critical security bug related to HTTP headers with whitespaces
Feb 10 • 9 min
Google engineer Alyssa Wilk discovers a critical security bug related to whitespaces in header values. Envoy and Node JS fix this by releasing a security patch. let us discuss it. tags: envoy, envoy proxy, envoy security, envoy proxy whitespace, Alyssa…
Episode 129 - Node JS Releases a Fix for an HTTP Request Smuggling Vulnerability
Feb 9 • 12 min
Node JS Releases a Fix for an HTTP Request Smuggling Vulnerability, we discuss the attack and the fix in detail. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 128 - Google blocks Embedded browsers sign ins to avoid MITM phishing attacks
Feb 9 • 7 min
In April 2019 Google blocked sign-ins from Embedded Browsers to avoid man in the middle phishing attacks. In this video, we discuss why. https://security.googleblog.com/2019/04/better-protection-against-man-in-middle.html?m=1 —- Send in a voice message:…
Episode 127 - PostgreSQL 12 has some interesting new features, Is it worth the upgrade?
Feb 8 • 16 min
PostgresSQL version 12 has been released, let’s go through the features that I think are most interesting and cool. #softwarenews Feature Matrix https://www.postgresql.org/about/featurematrix/ - Allow adding columns to Index (GIST)…
Episode 126 - Will the New Chrome version 80 finally end Cross-Site Request forgery?
Feb 4 • 11 min
Google just released the latest version of Chrome (80) and one of the interesting features making a big change to the default cookies that might actually prevent CSRF forever. Let’s discuss this. #softwarenews * Same Site Attribute * Break some apps *…
Episode 125 - Layer 4 vs Layer 7 Load Balancing
Jan 29 • 37 min
Load balancing is process of balancing incoming requests to multiple machines, processes or services. In this video we will explain two types of load balancers, layer 4 and layer 7. Layer 4 - haproxy, NLB Pros - great for simple packet-level load…
Episode 124 - NginX
Jan 19 • 86 min
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…
Episode 123 - Horizontal vs Vertical Database Partitioning
Jan 1 • 11 min
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
Episode 122 - ARP
Dec 31, 2019 • 15 min
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,…
Episode 121 - What happens when you type google.com into your browser address box and hit enter?
Dec 29, 2019 • 47 min
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…
Episode 120 - What is Fail-over? Achieving High-Availability
Dec 28, 2019 • 20 min
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…
Episode 119 - HAProxy
Dec 23, 2019 • 74 min
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…
Episode 118 - SSL Stripping and HTTP Strict Transport Security
Dec 22, 2019 • 18 min
HSTS or HTTP Strict Transport Security is a mechanism to force clients to communicate in HTTPS with a web server if both support this protocol. In this podcast, I talk through this tech. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 117 - Database Engines
Dec 20, 2019 • 67 min
Database engines or storage engines or sometimes even called embedded databases is software library that a database management software uses to store data on disk and do CRUD (create update delete) Embedded means move everything in one software no network…
Episode 116 - Database Sharding
Dec 18, 2019 • 59 min
Database Sharding Crash Course (with Postgres examples) Database sharding is process of segmenting the data into partitions that are spread on multiple database instances to speed up queries and scale the system. What is sharding? sharing key / partition…
Episode 115 - Varnish HTTP Accelerator
Dec 18, 2019 • 51 min
Varnish is a reverse proxy web accelerator Written in C designed to improve HTTP performance by using server side caching. In this video I’m going to go through how Varnish works, we will spin up a Varnish docker container and finally talk about the pros…
Episode 114 - HTTP/2
Dec 18, 2019 • 24 min
short is a major revision of the hyper text transfer protocol that improves the performance of the web. It uses a binary protocol and multiplexing. In this video I want to go through how HTTP/2 works, its pros and cons and show the performance difference…
Episode 113 - Collateral Knowledge
Dec 9, 2019 • 12 min
Sorry about the free form audio and low quality thought I post something here its been while —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 112 - Tor (The Onion Router)
Nov 30, 2019 • 23 min
Tor or (The Onion Router) is a free and open source project for allowing anonymous communication. In this video I want to discuss this technology and explain how it works. What can sniffers really see? Why Tor? Why don’t we just use a VPN? How Tor Works?…
Episode 111 - Kafka
Nov 30, 2019 • 78 min
Apache Kafka is a distributed stream processing software developed by LinkedIn and written in Scala and Java. In this video I want to focus on the basics on Kafka, talk about how it works give finally spin up a kafka cluster and write a producer and a…
Episode 110 - Do you need a VPN?
Nov 3, 2019 • 15 min
Tom Scott Full Video https://youtu.be/WVDQEoe6ZWY Tom Scott is a YouTuber with around 2M subscribers who discusses and specialized in computer security. I always enjoy his videos specially those on computerphile. He recently made a very interesting video…
Episode 109 - RabbitMQ
Nov 3, 2019 • 42 min
RabbitMQ RabbitMQ is an open source distributed message queue written in Erlang and supports many communication protocols. It was trying to solve the spaghetti 🍝 mesh architecture where every client is communicating with other client in System by…
Episode 108 - Redis
Oct 4, 2019 • 37 min
Redis is a noSQL key-value store, in memory database first that exploded in popularity in the past few years. In this video slash course, we will explain what Redis is, talk about the in-memory model, the optional durability, replication, clustering…
Episode 107 - GraphQL Pros and Cons, examples and when to use over REST
Sep 26, 2019 • 57 min
GraphQL Pros and Cons, examples and when to use over REST GraphQL is an open source query language developed by facebook that allows clients to formulate queries to get different results. Its main goal is to combine multiple services into one endpoint. In…
Episode 106 - Consistency vs Eventual Consistency
Aug 26, 2019 • 15 min
Consistency vs Eventual Consistency Consistency is the property of having expected result in view of the data or during reads while working with a database system. It is one of the ACID properties in relational databases. Eventual consistency is another…
Episode 105 - Relational Databases
Aug 21, 2019 • 44 min
ACID ACID are four properties of relational database, they Atomocity, consistency, isolation and durability, and I think any one working with a relational database like postgres, mysql, sqlserver oracle, should understand these properties. In this video…
Episode 104 - REST API - The Good, the Bad and the Ugly
Aug 7, 2019 • 25 min
REST stands for Representational state transfer its is an architecture that became very popular in build web APIs. It was the dissertation of Roy Fielding. In this video we discuss what makes an API RESTFUL, the REST APIs constrains, ill the show you an…
Episode 103 - What is an HTTP Proxy? (Transparent, HTTP and Service Mesh Proxy examples)
Jul 31, 2019 • 15 min
A proxy is a software that intercepts traffic and forward it to the destination on behave of the client. This extra layer provide several advantages such as caching, load balancing, content filtering and much more. Some implementations of proxy can be…
Episode 102 - The Evolution of HTTP (HTTP 1.0, 1.1, HTTP/2, HTTP/3)
Jul 14, 2019 • 47 min
HTTP is a protocol for transferring web pages, text, media, binary files and much more. It stands for hyper text transfer protocol and It is what the Internet pretty much runs on. In this video we will learn how HTTP works, how it is secured with HTTPS,…
Episode 101 - NAT Network Address Translation
Jul 4, 2019 • 21 min
NAT network address translation is a process of mapping an IP address or IP port pair to another IP address or IP: port. You might be wondering what a software engineer like me doing making a video on a low level networking concept? I have good reasons…
Episode 100 - TCP Tunneling
Jun 28, 2019 • 30 min
Tunneling protocol Tcp tunneling Tunneling is the process of encapsulating content from a protocol A into another protocol B, usually because protocol A is blocked or unavailable. In this video we will explain how TCP tunneling works, the applications of…
Episode 99 - TLS
Jun 23, 2019 • 25 min
TLS which stands for transport layer security is a protocol for securing communication between client and server. Specifically for HTTPS. Thats what the S is stands for. In this video, we will learnq how insecure vanilla HTTP works, HTTPS, then we will…
Episode 98 - Encryption
Jun 16, 2019 • 22 min
Encryption is the process of scrambling data to protect personal files, secure communication, hide identities and much more. In this video we will learn about the different type of encryptions we will talk about symmetric encryption, asymmetrical…
Episode 97 - Bandwidth
Jun 16, 2019 • 24 min
Bandwidth explained from software engineer point of view Bandwidth is measured by how many bits a device is allowed to send/receive in a second. It ranges from your internal network starting from network card all the way to your ISP Internet speed. In…
Episode 96 - Denial of Service
Jun 16, 2019 • 22 min
Denial of Service attacks Dos attacks (denial of service) are type of attack on a server to prevent users from consuming a particular service, usually this is an HTTP web server. This could happen by either saturating the bandwidth of the pipe going to…
Episode 95 - TCP vs UDP
Jun 2, 2019 • 40 min
TCP and UDP are communication protocols that allows us to send and receive data in a network. We have both for a reason since each has its advantages and disadvantages. In this video we will talk about two protocols, pros and cons of each one and will…
Episode 94 - When to use GET vs POST?
May 26, 2019 • 22 min
Get and POST are the most popular http methods used on the web. Each carries its own differences and properties. It can confusing to get to choose when to use POST over GET. In this podcast we will explain the differences, use cases and the benefits of…
Episode 93 - Microservices
Mar 16, 2019 • 17 min
Microservices (Explained by Example) Microservices technology is a new pattern of software engineering that has been popularized recently. In this video we will explain what microservices are, their pros and cons by example. A lot of companies have moved…
Episode 92 - Attribute Rules
Mar 16, 2019 • 9 min
Attribute Rules are scripts that can be authored and placed in the geodatabase to ensure data integrity lets discuss them. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 91 - Public IP vs. Private IP Address
Mar 10, 2019 • 15 min
In this episode we will talk about the difference between public ip and private ip address and casually talk about routers, modems, LAN, WAN and port forwarding. —- Send in a voice message: https://anchor.fm/hnasr/message
Esri Dev Summit 2019
Feb 25, 2019 • 2 min
Join me in the upcoming Esri dev summit! Ill be presenting attribute rules and the utility network. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 90 - You will be Judged
Feb 16, 2019 • 21 min
It is a long weekend with the president day on Monday. Which means it is another good opportunity to create more art. Whether that is a new ArcGIS pro Add-in or a new map, a painting, a new piece of poetry or music. This also means more chances to get…
Episode 89 - Push vs Pull Notifications
Feb 14, 2019 • 15 min
This 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.…
Episode 88 - What was wrong with SOAP Protocol?
Feb 11, 2019 • 11 min
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…
Episode 87 - Q&A - When to use Shape File vs Geodatabase?
Feb 9, 2019 • 10 min
In this episode we answer a question from Anthony. How do you know when to focus on building a geodatabase (let’s say SQL server database) rather than just let the data sit in the shapefile? I would say if you are planning to have multiple users accessing…
Episode 86 - Recycling in ArcGIS Server
Feb 5, 2019 • 11 min
When 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…
Episode 85 - No Excuses
Feb 2, 2019 • 41 min
I don’t have the equipments. There are people doing that already. And my personal favorite, I don’t know enough. Excuses are always there, In this podcast I talk about my personal story of how I got started. You don’t need fancy equipments to share your…
Episode 84 - Layer vs Data Source
Jan 31, 2019 • 10 min
A podcast about the difference between a layer and its data source. Enjoy! —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 83 - Q&A: Programming for GIS
Jan 27, 2019 • 26 min
Vikrant 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…
Episode 82 - Cross Origin Resource Sharing (CORS)
Jan 18, 2019 • 14 min
If you ever go a website and there some images you liked to reference in your page or blog. You would copy the link, and put in your blog. Only to find out that the image looks broken? You copy the link again and paste it in URL and it opens fine? This is…
Episode 81 - ArcGIS Server Talk - SOE vs SOI
Jan 6, 2019 • 17 min
ArcGIS Server is a technology that allows you to pull your heavy work load on the backend and isolate the clients from complexity of the database by exposing HTTP services instead of low level TCP database. You can also extend the server capability by…
Episode 80 - MIME Sniffing
Jan 4, 2019 • 11 min
Any 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…
2018 was a great year
Dec 30, 2018 • 1 min
Thank 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…
Episode 79 - Availability vs Scalability
Dec 30, 2018 • 20 min
This is the final episode of 2018. We will discuss the difference between Availability vs Scalability in software services. Availability What does it mean for my software to be available? software, service, application is designed in way so it can be…
Episode 78 - Geodatabase Talk - Subtypes
Dec 27, 2018 • 15 min
In this episode we discuss the concept of subtypes in the geodatabase, subtype layers and much more! —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 77 - Authentication vs Authorization
Dec 22, 2018 • 8 min
In this episode we discuss the difference between authentication and authorization. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 76 - Database Locks
Dec 16, 2018 • 6 min
Hussein’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! Hussein —-…
Episode 75 - Arcade - The ArcGIS Scripting Language
Dec 13, 2018 • 7 min
In this episode we discuss the ArcGIS scripting language Arcade. New to GIS? Checkout my books and courses here https://husseinnasser.com/books —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 74 - Short vs Long Geodatabase Transactions
Dec 8, 2018 • 6 min
We discuss the difference between short and long transactions in the geodatabase —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 73 - Consistency
Dec 7, 2018 • 4 min
We discuss consistency in this episode —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 72 - The Evolution of the Feature Service
Dec 5, 2018 • 17 min
In this episode I talk about how the feature service came to be. From local shape files through the enterprise geodatabase to the beautiful HTTP protocol services. Https://husseinnasser.com —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 71 - Best Programming Language for 2019 (Rant)
Dec 4, 2018 • 8 min
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…
Episode 70 - What is Back-end Development ?
Nov 26, 2018 • 8 min
In this episode I explain the backend development, its history, how it came into existence and where it is going. I also share with you my latest online course Python on the Backend. http://www.husseinnasser.com/courses —- Send in a voice message:…
Episode 69 - The Beauty of HTTP
Nov 24, 2018 • 6 min
We discuss the HTTP protocol and explain its elegance and how it is powering the microservices architecture. —- Send in a voice message: https://anchor.fm/hnasr/message
Happy Thanksgiving!
Nov 22, 2018 • 0 min
Happy Thanksgiving! —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 68 - Geodatabase Talk - ObjectID
Nov 19, 2018 • 11 min
Hussein’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.…
Episode 67 - Pull, Push and the Long- Poll
Nov 16, 2018 • 10 min
In this episode we discuss the difference between the HTTP client pull, server push and the long poll also known as #HTTP ASYNCHRONOUS polling. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 66 - YouTube Audio and Video Streaming in the mobile app
Nov 15, 2018 • 6 min
As a software engineer, I like to reverse engineer applications and see how it was made. This episode we discuss how YouTube handles audio vs video streaming. When you minimize the app, —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 65 - ArcGIS Server Talk - 6080
Nov 14, 2018 • 8 min
Port 6080 is interesting, we talk little bit about it in this episode. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 64 - ArcGIS Server Talk - When to use Sync vs async gp service?
Nov 12, 2018 • 7 min
If you go to the geoprocessing service in Manager you might have noticed that there is an option to run asynchronously. In this episode we explain when you might want to do this! —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 63 - Geodatabase Talk - SDE Intercepts
Nov 11, 2018 • 12 min
Sde intercept Any operation performed on ArcGIS ends up eventually to the geodatabase as a set of one or more queries. A “zoom-in” or pan operation translates to multiple queries to the underlying geodatabase. SDE intercepts always you to intercept and…
Episode 62 - Load Balancer vs Reverse Proxy
Nov 4, 2018 • 9 min
Most of the time a Load balancer is a reverse proxy but a reverse proxy is not necessary a load balancer. Reverse proxy takes a request from client and forward it to “a server” doesn’t care of the server is overloaded or down or not just forwards it. Load…
Episode 61 - ArcGIS Server Talk - Max SOC Heap Size
Oct 30, 2018 • 17 min
We discuss the max heap size property on the arcgis server admin. Enjoy —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 60 - ArcGIS Server Talk - Database Schema Lock
Oct 29, 2018 • 7 min
In this episode of arcgis server talk we discuss the database schema lock option in manager. Advantages and disadvantages of having your service acquire a lock. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 59 - Geodatabase Talk - Split
Oct 28, 2018 • 11 min
We discuss how split work, the split policy on the domain and the split editing model. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 58 - The Art of Software Troubleshooting
Oct 19, 2018 • 13 min
In this episode of #softwaretalk we discuss the art of software troubleshooting. We can become better software engineers by aiming to excel at our craft. Not just find a bug, but track its cause. Not just find a bad performing workflow in the app but find…
Episode 57 - ArcGIS Server Talk - ApplyEdits
Oct 19, 2018 • 9 min
In this episode, we talk about applyEdits method on the feature service REST API. Enjoy Grab my Administering ArcGIS for Server book and learn more about Installing and configuring ArcGIS for Server to publish, optimize, and secure GIS services.…
Episode 56 - Geodatabase Talk - Undo edits through services
Oct 15, 2018 • 8 min
In this episode we discuss how using the new ArcGIS Server version management service we can undo edits even after the service goes down! —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 55 - When to Fix the bugs?
Oct 13, 2018 • 5 min
In software development, introducing a new feature or functionality always introduces bugs specially in a large software. In this episode we discuss should we fix all the bugs that get introduced from a new feature or install the feature and worry about…
Episode 54 - Stateful PHP Service
Oct 8, 2018 • 8 min
Throw back me using PHP and apache to build a stateful service. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 53 - Product Architect vs Solutions Architect
Oct 6, 2018 • 12 min
In 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…
Episode 52 - Geodatabase Talk - Archiving
Oct 6, 2018 • 7 min
Archiving is used to store or keep track of state of rows even after they are edited in older state. In this episode we discuss how can you do archiving in the geodatabase. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 52 - ArcGIS Server Talk - Logging
Oct 4, 2018 • 11 min
In this episode of ArcGIS Server Talk we discuss logging. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 51 - Geodatabase Talk - DDL vs DML
Oct 4, 2018 • 11 min
In this episode we explain the difference between ddl and dml, with respect to the geodatabase —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 50 - Geodatabase Talk - SDE
Oct 3, 2018 • 10 min
The communication between the client and the enterprise geodatabase is done through the spatial database engine. We explain that layer in this episode. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 49 - User Experience vs API - What Comes First?
Sep 30, 2018 • 16 min
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…
Episode 48 - ArcGIS Server - Asynchronous Geoprocessing Service
Sep 28, 2018 • 5 min
We explain how the asynchronous geoprocessing service works in ArcGIS. We also briefly explain the difference between synchronous vs asynchronous request. Enjoy ! —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 47 - How to become a Better Software Engineer? (Rant)
Sep 28, 2018 • 15 min
There is no secret, no magic potion, no pill or book or a “new” programming language that will make you a better software engineer. To be a better software engineer you have to write more software. Write silly software, write fart software, write stupid…
Episode 45 - Geodatabase Talk - Domains
Sep 27, 2018 • 10 min
Today’s topic is geodatabase domains. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 44 - Is Coding Easy?
Sep 16, 2018 • 12 min
Welcome to the first episode of software engineering talk. This series we pick a topic and casually talk about it. In today’s episode, we try to answer the question is Coding easy? —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 43 - Never underestimate a coding task
Sep 15, 2018 • 8 min
In this episode of software engineering by example we discuss how software engineers should be empathetic and never underestimate and brush a problem as simple. We have to give it some thoughts and think it all the way through. —- Send in a voice message:…
Episode 42 - Geodatabase Talk - Stateful DB Connection
Sep 7, 2018 • 12 min
This episode I explain what is a stateful connection and how that compare to traditional vs the new branch versioning model. We also explain Pros and cons of the stateful connection (with a DMV example :) ) —- Send in a voice message:…
Episode 41 - Geodatabase Talk - High Isolation
Sep 4, 2018 • 8 min
We explain the difference between Isolation and High Isolation from a geodatabase point of view. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 40 - Geodatabase Talk - Registration types
Aug 23, 2018 • 12 min
We discuss briefly the 5 registration types in the enterprise geodatabase. Unversioned, unversioned with archiving, versioned, versioned with archiving and branched versioned. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 39 - Geodatabase Talk - Versioning
Aug 14, 2018 • 8 min
We discuss the concept of versioning (high isolation) in the geodatabase. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 38 - Geodatabase Talk - Workspaces
Aug 6, 2018 • 4 min
We discuss the geodatabase connection which is called a workspace, —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 37 - Geodatabase Talk - Tables
Aug 3, 2018 • 11 min
We discuss the table artifact in the geodatabase. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 36 - Geodatabase Talk
Aug 1, 2018 • 14 min
This is a new series that discusses the Esri geodatabase technology! —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 35 - ArcGIS Server Talk - Pooling
Jul 6, 2018 • 11 min
Discussing Connection Pooling in ArcGIS Server —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 34 - ArcGIS Server Talk - Process isolation
Jul 3, 2018 • 11 min
Process isolation —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 33 - ArcGIS Server Talk - Site Clusters
Jun 26, 2018 • 6 min
Server site cluster discussion —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 32 - ArcGIS Server Talk - Server Site
Jun 23, 2018 • 15 min
Discussion about server site, port 6080,6443, configuration store and creating and joining existing site —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 31 - Arcgis Server Talk
Jun 15, 2018 • 7 min
Discussing arcgis server technology part 1 —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 30 - Disk
Mar 4, 2018 • 6 min
Discussion on Persisted storage in the disk while taking a walk in Bahrain 🇧🇭 . Enjoy. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 29 - Who is Hussein Nasser?
Mar 4, 2018 • 29 min
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…
Episode 28 - What is GIS?
Feb 8, 2018 • 4 min
Discussion on GIS geographic information system my career since 2005. Enjoy —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 27 - Why Coding is Hard?
Feb 8, 2018 • 5 min
We discuss we some people are intermediated by programming or find it hard to learn. Spoiler alert it is our fault as educators. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 26 - Caching
Feb 6, 2018 • 5 min
Caching explained simply. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 25 - Cash in on your passion
Feb 6, 2018 • 8 min
This episode is pulled from my vlog right after I finished Gary vee book Crush it. Today I finished @garyvee book Crush it (Cash in on Your Passion). I read alot of books but dont necessary review them in my SM. However this book is different, though…
Episode 24 - Bleeding Edge Technologies
Feb 1, 2018 • 5 min
New technologies appear every day. We ask the question should software engineers learn new emerging technologies as soon as they come in? We answer yes and We bring in badass Gary vee as a successful example of someone who tackle any new social media app.…
Episode 23 - Why JSON is so Popular?
Jan 31, 2018 • 4 min
We discuss how JSON became popular. It isn’t some fashion trend, its convenience. We also discuss how XML was invented as an interchange format. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 22 - Latency
Jan 29, 2018 • 5 min
Discussion of latency across the entire software stack. Enjoy —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 21 - RDBMS
Jan 25, 2018 • 12 min
We discuss relational databases. Their properties and scalability. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 20 - Cool feature in git
Jan 23, 2018 • 4 min
I discovered git submodules today. I talk about how I found them and how they helped my code reusability. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 19 - Python as a Web Server
Jan 23, 2018 • 4 min
We answer the question can Python runs on the backend and serve REST end points —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 18 - Memory Leaks
Jan 23, 2018 • 5 min
We discuss memory leaks. What are they? How they happen? How dangerous can they be? —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 17 - UX … then REST
Jan 22, 2018 • 4 min
We discuss how an engineer can save tremendous design and architecture efforts at the backend building the REST services by actually starting with the user experience. As usual with an example. Cheers y’all —- Send in a voice message:…
Episode 16 - TheDragon fights Engineers too
Jan 22, 2018 • 4 min
We talk about how the we are meant to create beautiful art and how the resistance (the dragon) is stopping us from putting that work out there. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 15 - I Wrote Bad Front-End Code
Jan 18, 2018 • 7 min
While building an Alien Invasion javascript game I wrote some bad code that froze my chrome. I discuss the unscalable piece of code and go through how I discovered it and how to fix it. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 14 - Learn Software By Doing
Jan 18, 2018 • 5 min
With new technologies it becomes overwhelming for engineers to learn. We discuss one of the best ways to learn the new technologies by doing projects using them. Step out of your comfort zone and build apps using those tech! —- Send in a voice message:…
Episode 13 - Do Developers Make Lousy UX?
Jan 18, 2018 • 9 min
In this episode we discuss why lot of people think Developers make unusable and lousy user experiences and interfaces. We take examples of Windows vs Mac and a throw back from a blog post I wrote 10 years ago. Enjoy —- Send in a voice message:…
Episode 12 - Stateless vs Stateful
Jan 15, 2018 • 9 min
We discuss stateless and stateful client / server architecture using instagram as an example. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 11 - Persistence
Jan 12, 2018 • 12 min
We discuss how persistence at the client side. We bring Siri, Whatsapp and Twitter s examples of dealing with persistence of draft, lost and unsent messages . —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 10 - Scalable Software
Jan 11, 2018 • 14 min
We discuss software scaling in three tiers. The front end, the backend and the middle. We take instagram as an example for all three tiers. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 09 - Advice to new Software Engineers
Jan 8, 2018 • 9 min
This podcast is for software engineers that just started their career and facing pressure from outside world to divert their path. Keep doing what you love. —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 08 - UX and Software Architecture
Jan 4, 2018 • 11 min
Does the user experience derive the software architecture or vise versa? Can user experience help determine what backend database you end up using? We discuss both styles of engineering and talk about pros and cons. Enjoy —- Send in a voice message:…
Episode 02 - Stuck at your job?
Jan 2, 2018 • 9 min
In this episode we discuss how can you make a change to your career. I also talk about my experience a little. Enjoy —- Send in a voice message: https://anchor.fm/hnasr/message
Episode 01 - Sync vs aSync
Dec 29, 2017 • 14 min
We discuss two programming styles both have their advantages and disadvantages. Enjoy —- Send in a voice message: https://anchor.fm/hnasr/message
IGeometry Podcast - Intro
Dec 28, 2017 • 4 min
First podcast - intro - welcome to IG podcast —- Send in a voice message: https://anchor.fm/hnasr/message