Souls Like Strings

Infinite Jest

Named for what it provides David Foster Wallace while people try to guess what on Earth is going on.

It's a testament to the difference between great and decent writers that I had absolutely no idea what was happening for the majority of this book, but was still enraptured enough to spend something like 40 hours finishing it.

DFW opens with the classic 'start at the end' gambit, then constantly keeps the reader off balance by jumping around in time and resolutely refusing to reveal anything resembling an overarching...

Continue reading

TWIL July 18th 2025

  • BE VERY CAREFUL WITH FORCE PUSHING
  • ABSOLUTELY DO NOT FORCE PUSH WITHOUT CHECKING CHANGES AFTER A LONG AND COMPLEX REBASE ON TRUNK
  • WHY WOULD YOU DO THAT
  • make sure you're not setting this.loading = true on a class that has another 5 or so api calls coming up
    • especially if it's not an observable property
    • and you want them to run simultaneously
  • when you roll out a new feature to prod, don't just spend hours making a performance monitoring dashboard
    • instead you should probably spend that time looking at the error monitoring
    • or do both,...
Continue reading

TWIL July 11th 2025

  • If you're going to have types, don't trick them. No matter how annoying it is to do them properly now, having misleading types will cause someone else a lot more annoyance down the road.
  • Alternating between passing regular props, destructuring them from params, and sometimes using injected props is very confusing. Stick to one.
  • mobx allows you to make properties on a store observable, then components you mark as observers react to changes in observables which affect them.
Continue reading

Cobalt Core

Breaking out of time loops with the power of friendship.

Why

  • Distinct and interesting gameplay for each crewmate
  • Having three for each run + meaningfully different ships opens up a lot of possibilities
  • Funny/charming story & characters

Why Not

  • You don't like card games, roguelites or quirky animal-like characters.

Impressions

As someone whose time to play games is more limited these days, my favourite thing about Cobalt Core was that it had a story with a clear and satsfying endpoint; which left me feeling I'd experienced all the game had to offer. That's not...

Continue reading

TWIL July 4th 2025

  • A database column existing does not necessarily mean it's being used
    • even if it's named after the thing you're looking for
    • especially when working on a legacy application
  • You probably don't want to parse, compress and 9MB of JSON before your React app can do anything
    • You especially don't want to iterate over all that data 14 separate times rather than doing a single loop
  • bundle config shows you all the custom config which applies to the directory you're in, and paths to the files which set it
Continue reading