Skip Navigation

DefederateLemmyMl
DefederateLemmyMl @ SpaceCadet @feddit.nl
Posts
1
Comments
584
Joined
2 yr. ago

  • Leave the poor kernel out of it, it has nothing to do with this. It's Lennart, not Linus.

  • I don't think it's intended as a "solution", it just lets the clobbering that is caused by the case insensitiveness happen.

    So git just goes:

    If you add a third or fourth file ... it would just continue, and file gets checked out first gets the filename and whichever file gets checked out last, gets the content.

  • Depending upon their genre and your city’s size, they may never come nearby you

    The joy of living in a central, densely populated area of Europe ... I've been able to see almost all niche bands that I'm into live.

  • The problem with that is that they are usually in tiny venues, often with no seating (some of us have issues with standing for a few hours straight), and absolutely terrible acoustics.

    Not true at all where I live, except for the seating part sometimes. There are many small to midsized venues with ticket prices well below €50, and they all have way better accoustics than the large concert halls, and it's a much more personal experience than in a >10,000 people venue because you can be way up close with the artists.

    For example, these are all venues I've visited in recent years, I rarely paid more than €30 for a ticket:

  • It tells you there's a name clash, and then it clones it anyway and you end up with the contents of README.MD in README.md as an unstaged change.

  • 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.

  • Unix was designed for mainframes

    Unix was never for mainframes. It was for 16-bit minicomputers that sat below mainframes, but yes they were more advanced than the first personal computers.

    It’s actually impressive how much modern/business functionality they were able to cram into that.

    Absolutely, but you have to admit that it's a less solid foundation to build a modern operating system on.

    In the 80s, there were several Unices for PC too btw: AT&T, SCO, even Microsoft's own Xenix. Most of them were prohibitively expensive though.

  • Platforms like reddit and Tumblr benefit from a friction-free sign up system.

    Even on Reddit new accounts are often barred from participating in discussion, or even shadowbanned in some subs, until they've grinded enough karma elsewhere (and consequently, that's why you have karmafarming bots).

  • Is this a problem here?

    Not yet, but it most certainly will be once Lemmy grows big enough.

  • You're probably joking, but in case you don't know: LPT stands for Line Printer Terminal, and LPT1, LPT2, LPT3... referred to parallel ports which were typically (though not exclusively) used to connect a printer.

  • The thing is, a lot of the legacy backwards compatible stuff that's in Linux is because a lot of things in Unix were actually pretty well thought out from the get go, unlike many of the ugly hacks that went into MSDOS and later Windows and overstayed their welcome.

    Things like: long case sensitive file names from the beginning instead of forced uppercase 8.3 , a hierarchical filesystem instead of drive letters, "everything is a file" concept, a notion of multiple users and permissions, pre-emptive multitasking, proper virtual memory management instead of a "640k is enough" + XMS + EMS, and so on.

  • Or just name the file con. Windows 95 even used to bluescreen if you tried to refer to con\con.

  • To screw with Windows users, you should sometimes put a README.md as well as a README.MD in your git repos. It leads to interesting results.

  • If you rename a file only changing the casing it doesn’t update properly, you need to rename it to something else and back. This is so userfriendly I have been stumped by it multiple times.

    To my great surprise, this has been fixed. I don't know when, but I tried it on my Windows 10 VM and it just worked. Only took them 20 years or so :)

  • 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.

  • It actually seems like it even works in explorer nowadays. I'll be damned, they fixed something...

  • 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.

  • 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.