Today’s super power

There are all sorts of super powers in movies and comic books, but most of them are not very practical. So here’s a practical one.

Suppose you could easily measure things. You could just look at a room or a piece of furniture and know exactly how big it is. Or pick up an object and know its exact weight.

It would be like having perfect pitch, but for everything — color, proportion, time, velocity, you name it. To me, that would be a lot more useful than being able to put on a colorful cape and fly through the air.

So that’s my super power for today. If you could make up a new kind of super power, what would you choose?

Objective versus subjective experience

There have been many excellent comments in response to my recent posts about “programming as storytelling”. I am starting to see a pattern form in peoples’ thoughts.

There seems to be a split between “we are getting the information across about the history of a programming process” and “we are conveying the feeling of the experience.” Github, for example, is great at the former, and totally fails at the latter.

There is an inherent drama in coding. Sometimes you have spectacular successes, and other times you experience spectacular fails.

The difference between those two extremes of experience is highly instructive (and can be very entertaining). But that subjective information is rarely conveyed in a useable way.

I’d like to figure out how we can fix that.

Connecting levels of engagement

As I create new course materials for my students this semester, I realize that when I aim to teach computer graphics, I am also aiming to teach other things as well.

Primary among those other things is showing them how to connect the levels of engagement, from the most technical to the most conceptual.

There are people who self-identify as consumers, others as artists or designers, still others as technical artists, and so on, all the way to people who will tell you “I build the circuits that go into your computers”. Between these levels, there tend to be cultural barriers.

Even the language used by different people can make it more difficult to communicate across levels. If you’ve ever tried to talk to a doctor about a medical condition, you might know exactly what I mean.

So I realize that one of the things I try to do is to show students how to transcend those barriers, by making it easy to connect the dots and build working bridges from “artist” or “designer” to “graphics programmer” to “systems programmer”. I want to empower them to move freely between those levels, and to create connections between different ways of thinking that empower all sorts of users and creators.

That isn’t easy to do, but I think it’s worth it.

Programming as storytelling made easy

Yesterday I talked about coding as a narrative. Not just implementing something, but also making that process transparent to others through good storytelling.

An excellent comment on my post mentioned Quilez’s “Painting a Selfie Girl, with Maths” video. Like many people, I have been very inspired by that video.

One problem is that it’s a heroic effort, with a one-off result. Quilez is supremely talented, and was also willing to put in the immense work required to produce this beautiful cultural artifact.

What I am hoping for is lower hanging fruit. How can we empower other programmers to share their stories, without asking them to create an entire system on their own?

I would like to help make “programming as storytelling” into something that is easy to learn and to use. The goal would be not so much “Hey, I managed to do this”, as it would be “Hey, you can do this.”

Programming as storytelling

When I create something using computer graphics programming, I often wander from one thing to another. First I will try a little of this, and then, depending on the outcome, I will try a little of that.

This process could be captured in a number of different ways. For example, I could keep a video running, showing the screen at all times.

Or I could capture the input somehow — perhaps the literal keystrokes that I type — so that the exact journey from start to finish can be recreated later.

I suspect though that the ideal would be something more literary. I should be able to annotate the process as I go, jotting notes down when needed between changes to say “here is my thinking as I go from here to there”.

That could be done in a video, but not very well. What I really want is a system that will let me go back later and edit those annotations. The end result should be a sort of interactively explorable documentary of the process of creation.

I don’t know of anything out there that does that well. Maybe I will just have to build it.


Because there is so much information to convey in the course I am teaching, I have started pre-recording some of the lectures for my students. It is a very rewarding process, but I find that it takes vastly more prep work than live lectures.

The reason is that I don’t feel comfortable just vamping for a pre-recorded lecture. Rather, I feel compelled to build out the course notes very carefully, so that there are always visuals and structure that the students can follow when they review the material later.

In some ways this creates a much richer experience for the students. Essentially they are getting a kind of in-depth living textbook.

It’s probably worth the extra effort, because the end result is a higher quality set of instruction materials that also can benefit students well into the future. I just wish it weren’t so much work to do!


When we listen to music, whether while working or just hanging out, we are creating the soundtrack to our lives.

Some people like to listen to pop music, others prefer freeform jazz, still others like rap or classical.

Personally, I like all sorts of music. But if I’m really trying to get work done, the only music I can listen to is Schoenberg’s piano sonatas. I highly recommend them, but your mileage may vary.

How much do you think you could figure out about a person by learning their chosen soundtrack? Or is there any correlation at all between someone’s personality and the chosen soundtrack of their life?


It is difficult to talk about the terrible tragedy that happened in New York 20 years ago today. But I suppose we must talk about it.

On the one level it was a moment when a nation’s culture changed overnight. Our arguably too self-satisfied country suddenly became aware of what everybody else already knew: That the world is a very scary and uncertain place.

On another level, it is a very sad and very expensive lesson in the cost of politics. If we had not made a national sport out of our President’s personal life 25 years ago, we wouldn’t have derailed that administration’s ability to protect our collective national security.

But you can’t go back and change history, or give people the retrospective wisdom to avoid playing dangerous political games. The consequences of willful stupidity are unforgiving.

To paraphrase Pete Seeger: When will we ever learn?