Recurse Center: Week 9

3 Sep 2024

Personal life and my job search continue to slow my RC progress slightly, which I expected for the back half of my batch.

This week had the second Impossible Stuff Day of my batch. I decided to fix a performance issue with testing brick-ld, which took the test suite runtime from ~11 seconds to ~0.5 seconds. The optimization is based on chunking multiple source files into the same binary, and then running multiple tests off that binary. It turns out overhead from setting up wasmtime instances is the majority of the test time, so anything that reduces that overhead speeds up tests greatly.

For the rest of the week, I decided to switch gears and learn Go. I did the first few days of Advent of Code 2023, which helped me get an initial grasp on the language. By the second part of Day 5 I felt I was hitting diminishing returns, so I stopped there. Go doesn’t have many fancy features for data structures or iteration, which Advent of Code problems usually focus on. Once you’ve used a slice, a map, and a struct, you’ve really learned all of the language that Advent will help you with imo.

I also built a tiny web service in Go to allow my partner to upload music from their phone to our Plex server. It’s homecooked, it’s handmade, it’s situated. Which is to say it’s two HTML forms and a single input element, and it is so simple that I didn’t even hit my goal of learning HTMX. I’ll need to find a slightly more complex project for that, I guess.