Github PAT in Workbench

I’ve written in the past about creating SSH keys to use with Github, but as with all things, new ideas and preferences come along and SSH keys are no longer the accepted way of managing access to GH. The new, approved way of managing access to GH repos is via Personal Access Tokens or PATs. Without going into what I think about this change, it’s been important for me to find a way to work with PATs in Posit Workbench.

Read More

ESRI Madness

I read about a cool new data set in the ArcUser ESRI rag, a new “Watershed Boundary Dataset”. I go to the link in the article, “https://shorturl.at.oBF36” and land on the arcgis.com page. I click on the Data tab and I see that the data is broken up into 22 features, but there is no download option. I go back to the original page and I see there is a “URL” link at the lower right. I go there and I get some metadata about the data set. I still can’t see any of the data, but there’s a “Sources” link though. I follow it and there is another link to a feature server, “HU02_WBD (FeatureServer)”. I follow that and I get to a page that says “Token Required”. At this point, I’ve wasted 15 minutes of my life that I won’t get back so I try something else.

Read More

Thoughts on PostGIS Day 2023

I blocked my calendar on Nov 16th and spent an enjoyable few hours watching presentations from PostGIS Day 2023. I wasn’t able to catch all of them, as they started at 5 AM for me, but I was impressed with the ones I did see. Paul Ramsey did his usual excellent job of hosting the event and it was very enjoyable to live in my old world again, even for just a little while.

Read More

Fast Loops and Hashes in R (via Reticulate)

The R practitioners and data scientists that I speak with often work on mixed language teams and have at least a few colleagues using Python already. They are always interested in finding ways to work more effectively with each other, but often are unaware of existing capabilities for incorporating Python into their own workflows. When they’re aware of the possibility, often they are unsure why they should do so, or what situations lend themselves well to using Python instead of R. This post attempts to capture a use case in which an R user might find Python, via the reticulate R library, to be a useful tool.

Read More

Thinking Spatially in A Non-Spatial Context

It’s always surprising to me - and gratifying - when I see how simple concepts in GIS are still of great utility. There’s no lack of complicated Spatial Data Science, with sophisticated ML modeling and complex raster processing and analysis, taking place. Sometimes though, all we really need to know is, “how far away is Point A from Point B?”, and funnily enough - we often still struggle to answer this simple question.

Read More

AWS Unfuzziness

Well, I suppose it’s high time for a Rant, don’t you think? Given the amount of time that I have wasted on AWS account management in the past month, I thought I’d write about how little enthusiasm I have for that platform right now.

Read More

Week of Learnings

Phew, what a week so far! Was on a call with a customer earlier in the week who had questions about how to do certain worklflows using RStudio Connect. I wasn’t super comfortable with the answers we gave them and decided I wanted to do some testing to figure out a couple different solutions. I wanted the data in the tests to be useful (to me) in the fuure, so I decided to start pushing personal weather station readings into an S3 bucket. I wanted these to be pulled on an hourly basis, so figured I would use my always-on Tritium NAS to run an R script that fetched data and pushed it to AWS. All fine and dandy, but here are a couple things that I learned.

Read More

Libre Tritium H5 Setup

The Libre Tritium H5 is a small computer similar to a Raspberry Pi 3 built around an Allwinner SOC (System on Chip). The H5 has 4 ARMv7 Cortex-A cores, 2 Gb of RAM and a bunch of other features. The one that matters though is that the board is actually available. Search for official Raspberry Pi boards at the moment and you will see that they are made of Un-Obtanium. The great COVID-Supply-Chain-Shortage has caused official R-Pi prices to go through the roof and most reputable vendors like Adafruit and Sparkfun are out of stock with no firm idea of when they will return. The H5, while imperfect, fills the void in my prototyping environment.

Read More

Basic API Parsing in R

A common and efficient way to retrieve certain types of data is to request it from an online API. This is especially true in situations when the source data is refreshed frequently, or where only small numbers of records are needed at any given time. A good example of this would be address level geocoding, where a single address is submitted to an API and a single pair of coordinates is returned. As we’ll see, R is eminently suited for this sort of operation.

Read More

The Woodcutter and the Water Bucket

There once was a woodcutter who lived in a meadow by a large forest. A beautiful stream ran through the meadow and the water from it powered a small sawmill. The woodcutter used the sawmill to cut logs from the nearby forest into beams. The work kept him busy and he was happy to create something of utility and value.

Read More

GitHub SSH

I keep forgetting the steps to do this, so for my benefit, here are the steps to enable an SSH connection to GitHub.

Read More

Simple Map Plots in R

Most articles written about using R for map visualization focus on using libraries such as ggplot2 and others to enable sophisticated plotting options. However, many times this isn’t needed as sf (and most other spatial packages) supports basic plotting operations natively. This post captures a some simple techniques that can be used for rapid visualizations to validate assumptions and find problems.

Read More

The Great Dingleberry 2021

Last week, my friend Mark and I completed what I’m calling “The Great Dingleberry 2021”. This was a 4-day road trip where we travelled close to 800 miles across dirt, gravel and paved roads in Southern Washington and Eastern Oregon. Our intent initially was to travel as far along the Washington Backcountry Discovery Route (WABDR) as we could, but the late season weather forced us to abandon that route and travel part of the Oregon Outback instead. We were not disappointed and enjoyed our time seeing some lesser known (and travelled) areas of the states we live in. We also achieved our goals of reconnecting post-COVID and getting some miles on our trucks, which had both been worked on extensively earlier this year.

Read More

R Sendmail Tricks

One of the most useful things I’ve found to do with R is to make periodic checks of various things in my data environment. This is particularly useful in places where 2 systems store the same data that in theory should be kept in sync, but in practice exhibit drift for whatever reason. It’s easy to create a script that compares both systems and flags any discrepancies that are found. The trick then is what to do with those results? What I show here is a way to email the results, either as a simple message, or as a message with an attachment, to several users.

Read More

Ebike Conversion Explained

Ebike sales have exploded between 2019 and 2021, with some sources claiming an increase in U.S. sales of 145% in 2020. Lockdowns and work-from-home edicts due to COVID have made people crave outdoor activites, as well as making them look at transportation alternatives to using the bus. Sales have also been helped by this surge in popularity coming at a time when battery, motor and controller technology have reached a standard of reliability and performance that was previously unavailable. As a result, ebikes are easier to find now than they ever have been.

Read More

New Jekyll-Based Blog Underway

I figure that it’s always good to be a little behind the technical bleeding edge. It makes you seem like some sort of hipster luddite, or at least makes you feel like you’re being fashionably late to the party. Hence my late exploration of Jekyll, which was initially conceived by one of Github’s founders back in 2008. I’m only 13 years behind, but hey, better late than never.

Read More