Re: [Pharo-users] PharoJS
Hi-- Aik-Siong writes:
Craig Latta is doing something interesting[1] with SqueakJS which is an optimized Smalltalk VM in JavaScript and HTML5. It is supposedly able to run Smalltalk fast inside the browser and access the JavaScript world freely. I think this route will benefit greatly from WebAssembly.
I'm also making it run Pharo. thanks, -C [1] https://caffeine.js.org -- Craig Latta Black Page Digital Amsterdam :: San Francisco craig@blackpagedigital.com +31 6 2757 7177 (SMS ok) + 1 415 287 3547 (no SMS)
Craig: Great news for Pharo. I presume it will be after you are done with Squeak running on SqueakJS. Do you have a roadmap. How will WebAssembly help or not with project? All the best, Aik-Siong -- View this message in context: http://forum.world.st/Re-PharoJS-tp4952267p4952832.html Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
Hi Aik-Siong--
Great news for Pharo. I presume it will be after you are done with Squeak running on SqueakJS.
Now that I've gotten a release of Caffeine out[1], and written some blog posts about it[2], I've turned my attention to Pharo in web browsers. I also want Squeak and Pharo in web browsers to communicate with their native counterparts, and with other Smalltalks. My goal is a federation of live collaborating Smalltalk nodes on the net. I also have SqueakJS controlling and reprogramming NodeJS instances.
Do you have a roadmap?
Bert and I worked on it a bit at ESUG 2016, and it was going alright. Very conservatively, I expect to have it finished this year sometime.
How will WebAssembly help or not with project?
I think WebAssembly will enable us to run Cog, with the usual web security compromises. That's also something I'm interested in working on. It may make the SqueakJS virtual machine obsolete. thanks, -C [1] https://caffeine.js.org [2] https://thiscontext.com -- Craig Latta Black Page Digital Amsterdam :: San Francisco craig@blackpagedigital.com +31 6 2757 7177 (SMS ok) + 1 415 287 3547 (no SMS)
Well, that didn't take as long as I thought. :) Probably due to progress Bert made since we looked at it at ESUG 2016. For more details, see https://tinyurl.com/y727fz4a (thiscontext.com). Let the bugfixing begin. :) thanks again, -C -- Craig Latta Black Page Digital Amsterdam :: San Francisco craig@blackpagedigital.com +31 6 2757 7177 (SMS ok) + 1 415 287 3547 (no SMS)
WOW!!! Thank you all very much for this effort. -- Pavel 2017-06-29 18:56 GMT+02:00 Craig Latta <craig@blackpagedigital.com>:
Well, that didn't take as long as I thought. :) Probably due to progress Bert made since we looked at it at ESUG 2016.
For more details, see https://tinyurl.com/y727fz4a (thiscontext.com). Let the bugfixing begin. :)
thanks again,
-C
-- Craig Latta Black Page Digital Amsterdam :: San Francisco craig@blackpagedigital.com +31 6 2757 7177 (SMS ok) + 1 415 287 3547 (no SMS)
On 29 Jun 2017, at 19:14, Pavel Krivanek <pavel.krivanek@gmail.com> wrote:
WOW!!!
+10
Thank you all very much for this effort.
-- Pavel
2017-06-29 18:56 GMT+02:00 Craig Latta <craig@blackpagedigital.com>:
Well, that didn't take as long as I thought. :) Probably due to progress Bert made since we looked at it at ESUG 2016.
For more details, see https://tinyurl.com/y727fz4a (thiscontext.com). Let the bugfixing begin. :)
thanks again,
-C
-- Craig Latta Black Page Digital Amsterdam :: San Francisco craig@blackpagedigital.com +31 6 2757 7177 (SMS ok) + 1 415 287 3547 (no SMS)
If I understand it well, for a local copy we need: clone repository: git clone git@github.com:ccrraaiigg/ccrraaiigg.github.io.git inside the clone to run a webserver, e.g.: python -m SimpleHTTPServer 9090 then go to: http://localhost:9090/pharo/squeakjspharo.html -- Pavel 2017-06-29 18:56 GMT+02:00 Craig Latta <craig@blackpagedigital.com>:
Well, that didn't take as long as I thought. :) Probably due to progress Bert made since we looked at it at ESUG 2016.
For more details, see https://tinyurl.com/y727fz4a (thiscontext.com). Let the bugfixing begin. :)
thanks again,
-C
-- Craig Latta Black Page Digital Amsterdam :: San Francisco craig@blackpagedigital.com +31 6 2757 7177 (SMS ok) + 1 415 287 3547 (no SMS)
Craig Latta wrote
For more details, see https://tinyurl.com/y727fz4a
Cool! A few things: - There is a very noticable lag (e.g. ~5 seconds to open an "About" window). Any idea what it would take to deliver performance levels that feel more native? - I wonder how Tether compares to Denis' Seamless - I was going to ask the same question for Naiad vs Epicea, but after reading on your blog, it seems Naiad is much more ambitious than simply tracking changes - I got a few errors off the bat - UnixResolver>>#cantFindOriginError from #getEnvViaFFI - "The primitiveFetchMourner is missing. Please upgrade your virtual machine..." ----- Cheers, Sean -- View this message in context: http://forum.world.st/Re-PharoJS-tp4952267p4962614.html Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
Hi Sean--
Cool!
A few things: - There is a very noticeable lag (e.g. ~5 seconds to open an "About" window). Any idea what it would take to deliver performance levels that feel more native?
The next big step is getting a WebAssembly version of Cog running. Until then, we're riding the performance improvements in the web browser JavaScript engines. At the moment, Chrome seems a lot faster than the others. Bert's just-in-time translation of compiled methods to JS (which the web browser's JS engine then translates to native code) helped a lot.
- I wonder how Tether compares to Denis' Seamless
I think Tether's serialization takes more advantage of the fact that the participants are live Smalltalk systems with many of the same objects already in all locations. Tether also attempts to allow remote messages with parameters from multiple object memories (e.g., in a context on machine A, a message is sent to an object on B, with parameters on C and D).
- I was going to ask the same question for Naiad vs Epicea, but after reading on your blog, it seems Naiad is much more ambitious than simply tracking changes
Yes, Naiad is ultimately a deployment vehicle, enabling the accurate construction and deconstruction of systems. I want a coherent way to release apps and work in teams, livecoding all the time.
- I got a few errors off the bat - UnixResolver>>#cantFindOriginError from #getEnvViaFFI - "The primitiveFetchMourner is missing. Please upgrade your virtual machine..."
Mm, I haven't delved into any of the non-fatal Pharo errors yet. :) thanks! -C -- Craig Latta Black Page Digital Amsterdam :: San Francisco craig@blackpagedigital.com voice through 2017-09-12: + 1 510 833 5799 (SMS ok) +31 20 893 2796 (no SMS)
participants (5)
-
askoh -
Craig Latta -
Pavel Krivanek -
Sean P. DeNigris -
Sven Van Caekenberghe