On Sun, Oct 26, 2014 at 11:59 AM, Levente Uzonyi <leves@elte.hu> wrote:
On Sun, 26 Oct 2014, Eliot Miranda wrote:

On Oct 26, 2014, at 8:58 AM, stepharo <stepharo@free.fr> wrote:

Yes, I'm very excited.  It's so great to have strong collaborators like Clément, Ronie, Doug and Tim.  But there's lots of room for more to join us.  For a really cool project how about grabbing Bert Freudenberg's VMMakerJS Squeak-vm-on-JavaScript, extract the event handling and rendering part and connect it to the Cog VM via sockets to give us a really fast web plugin?

I thought that the event handling was what JB is doing with the idle process on android.

These are two different, but closely related things.  The event-driven VM and idle process work gives us better event handling (no event queue, important for better integration with GUIs) and a cheaper VM at idle (the CM blocks awaiting an event instead of spinning calling a shirt delay).

Just a friendly reminder before someone starts to reinvent the wheel: the event-driven VM already exists.

Proposal: http://lists.squeakfoundation.org/pipermail/vm-dev/2009-November/003385.html
Announcement: http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003684.html
Repo: https://code.google.com/p/squeak-android-vm/
StackVM variant with other improvments: https://code.google.com/p/squeakvm-tablet/

It still needs integrating.  AFAIA JB's version for Android is the most up-to-date version.


To embed the system in a web browser one needs both to render to the browser window and to receive mouse and keyboard events from the window.

So the "plugin" must be connected to the VM's event subsystem e.g. by a socket.  Just as the VM's graphics subsystem must output to the browser window.  There are lots of ways to slice this and it will likely be different for BitBlt and Athens.

Eliot (phone)