5 Years of Pain

So a little under 5 years ago, I was taking a paddle and I had a pain in the area of my left sit bone so bad I had to stop paddling, get out of the boat, do some stretches, and continue on. The previous year had been lockdown and in spite of the fact that I only had one race that year I had been training hard and working on Strava segment CRs and virtual races. But 2021 was going to be my best year ever, and so I started out the year with a bang. Most years I had been lucky to get more than a few 10 mile plus paddles in before the Round the Mountain race, but this year I’d started out with a plan to really ramp up my mileage, and maybe take a shot at the 90 Miler the following year. So there I was, a month to go before the race season started, and I was already doing 25-30 kilometer long paddles. And feeling an annoying nagging pain. I was also doing 3-4 hour long bike rides on days I wasn’t paddling.

The pain kept increasing as the season went on, but rather than cutting back on training, I kept going. I did end up having an amazingly good season, in spite of the fact that towards the end of the season I would need to push my butt out of the seat for a few seconds to get some momentary relief, then continue on. I couldn’t wait for the end of the season, and when it finished I put my boat away and didn’t touch it until much later than I usually start the following year. And when I did, I went for an easy paddle but was in agony after 15 minutes, and spent another 30 minutes getting back to the dock because I had to keep stopping because it hurt too much. Much later in the year I discovered that with a thermarest pad placed exactly right, I could stand slightly longer paddles, but with much reduced stability so I only paddled my more stable boat on the most wave free segment of the canal.

Now the problem with the sit bone area of your body is that there’s a lot going on there. Basically near your sit bone (your Ischial Tuberosity), you’ve got a bunch of muscles anchored there, like your Performis, and your Quadralatis, as well as your Sciatic nerve, your Hamstring tendon, and there’s a Ischial Bursa there as well. So during the last 5 years I’ve had a lot of conflicting diagnoses, a lot of different therapies, and a lot of medical interventions.

As an aside, is there such a thing as being immune to cortisone shots? I’ve had a bunch of them over the years, including in my knee, in my shoulder, in my carpal tunnel, and in the last 5 years, in various nerves and tendons etc. And I’ve never gotten a smidgen of relief from any of them. The closest I’ve gotten is sometimes an hour of relief from the anesthetic they inject before the cortisone.

Anyway, after trying everything from stretching routines to spinal implants, my local pain doctor suggested I need an Ischial Bursectomy. I asked him who could do it, and he cut and pasted a Google search into an email and sent it to me. Basically no local doctor does it. And if you do the search, you find several doctors around the country whose websites say they do it, but when you contact them they say they don’t do it any more. Oh, and maybe a few doctor’s offices who think you’re saying something different – I didn’t catch on until a few of them said “we only do hip operations”. I tried saying it like “iskeal” to see if that helped with the understanding.

Eventually I found one doctor on Park Avenue in New York who, when you call to ask, the front desk says “sure, we do it” and makes an appointment, but when you fly down there at great personal expense, the doctor says that they don’t do it, but have you thought about PRP? To say I was pissed off at his clinic was an understatement. Ok, I had thought about it, but it seems pretty dubious, since all it is is that they take some blood out, centrifuge it down, and inject parts of it back into you. There’s a similar therapy going around but instead of your blood platelets, they inject sugar or something like that. I think the theory behind both of them is to stimulate an immune/inflamation reaction. But I did know that one of the doctors I’d used in Rochester does PRP, so I went back and tried that, and it was ineffectual. (Oh, and not covered by medical insurance.)

Eventually somebody on Reddit’s r/ChronicPain subreddit got in touch with me to say that they’d had an Ischial Bursectomy from a Doctor Harris in Houston and it had done them a world of good. So I got in touch with Doctor Harris’s office and after jumping through a lot of hoops I got an appointment to fly down there so he could examine me. And he agreed to do the procedure! I was so happy! Doctor Harris exudes confidence and healing.

So eight days ago, I went under the knife (or the arthroscope) and got exactly what I’d spent the last couple of years dreaming about. He gave me some photos taken through the arthroscope, showing all these fibers growing out of my bursa and preventing my sciatic nerve and my posterior femoral cutaneous (PFC) nerve from moving the way they’re supposed to be. And after photos showing the bursa gone, the fibers gone, and both nerves free of entanglements. He said that in normal conditions, that bursa is about 1mm thick, but mine was swollen up to about 6mm. He also said that while he was in there, he was moving my leg around and practically had me doing the splits to make sure there was no impingement between the bones in there, which can be a problem. No wonder orthopedic surgeons look so fit, when they have to move my fat ass around like that.

