my blogthing

musings, meanderings, other things

i asked the computer to do something and it did. no notes (well, some notes below). this makes me think

the problem it solved

i like to play n++ from time to time. it's a challenging platformer game which is notable, among other things, for it's choice of music. unlike other entries in the genre, which come with music created specifically for the game, n++ features a playlist of existing electronica tracks.

sadly, one of the tracks, which was also one of my favorites, has been removed due to licensing issues (apparently it's too expensive to keep the license going) so an update has been released which removes this song from the game. this sucks, so i put it back.

my first attempt was to obtain an older copy of the sound bank which the game uses to store music and drop it in, but that didn't work. clearly, the game hard-codes somewhere which tracks from the sound bank are actually played.

this is where claude comes in. i opened claude code in the installation folder and told it to get to work. every time it patched the game, i gave short written feedback, nothing more than e. g. “you're done”, or “it's not showing up”.

after three rounds of this, claude had figured out the memory layout of the song list in the game binary, and written a patch that puts the song into an unused slot of that list and makes that slot used everywhere.

learning the skills required to do this would've taken me longer. i am vaguely aware of reverse engineering but actually coming up with a patch for a complex binary has been beyond me so far. this is kind of crazy and meaningful imo.

so what, will it replace everyone? will it ✨agentically transform software engineering✨

eeeehhh, maybe. ai is clearly sometimes good at “software” if that can be broken down into one-shot tasks, as above. in the case above, if i wanted to do more (like add another song that was removed back before i even got the game) it was already getting measurably more expensive to continue the session and i don't think i'd be willing to pay extra by a lot to do so (or orient my sleep around waking up when the rate limit resets)

also, there is a hard limitation on “context”, that can be fed into these ai models, so current models leave their users no choice but to do some sort of reset from time to time. there are mechanisms that attempt to overcome this, but it's not like the ai can currently “learn” from completing a task like this in the same way a human can.

this does not seem like an unsolveable problem though, and alongside people putting up a clear display of insanity about it, there are some people on social media who i kinda trust on this who are working out similar approaches

it certainly makes me feel things about my life choices, and i don't think it can be readily dismissed as just some toy. obviously some of the ways people use it are irrational, but that's true about most things.

on language

i've seen some people argue that it's wrong to say that ai software is “thinking” or that i “asked” it to do something because it supposedly humanizes ai, which they think is immoral to ever even do in words. i don't think this is a reasonable complaint, even if you vehemently disagree that llms resemble human thinking to the point where you find language which makes that assumption objectionable.

imagine i'm using a website where there is also a mobile app. now assume there is a bug where the website shows information a' but the app shows the outdated information a. “the app still thinks a is true” would be a reasonable (if slightly informal) way to describe this bug, without anyone ever assuming that this software system is conscious or human or whatever.

i will be at gpn24 for the next 3 days. my plans this time:

  • acknowledge that most people (except the speakers probably) are there to have fun and connect
  • spend time with friends and acquaintances, especially those from far away
  • socialize but don't stress about how little i'm doing it if i'm doing it to little and goddamnit i 'm doing it again
  • maybe remember to sign up for that kicad workshop on time, this time
  • have fun :)

if you're wondering why this blog is sparse when it comes to images: i tried setting up “gokapi”, a server software for uploading files, but i don't really like it anymore. the problem i have with it is the fact that configuring it with fixed options, instead of clicking through a setup wizard and having it dump the config is difficult because it doesn't document what options exist at least not where you'd look

if anyone can propose a similarly lightweight file uploading solution that i can use to upload images that i will later hotlink from here, please do tell me via matrix

preferred features are: – can do stable hotlinks – light on server resources – simple browser interface, no scp. should work from any platform – has a nixos module – appeals to my sensitivities as an admin and user of the software

i sometimes have the displeasure of interacting with eduroam in the following, horrible way:

  • i fail to charge my laptop overnight, and start it while at the eduroam location from 0% battery
  • because newer thinkpads have removed CMOS batteries, the system time is reset to one in the past
  • now...
    • because eduroam relies on TLS-based authentication (and that depends on the time), i cannot log in to eduroam
    • because i use systemd-timesyncd, i cannot set the time manually
    • because the public wifi at the same location filters out ntp packets, syncing the time through it is infeasible

this is annoying.

working solutions

hotspot

  • open a hotspot on my phone and connect
  • systemctl restart systemd-timesyncd
  • connect

set time manually

  • systemctl stop systemd-timesyncd
  • timedatectl set-time <time from my wristwatch>
  • connect

  • password manager
  • whatsapp
  • signal
  • telegram
  • element
  • public transit ticket
  • bank 2fa
  • spotify
  • e-mail