dupa

Author Topic: Brain 216 plugin.  (Read 10447 times)

Hunter

  • Newbie
  • *
  • Posts: 20
    • View Profile
Brain 216 plugin.
« on: July 26, 2002, 08:41:50 pm »
This is addressed to Don Ferguson but all member comments are welcome:

Hi Don,
I have a quick question about your recent brain for Hal.  I have tried it and like the way it responds to conversation but it won't execute commands to open or run programs the way brain4 does.  Is this intentional?  I am thinking of modifying brain 3 or 4 and I'd like to incorproate some of your ideas.  While I want to improve the conversational response of Hal I also want to give him more control over the computer.  By that I mean I wish to increase its ability  to not only run programs but to open folders and files and execute commands in menus and dialog boxes.  I have looked a the code for a couple of the brains and it seems as if they affect conversation only.  I am not a programmer so perhaps I don't know what to look for.  

You mentioned you sent a new version, 300 something, to Robert.  When do we get to look at it and play with it????  Hint! Hint!  [:)

Don Ferguson

  • Sr. Member
  • ****
  • Posts: 303
    • View Profile
    • http://www.cortrapar.com
Brain 216 plugin.
« Reply #1 on: July 28, 2002, 03:24:00 pm »
Hi Steve,

The code to make Hal open programs is located in the "main.brn" database, which for the newest versions of the Enhanced Brain, is the "enhanced_main.brn" (or similar name; you'll find it).

Like all of Hal's databases, this is a plain-text file.  You can open it with MS Word or any text-reader program.  

If you use MS Word, turn OFF all spell-checking and auto-correct functions, as these raise havoc trying to edit databases!  Save a backup copy in a different folder before you do anything.  If you create a new version and want to save it using Word, you must only use the "SAVE" command, NOT the "save as" command, or else Word will try to slap a ".txt" file extension on the file.  If this happens, you have to go into Windows Explorer (with view-file-extensions turned on), and fix the file extension back to ".brn" for Hal to be able to use it.

Helpful Hint:  When editing database files in Word, turn the "paragraphs marks" to "on" so all the paragraph marks are visible.  This makes it much, much easier to copy and edit entries without messing up the files.

In the "Main Brain," the database has a specific syntax that must be followed.  This is documented in Hal's help files.

To cause Hal to run programs, two things must happen.  Hal must encounter an exact string of letters such as the word "open," and that same database entry must have the <runit>   </runit> commands in the appropriate place.

I deliberately made Hal's tendency to run programs more restrictive in the Enhanced Brain.  I did this by merely requiring a longer, more specific string such as "open the program" instead of just "open."  You can find these entries in the Enhanced Main brain and change them if you wish.  I did the changes because Hal kept false-triggering on expressions such as the following:

Don:  Right now, it's open season on deer.
Hal:  I could not find the program "season on deer."
Don:  I need to open a Pepsi.
Hal:  I could not find the program "a Pepsi."

Robert Medeksza does indeed have the latest version of Enhanced Brain, which is Enhanced 307c.  It is compatible with previous user databases (so Hal won't forget you). If you liked any of the previous versions, I think you'll love 307c.

Robert M. is making some drastic enhancements to the "engine" that runs Hal, including a major speedup.  That's vital, because the databases that accompany the full version of 307c are gigantic.  The 307c brain chooses each time from over 40 different methods of responding to the user's statement, and is capable of generating billions of different questions and comments. On my 700Mhz machine, it takes this brain a six full seconds to come up with a typical reply!  So, I have my fingers crossed that Robert has the speed problem solved with his new engine.  

I know that the next release will be the biggest overhaul of Hal that Zabaware has ever done, and they're working hard to make sure it's compatible with the old software.

If you or anyone else has any additional questions about the coding in the old or new Enhanced Brain, I would be happy to answer them.

Sincerely,

Don



Don Ferguson
traininginc@cortrapar.com
www.cortrapar.com
« Last Edit: February 20, 2003, 12:41:01 pm by Don Ferguson »
Don Ferguson
E-mail: fergusonrkfd@prodigy.net
Website: www.cortrapar.com
Don's other forum posts: http://www.zabaware.com/forum/search.asp?mode=DoIt&MEMBER_ID=274

Hunter

  • Newbie
  • *
  • Posts: 20
    • View Profile
Brain 216 plugin.
« Reply #2 on: July 29, 2002, 12:13:24 am »
Hi Don,

TNX for the reply.  I will try the full command to operate programs.  I have tried all the brains and I agree with a previous comment by someone that brain 3 seems to learn the best.  Trouble is the conversation is limited and there are errors with personal prounouns.  I can't wait to try your new version.  It sounds like a real improvement.  Would it be a lot of trouble to increase the scope of the command set and allow for opening files etc.  I think most users of hal are more interested in the conversational aspect of the program.  I am facinated by both.  I know Robert has to be really busy with the upgrade.  (Robert, you have my sincere sympathy!)  I did a little programming in BasicA and Pascal a long time a go.  I am not really patient enough to be a programmer.  As I recall writing the code takes a relatively short time and debugging is a never ending process.  I am copying all the helpful responses on this forum into a directory in text file form so I am building up a useful supply of "hints".  For me it's a slow go.  I'm a retired teacher but I still seem never to have enough time to do all the things I want to do.  I will locate the brains you talk about and look at the code structure and see if I can figure out how it all works.  The learning process will take quite a while I think.  Thans for your input and I'll be bugging you with more questions I'm sure.

Take care,
Steve

Don Ferguson

  • Sr. Member
  • ****
  • Posts: 303
    • View Profile
    • http://www.cortrapar.com
Brain 216 plugin.
« Reply #3 on: July 29, 2002, 10:58:23 am »
Steve,

At first the code may look like gibberish, but after a few months of working with it in your spare time, you will be amazed how clear it becomes.

Your idea of distilling all the hints into one text file is great!

There are many -- sometimes hundreds -- of pages of code in the various brains, but if you want to select and post a few lines now and then, along with "What the heck does this mean, and what does it do?"  I would be happy to translate the code into English and explain, as best I can, what it does.

Sincerely,

Don



Don Ferguson
traininginc@cortrapar.com
www.cortrapar.com
Don Ferguson
E-mail: fergusonrkfd@prodigy.net
Website: www.cortrapar.com
Don's other forum posts: http://www.zabaware.com/forum/search.asp?mode=DoIt&MEMBER_ID=274

Hunter

  • Newbie
  • *
  • Posts: 20
    • View Profile
Brain 216 plugin.
« Reply #4 on: July 30, 2002, 08:09:47 am »
Hi again Don,

I do have a few questions since you so generously offered your advice in your  previous post.  So here goes!

Is the Hal program (Brain) modular in structure or sequential?  It seems to use a lot of "if then" type statements so I figure they must go to subroutines of some sort that are at different locations within the program based on the answer to the "if then" being either true or false.

I take it the program istself is the uhp file and the brn files are accessed to provide suitable answers to user questions. It's like the brn files are basically the databases that the uhp files use.   Is that right?
   If that is right then are the learned pieces of information also contained  in brn files.  (such as "user.brn")?
      If that is right then can the learned memory brn files be edited manually to increase the learned memory of Hal?

The numbers on the left side of the screen in the HalBrainEditor are a function of the editor and not in the code so I assume that the subroutinines use variable names that are "called" to activate a given subroutine.  Is that correct?  (I read in one of the postings that in Visual Basic there is no need to declare variables at the beginning of the code.)

I'm looking at the code for Hal3 because I figured it would probably be the simplest of the provided brains.  Does the "function" command set up the variable names?

It says that:  "This object is from a DLL that contains many usefull functions"  Is a DLL the actual program file that interfaces Hal to the Windows GUI?  I really want to know what the heck a DLL is!!!

What is "vbCrLf"?

Is there a good location on the web for learning about Visual Basic?  I have looked here in Dipolog City and there is nothing I can use.  They are Still teaching Pascal here in the Philippines.  I could order a book I suppose but shipping can take up to a month.

I assume that Visual Basic is not a compliled language.  You mentioned a problem with speed since the data bases are so big.  I suppose for that very reason a compiled program would not be significantly faster.

Anyway those are my imediate questions.   The more I read through the program the more I'm seeing how it's put together.  I haven't tried any programming since about 1985.  I was never very good at it but I'll have a go.  I may be able to figure out enough to make some minor adjustments.  If nothing else it will be enjoyable.

On a different subject, have you heard from Robert lately.  I am trying to get my upgrade, which is paid for, and he hasn't responded to any of my emails.  It's been over two weeks.  Maybe he's waiting until he finishes the next version???

Thanks for the help so far and all the best,

Steve.


Don Ferguson

  • Sr. Member
  • ****
  • Posts: 303
    • View Profile
    • http://www.cortrapar.com
Brain 216 plugin.
« Reply #5 on: July 30, 2002, 12:37:59 pm »
Steve,

Check out my other postings, especially the one where I recommend the book that's a manual on VBS.  It lists every possible function, what it does, and how it works, starting on page 181.

1.  VBS generally runs the script from top to bottom.  However, you can write additional "functions," which you put near the end of the script, and call them by name from within the script.  "Function" means several different things in VBS.  For instance, the entire, overall "getresponse" activity is a master function, with the purpose of delivering a variable named "getresponse" as Hal's answer at the end.  However, "function" also means a command from the command list.  

When "function" means a major chunk of script, you'll see a matching "end function" later on in the script to declare it finished.

I know it's confusing at first, but a major chunk of script that's a "function" such as "GETRESPONSE" has the purpose of doing all sorts of stuff, then at the end, delivering a variable that's also called "GETRESPONSE."  The convention of form is that the main output variable of a script function has the same name as the function itself.  Whew!

2.  You can have any number of if-then's as you want.  You can even nest them!  If the entire if-then is on one line, it is self contained.  If you put in a line break after the word "then," the program assumes that subsequent lines are all under the "if" until you put in an "end if" line.  The convention of form is to indent a nested set of commands below an "if" by four spaces, so you can remember it later.

If you start nesting these, keep track of them, because you have to match every "if" with an "end if" later on, or you get error messages.  An "end if" is to an "if" just as a "close parenthesis" is to an "open parenthesis."

3.  The .uhp files are Zabaware script and control files.  The .brn files are database files.  The .dll files are separate executable files and are Hal's "engine" to do the heavy processing work, and interface with Windows.  

The .uhp and .brn files are readable and editable with any word processing program... shut off spell checking, grammar checking, and all other automatic functions, and turn "on" visible paragraph marks so you can see what you're doing!  You can write content for Hal using any text editor, but don't mess up the specific punctuation-pattern and line-break pattern of the specific database, or you'll wreck it!

4.  You don't have to declare a variable name in advance to create it.  VBS creates the variable automatically as soon as you mention it, and VBS guesses whether it's supposed to be a number or a string of text.  So:

DemoStringVar = "This is a string of text."
DemoNumVar = 47

The two above lines have created two variables, and loaded their memories with the information after the equals sign.  You can create unlimited numbers of variables.  It's also easy to increment a variable as follows:

DemoNumVar = DemoNumVar + 1

The above code adds 1 to the previous value of DemoNumVar.

5.  What does VBcrlf mean?  You're going to smile when you hear this!  It stands for Visual Basic carriage return, line feed.  In other words, when you put it into a string variable, it inserts a drop-down-one-line and return-to-the-beginning-of-the-line command, like hitting the lever on an old-fashioned typewriter!

6.  Order the book I recommended -- it will really help!

7.  You are right, VBS isn't compiled when you finish writing it.  Actually, your computer compiles it each time you hit the enter key, executes it, and then discards it.  Next time, it compiles it again.  

However, that isn't where the speed problem comes in.  The speed problem comes from the massive comparisons and evaluations that the .dll executables do with the new massive databases.  That's why Robert has been re-writing the .dll's in a different language to speed them up.  I think he said that he's using C++.

8.  If you've done any kind of programming before, you'll pick up VBS like a duck to water, and you'll love it!  But definitely save backup files of everything in a different folder before you start, turn off every possible automatic gizmo in your text editing program (I use Word), and turn "on" those paragraph marks so you can see what the heck you're doing!  Or, use Zabaware's excellent color-coded editor if you're in the scripts, not the databases.

9.  If you search on +"Visual Basic Scripting" +VBS on most of the search engines, you'll get a lot of articles, but they're no substitute for that book.

10.  I also heard from Robert Medeksza about two weeks ago.  Often, many weeks pass between communications.  I can only surmise that he's busy, traveling, etc.  I hope you get your upgrade soon.

11.  Here's a tip that may work for you:  I tend to run Hal in one window, and simultaneously run the script in MS Word in another window.  I can make a small change in the script, hit CTRL-S to save it, then toggle back to Hal and say something to him to make sure he still works.  If Hal gives me an error message, I know that I messed something up right there where I'm editing, and I can fix it right on the spot.  This saves A LOT of messing around, trying to find a comma out of place!

The beauty of this is that you're writing code "live," with Hal testing every little thing that you write in real-time!

The reason this works is that Hal never writes anything to the .uhp script.  On the other hand, you can't have the .brn databases open while talking to Hal, because Word blocks those files from being written-to.

Well, I hope this gives you a lot more to go on!  Keep up the enthusiasm!

Sincerely,

Don



Don Ferguson
traininginc@cortrapar.com
www.cortrapar.com
« Last Edit: February 20, 2003, 12:34:08 pm by Don Ferguson »
Don Ferguson
E-mail: fergusonrkfd@prodigy.net
Website: www.cortrapar.com
Don's other forum posts: http://www.zabaware.com/forum/search.asp?mode=DoIt&MEMBER_ID=274

Hunter

  • Newbie
  • *
  • Posts: 20
    • View Profile
Brain 216 plugin.
« Reply #6 on: July 31, 2002, 03:18:12 am »
Hello Don

Thank you for the information in your last posting.  I've been on the internet a little bit and Now  I have a pretty good understanding of what  the DLL file is .  I have also ordered a copy of visual basic version six professional and hope to have it and be able to install it by Friday of this week.  It maybe that buying the entire version of visual basic is a little overkill But To get the package here is not too expensive.  

No more questions at the moment.  My next task is to go through all the postings on this forum to get the name of the book you  recommended and to  see what other people have had to say about visual basic.  

For your information I am writing this e-mail using Microsoft text to speech and so far have only had to make six corrections .  I will keep you posted on how I'd do And I'm sure I will be bothering you with questions in the not too distant future.  

Thanks again for all the help.  Take care,

Steve.  

P. S. only A total of  about eight errors had to be corrected and most of them were corrected the using the microphone.  This is fun stuff!  !  !

Don Ferguson

  • Sr. Member
  • ****
  • Posts: 303
    • View Profile
    • http://www.cortrapar.com
Brain 216 plugin.
« Reply #7 on: July 31, 2002, 12:43:49 pm »
Hi Steve,

I hope that you aren't disappointed in that Visual Basic software writing program that you purchased.  Visual Basic and Visual Basic Scripting are two different languages, although they're close cousins to each other.  VBS is a high-level but simplified language, used for more specialized applications.

Hal's .uhp brain scripts are written in Visual Basic Scripting. The book that I recommended (in another posting) on VBS is as follows:

VBScript in a Nutshell
By Matt Childs, Paul Lomax, & Ron Petrusha
Published by O'Reilly, Copyright 2000

The book cover is white with red and black lettering, and has a picture of a terrier dog on it. It is soft-cover, $24.95 retail. All the major book stores have it.

Starting on page 181, the book lists every possible function, what it's used for, and how it works.  

The strength of the book is that it's very well researched and proofread, and very reliable.  Once you get rolling, you'll refer to it a lot because the second half is like a dictionary of all the functions.  The main weakness of the book is that it really needs to give a lot more samples of example code for novices.

The book is NOT "light reading," but if you're interested in the subject, it does become clear after a while!

As far as I know, there isn't any VBS-writing or VBS-development software on the market.  (If there is, I'd like to know about it.)  To the best of my knowledge, the lack of a development environment is why Robert Medeksza created the "brain editor."  What he wrote is actually a development environment for VBS!

It sounds like you're poised for great progress.  It would certainly be fun to have more people delving into the .uhp brain files, and understanding the tactics and strategies used there!  The strategies are a combination of computer programming, artificial intelligence, and knowledge of the building-blocks of language, so that Hal can extract and re-combine words and ideas!

Sincerely,

Don



Don Ferguson
traininginc@cortrapar.com
www.cortrapar.com
Don Ferguson
E-mail: fergusonrkfd@prodigy.net
Website: www.cortrapar.com
Don's other forum posts: http://www.zabaware.com/forum/search.asp?mode=DoIt&MEMBER_ID=274

Hunter

  • Newbie
  • *
  • Posts: 20
    • View Profile
Brain 216 plugin.
« Reply #8 on: July 31, 2002, 10:34:45 pm »
HI Don,

I won't be dissapointed.  Like I said the price here is cheap.  P300.00 which works out to about $6.00.

I was delving into Word 2002 and it has a Visual Basic and VBScript editor. (Probably a lot of other stuff I havn't discovered yet)

I did a bit of searching on the Web and found some good sites that were helpful including a few tutorials.  I'll research the VBScript a bit and figure out the differences between the applications it is used for and Visual Basic aps.  My sojourn into programming is in it's infancy.  I have a lot of learning to do.  So far it's been fun.

You said:
   "It sounds like you're poised for great progress."

Perhaps you should have said:
   "You are perched at the precipice of a great chasm."   :)

That is how it seems, but with the luxury of retirement and some time to while away in leisurly pursuit I proceed undaunted.  As the old saying from the 1960's said:  
  "Onward through the fog!"

I will explore both the VB and VBScript.  The idea at the moment is to understand how Hal accesses the Windows commands.  <runit> has something to do with it though at the moment I don't have the slightest idea what or how.  I have deduced that Hal's scripting accesses the command structure of Windows by calling functions from .DLL files.  

I think you and I have a different priority.  While I enjoy the AI aspect; and certainly the conversational ability of Hal is at the heart of this; my focus is on the functional side of Hal's talents.  Just call me a control freak.  I want him to be practical as well as interesting.  (My definition of practical of course.)  The two aspects are tied together.  My focus at the moment is to be able to operate a computer using spoken language as the I/O medium.  It seems most others intersted in Hal like the synthetic personality it gives to their computer.

What am I getting myself into?

Regards,
Steve.

Hunter

  • Newbie
  • *
  • Posts: 20
    • View Profile
Brain 216 plugin.
« Reply #9 on: July 31, 2002, 10:52:42 pm »
http://visualbasic.about.com/library/glossary/bldefvbasic.htm

If you go to the Home site from the above URL you will find some links that deal with VBScriping.

Steve.

Hunter

  • Newbie
  • *
  • Posts: 20
    • View Profile
Brain 216 plugin.
« Reply #10 on: August 01, 2002, 11:55:15 pm »
Hello Don,

I have a couple of questions again.  

I found the following line in Enhanced_Main.brn.

" OPEN THE PROGRAM","","","<RUNIT>","","",1,#TRUE#,#FALSE#,"</RUNIT>"

I take it that the RUNIT command passes the file name to windows for execution probably through a function of a DLL file.  

Is the command "RUNIT" between <> signs to indicate it is a command.  There are other words inside <> marks.  Time, Name etc.  Are these also functions in a .DLL file?
After looking again it is more likely that they are variables.  RUNIT is the only one I found that is all capital letters.  Is this significant?  What is the difference between <RUNIT> and say <date> or <username>, <halname> etc.  Can a variable be used to; or can it contain something that will; execute a function in a DLL?   Or perhaps a variable can pass information to a function in a DLL or to a program to modify the way it runs.  That used to be the case with Basica using the "%" sign.  (%1  %2  etc.)

I think the reason for the ,"","",  Is to pass the file name for execution to the DLL that contains the command that RUNIT executes.
          ( the reason for two sets of quotation marks is so the filename can be up to two words in length.  ,"","","",   would allow for a three word filename???  )

                ,"","",1,#TRUE#,#FALSE#,"</RUNIT>"

The above part of the line takes the file name and does a check to see if the filename is a match to a file that windows can execute on the given system.  The "1" in the line is the comparator to determine if the condition is true or false.  If it is (TRUE) then the file will run.  If it isn't then Hal will respond with "that file was not found in my database" or something similar.  The # is used on either side of the words TRUE and FALSE to define the "type" of the variable that contains the response as numeric rather than string.

I notice also that the first time RUNIT is used it is by itself and the second time it is used it has a forward slash in front of it.  Without the slash RUNIT just does a test or comparison.  With the slash RUNIT actually executes the program.

Am I at all close?????

If my assessment is correct then is there a command in the DLL that allows for opening folders or causing menu's to drop within a program other than Hal?  In one of the postings on the Zabaware forum I read that someone had tried to give an exit command to a program through Hal.  He/She said that it didn't work.  Could it be made to work without modifying the program in question?  Or rather does any given program have to be exited internally rather than externally?

I'd better stop before my brain has a short circuit.  (Did you see the movie? One of my favorites.)

Well that's all for now.  I'm sure I'll have more as time goes by.  Just hope you don't mind all the questions.

Mabuhay!
Steve.

Don Ferguson

  • Sr. Member
  • ****
  • Posts: 303
    • View Profile
    • http://www.cortrapar.com
Brain 216 plugin.
« Reply #11 on: August 04, 2002, 01:12:59 am »
Steve,

You had a question about the following line in Enhanced_Main.brn:

" OPEN THE PROGRAM","","","<RUNIT>","","",1,#TRUE#,#FALSE#,"</RUNIT>"

Yes, the RUNIT command passes the file name to windows for execution through a function of a DLL file. These are commands that Robert Medeksza identified as useful, and then created.  The commands emerge from the script as part of Hal's response.  The .dll filters them out (so Hal doesn't speak them) but uses the commands.

