Absurdist tragedy

Like millions of others, I have been watching the confirmation hearings with open-mouthed astonishment. It looks as though we will get an election denier as our next attorney general. And the pick for secretary of defense is a bizarrely unqualified boob (who admittedly has nice hair).

Since I have also been bingeing The Office, it is hard not to make comparisons. But here’s the thing. When you watch the insane clown show, and see all of those senators trying hard to maintain a straight face, you begin to see the characters in The Office differently.

At the end of the day, Michael Scott and his co-workers have a certain measure of dignity. Underneath the absurdist comedy, you end up seeing real people, flawed yet striving to be better.

That particular quality — the possibility of redemption — is one of the defining traits of absurdist comedy. But there is nothing at all redemptive about the current round of confirmation hearings. They are simply sad and tragic and stupid, although most definitely absurd.

Maybe in these hearings we are witnessing the birth of a new kind of reality television — absurdist tragedy.

Future chat

As generative AI continues to improve, more and more of our on-line communication might be given over to the virtual version of ourselves. At first it will mainly be business correspondence, but then we might begin using our Chat Avatar more and more often for personal communication.

Eventually, the version of us that people know on-line may not be the live version of us, but rather a sophisticated proxy. This proxy will have been trained on the history of our communication style, our sense of humor, our likes and dislikes, and our various quirks of personality, endearing or otherwise.

But what happens when we die? Perhaps death will start to become a private matter, something not spoken of in polite company, or even acknowledged. After all, we will still be able to communicate with the world perfectly well, even after we are no longer here.

Maybe, in an extreme scenario, some devastating future event will wipe out all of humanity, but nothing will really change. We will continue to communicate and chat away with each other on-line, just as we had been doing for years and years.

It won’t actually be us. But you wouldn’t be able to tell the difference.

Who is Dwight Schrute?

I’ve recently been bingeing The Office. Specifically, I’m watching the Superfan version, which I find vastly more interesting and engaging than the original edit.

To me the most astonishing character is Dwight Schrute. There is something so pure about him, so absolutely unsullied by the constraints of what the rest of us call “the real world”. Dwight is essentially making up his own alternate reality as he goes along.

In the Superfan version of the series, you really get to see inside his unique mind. The man is clearly somewhere on the spectrum, with odd gaps in his perception of others, but that often ends up functioning as a kind of super power.

While watching the show this time around, something has been nagging at me. Dwight Schrute reminds me of somebody, but I’ve been having trouble figuring out who.

And then just today it hit me. You can see it in the way Dwight thinks, in the way he relates to others (or doesn’t), and in the way he sincerely believes that reality, and all the people in it, are merely constructs for him to bend to his will.

Basically, Dwight Schrute is Elon Musk.

Robots showing emotion, part 3

I have a theory about the difference in attitude about household robots between East and West. To recap, people in the West seem worried, and their minds can wander toward thoughts of monsters, whereas people in the East generally seem delighted by the prospect.

My theory is that it’s a difference between Judeo-Christianity and Animism. In the West, life is God-given, and to pervert that natural order of things can seem monstrous.

That is the basic premise of the very first science fiction story — Mary Shelley’s Frankenstein. Man using technology to compete with God is an act of hubris, and that act must be met with divine punishment.

In contrast, Animism is premised on the fundamental belief that there is life in all things, whether a tree or a rock or a chair. So to bring an inanimate object to life is simply to manifest something that was already there.

Robots showing emotion, part 2

What if there is some sort of fundamental difference in the way that people think in different parts of the world? I don’t mean a psychological difference, but more of a metaphysical difference.

Maybe there is some deep division in world view, in what we think of as rightfully animated, and as unrightfully animate.

It is possible that when we approach matters that seem as rational as technology, we bring with us values that are much deeper and more primal — not values that come from scientific thought, but rather values that come from metaphysical viewpoint.

There is a lot to unpack here. More tomorrow.

Robots showing emotion, part 1

