IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Smalltalk runtimes need not be large
[link|http://www.netjam.org/spoon/|http://www.netjam.org/spoon/]

I was motivated to create a Smalltalk system that had only what it needed to start and extend itself, so that newcomers could install and run the system quickly and easily.

I've developed a minimal system which can install itself from a single web page visit. It's a webpage that, when visited, downloads an installer program and runs it. The installer program downloads a snapshot and virtual machine, then decompresses and runs the virtual machine. The virtual machine decompresses and loads the snapshot, and the snapshot updates itself. The installer is 60KB, the virtual machine is 125KB, and the snapshot is 91KB, for a total of 276KB (or about ten seconds of download time with a typical broadband connection).

An interesting intermediate result of this work has been "imprinting", the transfer of behavior from one system to another as a side-effect of running it.

Spoon is derived from Squeak, but I intend it as an exemplar of its critical ideas for any software system (those ideas being minimalism, and synchronization by direct negotiation). I happen to be using Squeak currently because it's the most flexible option. Spoon uses a reduced version of flow, a streaming and networking framework I wrote, and other (as in "self and other" :), a remote message-sending framework I wrote.

Key to the small size of the Spoon snapshot is the ability to unload compiled methods and method dictionaries on demand, swapping them back in automatically and seamlessly from an update server (also implemented with Spoon) when messages requiring them are sent. A list of surviving behaviors is available, as is a list of behaviors that have had all their compiled methods successfully swapped out and reloaded. I have also developed tools that operate on one snapshot from another, using remote message-sending. For example, I have a system browser that browses classes in a remote headless system.



"Whenever you find you are on the side of the majority, it is time to pause and reflect"   --Mark Twain

"The significant problems we face cannot be solved at the same level of thinking we were at when we created them."   --Albert Einstein

"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses."   --George W. Bush
New Sounds fabulous. I hope the world showers you with ...
good stuff. :-)

Cheers,
Scott.
New Its not me - I was quoting
but I hope it continues.



"Whenever you find you are on the side of the majority, it is time to pause and reflect"   --Mark Twain

"The significant problems we face cannot be solved at the same level of thinking we were at when we created them."   --Albert Einstein

"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses."   --George W. Bush
     I've just discovered the wonders of .NET - (Another Scott) - (7)
         Java clone with all the libraries - (tonytib)
         Look on the bright side - (altmann) - (1)
             Thanks for reminding me. Good old MS. <rolls eyes> :-) -NT - (Another Scott)
         .NET **wishes** it was the SmallTalk framework.... -NT - (jb4)
         Smalltalk runtimes need not be large - (tuberculosis) - (2)
             Sounds fabulous. I hope the world showers you with ... - (Another Scott) - (1)
                 Its not me - I was quoting - (tuberculosis)

This was a random error that most likely occurred when a ray of cosmic radiation hit a memory chip at just the right angle resulting in a bit changing from a 0 to a 1.
136 ms