DIY as constructive criticism

Clearly there is enormous power in using commercial grade software tools. For the most part they tend to be solid, robust and interoperable with all sorts of data and other programs. Which makes sense, since these products represent the fruits of many years of collective labor, often by extremely talented and dedicated people.

Yet I find that after a day or two using any new software tool, my first instinct is to try to build my own version of it, and then use that for a while.

I know full well that on some level this is a fools errand. One could say I am playing the part of John Henry against the railroad, or Don Quixote tilting against the collective windmills of industry.

Yet I often find that what I build ends up addressing some issue I had with the far more polished commercial tool. At the start of my Do-It-Yourself experiment, I’m not even sure what that criticism is. Yet after a day or two of hacking, I find that I have built something that addresses some essence of what I was hoping the original software would do for me — some hoped for feature or set of features that I found lacking.

This is a kind of constructive criticism. I mean “constructive” in a very literal sense, and it’s really the only practical way to practice this sort of criticism. I generally don’t have access to the source code of the commercial product in question. Even if I did, it would take far more time than I am willing to commit just to learn my way around well enough to be useful.

But taking a day or two to make my own little demo version satisfies my need to say “look folks, wouldn’t it be so much cooler if you could just do it like this?”

From time my little experiments even make their way back into that big commercial space of industrial strength software products.

When that happens, I often end up being uncredited. But that’s ok. It still gives me a thrill when I use a feature in some product that actually began as one of my little DIY constructive criticisms.

And I know there are fellow travelers reading this who have contributed in pretty much the same way.

Emoticomputing

A mathematician friend of mine, when chatting on-line, types the emoticon “<3" to indicate "love". This two-character sequence looks quite a bit like a heart lying on its side. In fact, many chat clients automatically convert this character sequence into a heart icon. At some point it occurred to me that there is a certain poetry to this particular representation. Not only does it visually suggest the shape of a heart, but its mathematical meaning is, precisely, "less than three" -- an interesting assertion when applied to love. The next time you type this emoticon, you might want to consider that on some level you are asserting that love is just for two.

A corollary theorem, as my mathematician friend might put it, is that you should never get involved with somebody who is already dating someone else.

<3 † “Less than three” can also refer to “one”. I am sure you will agree, mathematically speaking, that falling in love with oneself is merely reducing to the trivial case.

Greyhound zen

Tomorrow morning I will be taking a Greyhound Express bus to a family function. Travel time from here to there will be something over eight hours. Over the last few days I have been mentally preparing for this long bus ride — planning my food menu, arranging files on my computer, making a list of all the things I plan to accomplish during this alone time — with something like a spirit of celebration.

The trip is certainly far enough that flying would seem to be in order. Yet one of the hardest things about airplane travel is the difficulty of going into your own psychological space. Just the process of getting to the plane, particularly the weird vibe around security, can dominate the experience.

But on a bus I can be invisible, unobserved, vanished into my own space, on a little zen vacation from day-to-day reality, a bubble of time to think, to create, or to simply let my mind wander.

And if eight hours is not enough time to accomplish all the things I am hoping to get done, on the bus ride back I will get another shot at it. 🙂

Current reading

I’m currently reading fiction by two authors, taking turns between them. One is “The Hunger Games” by Suzanne Collins, and the other is the “People” stories by Zenna Henderson.

I am enjoying both immensely, yet it has occurred to me that this is an odd pairing. Both are a series of science fiction stories about young people trying to deal with a strange and often frightening world. Yet in many ways they send exactly the opposite message.

Collins paints the world her characters must face as a brutish and nasty place, one in which growing up is a constant and uncertain struggle for survival. Henderson acknowledges that reality can be treacherous, but effectively says that once we go through our internal struggles to define ourselves — to figure out who we truly are — the world is a beautiful place that is waiting to welcome the full flowering of our being.

The former says that to survive we must learn how to cloak our true self, and the latter says we must learn how to accept and reveal our true self.

I wonder whether the difference is partly due to a cultural shift over the decades. Henderson was writing mainly in the early fifties to the mid sixties. Collins is, of course, writing her stories now.

Production mode

For some reason the muse has struck.

These last few days I’ve been going to sleep early, waking up at 4am, and showing up at the lab before sunrise. By the time everyone else has shown up, I’ve already put in a full day’s work.

