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.
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.
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.
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.
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.
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.
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.
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.
I have a guilty secret to confess - I enjoy reading Warhammer 40K novels! I’ve always been a sucker for military science fiction; Jerry Pournelle and Falkenberg’s Legion, David Drake and his Hammer’s Slammers and of course the Heinlein classic, Starship Troopers. These are excellent examples of classic military sci-fi, but for pure escapism, I think it’s hard to beat the writing of Dan Abnett and his Gaunt’s Ghosts series.
I keep forgetting the steps to do this, so for my benefit, here are the steps to enable an SSH connection to GitHub.
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.
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.
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.
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.
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.