Hi there! This is my somewhat up-to-date website with everything I’ve been up to for the last few years. Check out the articles in the blog below (I try to blog about rare and useful things that haven’t been written about elsewhere), or see the portfolio of things I’ve been working on.

Red Hat licensing changes and the long, slow death of a community

If you weren’t already aware, the Linux community is currently up in a kerfluffle about Red Hat’s latest licensing changes. To summarize: Red Hat makes an operating system Red Hat Enterprise Linux (RHEL), and until a week or two ago, also published the source code publicly in the spirit of free and open source software. Red Hat makes money by selling RHEL subscriptions and support. Throughout the years, other organizations have republished RHEL for free (CentOS, Oracle Linux, Alma Linux, Rocky Linux, etc.
Read more →

Near zero-downtime Postgres migrations and upgrades with pglogical

Databases are notoriously fussy to work with. Postgres is no exception. Though the software itself may be pretty solid, stuff like major version upgrades or migrations to “the cloud” (or back to on-prem) are really tricky to do without significant and costly downtime. Though there’s tools out there to make this process easier, many of these simply don’t work for anything more than small test databases, and will silently corrupt tables or fail spectacularly in real-world scenarios.
Read more →

Going “Pro” with RStudio Server Open Source

RStudio is the go-to tool for programmers working in R. Frequently organizations will want to centralize their R work or provide web-based access to a compute environment. Although RStudio Server has an “open source edition”, most of the useful administrative functionality is locked behind the rather-expensive RStudio Server Pro version ($10k USD/year). This price isn’t sustainable for many organizations, or might not otherwise be worth it if there are only a few potential users.
Read more →

Reproducible science with Conda and Snakemake

Doing scientific computing is hard. Delivering results with fast, performant code is often the easy part. You know your tools and how to get results. Delivering your workflow to your target audience is where it gets tough. What happens if your clients want to re-run things themselves, on their own hardware? How do they configure your pipeline for a new problem set? What happens if they’ve never even used the command line before, much less understand what a server is?
Read more →

Setting up LDAP auth for MariaDB

Having separate credentials to log onto a server and access a database on that network is a pain. Why not provide users just one set of credentials for both services? This is a quick how-to guide on how to setup LDAP authentication for MariaDB. As it turns out it’s insanely easy to setup. (The official MariaDB documentation on the subject can be quite hard to find however - which may or may not be the primary reason for this blog post…).
Read more →