It’s amazing what you can accomplish by 10am if you start well before 6am. For example, sometime this morning, between other tasks, I tossed off an 8K×8K version of my procedural planet for an upcoming art show.

Each day, in the early afternoon, I head home to do a solid exercise workout, and then come back to the lab for round two, getting in another five or six hours. And no alcohol at all.

The strange thing is that none of this is requiring any effort. Something has just flipped in my head right now, saying “ok, time to get a whole lot of things done”.

The hardest part has been forcing myself to stay in bed until 4am.

Procedural theater

People who do research into “serious” artificial intelligence generally turn their noses up at “game artificial intelligence” — the discipline of creating interactive computer game characters and worlds that convey the illusion of intelligence.

After all, academic A.I. researchers investigate hard problems such as problem solving, algorithmic reasoning, synthetic vision, navigation in unknown environments and data-driven machine learning.

Whereas game A.I. is just about making games more fun. You can practically see the noses go up in the air.

But this sort of hierarchical ranking misses something essential. Namely, that game A.I. is, at heart, a branch of the arts — an aesthetic form first and foremost.

And this means that game A.I. is something unique and exciting in our culture: It is the closest thing we have to a truly procedural theater.

Earth Day

One day, the usually oblivious humans looked down at their feet, and noticed a most curious thing. They were standing on something. “How odd,” one said. “How very unusual,” remarked another.

A wise person was consulted, who explained to one and all that the strange rocklike prominence beneath them was a largish spherical mass known as “Earth”.

At this delightful news, there was general rejoicing amongst the humans. “How marvelous!” said one. “How fantastical!” remarked another. A celebration was thrown in honor of the Earth. The Mayor issued a solemn proclamation, declaring that this day was henceforth to be known as “Earth Day”.

All the humans smiled, and professed loudly to each other how dearly they loved the Earth, each rushing to proclaim a desire only to cherish and to protect such a wonderful thing. Throughout the special marvelous day, a great time was had by all, and the humans felt balanced, and whole, and at peace.

Then the next day they forgot all about it.

Satisfying day

Today I set out to write a bit of programming that will allow people to create interesting sorts of responsive behaviors for my interactive animated characters (like the fish). In the computer game world, this would be called the “A.I.” (artificial intelligence) for the characters.

Creating such a tool is a tricky balance. You want to give people powerful ways to bring characters to life, but at the same time you need to make the tools simple and intuitive to use.

For the last few days I’ve been thinking about how to do this, trying various things and then abandoning them because either they weren’t powerful enough or they weren’t simple/intuitive enough. Then this morning I woke up, finally clear in my head about how I wanted to do it, and I just got it done. And I’m very happy with what I’ve ended up with.

Things don’t always work out this well, but when they do, boy does it feel good. 🙂

Others as narratives

I was having lunch today with an old friend, and the subject came up of how each of us, whether we want to or not, tends to create elaborate narratives about what is going on with other people.

It’s not that we really have a choice. Last time I checked, our species had still not developed mind reading technology. So we are stuck with nothing but the available evidence, plus our own theory of mind, to piece together the mystery of what thoughts are actually transpiring inside someone else’s skull.

What makes this far more difficult and interesting is that most people are themselves not quite aware of everything that goes on in their own brains. As I noted in a recent post, our selves are far from monolithic. Or as Whitman so elegantly put it: “I am large, I contain multitudes.”

Perhaps this is a good thing. After all, if it weren’t for the elaborate dance we must all do in the face of the unknowability of others, most literature as we know it would not exist.

A galaxy of friends

I did a little exercise today. I wrote down a list of people I consider friends, and then checked in with myself about the feeling each friendship evoked in me. In these evoked feelings, I was surprised to discover an enormous variety. Some people are sort of life-lines. If I’m in trouble, they are the ones I call. Others I can hang out with on the phone for hours, both of us happily talking until we are just too sleepy to go on. Still others I care about deeply, but this feeling is not associated at all with any sense that we would have a lot to say on the phone.

I wonder whether each of us creates around us a galaxy of diverse friendships that reflects, and in some sense maps out, divergent aspects of ourselves. We are each a highly complex bundle of opposing impulses, likes and desires, all of which get collectively labeled as a “self”, for want of a better word.

In this sense, the diversity of one’s friendships is not really about them, but about one’s own self. The part of me that connects to one friend may have very little do to with the part of me that connects to another friend.

This might go a long way toward explaining why we find, from time to time, that two of our closest friends cannot stand each other.