Thursday, February 21, 2013

No Computers, No Money, No Cars

In "the future" there are no computers, no money, and no cars.

I wrote that to stimulate ideas about what "post-Singularity" life might be like.  We have some ideas about "Singularity" life, here's one example: an "Open Source Film Project"called "Heart of the Sun". The essential silliness of so much of this sort of techno-fetish fantasy stems from the lack of examination and comprehension of what one's "self" is.

Without going too far into it our "self" is that awareness of being at the core of us. We are that awareness, and everything else are only contents of our awareness.

It is typical to identify with our bodies, our emotions, our beliefs, our values, etc., and say, "I am..." to these contents.  But it can be easily shown that all of these contents, while having a temporary contingent existence, are impermanent and subject to eventual change and destruction.

(To get ahead of myself for a moment, this gives us the ultimate counter to trans-humanist fantasies: "And then what?")

We are awareness. All other phenomenon are contents of our awareness, including the entire physical Universe.

Now it doesn't matter what the contents are. You can be a starving homeless wastrel or a transhuman superbeing frolicking in the corona of the Sun, but if you haven't pierced the essential blindness of your condition you are just as trapped no matter what.

There is a direction which no one can point to, that leads to the place beyond places.

To arrive there is to pass beyond death and life, to remember yourself and return home.

