YouTube versus 360 degree cameras

As anybody who has been watching my videos knows, I’m really in love with 360 degree cameras these days. Specifically I’m in love with the Garmin VIRB360, which is a shame because it doesn’t love me back. The camera hasn’t been updated in a number of years, and the image quality isn’t as good as some of the newer ones. And the VIRB Edit editing app frankly kind of sucks, except for the telemetry overlay. To the point where I sometimes put the telemetry overlay on, then export it, and bring it into Final Cut Pro to do the rest of the editing. But more importantly, it’s an orphan and you can’t get parts for it. I got the last replacement lenses for it after my boat blew off my car in a parking lot after I’d attached the camera, and I had to get them from a shop in Calgary. I saw some replacement lenses on eBay and they were going for over $250!

The VIRB360 has three things which no other 360 camera has:

  • Telemetry capture, including not just GPS in the camera, but also heart rate via ANT+ or Bluetooth. And other ANT+ or Bluetooth inputs as you like. Lots of cyclists like to connect their power meters or cadence meters, for instance.
  • An external power connector that’s waterproof, or at least water resistant enough for kayak racing.
  • And related to that, the ability to record for hours at a time without overheating. GoPro struggles to make a camera that can record for the full life of the battery in a single go, telling anybody who complains that some huge percentage of their users only record for a few minutes at a time anyway and it sucks to be you.

So while I’d like to get the higher image quality and better editing software of say, an Insta360 X2 or whatever GoPro has announced they’re going to be announcing this year, I’m kind of stuck with the Garmin.

Slight aside here – a 360 camera has two lenses and two CCDs. The process of putting the two images together is called “stitching” and can either be done in the camera or it can require desktop or mobile software to do it. What comes out is an equirectangular image that a 360 degree viewer or editor can do the fun pan around stuff in.

The Garmin’s “normal” mode is to stitch in the camera and produce a 4K (3840×2160) equirectangular image on the microSD card. But there’s also a “raw” mode where you have two files on the microSD card, and VIRB Edit stitches them into a 5.7K (4992×2496) equirectangular as it sucks the image in from the camera/microSD card. So as an experiment I did a recording a couple of days ago in the raw mode. The stitching wasn’t too terribly time consuming, and I did my usual hacked up edit just and exported the file. It’s a little bigger – about 1.17 GB per minute, versus 0.92 GB per minute for a 4K one I did a few days previously. Then I uploaded it to YouTube.

And this is where it gets frustrating. The 4K one took about a day or so to process on YouTube before I could see it in full res. It says it’s 4K, and the text and telemetry gauges look very sharp on a 5K monitor.

But the 5K one said it had finished processing a few hours after uploading, but on a 5K monitor at full screen, it says it’s only 1080 resolution, and it looks like it’s only 1080 resolution.

The text and the gauges look like crap at full screen.

So it looks like at least as far as YouTube goes, going for a higher resolution was a complete waste of time. (BTW: I can’t try Vimeo because it says one video is more than the free tier total upload limit.) So now I’m looking to see if there are good 360 video players for embedding in WordPress. Expect to see some test posts here shortly.

First cross country ski of the season

I’m trying to remember when was the last time I really skied. I had pretty much quit by the end of university in 1985, because skate technique hurt my knees so much. I know I had one winter where I got out 4 or 5 times sometime between Shani and I breaking up and me moving south, so I guess 1992-3 or sometime around then? Then a few years ago where I tried to ski at Mendon Ponds with my now ancient ski equipment and my boots (bought in 1981 at great sacrifice) both completely separated from their soles within a few hundred meters of the parking lot. a

Last year I found out about Cummings Nature Center, and the fact that they rent there. I tried it out once and immediately fell back in love with skiing. Unfortunately I discovered it pretty late in the season so I didn’t get back out. So I’ve been itching for a chance to go out again this year. First we didn’t have snow, then we got fresh snow and the temps immediately plummeted to around 0F. Not good for starting out. But today the weather finally cooperated. It was 26F and lightly snowing when I set out for the nearly hour long drive down to Cummings.

