Testers wanted for REPLServer (Squeak shell / command-line)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Testers wanted for REPLServer (Squeak shell / command-line)

Michael van der Gulik-2
Hi all.

I'd like to announce a new alpha release of REPLServer; it is a Squeak shell that you can use for managing remote servers. I'm asking for people to download and test it.

Get the latest version from http://www.squeaksource.com/SecureSqueak. Currently the latest version is REPL-mvdg.7.mcz.

Instructions:
Get DynamicBindings and KomServices from SqueakMap.
Install REPL-mvdg.7.mcz (or a later version) using Monticello.
Run "REPLServer startOn: 4445", and then telnet to localhost, port 4445.

Please let me know if you manage to crash Squeak using this by some means other than typing in Smalltalk commands that cause a crash :-). I'm also interested in whether it works well on platforms other than Linux.


Known bugs (mostly from lack of time rather than difficulty):

* Sending special telnet commands currently causes a traceback. This is fixed in my local image but has not yet been uploaded.

* Special character handling, such as F1..F12, insert, delete, etc isn't yet complete. This is coming in the next version.

* Arrays sometimes don't print their last character.

* It'll probably lock up if you set off a forkbomb.


Coming features in the next version(s):

* Connections will only be allowed from localhost, for security.

* Tab completion.

* Handling of ALT-? characters. Any ideas for what they should do? Same as for a workspace?

* Maybe... just maybe... using ANSI codes to do syntax highlighting :-).


I'd also like some simple ASCII-art, if anybody is feeling creative. You can use 7-bit ASCII, normal/bold and colours. I'd like a fancy header, a better prompt and maybe even ideas for easter eggs :-).

Michael.


Reply | Threaded
Open this post in threaded view
|

Re: Testers wanted for REPLServer (Squeak shell / command-line)

Klaus D. Witzel
Wow! How could I ever run a Squeak .image without your REPLServer in it!

On Tue, 14 Nov 2006 22:26:42 +0100, Michael van der Gulik wrote:

> Hi all.
>
> I'd like to announce a new alpha release of REPLServer; it is a Squeak  
> shell
> that you can use for managing remote servers. I'm asking for people to
> download and test it.
>
> Get the latest version from http://www.squeaksource.com/SecureSqueak.
> Currently the latest version is REPL-mvdg.7.mcz.
>
> Instructions:
> Get DynamicBindings and KomServices from SqueakMap.
> Install REPL-mvdg.7.mcz (or a later version) using Monticello.
> Run "REPLServer startOn: 4445", and then telnet to localhost, port 4445.
>
> Please let me know if you manage to crash Squeak using this by some means
> other than typing in Smalltalk commands that cause a crash :-). I'm also
> interested in whether it works well on platforms other than Linux.

Works on windoze XP:
----------
Password:
Type 'help' for help.
>>> help
  Type in any Smalltalk expression and I will evaluate it.
  Some useful commands:
          Process allInstances - list all processes
          aProcess suspend - suspect a process
          bindings - list all current variable bindings
          AClass selectors - list all selectors a class has
          exit - exit this interpreter
>>> 3 + 4
  7
>>> bindings
  a Dictionary('help'->'Type in any Smalltalk expression and I will  
evaluate it...'
  'last'->'7' 'self'->a REPL )
>>>
----------

Suggestion: can you use a character other than > for the prompt, like } or  
# or $. The > is interpreted by email clients ...

For the ASCII-art, from

