• Australis13
    link
    fedilink
    18310 days ago

    This is one case where I think Windows is appropriately designed for its target audience.

    • @[email protected]
      link
      fedilink
      7610 days ago

      I don’t really see the benefit of allowing users to create files with the same name in the same directory, yeah, yeah I know that case sensitivity means that it isn’t same name, but imagine talking to a user, guiding them to open the file /tmp/doc/File and they open /tmp/doc/file instead

      • @[email protected]
        link
        fedilink
        3510 days ago

        The reason, I suspect, is fundamentally because there’s no relationship between the uppercase and lowercase characters unless someone goes out of their way to create it. That requires that the filesystem contain knowledge of the alphabet, which might work if all you wanted was to handle ASCII in American English, but isn’t good for a system which needs to support the whole world.

        In fact, the UNIX filesystem isn’t ASCII. It’s also not unicode. UNIX uses arbitrary byte strings, with special significance given to a very small number of bytes (just ‘/’ and ‘\0’, I think). That means people are free to label files in whatever way they like, and their terminals or other applications are free to render them in whatever way seems appropriate, without the filesystem having to understand unicode.

        Adding case insensitivity would therefore actually be significant and unnecessary complexity to add to the filesystem drivers, and we’d probably take a big step backwards in support for other languages

        • @[email protected]
          link
          fedilink
          1710 days ago

          Oh, I realize why it is, I just don’t see it as an advantage, the whole argument is just a technical one, not a usabillity one.

        • @[email protected]
          link
          fedilink
          59 days ago

          You’re basically arguing that a system shouldn’t support user friendly things because that would add significant burden to the programmer.

          The quintessential linux philosophy. Well done! I mean, what is language? Why have named code variables? This is just a random array of bytes!

          • @[email protected]
            link
            fedilink
            39 days ago

            No, I’m arguing that the extra complexity is something to avoid because it creates new attack surfaces, new opportunities for bugs, and is very unlikely to accurately deal with all of the edge cases.

            Especially when you consider that the behaviour we have was established way before there even was a unicode standard which could have been applied, and when the alternative you want isn’t unambiguously better than what it does now.

            “What is language” is a far more insightful question than you clearly intended, because our collective best answer to that question right now is the unicode standard, and even that’s not perfect. Making the very core of the filesystem have to deal with that is a can of worms which a competent engineer wouldn’t open without very good reason, and at best I’m seeing a weak and subjective reason here.

            • @[email protected]
              link
              fedilink
              2
              edit-2
              8 days ago

              because it creates new attack surfaces, new opportunities for bugs, and is very unlikely to accurately deal with all of the edge cases.

              Unicode case folding has been a solved problem for a long time. The Unicode standard has rules for which characters should be considered identical, and many libraries exist to handle it (you wouldn’t ever code this yourself).

            • @[email protected]
              link
              fedilink
              -29 days ago

              Well you’re just asking an economic question, are the costs worth the benefits?

              I’d argue that linux will never be a good or user friendly operating system without case insensitive filenames.

              That isn’t an opinion but could be verified through scientific study of how confused people act. You don’t even need computers, just ask someone to get the “something SomeTHing” from a labeled box in a cupboard. Presumably science would show that case insensitive naming of things is always less confusing when humans actually use the system.

              The truth is that programmers enjoy writing code far more than reading code. And especially to open source developers “usability” is a dirty word. It’s not about the value of a thing, it’s about the beauty of how it is done.

      • @[email protected]
        link
        fedilink
        39 days ago

        Let’s say you have a software that generates randomly named files, having the ability to use both upper case and lower case means you can have more files with the same amount of characters, but that sounds horrible and it’s the only thing I can think of atm

      • @[email protected]
        link
        fedilink
        1
        edit-2
        10 days ago

        Idiot user! ;)

        In case it’s not obvious, I agree that I don’t see much of a point in case sensitivity in an OS outside of simply providing additional options for various uses, it absolutely would be confusing for end users having to interact with it in many ways.

    • DefederateLemmyMl
      link
      fedilink
      32
      edit-2
      10 days ago

      This isn’t “Windows design”… this is just inherited stone age bullshit from the DOS days when the filesystem was FAT16 and all file names were uppercase 8.3.

      NTFS is case sensitive in its underlying design, but was made case insensitive by default, yet case preserving, for reasons of backwards compatibility.

      If Microsoft has to design something from scratch, without the need for backwards compatibility, they go for case sensitive themselves. For example: Azure Blob Storage has case sensitive file names.

      • Redjard
        link
        fedilink
        49 days ago

        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.

        On the other hand in using Linux I have had a number of problems with the casing of files: The number is 0

        • DefederateLemmyMl
          link
          fedilink
          49 days ago

          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 :)

      • @[email protected]
        link
        fedilink
        18 days ago

        case insensitive by default, yet case preserving

        This isn’t just a Windows thing… It’s the same on MacOS by default.

    • @[email protected]
      link
      fedilink
      English
      2
      edit-2
      10 days ago

      macOS also does this by default, but you can change it (though you have to reformat the disk in question). This is generally fine for non-system disks if you REALLY need it for some reason, but afaik it is not recommended for the OS disk due to assumptions that macOS-targeted binaries make (similar to the windows regex version matching that caused problems for a while because it became the unofficial best way to check windows versions for app install compatibility). It’s doubly annoying on newer Apple systems because the integrated SSDs are WAY faster than pretty much anything else you can connect to it. But for the most part, I find it’s more of a nuisance to keep in mind than a real problem (I’ve been dealing with dev-issue MBPs since about 2012).

      As in the windows case, this is also an appropriate choice for the average Apple user (though the fact that they’re fairly ubiquitous as dev machines in many places is annoying on several levels, despite the generally solid best-case performance and thermals I’ve observed).

      • @[email protected]
        link
        fedilink
        110 days ago

        Huh I had thought case-sensitive was default on APFS/HPFS and you had to choose insensitive specifically but I guess not

        • @[email protected]
          link
          fedilink
          English
          410 days ago

          Just checked on my work box - if you go into Disk Utility and start the process to add a volume, the default selection is APFS, and there’s an option in the dropdown for for APFS (Case-sensitive)

  • FQQD
    link
    fedilink
    English
    108
    edit-2
    10 days ago

    It’s neat that Linux has the ability to do this, but I honestly can’t think of a good usecase for this. I think this is more confusing than it is useful

      • @[email protected]
        link
        fedilink
        English
        1210 days ago

        Huh, what makes this a use case in favor of case sensitive file names? How does git use this feature?

        • @OrganicMustard
          link
          2510 days ago

          Create multiple branches that only differ in cases from a Unix OS so it breaks git for Windows users in the same project.

          • @TrickDacy
            link
            910 days ago

            We had a repo with some really weird (filename) case issues on Mac also. I could only fix it on my home Linux machine, by deleting all the affected files, committing that, then restoring them with all lowercase names. Only time I’ve dealt with that in 20 years but it can happen!

    • @[email protected]
      link
      fedilink
      910 days ago

      I feel the same way about programming languages. There is no way that “User” and “user” should refer to different variables. How many times has that screwed people up, especially in a weekly typed language?

      One of the many things that I feel modern versions of Pascal got right.

      • @Serinus
        link
        11
        edit-2
        10 days ago

        Nope. Completely different.

        Case is often used to distinguish scope. Lowercase is local while uppercase is public. “Name = name” is a pretty standard convention, especially in constructors.

        There is a ubiquitous use case in programming. There is not in the file system.

        • @[email protected]
          link
          fedilink
          510 days ago

          My point is not about how case is meant to be used my point is that it is very easy to make a mistake that is difficult to spot. I think it makes a lot more sense to the case insensitive, and force different names to be used.

        • @calcopiritus
          link
          39 days ago

          This is the first time I’ve seen uppercase denoting scope. Usually it is done with a “_” or “__” prefix.

          Casing styles usually mean different identifier types.

          snake_case or pascalCase for functions and variables, CamelCase for types, UPPER_SNAKE_CASE for constants, and so on.

          If we want to apply this to file systems, you could argue something like: CamelCase for directories, snake_case for files, pascalCase for symlinks, UPPER_SNAKE_CASE for hidden files.

      • @[email protected]
        link
        fedilink
        English
        9
        edit-2
        10 days ago

        My naming convention for C++ is that custom types are capitalized and instances aren’t. So I might write User user;.

    • @[email protected]
      link
      fedilink
      18 days ago

      It’s quite useful for stuff like PROGRAM and Program in the same directory where PROGRAM is the program itself and Program is some unrelated files about the program. Bad example, but the case stands.

      • @redisdead
        link
        08 days ago

        So what you’re telling me is that it’s useful when the software you use is made by absolute idiots?

        • @[email protected]
          link
          fedilink
          28 days ago

          It’s not about software. Program, PROGRAM were just placeholders for content. I know you can think more abstract and argue in better faith than this.

          • @redisdead
            link
            -17 days ago

            Replace ‘software’ by w/et placeholder thing

  • @mrvictory1
    link
    5210 days ago

    Windows and NTFS support case sensitive filenames. The functionality is disabled for compatibility reasons.

    • @[email protected]
      link
      fedilink
      1010 days ago

      I remember the good old days of Windows MS-DOS where they had an 8 character filename limit lol

        • @mvirts
          link
          610 days ago

          Gotta go count my files again… oh yeah it’s PROJE~14.BAS

          • @TrickDacy
            link
            510 days ago

            haha that was so infuriating. if their intent was to bastardize the filename horribly to make it noticeable that you defied the DOS limitation, they certainly succeeded. Yuck, totally forgot about the ~1 thing!

            • @9point6
              link
              510 days ago

              Funnily enough you can have up to 65536 files in a directory in FAT, so you could technically end up with PR~65536.BAS

    • @[email protected]
      link
      fedilink
      English
      610 days ago

      Same on macOS. Apple has “case-sensitive HFS+” as an option for UNIX compatibility (or at least they used to) but actually running a system on it is a bad idea in general.

      • fakeaustinfloyd
        link
        fedilink
        29 days ago

        I actually really like that fsutil case sensitivity can be set on a folder by folder basis so that I can have a safe space to deal with Linux files.

    • @[email protected]
      link
      fedilink
      English
      410 days ago

      What happens if i put case sensitive files into an ntfs pendrive and plugged into windows?

          • @mrvictory1
            link
            09 days ago

            Windows gets confused, I don’t remember what exactly happens.

    • @[email protected]
      link
      fedilink
      210 days ago

      You can create files with the same name differing only by case through WSL. I’ve had issues with it before.

  • arthurpizza
    link
    English
    4910 days ago

    I can make a file named COM1 on Linux. That’s on the forbidden list for Windows.

    The forbidden list:

    • CON
    • PRN
    • AUX
    • CLOCK$
    • NUL
    • COM1
    • COM2
    • COM3
    • COM4
    • COM5
    • COM6
    • COM7
    • COM8
    • COM9
    • LPT1
    • LPT2
    • LPT3
    • LPT4
    • LPT5
    • LPT6
    • LPT7
    • LPT8
    • LPT9
        • DefederateLemmyMl
          link
          fedilink
          129 days ago

          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.

          • @[email protected]
            link
            fedilink
            89 days ago

            It still amazes me how well thought out unix was for the era when computing was in its infancy. But I guess that is what you get with computer science nerds from Universities and a budget for development based on making a product the goal, not quarterly profit the goal.

            • @[email protected]
              link
              fedilink
              4
              edit-2
              9 days ago

              It’s what you get when you design an OS for a mainframe computer that is accessed by many users sharing its resources.
              DOS was designed for single-user PC’s with very limited processing power, memory and storage, and no access to networked drives. Lots of its hacks and limitations saved a few hundred bytes of memory, which was crucial at the time.

              • @[email protected]
                link
                fedilink
                29 days ago

                I guess i was meaning compared to DOS but modern Windows, where stupid stuff is broken, and they care more about ads than creating a clean OS

          • @[email protected]
            link
            fedilink
            49 days ago

            Unix was designed for mainframes, qdos/msdos was designed to be a cpm knockoff the local nerd could use to play commander keen and do his taxes. It’s actually impressive how much modern/business functionality they were able to cram into that.

            • DefederateLemmyMl
              link
              fedilink
              English
              69 days ago

              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.

      • DefederateLemmyMl
        link
        fedilink
        39 days ago

        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.

    • @pyre
      link
      49 days ago

      oh no, but com5 is one of my favorite words! literally unusable.

  • @stupidcasey
    link
    4610 days ago

    But why though? Do you really want a bunch of file.txt File.txt FILE.txt fIle.txt FiLe.txt FIle.txt flIe.txt… I once had a nasty bug the O in a file name was a 0 and I didn’t notice I can’t imagine the horrors this would cause.

    • @[email protected]
      link
      fedilink
      910 days ago

      Yeah I’ve definitely run into issues where case sensitivity causes problems. Especially in programs that are cross-functional between Windows and Linux. Like when I recently downloaded some bios files for a Playstation emulator and I spend time figuring out and troubleshooting why they weren’t working until it finally hit me the door McFly it’s cause the file name was in lowercase not uppercase. Than I cared to admit to figure out

      • @AnUnusualRelic
        link
        19 days ago

        Oooh, I’ve had that with some device. I think it was a camera or something like that. I’d forgotten about it. It took me ages to figure it out.

    • Moah
      link
      fedilink
      310 days ago

      Yours is not too question why, yours is to admire the marvel of technology even if it’s worth than useless

    • KillingTimeItself
      link
      fedilink
      English
      29 days ago

      surely this is the only place where we would run into stupid syntax problems, right?

      imo syntax bugs will be a thing until the end of time, they certainly beat having to rip out 90% of what you’ve done to fix it that’s for sure.

  • @9point6
    link
    4310 days ago

    Oh it’s even better, windows explorer can’t really do case sensitive

    But NTFS is a case sensitive file system

    This occasionally manifests in mind boggling problems

    • @[email protected]
      link
      fedilink
      1410 days ago

      Yeah, it’s super weird. I once named a file with mixed case, but one of the letters was the wrong case. Renaming the file didn’t work at first. Renaming a file named PAscalCase.txt to PascalCase.txt resulted in no change to the filename. Windows continued to show it as PAscalCase.txt. I had to rename it to something totally different with different characters entirely, then rename it again to get it right.

      • dual_sport_dork 🐧🗡️
        link
        11
        edit-2
        9 days ago

        Renaming it in Explorer does actually rename the file if all you change is the case (in current Windows, at least, see the pedantry below), but whatever mechanism Explorer uses to determine “has this file’s name changed” is apparently case insensitive. So it won’t refresh the file list. I imagine this is yet another one of those damn fool Windows 95 holdovers, or something.

        You don’t have to do any multiple-renaming jiggery pokery. Just press F5 to refresh that Explorer window and magically then it’ll show you that the file’s name was indeed changed all along.

        • @[email protected]
          link
          fedilink
          -69 days ago

          Nope. Tried that. Tried DIR in a command window too. But I never specified even what version of Windows I was running, so I’m a little unclear why you’re trying to troubleshoot a problem I was experiencing on windows nearly a decade ago. I guess this is what be mansplained too feels like.

    • Kushan
      link
      English
      610 days ago

      You can enable case sensitivity in windows. It’s only disabled by default.

        • Kushan
          link
          English
          110 days ago

          It’s generally fine, the vast majority of applications are fine with it, it’s mainly the legacy shit that falls over.

          You can also enable it on a per directory basis, and I’ve yet to encounter a Dev tool that has issues with it. Same for the path limit, you can have long paths enabled too.

      • @[email protected]
        link
        fedilink
        1
        edit-2
        8 days ago

        Same on MacOS - when you format a drive, you can pick whether it’s case sensitive or not.

    • @stupidcasey
      link
      110 days ago

      Lol, I have a NTFS drive in a Linux container so I didn’t have to re download everything I had on windows works perfectly fine, now I’m assuming if I ever try to move it back to windows something horrible will break.

    • MudMan
      link
      fedilink
      2910 days ago

      Yeah, right? Are we pretending that having case sensitive file names isn’t a bad call, or…? There are literally no upsides to it. Is that the joke?

      • RandomLegend [He/Him]
        link
        fedilink
        3010 days ago

        I’m with you here, i find it infuriating and i never ever had the situation where this was beneficial.

        Like who tf actually creates a File.txt, file.txt AND FILE.TXT in one place and actually differentiates them with that.

        • MudMan
          link
          fedilink
          510 days ago

          I mean, it’s less of an issue on Linux for both design and user profile reasons, but imagine a world where somebody can send all the normie Windows users a file called Chromesetup.exe to sit alongside ChromeSetup.exe. Your grandma would never stop calling you to ask why her computer stopped working, ever.

        • macniel
          link
          fedilink
          310 days ago

          Isn’t it less strain on the Filesystem? keeping a sanitised filename next to the actual filename surely has some drawbacks.

        • @[email protected]
          link
          fedilink
          210 days ago

          For example I might store blobs of data processed by my database in files that have the Base64 ID of the blob as the filename. If the filesystem was case insensitive, I’d be getting collisions.

          Users probably don’t make such files, no. But 99% of files on a computer weren’t created by the user, but are part of some software, where it may matter.

          And often software originally written for Linux or macOS and then ported to Windows ends up having problems due to this.

      • Lucy :3
        link
        fedilink
        510 days ago

        For files of casual users it might be of benefit. They don’t care about capitalization. For system files, I find it pretty weird to name them with random capitalization, and it’s actually pretty annoying. Only lower- (or upper-)case would be ok tho.

        • MudMan
          link
          fedilink
          910 days ago

          Well, camel case does help readability on file names. But I guess that’s the point of case insensitive names, it doesn’t matter. However you want to call them will work.

    • @[email protected]
      link
      fedilink
      1010 days ago

      CMV: all Linux files should be case insensitive, displayed as lowercase and mandatory snake_case.

  • @pyre
    link
    409 days ago

    thank god it’s not case sensitive holy shit. i don’t understand the kind of person who would see that as a positive.

    • @A_Random_Idiot
      link
      English
      239 days ago

      Seriously.

      It sounds like a fucking nightmare. Imagine working on something for days and it refuses to work cause you accidentally capitalized 1 file name and dont notice it?

      That sounds like the kind of shit they’d do in tech hell.

      • @[email protected]
        link
        fedilink
        28 days ago

        We regularly have that problem at work. Works on your development PC on Windows. Push to pipeline, get cryptic error messages. Once we were two people trying to figure it out for half an hour.

        Case-sensitive file names. Why.

  • DefederateLemmyMl
    link
    fedilink
    4010 days ago

    Even more annoying is that it’s very cumbersome to change the case of a file once you’ve created it.

    If you accidentally create fIle.txt when you meant File.txt, the rename function does nothing … and it will keep displaying as fIle.txt. You have to rename it to something else entirely, then rename it back to the original name with the intended case.

      • DefederateLemmyMl
        link
        fedilink
        English
        38 days ago

        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.

        • @[email protected]
          link
          fedilink
          28 days ago

          sounds like actually a good solution … tho doesnt sound like it would work for more than 2 similarly-named files

          • DefederateLemmyMl
            link
            fedilink
            28 days ago

            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.

  • @FuryMaker
    link
    English
    349 days ago

    Is it just me or is that more of a hinderance?

    • @platypus_plumba
      link
      2
      edit-2
      4 days ago

      I honestly don’t get why everyone is agreeing with Windows on this one. I just love how explicit Linux is.

      file.txt is fucking file.txt. Don’t do any type extra magic. Do exactly as I’m saying. If I say “open file.txt”, it is “open file.txt”, not “open File.txt”.

      The feature isn’t being able to create filenames with the same name, nobody does that. The feature is how explicit it is.

      It would be so confusing to read some code trying to access FILE.TXT and then find the filesystem has file.txt

    • @[email protected]
      link
      fedilink
      159 days ago

      I absolutely fail to see the utility of having a user called Bob and bob, or a dir called Downloads and downloads. Capitalisation makes sense in code - at a glance I can know I’m looking at a Class or a var, but for system administration it has only ever wasted time, and not once made anything easier.

      • @[email protected]
        link
        fedilink
        58 days ago

        If capitalisation is used to indicate the start of words then it could make sense for a webserver to serve ExpertsExchange and ExpertSexChange. But yeah having 16 possible versions of “main” would be horrendous.

        • @[email protected]
          link
          fedilink
          28 days ago

          URLs aren’t case-sensitive though, so wouldn’t those necessarily have another kind of differentiator?

  • @linearchaos
    link
    English
    329 days ago

    Yeah I’ve been using Linux for a very long time. The amount of time I’ve spent on the case being incorrect is non-trivial. I’ve gotten better at not screwing it up throughout the years but the sum of advantages is far outweighed by the sum of debugging time spent.

    • @ZILtoid1991
      link
      138 days ago

      Case sensitivity is so much of a problem, that in college, people were always told to keep all their filenames all lowercase, to avoid issues with them.

      • @draughtcyclist
        link
        88 days ago

        That’s the “getting better at not screwing up” part.

  • @calcopiritus
    link
    309 days ago

    I’m with windows on this one. Case insensitive is much more ergonomics with the only sacrifice represented by this meme. And a little bit of performance of course. But the ergonomics are worth it imo.

    • KillingTimeItself
      link
      fedilink
      English
      09 days ago

      so cool story, on linux theres this thing called you can just not make case sensitive files, i do it a lot.

      You can also just, use a case insensitive autocomplete setup as well. If you’re using a mouse idk why you’re even talking about this so that wouldn’t matter.

        • KillingTimeItself
          link
          fedilink
          English
          59 days ago

          hence the inclusion of the case insensitive auto completion, it’s not 1982, you can use that now.

          • exu
            link
            fedilink
            English
            29 days ago

            If I have two folders in my directory, Dir1 and dir2, what does d <TAB> autocomplete to and what should it do?

            • Illecors
              link
              fedilink
              English
              39 days ago

              At least on zsh it would pop both of those as suggestions you can cycle through.

            • @[email protected]
              link
              fedilink
              29 days ago

              In the case of zsh it will quite happily do either and ask you which you meant just like if they were called Dir1 and Dir2. Also works if you have a dir1 and Dir2 in the same directory as well

            • KillingTimeItself
              link
              fedilink
              English
              19 days ago

              it depends on your shell configs. In my case it sits at dir/Dir (case insensitive) waiting for me to specify 1 or 2, where as if you disable it, it’s dependent on whether or not you type d or D.

            • @[email protected]
              link
              fedilink
              08 days ago

              In fish it would immediately expand to dir2.

              If you have “Dir1” and “DIR2” and you type “cd d”, your prompt will look like in the next picture. Fish automatically transforms “d” into “D”, because there is no dir starting with the lowercase “d”.

              On a subsequent <TAB> you’ll get a list of dirs matching your prompt so far in which you choose an entry with the cursor key and enter it with the enter key.

      • @calcopiritus
        link
        59 days ago

        When you say "canse insensitive file*, do you mean lowercase files? Or is there an option?

        Idk why we talking about mouses. When I’m on Linux, most of the time it’s through ssh.

        • KillingTimeItself
          link
          fedilink
          English
          -19 days ago

          either or, whatever the fuck you want really.

          You can just not use capital letters if you feel like it. Works pretty well. Or just use a case insensitive shell handler for pretending it’s not actually cased at all.

          Hell im pretty sure you could just render all of the text in a certain case and call it a day lol.

          • @calcopiritus
            link
            58 days ago

            I can make MY files all lowercase, but 99.999% of files on my computer are not created by me. And some of them have capital letters.

              • @calcopiritus
                link
                38 days ago

                They are not created by people. They are created by programs.

                • KillingTimeItself
                  link
                  fedilink
                  English
                  17 days ago

                  what kind of programs are you using that use case in filenames. Smells like a skill issue to me.

  • krimsonbun
    link
    fedilink
    English
    30
    edit-2
    9 days ago

    cd downloads

    bash: cd: downloads: No such file or directory

    cd Downloads

    user@pcname:~/Downloads$

  • @radamant
    link
    English
    2610 days ago

    Windows way is superior, in my opinion. I don’t think there’s a need for File.txt and fILE.txt

    • @[email protected]
      link
      fedilink
      17
      edit-2
      10 days ago

      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.

        • clif
          link
          210 days ago

          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?

          • @TrickDacy
            link
            310 days ago

            I sense sarcasm but I don’t really get it. I still can’t tell if the OC had a typo or not :)

            • clif
              link
              310 days ago

              : D

              I think they just fixed it

              • @TrickDacy
                link
                310 days 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!

    • DefederateLemmyMl
      link
      fedilink
      1110 days ago

      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.

      • @Serinus
        link
        710 days ago

        It turns out that the easiest thing to program isn’t always the best application design.

        • DefederateLemmyMl
          link
          fedilink
          English
          1
          edit-2
          10 days ago

          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.

          • @redisdead
            link
            08 days ago

            It’s not elegant when it causes more problems than it solves.

      • @radamant
        link
        English
        09 days ago

        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?

        • DefederateLemmyMl
          link
          fedilink
          English
          1
          edit-2
          9 days 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.

        • DefederateLemmyMl
          link
          fedilink
          4
          edit-2
          10 days ago

          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?

            • DefederateLemmyMl
              link
              fedilink
              English
              1
              edit-2
              10 days ago

              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.

              • @[email protected]
                link
                fedilink
                English
                010 days ago

                If you don’t do something stupid like reuse keys just with different capitalization, this never occurs.

                • DefederateLemmyMl
                  link
                  fedilink
                  English
                  510 days 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.