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.
: Favourite programming related academic papers
: Influential books every programmer should read
: Favourite (or most brilliant) Algorithms
this also, re fogus' blog
They were first introduced in 1941 on the German made Z3 compuer. Whic means, yup, we can blame nazis for 0.1+0.2 == 0.30000000000000004
In all seriousness, more programmers need to understand this. I've seen more than a few beginners go rant about how awesome their language X is when contrast against language Y because language Y has bugs like 0.1+0.2 ... then they're blown away when the see their language too has the same "bug".
For all the flexibility provided by Scheme's structure (shared with other lisps), the thing I wish more languages would borrow from scheme is the numerical tower, which doesn't need Lispish syntax or any of the other features of Scheme that most people object to.
This is, IMO, clearly the best approach for a general purpose language, and far superior to the large number of languages which lack even a convenient syntax for exact decimal literals.
Fortunately Haskell does this too with Data.Ratio!
Get off my lawn! Back in my day, us cool cats called it Sanfran.
A good collection overall..
OTOH, I always have to look up unzip, because I fear that there is some option that I forgot. Well, most of the time I use a GUI for Zip, since they often decompress all over the folder unlike tars which are mostly contained in one single folder.