5 ms·
Excellent article -- Liam Proven does it again! Speaking of a big Plate of Shrimp -- https://www.youtube.com/watch?v=rJE2gPQ_Yp8 https://www.youtube.com/watch?
by DonHopkins 3y ago
Excellent article -- Liam Proven does it again!
Speaking of a big Plate of Shrimp -- https://www.youtube.com/watch?v=rJE2gPQ_Yp8 https://www.youtube.com/watch?v=rJE2gPQ_Yp8 ...
The incredible Smalltalk developer Vanessa Freudenberg -- who besides being Croquet's devops person, also developed Squeak Smalltalk, EToys, Croquet, and the SqueakJS VM written in JavaScript, and worked extensively with Alan Kay -- was just tweeting (yeah, it's ok to deadname Twitter!) about reviving Croquet from 20 years ago:
https://twitter.com/codefrau/status/1738778761104068754 https://twitter.com/codefrau/status/1738778761104068754
Vanessa Freudenberg @codefrau
I've been having fun reviving the Croquet from 20 years ago using @SqueakJS . It's not perfect yet, but a lot of the old demos work (sans collaboration, so far). This is pretty close to the version Alan Kay used to give his Turing Award lecture in 2004:
https://github.com/codefrau/jasmine https://github.com/codefrau/jasmine
Live version: https://codefrau.github.io/jasmine https://codefrau.github.io/jasmine
This is a version of Croquet Jasmine running on the SqueakJS virtual machine. Here is an early demo of the system from 2003. Alan Kay used it for his Turing Award lecture in 2004. While working on that demo, David Smith posted some blog entries (1, 2, 3, 4, 5), with screenshots uploaded to his Flickr album.
This is work-in-progress. Contributions are very welcome.
— Vanessa Freudenberg, December 2023
Dan Ingalls @daningalls
Yay Vanessa! This is awesome. These are mileposts in our history that now live again!
https://twitter.com/codefrau/status/1526618670134308864 https://twitter.com/codefrau/status/1526618670134308864
Vanessa Freudenberg @codefrau 7:40 PM · May 17, 2022
My company @CroquetIO announced #MicroverseBuilder today.
Each microverse is "just" a static web page that you can deploy anywhere, but it is fully 3D multiplayer, and can be live-coded. Portals show and link to other developer's worlds.
This is our vision of the #DemocratizedMetaverse as opposed to the "Megaverses" owned by Big Tech.
It runs on #CroquetOS inside your browser, which provides the client-side real-time synchronized JS VMs that you already know from my other posts.
#MicroverseBuilder is in closed alpha right now because we don't have enough #devrel people yet (we're hiring!) but you can join our Discord in the mean time and the open beta is not far away.
We are also looking for summer interns! #internships
https://www.youtube.com/watch?v=CvvuAbjh11U https://www.youtube.com/watch?v=CvvuAbjh11U
And of course #CroquetOS itself is already available for you to build multiplayer apps, as is our #WorldcoreEngine, the game engine underlying #MicroverseBuilder.
Learn more at https://croquet.io/docs/ https://croquet.io/docs/ and let's get hacking :)
And as of today, #MicroverseBuilder is Open Source!
- lproven 3y agoThanks Don! This is my original submission from back at the time: https://news.ycombinator.com/item?id=35302162 https://news.ycombinator.com/item?id=35302162 HN really needs a better automatic-deduplication engine. E.g. If the same link is posted again months later, mark the original post as new again with an upvote, and the caption (if changed) as a comment...
- codefrau 3y agoHaha, thanks for the plug, Don! I just fleshed out the README for my Croquet resurrection yesterday so others may have an easier time trying it. It maybe even contribute :) https://github.com/codefrau/jasmine https://github.com/codefrau/jasmine
- DonHopkins 3y agoVanessa, it has always amazed me how you managed to square the circle and pull a rabbit out of a hat by the way you got garbage collection to work efficiently in SqueakJS, making Smalltalk and JavaScript cooperate without ending up with two competing garbage collectors battling it out. (Since you can't enumerate "pointers" with JavaScript references by just incrementing them.) https://freudenbergs.de/bert/publications/Freudenberg-2014-SqueakJS.pdf https://freudenbergs.de/bert/publications/Freudenberg-2014-S... >The fact that SqueakJS represents Squeak objects as plain JavaScript objects and integrates with the JavaScript garbage collection (GC) allows existing JavaScript code to interact with Squeak objects. [...] >• a hybrid garbage collection scheme to allow Squeak object enumeration without a dedicated object table, while delegating as much work as possible to the JavaScript GC, Have you ever thought about implementing a Smalltalk VM in WebAssembly, and how you could use the new reference types for that? https://bytecodealliance.org/articles/reference-types-in-wasmtime https://bytecodealliance.org/articles/reference-types-in-was...
- codefrau 3y agoI would like to speed up some parts of SqueakJS using web assembly. For example BitBlt would be a prime target. For the overall VM, however, I’ll leave that to others (I know Craig Latta has been making progress). I just love coding and debugging in a dynamic high-level language. The only thing we could potentially gain from WASM is speed, but we would lose a lot in readability, flexibility, and to be honest, fun. I’d much rather make the SqueakJS JIT produce code that the JavaScript JIT can optimize well. That would potentially give us more speed than even WASM. Peep my brain dumps and experiments at https://squeak.js.org/docs/jit.md.html https://squeak.js.org/docs/jit.md.html