Systems administration at Earlham
Student systems administrator | February 2025-present
I maintain software and services that Earlham students use for courses and research. Faraday is the cluster I follow most closely: GPU workloads, Jupyter notebooks, and the environments that make them useful. My focus is software administration, with occasional work on other department machines.

Working environments for students
I set up separate PyTorch and TensorFlow Conda environments with CUDA 12.4 support and registered them as Jupyter kernels. Students can choose the framework they need without putting conflicting dependencies in the same environment.
I installed shared data-science packages, including pandas, SciPy, scikit-learn, plotting libraries, and notebook widgets. For TensorFlow, I pinned NumPy below 2.0 to preserve GPU compatibility and documented the repair procedure. I also installed Python 3.13 environments and modulefiles on Faraday and Pollock.
Certificates, storage, and maintenance
- Certificate renewal: renewed Faraday's TLS certificate in April 2025, then automated wildcard renewal with Certbot and the RFC 2136 DNS challenge in October. I configured authenticated DNS updates with BIND TSIG keys and tested renewal.
- Backup-server mounts: restored access to shared home directories on Rossum and Dijkstra by installing the missing NFS client package, configuring persistent mounts, and mounting the shared filesystem.
- Course and lab support: installed XFCE and Xorg on Faraday 5, completed lab-machine maintenance tasks, and maintained shared software environments.

How I started
I trained from February through March 2025, learning the department's systems, Vim, and the Unix shell. My first setup project was a Debian 12 server: manual networking, NFS mounts, Apache, Git, and SSH. Getting that first "Hello, World!" page online was a small but satisfying milestone.
By April, I was handling certificate and Python-module tasks. Since then, I've kept learning through the practical details: a missing package, a mismatched path, or a dependency version that breaks GPU support.
A separate project: Earlham LibreChat
Alongside this work, I'm the primary maintainer of LibreChat for Earlham ITS and the System Administration team. That work covers the student-facing platform, model serving, and developer tools.