[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [computer-go] how to use GTP in place of GMP



Yes, I agree with all you say here.

Doing it with ssh was simply a proof of concept thing I wanted to try.
Dave Denholm layed  out the way I could  involve windows without doing
any  program so  I am  satisfied.  I'm  not going  to persue  this any
farther since I don't have  a reasonable windows machine to experiment
with.

ssh as  I have  layed it out  is indeed  a crufty way  to do  this and
wouldn't be a reasonble option  especially for windows folks, but even
the unix guys have to set all  the ssh key stuff up correctly to avoid
having to  type passwords.   I was able  to set  my test up  because I
dealt with that long ago with ssh-agent, ssh-add etc.


- Don


   X-Spam-Filter: check_local@xxxxxxxxxxxxxxxxx by digitalanswers.org
   From: "yonik" <yseeley@xxxxxxxxxxxxxxxxx>
   Date: Thu, 12 Aug 2004 10:45:07 -0400
   Content-Type: text/plain;
	   charset="iso-8859-1"
   X-Priority: 3
   X-MSMail-Priority: Normal
   X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441

   Don,
      The protocol you used could be called GTP/SSH (GTP over SSH, v1 or
   v2?).... the *implementation* you used to implement that protocol was to
   pipe stdin/stdout of your Go program through ssh.

   It's important to standardize protocols and interfances *instead* of
   implementations.  You can recommend that an engine programmer just
   read/write to stdin/stdout, and then just use a utility (ssh in this case)
   to do the transport or other stuff for you, but it shouldn't be *required*.

   I imagine that someone will write a very easy to use library in C, C++, or
   Java that speaks GTP (to stdout or over TCP), and then that might become the
   easiest way for a new engine programmer to interoperate with others (easier
   than implementing GTP yourself and writing it to stdin/stdout).  You can
   give engine developers easy to use tools and flexibility at the same time.

   So as far as GTP/TCP is concerned, it should be specified, and the engine
   developers could be given a number of different implementation options:
    - speak GTP to stdin/stdout and use this cool utility, gtp2tcp (or twogtp
   if it has the capability)
    - use the super_easy_GTP library in C++ or Java, or ???, and it will handle
   all the details of GTP and communications for you.
    - use this translation library from protocol A that you already implelemted
   to GTP
    - implement the entire thing yourself if you want to.

   Oh, and as far as GTP/SSH, if it's SSHv2 then you are going to have a lot
   more headaches than you realize trying to get everyone to interoperate (all
   the private/public key management, etc).  Even if it's SSHv1, then you need
   to have a shared account that everyone can login to, or you need to create
   an account for every player.  Requires knowledge of sshd configuration, etc.
   Yuck, we were supposed to be making it easier!

   -Yonik


   ----- Original Message ----- 
   From: "Don Dailey" <drd@xxxxxxxxxxxxxxxxx>
   To: <computer-go@xxxxxxxxxxxxxxxxx>
   Cc: <computer-go@xxxxxxxxxxxxxxxxx>
   Sent: Wednesday, August 11, 2004 11:54 PM
   Subject: Re: [computer-go] how to use GTP in place of GMP


   >
   > I did  the UNIX remote  shell part  of the GTP  test and it  worked as
   > expected and only took 5 minutes to set up.
   >
   > I'm playing autotest games with  my local autotester program now.  One
   > of  the programs is  running on  a computer  in Massachusetts  and the
   > other is running on a computer  in Virginia.  I did not write any code
   > to do this, all I did was invoke the programs from ssh (a remote shell
   > utility.)
   >
   > The program invocation looks like  this (the first "field" is a handle
   > my autotester system uses for reporting.)
   >
   > progA  ssh don@xxxxxxxxxxxxxxxxx ./playgo -r -b pattern.brain -o A.log -l 3
   > progB  ssh drd@xxxxxxxxxxxxxxxxx ./playgo -r -b simple.brain -o B.log -l
   3
   >
   > If I run everything locally it's this:
   >
   > progA  ./playgo -r -b pattern.brain -o A.log -l 3
   > progB  ./playgo -r -b simple.brain -o B.log -l 3
   >
   > The trick is  making this work in Windows  because you normally cannot
   > "log in" to a windows machine to use it directly.
   >
   > The TCP stuff  you guys are kicking around is a  good solution, but it
   > will be interesting to know if it can be solved without any additional
   > programming, whether  it's actually done or not  and without requiring
   > the GO programmer to worry about TCP stuff.
   >
   > - Don
   > _______________________________________________
   > computer-go mailing list
   > computer-go@xxxxxxxxxxxxxxxxx
   > http://www.computer-go.org/mailman/listinfo/computer-go/

_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/