• jet@hackertalks.com
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    1
    ·
    2 years ago

    If you’re using a GUI, that means whatever you’re doing you’re not doing a lot of it, since you don’t need to automate it. I would expect a world-class enterprise engineer to be able to automate most tasks, and from that they would be very comfortable with the command line.

    Can you do everything with a GUI that you can on a command line? Yeah probably, if the developer is at all the features properly. Can you automate it easily? No not at all. So the more you do something the more you tend to want to deal with the vocabulary of the command line because it’s more expressive and allows for automation.

    I will die on this hill!

    • nottheengineer@feddit.de
      link
      fedilink
      arrow-up
      5
      ·
      2 years ago

      Documentation too. Frontends change all the time, but CLI tools usually don’t, so you can usually rely on old documentation. But have you ever tried googling how to do something in MS office, found and article from half a year ago and found that none of the things it mentions exist anymore? It’s ridiculous how much time people waste trying to figure out stuff multiple times because it changes so much.

      • rist097@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        2 years ago

        After long periods of not using GUIs, I found myself very confused every time I want to do something. I was trying to insert a code block into Power Point yesterday, took me half an hour of googling and didn’t manage to do it. With Latex, I googled and in 2 minutes I had a code block.

        • nottheengineer@feddit.de
          link
          fedilink
          arrow-up
          2
          ·
          2 years ago

          Given that Latex is a clusterfuck of legacy, it speaks volumes that it’s still so much easier to do things there rather than in powerpoint.

          With MS office I’ve also adopted a “fuck it, I’ll just take a screenshot” approach.

            • nottheengineer@feddit.de
              link
              fedilink
              arrow-up
              0
              ·
              2 years ago

              Yup, I tried doing it properly too when I started and now I don’t give a shit. If the company wants us to use crappy tools, that’s what they get.

              • What are you saying? The project is finished, the new stuff implemented and now you want to buy some fancy software and shedule 100 hours for documentation? We dont need that! Just help out your colleagues, when they have a question. They’ll all know what to do in no time!

    • Newusername4oldfart@lemm.ee
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 years ago

      Depends on what system you’re running, and especially what task you’re doing. Trying to operate firewall rules via CLI is an exercise in self-inflicted pain, as is trying to set a complex cron schedule without a handy calculator.

      • Rakn@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 years ago

        TIL there are people configuring firewalls via GUIs. Okay … I‘m do that too on my private equipment because I’m lazy. But it feels wrong doing so in an enterprise context.

      • Finn@lemm.ee
        link
        fedilink
        arrow-up
        0
        ·
        2 years ago

        Junos CLI is a real treat. I work with the SRX line regularly, particularly the SRX4600 and the SRX300 series.

        • Lodra@programming.dev
          link
          fedilink
          English
          arrow-up
          0
          ·
          2 years ago

          Personally, I’d take it a step further. Firewall rules should be defined as code in a git repo. So if you’re building rules in a gui, you’re simply doing it wrong. While a cli and/or api should be used, that should be automated and invisible to a human.

    • tatterdemalion@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      2 years ago

      CLI debuggers can’t hold a candle to the Visual Studio debugger. This is generally not something you automate, and I haven’t met many engineers that know gdb well. But pretty much anyone can use VS debugger.

  • nik0@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    2 years ago

    Honestly, some things can be done faster/as fast on GUI. So really just use whatever increases your productivity.

    • MangoPenguin@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      3
      ·
      2 years ago

      IMO GUIs are always faster when it’s something you’ve never used before, or use very infrequently.

      CLI is better if you’re used to the task you’re doing, or automating things. But for infrequent tasks looking up the commands (or looking at old notes to find it) is very slow and rather annoying.

      • I Cast Fist@programming.dev
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 years ago

        Moving files across several subfolder levels tends to be much faster on a GUI. Finding files is usually much faster via CLI, even when you have to look up again how to use the find command of your choice

        • MangoPenguin@lemmy.blahaj.zone
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 years ago

          Is there an instant GUI find tool on linux? find is very slow compared to using Everything on windows, and sorting results is really hard via CLI.

          • KubeRoot@discuss.tchncs.de
            link
            fedilink
            arrow-up
            0
            ·
            2 years ago

            I don’t know about GUI tools, but:

            Everything is so fast because it uses the index built into NTFS to find files by filename quickly, and NTFS is the definitive file system on Windows so it works everywhere.

            On Linux, there isn’t really an index built into the filesystem - some might have that, but I don’t know about it. That said, plocate is a common tool that uses its own index. You have to update the database when files change (you’ll probably have a job doing that daily), but searching the index is very fast.

        • Pommel_Knight@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          0
          ·
          2 years ago

          I usually just make a bat or py script to move and create specific files to specific folders.

          I only do this because I’m lazy and numbering, renaming and creating folders is a drag and can be easily automated, but just copy/paste or cut/paste is faster in GUI, especially with alt tab and the new tab file system on windows.

            • CanadaPlus@lemmy.sdf.org
              link
              fedilink
              arrow-up
              0
              ·
              2 years ago

              Your filesystem must be monstrously huge if it’s actually perceptibly slow. I also get tired of typing in long filenames with a ton of special characters I have to escape.

        • Semi-Hemi-Demigod@kbin.social
          link
          fedilink
          arrow-up
          0
          ·
          2 years ago

          The more you use the commands the more you remember them. I got good at the CLI by forcing myself to use it for things I would normally do in a GUI. Now everyone thinks I’m a wizard which I won’t discourage

  • 𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍
    cake
    link
    fedilink
    arrow-up
    1
    ·
    2 years ago

    So… my only requirement for my tools is that they have a well-supported CLI, and can be installed headless without graphical dependencies. Tools must be scriptable.

    That said, it’s nice to have a UI. My ideal configuration is a scriptable tool with a good API, and a separate GUI tool that can drive it.

    • Aux@lemmy.worldBanned
      link
      fedilink
      arrow-up
      0
      ·
      2 years ago

      One of the best tools I’ve used is SuperSlicer. It’s a slicer for 3D printers. It has GUI, it has CLI and it has a DLL/SO so you can add its features to your own application. And it’s open source if linking against an existing library is too hard for you, lol.

  • Sparrow_1029@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    2 years ago

    “graphical user interfaces make easy tasks easy, while command line interfaces make difficult tasks possible”

    • William E. Shotts Jr., The Linux Command Line: A Complete Introduction

    It has taken me a long time to get comfortable using a Linux CLI (definitely not as familiar with windows cmd prompt/powershell), and I know that if I log into a box anywhere, If it has sh or bash or some variant of those shells, I’ll be able to get by.

    Now, on my home server, moving & renaming a bunch of media files has me really wishing I had a DE installed there to Ctrl + click/Drag-n-drop…

    Also, I love using VScodium/Code as an IDE bc of its configurability & rich plugin ecosystem – but recently I had some performance hiccups with extensions not playing nice together and started (again) down the masochistic path of configuring neovim to use as an “IDE”…

    • cyruseuros@lemmy.ml
      link
      fedilink
      arrow-up
      0
      ·
      2 years ago

      Skip the masochism, try helix. Switched to that + zellij with about 20 lines of config and never looked back

      • cyruseuros@lemmy.ml
        link
        fedilink
        arrow-up
        0
        ·
        2 years ago

        Takes a second to get used to the keybindings but after about ~2w you can painlessly switch back and forth between vim and helix pretty much instantly

        • cyruseuros@lemmy.ml
          link
          fedilink
          arrow-up
          0
          ·
          2 years ago

          Feel free to ping me if I can help, at least in the form of starter configs/small hacks that emulate VS Code workflows or something :)

          Personally I was the guy that had thousands of lines of Vim and Emacs configurations, so I really had to do this to manage the time sink (like you I had a stint with VS Code in between that eventually stopped working for me)

    • Doc Avid Mornington
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 years ago

      I always feel that graphical interfaces make easy things difficult, in most cases. A bunch of figity clicking around, instead of a few keystrokes I could press with my eyes closed. They are more discoverable, though.

      If you use emacs, dired and wdired together are fantastic for managing files like that. You can even run dired over tramp, so you can manage files on a remote server that doesn’t have emacs installed, using the emacs on your desktop. But there are also good cli options, you might want to look at the rename command, as one that’s probably installed by default on any given distro. That’s outside my expertise, though, as I just use emacs.

      • Sparrow_1029@programming.dev
        link
        fedilink
        arrow-up
        0
        ·
        2 years ago

        Yes I’ve used rename! In my case, I just need to rename and reorganize a bunch of movies & associated metadata files into directories. I don’t have too many stored digitally now, so I think just shaving the yak and doing it manually via file share will work for now.

        Never been an emacs user… Seems like quite a rabbit hole

  • gdelopata@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    2 years ago

    I have charybdis keyboard with built in trackball, I have hotkey on all my apps, also I don’t have to move my hands to use mouse trackball. I mostly use hotkeys in ui apps, I like good ui apps like git fork to view complex repositories, I run circles around cli guys who live in cli (cli is just one off apps for me) when we collaborate or when I drive or teach ppl. Where are some who really good at vim, temux and even tilling vm. I know how they work, I can do things faster in many cases. Eventually it’s all about what u like and what works for u, stop comparing workflows, there is always prons and cons to anything, it’s not black and white.

    • TheSaneWriter@lemmy.thesanewriter.com
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 years ago

      In my experience, CLIs are easier to design but harder to design well. Because of that, when I find a good CLI tool it runs as smooth as silk, but I would easily take a decent GUI over a shitty or rushed CLI.

        • haruki@programming.dev
          link
          fedilink
          arrow-up
          0
          ·
          2 years ago

          Click something and you’re there (e.g. viewing logs of a container). You don’t have to remember docker commands to do simple and quick operations.

          • zikk_transport2@lemmy.world
            link
            fedilink
            arrow-up
            0
            ·
            2 years ago

            Pretty buttons

            Umm okay. Personal preference.

            the ability to scroll and see all my configs in one window with a single click

            Isn’t scrolling a single docker-compose.yml easier to see everything? I mean, if you want to change anything - you just edit and re-run command.

            • Isn’t scrolling a single docker-compose.yml easier to see everything? I mean, if you want to change anything - you just edit and re-run command.

              Personal preference. I prefer a gui for some things. I also prefer to not put all my containers in one monolithic config. It can also automate using configs in GitHub which is nice.

              It also provides a nice dashboard of container health across multiple hosts and makes it easy to manage those hosts from a “single pane of glass”.

              But, personal preference.

              I ran a kvm host manually for years. Years. I recently started over with proxmox because it could be exhausting and this is easier.

  • crummysocks@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    2 years ago

    It’s a different interface for the same thing. Each one has its advantages and disadvantages depending on the job. You should definitely try the CLI if you’re into programming or administration

  • jemikwa@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    2 years ago

    See: Cisco. At least when I last used it, the web server configuration utility added a lot of garbage to your running config that made it unreadable if you swapped back to the cli.

    Systems that built the GUI first aren’t too bad. Palo Alto UI is pretty decent.

      • _stranger_@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        2 years ago

        It’s what you put on bad software to make it palatable.

        Like a sugar coating. It’s why no one codes in Java anymore without 80 terabytes of ram for their IDE.

        • Rinox@feddit.it
          link
          fedilink
          arrow-up
          0
          ·
          2 years ago

          I wonder what’s this “good software” (you meant language?) that doesn’t require an IDE to code efficiently.

          • Tamo@programming.dev
            link
            fedilink
            arrow-up
            0
            ·
            2 years ago

            Good luck ever doing anything embedded if you always need a clunky IDE. Best thing I ever did was get comfortable in a solely vim/cmake/gcc environment. Even if the majority of work doesn’t require it, it’ll teach you a lot.

            • r1veRRR@feddit.de
              link
              fedilink
              arrow-up
              0
              ·
              2 years ago

              I mean, we’re rewriting everything in Rust, so there’s no need to learn cmake anymore /s

              To conter your comment a little bit, I think anyone doing coding for a living should absolutely use an editor that supports LSPs. They’re an insanely helpful tool with zero downsides.

          • r1veRRR@feddit.de
            link
            fedilink
            arrow-up
            0
            ·
            2 years ago

            I disagree somewhat with their take, but there’s definitely languages that cmoe with features built-in that reduce the need for a fancy IDE. For example, instead of null checks via annotations that the IDE has to parse and warn about, just have nullable types. Or instead of IDE features to generate a bunch of boilerplate, just don’t require that boilerplate.

            That being said, on the other side of the spectrum, anyone writing code without using an LSP is just throwing away productivity by the handfull.

        • HR_Pufnstuf@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          2 years ago

          So that’s my point. Don’t write or use bad software. Then the GUI (bad or good) isn’t necessary.