Yes, but does it (still) run?

Migrating from Jekyll to distill, with some reflections on the past 6 years.

Maxwell B. Joseph true
12-30-2018

I haven’t blogged recently. It was useful as a PhD student to wrap my head around new methods and track my path from a code-naive field ecologist to a not entirely incompetent R programmer in 2016 when I graduated. But, much has changed in the 5-6 years since I began the blog. I’ve developed new skills, and the tools around R programming have matured. It’s easier now to publish content with R markdown with tools like blogdown and distill than it was six years ago.

My old workflow involved writing posts in R markdown, then generating markdown and publishing with a static site generator (first Octopress, then Jekyll). This is fine, but I ended up losing track of most of the original R markdown files that generated the markdown being served on the site.

Looking back on 2018, I’ve come to better appreciate continuous integration through Travis CI, CircleCI, and AppVeyor. It’s nice to know when builds break and code stops working. As I was taking stock of the past year, I realized that I did not know whether the code that I had posted years ago still worked, and I didn’t have the .Rmd files anymore to find out.

An abandoned car that may have been useful in its time, but no longer runs.

Figure 1: An abandoned car that may have been useful in its time, but no longer runs.

This bothered me. First, I didn’t want to be responsible for publishing code that doesn’t run. Second, I also realized that years ago, I did not appreciate portability as much as I do today, e.g., when I felt comfortable assuming that users would need to manually download data from a website and store it in a specific directory on their filesystem to run some code. With time off over the holidays, I figured I would migrate my old site from Jekyll to distill and put the resulting site under continuous integration to be sure that the answer to the question “does it (still) run?” is yes.

The result is this site (as of Dec 2018), and unsurprisingly, not all of the code that I had posted previously still ran. But, now with distill I have Travis CI building the posts regularly, so at least if something breaks in the future, I should know sooner.

Corrections

If you see mistakes or want to suggest changes, please create an issue on the source repository.

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY 4.0. Source code is available at https://github.com/mbjoseph/mbjoseph.github.io, unless otherwise noted. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".