Blas M. Benito
banner
blasbenito.com
Blas M. Benito
@blasbenito.com
🌍 Spatial Data Scientist | Team Lead | 🌱 AgTech | PhD in Computational Ecology + MSc in GIS

#rstats developer | geospatial engineering | soil microbiome and crop health mapping | product development

https://github.com/BlasBenito - www.blasbenito.com
I’ve been writing R since 2008 and somehow NEVER noticed that functions can literally call themselves in some sort of evil self-recursion.
I don't remember ever seeing this thing in the wild!
#rstats
November 6, 2025 at 11:36 AM
On the other hand, the R package {collinear} (URL: blasbenito.github.io/collinear/) saw an increase in downloads after release 2.0, a version with no breaking changes.

Version 3.0 is coming soon, with a few significant improvements and some changes, so we'll see how things go after that.

#rstats
November 1, 2025 at 8:55 AM
The download history of the R package {distantia} (URL: blasbenito.github.io/distantia/) isn't half bad for such a niche tool!

There is a clear drop after releasing v2.0 in Jan 2025, but I get it: this was a full rewrite with no backward compatibility.

Breaking changes break trust!

#rstats
November 1, 2025 at 7:58 AM
Here's mine!
September 24, 2025 at 12:29 PM
Equivalence between pairwise correlation and VIF in multicollinearity filtering.

Experiment:

- Subset df (30k rows, 249 cols) to random dimensions.
- Filter using a random max correlation.
- Find VIF producing the most similar result to the step above.
- Repeat 10k times.

#rstats 📦 {collinear}
September 15, 2025 at 11:52 AM
After a bit of fiddling, I finally have a functional Jenkins job to back up ~1TB of Dropbox data in my old but trusty NAS whenever I start my computer.

I've used it at work before, but now that I am using it for my own stuff, I can say this out loud: Jenkins is pretty cool!
September 5, 2025 at 1:10 PM
I still have snapshots of some of the Kepler workflows I worked with during these years.

These franken-workflows combined Bash, Grass GIS, R, and even Octave.

And ran simulations for months on a few of my lab's computers!
September 5, 2025 at 11:09 AM
And a zoom on the southern populations here.
September 5, 2025 at 11:01 AM
Aha, I found the whole figure!
September 5, 2025 at 11:00 AM
I found this old 3D representation of a dispersal simulation between populations that I coded during my PhD.

It combined species distribution models, cellular automata, and least-cost paths. If my memory doesn't fail me, I used OpenModeller for the SDM, and Grass GIS for the simulation.

Fun times!
September 5, 2025 at 10:56 AM
In case you didn't know:

You can run your package unit tests with {testthat} in parallel with two simple steps (see testthat.r-lib.org/articles/par...):

tldr:
1. Add `Config/testthat/parallel: true` to DESCRIPTION.
2. Add `TESTTHAT_CPUS=8` to your .Renviron and restart R.

#rstats
August 18, 2025 at 7:24 AM
I also have a machine named 'razorback' (r u seeing the theme already?).

It runs Ubuntu 24.04 on a 16-core i9 and 62 GB RAM, with a total storage of 5 TB.

I installed Rstudio Server there last week and bookmarked the server's address in my laptop's browser.

It took me 5 minutes!
August 18, 2025 at 7:07 AM
The Dell XPS I bought in 2012 is my fav laptop EVER.

Named 'rocinante', it features a 4 cores Intel i7, 7.3 GB RAM, 1TB SSD, and now runs Xubuntu 24.04, which makes it feel like 10 years younger.

But its age is showing (I hear you, old buddy!), and it's no longer suitable for heavy-duty stuff.
August 18, 2025 at 7:07 AM
Found this quote in the post "Nobody Actually Cares" published at luminousmen.com (which is, by the way, an amazing data engineering blog!)
July 17, 2025 at 11:05 AM
This is what ChatGPT and I look like failing to outsmart sleep deprivation:
May 19, 2025 at 5:20 AM
The powerbank had 55% charge left after 17 hours of blackout!

It constantly supplied the medical machines my son needs, and kept the fridge cool (plugged one hour every four hours). That gives us about 35 hours of autonomy and peace of mind during extreme outages.

Solid investment!
April 29, 2025 at 11:17 AM
Things you have at home when your son's wellbeing depends on a steady energy supply.
April 28, 2025 at 11:55 AM
Thorny, our ~40 years old cactus, went YOLO last night!
April 26, 2025 at 9:15 AM
First time back on the board after ... a LOT!

The water was choppier than I'd wish for, and my quads were jelly, but still managed to stay on it.
April 25, 2025 at 1:17 PM
What's been your experience with Google's #notebookLM?

I just started experimenting with it: I provided it with links to my website and github pages and requested help to summarize key aspects of my professional profile as if I was looking for a new position.

It did an excellent job!
April 21, 2025 at 6:31 AM
Living by the shore can be great.

But sometimes the Sea gets mad and spits back the shit we throw at it. A not-so-gentle reminder of how filthy we are.

That's not so great...
April 9, 2025 at 10:43 AM
This guy gets me
March 23, 2025 at 5:01 AM
12 years in and Duna is still figuring out new ways to use the bed.
March 22, 2025 at 10:24 AM
You got me there! I've never used unicode math numbers, so your joke went over my head. I can see in my console that they are printed using a different font.

Now I know, thank you!
January 16, 2025 at 10:31 PM
A distinctive feature of {distantia} is the variable importance analysis. Implemented in the function momentum(), it applies a leave-one-out approach to compute the partial contribution of each variable to similarity or dissimilarity.
January 9, 2025 at 6:37 PM