Hi, I'm Josiah 👋🏼
I'm glad you're here! My name is Josiah and I believe R belongs in production.
My name is pronounced "joe-sigh-uh".
- I'm building
ricochet.rsan enterprise deployment platform for R, Julia, and Python - Build and maintain the R-ArcGIS Bridge at Esri
- Help maintain extendr which lets you write R packages using Rust—think PyO3 for R.
If your organization needs to deploy R, Julia, or Python (apps, APIs, scheduled tasks, or persistent services) at scale, or you want to talk about integrating Rust with R, get in touch: josiah at ricochet.rs.
Recent Posts
GPL is holding R back
February 23, 2026
Over the course of the 4 years and then some years I’ve worked at Esri,
I have been championing the support and integration of R here. I’d like
to think I’ve had some success doing so. However, one thing keeps coming
up—the GPL license.
R & ArcGIS Pro
Our package {arcgisbinding} links to ArcGIS …
r
gpl
Graph Neural Nets for Spatial Data Science
November 16, 2025
I’ve been saying this for years and I’ll say it again:
Spatial data is just a graph
I’ve been diving deep into Graph Neural Networks (GNN) to
understand how we can use them for “GeoAI” and spatial machine learning.
This post is going to build the intuition for why Graph Neural Networks
are perfect…
spatial
r
deep-learning
gnn
Broadcasting: Scalars or vectors
August 18, 2025
There’s a common pattern that we encounter when writing functions for R.
A single argument can often either be
a scalar
or a vector of the same length as another argument
When it’s a scalar, it makes sense to “broadcast” it to the same length
of another argument. Since R is vectorized we often wan…
r
rlang
Apache Arrow, Rust, and cross-langauge data science
June 04, 2025
TL;DR
Apache Arrow standardized memory layout
so that memory can be used in any language without (de)serialization.
Rust is a great candidate for building
core algorithm / tool implementations as it has robust foreign
function interface
(FFI)
tooling and bindings tools like extendr,
PyO3, and
jlrs.…
rust
r
python
extendr
arrow
https with `{plumber}` using Caddy
May 12, 2025
Say you have a plumber API and you need to serve it over https. You can
do this by spinning up a Docker container in something like
DigitalOcean, Render,
Heroku, or AWS ECS.
If you have you own server, you may want to use that instead. The most
common way to do this is by using a reverse
proxy.
Cadd…
r
prod
plumber