This is the February 2022 progress update. I’ve thought about it and I’m going to include all my projects in these updates, as focusing on a single project felt a bit too constraining. I’ll talk about the website, stream, the bunnies.io project, and the Discord server.
This progress update is cross-posted to my website, to serve as an example. To get future updates, sponsor on Patreon 🧡
I refreshed the support page on my website and added a fun little way of recognising patrons. Every patron gets a loaf on the page, and if you have your privacy settings set to hidden, you’ll show up as “anonymous”.
The implementation was quite interesting, and required the first bit of custom infrastructure for the website. Before, everything was statically compiled, and hosted on GitHub Pages, fronted by Cloudflare. Now, there’s also a self-hosted VPS (virtual private server) that runs a backing API instance, written in Kotlin (as you might expect). The sponsors component uses a websocket (and falls back to basic HTTP) to update the list live as people support. This was somewhat complicated by the Patreon API, which isn’t under active development, and uses something called “JSON API” which I’m distinctly not a fan of - the responses end up being quite complex and piecing things together is hard. However, it all works great now, and seeing the list update live is awesome. Sometimes over-engineering things is worth it.
I took the time to reorganise my OBS setup, so that everything is included in a single window. I’ll likely write another blog post about this, so I won’t go in to great detail, but here’s a screenshot of what that looks like at the moment:
I’m enjoying streaming Spelunky but the game is brutally difficult and requires a lot of concentration, so I’d like to stream some more relaxing games. I recently streamed the Spyro: Reignited trilogy which is really fun to play through again - I played a lot of Spyro as a kid and the remake gives me all the same feelings.
I’ve been testing and following along with a PR to make OBS Studio run natively on Apple Silicon. It works great (CPU usage is approximately halved for me), but plugin support is still limited, so I’m looking forward to when that makes more progress.
You can follow the stream to get notified when I go live: Carrot @ Twitch
The bunnies.io project needed security updates, and I took the opportunity to refresh the infrastructure as well. The project is entirely hosted on a single DigitalOcean instance, which is managed using Terraform and Ansible, so tearing this down and reconstructing is wasn’t too big of a job. As a bonus, the counter now “sticks” properly across reboots/failures (using Redis), so it will be much more accurate from now on.
At the time of writing, there have been over 1.56 million bunnies served through the website and API, and around a terabyte of media served every year through Cloudflare 🐰
Finally, I’d like to mention the Discord server - I’ve opened this up to the general public, and added an “airlock”, so that newcomers have to be approved to see any channels. Supporters at every tier now also get access to a supporters-only section, including voice and text chat, if you’d like to talk about projects in a more private setting.
I’m really pleased a handful of folks have joined the server - it’s gaining momentum, and I hope it can be a kind, relaxed place for people to hang out.
This progress update is cross-posted to my website, to serve as an example. To get future updates, sponsor on Patreon 🧡