Souls Like Strings

Silksong Journal

Since I'm doing something unusual by playing a game on release, I decided to compound the bizarreness and use a journal-like format for this review.

I've grouped my thoughts by area, in the order I encountered them, which might not necessarily be the order you encounter them in. If you need to get pastan area you haven't seen without spoilers to see one you have, clicking the table of contents on the right should jump you to the area you want without revealing anything above it. It might reveal stuff below it depending on screen-size/paragraph-length though, so probably don't do...

Continue reading

2025 August Retro

What went well

Projects

  • Migrated this blog to 11ty
    • started adding more of my own to it
    • and started producing a lot more content, not just the weekly TWIL
  • Added a 'Links' section to TWIL posts and found a lot of great sites for my RSS feed
    • Feels like I have a steady flow of quality articles to read that I'm pretty happy with now
    • Once you get it set up RSS is so much better than trusting the algorithm, and blogs I like linking to blogs they like makes that much easier
  • ...
Continue reading

The Day Death Stopped

I'm getting too old for this.

There are a lot of problems with this book. The characters are so one dimensional and the story so straightforward I skipped from the first third of the book to the ending and still perfectly understood/expected what happened. Much of the time which could've been spent making the characters anything other than tired cliches was instead spent details which exist just to be quirky, and worldbuilding/a power system which frequently contradicts itself. I'm mildly annoyed that I wasted as much time as...

Continue reading

Exfiltrating Data from Fly.io Postgres

I'm writing this mainly as a reminder for myself, since I'm pretty sure I'll continue procrastinating the Spending Tracker rewrite to Cloudflare/Svelte and need to do this again in the future. But maybe someone else finds themselves in the same situation and by some SEO miracle lands on this article rather than piecing together info from forum posts like I did. Or they just ask our LLM overlords and this is in the training data, either way.

Quick note, this is for their legacy Postgres because that's what I used/it was all they offered at the time. Not sure if...

Continue reading

TWIL August 29th 2025

  • I already knew this, but overwriting Rails' default accessors for model attributes is a bad idea. So many different things can go wrong.
  • If you need an extra argument in your setter on an AR model, you can just redefine the setter and add it in
    • I added a separate update_with_extra_attribute method, but might explore whether I can just use the setter itself tomorrow
    • Defining the separate method lead me to learn about public_send though
    • Since I needed a way to call the setter with an extra argument (attr = value, extra_arg predictably did not work)
    ...
Continue reading