this post was submitted on 02 Aug 2023
1469 points (96.9% liked)

Programmer Humor

19623 readers
111 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 113 points 1 year ago (3 children)

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!

[–] [email protected] 48 points 1 year ago (1 children)

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 20 points 1 year ago (1 children)

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.

[–] [email protected] 25 points 1 year ago (1 children)

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.

[–] [email protected] 9 points 1 year ago (2 children)

A collection of screenshots send around by mail after having poorly drawn arrows and frames in it, is official documentation. Source: my corporation

load more comments (2 replies)
[–] [email protected] 23 points 1 year ago (5 children)

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.

[–] ysjet 7 points 1 year ago (1 children)

on the contrary, CLI is the BEST way to deal with firewall rules.

[–] [email protected] 6 points 1 year 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.

load more comments (4 replies)
load more comments (1 replies)
[–] Venomnik0 41 points 1 year ago (1 children)

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

[–] [email protected] 45 points 1 year ago (1 children)

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.

[–] [email protected] 14 points 1 year ago (12 children)

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

load more comments (12 replies)
[–] [email protected] 35 points 1 year ago (1 children)

Pshaw! CLI and GUI? Real network engineers make hand crafted API calls!

[–] [email protected] 31 points 1 year ago (2 children)

You gotta admit, it's fun to meme the opposite camp. Whether you are a GUI or CLI person.

[–] [email protected] 9 points 1 year ago

But you look way cooler when using the terminal for most of your stuff 💁‍♂️ also using a riced out window manager and riced out Vim config for which you spent hundreds of hours on customizing every aspect of it :p normal people don't know what the fuck is going on on your pc so you can feel instantly feel superior to those normies! Ah also btw i use arch ;)

[–] [email protected] 9 points 1 year ago (2 children)

I use both. I use the CLI for a lot of stuff but I also use the GitHub Desktop fork for Linux lol. I don't care how powerful git is in CLI, that gui is just so nice imo

load more comments (2 replies)
[–] [email protected] 29 points 1 year ago (4 children)

To get annoyingly serious on a funny post, the one huge danger of GUIs that I've personally witnessed in many of my juniors is that they abstract away the need to understand the tool you're using.

I regularly use a Git GUI, and I might have to google the rebase command for more complex tasks, but I know how Git works. I know what I can do with rebase, even if I don't exactly know how to. If you only live in the GUI, you can get far never understanding the system. Until one day, when you fuck up a commit or a push, and you're totally hosed because there isn't a pretty button with the exact feature you want in your GUI.

[–] hellishharlot 7 points 1 year ago (1 children)

Somehow I've made it 7 years without messing up a git command that I couldn't fix in like 2 seconds. I primarily use vscode's source controller more featured source controllers like sourcetree feel overly complex and typing out git commands is fine but you spend more time doing that than you would with vscode's approach. I'm really curious about what you mean by fuck up a commit or push

[–] BuiltWithStolenParts 7 points 1 year ago (1 children)

Try reverting a reverted commit (revert of revert, yes) while other team members are working on a branch which has the first revert. It's super fun merging after that.

