National Programmer’s Day
What the day is
National Programmer’s Day falls on the 256th day of the year, which is September 13 in most years and September 12 in a leap year.
Origin and background
The number is both the joke and the point. 256 is two raised to the eighth power, the count of distinct values that eight binary digits can hold, and eight binary digits are a byte. It is also the largest power of two that fits inside a calendar year, which makes it the only possible candidate. The observance was given official recognition in Russia in 2009, having circulated among programmers for years before that.
The 256 values in a byte are why so many limits in computing are oddly familiar numbers. A single byte counts from 0 to 255 rather than 1 to 256, because zero is one of the values, and that single step of difference is the source of an entire genre of bug. Older games that broke at level 256, image formats holding 256 colors, and character encodings with 256 slots are all the same constraint showing through the surface.
Counting from zero is not an arbitrary taste either. An index is really an offset from the start of a block of memory, so the first item sits zero units along from the beginning, and the convention falls out of how the hardware addresses memory rather than being imposed on it.
The date itself is a small problem for calendars. Because it is defined by day-of-year rather than by month and day, it shifts in leap years, and any system that stores it as a fixed September 13 will be wrong in 2028 and again in 2032.
That is a fitting difficulty for the occasion, since date handling remains one of the most dependable sources of software defects there is.
How to take part
- Work out which day of the year today actually is.
- Thank whoever maintains software you depend on and never think about.
- Read about off-by-one errors, which are much funnier from a distance.
- Check whether your own calendar has this day on the correct date.
Celebrate National Programmer’s Day
As an Amazon Associate we earn from qualifying purchases. These links open Amazon search results.