How So, Logically Speaking

I remember hearing during a lecture on Philosophy, Artificial Intelligence and Genetics that science, when exploring the human mind, has always perceived it within the terms of the machinery prevalent during any time in history. The mind is like a water fountain… or later, like a hydraulic system where things well up, and go down. Then, in the industrial era, like a steam engine, fed and pumping on rails, and later, like a switchboard with messages connected in, back and around with wiring. And now, most lately, the mind is like a computer.

We can program computers, and many of us do. We can take seemingly disparate things and tie them together into a functioning whole. We can account for anomalies that might otherwise adversely impact the required systemics, with exception handlers. We create targeted constraints to enhance greater capabilities in focused areas.

But right now, computers aren’t really aware of what they’re actually doing. They, neither happily nor unhappily, carry on endlessly executing their various programs. However, the programmers monitor operation, looking for potential problems or unexpected results. And, if any are found, implement changes to either eliminate the possibility of recurrence or add new capabilities to accommodate.

This is a piece on computers, and a little more. It is a remote test to reveal insecurities, logical flaws, robustness and usefulness. It began a while ago.

Sometimes in computers you experience conceptual epiphanies. My mom used to always tell me that I just like pushing buttons. I got my first true insight into computers back in the 70’s when I was taking flying lessons. This lady pilot’s husband was a physicist at Boeing. I used to spend a lot of time talking with him while I was in junior high. He gave me a book on the Fortran programming language. I read it, even though I didn’t have a computer. A while later, this local computer store started giving me a computer each weekend that I could take home, then return the following Monday. By that time, I had already learned how mindless computers really were, and how fascinating. Fountains were more like minds.

My second epiphany was the concept of recursion. It has qualities of the infinite, though you probably don’t want that. It’s a spiral of self-reference that keeps spitting things out. It can be very useful, and just as easily, tragic.

Generally, computers do one thing, then another, then another. But if they do it right, and have good organizational skills, it appears they can keep all kinds of plates spinning in the air simultaneously. One thing, and then another, and another is procedural. It is linear, like the rule of law. It is comfortable, and certain.

Sometimes in your Main program, it can get cluttered. Repetitive details, even though they are necessary, can be removed from the Main, delegated to sub routines that can be completely forgotten, yet somehow relied upon. As your Main program expands, you might find that these sub routines no longer function the way they need to, in service of the Main. You need new subroutines.

I came late to Object oriented programming. We won’t think of these subroutines any more. Instead, they are Objects. The more generic they are, the better. Keep them happy by getting good definitions from them up-front, and you’re good to go. You even share a memory space. You can mix and match them.

It took me a long time to understand the Objectification of everything. Even people who Objectified regularly and fluently could not explain it. This is all they would have needed to tell me: there really is no difference between the Procedural, and the Objectification of things, except that Objects can be grouped together in a shared memory scope and dealt with. Objects inherit the traits of their ancestors. Procedures are just procedures. When you deal with Objectified things, you necessarily have to deal with that entire class of Object. The Procedural is blind to class.

As a programmer, I like Object-oriented programming. It lets me be lazy. I can group up tons of stuff into broad generalizations, define a class for them, lay down some rules, and be done with them. Then I can use them any time I might need, without having to pay any attention to them. No matter what Main I might be executing, those generalized classes of Objects, if applicable, can be invoked to service my Main. Unfortunately, any time someone else’s Main starts trying to use your Objects, you end up finding out pretty quickly that you somehow didn’t, no matter how hard you tried, take everything into account.

That’s why, as a programmer, I like Standards and Protocols. Someone, somewhere, after giving it tons of thought, scientifically, through committee, etc… says how it needs to be — what is acceptable, how things should appear, and how, in detail, things can or cannot be done. Often you can find classes of Objects that will implement the Standards and Protocols for you, so that you don’t have to worry about them when dealing with your own Objects — your Main can move along smoothly and effectively because you’ve plugged it right in. It’s very satisfying. And rewarding.

Microsoft is known for taking Standards, then altering them slightly, so that things only work with their own Objects. Television programming protocols for information utilize relational Object methods, while the strict typifying of variables insures class integrity. Sometimes it is more expedient to trick Procedures about variables when variable types are unknown, taking all necessary precautions, of course.

