Recent Diversions

Work in the new all-remote world has actually been quite busy, and I realize I am very fortunate to be able to say that. But we know what they say about all work and no play. For me, play often involves cracking open an IDE, especially since work for me isn’t centered on that anymore. This post is a loose roundup of extracurricular activities that have gotten some attention lately.

Hacking Dashboards

Like many people, I’ve been tracking coronavirus data across a number of dashboards, especially the State of Maryland dashboard. I have a lot of thoughts about dashboards in general, but that subject probably deserves its own post. From data management issues to the use of opaque, proprietary analytics, there are a number of issues to consider for future dashboard implementations.

I’ve done a little hacking of back-end data feeds to get information that I need. Most concretely, I used Maryland’s feature service to create a D3 graph of Maryland’s COVID hospitalizations with a trend line. (No, I’m not a designer.) There is so much raw data out there, but I just wanted a trend line.

Though it’s far from the first time I’ve used D3, from a usability perspective, it’s like making a salad by first planting lettuce. But it’s also very powerful and I can do anything I want to do if I have the patience, so it remains in the toolbox.

I’ve been pleased with the programmability of the underlying ArcGIS feature service. It’s been very forgiving in terms of the SQL I’ve used to manipulate data on the fly. It’s pretty impressive how productive you can be with feature services without anything other than curl.

It has brought to light how fallow my Esri skills have become and has helped me get back in touch with my professional responsibility to retain a level of proficiency with that ecosystem.

Fixing GeoFeeds

A couple of years ago, I created a Twitter account called GeoFeeds to aggregate RSS feeds from geospatial blogs and publications into one place. It was primarily a convenience for me after James put Planet Geospatial to pasture, but it’s acquired a few followers over the years.

It was originally fully powered by IFTTT. Each IFTTT applet would watch an RSS feed and then tweet new entries into the GeoFeeds account. Recently, however, IFTTT introduced a cap of 25 tweets per day, which was being hit every day, meaning some content was never surfaced.

After enduring that for a couple of months, I finally decided to fix it by using an AWS lambda function to actually generate the tweets. IFTTT is still watching the RSS feeds and calling the lambda, but moving the tweet logic has mitigated the IFTTT limit.

I’ve been looking for an excuse dip my toe into serverless development and this was a fairly well-bounded problem. I chose to do the implementation with Node and used the “serverless” library to do the deployment and configuration of the lambda function. It’s been really easy and the code is driving more of the applets as I migrate them (which is mouse-click-intensive).


I’ve been logging a lot more miles lately. Thanks to gyms remaining closed, it’s pretty much the only fitness routine available, aside from home-based body weight exercises. My April mileage total actually exceeded September 2019, which was my peak training month for last year’s marathon. I’m fortunate to live in a rural area so social distancing isn’t an issue and I’ve been able to avoid running with a mask. Our location features a large Amish community, so most roads have very wide shoulders to account for buggies, which makes running the roads pretty safe.