A Real Life Off-By-One Error
September 01, 2024 ( Prev / Next )

Or maybe, "Always Get Someone To Do A Second Review If The Change Isn't Trivial"? I'm not sure. Maybe the analogy here will stretch too far, but let's see.

The Championnats d’Europe d’Escalade (climbing) in Villars-sur-Ollon has just finished. I couldn’t make it to all the events, but did see the finals of the “Speed” event. It’s a series of head-to-head elimination races up a 15m tall wall, resulting in an eventual victor after enough rounds.

Speed climbing is a bit like skateboarding at the Olympics: absolutely in no way a real representation of what it’s like to do it for 99.99% of people who skate/climb, and apparently it’s scoffed at by most of the community; but it’s entertaining nonetheless to the layman, and brings spectators in so why not include it?

I have a surface level knowledge of the competition, informed only by the fact that it has happened in the village for the last few years. I know that the route in speed climbing is always the same, to allow comparisons of timings across the years. There’s probably a number of other factors that can’t be controlled, like is the fact Villars is at 1,200m above sea level enough to make a difference? But anyway, they control the ones they can.

The competition started and got through a number of rounds. There were some comments about how the climber on the left always won. I thought maybe the stronger (according to previous results?) climber was assigned the left lane. Maybe there’s some psychology there if you see the left climber always winning and then you’re up next, on the right?

Nah, surely it’s just a coin toss?

I was looking at the wall thinking it’s interesting that the route has been standardised since the inception, and I wondered if they’ve ever had an event happen with one side being subtly different to the other; such that it would (now?) invalidate the results, or they’d (at the time) have to fix it then restart the competition. Then I looked a bit harder and thought that something seemed off.

It seemed off anyway as there was a banner running down the middle of the wall with sponsor logos and other such things on it, but this wasn’t perfectly centered. This gave the impression that the right lane was a little thinner than the left lane. Or was the banner actually perfectly centered and something else was off? One of the holds was giving the impression that the banner wasn’t centered because the hold wasn’t correctly placed with respect to its counterpart?

I was convinced something was wrong so took a photo on my phone and then zoomed in to look closer.

Yep. The fourth hold from the top in the right hand lane was off by one with respect to its counterpart in the left hand lane. I assumed that this mattered, given the route was supposed to be standardised, and if they realised this after the event it would be a bit of a farce. Especially so if a record was set.

I wandered over to find someone to tell, but as I was looking for an official there was an announcement over the PA system that there was a problem with the wall that they needed to change. Someone else had spotted it! The cherry picker was moved into place to fix the wall. This took about ten minutes, but as this was happening I realised they were fixing something else. The announcement explained that they were replacing the ropes.

A few of the climbers had said that the automatic belay ropes on the right hand lane did not feel right, so the cherry picker was replacing those and not the hold that I had noticed being out of place. The climbers had noticed something wasn’t quite right, but hadn’t said anything about the out of place hold.

I wandered over again to find someone to tell. I wasn’t sure who, but found a couple of people in (what appeared to be) team jackets and showed them the photo. One of them quickly ran off to tell an official. An announcement was made that there was another issue with the wall that needed to be fixed and the cherry picker moved back into place.

So now the wall was fixed, but it seemed even more off as the hold being in its correct position slightly overflowed onto the banner. Which made the banner look incorrectly placed again. It was right, but it looked wrong. It had always looked wrong. That was the point, at least when there was a banner running down the middle.

Maybe I spotted the issue because of the photo I had taken a couple of years previously, and the only time I watch speed climbing is when it happens here in the village so I’m not visually fatigued by a hundred views of the same thing.

Or maybe if I had seen it a hundred times I would notice it anyway. The evidence suggests not, because the people who do this and watch this all the time hadn’t noticed it. There’s some sort of lesson here about how any repetitive manual process will, given enough time, result in a mistake. I assume it would be trivial to at least automate the checking of the wall once it has been constructed1.

The kicker is that the out of place hold hasn’t been used in a long time. The climbers have optimised their route such that it is skipped. The same happens to the fourth hold from the bottom. So either being in the wrong place is immaterial to the climbers’ technique as long as they don’t get in the way. Maybe that’s why they didn’t notice it?

If this were actual code review the correct comment would be something like “this [piece] hasn’t been used for years, it should be deleted”. But this is something in physical space, and there would be arguments that removing it (them) means the route has changed, thus times are no longer comparable.

Also, maybe in future someone will optimise the route using that currently unused hold four down from the top? It’s possible - for years people were saying a time under five seconds would never be achieved.

The current world record stands at 4.74s.

Maybe when the record is unbeaten for more than a couple of years they should throw it all away and start with a brand new route?


  1. Yeah I shoehorned AI into this blog post without actually mentioning “AI” because, FUCK IT EVERYONE IS DOING THAT. 

photography, software