What a mess!
Nerves all clean and moving

So like I said, it’s been 8 days and of course I’ve got post-op pain. It’s really hard to judge whether the pain I’m feeling right now is the same old pain from the last 5 years, or it’s because somebody inserted a metal object and stared scraping away parts of my body. But considering that a lot of the pain I’m feeling is from different places than the old pain, I’m hopeful. I think the doctor suggested I might not know for sure how much difference it has made until 5 weeks go by, so I’m trying to be patient about this. And mostly succeeding, but not 100%.

Oh one other thing – Doctor Harris suggested I get a DEXA bone density scan because he felt my sit bone was a little soft. How shit would it be after all this to find out that the pain was actually my sit bone collapsing under the pressure of sitting on it 18 hours a day?

So where do we go from here? Well, I promised myself a new camera to celebrate this milestone. The question I’m waiting to find out is do I buy a new drone (the Avata 360 when it comes out) for filming other people’s kayak races, or do I buy an action camera (the Insta360 X5) to mount on my kayak for filming my own.

Obviously I’m hoping for a return to kayaking, but I’m thinking I’m not going to be as fanatic about it – no more 6 days of kayak work outs and a 4 hour bike ride on the off day. I believe that piling on more and more workouts didn’t really improve my speed that much any way. Plus it’d be hard to maintain a consistent workout regime when I’m trying to do more with Vicki. I think the goal now will be to get in such workouts as I can, go to races when I can, but work them in around my life instead of working my life in around the kayaking.

And what if the surgery didn’t fix the problems? Well, then life will be pretty much like it’s been for the last year – RV trips with the “rule of 3”, and videoing some kayak races. It’s not awesome, but it’s good enough to tide me over until I find the next thing to try.

The rule of three is “travel no more than 3 hours a day, get to your destination by 3pm, and spend 3 days at each campground”. We’ve kind of modified it to have a couple of 3 hour days in a row before recovering my pain levels by having a 3 day or more stay at a campground. But we’ve been thinking about longer trips, like across the country, and there’s no way we’d want to do that unless we can manage a few 5+ hour days between the major stops. Doing it 3 hours at a time would take more than a whole summer.

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 Part 3

As I wrote about in Drone My Roof and Drone My Roof Part 2, I was getting my roof redone at great expense, and I was determined to get a good time lapse of the whole process. As I said in Part 2, I made a circular waypoint track. At semi-regular intervals I went out and flew it twice. My intention was that for each time I flew, I’d use some non-integer number of circles. I wasn’t sure if I’d use 7/8ths of a circle or 9/8ths of a circle, but I thought it would be more interesting that doing one full circle each time. Which is why I did two circles, and also why I had the circles start at the back of the house instead of the front. (Actually, I forget why I chose starting at the back, but because I was going to do a non-integer number of circles I didn’t think it would matter).

For about a day and a half I didn’t think to put starting and stopping the camera into the waypoint file, so there was a bit of a bobble around the back of the house as the drone decided that it needed to turn 45 degrees and possibly move a bit while moving from the end waypoint to the beginning of the next, even though they had the exact same latitude and longitude. I had to edit those bobbles out, to greater or lesser success each time. The last 3 or 4 missions didn’t have the bobble, which was a great relief.

I sped up each clip by 4x, so that it was obvious it was a time lapse. I also added the start time of each clip as a caption.

The other thing I discovered is that even though the drone is tracking 20-odd GPS satellites at once, there were significant differences between different circles. Usually not much between the two circles in one go, but between one mission and the next, sometimes 5 or more meters difference. Which I find a bit odd, because my first gps, a Garmin GPSMAP 195 which only tracked 12 satellites at once, could quite consistently show you which lane you were in when you used it in the car (in spite of it being an aviation GPS). And my Garmin Forerunner 920XT fitness watch could show which side of the river you were on.

As well as the problem with the circles being offset, the center point also meandered around – I had to save a new one several times. Unfortunately the KMZ file only saves center points that are in-use, so you can’t go back to an old one if you save a new one. It’s confusing, because during the session, you can have multiple center points saved, but after you come back to the waypoint file, all the ones that aren’t actually in use are gone.

I did some messing around in Final Cut Pro trying to get something usable out of this. A while ago I used a weird trick I’d found on Reddit’s r/finalcutpro sub-reddit to center a tracked object on the screen, involving inverting the clip, tracking the object, and then applying that to the non-inverted clip. Unfortunately there wasn’t a trackable object in the middle of the roof, so I was wondering if there was a way I could track the four corners of the house and do some sort of geometric mean on that. r/finalcutpro was not much help with that, but suggested I ask in r/vfx but they used a lot of terminology that I didn’t understand. Something about a gaussian splat or something like that.

