Hi,
I have just entered this list because I want to find out how I can use
Spoon for my next BabyUML experiment.
README:
/Double-click the "spoon.bat" file. This will start the Spoon
processor, which starts a local web server.
/OK/
In the "naiad" folder are components for remote browsing and inspecting
of the Spoon memory from a Squeak 3.9 system (they probably work with
earlier systems as well). To use them, first start the Spoon system as
described above.
/OK
/Then start the "naiad" application with the object memory of your choice.
/Squeak3.9/naiad OK/
Then, file in "naiad.st", and load the "naiad.pr" project.
/OK. Poject with violet playfield (nice :-) ) and a workspace.
/"Hi; here are a few expressions to get you started with remote browsing."
"Make sure you've filed in 'naiad.st' first."
Smalltalk
at: #ExampleWormholeServer
put: (WormholeServer atPort: 9999).
/Looks OK/
//
/ "/Make sure you've started the minimal memory first."
ExampleWormholeServer connectToPort: 7777 atHostNamed: 'localhost'./
Fails. Executing the expression hangs with Wormhole>>peer being nil.
The Spoon image is open in a window, but that window is empty and I
cannot find any menus or command lines.
*Perhaps I should start the /minimal memory/ first, but how?? *
I'm not good at reading instructions, so I may have missed something.
Any pointer will be welcome.
Thanks
--Trygve
This is exciting!
--Trygve
--
Trygve Reenskaug mailto: trygver(a)ifi.uio.no
Morgedalsvn. 5A http://folk.uio.no/trygver
N-0378 Oslo Tel: (+47) 22 49 57 27
Norway
Hi--
I've just started following up on an idea I mentioned a while ago,
a mechanism for storing and restoring past versions of methods and
classes. It effectively replaces the traditional changes and sources
files, and is used by the module system to perform module unloading.
When a system wants to store a method or class (for example, when
it is about to overwrite an old method with a newly-compiled version),
it makes a request via remote message to an entirely separate object
memory dedicated to archival (which may also perform archival for any
number of other systems). Methods, classes, and metadata about them
(such as author and source code) are stored as objects. The archival
system snapshots itself after every addition (not a big deal since it's
relatively small). I think having a real system available to help with
version browsing and crash recovery, as opposed to a text file, will be
a lot more powerful.
Modules use the archival system during loading to keep track of the
components they happen to replace (old methods and classes). Each module
creates an "antimodule" which, when installed, reverts the system to the
way it was before installing the module, drawing upon the old components
stored in the archive. Note that the antimodule for a given module
varies depending on the state of the system into which it is installed.
This seems to highlight the advantage of using live negotiating objects
to convey behavior, rather than static files.
As always, I very much welcome questions and feedback!
The Spoon project website is http://netjam.org/spoon/.
thanks,
-C
--
Craig Latta
improvisational musical informaticist
www.netjam.org
Smalltalkers do: [:it | All with: Class, (And love: it)]
Hi--
I've successfully performed a search for online modules with Naiad
(Spoon's module system).
The links in the initial Spoon welcome webpage now include a
"search" link. When you click on it, you get a page with a form on it,
with an input field for each module attribute (id, name, author,
summary, description, version, license, date, and website) and a
"submit" button. You can fill in each field with a pattern to match
(e.g., "*ello*orld").
When you click the button, the local Spoon system creates a filter
from the form's information, and collects descriptions of all the
matching modules from all the module-serving remote Spoon systems that
are online at the time. From these descriptions, the local Spoon system
creates a webpage summarizing each matching module, including Naiad
links. When you click on a Naiad link for a module, the module is
installed from a system serving it.
Any Spoon system can register itself as a module-serving system by
contacting one of several root servers, whose contact information is
hardwired into the release (perhaps supplemented in the future by info
from public web search engines).
For offline sources of modules, I imagine authors will create web
pages that get indexed by public web search engines. Clients would then
simply download entire object memory snapshots and install modules from
them locally later, without using the wide-area network.
The set of Naiad module servers currently consists of a single
machine (metronome.netjam.org), with one trivial module available. Soon
I'll be looking for volunteers who can make additional machines
available to join the set. In general, I imagine there will be a handful
of well-connected, always-on machines that can serve most of the popular
modules, and many personal machines which intermittently serve
works-in-progress.
A new release is coming soon, so you can try all this out. Once
this stuff is working for everyone, we can distribute the task of
creating modules for turning Spoon into something widely useful (e.g.,
"Squeak 4").
thanks again,
-C
--
Craig Latta
improvisational musical informaticist
www.netjam.org
Smalltalkers do: [:it | All with: Class, (And love: it)]