The keyboard

busybunny@lemmy.world to Programmer Humor@programming.dev – 466 points –
31

I don't know if everyone here is just a galaxy brain or what, but I'm surprised nobody has asked or explained the joke. The red bird is a CPU running lines of assembly instructions and the crow is user input causing an interrupt to press the e key. This particular type of interrupt exists because it would feel really bad if you were typing, and the text didn't show up until several seconds later when the CPU felt like processing the (hopefully) buffered input.

Quality meme op

This particular type of interrupt exists because it would feel really bad if you were typing, and the text didn't show up until several seconds later when the CPU felt like processing the (hopefully) buffered input.

Meanwhile me enjoying multiple seconds latency when typing some commands in ssh using putty inside a windows VM using RDP accessed via a shitty corporate VPN from the other side of the world, while using another VPN because corporate blocked all traffics from other countries...

Dear God ๐Ÿ˜‚ please tell me this is an exaggeration

It's true. I ended up creating an ssh tunnel using autossh to a bastion server to escape the awfulness, but don't tell the IT department I did that.

Makes more sense than my interpretation.

I thought someone was typing assembler on their phone and autocorrect didn't like that they spelled mov without the e at the end.

And here my barely awake trans ass was wondering why the crow was talking about estrogen ๐Ÿ˜….

I need coffee.

1 more...

Around normal people I feel like a fucking god when it comes to computers. But then I come here and I barely know what a computer is. Thanks for explaining.

No worries! Usually the memes here arenโ€™t so technical. I only got the joke because I was required to take a class on operating systems for my degree, and we covered interrupts.

Yeah I dunno I just got it even though I didn't specifically ever look those things up. Just by osmosis I know what assembly looks like and I've heard of keyboard interrupts which... Don't those not exist anymore with USB devices or something?

You're correct. Modern keyboards have the CPU poll the keyboard rather than interrupting the CPU. Hardware interrupt really occurred with the old PS/2 keyboards, so this meme is technically outdated

Same, I don't even really know what assembly looked like (now I do I guess) but it just seemed like it was probably basic instructions, and knowing the meme is the yellow one interrupting the other and it would make sense that a keyboard would interrupt. Didn't even know ps/2 keyboards interrupting was a thing

Interrupts are basic technical computer understanding. Nobody felt a need to explain it.

I think the explanation was needed. Even if one knows about interrupts, it's easy to misunderstand the meme. For example i thought it was a joke about a person writing assembly and being used to 32 bit code and thus mistyping %rax as %eax, and I've seen another comment here referencing "muscle memory". (Obviously the interrupt interpretation makes way more sense and it's funnier)

1 more...
2 more...

Slightly off-topic: if you want to know how this works with USB Keyboards, check out this fantastic video by Ben Eater: https://youtu.be/wdgULBpRoXk

This was surprisingly interesting! Thanks for posting it. I didn't think there was anything noteworthy to glean from it, but @Contramuffin@lemmy.world mentioned down below that USB doesn't have interrupts, which I was unaware of. I especially liked how he covered different types of USB keyboards running at different speeds, and he briefly covered n-key rollover, or the lack thereof on the two keyboards he had on hand as well as why some key combinations fail due to shared wiring in the keyboard. The latency discussion between PS/2 interrupting and USB being polled for data at the end of the video was also fascinating.

Edit: Ben Eater did a follow-up video on how n-key rollover works: https://www.youtube.com/watch?v=2lPzTU-3ONI