• @aleq
    link
    1221 year ago

    Reasonable and sane behavior of cd. Just get into the habit of always using lower case names for files and directories, that’s how our forefathers did it.

      • @MooseBoys
        link
        451 year ago

        Even worse, many components will ignore the XDG_DOWNLOAD_DIR var so even if you manually change it to $HOME/downloads (lower-case) it will often break things.

        • @Synthead
          link
          351 year ago

          Keep filling those bugs and stop complaining on random forums, kids

          • @MooseBoys
            link
            31 year ago

            Yeah but the main issue is that I don’t want there to be a Downloads directory in my home.

          • @paperplane
            link
            41 year ago

            This is all fun and games until you try moving a backup to a file system that’s case-insensitive

          • unalivejoy
            link
            fedilink
            English
            3
            edit-2
            1 year ago

            That’s not an environment variable. It’s defined in ${XDG_CONFIG_HOME:-$HOME/.config}/user-dirs.dirs.

            Though you can use the xdg-user-dir DOWNLOAD command to get it automatically.

    • @[email protected]
      link
      fedilink
      71 year ago

      Lower case directories?

      Eww

      ILikeMineInAWayICanReadThemProperly, instead of ilikemineinawayicanreadthemproperly

      • @aleq
        link
        131 year ago

        If a directory has multiple words in it I usually do kebab case: i-like-mine-in-a-way-i-can-read-them-properly. Both easier to read and type than pascal case.

        For more complex filenames I use a combination of kebab-case and snake_case, where the underscore separates portions of the file name and kebab-case the parts of those portions. E.g. movie-title_release-date-or-year_technical-specifications.mp4

    • @eek2121
      link
      31 year ago

      Do. none of you use case insensitive autocomplete? “do ” “Downloads”

  • @Sh1nyM3t4l4ss
    link
    911 year ago

    Use a shell with decent auto-completion. I have not been irritated by this in years.

      • @sysadmin420
        link
        29
        edit-2
        1 year ago

        Is a 40 year old it guy who love linux, wat

        Macos is case insensitive?!

            • @[email protected]
              link
              fedilink
              English
              121 year ago

              I’ve been using case insensitive fs on macOS for years and the only software having issues with this is onedrive.

              can’t say i’m surprised.

              • @[email protected]
                link
                fedilink
                4
                edit-2
                1 year ago

                I have issues with Docker a lot. Example: Rename a file from “File.js” to “file.js” in a dependency and it’s like something caches the old name so even when I redownload or install that dep it tries the old name and fails to find the file. Might just be me and my tomfoolery

                • @[email protected]
                  link
                  fedilink
                  31 year ago

                  if you’re renaming from File.js to file.ts, which is also changing suffixes instead of just capitalization, then that couldn’t be explained by case sensitivity, unless it was a typo and you meant File.js to file.js

                • @[email protected]
                  link
                  fedilink
                  11 year ago

                  This is likely because docker runs Linux in a VM on MacOS right?

                  We’ve had similar problems with stuff that works on the developers Mac but not the server which is case sensitive. It can be quite insidious if it does not cause an immediate “file not found”-error but say falls back to a default config because the provided one has the wrong casing.

              • @[email protected]
                link
                fedilink
                11 year ago

                Which part? I’d love to switch if there’s no reformatting, and if your exception is with the first part, I’d ask for some evidence. All of my mac machines arrived brand new, case insensitive. Granted that’s only 3 so far, but it’s a smattering from 2019 onward. All the literature online points to this being the default too

          • @sysadmin420
            link
            31 year ago

            Wow, I figured it’d be case sensitive, crazy, gotta make it more windows like I guess.

      • @colonial
        link
        12
        edit-2
        1 year ago

        I don’t know about dangerous, but case-insensitive Unicode comparison is annoying, expensive and probably prone to footguns compared to a simple byte-for-byte equality check.

        Obviously, it can be done, but I guess Linux devs don’t consider it worthwhile.

        (And yes, all modern filesystems support Unicode. Linux stores them as arbitrary bytes, Apple’s HFS uses… some special bullshit, and Windows uses UTF-16.)

        • lnee
          link
          fedilink
          11 year ago

          so if linux stores file names as arbitrary bytes them could I modify a ext4 fs to include a / in a file name

          • @[email protected]
            link
            fedilink
            11 year ago

            If you did it would likely break something as it’s one of only two characters not allowed in a file name (the other being null).

            You can do a lot of funky stuff within the rules though, think about control characters, non-printing characters, newlines, homographs, emojis etc. and go forth and make your file system chaos!

  • @HatFunction
    link
    59
    edit-2
    1 year ago

    This is completely unrelated to the meme at hand, but the title just reminded me that for a while, Merriam-Webster mistakenly included the word “Dord” to mean density - because an editor misread the entry for “D or d” as an abbreviation of density.

    Wikipedia

    • Flying Squid
      link
      51 year ago

      I am regularly disappointed that the word games I play on my phone don’t accept ‘dord.’ They should, damn it! One of them accepts Jedi, ffs!

      • @shotgun_crab
        link
        English
        61 year ago

        Yeah, and I think most shells will correct this case by pressing tab

      • Affine Connection
        link
        English
        31 year ago

        Also, I constantly name files in the same directory the same thing except for case. In my ~/tmp directory I have unrelated foo.c (C source) and foo.C (C++ source).

        • Zagorath
          link
          fedilink
          English
          21 year ago

          Why not .cpp for C++? I don’t use C++, but I thought that was the standard.

          • Affine Connection
            link
            English
            8
            edit-2
            1 year ago

            .C came first. I don’t usually use it though; I usually use .cc or .cxx, but if I’m making some tiny test source, I often use .C. I’m strongly opposed to the .cpp extension because calling C++ “CPP” leads to confusion with the preexisting (before C++) use of the initialism to refer to the C preprocessor. There’s a reason why CPPFLAGS refers to preprocessor flags and CXXFLAGS refers to C++ flags.

  • MerfMerf
    link
    fedilink
    511 year ago

    echo ‘set completion-ignore-case On’ >> ~/.inputrc

    • PupBiru
      link
      fedilink
      15
      edit-2
      1 year ago

      also idk does zsh do this automatically? don’t think i’ve ever had this problem except on legacy AF servers

      i mean… unless you don’t tab complete, but then who doesn’t spam tab 30 times every keystroke?

      • MerfMerf
        link
        fedilink
        11 year ago

        Or up-arrow a bazillion time because you probably have it SOMEWHERE in the buffer, surely.

    • UFO
      link
      fedilink
      11 year ago

      Shit yo. How come I only learn this now? Thanks!

    • @[email protected]
      link
      fedilink
      11 year ago

      How does that handle languages that have different rules for capitalization? For example I and i are not the same letter in Turkish.

      • @[email protected]
        link
        fedilink
        11 year ago

        I believe that type of stuff is specified in your locale, so it’s possible that it would do the right thing if you’ve set your language to Turkish. Please try it and let us know though :)

      • MerfMerf
        link
        fedilink
        11 year ago

        Don’t know actually, never used a language like that. But should be easy enough to undo should one test it and end up not liking how it handles it.

  • Codex
    link
    36
    edit-2
    1 year ago

    I love how many people brought up the Turkish “I” as if everyone here is on the Unicode steering committee or just got jobs for Turkish facebook.

    I, an English speaker, have personally solved the problem by not having a Turkish I in the name of my Downloads directory, or any other directory that I need to cd into on my computer. I’m going to imagine the Turks solve it by painstakingly typing the correct I, or limiting their use of uppercase I’s in general.

    In fact, researching the actual issue for more than 1 second seemingly shows that Unicode basically created this problem themselves because the two I’s are just seperate letters in Turkic languages. https://en.m.wikipedia.org/wiki/Dotted_and_dotless_I_in_computing

    If you nerds think this is bad try doing Powershell for any amount of time. It is entirely case-insensitive.

    • @[email protected]
      link
      fedilink
      81 year ago

      Why the FUCK did they make characters that look the same have different codepointers in UNICODE? They should’ve done what they did in CJK and make duplicates have the same codepointer.

      Unicode needs a redo.

      • Trantarius
        link
        fedilink
        331 year ago

        Well letters don’t really have a single canonical shape. There are many acceptable ways of rendering each. While two letters might usually look the same, it is very possible that some shape could be acceptable for one but not the other. So, it makes sense to distinguish between them in binary representation. That allows the interpreting software to determine if it cares about the difference or not.

        Also, the Unicode code tables do mention which characters look (nearly) identical, so it’s definitely possible to make a program interpret something like a Greek question mark the same as a semicolon. I guess it’s just that no one has bothered, since it’s such a rare edge case.

          • @[email protected]
            link
            fedilink
            English
            211 year ago

            In cases where something looks stupid but your knowledge on it is almost zero it’s entirely possible that it’s not.

            The people that maintain Unicode have put a lot of thought and effort into this. Might be helpful to research why rather than assuming you have a better way despite little knowledge of the subject.

              • @[email protected]
                link
                fedilink
                English
                81 year ago

                Again you do not because the world consists of more than your interests and job description.

              • @[email protected]
                link
                fedilink
                21 year ago

                I and l also look identical in many fonts. So you already have this problem in ascii. (To say nothing of all the non-printing characters!)

                If your security relies on a person being able to tell the difference between two characters controlled by an attacker your security is bad.

    • @[email protected]
      link
      fedilink
      37
      edit-2
      1 year ago

      It’s a default on some distros, unfortunately, and changing it without updating the necessary env vars will break a bunch of stuff.

      • @[email protected]
        link
        fedilink
        English
        21 year ago

        It would be a default on almost every distro that follows XDG specifications to have stuff like Downloads, Pictures, Videos in the $HOME folder. One of the first things I do as part of an installation is to modify ~/.config/user-dirs.dirs and set a specific folder, say /data/downloads or ~/downloads, for every XDG base directory.

    • janAkali
      link
      fedilink
      English
      81 year ago

      Or better yet, use z or zoxide:
      “z down” will fuzzy match the “~/Download” folder.

  • FeyterM
    link
    fedilink
    221 year ago

    I don’t get it… “D” is a complete different character than “d” is.

    It’s like wondering why “file1” is not opened when I typed in “file2”.

    • @[email protected]
      link
      fedilink
      201 year ago

      that’s not how language works though, in human language (i know this can be confusing) d and D are the same letter just in different forms.

      It’s one thing to have case sensitivity in programs doing data manipulation, that makes sense because you don’t want the program to accidentally use the wrong files without supervision.

      But when you have an interactive prompt you know what you’re doing, you can see if you entered the wrong directory, and you’re generally going to be working in directories that you have yourself organized.

      • @[email protected]
        link
        fedilink
        01 year ago

        Doesn’t tab completion solve this if there are no alternatives with matching case? sounds like a PBKAC

    • @[email protected]
      link
      fedilink
      81 year ago

      On Windows filenames are case insensitive at least usually, some people are used to that. But that is poor design for so many reasons, Turkish I being one of them.

        • oleorun
          link
          fedilink
          English
          11 year ago

          TIL, thanks. I wonder why they chose to do it this way.

          • @AnUnusualRelic
            link
            11 year ago

            They cater to windows users that are used to the quirks of their broken system.

    • @[email protected]
      link
      fedilink
      81 year ago

      You could also say that down should not complete to download since those are completely different strings and you shouldn’t expect one to get you the other.

      • FeyterM
        link
        fedilink
        31 year ago

        Sorry, down is a substring of download I don’t get your point either?

          • FeyterM
            link
            fedilink
            11 year ago

            down matches down* because * also includes empty string. Also download matches down*

            D matches D* but d is not matching D* because D is a different character than d.

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

              but why do we have to match specifically against substr*? it’s not a law of nature, we could also match against the regex (?i)substr(?-i).*

              not saying that one option is necessarily better, but I don’t see a good reason for which any one of these options would be terrible

              • FeyterM
                link
                fedilink
                1
                edit-2
                1 year ago

                Because usability. If you have the files down down1 down2 downxyz and download and the user only knows that it was “something with down” it’s best to show the user everything matching “down*” and let the user decide what’s the correct one.

                Also I’m not sure but wouldn’t your expression show everything if only one character would be entered?

                And again I don’t see this solving anything if the entered string actually contains other characters then what’s in the file (D != d)

                Yes one could argue that some form of advanced algorithm or even AI could be used to identify such use case like download and Download but this is programming Humor, not linguisic Humor.

                • @[email protected]
                  link
                  fedilink
                  11 year ago

                  would it not be usable to have completion be case insensitive? I seem to be able to use that… if I only remember “something with down”, I could just as easily forget the capitalization of “down”. maybe I have downloads and Down? why not show everything matching case insensitively and let the user decide what’s the correct one?

                  I didn’t really understand what you thought the regex did incorrectly, but I think the regex works fine, at least for most implementations, anyways what I meant is just a case insensitive version of the regular substring completion, which shouldn’t be too difficult to make.

                  The only thing it solves is the frustration of having to look for a file/directory twice because you didn’t remember it’s capitalization. again, those are different characters just like a do and downloads are different strings, but it can be easier for users if they can just press tab and let the computer fill the part of the name the don’t remember (or don’t want to type).

                  you don’t need an advanced algorithm or and AI, there are many easy ways to make completion case insensitive (like that regex for example). Issues involving names are inherently somewhat linguistic, but either way interactive shells are meant to be (at least somewhat) usable to humans, and as seen by the post, some people would prefer completion to be case insensitive.

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

      People want their computers to magically know what they want these days. :)

      This specific problem doesn’t exist in oh-my-zsh config though. It will find the directory even if spelling it like this.

      • PupBiru
        link
        fedilink
        41 year ago

        “magically know what they want” aka occasionally set you and your files on fire

        i prefer not fire

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

      yeah Fish tab completion works, but one thing I’ve noticed though is that tab completion for wrong case only works if there’s no option with the correct case

      e.g. if I have Downloads and Downloads2 then d with tab completion will become Downloads, but if I have Downloads and downloads2 it will tab complete to downloads2 and D will complete to Downloads

       

      I’ve been meaning to look through the Fish documentation to see if I can change that and fuzzy search for history but never got around to it