When that comes out - I'm buying it regardless of whether or not I actually need to learn or use the language.
"I've got an idea.... formin' in my 'ead."
So, should any developer know this? That is debatable. I've had very competent developers who had next to no clue about how DNS works. They could do their job just fine with that. Me? Personally, I'm not up to snuff with the finer points of SQL queries and all the joins that exists and when it makes sense to create an index, etc. Could I find out? Most likely, but I haven't had the need to recently.
The problem is, that you are mapping your knowlegde to "what people must know". I used to do that too, and I probably still do often enough. The DNS example above didn't come from nowhere: I had the case, and I was really thinking "how could such a competent person not know this", but then this person could probably enlighten me about dozens of things I don't know well enough.
It all comes down to what you define as "general knowgledge" for a developer should be and that is highly subjective.
TL;DR Hiring people is hard. Especially, technical people.
The bug doesn't happen in that context:
root@minimal:~# ssh root@othermachine "dd if=/dev/vg0/remote-lv" | dd of=/dev/xvdb1
root@hammerhead's password:
31457280+0 records in
31457280+0 records out
16106127360 bytes (16 GB) copied, 2156,62 s, 7,5 MB/s
31457280+0 records in
31457280+0 records out
16106127360 bytes (16 GB) copied, 2164.91 s, 7.4 MB/s
root@minimal:~# uname -a
Linux minimal 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u1 x86_64 GNU/Linux
Of course, the situation is not exactly the same in a virtualized environment.
You throw me the idol!
Throw me the whip and I'll throw you the idol!
The one day you'd sell your soul for something, souls are a glut.