2024 Technical Project Updates

Sam Larson

2024: State of the Union - Technical Edition

It’s been a few years since I’ve posted, so I figured I’d write an update highlighting some of the more interesting programming projects I’ve tinkered on outside work. While most of my time professionally in this timeframe has been spent on a mix of infrastructure and data engineering work (mostly in AWS and Databricks), my personal projects are a bit all over the place as usual. Hopefully I’ll get around to writing full-fledged posts for these topics individually in the future.

Website Migration

This week I fully migrated this website from Hugo to Astro (with the Tailwind integration). This was largely driven by my desire to create more interactive features when viewing media like images embedded in blog posts. I’ve cobbled together some JavaScript and TypeScript a few times recently for various web application features, so I thought it was time to move on from a static site generator for my own personal website.

As any good migration starts, I forced myself to replicate all my site’s existing features first before creating new Astro components for image manipulation. This went reasonably well, and I opted to not use an existing template, so I could learn more about the framework. I also updated the theme to be in line with my shell profile and IDE. I’ve found that I came around to Tailwind for managing styling after trying one too many times to abstract CSS away with a huge framework and cornering myself when I needed to make an exception later on. I’ve come to appreciate its precision and readability. See below for what the website looked like before this most recent iteration.

Triptych 1 Image
Triptych 2 Image
Triptych 3 Image

Neuroscience

Since the early pandemic in 2020, I’ve been working with the Keilholz Mind Lab again. This lab is a joint Emory-Georgia Tech biomedical engineering lab led by Shella Keilholz, and focuses research on functional connectivity and BOLD signal. More recently, I’ve continued work with Nan Xu at her INSPIRE Lab at the University of Maryland on new correlation measures. Some of this work has also involved the configuration of open-source software and servers to enable GPU-accelerated processing of these fMRI workloads. See below for references of recently published papers and some visualizations from those papers:

  • Seeburger DT, Xu N, Ma M, Larson S, et al. Time-varying functional connectivity predicts fluctuations in sustained attention in a serial tapping task. Cognitive, Affective, & Behavioral Neuroscience. Published 2024.
  • Xu N, Zhang L, Larson S, Li Z, Pan W, Chuang K, Keilholz SD. Rodent Whole-Brain fMRI Data Preprocessing Toolbox. Aperture Neuro. Published 2023.
Triptych 1 Image
Triptych 2 Image
Triptych 3 Image

See public repositories for the Keilholz Mind Lab here and for the INSPIRE Lab here.

Aeolus

This project was probably the most fun I had programming in the last year. When I was in high school, there was a web app that would allow you to mix your own sounds to create ambient background noise (similar to this ancient relic that still exists as of writing this), and I used it often to study. It’s erased from the internet now, but I decided to take matters into my own hands and recreate it.

I created a local app with a GUI (that works with all operating systems!) to create your own custom ambient soundscapes. I borrowed the project name from Greek mythology, from the King of Aeolia who ruled over the winds. This app is written entirely in Python, and I learned how to use PySide6 for the first time to create a GUI. I added some other interesting features like a randomized interval option, crossfade, and a utility conversion for almost every audio format out there.

It’s certainly not the most aesthetic codebase, consisting of exacting one Python file around 2,000 lines long and devoid of any kind of comments that would help an unwary developer who stumbled upon it from having any hope of refactoring it. But it is my favorite type of software: the kind that just works. I whipped it up furiously in my free time over the course of one week, and I haven’t touched the code once since then. It’s been almost a year and I haven’t run into any issues with it after heavy use.

Aeolus GUI

Honorable Mentions

  • I completed V1 of Tersphicore, my polyphonic synthesizer project.
  • I continued iterating on my personal todo app.
  • I attempted (and failed) to fully set up Potameides, my hydroponics project.
  • I set up a Minecraft server with aggressively over-tuned infrastructure and monitoring for my friends and myself in the early pandemic.
  • I did a major rewrite of the OSRS Augur codebase: adding an ML-based bot that could reliably simulate noisy human behavior while accomplishing specific tasks, setting up AWS infrastructure and routing traffic through proxy IPs, and reorganizing the scraping and storage of the exchange items time series.

Older Projects

These older projects were listed on my previous About page with the hopes of one day immortalizing them with individual blog posts. At this point I probably don’t remember any of them enough for that purpose, so here they are for posterity:

  • Dimensionality reduction in fMRI images
  • Collection and preprocessing of financial data from Alpha Vantage and IEX
  • Chaos engineering for Kubernetes to test cluster robustness and threat modeling
  • Parallelization codebase to execute AWS actions safely with idempotence across multiple accounts
  • Measuring the impact of MACRA legislation on ambulatory practices’ value-based compliance
  • PyTest playbooks for auditing AWS resource compliance for HITRUST certification
  • Forecasting the national interest rate with classical econometrics (ARIMA)
  • Scripts and dotfiles for personal use on Arch Linux distribution
  • Home network lab penetration testing with microprocessors
  • Remote access to printers’ virtual trays
  • Assembly of personal computers/servers