(Or something of that effect, can't remember the exact details of that fuckup)

load more comments (1 replies)
load more comments (3 replies)
[–] [email protected] 24 points 1 year ago (1 children)

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 7 points 1 year 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.

[–] [email protected] 22 points 1 year ago (1 children)

Yeah, keep telling yourself that buddy.

[–] c0mbatbag3l 19 points 1 year ago

So far I don't think anyone has interpreted the meme correctly, the wikiHow guy is supposed to be an obvious shortcoming expressed as a guy trying to convince himself it's not a problem.

[–] [email protected] 21 points 1 year ago (7 children)

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

[–] [email protected] 8 points 1 year ago (1 children)

Why not mount your server as a share and use your desktop GUI to manipulate files? Then you can do both.

load more comments (1 replies)
load more comments (6 replies)
[–] [email protected] 19 points 1 year ago (1 children)

Using the right tool for the right task is a big part of being a good engineer.

load more comments (1 replies)
[–] [email protected] 16 points 1 year ago (6 children)

Someone told me that windows server UI interface has more options than CLI. I got scared of windows server (how do you repeatedly Setup the same server, with a screenshot documentation ???)

[–] [email protected] 13 points 1 year ago (1 children)

It's been a while since I've found that true. You can do everything you want to do in powershell now days.

load more comments (1 replies)
load more comments (5 replies)
[–] [email protected] 15 points 1 year ago (11 children)

I think I really only use GUIs if I am learning something new and trying to understand the process/concepts or if I'm doing something I know is too small to automate. Generally once I understand a problem/tool at a deeper level, GUIs start to feel restrictive.

Notable exceptions are mostly focused around observability (Grafana, new relic, DataDog, etc) or just in github. I've used gh-dash before but the web ui is just more practical for day to day use.

For context, I'm in SRE. I feel like +90% of my day is spent in kubernetes, terraform, or ci/cd pipelines. My coworkers tend to use Lens but I'm almost exclusively in kubectl or the occasional k9s.

load more comments (11 replies)
[–] [email protected] 14 points 1 year ago (4 children)

PSA: Since his finger and the reflection touches, he's likely looking into a one way mirror. There's someone behind the glass.

[–] [email protected] 9 points 1 year ago

I just walked around my house touching all my mirrors and they all do this. Hope they're not on to me now... Think I'll wait for night and try to make a break for it.

load more comments (3 replies)
[–] [email protected] 13 points 1 year ago (1 children)

it makes you a Windows engineer which is worse

load more comments (1 replies)
[–] esadatari 12 points 1 year ago (3 children)

i feel you bro. people in here talking shit like they don’t know that some net devices are literally made for webgui first and foremost, and programmatic changes don’t work for every api even if it says it’s supported (fucking looking at brocade).

if you’re used to cisco cli, shit like juniper or palo alto or f5 can be intimidating when looking at the configs.

but i swear to fucking god if you use gui instead of cli for cisco, we gon have words.

load more comments (3 replies)
[–] [email protected] 11 points 1 year ago (4 children)
[–] [email protected] 7 points 1 year ago (2 children)

So much GUI, and never a mouse click. Only the best hackers get a whole new screenfull of GUI for every one of their seemingly random key presses.

load more comments (2 replies)
[–] [email protected] 6 points 1 year ago (3 children)

To be fair. In Star Trek they're not really using a GUI like we use a GUI today. They are using a high level AI to take voice commands. And they use the visuals to confirm. That is not what gooies are today

load more comments (3 replies)
load more comments (2 replies)
[–] crummysocks 11 points 1 year ago (1 children)

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

load more comments (1 replies)
[–] [email protected] 10 points 1 year ago* (last edited 1 year ago)

Use a computer in whatever way you want and/or need to best get the job done. It's a tool for accomplishing tasks. The amount of random gatekeeping for no goddamn reason in tech/programming/FLOSS is ridiculous.

[–] [email protected] 10 points 1 year ago (6 children)

Well, there technically are communities for enterprise engineering.... they just, aren't very active.

load more comments (6 replies)
[–] [email protected] 10 points 1 year ago* (last edited 1 year ago) (1 children)

Hard disagree. I use arch btw

[–] [email protected] 11 points 1 year ago (4 children)

👍👍👍 arch btw 🤤🤤🤤 I use arch btw 🥺🥺🥺 you 🫵🫵🫵🫵🫵🫵🫵 should use arch too btw 👄❤️ I used to be a filthy 🤮 windows 🤮 user 🤮 but now I use arch!!! 🤤🤤 don’t be afraid of the install process, you’re just a dumbass normie 🤓🤓🤓🤓

load more comments (4 replies)
[–] [email protected] 8 points 1 year ago* (last edited 1 year ago) (1 children)

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.

load more comments (1 replies)
[–] [email protected] 7 points 1 year ago (1 children)

CLIs are much more comfortable to use.

[–] terny 7 points 1 year ago (1 children)

And can be automated easily.

load more comments (1 replies)
load more comments
view more: next ›