8 ms·
Here's a different scenario: filenames with dates in them. Consider September Budget and October Budget. September is the equivalent of 9, October of 10. Which
by II2II 1y ago
Here's a different scenario: filenames with dates in them. Consider September Budget and October Budget. September is the equivalent of 9, October of 10. Which comes first for natural sorting? Remember, the file modify date may not be useful here since you may have wrapped up the September budget on October 1st while the prior edit to the October budget may have been on September 20th.
The problem is that there is no such thing as natural, and it is quite hard to determine what is more common. (Quite often more common is culturally dependent or, worse, contex dependent).
- arccy 1y agothe one true way: budget_09.csv, budget_10.csv
- NekkoDroid 1y agoThen `budget_100.csv` comes by and now you need to rename 99 files.
- xigoi 1y agoIt’s been about two thousand years since the number of months in a year has been increased. I don’t think we’re getting 88 new ones anytime soon.
- thaumasiotes 1y ago> It’s been about two thousand years since the number of months in a year has been increased. What? What are you thinking of? The number of months in a year is always 12 or 13 in any calendar system because they start by reflecting the moon. If you mean the Christian calendar, it was fixed at 12 months to the year well over 2000 years ago. If you mean any calendar, it's probably been more like one year since the number of months in a year has been increased. 12 lunar months falls short of a solar year by about 11 days, so any given lunar calendar will generate an extra month about every three years, and there are lots of different lunar calendars. (For example, the Chinese calendar occasionally repeats full months in order to keep the month of the year lined up with the season. Whenever this happens, there will be 13 months in the year, of which two share the same name.)
- prewett 1y agoThe ancient Romans claimed to have had a 10-month calendar [1], which is what I assume the reference is. Either that, or when month 6 got renamed August in honor of Emperor Augustus [1] https://en.wikipedia.org/wiki/Roman_calendar#Legendary_10-month_calendar https://en.wikipedia.org/wiki/Roman_calendar#Legendary_10-mo...
- thaumasiotes 1y ago> The ancient Romans claimed to have had a 10-month calendar [1], which is what I assume the reference is. Well, in the first place (as you note), there is no reason to believe that claim - the ancient Romans never made such a claim, but the classical Romans made that claim about the ancient Romans - but more importantly even if it were true the months would have been added many centuries prior to "about two thousand years" ago. Nothing related to additional months happened two thousand years ago.
- NekkoDroid 1y agoSure, but if in this case the number would have only indicated the month you have an issue way earlier than 100 actually, you already have an issue on month 13 when you would go back got 01 and now you are overriding the old one.
- xigoi 1y agoPresumably there is a separate directory for every year.
- kuschku 1y agoAnd it's been about 25 years since we had to increase the number of digits for a year. budget_97.csv, budget_98.csv, budget_99.csv, budget_2000.csv
- coldtea 1y agoGiven that 09 and 10 refer to months, that wont ever gonna be a problem. And if you want to differentiate them years too, you can prefix with 2025- or put them in a 2025/, 2026/ etc folder.
- coldtea 1y agoEven better, I'd prefer to have more semantic meaning, and for budget-2025-09.csv, buget-2025-10.csv to work everywhere...
- Certhas 1y agoSo the argument is that because this doesn't solve the challenge of ordering all possible strings by semantic meaning it should not be used? Even though it increases the match between semantic meaning and string sorting in many important cases and is a simple and consistent rule?
- coldtea 1y ago>September is the equivalent of 9, October of 10. Which comes first for natural sorting? Remember, the file modify date may not be useful here since you may have wrapped up the September budget on October 1st while the prior edit to the October budget may have been on September 20th. The problem is that there is no such thing as natural Yeah, but there is such a thing as "give a predictable and consistent way I can name the files so that they sort as I want everywhere" which (if different OSes don't try to be "smart") would have been to prefix them with the numeric date zero padded.
- SAI_Peregrinus 1y agoDate is already in the metadata, it doesn't need to be in the filename.
- crazygringo 1y agoHave you ever copied a file?
- SAI_Peregrinus 1y agoYes, have you never edited the metadata? Also most filesystems these days preserve it when copied, e.g. my camera's EXFAT filesystem on an SD card gets the creation date preserved when I copy it to my PC or NAS, or between NAS & laptop later.
- crazygringo 1y ago> Yes, have you never edited the metadata? I don't even know what that means. And just because some OS's copy the creation date doesn't mean all of them do. Specifically, the most popular desktop OS -- Windows -- doesn't. (And it has nothing to do with your filesystem. It's your OS.)
- coldtea 1y ago>I don't even know what that means Obviously something like: touch -t 202309271530 myfile.txt