Hi--
Just a few notes about the current user interface for Naiad, Spoon's
module system. Comments welcome (keep in mind that Matt Hamrick is
working on security aspects, and I don't address them here).
At the moment I'm about to perform the first HTTP-instigated
synchronization of two object memories. The idea is...
- The user starts a minimal Spoon system on localhost via a web browser
(e.g., the 2003 "relief" demo, if you remember that).
- That local Spoon system starts a webserver.
- The user's web browser is redirected to the local Spoon's webserver;
the user is greeted with a message saying that Spoon is running locally.
- The user visits some other external website that lists available
modules. Such a website has a bunch of URLs of the form
"http://localhost:<port>/<command>", where <port> is some agreed-upon
port on which each local Spoon web server listens, and <command> is a
text-encoded bitstream that the local Spoon webserver understands.
One of the commands is "load a module"; included in bits of such a
command are the module ID (a UUID) and provider hostname/port for an
available module. The local Spoon system, having received the command,
makes a remote-message-sending connection to the providing machine, and
synchronizes itself with a providing object memory. Initially the local
Spoon system reports on the success of the command via its web server's
responses; later, after the appropriate UI modules are loaded, it can
just provide feedback with a normal GUI in its own separate host window.
(There are other URL-delivered commands for quitting, making a
snapshot, viewing currently-installed modules, etc.)
thanks,
-C
--
Craig Latta
improvisational musical informaticist
www.netjam.org
Smalltalkers do: [:it | All with: Class, (And love: it)]
Hi--
I've reduced the size of the smallest snapshot[1] a bit, to 1,337 bytes
(actually 1,108 bytes with padding added for humor value[2] :). You can
also see a visualization of it[3].
-C
[1] http://netjam.org/spoon/smallest.image
[2] google "1337"
[3] http://netjam.org/spoon/smallest.gif
--
Craig Latta
improvisational musical informaticist
www.netjam.org
Smalltalkers do: [:it | All with: Class, (And love: it)]
Hi all--
I've reached a new minimum snapshot size (167,224 bytes uncompressed,
the previous one from 2003 was 211,504 bytes uncompressed).
That's for a system which supports remote browsing. I've also conceived
a new design for the system tracer, one that implements it as a feature
of the simulator (which didn't exist when the current tracer was
written). With this tracer one will be able to write new snapshots
without having to trace the object memory in which the tracer is
running, and with certainty that every object in the result was required
for an interpreter to function.
I suspect that the smallest "graceful" object memory (e.g., one that
just quits) will be something like 1000 bytes. Using Spoon's object
memory visualization tools, I've noticed that even the "3 plus 4"
snapshot from the Fenix project (15,192 bytes uncompressed) has a lot of
unnecessary stuff in it (e.g., Characters).
thanks,
-C
http://netjam.org/spoon
--
Craig Latta
improvisational musical informaticist
www.netjam.org
Smalltalkers do: [:it | All with: Class, (And love: it)]