
The Backend Engineering Show with Hussein Nasser
Welcome to the Backend Engineering Show podcast with your host Hussein Nasser. If you like software engineering you’ve come to the right place. I discuss all sorts of software engineering technologies and news with specific focus on the backend. All opinions are my own.
Most of my content in the podcast is an audio version of videos I post on my youtube channel here http://www.youtube.com/c/HusseinNasser-software-engineering
Buy me a coffee
https://www.buymeacoffee.com/hnasr
🧑🏫 Courses I Teach
https://husseinnasser.com/courses
Latest episodes

Jan 27, 2019 • 27min
Episode 83 - Q&A: Programming for GIS
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 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
Enjoy

Jan 19, 2019 • 14min
Episode 82 - Cross Origin Resource Sharing (CORS)
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 an effect of CORS or cross origin resource sharing.
https://husseinnasser.com/courses

Jan 6, 2019 • 18min
Episode 81 - ArcGIS Server Talk - SOE vs SOI
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 writing your own extensions.
In this episode ArcGIS Server talk we will talk about two ways you can extend your ArcGIS server, Server Object Extensions and Server Object Interceptors.
Server Object Extension
Extends the MapServer to allow you to write your own logic that cannot be easily done by built - in Feature Server or Map server. Or it is more performant to do it.
Users create new excavation I want to auto-calculate the price of the excavation based on the soil type, whether there are trees, rocks.
Server Object Interceptors
You don’t write new thing you instead intercept existing calls to query and applyEdits to inject your own logic to pre or post processing. Lets say every-time any application tries to write to the service, you want to verify that the edit is permissible. Include water marks to all images that are downloaded.
Learn more about SOE vs SOI here
http://enterprise.arcgis.com/en/server/latest/publish-services/linux/about-extending-services.htm

Jan 4, 2019 • 11min
Episode 80 - MIME Sniffing
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 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 when a content type header was not served.
However, this caused security problems and attacks that we explain in this video! So to prevent sniffing, web servers can return X-Content-Type-Options: nosniff which opts out browsers from sniffing the content.
Media type: https://en.wikipedia.org/wiki/Media_type#Common_examples
Cheers!
Hussein Nasser

Dec 31, 2018 • 2min
2018 was a great year
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 book
Published two programming online courses #hustle

Dec 31, 2018 • 20min
Episode 79 - Availability vs Scalability
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 available to consumers despite situation
Will your service be available if
Host Failure
Maintenance
Upgrading
Security updates
Available doesn’t necessarily mean performant.
Scalability
What does it mean for my software to be scalable?
The ability for the software to handle the increase of workload or data growth
Assume photo sharing app, retrieving 1 photo with details. If in normal conditions you service can serve 100 requests per minute, will doubling resources double the output?u
If the volume of data increases will your query still perform?
A software is scalable when it is designed in a way so that adding more resources will handle more users

Dec 27, 2018 • 15min
Episode 78 - Geodatabase Talk - Subtypes
In this episode we discuss the concept of subtypes in the geodatabase, subtype layers and much more!

Dec 22, 2018 • 8min
Episode 77 - Authentication vs Authorization
In this episode we discuss the difference between authentication and authorization.

Dec 16, 2018 • 6min
Episode 76 - Database Locks
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

Dec 13, 2018 • 8min
Episode 75 - Arcade - The ArcGIS Scripting Language
In this episode we discuss the ArcGIS scripting language Arcade. New to GIS? Checkout my books and courses here https://husseinnasser.com/books