Skip to content



Block or Report

Mike Mahoney, Now in 3D

I'm a PhD candidate in Colin Beier's lab at SUNY-ESF, working on machine learning for ecological outcomes, model interpretability, and landscape visualization. I also maintain a handful of R packages:

Package What it does
terrainr Transform geospatial data for rendering in Unity 3D (and download data from the USGS National Map)
heddlr Functionally compose R Markdown from repeated components
proceduralnames Generate human-readable random identifiers
plantr Download data from the USDA PLANTS API
mvdf A standardized approach to using R as a frontend for the Blender 3D rendering program

And run a handful of Twitter bots:

Tweetbot What it does
@fortunes_teller GPT-2 bot dispensing fortune-cookie wisdom
@proc_tweets Bot tweeting procedurally-generated art and names (hosted on GitHub Actions)
@ecology_tweets, @rstats_tweets, and @30daymap_tweets Retweet bots amplifying specific subsets of hashtags
@fund_me_please_ GPT-2 bot writing NSF GRFP personal statements. Ran for four months in 2020.

Other places you can find me

Find me on Twitter or Twitter or Twitter or Twitter or Twitter or Twitter. Check out my CV or the code I use to build it. Over on my website I keep a blog for technical projects, and a page of quotes I want to find again.


  1. Get DEMs and orthoimagery from the USGS National Map, georeference your images and merge rasters, and visualize with Unity 3D

    R 35 4

  2. Bring a functional programming mindset to R Markdown document generation

    R 12

  3. Code and assets for my personal website at


  4. Code for @fortunes_teller, a human-curated tweetbot generated by training GPT-2 against fortunes packages


  5. R code to build a simple bot to retweet specific topics or tags (and log metrics to InfluxDB)

    R 8 1

  6. A Minimum Viable Data Format for using R as a front-end for the Blender 3D Rendering Engine

    R 1

732 contributions in the last year

Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr Mon Wed Fri

Contribution activity

April 2021

Created a pull request in ropensci/terrainr that received 2 comments

Change default get_tile params

Description This PR makes two substantive changes: It fixes #33 by setting the default value for transparency of NAIP images to "false" It infers…

+81 −42 2 comments
Opened 1 other pull request in 1 repository

Created an issue in ropensci/terrainr that received 1 comment

merge_rasters cannot handle mixed 3/4 band rasters

The NAIP endpoint has a tendency, when transparent = TRUE, to return a mix of 3 and 4 band images (I imagine 3 when there are no transparent pixels…

1 comment
Opened 2 other issues in 1 repository
57 contributions in private repositories Apr 1 – Apr 19

Seeing something unexpected? Take a look at the GitHub profile guide.