[shpy-commit] r2938 - shpy/trunk/doc

hpk at codespeak.net hpk@codespeak.net
Mon Feb 9 19:13:35 MET 2004


Author: hpk
Date: Mon Feb  9 20:13:33 2004
New Revision: 2938

Added:
   shpy/trunk/doc/shpy-goals.txt
      - copied, changed from r2937, shpy/trunk/doc/shpy-editor.txt
Log:
added a largely "enhanced" version of shpy-goals.txt 
in order to reach some consensus on what we want to
tackle.  (the most important goal to me is to get 
shpy self-containing: that it is possible to enhance
it using (another instance of) itself. 



Copied: shpy/trunk/doc/shpy-goals.txt (from r2937, shpy/trunk/doc/shpy-editor.txt)
==============================================================================
--- shpy/trunk/doc/shpy-editor.txt	(original)
+++ shpy/trunk/doc/shpy-goals.txt	Mon Feb  9 20:13:33 2004
@@ -1,11 +1,24 @@
-This is a tentative description of what I'd like to have next in shpy.
-What would be most useful for me is a general editing tool.  So I'll 
-just describe what I'm looking for, irrespective of the objections I can 
-already hear :-)
+This is a list of unprioritized goals for shpy. 
 
+programming shpy with shpy 
+--------------------------
 
-Goal:
-----
+Enhance shpy to the point where it is convenient for two or more
+people to enhance it using itself.  Perequesites:
+
+- editing and saving files 
+
+- triggering execution of the "shpy-beeing-currently-worked-on" 
+  in a separate window.  It should be easy enough for multiple
+  developers to launch a shared test-shpy-session. 
+
+  the test session is different from the edit session in that
+  it should use a different indepedent share-server in order to
+  avoid messups between editing and testing. 
+
+
+Editing and saving files 
+-------------------------
 
 Let's put aside matters of multiple cells and execution servers for the
 moment.
@@ -13,9 +26,15 @@
 $ shpy filename.txt
 
 Opens filename.txt for editing.  The file is local to where the command
-is issued, but it should just work transparently across ssh, and several
-users opening the same file on the same host see each other's cursor and
-changes.  The pygame window works like a regular single-file editor.
+is issued, but it should just work transparently across ssh with all joining
+parties seeing the same file.  Anyone should be able to trigger a 'save operation'
+if that is not done automatigally, anyway. The save operation will be 
+executed on the computer which opened the file.  However, we can easily
+trigger a commit operation (using vpath's subversion-working-copy abstraction)
+so that people can actually share interesting edit-states. 
+
+Obsoleting IRC-clients during shpy-sessions
+-------------------------------------------
 
 $ shpy
 
@@ -27,36 +46,33 @@
 all-encompassing window and the latter can always be added later.
 
 
-Setup:
------
-
-'shpy' is a small Python script that I put somewhere in my path so that
-I can just run it.  The PyGame-based client holds all the complexities
-and must be installed along with PyGame on the local machine.
-
-There should be no need to run a shared server on the remote machine,
-but we need a way for 'shpy' to connect to the local client.  Some
-random solutions:
-
-0) shpy connects to $REMOTEHOST:8888.  Doesn't work in a lot of
-situations.
-
-1) start a shpy-client daemon process locally, listening to port 8888; 
-setup ~/.ssh/config so that ssh connexions automatically route the 
-remote port 8888 to the local port 8888; configure shpy to use this port 
-to connect back to shpy-client.  This way no separate process is needed 
-on the remote machine.
-
-2) start a more spidery shpy-client daemon that will issue ssh 
-connexions to the remote host(s) to listen for connexions from shpy.  We 
-can use named pipes instead of sockets in this situation.
-
-3) hack: assume 'ssh -X' and contact the remote X server, not to
-actually display the PyGame window, but to send information to the
-shpy-client daemon.  This could actually generalize to a seriously
-different framework in which you compile X with a Python extension that
-allows X clients to send Python scripts to the X server... Would be
-great too!
+Convenience
+-----------
 
+There is always stuff left to do for added convenience:
 
-Armin
+- 'shpy' is a small Python script that I put somewhere in my path so that
+  I can just run it.  The PyGame-based client holds all the complexities
+  and must be installed along with PyGame on the local machine.
+
+
+- The shareserver defaults to starting 'shpyd' on some default port 
+  and connecting to it.  Otherwise 'shpy' will connect to the
+  specified shareserver (or some meta-server which keeps track
+  of started session anywhere on the internet and even starts 
+  itself new shareserver if you need a fresh one for starting a session
+  with someone). 
+
+- different kinds of execution (looping, restart every time,
+  persistent==default). 
+
+- start a more spidery shpy-client daemon that will issue ssh 
+  connexions to the remote host(s) to listen for connexions from shpy.  We 
+  can use named pipes instead of sockets in this situation.
+
+- hack: assume 'ssh -X' and contact the remote X server, not to
+  actually display the PyGame window, but to send information to the
+  shpy-client daemon.  This could actually generalize to a seriously
+  different framework in which you compile X with a Python extension that
+  allows X clients to send Python scripts to the X server... Would be
+  great too!  This is all a bit platform dependent, of course. 


More information about the shpy-commit mailing list