‘Tis the season! In this article, I’d like to share how I used a smattering of R and some free online services to overcome a surprisingly tricky holiday speedbump. The “Problem” Every year, I, my brother, my sister, and our spouses draw names for Christmas gifts (mostly because we’d all rather buy presents for each others’ kids). This process has just a few requirements: Each person should draw the name of another person in the “gift pool” randomly.
I’ve mentioned in other posts that I’ve been learning the Rust programming language, with the explicit intention of implementing some R functionality in Rust for performance gains. I discuss this rationale in more detail in THIS blog post. In that post, I discuss the rustbind project, where I explore strategies for calling Rust code in an R package. The goal of that project is to provide a straightforward set of patterns that I (and other developers) can leverage for integrating Rust into future R projects.
I’ve recently (since the beginning of 2021) been trying my hand learning and using Rust, and so far it has been a really good experience. Rust has a lot to recommend it, including top-notch tooling, inherent memory safety, and blazing speed. That last part comes from the fact that Rust is a compiled, systems programming language and was the inspiration for picking up Rust in the first place. You see, I absolutely love R.
KeepCount was the result of a side project that ended up being used as a work project whose lessons-learned got applied to another side project. Relatively short, strange, trip. The real beginning was my desire to pick up Django, a Python web framework that I would strongly recommend, as a new skill. In doing so, I wanted a project setup that I could easily test, replicate, and deploy into a production environment at need.