However, I have mixed feelings with several of the author's specific points.
1. In general, I think a keyboard should retain all legacy keys, including Scroll Lock and Printscreen because they have acquired specific meaning through their many years. If a new keyboard were paired with a new operating system, then I'd be comfortable--even happy--with disposing of legacy. As it is though, Printscreen is the easiest way to grab a screen-capture or window-capture.
2. The CODE keyboard may be marketed as designed for programmers, but it seems to also carry over a certain "gamer programmer" target. Hence, the PS/2 adapter (I believe some harder-core gamers profess to PS/2 being faster).
3. Space is indeed very important. I am not sure if the author is just pointing that out matter-of-factly or intends it as criticism. I assume the prior.
4. Very much agree that Caps Lock should be diminished in importance. It should be located on some fringe alongside Scroll Lock. Many of my colleagues and I simply disable the key outright.
5. Also agree that backslash should be diminished in importance. However, I personally would like a "programmers keyboard" that made all variations of brackets < > ( ) [ ] { } / \ available (a) without modifier keys of any sort and (b) in side-by-side pairings. It bothers me that / and \ are not side-by-side on most/all keyboards.
6. Strongly disagree that Page Up (and presumably Page Down, although it's not cited by name) is a dumb key. I press Page Up, Page Down, Home, and End hundreds of times per day.
7. I don't actually like that function keys are often trimmed to half-height even on desktop keyboards. That is fine for a laptop. But on my desktop, I have the room for an additional row of full-height keys, thank you. In general, desktop keyboards that are built to laptop aesthetics are dubious to me.
8. Strongly disagree that arrow keys lack importance. I smell a vimmer. Oh, sure enough, he mentions the ADM3A. Please, I beg of you, vimmers: don't pretend to speak for all programmers.
9. Strongly agree with the premise that a programmer's keyboard should avoid use of modifier keys for symbols. I have often ranted that programming language designers should avoid arrow operators -> and => in their syntax because of the shift transition required to type an arrow on most keyboards.
I like the premise of this blog entry a great deal! Please, let's see some actual innovation in programmer's keyboards. But apparently, we should have one style for vimmers and one for other programmers. :)