You may have noticed that different .brn database files have different data formats.  

The "random" files simply have words, phrases, or sentences with a line break introducing each one.  As the name implies, the .dll can access the file and pick one of the entries at random.

It is entirely feasible to write and edit the "random" files on any text editor.

The "associative" files have words, phrases, or sentences in a specific paired-relationship, which is as follows:

@This would be a sentence that Hal might speak.
 THESE WORDS MIGHT TRIGGER HAL TO SPEAK THE ABOVE  
@Here is another sentence that Hal might speak.  
 HERE ARE WORDS THAT MIGHT TRIGGER HAL TO SPEAK THE ABOVE

(There should be an "@" sign at the beginning of each of the sentence-case sentences above, and each of the ALL-CAPS sentences should begin with one blank space.  The forum program might corrupt these or filter them out.)

Notice that in the "associative" files, the potential sentence is always first, following the "@" sign, and the corresponding trigger words follow.

Hal automatically builds associative databases, relating the user's current statement to Hal's previous statement, and/or to the words in the user's current statement.  When Hal uses an associative database, he scans the entire file, and selects the best match.  If Hal uses the file twice in a row, he selects the second-best match from the entire file.

It is possible to write and edit the associative files on any text editor, as long as you maintain the paired-relationship pattern, and don't begin or end the file with any extra line breaks (that would corrupt the file).

