tantek.com

Happy World Piano Day¹!

Because there are 88 keys on a standard piano, the 88th day of the year was established as a day to “celebrate the piano and everything around it: performers, composers, piano builders, tuners, movers and most important, the listener”.

There are multiple websites about Piano Day:
* https://www.pianoday.org/
* https://www.worldpianoday.com/

And related #socialMedia and other profiles:
* https://www.instagram.com/pianodayofficial/
* https://linktr.ee/PianoDay
* Spotify playlist: https://open.spotify.com/playlist/2v022joEJ1ZUPi99NHDVNm?si=mmT4rDchTzW60KC3lsTksQ&nd=1&dlsi=2a348a57822c4217

I appreciate that Piano Day is on an ordinal day of the year (88th) rather than a Gregorian date (e.g. 8/8 or August 8th) which is subject to leap year variances. The 88th day of the year is the 88th day regardless whether it is a leap year or not.

From a standards perspective, we can express today’s Piano Day as 2024-088, an ISO ordinal date², however there is no standard date format for just "the 88th day of a year" without specifying a year (yearless).

There is (was) a way to specify a yearless month and day, like you might see as a birthday displayed on a social media site, without disclosing the year, or an annual holiday like May Day³, that is May 1st, without a specific year:

--05-01

This yearless date format (--MM-DD or shorthand --MMDD) was supported in the ISO 8601:2000 standard, but then dropped in the 2004 revision. This omission or deliberate removal was an error, because there are both obvious human visible use-cases (communicating holidays, and yearless birthdays as noted above), and other standards already depended on this yearless date format syntax (e.g. vCard and specs that refer to it like hCard and h-card).

Every version of ISO 8601 since 2000 has this flaw. Fixing (or patching) #ISO8601 is worth a separate post.

Returning to yearless ordinal dates, since they lack an interchange syntax, we can define one resembling the yearless month day format, yet unambiguously parseable as a yearless ordinal date:

---DDD

e.g. Piano Day would be represented as:

---088

We have to use three explicit digits because there's also pre-existing "day of the month" and "month of the year" syntaxes which are very similar, but with two digits:

--MM
---DD

This yearless #ordinalDate syntax (---DDD) is worth proposing as a delta "repair" spec to ISO 8601 (use-cases: Piano Day and others like Programmer’s Day), alongside at least a restoration of the --MM-DD yearless month day syntax (use-cases: publishing holidays and yearless birthdays), perhaps also the ---DD day of the month and --MM month of the year syntaxes (use-case: language independent numerical publishing of Gregorian months and days of months), and propose adding a NewCal bim of the year syntax --B (numerically superior replacement for Gregorian months and quarters).

Glossary:

hCard
  https://microformats.org/wiki/hcard
h-card
  https://microformats.org/wiki/h-card
NewCal
  http://newcal.org/

References:

¹ https://en.wikipedia.org/wiki/Piano_Day
² https://en.wikipedia.org/wiki/Ordinal_date
³ https://en.wikipedia.org/wiki/May_Day
https://www.rfc-editor.org/rfc/rfc6350#section-6.2.5
https://en.wikipedia.org/wiki/Programmer%27s_Day

on (ttk.me t5WA1) using BBEdit