[lively-kernel] Couple of question on Lively

Yoshiki Ohshima yoshiki at vpri.org
Sun Nov 27 08:19:50 CET 2011


At Fri, 25 Nov 2011 20:09:13 -0800,
Alan Kay wrote:
> 
> Hi,
> 
> The Chrome (with NaCl) environment is the first one in a browser that allows all levels of programming to be done and used without explicit downloading of a plugin.
> 
> We (Viewpoints) have gotten many things running as tests in the Native Client part of Chrome (including all of Squeak), so this is a great place for doing special things that will enhance
> Lively.

I have been pondering about what these "special things" with NaCl and
Lively might be.  (Yes, this sounds like a mix of technologies looking
for a problem and could be a bad way to find a problem and solution,
but ...)

One obvious thing would be directly enhance the performance by
providing "C-speed (with SSE)" for performance critical computation
(and if NaCl is not enabled, it still runs, just slowly).

Next would be to run legacy code without taxing the server.  This
would Require some work to "port" the legacy code.  NaCl does run in
the browsers security model (unfortunately), so it cannot provide
interface to hardware; as Dan wrote, there still would have to be a
separated app for it.

What I want to do is to make the NaCl environment an "appendage of the
server";  A part of computation on the server is forked off on the client
computer and talk to the local JavaScript environment more closely.
For this to work nicely, however, it'd be nicer if the NaCl process is
"between" the browser and JS, and potentially the process survives
even if you reload the page.  But right now, the NaCl is basically "on
top of" JS, and the state is wiped-out when the page is reloaded  (The
appendage is just chopped off, so to speak.)

One more bit of trick I can think of is to run another JavaScript
environment in NaCl; the upside of this would be to have a completely
separated address space for your program.  Lively Kernel currently
seemingly does a good job of not hard-crashing easily even when the
programmer is trying self-rewriting code.  But if such code is
literally isolated in another address space, it would be much safer to
experiment.  (Though most of this safely can be provided by browser
tabs.)

-- Yoshiki


More information about the lively-kernel mailing list