this post was submitted on 14 Sep 2025
706 points (98.9% liked)

Programmer Humor

26332 readers
1716 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 2 years ago
MODERATORS
 
all 50 comments
sorted by: hot top controversial new old
[–] pylapp@programming.dev 2 points 5 minutes ago

That’s vibe coding.

[–] burntbacon@discuss.tchncs.de 10 points 5 hours ago (1 children)

WTF is going on in panel 2? Did they cut a hole in the sock?

[–] oce@jlai.lu 5 points 3 hours ago

Step 1: cut a hole in the sock

[–] ICastFist@programming.dev 22 points 6 hours ago

Then you pick up the manual:

To use, start using. If you get an error, try again

[–] Croquette@sh.itjust.works 20 points 8 hours ago (2 children)

The documentation is usually dog shit.

The corporate culture does not allow appropriate time for the documentation as it is considered something that cost money without a quantifiable gain.

It permeates in the FOSS space as well since writing good documentation is a skill and it is not fostered in corporations. So devs start great projects with terrible documentation.

[–] ChogChog@lemmy.world 3 points 4 hours ago

Does anyone know of any good resources on writing good documentation? It’s a thing I’m weirdly passionate about and absolutely want to get better at for my own sanity and for others as well if I can contribute.

But it seems like it’s a very under discussed subject..

Veronica Explains has a really good video talking about how much of a dead skill it is now from the standards it used to be.

[–] raspberriesareyummy@lemmy.world 11 points 8 hours ago (1 children)

One way to contribute to FOSS is to improve bad documentation. You are correct, of course, and lazy devs write bad code if they do not cultivate good documentation - imho.

[–] ryannathans@aussie.zone 1 points 6 hours ago

Then they don't learn the skill for themselves lmao, can't win

[–] lastunusedusername2@sh.itjust.works 82 points 10 hours ago (2 children)

And then you read the docs and it turns out to be something you already tried.

But now it works.

[–] lemming741@lemmy.world 35 points 10 hours ago (2 children)

Like the USB superposition

[–] Jankatarch@lemmy.world 11 points 8 hours ago* (last edited 8 hours ago) (3 children)

It doesn't work the first time but you copy paste from the docs example instead of typing the example and it works now

[–] ChogChog@lemmy.world 3 points 4 hours ago

Ohhh, so that’s why it’s called Docker!

As in “It works on my system” so they just copied and pasted the commands for you.

[–] Probius@sopuli.xyz 8 points 8 hours ago (3 children)

I've had times where I was going through my code and the docs code step by step to see where they logically differed and found that I was doing all the same things, but my code didn't work and copy-pasting their code did. Make it make sense!

[–] aaaa@piefed.world 9 points 6 hours ago

Let me count the ways it has been for me... Capitalization, using -, not using -, wrong quotes, mismatched quotes, no quotes, reading the command the same wrong way about five times and typing it that way. Well this could take forever to list them all.

I just copy paste first now. That way I learn none of the commands or syntax at all

[–] raspberriesareyummy@lemmy.world 4 points 7 hours ago

Been there, found undefined behavior where there should not be any. Imagine a function that takes a bool param with the following code, but neither branch gets executed:

if (b)
   doStuffForTrue();
if (!b)
   doStuffForFalse();

