this post was submitted on 21 May 2024
1599 points (98.8% liked)

Programmer Humor

32361 readers
425 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] milicent_bystandr@lemm.ee 150 points 5 months ago (2 children)

There's an old joke about two mathematicians in a cafe. They're arguing about whether ordinary people understand basic mathematics. The first mathematician says yes, of course they do! And the second disagrees.

The second mathematician goes to the toilet, and the first calls over their blonde waitress. He says to her, "in a minute my friend is going to come back from the toilet, and I'm going to ask you a question. I want you to reply, "one third x cubed.'"

"One ther desque," she repeats.

"One third x cubed," the mathematician tries again.

"One thir dek scubed."

"That'll do," he says, and she heads off. The second mathematician returns from the toilet and the first lays him a challenge. "I'll prove it. I'll call over that blonde waitress and ask her a simple integration question, and see if she can answer." The second mathematician agrees, and they call her over.

"My friend and I have a question," the first mathematician asks the waitress. "Do you know what is the integral of x squared?"

"One thir dek scubed," she answers and the second mathematician is impressed and concedes the point.

And as she walks away, the waitress calls over her shoulder,

"Plus a constant."

load more comments (2 replies)
[–] brbposting@sh.itjust.works 135 points 5 months ago (6 children)

One of the most useful concepts ever:

the Curse of Knowledge.

Explaining something to someone? Zoom out. Back up. What if that person were an alien, how much more context would you need to explain?

The curse of knowledge is a cognitive bias that occurs when an individual, who is communicating with others, assumes that others have information that is only available to themselves, assuming they all share a background and understanding. This bias is also called by some authors the curse of expertise.

[–] Asafum@feddit.nl 50 points 5 months ago (1 children)

My friend really needs to learn about this. He works for Intel and does some really involved stuff, I on the other hand am a moronic jackass factory worker.

No friend, I haven't the slightest idea what you're trying to tell me you did if you keep using technical terms.

[–] brbposting@sh.itjust.works 16 points 5 months ago (1 children)

If you said something like “if I were a marketing intern…” or “if I were a college freshman majoring in English, how would you explain it?”

…would he not know how to clearly communicate still? :)

Maybe get him with the “is this a curse of knowledge situation?” (along with a link to Wikipedia) heh

[–] Ephera@lemmy.ml 14 points 5 months ago (2 children)

Problem is, even if they are capable of explaining it, it's basically our job to learn things 8 hours a day. Trying to catch someone up on that, who doesn't have that same job, that's nearly impossible. Well, and you still want to rant/tell about your day for social interaction purposes.

Like, my mum would also sometimes ask what my (programmer) workday was like and I'd start telling that we had to deploy onto a really old Linux system. Wait hang on, Linux is an operating system. And an operating system is the software that makes computers go. Do you know what "software" is? Hmm, it's like....
...And yeah, basically one computer science lecture later, I still haven't told anything about my workday.

Sometimes, I can try to leave out such words, like "we had to roll out our software onto a really old computer", but then I can practically only say "that was really annoying". To actually explain how I slayed the beast, I do need to explain the scene.

load more comments (2 replies)
[–] kameecoding@lemmy.world 44 points 5 months ago (2 children)

what's it called when you try to be aware of this and inadvertently say stuff that comes off as condescending, umm, asking for a friend

[–] brbposting@sh.itjust.works 23 points 5 months ago (4 children)

ooooof

I know for men who are equal opportunity overexplainers it can still be seen as “mansplaining” when overexplaining to women.

But in general, if your tone of voice is right and it’s still happening, perhaps communicating your intention and a safeguard would work, at least sometimes?

May I try to explain this? If I start too basic, and overexplain so it feels condescending, please stop me so I can dig into it more technically.

load more comments (4 replies)
load more comments (1 replies)
load more comments (4 replies)
[–] SpaceNoodle@lemmy.world 127 points 5 months ago (8 children)