Driving for an hour meant the return of the painful butt. I’m still in making rounds of doctors to try and get some relief of that, whatever it is, and that means I spent half the drive trying to sit only on one buttock or lift myself out of the seat.

By the time I got there, it was snowing quite a bit harder, although the roads were well plowed. I was hoping they’d still be plowed when I finished. I got there just on the dot of 9am and there was one other car in the lot. They were skiing but not renting (I could tell because they’d skied from the parking lot to the chalet). The rental form asked what level skier you are. They didn’t have a spot for “I used to be quite good, but that was before you were born”, so I ticked “intermediate”. I was sure that when they saw that I’d put my e-mail address at xcski.com they’d accuse me of giving a fake address, but they didn’t say anything.

The equipment was quite good quality and new this year they told me. The new bindings are so much better than they were when I was a skier. And the ski lengths aren’t multiples of 5cm for some odd reason. I got a pair of Madshus Actives at 207cm because I used to race on 215s and I was a lot lighter back then. The wax less system felt like a combination of steps and skins. It worked pretty well at first.

Felt like old times. Set off and hey, my diagonal stride isn’t too bad in the grooves, but the muscles you use to keep your skis in a straight line when you aren’t in the grooves, or to skate around corners, or snowplow turn on a downhill, are all completely atrophied. Oh well, I’ll get this back.

My heart was pounding pretty hard, but the values displayed on my watch were ridiculously low. Stupid heart rate strap had had problems last time I’d erged. I didn’t think it had been long enough to need a new battery, so I hoped it would start reading right after I’d worked up a sweat. I figured it was probably in the high 140s or more because I’d had to stop to catch my breath on a couple of climbs.

I did the yellow trail out to the blue and did the blue loop, and when I got back to the yellow I thought “I don’t need to go back to the lodge yet” and set out around the blue trail again. Even though it was only 1.5 or 2 kilometers, it felt like a victory. And when I got to the junction with the orange trail, I took that one. Half way through the orange trail I got a notice on my watch that the heart rate strap had a low battery. I stopped to take it off, hoping that the watch would revert to the built in optical heart rate. I’m not sure what it did, because it was still giving me numbers around 100 bpm when the pounding in my chest was telling me it was actually over 140. I wonder if the strap was continuing to broadcast crappy data in my backpack.

When I finished the orange and blue, this time I took the yellow trail back to the lodge. I didn’t note the actual distance, but I think it was somewhere between 4.5 and 5.5 kilometers. My goal for the day had been to make it for 5 kilometers total, so I was feeling pretty good. And after having a brief sit down in the chalet to drink some water and eat a banana I’d brought, I was feeling good enough to go out and do the blue trail loop again.

This time, I think the wax they’d put on the skis to improve the glide had worn off, because my skis stopped abruptly instead of gliding a few times, once pitching me onto my face. I had to stop a few times to do the old “scrape the ski over the edge of the other ski” trick to get my glide back. I was also definitely tired now. But my heart rate was now showing up properly on my watch, and I was seeing numbers in the very high 140s and low 150s.

I finished up back at the lodge with a total of 6.6 kilometers. Goal exceeded! But I was really done – I don’t think I could have done even the yellow loop again. So I returned my rentals, suggested they renew the glide wax, and headed off to the car. It was barely 10:30. And it was snowing quite hard.

The first part of the drive was plowed but now bare, but after taking it easy on that I soon got back to bare road and headed home. Once again, the sore butt problem “reared” it’s ugly head but it was an excuse to stop for a Coke at least.

I can’t wait to do it again.

Ending on a high note

Today I went into my place of work, and picked up all the stuff I’d left in and around my desk. Then I spent a few hours making sure none of my non-work info was left on my laptop, especially my password manager and iCloud account. Left my keyfob on my desk. Then I took my laptop to FedEx Office and sent it back to our head office in Connecticut. And that is it. Forty years of work as a professional computer programmer is over.

I counted it up a few months ago when I was writing my resignation letter, and I make it somewhere between 20 and 22 different jobs depending how you count it. That includes 1 month contracts and two 6 year long permanent jobs and everything in between. It doesn’t include two occasions where I was unemployed for several months in a row. Sometimes it sucked, sometimes it was great, but I’m never sorry that I chose this path.

