• @[email protected]
    link
    fedilink
    02 months ago

    And the 4 linux users in the world kept jacking themselves off and then whining about how windows is more popular for having a UI

  • @[email protected]
    link
    fedilink
    12 months ago

    People can do whatever they like, and heck I find CLI intimidating sometimes, but I’m always learning something new a little bit at a time.

    I’m tired of seeing it in every field of interest that has any kind of payoff, whether art or FOSS.

    “I’m [(almost always) a guy] who (maybe has kids and) has a job. I stopped learning anything after I got my job-paper / degree / highschool diploma. I shouldn’t have to learn anything anymore. I am happy to shell out disposable sad-salary-man money (and maybe my soul idk) to any mega-corp that offers me a “create desired outcome button” without me having to think too much. It’s [current year]! I shouldn’t have to think anymore! Therefore Linux is super behind and only for nerds and I desire its benefits so much that I leave this complaint anywhere these folks gather so they know what I deserve.”

    Agh. I gotta go before this rant gets too long lol

  • Lovable Sidekick
    link
    fedilink
    English
    1
    edit-2
    2 months ago

    Having started out in programming before the GUI era, typing commands just feels good to me. But tbh Linux commands really are ridiculously cryptic - and needlessly so. In the 1980s and 90s there was a great OS called VMS whose commands and options were all English words (I don’t know if it was localized). It was amazingly intuitive. For example, to print 3 copies of a file in landscape orientation the command would be PRINT /COPIES=3 /ORIENTATION=LANDSCAPE. And you could abbreviate anything any way you wanted as long as it was still unambiguous. So PRI /COP=3 /OR=LAND would work, and if you really hated typing you could probably get away with PR /C=3 /O=L. And it wasn’t even case-sensitive, I’m just using uppercase for illustration.

    The point is, there’s no reason to make everybody remember some programmer’s individual decision about how to abbreviate something - “chmod o+rwx” could have been “setmode /other=read,write,execute” or something equally easy for newbies. The original developers of Unix and its descendants just thought the way they thought. Terseness was partly just computer culture of that era. Since computers were small with tight resources, filenames on many systems were limited to 8 characters with 3-char extension. This was still true even for DOS. Variables in older languages were often single characters or a letter + digit. As late as 1991 I remember having to debug an ancient accounting program whose variables were all like A1, A2, B5… with no comments. It was a freaking nightmare.

    Anyway, I’m just saying the crypticness is largely cultural and unnecessary. If there is some kind of CLI “skin” that lets you interact with Linux at the command line using normal words, I’d love to know about it.

    • @[email protected]
      link
      fedilink
      12 months ago

      typing commands just feels good to me

      That’s because for the most part, it’s faster. You don’t have to lift one hand off the keyboard. Also using the cursor and clicking on something requires more precision and effort to get right compared to typing a word or 2 and hitting enter.

      This is me kinda bragging, but at my typing speeds, something like ls -la is under half a second. Typing cd proj (tab to auto complete) (first few letters of project name if it’s fairly unique) (tab to auto complete), hitting enter, and then typing a quick docker compose up is an order of magnitude faster than starting the containers in docker GUI.

      But tbh Linux commands really are ridiculously cryptic - and needlessly so.

      Agreed. Okay, to be fair, for parameters, most of the time you have the double-dash options which spell out what they do, and for advanced users there’s the shorthands so everyone should be happy. But the program/command names themselves. Ugh. Why can’t we standardize aliases for copy, move, remove/delete? Keep the old binaries names, but make it so that guides for new users could use actual English aliases so people would learn quicker?

    • Andromxda 🇺🇦🇵🇸🇹🇼
      link
      fedilink
      English
      02 months ago

      And you could abbreviate anything any way you wanted as long as it was still unambiguous.

      Oh that reminds me of diskpart on Windows. I always liked the fact that I could abbreviate “assign” to “ass”.

  • @[email protected]
    link
    fedilink
    02 months ago

    I’ve never met any windows evangelists to be honest. Lots of Apple evangelists though who will spend forever talking about windows. Every developer I’ve met who uses Windows always had a tongue in cheek sort of “well it kind of sucks in some ways but it’s what I’m used to, one day maybe I’ll get off my ass and change OS”.

    Reminds me of the “I use Arch Linux btw” meme which doesn’t really happen as much anymore other than as a joke. Also, I use Arch Linux btw

    • @[email protected]
      link
      fedilink
      English
      02 months ago

      Im not an evangelist for windows (I won’t try to convert you) but I’m unashamed of being a software engineer who uses Windows as my main dev platform

        • @[email protected]
          link
          fedilink
          English
          02 months ago

          At work everything I do is in the Javascript/Web world. Typescript backend, webpack react, etc. I use C++ and C# for personal projects because I personally despise Javascript world

          • @[email protected]
            link
            fedilink
            12 months ago

            That’s like my opposite haha, all my own projects are TypeScript and vite react, at work I was working with C#. Though I do prefer static typing much more.

            • @[email protected]
              link
              fedilink
              English
              12 months ago

              When I work on web projects at home I don’t use any javascript at all. Just html and css. Interactions are handled via form submission. I’m working on a forum in asp.net mvc without any javascript at all

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

    I do most of my work at the command line, my co-workers do think I’m nuts for doing it, but one of our recent projects required us all to log into a client’s systems, and a significant portion of the tasks must be done via bash prompt. Suddenly, I’m no longer the team weirdo, I’m a subject matter expert.

  • @[email protected]
    link
    fedilink
    3
    edit-2
    2 months ago

    GUI is a generic swiss army knife. It’s easy to introduce to someone, and it has a whole array of tools ready for use. However, each of those tools is only half-decent at its job at best, and all of the tools are unwieldy. The manual is included, but it mostly tells you how to do things that are pretty obvious.

    CLI is a toolbox full of quality tools and gadgets. Most people who open the box for the first time don’t even know which tools they’re looking for. In addition, each tool has a set of instructions that must be followed to a T. Those who know how to use the tools can get things done super quickly, but those who don’t know will inevitably cause some problems. Oh, but the high-detail manuals for all the tools are in the side compartment of the toolbox too.

  • @[email protected]
    link
    fedilink
    12 months ago

    Tbh the terminal is super convenient. No random UI placement. Most things follow one of several conventions so less to get used to. It’s easy to output the results of one command into another making automation obvious, no possibility for ads. It’s pretty sweet

  • @[email protected]
    link
    fedilink
    English
    02 months ago

    Nothing wrong with CLI. It is fast and responsive.

    Unless you want mainstream use. Because the majority of people can’t even use a UI effectively. And CLI is much worse.

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

      This is the core of the argument. You can’t expected the average casual user to use CLI at all if you want mainstream adoption. The vast majority of people can barely operate Windows as-is, telling them to use a Linux CLI would be asinine.

  • @[email protected]
    link
    fedilink
    02 months ago

    It’s wild that Linux stans are such masochists that they believe they can convert people to loving abuse, instead of just making the interface better to attract users.

    • @[email protected]
      link
      fedilink
      12 months ago

      What I consider a “better interface” is almost certainly not what a new user would consider a “better interface.”

  • @[email protected]
    link
    fedilink
    22 months ago

    Ever since switching to fish, I’ve been using the terminal more and more. It’s the most intuitive interface I can think of. Now to fix my neovim configuration…

        • @[email protected]OP
          link
          fedilink
          152 months ago

          I learned that tab=autocomplete when I first played minecraft in grade school haha. I just assumed that it was common knowledge but apparently not…

        • @[email protected]
          link
          fedilink
          English
          22 months ago

          This is me. I’m taking the L on this one and I’ve (at least occassionally) used Unix-like systems professionally for 15 years. I’m all self-taught on Linux and didn’t figure out Tab until I was doing some awful Grub troubleshooting and it spells out that tab autocompletes. So I tried it in terminal and then smirked at the camera like Jim

        • @[email protected]
          link
          fedilink
          122 months ago

          Wait until you learn about fzf - a replacement for ctrl-r that offers fuzzy search with a nice tui

          • @[email protected]
            link
            fedilink
            English
            4
            edit-2
            2 months ago

            I’m completely familiar with fzf!

            I also generally tap in the first few letters of a command then use pgUp (on my system) to autocomplete. Or use the ol’ !<command#>.

            But I have somehow never friggin heard about Ctrl+r.

    • Possibly linux
      link
      fedilink
      English
      812 months ago

      The commands: ls cp mv…

      Meanwhile you get Windows people who memorize things like Get-AllUsersHereNowExtraLongJohn

        • @[email protected]
          link
          fedilink
          182 months ago

          Versus:

          man $commamd

          PowerShell might be okay script syntax for people with uncorrected sight issues and the elderly who’s heart might not handle bash without set -e but to be useful as a CLI shell prompt that is your primary way of interacting with the computer like it can be on Linux it needs to be so so so much shorter. I’ll be dead by the time I type out half the shit it’d be like 4 key presses total on Linux.

          And that’s before you get to the issues of it being a whole object oriented and typed programming language with .NET whereas shell is nice universal text everywhere that can be piped around however you want.

          There are even those absolute mad lads who unironically use PowerShell on Linux.

          Learning the absolute basics of how to use tmux, vim, sed, awk and grep and pipes and redirects and the basics of handling stdin and stdout genuinely made me feel like all my life I was an NPC in the matrix and now I’m Neo just because passing around bits of text is so powerful when everything works on that basis.

          • @[email protected]
            link
            fedilink
            32 months ago

            I’m one of those that use PowerShell on linux.

            You can use tmux, vim, sed, awk or whatever binary you want from PowerShell. Those are binaries, not shell commands.

            You can use pipes, redirects, stdin and stdout in PowerShell too.

            I personally don’t regularly use any object oriented features. But whenever I search how to do something that I don’t know what to do, a clear object-oriented result is much easier to understand than a random string of characters for awk and sed.

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

              Mixing the two philosophies of coreutils and unix bins and whatever is happening in PowerShell seems even more unholy to me than the phrase “object oriented result”, but different strokes.

              I gave up on PowerShell on Windows as a plausible alternative to Bash on Linux the minute I realized there’s no real equivalent tocat, there’s type or if you hate yourself - Get-Content which is aliased as cat but doesn’t really work the same way.

              If I can’t even very basically list a file irregardless of what’s in it, it’s just dead out of the gate.

              On Linux, I once sent myself an MP3 from my server to my laptop with cat song.mp3 | base64 -w0 > /dev/tcp/10.10.10.2/9999 because I cba to send ssh keys.

              I’ll give modern windows a few points - the new terminal emulator application is sweet, and having ssh makes it easy to login to remotely.

              PowerShell is a strange programming language that makes me wish I was just writing C#.

              Bash is a shell language. At its heart it’s a CLI, emphasis on the I, it’s the primary way of interacting with a computer, not a way to write programs. Even awk is arguably better suited.

              That’s why it neither needs to be verbose nor readable for complete beginners, you memorize it the same way you memorize where buttons are on a keyboard or what items you can expect in a right click context menu on Windows.

              Most bash scripts people write are far too complex for it and could stand a rewrite in perl or python or heck, what I think actually works amazing as a “scripting language” - C.

          • @[email protected]
            link
            fedilink
            English
            102 months ago

            Yea, when I switched to Linux, at first I installed PowerShell to get something familiar, but quickly realized that contrary to Windows, terminal on Linux is actually usable on it’s own out of the box.

          • exu
            link
            fedilink
            English
            22 months ago

            PowerShell doesn’t stop on errors either by default. And of course a significant number of tools you need aren’t available in PowerShell, only cover partial functionality or are an exe you need to call so even if it did stop on error, doesn’t work for those tools by default.

            • @[email protected]
              link
              fedilink
              32 months ago

              It is still a shock to me that some genius aliased curl to Invoke-WebRequest and that curl.exe is what you actually want.

          • @[email protected]
            link
            fedilink
            English
            32 months ago

            Re: length of commands, PS commands are longer, but they also have tab completion so realistically you never type the whole thing, only enough to be unambiguous and press tab. I’ll grant it’s still longer than the equivalent bash, but not by as much as it appears.

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

        In PowerShell most common cmdlets for basic operations have aliases by default. And funnily enough you can use both Windows (cmd.exe) and Unix shell names for these. (copy vs cp, del vs rm, etc.)

        AFAIK The cmdlets that you use only by Verb-Noun convention are mostly used in scripts, or in some administration tasks.

        I also think that some poeple miss the point of PowerShell, as it’s not supposed to be worked with like with Unix shells, since it’s more object-oriented than string-oriented.

    • @[email protected]
      link
      fedilink
      English
      72 months ago

      See also: atuin - a shell history tool that records your shell history to sqlite.

      Seamless sync across shell sessions & machines, E2EE + trivially self-hostable sync server, compatible with all major shells, interactive search, etc.

    • SinkingLotus
      link
      fedilink
      English
      172 months ago

      I’m the type to spend 10 minutes going through my previous commands, rather than 5 seconds typing it.

  • @[email protected]
    link
    fedilink
    312 months ago

    CLI is effective because every command serves a specific purpose. UIs are the opposite, you have to imagine all possible intentions the user could have at any given point and then indicate possible actions, intuitively block impossible actions, and recover from pretty much any error.

    • @[email protected]
      link
      fedilink
      72 months ago

      CLI is effective also because of its history (i.e. one can go back, repeat a command as-is or edit it then repeat) but also the composability of its components. If one made a useful command before, it can be combined with another useful command.

      Rinse & repeat and it makes for a very powerful tool.

      • @[email protected]
        link
        fedilink
        5
        edit-2
        2 months ago

        The Unix principle of piping between two or even multiple programs, together with “all data should be in the simplest common format possible” (that is, largely unformatted strings), was a really clever invention to be popularized. As proven by the fact it is still so useful decades later on a myriad of computers unimaginably more powerful than what they had back then.

        It’s not perfect by any means (alternative title: why something like Nushell exists), but it’s pretty good all things considered I dare say.

  • @[email protected]
    link
    fedilink
    English
    472 months ago

    meanwhile Windows users: let me drop into this random strangers discord who claims he will make my PC faster by dropping this .bat file that will run thousands of commands to “debloat” my install. also let me edit the registry and add random values to keys that I don’t know what they’re used for. this process is basically irreversible because I will inevitably forget which keys I’ve edited over time, wow windows is so simple and easy and intuitive 🤡

    • @[email protected]
      link
      fedilink
      102 months ago

      That’s not a windows problem, it’s a user problem. The same scenario could play out with a shell script that modifies a hundred dotfiles. Lots of solutions on Linux help forums are “Paste this into your terminal. Don’t forget the sudo!”

    • @[email protected]
      link
      fedilink
      82 months ago

      Amen. I remember having to frequently reinstall the system to keep it performant. Thanks windows rot.

      • LoudWaterHombre
        link
        fedilink
        62 months ago

        I used to reinstall Windows once a year. Now with Debian stable I just fix the problem if there is any and that’s it.

    • @[email protected]
      link
      fedilink
      English
      22 months ago

      I actually used to make backups (Export) of each edited key and keep them in folders with context, so I could later look them up or even set them again in case of a reinstall.

      Now, they are lying, forgotten, on some NTFS drive that I haven’t opened in years.

      • @[email protected]
        link
        fedilink
        42 months ago

        I wonder if registry keys can be set with an ansible script? Granted, that is still not as nice as a declarative config (yay NixOS), but better than having to write down and do by hand again on a new install

        • lime!
          link
          fedilink
          English
          22 months ago

          yeah, reg set <key> <value> i think it is

  • @[email protected]
    link
    fedilink
    English
    662 months ago

    The only thing worse than reading documentation/tutorials about how to do things in GUIs is writing documentation about how to do things in GUIs. It’s just screenshot after screenshot. And following it is like playing a ScummVM game, only less fun and lots more alt+tabbing.

    • @[email protected]
      link
      fedilink
      322 months ago

      Screenshots? Look at Mr. Speedy Pants over here!

      In my experience, half the time it’s a bloody YouTube video. Nothing says “fun” like having to seek back around in a video to find the next step without waiting 20 extra seconds because you already had to seek back and pause the video after it breezed past an overcomplicated and poorly explained step.

      • @[email protected]
        link
        fedilink
        English
        72 months ago

        And the audio is text to speech because it was created by some 12-year-old neckbeard (is that a contradiction?) who is too embarrassed to use their voice on the video they made just to get likes and subscribers.

        • VindictiveJudge
          link
          fedilink
          English
          22 months ago

          My experience has usually been someone with a very thick accent and an incredibly crappy microphone.

    • @[email protected]
      link
      fedilink
      English
      192 months ago

      If the GUI is good, then it’s self documenting.

      I’ve got a new favorite quote: “I don’t need tutorials, I need verbose tooltips.” -Wonderbot