this post was submitted on 05 Feb 2025
11 points (100.0% liked)
Programming
13463 readers
18 users here now
All things programming and coding related. Subcommunity of Technology.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I've made some contributions to Goblins and Hoot and am close with the members of Spritely in several ways so I have a good idea how they work.
Goblins is not directly related to WebAssembly, but it can now run in WebAssembly through Guile Hoot.
Hoot is one of Spritely's projects, and it's a way to run Guile Scheme, a lisp programming language, in the browser by compiling it into WebAssembly which is a web standard that lets you run code from many different programming languages (C++, Rust, Zig, etc) in the browser.
Goblins is a framework/library written in Guile Scheme that lets you write programs that are transactional, secure and distributed, because it abstracts away the complexities related to communicating across servers, synchronizing transactions, and distributing secure capabilities. It is strongly based on the well researched concept of Object Capability Security, which is well described in their whitepaper.
The goal of Goblins is to be able to create regular programs that can be distributed across networked machines/servers/clients easily without having to architect your code explicitly to handle the details of communication across the network. This allows for unlimited types of "secure collaboration", apps that can be social (think apps like Google Docs, but distributed and open source) Everything in Goblins runs inside multiple "vats" and these vats can communicate with each other with transactions locally or over the network--the code is the same both ways.
The goal of Hoot is to be able to run Goblins (and many other programs written in Guile) in the browser, so that programs written with Goblins can be easily run by users. If you like the language Guile, Scheme or lisps in general it's a really great project for getting code into the web browser!
I also recommend watching Christine Lemmer-Webber's talks about Goblins, they are very fun!
Ah! So a new MPI!
Any big packages, like AMBER or CHARMM, picking it up?
It's not really like MPI. It's more oriented towards writing social software that communicates over the Internet, as a next step beyond ActivityPub. You could use it for a lot of things, but one example is to write federated software like Lemmy where you have lots of instances communicating with each other. But it makes things more flexible, you can really make any sort of social app with it.
Ah, thank you!
I appreciate you efforts to both explain to me and contribute to open source.