I don't know about you, but there's a lot about the world today that worries me. I don't think building decentralized versions of Web 2.0 era social networks is going to get us there.
We need tech that's secure, that's robust.
We need tech that's participatory.
We need tech for you and me.
One of the things I'm most proud of about the fediverse is that it owes its success to a lot of queer people working on it. This lead to the fediverse being very queer itself. I'm proud of that.
Maybe it's weird to say, but that seems to be happening again with Spritely.
We need to change the game so that it's easy to run decentralized tech that doesn't just scale up, it scales down.
We need decentralized tech that's easy to build and reason about.
We need tech that's safe.
And we need tech that's cooperative.
I don't know about you, but there's a lot about the world today that worries me. I don't think building decentralized versions of Web 2.0 era social networks is going to get us there.
We need tech that's secure, that's robust.
We need tech that's participatory.
We need tech for you and me.
Why all this? Why the video games? Why the weird low-level tech! Why not just focus on writing some new higher-level software?
LOTS of people are writing great high-level software right now! That's good. But right now we need new foundations.
We need to change the game.
We need to change the game so that it's easy to run decentralized tech that doesn't just scale up, it scales down.
We need decentralized tech that's easy to build and reason about.
We need tech that's safe.
And we need tech that's cooperative.
The good news is that Hoot means that Spritely's programs are coming to the browser!
Hey, remember when I said you can get your name in Spritely's video game credits by donating?
You can go play a Goblins-based video game RIGHT NOW in your browser, thanks to Hoot! https://davexunit.itch.io/cirkoban
Why all this? Why the video games? Why the weird low-level tech! Why not just focus on writing some new higher-level software?
LOTS of people are writing great high-level software right now! That's good. But right now we need new foundations.
We need to change the game.
The other big piece of Spritely tech is Hoot, our Scheme-to-WebAssembly compiler. This helps us get our tech to everyone!
But Hoot is more than that! It's an all-around WASM toolkit!
The good news is that Hoot means that Spritely's programs are coming to the browser!
Hey, remember when I said you can get your name in Spritely's video game credits by donating?
You can go play a Goblins-based video game RIGHT NOW in your browser, thanks to Hoot! https://davexunit.itch.io/cirkoban
OCapN is both old tech (it's based on CapTP from E, the same language the EC Habitat game used) and new; we're collaborating on making this a standard everyone can use at https://ocapn.org/
Goblins abstracts the network though. You usually never even need to think about it! Just do ordinary programming!
The other big piece of Spritely tech is Hoot, our Scheme-to-WebAssembly compiler. This helps us get our tech to everyone!
But Hoot is more than that! It's an all-around WASM toolkit!
Goblins is deeply integrated with its network protocol OCapN (the Object Capability Network).
CapN supports wild things like:
- distributed, efficient capabilty security
- sending messages to objects before they even exist (promise pipelining!)
- distributed garbage collection
- and much more!
OCapN is both old tech (it's based on CapTP from E, the same language the EC Habitat game used) and new; we're collaborating on making this a standard everyone can use at https://ocapn.org/
Goblins abstracts the network though. You usually never even need to think about it! Just do ordinary programming!
Goblins is fully transactional. Remember when we said it supports "time travel"? Here's a terminal-based space shooter built on Goblins. As you can see, we can roll backwards and forwards in time!
Not a single line of gameplay code was added to support time travel, because Goblins supports it!
Goblins is deeply integrated with its network protocol OCapN (the Object Capability Network).
CapN supports wild things like:
- distributed, efficient capabilty security
- sending messages to objects before they even exist (promise pipelining!)
- distributed garbage collection
- and much more!
Goblins takes care of so many of the hard parts of distributed programming for you. It abstracts them, so you can focus on the program you want to build!
This is a big game changer. And it's the essential foundation for everything else we're doing.
Goblins is fully transactional. Remember when we said it supports "time travel"? Here's a terminal-based space shooter built on Goblins. As you can see, we can roll backwards and forwards in time!
Not a single line of gameplay code was added to support time travel, because Goblins supports it!
Here's where the first piece of @spritely@social.coop's tech comes in: Spritely Goblins!
Goblins is a capability-security-by-default distributed programming environment. It supports:
- p2p programming (by default!)
- a time traveling debugger
- a powerful serialization framework
- & much more!
Goblins takes care of so many of the hard parts of distributed programming for you. It abstracts them, so you can focus on the program you want to build!
This is a big game changer. And it's the essential foundation for everything else we're doing.