How to cough up a lung in the privacy of your own attic

So anybody who follows me on “athletic” social media (Strava, Garmin Connect, etc) probably knows I have a new wrinkle in my winter training on the KayakPro ergometer. I bought their new “Genesis Port” bluetooth adaptor and a subscription to Kinomap. This allows me to “race” against geo-referenced videos. Of course, the first thing I did was upload a bunch of my own race videos ( – I figured they’re the best training because they’re the right length and speed. Grayson Bourne, the president of KayakPro (and former(?) British kayak champion) has uploaded a bunch of his own videos as well, but I didn’t want to challenge them, because he’s a LOT faster than me. Also his videos tend to be shorter than mine.

Also, another paddler who makes YouTube race videos that I follow on social media goes by either “Szechung Kayaker” or “Chris Sze”. He lives in Bishops Stortford England, and I’m intensely jealous of how much racing they do there, even if it is on narrow canals in narrow little sprint boats. I was watching one of his recent videos and it suddenly struck me that

  • He’s paddling a pink KayakPro boat
  • One of Grayson’s videos is of a pink KayakPro boat in Bishops Stortford.

Hmmm. I wonder if Grayson just used on Chris’s video? I definitely had to try that route now. It’s only 5.6km, which means it’s pretty much an all-out sprint, but I did a couple of long distance workouts this weekend, so why not?

When I’m racing against my own videos, I’m the only person whose ever done them. Which is fine, but it takes out some of the competitive aspect. This one had a lot more people on it – I think it was 9? Certainly enough to make it a huge challenge.

Right off the gun, there were two people who jumped right out front – literally 100+ meters ahead before the first kilometer was over. There was one guy who was more like 20 meters ahead, and one guy who was 20 meters or so behind. Right, I thought, my work is cut out for me – just keep between these two guys and hope they tire before I do. Very much a familiar race tactic for me, except there was no wake to ride.

Like I said, I was treating this like a sprint, so instead of the 10.6-10.8 km/hr I usually make on the erg (and I don’t think it’s calibrated, because that’s on race courses where I usually average about 10.4-10.5 km/hr), I was making 12.2 km/hr. It was hard, but I was counting down the meters to the end, as well as watching those two names and the meters distance to each one. The guy ahead moved further out, reaching somewhere around 100 meters by the turn around, while the guy behind me got closer and closer, coming within 9 meters in the same distance.

But with about 3 km to go, the guy ahead of me must have slowed down to catch his breath or stopped to have a drink, because suddenly I was ahead of him, while the guy who was behind me dropped a bit further back to about 14 meters. I fooled myself into thinking they’d both gotten tired, but I was already giving it everything I could. The only thing that thought did was prevent me from slowing down, because I really wanted to slow down. But they both got their second wind or something and both of them passed me. I contested that sprint like I battling side-by-side with Dave W at a NYMCRA points race, but both of them beat me, the one who’d been behind most of the time beating me by 1 second.

I like this idea of doing shorter, harder sessions on the erg. I’ve heard there’s a way to use Kinomap for interval training, I’ll have to look into that as well. I know I work harder in intervals if there are other people with me, so maybe this will help.

Fingers crossed, I might have this figured out

I’ve ranted about all my problems with GoPro cameras here numerous times. I think I might have this finally figured out, just in time for the last points race of the season.

I bought these two GoPro Hero 7 Blacks over the winter. I had a GoPro Hero 5 Black and a GoPro Hero 5 Session, and they were both working great at 4K at 30 frames per second (fps), but I really liked how much smoother action was when shot at 60 fps, and so when the Hero 7 was announced supporting 4k/60, I jumped at the chance. I bought one and tried it out in some winter paddling, and was blown away with not just 4k/60, but also the amazing “Hypersmooth” image stabilization. So I bought another. Both times I was able to take advantage of deals where you sent in old cameras and got $100 off – I used that to get rid of some non-functional and/or horrible non-GoPro cameras.

GoPros, like most action cameras, have between an hour and 80 minutes of battery life. If you look at their promotional videos, you see a lot of people doing short intense action, like bombing down snow board runs or surfing or rock climbing. All things where you can record, then stop and change batteries. You can’t do that when you’re trying to record a 1.5-2.5 hour kayak race, so I’ve always searched out external battery solutions, preferably ones that are waterproof. (I wrecked more than one camera with a home-brew waterproofing solution.) Last year I had good luck with this “sidecar” battery from Orbmart:

Unfortunately I’ve had problems all season with the cameras just shutting down for no apparent reason. I tried a bunch of things, but eventually came to the realization that the problem is that they were overheating. I blamed the waterproof case that trapped the heat in. Then I got an external battery that didn’t require putting them in waterproof cases, but while I’d get 4+ hours with that in testing, out in the boat they’d usually work but sometimes they would flake out on me. Then a week ago it stopped working entirely. It wouldn’t charge, it wouldn’t discharge and the manufacturer has been very slow to respond.

But the heat problem wouldn’t go away. I reached out to GoPro, and they pointed me to a support page on their website that basically said “don’t try to use our high quality settings, unless you’re willing to take short shots and let it cool down between shots”. Once again I’m reminded that long duration stuff isn’t their target market. So I’ve given up on 4k/60fps. I did some testing, and I got reasonable results at 4k/30fps. And at 1080p/60fps. That’s the trade-offs I was making with my Hero 5s – last year I shot some races at 1080p/60 to get smoother action, but I shot Long Lake at 4k/30 because the scenery is so beautiful. I’m really not happy that I upgraded my cameras only to use the same resolutions I was using with with the old cameras.

But a few more experiments and I’m 99% sure I can get away with using the 2.7k/60 mode on the GoPros. I did a paddle last night and got nearly 3 hours with the sidecar battery.

It takes a few changes in work-flow to use 2.7k in Final Cut Pro – for instance, I usually take all the clips from one camera (because GoPros actually break your long video into chunks just over 8 minutes long for some reason) and make a compound clip from it and drag that into the timeline. But doing that with 2.7k clips make a compound clip at 1080p by default. Even when you do a “custom resolution”, you can give the proper 2.7k resolution, but it will make it 30 fps (actually 29.97) no matter what you do. But if you drag all the clips into the timeline and make it into a compound clip there, it picks up the correct resolution and frame rate. I haven’t yet figured out if Garmin VIRB Edit will do 2.7k, I’ll have to experiment with that tonight. If not, I guess I can do the data overlay in 4k and let Final Cut Pro resize it.

So I’m going to Long Lake this weekend with my cameras set to 2.7K/60fps. Keep your fingers crossed that everything works.

Baycreek SUP/Kayak Cup 2019

Yesterday was the Baycreek Cup, hosted by Baycreek Paddle Center. The race is out and back on Irondequoit Bay, however as a concession to the shallow “suck water” and weeds in the channel leading from Irondequoit Creek and the bay, the start was moved out to the channel leading out of the marina at the foot of the bay. It still finishes at Baycreek in the creek, so it’s important to keep some energy in reserve to power through that last 800 meters. Fortunately the race is only 12 and a bit kilometers, so that’s not too difficult.

It’s nice having a race in your own back yard, because you can practice the course over and over again. The first couple of times I paddled it, I was really concerned about the channel because about 500 meters of it was so weedy that I got stopped dead and could only move forward by shuffling my weight. Some of the paddle boarders nearly got knocked off their boards, such was the sudden stop when you hit this stuff. Fortunately the race organizer, Ken, arranged to drive a rented power boat up and down the channel until they’d chopped a path through the weeds. I’m sure the boat rental agency weren’t thrilled with that, but it made this way better for us. The path was only a boat wide, though, so it would be important to be in the lead of any group you were in when you hit it because there wouldn’t be any passing, and who ever hit the open water after it could really put the hammer down and drop people.

In our practices, Dennis was constantly dogging my steps, either side by side with me or riding my wake. I knew I’d really have to be on my toes to not let him get the better of me. I was figuring worst case he’d ride my wake for until near the end and then sprint around me to grab the channel first, and best case we’d trade off leads all the way around and then it would be a matter of timing and sprint power at the end. After our practices, I thought beating 70 minutes would be an attainable goal, especially if I could cooperate with Dennis.

Race day turned out to be windy. Standing at Baycreek getting ready, the flags were indicating a very strong wind directly up the length of the bay, meaning a fast first half and a horrible slog coming back. It was also predicted that above the bridge the waves would probably be pretty rough at the turn around. I liked the idea of a fast first half, wasn’t too thrilled about the turn around or the slog back. But when we paddled out to the start, the flags out there were indicating a wind directly across the bay. The waves were still pretty much heading north, but the wind was pretty much west to east, making me think the wind hadn’t shifted that long ago and maybe they’d turn completely around during the race. Ok, that would make things tricker, and maybe easier if they turned into a tail wind for the trip home. Not that the bay ever does that – it’s far more likely to give you a headwind in both directions in my experience.

As we’re milling around at the start, everybody helped each other checking their rudders for weeds picked up coming out through the channel and such. Jim wanted to dock up with me to get stability to mess with his GPS, and he was still fiddling with it when Ken gave us the 10 seconds to start notification. We quickly extricated ourselves from each other and got ready to go.

Jim leapt off the line like he usually does, and continued straight up the channel. I, on the other hand, headed more out into the bay, hoping to pick up more of that tail wind that I was hoping was still out there. We’ve discussed this difference in route in practice sessions, and Jim’s route is definitely better if there is a head wind because he stays in the wind shadow from the point, and also he stays in deeper water so less drag (or “suck” as we usually refer to it). But my way is more direct, and like I said, I was hoping there might be remnants of the tail wind and/or waves from behind more towards the middle of the bay. It didn’t really work out that way, and not long after the start the waves were definitely from the beam, although pretty small.

I risked a couple of glances around and I could see Dennis and Mark had opted to follow Jim up the channel, and the first time I spotted them they seemed about even with me. That was concerning, especially if they worked together. I increased my stroke rate and tried to make some more progress against the unfavourable winds and waves. Sometimes it seemed like the waves were coming from in front, and sometimes from the side, but the wind was mostly from the side, and I was certainly slower than I’d been in practice.

Nearing the first point, I took another glance around and saw Dennis and Mark were out of the channel and heading straight towards me, although a few boat lengths behind. I was still convinced it was a matter of time before they caught me, so I tried to speed up even more, pacing be damned. At the point, one of the race safety kayaks was there and I gave them as good a nod and a hello as I could manage.

Under the bridge I went, and the waves got noticeably choppier. But they were still coming from the side, which for reasons I can’t entirely explain made turning at the turn-around marker much easier than if they’d been from behind. I took the turn pretty wide to keep my speed and stability up, and was amazed to see Dennis was now a fair distance behind and Mark was even further behind. Maybe the chop was bothering them more than it bothered me. I guess I could afford to slow down a smidge and recover, but I was still aware that Dennis is far fitter than I am and could catch up at any time if I were to blow up or slack off.

I noticed that after the turn, Jim had headed over to the upwind side of the bay. I guessed he was hoping to get out of the wind. I considered it, but it seemed like it would add a bit of distance to the race, and also the shoreline on that side is quite irregular so it would be hard to stay out of the wind without going into and out of all the little embayments. He told me afterwards that while he was hoping to get out of the wind, his secondary goal was to find a boat coming out of one of the many marinas on that side and ride their wake.

I tried looking around for Dennis a few times on the way down and couldn’t see him. I couldn’t understand, I was sure that meant either he’d dumped it out there and was miles behind, or he was right on my stern wash and I couldn’t see him because I wasn’t turning all the way around. I found out afterwards he’d followed Jim’s strategy, figuring he didn’t have anything to lose and he might get an advantage over me. It seems to have only added 150 meters or so to his distance compared to mine, so maybe it was worth it? I guess we’ll never know for sure.

But in my uncertainty, I had to be extra vigilant to make sure I didn’t let my speed drop. I bobbled a couple of boat wakes and had to stop paddling once or twice to brace, and I was sure I was setting myself up to get caught. But every time I did I’d look down at my GPS, concentrate on getting a good snap of the blade out of the water, and watch my speed increase by 0.3 to 0.5 km/hr.

After the bridge, it was less rough in the southern bay but the wind was still being a pain. It was either straight in my face or off to the right, and quite gusty. And the boat wakes were more numerous. I only saw boats heading north, so I guess that’s why Jim didn’t get those boat wakes to ride.

Also in the south bay I was starting to pass the stragglers of the paddle board race. One of them was ahead of me and only a few hundred meters from the entrance to the weed channel, so I put on another major effort to get ahead of him. The last thing I would have wanted was to get stuck behind a paddle board going 2 km/hr slower in the channel and allow Dennis to catch up. But after I passed him I could relax a bit and recover knowing that nobody was going to pass me until the other end of the weeds. And once I got there, I put in one last sprint under the road and across the line at the shop.

Afterwards, all there was to do was to wait for Dennis and Mark. I don’t have the official times here, but I think I was about a minute and a half ahead of Dennis and maybe another minute to Mark? Both Jim and I missed our goals by 2 minutes, which I guess is the rough water and unfavorable winds factor. Still, a fun tune-up race for next week’s Long Lake, great atmosphere, good food, and the band that Ken hires every time are still as delightfully bad as they always are.

Maybe back to the drawing board…

I had this idea for an app to handle registration and results for kayak races. I had the following requirements in mind:

  • It must work when off-line
  • It must work on laptops and tablets
  • Preferably, it will sync up with a server when it is on-line
  • It must not require any installation or other technical futzing around because my target audience (the people who run kayak races) are not all very technically sophisticated.

After that, my idea was to make a proof of concept, and incrementally improve it as I got more ideas and maybe got some interest from others. I also wanted it to be a web page (with supporting JavaScript and CSS files), one that I could just give people a zip file and they could unzip it and open index.html in their browser and be good to go.

I discovered PouchDB, which would take care of the storing information locally in the browser when off-line, and also would sync to a server when it came time to do that. And so off I went programming away. My little proof of concept was humming along, it could accept registrations and display and edit existing registrations, and I was well set to add results entry and display, when I thought to try it on the bane of every web developers lives, Internet Explorer.

First problem: IE reports the ‘fetch’ is not a valid function. Fortunately, the documentation for PouchDB warns you about that, and says to install a polyfill. So I install it, and now IE reports ‘Promise’ is not a valid function. Hmm, no mention of that in the PouchDB docs that I can find.

Can I just mention as an aside that the PouchDB docs do say that it supports IE 10 and IE 11? Yeah, about that…

Thanks to an answer on StackOverflow, I find another polyfill for Promise. Now IE reports that you can’t use IndexDB on web pages that are loaded as files rather than as URLs. Not sure what to do about that except tell people to stop using IE. It appears that with my polyfills and stuff, it does work in Edge, at least. Small mercies.