Friday, November 11, 2016

simplicity

See here, I want to program my own computer.

It's not that I refuse to use other people's software - this raises an interesting set of questions -, it's that their software doesn't always - often doesn't - do what I want to do ... do for me what I want software to do for me.

For example, as regards the previous paragraph, I'm happy to use the text editor that's supplied with my operating system to write code, and I can program my computer to some extent that way, by writing code and then running it with a browser - it's even pretty satisfying - but there's a lot I can't do that way. In particular I can't write to the hard drive that way. That's the biggie.

There are other things I can't do with the above described setup, and sometimes it feels like that's not so much because it can't be done, but rather because all the instructions I can find are ... completely beyond me. In fact, I've found information about how to write Windows 10 apps - and publish and run them, of course - but I simply can't make sense of it. It's so damned complicated.

Why does it need to be so damned complicated? I believe I would be told its for security reasons. I just bet that's what I would be told. And, of course, I'm interested in keeping my computer secure, but at the same time in a sense what that translates to, that is, what the idea that all of it is so complicated for security reasons, what that really translates to is saying that I'm too stupid to be left alone with the controls. And behind that would be the idea that computing is very, very complicated, and only very complicated minds can safely operated on their own.

Well, here's the thing: the idea that computing is immensely complicated seems like bull crap to me. If you're telling me that, you're either stupid yourself, or you're trying to take me for a ride - which is actually kind of a dumb thing to try to do, so you're stupid either way. I mean, sure, you're getting away with it, but if you were really smart you wouldn't need to try to get away with things.

I forgive you. I actually am kind of stupid myself, and I try to get away with things all the time. I understand. You're human. If you're insulted by what I'm saying, you probably feel very strongly that you're fully justified in your actions, and have a long list of reasons for thinking it's so. It's just, I'm really baffled, here. I don't even understand how you all got into a position where you can program computers. Or, maybe I do, but that path simply does not seem to be open to me. How did I get in such a fix?!!!!! And what can I do to get past this block?!!!!!

But I do say that computing is not complicated. I stand by that. To say that computing is complicated is so obtuse! The whole beauty of computing is that it's so simple! OK, building computers is complicated. The makers of computers completely amaze me. I grant that it's completely amazing anyone can build computers.

Even with that said, though, I would say that it's completely obvious that building computers, even, at its core, isn't complicated. It's simple. The thing is, if you know how to do it, you're damned well not going to explain it to just anyone. Of course, of course! If you know how to build computers, that's a set of precious secrets you are going to guard with your very life!

So, basically, it's not that I don't understand what's going on, and the motives behind it. Again, the question is, how can I get on the inside track, here? Doubtless not this way! Basically, I'm without hope.

Here, though, is what I mean about computing being simple: ... I had to think for a second ... for one thing, I can press the keys on a keyboard, and the computer will record those key-presses as a string. And then the computer can read a string - that string - and if there are certain combinations of characters in that string the computer can interpret those combinations of characters as instructions, or, to be polite about it, requests, and it can do certain things in accordance with those requests.

Oh boy. I can hear you saying: "that's simple?" It is, but I understand, it doesn't look simple ... what I just described. But I think - even though it's counterintuitive, maybe - if we look at the kinds of requests computers can accept from us, and fulfill for us, the simplicity of it will start to reveal itself, and first among them, in order of prominence, is this: the computer can illuminate pixels on a screen, in response to our requests.

I have to admit, I'm in a bit of a muddle, here. Well, I've already kind of said that three times, but what I mean now is, I probably am not going to tell the computer "illuminate this pixel with this color, and then illuminate this other pixel with this other color," and on and on like that (although I think it's interesting that in a hypothetical scenario I could do that). It's much more likely I'm going to make some more abstract request, and, after working through some process, the computer is going to generate its own string of instructions to the screen which tell it to do just that.

No? No? I'm gonna have to give this some more thought.