RSSAmplifier

Blog

Hussein Nasser

Software Engineer, Author


husseinnasser.comRSS feed ↗25 posts

Latest posts

YouTube Channel

https://www.youtube.com/user/GISIGeometry

Following an HTTP GET / through Switches, Routers, Gateways, and Proxies (Detailed Examples)

In this networking video , I’ll explain the difference between a gateway and a proxy but also illustrate the purpose behind routers and switches in the process. I’ll execute an HTTP GET request and follow its on-wire representation across multiple networks. Follow timestamps for the 3 examples I'll use.

Will AWS Babelfish Succeed in Moving Developers Away from SQL Server to Postgres?

In AWS re-invent , Amazon announced open-sourcing Babelfish for PostgreSQL, a SQL Server-compatible end-point for PostgreSQL to make PostgreSQL fluent in understanding communication from apps written for SQL Server. Let us discuss what is this technology and whether if it's gonna really move developers away from Microsoft SQL Server to Postgres Resources…

System Design and Backend Engineering Videos From Zero to Hero

This collection of videos covers major system design concepts and fundamentals that every backend engineer needs to understand. This will help you in your design interviews. The videos are ordered in the way they should be consumed. Backend Engineering Playlist

SameSite Cookie Attribute Explained by Example (Strict, Lax, None & No SameSite)

The recent version of Chrome has broke some workflows with samesite cookies. So a few weeks ago I made a video discussing the samesite Attribute change in chrome and how it is a great change that will end CSRF. It looks like Chrome 80 is officially out now and websites are broken or stuck in infinite loops. This is because Cookies without samesite Attribute are treated as samesite lax which means…

gRPC Pros & Cons

gRPC (gRPC Remote Procedure Calls) is an open source remote procedure call (RPC) system initially developed at Google in 2015. It uses HTTP/2 for transport, Protocol Buffers as the message format. In this video I want to explore gRPC, go through examples, pros and cons of gRPC. Client/ Server communication - SOAP - HTTP (REST) - WebSockets Client Libraries gRPC gRPC Demo - todos gRPC Pros and Cons…

Database Engines Crash Course (MyISAM, Aria, InnoDB, XtraDB, LevelDB & RocksDB)

Database Engines Crash Course (MyISAM, Aria, InnoDB, XtraDB, LevelDB & RocksDB) 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 client-server. In this video I want to go through the few…

Javascript by Example 3 hour free course

This is a practical Javascript course by example, we will build a calculator from scratch in this course enjoy. Chapter 1 Title: Getting Started Time Code: 5:00 Source Code: https://github.com/hnasr/javascript-by-example/tree/L1-Episode01 Chapter 2 Title: Building User Interface Time Code: 21:12 Source Code: https://github.com/hnasr/javascript-by-example/tree/L1-Episode02 Chapter 3 Title: DOM,…

Layer 4 vs Layer 7 Load Balancing Pros and Cons

Load balancing is the 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. You can watch the video or read the summary below. Layer 4 Load balancer ( HAProxy , NLB ) Forwards packets based on basic rules, it only knows IP and PORT and perhaps latency of the target service. That is what…

Transport Layer Secuirty - HTTP, HTTPS, TLS 1.2 and TLS 1.3

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 learn how insecure vanilla HTTP works, HTTPS, then we will learn how HTTPS is possible via the transport layer security and finally we will talk about the improvements in 1.3 that was published August 2018.…

Denial Of Service Attack Explained

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 the server or by bringing the server down to its knees so it stops taking requests all together. In this video we will learn about 3 different types of DOS attacks and…

When to use GET vs POST? (Caching vs Request size)

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. I made a video explaining my take on the differences, use cases and the benefits of using GET and POST. Check it out, here is a summary table. Property GET POST Body No Yes Data Request Limit Yes (2048 bytes) No limit Data…

Sidecar pattern in Service Mesh (Explained by Example)

Sidecar Pattern is an architecture where two or more processes living in the same host can communicate with other via the loopback (localhost) essentially enabling interprocess communication. It is the foundation architecture on which service meshes such ad LinkerD and Envoy is built on. In this video, we will explain, how we do things the classical way and how the sidecar pattern works, the pros…

To compute on the edge or on the cloud, that is the question.

It’s interesting. When I got my first computer in 1995, I was so excited to buy PC magazine and get a CD with a bunch of video games demo and trial software etc. what all the software had in common back then is they run completely independent from a server. Plug, install and Play. That comes with a limitation; Storage and compute. Developers have constrained to PC machines with limited resources…

My New 2018 Video Course - Python on the Backend

Click to check out the course 50% of for the holidays! Do you know Python and want to talk it to the next level? How about writing a website in Python, or an API so your fellow developers can consume in JSON over simple HTTP. With the boom of microservices and API, developers who are used to working with Python writing scripts can now take their knowledge to the backend. This course will teach you…

My New Book for 2018 just published - Learn GIS Web Programming with ArcGIS Javascript API 4.9 and ArcGIS Online

click on the image to purchase the ebook on Amazon In late 2012 I got an email from a book publisher author with a proposal to author a book. They have found me through my blog and linked a blog post I wrote back in 2009 on ArcGIS Server technology. I accepted their offer and wrote the book and 3 others that followed. This makes me question, why did I write that original blog post? I didn’t know…

What is State Transfer in REST architecture really mean?

Understanding State Transfer in REST One of the most critical properties of the REST Architecture (Representational State Transfer) is the protocol is stateless and the state gets transferred between the client and the server. I personally always found this to be confusing until I really learned architecture by actually using it. In this video, I will explain the state transfer in REST by example.…

Announcing my Podcast

Podcast If you are interested in GIS and Software Engineering, you will enjoy my podcast. Check it out!

Product Architect vs Solutions Architect

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 architect vs solution architect. If you are interested to be a solution or product architect or engineer you came to the right place. Cheers…

Reverse Engineering Twitter

This is our r everse engineering series where we pick a mainstream app and try to understand how the developers built it, how the APIs are designed on the backend and how the front-end user experience is designed for performance, efficiency and business decisions. We can become better software engineers by learning how the likes of Google, Facebook, and Twitter are building APIs and user…

#Geodatabase Talk - Episode 9 - SDE (Spatial Database Engine)

The #geodatabase is a technology developed by #Esri that abstracts the underlying storage medium into another layer. By doing that you get interesting functionalities like domains, feature classes, tables, feature datasets across multiple databases from file based to enterprise RDBMS like Oracle, PostgreSQL, SQLServer DB2 etc. The communication between the client and the enterprise geodatabase is…

Is Coding Easy?

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? Intro: 0:00 Easy vs. Simple 3:20 Building a profile page example: 3:55 Database Level challenges: 6:00 Database Indexes: 8:00 SELECT * FROM: 8:55 Be Empathic of all software actors: 10:20 Cheers! Hussein Nasser

How to become a Better Software Engineer?

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 software, write bad performant software. Write enough software to give the edge to be better than other software engineers and software…

MIME sniffing (Explained by Example)

Any content that is served through HTTP web “should” include meta data about its type. This is so the browser/client knows what to do with it, if the content type header is an image it will preview it, if it is HTML it will render it 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…

Administering ArcGIS for Server by Hussein Nasser

ArcGIS for Server is a new technology that has been developed to bring geographically-enabled information from multiple sources into one single platform and make it available for sharing services. Server supports many types of services, and the beauty of this technology is that it has an edge over other products, as the source of information can be directly plugged into Server without the need to…