Just yesterday I ran into some chucklehead here on Lemmy that had convinced themselves that the average person would interpret "crypto" to mean SSL rather than cryptocurrency.

[–] Shardikprime@lemmy.world 45 points 5 months ago (9 children)

I had one last week here on claiming the average person could feed themselves for years by growing cherry tomatoes from 6 tiny plants. Bro is supposed to be a big-time agricultural bigwig

[–] ChickenLadyLovesLife@lemmy.world 18 points 5 months ago (2 children)

Makes sense. Human beings don't actually need proteins or fats.

load more comments (2 replies)
load more comments (8 replies)
load more comments (7 replies)
[–] omgarm@feddit.nl 78 points 5 months ago (1 children)

All the code I know is stackoverflow search results.

[–] ImplyingImplications@lemmy.ca 38 points 5 months ago

Things said by Github copilot.

[–] lugal@sopuli.xyz 66 points 5 months ago (2 children)

Isn't there a version about mineralogy?

[–] LaggyKar@programming.dev 105 points 5 months ago (1 children)
[–] magikmw@lemm.ee 31 points 5 months ago

Oh, OP got me fooled, I thought this is original xkcd, well done on photoshop.

[–] ignotum@lemmy.world 33 points 5 months ago (2 children)

"So this here is a rock"
"Uhh, in english please?"

[–] WhiskyTangoFoxtrot@lemmy.world 27 points 5 months ago

"Oy! Guv! This here's a rock, innit?"

load more comments (1 replies)
[–] moosetwin@lemmy.dbzer0.com 48 points 5 months ago (3 children)

It's insane how close that handwriting is to randall's, did he make multiple versions of this comic or was this written by a professional forger?

[–] moosetwin@lemmy.dbzer0.com 56 points 5 months ago* (last edited 5 months ago) (2 children)

For context, here's the original comic:

[–] Zagorath@aussie.zone 30 points 5 months ago (1 children)

Holy shit. I remembered the original comic, but didn't remember what the subject matter of it was. So if you hadn't left this comment, I would have just gone on believing that the OP's version was Randall's version.

load more comments (1 replies)
[–] jve@lemmy.world 40 points 5 months ago* (last edited 5 months ago) (1 children)

Why does it not surprise me at all that this exists?

https://github.com/ipython/xkcd-font

load more comments (1 replies)
load more comments (1 replies)
[–] BaroqueInMind@lemmy.one 40 points 5 months ago (1 children)
[–] midori@lemmy.world 15 points 5 months ago (2 children)

0x90^0x90^0x90^0x90^0x90^0x90^0x90^0x90^0x90^0x90^

load more comments (2 replies)
[–] umbraroze@lemmy.world 35 points 5 months ago (16 children)

NOP is $EA, of course, and... um...

...sorry, I'm just a Commodore 64 scrub, I don't know nothing about this high and mighty Intel 8086 nonsense.

[looking up]

...it's 0x90 on IA-32? WHAT? Someone told me every processor used 0xEA because that was commonly agreed and readily apparent. ...guess I was wrong

load more comments (16 replies)
[–] NOPper@lemmy.world 31 points 5 months ago (3 children)
load more comments (3 replies)
[–] philip03@lemmy.world 30 points 5 months ago (1 children)

I mean who hasnt watched "Assembly Language in 100 seconds" by Fireship

load more comments (1 replies)
[–] Atlas_@lemmy.world 29 points 5 months ago (2 children)

I mean I'm only missing int3

[–] tourist@lemmy.world 35 points 5 months ago (1 children)

I didn't even know they released int2

[–] MeDuViNoX@sh.itjust.works 22 points 5 months ago (4 children)
[–] xmunk@sh.itjust.works 14 points 5 months ago

I rolled a 14, so I have a +2 modifier.

load more comments (3 replies)
load more comments (1 replies)
[–] cows_are_underrated@discuss.tchncs.de 29 points 5 months ago (7 children)

It still confuses what basic computer skills the average person lacks. Like, how are you even supposed to troubleshoot your computer, if you don't know the basics about your computer?

