🍵️

2021-10-10

DB Fixing, Running, Baking, Podding, Scripting...

I've had a very busy and diverse day!

DB Fixing

That failed Debian upgrade a few days ago led to a restoration of a VM backup. Unfortunately there can be problems with taking a VM backup on an online machine. The forum software we run on the server started giving Server Error intermittently when people tried to post. Not all the time, just some of it.

Thankfully the logs are quite helpful. They pointed to a MySQL error message that indicated a table in the database was broken. How did this happen? It's quite obvious, but maybe not intuitive for someone who hasn't seen it before. The backup of the VM has taken time, and at some point the database files were copied while a transaction was ongoing. This left the database in a somewhat inconsistent state.

I had some time to look at it and google possible solutions yesterday, and notified users about a service window this morning. The idea was to shut down the web server, thus eliminating database traffic, take a dump of the database, and then attempt to fix the table.

As it turns out mysqldump couldn't actually make a full backup of the database when a table was broken. I decided to ignore that step, figuring that the worst that could happen would be that the table remained broken. After that a simple command fixed the issue:

REPAIR TABLE TABLENAME;

It took upwards of ten minutes to execute, but it worked like a charm. I could restart the web server and have everything up and running soon enough. The whole thing took an hour, including a bunch of googling around the backup that wasn't working as expected. Rolled out of bed at 06:00, was ready for breakfast at 07:00, with the forum up and running like a charm.

Running

Just before lunch I went out for an 11km run. I intended to run at a pace around 4:30-4:45 per km, but I never actually checked. In the end I averaged 4:26. It made me worried that me knee would act up again, but knock on wood, it hasn't happened yet.

The weather was great and I dressed a little too much. I expected it to be (or at least feel) colder.

Baking

Even before going out for a run I had prepped baking by getting a load of blueberries out of the freezer to thaw. A bit after lunch I cleaned the dishes and made a pie. Brought it over to the family and enjoyed it with them (the kids don't like it, but wife and I ate almost all of it).

I have a little bit left, and some custard too. It'll be a great treat later tonight.

Podding

I was unexpectedly contacted by a Swedish RPG podcast during the day. It's produced by a club that runs a convention, and they had just realised they wanted an episode out before registrations close. Since I've been GMing at the con for several years I guess I was a natural choice.

Or they just spammed out invitations to anyone they could think of, but I choose to not believe that and just feel flattered instead.

Anyways, we both had time today, so about 20 minutes later I was in a zoom meeting talking about myself and roleplaying games. Two of my favourite topics 😉️

This is actually the second time in the last month that I'm interviewed by a Swedish RPG podcast and the third time altogether. It's not a sign that I'm famous or anything, rather that I've been active in the roleplaying scene for a long time and happen to hang around the same places as a lot of those podcasters. That, and I like to talk. I guess some people like to listen to me?

Scripting

Blog/Gemlog Search

I improved the search function on my blog drastically! It's still just grep, but I changed the pattern from

grep -il "${term}"

to

grep -ilE "\W${term}\W"

It's a tiny difference with a big impact. Now, if you search for "PDA" you only get pages where that is written out as a word in itself, not pages where words like "update" happen to match. The downside is you'll miss terms like "PDAs". But the search is good enough for finding content you've seen here before, anyway. And you should search for "PDA" because I've updated that post quite a lot since I first posted it.

Garden Gnome Society

Apparently awk disappeared from my server! Probably when I upgraded it. Debian testing for the win. Makes for an exciting sysadmin experience.

That completely broke the garden gnome report. I've now replaced all calls to awk with cut, which definitely works for the purpose. But I have plans to refurbish the Garden Gnome Society page completely, now that there's a sorted-by-health view in AstroBotany itself. We'll see when I get to it.

New Antenna Feature

It's not every day you write a CGI script of almost 90 lines from scratch and have it working in a couple of hours. I'm not going to reveal what it is until I've done some testing, but I believe this is a feature that will be more and more useful the more Antenna grows.

What I Didn't Do

I was planning to get somewhere with my current twtxt project. I'm very much looking forward to making that a minimal viable product, and I have a map to get there. It's just not very exciting work; this one is really all about the end product. And I bet I'll be the only one using it, but that's okay 😊️

But it's 20:39 now, and I'm going to eat some pie and custard and watch some 20 year old television series.

Links

Notes to Self About Debian Upgrade

Recipe: Crumb-dough Fruit Pie

The podcast Spelhörnan

All Those Posts About PDAs (I know you won't search for it 😉️ and by the way it's a gemini only post)

Garden Gnome Society (gemini)

Antenna (gemini)

-- CC0 Björn Wärmedal