Widget Wednesdays #19

This week I am going to something different for Widget Wednesdays. I am going to describe my favorite “simplest computer program”.

When somebody tells me that they could never learn how to program, this is the program that I scribble down on a napkin for them. Some of you might be familiar with this — it’s quite beautiful.

Most of us learned about the Fibonacci sequence when we were kids. It describes so many things in nature, from the shape of flower petals to how populations grow.

The principle is very simple. Starting with the numbers 0 and 1, you just keep adding the last two numbers to get the next one:

    0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …

Nicely enough, a program to compute the nth number in the series looks like this:

fibonacci(n) is
    if n < 2
        then n
    else
        fibonacci(n-2) + fibonacci(n-1)

No matter how math-phobic you think you are, that is a very easy computer program to understand. And it contains many of the core ideas in computer programming — functions, variables, conditionals, arithmetic, and even recursion.

Which makes me hopeful for the whole process of teaching programming. As an ancient Chinese proverb never said: “A program of a thousand lines begins with a single step.”

Births but not deaths

On many days I read the Wikipedia to learn what interesting things happened on that day in history. When I do that, I always find myself reading carefully through the births, to find out who was born on that particular day of the year.

But I never even glance at the deaths. I guess I am simply not interested in knowing when people have left this Earth.

I am reminded of this because I met with a physical therapist today who asked me various questions about my health. At some point she asked me something that prompted me to reply “My plan is to live forever.”

A short silence followed. I broke the silence by saying “So far, it’s working.”

That got a laugh, but I am not sure I was entirely joking. I suspect there may be a connection between that conversation and my Wikipedia reading habits.

Reviewing old posts

In about five days I am supposed to hand in a draft of an article about the future of extended reality. So I’ve been going back over my blog posts to gather material.

It’s really weird to do that en masse, going back month after month, reading whatever I had posted each day. It’s kind of like being in a time machine that is rushing rapidly backward.

There were particular thoughts I had in response to various world events which I would not have now. For example, my initial reaction to the pandemic was based on the same flawed information everyone else was getting.

In a way, it’s kind of like that hypothetical scenario where you have a chance to meet yourself at various times in your life. There’s actually a great Heinlein story about that, called By His Bootstraps, which I fondly remember reading as a teenager. I highly recommend it.

Private conversations in public

There are some social paradigms that we simply take for granted, because they have been around for so long. When I was a kid, if you wanted to meet a friend in the park on Sunday afternoon, you had to go to the park. There was no option of sending a text message to change your plans. Such a thing would be unthinkable to people from a younger generation.

To me the most interesting aspect of this is the fact that I never thought that anything was missing. I wasn’t thinking about a time in the future when I would have some new capability. It seemed perfectly reasonable that I would need to show up at the park, without the option of changing plans.

In the future, there will be new capabilities that we will simply take for granted which we’re not even thinking about now, because they are not yet possible. For example, when we are all wearing those augmented reality specs, you and I will be able to have a private conversation in a public place. We will both be able to see and hear things that no one around us will be able to see or hear.

This will be taken for granted as a normal part of social communication. People from a younger generation will find it difficult to believe that anybody could have ever got along without it

Existential asymmetry

Have you ever really thought about how weird it is to be a sentient being in this world? From the moment you were born, you were inculcated with the fact that you are just one of billions.

Yet your entire subjective experience tells you otherwise. You are the only one in your head — from your perspective fully half of the Universe. Everybody else exists to you only as a manifestation of your senses.

It is only your social conditioning that tells you that the evidence of your senses is in fact misleading. You are taught that you and everyone else are, on an existential level, somewhat interchangeable. That, at least, is the operational social construct which allows you to be a functioning member of society.

You could always, of course, go with the clear evidence of your senses and simply say “I am the only one who undeniably exists here.” But that wouldn’t work very well in practice.

Future eye contact

Have you ever suddenly locked eyes with another person? Even if it only lasts a moment, it is a powerful sensation.

We can tell when somebody is looking right into our eyes even if they are all the way across a room. It is quite remarkable that we can do this, considering the tolerances involved.

At some point wearable technology will advance far enough that our devices will know exactly where we are looking. When that happens, the computer network will know when two people are looking directly into each others’ eyes.

Which means that eye contact will become a way to trigger various other modes of communication. For example, we might be able to speak softly under our breath, and be heard only by the person we are locking eyes with.

The possibilities for more powerful forms of communication are endless. And at some point it will all just be taken for granted.

Purple crayon

The software that I let you play with yesterday and the week before is not an isolated thing. It’s part of a larger set of ideas that we’ve been discussing in our Future Reality Lab at NYU about what the world might look like after everyone has those fully functional XR glasses about ten years from now.

Ever since I was a little kid and read Harold and the Purple Crayon, I thought to myself “Why can’t we just sketch things in the world to make them?” After playing around with this idea for a few years, I reached the conclusion that sketching in 3D space is really difficult, whereas sketching images of 3D things on a 2D surface is much easier and more natural.

So the general thought is that one day everyone will just be able to make quick and easy 2D sketches of whatever 3D thing they are trying to describe. Given the right technology to support all of this, that thing will then show up in the world and come to life for everyone to see.

Assuming everyone remembers to bring their glasses.

Computers and art

Computers are not just a medium for creating art. They are a medium for creating media for creating art.

Instead of building tools and instruments only in the physical world, we can use computers to make up our own alternate worlds, in which a far greater number of tools and instruments become possible.

But does this actually advance art? When we vastly increase the possibility space of new media, are we actually serving the purposes of art?

I have no idea what the right answer is. But it seems like an important question to ask.

Orphan no more

I am one of those people who starts projects and never finishes them. Sometimes I will spend days upon days on something, just to decide that I’m not quite happy with it.

Which means that I’ve got lots of half finished orphan projects on my computer. Some of them were surely just a waste of time. But it’s always possible that some of them might one day prove useful.

Every once in a while I’ll see a presentation of cool work by somebody else that somehow reminds me of one of my sad little orphans. Then I will dig up that project and look at it again.

And every once in a while when that happens, I’ll get inspired and actually finish one of those things and release it to the world. And then it is an orphan no more.