↳ 📓 Subnode [[@flancian/activity pub]]
-
a [[protocol]].
- #pull [[activitypub]]
- a facet of the [[agora protocol]] is meant to build on top of (extend?) [[activitypub]]
ActivityPub & Communecter
Informations générales
Comment utiliser ActivityPub
Pour utiliser ActivityPub (AP) vous devrez avoir un acteur accessible en public. Le format de votre acteur doit être en JSON-LD. Votre acteur doit ressembler à ceci : exemple acteur sur le site communecter partir développement.
L'id doit correspond à l'URL du document, tous les liens doit être en HTTPS.
Vous aurez besoin d'une inbox car les instances qui utilisent AP ont besoin reconnait un acteur si celui-ci possède une inbox. Chaque acteur nécessite une publicKey et une privateKey qui peut être généré avec openssl.
JSON ne prend en charge les sauts de ligne, on doit remplacer les sauts de ligne par \n (pour la partir publicKeyPEM).
Le Webfinger permet de demandé à un site web "Avez vous un utilisateur avec ce nom d'utilisateur" et de recevoir des liens de ressource en réponse. Le noeud finale d'un Webfinger se trouve toujours en /.well-known/webfinger et recevoir des requêtes tel que /.well-known/webfinger?resource=acct:name@ my-example.com
Pour pouvoir envoyé un message (par exemple avec le verbe "Create"), il est nécessaire d'avoir la inbox de la personne concerné et d'utiliser un HTTP signature qui permettra de savoir si l'acteur qui souhaite envoyer un message est le bon. Une signature HTTP s'agit d'un en-tête HTTP signé par la paire de clés RSA. Pour avoir plus d'information sur la création d'une signature HTTP, référencier vous le lien suivant partir HTTP signature : [How to implement a basic ActivityPub server(https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/).
Liens pratique :
- Setting Up a WebFinger Server
- How to implement a basic ActivityPub server
- ActivityPub W3
- Decentralizing Social Interactions with ActivityPub
Développement en cours (Tony et Pierre)
Réalisation d'un acteur AP sur Communecter
J'ai crée une api qui permet de généré un acteur AP sur communecter, vous pouvez trouvez un exemple en cliquant ici. Petit précision : la publicKey est en format brute. Comment sa fonctionne : Vous devrez indiquez dans le lien id de la personne ici : http://dev.communecter.org/api/activitypub/actor/id/ + userId.
Fichier modifier : TranslateActivityStream.php / Rest.php . Fichier crée : ActivityPubController.php / ActorAction.php .
Création d'un client mastodon
Nous avons crée avec Pierre un client mastodon qui permet de poster/récupéré les statuts/récupéré les followers/voir la timelines public en utilisant le REST API et en ce basant sur cette librairie mastodon.js par Kirschn. Vous pouvez retrouvez nos codes ici (gitlab.adullact) : mastodon_api
Test d'un serveur express-activitypub en nodejs
J'ai suivi ce tutoriel là pour pouvoir envyer un message sur mamot.fr : Decentralizing Social Interactions with ActivityPub. Pierre a détaillé plus en bas comment réaliser le tutoriel. Remarque constaté : Pour pouvoir voir un message sur mamot.fr, nous étions dans l'obligation de suivre notre acteur crée par express activitypub, sans cela, il nous est impossible de voir nos message dans le timeline. Ce problème est régurant quand on a tenté avec un compte pixelfed de communiqué avec mamot.fr.
La réalisation d'une inbox (non fonctionnelle)
Je me suis basé sur le script crée par Darius Kazemi sur son tutoriel Decentralizing Social Interactions with ActivityPub. Malheureusement je n'arrive pas à faire fonctionné mon inbox car je n'arrive pas a encodé la signature.
Création d'un client Mastodon
Utilisation de l'API mamot pour pouvoir afficher les timelines public, local, ajouter un post. Afin de pourvoir acceder a le page mastodon cliquer içi Join Mastodon Mon code source est disponible sur gitlab Code Source
Ajout d'un acteur ActivityPub sur l'API de communecter
Afin d'avoir un aperçus du format d'un acteur ActivityPub en ajoutant votre id a la fin du lien mon lien pour accéder à l'acteur
Test d'envoi d'un message sur mamot
-
Taper la commande
git clone [https://github.com/dariusk/express-activitypub.git](https://github.com/dariusk/express-activitypub.git)
dans votre terminal.- Installer ngrok, en suivante les instructions https://ngrok.com/download.
- Taper la commande
/.ngrok/http 3000
- Ensuite allez dans le dossier
express-activityPub
, modifier le dossierconfig.json
dans route. - Mettre un nom d'utilisateur
- Mettre un mot de passe
- Le port sera 3000, et le domain sera l'adresse en https de ngrok, mais il faut retirer le https, pour obtenir ceci exemple:
d40f1818.ngrok.io
- Taper la commande
node index.js
- Acceder a l'url du site en https et rajouter admin exemple:
[https://d40f1818.ngrok.io/admin](https://d40f1818.ngrok.io/admin)
- Crée un compte test saisissez le nom d'utlisateur et le mot de passe, ensuite il y aura des données qui seront générés, afficher le account WebFinger url, copier le suject sans la acct:
- Connecter vous a https://mamot.fr.
- Rechercher le webfinger url, cliquer sur le bouton pour follow.
- Ensuite saisir test dans account name, Copier coller l'API Key, et saisir votre message exemple : Hello world !
Et vous pourrez voir le message envoyer sur mtps://mamot.fr
ActivityPub & Communecter
Informations générales
Comment utiliser ActivityPub
Pour utiliser ActivityPub (AP) vous devrez avoir un acteur accessible en public. Le format de votre acteur doit être en JSON-LD. Votre acteur doit ressembler à ceci : exemple acteur sur le site communecter partir développement.
L'id doit correspond à l'URL du document, tous les liens doit être en HTTPS.
Vous aurez besoin d'une inbox car les instances qui utilisent AP ont besoin reconnait un acteur si celui-ci possède une inbox. Chaque acteur nécessite une publicKey et une privateKey qui peut être généré avec openssl.
JSON ne prend en charge les sauts de ligne, on doit remplacer les sauts de ligne par \n (pour la partir publicKeyPEM).
Le Webfinger permet de demandé à un site web "Avez vous un utilisateur avec ce nom d'utilisateur" et de recevoir des liens de ressource en réponse. Le noeud finale d'un Webfinger se trouve toujours en /.well-known/webfinger et recevoir des requêtes tel que /.well-known/webfinger?resource=acct:name@ my-example.com
Pour pouvoir envoyé un message (par exemple avec le verbe "Create"), il est nécessaire d'avoir la inbox de la personne concerné et d'utiliser un HTTP signature qui permettra de savoir si l'acteur qui souhaite envoyer un message est le bon. Une signature HTTP s'agit d'un en-tête HTTP signé par la paire de clés RSA. Pour avoir plus d'information sur la création d'une signature HTTP, référencier vous le lien suivant partir HTTP signature : [How to implement a basic ActivityPub server(https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/).
Liens pratique :
- Setting Up a WebFinger Server
- How to implement a basic ActivityPub server
- ActivityPub W3
- Decentralizing Social Interactions with ActivityPub
Développement en cours (Tony et Pierre)
Réalisation d'un acteur AP sur Communecter
J'ai crée une api qui permet de généré un acteur AP sur communecter, vous pouvez trouvez un exemple en cliquant ici. Petit précision : la publicKey est en format brute. Comment sa fonctionne : Vous devrez indiquez dans le lien id de la personne ici : http://dev.communecter.org/api/activitypub/actor/id/ + userId.
Fichier modifier : TranslateActivityStream.php / Rest.php . Fichier crée : ActivityPubController.php / ActorAction.php .
Création d'un client mastodon
Nous avons crée avec Pierre un client mastodon qui permet de poster/récupéré les statuts/récupéré les followers/voir la timelines public en utilisant le REST API et en ce basant sur cette librairie mastodon.js par Kirschn. Vous pouvez retrouvez nos codes ici (gitlab.adullact) : mastodon_api
Test d'un serveur express-activitypub en nodejs
J'ai suivi ce tutoriel là pour pouvoir envyer un message sur mamot.fr : Decentralizing Social Interactions with ActivityPub. Pierre a détaillé plus en bas comment réaliser le tutoriel. Remarque constaté : Pour pouvoir voir un message sur mamot.fr, nous étions dans l'obligation de suivre notre acteur crée par express activitypub, sans cela, il nous est impossible de voir nos message dans le timeline. Ce problème est régurant quand on a tenté avec un compte pixelfed de communiqué avec mamot.fr.
La réalisation d'une inbox (non fonctionnelle)
Je me suis basé sur le script crée par Darius Kazemi sur son tutoriel Decentralizing Social Interactions with ActivityPub. Malheureusement je n'arrive pas à faire fonctionné mon inbox car je n'arrive pas a encodé la signature.
Création d'un client Mastodon
Utilisation de l'API mamot pour pouvoir afficher les timelines public, local, ajouter un post. Afin de pourvoir acceder a le page mastodon cliquer içi Join Mastodon Mon code source est disponible sur gitlab Code Source
Ajout d'un acteur ActivityPub sur l'API de communecter
Afin d'avoir un aperçus du format d'un acteur ActivityPub en ajoutant votre id a la fin du lien mon lien pour accéder à l'acteur
Test d'envoi d'un message sur mamot
-
Taper la commande
git clone [https://github.com/dariusk/express-activitypub.git](https://github.com/dariusk/express-activitypub.git)
dans votre terminal.- Installer ngrok, en suivante les instructions https://ngrok.com/download.
- Taper la commande
/.ngrok/http 3000
- Ensuite allez dans le dossier
express-activityPub
, modifier le dossierconfig.json
dans route. - Mettre un nom d'utilisateur
- Mettre un mot de passe
- Le port sera 3000, et le domain sera l'adresse en https de ngrok, mais il faut retirer le https, pour obtenir ceci exemple:
d40f1818.ngrok.io
- Taper la commande
node index.js
- Acceder a l'url du site en https et rajouter admin exemple:
[https://d40f1818.ngrok.io/admin](https://d40f1818.ngrok.io/admin)
- Crée un compte test saisissez le nom d'utlisateur et le mot de passe, ensuite il y aura des données qui seront générés, afficher le account WebFinger url, copier le suject sans la acct:
- Connecter vous a https://mamot.fr.
- Rechercher le webfinger url, cliquer sur le bouton pour follow.
- Ensuite saisir test dans account name, Copier coller l'API Key, et saisir votre message exemple : Hello world !
Et vous pourrez voir le message envoyer sur mtps://mamot.fr
ActivityPub
-
[[go]] https://www.w3.org/TR/activitypub/
- A standard for open social networks.
- One of the [[social web protocols]].
- One of the [[fediverse]] protocols.
- [[go]] https://activitypub.rocks
- Research
- Mastodon
- P2P
The ActivityPub protocol is a decentralized social networking protocol based upon the [[ActivityStreams]] 2.0 data format. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and content.
It is a [[W3C]] standard as of January 2018 https://www.w3.org/TR/activitypub/, published by the [[W3C Social Web Working Group]].
The Fediverse SocialHub Discourse forum is where many different ActivityPub-compatible systems come together.
From the forum, How to become an ActivityPub user
From the forum, Introduction to ActivityPub
ActivityPub supports common social network activities like following, liking, announcing, adding, and blocking. For example, if you have an account on a [[Mastodon]] instance like mastodon.social, you can follow someone on a [[WriteFreely]] instance like Qua and receive updates whenever they have a new blog post.
Christopher Lemmer Webber, co-author of the ActivityPub standard:
Increasingly, much of our lives is mediated through social networks, and so network freedom in these spaces – and thus removing central control over them – is critical. One thing you may have noticed in the last decade is that many decentralized free software social networking applications have been written. Sadly, most of those applications can’t actually speak to each other – a fractured federation. I hope that with ActivityPub, we’ve improved that situation.
ActivityPub
Criticisms
My big issues with ActivityPub is that the protocol is very big and not very easy to decompose.
– indieweb chat
Unfortunately, we have come to realize that using ActivityPub is considerably harder than we expected:
Using JSON-LD as an RDF serialization is very complicated. It requires the usage of algorithms (e.g. the Expansion Algorithm or the Framing Algorithm) that are incomprehensible and just pure madness. JSON-LD maybe was really just not intended to be an RDF serialization and trying to use it as such is painful.
There are practically no implementations of the ActivityPub Client-to-Server protocol (C2S). This made developing and testing the client and server more time-consuming as we had to develop the protocol in lockstep on client and server. At the end we were still only compatible with our own software.
ActivityPub is not a complete specification and many additional protocols need to be implemented (e.g. WebFinger) in specific ways in order to be compatible with existing servers.
- social layer that [[the federation]] uses
- [[bengo]] https://mastodon.social/@bengo/108355725733286400
- [[bengo]] https://mastodon.social/@bengo/108465400371325919
- [[jonny]] https://social.coop/@jonny/108614440990658126
- [[Literally]] https://social.coop/@Literally/108687161443356994
- [[jonny]] https://social.coop/@jonny/108734762238801512
- [[bengo]] https://mastodon.social/@bengo/109191642828009360
- [[flancian]] https://social.coop/@flancian/109252186179802657
- [[flancian]] https://social.coop/@flancian/109252189572216436
- [[jonny]] https://social.coop/@jonny/109260413866451129
- [[tanepiper]] https://tane.codes/@tanepiper/109269840772565780
- [[jonny]] https://social.coop/@jonny/109279503737493984
- [[dougholton]] https://mastodon.social/@dougholton/109290971025403571
- [[jonny]] https://social.coop/@jonny/109323993708167403
- [[flancian@social.coop]] https://social.coop/@flancian/109371755076391416
- [[dougholton@mastodon.social]] https://mastodon.social/@dougholton/109374430190401319
- [[chrisaldrich@mastodon.social]] https://mastodon.social/@chrisaldrich/109423681020278651
- [[flancian@social.coop]] https://social.coop/@flancian/109423890053200760
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109471434781827416
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109471456750431159
- [[chrisaldrich@mastodon.social]] https://mastodon.social/@chrisaldrich/109474532768893044
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109483232055829272
- [[tanepiper@tane.codes]] https://tane.codes/@tanepiper/109587000206683922
- [[tanepiper@tane.codes]] https://tane.codes/@tanepiper/109588088107146446
- [[tanepiper@tane.codes]] https://tane.codes/@tanepiper/109592470734450088
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109625621259683915
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109630888810288385
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109630862400104817
- [[jonny@neuromatch.social]] https://neuromatch.social/@jonny/109635070638115231
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109635135672964991
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109635209878625013
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109636184084692334
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109636817909362153
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109641746581421772
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109659069250224854
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109663617617826888
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109663668674063155
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109686151456489662
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109686066836676508
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109686658859817028
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109691989105628935
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109725845819793191
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109737309041836406
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109748822537046981
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109748789923268753
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109759452560493778
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109782758456261103
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109783179549134277
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109783900190141304
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109785240208240397
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109799712486407210
- [[pdxjohnny@mastodon.social]] https://mastodon.social/@pdxjohnny/109804930974811967
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109811019032974199
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109810945260652479
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109811778551775787
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109822382751252506
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109822538809036156
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109838969908086244
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109838889666479804
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109838837287089075
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109845005021837514
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109856069712629683
- [[jonny@neuromatch.social]] https://neuromatch.social/@jonny/109856510756951294
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109856651956930748
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109857222562429154
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109858348611535665
- [[danieldekay@masto.ai]] https://masto.ai/@danieldekay/109752090752640657
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109861719311440459
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109862052480759883
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109865202817713904
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109865220250295444
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109868740880993700
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109869268572234866
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109878859427988770
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109907013471045628
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109964176430588041
- [[jonny@neuromatch.social]] https://neuromatch.social/@jonny/109997725222638244
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/109997732702508446
- [[danieldekay@masto.ai]] https://masto.ai/@danieldekay/110010810969311967
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110011023335338881
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110015343332892352
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110015365359993475
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110015350695461781
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110017838773458923
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110031706624944556
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110032074620673112
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110049126810204868
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110049215496400674
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110051766161122681
- [[danieldekay@masto.ai]] https://masto.ai/@danieldekay/110055353533735245
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110060631400294066
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110071688629088597
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110071749908863600
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110077249123471688
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110077208070858298
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110083345419389650
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110116331868956921
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110116220653851616
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110121934707751194
- [[youronlyone@c.im]] https://c.im/@youronlyone/110126107405714885
- [[youronlyone@c.im]] https://c.im/@youronlyone/110127804564078858
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110150306689680534
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110150629924341350
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110155793750124627
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110155737269485151
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110161318138558885
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110167897539412483
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110168014465237188
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110173527199043132
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110175326220983257
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110178027330676844
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110184351475473413
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110184491957689354
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110193755025765677
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110195840314469391
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110201431282171388
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110201327681795209
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110208961366697223
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110213378965436902
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110214308730047761
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110218621615950332
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110220454917391881
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110224135883584551
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110241225351466616
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110259241291042897
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110260344353237074
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110260406755929099
- [[rmdes@mstdn.social]] https://mstdn.social/@rmdes/110263996573144565
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110264181376515914
- [[aakselrod@infosec.exchange]] https://infosec.exchange/@aakselrod/110266666160134711
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110274981223287754
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110280423191459559
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110280820102075750
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110280738786861010
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110280647103051399
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110286367862627847
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110286310294891711
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110287149408282037
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110287123923085351
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110299166560550519
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110303184617786990
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110303139359248911
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110304771141378794
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110308518105697047
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110314678734186542
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110320591172149468
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110326915456771653
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110348522338750599
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110351185881743143
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110382944610951695
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110410985327143801
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110416260007473123
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110429005762360895
- [[youronlyone@c.im]] https://c.im/@youronlyone/110444510494753961
- [[smallcircles@social.coop]] https://social.coop/@smallcircles/110450804662852477
- [[flancian]] https://social.coop/@flancian/107965160329750484
- [[flancian]] https://social.coop/@flancian/108254130153901151
- [[librebits]] https://masto.nobigtech.es/users/librebits/statuses/108240154201821372/activity
- [[bengo]] https://mastodon.social/@bengo/108316286844064767
- [[flancian]] https://social.coop/@flancian/108535345458584227
- [[bengo]] https://mastodon.social/@bengo/108551867948967873
- [[bengo]] https://mastodon.social/@bengo/109331796383148197
- [[mathew]] https://campaign.openworlds.info/@mathew/109350113024402590
- [[frank@indieweb.social]] https://indieweb.social/@frank/109369789719445128
- [[flancian@social.coop]] https://social.coop/@flancian/109372560529727859
- [[flancian@social.coop]] https://social.coop/@flancian/109373136614137205
- [[mathew@campaign.openworlds.info]] https://campaign.openworlds.info/@mathew/109384009176590432
- [[mathew@campaign.openworlds.info]] https://campaign.openworlds.info/@mathew/109414510418327032
- [[mathew@campaign.openworlds.info]] https://campaign.openworlds.info/@mathew/109420925478433660
- [[mathew@campaign.openworlds.info]] https://campaign.openworlds.info/@mathew/109420907825969968
- [[bengo@mastodon.social]] https://mastodon.social/@bengo/109428848365675514
- [[bengo@mastodon.social]] https://mastodon.social/@bengo/109430003774196436
- [[bengo@mastodon.social]] https://mastodon.social/@bengo/109430186072168130
- [[crissi@linuxrocks.online]] https://linuxrocks.online/@crissi/109465953501059815
- [[bengo@mastodon.social]] https://mastodon.social/@bengo/109479954304231724
- [[bengo@mastodon.social]] https://mastodon.social/@bengo/109804047109728790
- [[eb@social.coop]] https://social.coop/@eb/109871240826412330
- [[bengo@mastodon.social]] https://mastodon.social/@bengo/110256162961570149
- [[rmdes@mstdn.social]] https://mstdn.social/@rmdes/110264410074292589
- [[rmdes@mstdn.social]] https://mstdn.social/@rmdes/110385248898497383
- [[2022-11-19 17:59:13+00:00]] @[[flancian]]: https://twitter.com/flancian/status/1594027528536338432
- [[2022-11-19 18:13:19+00:00]] @[[flancian]]: https://twitter.com/flancian/status/1594031077521170432
- [[2022-11-25 00:05:47+00:00]] @[[flancian]]: https://twitter.com/flancian/status/1595931717868691458
- [[2022-11-28 16:24:09+00:00]] @[[flancian]]: https://twitter.com/flancian/status/1597265096530571264
- [[2022-11-28 22:59:19+00:00]] @[[flancian]]: https://twitter.com/flancian/status/1597364545240039424
- [[flancian]] https://twitter.com/flancian/status/1466322231508840451
- [[flancian]] https://twitter.com/flancian/status/1472628360446681099
- [[flancian]] https://twitter.com/flancian/status/1504004911972900866
- [[flancian]] https://twitter.com/flancian/status/1509637418626043909
- [[flancian]] https://twitter.com/flancian/status/1522498105706438656
- [[flancian]] https://twitter.com/flancian/status/1540496953691279360
- [[flancian]] https://twitter.com/flancian/status/1552393760964739073
- [[flancian]] https://twitter.com/{'id': '773144670507499521', 'name': 'The Agora is a Federated Knowledge Commons', 'username': 'flancian'}/status/1552393760964739073
- [[2022-11-20 15:13:04+00:00]] @[[flancian]]: https://twitter.com/flancian/status/1594348106245545984
-
[[2022-03-20 16:41:26]] [[@flancian:matrix.org]] (link):
- "the [[agora protocol]] was built on top of [[activitypub]]."
-
[[2022-05-07 18:51:24]] [[@flancian:matrix.org]] (link):
- [[activitypub]] is [[good enough]] :) to build an alternative to corporate social media, I mean
-
[[2022-05-07 18:52:21]] [[@flancian:matrix.org]] (link):
- with [[activitypub]] and good old school [[feeds]] we'll reclaim the internet and build many beautiful [[commons]]
-
[[2023-03-26 21:39:26]] [[@flancian:matrix.org]] (link):
- I've been meaning to actually read the spec / try to understand [[activitypub]] for a while, and I've just found https://socialhub.activitypub.rocks/t/guide-for-new-activitypub-implementers/479 which has many nice pointers
-
[[2022-11-19 17:55:40+00:00]] @[[flancian@social.coop]] https://social.coop/@flancian/109371755076391416 :
-
My hypothesis is that we need a human readable/semantic protocol layer on top of what pre-internet human writing has evolved to be. Something on the pragmatic layer of linguistics.
I call it [[Agora protocol]]. And I'll try to implement it on top of [[ActivityPub]] these following weekends, in some meaningful way.
-
-
[[2022-11-28 22:54:16+00:00]] @[[flancian@social.coop]] https://social.coop/@flancian/109423890053200760 :
-
Very interesting! [[ocappub]]:
https://octodon.social/@cwebber/109421874041759892
> In this paper we introduce OcapPub, which is compatible with the original
[[ActivityPub]] specification.
With only mild to mildly-moderate adjustments to the existing network,
we can deliver what we call “networks of consent”: explicit and
intentional connections between different users and entities on the
network.
-
-
[[2022-11-19 21:20:30+00:00]] @[[flancian@social.coop]] https://social.coop/@flancian/109372560529727859 :
-
@jsbarretto oh btw, this has a collection of links/notes on the [[fediverse]] and [[activitypub]]:
https://anagora.org/activitypub
https://anagora.org/fediverse
-
-
[[2022-11-19 23:47:00+00:00]] @[[flancian@social.coop]] https://social.coop/@flancian/109373136614137205 :
-
@graue @jsbarretto oh, I'd love to take a look if you find the link or name!
I wonder if I could implement something like this in anagora.org or a subdomain (I'll be experimenting with [[activitypub]] the next few weeks.)
-
- [[2022-11-19 17:59:13+00:00]] @[[flancian]]: https://twitter.com/flancian/status/1594027528536338432
My hypothesis is that we need a human readable/semantic protocol layer on top of what pre-internet human writing has evolved to be. Something on the pragmatic layer of linguistics.
I call it [[Agora protocol]]. And I'll try to implement it on top of [[ActivityPub]] these (1/2)
-
[[flancian]] https://twitter.com/{'id': '773144670507499521', 'name': 'The Agora is a Federated Knowledge Commons', 'username': 'flancian'}/status/1552393760964739073
- @WardCunningham @csageland @BillSeitz @bmann @jessmartin @RobertHaisfield @balOShere @JoelChan86 @TiddlyWiki @an_agora @socialroots_io @Bortseb @kvistgaard about potential of a lingua franca @mathewlowry is thinking [[activitypub]]
Public [[knowledge feeds]] should probably be available over all federated protocols, IMHO text with links as the bootstrap lingua franca. @an_agora already has some [[matrix]] support.- [[2022-11-20 15:13:04+00:00]] @[[flancian]]: https://twitter.com/flancian/status/1594348106245545984
RT @byronalley@mastodon.social mike Also social.* is definitely my personal vote for where fediverse instances should go by default. It just seems the most natural and neutral, and it's resilient to future protocol changes--ie. if #activitypub is superseded by yet another (1/3)