Like many people, I am a big fan of Peter Steiner’s classic 1993 New Yorker cartoon. “On the internet, nobody knows you’re a dog.”
It packs a lot of meaning about everything that is weird and crazy about being on-line into one very clever and totally on-point joke. The joke works because the disconnect between your “real life” identity and your internet identity is a knife that cuts in so many directions.
On the one hand the internet levels the playing field, allowing people to get in the game, regardless of appearance, ethnicity, age, wealth or other relatively superficial signifiers of social status. On the other hand, that same cloak of anonymity allows some really terrible stuff to happen.
I thought of it today because our lab is submitting our work to a conference, and the conference allows only one person to be the official submitter. Yet since we are all working on the submission together, we need to share a single username and password.
Our solution is to create a make-believe user — our lab. This imaginary “lab” person is going to submit the work, and presumably will also have the option to attend the conference. Which is less crazy than it used to be, now that conferences can be attended on-line.
So the thought that has been going through my head all day is: “On the internet, nobody knows you’re a lab.”
One of the weird things about elevators is that you sometimes get to witness tiny snippets of people’s lives. And often those snippets are out of context.
Today I was riding up an elevator and a man and a woman were talking behind me. The woman said “He has a persistent sneezing problem.”
My mind started racing at the thought of such a thing. I tried to imagine what it might be like to find yourself constantly sneezing, wherever you go. Particularly in these pandemic times, that would be a very unfortunate affliction indeed. Poor guy. How on earth does he get through the day?
The conversation continued. The man asked “What are you doing about it?”
The woman replied “We asked the vet, and the vet said he would be ok.”
Some years ago a colleague asked me whether I could create a 3D character that was also a musical note. The idea was that the character would walk up and down a virtual piano keyboard, playing music.
I came up with a 3D creation that I feel conveys both “character” and “musical note”. You can check it out here.
I distinctly remember a particular moment in middle school, talking to an older friend about computers. He had taken a computer programming class, and I hadn’t.
I asked him “How does the computer know how to do what you tell it to do?” I was imagining some sort of intelligence inside the computer. You would somehow explain to it what you wanted done, and it would do it for you.
Then in ninth grade I took Mr. Haggerty’s intro to computer science class. The very first thing he did was have us program a “paper computer”. There was no real computer, just pencil and paper and some simple rules.
On your piece of paper you wrote numbers into little boxes, which were arranged in a row like in a board game. The rules dictated what happened next.
Each number represented a different rule. One number might mean “add two numbers.” Another might mean “skip forward two boxes if the answer is zero.”
It soon became clear that if you started by writing the right sequence of numbers into the boxes, you could make the “computer” calculate all sorts of interesting things. And that’s when I realized the secret of computers.
Which is that they are infinitely stupid. They have no brains at all. Computers will only do exactly what you tell them do, and nothing else.
Once you wrap your head around that, you start to see why programming works, and why programming is so powerful.
I wonder whether it is a coincidence that so many interesting markers of technological advancement happened on Valentine’s Day.
On Valentine’s Day in 1876, Elisha Gray filed for a patent on his invention of the telephone. So did another guy.
On Valentine’s Day in 1899, the United States officially switched over to voting by machine. Things haven’t been the same since.
On Valentine’s Day in 1924, IBM was born.
On Valentine’s Day in 1990, the Voyager I spacecraft made history by taking a photo of our little planet from very very far away.
On Valentine’s Day in 2000, one of our earth spacecrafts started orbiting an asteroid for the first time ever.
On Valentine’s Day in 2005, a certain popular video sharing website was launched. I’ll let you guess.
In a recent post I showed a simulation of particles. Andy commented that with a few modifications, my simulation could be turned into a really interesting game.
That got me thinking about the general idea of “gamification”. I suspect all sorts of things can be turned into games. In fact, I suspect that you can you turn anything into a game.
Take any random category: movies, flowers, opera, real estate, poetry, piano lessons, spelling, luggage. It really doesn’t matter — you can start with any topic.
With a little imagination, whatever you are interested in can be turned into a game. And if it’s good game, people will play it, and will learn something that they didn’t know before.
That can’t be a bad thing.
This morning I wrote some code to show a colleague an example of a programming feature. The goal was to make it easier for my colleague to follow up.
Which means that my goal was to make sure the example was as simple as possible. It had to tell the right story, but no more than that.
And that calls for a kind of discipline. It’s sort of like the programming equivalent of a haiku.
Sometimes I get it really right, manage to strip off all the fat, and end up with the perfectly minimal yet expressive example. When that happens, it feels oddly satisfying.
Like writing a perfect haiku.
My mother tells me that when I was 3 years old there used to be a problem in our apartment. The ceiling in the bathroom was often wet and she couldn’t figure out why.
One day she was in the bathroom, I was there with her, and she wondered out loud “Why is the ceiling in the bathroom always so wet?” Apparently, according to her, I said “I show you mommy,” and I walked up to the sink.
I turned on the tap and I put my finger under the nozzle so that the water was directed upward. It sprayed all over the ceiling.
I have no memory whatsoever of this incident. However I did grow up to be a scientist.
More and more often, I find myself quoting the great sadly departed Ricky Nelson in my head:
“Well it’s alright now,
I’ve learned my lesson well.
You see, you can’t please everyone,
So you’ve got to please yourself.”
Sometimes it’s nice just to stop whatever you are doing and take a moment for reflection. Which leads me to today’s Widget Wednesday.
When I teach computer graphics, I usually start with ray tracing. Some people think of it as an advanced topic, but I find that it really helps students to understand how things work.
It’s kind of like if you were teaching architecture, and you started the course by saying “Let’s build a simple house”. At the end of that project, the reasons for everything would be a lot more clear.
Sometimes I like to use the same tools that I’m using for teaching to make something for myself, just for fun. Today’s widget is something I made while teaching ray tracing to students.
Ray tracing is very good for making reflecting surfaces, so I focused on that. I also incorporated my noise function in the various reflections, to make the scene prettier.
You can see the result here.