A Few Updates to pg_webhooks

At the time of my last post, there were a few outstanding issues that I wanted to address in the code of pg_webhooks. I’ve addressed three of them this week. There wasn’t actually a route to unsubscribe from a channel, so I added that shortly after the initial release. Another key shortcoming was that the … Read more

A Simple Webhook Interface for PostgreSQL NOTIFY

PostgreSQL’s NOTIFY/LISTEN method for subscribing to events from a database is a subject I return to periodically. I’ve touched on it in one form or another over several years. My latest run at it involves building a Node Express application that will allow external systems to subscribe to webhooks that are fired by NOTIFY statements from PostgreSQL.

I was prompted to do this by a number of factors. First, I have stepped back into the consulting world and find myself doing much more coding and technical work than I had been doing in my previous role. Some of my current work has involved building and optimizing data workflows and have been using database triggers in key parts of it. In my previous role, webhooks figured prominently into data integration tasks among various SaaS platforms. Finally, I simply wanted start a new coding project.

Read more

Simple Isochrone Analysis in QGIS

With my MBA program behind me, one of my goals has been to shake the rust off my coding and GIS skills. For this post, I thought I would start simply, just to make sure I remembered how to find my way around QGIS.

We recently purchased a plug-in hybrid. It has a 17-mile range when running fully electric, so I used this as the basis for a quick analysis with QGIS. Of course, any such experimentation isn’t much fun without a few unrealistic assumptions, so here they are:

  1. The car was parked with an empty tank.
  2. It was brought up to a full charge overnight.
  3. Rather than immediately going to a gas station, we’ll go to a charging to top off the battery again.

These assumptions are, of course, ridiculous, but they allow me to have some fun.

I decided to build out drive-distance isochrones representing ten miles and sixteen miles. Ten miles represented the safe range, and sixteen represented the edge of insanity, at which I should use the last mile to find a gas station.

Read more

Return on Non-Investment

Yesterday evening, I had the pleasure of participating in a panel discussion on Clubhouse, hosted by Todd Barr and Jordan Cullen, and including Will Cadell of SparkGeo. Clubhouse seems to be a really convenient venue for setting up such a forum with low barriers to entry, so that was enjoyable. The topic of the discussion was “Geospatial ROI” and we talked about various ways to articulate the value of geospatial (the data and the concept) and GIS (the toolset to exploit geospatial).

One topic that we didn’t have time to get to, but has been at the front of my mind for a while is the “return on non-investment” with regard to open-source tools, geospatial or otherwise. Open-source has been mainstream for quite some time and platforms like Github make it easier to publish, manage, and maintain open-source tools. As a result, it’s easier than it’s ever been to find and use open-source tools to solve your problem.

Read more

Open – Beyond Technology

I am currently reading the book “Fierce Conversations” by Susan Scott. I am on hiatus from teaching my leadership course this year, so I am taking the opportunity to refresh my content and my perspectives. The basis of the book is fairly simple:

Our work, our relationships, and our lives succeed or fail one conversation at a time. While no single conversation is guaranteed to transform a company, a relationship, or a life, any single conversation can.

Susan Scott, Fierce Conversations: Achieving Success at Work and in Life One Conversation at a Time

This has gotten me thinking in general about conversations that have impacted me throughout my career, whether with colleagues, direct reports, supervisors, customers, or mentors.

Recently, I had an interaction on Twitter that got me thinking about a long-ago conversation in a different context that, although I had never thought much about it, had an effect on how I view the role of technology in solving problems. That Twitter interaction is here:

Read more

FOSS4G 2017 Recap

It’s been almost two weeks since I returned from FOSS4G 2017 in Boston, Massachusetts (USA), and I wanted to take a little time to regroup and get caught up before settling down to write about it.

It was a busy week, highlighted for me and the Spatial Networks team by the first-ever Fulcrum Live event. Held on the second day of workshops, it was our first user conference for Fulcrum, the mobile data collection platform by Spatial Networks. The event went off without issue, so we are very happy about that.

Read more

GIS StackExchange Analysis, 2014 Edition

It’s time again to revisit my periodic look at GIS StackExchange (GISSE) and what it may or may not tell us about the state of things geospatial. By now, the process is fairly routine. I have single Python script that gets tag data and parses it to CSV. I then hand-edit categories into the data for grouping purpose. While it’s  perfectly valid to quibble with individual category assignments, I’m fairly consistent with it at this point, using previous data sets as a guide. Compared to last year, the all-time look hasn’t changed much. Open-source and “general topics” have switched places, but there were no great shifts that I could see. The roughly 4% increase in open-source topics could be a result of QGIS support moving to GISSE.

gisse_all_time_2014

Read more

Personal Thoughts on the AppGeo Announcement

I read with great interest today’s announcement that AppGeo is no longer an Esri Business Partner. I find the announcement significant for a number of reasons, which I will explore shortly. I have always respected AppGeo’s work. As a small business that does geospatial consulting, they have foregone the “grow at all costs” approach that is seen all too often in the consulting world. They generally stuck to what they do well and branched out conservatively in ways that tie logically back to their core business.

Read more

Building a Simple Geodata Service With Node, PostGIS, and Amazon RDS

tl;dr

This post describes the construction of a simple, lightweight geospatial data service using Node.JS, PostGIS and Amazon RDS. It is somewhat lengthy and includes a number of code snippets. The post is primarily targeted at users who may be interested in alternative strategies for publishing geospatial data but may not be familiar with the tools discussed here. This effort is ongoing and follow-up posts can be expected.

Read more

Consider the ‘Alternative’

When I was in college, I had a psychology professor who posited that you could train a cat (a dodgy proposition at best) to take a circuitous route to its food bowl by only rewarding that behavior. He was clearly a behaviorist and was convinced that you could completely condition the instinct to go straight to the food bowl out of the cat. To my knowledge, this professor did not own a cat and never attempted to test his assertion.

I was reminded of this after reading my friend Atanas Entchev’s post in reaction to the PostGISDay hangout panel discussion. In his post, Atanas describes difficulty in convincing customers to consider open-source geospatial tools. These customers and prospects are comfortable with their proprietary tools and associated workflows and are reluctant to consider switching. I have encountered this attitude many times myself so I take no issue with the observation. Barriers to exit are real considerations, regardless of the new technology being considered. Organizations align themselves around their tools to achieve maximum efficiency with them. I discussed these issues at a talk I gave last year to the New Jersey Geospatial Forum about how organizations can extend their existing geospatial technology investments with open-source technologies. These issues are very real for any organization with a mature, extended investment in a particular technology stack.

Read more