These are the most presumptive headlines. Programmer encapsulates many disciplines just as a writer encapsulates those who write comics, novels, plays, ads, articles, law and speeches. Stop assuming everyone is a web developer. And don't deign to tell programmers what they should know.
+1. Expected a serious list, instead I saw stupid Ruby/JS/HTML garbage. And no, I do not need to know "100 Vim Commands" - because Visual Studio is "100" times better.
Here is the real list:
1) know one modern web tech;
2) know one OOP language;
3) know one functional language;
4) be familiar with one dynamic language;
5) remember where to look up theoretic bits like algorithms.
I disagree on 5). You should probably be at a bare minimum familiar with different types of data structures and how they work. Knowing where to look up "theoretic bits" isn't actually useful. As a programmer, you should know when a dictionary might sace you time, just as one scratch of the surface example.