On Tunes infrastructure

Lynn H. Maxson Lynn H. Maxson" <lmaxson@pacbell.net
Sat May 31 07:40:02 2003

Jeff Cutsinger writes:
"Why did you write this?  And how did you read AI into that 
quote? Here's what I read: "Reflection is an important tool 
that allows programs to reprogram themselves. This will allow
automation of many tasks which are now manual."  Not only 
that, but even though TUNES does not require or count on AI, 
your arguments against it were lacking at best.  It surprises 
me, by the way, that you would stoop to attacking Fare. ..."

Michael Conrad writes:
"Would you agree that a programmer could write-up their 
own programming algorithm?  I tend to agree that there are 
aspects of programming that probably require human 
ingenuity (I could be wrong, too), but there are many
tasks that a person just mechanically codes in order to 
accomplish something. ..."

Alaric Snell writes:
"Ah... What the piece you quoted means to me isn't the old sci 
fi miscomprehension of a computer that repograms itself to 
become sentient, but more things like:

1) Making it easier to write compilers. Compilers are 
metaprograms! ..."

Let's be clear on a point.  I am attacking no one.  Not Fare.  
Not Brian.  Not anyone else.  I am attacking a misconception 
that keeps appearing in all these responses that somehow 
some program somewhere is going to do something other than 
what it has been instructed, i.e. written by a human author, to 
do.  It won't.  It can't.

That does not belittle what we as programmers can achieve 
in software, specifically continue to shift clerical, i.e. 
non-creative, activities from manual to automated.  It does, 
however, say do not believe that the creative process itself 
can transfer as well.  That we can create programs that 
produce unpredicted and beneficial results does not mean that 
those results themselves are unpredictable.

Reflection, the recognition of the activity itself, per se cannot 
occur in software.  Software cannot "know" anything whether 
about itself or about anything else.  While we can say we 
want to increasingly imbue software with reflective responses 
so that it can do what we would do under the circumstances 
so that we don't have to do it again, we have to exercise care 
that we do not cross the "reality" line, that we do not 
mis-communicate to ourselves and others.

The same occurs with meta-programming.  In fact no program 
has ever modified another or itself except in ways which 
follows how we instructed it to do so.  That's true even for 
LISP and FORTH.  That does not demean or belittle doing it.  It 
certainly should not discourage us from exploring it fully.  It 
does mean that the software "reflects" only "our" limits 

As one who has been around prior to the introduction of 
microprogramming when a vendor offered a machine which its 
clients could imbue with an instruction set of their choice and 
had a client who modified the microprogramming of an IBM 
mainframe to support his online services (Babcock (APL) 
Systems) I have some experience in this.   I began my IT 
career mastering the internal logic of a computer so that I 
might know how to repair it when it failed which it did often 
enough.  Part of that repair effort often required further 
modification of the internal logic to permit isolation of the 

I further admit to being enthralled as well as enlightened by 
D. Ross Ashby's book, "Design for a Brain", the process of 
homeostasis and its electro-chemical-mechanical example in 
the Homeostat.  I recommend it for those who want software 
to cross the line.

Fare, however, says this is an inappropriate forum for such a 
discussion.  He lists several other possibly more appropriate.  I 
will honor his suggestion, suggesting in turn that this recent 
move to multiple sources does not allow the highest level of 
either reflection or meta-programming as human activities.<g>