In a function that is passed an uninitialized bool parameter, in gcc compiler, both branches can get executed even when b is const. Reason: uninitialized bool in gcc can have values of a random integer, and while if(b) {} else ({} is guaranteed to execute only one branch, bool evaluations of a bool value take a "shortcut" that only has defined behavior with an initialized bool.

Same code with an uninitialized integer works as expected, btw.

[–] RampantParanoia2365@lemmy.world 4 points 8 hours ago

I find myself saying this about 35 times a day, at nearly every turn, with about everything I interact with.

[–] UnfortunateShort@lemmy.world 2 points 5 hours ago* (last edited 4 hours ago)

Tbf, often there either is no proper one, or you don't know where to find it. Or there is just tons to unpack, because one thing leads to another and suddenly you have to read like 10.

To give you an example: I just wanted to create a new btrfs software RAID and dissolve my old one, but without loosing the data or redundancy in the process. To do so, I had to create a new partition table, of course not before using tools to find the right device, add a LUKS2 partition, find its UUID, unlock that partition, add a btrfs partition, mount that partition, copy all data over, then generate a keyfile for auto-unlock, add that to the LUKS, add the according crypttab line, remove a drive from the former raid, not before running a balance of course, then also create LUKS on that, find the UUID again, open that as well, add the keyfile again, add another crypttab line, adding the mapper to the btrfs partition, running a balance that creates a RAID 10, adding an fstab entry for auto-mount, runnning dracut and set up btrfs maintenance.

Even just describing the process is a chore. Imagine trying to learn every stept, one by one, from the manuals.

Edit: Some fixes and steps I skipped added. In case anyone is wondering what the heck I'm doing: I am moving from a RAID 1 with 2 disks to an encrypted RAID 10 with eventually 4

[–] Kystael@lemmy.world 3 points 5 hours ago

Then the doc is so complicated that you spend hours reading stuff just to understand if the page is actually related or not. Then at some point you get bored try something randomly and it works.

Now I get AI to summarize the documentation.

[–] NeatNit@discuss.tchncs.de 28 points 10 hours ago (2 children)

The funniest thing to me is that any good manual would just say "DO NOT USE SOCKS AND FLIP FLOPS SIMULTANEOUSLY"

[–] oce@jlai.lu 1 points 3 hours ago

What about tabi socks and setta?

[–] HeyThisIsntTheYMCA@lemmy.world 4 points 7 hours ago (1 children)

what if i want to embarrass my nieces and nephews

[–] burntbacon@discuss.tchncs.de 2 points 5 hours ago

Finger-pulls and 'remember when...'s

[–] Whelks_chance@lemmy.world 32 points 11 hours ago (2 children)

I'm not sure there is a correct way to do this

[–] deadbeef79000@lemmy.nz 14 points 11 hours ago (1 children)

That looks like an XY problem.

[–] Whelks_chance@lemmy.world 7 points 10 hours ago

Finally, thanks I've been trying to remember the name of this for ages

[–] DasFaultier@sh.itjust.works 2 points 11 hours ago

Timtowtdi, doesn't say there's necessarily a correct one.

[–] IAmNorRealTakeYourMeds@lemmy.world 15 points 11 hours ago (1 children)

that does look less painful than reading documentation

[–] expatriado@lemmy.world 6 points 11 hours ago (1 children)

then documentation instructs it must be used for spanking

[–] LillyPip@lemmy.ca 9 points 10 hours ago (1 children)
[–] ICastFist@programming.dev 1 points 6 hours ago

Hold on... Is it flipflop -throw -f=10 -t=b or is it flipflop -throw 10 -f -b? The docs show both work for setting the force to 10 and target to buttocks

[–] ekZepp@lemmy.world 2 points 7 hours ago (1 children)

Did real people really wear slips with socks?

[–] Auth@lemmy.world 2 points 6 hours ago

If its cold yea sure

[–] QuantumTickle@lemmy.zip 9 points 10 hours ago

"as viewed by the original dev who knows it inside and out"

[–] JasonDJ@lemmy.zip 15 points 11 hours ago (1 children)

Then you look back at your notes a couple years later and you're like "I still don't understand wtf I did it that way".

[–] LillyPip@lemmy.ca 5 points 10 hours ago

It works, DON’T TOUCH IT.

[–] Brkdncr@lemmy.world 11 points 11 hours ago* (last edited 8 hours ago) (2 children)

It amazes me to see people do everything except 1) rtfm or 2) contact the support line that’s already paid for.

Edit: apparently my coworkers are in this thread.

[–] blarghly@lemmy.world 4 points 8 hours ago

The manual: poorly written; indecipherable

Support: reads the manual to you

[–] bleistift2@sopuli.xyz 5 points 10 hours ago

As if the goddamn support knew their asses from their asserts.

[–] IDew@feddit.nl 4 points 9 hours ago

I enjoy it more to figure out on my own. Kinda like disassembling stuff to see how it works and then put it back together. Reading the manual is like copying answers

[–] magic_lobster_party@fedia.io 3 points 10 hours ago (1 children)

The manual is probably outdated either way

[–] marlowe221@lemmy.world 2 points 10 hours ago

Beat me to it.

What’s the meme for when the documentation is two years out of date?

Or when the documentation IS up to date… but the last 4 versions of the docs are still online and look exactly like the new version with no obvious sign of which version they are? (Looking at you, Microsoft)

[–] Goretantath@lemmy.world 4 points 11 hours ago

I mean, thats how i learned to use a computer, was moms so the manual was gone by the time i used it anyway.

[–] Safeguard@beehaw.org 1 points 9 hours ago

And thereby learning more about what the program can do then the original dev even knew it could.

This is a weird picture of that important process though.

[–] ogeist@lemmy.world -2 points 11 hours ago (1 children)
[–] squaresinger@lemmy.world 3 points 11 hours ago* (last edited 11 hours ago)

2008 called, it wants the same old joke back. This is not even loss.