[GOODIE][3.2][Morphic] RemoteCommander v1.1

Stephan Rudlof squeak-dev at lists.squeakfoundation.org
Sat Sep 14 20:32:43 UTC 2002


This is a multi-part message in MIME format.
--------------020406080104010805060500
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Dear All,

there are some improvements (see below): the highlight is a from the client
by menu controllable timeout for remote evaluations at the server.

Feedback is highly appreciated!


Greetings,

Stephan


"Change Set:		RemoteCommander v1.1
Date:
		14 September 2002
Author:
		Stephan Rudlof
Preconditions:
Morphic, Squeak 3.2 (don't know what happens under 3.3)

This is a client/server application which allows to send ""Compiler
evaluate: '...'"" commands to another Squeak.
You are just typing in Smalltalk code in a specialized
RemoteCommandWorkspace running as client, which can then be evaluated remote
at the server, together with sending back the result to the client (printIt,
doIt, etc.).
This app may e.g. serve as a tool to control a Swiki from another host,
since the server doesn't need much CPU time, while it's waiting for commands.

After filing in this changeset a window describing the next steps appears.

Tests:
It has worked
- locally started, both images at my machine under Linux;
- from my Linux machine to a host under Solaris far away, both client and
server (btw: to see what happens, I've redirected the X output from far away
to my machine -> damn slow, but it's sufficient for tests!).

Bugs:
- almost no class comments;
- after building such an application, refactoring is needed (though I'm
always refactoring *while* I'm writing software);
- no SUnitTests.

Notes:
- This tool is realized with the 'normal' socket stuff: special thanks to
the implementors of Nebraska, from which I have adapted much of it's
client/server socket handling code.
- It shouldn't be very hard to switch to Craig Latta's Flow implementation,
but I haven't used it here.

History:
1.1
: - timeout for remote evaluations: controllable by RemoteCommandWorkspace menu!
	  - refactoring: simplified server loop, cleaner Peer cleanup (release)
	  - faster restarting and stopping of server
	  - better changeset description
1.0
: - first version
"
-- 
Stephan Rudlof (sr at evolgo.de)
   "Genius doesn't work on an assembly line basis.
    You can't simply say, 'Today I will be brilliant.'"
    -- Kirk, "The Ultimate Computer", stardate 4731.3

--------------020406080104010805060500
Content-Type: application/x-gunzip;
 name="RemoteCommander.12.cs.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="RemoteCommander.12.cs.gz"

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
eOgv0WmMtcu9IVAeuXAOvzYKFP8PKFkMkQtBAQA=
--------------020406080104010805060500--




More information about the Squeak-dev mailing list