Greenblatt was a king among men, a mad professor of sorts, the whimsical sovereign of a fledgling fiefdom that spanned a vast tail-recursive universe. His name was odd, sure. Greenblatt Acadaecadabagaaaahd. I think that the name, in particular, made some of the students worry.
"No need to worry, acolytes of Computer Science! My name is much shorter with the proper use of Huffman coding. Go now and learn. Be at peace."
He would say things like this. Really. He was the high priest of Scheme, the head honcho of recursion. He spoke with a Lisp, but this only made us fear him more. It was no coincidence that, in his language, Acadaecadabagaaaahd translated directly into "Wicked Good Scheme Programmer," while Greenblatt meant Greenblatt.
I remember one night, it was late. Low clouds hugged the ground, condensation beaded upon the outer walls of the Computer Science Building. All was quiet but for the hum of the dynamo, the churning of bits and the whirring of fans. A student was trying to fix a broken Lisp machine by turning the power off and on. Greenblatt, when he saw thus, spoke sternly - "You can not fix a machine by just power-cycling it with no understanding of what is going wrong."
Greenblatt turned the machine off and on.
The machine worked.
Now I'm not saying that Greenblatt was a deity of sorts, he was just a graduate student, plying his trade. He was the instructor for my course, Programming Language Paradigms. He also told a lot of unbelievable stories. Despite his flaws, however, this man was my hero. He was an intellectual beacon shining in a black morass of ignorance. I had never met anyone more glorious, and I told him thus. I said, "I have never met anyone more glorious." He told me that he was from Wisconsin.
One day a student came to Greenblatt and said, "I understand how to make a better garbage collector. We must keep a reference count of the pointers to each cons."
Greenblatt patiently told the student the following story-
"One day a student came to Greenblatt and said, "I understand how to make a better garbage collector...
This went on for some time. You have to understand that Greenblatt was a new paradigm in humanity. This man was amazing. He thought in code, but he assured us that he did not dream in it.
"I dream in logarithms," he would state nonchalantly. It was inspiring and terrifying at the same time. How could such a person exist?
I wanted to be just like him. I wanted to jump on chairs and quote Gerald Jay Sussman. I wanted to pretend I was drunk and write algorithms upside down. I wanted to be overly excited. I wanted to sit at a desk in the back row, and make students from the front row go up to the board and write what I was saying. I wanted to understand how someone could profess ideas so clearly.
"Did you read the book today?" he would ask me.
"Then you, sir, are a LOSER!"
His words struck me not as insulting, but as unequivocally true. I said, "That is true."
"What is truth?"
I was caught off guard. Then he hit me with a stick. It hurt.
"FOO!" he would explain. His words hit me harder:
"Listen, I've told you a thousand times. Truth is merely anything that is not false."
Our classroom was new. The chairs were nice, the blackboard was extra green. The chalk was super chalky. Everything seemed more real in that room. You always raised your hand with trepidation, and you always walked in with a feeling you would never leave. One wrong move could send you careening off into a recursive wonderland.
Greenblatt, my hero, made outrageous claims. He told us that the term "Algorithm" was named after the vice president of the United States: Al Gore. One day he was late for a class. In explaining why he was late, he claimed that shampoo was the cause. He asked us, "How do you keep a programmer in the shower all day?"
None of us knew. Many made observations that most programmers don't even go near showers. His answer, of course, was: Give him a bottle of shampoo which says "lather, rinse, repeat."
That was the breaking point. It was then that I realized that, in a man-machine symbiosis, it is man who must adjust: The machines can't. Greenblatt was more machine than man. Everyone can be taught to sculpt: Michelangelo would have had to be taught not to. So it is with Greenblatt. This idea revolutionized my whole life. I distinctly remember the day I decided to emulate Greenblatt, for this man embodied Computer Science. He loved what he did.
"Recursion is the root of computation since it trades description for time."
It was another lecture. Greenblatt was explaining that a Scheme programmer knows the value of everything, but the cost of nothing, all in terms of recursion. You might think this would have been a complicated idea to teach, but not so. Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Greenblatt removed it.
He was the superman of Computer Science. The sultan of Scheme. He was the most beautiful and influential person I had met in my life, and to this day I still recall his sayings and his wisdom, not only in regard to Computer Science, but in regard to life. His idea was that you should always love what you do. If you don't love it, then don't do it. Greenblatt (which, of course, wasn't his real name) loves Computer Science, what do you love?
To this day I still remember the song he sung for us while individually handing us the final exam:
One hundred little bugs in the code
Please see some AI koans for more tales from Danny Hillis. My hero was very fond of his time at MIT.
One hundred little bugs.
Fix a bug, link the fix in,
One hundred little bugs in the code.