And for my sins…

I have a bunch of stuff running on a Virtual Private Server at a company called Linode. This instance first spooled up with Debian 5 was “stable”, and it’s currently running Debian 10. The only problem is that Debian 10 isn’t supported any more, and Debian 13 is now “stable”. At this point, I have two options:

  • I could upgrade incrementally from 10 to 11, 11 to 12, and 12 to 13, fixing all the problems that occur along the way or
  • I could do what the Linode tech support people have been begging me to do for a number of years, and spool up a new instance of Debian 13, and just transfer things one at a time to it.

I’m currently leaning towards the second option, but for two problems:

  • I would need to migrate my news spool. Last time I did that (I’m guessing sometime around 2010 or so?) I had to rebuild my overview database, which wasn’t a big deal, just that everything was kind of broken until I figured out how to do that. Also this time I’m using a new type of news spool, called a “timeCAF”. Don’t ask me what it means, I don’t recall. Only that the old way was one file for each article in each newsgroup, and this way makes files that contain multiple articles, and may or may not be “sparse” in the Linux definition of that. Which might complicate the move. I can’t seem to find any information on that yet, but I’m still looking.
  • The new Debian stable only has Mailman 3. I am currently running Mailman 2. I found a document about migrating from 2 to 3, but I think you need a computer with both installed, so I’m probably going to have to install the other one from source on one server or the other. My thought is that it’s probably better to upgrade on the old one so I don’t have to bring over any Mailman 2 cruft to the new server.

Other than that, I don’t anticipate any major trauma, just a lot of futzing around. I’ve done these upgrades in the past, and it’s usually been mostly a half a day of finding all the .dpkg-dist, .dpkg-old, and .dpkg-new files and diffing them with the corresponding config file and making whatever changes seem appropriate.

Drone My Roof

So we signed a contract last week to get a new roof done on our house. It’s going to be ridiculously expensive, and both Vicki and I have had moments of self-doubt about committing to this. But one thing I wanted to get out of this, as well as “not having water leaking inside the walls that we don’t discover until the plaster starts failing”, is a great drone video.

One thing I’ve seen before, and what I want to emulate, is a video where the drone flies circles around the house being worked on, but with it doing it as a sort of time lapse, maybe taking a flight every hour or so while the work goes on. In my mind, I see it as doing about a turn and a quarter to a turn and a half, and then fading into the next flight, and so on.

My first problem is getting it to do consistent circles. The problem is that the DJI Air 3 can do waypoint flights, but there isn’t a “do a circle at this distance from this POI” waypoint option. I found a site that would generate a bunch of points to define a flight around a point, but it ends the flight at the 16th point, rather than completing the flight back to the start. When you edit the waypoint flight on the controller, you have options for what to do at the end of the flight, and one of the options is to fly to the start point. Jackpot, you might think. But no, when it does, the drone points toward the final point, and flies towards it, instead of sidestepping to it. I got a smoother and more complete circle using the QuickShots circle, but since you have to highlight an object to circle around with your finger on the screen, I have worries about how repeatable it will be.

My second problem is that originally I was thinking in terms of doing a hyperlapse. The waypoint editor in the Hyperlapse is simpler than the main waypoint editor for some stupid reason – you can’t define a POI to point the camera at, for instance. The instructions for the site that generates the waypoint file involve you connecting the controller to your computer and copying the KML file on top of another waypoint file. But I haven’t seen any instructions on how to do that with the waypoint editor in Hyperlapse. So I’ve been experimenting with the timed exposure mode where it just takes a photo every two seconds and then I combine them into a video in Final Cut Pro X. For my first several tests, I was trying to use manual exposure so I could use a really slow shutter speed to get a tiny bit of motion blur. But yesterday when I was doing these experiments it was partially cloudy, and every time the sun peaked out from behind a cloud the exposure blew out. I even tried pre-processing all the frames through Adobe Photoshop Elements and that helped, but that didn’t fix the blow out. In retrospect I probably should have set the exposure when the sun was out.

Today I tried again, but this time I used automatic exposure. I think the results were better. But again, today was sunny with a few clouds, so it was probably a simpler exposure problem. When clouds came over, it did get a bit darker.

The third problem was that when you create a hyperlapse in Final Cut Pro, the video isn’t stabilized. Weirdly, in Final Cut Pro X you can’t stabilize a compound clip, you have to export it as a video, re-import it, and then stabilize the newly imported video. And it’s been pretty windy while I’ve been doing these tests, so even with the stabilization, the resulting video was not very stable. I was starting to get less in love with the idea of a hyperlapse. I’m starting to think that what I want to do is shoot a video, and then speed it up. I tried that out (with a QuickShots circle) and I really like the result – the video is very smooth, and it had much more consistent exposure.

So all I have to do is solve the problem of making a waypoint file with a double circle, and make it repeatable. I’m hoping I might be able to edit the XML of the KML file manually. I guess that’s tomorrow’s testing.

More Linux techie bullcrap

My Linux box has a M2 NVME drive with standard stuff, but bigger files go on two hard drives in a RAID1 (mirrored). A few months ago, one of the drives fell off the RAID, which usually means it failed. Luckily when one drive fails in a RAID1, the content continues to be available.

At that time, I just bought a new drive, swapped it in for the old one, and then added it to the RAID and then it automatically resynchronized. No muss, no fuss, no bother.

