IGeometry - Software Engineering and GIS Podcast

IGeometry - Software Engineering and GIS Podcast

Avatar
By Hussein Nasser
Welcome to IGeometry podcast with your host Hussein Nasser. If you like GIS and software engineering you’ve came to the right place. All Opinions are my own.
Available on 11 platforms
Episode 93 - Microservices
  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 in the early 2010 such as twitter and netflex to the microservices architecture.  Microservices technology is a pattern where you can break down big application into smaller services and what previously is a function call is now a network call GET or POST through HTTP. In order to explain what microservices are, we need to explain how a traditional classical application looks like. Here is an example .. Instagram   View Picture, list comments, likes and Picture and Location.  Picture Likes Comments Picture API (Thumbnails)  Likes API  Comments API Most popular comments Pros: Polyglot architecture  Easy scaling for microservices that needs scaling.  Better Team management, each microservice is a team Easier to innovate certain areas. Each microservice can pick their own database  Scale busy services instead of entire system  Cons: Very complicated to implement, network call, service discovery  Very Difficult to debug Hard to find where the fault is  Network calls fails adds complexity. 5:00 6:50 proxy vs reverse 
17:15
March 16, 2019
Episode 92 - Attribute Rules
Attribute Rules are scripts that can be authored and placed in the geodatabase to ensure data integrity lets discuss them. 
09:17
March 16, 2019
Episode 91 - Public IP vs. Private IP Address
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. 
15:12
March 10, 2019
Esri Dev Summit 2019
Join me in the upcoming Esri dev summit! Ill be presenting attribute rules and the utility network.
02:57
February 26, 2019
Episode 90 - You will be Judged
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 discovered, which means more chances to get criticized. I get criticized all the time now that I have bigger exposure and this is our topic for this podcast coming up, 
21:23
February 16, 2019
Episode 89 - Push vs Pull Notifications
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. 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 architecture decision of our application that we are building.    Online diagram tool used in this video:  Http://www.gliffy.com   Become a better software engineer by joining IGeometry checkout the other software engineering content on this channel   -Hussein
15:59
February 14, 2019
Episode 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 Nasser
11:54
February 12, 2019
Episode 87 - Q&A - When to use Shape File vs Geodatabase?
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 and editing the data, also if your data grew too large shape files might not be scalable to read. Also if you are planning to use the capabilities of Geodatabase such as domains, subtypes, attribute rules, versioning, archiving etc not to mention sharing as well. if you wont plan to use any of the above then shape file is a good choice. If you are planning to just maintain a shape file data of 10k or 100k features and you edit it yourself locally it works! 
10:26
February 9, 2019
Episode 86 - Recycling in ArcGIS Server
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 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 Hussein
11:29
February 5, 2019
Episode 85 - No Excuses
 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 skills and knowledge. In this podcast we discuss how with just a screen sharing app (Quicktime) and this microphone I was able to grow my youtube software engineering channel to 2000 subs and more than 1 million watch hours.  
