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.
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
Makes sense. Human beings don’t actually need proteins or fats.
At least dead ones dont
That seems like the opposite problem
deleted by creator
That’s the one
Holy shit that was weird.
I mean I’m only missing int3
I didn’t even know they released int2
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
My daughter told me the other day, “I bet I could figure out a Commodore 64 if I had one.”
Good luck figuring out LOAD “*”,8,1 by yourself, kid.
deleted by creator
I can’t tell if you’re joking and deliberately invoking the original comic above
She meant she could figure it out just playing around with it, not reading a manual or asking around. I told her she’d have to read a manual.
Erm I might be showing my inexperience here.
Is there no equivalent to
man LOADin the commodore world? Or even justhelp?Not that I remember.
I thought NOP was 0x90. Edit: oh I just read the rest of the comment.
I feel attacked.
I feel like I skipped right over this comment.
Now I want to know what int3 does.
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.
Hey thank you!
Not what I thought it was for sure 😃
How does it work if an instruction gets replaced by the INT3 though?
Excellent question!
Before replacing the instruction with INT 3, the debugger keeps a note of what instruction was at that point in the code. When the CPU encounters INT 3, it hands control to the debugger.
When the debugging operations are done, the debugger replaces the INT 3 with the original instruction and makes the instruction pointer go back one step, thereby ensuring that the original instruction is executed.
Whoo that seems complicated, I mean you akready compile a debug version.
Thanks for the explanation!
The debug version you compile doesn’t affect the code; it just stores more information about symbols. The whole shtick about the debugger replacing instructions with INT3 still happens.
You can validate that the code isn’t affected yourself by running objdump on two binaries, one compiled with debug symbols and one without. Otherwise if you’re lazy (like me 😄):
https://stackoverflow.com/a/8676610
And for completeness: https://gcc.gnu.org/onlinedocs/gcc-14.1.0/gcc/Debugging-Options.html
Thanks, excellent information!
How come debug exes are bigger? Is the nifty stuff tucked on at the end?
As a bytecode tinkerer, I’d say considering NOP to be global knowledge is a slippery slope.
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.”
I would not consider integration to be basic maths, honestly. Basic maths is addition and multiplication, and maybe vector geometry.
You probably wouldn’t consider x86 opcodes to be basic computer literacy either ;-)
of course nods along
I mean who hasnt watched “Assembly Language in 100 seconds” by Fireship
Just looked this up and subscribed to the channel.
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.
One of the things I look for in employees is the ability to distill complex topics into the important elements and explain it to someone unfamiliar. Some people are just naturally good at it, and it’s a really important skill for moving up a leadership chain.
Me talking to my dad (who last held the position of professional programmer 30 years ago) about the programming problem I’m working on and vastly overestimating how much he knows about modern software development parlance
NOP sled gang rise up
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?
For context, here’s the original comic:

Isn’t there a version about mineralogy?
Oh, OP got me fooled, I thought this is original xkcd, well done on photoshop.
I recently took a class on ARM assembly, and yet I don’t even know half of these x86 instructions.
‘I recently took a french class, and yet I don’t even know half of these german words’
You’re sixteen, you’re beautiful, I’m under arrest
I love that I’m getting downvoted for a Ringo Starr reference










