I’d be curious to see a sorting algorithm that doesn’t handle YYYYY-MM-DD with YYYY-MM-DD properly. If you drop the dashes you still get a proper numeric order. If you sort by component, you still get the proper order. Maybe a string sort wouldn’t? Off the top of my head the languages I’m thinking either put longer strings later, giving us the proper order, or could put 1YYYY- ahead of 1YYY-M so maybe string sorting is the only one that’s out.
Lexical sorting (string sorting/alphabetical order sorting) is what I believe they were referring to when talking about file names.
The fact that you don’t have to do any parsing of the string at all, just do a straight character-by-character alphabetical sort, and they will be sorted by date, is a great benifit of this date scheme. That means in situations where no special parsing is set up (eg, in a File Explorer windows showing a folders contents sorted alphabetically) or where your string isn’t strictly date only (eg, a file name format such as ‘2025-05-02 - Project 3.pdf’) you can still have everything sorted by date just by sorting alphabetically.
Its this benifit that is lost when rolling over to 5-digit years.
Won’t be true after 9999-12-31, however.
Oh no! The Y10K bug!
Can’t wait for the Y40k bug, when Tyranids begin to infect our brains.
Bold of you to assume there isn’t already a genestealer cult on Terra. Washington specifically.
That…would explain a lot
If I, my software, or my data last this long, I will have nearly 8000 years to resolve it. Which is to say, the year 9998 is going to get busy.
Can be solved with a small shellscript adding a leading zero to all filenames with the format.
If humanity survives until then, we can implement 9-digit dates and delay the problem until Y100K.
natural sort ftw
I’d be curious to see a sorting algorithm that doesn’t handle YYYYY-MM-DD with YYYY-MM-DD properly. If you drop the dashes you still get a proper numeric order. If you sort by component, you still get the proper order. Maybe a string sort wouldn’t? Off the top of my head the languages I’m thinking either put longer strings later, giving us the proper order, or could put 1YYYY- ahead of 1YYY-M so maybe string sorting is the only one that’s out.
Lexical sorting (string sorting/alphabetical order sorting) is what I believe they were referring to when talking about file names.
The fact that you don’t have to do any parsing of the string at all, just do a straight character-by-character alphabetical sort, and they will be sorted by date, is a great benifit of this date scheme. That means in situations where no special parsing is set up (eg, in a File Explorer windows showing a folders contents sorted alphabetically) or where your string isn’t strictly date only (eg, a file name format such as ‘2025-05-02 - Project 3.pdf’) you can still have everything sorted by date just by sorting alphabetically.
Its this benifit that is lost when rolling over to 5-digit years.
I bet you could make a one liner to rename files with YYYY-MM-DD to 0YYYY-MM-DD fairly easily. Not a problem.
It’s an easy fix at least, just check if you’re comparing numbers on both sides and switch to a simple numerical sort.
I think Windows used to get this wrong, but it was fixed so long ago that I’m not even sure now.