From a safe distance Mickos will ask such questions as "How do you plan your day?"
If a reply comes back that says "I always sleep until 11 A.M., and then I start working, " Mickos doesn't want to hear any more. He's sold. "The brightest engineers like the calmness and coolness of the night, " he says.
—Marten Mickos on MySQL's interviewing and hiring practices
Funny story: when I was in eighth grade, I was a crack QBasic programmer. I was about as good as you can get at writing QBasic code, which says a lot about QBasic and not much about my own skill level. I'd written a few games, and I decided I wanted to make something that would allow others to make text adventure games. My program would ask questions and output the text adventure as runnable QBasic code. Thus began my first foray into metaprogramming and perhaps the most foolish coding project I would ever attempt. (Though my program could output games just fine, it had a difficult time loading them back in and editing them.)
Speaking of metaprogramming, I had a stimulating conversation with a philosopher yesterday about symbolic logic that turned towards Lisp and AI. Symbolic logic attempts to describe knowledge by use of a specific dialect. (I'm sure I'm oversimplifying, but this seems to be the aspect which most relates to what I understand.) My discovery of the night was that Lisp is particularly suited to AI because it's very good at metaprogramming because metaprogramming is almost the same thing as learning. (I sense this statement needs to be backed up, but I'm not sure how.) The problem with writing AI is that it goes beyond metaprogramming--an AI system must metaprogram itself, and thus writing an AI system would be meta-meta-programming.