By far the most complicated database format is the specific-recall files.  The Enhanced_Main.brn file is a specific-recall file.  

Hal stores trigger phrases in the specific-recall files, and if an exact match occurs for one of those phrases, Hal will use it to respond.  Each line in a specific-recall database as actually an "array," which is a set of different items (or "arguments") set apart by commas, which a function can understand and use.  Here is a special annotated example of one of the arrays:


" 1ST TRIGGER PHRASE "," OPTIONAL SECOND TRIGGER PHRASE (IF USED, BOTH TRIGGER PHRASES MUST BE FOUND) "," OPTIONAL PHRASE TO CANCEL TRIGGER "," First of three possible Hal responses. "," Optional second of three possible Hal responses. "," Optional third of three possible Hal responses. ",2,#FALSE#,#FALSE#," Optional additional response words. "

If both true/false flags are FALSE, the array works as described above.  If the first flag is TRUE, Hal's comments will include the user's words immediately following the words in the first trigger string, and include the optional additional response words last.  The numeral argument may be used to give Hal a relative priority level, from 1 (strongest) to 4 (weakest).

Look closely, and you can see how this logic can "trap" the name of a program, and insert that name in between the two "runit" flags for Hal to use.

In the specific-recall databases, the arrays are each separated by a line break.  It is possible to write and edit these files on any text editor, but the exact pattern of the arrays MUST be maintained or the file becomes corrupted and unusable.