Early on in the history of this blog, I started a series of “bad job experiences” posts. I stopped that after one of the people I’d mentioned in a post found the blog and disputed some of the things I said about it. I realized these posts might show up when I’m looking for work and potential employers Google my name and that might be harming me. I’d much rather they found my 100,000 plus Stackoverflow points or even my pathetic GitHub profile than that.

Weirdly, even though I had fodder for that series even at the best jobs I had, I am hard pressed to find anything like that to write about my last job. I started at Skillsoft on 5 January 2020. By late March, we very quickly transitioned to working from home. Skillsoft management were great – one of the first things they did was immediately give us a day off to recover from the “stress” of the change. I’d had 7 years of previous experience with working from home and I thrive in that environment, but I took the day off, of course. They then put two weeks of “special leave” in our online time manager that we could take for COVID related emergencies, like providing support for sick family members or needing time to arrange things for your children. I think our sick leave was officially “use as much as you need, but we’ll probably need a doctors note if it drags on too long”.

I loved just about everything at this job. It was fast paced without being frenetic, you weren’t pressured to meet unreasonable deadlines, the tech stack was good, the other developers very approachable. Pat, the team leader was always willing to get on a slack call and walk you through any problems you had. Usually I tried to call my team mate Daquanne rather than Pat because Pat had so many other calls on his time and Daquanne was great at explaining things. I kind of hated sprint demo day, I did at my previous Agile jobs as well, but I got through them ok. And when we were in the office, Michelle would make cookies on demo day.

Other than the stress of demo day, the only nit I could pick was my co-worker Uyen who wore a lot of perfume. I’m over sensitive to perfume, and it would frequently make me sneeze even when she was at her desk and I was at mine. I bought a little USB powered fan to try to blow air towards her desk, and I guess it worked but I only had it for a week when we went to full work from home. Anybody need a cheap fan? She also had an accent which made it hard to understand her over Teams, so I didn’t go to her for help unless it was something where she was the subject matter expert, like our Fastly configuration.

We had a small team, and everybody got to work on front end and back end as per our own inclinations. Everybody had their areas of comfort but they also didn’t seem to mind if you picked up a story in their area or suggested a different approach in a code review. I can honestly say this was the best team I’ve ever been on – I’ve worked with other very smart very good programmers, but every other team had a person or two who you just hoped they’d go away and stop dragging down the rest of you. I’m hoping that doesn’t mean I was the drag.

I’ve been looking forward to retiring for a long time. I’m not going to stop programming – I’ve got a couple of projects I want to work on, and maybe I’ll do some bug fixing for open source projects. It sounds like log4j could use some help?

But also, I’ve been looking forward to having more time for paddling and biking. With more time to train, I was hoping I could try to do the Adirondak Canoe Classic. Unfortunately I’ve been having massive problems with pain in my hips and butt. This summer, I actually had to stop paddling during races to lift my butt out of the seat a few times to relieve the pain. And that pain has gotten worse over the last few months. I can’t paddle, or even sit in a car or a desk chair for more than 45 minutes without being in intense pain. In our recent trip to BC, there were several times I thought I was going to scream I was in so much pain. If I can’t find a solution for the pain, I’m not sure what I’m going to do.

That’s also going to impact my other major goal of retirement – traveling with Vicki. Again, I’m not looking forward to long car rides. Flying business class seems acceptable, especially those amazing pods we got on the flight home from BC. And let’s not even think about what the new COVID variant might mean to our booked Viking cruise.

So I guess task # 1 of the new year will be pounding the desk at my doctor until I get a solution to my pain problems or medication to manage them.

Madrid Day 2

So if there’s one thing harder than racing hard in a pack against hard competitors for 8 miles, it’s getting up the next day to race another 13 miles. Two of my main competitors, Bob R and Chris L didn’t come back for day 2, but Dave W and Eric Y were here (even if they avoided the mixed pleasure of camping at the race site, which I think is one of the pluses of this race). JM was going to double with the inimitable Roger G in Roger’s V8 Double – not sure if that would make things better or worse for Eric, but such things will be decided well ahead of me on the water and probably won’t even get more than a glimpse in my race video. And after all, these days my video is the main focus of my race.

