This week's selected xkcd cartoon of the week is about the most feared of programming concepts - recursion. And, to paraphrase a well known quote, if you don't fear it, then you don't understand it.
OK, perhaps you do understand it, but it is in the nature of recursion to occasionally mislead and surprise even the most experienced programmer. You probably don't need to fear it, but you do need to respect it for the powerful construct it is.
In the cartoon, the player of a game starts another, similar, game within the game and this could involve the players in this game starting another game and ...
More cartoon fun at xkcd a webcomic of romance,sarcasm, math, and language
Of course there are games where you can indeed create real world objects and perhaps the most recursive is to create a computer itself - shades of the Matrix.
Recursion has many facets. On one level it is just the fourth flow of control - sequential, conditional, loop and recursion. On another levels it leads to difficult paradoxes and perhaps even the experience of consciousness. The idea is that we are conscious because we observe ourselves - the ultimate act of recursion.
Many programmers and philosophers refer to the "strange loop", which is the idea that a self-referential loop has more going on than meets the eye. If you want to know about these ideas then read: Gödel, Escher, Bach: An Eternal Golden Braid (see sidebar). A book that is more focused on the strange loop idea is I Am a Strange Loop (see sidebar).
If you would like to know more about recursion - then see Recursion.
Next month Las Vegas will host the Final Event of the DARPA Cyber grand Challenge as an all-computer cyber-defence Capture the Flag tournament. From an initial field of over 100 applicant seven teams [ ... ]
There is a flaw in the Turing test. An AI agent that pleads the 5th can, by remaining silent, convince a judge that it is human and hence pass the test... If you are not rolling on the flaw laughing t [ ... ]