There was a time when I was doing a lot of research on procedural charaacter animation. That research included simulation of the emotional nuances of both body language and facial expression.

People always seemd very interested in this work. But then I would talk about the possibilies of applying these technologies to robots, and then I would get a very different reaction.

As soon as we started discussing robots showing emotion, my listeners began to make associations with Frankenstein. Machines that imitate human feelings appeared to hit a raw nerve, and people would become genuinely concerned.

But then I gave a talk in Japan, and I found that attitudes were completely different. When I gave talks there about procedural character animation, audience members would ask about whether the results could be applied to robots.

Clearly there is something going on here. More tomorrow.

Rummikub

I recently went to a little dinner party at a friend’s house, and was introduced to the wonderful game of Rummikub. It’s a game for 6-8 players, but I enjoyed it so much that I also wanted to be able to practice it on my own, wherever I happened to be.

While I don’t carry a set of Rummikub tiles around with me everywhere, I do carry my MacBook. So the other day I implemented a sort of practice solitaire version, just for fun.

It’s not the same as playing with other people. For one thing, you don’t get that thrilling uncertainty of wondering what moves other people will make during their turn.

But I find it to be quite meditative and enjoyable. When you play it, you’re basically solving fun little puzzles.

But why take my word for it? You can try it out for yourself HERE.

Noise revisited, part 6

As long as I am using my new implementation of 3D noise to build something as lofty as clouds, I thought another good test would be to try the opposite. And the opposite of the heavens is the earth. So today I made a rock.

The rock is built by creating a sphere, and varying the radius of the sphere via a fractal sum of noise. That is, I displace the surface of the sphere by adding together noise at many different scales.

This is pretty much what you see when you look at mountains or coastlines. Something that would otherwise be straight has been perturbed by random forces at many different scales. And 3D noise is really good for simulating that.

For good measure, I added a subtle mottling to the surface color, to suggest that the rock is a composite of various minerals. You can see the result below.

Noise revisited, part 5

One thing that makes me happy about modern GPUs is just how darned fast they are. I find that I can create procedural textures with multiple calls to my noise function at every pixel, and the GPU keeps up just fine.

For example, click on the image below to see a live simulation of roiling clouds. When you follow the link, you can also see the complete vertex and fragment shader code that generated the simulation.

This cloudy skies simulation was created by calling 3D noise multiple times at different scales. I find that I can call noise up to 8 times per pixel and still maintain a steady frame rate of 60 frames per second on my phone.

Let’s work out some numbers. The simulation itself is 1000×1000, so that’s one million pixels.

My noise implementation calls the cosine function 4 times to compute a repeatable random number. So to evaluate noise once, that’s 4 cosine functions for each of the x,y,z axes at the 8 corners of a cube.

That’s 4x3x8 = 96 cosine computations. Multiply that by 8 calls to the noise function per pixel, then again by one million pixels, and then again by 60 frames per second.

The result? More than 46 billion calls to the cosine function every second — not counting all the other computations involved. And it all runs just fine on the low power GPU of a smartphone.

Pretty cool, yes?

Noise revisited, part 4

After yesterday’s big winter storm, this morning I awoke to find the windows covered in ice. I took some photos.

Below left is a photo of one of the windows here. To its right is a close-up photo of the same window.

The reason for this texture is that ice has lower density than water. That is why ice floats.

The colder water toward the outside of the window freezes first, and therefore expands faster. This makes the outside surface area increase, causing the surface to buckle.

The result is a random bumpy topography. Because of the underlying physics, all of the bumps, although randomly placed, are about the same size.

It is similar to the process — a gradual increase in surface area over time — which causes drying paint to develop a bumpy surface, with all of the bumps being about the same size. And this particular natural phenomenon was also my original inspiration for creating synthetic band-limited noise, all those years ago.

For the last several days I have been writing posts about noise. So it seemed like a wonderful coincidence, when I woke up this morning, to see something like this.

It was as though nature itself was sending me noise.

Or maybe it was sending me a signal.