Sunday, September 11, 2016

computer theory

Computer Theory

For purposes of discussion, a subset of everything computers do: running a screen.

Imagine starting a computer and getting a blank screen. Blank slate. Tabula rasa.

Capable of anything.

You need some kind of input, a button, say, which starts a process which asks you what you want the computer to do.

Versions of the blank screen occur all over the place - they're fundamental. In an application this is creating a new file.

The principle applies to screens that are not blank, too. Basically, the screen is in some state, blank or otherwise, and now you want to initiate a process by means of which you will make changes to the screen. Generalizing this, you have two layers of state. One is something you want the screen to display, and the other is whatever process you use to get the screen to display that.

In GUI applications, both of these are likely to appear on the screen. Buttons and dialogs are displayed on the screen, and they are used to manipulate the applications output, which also appears on the screen.

I wanted this person to leave me alone, but I didn't want to tell him so because he would take it as an insult. Very silly. In the end, I fought with him over something, and now he wants nothing to do with me. Mission accomplished, but with a price I hoped to avoid.

I want to be alone. But, of course, I also don't want to be alone. I see being alone as a vehicle to being able to be with people on my terms.

The thing is, the various inputs in a GUI are one input modality, but there's another, which is "coding."

In coding you get the computer to offer you a dialog into which you can type coded instructions: text, in a language, that tells the computer what to do. Since we're talking about telling the computer what to display on the screen, this is text that tells the computer what to display on the screen.

The GUI input modality has distinct advantages, and so does coding. GUIs are quite accessible. They're ubiquitous, and it's easy to get one tailored to one or another purpose. Coding interfaces are not so easy to access. Here and there you are offered the opportunity to code, in a GUI environment, but generally you need specialized knowledge to access the coding interface, and the thing for me is, you generally need to go away from the output layer to access the coding interface. Here is what I want somehow access to: access to a coding interface directly within the output layer.