As a bytecode tinkerer, I'd say considering NOP to be global knowledge is a slippery slope.
Programmer Humor
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
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?
Why does it not surprise me at all that this exists?
Wait, that's actually a great font
For context, here's the original comic:
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.
They are talking about computer things, that's about how familiar I am with whatever they are talking about.
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. 🙃
Of course
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?
The important thing is to be important. Engineering has to deal with teammates that don’t have these problems, so they equalize.
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."
Blue collar fucking aircraft worker and I get it.