Not an off-by-one error—at
least not in spirit. Interesting nonetheless.
I expected the article to eventually answer this puzzle:
> The competition started and got through a number of rounds. There were some comments about how the climber on the left always won.
Near the end:
> 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.
So it seems like the error discovered by the article author should not have conferred any advantage to the climber on the left.
People are misunderstanding the meaning of an off-by-one error. Suppose the plan states that hold A and hold B need to be 11 holes apart. In the true spirit of the off-by-one error, this can be interpreted in 3 ways:
- either as 11 empty holes between the holds;
- as 11 holes, start counting 1 just above hold A;
- or as 11 holes, start counting with hold A as number 1.
Another real-life example, is a plumber who tells the construction worker that the distance between the holes for hot and cold water needs to be 15 cm. This was meant to be measured center to center, but the constructor worker interpreted it as the distance from the right side of the first hole to the left side of the second. The result can still be admired in our house, 10 years later.
The climbers had complained about an issue with the belay ropes on the right side that they also fixed.
> 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.
> So it seems like the error discovered by the article author should not have conferred any advantage to the climber on the left.
They might not use the hold by physically touching it, but they might still use it as a visual indicator of where the other holds are in relation. These competitors are used to the same layout for many years. If there is a slight misrepresentation it can surely put them off.
It's true that modern competitive speed climbers don't use that hold. The collective optimization of the route is hilariously serious (it's an olympic sport after all) and the different optimizations have names, like 'The Tomoa Skip'.
But I think it's possible that 'extra' holds are potentially like 'junk' DNA. People fall into the trap of thinking that DNA is useless if it's never transcribed, but we know that's not actually the case. Non-expressed DNA can do things like alter binding affinity for neighboring sequences, affecting how often those neighboring sequences are expressed. I think it's possible that climbers are taking in a lot of information subconsciously as they sprint through this route in order to mike very small adjustments. The position of surrounding holds, even ones they never touch, could very well be a part of that information stream. They're fighting over hundredths of a second, so even a very small effect could be meaningful.
Even if the out of place hold were used, would you then conclude it to be causal? I still wouldn't rule out coincidence. Many discoveries happen as a result of investigating spurious patterns.
Also the author rules out psychology, but I wouldn't, especially since there were multiple confirmed errors in the route preparation, which I expect could reduce one's trust in the fairness of the competition. In the moment, I might start to wonder, "If one hold was out of place, why not more? Is anyone even checking this?" even if untrue / unlikely.
They run the whole 15 meter up in about 5-10 seconds (quite amazing to watch: https://m.youtube.com/watch?v=8O4g8JmWn9E ). At that speed, a small disturbance from the path they internalized means that they need to switch back to thinking which will take them out of their flow.
In terms of real-life off-by-one errors, it's hard to beat the town of Wemding in Bavaria (Germany).
Here a pyramid of 120 blocks is planned, with one placed every ten years. It started on the 1200th anniversary of the town, and is planned to be complete 1200 years later... and I'm sure you've spotted the problem.
If you cross your eyes and look at the routes as if it were a single stereoscopic image overlaying one route on top of each other, the misplaced hold jumps out at you immediately.
I don't understand how this works. If I cross my eyes, the images become extremely blurry. I can't even tell if they are precisely overlapping or not, let alone see if one of the holds is out of place.
Good idea. I just tried that on the first image of the whole route (after zooming in a bit) and the misplaced hold looks like it's floating in space away from the wall.
I tried this, and while I didn't have any difficulty establishing a stereoscopic view it didn't jump out for me at all. I perceived the blue line floating on top of the problem handhold, but the handhold seemed to be on the same plane as all the others. Knowing it was the problem one, I could use the stereoscopic view to see it, but without already knowing I don't think it would be apparent.
This is odd to me since I've successfully used stereoscopy in the past to find small differences. For some reason, with this image, rather than causing a change in perceived z-level, my eyes fight for dominance and my left ends up winning.
> 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.
Hmm, I think the correct analogy is rather a benchmark. Like code in a benchmarking tool or test, the whole climbing course does not serve any purpose, any actual goal, except to be completed as fast as possible.
You wouldn't say "these instructions should be deleted because branch prediction and speculative execution in recent years have made it so that total cycle count is the same without them", for the reason stated ultimately after in the article already: That may not have been true in the past, and may change again in the future.
> "these instructions should be deleted because branch prediction and speculative execution in recent years have made it so that total cycle count is the same without them"
Then a new CPU architecture becomes popular, and spiders start winning every speed climbing event
My analogy is that "The bug is in the error-handling portion of the common fast-path speed traversal of the climb."
The fast path that the speed climbers commonly use doesn't involve the slower path involving the buggy portion.
But if the climber can't get up/further using the fast path then the climber may be forced to take the slower path.
Since the slower path is standardized, the climber knows how much effort/time is needed on the slower path.
Except on the righthand side, the climber's typical effort along the slower "buggy" path is different from the typical slower path and will result in an even slower time aka the execution time in the error-handling path is larger than usual...
> You wouldn't say "these instructions should be deleted because branch prediction and speculative execution in recent years have made it so that total cycle count is the same without them"
This is a very different statement than the original, and furthermore the original might actually trigger performance issues e.g. while the operation might not be used anymore it can have side effects (like triggering a prefetch) which end up affecting downstream code.
In the benchmark analogy, that piece would be a line of code that can be optimized away by the compiler. It could still matter if the code (course) is recompiled (rerouted) for a different architecture (climber).
I discovered an off-by-one error in college as I was graduating. Apparently the "class plan" I had put together with an advisor during my second year was missing a class, and I discovered it as I petitioned it for graduation. "You're one class short."
(It was for my second major, not the primary one, and the head of the physics department was nice enough to credit a nonlinear optimization course from engineering toward the major, so I earned it.)
That's a fantastic find. I imagine some standard CV tool can spot this since the holds are grid-aligned. We should probably have something like that. It's crazy how good human pattern-recognition can get when trained on things. What a spot by you.
> 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?
There's been some discussion of having new speed routes every few years. I think this would make the event a thousand times more interesting. That said, I'm still not sure I'd be interested.
The number on your yearly "birthday" is not the number of birthdays you had (you only have one birthday) but the number of years you survived since your birth.
So the day of your fifth birthday is the first day of your sixth year alive.
Jewish law sometimes counts from 1 instead of 0 for birthdays, so a newborn is not 0 years old, they are in their 1st year. (But it's written as "when they are 1", so you have to know which counting method is being used.)
Seems bizarre to keep the same wall config for all of time. The sport becomes about muscle memory more than anything else. The competitors can literally turn off their conscious brain. It would seem to me, it would be more exciting as a spectator and competitor if they had to problem solve on their way up there. Records could be less about best times and more about how many rounds did someone win in a row or something.
They could even still incorporate the one standardized wall config as a speed round once in a while or integrate it into the competition in some other way.
The same wall config is only for the speed competition. There has been debate about changing it though, cause like you said they become muscle memory and hyper-optimized.
There are other forms of competition:
- bouldering: how many of 4 short boulder problems can you finish
- lead: how high can you get on a longer, higher route (pictured on the right of the image in the article)
In these ones the problems are switched up every competition.
I don't watch this event but, coming from other sports, I think there's more to this than sheer muscle memory. Humans are not machines. Sometimes you compete with ongoing or lingering injuries. Conditioning changes even for the most disciplined of athletes. All of these mean that a different approach might be warranted for each event depending on your "set-up".
Not to mention other variables outside of the human body. Perhaps the type of rope could matter in your performance. The age of the holds could matter too; even when the governing body standardizes on a replacement period for holds, I'm sure competitors would have strong opinions about the difference between a hold at the start of its service life versus one about to be replaced.
Also, the one thing I love seeing in physical contests is how competitors eke out the last bit of performance advantage with sheer willpower. Muscle memory takes care of the actions but performance and willpower is a conscious effort.
In short, no, I don't think competitors can literally turn off their conscious brain and just let muscle memory take over. If a field has jargon, there's a hell lot to geek over it.
Once an activity has become a “competitive sport” it has a way of prioritising “measurable” over meaningful or enjoyable. When you develop a critical eye for this aspect of sport, the Olympics stop being enjoyable and become an utter horror of human maladjustment, a horrid parody of what it alleges to stand for.
> Also, maybe in future someone will optimise the route using that currently unused hold four down from the top?
This reminds me a lot of how Brood War meta changes as new 'bugs' are discovered, since the fandom loves the game without it ever being touched so when edge cases are discovered they become part of the game rather than something to be fixed.
My favorite off by one error is that the index of a count down is always one less than the amount that you subtracted. This means if you count up and down at the same time, you won’t count the middle number twice.
1: 1, 10 :0
2: 2, 9 :-1
3: 3, 8 :-2
4: 4, 7 :-3
5: 5, 6 :-4
Since the sum on each line is 11, the sum of all the numbers from one to ten is 55.
The cool thing is that this generalizes
1: 1, N : 0
2: 2, N - 1 :-1
3: 3, N - 2 :-2 <-sum is N+1
…
N/2: N/2, N -(N/2)+1 => N/2+1
So the sum of N numbers is N/2 * (N/2+N/2+1) => N/2 * (N+1) if N is even.
It appears to be broken for odd numbers
1: 1, 9 :0
2: 2, 8 :-1
3: 3, 7 :-2
4: 4, 6 :-3
5: 5, 0 :-4 <- can’t reuse 5
But for odds, setting the odd number K equal to N+1, N is an even number so the total sum is sum(N) + N+1. We showed that sum(N) = N/2 *(N+1). So we have N/2 * (N+1) + (N+1).
But that means N/2+1 * (N+1) equals sum(K)
=> (N+2)/2 * (N+1)
=> (K+1)/2 * K
So the formula N/2 * (N+1) computes the sum of N numbers if N is odd too! It works for all numbers. Wow!
You wouldn't want to remove unused holds, because in the future, someone may find a more efficient path the makes use of that hold, but ignores other ones.
An AI image prompt could easily detect the misplace grip, but there's probably no other sport that needs to detect exact placements of things is there?
[+] [-] AEVL|1 year ago|reply
I expected the article to eventually answer this puzzle:
> The competition started and got through a number of rounds. There were some comments about how the climber on the left always won.
Near the end:
> 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.
So it seems like the error discovered by the article author should not have conferred any advantage to the climber on the left.
Anyone who can shine light on this matter?
[+] [-] jhncls|1 year ago|reply
- either as 11 empty holes between the holds; - as 11 holes, start counting 1 just above hold A; - or as 11 holes, start counting with hold A as number 1.
Another real-life example, is a plumber who tells the construction worker that the distance between the holes for hot and cold water needs to be 15 cm. This was meant to be measured center to center, but the constructor worker interpreted it as the distance from the right side of the first hole to the left side of the second. The result can still be admired in our house, 10 years later.
[+] [-] Arcuru|1 year ago|reply
> 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.
It was probably just two separate problems.
[+] [-] fsckboy|1 year ago|reply
Literally it was an off-by-one error. Literally, literal meaning.
[+] [-] Robbsen|1 year ago|reply
They might not use the hold by physically touching it, but they might still use it as a visual indicator of where the other holds are in relation. These competitors are used to the same layout for many years. If there is a slight misrepresentation it can surely put them off.
[+] [-] rockfishroll|1 year ago|reply
But I think it's possible that 'extra' holds are potentially like 'junk' DNA. People fall into the trap of thinking that DNA is useless if it's never transcribed, but we know that's not actually the case. Non-expressed DNA can do things like alter binding affinity for neighboring sequences, affecting how often those neighboring sequences are expressed. I think it's possible that climbers are taking in a lot of information subconsciously as they sprint through this route in order to mike very small adjustments. The position of surrounding holds, even ones they never touch, could very well be a part of that information stream. They're fighting over hundredths of a second, so even a very small effect could be meaningful.
[+] [-] throwawayk7h|1 year ago|reply
[+] [-] merizian|1 year ago|reply
Also the author rules out psychology, but I wouldn't, especially since there were multiple confirmed errors in the route preparation, which I expect could reduce one's trust in the fairness of the competition. In the moment, I might start to wonder, "If one hold was out of place, why not more? Is anyone even checking this?" even if untrue / unlikely.
[+] [-] ano-ther|1 year ago|reply
[+] [-] unknown|1 year ago|reply
[deleted]
[+] [-] NeoTar|1 year ago|reply
Here a pyramid of 120 blocks is planned, with one placed every ten years. It started on the 1200th anniversary of the town, and is planned to be complete 1200 years later... and I'm sure you've spotted the problem.
Matt Parker, the 'stand-up Mathematician' has a video on it: https://youtu.be/FAdmpAZTH_M?si=_u8fM-fprUWiEqZ9
[+] [-] delgaudm|1 year ago|reply
[+] [-] sukmaagung|1 year ago|reply
[+] [-] sebtron|1 year ago|reply
Am I the only one?
[+] [-] lilyball|1 year ago|reply
[+] [-] dkbrk|1 year ago|reply
This is odd to me since I've successfully used stereoscopy in the past to find small differences. For some reason, with this image, rather than causing a change in perceived z-level, my eyes fight for dominance and my left ends up winning.
[+] [-] pooriar|1 year ago|reply
[+] [-] anyfoo|1 year ago|reply
One comment on what the article says:
> 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.
Hmm, I think the correct analogy is rather a benchmark. Like code in a benchmarking tool or test, the whole climbing course does not serve any purpose, any actual goal, except to be completed as fast as possible.
You wouldn't say "these instructions should be deleted because branch prediction and speculative execution in recent years have made it so that total cycle count is the same without them", for the reason stated ultimately after in the article already: That may not have been true in the past, and may change again in the future.
[+] [-] bigiain|1 year ago|reply
Then a new CPU architecture becomes popular, and spiders start winning every speed climbing event
[+] [-] canucker2016|1 year ago|reply
The fast path that the speed climbers commonly use doesn't involve the slower path involving the buggy portion.
But if the climber can't get up/further using the fast path then the climber may be forced to take the slower path.
Since the slower path is standardized, the climber knows how much effort/time is needed on the slower path.
Except on the righthand side, the climber's typical effort along the slower "buggy" path is different from the typical slower path and will result in an even slower time aka the execution time in the error-handling path is larger than usual...
[+] [-] masklinn|1 year ago|reply
This is a very different statement than the original, and furthermore the original might actually trigger performance issues e.g. while the operation might not be used anymore it can have side effects (like triggering a prefetch) which end up affecting downstream code.
[+] [-] yccs27|1 year ago|reply
[+] [-] philip1209|1 year ago|reply
I discovered an off-by-one error in college as I was graduating. Apparently the "class plan" I had put together with an advisor during my second year was missing a class, and I discovered it as I petitioned it for graduation. "You're one class short."
(It was for my second major, not the primary one, and the head of the physics department was nice enough to credit a nonlinear optimization course from engineering toward the major, so I earned it.)
[+] [-] CoreDumpling|1 year ago|reply
[+] [-] dustincoates|1 year ago|reply
For some reason I find this a bit humorous. My dudes, you do not have much leverage.
[+] [-] renewiltord|1 year ago|reply
Also, by the way, where is the photo on your about page: https://images.squarespace-cdn.com/content/v1/60f40aa1942bba...
I feel like it's Crater Lake, Oregon, but considering where you live it's probably somewhere in Switzerland. Looks lovely.
[+] [-] stijnstijn|1 year ago|reply
[+] [-] leejo|1 year ago|reply
[+] [-] autarch|1 year ago|reply
There's been some discussion of having new speed routes every few years. I think this would make the event a thousand times more interesting. That said, I'm still not sure I'd be interested.
[+] [-] gre|1 year ago|reply
[+] [-] taraparo|1 year ago|reply
So the day of your fifth birthday is the first day of your sixth year alive.
[+] [-] ars|1 year ago|reply
[+] [-] Fred27|1 year ago|reply
[+] [-] fracus|1 year ago|reply
They could even still incorporate the one standardized wall config as a speed round once in a while or integrate it into the competition in some other way.
[+] [-] lostlogin|1 year ago|reply
Plenty of other sport are pretty much the same each time, particularly track and field.
[+] [-] francis-li|1 year ago|reply
There are other forms of competition:
- bouldering: how many of 4 short boulder problems can you finish
- lead: how high can you get on a longer, higher route (pictured on the right of the image in the article)
In these ones the problems are switched up every competition.
[+] [-] yallpendantools|1 year ago|reply
Not to mention other variables outside of the human body. Perhaps the type of rope could matter in your performance. The age of the holds could matter too; even when the governing body standardizes on a replacement period for holds, I'm sure competitors would have strong opinions about the difference between a hold at the start of its service life versus one about to be replaced.
Also, the one thing I love seeing in physical contests is how competitors eke out the last bit of performance advantage with sheer willpower. Muscle memory takes care of the actions but performance and willpower is a conscious effort.
In short, no, I don't think competitors can literally turn off their conscious brain and just let muscle memory take over. If a field has jargon, there's a hell lot to geek over it.
[+] [-] LeonB|1 year ago|reply
[+] [-] unknown|1 year ago|reply
[deleted]
[+] [-] devnullbrain|1 year ago|reply
Are you?
[+] [-] mst|1 year ago|reply
This reminds me a lot of how Brood War meta changes as new 'bugs' are discovered, since the fandom loves the game without it ever being touched so when edge cases are discovered they become part of the game rather than something to be fixed.
[+] [-] PeterStuer|1 year ago|reply
https://archive.nytimes.com/www.nytimes.com/library/cyber/we...
[+] [-] 10-22-38Astoria|1 year ago|reply
1: 1, 10 :0
2: 2, 9 :-1
3: 3, 8 :-2
4: 4, 7 :-3
5: 5, 6 :-4
Since the sum on each line is 11, the sum of all the numbers from one to ten is 55.
The cool thing is that this generalizes
1: 1, N : 0
2: 2, N - 1 :-1
3: 3, N - 2 :-2 <-sum is N+1
…
N/2: N/2, N -(N/2)+1 => N/2+1
So the sum of N numbers is N/2 * (N/2+N/2+1) => N/2 * (N+1) if N is even.
It appears to be broken for odd numbers
1: 1, 9 :0
2: 2, 8 :-1
3: 3, 7 :-2
4: 4, 6 :-3
5: 5, 0 :-4 <- can’t reuse 5
But for odds, setting the odd number K equal to N+1, N is an even number so the total sum is sum(N) + N+1. We showed that sum(N) = N/2 *(N+1). So we have N/2 * (N+1) + (N+1).
But that means N/2+1 * (N+1) equals sum(K)
=> (N+2)/2 * (N+1)
=> (K+1)/2 * K
So the formula N/2 * (N+1) computes the sum of N numbers if N is odd too! It works for all numbers. Wow!
[Edit: Formatting]
[+] [-] actionfromafar|1 year ago|reply
[+] [-] BobAliceInATree|1 year ago|reply
[+] [-] dwighttk|1 year ago|reply
I’m guessing the belay rope issue was real and the actual cause of the other lane always winning then.
[+] [-] quantadev|1 year ago|reply
[+] [-] polynomial|1 year ago|reply
[+] [-] db48x|1 year ago|reply
[+] [-] ClimberAcademy|1 year ago|reply
[deleted]