(explanation)
you gotta be pretty deep into computers to actually get this one. i can try to explain it, but my last attempt to explain this ended in me accidentally designing a new CPU architecture so ill try to keep this short. (narrator: it miserably failed. it is Long)
the whole meme is essentially about a computer processor (CPU). the gray bird is the CPU (well, not really, the surroundings are the CPU and the bird is the memory reading the instructions out loud but thats not the point).
(this is a huge oversimplification but) the CPU essentially just has a list of very simple things to do, like moving values in memory or adding two values together. this list is written in machine code. the "machine code" basically just assigns numbers to things to do, for example "instruction #01 is move, #02 is add, #03 is subtract...". that list of instructions is in reality just a series of numbers!
and if you want to write code for the CPU, you don't want to use the numbers directly, because you would have to know what each number does, and thats a lot of work. and for that we have dedicated programming languages called "assembly". they are very simple, and essentially boil down to writing mov rax, rbx; add rax, rcx instead of 01 100 101; 02 100 102. and those assembly code snippets are in the bird's speech bubble, indicating that the bird is executing CPU instructions!
well, thats the good part. here comes the messy part: interrupts. (yes, that is the actual name for them).
an interrupt is, well, an interrupt in the regular flow of the CPU. there are a couple of types of interrupts, for example when a certain physical port gets triggered or a critical error happens in the CPU. and if that happens, the CPU interrupts the list of commands, stops executing them, and jumps into a different list and executes another program.
now, if you want to get some inputs like keyboard inputs into your CPU you have two options:
- regularly check if a key is currently triggered (called polling)
- trigger an interrupt when the key gets pressed
in the early days of computing, the interrupt was simply faster than polling, and hardware was designed for this constraint. nowadays the interrupt is still annoying to use, because well, it interrupts your code, and CPUs run millions of instructions per second, so polling is not slow at all. (if you want to read more about interrupts vs polling, check out this post from invis)
but that wasn't always the case! in comes the PS/2 port. you might have seen this bad boy at some point or even have one in your PC if you have an older motherboard:
![]()
and as you may have guessed by the icon and the context: PS/2 triggers an interrupt when a key gets pressed on a PS/2 keyboard!
and thats pretty much the gist of the joke. the crow is the keyboard, and every time you press a key on a PS/2 keyboard, it interrupts the whole CPU (or the other bird in the meme), just to report that the E key has been pressed, making fun of how poorly PS/2 has aged.
tl;dr the keyboard shouts E and interrupts the CPU and the CPU has to stop and process what just happened.
.png)