tantek.com

t

  1. Happy World Piano Day^1!

    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^2, 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^3, 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^4 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^5), 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:

    ^1 https://en.wikipedia.org/wiki/Piano_Day
    ^2 https://en.wikipedia.org/wiki/Ordinal_date
    ^3 https://en.wikipedia.org/wiki/May_Day
    ^4 https://www.rfc-editor.org/rfc/rfc6350#section-6.2.5
    ^5 https://en.wikipedia.org/wiki/Programmer%27s_Day

    on