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

Re: [computer-go] GTP and Tourney in SmartGo 1.4



   > Right now, with NO additional  programming, I can connect 2 pipe based
   > GTP go program running on  their OWN computers using twogtp.pl.

   I don't see how that's possible without some kind of network protocol.
   pipes isn't
   going to get you from one computer to another.  Did these systems share a
   filesystem
   (such as NFS) in which info was passed?  If so, this isn't a general
   solution.

PIPES do not get you to another computer, but a remote shell does.

Unix was designed  specifically to make it easy  to use tools together
in a natural way.  That's what  I'm talking about.  You can use either
rsh or ssh to do this and it's on virtually every unix system.



   > The beauty  of linux is that  twogtp.pl probably was  written with the
   > intention of running  2 programs on the same  computer, but it doesn't
   > really  matter if  the  2 program  are  on different  machines on  the
   > network,  it  just  works  remotely too.   No  additional  programming
   > required.

   That would only be true if it uses TCP sockets or some other network
   protocol.
   It doesn't as far as I can see.  Perhaps you have a version that someone
   hacked
   to use sockets?

I used to  do this all the time with my  chess program.  The graphical
user interface  ran on a  local machine at  a tournament site  and the
chess engine  run on a machine  usually in another  country.  I didn't
write software to do this, I just did it with standard unix tools.  The
connection was via STDIN and STDOUT.   It was that simple.


   > The  problem  we  are trying  to  solve  is  how to  overcome  Windows
   > limitations in this regard and  I think the basic solution has already
   > been proposed:  Use TCP sockets.

   What limitation is this?  Windows can do pipes, sockets, shared memory,
   etc...
   I'm a UNIX guy myself, but I have occasion to develop on Windows also.
   If you want the exact UNIX APIs on Windows, that is also doable via free
   cygwin or SFU, but that's just an implementation detail.

   Oh, and if twogtp.pl works on UNIX, it should also be able to work on
   Windows under cygwin or SFU (or maybe even without).

I think it's probably not that hard to do in windows.  It probably would
work in cygwin,  but I dislike using cygwin in windows,  it feels like 
a kludge and it really is.   If I'm going to work in the windows environment
it makes sense to do it the windows way and that's why I advocate finding
a common solution so that we can all be happy.



   The only thing that needs to be done is to standardize GTP/TCP!
   A Go developer would then have many options:
   1) directly implement the GTP/TCP protocol (open sockets, read/write GTP to
   it)
   2) read/write GTP to/from stdin & stdout and have a helper program that
   redirects over a socket
   3) connect an existing GMP program to a helper program that translates to
   GTP/TCP
   4) etc

   The bottom line is that the implementation details aren't important... they
   can easily
   be done for every OS in use now... the important part is standardizing the
   protocol.

   -Yonik

I  certainly agree  with this.   My argument  is that  it's  always so
painful  in windows  to do  simple things  because if  the application
cannot do it  by itself, your lost.   


- Don


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

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