Archive for July, 2012

In the woods

Saturday, July 21st, 2012

Am staying with some friends this weekend deep in the woods, far away from civilization.

It took a while for the change to sink in. First you notice the absence of the noises of “civilization”. No traffic, or car horns honking, or that steady background hum of machinery all around. Cell phones do not get a signal out here.

And then you notice other things. The sounds of the crickets and the frogs. The astonishing scent of the air. The soft burble of a creek. The majestic stillness of the forest all around.

Senses that had habitually shut down out of sheer self-defense begin to reopen. It is not an intellectual thing at all, but more a feeling in your body, a sense that everything is ok.

And maybe, just maybe, when I return to the world of cars and machines and cell phones, I will be able to carry a little of this feeling back with me.


Friday, July 20th, 2012

Adam’s comment yesterday got me thinking that for me, part of the joy of programming is being able to share the code I write with others. Currently there is less opportunity to do this than there could be. Because programming is culturally situated as a relatively solitary activity, people don’t share their code, or their process of programming, nearly as much as they share other sorts of intellectual creations.

Also, since many of the people whose company I enjoy are not “programmers”, I can at best only share these sorts of things with them at a high level. It’s a bit like not being able to share a story you’ve written with a friend, but only being able to, at best, summarize the plot for them.

I am becoming convinced that one of the prerequisites for universal programming literacy is a mode of interaction in which the programs that people write will become part of the conversation between people, and indeed part of the fun of hanging out with people you like.


Thursday, July 19th, 2012

Currently, since only a relatively small percentage of the populace can program computers, it is considered “normal” to not be able to program.

Let us suppose, for the sake of argument, that this will change over the course of the next, say, five to eight years. For example, if there were a successful shift in 9-12 education in this decade, then computer programming could become a skill possessed by all high school graduates.

This would not come about by “teaching them to program”. Rather, it would come about because programming becomes seen as an integral part of how all subjects are taught in high school — from literature to math and science to social studies to music. In this scenario, it will just be assumed that programming is part of the normal course of literate development, just as now, in the U.S., we view a steady progression in proficiency of reading and writing English.

We are not talking, of course, about the way programming is generally taught now, but rather about a much more integrated and user friendly approach that would be better aligned with student interests and ways of learning.

In this scenario, it would then become “normal” to be able to program, and “not normal” to not be able to program. Of course this could create a generational rift, since many older people still might not program. Although in the case of earlier technological shifts — such as the development of on-line social networks and the smart phone — older people have often followed the lead of younger early adopters.

In any case, at some point as norms shift, a person who continues to avoid learning to program might be seen as suffering from a recognized psychological abnormality, which might be called “codephobia”.


Wednesday, July 18th, 2012


Coors: The Musical


Titanic: My Heart Will Go On

Cruisical **


Dr. Whosical

Zola and Dreyfuss


Chava Loves Chaim


Urinetown (London cast)


Elsie: the Untold Story


The Littlest Indian


Janice Joplin: A Musical Tragedy

Ruby Tuesical



Coma: The Musical




Sunday in the Park with Henri


Forbidden Love




Silicon Valley Fever



** Also, arguably, Rock of Ages, the Motion Picture

A defining image

Tuesday, July 17th, 2012

Turner Whitted, who is a great computer graphics pioneer, and was one of my mentors when I was a young pup starting out in the field, asked me a question today. “How come,” he said, “when Thad Starner [pictured below left] has been walking around for twenty years wearing augmented reality glasses every day, suddenly it’s a big deal just because he’s now at Google?”

My answer was that it is because Sergei Brin [pictured below right] is now wearing them. And the significance of this is that it’s no longer about the glasses, but rather the implication that Google will deliver all of your digital content right to your physical reality.

It’s like the difference between the Tablet PC and the iPad. The former was a portable computer without a keyboard. The latter is a pipeline for people to get games, videos and movies. Nobody would care about the device if they didn’t crave the ecosystem of content it can provide.

It is, in the end, all about the content. After all, if there were no movies or TV shows, a cinema or a television would be, at most, a vaguely intriguing artifact.

It can be argued that the image of Sergei in those glasses — which has recently become a ubiquitous visual in some technology circles — is a defining image of our historical moment. Not because it is an image that announces technology, but rather because, to those who understand what it means, it is an image that announces power.

Page rank and radiosity

Monday, July 16th, 2012

I was talking to Jaron Lanier today, and we were swapping stories about “things very smart people should have known but it turns out they didn’t.”

I told him about the first time I visited Google, in Spring 2000. At some point during my visit Larry Page explained to me how his “Page Rank” algorithm works — the cornerstone of Google’s search strategy.

The basic idea of Page Rank is that a web page is considered more important if it is linked to by important web pages. And those pages are in turn considered important if they are linked to by important web pages.

So, for example, if your page is linked to by a page that lots of other pages link to — like a popular page on Google or Amazon — then your ranking goes up. It’s the ultimate example of “It’s not who you know, it’s who they know.”

One way to look at this is that you have a giant matrix that, one might say, shows how any page is “illuminated” by the light shining on it from other pages pointing to it. To figure out how “bright” a page is, you need to keep multiplying this huge matrix by itself over and over again (ideally, infinitely many times), to bounce that informational “light” around the system.

By the way, the matrix is mostly filled with zeros, because most web pages don’t link to most other web pages.

It turns out that multiplying a matrix by itself infinitely many times can be done by inverting the matrix (kind of the same as 0.5 is the inverse of 2, but with matrices instead of numbers). And if the matrix is mostly filled with zeros, there are clever fast ways of doing this. So practically speaking, Page Rank works by constructing a giant matrix, with mostly zeros in it, and then using some fancy math to invert this matrix as fast as possible.

