tk: Indeed you are right, it's not so difficult, and I'm not sure what Mike thought the problem was. Perhaps the point is that you can't parse Haskell/python using lex/yacc without the use of persistent state in the lexer. The right data structure to handle indentations is a linked list; you can then count the number of times you pop the list to see how many OUTDENTs to issue.
Terrorism and many eyes
Oliver Kamm writes about the idea of a futures market where one can bet on future terrorist attacks. He argues the plan is incompetent, because it tries to make predictions in the absence on public information. However, he says a similar idea would work, namely using market mechanisms to identify risk areas for terrorist attacks.
There's an interesting point of similiarity between this idea and the idea that open source projects tend, others things being equal, to be less buggy than closed projects. Both have the criticism that attackers can use the published information to find vulnerabilities, and the counter-argument is comparitively complex.