41:41
February 2, 2019
Episode 84 - Layer vs Data Source
A podcast about the difference between a layer and its data source. Enjoy!
10:04
January 31, 2019
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
26:57
January 27, 2019
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
14:06
January 19, 2019
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
17:32
January 6, 2019
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
11:16
January 4, 2019
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
01:43
December 31, 2018
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  
20:16
December 31, 2018
Episode 78 - Geodatabase Talk - Subtypes
In this episode we discuss the concept of subtypes in the geodatabase, subtype layers and much more!
15:00
December 27, 2018
Episode 77 - Authentication vs Authorization
In this episode we discuss the difference between authentication and authorization.
08:07
December 22, 2018
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
06:11
December 16, 2018
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
07:30
December 13, 2018
Episode 74 - Short vs Long Geodatabase Transactions
We discuss the difference between short and long transactions in the geodatabase
06:29
December 9, 2018
Episode 73 - Consistency
We discuss consistency in this episode
04:49
December 7, 2018
Episode 72 - The Evolution of the Feature Service
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
17:02
December 6, 2018
Episode 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 -Hussein
08:01
December 5, 2018
Episode 70 - What is Back-end Development ?
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
08:26
November 26, 2018
Episode 69 - The Beauty of HTTP
We discuss the HTTP protocol and explain its elegance and how it is powering the microservices architecture.
06:04
November 24, 2018
Happy Thanksgiving!
Happy Thanksgiving!
00:36
November 22, 2018
Episode 68 - Geodatabase Talk - ObjectID
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. Checkout my new book (learn gis programming with ArcGIS online and Javascript 4.9 API) ! www.husseinnasser.com
11:32
November 19, 2018
Episode 67 - Pull, Push and the Long- Poll
In this episode we discuss the difference between the HTTP client pull, server push and the long poll also known as #HTTP ASYNCHRONOUS polling.
10:02
November 16, 2018
Episode 66 - YouTube Audio and Video Streaming in the mobile app
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,
06:25
November 16, 2018
Episode 65 - ArcGIS Server Talk - 6080
Port 6080 is interesting, we talk little bit about it in this episode.
08:42
November 14, 2018
Episode 64 - ArcGIS Server Talk - When to use Sync vs async gp service?
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!
07:29
November 12, 2018
Episode 63 - Geodatabase Talk - SDE Intercepts
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 take a look at those queries to diagnose slow operations in your enterprise geodatabase. It also helps pinpoint where the bottle neck is and how can you optimize your app or geodatabase. https://support.esri.com/en/technical-article/000010355
12:08
November 11, 2018
Episode 62 - Load Balancer vs Reverse Proxy
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 balancer stores state about each server behind it, how overloaded each server is, and what server is down, and smartly forward request to a server to balance the load across all the group. So a load balancer is a special case of a reverse proxy but smarter!
09:59
November 5, 2018
Episode 61 - ArcGIS Server Talk - Max SOC Heap Size
We discuss the max heap size property on the arcgis server admin. Enjoy
17:31
October 30, 2018
Episode 60 - ArcGIS Server Talk - Database Schema Lock
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.
07:50
October 29, 2018
Episode 59 - Geodatabase Talk - Split
We discuss how split work, the split policy on the domain and the split editing model.
11:45
October 28, 2018
Episode 58 - The Art of Software Troubleshooting
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 out what causes the performance bottleneck. Do the due diligence. Enjoy this episode guys www.husseinnasser.com
13:08
October 20, 2018
Episode 57 - ArcGIS Server Talk - ApplyEdits
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. http://husseinnasser.com/books
09:59
October 19, 2018
Episode 56 - Geodatabase Talk - Undo edits through services
In this episode we discuss how using the new ArcGIS Server version management service we can undo edits even after the service goes down!
08:56
October 15, 2018
Episode 55 - When to Fix the bugs?
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 the bugs later? #agile
05:57
October 13, 2018
Episode 54 - Stateful PHP Service
Throw back me using PHP and apache to build a stateful service.
08:03
October 8, 2018
Episode 53 - 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 Hussein
12:41
October 7, 2018
Episode 52 - Geodatabase Talk - Archiving
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.
07:33
October 6, 2018
Episode 52 - ArcGIS Server Talk - Logging
In this episode of ArcGIS Server Talk we discuss logging.
11:04
October 5, 2018
Episode 51 - Geodatabase Talk - DDL vs DML
In this episode we explain the difference between ddl and dml, with respect to the geodatabase
11:48
October 5, 2018
Episode 50 - Geodatabase Talk - SDE
The communication between the client and the enterprise geodatabase is done through the spatial database engine. We explain that layer in this episode.
10:09
October 3, 2018
Episode 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 Nasser
16:03
September 30, 2018
Episode 48 - ArcGIS Server - Asynchronous Geoprocessing Service
We explain how the asynchronous geoprocessing service works in ArcGIS. We also briefly explain the difference between synchronous vs asynchronous request. Enjoy !
05:30
September 29, 2018
Episode 47 - How to become a Better Software Engineer? (Rant)
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 developers.
15:22
September 28, 2018
Episode 45 - Geodatabase Talk - Domains
Today’s topic is geodatabase domains.
10:45
September 27, 2018
Episode 44 - 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?
12:30
September 17, 2018
Episode 43 - Never underestimate a coding task
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.
08:58
September 15, 2018
Episode 42 - Geodatabase Talk - Stateful DB Connection
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 :) )
12:52
September 7, 2018
Episode 41 - Geodatabase Talk - High Isolation
We explain the difference between Isolation and High Isolation from a geodatabase point of view.
08:42
September 4, 2018
Episode 40 - Geodatabase Talk - Registration types
We discuss briefly the 5 registration types in the enterprise geodatabase. Unversioned, unversioned with archiving, versioned, versioned with archiving and branched versioned.
12:14
August 23, 2018
Episode 39 - Geodatabase Talk - Versioning
We discuss the concept of versioning (high isolation) in the geodatabase.
08:04
August 14, 2018
Episode 38 - Geodatabase Talk - Workspaces
We discuss the geodatabase connection which is called a workspace,
04:22
August 6, 2018
Episode 37 - Geodatabase Talk - Tables
We discuss the table artifact in the geodatabase.
11:42
August 3, 2018
Episode 36 - Geodatabase Talk
This is a new series that discusses the Esri geodatabase technology!
14:32
August 1, 2018
Episode 35 - ArcGIS Server Talk - Pooling
Discussing Connection Pooling in ArcGIS Server
11:12
July 6, 2018
Episode 34 - ArcGIS Server Talk - Process isolation
Process isolation
11:32
July 4, 2018
Episode 33 - ArcGIS Server Talk - Site Clusters
Server site cluster discussion
06:34
June 26, 2018
Episode 32 - ArcGIS Server Talk - Server Site
Discussion about server site, port 6080,6443, configuration store and creating and joining existing site
15:10
June 24, 2018
Episode 31 - Arcgis Server Talk
Discussing arcgis server technology part 1
07:21
June 15, 2018
Episode 30 - Disk
Discussion on Persisted storage in the disk while taking a walk in Bahrain 🇧🇭 . Enjoy.
06:38
March 4, 2018
Episode 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. Hussein
29:16
March 4, 2018
Episode 28 - What is GIS?
Discussion on GIS geographic information system my career since 2005. Enjoy
04:28
February 8, 2018
Episode 27 - Why Coding is Hard?
We discuss we some people are intermediated by programming or find it hard to learn. Spoiler alert it is our fault as educators.
05:19
February 8, 2018
Episode 26 - Caching
Caching explained simply.
05:04
February 7, 2018
Episode 25 - Cash in on your passion
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 written 9 years ago and some technologies are dead but that in itself shows this guy jumps on bleeding edge technologies like there is no tomorrow which I love. Never mind, that book actually inspired me to twist Gary’s ideas in the software engineering realm. And that is the topic of the vlog, you are passionate about 8 bit video game development? Build a community around it. You really genuinely love the assembly language? Build software with assembly and make videos and show your love, you will be surprised how many engineers share your interest. Cant wait for Gary’s new book Crushing it! - I would really like to thank my YouTube mentor @robertoblake for introducing me to such passionate person.
08:01
February 6, 2018
Episode 24 - Bleeding Edge Technologies
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.
05:13
February 1, 2018
Episode 23 - Why JSON is so Popular?
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.
04:43
January 31, 2018
Episode 22 - Latency
Discussion of latency across the entire software stack. Enjoy
05:15
January 29, 2018
Episode 21 - RDBMS
We discuss relational databases. Their properties and scalability.
12:30
January 26, 2018
Episode 20 - Cool feature in git
I discovered git submodules today. I talk about how I found them and how they helped my code reusability.
04:13
January 24, 2018
Episode 19 - Python as a Web Server
We answer the question can Python runs on the backend and serve REST end points
04:48
January 24, 2018
Episode 18 - Memory Leaks
We discuss memory leaks. What are they? How they happen? How dangerous can they be?
05:14
January 24, 2018
Episode 17 - UX ... then REST
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
04:59
January 23, 2018
Episode 16 - TheDragon fights Engineers too
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.
04:59
January 23, 2018
Episode 15 - I Wrote Bad Front-End Code
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.
07:15
January 19, 2018
Episode 14 - Learn Software By Doing
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!
05:48
January 19, 2018
Episode 13 - Do Developers Make Lousy UX?
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
09:33
January 18, 2018
Episode 12 - Stateless vs Stateful
We discuss stateless and stateful client / server architecture using instagram as an example.
09:59
January 16, 2018
Episode 11 - Persistence
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 .
12:42
January 13, 2018
Episode 10 - Scalable Software
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.
14:31
January 12, 2018
Episode 09 - Advice to new Software Engineers
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.
09:59
January 8, 2018
Episode 08 - UX and Software Architecture
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
11:27
January 5, 2018
Episode 02 - Stuck at your job?
In this episode we discuss how can you make a change to your career. I also talk about my experience a little. Enjoy
09:59
January 2, 2018
Episode 01 - Sync vs aSync
We discuss two programming styles both have their advantages and disadvantages. Enjoy
14:59
December 29, 2017
IGeometry Podcast - Intro
First podcast - intro - welcome to IG podcast
04:10
December 29, 2017
Make your own podcast for free with Anchor!