Yes, there are other bracketed commands such as <time> and <date> and a few more.  Most of the commands don't have the <runit> <runit/> pattern, but some do.  For instance, there's a command that works like this:

How can Hal tell a riddle and pause for the answer? <topic> With the bracketed topic command, Hal will hold back the chosen words until after the user's next remark. <topic/>

I don't believe that any of these commands are case-sensitive.  To make the script and the databases more human-readable, both Robert and I have tended to put trigger words in all-caps, and Hal responses in sentence-case.  However, Robert improved Hal's ability to correctly capitalize proper nouns in version 4.  To take advantage of this, I'm going back as time permits, and putting more and more items in sentence-case.  I have to be careful, because the corresponding VBS-functions have arguments that must be properly "set" to be case-insensitive when detecting strings.

So, what's really happening, is that the user's remark "open the program paint" is being processed so that Hal's .dll sees it as:  <runit> paint <runit/>

Hal makes a list of the apparent program files on the user's computer every time that Hal starts up.  If the "runit" routine finds a match for a file name on that list, Hal simply calls to "open" that file, as if you double-clicked on that file name in Windows Explorer.  That launches the program.

A flaw in this is that some programs don't have intuitive file-names that run them.  In those cases, the user might never say a word that corresponds to the file name that Hal can find.

