>When you say autocoding, what do you mean?
Programming is the act of automating the use of complexity that is made up
of simpler things. Done so that such complexity is easier to use. As such
the complexity of programming itself can be automated.
There is something of an inherent resistance to the project by those who
would feel threatened by such a tool.
The project I present is a tool that allows easier automation. It's more a
general automation tool than specific to autocoding, but inherently it
can be used to create an auocoding environment that even the typical user
could use.
It amounts to what would be a small shell and/or library containing nine
commands w/command options. It's really quite logical as it makes use of
existing integrated documentation/example code of what is in the format of
typical unix command, library quick reference, etc, manual pages. But can
handle alot more.
---
*3 S.E.A.S - Virtual Interaction Configuration (VIC) - VISION OF VISIONS!*
*~ ~ ~ Advancing How we Perceive and Use the Tool of Computers!*
Timothy Rue What's *DONE* in all we do? *AI PK OI IP OP SF IQ ID KE*
Email @ mailto:tim...@mindspring.com >INPUT->(Processing)->OUTPUT>v
Web @ http://www.mindspring.com/~timrue/ ^<--------<----9----<--------<
>>> This posting is to introduce or suggest an open source software
>>> project to produce a core tool that will allow an autocoding
>>> environment to be developed, allowed to evolve in the open source
>>> software community and spirit of. I believe we can overcome many
>>> of the problems that proprietary autocoding systems inherently
>>> have (not to mention that existing autocoding systems appear to be
>>> field/domain specific limited and that it may be possible to beat
>>> this too.)
>> When you say autocoding, what do you mean?
> Programming is the act of automating the use of complexity that is
> made up of simpler things. Done so that such complexity is easier to
> use. As such the complexity of programming itself can be automated.
Can you put that in English? I mean you're obviously trying to put
forth an idea for a program, but the complexity of your thought
process is making it difficult to understand.
> There is something of an inherent resistance to the project by those
> who would feel threatened by such a tool.
Or resistance to get involved with something that has a very complex
description...?
> The project I present is a tool that allows easier automation. It's
> more a general automation tool than specific to autocoding, but
> inherently it can be used to create an auocoding environment that
> even the typical user could use.
> It amounts to what would be a small shell and/or library containing
> nine commands w/command options. It's really quite logical as it
> makes use of existing integrated documentation/example code of what
> is in the format of typical unix command, library quick reference,
> etc, manual pages. But can handle alot more.
Do you have a web-page describing this in more detail? Like what are
the nine commands?
I suspect that you're going to have to put together a strawman
proposal before people are really going to understand and appreciate
what your project is.
--
David Masterson dmaster AT synopsys DOT com
Sr. R&D Engineer Synopsys, Inc.
Software Engineering Sunnyvale, CA
>>>>> Timothy Rue writes:
>> On 21-Jan-02 07:59:29 phil hunt <ph...@comuno.freeserve.co.uk> wrote:
>>> On Mon, 21 Jan 2002 02:01:27 GMT, Timothy Rue <thre...@earthlink.net>
>>> wrote:
>>>> This posting is to introduce or suggest an open source software
>>>> project to produce a core tool that will allow an autocoding
>>>> environment to be developed, allowed to evolve in the open source
>>>> software community and spirit of. I believe we can overcome many
>>>> of the problems that proprietary autocoding systems inherently
>>>> have (not to mention that existing autocoding systems appear to be
>>>> field/domain specific limited and that it may be possible to beat
>>>> this too.)
>>> When you say autocoding, what do you mean?
>> Programming is the act of automating the use of complexity that is
>> made up of simpler things. Done so that such complexity is easier to
>> use. As such the complexity of programming itself can be automated.
> Can you put that in English? I mean you're obviously trying to put
> forth an idea for a program, but the complexity of your thought
> process is making it difficult to understand.
My mistake -- I see that your original post is more extensive than I
thought and I should've read it before posting. It does look complex,
though, so its going to take awhile to understand. Can you simplify?
And if you do not master your anger, your anger will master you!
> There is something of an inherent resistance to the project by those who
> would feel threatened by such a tool.
We have been pursued by the agents of the shadowy Conspiracy Against
Compilers, founded by two old IBM 360 assembly programmers and John
von Neumann's worshippers, since our project was first announced. We
would like to beg your distinguished indulgence in transferring
US$30,000,000 (Thirty Million US Dollars) into your bank account.
> The project I present is a tool that allows easier automation. It's more a
> general automation tool than specific to autocoding, but inherently it
> can be used to create an auocoding environment that even the typical user
> could use.
Our software, which admittedly we can't show you because it doesn't
exist yet, allows any person to program without understanding the
problem they're trying to solve. It can also make your car run on
water and losslessly compress random data by 50%.
> It amounts to what would be a small shell and/or library containing nine
> commands w/command options. It's really quite logical as it makes use of
> existing integrated documentation/example code of what is in the format of
> typical unix command, library quick reference, etc, manual pages. But can
> handle alot more.
The Nine Commands given to us by the Prophet of the Three Seas are as
clear as the sun in the daytime, and as powerful as a tornado.
Remember: God is within YOU! Let Jah be praised.
Isn't that what high(er) level languages do? For example assmebler is
a higher level than machine code, C is higher level than assembler,
C++ is higher level than C, and Python is higher level than C++.
Are you proposing something that is higher level than Python?
>There is something of an inherent resistance to the project by those who
>would feel threatened by such a tool.
I don't feel threatened, I just don't understand you.
Are you talking about a tool that produces as output, source code in some
language? (Which is what, for example, my Parrot tool does).
>The project I present is a tool that allows easier automation. It's more a
>general automation tool than specific to autocoding,
Can you give some examples of each?
> but inherently it
>can be used to create an auocoding environment that even the typical user
>could use.
I am currently writing a program that encrypts and decrypts email
messages. Would your tool conceivably help me with that?
--
===== Philip Hunt ===== ph...@comuno.freeserve.co.uk =====
One OS to rule them all, one OS to find them,
One OS to bring them all and in the darkness bind them,
In the Land of Redmond, where the Shadows lie.
> Are you talking about a tool that produces as output, source code in
> some language? (Which is what, for example, my Parrot tool does).
At this point, I think he's talking about a development *philosophy*
without any real nuts and bolts about how to implement that philosophy.
>>>When you say autocoding, what do you mean?
>>
>>Programming is the act of automating the use of complexity that is made up
>>of simpler things. Done so that such complexity is easier to use. As such
>>the complexity of programming itself can be automated.
>Isn't that what high(er) level languages do? For example assmebler is
>a higher level than machine code, C is higher level than assembler,
>C++ is higher level than C, and Python is higher level than C++.
>Are you proposing something that is higher level than Python?
No. you cannot solve a general language problem by creating another
language.
Even mathmatics has it's limitations on it's ability to express. Godels
Theorm and Turning halting problem.
Think of it this way: the programming language is like the song the radio
station plays. The tool I am talking about that will enable autocoding, is
like the broadcast carrier wave. The carrier wave doesn't care about what
song the DJ plays or if the news is being played, etc..
The DJ can read machine language, assembly language, BASIC, Fortran, C,
Python, Rebol, etc... But the carrier wave is still going to be the same
and it's going to carry whatever over it.
Nine commands and their options along with related files that help keep
track of things as they are being moved across a dynamic carrier wave.
Understand the difference and how the answer to your question is no?
>The Nine Commands given to us by the Prophet of the Three Seas are as
>clear as the sun in the daytime, and as powerful as a tornado.
They should be, considering they are based on the identification of the
nine things you do, no matter what you do.
http://www.mindspring.com/~timrue/vic-contents.html
>> Are you talking about a tool that produces as output, source code in
>> some language? (Which is what, for example, my Parrot tool does).
>At this point, I think he's talking about a development *philosophy*
>without any real nuts and bolts about how to implement that philosophy.
Gosh, do you think it can be done with just nuts and bolts
(methaphorically speaking - I understand what you are saying).
Buuuutttt...
I kinda see it as a matter of gears and bearings, you know, for movement.
besides what you will find at the lower part of my home page in regards to
general and specific information as to how the nine commands work...
there is the stand alone version of one ofthe commands
http://www.mindspring.com/~timrue/python/
IQ version 0.351 which does make use of some of the facets of the
other 8 commands.
But keep in mind it was done to show some very basic principles and that
a more complete version of the VIC will obviously have more versatility
and power.
>> This posting is to introduce or suggest an open source software
>> project to produce a core tool that will allow an autocoding
>> environment to be developed, allowed to evolve in the open source
>> software community and spirit of. I believe we can overcome many of
>> the problems that proprietary autocoding systems inherently have
>> (not to mention that existing autocoding systems appear to be
>> field/domain specific limited and that it may be possible to beat
>> this too.)
>After making the mistake of commenting on a followup to this message
>without reading this message, I went back and found it. I've now done
>a brief skim of the references that you listed in this message. I
>consider myself a good "skimmer" (although I could've missed much),
>but I (like another newspost you referenced) came away confused about
>what you were trying to accomplish. In my mind, the basic problem
>seems to be that you have a long (perhaps very long) term goal
>described in these papers with some (*BIG*) steps about how to get
>there, but you lack the rigorous small steps needed before what you're
>talking about will actually make sense.
not long term. Certainly a shell (optional function library) having nine
commands is.....well not long term. That's just the core, the rest, though
bigger,.... much is already available to work with.
>Many different disciplines are involved in aspects of this in one way
>or another:
not really. More like realizing it's just a matter of understanding why
it appears to cross so many different disciplines. Which is the nine
action constants are used in all disciplines.
>* Object Orientation -- to describe the process of building components
> that can be assembled into large pieces of knowledge.
recursion. take these part put them to-get-her to make this part and use
it with these other other parts to get this together ....etc..
>* UML -- to define a visual mechanism for describing the processes
> involved with object orientation.
a glorified flow chart that evolved out of recognizing commonality of
the scratch work everyone was doing and then trying to standardize it.
What is a high level graphical language that needs foot notes.
Useful for perhaps those who want to use it, but needs gears and bearing
under it in order to translate it down thru various levels of abstraction
to what may or may not be the target of code. (see other post about gears
and bearings)
>* Artificial Intelligence -- to find and describe ways of converting
> information into knowledge.
AI - nothing is naturally that stupid.
Artificial Intelligence (as has been so preceived by the public and
promoted in the "Turing Test" is in act the by-product illusion of
dynamically automating stuff to the point of fooling a human into thinking
they are communicating with another human that may be really really smart.
to achiveve this, you need gears and bearings of and for automation. 9acts
>* Relational Database Management -- to provide mathematical foundation
> to relating pieces of information to one another in an efficient
> manner.
Math is a subset of the class "abstraction" and as such it is limited.
However what is going on at www.archive.org to create a database of all
human knowledge is really amazing. and How they are doing it is even more
amazing.
>* Pattern Recognition -- to describe how pieces of data can be broken
> down into patterns for efficient recognition.
pattern matching ---> word = extending definition
the most basic form that is beyond the abstraction set of roman numerals
or what we came up with to replace roman numerals. Alpha-numeric+++
>* ... many others that I'm not familiar with (not that I'm very
> familiar with the above either).
Yes there are indeed many specialized fields which can sometimes have very
focused and fast solutions. And although these things can be used with
great success (Image recognition, AI algorythims, database algorithims for
super fast access, etc..) there is still the much slower and simpler
movement/actions that can be used to put these things together to make
bigger parts. Everything doesn't have to be a speed deamon, includint the
turtle that beat the rabbit over the finish line.
>Do you have a "strawman" proposal of (at least) a small piece of what
>you're getting at that can show the value of what you want?
yes. see other message for IQ in python link. As well as the links to
specific command specifications
---
*3 S.E.A.S - Virtual Interaction Configuration (VIC) - VISION OF VISIONS!*
*~ ~ ~ Advancing How we Perceive and Use the Tool of Computers!*
Timothy Rue What's *DONE* in all we do? *AI PK OI IP OP SF IQ ID KE*
Email @ mailto:tim...@mindspring.com >INPUT->(Processing)->OUTPUT>v
Web @ http://www.mindspring.com/~timrue/ ^<--------<----9----<--------<
Search email/name @ http://www.dejanews.com for other puzzle parts/posts.
Well, I don't know about the bolts, but there are definitely some nuts
involved! There's an explanation there of how some crop circles
explain the structure of "VIC". But, hey, you could say the same
thing about Xanadu or geodesic domes.
> http://www.mindspring.com/~timrue/python/
> IQ version 0.351 which does make use of some of the facets of the
> other 8 commands.
What does it do? (Seeing some code does make me feel a lot better.)
http://www.mindspring.com/~timrue/python/KNMVIC.iq does list some
details. There's some kinda ugly code there that implements "IQ", but
I can't really tell what it does by skimming it.
Could you post an example consisting of some input, some output, how
you get the output with IQ, and why that output is useful?
REMEMBER: There are only Nine Commands. <-- Actual Quote from Web Site! :)
Ok, maybe it's just that we're all too dense here for your genius. So
please bear with us simple minds. Nobody so far seems to be able to know
exactly what you're after, so please show some summary of input and results
of your code so we can understand what's going on.
Yes, I know you already gave a pointer to code, which is a good first step.
It shows you care enough about this to have gotten it off the ground and
that's great. Problem is: you talk about a lot of abstraction, yet the file
you mention above is a *single 500 line chunk* without a single function
definition for chrissakes! Is that your idea of abstraction? You've thrown
in command line parsing with help messages with i/o with the core of
whatever it is you're doing, in one big salad bowl. That code is utterly,
absolutely incomprehensible to anyone but someone willing to spend quite
some time to go through it in thorough detail. You don't define *one*
single function, *one* single class. Nada. Zilch.
So either you're going to seduce enough people with the results of that
code that there will be interest in diving in and cleaning it up (very
possible, I've done that in the past with messy code whose results were
important enough to me) or you'll have to make that code digestible first.
Sorry if this sounds harsh. I really hope your project (whatever it is)
succeeds, if nothing else for your personal satisfaction. But I'm pointing
to you some things which I suspect are a huge hurdle to its acceptance
right now.
Best of luck,
f.
A sentence like this puts me in an Alex Chiu state of mind...
>Think of it this way: the programming language is like the song the radio
>station plays. The tool I am talking about that will enable autocoding, is
>like the broadcast carrier wave. The carrier wave doesn't care about what
>song the DJ plays or if the news is being played, etc..
>
>
>The DJ can read machine language, assembly language, BASIC, Fortran, C,
>Python, Rebol, etc... But the carrier wave is still going to be the same
>and it's going to carry whatever over it.
>
>Nine commands and their options along with related files that help keep
>track of things as they are being moved across a dynamic carrier wave.
>
>Understand the difference and how the answer to your question is no?
I don't. It seems like what you're saying is a recreation of a unix shell and
hierarchical filesystem. A shell is a language.
AI /bin/sh
PK ~/.*rc, environment
OI read foo
IP <
OP >
SF ;
IQ awk, grep
ID ls, cat
KE more awk, grep, in a structural regexpy way
Coding advice for http://www.mindspring.com/~timrue/python/IQ.351.py: go
through the python tutorial or a few other introductory things. The code is
really kind of impressive, in that it doesn't have a single "def" statement,
but it's more or less the wrong kind of impressive.
No one is likely to understand the pages of philosophical mumbo-jumbo and
handwaving metaphors, especially if you're a Misunderstood Genius who only
speaks Martian. A better approach would be to pose a few realistic concrete
problems, how you'd solve them with existing tools, and how you'd solve them
with the acronym raft.
If you don't want to do that, or you do but no one understands, or they do but
don't care, you'll just have to ignore us short-sighted misunderstanding types
and write the whole thing yourself (if one of nine commands is only 500
def-less lines, it shouldn't lake long). If you have specific programming
questions along the way I'm sure kind people will help you out. Then with your
new power you'll accomplish all sorts of cool stuff in no time, and We'll All
Be Sorry. At that point you can either gloat a bit, and then relent, or go
ahead and send the robot army after us.
The other option is to continue pursuing the Alex Chiu line and crank out the
manifestos. If you enjoy that kind of thing, you might acquire a certain kind
of fame, but you'd have to work hard because it's a competitive field.
You seem to be saying that all programming lanugages intrinsically have
problems. Whatg are these problems, and how will your system overcome
them?
>Even mathmatics has it's limitations on it's ability to express. Godels
>Theorm and Turning halting problem.
ITYM Turing Halting Problem.
>Think of it this way: the programming language is like the song the radio
>station plays. The tool I am talking about that will enable autocoding, is
>like the broadcast carrier wave. The carrier wave doesn't care about what
>song the DJ plays or if the news is being played, etc..
>
>The DJ can read machine language, assembly language, BASIC, Fortran, C,
>Python, Rebol, etc... But the carrier wave is still going to be the same
>and it's going to carry whatever over it.
>
>Nine commands and their options along with related files that help keep
>track of things as they are being moved across a dynamic carrier wave.
>
>Understand the difference and how the answer to your question is no?
Nope.
Who is Alex Chiu?
>Ok, maybe it's just that we're all too dense here for your genius. So
>please bear with us simple minds. Nobody so far seems to be able to know
>exactly what you're after, so please show some summary of input and results
>of your code so we can understand what's going on.
You can try it out for yourself, instead of me trying to talk thru such a
thing. However, if you will read thru the other messages, you may find
what you are asking.
>Yes, I know you already gave a pointer to code, which is a good first step.
>It shows you care enough about this to have gotten it off the ground and
>that's great. Problem is: you talk about a lot of abstraction, yet the file
>you mention above is a *single 500 line chunk* without a single function
>definition for chrissakes! Is that your idea of abstraction? You've thrown
>in command line parsing with help messages with i/o with the core of
>whatever it is you're doing, in one big salad bowl. That code is utterly,
>absolutely incomprehensible to anyone but someone willing to spend quite
>some time to go through it in thorough detail. You don't define *one*
>single function, *one* single class. Nada. Zilch.
What is the main value of a function? I thought it was 1) to reduce
repetitive code and 2) to help format the source.
What would I need to define a class for, in that code?
Maybe you'd like to show me how that code can be broken into functions,
but for more than just the sake of breaking it down into functions.
Maybe just the loop section?
The top autocoder today has this as one of it's code generation features:
* No dynamic memory allocation, no unbound loops, no pointers, no
recursion, no dead code, no library calls.
*Readable and fully commented
Correct me if I'm wrong, but isn't a function call something of a pointer?
Of course this is the code that is generated by the SCADE autocoder but it
is still code. (point being is that the IQ code works and is commented
enough that it can be followed.)
The code is commented and if you run it with a file named "lnswitch.on"
existing (even and empty file - it only looks for the existance) then
it will give you alot of insight to what it's doing in the loop.
Expecially if you use it on a file that references other files that
referances each other.
See some of my other responses, maybe the last one to Kragen.
>So either you're going to seduce enough people with the results of that
>code that there will be interest in diving in and cleaning it up (very
>possible, I've done that in the past with messy code whose results were
>important enough to me) or you'll have to make that code digestible first.
>Sorry if this sounds harsh. I really hope your project (whatever it is)
>succeeds, if nothing else for your personal satisfaction. But I'm pointing
>to you some things which I suspect are a huge hurdle to its acceptance
>right now.
??????? Ok so you think it's a major hurdle this 537 line commented python
progam....???
What about the command specifications, what could be the manual pages for
the different commands?
Have you seen those?
What seems to be the biggest problem right now is people are assuming to
much, rather than finding out weither or not their assumptions hold true.
Overall it seems that me being one person is having to take on such
assuming challenges by more in count, than the one I am.
Maybe instead of people telling me all these things that weight on the
side of no you cannot do it, people get on te positive side and start
considering all the reasons to do it and how.
Certainly reducing the need to re-invent will help generate the time
needed to do more and more complex and cool things.
>A sentence like this puts me in an Alex Chiu state of mind...
Who is that person and what are they about?
>>Think of it this way: the programming language is like the song the radio
>>station plays. The tool I am talking about that will enable autocoding, is
>>like the broadcast carrier wave. The carrier wave doesn't care about what
>>song the DJ plays or if the news is being played, etc..
>>
>>
>>The DJ can read machine language, assembly language, BASIC, Fortran, C,
>>Python, Rebol, etc... But the carrier wave is still going to be the same
>>and it's going to carry whatever over it.
>>
>>Nine commands and their options along with related files that help keep
>>track of things as they are being moved across a dynamic carrier wave.
>>
>>Understand the difference and how the answer to your question is no?
>I don't. It seems like what you're saying is a recreation of a unix shell
>and hierarchical filesystem. A shell is a language.
>AI /bin/sh
>PK ~/.*rc, environment
>OI read foo
>IP <
>OP >
>SF ;
>IQ awk, grep
>ID ls, cat
>KE more awk, grep, in a structural regexpy way
No, not really. I tried using common tools, but for some strange reason I
just couldn't get them to work together quite the way needed.
But it's a nice effort, your interpretation.
>Coding advice for http://www.mindspring.com/~timrue/python/IQ.351.py: go
>through the python tutorial or a few other introductory things. The code is
>really kind of impressive, in that it doesn't have a single "def" statement,
>but it's more or less the wrong kind of impressive.
Geee, no points for it working and the fact that I don't have 28 years of
education and programming experience...
Point being, yes, things need to be made much easier for the adverage
user, who spends 40 plus hours a week doing something other than working
in the field of programming. Everybody should be a programmer, that way we
all can eat bits, be clothed and shelters by bits and take bits for
medicine when we are sick and use bit to travel to work ....
It might actually be easier that way instead of the majority having
to train programmers about what they want to do with computers, while
knowing full well the programmers are going to leave as soon as they do
one job.... And if it's interesting enough the programmer might slap
ownership rights on it, if they can, so to charge the client/teacher...
On the other hand, I suspect autocoding would be used by programmers to
kick out some stuff they only maybe dream of, if they dream at all.
>No one is likely to understand the pages of philosophical mumbo-jumbo and
>handwaving metaphors, especially if you're a Misunderstood Genius who only
>speaks Martian. A better approach would be to pose a few realistic concrete
>problems, how you'd solve them with existing tools, and how you'd solve them
>with the acronym raft.
:) you're not ready for such training, yet.
You have made it very clear that any such problem and solution I give
using the VIC commands will be responded to with a barrage of other ways
to solve each problems using a variety of different tools along with
specific remarks about the proper, in someones opinion, as to how this
and that code should be done (regardless of its working status).
I, on the other hand, believe that such expertise as you seem to claim you
have, is because you have done it enough over and over that it's possible
to automate these do's, don'ts, standards, and best ways so that us dumb
ass end users can actually get something done for ourselves, instead of
being insulted by the elite class that you seem to be a part of, in any
effort we apply to do something.
I also believe such efforts to automate such a coding process qualifies as
genuine software engineering, as opposed to psuedo software engineering.
] SCIENTIFIC AMERICAN - Sept. 1994
] Article - "Software's Chronic Crisis"
] Mary M. Shaw of Carnegie Mellon University, observes a parallel between
] chemical engineering evolution and software engineering evolution.
] However, this evolution has not made the connection between science and
] commercialization required to establish a consistent experimental
] foundation for professional software engineering.
>If you don't want to do that, or you do but no one understands, or they do
>but don't care, you'll just have to ignore us short-sighted misunderstanding
>types and write the whole thing yourself (if one of nine commands is only 500
>def-less lines, it shouldn't lake long). If you have specific programming
>questions along the way I'm sure kind people will help you out. Then with
>your new power you'll accomplish all sorts of cool stuff in no time, and
>We'll All Be Sorry. At that point you can either gloat a bit, and then
>relent, or go ahead and send the robot army after us.
You really should get of the pedistal, before you fall and hurt yourself.
>The other option is to continue pursuing the Alex Chiu line and crank out the
>manifestos. If you enjoy that kind of thing, you might acquire a certain
>kind of fame, but you'd have to work hard because it's a competitive field.
Is that what you are doing?
I don't want to compete with you.
I simple want to get a tool built that can be useful to all of us, allow
me and others to do alot more.
I'm sorry you seem to have a problem with that.
>"The Little Red Hen".
>> I'm asking for help in creating this tool. If you are going to wait until
>> it's done, then what will you have to offer? Maybe your just an end user,
>> waiting to use it. And that's OK, because that's who this tool is also
>> for.
>Some of us are busy planting our own wheat.
Oh, I'm sure there is a spectrum of people intensely focused on a project,
to those who are helpping a little here and there in a project to those
who are at the other extream of putting on an act with intent to cleverly
hinder..... and all else inbetween....
On 24-Jan-02 22:20:00 Kragen Sitaker <kra...@pobox.com> wrote:
>"Timothy Rue" <thre...@earthlink.net> writes:
>> On 23-Jan-02 20:52:54 David Masterson <dma...@synopsys.com> wrote:
>> >>>>>> phil hunt writes:
>>
>> >> Are you talking about a tool that produces as output, source code in
>> >> some language? (Which is what, for example, my Parrot tool does).
>>
>> >At this point, I think he's talking about a development *philosophy*
>> >without any real nuts and bolts about how to implement that philosophy.
>>
>> Gosh, do you think it can be done with just nuts and bolts
>> (methaphorically speaking - I understand what you are saying).
>Well, I don't know about the bolts, but there are definitely some nuts
>involved! There's an explanation there of how some crop circles
>explain the structure of "VIC". But, hey, you could say the same
>thing about Xanadu or geodesic domes.
What is important with that pictogram? Who made it or the fact it does
represent some concepts in a visual manner:
http://www.mindspring.com/~timrue/gotchavic1.html
Where else do we find visual aids? Flow Charts? UML? ???
Perhaps it is my honesty about where I got this diagram came from that
distracts you from what all else there is at the link I gave, from where
you found the diagram?
Or maybe your simply not really interested in helping, but rather intent
on hindering?
>> http://www.mindspring.com/~timrue/python/
>> IQ version 0.351 which does make use of some of the facets of the
>> other 8 commands.
>What does it do? (Seeing some code does make me feel a lot better.)
>http://www.mindspring.com/~timrue/python/KNMVIC.iq does list some
>details. There's some kinda ugly code there that implements "IQ", but
>I can't really tell what it does by skimming it.
Could you be more specific to what this "ugly code" is? As KNMVIC.iq
is a document that simple contains near hidden markers for what is a word,
a sub-definition and a file. Which are : :: ::: as mentioned in the
documentation itself.
>Could you post an example consisting of some input, some output, how
>you get the output with IQ, and why that output is useful?
>REMEMBER: There are only Nine Commands. <-- Actual Quote from Web Site! :)
If you have python installed on your system and in your path assignment:
get and put IQ verion 0.351 in a directory along with KNMVIC.iq
cd to that directory and from a shell
->python
This will give you help of command line options
->python -k KNMVIC.iq * *
this will list all keys in the file KNMVIC.iq and it may even look like
a table of content.
there is also an IQ Q&A web page, though done for the AREXX version of
IQ just read it as refering "python" instead "rx" and forget about
references to "Arexx ports" for GNU doesn't yet have that luxuary. Also
you can forget the "to" arguement also, as in the Python verson you can
simple use the shells ">" to redirect the output to where ever you want.
On the other hand the python version can handle white spaces in patterns
and internet remote files.
http://www.mindspring.com/~timrue/IQ-QA.html
However I do want to tell you this little story about automation using
the Arexx port on Amigas.
I have a program named ImageFX and it, like most all Amiga programs, has
an Arexx port. Only to use it, you don't have to have Arexx running,
though many other amiga programs require Arexx running to use their ports.
I also have the digital arexx manual for it which, as many manuals are,
includes example code for the commands you can send to ImageFX.
After I converted the manual to be able to work with IQ, I issued IQ the
command to send all example code to ImageFX. The command line was
something as simple as:
>rx IQ ImageFX1.port Imagefxarexx.txt * Examp*
And ImageFX then proceeded to do all the examples.
Now ImageFX also has a recorder built in, so you can turn the recorder on
and do somethings in ImageFX and then turn the recorder off and save the
results of the recorder to a file. The results is the sequence of commands
that you did, but in text form.
Problems is, it's not really documented to explain what you did and why
you did it. Only you know that. And if you do enough of this recording and
saving the you'll end up with a bunch of script files that can become
difficult to keep track of. Of course you can go back and add comments to
each of them. But when you go looking for a particulae script and can't
remember the name, then you are left with the manual process of looking at
the content of each file until you realize you no longer have it or that
it's not in the directory you are looking thru.
Or, you can add them all to one file or at least make up a TOC that
references the many files thru IQ. So that with you can quickly see the
"dictionary" of scripts and expose as much of the information in each as
you want. Using one common consistant interface (which have have a GUI
layered on top of. (I have a good beginnings of a GUI for IQ in the Arexx
version, but requires gui4cli which needs AmigaOS 3.0 minimum.)
Now of course this is all about automating the use of a program, but the
same tool and command set can be used to automate code production. I have
a very simple example that provides just a hint or autocoding somewhere on
my web pages.
IQ is only one of nine commands, and in the stand alone version it does
make use of some of the facets of the other commands. But in a more
complete version there is alot of additional control to be had.
If you create a file by the name "lnswitch.on" in the same directory and
run IQ, it will show you what IQ search stack looks like. If the search
goes thru several different files that refer to each other numerious
times, it will show you that IQ is smart enough to not search thru what
it has already looked thru. (there are some test file online that show
this). But there is more to this than just showing you IQ search stack. In
a more complete version of the VIC the PK command will give you a great
deal of control over this stack. As extream as replacing the stack with a
totally different one, if you want. And there is more, but you'd use these
things only when you see they are useful in creating dynamic automations.
Regarding the Arexx ports and using them to automate programs, and how GNU
doesn't really have an established single standard for adding such a port
to programs, libraries, devices, etc., it is possible to figure this out
so that it is simple to add such a port to existing program, etc.. In
seeing the advantage of such, I realize GNU could in essense, change over
nite in having ports installed in the majority of programs, etc..
And the Hurd, on the Mach microkernel.... well Mach uses IPC alot...
(Arexx works via Amiga IPC)
I have a question for you now.
Kragen, where do you fall in the spectrum mentioned in the beginning of
this post?
> On 23-Jan-02 19:26:05 Kragen Sitaker <kra...@pobox.com> wrote:
>> The Nine Commands given to us by the Prophet of the Three Seas are
>> as clear as the sun in the daytime, and as powerful as a tornado.
> They should be, considering they are based on the identification of
> the nine things you do, no matter what you do.
> http://www.mindspring.com/~timrue/vic-contents.html
Yikes -- Besides being a crop circle fanatic, he's a holdover from the
days of Commodore!
V.I.C. -- as in VIC-20
AREXX -- an Amiga shell language
Amiga-1000 -- an early model of the Amiga
I see nothing of substance in this.
Way back in the 1980's, someone wrote a program called "The Last One", which
was intended to do all future programming for us. Nobody, we were told,
would ever need to program again, as the programming would be done by "The
Last One" and we would simply describe our tasks to it (isn't that
programming anyway?). I seem to remember they even had the nerve to bring
out "The Last One, Version 2", which was an implicit admission of failure.
Don't see anyone using it now...
The criticism of your code is justified from an engineering point of view.
If you can't eat that you won't get anywhere in software development.
But good luck anyway.
regards
Steve
--
Consulting, training, speaking: http://www.holdenweb.com/
Python Web Programming: http://pydish.holdenweb.com/pwp/
Most renowned for the invention of the immortality ring.
>It might actually be easier that way instead of the majority having to
>train programmers about what they want to do with computers, while
>knowing full well the programmers are going to leave as soon as they do
>one job.... And if it's interesting enough the programmer might slap
>ownership rights on it, if they can, so to charge the client/teacher...
Python is already being used as a language to teach programming to
non-programmers. It's not clear what you're proposing which would add to
this. One thing which is required when teaching programming is clarity,
ironically.
>>A better approach would be to pose a few realistic concrete problems,
>>how you'd solve them with existing tools, and how you'd solve them
>>with the acronym raft.
>
>:) you're not ready for such training, yet.
>
>You have made it very clear that any such problem and solution I give
>using the VIC commands will be responded to with a barrage of other
>ways to solve each problems using a variety of different tools along
>with specific remarks about the proper, in someones opinion, as to how
>this and that code should be done (regardless of its working status).
>
>I, on the other hand, believe that such expertise as you seem to claim
>you have, is because you have done it enough over and over that it's
>possible to automate these do's, don'ts, standards, and best ways so
>that us dumb ass end users can actually get something done for
>ourselves, instead of being insulted by the elite class that you seem
>to be a part of, in any effort we apply to do something.
Can you rewrite that last paragraph? I got lost around "done it over and
other that it's possible".
It's interesting that you complain about an "elite class" at the same
time as telling us that we are not ready to understand a practical
application of your ideas. Do you think they will be usable by someone
other than you at any point?
You could write a page to your site about the conspiracy among
the programming elite to keep everyone else out. I'd link to Neil
Stephenson's essay "In the Beginning was the Command Line", which you
can find using Google. You could title the page "Help! Help! I'm being
oppressed!", for bonus points from the Python community.
You could also invest in a hit lined with tin-foil to deflect our mind
control rays. I'll probably get into trouble for telling you this, but
there's something called the PSA which ---PSA REFERENCE DETECTED---
Using PSA USENET AI to re-write post... Completed. ---END--- is
perfectly harmless and nothing to be concerned about. Move along,
please.
>I also believe such efforts to automate such a coding process qualifies as
>genuine software engineering, as opposed to psuedo software engineering.
How much software development have you done?
>>The other option is to continue pursuing the Alex Chiu line and crank
>>out the manifestos. If you enjoy that kind of thing, you might
>>acquire a certain kind of fame, but you'd have to work hard because
>>it's a competitive field.
>
>Is that what you are doing?
>
>I don't want to compete with you.
You're not competing with him, you're competing with Alex Chiu. Chui is
winning, though. VIC can't hold a candle to the immortality ring.
Perhaps you could invent a perpetual motion machine? Your clear grasp of
physical theories like relativity should make this a trivial task.
>I simple want to get a tool built that can be useful to all of us, allow
>me and others to do alot more.
Then produce real code and show how it is useful. Show us how your code
is better than what already exists.
--
Paul Wright | http://pobox.com/~pw201 |
python iq351.py
VIC IQ v0.351 - search engine with keyed word, sub-words and multi-file
depth.
Copyright 1998, 2001 by Timothy Rue <thre...@earthlink.net>
GNU General Public License version 2 - http://www.gnu.org/copyleft/gpl.html
To turn on filename@line#'s rename file 'lnswitch.off' to 'lnswitch.on'
Help legend: (pattern = regular expression)
optional=< >, one arguement=[ ], any number of arguements={ }
FOR HELP:
python IQ.py -OR- python IQ.py [ ? | -? | -h | help ]
COMMAND LINE:
python IQ.py <from_iq_file> [word|pattern] {sub|pattern}
TO SILENCE WARNINGS: (use -s before -k)
python IQ.py < -s | -S > <from_iq_file> [word|pattern] {sub|pattern}
FOR UNIQUE KEYS LIST (filekeys and w/word and sub pattern matching):
python IQ.py < -k | -K | -Keys | -KEYS > <from_iq_file> [word|pattern]
{sub|pattern}
---
Wow, I'm SO glad I ran that program. My life is transformed. It's obvious
now, can't you guys all see it? All we have to do is put Timothy Rue in our
killfiles and our problems will be over.
Sorry Timmy, this is goodbye.
Thanks to all involved for brightening my day,
Dave
Imagine what people having long used Roman Numerals said abou the
hindu-arabic decimal system. Or even Better about how nothing could mean
something (the zero).
>[ ... ]
>>
>> I simple want to get a tool built that can be useful to all of us, allow
>> me and others to do alot more.
>>
>> I'm sorry you seem to have a problem with that.
>Way back in the 1980's, someone wrote a program called "The Last One", which
>was intended to do all future programming for us. Nobody, we were told,
>would ever need to program again, as the programming would be done by "The
>Last One" and we would simply describe our tasks to it (isn't that
>programming anyway?). I seem to remember they even had the nerve to bring
>out "The Last One, Version 2", which was an implicit admission of failure.
>Don't see anyone using it now...
Never heard of it.
>The criticism of your code is justified from an engineering point of view.
>If you can't eat that you won't get anywhere in software development.
What criticism? what engineering POV?
>But good luck anyway.
>regards
> Steve
>--
>Consulting, training, speaking: http://www.holdenweb.com/
>Python Web Programming: http://pydish.holdenweb.com/pwp/
>> http://www.mindspring.com/~timrue/vic-contents.html
Now why would a "Software Engineer" go and distort such things?
V.I.C. stands for Virtual Interaction Configuration.
I've never owned a VIC-20.
Arexx is not an Amiga Shell Language but an Amiga Oriented version of IBMs
REXX language. The orientation is one of making use of the Amigas IPC.
Amiga-1000 was ahead of it time as a consumer product even admited to by
Apple Employees.
Are you sure you are a Software Engineer, Sr. R&D at that?
>... produce real code and show how it is useful. Show us how your code
>is better than what already exists.
real code works, IQ.351.py does
Show me the configuration of functionality already existing that is better
then the VIC,
I fail to see anything wrong with that. Evidence that he's willing
to think for himself instead of following the herd, seems to me.
The same tendency leads to Python, right? We can't laugh.
For another original and large thinker whose early efforts
involved the Amiga and ARexx, see
http://www.geocities.com/mentifex/webcyc.html for details on
Arthur Murray's Mentifex project.
Donn Cave, do...@u.washington.edu
[In case Kragen is modest]
In the past week Kragen has released the arrayfrombuffer package (really
cool - I spent this afternoon playing with it when I was supposed to
be working on something else, because I couldn't put it down),
http://pobox.com/~kragen/sw/arrayfrombuffer/
and
a preliminary version of MetaPy,
http://pobox.com/~kragen/sw/MetaPy-7.tar.gz (also available as .zip,
.src.rpm, .noarch.rpm, and .win32.exe)
plus a vastly more interesting bit of pythonic philosophical speculation:
http://lists.canonical.org/pipermail/kragen-tol/2002-January/000659.html
which you could have found out simply by reading this list this week.
Kragen thus is this week's winner in my 'Reasons that I love Open Source'
competition.
Laura Creighton
> Donn Cave, do...@u.washington.edu
Donn, I think it might be simpler than that.
I think generally speaking, the intent has been one of presenting me with
questions they didn't think I could answer.
Least that's the only thing I can figure for the silly and even
contridictary remarks that followed.
ie, the one who got IQ installed on a windows box and run it without any
command line arguements, got help output but that's as far as they can
figure out?
Another that said get any code done, something to start with. But upon my
presenting it, now they demand it all and in perfect working order.
You know, I really am asking for help in creating this. I'm not looking
for excuses not to do it. I can find plenty of those on my own. Its the
stronger, undeniable knowledge that it is possible and highly beneficial
to do so that I have not been able to shake. I've put it behind me several
times only to find it in my face again.
As to Authur Murray's work, I believe his work has been published a few
times. However, my perspective on AI is that generally it's a
by-product illusion. But the usefulness of the VIC is that of putting
things together, and this could include Authur Mentifex engine, or any
other AI engine.
<shrug>
>Kragen thus is this week's winner in my 'Reasons that I love Open Source'
>competition.
>Laura Creighton
I asked for help, not competition.
Whatis it that you do not understand about that?
> I asked for help, not competition.
>
> Whatis it that you do not understand about that?
I thought you asked where Kragen stood on doing?
--
Emile van Sebille
em...@fenx.com
---------
> On 25-Jan-02 14:31:11 Laura Creighton <l...@strakt.com> wrote:
>
> >Kragen thus is this week's winner in my 'Reasons that I love Open
Source'
> >competition.
>
> >Laura Creighton
>
>
> I asked for help, not competition.
>
> Whatis it that you do not understand about that?
Apparently you have a difficult time not only expressing yourself in a way
other people can follow, but you also have a difficult time understanding
other people. Laura was complementing Kragen, not suggesting that he
compete with you. Also, in case you missed it, there is no official 'Laura
Creighton's Reasons that I love Open Source' contest (unless it's on late
at night, and somehow I've missed it - Laura, is this only on TV in
Canada?). Anyway, just relax. Maybe by the time there really is one,
you'll have finished the 9 commands and you'll be a shoo in for first
place.
BTW, once the 9 commands are finished, will they be self-hosting?
--
Cliff Wells
Software Engineer
Logiplex Corporation (www.logiplex.net)
(503) 978-6726 x308
(800) 735-0555 x308
"Then with your new power you'll accomplish all sorts of cool stuff
in no time, and We'll All Be Sorry. At that point you can either
gloat a bit, and then relent, or go ahead and send the robot army
after us." - Quinn Dunkan
>> I asked for help, not competition.
>>
>> Whatis it that you do not understand about that?
>I thought you asked where Kragen stood on doing?
/me looks at Emile, wondering where they got that thought from.
If I want such a program to be created, that I have done all that I have,
don't you think it's because I want to use it? Even to help where I might
to build it and the files it might make use of in using it?
> On 25-Jan-02 15:33:36 Emile van Sebille <em...@fenx.com> wrote:
> >I thought you asked where Kragen stood on doing?
>
>
> /me looks at Emile, wondering where they got that thought from.
>
From this?:
"""
>"Timothy Rue" <thre...@earthlink.net> writes:
Oh, I'm sure there is a spectrum of people intensely focused on a
project,
to those who are helpping a little here and there in a project to those
who are at the other extream of putting on an act with intent to
cleverly
hinder..... and all else inbetween....
[snip]
I have a question for you now.
Kragen, where do you fall in the spectrum mentioned in the beginning of
this post?
"""
--
Are you self hosting? Looks like it to me!
>>The other option is to continue pursuing the Alex Chiu line and
>>crank out the manifestos. If you enjoy that kind of thing, you
>>might acquire a certain kind of fame, but you'd have to work hard
>>because it's a competitive field.
> Who is Alex Chiu?
Vendor of an "Eternal Life Device," which stops aging permanently.
For more details, see: <http://www.alexchiu.com/>
This area is a fairly competitive one; there's a Google Directory
about it...
<http://directory.google.com/Top/Science/Anomalies_and_Alternative_Science/Personal_Pages/?tc=1>
--
(concatenate 'string "cbbrowne" "@ntlug.org")
http://www.ntlug.org/~cbbrowne/wp.html
"You'll be rid of most of us when BSD-detox or GNU comes out, which
should happen in the next few months (yeah, right)." -- Richard Tobin,
1992. [BSD did follow within a year]
> On 25-Jan-02 12:31:33 David Masterson <dma...@synopsys.com> wrote:
>>>>>>> Timothy Rue writes:
>>> On 23-Jan-02 19:26:05 Kragen Sitaker <kra...@pobox.com> wrote:
>>>> The Nine Commands given to us by the Prophet of the Three Seas are
>>>> as clear as the sun in the daytime, and as powerful as a tornado.
>>> They should be, considering they are based on the identification of
>>> the nine things you do, no matter what you do.
>>> http://www.mindspring.com/~timrue/vic-contents.html
>> Yikes -- Besides being a crop circle fanatic, he's a holdover from the
>> days of Commodore!
>> V.I.C. -- as in VIC-20
>> AREXX -- an Amiga shell language
>> Amiga-1000 -- an early model of the Amiga
>> I see nothing of substance in this.
> Now why would a "Software Engineer" go and distort such things?
> V.I.C. stands for Virtual Interaction Configuration. I've never
> owned a VIC-20.
Okay. After skimming your paper, I was almost sure that the idea for
the V.I.C. acronym was inspired by the VIC-20.
> Arexx is not an Amiga Shell Language but an Amiga Oriented version
> of IBMs REXX language. The orientation is one of making use of the
> Amigas IPC.
Yes, I kind of threw this one out too quickly without putting the
right interpretation behind it.
> Amiga-1000 was ahead of it time as a consumer product even admited
> to by Apple Employees.
I know, I owned one (as well as an Amiga-2000). The point was not
that the Amiga was bad (it was very good machine), just that its been
(pretty much) dead and buried for a long time (but it is ashame).
Your papers, thus far, have not provided any clear and usable
description of what it is you're trying to do. Even your
implementation of V.I.C. (as pointed out by someone else) doesn't give
people any idea what can be done with the tool. I see a *LOT* of high
ideals and philosophical wish list in your papers, but no cogent
points that could be used to do real computing work. The most
interesting thing I see on your web-page is the reference to IBM's
Autonomic Computing, but that's very similar to goals of CFEngine.
With respect to the goals of V.I.C. (near as I can figure), CFEngine
may be an implementation (with a goal of systems management), but
you'll see there is much more than 9 commands to it.
> For another original and large thinker whose early efforts involved
> the Amiga and ARexx, see
> http://www.geocities.com/mentifex/webcyc.html for details on Arthur
> Murray's Mentifex project.
That appears to be a dead link.
> On 25-Jan-02 15:42:19 Cliff Wells <logiplex...@earthlink.net> wrote:
>
> >BTW, once the 9 commands are finished, will they be self-hosting?
>
> Are you self hosting? Looks like it to me!
>
Um. Sure. This is exactly what I was talking about. Your reply makes no
sense. Even if I twist it around in some bizarre metaphysical way so that
it seems like a real question, I still don't see how it relates to what I
said.
self-hosting: the ability to rebuild a tool using that tool, e.g. a C
compiler written in C being able to recompile itself. Very common.
If your 9 commands were self-hosting, they could be reimplemented using
only the 9 commands.
If a person were self-hosting it would mean...?
Have they called medication line at your facility yet?
--
Cliff Wells
Software Engineer
Logiplex Corporation (www.logiplex.net)
(503) 978-6726 x308
(800) 735-0555 x308
"Then with your new power you'll accomplish all sorts of cool stuff
Ah, here's the link. Well, I can see you do have thought a lot about these.
But believe me, you have truckloads of details to be worked out before
others will join you.
As you do it, you'll find that the set of commands you initially chose might
shift away from the center of attention, and more important or intriguing
features might pop up. You might find that some things you hand-waved
through emerge as almost inpenetrable hudles, and some things you hold dear
become jokingly trivial.
If I were at your position, I would just chooes the simplest example
imaginable that demonstrates the main feature of the design, and actually
code it up to see how it works. You'll be amazed at how much details you
didn't see the first round. Then you can trim down all the non-essential
details, and try to find an even simpler example. After a few rounds you
would have a starting point that others might be interested in. And if it
is a solid starting point, it will have a long life ahead.
Huaiyu
Rats! I bet this works, though: http://www.scn.org/~mentifex/
Donn Cave, do...@u.washington.edu
Attempted translation:
I believe programming is a repetitive task that can be automated. Then we can
lose those condescending snotty programmers.
>On the other hand, I suspect autocoding would be used by programmers to
>kick out some stuff they only maybe dream of, if they dream at all.
Interesting that you mention that, because now that I think about it, we don't.
Well, I can't speak for the Brethren, but ever since *I* joined the Elite, all
of my nights have become yawning chasms of oblivion. There's a lot of little
things like that, like the scratches I sometimes find on my arms in the
morning. I guess I've learned not to question them, but now my curiosity is
piqued. I'll have to ask one of the higher ups abo{{{+#(@)+++{++_{{{
NO CARRIER
Timothy Rue wrote:
> On 25-Jan-02 13:14:16 Paul Wright <-$P-W$-@verence.demon.co.uk> wrote:
>
>
>
>>... produce real code and show how it is useful. Show us how your code
>>is better than what already exists.
>>
>
> real code works, IQ.351.py does
>
> Show me the configuration of functionality already existing that is better
> then the VIC,
Since nobody can figure out what VIC is actually supposed to do,
that's either going to be pretty difficult, or dead easy (depending on
how cynical one is).
Can't you give even one concrete example of how you envision this
working? Forget about whether you actually have all nine commands
working, how do you plan on having them work together to do some simple
task that we can understand.
Here's a simple python program to count the lines in a specific file:
f = open("myfile.txt")
l = f.readlines()
print len(l), " lines"
Run on itself as input it prints:
3 lines.
How would you accomplish the equivalent with VIC commands?
Joshua
> On Fri, 25 Jan 2002 21:28:34 GMT
> Timothy Rue wrote:
>>
>>Are you self hosting? Looks like it to me!
>>
>
> self-hosting: the ability to rebuild a tool using that tool, e.g. a C
> compiler written in C being able to recompile itself. Very common.
>
> If your 9 commands were self-hosting, they could be reimplemented using
> only the 9 commands.
>
> If a person were self-hosting it would mean...?
.... a really lonely Saturday night?
--
Tom Jenkins
>Huaiyu
Because of the nature of the project, it's not something that will evolve
off the target that is identified. Any changes will only be to better
integrate the commands in order to handle any exceptions that are found to
not work.
Understand, it's not an idea, it's not patentable. It's an identification
of the nine these we do in anything we do, and then defined in terms of
computer functionality to the best possible versatility to be had on a
given system. There are some inherent constraint within the hardware of
computers that cannot be avoided.
It is a core configuration of functionality to be accessable to the
typical computer end user. And done so in a manner that allows those who
use it to automate things already existing, in a dynamic manner.
The general descripting of the nine actions is not going to change. and
the logic of how the functionality is configured and carried out to it's
logical conclusion is what it is.
I suppose this is what makes it so different and in turn, hard to
understand by the typical programmer mindset.
There is the problem of communicating it to others. But it's an unusual
problem. Non-programmers can grasp the nine actions far easier then the
programmer mind set, yet the programmer mindset tends to preceive it in
terms of the programming languages that most currently is on their minds.
There seems to be some problems along the lines of deprogramming. As old
style auto manufacture employees were harder and more expensive to retrain
than train totally new workers.
Another example that is relative to computer is the conversion of using
Roman Numerals to the hindu-arabic decimal system. Of which the hardest
part to grasp was the symbol '0' meaning nothing but having a value. It
seemed so contridictary and silly to have such a symbol by those who were
long skilled in using the roman numerals. I think it took something like
300 years or so before the general population was using the decimal
system, mostly it was business that caused the decimal system to be
adopted due to the need to be able to better deal with inventories and
other numerical informaation in business like counting money.
But without the symbol of nothing as a place holder, we wouldn't have
computers, seriously.
And just as roman numerals greatly limited the advancement of mathmatics,
so does the current methodologies of programming limit the advancement of
software engineering.
The fundamently logic is simple: Programming is the act of automating
complexity that is made up of simpler things. The software industry has
been able to automate most any other field, from mathmatics in science and
space exploration to robotics for manufacturing, even the field of human
balance and movement (segway). But for some odd reason it can't seem to
automate itself even in the most fundamental basic ways of being available
in a general manner.
One of the things needed in a computer environment is the three primary
user interfaces of the command line, the graphical user interface and the
side door port to applications and other functionality. The port that
allows the user to communicate to the application or functionality in the
scriptable vocabulary of the given functionality/application.
where the VIC comes in is in handeling the dictionaries of the various
applications/functionality and acting as a central control point that can
spawn off instances of itself in order to handel greater levels of
complexity in a parrallel manner.
Here is an example of using the VIC in voice/speech controlled...
http://groups.google.com/groups?selm=13506.301T771T10734137%40mindspring.com
perhaps this is the sort of example people are looking for.
Still there seems to be a general problem in communicating the VIC
to others.
Timothy Rue wrote:
> Because of the nature of the project, it's not something that will evolve
> off the target that is identified. Any changes will only be to better
> integrate the commands in order to handle any exceptions that are found to
> not work.
Translation: The project is well-defined.
> Understand, it's not an idea, it's not patentable. It's an identification
> of the nine these we do in anything we do, and then defined in terms of
> computer functionality to the best possible versatility to be had on a
> given system. There are some inherent constraint within the hardware of
> computers that cannot be avoided.
Translation: It's software.
> It is a core configuration of functionality to be accessable to the
> typical computer end user. And done so in a manner that allows those who
> use it to automate things already existing, in a dynamic manner.
Translation: It has a user interface.
> The general descripting of the nine actions is not going to change. and
> the logic of how the functionality is configured and carried out to it's
> logical conclusion is what it is.
Translation: [semantically null?]
> I suppose this is what makes it so different and in turn, hard to
> understand by the typical programmer mindset.
Translation: Programmers have difficulty understanding unusual things.
> There is the problem of communicating it to others. But it's an unusual
> problem. Non-programmers can grasp the nine actions far easier then the
> programmer mind set, yet the programmer mindset tends to preceive it in
> terms of the programming languages that most currently is on their minds.
Translation: [same as previous]
> There seems to be some problems along the lines of deprogramming. As old
> style auto manufacture employees were harder and more expensive to retrain
> than train totally new workers.
Translation: [null]
> Another example that is relative to computer is the conversion of using
> Roman Numerals to the hindu-arabic decimal system. Of which the hardest
> part to grasp was the symbol '0' meaning nothing but having a value. It
> seemed so contridictary and silly to have such a symbol by those who were
> long skilled in using the roman numerals. I think it took something like
> 300 years or so before the general population was using the decimal
> system, mostly it was business that caused the decimal system to be
> adopted due to the need to be able to better deal with inventories and
> other numerical informaation in business like counting money.
> But without the symbol of nothing as a place holder, we wouldn't have
> computers, seriously.
Translation: [example, non-essential to discussion]
> And just as roman numerals greatly limited the advancement of mathmatics,
> so does the current methodologies of programming limit the advancement of
> software engineering.
Translation: Programmers don't adjust to new methodologies.
> The fundamently logic is simple: Programming is the act of automating
> complexity that is made up of simpler things. The software industry has
> been able to automate most any other field, from mathmatics in science and
> space exploration to robotics for manufacturing, even the field of human
> balance and movement (segway). But for some odd reason it can't seem to
> automate itself even in the most fundamental basic ways of being available
> in a general manner.
Translation: Software doesn't generally automate software.
> One of the things needed in a computer environment is the three primary
> user interfaces of the command line, the graphical user interface and the
> side door port to applications and other functionality. The port that
> allows the user to communicate to the application or functionality in the
> scriptable vocabulary of the given functionality/application.
Translation: Software needs two users interfaces and one software interface.
> where the VIC comes in is in handeling the dictionaries of the various
> applications/functionality and acting as a central control point that can
> spawn off instances of itself in order to handel greater levels of
> complexity in a parrallel manner.
Translation: VIC controls data flow between applications.
> Here is an example of using the VIC in voice/speech controlled...
> http://groups.google.com/groups?selm=13506.301T771T10734137%40mindspring.com
> perhaps this is the sort of example people are looking for.
Translation: Link to example involving speech [?]
> Still there seems to be a general problem in communicating the VIC
> to others.
Hmmm... I wonder why?
Let's see what the meaningful comments look like grouped together
(with those that actually say anything in the context marked with a *)
Translation: The project is well-defined.
Translation: It's software. *
Translation: It has a user interface.
Translation: Programmers have difficulty understanding unusual things. *
Translation: Programmers don't adjust to new methodologies.
Translation: Software doesn't generally automate software. *
Translation: Software needs two users interfaces and one software interface.
Translation: VIC controls data flow between applications. *
The net effect of your above comments seems to be this:
"VIC is unique software which manages interfaces between applications.
But pretty much all of you are incapable of understanding it."
My response is therefore:
"Thanks for the insult, and I'm not interested, but couldn't
you have said it more concisely?"
-Peter
Ah yes, I remember that. (I'm showing my age :-))
>which
>was intended to do all future programming for us. Nobody, we were told,
>would ever need to program again, as the programming would be done by "The
>Last One" and we would simply describe our tasks to it (isn't that
>programming anyway?). I seem to remember they even had the nerve to bring
>out "The Last One, Version 2",
Perhaps they should have called it "The Last One Really This Time Honest"...
>The criticism of your code is justified from an engineering point of view.
500 lines in one function... pass the sick bucket, please.
--
===== Philip Hunt ===== ph...@comuno.freeserve.co.uk =====
One OS to rule them all, one OS to find them,
One OS to bring them all and in the darkness bind them,
In the Land of Redmond, where the Shadows lie.
Hey, I've got an immortality ring, I call it "my preciousss".
They could be re-created using other people?
> One of the things needed in a computer environment is the three primary
> user interfaces of the command line, the graphical user interface and the
> side door port to applications and other functionality. The port that
> allows the user to communicate to the application or functionality in the
> scriptable vocabulary of the given functionality/application.
>
> where the VIC comes in is in handeling the dictionaries of the various
> applications/functionality and acting as a central control point that can
> spawn off instances of itself in order to handel greater levels of
> complexity in a parrallel manner.
[I'm coming into this discussion late, so forgive me if I've missed
something obvious - though everyone else seems to be as confused.]
Is this in anyway related to something like AppleScript?
<http://www.apple.com/applescript/>
This is Apple's attempt to provide a framework where non-programmers can
communicate to different applications and link them together to perform
tasks. The central idea is the concept of a "dictionary" for each
application, and the AppleScript language which presents these dictionaries
to the user.
[Side note: I don't mean to be derogatory with the term "non-programmers". I
just mean people that are more comfortable communicating with natural
language than the highly artificial and low-level computer languages that
programmers typically use.]
> Here is an example of using the VIC in voice/speech controlled...
>
> http://groups.google.com/groups?selm=13506.301T771T10734137%40mindspring.com
For instance, this previous post you refer to discusses telling the computer
to format a floppy (vocally, but I presume the idea includes textually):
"Computer utility format name f u n drive D F 0 go".
This task is achieved in AppleScript by using the dictionary of the Finder
(the file management application on a Mac) to ask it to perform the task:
tell application "Finder" to erase disk "Bob"
[Slightly different since the Mac doesn't identify disks by the drive
they're in.]
In this instance, "erase disk" is not a part of the AppleScript language,
but a part of the interface made available by the Finder. I can write
scripts that ask for something from application A using its dictionary, and
then pass the information to application B for processing using the
dictionary for application B, all within a single script, all using a very
natural English-like grammar (natural if you speak English that is).
I don't really see how this relates to auto-coding though. A programmer
still wrote the application, it's just that Apple encourages programmers to
make available the functionality of their program through the "side door"
you mention so that non-programmers can use it.
Am I getting close?
Jonathan
[snip]
>Translation: The project is well-defined.
>Translation: It's software. *
>Translation: It has a user interface.
>Translation: Programmers have difficulty understanding unusual things. *
>Translation: Programmers don't adjust to new methodologies.
>Translation: Software doesn't generally automate software. *
>Translation: Software needs two users interfaces and one software interface.
>Translation: VIC controls data flow between applications. *
>The net effect of your above comments seems to be this:
> "VIC is unique software which manages interfaces between applications.
> But pretty much all of you are incapable of understanding it."
>My response is therefore:
> "Thanks for the insult, and I'm not interested, but couldn't
> you have said it more concisely?"
>-Peter
The conclusion is that you want to make me out to be insulting you and
others, but that fails simple direct logic. I'm asking for help to do
this.
There are three valid options here:
1) you understand it or think you do and are threatened by it.
2) you understand it or think you do and want it for yourself, for the
advantages you see in it.
3) you really don't understand it.
All three of which would result in the same general output of public
denial. What can be preceived in silly, irrational, illogical remarks.
There are several places on my web pages to explain each of the nine
commands in short general terms. There is also detailed descriptions of
the commands in the form of what can be preceived as manual pages.
There is also working code and example files to use in understanding one
of the commands and facets of most of the others.
It's really not that complex a tool to have a hard time understanding.
But most of all I don't see any real effort to do so. There are other
tools existing that can be and have been used to describe the commands
while noting the limitation of those tools, their failure to fullfill the
commands they are being used to describe.
There is also what I do know, and it has shown me that arrogance and the
certainty and sureness that it appears to present can be and often is
used to mislead the less knowledgable and weak minded. Especially on
matter regarding the abstract world of computers.
So if you want to insult yourself and other, you are free to do so, but
you are a liar in trying to make it out that it's what I'm doing.
There is far more logic in why you or anyone else would do that, then
there is in me seeking help with insults.
And I'm supposed to believe are a programmer who deals in logic?
>Ah yes, I remember that. (I'm showing my age :-))
>>which
>>was intended to do all future programming for us. Nobody, we were told,
>>would ever need to program again, as the programming would be done by "The
>>Last One" and we would simply describe our tasks to it (isn't that
>>programming anyway?). I seem to remember they even had the nerve to bring
>>out "The Last One, Version 2",
>Perhaps they should have called it "The Last One Really This Time Honest"...
>>The criticism of your code is justified from an engineering point of view.
>500 lines in one function... pass the sick bucket, please.
Your the programmer genius, prove to me that the code don't work!
Show me where functions and whatever else you want to claim is the right
way to do it, can be done in a manner that improves the processing and
readability of the code.
otherwise you are using arrogance to try and fool others into believen
that the code don't work.
LOL! :))) Thank you, Phil!
Oleg.
--
Oleg Broytmann http://phd.pp.ru/ p...@phd.pp.ru
Programmers don't die, they just GOSUB without RETURN.
Acessible via a GUI (like a file manager)? Or via the command line (like
grep, cat, sort etc)? Or both?
> And done so in a manner that allows those who
>use it to automate things already existing, in a dynamic manner.
Like with Unix pipes?
>The general descripting of the nine actions is not going to change. and
>the logic of how the functionality is configured and carried out to it's
>logical conclusion is what it is.
>
>I suppose this is what makes it so different and in turn, hard to
>understand by the typical programmer mindset.
You should lose the big chips you have on both shoulders. Your remark
comes across as meaning "Typical programmers are stupid and thus don't
understand it, but I with my superior intellect do understand it".
Perhaps that is not what you meant; in which case it is even more
appropriate for you not to come across in that way.
Furthermore, why should anyone help you if you insult them?
>There is the problem of communicating it to others. But it's an unusual
>problem. Non-programmers can grasp the nine actions far easier then the
>programmer mind set,
Again this is "programmers are a stupid elite".
>yet the programmer mindset tends to preceive it in
>terms of the programming languages that most currently is on their minds.
Well I am sorry that I don't have your sublime wisdom and thus can only
understand things in terms of Unix shell, Python, C++, C, PHP, Java,
Lisp, Awk, Perl, etc.
>There seems to be some problems along the lines of deprogramming. As old
>style auto manufacture employees were harder and more expensive to retrain
>than train totally new workers.
Put me out to grass then. Or send me to the knackers yard.
Here's my prediction: either Tim will not answer this, or if he does answer
it, it will not be with an explanation of how VIC does things, but with
two things: (i) a not-particularly-illustrative metaphor, and (ii) an
implication that programmers are too stupid/elitist/brainwashed to
understand him.
Though I wouldn't mind being proved wrong.
Certainly, I'll be happy to construct a test suite and pass/fail it for
you, if you'll pay me at my usual consulting rate.
>Show me where functions and whatever else you want to claim is the right
>way to do it, can be done in a manner that improves the processing and
>readability of the code.
Again, I will be happy to do this for you, if you'll pay me at my usual
consulting rate.
>otherwise you are using arrogance to try and fool others into believen
>that the code don't work.
Er, I never said it didn't work, I said that i don't consider 500-line
functions to be aesthetically pleasing.
>> Here's a simple python program to count the lines in a specific file:
>>
>>f = open("myfile.txt")
>>l = f.readlines()
>>print len(l), " lines"
>>
>>Run on itself as input it prints:
>>3 lines.
>>
>>How would you accomplish the equivalent with VIC commands?
>Here's my prediction: either Tim will not answer this, or if he does answer
>it, it will not be with an explanation of how VIC does things, but with
>two things: (i) a not-particularly-illustrative metaphor, and (ii) an
>implication that programmers are too stupid/elitist/brainwashed to
>understand him.
>Though I wouldn't mind being proved wrong.
Step one: Build tool
Step two: Create or convert python language reference manual so it is
usable by the VIC as a python code foundation
Step three: create general or basic loop and cycle scripts to put the
VIC in motion.
Step four: Create automation of the Do's, Don't and standards of the
python programming language
Step five: Create automations of repeatable processes when and where they
are identified.
At where we currently are, we are looking to many steps ahead to determine
exactly how the above program may be generated. There are far to many
variable and valid possibilities to guess how it might actually be done.
The trick in the question is like saying I have this idea for a router on
an x y table that will be able to cut any shape I tell the system to cut.
And then having someone ask me how it would cut a circle. And before
anything but the example of a router and an x y table and a computer are
presented.
To explain how it cuts a circle could be explained by saying you have a
hole in the middle of the table and you use the markings on the table to
center up the material on the table. You then have an x and y bar tha you
fold down on the table so to mark where you are to drill the hole in the
material so to place a piviot point for an adjustable router base. From
here you place the base piviot point thru the hole and into the x y table.
Adjust the distance away from the piviot point the router tip is and turn
the router on and lower it into the material and push it around the piviot
point (counter clockwise for the typical router). The computer is a
calculater you use to determine the distance away from the router bit that
the center of the piviot point is, inorder to get the distance around the
circle that you want. And this process will work.
But that is not what a CNC router is.
To properly explain how the CNC router actually does this circle, you
first have to explain in detail how the CNC router works and then explain
the steps it goes thru to cut the circle.
So the question that is asked above about the VIC, is not really how to do
one specific thing, but asking for the complete details of all that needs
to be done and then what are the specific details of how it does the one
task (at which point all that wanted to know would already know how they
would do it.)
Phil is to stupid to know all this. Right Phil?
However, there is another possibility:
I have said the nine commands are identification of actions we do all the
time. For this to be true, then it means that even the manual act of
creating the program can be written out in terms of these nine actions by
anyone who can manually write that program out, including Phil.
So how about it Phil? It really doesn't matter, metaphorically speaking,
how you cut the code out, just so long as you identify in writting what
actions of the nine you use and when you use them.
There is a purpose to this exercize, to help Phil and who ever else that
wants to try it to begin understanding the action set, by identifying when
and where they use any of the set. Once you see that, you'll be better
able to understand the control point use of the action set. With that
you'll see for yourself how the VIC can be used to automate stuff.
So how about it Phil? Describe the sequence of steps you would do to
create the above program.
> The conclusion is that you want to make me out to be insulting you and
> others, but that fails simple direct logic. I'm asking for help to do
> this.
"I'm asking for help to do this." To do what? Be insulting to me
and others? I don't think that's what you meant, Timothy, but if
you have a moment to try to understand, you might see that a large
part of your problem is that your writing is exceptionally unclear.
Semantically, your above paragraph says you are asking for help to
be insulting to me and others. If you could realize your words
are very, very confusing (not because the concepts are hard, but
because your writing is poor) you might start getting a more
useful response. Sometimes those who use unclear communication
also have unclear thoughts. We're trying to figure out if that
applies to you.
> There are three valid options here:
>
> 1) you understand it or think you do and are threatened by it.
>
> 2) you understand it or think you do and want it for yourself, for the
> advantages you see in it.
>
> 3) you really don't understand it.
You tell _me_ which it is. Either my reduction of your words to
"VIC is unique software which manages interfaces between applications"
was accurate, or it wasn't. If it was, then I understand it but
neither (1) nor (2) apply, because believe me I don't feel threatened
by such a thing, and neither am I remotely interested in it. I
already have one of those.
If that description is wrong, then obviously (3) applies. Please
tell me which applies. If you didn't see this, I indicated that I
believe I did not understand, but you haven't attempted to improve
my understanding or to confirm this supposition.
> There are several places on my web pages to explain each of the nine
> commands in short general terms. There is also detailed descriptions of
> the commands in the form of what can be preceived as manual pages.
I haven't visited your site. I don't plan to yet. Nothing said in
this newsgroup generates any interest in me to do so. I was hoping
my analysis of your statements would give me reason to, but alas
it did not.
> It's really not that complex a tool to have a hard time understanding.
Then it should be possible to describe it easily in a paragraph or two.
The fact this has not yet happened in this newsgroup implies very
strongly that it is either a con job, with no substance, or that
you are incapable of communicating something simple in a few words,
or that you are so brilliant that it is really not that simple and
therefore none of us *can* understand.
If any of these conclusions are valid, you must understand there
is little point in us pursuing this until something changes. Why
don't you try explaining it in one paragraph in such a way that it
clearly explains to us why we would want even to visit your web
site? Why not list the nine commands here and let us judge whether
you are on to something?
> But most of all I don't see any real effort to do so. There are other
> tools existing that can be and have been used to describe the commands
> while noting the limitation of those tools, their failure to fullfill the
> commands they are being used to describe.
See, this statement means nothing. You meant to say something here,
but the words come out jumbled and confusing and not in proper English
grammar. Trust me on this. My words are relatively clear. I'm
a native English speaker with an innate talent and good training in
grammar and spelling and such things. And I admit I have a very hard
time understanding more than a few of your sentences without twisting
my brain in loops. This is not my fault, it's yours I'm afraid,
although if you have something valid to say it becomes both my
and your problem. If you can't change it, you will not be able
to keep my attention. That's just the way it is, nothing personal.
> So if you want to insult yourself and other, you are free to do so, but
> you are a liar in trying to make it out that it's what I'm doing.
You're right. It's not an insult on your part to claim that none
of us are capable of understanding because our brains are stuck in
current thought patterns. It's either a fact (implying you are a
genius and we are dolts) or just arrogance on your part. My apologies
for implying you were insulting us. I don't know that yet because
I can't be sure you aren't a genius, except that your writing sucks
and people tend to think there's a correlation between ability to
communicate and ability to think.
> And I'm supposed to believe are a programmer who deals in logic?
You aren't supposed to believe anything like that. I made no such
claims. For all you know, I'm a housewife in Hoboken posting under
an alias, or a psychologist in Pemberton toying with your mind. :-)
-Peter, or Margie, or Gerhardt ...
By overwhelming consensus of the vast majority of practicing programmers
at this time, a 500 line script with no functions would be considered
the poster boy for unreadability.
> otherwise you are using arrogance to try and fool others into believen
> that the code don't work.
Nobody said the code wouldn't work, they just said it smelled.
If it has no subroutines, they are right. It's not arrogance, it's
just mass public opinion on the matter...
Timothy Rue wrote
>>On Sat, 26 Jan 2002 01:01:08 GMT, Joshua Macy
>><l0819m0v...@sneakemail.com> wrote:
>>
>
>>> Here's a simple python program to count the lines in a specific file:
>>>
>>>f = open("myfile.txt")
>>>l = f.readlines()
>>>print len(l), " lines"
>>>
>>>Run on itself as input it prints:
>>>3 lines.
>>>
>>>How would you accomplish the equivalent with VIC commands?
>>>
>
>>
>
> Step one: Build tool
>
> Step two: Create or convert python language reference manual so it is
> usable by the VIC as a python code foundation
>
> Step three: create general or basic loop and cycle scripts to put the
> VIC in motion.
>
> Step four: Create automation of the Do's, Don't and standards of the
> python programming language
>
> Step five: Create automations of repeatable processes when and where they
> are identified.
Now wait a minute. You can't possibly mean that the non-programmer
users of VIC are going to begin by building tools and converting the
Python language reference into a VIC code foundation, so you're not
answering the question I asked. Let me try again:
Suppose I, as a non-programming end-user of VIC, have a file and I
want to know how many lines are in it. Exactly what do you envision I
do with those nine VIC commands to get your system to tell me how many
lines are in the file? Type out the VIC commands that you would issue,
assuming that your system was in its final form (somebody else has done
all five of those steps), so that we can see how non-programmers could
use VIC to accomplish this task. If you can do that, we might start to
have some idea of what you're aiming at. And don't use analogies: show
us the commands.
Joshua
You're forgetting the more obvious:
Each of us is interested in _our_ stuff and not _your_ stuff,
and until and unless you present enough information to make us
interested, we probably won't be. Taking the position that
your stuff is generally superior to everyone else's stuff
without first _earning_ respect will get you nowhere.
You're not giving off much in the way of what I see to be "good
to work with" vibes, either. Your project isn't going to come
to you on a silver platter, serviced by sycophants. To get that,
you have to be the Guido or the Linus of the day, which means,
amongst other things, that you have a hell lot of work to do.
Until then,
C//
>You tell _me_ which it is.
The phrase "you really don't understand" is just a frustrated
way of saying "I lack the ability to explain properly" most of
the time. Don't fret. They can't help it.
C//
> <http://www.apple.com/applescript/>
>Am I getting close?
This is an example of the third user interface. This applescript is
something of a language itself that can make use of other vocabularies of
programs.
It's interesting to note that Apple focused on the second user interface,
the GUI but dropped the first one, the command line.
Today with OSX I believe they may now have all three.
Applescript does seem to be somewhat closed system oriented. That is
Limited within the language included in it and other applications
vocabulary. But then that is to be expected of a scripting language, even
with it's flexable natural language like use.
The VIC is different in that it is not a scripting language but rather
more like a physical mechanical device with gears to shift, cycles to
complete and patterns to match in determing what output it will produce
given the input it receives.
I don't expect anyone to understand anymore. I've pretty much come to the
conclusion that I'm not going to get any help with this, no matter what I
do.
Think about it. IS the idea of applescript or the side door port to
applications and other functionality that new?
the fact is Programmers have had this sort of interface for a long time in
vaious form such as APIs. There can only be one reason why this side door
concept hasn't been made more generally available to the typical end user.
If you don't let the user do it then you can do it and sell it to the
user.
It really is that simple!
The Amiga computer has long had all three user interfaces. But that
doesn't stop the mindset of what amounts to greed. The Arexx port is
usually used only thru the use of the Arexx language. Only a smaller
number of applications can make use of it without arexx.
There really is no excuse to not have made available to the user all three
interfaces in a user friendly manner.
What you say comes across to me as insulting, too.
OTOH, maybe you are right and everyone else is wrong.
So it's all a big conspiracy by evil programmers to get money out of
users?
In that case, please explain why many of the most talented programmers
are developing open source software, which they are giving away to
anyone who wants it, and that many open source projects are explicitly
aimed at making things easier for end-users?
>The Amiga computer has long had all three user interfaces. But that
>doesn't stop the mindset of what amounts to greed. The Arexx port is
>usually used only thru the use of the Arexx language. Only a smaller
>number of applications can make use of it without arexx.
But wasn't the Amiga's softwarev written by programmers? So how come
they didn't deliberately cripple it like you say above?
No fretting going on here. I'm just having fun. :-)
I think Timothy has an idea that would make computers
much easier to use, but he's making one or more of the following
mistakes:
1. Thinking his idea is new and that most of us haven't had
roughly the same idea already, when in fact we've all thought
similar things or read about them, sometimes decades ago.
2. Thinking it's an idea that can be turned into an implementation
with relatively little work, when in fact it is something that
requires not only an enormous amount of work but even advances
in computing in areas which have proven slow to advance (e.g. AI).
3. Thinking most of us have even the slightest idea what he's
trying to say when he talks, when in fact his words are so
abstract, obscure, meandering, or just plain semantically and
grammatically unrecognizable that most of his time writing
is wasted.
...and probably a few others I haven't thought of yet.
Anyway, it's not that I don't think he has a valid point somewhere,
but that I think his idea is so many levels above what is actually
feasible (here combining the ideas of "possible" with "affordable")
that there's little point discussing it. I'm also trying to drill
it through his head that he needs to communicate better if he wants
much serious discussion, but perhaps he listens as poorly as he
expounds.
I guess that accounts for (i)...
>
>Phil is to stupid to know all this. Right Phil?
...and this accounts for (ii).
Looks like I got it right.
> Applescript does seem to be somewhat closed system oriented. That is
> Limited within the language included in it and other applications
> vocabulary. But then that is to be expected of a scripting language, even
> with it's flexable natural language like use.
Actually I simplified the situation slightly. AppleScript is in fact one
language that conforms to the Open Scripting Architecture (OSA) designed by
Apple. This is a set of APIs that embody the mechanisms for communicating
with applications (the "side door"). Any language can be plugged into this,
and a number of alternative OSA scripting languages exist.
I personally think AppleScript is the closest to something that allows
people to express what they want to do in terms they are most familiar with.
I'd love to see something even more natural, but natural language
communication with computers has stalled somewhat since the early enthusiasm
for AI.
> The VIC is different in that it is not a scripting language but rather
> more like a physical mechanical device with gears to shift, cycles to
> complete and patterns to match in determing what output it will produce
> given the input it receives.
I can understand what you mean about the 9 basic commands. The concepts you
describe seem very similar (to me at least) to the idea of the Turing
machine - a simple set of commands that can be mathematically proven to be
able to express all computable problems.
But the devil is in the details. To be useful, the basic commands must be
able to operate on a very high level. The Turing machine commands operate at
a very low level (move tape left, write one character, etc.).
AppleScript (to continue my example) has a few basic commands (OK, it also
has a lot that aren't basic, but run with me...). For instance (not tested,
don't bother ratting on me if I get them wrong):
* Selecting an application:
tell application "Finder" to ...
* Getting a thing from an application:
... get the startup disk
* Identifying a thing in terms of a container:
... get the folder "Documents" of the startup disk
* Sending a command:
... move the folder "Documents" of the startup disk to the trash
These are simple concepts that most people can quickly grasp, but the devil
is in the details. The hard thing is mapping the things that the application
works with into terms that the user can understand. Things such as "folder",
"trash", etc.
Apple manage this by asking programmers to write a dictionary for their
application and to document it. The dictionary and the documentation are
built into the application itself, and any user can point the Script Editor
(an application that comes with every Mac) at an application and ask for
this documentation. The Script Editor application uses the application
supplied dictionary to check that the commands entered by the user are
legal.
> I don't expect anyone to understand anymore. I've pretty much come to the
> conclusion that I'm not going to get any help with this, no matter what I
> do.
Don't give up yet. Sometimes describing the problem to someone else makes it
more clear in your own head, even if the listener has no idea what you're
talking about. If you work too much on your own then you risk not being able
to see the wood for the trees.
> Think about it. IS the idea of applescript or the side door port to
> applications and other functionality that new?
No. Not particularly. The new thing, from a Mac point of view anyway, was
building enough programmer "critical mass" in terms of support for Apple's
view of the side door to be able to make it useful to users.
> the fact is Programmers have had this sort of interface for a long time in
> vaious form such as APIs. There can only be one reason why this side door
> concept hasn't been made more generally available to the typical end user.
>
> If you don't let the user do it then you can do it and sell it to the
> user.
>
> It really is that simple!
I'm not sure it is. I'm always more willing to attribute an unwillingness to
open up the APIs of an application to laziness than maliciousness or greed.
Most Macintosh application developers find they are able to sell more copies
of a scriptable application than one that isn't. It was Apple demonstrating
this that turned the tide.
In another article in this thread, Phil Hunt wrote:
> In that case, please explain why many of the most talented programmers
> are developing open source software, which they are giving away to
> anyone who wants it, and that many open source projects are explicitly
> aimed at making things easier for end-users?
I think that's a bogus argument. I've not seen any Open Source software that
makes any particular effort to open up the internal functionality to
non-programmers. Having access to the source doesn't make it more "open" in
this respect, since the learning curve to be able to use the source is too
high.
The problem with the primary user interface to a program is that it is based
on what the programmer thought would be useful to the user - the menus,
buttons, windows, etc. that they have defined. It is limited by their
imagination instead of the user's imagination.
I wrote a bunch of small AppleScripts in the past that would send commands
to a larger script running on a computer across the room that would
interrogate the Finder to get a list of mp3 files on the harddrive, choose
one at random, then ask the QuickTime player to open and play it. I drew
icons for the small scripts and put them into a toolbar utility that would
execute them when clicked. By sending commands to the toolbar utility I was
able to get it to display different icons indicating the
stopped/playing/paused status.
None of the applications I scripted to do this were designed to be a
jukebox. In fact none of them on their own could have done it. But since all
of the programmers had provided me with the hooks necessary to use their
functionality directly, I was able to make one.
I honestly do agree with you Timothy, but the problem is that unless you can
persuade programmers to make these "side doors", to convince them of the
freedom they provide to the user, then your machine is going to grind away
with nothing to talk to.
Unfortunately, programmers are a prickly bunch and you won't get far by
accusing them of being elitist or ignorant (even if they might be).
Jonathan
> AppleScript (to continue my example) has a few basic commands (OK,
> it also has a lot that aren't basic, but run with me...). For
> instance (not tested, don't bother ratting on me if I get them
> wrong):
> * Selecting an application:
> tell application "Finder" to ...
> * Getting a thing from an application:
> ... get the startup disk
> * Identifying a thing in terms of a container:
> ... get the folder "Documents" of the startup disk
> * Sending a command:
> ... move the folder "Documents" of the startup disk to the trash
> These are simple concepts that most people can quickly grasp, but
> the devil is in the details. The hard thing is mapping the things
> that the application works with into terms that the user can
> understand. Things such as "folder", "trash", etc.
Whoa! Shades of COBOL...
> Apple manage this by asking programmers to write a dictionary for
> their application and to document it. The dictionary and the
> documentation are built into the application itself, and any user
> can point the Script Editor (an application that comes with every
> Mac) at an application and ask for this documentation. The Script
> Editor application uses the application supplied dictionary to check
> that the commands entered by the user are legal.
Whoa! Shades of Emacs...
--
David Masterson dmaster AT synopsys DOT com
Sr. R&D Engineer Synopsys, Inc.
Software Engineering Sunnyvale, CA
You forgot:
"Not realizing that many of the denizens of these newsgroups
are computer scientists engaged in active research efforts of
various kinds, including research into the field of computer
science per se, and that coming to this table with an attitude
of superiority and without at least somewhat having investigated
the prior art is more than a little bit of a mistake."
Try working in a real scientific discipline for a while and
making the mistake of reporting a possible discovery early only
to later disappoint all involved. _That_ won't be a mistake that
one makes twice, believe me.
Which brings the snake back around quite properly to its tail.
That's what I was trying to say in my prior message. In the
field of "new, innovative, and world-changing-class discoveries
and devices" a lot of prudence and a lot of "show me!" are
required.
C//
No, you didn't get anything right except for understanding the inherent
error of the initial question of expecting a simple answer. Where upon
knowing this, you took what you knew would be the correct response to the
question and tried to distort it to make it appear wrong by attaching a
negative connotation to a yet to be correctly answered question.
My, having addressed both the original question, your effort to distort a
correct answer and then presenting you with the correct task to do in
order to verify the correct answer, you responsed by taking out of context
the answer I gave, ignoring what doesn't fit you intended response to make
yourself out to be right.
All you have done is prove that it is your intent to be deceptive, and
arrogant. And that really does make you ignorant. Who all are you fooling?
>No fretting going on here. I'm just having fun. :-)
>I think Timothy has an idea that would make computers
>much easier to use, but he's making one or more of the following
>mistakes:
>1. Thinking his idea is new and that most of us haven't had
> roughly the same idea already, when in fact we've all thought
> similar things or read about them, sometimes decades ago.
show me verification of this claim you are making?
>2. Thinking it's an idea that can be turned into an implementation
> with relatively little work, when in fact it is something that
> requires not only an enormous amount of work but even advances
> in computing in areas which have proven slow to advance (e.g. AI).
a shell with nine commands?????
>3. Thinking most of us have even the slightest idea what he's
> trying to say when he talks, when in fact his words are so
> abstract, obscure, meandering, or just plain semantically and
> grammatically unrecognizable that most of his time writing
> is wasted.
Maybe you should try the general and detailed description of the commands
along with the code for IQ and it's test files.
It is common knowledge that reading about how computers work is not enough
to really inderstand. You gotta do, in order to cause a feedback loop
required in really learning.
>...and probably a few others I haven't thought of yet.
>Anyway, it's not that I don't think he has a valid point somewhere,
>but that I think his idea is so many levels above what is actually
>feasible (here combining the ideas of "possible" with "affordable")
>that there's little point discussing it. I'm also trying to drill
>it through his head that he needs to communicate better if he wants
>much serious discussion, but perhaps he listens as poorly as he
>expounds.
A shell having nine commands......<rolleyes>
There has been a great deal of relative and useful information I have
given in these autocoding threads. So much so that I intend on extracting
it to a new web page. Seeings how this is the only help I'm going to get
here.... inspiration to focus another Q&A paper.
>You forgot:
>"Not realizing that many of the denizens of these newsgroups
>are computer scientists engaged in active research efforts of
>various kinds, including research into the field of computer
>science per se, and that coming to this table with an attitude
>of superiority and without at least somewhat having investigated
>the prior art is more than a little bit of a mistake."
Show the prior art you are refering to. If you can, aren't just
putting words together.
>Try working in a real scientific discipline for a while and
>making the mistake of reporting a possible discovery early only
>to later disappoint all involved. _That_ won't be a mistake that
>one makes twice, believe me.
There are plenty of irrational, illogical and just plain bad inted
comments that have been made by others here, towards me.
>Which brings the snake back around quite properly to its tail.
>That's what I was trying to say in my prior message. In the
>field of "new, innovative, and world-changing-class discoveries
>and devices" a lot of prudence and a lot of "show me!" are
>required.
And you can always claim something doesn't exist by simply not looking at
it. But proof is not found in denial.
>C//
>> * Selecting an application:
>> * Sending a command:
>Whoa! Shades of COBOL...
>Whoa! Shades of Emacs...
There have been over 3000 programming language created in a period of
around 50 years. That's alot more than human recorded language in all of
mans history.
Certainly by now we have enough to look at and determine what the general
programming concepts are, as well as knowing such general concepts are by
far much less in number than languages they are expressed in.
As such, "Whoa@ Shades of...." can be filling in with most any programming
language.
But no matter what, you still have to:
start/stop things
keep track of where you are in doing things
Get input
determine where you are getting input from
determine wherre you are sending output to
do things one step at a time
look up the meaning of things
look up the identy of things
Reduce you look up via constraints
WHOA! SHADES OF EVERYTHING!!!!!!
[snipped - see thread for an interesting post]
>I honestly do agree with you Timothy, but the problem is that unless you can
>persuade programmers to make these "side doors", to convince them of the
>freedom they provide to the user, then your machine is going to grind away
>with nothing to talk to.
autocoding can still be done. Being that code itself is text based. But
yes, without the three UIs, the user is unfairly constrained.
>Unfortunately, programmers are a prickly bunch and you won't get far by
>accusing them of being elitist or ignorant (even if they might be).
>Jonathan
You are aware that Steve Job gold mines the usenet newsgroups?
Can you give a history of applescript, dates? so as to compair it to
information found in usenet archives.
> There have been over 3000 programming language created in a period of
> around 50 years. That's alot more than human recorded language in all of
> mans history.
There are many more human languages than this:
http://www.zompist.com/numbers.shtml
lists the words for number in 4500 languages and is still quite
incomplete, for example, covering only a minority of New Guinea's more than
800 languages.
Neil
> On 26-Jan-02 19:38:38 David Masterson <dma...@synopsys.com> wrote:
>> Whoa! Shades of Emacs...
> There have been over 3000 programming language created in a period
> of around 50 years. That's alot more than human recorded language in
> all of mans history.
> Certainly by now we have enough to look at and determine what the
> general programming concepts are, as well as knowing such general
> concepts are by far much less in number than languages they are
> expressed in.
> As such, "Whoa@ Shades of...." can be filling in with most any
> programming language.
> But no matter what, you still have to:
> start/stop things
> keep track of where you are in doing things
> Get input
> determine where you are getting input from
> determine where you are sending output to
> do things one step at a time
> look up the meaning of things
> look up the identity of things
> Reduce you look up via constraints
> WHOA! SHADES OF EVERYTHING!!!!!!
WHOA! Clarity! He can be clear and concise after all!!! ;-)
I agree with what you said. However, there is one issue that you
overlooked. People *LIKE* the language that they use or they wouldn't
use it. Even though there is only a limited set of things that people
say or do in a language, each language has a certain "style" that the
people that use it find agreeable. This applies to both human and
computer languages. So, yes, all languages going back to time
immemorial probably have ways of expressing most (all?) of the
concepts that you mention above, but languages only die when people
find a replacement that they like (or are forced to like) better.
Hard to do until you tell us what this you are talking about actually
is.
> >2. Thinking it's an idea that can be turned into an implementation
> > with relatively little work, when in fact it is something that
> > requires not only an enormous amount of work but even advances
> > in computing in areas which have proven slow to advance (e.g. AI).
>
> a shell with nine commands?????
Ah! That's the shortest, clearest description of it I've seen here,
although unfortunately it's _so_ summarized I'm not sure it
has much useful information (but it has a little).
Let's see... two parts... a "shell" (undefined in this context, but
let's assume you mean the same as shell generally means to a
programmer these days), and "nine commands"....
I've thought of "shells" before... used some, wrote some. So it
must be the "nine commands" part that is so important. You're
quite right, I haven't thought of doing a shell with only nine
commands before. Must be the precise combination of nine which
is so important...
The problem is, the descriptions of those commands on your web
site are, among other things, incredibly vague, and even
inconsistent. In fact, just the first one "Activate Interaction"
is described as "Alternate Interface" on the page which purports
to explain it. Why should anyone be thinking of helping you,
if you can't even spend the time to get a *one line* description
of one of the basic commands of your shell correct?!
> >3. Thinking most of us have even the slightest idea what he's
> > trying to say when he talks, when in fact his words are so
> > abstract, obscure, meandering, or just plain semantically and
> > grammatically unrecognizable that most of his time writing
> > is wasted.
>
> Maybe you should try the general and detailed description of the commands
> along with the code for IQ and it's test files.
No thanks. I've just come to the conclusion that either my brain
is simply not able to soar at the heights yours works at, or you
are a con-man or amateur psychologist or something, pretending to
have discovered a basic principle on par with the meaning of life
and attempting, oh so hard, to share it with us lowly mortals, all
so you can enjoy the attention or observe the reactions or something.
I found this all entertaining for a while, but I'm tired now.
> It is common knowledge that reading about how computers work is not enough
> to really inderstand. You gotta do, in order to cause a feedback loop
> required in really learning.
If you're implying I cannot understand what your thingie is supposed
to do until I actually try using it (and it hasn't actually been
developed yet, right? Wasn't that the whole point?), then you can
forget that idea. I've got better things to do, when you could
simply explain it in one paragraph and save us all from wasting
our time on something that we don't even know what it is...
> There has been a great deal of relative and useful information I have
> given in these autocoding threads. So much so that I intend on extracting
> it to a new web page. Seeings how this is the only help I'm going to get
> here.... inspiration to focus another Q&A paper.
Wonderful! Write another white paper. Don't actually *do* anything
like, say, build a working example of part of your framework, or
write up an example like Phil's nice example for Herbivore... (have
you even looked at that example yet? Have a go at writing one
for your own thingie... it can't be that hard for someone as smart
as you obviously are.)
-Peter
>> In that case, please explain why many of the most talented
>> programmers are developing open source software, which they are
>> giving away to anyone who wants it, and that many open source
>> projects are explicitly aimed at making things easier for
>> end-users?
> I think that's a bogus argument. I've not seen any Open Source
> software that makes any particular effort to open up the internal
> functionality to non-programmers. Having access to the source
> doesn't make it more "open" in this respect, since the learning
> curve to be able to use the source is too high.
GNOME had that as part of its explicit intent, with, as the intent,
that applications be constructed with conspicuous "CORBA hooks."
For instance, the "Gnome Transfer Manager" has the conspicuous hook:
module GTM {
interface Download {
boolean add_url (in string url, in string dir,
in boolean disable_proxy,
in boolean disable_auto_dl);
};
};
The point of that is that if you have an application that's supposed
to download something, you would do something like:
object GTM = request_reference_from_name_server ("GTM//Version 1.0");
GTM::Download::add_url ( "http://fuzzy-pics.com/something.jpg",
"/tmp", NULL, NULL);
That could get compiled into an application, or scripted using a
scripting language.
A number of GNOME applications expose interfaces of this sort:
- MultiTerminal lets you ask to create a new terminal;
- There's a way of requesting that a file get opened using your
favorite editor;
- You can query the vCard "address book" app for some records;
- There's an interface for the XINE video viewer that lets you
control it using such functions as play(video, position), pause(),
stop(), eject(), get_position(), get_PlayerStatus, and such.
The ability to use that to script the control of applications is
pretty limited, at this point, because there isn't a terribly "rich"
set of controls.
For instance, there are _NO_ such controls for the "desktop"
applications like Gnumeric (spreadsheet), AbiWord (word processing)
and such.
> The problem with the primary user interface to a program is that it
> is based on what the programmer thought would be useful to the user
> - the menus, buttons, windows, etc. that they have defined. It is
> limited by their imagination instead of the user's imagination.
Just so.
And the notion that this is something that an unsophisticated user
could hook in after the fact represents wishful thinking, rather like
the mice that wish they could get a bell onto the mouse.
> I wrote a bunch of small AppleScripts in the past that would send
> commands to a larger script running on a computer across the room
> that would interrogate the Finder to get a list of mp3 files on the
> harddrive, choose one at random, then ask the QuickTime player to
> open and play it. I drew icons for the small scripts and put them
> into a toolbar utility that would execute them when clicked. By
> sending commands to the toolbar utility I was able to get it to
> display different icons indicating the stopped/playing/paused
> status.
> None of the applications I scripted to do this were designed to be a
> jukebox. In fact none of them on their own could have done it. But
> since all of the programmers had provided me with the hooks
> necessary to use their functionality directly, I was able to make
> one.
Using the "XINE" IDL interface, you could do something sort of like
this for XINE, but that obviously only gets one application involved.
That being said, for a _musical_ jukebox, it makes more sense to have
the script talk to a "command line" program such as MPG123.
At the sophisticated end of things, what Gnumeric would need would be
something rather like the following API that (already is published,
and has been available for YEARS) for NeXS:
<http://www.greytrout.com/manuals/conNExions-manual.php3>
> I honestly do agree with you Timothy, but the problem is that unless
> you can persuade programmers to make these "side doors", to convince
> them of the freedom they provide to the user, then your machine is
> going to grind away with nothing to talk to.
Just so.
Note that attempts to fix this are likely to be more successful if
they involve _luring_ programmers towards things they might consider
_attractive_ than if the attempts merely involve hurling abuse at the
programmers.
> Unfortunately, programmers are a prickly bunch and you won't get far
> by accusing them of being elitist or ignorant (even if they might
> be).
Unfortunately, the formula our would-be "21st Century Einstein" is
going by involves the assumption that he knows better than any
programmer. And anyone that objects is merely "proving" his point
that they're both elitist _and_ ignorant.
Reality is that if he can't explain his ideas to programmers, maybe
the ideas need to be taken back to the drawing board.
And Carl Sagan said something profound that is relevant:
"They laughed at Columbus, they laughed at Fulton, they laughed at
the Wright brothers. But they also laughed at Bozo the Clown."
-- Carl Sagan
It is at least faintly conceivable that there may be something of
merit in the 'VIC' thesis. The fact that the author thinks himself to
have a genius idea does _not_ establish that he's like Columbus,
Galileo, and other laughed-at geniuses.
There are a LOT more "flaky idiots" out there that _deserve_ to be
laughed at than there are made-fun-of-geniuses.
--
(concatenate 'string "aa454" "@freenet.carleton.ca")
http://www3.sympatico.ca/cbbrowne/linuxdistributions.html
Rules of the Evil Overlord #55. "The deformed mutants and odd-ball
psychotics will have their place in my Legions of Terror. However
before I send them out on important covert missions that require tact
and subtlety, I will first see if there is anyone else equally
qualified who would attract less attention."
<http://www.eviloverlord.com/>
David Lees
> Neil
There are currently over six billion people on the planet. Each has their
own language, if you really want to get picky about it.
The creator of the site url you gave doesn't see any difference between
what is a language and what is a dialect. To him, both words equate to
"language" as in different. This causes the count to increase.
there seems to be some variable in determining the dividing line between
what is a language and what is a dialect. For example, linguist disagree
over whether Chinese should be considered a single language or several
different languages.
What is the purpose of language? What is it's fundamental requirement that
makes a language not just a noise and/or scribbles?
Hey this site of yours has klingon and even Mushroomese listed too!
And "Black Speech" (numbers one thru 10 consist entirely of one word)
"ash". I didn't find ebonics (maybe I didn't look in the right place).
roughly 200 languages with over a million native speakers
12 languages with over 100 million speakers
Is it easier to create a human language than a programming language?
http://www.zompist.com/kit.html
A rough estimate of how many new computer programming languages are
created a year is 60.
For comparison: The oldest language preserved in writting is Sumerian was
written in cruneiform script and date from about 3000 BC. But numbers
written go back to 3400 BC to the Egyptian who had a symbol for ten and a
symbol for one.
So in this year of about 2000 AD that's 5400 year to have come up with
4500 different documented ways to count from one to ten, including klingon
and mushroomese.
or roughly 0.83 new ways to count from 1 to 10, a year.
At the rate we create programming languages over a period of 5400 years,
we will have 324000 programming languages, or 319500 more programming
languages then the number of human documented languages in the same amount
of time.
What amounts to about 72.3 programming languages to 1 human language.
It is also worth noting that the number of human languages in use is
quickly shrinking.
>It is at least faintly conceivable that there may be something of
>merit in the 'VIC' thesis. The fact that the author thinks himself to
>have a genius idea does _not_ establish that he's like Columbus,
>Galileo, and other laughed-at geniuses.
>There are a LOT more "flaky idiots" out there that _deserve_ to be
>laughed at than there are made-fun-of-geniuses.
The real question is why would you try to distort what I have communicated
as an identification of natural laws of the physical phenomenon of how we
use abstractions, as instead being just an Idea?
You can attack me all you want but that's not going to change what is
reality. In fact even in your attacks you cannot avoid using these nine
actions. And reality doesn't care what merit you give it, for it is
reality that is master over you so long as you are trying to oppose it,
otherwise it can be your friend and allow you to do a great deal more.
regarding the message you were responding to, when you wrote the above,
regardless of what applescript is, what is more important is where it is,
or where it is not.
GNU is of such openness that converting the GNU software base to having
user oriented, user friendly "side door" ports is possible to do in a
relatively short period of time. So much so, that it would be possible to
literally do it over nite, especially should such skelton code be produced
and made abailable to allow the applications and system programmers to
easily add it to their works.
As to your talk about the effects of insults.
Who is really insulting who here?
If you don't like the attitude of the messanger, then perhaps you should
stop telling him he is stupid by your refusal or resistance to allowing
him to do with computers, in accord with reality.
You want to say I may be a genius in order to put me on a pedistal you
will then proceed to kick out from under me.
NO THANKS!!!! The Message stands by the power of reality, not by de feet
of duh messanger.
The minimum optimum number of symbols used to label something is 2.
In order to handle exceptions/conflicts it is important to be able to
change such labels when needed. The choice of which two symbols are used
initially for the commands was a matter of chosing such symbols that can
be associated to words and/or phrases that can be somewhat descriptive
of the command. These two symbol sequences are not Acronyms, but can be
preceived as such. But for example, SF = Sequence stufF isn't in the use
form of an acronym but expresses "sequence" beginning to end.
Another example of redefining these two sequences is that of the character
set used in the movie "The Matrix" where:
AI = Switch --- alternate Interface - change
PK = Apoc --- place keeper - timeline
OI = Tank --- Obtain Input - Output to Input - Battle device used to
obtain property via outputting - Out of reality into the
matrix, and vice versa --- Not born in matrix - external
IP = mouse --- InPut From - that's not all the body needs....
OP = Dozer --- OutPut to - a device to push outward
SF = Neo --- Sequence stufF - oNe step at a time on the path
IQ = Morpheus --- Index Queue - Look up the meaning of... a dream (bible
reference). Without Morpheus we are lost, without
meaning.
ID = Trinity --- IDentify - Trinity's task was to identify her love Neo.
KE = Cypher --- Knowledge Enable (inherently inclusive of disable ability)
- To put constraints on Morpheus and Trinity.
VIC = Nebachadnezar --- Tool used by ........ end user (we all use the
nine commander in all we do.)
The three Agents = input, processing and output. Smith was processing,
till Neo took over.
Anyways, back to what you were saying about vague descriptions of the VIC
commands.....
This link is an example that contridicts your claim.....
http://www.mindspring.com/~timrue/AI.html
>> >3. Thinking most of us have even the slightest idea what he's
>> > trying to say when he talks, when in fact his words are so
>> > abstract, obscure, meandering, or just plain semantically and
>> > grammatically unrecognizable that most of his time writing
>> > is wasted.
>>
>> Maybe you should try the general and detailed description of the commands
>> along with the code for IQ and it's test files.
>No thanks.
Exactly!!!! you do not want to see that link. How many more blew pills do
you have?
>....I've just come to the conclusion that either my brain
>is simply not able to soar at the heights yours works at, or you
>are a con-man or amateur psychologist or something, pretending to
>have discovered a basic principle on par with the meaning of life
>and attempting, oh so hard, to share it with us lowly mortals, all
>so you can enjoy the attention or observe the reactions or something.
>I found this all entertaining for a while, but I'm tired now.
Maybe you should lay off the blew pills then? You do know anyone can
become an agent, even without knowing it? (fooled by rethoric of industry
double speak.)
>> It is common knowledge that reading about how computers work is not enough
>> to really inderstand. You gotta do, in order to cause a feedback loop
>> required in really learning.
>If you're implying I cannot understand what your thingie is supposed
>to do until I actually try using it (and it hasn't actually been
>developed yet, right? Wasn't that the whole point?), then you can
>forget that idea. I've got better things to do, when you could
>simply explain it in one paragraph and save us all from wasting
>our time on something that we don't even know what it is...
Very interesting! Makes me think of all those statementa saying people
don't understand yet somehow these same people manage to give advice on
why this or that comment is relative.....
>> There has been a great deal of relative and useful information I have
>> given in these autocoding threads. So much so that I intend on extracting
>> it to a new web page. Seeings how this is the only help I'm going to get
>> here.... inspiration to focus another Q&A paper.
>Wonderful! Write another white paper. Don't actually *do* anything
>like, say, build a working example of part of your framework, or
>write up an example like Phil's nice example for Herbivore... (have
>you even looked at that example yet? Have a go at writing one
>for your own thingie... it can't be that hard for someone as smart
>as you obviously are.)
IQ - Morpheus is working in a stand alone version. Heart of the City, be
lost without....... kill or deny IQ, right?
>>> Whoa! Shades of Emacs...
>> start/stop things
>> Get input
>> WHOA! SHADES OF EVERYTHING!!!!!!
You are responding to my message/post.....I am in the room.
>I agree with what you said. However, there is one issue that you
>overlooked. People *LIKE* the language that they use or they wouldn't
>use it.
>............................... (or are forced to like) better.
>--
>David Masterson dmaster AT synopsys DOT com
>Sr. R&D Engineer Synopsys, Inc.
>Software Engineering Sunnyvale, CA
Perhaps you should clairify the meaning that you have attached to the word
"like" or is that one of the words not yet quite in the computer industry
double speak dictionary?
work-it-out-for-yourself-ly y'rs - steve
--
Consulting, training, speaking: http://www.holdenweb.com/
Python Web Programming: http://pydish.holdenweb.com/pwp/
False.
> In order to handle exceptions/conflicts it is important to be able to
> change such labels when needed.
False.
There really just is no end to your imagination, is there? I like how
you invent your own logic in order to prove the bizarre things your
subconscious produces.
> Another example of redefining these two sequences is that of the character
> set used in the movie "The Matrix" where:
[snip irrational drivel]
> Anyways, back to what you were saying about vague descriptions of the VIC
> commands.....
>
> This link is an example that contridicts your claim.....
> http://www.mindspring.com/~timrue/AI.html
>
> >> >3. Thinking most of us have even the slightest idea what he's
> >> > trying to say when he talks, when in fact his words are so
> >> > abstract, obscure, meandering, or just plain semantically and
> >> > grammatically unrecognizable that most of his time writing
> >> > is wasted.
> >>
> >> Maybe you should try the general and detailed description of the commands
> >> along with the code for IQ and it's test files.
>
> >No thanks.
>
> Exactly!!!! you do not want to see that link. How many more blew pills do
> you have?
Six at last count. I'm saving them until people like you are safely
back in the Matrix where you belong. And it's "blue", not "blew".
Would it be too much to ask you to go back to predicting the second coming
of the Amiga, posting in comp.sys.amiga.misc about your half-baked ideas
partially coded in very poor REXX? You're cluttering up the generally
literate and rational atmosphere in comp.lang.python, and while Python is
somewhat more effective than REXX for most purposes, the difference is
not enough to bring VIC to fruition in this lifetime.
-Peter
[rhubarb, rhubarb, rhubarb]
> >The problem is, the descriptions of those commands on your web
> >site are, among other things, incredibly vague, and even
> >inconsistent. In fact, just the first one "Activate Interaction"
> >is described as "Alternate Interface" on the page which purports
> >to explain it. Why should anyone be thinking of helping you,
> >if you can't even spend the time to get a *one line* description
> >of one of the basic commands of your shell correct?!
>
> The minimum optimum number of symbols used to label something is 2.
Well, just before I finally kill myself by beating my head against the wall,
perhaps you could explain the difference between the minimum optimum number
and the maximum optimum number, and explain how there can be more than one
optimum (which you almost certainly know is Latin for "best").
> In order to handle exceptions/conflicts it is important to be able to
> change such labels when needed. The choice of which two symbols are used
> initially for the commands was a matter of chosing such symbols that can
> be associated to words and/or phrases that can be somewhat descriptive
> of the command. These two symbol sequences are not Acronyms, but can be
> preceived as such. But for example, SF = Sequence stufF isn't in the use
> form of an acronym but expresses "sequence" beginning to end.
>
Mumbo jumbo. After all this waffling, I don't imagine anyone reading your
babble has the least clue what "the VIC" is supposed to actually do. And,
unfortunately, running the code sample you provided offers no help either.
> Another example of redefining these two sequences is that of the character
> set used in the movie "The Matrix" where:
>
[movie-related psycho-bable snipped]
>
> Anyways, back to what you were saying about vague descriptions of the VIC
> commands.....
>
> This link is an example that contridicts your claim.....
> http://www.mindspring.com/~timrue/AI.html
>
No, it doesn't.
[sensible criticism & ad hominem attacks snipped]
>
> >> There has been a great deal of relative and useful information I have
> >> given in these autocoding threads. So much so that I intend on
extracting
> >> it to a new web page. Seeings how this is the only help I'm going to
get
> >> here.... inspiration to focus another Q&A paper.
>
Than k heavens the web is a pull system and not a push. It's ironic that you
make these reamrks just before Peter says ...
> >Wonderful! Write another white paper. Don't actually *do* anything
> >like, say, build a working example of part of your framework, or
> >write up an example like Phil's nice example for Herbivore... (have
> >you even looked at that example yet? Have a go at writing one
> >for your own thingie... it can't be that hard for someone as smart
> >as you obviously are.)
>
> IQ - Morpheus is working in a stand alone version. Heart of the City, be
> lost without....... kill or deny IQ, right?
>
>
It'll die with you, without anyone having understodd what you were babbling
on about in the first place.
regards
Steve
> A shell having nine commands......<rolleyes>
Oh, you're Richard Kulisz.
--
Stefaan (GPG Fingerprint 25D8 551B 4C0F BF73 3283 21F1 5978 D158 7539 76E4)
--
"Object-oriented programming is an exceptionally bad idea which
could only have originated in California." --Edsger Dijkstra
> there seems to be some variable in determining the dividing line between
> what is a language and what is a dialect. For example, linguist disagree
> over whether Chinese should be considered a single language or several
> different languages.
A language is a language when it is considered by a
large majority of its users to be a separate language.
Example: "Vlaams" is not a language, but "LÄ—tzebuergescht" is.
> What is the purpose of language?
Communication.
> What is it's fundamental requirement that
> makes a language not just a noise and/or scribbles?
Shared conventions that convey specific meaning.
> You are aware that Steve Job gold mines the usenet newsgroups?
>
> Can you give a history of applescript, dates? so as to compair it to
> information found in usenet archives.
Heh. I think you've been beaten to this. The tale of Dave Winer, Frontier,
and AppleScript is a piece of Macintosh legend.
<http://dave.editthispage.com/historyOfFrontier>
Jonathan
Thanks! I'm glad you like it. What uses are you putting it to?
> a preliminary version of MetaPy,
> http://pobox.com/~kragen/sw/MetaPy-7.tar.gz (also available as .zip,
> .src.rpm, .noarch.rpm, and .win32.exe)
It has a long way to go --- and it'll probably be renamed to something
less arrogant. The .rpm's kinda suck, too, I think. :)
> plus a vastly more interesting bit of pythonic philosophical speculation:
> http://lists.canonical.org/pipermail/kragen-tol/2002-January/000659.html
To be fair, while it's more clearly written and grounded in reality
than Timothy Rue's "VIC" speculations, it's also a lot less ambitious.
:) If Rue can get a little more grounded in reality, to the point that
he can recognize the difference between writing a paragraph of
nonsense and writing a paragraph of sense, he might well do things I
can only dream of! But he'll have to learn to program first.
> Kragen thus is this week's winner in my 'Reasons that I love Open Source'
> competition.
That's really nice --- but I don't really think either of these
packages is on the same level as pretty much anything on
www.sweetcode.org. There are lots of little bits of stuff on
kragen-hacks though ---
http://lists.canonical.org/pipermail/kragen-hacks/2002-January/ ---
and eventually I'll write something *really* cool and post it there.
:) So far this month, I've posted two C hacks, eleven Python hacks,
one Python/C hack (the abovementioned arrayfrombuffer), and one Perl
hack.
Right then. Let's make a test file with some words in it.
paul@verence:/hda3/home/paul/downloads$ cat test
foo
bar
baz
wombat
spqr
Looking at the help your program prints out, it might search the file
for a word. So let's try that:
paul@verence:/hda3/home/paul/downloads$ python IQ.34.py test foo
NOTICE: file> test <does not contain first line filekey. Default filekey> filekey word: sub: file: <used!
=======
foo
bar
baz
wombat
spqr
Ok, so it prints the file containing the word. Let's try a word that's
not in the file:
paul@verence:/hda3/home/paul/downloads$ python IQ.34.py test notinthere
NOTICE: file> test <does not contain first line filekey. Default filekey> filekey word: sub: file: <used!
=======
foo
bar
baz
wombat
spqr
I give it a file and a search pattern and it prints out the entire
file. I give it a search pattern which is not in the file and it still
prints out the entire file.
Using this example, I conclude that grep is better than VIC. Did I
miss something?
--
Paul Wright | http://pobox.com/~pw201 |
I present it as evidence that you're a bit crazy.
> >http://www.mindspring.com/~timrue/python/KNMVIC.iq does list some
> >details. There's some kinda ugly code there that implements "IQ", but
> >I can't really tell what it does by skimming it.
>
> Could you be more specific to what this "ugly code" is?
Sorry to be ambiguous; I meant IQ.351.py.
> As KNMVIC.iq is a document that simple contains near hidden markers
> for what is a word, a sub-definition and a file. Which are : :: :::
> as mentioned in the documentation itself.
Yeah, I could actually figure out that much; I just couldn't figure
out what words, sub-definitions and files were.
> >Could you post an example consisting of some input, some output, how
> >you get the output with IQ, and why that output is useful?
>
> If you have python installed on your system and in your path assignment:
>
> get and put IQ verion 0.351 in a directory along with KNMVIC.iq
>
> cd to that directory and from a shell
>
> ->python
>
> This will give you help of command line options
>
> ->python -k KNMVIC.iq * *
>
> this will list all keys in the file KNMVIC.iq and it may even look like
> a table of content.
python IQ.351.py -k KNMVIC.iq '*' '*' actually does that for me.
Playing with it a bit and reading your web pages suggests the
following bits:
- its output is in the same format as its input file and consists of portions
of its input file (with transclusions, see below)
- the input is structured as a two-level outline (?)
- -k lists only the headings instead of also listing the contents
- the first argument after the name of the file is a pattern for the top-level
headings ("words") to pick out; '*' means everything, but otherwise
it looks like it might be a regex that's matched against the beginning of
the heading
- the second argument after the name of the file is a pattern for the
second-level headings ('sub-definitions') to pick out; '' or '*' means
everything, omitting the argument entirely means nothing
- :: on a line by itself effectively ends sub-definitions and brings you back
up to the "word" level
- ::: is a link to another file that is transcluded (which can be named by URL)
although unfortunately the file that is transcluded in KNMVIC.iq is in HTML
and is therefore in the wrong format
So this is sort of marginally useful, but it's a long way between this
reality and the level of hype you're generating. What am I missing?
> Regarding the Arexx ports and using them to automate programs, and how GNU
> doesn't really have an established single standard for adding such a port
> to programs, libraries, devices, etc., it is possible to figure this out
> so that it is simple to add such a port to existing program, etc.. In
> seeing the advantage of such, I realize GNU could in essense, change over
> nite in having ports installed in the majority of programs, etc..
Well, the Unixy programs have a shell interface; they're software
tools rather than programs you spend time in. (Software tools became
so popular that eventually a wide variety of software got called
"tools", but originally the term meant a piece of software you'd use
in the same way you'd use a screwdriver, not the way you'd use a car
or an RDBMS.)
> Kragen, where do you fall in the spectrum mentioned in the beginning of
> this post?
I think you're too nuts to be able to tell which of your ideas are
good ones, and that you're overestimating the value of the ones you
have (and the clarity of your prose) as a result. If you take the
time to learn to program, you will be able to tell which ones are good
and which ones aren't. I also suggest that you develop relationships
with other people, in person, where you are helpful to them, because
this requires listening to them, which helps ground you. And if
you're on any drugs that might be making your condition worse ---
amphetamines or caffeine, for example --- that you abstain. (In my
case, excessive Ritalin caused the same condition, although
fortunately I didn't have Usenet access at the time --- I was nine.)
To answer your question, though, I'm spending a lot of my own time
working on this project and that, but also making a living. I'd
rather spend my time on things that are likely to produce results, and
I think other people would too.
To paraphrase an old friend, I used to know Timothy Rue, but he
had a different name... (meaning, I've met your like before.)
OK. I look forward to seeing your results tomorrow morning.
--
===== Philip Hunt ===== ph...@comuno.freeserve.co.uk =====
One OS to rule them all, one OS to find them,
One OS to bring them all and in the darkness bind them,
In the Land of Redmond, where the Shadows lie.
Of course, this is partly a matter of definition. If you define who writes
an Applescript or a macro as a "programmer" (they are certainly writing
a program), then by definition there can be no programming systems for
non-programmers. But there *are* open source projects that aim to
make programming easier for casual programmers. Examples:
(1) In another post on this thread, someone points out that GNOME as
a system of application directories similar to the Applescript system.
(2) The python language is explicitly designed to be easy to program in.
It's creator, Guido van Rossum takes a big interest in making programming
easy -- consider thar Python was based on his earlier ABC language, which
was designed for ease-of-use by non-professionals. Then there's his
"Computer Programming For Everybody" project.
>The problem with the primary user interface to a program is that it is based
>on what the programmer thought would be useful to the user - the menus,
>buttons, windows, etc. that they have defined. It is limited by their
>imagination instead of the user's imagination.
Absolutely. That's why applications should be invocable programmatically
as well as using a GUI.
>I wrote a bunch of small AppleScripts in the past that would send commands
>to a larger script running on a computer across the room that would
>interrogate the Finder to get a list of mp3 files on the harddrive, choose
>one at random, then ask the QuickTime player to open and play it. I drew
>icons for the small scripts and put them into a toolbar utility that would
>execute them when clicked. By sending commands to the toolbar utility I was
>able to get it to display different icons indicating the
>stopped/playing/paused status.
>
>None of the applications I scripted to do this were designed to be a
>jukebox. In fact none of them on their own could have done it. But since all
>of the programmers had provided me with the hooks necessary to use their
>functionality directly, I was able to make one.
It's good that you were able to do that. Evidently Applescript is a
useful system for that sort of problem.
>I honestly do agree with you Timothy, but the problem is that unless you can
>persuade programmers to make these "side doors", to convince them of the
>freedom they provide to the user, then your machine is going to grind away
>with nothing to talk to.
Until someoner builds a system for doing useful stuff with the "side
doors", no-one will build any in. To some extent this is chicken-and-egg.
I see two solutions (i) built a progresamming system that interpretes
"side doors"b and also allows useful stuff to be done interacting with
systems that don't have them, (ii) build some apps that do have "side
doors" -- or modify existing apps to have them.
(if the proponent of a "side door" system isn't prepared to do this
himself, at least far enough to get a technology demonstrator working,
why should they expect anyone else to do it for them?)
>Unfortunately, programmers are a prickly bunch and you won't get far by
>accusing them of being elitist or ignorant (even if they might be).
Tim's problem is that he is very good at (probably inadvertently) rubbing
people up the wrong way. He also is a poor communicator -- it is often hard
to get at what he is driving at. He also has a strange attitude towards
others -- he wants them to do things for him, and at the same time
castigates them for being elitist and/or stupid.
No! No! No!
*You* find and show the prior art. It is *your* project, not
Courageous's.
It is both arrogant and stupid to expect others to do your work for
you.
> Of course, this is partly a matter of definition. If you define who writes
> an Applescript or a macro as a "programmer" (they are certainly writing
> a program), then by definition there can be no programming systems for
> non-programmers.
Definitions are tricky things, that's why I explicitly gave one in my first
post on this thread:
[Side note: I don't mean to be derogatory with the term "non-programmers". I
just mean people that are more comfortable communicating with natural
language than the highly artificial and low-level computer languages that
programmers typically use.]
When I've taught programming to students, I usually try to make the point
that we are all programmers in the sense of being able to explain to someone
else how to do something. The main difference is simply in the language we
use. [Is this another argument for Tim's nine commands? ;-)]
> But there *are* open source projects that aim to
> make programming easier for casual programmers. Examples:
>
> (1) In another post on this thread, someone points out that GNOME as
> a system of application directories similar to the Applescript system.
I suppose I was overly harsh with my criticism of Open Source software on
this front. But I would still say that these interfaces are thin on the
ground, and where they exist they are designed for programmers (using my
definition above).
> (2) The python language is explicitly designed to be easy to program in.
> It's creator, Guido van Rossum takes a big interest in making programming
> easy -- consider thar Python was based on his earlier ABC language, which
> was designed for ease-of-use by non-professionals. Then there's his
> "Computer Programming For Everybody" project.
Don't get me wrong here, I love Python, but it's still designed for computer
programmers. It takes a certain mental leap to understand the concepts
involved. These concepts are so ingrained into our psyche now that we don't
question how they map to a non-programmers view. Take:
def count( file ):
i = 0
for line in file:
i = i + 1
return i
count( open('foo.txt') )
The earlier example on counting lines in a file, expressed as simply as I
can think to do it in Python (using the new 2.2 iterators magic). There are
a number basic concepts here we take for granted: functions, arguments,
variables, loops, function return, function calling, nesting...
Surely what would make more sense to a non-programmer is something like
(using pseudo-AppleScript):
get the count of the lines of file 'foo.txt'
I don't want to come across as some mad AppleScript zealot. My point is not
that AppleScript is fantastic, but that it's the closest I've seen to
something that a non-computer-geek friend might be able to read and make
some sense of. It still falls down on a lot of things - some computing
concepts don't map very well to natural terms.
[Side note: this is why I think PythonCard has gone off half-cocked. The
great thing about HyperCard was HyperTalk - the language that clearly
influenced the design of AppleScript. HyperCard was an incredibly powerful
tool for non-programmers, many HyperCard authors had never read a
programming book in their life; PythonCard looks set to be a useful tool for
teaching people to program.]
> It's good that you were able to do that. Evidently Applescript is a
> useful system for that sort of problem.
I can't decide a) if that's damning with faint praise, and b) if so, is it
damning me or AppleScript ;-)
I just picked a real-world example that I thought would make sense to people
(note to Tim). AppleScript can, and does, do a lot more than this. Most of
the applications I use on my Mac are scriptable - including the emailer I'm
using to type this.
> Until someoner builds a system for doing useful stuff with the "side
> doors", no-one will build any in. To some extent this is chicken-and-egg.
> I see two solutions (i) built a progresamming system that interpretes
> "side doors"b and also allows useful stuff to be done interacting with
> systems that don't have them, (ii) build some apps that do have "side
> doors" -- or modify existing apps to have them.
Perhaps the answer is to look at the GNOME stuff and consider how the CORBA
interfaces might be made available at a user level. I'd love to see someone
come up with something really natural.
> Tim's problem is that he is very good at (probably inadvertently) rubbing
> people up the wrong way. He also is a poor communicator -- it is often hard
> to get at what he is driving at. He also has a strange attitude towards
> others -- he wants them to do things for him, and at the same time
> castigates them for being elitist and/or stupid.
Yes, I don't mean to feed the kooks, but I am genuinely interested in the
kernel of truth in his rantings. The problem with programming languages is
that, no matter how simple and easy to learn, they require the user to learn
to program. You have to adapt to the computer, instead of the computer
adapting to you.
We've managed to make writing letters, sending emails, and surfing the web
easy enough for Grandma to use, but programming a computer is fundamentally
no easier than it was when we toggled switches or punched cards.
Jonathan
Although I was doubtful at first, I now think that PythonCard is going
to be (quite soon) an incredibly useful tool. Unfortunately, it is badly
misnamed, becaise, as Johnathon points out, it is really aimed at
programmers (possibly non-professional programmers), not non-programmers
as HyperCard was (is?). Of course, all attempts to rigorously define
programmers and non-programmer are bound to fail because it is a
continuum in multiple dimensions.
PythonCard seems to be the Pythonic equivalent of Microsoft Visual Basic
(by which I mean the entire Visual Basic development environment in
which the programmer layouts out widgets on forms, sets properties
[attributes] for these widgets, and writes snippets of code which are
called when various events associated with each of the widgets occur -
not just the [not particularly good] VB programming language).
PythonCard even uses resource files just like Visual Basic does (.frm
files). Also much in common with Delphi/Kylix, or PowerBuilder etc.
Eventually I suspect PythonCard will acquire features similar to those
of Microsoft Access. MS Access can be regarded as a layer on top of the
Visual Basic development environment which allows the creation of quite
sophisticated applications while reducing the need to write VB code as
far as possible. HyperCard went (goes?) one step further than this by
making the programming language (HyperTalk) much more accessible to
non-programmers than VB ever will be. Perhaps the name "PythonCard"
reflects this aspiration, although at its current state of play (no
criticism intended), something like
"PythonicVisualBasicLikeDevelopmentEnvironment" is probably more
appropriate. I think they should stick with 'PythonCard'.
Tim C