Pre-race activities were started off by an old fart who yelled at me for spending time on my iPad while waiting in line alone for the diner to open. Because why would I want to be reading stuff that I like from people I know and like when I could be talking to a rude stranger? And then in the diner he picked up a newspaper because while reading things lovingly created by your friends is rude, reading lies created by political entities determined to destroy democracy is not.

There are a lot fewer people racing on day 2. A lot fewer boats, not least because a lot of people who were in C-1s on the first day were doubled up in C-2s today. The other kayakers other than the ones I mentioned earlier were people who wouldn’t be a factor in my race so unfortunately I didn’t really take note of who they were. Sorry.

At the gun, I decided that there’s no point trying to outsmart Dave W so I should just paddle my own pace and see what happened. Eric and the double disappeared into the distance – I think I made a half hearted attempt to get on Eric’s stern wake but that lasted a few seconds. So I settled down to tow Dave for the foreseeable future.

I kept telling myself all the way down that my goal was a good average speed and to stop worrying about Dave, but of course I still thought about him lurking back there. But mostly I was concentrating on avoiding weeds – any time I had to cross a weed bed, I tried to keep my boat perfectly parallel to the current so my bow wouldn’t cross the weeds. And that actually seemed to mostly work.

Working my way through the c-2s, I liked to take a brief rest in the stern wake of one and then sprint ahead to the next. At one point there were two C-2s side by side but they kept coming together and nearly hitting each other, then parting. The first time, it looked like one of them was swerving to avoid a stump, but I’m not sure about the other times. Whatever, I wasn’t going to go up between them in spite of how cool a double wake is.

Later, about 500 meters from the turn buoy I was with two other C-2s and I didn’t want to try turning with them so I put in a dig and got ahead of them. But in doing so, I banged my rudder really hard on a rock. (The rudder made it through the race, but it’s going to need a bunch of epoxy to fix it now.) Rounding the turn I got a glimpse back and realized Dave wasn’t on my stern any more. He was about 30 seconds back, but riding the stern wake on one of the big stock C-2s, getting a good ride and primed to power ahead at some point and demolish me like he usually does.

I continued to not look back, just try to keep a good pace and not get any more weeds or hit any more rocks on the way back up. At the take out for the portage, I snuck another look back and could see some C-2s a minute or so back, and I wasn’t sure if Dave was in that group or not.

Without 3 rivals right around me, I don’t think I was quite as fast on the portage this time, but I’d also already done 15 kilometers of paddling so I was pretty tired. It felt good to stretch my legs a bit. As I dropped in at the end of the portage, I could see the c-2s had closed the gap a bit, but I still couldn’t tell if Dave was with them.

On the way upstream, I saw Eric in his way downstream and he said something about “them” being about 100 yards back. I don’t quite understand that, because a minute later I hit the turn and glanced back, and I couldn’t see anyone, canoe or kayak. I still was sure Dave was just biding his time to come smashing through.

I kept that sense of paranoia and impeding doom all the way through to the finish. I put in a nice strong finish sprint, which is unusual enough for me, but especially after 21 kilometers of racing. Turns out I needn’t bother, because Dave was actually about 3 minutes behind me. I guess sleeping in a real bed instead of a borrowed air mattress didn’t work out so great for him.

So like I said on day 1, I don’t know why I do this race, but I’m always glad I do.

Madrid Regatta Day 1

“Why do I do this”? That’s a question that occurred to me a few times this weekend. I mean, the race course is shallow and weedy, which are two things I hate. But on the other hand, it’s the first 2 day race I ever did, and so far in the 3.5 times I’ve done it, it’s always been gorgeous weather. The organization is pretty good, and they allow us to camp on the grounds so that’s pretty cool, and it keeps the costs down.

