My first game jam

Thursday, Jun 8, 2023

Source lives here. Play it here. In a joint effort, Aliasing and myself have created a novel top-down action rogue-lite for the 2023 Spring Lisp Game Jam. Aliasing is an experienced game dev so in a way, I was along for the ride. Still, I managed to contribute some game mechanics, features, unit testing, CI/CD that deploys to super-rogue.workinprogress.top on every commit. This was a fun devops exercise for me - Aliasing mentioned to me that I helped keep him on track with the addition of automated testing and per-commit deploys to a website (it makes it easy to play-test pull requests).

Continue reading…

Sillypaste migrated to fly.io

Thursday, May 18, 2023

I’ve been operating Sillypaste (source code) - a simple Django pastebin created for dogfooding. In this post I hope to capture some of the painpoints of working with Django, Python, Heroku, and the migration to fly.io. Ever since Heroku sold its soul to SalesForce its been on the decline. Customer service is worse than ever, giving wonderful canned responses to most questions. It used to be free to host Sillypaste on heroku, now is a $17/mo ordeal.

Continue reading…

Pre-commit in GitHub Actions & GitLab CI

Thursday, Mar 9, 2023

Figure 1: Pre-commit running within GitLab CI I’ve been using pre-commit as my tool to set up hooks to run when I commit to Git. It helps me catch gotchas such as fixing line endings, fixing whitespace, refusing to commit on linter errors, and so on. Often, I’ve noticed with working on teams is it’s fairly easy for a new contributor to forget to set up pre-commit on their development machine.

Continue reading…

Large, Static Website hosting with AWS and Let's Encrypt managed with Terraform

Thursday, Sep 29, 2022

I had a need to host image galleries online. I researched the cost structures of a few providers, then settled on AWS S3 storage and AWS Cloudfront CDN. The twist is I have all the cloud configuration managed in Terraform, so it’s easy to recreate the same sort of setup for various projects. Hosting provider cost structure After reviewing the bandwidth limits for a static website with a lot of large images, I came up with the following datapoints.

Continue reading…

When NAT Bites — Use a Reverse VPN

Monday, Aug 31, 2020

Sometimes I find myself setting up servers on networks with less than ideal network configuration. Most home internets use dynamic IP addresses, which requires extra work to ensure I know the IP address to use when logging into the network from the internet. Another concern is how unreliable home networking gear can be, especially with users tweaking settings without fully appreciating what they’re doing. As a result, I’ve devised an alternate solution to ensure I can always log into boxes hosted on home internet connections.

Continue reading…