People reading this who do research in computer graphics will recognize what I just described as the radiosity algorithm in computer graphics — except in radiosity you’re talking about actual rays of light bouncing around little bits of surface of a 3D scene.

The trick is exactly the same — you construct a giant matrix (that’s mostly filled with zeros) and then invert it, to figure out what happens when all those light rays bounce around the scene over and over again.

When Larry Page described Page Rank to me, my first response was “Oh, so it’s basically a radiosity algorithm.”

Larry’s response was “What’s radiosity?”

To my utter astonishment, by the way.

When I told this story to Jaron today he said “Ken, you really need to write about this.”

So here it is. 🙂

Moonlight and sunlight

Sunday, July 15th, 2012

In the middle of the “Sweet Popcorn Gal” posts, a friend asked me whether the main character was based on a real person. Truthfully, I replied that the character is a pastiche of several people I have known.

Even as I was saying this, I felt some part of my mind assuming a defensive crouch. “Protect your sources at all costs!” this part of my mind seemed to be saying.

Fiction is a fragile beast. Through fantasy we try to spin a coherent and self-contained world of alternate reality out of the stuff of dreams (very much the topic of Sweet Popcorn Gal, in fact). In order to do this we inevitably draw upon people and events that we have experienced in our real lives.

But real life is not a narrative. It is a series of oftentimes jumbled and chaotic events and encounters between souls. To look for meaning in every gesture and sequence of occurrences is worse than unwise — it can lead to a kind of madness.

In fiction we have the privilege lay out all of these threads to see whether on some deep level they can be fit together into an ensemble. In order to function properly, this process needs to be protected.

I understand completely why Leonard Cohen was so disappointed when the back story behind “Chelsea Hotel #2” displaced the mystery of the song itself. The sheer insistent loudness of the real world ended up intruding upon the delicate feeling of place and time that he was working to hard to conjure.

Reality is harsh sunlight, whereas fantasy is mysterious moonlight. The last thing you want to do when weaving a midnight spell is for some damned fool to open up a window onto the noonday sun.

Time will tell

Saturday, July 14th, 2012

And so we leave our sweet popcorn gal for now, while she contemplates her newly discovered powers in this strange and fanciful new universe.

What will happen as the rigors of mathematical physics encounter the wonders of unfettered imagination? Will this reveal itself as a place of magic, or as merely another layer of reality itself?

Only time will tell. Meanwhile, for now we will turn our attention to other matters.

Oh, and a very happy Bastille Day to everyone!

Sweet Popcorn Gal, part II.8

Friday, July 13th, 2012

“Now that we’re alone, can I ask you a question,” the writer asked.


“Why are you still hanging out here? You could go through that door too.”

“And leave experimental conditions like these? Do you really think,” she said, “I would miss up an opportunity to explore a reality like this one?”

“Oh,” the writer said, disappointed. “So it has nothing to do with me?”

“Oh it definitely has something to do with you,” she replied, “You are also worth exploring. I mean, as part of the experimental conditions.”

“But what about the boyfriend?”

“Perhaps you forgot,” she said. This is a fantasy reality.” She looked around meaningfully. “No boyfriend in this universe, as far as I can see.”

“Wow, it’s like we’re Adam and Eve. So what do we do now?”

“I’m glad you asked. I’ve been thinking,” she mused, “there seem to be certain scientific principles at work here. Higgs field conditions appear consistent, based on the available evidence, with the equations I worked out in my thesis.”

“What does that mean in English?” asked the writer.

“It means that this can be an applied science.” And with a look of concentration, she waved one hand over the coffee table. A large bowl promptly appeared on the table before them.

“Would you like to try some sweet popcorn?”

The writer looked startled. “You just conjured that out of thin air!”

“Let’s just say I quantum entangled it.”

“Oh my,” the writer said, looking at her with new eyes. “My interest in science is growing by the moment. As well as my interest in you.”

She blushed prettily.

“But what do I call you?” he said. “We don’t seem to have names here.”

“You could say,” she smiled, as she reached out to take his hand, “that I’m just a sweet popcorn gal.”

Sweet Popcorn Gal, part II.7

Thursday, July 12th, 2012

“Yes, it’s crazy what passes for normal around here,” the young woman said. “What isn’t normal is four people just hanging out in some metaphysical coffee shop, without trying to leave.”

“Four people and a waiter,” said the writer.

“Hmm, I don’t think he counts. He kind of comes with the place.”

“Doesn’t this strike anybody as strange?” she continued. “I mean, do any of us even have a name here?”

“Of course I have a name,” the writer said, “I’m…” a look of surprise came over his face.

“You see,” the young woman said. “Something’s not right.”

The young man jumped in. “The two of us have been talking it over, and we think we’d like to check out the real world.”

“Interesting,” said the woman in the red dress. “Going from imaginary to real. You’d have to take the right turn.”

The writer gave her a look. “Are you positive? Why couldn’t you take a left turn instead?”

The woman in red laughed. “Now you’re just being negative. Let’s hear what these nice young people have to say.”

“I’m not sure what you two are talking about, but can’t we just go through the door?” the young woman asked. And with that, she got up and walked toward the door of the coffee shop. Before going through it she turned back to the young man. “Coming?”

“You bet!” he said, leaping up from his seat. In a moment the two of them were through the door and gone.

“Well,” said the woman in red, “I guess now it’s just the two of us.”

“Unless you count the waiter,” the writer replied.

She giggled. “Like the woman said, I think he kind of comes with the place.”