Day 1 is 9 miles, including a 1/4 mile portage around a dam (and skirting the edge of our campground). I had planned to drive up early in the morning, arriving in plenty of time to get my surfski and video cameras ready to in time for the race. And instead what I did was have an incredibly sleepless night, leave an hour before I’d intended to, and have so much time before the race that I actually had to time to set up my tent and realize that in spite of all the tossing and turning I did mulling over the things I needed to remember, I forgot my air mattress. Although I did remember my air mattress pump.

Once again there was hardly anybody in “Unlimited” kayak – just me, Eric Y, and JM. I could guess where I would end up in that group. “Touring” was a bigger group, with Dave W who usually beats me, Chris L who I’ve only raced against twice and he beat me, Bob R who beat me badly at the USCA Nationals in 2018 but who I’ve barely beat a few times since, and a few other guys who probably wouldn’t be a threat.

At the gun, JM and Eric Y took off like a shot. At first, Chris tried to tag onto their wakes, and I got on his side wake. He quickly gave up trying to stay with them, but I really wanted to make him lead rather than doing my usual thing and towing all my rivals around the course. Dave of course was going to stay on somebody’s wake no matter what. And after the initial burst of speed to try to stay up with JM and Eric, we slowed down so much trying to make each other lead that it felt like a “track stand”. And of course, I was the first to blink and say “I didn’t come here to paddle at 9 km/hr” and head off at my own pace, towing Chris, Dave and Bob.

The canoes were cutting it in tight on the corners but we don’t try to divine their motives. I was just trying to avoid weeds – the bow of my V10 Sport (and Bob’s V8 Pro) is completely vertical at the water line and if it crosses a weed you’ll never get it off. I try to “bounce” the boat to shake off weeds, but it doesn’t work very well and I probably have a 5% success rate at best. I had picked up a very small amount of weed by the down stream turn but it wasn’t slowing me too much.

At the down stream turn, I tried to a bit of a sprint – sometimes you can get a gap at a turn and make it harder for the hangers-on to get back on your wake. I did get a tiny gap, but I couldn’t hold on and they caught back onto my wake pretty quickly.

About a quarter to a third of the way back to the carry from the down stream turn, I’d picked up some more weeds and evidently it slowed me down enough that Bob decided to take the lead. There was a bit of a shuffle around and now it was Bob, with Dave on his side wake, and then Chris sort-of on Bob’s stern wake, and me on Dave’s stern wake.

I don’t know if it was somebody practicing race craft, or just the varied depths of water, but the two ahead of me would suddenly speed up to 11+ km/hr forcing me to pull hard to get back into their wakes, then they’d slow down to 9 km/hr. The weeds on my bow made it a hard pull if I was even a foot behind Dave’s stern, so I was in as tight as I could get. But with the speed fluctuations, I tapped Dave’s stern a couple of times. I tried to turn aside when he slowed down, but sometimes I didn’t react quite fast enough. Dave didn’t take it well, and yelled at me a couple of times in the heat of the event. (We had a good laugh about it afterwards, so no hard feelings I hope.)

About a kilometer before the portage, I decided I wanted to be in the lead again. I’m pretty sure I can get started on the portage pretty quickly because I practice this stuff, but I know I’m pretty slow doing the actual carrying part. At least getting to the take out first would keep me out of any pile up at the start, even if there’s nothing I could do about there being another one at the end. And sure enough, I got to the put-in right behind Chris and Dave and slightly ahead of Bob. Unfortunately I couldn’t squeeze in until Chris and Dave were basically leaving and then Bob kind of landed right beside me. Chris and Dave had a good gap on me, and I couldn’t close it down. On the other hand, I got a decent gap on Bob, but he managed to catch me up about 3 kilometers later after the turn at the top. And we battled back and forth until we were almost in view of the finish where I put in a dig and managed to get ahead of him. I did a pretty decent finish sprint and he didn’t manage to come around me.

Final results had less than 45 seconds between Dave and Rob, with Chris and I in between. A very close race.

https://8bdce5ef-bba3-4ac8-8e96-78d2f609ef87.filesusr.com/ugd/026337_4f210a930a044c0ca1f35f8359d82e5a.pdf