Content warning: 3 paragraphs of Covid-19 news.
New Zealand is now in alert level 3, with alert level 4 happening in 2 days from now. This means basically all services except for supermarkets and medical things are closed, including school, university, work, restaurants, takeaways, parks, playgrounds, public transport, libraries, museums, and everything else you can think of.
What a great time to start this blog! I have easy material to write about every day. :D
All classes are cancelled in person, but I have ways to do at least some of the work remotely. I'll have to see how this plays out through the rest of the week. At least we're doing better than Vic, where lectures and labs are being shut down with people in them, culminating in all classes being completely cancelled for 3+ weeks.
My flatmates are trying to introduce me to Overwatch. I'm not very good. I like Mei.
Today I downgraded all of Amanda's Lavalink nodes to the stable version, and fixed a bug where the song length would be really stupid sometimes. I still do not understand the fix.
There's a mysterious error about the websocket connection being closed and I think it's because I'm destroying nodes as they're removed from the playermanager, meaning that queues using them can't continue? Something like that. I'll have to see if removing nodes from the playermanager is actually necessary. If I remove them, and they're in use, then I get the connection error notice. If I don't remove them, then it's fine unless I take the node offline, which will forcibly close the connection and murder the shard process, which ends everyone else's queues on that shard.
Interestingly, I did notice a function in d.js-lavalink to switch a song from playing on one player to playing on another. Maybe I'll play with this tomorrow.
I have Invidious as a backup for getting stream URLs if a node is blocked, but unfortunately due to type 2 region blocking this can cause other errors. I will also have to find a way to only switch to Invidious depending on the node in use, and ensure that an instance in the same region as the node is used to avoid triggering type 2.
I'm really on a roll typing right now. Typing this is really fun. I hope you enjoyed reading it as much as I enjoyed pressing the letters on my cool keyboard. Wheeeeeeeeeee.
The picture of the day is this funny screenshot from sentry.io if you have JavaScript disabled.
You might be wondering, since this is freeform HTML, why don't I embed the images inline? The answer is that I don't want people on data plans to involuntarily download several megabytes of whatever my camera spits out.
Tomorrow I think I'll post the explanation of type 2 region blocking that I wrote a year ago. Finally, my very own place to put it online! Unless of course something much more interesting happens, which judging by the series of events from the last few days, will probably happen.
See you then!
— Cadence