But a few days ago, I noticed that the SMART monitor on the other hard drive was showing some errors. I guess it makes sense that if one drive fails after 6 years, it’s not too surprising that the other one does as well. It hadn’t failed off the RAID yet, but I figured I’d be proactive. I ordered a new hard drive, figuring it would be as simple as last time.

And of course, this time it wasn’t that simple. After swapping the drive, the box wouldn’t boot, because the BIOS didn’t recognize the M2 NVME drive as a bootable drive. It showed up in the NVME configuration menu of the BIOS, but I couldn’t add it to the boot menu. I tried the “update the BIOS over the network using a PXE boot, but it just hung up and didn’t work. But that option had put the PXE boot options in the boot priority menu, and wouldn’t let me add anything else until I disabled all boot options. So I fiddled a few BIOS configurations (I think I turned off support for some AMI special NVME mode and turned on some boot thing that I had no idea about), and rebooted, and this time it booted. But now the command I used last time, mdadm /dev/md0 --add /dev/sdb failed because the RAID was inactive. So after a bit of googling and a bit of experimenting, I found the combination that worked:

mdadm -A --run /dev/md0 /dev/sda
mdadm /dev/md0 --add /dev/sdb

The first command re-assembled the RAID with just the first drive in it, and the run option to make it make it active even though it doesn’t have both drives. The second command then adds the second drive. I couldn’t put both drives in the first command because when I tried it said that the new drive wasn’t formatted or whatever for RAID.

So now the RAID is happily resynchronizing and I’ve got no SMART errors showing up in my munin console. So all is right in the world. Now if only I could convert the RAID box I have on my Mac Studio from a RAID0 (interleaved for maximum speed) to a RAID5 (safer for long term storage) without paying $150 for a new license for SoftRAID.

Linux Upgrades

Both my home server, and my VPS (Virtual Private Server) need updates. My home server uses Kubuntu 22.04 LTS, and the current version is 25.04 (or 24.04 if I want to stick to LTS, which I probably should). My VPS is on Debian 10.13 (buster), and the current stable version is 12 (bookworm). Both are nagging me that the version they’re running is no longer supported and I should upgrade ASAP.

Ok, for the Kubuntu machine, there’s an update program. But when I run it

sudo do-release-upgrade

I get a message that says

The package 'postgresql-14-postgis-3' is marked for removal but it is in the removal denial list.

I think that means I need to remove PostGIS and try again, and then hopefully reinstall PostGIS after the update. But I’m reluctant to do so, in case it breaks something. I guess I need to bite the bullet and do it.

My VPS was originally Debian 5, and over the years I’ve upgraded it many times just by editing the /etc/apt/sources.list to the new release name, and running

sudo apt update
sudo apt upgrade

But when I contacted Linode technical support about something else, they were horrified that I appeared to them to be using Debian 5. When I told them what I’d done, they were even more horrified. Evidently the proper way update is to spin up a new VPS instance with their Debian 12 image, and then migrate applications and files over. I’d worry about missing something. On the other hand, it might be a chance to leave behind the cruft of things I no longer need.

I guess I’ll start with the local server by removing PostGIS and proceeding from there. For the VPS, I might try just cloning the VPS and doing the old fashioned way.

Well, that’s different

I haven’t written about my pain stuff in a while. I think last time was just after my first shot at PRP. At the time, I didn’t know it wasn’t going to work. Neither did the second PRP shot. At that time, I latched onto what was possibly my last shot – the guy who’d done several corticosteroid shots in me (none of which helped) in my sciatic nerve (both down in the hip, and then again where it exits the spine), and in my ischial bursa, and also implanted pain stimulator electrodes in my spine had told me that I needed my ischial bursa removed. The only problem was that nobody does it – I talked to doctors all over the place, including New York City and Kansas City.

By luck, somebody in r/ChronicPain in reddit responded to an old post of mine to tell me that this doctor in Houston did an ischial bursectomy on him, and it had helped him immensely. This set off a long process of trying to get that doctor’s opinion on whether I need an ischial bursectomy and whether he’d do one on me without multiple trips to Houston. The doctor’s office sent me a very detailed protocol for the MRI that they wanted. My primary care doctor didn’t want to order it, because she didn’t really know how to get the local MRI centers to follow the protocol. However, my pain doctor talked to a couple of doctors of radiology and got a way to get my protocol done.

When I got to the MRI appointment, I didn’t get to see a doctor, but the radiology technician was really into this challenge. She’d even read the journal article that the protocol refers to. The MRI process was a bit longer than usual. The amusing thing was that the next day they called me and the radiology doctor wanted me to come back the next day so they could do their usual protocol and compare it to the Houston doctor’s protocol at no charge to me (or my insurance). I had nothing better to do, and I’m interested in more data.

I don’t have the tools to look at the actual MRI scans, but the second MRI got the usual radiologists summary. And for somebody hoping for a possible path to a cure, it was mostly terrible news. They said there was no evidence of ischial bursitis, and only mild hamstring tendonopathy. However, there was a bunch of stuff going on in the hip joint itself, most of which was highly technical and hard to interpret.

I had to jump through some hoops to get imagery to the Houston doctor, and I waited for their response. And their response was a complete surprise. They think I need a hip replacement! They said I have too much arthritis to be a candidate for arthroscopic surgery.

Well, the good news is that there isn’t a shortage of doctors here in Rochester who can do a hip replacement. Funny, all this time I’ve ignored the pain in my hips, because it seemed less important than the pain in my sit bone area. The pain in my hips didn’t stop me from paddling or walking, it was just a constant thing like my knee pain.