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,
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.
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.
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.
If there's any chance they've heard about a concept, I'll ask if they've heard of it and take them at their word (without comment either way).
And if they're kinda nodding impatiently, I'll wrap up the explanation and move on to the deeper level
At first, people will sometimes be defensive or lie about knowing a topic, but after you establish there's no judgement either way with you I've found people become less hesitant about admitting ignorance and will even want to hear your explanation of something to check their knowledge
I also do the flip side - I pride myself on admitting when I don't know something, so that might play in too
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
Since there’s no way to fix the incorrect assumptions (a t-shirt proclaiming “I explain granularly to men too!!”?), best bet is probably to get ahead of the assumption with a disclaimer & offer to be receptive to feedback.
Someone could still be upset I guess but can’t please everyone!
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
As a small time backyard gardener I can say from experience that 4 plants made more cherry tomatoes than I could reasonably eat. I was giving ziplock bags of cherry tomatoes away to people at work for a couple months. They probably did produce a year's worth of cherry tomatoes, but they don't refrigerate or freeze particularly well and they're not a great choice for making tomato sauce because of their liquid/pulp/skin ratio.
Similarly I've found that I can grow a year's supply of red pepper flakes with a whopping two cayenne plants. The rate at which I consume red pepper flakes, I'm about out by the time this year's peppers start ripening.
I'm able, in my tiny little garden, to grow more of single kinds of foods than I can reasonably eat. I cannot grow enough to sustain my entire diet; I'd need more land than I own to grow grain.
You know, I think I agree with the spirit of that assertion but not the letter of that assertion.
There are people who are kind of at their limit knowing that on your phone there's a Facebook app, but you have to use your browser and go to the website on a computer. These folks will hear dial tones and TV static in their heads if you say "secure socket layer" to them. These folks have probably also sat through NordVPN ads and heard words like "secure" and "encrypted" used together, and will probably make understandable mistakes like "how'd someone steal bitcoins? I thought it was encrypted?"
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.
There was that one comic that Randall did (Lorenz) where you could choose one of several paths and write your own text in the last panel. In order to implement that Randall had to create a font of his own handwriting. I wouldn't be surprised if OP just ripped the .woff file or similar.
Back in the day I dabbled in 6510 code, and up until today hadn't even bothered to look at a chart of opcodes for any of its contemporaries. Today I learned that Z80 uses $00 for NOP.
Loth as I am to admit it, that actually makes sense. Maybe more sense than 65xx which acts more like a divide-by-zero has happened.
The rest of the opcode table was full of alien looking mnemonics though, and no undocumented single byte opcodes? Freaky, man.
But the point is that not even Z80 used $EA. If the someone was real they probably meant every 65xx processor.
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?
Everyone has a limited time on this earth. Some of us don't mind or actively enjoy spending that time learning about the technology we use. Others, not so much. I think this comic is really spot on because it's hard to understand as a tech literate person just how little other people may know. "What browser are you using?" "What's a browser?"
The foundational knowledge is not that tough, but when you're just interested in getting the damn thing to work so you can get on with your life, it's easy to get frustrated by having to take a crash course on what the hell a BIOS is before you can try to fix it. And when you learn all that just for it to still be broken, patience quickly runs out.
As long as people have the general understanding that power cycling will solve a good 75% of issues, I'm happy. I hope people give me the same grace when I pay a someone to fix my car or replace my phone screen (I love building computers, but god I hate working on phones).
For the phone bit, I started off with really old smartphones like a Galaxy S1, but basically any old old phones are really built like mini laptops and are usually pretty modular as they weren't often water resistant or actively anti-repair
However I fully get your point and fall into the same boat with cars
I mean, cars can be demystified the same way computers can: By building and maintaining it yourself. Everyone is afraid to build their first computer, because it seems way too complicated and delicate. Then you actually build your first one, and go “oh hey this actually isn’t so bad after all.”
Yes, cars (especially modern cars) have a lot more difficult-to-build parts. But modern cars are also a lot like computers in the sense that you don’t need to know every single component on an GPU to be able to install one. You don’t need to be able to build a car part from scratch. The same way you can slot a GPU into a motherboard, you can just buy the entire car part preassembled and bolt it into place. The important part is learning what the different components do, so you can troubleshoot them.
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.
That's the exact same thing. x86 Assembly Code isn't that hard(to know what it is, understanding it is something different),but I havent heard of the other stuff.
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.
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!
"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."
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!"
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 people in the picture are so used to working with assembly language, that even though they know the average person doesn’t know much about assembly, they assume the average person knows a little, which is already way more than the average person actually knows.
I speak fluent x86, I've been writing xor eax, eax before rax was a thing and you had to wonder whether you shouldn't be using xor rax, rax (you shouldn't), I figured out how to write linux binaries in pure assembly before arch was a thing, just don't throw sse or something arcane like aaa at me. But damned if I know a single opcode.
Bookmarking your comment so I can come back to it in a couple hours, if I hopefully remember to.
But yes, almost. I don't think the interrupt is necessary and the return isn't under certain architectures. I have a doc on my computer somewhere where I was investigating what the absolute minimum was to make a turning complete machine and, to my recollection, there was only 4-6 instructions that were absolutely necessary. The ones I remember off the top of my head are NAND, MOV, JUMPIF, and then I believe I included NOP in accordance with some principle. RET and INT were convenience features in this design.