The Order of the Off-By-One
< versus <=. Index zero versus index one. The smallest bugs cause the strangest failures.
Award it to someone today. Your own email app sends it.
Physical coins and stickers are coming soon. Until then, you can email this coin for free.
Meaning
< versus <=. Index zero versus index one. The smallest bugs cause the strangest failures.
Design
Front (Obverse)
- Top rim: THE ORDER OF THE OFF-BY-ONE
- Bottom rim: BOUNDARY CONDITIONS DIVISION
- Center: Eleven knights crowd around a round table built for ten. Their seats are numbered 0 through 10, and the last knight balances on the edge of the table.
Back (Reverse)
A scroll inscribed "THERE ARE 2 HARD PROBLEMS: NAMING THINGS, CACHE INVALIDATION, AND OFF-BY-ONE ERRORS".
Finish & Style
Antique bronze challenge coin, ~1.75" diameter, high-relief center scene, raised rim lettering, beaded outer edge. Matches the existing ITChallengeCoins series.
How to Earn It
- Find and fix an off-by-one bug in production code.
- Bonus if it was a fencepost error in a date range, pagination or array loop.
- Or write the unit tests that check the boundary cases nobody else thought of.
Citation
For counting carefully, starting from zero, and stopping exactly where it ends.