So I decided on two things. First is that I’d do a single circle each time, starting from the more logical front of the house. Second is that I’d try to hide how badly the waypoint moved around from time to time by using a transition that had a lot of movement in it.

First attempt at editing

Then as a second attempt, I zoomed in 25 percent, and tried to use the slop to center the images a bit better. I did that by using some guide lines on the screen and setting a keyframe at each cardinal point and moving it as close to centered at each point. But there wasn’t enough leeway in the video – many of the positions I couldn’t get the roof centered without having black bars on the outside.

Second attempt at editing

Not perfect, but I think it’s better than the first attempt.

So lessons learned:

  • Make the waypoint file go full circle or maybe two circles without stopping, starting at the front of the house.
  • Make the circle further out or use a wide angle lens so there’s more slop on the edges for cutting in.
  • I think I’d fly slower and speed it up more – I like the frenetic movements. I know I said in Part 2 that I didn’t like it that way, but I’m having second thoughts.
  • Be more careful about launching the drone at exactly the same place each time – some of the worst offsets were the times I had to launch at somewhere other than the exact spot on the sidewalk I’d chosen for most of them. In one extreme case I had to take off the screen window and fly it out the door.
Flying from my doorway

Drone My Roof Part 2

So in the last blog post I left off with wanting to do some manual editing of the waypoint file. The first thing I had to do was grab the KMZ file from the controller. The controller is an Android device, and I have two programs that are supposed to allow you to connect to Android devices on your Mac. I’ve had inconsistent results getting these connections to work. One of the programs, OpenMTP, warns you to close the background tasks from Google Drive and Dropbox and Android File Manager before it will be able to connect. And by trying various combinations of doing that, rebooting the computer, rebooting the controller, I was able to connect a few times.

The waypoint file is a KMZ file, which is actually a zip file containing two files, template.kml and waylines.kml. They’re both relatively straight forward XML files. You can figure out most of the syntax just by looking at one of the files you’ve downloaded from the controller. So after I got a connection to my controller, I grabbed one of the KMZ files, extracted the waylines.kml file to copy the first “<Placemark>” to the end of the “<Folder>” and change the “<wpml:index>” tag from 0 to 17. I refreshed the file in the KMZ file and uploaded it to the controller.

This gave me a full circle that returned to the start, which made it much closer to what I wanted. I still get a little bobble when I restart – even though it’s moving from point A to point A, it still has to turn the drone about 45 degrees and then back, for some reason. Also I decided that since I’d decided to change from shooting a hyperlapse to a sped-up video, the drone was moving too slowly. Also it looked like the gimbal angle was down too far, so the roof was not the center of the video. I made the changes to the waylines.kml file to support that – I changed all the “<wpml:waypointSpeed>" from 0.213… to 0.852 (meters/second). and I changed all the “<wpml:waypointPoiPoint>” so the third argument (the height) changed from 3.0 to 5.0 (meters above ground). But then I had a multi-hour long struggle to try to get the damn controller connected to my Mac. Eventually I gave up, and tried my ancient Windows laptop. I don’t know why, but I thought Windows had native support for Android. But before I could even try, I discovered that since the last time I used it, it’s decided that it no longer has any drivers for the WiFi or Ethernet controllers. I presume that’s something to do with the fact that it’s Windows 10, and it’s ineligible for upgrade to Windows 11. Not that I could, without a network connection. So I guess it’s going off to electronic recycling. Pity.

But as I was coming to terms with the fact that the laptop I “borrowed” from a former employer is no longer working, I glimpsed a USB A to USB C port handing off one of the front USB ports on my Linux box. I use the Linux box from the command line all the time, but I figured for this I’d probably need to be in the GUI. So I logged into KDE, and plugged the controller in. And it immediately popped up a Dolphin file manager window showing all the files in the controller. So I was able to do those changes. What a change to find something that’s easier in Linux than on the Mac.

I did a couple of test flights this morning. At first, the one bit of XML I wasn’t sure about, the command for what to do at the end of the waypoint flight, wasn’t set right. Fortunately you can do that easily on the controller. After those first two flights, I wasn’t happy with where the drone was pointing. I decided to edit the POI on the controller, and did two more circles and I think it came out just about perfect. I suppose I could make another edit and duplicate “<Placemark>“s 2-16 at the end so it can do two circles without having to restart, but I’m kind of running out of time. And what I’ve got now is pretty good, especially after I speed it up in Final Cut Pro X.

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.