- http://www.geocities.com/soho/7373/petsmice.htm

      .--,       .--,
     ( (  \.---./  ) )
      '.__/o   o\__.'
         {=  ^  =}

          _    _
         (_`--:_)
           ) '_\
          / _\_^
            __
         __/  \
        /  \-./
        \_   66\_
          \  ____)o

/Klaus

> Known bugs (mostly from lack of time rather than difficulty):
>
> * Sending special telnet commands currently causes a traceback. This is
> fixed in my local image but has not yet been uploaded.
>
> * Special character handling, such as F1..F12, insert, delete, etc isn't  
> yet
> complete. This is coming in the next version.
>
> * Arrays sometimes don't print their last character.
>
> * It'll probably lock up if you set off a forkbomb.
>
>
> Coming features in the next version(s):
>
> * Connections will only be allowed from localhost, for security.
>
> * Tab completion.
>
> * Handling of ALT-? characters. Any ideas for what they should do? Same  
> as
> for a workspace?
>
> * Maybe... just maybe... using ANSI codes to do syntax highlighting :-).
>
>
> I'd also like some simple ASCII-art, if anybody is feeling creative. You  
> can
> use 7-bit ASCII, normal/bold and colours. I'd like a fancy header, a  
> better
> prompt and maybe even ideas for easter eggs :-).
>
> Michael.



Reply | Threaded
Open this post in threaded view
|

Re: Testers wanted for REPLServer (Squeak shell / command-line)

Michael van der Gulik

>> Get the latest version from http://www.squeaksource.com/SecureSqueak.
>> Currently the latest version is REPL-mvdg.7.mcz.
 >>
>> Instructions:
>> Get DynamicBindings and KomServices from SqueakMap.
>> Install REPL-mvdg.7.mcz (or a later version) using Monticello.
>> Run "REPLServer startOn: 4445", and then telnet to localhost, port 4445.

A new version is available now, including multiple enhancements and
cuteness. This isn't a final release; I still plan to add tab completion
and the ability to rebind stdin/stdout to objects so that textual
debuggers, browsers, etc can be added on at a later date.

Password has been changed to "foobar1", and will only accept connections
from localhost (for security).

> Works on windoze XP:

Yay!

Does anybody have time to try it on a Mac?

Michael.


Reply | Threaded
Open this post in threaded view
|

Re: Testers wanted for REPLServer (Squeak shell / command-line)

Steven Elkins
On 11/16/06, Michael van der Gulik <[hidden email]> wrote:

>
> >> Get the latest version from http://www.squeaksource.com/SecureSqueak.
> >> Currently the latest version is REPL-mvdg.7.mcz.
>  >>
> >> Instructions:
> >> Get DynamicBindings and KomServices from SqueakMap.
> >> Install REPL-mvdg.7.mcz (or a later version) using Monticello.
> >> Run "REPLServer startOn: 4445", and then telnet to localhost, port 4445.
>
> A new version is available now, including multiple enhancements and
> cuteness. This isn't a final release; I still plan to add tab completion
> and the ability to rebind stdin/stdout to objects so that textual
> debuggers, browsers, etc can be added on at a later date.
>
> Password has been changed to "foobar1", and will only accept connections
> from localhost (for security).
>
> > Works on windoze XP:
>
> Yay!
>
> Does anybody have time to try it on a Mac?

Works on 10.4.8 (ppc).  Thanks!

bubelah:~/Desktop sge$ telnet localhost 4445
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Password:

  (\   /)
    @ @       Squeak3.9 of 7 November 2006 update 7067
  == o ==            Type 'help' for help.

: help
 Type in any Smalltalk expression and I will evaluate it.
 Some useful commands:
         Process allInstances - list all processes
         aProcess suspend - suspect a process
         bindings - list all current variable bindings
         AClass selectors - list all selectors a class has
         exit - exit this interpreter
: TcpService class selectors
an IdentitySet(#on:named:priority: #services #serviceOnPort: #startOn:
#initialize #serviceOnPort:ifAbsent: #startOn:named:priority:
#on:priority: #on: #on:name d: #startOn:named:)
: Xyz selectors
  ^^^ Error: Compilation error (a REPL)
: Process allInstances
an Array(a Process in Delay class>>timerInterruptWatcher a Process in
Delay>>wait a Process in WeakArray class>>finalizationProcess a
Process in [] in BlockContext>>newProcess {[self value.  Processor
terminateActive]} a Process in [] in BlockContext>>newProcess {[self
value.  Processor terminateActive]} a Process in
EventSensor(InputSensor)>>userInterruptWatcher a Process in
Delay>>wait a Process in SystemDictionary>>lowSpaceWatcher a Process
in ProcessorScheduler class>>idleProcess a Process in [] in
BlockContext>>newProcess {[self value.  Processor terminateActive]} a
Process in Semaphore>>waitTimeoutMSecs: a Process in nil a Pro cess in
Delay>>wait)
: 3 + 4
 7
: 100 factorial
93326215443944152681699238856266700490715968264381621468592963895217599993229915
608941463976156518286253697920827223758251185210916864000000000000000000000000
: exit
Connection closed by foreign host.
bubelah:~/Desktop sge$