load more comments (7 replies)
[–] SuperSpruce@lemmy.zip 27 points 5 months ago (1 children)

I recently took a class on ARM assembly, and yet I don't even know half of these x86 instructions.

[–] Tamo240@programming.dev 67 points 5 months ago (3 children)

'I recently took a french class, and yet I don't even know half of these german words'

load more comments (3 replies)
[–] eager_eagle@lemmy.world 27 points 5 months ago

of course nods along

[–] henfredemars@infosec.pub 23 points 5 months ago (2 children)

I’m pretty sure I’ve had this exact conversation. Took me a minute to understand what the point was.

load more comments (2 replies)
[–] Mycatiskai@lemmy.ca 20 points 5 months ago (1 children)

They are talking about computer things, that's about how familiar I am with whatever they are talking about.

[–] Ephera@lemmy.ml 31 points 5 months ago (4 children)

Yeah, it's intentionally obscure. Basically, x86 assembly code is a way of telling a processor what to calculate, at a very low level.
So, it's similar to programming languages, but those actually get translated into x86 assembly code, before it's told to the processor. ("x86" is a certain processor architecture. Others exist, too, most prominently "ARM".)

But yeah, even with me knowing that much, I'd need to guess what ret and int3 might do.

Everyone knows jmp and nop, though, of course. 🙃

[–] LeafOnTheWind@lemmy.world 21 points 5 months ago
load more comments (3 replies)
[–] ElectricMoose@lemmy.world 20 points 5 months ago (2 children)

As a bytecode tinkerer, I'd say considering NOP to be global knowledge is a slippery slope.

load more comments (2 replies)
[–] funkless_eck@sh.itjust.works 19 points 5 months ago* (last edited 5 months ago)

"oh you laughed at that joke despite the fact that the bridge followed the falling action instead of preceding the punch word? Amateurs shouldn't be allowed to watch comedy."

[–] Valmond@lemmy.world 19 points 5 months ago (1 children)

Now I want to know what int3 does.

[–] ABasilPlant@lemmy.world 23 points 5 months ago* (last edited 5 months ago) (5 children)

https://en.wikipedia.org/wiki/INT_(x86_instruction) (scroll down to INT3)

https://stackoverflow.com/a/61946177

The TL;DR is that it's used by debuggers to set a breakpoint in code.

For example, if you're familiar with gdb, one of the simplest ways to make code stop executing at a particular point in the code is to add a breakpoint there.

Gdb replaces the instruction at the breakpoint with 0xCC, which happens to be the opcode for INT 3


generate interrupt 3. When the CPU encounters the instruction, it generates interrupt 3, following which the kernel's interrupt handler sends a signal (SIGTRAP) to the debugger. Thus, the debugger will know it's meant to start a debugging loop there.

load more comments (5 replies)
[–] AstronautOlympian@lemdro.id 18 points 5 months ago

Here's the source:

https://xkcd.com/2501/

And the alt text:

How could anyone consider themselves a well-rounded adult without a basic understanding of silicate geochemistry? Silicates are everywhere! It's hard to throw a rock without throwing one!

[–] CannedTuna@sh.itjust.works 15 points 5 months ago (1 children)

Alt text: "How could anyone consider themselves a well-rounded adult without a basic understanding of silicate geochemistry? Silicates are everywhere! It's hard to throw a rock without throwing one!"

load more comments (1 replies)
[–] Faresh@lemmy.ml 13 points 5 months ago* (last edited 5 months ago) (1 children)

Is there any situation where you'd want to remember the opcodes? Disassemblers should give you user-friendly assembly code, without any need to look at the raw numbers. Maybe it's useful to remember which instructions are pseudo instructions (so you know stuff like jz (jump if zero) being the same as je (jump if equal) making it easier to understand the disassembly), but I don't think you need to remember the opcode numbers for that.

Edit: Maybe with malware analysis where the malware in question may be obfuscated in interesting ways to make the job of binary analysis harder?

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