β² 614 βΌ Remember: GNU/Linux and other UNIX systems can make files that are case-sensitive, Windows can't make files that are case-sensitive (lemmy.world) submitted 2 years ago by LuuTuyen@lemmy.world to c/linuxmemes@lemmy.world 239 comments fedilink hide all child comments
[β] radamant@lemmy.world 26 points 2 years ago (3 children) Windows way is superior, in my opinion. I don't think there's a need for File.txt and fILE.txt permalink fedilink source hideshow 6 child comments replies: [β] alcoholicorn@lemmy.ml 24 points 2 years ago FlLE.txt FILE.txt permalink fedilink source parent [β] lily33@lemm.ee 17 points 2 years ago* (last edited 2 years ago) (1 child) Indeed. Linux audio also allows control characters like backspace to be part of a file name (though it is harder to make such file as you can't just type the name). Which is just horrible. permalink fedilink source parent hideshow 2 child comments replies: [β] TrickDacy@lemmy.world 2 points 2 years ago (2 children) Linux audio? permalink fedilink source parent hideshow 4 child comments replies: [β] clif@lemmy.world 2 points 2 years ago (1 child) Yeah, Linux can capture and playback the spoken distinction between lowercase and uppercase letters. Windows can't do that. You're not taking advantage of that functionality? permalink fedilink source parent hideshow 2 child comments replies: [β] TrickDacy@lemmy.world 3 points 2 years ago (1 child) I sense sarcasm but I don't really get it. I still can't tell if the OC had a typo or not :) permalink fedilink source parent hideshow 2 child comments replies: [β] clif@lemmy.world 3 points 2 years ago (1 child) : D I think they just fixed it permalink fedilink source parent hideshow 2 child comments replies: [β] TrickDacy@lemmy.world 3 points 2 years ago I was so curious if there was some weird Linux audio system I didn't begin to understand lol It sounded plausible kind of because every device is mapped to a file path somewhere! permalink fedilink source parent [β] lily33@lemm.ee 2 points 2 years ago :D. Fixed permalink fedilink source parent [β] SpaceCadet@feddit.nl 11 points 2 years ago (3 children) I donβt think thereβs a need for File.txt and fILE.txt It's not so much about that need. It's about it being programmatically correct. f and F are not the same ASCII or UTF-8 character, so why would a file system treat them the same? Having a direct char type to filename mapping, without unnecessary hocus pocus in between, is the simple and elegant solution. permalink fedilink source parent hideshow 6 child comments replies: [β] Serinus@lemmy.world 8 points 2 years ago (1 child) It turns out that the easiest thing to program isn't always the best application design. permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 1 point 2 years ago* (last edited 2 years ago) (1 child) I would argue that elegance and being easy to program are virtues by themselves, because it makes code easy to understand and easy to maintain. A one-to-one string to filename mapping is straightforward and elegant. It's easy to understand ("a filename is a unique string of characters"), it makes file name comparisons easy (a bit level compare suffices) and as long as you consistently use the case that you intend, it doesn't behave unexpectedly. It really is the way of the least surprise. After all, case often does have meaning, so why shouldn't it be treated as a meaningful part of a filename? For example: "French fries.jpg" could contain a picture of fries specifically made in France, whereas "french fries.jpg" could contain a picture of fries made anywhere. Or "November rain.mp3" could be the sound of rain falling in the month of November, whereas "November Rain.mp3" is a Guns N' Roses song. All silly examples of course, but they're merely to demonstrate that capitalization does have meaning, and so we should be able to express that canonically in filenames as well. permalink fedilink source parent hideshow 2 child comments replies: [β] redisdead@lemmy.world 0 points 2 years ago It's not elegant when it causes more problems than it solves. permalink fedilink source parent [+] SloganLessons@lemmy.world 0 points 2 years ago* (1 child) [deleted] permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 4 points 2 years ago* (last edited 2 years ago) (1 child) Because itβs designed for average people It is not. It is designed for all purposes, automated processes and people alike. A filesystem is not just for grandma's Word documents. And even people's names are case sensitive. My name has the format Aaa Bbb ccc Ddd. It is not the same as the person with the name Aaa Bbb Ccc Ddd, who also exists. So why shouldn't file names be? permalink fedilink source parent hideshow 2 child comments replies: [+] SloganLessons@lemmy.world -2 points 2 years ago* (last edited 2 years ago) (1 child) [deleted] permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 0 points 2 years ago* (1 child) give me one use case where it makes sense having several files with the same name but different cases in the same directory Imagine a table in a database where the primary key is a case sensitive character field, because you know varchars, just like C char types and string types in other languages are case sensitive. Imagine a database administrator does the following: Export all data with primary key = 'Abcde' to 'Abcde.csv' Imagine a second database adminstrator around the same time does the following: Export all data with primary key = 'abcde' to 'abcde.csv' Now imagine this is the GDPR data of two different users. If you have a case insensitive file system, you've just overwritten something you shouldn't have and possibly even leaked confidential data. If you have a case sensitive file system you don't have to account for this scenario. If the PK is unique, the filename will be unique, end of story. permalink fedilink source parent hideshow 2 child comments replies: [β] wizardbeard@lemmy.dbzer0.com 0 points 2 years ago (1 child) If you don't do something stupid like reuse keys just with different capitalization, this never occurs. permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 5 points 2 years ago The point is you have to take this into account, so the decision to go with a case insensitive file system has ripple effects much further down your system. You have to design around it at every step in code where a string variable results in a file being written to or read from. It's much more elegant if you can simply assume that a particular string will 1-on-1 match with a unique filename. Even Microsoft understands this btw, their Azure Blob Storage system is case sensitive. The only reason NTFS isn't (by default) is because of legacy. It had to be compatible with all uppercase 8.3 filenames from DOS/FAT16. permalink fedilink source parent [β] radamant@lemmy.world 0 points 2 years ago (1 child) That's some suckless level cope. What's correct is the way that creates the least friction for the end users. Who really cares about some programming purity aspect? permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 0 points 2 years ago* Thatβs some suckless level cope Thanks, really constructive way of arguing your point... Who really cares about some programming purity aspect? People who create operating systems and file systems, or programs that interface with those should, because behind every computing aspect is still a physical reality of how that data is structured and stored. Whatβs correct is the way that creates the least friction for the end users Treating different characters as different characters is objectively the most correct and predictable way. Case has meaning, both in natural language as well as in almost anything computer related, so users should be allowed to express case canonically in filenames as well. If you were never exposed to a case insensitive filesystem first, you would find case sensitive the most natural way. Give end users some credit, it's really not rocket science to understand that f and F are not the same, most people handle this "mindblowing" concept just fine. Also the reason Microsoft made NTFS case insensitive by default was not because of "user friction" but because of backwards compatibility with MSDOS FAT16 all upper case 8.3 file names. However, when they created a new file system for the cloud, Azure Blob Storage, guess what: they made it case sensitive. permalink fedilink source parent
[β] lily33@lemm.ee 17 points 2 years ago* (last edited 2 years ago) (1 child) Indeed. Linux audio also allows control characters like backspace to be part of a file name (though it is harder to make such file as you can't just type the name). Which is just horrible. permalink fedilink source parent hideshow 2 child comments replies: [β] TrickDacy@lemmy.world 2 points 2 years ago (2 children) Linux audio? permalink fedilink source parent hideshow 4 child comments replies: [β] clif@lemmy.world 2 points 2 years ago (1 child) Yeah, Linux can capture and playback the spoken distinction between lowercase and uppercase letters. Windows can't do that. You're not taking advantage of that functionality? permalink fedilink source parent hideshow 2 child comments replies: [β] TrickDacy@lemmy.world 3 points 2 years ago (1 child) I sense sarcasm but I don't really get it. I still can't tell if the OC had a typo or not :) permalink fedilink source parent hideshow 2 child comments replies: [β] clif@lemmy.world 3 points 2 years ago (1 child) : D I think they just fixed it permalink fedilink source parent hideshow 2 child comments replies: [β] TrickDacy@lemmy.world 3 points 2 years ago I was so curious if there was some weird Linux audio system I didn't begin to understand lol It sounded plausible kind of because every device is mapped to a file path somewhere! permalink fedilink source parent [β] lily33@lemm.ee 2 points 2 years ago :D. Fixed permalink fedilink source parent
[β] TrickDacy@lemmy.world 2 points 2 years ago (2 children) Linux audio? permalink fedilink source parent hideshow 4 child comments replies: [β] clif@lemmy.world 2 points 2 years ago (1 child) Yeah, Linux can capture and playback the spoken distinction between lowercase and uppercase letters. Windows can't do that. You're not taking advantage of that functionality? permalink fedilink source parent hideshow 2 child comments replies: [β] TrickDacy@lemmy.world 3 points 2 years ago (1 child) I sense sarcasm but I don't really get it. I still can't tell if the OC had a typo or not :) permalink fedilink source parent hideshow 2 child comments replies: [β] clif@lemmy.world 3 points 2 years ago (1 child) : D I think they just fixed it permalink fedilink source parent hideshow 2 child comments replies: [β] TrickDacy@lemmy.world 3 points 2 years ago I was so curious if there was some weird Linux audio system I didn't begin to understand lol It sounded plausible kind of because every device is mapped to a file path somewhere! permalink fedilink source parent [β] lily33@lemm.ee 2 points 2 years ago :D. Fixed permalink fedilink source parent
[β] clif@lemmy.world 2 points 2 years ago (1 child) Yeah, Linux can capture and playback the spoken distinction between lowercase and uppercase letters. Windows can't do that. You're not taking advantage of that functionality? permalink fedilink source parent hideshow 2 child comments replies: [β] TrickDacy@lemmy.world 3 points 2 years ago (1 child) I sense sarcasm but I don't really get it. I still can't tell if the OC had a typo or not :) permalink fedilink source parent hideshow 2 child comments replies: [β] clif@lemmy.world 3 points 2 years ago (1 child) : D I think they just fixed it permalink fedilink source parent hideshow 2 child comments replies: [β] TrickDacy@lemmy.world 3 points 2 years ago I was so curious if there was some weird Linux audio system I didn't begin to understand lol It sounded plausible kind of because every device is mapped to a file path somewhere! permalink fedilink source parent
[β] TrickDacy@lemmy.world 3 points 2 years ago (1 child) I sense sarcasm but I don't really get it. I still can't tell if the OC had a typo or not :) permalink fedilink source parent hideshow 2 child comments replies: [β] clif@lemmy.world 3 points 2 years ago (1 child) : D I think they just fixed it permalink fedilink source parent hideshow 2 child comments replies: [β] TrickDacy@lemmy.world 3 points 2 years ago I was so curious if there was some weird Linux audio system I didn't begin to understand lol It sounded plausible kind of because every device is mapped to a file path somewhere! permalink fedilink source parent
[β] clif@lemmy.world 3 points 2 years ago (1 child) : D I think they just fixed it permalink fedilink source parent hideshow 2 child comments replies: [β] TrickDacy@lemmy.world 3 points 2 years ago I was so curious if there was some weird Linux audio system I didn't begin to understand lol It sounded plausible kind of because every device is mapped to a file path somewhere! permalink fedilink source parent
[β] TrickDacy@lemmy.world 3 points 2 years ago I was so curious if there was some weird Linux audio system I didn't begin to understand lol It sounded plausible kind of because every device is mapped to a file path somewhere! permalink fedilink source parent
[β] SpaceCadet@feddit.nl 11 points 2 years ago (3 children) I donβt think thereβs a need for File.txt and fILE.txt It's not so much about that need. It's about it being programmatically correct. f and F are not the same ASCII or UTF-8 character, so why would a file system treat them the same? Having a direct char type to filename mapping, without unnecessary hocus pocus in between, is the simple and elegant solution. permalink fedilink source parent hideshow 6 child comments replies: [β] Serinus@lemmy.world 8 points 2 years ago (1 child) It turns out that the easiest thing to program isn't always the best application design. permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 1 point 2 years ago* (last edited 2 years ago) (1 child) I would argue that elegance and being easy to program are virtues by themselves, because it makes code easy to understand and easy to maintain. A one-to-one string to filename mapping is straightforward and elegant. It's easy to understand ("a filename is a unique string of characters"), it makes file name comparisons easy (a bit level compare suffices) and as long as you consistently use the case that you intend, it doesn't behave unexpectedly. It really is the way of the least surprise. After all, case often does have meaning, so why shouldn't it be treated as a meaningful part of a filename? For example: "French fries.jpg" could contain a picture of fries specifically made in France, whereas "french fries.jpg" could contain a picture of fries made anywhere. Or "November rain.mp3" could be the sound of rain falling in the month of November, whereas "November Rain.mp3" is a Guns N' Roses song. All silly examples of course, but they're merely to demonstrate that capitalization does have meaning, and so we should be able to express that canonically in filenames as well. permalink fedilink source parent hideshow 2 child comments replies: [β] redisdead@lemmy.world 0 points 2 years ago It's not elegant when it causes more problems than it solves. permalink fedilink source parent [+] SloganLessons@lemmy.world 0 points 2 years ago* (1 child) [deleted] permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 4 points 2 years ago* (last edited 2 years ago) (1 child) Because itβs designed for average people It is not. It is designed for all purposes, automated processes and people alike. A filesystem is not just for grandma's Word documents. And even people's names are case sensitive. My name has the format Aaa Bbb ccc Ddd. It is not the same as the person with the name Aaa Bbb Ccc Ddd, who also exists. So why shouldn't file names be? permalink fedilink source parent hideshow 2 child comments replies: [+] SloganLessons@lemmy.world -2 points 2 years ago* (last edited 2 years ago) (1 child) [deleted] permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 0 points 2 years ago* (1 child) give me one use case where it makes sense having several files with the same name but different cases in the same directory Imagine a table in a database where the primary key is a case sensitive character field, because you know varchars, just like C char types and string types in other languages are case sensitive. Imagine a database administrator does the following: Export all data with primary key = 'Abcde' to 'Abcde.csv' Imagine a second database adminstrator around the same time does the following: Export all data with primary key = 'abcde' to 'abcde.csv' Now imagine this is the GDPR data of two different users. If you have a case insensitive file system, you've just overwritten something you shouldn't have and possibly even leaked confidential data. If you have a case sensitive file system you don't have to account for this scenario. If the PK is unique, the filename will be unique, end of story. permalink fedilink source parent hideshow 2 child comments replies: [β] wizardbeard@lemmy.dbzer0.com 0 points 2 years ago (1 child) If you don't do something stupid like reuse keys just with different capitalization, this never occurs. permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 5 points 2 years ago The point is you have to take this into account, so the decision to go with a case insensitive file system has ripple effects much further down your system. You have to design around it at every step in code where a string variable results in a file being written to or read from. It's much more elegant if you can simply assume that a particular string will 1-on-1 match with a unique filename. Even Microsoft understands this btw, their Azure Blob Storage system is case sensitive. The only reason NTFS isn't (by default) is because of legacy. It had to be compatible with all uppercase 8.3 filenames from DOS/FAT16. permalink fedilink source parent [β] radamant@lemmy.world 0 points 2 years ago (1 child) That's some suckless level cope. What's correct is the way that creates the least friction for the end users. Who really cares about some programming purity aspect? permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 0 points 2 years ago* Thatβs some suckless level cope Thanks, really constructive way of arguing your point... Who really cares about some programming purity aspect? People who create operating systems and file systems, or programs that interface with those should, because behind every computing aspect is still a physical reality of how that data is structured and stored. Whatβs correct is the way that creates the least friction for the end users Treating different characters as different characters is objectively the most correct and predictable way. Case has meaning, both in natural language as well as in almost anything computer related, so users should be allowed to express case canonically in filenames as well. If you were never exposed to a case insensitive filesystem first, you would find case sensitive the most natural way. Give end users some credit, it's really not rocket science to understand that f and F are not the same, most people handle this "mindblowing" concept just fine. Also the reason Microsoft made NTFS case insensitive by default was not because of "user friction" but because of backwards compatibility with MSDOS FAT16 all upper case 8.3 file names. However, when they created a new file system for the cloud, Azure Blob Storage, guess what: they made it case sensitive. permalink fedilink source parent
[β] Serinus@lemmy.world 8 points 2 years ago (1 child) It turns out that the easiest thing to program isn't always the best application design. permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 1 point 2 years ago* (last edited 2 years ago) (1 child) I would argue that elegance and being easy to program are virtues by themselves, because it makes code easy to understand and easy to maintain. A one-to-one string to filename mapping is straightforward and elegant. It's easy to understand ("a filename is a unique string of characters"), it makes file name comparisons easy (a bit level compare suffices) and as long as you consistently use the case that you intend, it doesn't behave unexpectedly. It really is the way of the least surprise. After all, case often does have meaning, so why shouldn't it be treated as a meaningful part of a filename? For example: "French fries.jpg" could contain a picture of fries specifically made in France, whereas "french fries.jpg" could contain a picture of fries made anywhere. Or "November rain.mp3" could be the sound of rain falling in the month of November, whereas "November Rain.mp3" is a Guns N' Roses song. All silly examples of course, but they're merely to demonstrate that capitalization does have meaning, and so we should be able to express that canonically in filenames as well. permalink fedilink source parent hideshow 2 child comments replies: [β] redisdead@lemmy.world 0 points 2 years ago It's not elegant when it causes more problems than it solves. permalink fedilink source parent
[β] SpaceCadet@feddit.nl 1 point 2 years ago* (last edited 2 years ago) (1 child) I would argue that elegance and being easy to program are virtues by themselves, because it makes code easy to understand and easy to maintain. A one-to-one string to filename mapping is straightforward and elegant. It's easy to understand ("a filename is a unique string of characters"), it makes file name comparisons easy (a bit level compare suffices) and as long as you consistently use the case that you intend, it doesn't behave unexpectedly. It really is the way of the least surprise. After all, case often does have meaning, so why shouldn't it be treated as a meaningful part of a filename? For example: "French fries.jpg" could contain a picture of fries specifically made in France, whereas "french fries.jpg" could contain a picture of fries made anywhere. Or "November rain.mp3" could be the sound of rain falling in the month of November, whereas "November Rain.mp3" is a Guns N' Roses song. All silly examples of course, but they're merely to demonstrate that capitalization does have meaning, and so we should be able to express that canonically in filenames as well. permalink fedilink source parent hideshow 2 child comments replies: [β] redisdead@lemmy.world 0 points 2 years ago It's not elegant when it causes more problems than it solves. permalink fedilink source parent
[β] redisdead@lemmy.world 0 points 2 years ago It's not elegant when it causes more problems than it solves. permalink fedilink source parent
[+] SloganLessons@lemmy.world 0 points 2 years ago* (1 child) [deleted] permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 4 points 2 years ago* (last edited 2 years ago) (1 child) Because itβs designed for average people It is not. It is designed for all purposes, automated processes and people alike. A filesystem is not just for grandma's Word documents. And even people's names are case sensitive. My name has the format Aaa Bbb ccc Ddd. It is not the same as the person with the name Aaa Bbb Ccc Ddd, who also exists. So why shouldn't file names be? permalink fedilink source parent hideshow 2 child comments replies: [+] SloganLessons@lemmy.world -2 points 2 years ago* (last edited 2 years ago) (1 child) [deleted] permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 0 points 2 years ago* (1 child) give me one use case where it makes sense having several files with the same name but different cases in the same directory Imagine a table in a database where the primary key is a case sensitive character field, because you know varchars, just like C char types and string types in other languages are case sensitive. Imagine a database administrator does the following: Export all data with primary key = 'Abcde' to 'Abcde.csv' Imagine a second database adminstrator around the same time does the following: Export all data with primary key = 'abcde' to 'abcde.csv' Now imagine this is the GDPR data of two different users. If you have a case insensitive file system, you've just overwritten something you shouldn't have and possibly even leaked confidential data. If you have a case sensitive file system you don't have to account for this scenario. If the PK is unique, the filename will be unique, end of story. permalink fedilink source parent hideshow 2 child comments replies: [β] wizardbeard@lemmy.dbzer0.com 0 points 2 years ago (1 child) If you don't do something stupid like reuse keys just with different capitalization, this never occurs. permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 5 points 2 years ago The point is you have to take this into account, so the decision to go with a case insensitive file system has ripple effects much further down your system. You have to design around it at every step in code where a string variable results in a file being written to or read from. It's much more elegant if you can simply assume that a particular string will 1-on-1 match with a unique filename. Even Microsoft understands this btw, their Azure Blob Storage system is case sensitive. The only reason NTFS isn't (by default) is because of legacy. It had to be compatible with all uppercase 8.3 filenames from DOS/FAT16. permalink fedilink source parent
[β] SpaceCadet@feddit.nl 4 points 2 years ago* (last edited 2 years ago) (1 child) Because itβs designed for average people It is not. It is designed for all purposes, automated processes and people alike. A filesystem is not just for grandma's Word documents. And even people's names are case sensitive. My name has the format Aaa Bbb ccc Ddd. It is not the same as the person with the name Aaa Bbb Ccc Ddd, who also exists. So why shouldn't file names be? permalink fedilink source parent hideshow 2 child comments replies: [+] SloganLessons@lemmy.world -2 points 2 years ago* (last edited 2 years ago) (1 child) [deleted] permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 0 points 2 years ago* (1 child) give me one use case where it makes sense having several files with the same name but different cases in the same directory Imagine a table in a database where the primary key is a case sensitive character field, because you know varchars, just like C char types and string types in other languages are case sensitive. Imagine a database administrator does the following: Export all data with primary key = 'Abcde' to 'Abcde.csv' Imagine a second database adminstrator around the same time does the following: Export all data with primary key = 'abcde' to 'abcde.csv' Now imagine this is the GDPR data of two different users. If you have a case insensitive file system, you've just overwritten something you shouldn't have and possibly even leaked confidential data. If you have a case sensitive file system you don't have to account for this scenario. If the PK is unique, the filename will be unique, end of story. permalink fedilink source parent hideshow 2 child comments replies: [β] wizardbeard@lemmy.dbzer0.com 0 points 2 years ago (1 child) If you don't do something stupid like reuse keys just with different capitalization, this never occurs. permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 5 points 2 years ago The point is you have to take this into account, so the decision to go with a case insensitive file system has ripple effects much further down your system. You have to design around it at every step in code where a string variable results in a file being written to or read from. It's much more elegant if you can simply assume that a particular string will 1-on-1 match with a unique filename. Even Microsoft understands this btw, their Azure Blob Storage system is case sensitive. The only reason NTFS isn't (by default) is because of legacy. It had to be compatible with all uppercase 8.3 filenames from DOS/FAT16. permalink fedilink source parent
[+] SloganLessons@lemmy.world -2 points 2 years ago* (last edited 2 years ago) (1 child) [deleted] permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 0 points 2 years ago* (1 child) give me one use case where it makes sense having several files with the same name but different cases in the same directory Imagine a table in a database where the primary key is a case sensitive character field, because you know varchars, just like C char types and string types in other languages are case sensitive. Imagine a database administrator does the following: Export all data with primary key = 'Abcde' to 'Abcde.csv' Imagine a second database adminstrator around the same time does the following: Export all data with primary key = 'abcde' to 'abcde.csv' Now imagine this is the GDPR data of two different users. If you have a case insensitive file system, you've just overwritten something you shouldn't have and possibly even leaked confidential data. If you have a case sensitive file system you don't have to account for this scenario. If the PK is unique, the filename will be unique, end of story. permalink fedilink source parent hideshow 2 child comments replies: [β] wizardbeard@lemmy.dbzer0.com 0 points 2 years ago (1 child) If you don't do something stupid like reuse keys just with different capitalization, this never occurs. permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 5 points 2 years ago The point is you have to take this into account, so the decision to go with a case insensitive file system has ripple effects much further down your system. You have to design around it at every step in code where a string variable results in a file being written to or read from. It's much more elegant if you can simply assume that a particular string will 1-on-1 match with a unique filename. Even Microsoft understands this btw, their Azure Blob Storage system is case sensitive. The only reason NTFS isn't (by default) is because of legacy. It had to be compatible with all uppercase 8.3 filenames from DOS/FAT16. permalink fedilink source parent
[β] SpaceCadet@feddit.nl 0 points 2 years ago* (1 child) give me one use case where it makes sense having several files with the same name but different cases in the same directory Imagine a table in a database where the primary key is a case sensitive character field, because you know varchars, just like C char types and string types in other languages are case sensitive. Imagine a database administrator does the following: Export all data with primary key = 'Abcde' to 'Abcde.csv' Imagine a second database adminstrator around the same time does the following: Export all data with primary key = 'abcde' to 'abcde.csv' Now imagine this is the GDPR data of two different users. If you have a case insensitive file system, you've just overwritten something you shouldn't have and possibly even leaked confidential data. If you have a case sensitive file system you don't have to account for this scenario. If the PK is unique, the filename will be unique, end of story. permalink fedilink source parent hideshow 2 child comments replies: [β] wizardbeard@lemmy.dbzer0.com 0 points 2 years ago (1 child) If you don't do something stupid like reuse keys just with different capitalization, this never occurs. permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 5 points 2 years ago The point is you have to take this into account, so the decision to go with a case insensitive file system has ripple effects much further down your system. You have to design around it at every step in code where a string variable results in a file being written to or read from. It's much more elegant if you can simply assume that a particular string will 1-on-1 match with a unique filename. Even Microsoft understands this btw, their Azure Blob Storage system is case sensitive. The only reason NTFS isn't (by default) is because of legacy. It had to be compatible with all uppercase 8.3 filenames from DOS/FAT16. permalink fedilink source parent
[β] wizardbeard@lemmy.dbzer0.com 0 points 2 years ago (1 child) If you don't do something stupid like reuse keys just with different capitalization, this never occurs. permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 5 points 2 years ago The point is you have to take this into account, so the decision to go with a case insensitive file system has ripple effects much further down your system. You have to design around it at every step in code where a string variable results in a file being written to or read from. It's much more elegant if you can simply assume that a particular string will 1-on-1 match with a unique filename. Even Microsoft understands this btw, their Azure Blob Storage system is case sensitive. The only reason NTFS isn't (by default) is because of legacy. It had to be compatible with all uppercase 8.3 filenames from DOS/FAT16. permalink fedilink source parent
[β] SpaceCadet@feddit.nl 5 points 2 years ago The point is you have to take this into account, so the decision to go with a case insensitive file system has ripple effects much further down your system. You have to design around it at every step in code where a string variable results in a file being written to or read from. It's much more elegant if you can simply assume that a particular string will 1-on-1 match with a unique filename. Even Microsoft understands this btw, their Azure Blob Storage system is case sensitive. The only reason NTFS isn't (by default) is because of legacy. It had to be compatible with all uppercase 8.3 filenames from DOS/FAT16. permalink fedilink source parent
[β] radamant@lemmy.world 0 points 2 years ago (1 child) That's some suckless level cope. What's correct is the way that creates the least friction for the end users. Who really cares about some programming purity aspect? permalink fedilink source parent hideshow 2 child comments replies: [β] SpaceCadet@feddit.nl 0 points 2 years ago* Thatβs some suckless level cope Thanks, really constructive way of arguing your point... Who really cares about some programming purity aspect? People who create operating systems and file systems, or programs that interface with those should, because behind every computing aspect is still a physical reality of how that data is structured and stored. Whatβs correct is the way that creates the least friction for the end users Treating different characters as different characters is objectively the most correct and predictable way. Case has meaning, both in natural language as well as in almost anything computer related, so users should be allowed to express case canonically in filenames as well. If you were never exposed to a case insensitive filesystem first, you would find case sensitive the most natural way. Give end users some credit, it's really not rocket science to understand that f and F are not the same, most people handle this "mindblowing" concept just fine. Also the reason Microsoft made NTFS case insensitive by default was not because of "user friction" but because of backwards compatibility with MSDOS FAT16 all upper case 8.3 file names. However, when they created a new file system for the cloud, Azure Blob Storage, guess what: they made it case sensitive. permalink fedilink source parent
[β] SpaceCadet@feddit.nl 0 points 2 years ago* Thatβs some suckless level cope Thanks, really constructive way of arguing your point... Who really cares about some programming purity aspect? People who create operating systems and file systems, or programs that interface with those should, because behind every computing aspect is still a physical reality of how that data is structured and stored. Whatβs correct is the way that creates the least friction for the end users Treating different characters as different characters is objectively the most correct and predictable way. Case has meaning, both in natural language as well as in almost anything computer related, so users should be allowed to express case canonically in filenames as well. If you were never exposed to a case insensitive filesystem first, you would find case sensitive the most natural way. Give end users some credit, it's really not rocket science to understand that f and F are not the same, most people handle this "mindblowing" concept just fine. Also the reason Microsoft made NTFS case insensitive by default was not because of "user friction" but because of backwards compatibility with MSDOS FAT16 all upper case 8.3 file names. However, when they created a new file system for the cloud, Azure Blob Storage, guess what: they made it case sensitive. permalink fedilink source parent