Some days when I sit down to write, I just want to get my words down as quickly as possible so that I can get on with the things that I have planned for the day. Today, I am in less of a hurry. It is paradoxical that since I’m not in a hurry, I am able to express my thoughts more quickly and clearly than I usually can. I think it is, in part, giving myself permission to think about what I have to say. This may entail periodic pauses to think about the next thing that I want to say. So long as I don’t get lost in thought, that’s okay.
Actually, depending on whether or not I am productively daydreaming, it is even okay if I get lost in thought. Sometimes that’s how new ideas percolate up to the conscious level of our minds. We just have to carefully pay attention as it emerges. My ideas often come as snippets of images. I’m also very influenced by music and other sounds in my environment. I am sometimes distracted by them so there is a constant tension between inspiration and distraction. That is probably the case all of the time. Who is to say when a distraction may become the focus of the inspiration? It has happened to me as often as not.
Being able to recognize those inspirations and experiment with them dynamically is what Brett is talking about in so many of his presentations. I want to use the tools that he demonstrates in his presentations. They illustrate an exciting approach to thinking about things. At one point Brett made a distinction between two styles of programming, engineering vs. authoring. I have always though of what I did as authoring.
I have always been concerned about writing programs that communicate with others. It is interesting that Brett is more concerned with building tools for people to communicate their ideas. It is a different approach to using the computer. He does have thoughts on how to program as well. It is a strange fractal idea, communicating ideas about the tools that you are using to communicate.
I’ve always felt that thinking was a fractal activity. I think that is why artificial intelligence is such a hard thing to achieve. I use the term artificial intelligence here with what I consider to be its typical connotation. Without the ability to think about the way you think and to modify the way you think dynamically, you aren’t really intelligent, are you?
I have experienced the pleasure of exploring a system interactively. It is patently obvious to people that approach programming from that direction that immediate reflection of the consequences of your changes is essential to productive development.
When you are creating, you often don’t really know where you are going with an idea. You start off in some direction and see what happens. The journey informs the destination. As you get to one place, the next place suggests itself. This happens whether you are writing a song or a novel, solving a packing problem or creating an algorithm to sort a multidimensional array.
Another aspect of creating is that it is rarely about manipulating symbols. Even writers work from inspiration that is something other than the words they write. They imagine something in terms of images or sounds or other sensations. They translate those experiences into words that attempt to communicate them to the reader. Words often fall short. Pictures are usually more expressive.
And then, there is the dynamic experience. It may be a picture that you can change by clicking on it or a song that you can affect by waving your hands in a particular way. There is often a computer involved but it isn’t absolutely necessary. A Rubic’s cube teaches you a lot about mechanical geometric transformations. A musical instrument teaches you a lot about music. These are all examples of dynamic media for creating dynamic experiences.
The main reason that we overlook the dynamic nature of computers is that we are stuck in a pen and paper mind set for solving problems and expressing the solutions. This is a truth that has been laying under the surface of my consciousness for decades and I have only just been able to understand it, thanks to the work of Brett Victor. I need to reflect more on how to incorporate it into my daily work. I need to keep my eyes open for insights that will inform my choice of a principle to champion.
I haven’t said anything about that yet. It is probably best left to someone else who has discovered their principle to explain it. I just know that deep solutions are not focused on a particular problem but rather on how we go about solving all problems.
I sometimes think that the best of my blog posts are channeled instead of being written. I’m not sure where they come from but it is more like reading something that someone else is writing than writing it myself. This post has been an imperfect rehash of a lot of the ideas that I have learned from watching the Brett Victor videos online. It is interesting to note that although the principle that he walks away with is uniquely his own, many of the ideas that he bases his work on are from other visionary pioneers. He credits them in his work.