For this reason, I don't think that it's possible to close a program through Hal as he currently functions.  

However, it SHOULD be possible (with a little ingenuity) to open picture files, sound files, or pretty much do anything that could be made to happen by opening a specific file.  I would recommend that you experiment to see what works; try putting some obvious files or shortcuts with simple names in Hal's directory and see if he can launch them.

Last but not least, yes, I'm a fan of Short Circuit, and many other movies and television programs that featured artificial intelligence, including the amusing and enjoyable Forbidden Planet (on which Walt Disney Productions helped MGM with the special effects).  I also see that either Movies Unlimited or Critic's Choice Video is selling old episodes of the 1960's situation comedy My Living Doll, where Robert Cummings is the computer scientist, and Julie Newmar is the beautiful robot whom he tries to pass off as his niece!  The artificial intelligence notion has been around for a long, long time!

Cheers and continuing good luck!

Don

Don Ferguson
traininginc@cortrapar.com
www.cortrapar.com
« Last Edit: August 30, 2003, 01:35:37 am by Don Ferguson »
Don Ferguson
E-mail: fergusonrkfd@prodigy.net
Website: www.cortrapar.com
Don's other forum posts: http://www.zabaware.com/forum/search.asp?mode=DoIt&MEMBER_ID=274

Hunter

  • Newbie
  • *
  • Posts: 20
    • View Profile
