Some major things came out of my hacking-while-traveling the last few days. Should result in some major steps towards a cleaner design for the ocap-actor model layer of Spritely. I'm excited.


Basically, I wrote a purely functional version of E's semantics. It was inspired by my gamedev experimentations over the weekend (including the work on the anniversary gift.)

My god, I have so much to blog about! And I haven't even sent out the official release announcement about Spritely Crystal even though it's basically done...

OTOH this means that I'm already a huge portion of the way towards the next Spritely demo.

I've been mostly offline while hacking + traveling. Now I'll pull down my email...

"got message 30 of 931"

oh god nope nope nope

I'm so torn! The idea space right now is an embarrassment of riches. I want to get a game online that works with stuff the way it is, but there's so much shiny!

The doc I started today is an API for an adapter to arbitrary storage and network schema where a plug-in advertises its capabilities to the adapter. Anything I should read before I commit?

@yaaps will probably be a few days before I start writing docs

In the meanwhile, do you use racket? If so I recommend the "Jay McCarthy" stack: lux, dos, mode-lambda, raart

Oh, I'm talking more about OCaps and theory in the backend

Players in text and html based games supported multiple custom clients in communities with fewer than 200 players before official APIs were a thing. I'm going to rewrite the output to JSON, embed it in ActivityPub, run out the wires, and let them go ham.

Server developers say ActivityPub is too complicated for client developers? No value in AP C2S because there's no clients? Hold my 🍺. 😂

@yaaps @cwebber I made experiments last month on the C2S API with Pleroma. I didn't find any difficulties in writing a prototype client (in html+js). Though, I found bugs in the Pleroma implementation of the server-side C2S API.

Unless something changed in the last year, that's not the ActivityPub C2S protocol. It's the Mastodon API with some additional endpoints. It uses a REST API to provide context for processing ActivityPub objects rather than using ActivityPub, itself to do that. You send the id you want to follow to the follow end point instead of sending a follow Activity to your outbox

@yaaps @cwebber I only tested posting Create activities (and only notes) to the outbox declared in the application/activity+json resource pointed by the WebFinger protocol. I didn't used any of the Mastodon API.
It somewhat works, but with bugs (the audience is changed and unwrapped objects sent to the endpoint are not translated into corresponding Create activities), so I haven't tested yet the other activities like Follow, Like, Announce or Delete. Furthermore, there are also problem when getting the inbox and outbox.

@Feufochmar @cwebber
The fact that it works at all is a bug :newlol:

That's all good. The value and care kaniini shows their team is the best thing about the project

I suspect that wrapping any Object in a Create wrapper for a Pleroma Outbox would persist a copy of that Object, but that only Notes will have the side effects expected of an ActivityPub implementation. If you get curious, please let me know what happens. It's on my to-do, but priorities...

"The fact that it works at all is a bug" is def my quote of the day...

@cwebber @Feufochmar
Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!