Simpsonian 🍁︎

Projects

Isn't it fun to get computers to do things for you? Here are some of my favorite things that I got computers to do for me.

Emoji Summarizer

[source] [status: complete]

An offhand comment from my brother sparked a one-day personal "hackathon" to call forth the masked shoggoth for myself. Emoji Summarizer (yes, I am bad at naming things) converts your boring, squiggly, abstract "words" to the one universal language: emoji.

Technical details: trivial Flask app using the OpenAI API on the backend; htmx for the frontend.

ToyRSS

[source] [status: in development]

My first experience using a feed reader was when I started self-hosting Miniflux in 2020. I can't say enough good things about it; Miniflux is a wonderful piece of software that has really changed how I consume digital media, and sparked a personal interest in activity feeds. I started writing ToyRSS as part of that exploration: I had a general high-level picture of how a feed reader could work, but I wanted to build one myself.

Technical details: ToyRSS is a web-based feed reader written in Rust. It uses axum for HTTP routing, Tera for templating, htmx for improved interactivity, and SQLite for storage.

Asteria

[source] [status: in development]

My most recent PC build (December 2022) was the first time I've had fancy-schmancy LEDs on my computer case. Pulsating rainbow patterns are cool at first, but for me, the novelty wore off quickly—I wanted more; I wanted to make those LEDs useful. Asteria is my attempt to do so: now I've got my GPU temperature, CPU temperature, and memory usage all visualized on the front of my case.

Technical details: Asteria is a simple driver for the OpenRGB Python SDK. It provides modular components to facilitate configuring interesting and useful LED effects.

Chaos Calculator

[source] [status: backburner]

Of the many board games I've played, precious few have worked their way into my bloodstream so deeply as Arkham Horror: the Card Game. It's a game of teamwork and of roleplaying; of facing down impossible cosmic monstrosities with nothing but a steely glint in your eye and a candlestick in your hand. And if you're like me, it's also a game about obssessing over miniscule cost-benefit analyses to a degree that would make an economist blush. Chaos Calculator is a tool to assist with that hand-wringing. Most of the variance in the game comes from "skill tests" the players have to perform; Chaos Calculator runs thousands of simulations of those tests and reports some relevant probabilities in graphical and tabular form.

Technical details: this is an R Shiny app, which is my favorite framework for quickly building highly functional data exploration tools. Yes, the user experience would probably be improved if this whole thing was written as client-side JavaScript—but when R already has a built-in for everything I need, why wrestle with that pig?

MOTD Poetry

[source] [status: complete]

Like many people, I would often say that I'd like to read more poetry, then make absolutely zero effort to do so. Well, here's my two-step solution to fix that:

  1. Write a trivial Python script to fetch the Poetry Foundation's Poem of the Day.
  2. Set up a daily cron job to populate /etc/motd with that script's output.

Now I'm routinely exposed to poetry whether I like it or not.