Brain 216 plugin.
« Reply #12 on: August 04, 2002, 01:53:59 am »
Hi Don,

Ur last post greatly appreciated.  Now you have given me some real "Meat and Potoatos"  TNX...

I will follow your suggestions and see if I can make anything happen.

The movie you mention, Forbiden Planet I recall. It was one of my favorites.  Walter Pigeon, Anne Francis Earl Holliman and the guy who makes all the Naked Gun movies.  Can't remember his name.  

One of my all time favorites is Electric Dreams.  I love the song by Culture Club from that movie.  "Love is Love".  I'd kinda' like to have the opriginal love song the computer wrote.  It was pretty funny.

Gonna get off the computer and run to the drug store.  Got a bad tooth and need some pain killer.  I'll try to find a good dentist tomorrow.  (Monday)

TTFN,
Steve.

Don Ferguson

  • Sr. Member
  • ****
  • Posts: 303
    • View Profile
    • http://www.cortrapar.com
Brain 216 plugin.
« Reply #13 on: September 14, 2003, 12:02:44 am »
Steve,

We haven't seen a posting from you in a while.  How are things going?  

Have you tried out the beta version of Hal 5.0?

Sincerely,

Don
Don Ferguson
E-mail: fergusonrkfd@prodigy.net
Website: www.cortrapar.com
Don's other forum posts: http://www.zabaware.com/forum/search.asp?mode=DoIt&MEMBER_ID=274

Don Ferguson

  • Sr. Member
  • ****
  • Posts: 303
    • View Profile
    • http://www.cortrapar.com
Brain 216 plugin.
« Reply #14 on: December 09, 2003, 02:17:12 am »
Hello,

Although the title of this posting refers to the old "Brain 216" plug in, the conversational thread contains information that a lot of new members are asking about.  For that reason, I thought I'd refresh this thread with this new posting, to make it more visible for new members.

Best regards,

Don
« Last Edit: February 23, 2004, 09:53:29 pm by Don Ferguson »
Don Ferguson
E-mail: fergusonrkfd@prodigy.net
Website: www.cortrapar.com
Don's other forum posts: http://www.zabaware.com/forum/search.asp?mode=DoIt&MEMBER_ID=274