(And there ain't any damn computers, nor money, nor cars there!)

Tuesday, February 19, 2013


What do I mean by the term "trans-rational"?

We all know what "rationality" is, or think we do, but for concreteness here is the (current as of this writing) first paragraph from the Wikipedia article:
In philosophy, rationality is the characteristic of any action, belief, or desire, that makes their choice optimal under a set of constraints. It is a normative concept of reasoning in the sense that rational people should derive conclusions in a consistent way given the information at disposal. It refers to the conformity of one's beliefs with one's reasons to believe, or with one's actions with one's reasons for action. However, the term "rationality" tends to be used differently in different disciplines, including specialized discussions of economics, sociology, psychology, evolutionary biology and political science. A rational decision is one that is not just reasoned, but is also optimal for achieving a goal or solving a problem.

A little further on it mentions that the "idealized form of rationality is best exemplified by computers".

But what if your goal or problem is already solved? What is the rational course of action in the absence of unsolved problems?

Friday, February 15, 2013

Post-Singularity? Really?

Yes, post-Singularity. Let me explain. Look at the following graphs (from the Wikipedia.)
Look at these graphs. They are "bell curves".  Many kinds of properties of things occur in distributions that look like this when they are graphed like this.

The green line is an exponential curve. (Ignore the red and blue lines, they are just hanging out, they're not part of this story.)
Now look at these graphs.  They are called (sometimes) "S-curves" because they look a little bit like the letter "S".

So what is the point? Why am I showing these to you?

Okay, first the "Singularity", as it's called, is the idea that our technology will exponentially accelerate and result in super-intelligent beings and radical technological "powers" (like living forever with super-medicine, etc.)

Most people who think or talk about this act like it's following the green line in the middle graph: accelerating ever faster towards infinity.

The more intelligent or thoughtful realize that we are actually in an "S-Curve" sort of a situation.  Right now we are moving from one flat bit to the next flat bit, and we're in the exciting and scary up-and-down bit just at the moment.

Now the interesting thing that I'm trying to bring to your attention is that not everyone is going through the up-and-down bit at the same rate nor at exactly the same time.

Some are going faster than others. And some have started earlier than others.

And some have started earlier and gone faster and arrived in the new flat bit ahead of the crowd.

Look at the "bell curves" in the first graph.  Imagine that a curve represented whatever quality it is, brains or smarts or whatever you like, that causes a person to begin to accelerate up that steep bit of the other curve, the "S-curve".

It only makes sense that some lucky bastards would arrive before everybody else, right?

Worth Knowing

Thursday, February 14, 2013

Cybernetics is a Thing

There is a basic fundamental result in Cybernetics that holds that any self-regulating system must contain a model of itself.  We can examine this in the operation of so simple a self-regulating system as the common household thermostat.

A common design for thermostats is to have a mercury switch attached to a bi-metal ribbon coil.  The two different metals expand and contract with temperature changes to close and open the switch, which then activates or deactivates the heating system.  The coil is adjusted by turning the dial to set the desired temperature.

Now it should be obvious that the coil "measures" the ambient temperature, and can thus be considered an "internal" analog model of the "external" temperature.  (I put "external" in quotes because the entire thermostat is always at that temperature so it is not exactly external, is it?)

It should also be obvious that the angle of adjustment of the dial and the way that that affects the "set point" of the mercury switch is an analog model of the user's desired temperature.

So where is the internal model that Cybernetic theory predicts must exist? The thermostat must contain a model of itself in order to operate, so where is it?

There's a model of the current temperature, that's the current expansion/contraction ratio of the coil.

There's a model of the desired output temperature, that's the angle that the user sets on the dial. That modifies the relationship between the current temperature and the mercury switch which controls the heating system.

Where's the model of the thermostat itself? Switch plus dial plus coil, so simple, how can this system be modelling itself?

I'll give you a hint: I left out the heating system in the above.  The system is properly:
Room + Air + Heater + Thermostat
Here's another hint: Other than the temperature, the only aspect of the system that the thermostat really needs to model to model itself properly is how long it takes to heat up the room.

Figure it out yet?  Once the temperature of the room reaches the desired temperature the thermostat does not cut off immediately.  The heater runs a little while longer and heats the room a little bit past the desired temperature. You can easily adjust the amount of the delay (and in fact there is a little screw in there just for that purpose) but if it's set correctly you generally don't have to.

But how do you know what the "correct" setting for that delay is?  Well, it depends on how long it takes to heat up the room.

That delay is the self-model in the self-regulating system of "Room + Air + Heater + Thermostat"!

That delay prevents the heater from switching on and off too often, which prevents wasting energy and keeps the room at the desired temperature more efficiently.  If the system changes, say between summer and winter, you can adjust that delay (internal model) to re-optimize the efficiency of the heating system.

Isn't Cybernetics cool?

I surrender.

Well, that's it.  I surrender.  I've had enough and I'm throwing in the towel.

To be specific, I've been "working" freelance since quitting my job a few months ago, and it hasn't worked out.

I don't want a job. I've tried that and it's not for me. (In fact I was contacted by a recruiter a few weeks back who had my dream job if there was one and I realized I didn't want it.)  I also don't want to try to manage a freelance practice, I lack the social and organizational skills.  I thought about hiring a manager, like a musician or other performer, and that seemed like a good idea.  Unfortunately it is unlikely that such a person exists or that I could find them if they did.

I do still want to help people with programming, both by teaching it and, to a limited extent, writing software.  I just don't think I'm in a position to make anything happen.  I'm not apathetic just content.

I don't need anything. I have no children, and no wife or girlfriend. I'm capable of living in any major city with a clement climate without using money. (Go on and ask me how, I dare you. Warning: the answer is "I'm fucking magic.")

Really I can't tell you how tempted I am to go sit by the CalTrain Philz Coffee with a sign that says something like, "Any computer question answered, FREE!" and see what happens.

Sadly, I expect nothing would happen.  Mostly I'd be ignored, some people might venture quizzical or bewildered looks, and eventually the police would politely ask me to knock it off, or not. The officers I see frequenting that cafĂ© seem pretty chill.

If you have a question about computers, post-Singularity life, or "Spiritual Matters" ("WhoooOOOOooooOO!") go ahead and ask me.

Other than that, live long and prosper!

Eternal Life is Living Love.
~Simon Peter Forman

@SimonForman on Twitter
Google+ Profile

Saturday, February 2, 2013

How to teach anyone to program using Xerblin

I have long maintained that anybody who can solve a sudoku puzzle is more than capable of learning to program.  The Xerblin system provides a programmable metaphor for normal people to enable them to use their computers to greatest effect.

If you go step-by-step, in the right order, it is very easy to teach the Xerblin metaphor to anyone in about a half an hour.  This gives them the ability to program the various versions (firmware, server, web page) as well as a solid foundation to learn more.

Stack of Plates

Everyone already knows what a stack is: you put down a plate, and then put another one on top of it, then another, and so on. When you need a plate you take one off the top of the stack ("TOS").

Dictionary of Words

Again, everybody knows what a dictionary is: it's a bunch of words and their definitions. In Xerblin the words are all commands that work on the stack at first, but the user can "inscribe" anything they like in the dictionary.

Put Numbers on the Stack, Be a Calculator

So put some numbers onto the stack and use the four math commands to do some simple math.  Everybody knows how a calculator works, so you explain this as "just another kind of calculator." If you're doing it right they'll be getting impatient with you for explaining such obvious stuff.

Put "Strings" of Text on the Stack

Most people won't have encountered the term "string" for a sequence of characters yet, so be careful to explain that before you use it.  I've hit that whirlpool a couple of times.
"What's a string?"

"You know what a turtle is?"


"Same thing."

I'm not the best and most highly focused teacher sometimes.

Anyhow, put some strings on the stack. Show how they are just data like the numbers.  Add a couple of strings together.  Multiply a string by an integer. Go nuts.

Now that you have established that you can have a string on the stack...

Lookup & Inscribe

Show how the strings-as-data become strings-as-names. This is the power of names and is the single fundamental phenomenon underlying all computation and, indeed, all thought. The fact that one piece of the universe can serve as a "name" for another piece of the universe is completely incontrovertible and yet totally inexplicable.

This sentence does not describe itself.

Naming enables programming.  When the folks can put named things into the dictionary and get them back out again the key is in the lock.

Put a Command on the Stack

Turn the key, unlock the door. By putting a command word (function) onto the stack using a string as the name, it becomes data and can be subjected to manipulation just like numbers and strings.

This is the very essence of programming: verb becomes noun, action becomes recipe, and we can reason about the static pattern we see.

Programming is the alphabet of thought.

sqr() = (dup(), mul())

There is no one-true-computer-language (except Lisp, heh) in the same way that there is no one-true-circle, or one-true-triangle. But this metaphor is both useful and as simple as I could make it, and I have already taught several people how it works.

Now that I have a proper format I am teaching people how to use it in earnest. I have a client who is producing SVG animations using it.  (I'll add links when he's ready to publicly show it off.)

I see a great potential for programmability to become commonplace. It would make developers' lives easier and free users from the tyranny of crappy interface design.