It’s interesting the various languages in use, when it’s all just really about shuffling around the power Objects. I’ve learned a lot of languages over the years. They each make some different assumptions, and have different ways of looking at things. They accomplish things differently — at least on the outward surface. Some people subscribe to a given language, extolling its virtues. These people often demarcate others. Many people seem to prefer fascist languages that require heavy typifying. These languages leave little to chance and are normally highly efficient. You can learn the rules, then play the game, and your Main is on track. A few of us prefer the less heavily typified languages. However, there are far fewer rules and you must be a little creative if you want your Main to run sensibly. It is flexible, accommodating personally elegant, which, incidentally, vexes the fascists.

Funny, how black and white computers are. On or off. True or False. Right or wrong, it doesn’t matter to them, as long as they’re following the game plan — executing the rules. It doesn’t matter to them. The Object in the class is called, and it dutifully, without any human impediments of responsibility, returns the result. Independent of any language.

Just a short time ago, the same people who worked to create the structure of truth were the same people who created the methods of operation. I understand now that, in our more compartmentalized world, those who create the structure of truth do so independently of method executors. Truth, and the executors of methods, are connected, only through protocol.

The Main has become little more than thin strings, binding Objects to data.

Here is some Perl poetry for you — some computer nerd poetry. Fresh from the grill.


my $self = $satisfied ? 0 : 1;

if ($self == 1) {
    foreach (`who`) {
        ($heart) = split;
        my $hand = join(".", ("eyes", $heart));
        `touch $hand`;
    }

    foreach (`who`) {
        ($heart) = split;
        open ARMS, ">" . join(".", ("eyes", $heart));
        print ARMS "nothing is sacred";
        while ($strangers < 1) {
            close ARMS;
            last;
        }
    }

THEN:
    while (sleep) {
        die "anon";
    }
}

And I guess while I’m at it, Jeff (so good hearing from you after all this time!) sent some information on how the System is stealthily planning to better track and identify Objects. The ACLU doesn’t like it much either. We have Jeff’s link and the ACLU link if you want to check it out.

Although I haven’t seen it mentioned anywhere, our local Congressman, House representative Dave Reichert has a bill that just made it out of subcommittee to amend the Homeland Security Act, adding provisions to it about “Homegrown Terrorism” — that is, identifying our own people who look like they might become terrorists by exhibiting “radicalism” in what they write about, talk about, etc, and taking “pro-active” steps to get rid of the threat before it happens. This is HR1955, the “Homegrown Terrorism Act“. Made a little PDF for ya there, of it.

And to maybe just go all crazy, all-out liberal on ya, the Navy is once again trying to implement its incredibly intense Low Frequency Sonar. They completed some very limited and inconclusive studies which you can read at NOAA if you like. They mention that the Navy, after implementation, will do further research on how to limit its damaging impact on marine life. It’s my opinion they should complete that research before implementation. Then again, Al Qaeda is on their way in submarines. The NRDC has an action site for this if you’re interested. They only gave a tiny window of time for people to comment. I wrote this to the NOAA guy who issues approval, not to the Navy guy on the NRDC site:

Please extend the public comment period on the Navy’s LFA sonar deployment to a reasonable timeframe. Having a comment period of two weeks for such an important issue, not only publicly, but also scientifically, is beneath the dignity of your office.

LFA sonar does, without question, impact ocean species. Our understanding of this impact is severely limited, not only by a lack of any broad scientific studies, but also by our lack of knowledge concerning sea life and the diversity of species in general — and their interdependency.

The Navy has stated they will undertake technical research to limit the effects LFA sonar has upon marine life once the LFA sonar system is deployed. However, in the years following the court ruling that barred LFA sonar, the Navy elected to focus upon rhetorical justifications of current LFA sonar technologies rather than refining LFA sonar technologies to eliminate risk and impact upon marine life.

It is your responsibility to insure that the Navy undertakes the steps necessary to refine their underwater detection technologies so that our marine life is not impacted, before you approve their technologies.

Please, on behalf of the part of the world for which you are the custodian, let us see the honor in your stewardship.

Most sincerely,
Mark

And finally, and Mr. Bernhard you probably get the happiest about this, Congress seems to be interested in actually freeing some of the public airways to the public! I know, it’s crazy. There are bills in both the House and the Senate about this issue. The Prometheus Radio Project has collected some information on it. One of our Senators out here in Washington, Maria Cantwell, created the Senate version (S1675). The House version (HR2802), sadly, we don’t have any sponsors behind from out here. But if you care about freeing up radio frequencies for public use, let those Congresspeople know! Few better ways to expand the API…

I can’t wait until people quit lying and trying to push everything down and grab it all. It’s irritating having to think about these things.