Very simple

Over the last few weeks I implemented an algorithm for an interactive interface that was both sophisticated and intricate. It handled all sorts of cases, and had lots of mechanisms built in for dealing with anything that might go wrong.

To my chagrin, when I road tested it with actual users it kept failing. “What can I add to this,” I asked myself, “to make it more bullet proof?”

Today I ripped all of that sophisticated stuff out and replaced it with something very simple. The whole thing now works like a charm.

There is a lesson in this somewhere…

Debugging with comments

Programmers sometimes think of commenting their code as a chore. “Can’t people just read my code,” they ask, “and see what I am doing?”

But it’s not that simple. Not only is commenting good for communicating with others, it is also an excellent way to communicate with yourself.

When you write out, in plain English, exactly what you are doing, you understand it better. Doing a good job of explaining something is one of the best ways of understanding it yourself.

Also, you might find that when you go through the effort to do this, you uncover flaws in your own code or its underlying algorithm. More than once, I have started to comment my code only to realize that I could now see an error or unhandled case in the program itself.

In short, commenting your own code is one of the best ways to debug it.

Sleepless sci-fi

This concept of existing without sleep could take many forms. Rather than envisioning a world where nobody needs sleep, one could imagine a science fiction story based on the premise of a mutant gene that removes the need for sleep. Those who have the gene could arguably have an enormous advantage over the rest of us.

The story might track the effects of this phenomenon on relationships between people. It could be that the sleepers would start out trying to identify and persecute the non-sleepers, because they would understand that the non-sleepers have a distinct advantage.

Such a mutation would represent an adaptive evolutionary shift that might appear very threatening indeed. The resulting conflict and battle of wits could make for a very compelling story.

Now somebody just needs to write it. Oh well, I won’t lose any sleep over it.

Life without sleep

What would life be like if we never slept. I don’t mean lack of sleep, but rather no need for it.

We were wide awake 24 hours a day, we would never dream. We would never be in need of a hotel room for the night when traveling.

All of our signifiers would be completely jumbled. The meaning of day and night would not be the same at all.

The sun and the moon would be equal and balanced in their significance, rather than representing a kind of Yin and Yang. I suspect that society as we know it would be quite different.

But how exactly? That is the question.

Walking faster

When doing research, there are days when you know you’ve made a lot of progress. And then there are days when you don’t know you’ve made a lot of progress, but you have.

It’s not that you got a lot done on that day. It’s more that some instinct has made you change direction.

It then usually takes another day or more to realize that you had turned a crucial corner, and are now heading the right way. After all, if you are walking in the wrong direction, you won’t get to where you want to go any sooner by walking faster.

We had one of those

Many years ago I was invited to a conference in Mumbai. The day before the conference our host thoughtfully organized a tour for those of us who were from other countries — mostly myself and a group of very nice graduate students from Germany.

We all got in a car in the morning, and for the next few hours the driver — who spoke not a word of English — drove us to various places. At each place, we needed to get out and figure out why we were there.

One stop was to a lovely park, another to a busy clothing market, yet another to a very impressive government building. Even though we couldn’t communicate with the driver, we could pretty much figure out why each place was significant.

But then he pulled up at what looked like a residential house. We all got out of the car and went inside, wondering what this next place would be all about.

As we walked through the hallway, we saw that the walls were lined with pictures of Mahatma Gandhi. That is when we realized that we were standing in a house where Gandhi used to live (in fact it was Mani Bhavan).

At one point one of the German grad students and I were looking at the photos together. Both of us were in awe at being in the great man’s home. I said “Gandhi was probably one of the five most important people in the twentieth century.”

“Yes,” the student replied sadly, “We had one of those. But it didn’t turn out so well.”

Look at the bright side

Now that the next presidential election is gradually sneaking up on us, a memory from eight years ago has resurfaced. It was in November 2016, the morning that we all found out that you-know-who won the election.

My fellow NYU professors and I were standing around, feeling numb. I said to the group “I think this is going to be really bad for the country.”

“But look at the bright side,” one of my colleagues said. “It’s going to be great for comedy.”

Vernor Vinge

I was very sad to read about the passing of Vernor Vinge. He was truly a person of rare and great vision.

I know that in the world of ideas he is most known for his thoughtful essays about “the singularity” — the hypothetical moment in the future when general artificial intelligence will surpass human intelligence and will then continue to accelerate at an exponential rate.

But the work of his that had the most profound influence on me was Rainbows End, a novel about a future where ubiquitous mixed reality has reached a point of maturity. Reading that novel changed the course of my research.

That was when I stopped thinking of interactive computer graphics as something on a screen, and started to see it as something that will eventually simply be part of the world all around us.

Doing research

In my research at NYU I need to do a lot of math and to come up with all sorts of algorithms as I create user interfaces for extended reality. But I have come to realize that none of that is what I am actually researching.

My research is, as it has always been, about people. It’s the same as it was back in the day, when I first came up with what we now call shader languages.

It wasn’t so much about how to do something, but rather it was about what ends up working for human aesthetics. It’s not about the computer — it’s about us.

I am reminded of a visit many years ago to the NY Museum of Modern Art, when I went to see a career retrospective of Jackson Pollock. As his early work showed, he started the same way Picasso did, doing highly realistic and impressively faithful life drawings.

Then, through the years, he continued to experiment with gradually more abstract forms, over time building an entire visual language, trying different things to find out what worked and what didn’t. When I saw, compressed into a single exhibition, the years-long progression of his work, I realized that Jackson Pollock was up to the same thing that I was.

He was doing research.