{ "@context": [ "http://www.w3.org/ns/anno.jsonld", { "@base": "https://bookmarks.stevebate.dev", "generatedAt": { "@id": "http://www.w3.org/ns/prov#generatedAtTime", "@type": "xsd:dateTime" }, "Tag": { "@id": "https://stevebate.net/terms/Tag" } } ], "@id": "bookmarks", "generatedAt": "2024-05-17T02:26:18.248Z", "@graph": [ { "id": "bookmark/660", "type": "Annotation", "created": "2024-05-02T05:53:34.000Z", "modified": "2024-05-02T05:53:34.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""Mastodon link previews can lead to excessive requests at the same time, which is not Mastodon’s fault."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://michaelnordmeyer.com/on-mastodon-ddosing-sites?ref=news.itsfoss.com", "label": "On Mastodon DDoS’ing Sites" } }, { "id": "bookmark/659", "type": "Annotation", "created": "2024-05-02T05:52:51.000Z", "modified": "2024-05-02T05:52:51.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Compaints about Mastodon's (and the AP microblogging fediverse) link preview behavior and the performance problems it causes.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/critcism" } ], "target": { "id": "https://news.itsfoss.com/mastodon-link-problem/", "label": "Please Don’t Share Our Links on Mastodon: Here’s Why!" } }, { "id": "bookmark/658", "type": "Annotation", "created": "2024-03-29T07:07:15.000Z", "modified": "2024-03-29T07:07:15.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Uses Prometheus and Grafana. For non-container deployment.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" } ], "target": { "id": "https://jaanus.com/mastodon-monitoring-prometheus-grafana/", "label": "How to set up monitoring for your Mastodon instance" } }, { "id": "bookmark/657", "type": "Annotation", "created": "2024-03-15T17:30:13.000Z", "modified": "2024-03-15T17:30:13.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""The short version of this is that I believe that Mastodon — more specifically federation and decentralization won't work out."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/criticism" }, { "purpose": "tagging", "id": "tagged/activitypub" } ], "target": { "id": "https://lucumr.pocoo.org/2022/11/14/scaling-mastodon/", "label": "Scaling Mastodon is Impossible" } }, { "id": "bookmark/656", "type": "Annotation", "created": "2024-03-14T13:28:41.000Z", "modified": "2024-03-14T13:28:41.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "“SFO Museum has joined the “Fediverse”. We have begun to operate a series of automated “bot” accounts that are published (broadcast) using the ActivityPub protocols and can be subscribed to from any client that supports those standards”", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/activitypub" } ], "target": { "id": "https://millsfield.sfomuseum.org/blog/2024/03/12/activitypub/", "label": "Holding Hands with the "Fediverse" – ActivityPub at SFO Museum" } }, { "id": "bookmark/655", "type": "Annotation", "created": "2024-01-28T17:08:47.000Z", "modified": "2024-01-28T17:08:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Original Activity Streams (and related) submission by opensocial.org to the W3C SocialWG. This is interesting from an historical perspective.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://www.w3.org/submissions/2014/SUBM-osapi-20140314/#rfc.section.2", "label": "OpenSocial 2.5.1 Activity Streams and Embedded Experiences APIs" } }, { "id": "bookmark/654", "type": "Annotation", "created": "2024-01-28T15:49:44.000Z", "modified": "2024-01-28T15:49:44.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""I used to like the original FourSquare. The "mayor" stuff was a bit silly, and my friends never left that many reviews, but I loved being able to signal to my friends "I am at this cool museum" or "We're at this pub if you want to meet" or "Spending the day at the park". [...]"", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/location" } ], "target": { "id": "https://shkspr.mobi/blog/2024/01/rebuilding-foursquare-for-activitypub-using-openstreetmap/", "label": "Rebuilding FourSquare for ActivityPub using OpenStreetMap" } }, { "id": "bookmark/653", "type": "Annotation", "created": "2024-01-27T11:44:39.000Z", "modified": "2024-01-27T11:44:39.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Provide definitions of "Fediverse" and "Instance".", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/pleroma" } ], "target": { "id": "https://pleroma.social/blog/2021/01/13/the-big-pleroma-and-fediverse-faq/", "label": "The Big Pleroma and Fediverse FAQ Part 1 - Beginner Questions" } }, { "id": "bookmark/651", "type": "Annotation", "created": "2024-01-24T22:18:34.000Z", "modified": "2024-01-24T22:18:34.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""Threads.net has joined the Fediverse, and it is already blocking some servers. It uses a feature called Authorized fetch to ensure those servers cannot even fetch content from Threads. If your server is blocked, you can work around it by configuring a separate domain on your Rebased install to use only for fetching data."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/security" } ], "target": { "id": "https://gitlab.com/soapbox-pub/rebased/-/snippets/3634512", "label": "Rebased: Bypassing user and domain fetch blocks" } }, { "id": "bookmark/650", "type": "Annotation", "created": "2024-01-24T21:56:34.000Z", "modified": "2024-01-24T21:56:34.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""I’m going to cover a lot of ground in this post, so here’s the TLDR: We built a Twitter-scale Mastodon instance from scratch in only 10k lines of code. This is 100x less code than the ~1M lines Twi…"", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" } ], "target": { "id": "https://blog.redplanetlabs.com/2023/08/15/how-we-reduced-the-cost-of-building-twitter-at-twitter-scale-by-100x/", "label": "How we reduced the cost of building Twitter at Twitter-scale by 100x" } }, { "id": "bookmark/649", "type": "Annotation", "created": "2024-01-20T16:34:53.000Z", "modified": "2024-01-20T16:34:53.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""Specification documents and API documentation for the polyproto federated messaging protocol - GitHub - polyphony-chat/docs: Specification documents and API documentation for the polyproto federate..."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/polyphony-chat/docs", "label": "Specification documents and API documentation for the polyproto federated messaging protocol" } }, { "id": "bookmark/648", "type": "Annotation", "created": "2024-01-20T16:34:01.000Z", "modified": "2024-01-20T16:34:01.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""The MIMI working group is chartered to define tools that messaging providers can\nuse to interoperate with one another. The W3C ActivityPub protocol is already\nwidely used for several use cases that resemble the MIMI use case. This\ndocument examines whether ActivityPub might be a good baseline for providing the\nsort of interoperability that MIMI intends to achieve. \n "", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" } ], "target": { "id": "https://bifurcation.github.io/mimi-aim/draft-barnes-mimi-aim.html", "label": "ActivityPub for Interoperable Messaging" } }, { "id": "bookmark/647", "type": "Annotation", "created": "2024-01-17T08:46:32.000Z", "modified": "2024-01-17T08:46:32.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""A blazingly fast drop-in replacement for the Mastodon streaming API server "", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/mastodon/flodgatt", "label": "flodgatt: A blazingly fast drop-in replacement for the Mastodon streaming API server" } }, { "id": "bookmark/646", "type": "Annotation", "created": "2024-01-16T07:48:37.000Z", "modified": "2024-01-16T07:48:37.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Data science study of Fediverse decentralization.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/datasets" }, { "purpose": "tagging", "id": "tagged/fediverse" } ], "target": { "id": "https://blog.benjojo.co.uk/post/who-hosts-the-fediverse-instances", "label": "Where is all of the fediverse?" } }, { "id": "bookmark/645", "type": "Annotation", "created": "2024-01-13T15:07:11.000Z", "modified": "2024-01-13T15:07:11.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Critical view of some of the moderation-related activities in the Fediverse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/moderation" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://jenswanndowney.substack.com/p/whos-teaching-people-that-intellectual", "label": "Who's teaching people that intellectual freedom can exist inside internet moderation schemes?" } }, { "id": "bookmark/644", "type": "Annotation", "created": "2024-01-13T13:23:51.000Z", "modified": "2024-01-13T13:23:51.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""LinkML Schema representation of ActivityPub. Contribute to p2p-ld/linkml-activitypub development by creating an account on GitHub." At the time the bookmark was created, this was actually an AS2-only schema, not ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/linked-data" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/activitystreams2" } ], "target": { "id": "https://github.com/p2p-ld/linkml-activitypub", "label": "LinkML Schema representation of ActivityPub" } }, { "id": "bookmark/643", "type": "Annotation", "created": "2024-01-12T17:01:23.000Z", "modified": "2024-01-12T17:01:23.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""Voyager — a mobile-first Lemmy client. Contribute to aeharding/voyager development by creating an account on GitHub."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/lemmy" }, { "purpose": "tagging", "id": "tagged/typescript" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/aeharding/voyager", "label": "Voyager — a mobile-first Lemmy client" } }, { "id": "bookmark/642", "type": "Annotation", "created": "2024-01-03T09:18:26.000Z", "modified": "2024-01-03T09:18:26.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""This is the source repository for the DiveDB site." ActivityPub support is planned.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/sports" }, { "purpose": "tagging", "id": "tagged/rust" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/cetra3/divedb", "label": "DiveDB" } }, { "id": "bookmark/641", "type": "Annotation", "created": "2023-12-31T06:20:32.000Z", "modified": "2023-12-31T06:20:32.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "OIDC tutorial using Python and KeyCloak.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/oidc" }, { "purpose": "tagging", "id": "tagged/oauth2" }, { "purpose": "tagging", "id": "tagged/tutorial" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://spapas.github.io/2023/11/29/openid-connect-tutorial/", "label": "A simple OpenID connect tutorial — /var/" } }, { "id": "bookmark/640", "type": "Annotation", "created": "2023-12-28T08:46:56.000Z", "modified": "2023-12-28T08:46:56.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Links to historical versions of the AS2 JSON-LD context document.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/json-ld" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://www.w3.org/ns/activitystreams-history/", "label": "AS2 JSON-LD Context Version History" } }, { "id": "bookmark/639", "type": "Annotation", "created": "2023-12-22T08:29:22.000Z", "modified": "2023-12-22T08:29:22.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Discussion of issues with AP-AT bridges.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/atproto" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://idiomdrottning.org/ap-at-bridge", "label": "Decentralizing the AP-AT bridge?" } }, { "id": "bookmark/637", "type": "Annotation", "created": "2023-12-20T06:24:41.000Z", "modified": "2023-12-20T06:24:41.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Discussion of OCAP and gives a high-level overview of how AP is being integrated for code forge purposes.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/codeforge" } ], "target": { "id": "https://forgefed.org/blog/projects-and-ocap-chains/", "label": "ForgeFed - OCAP and ActivityPub" } }, { "id": "bookmark/636", "type": "Annotation", "created": "2023-12-17T06:58:06.000Z", "modified": "2023-12-17T06:58:06.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""IMAP Server giving access to ActivityPub through Vocata"", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/imap" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://codeberg.org/Vocata/vocata-imapd/src/branch/main/README.md", "label": "Vocata - IMAP Support for ActivityPub" } }, { "id": "bookmark/635", "type": "Annotation", "created": "2023-12-17T06:55:52.000Z", "modified": "2023-12-17T06:55:52.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Experience report of attempting to write an ActivityPub server in OCaml.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/ocaml" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://gopiandcode.uk/logs/log-writing-activitypub.html", "label": "Activitypub Server in OCaml: Lessons Learnt, Weekends Lost" } }, { "id": "bookmark/634", "type": "Annotation", "created": "2023-12-17T06:52:16.000Z", "modified": "2023-12-17T06:52:16.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""An ActivityPub server with an NNTP interface."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/nntp" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/haskell" } ], "target": { "id": "https://koldfront.dk/git/illuminant/tree/README.md", "label": "illuminant" } }, { "id": "bookmark/633", "type": "Annotation", "created": "2023-12-17T06:49:49.000Z", "modified": "2023-12-17T06:49:49.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Note for implementing ActivityPub federation.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/criticism" }, { "purpose": "tagging", "id": "tagged/activitypub-s2s" } ], "target": { "id": "https://blog.mro.name/2023/12/implementing-federation-i/", "label": "Implementing Federation, Part I | MRo Blog" } }, { "id": "bookmark/632", "type": "Annotation", "created": "2023-12-13T13:51:24.000Z", "modified": "2023-12-13T13:51:24.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""In particular, this blog post is a direct response to forge-net (formerly known as GitPub). They want to federate and decentralize git using ActivityPub, the same technology leveraged by Mastodon and PeerTube. But get this: git is already federated and decentralized!"", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/codeforge" }, { "purpose": "tagging", "id": "tagged/activitypub" } ], "target": { "id": "https://drewdevault.com/2018/07/23/Git-is-already-distributed.html", "label": "Git is already federated & decentralized" } }, { "id": "bookmark/631", "type": "Annotation", "created": "2023-12-05T11:53:37.000Z", "modified": "2023-12-05T11:53:37.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "If we consider using JSON Schema for validating JSON-LD (RDF), maybe representing the schema themselves should represented as RDF?", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/json-ld" }, { "purpose": "tagging", "id": "tagged/json-schema" } ], "target": { "id": "https://www.w3.org/2019/wot/json-schema#interpreting-json-schema-as-json-ld-1-1", "label": "W3C: JSON Schema in RDF" } }, { "id": "bookmark/629", "type": "Annotation", "created": "2023-11-27T17:28:31.000Z", "modified": "2023-11-27T17:28:31.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""Protecting user privacy is a vital priority for the Fediverse. Many fediverse instances, such as Kolektiva, are focused on serving marginalized communities who are disproportionately targeted by law enforcement. Many were built to serve as a safe haven for those who too often find themselves tracked and watched by the police. Yet this raid put the thousands of users this instance served into a terrible situation."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/law" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/privacy" } ], "target": { "id": "https://www.eff.org/deeplinks/2023/07/fbi-seizure-mastodon-server-wakeup-call-fediverse-users-and-hosts-protect-their", "label": "FBI Seizure of Mastodon Server Data" } }, { "id": "bookmark/628", "type": "Annotation", "created": "2023-11-27T17:20:29.000Z", "modified": "2023-11-27T17:20:29.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""Just like our approach to algorithmic choice, our approach to moderation allows for an ecosystem of third-party providers. Moderation should be a composable, customizable piece that can be layered into your experience. For custom feeds, there is a basic default (only who you follow), and then many possibilities for custom algorithms. For moderation as well, there should be a basic default, and then many custom filters available on top."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/moderation" } ], "target": { "id": "https://blueskyweb.xyz/blog/4-13-2023-moderation", "label": "Composable Moderation - BlueSky" } }, { "id": "bookmark/627", "type": "Annotation", "created": "2023-11-27T15:04:47.000Z", "modified": "2023-11-27T15:04:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""In this article, we'll discuss one of the most confusing but important topics of RDF: the various ways you can create ordered data."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/rdf" } ], "target": { "id": "https://ontola.io/blog/ordered-data-in-rdf", "label": "Ordered data in RDF: About Arrays, Lists, Collections, Sequences and Pagination" } }, { "id": "bookmark/626", "type": "Annotation", "created": "2023-11-27T10:51:02.000Z", "modified": "2023-11-27T10:51:02.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""An implementation of the IETF HTTP Message Signatures draft standard"", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/http-signatures" }, { "purpose": "tagging", "id": "tagged/python" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/pyauth/http-message-signatures", "label": "pyauth/http-message-signatures: An implementation of the IETF HTTP Message Signatures draft standard" } }, { "id": "bookmark/625", "type": "Annotation", "created": "2023-11-24T19:48:34.000Z", "modified": "2023-11-24T19:48:34.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Development plans for ActivityPods, a Solid / AP integration. The article also describes Mastopods which will be a Mastodon-compatible version of this code.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/solid" }, { "purpose": "tagging", "id": "tagged/mastodon" } ], "target": { "id": "https://activitypods.org/blog/the-road-to-activitypods-2-0/", "label": "The road to ActivityPods 2.0" } }, { "id": "bookmark/624", "type": "Annotation", "created": "2023-11-22T12:54:19.000Z", "modified": "2023-11-22T12:54:19.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""We observed that most paginations are just linked or double linked lists, with sometimes a way to indicate the ordering, and/or even IRI templates with search forms or controls to change the ordering. This is not the most efficient data structure to retrieve information..."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/linked-data" } ], "target": { "id": "https://github.com/w3c/activitystreams/issues/484#issuecomment-1814141362", "label": "Describing ordered collections using TREE" } }, { "id": "bookmark/623", "type": "Annotation", "created": "2023-11-22T11:01:36.000Z", "modified": "2023-11-22T11:01:36.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Describes 5 potential attacks related to context retrieval.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/json-ld" }, { "purpose": "tagging", "id": "tagged/security" } ], "target": { "id": "https://github.com/RDFLib/rdflib/discussions/1543", "label": "URLInputSource can be abused to retrieve arbitrary documents if used naïvely" } }, { "id": "bookmark/622", "type": "Annotation", "created": "2023-11-19T22:02:46.000Z", "modified": "2023-11-19T22:02:46.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "There are four ways in which ActivityPub is a non-standard standard. This work is informed by reading the Social Web Working Group (SocialWG) meeting minutes, interviews with SocialWG members, and a study of historical documents.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/spec-process" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://fossacademic.tech/2023/10/15/APnonStandard.html", "label": "ActivityPub, the Non-Standard Standard" } }, { "id": "bookmark/621", "type": "Annotation", "created": "2023-11-19T12:43:10.000Z", "modified": "2023-11-19T12:43:10.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Learn when you really need to integrate OAuth2 and OpenID Connect! This is also a good overview of how the two protocols interact.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/oauth2" } ], "target": { "id": "https://www.ory.sh/oauth2-openid-connect-do-you-need-use-cases-examples/", "label": "Why you probably don't need OAuth2 / OpenID Connect!" } }, { "id": "bookmark/620", "type": "Annotation", "created": "2023-11-15T21:33:39.000Z", "modified": "2023-11-15T21:33:39.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "🧱 Building Blocks for Fediverse. HTTP Signature, NodeInfo, WebFinger, HostMeta", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/node-js" }, { "purpose": "tagging", "id": "tagged/typescript" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/fedikit/fedikit", "label": "fedikit: Building Blocks for Fediverse." } }, { "id": "bookmark/619", "type": "Annotation", "created": "2023-11-15T10:37:53.000Z", "modified": "2023-11-15T10:37:53.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An online book describing validation of RDF data. Given the JSON-LD view of ActivityPub/AS2 is an RDF serialization, these tools and techniques apply there as well. It also gives a good overview of the RDF data model and related benefits and challenges.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/rdf" }, { "purpose": "tagging", "id": "tagged/testing" }, { "purpose": "tagging", "id": "tagged/book" } ], "target": { "id": "http://book.validatingrdf.com/index.html", "label": "Validating RDF Data" } }, { "id": "bookmark/618", "type": "Annotation", "created": "2023-11-15T10:34:44.000Z", "modified": "2023-11-15T10:34:44.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A new solution space for apps emerges if we adopt a different model for thinking about Solid. This article discusses a hybrid document/graph model.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/solid" }, { "purpose": "tagging", "id": "tagged/rdf" } ], "target": { "id": "https://ruben.verborgh.org/blog/2022/12/30/lets-talk-about-pods/", "label": "Let’s talk about pods (Solid)" } }, { "id": "bookmark/617", "type": "Annotation", "created": "2023-11-13T11:28:32.000Z", "modified": "2023-11-13T11:28:32.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Provides docker containers for Mastodon for testing purposes (and eventually others). It uses a local certificate authority with automatic SSL cert provisioning.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/docker" }, { "purpose": "tagging", "id": "tagged/testing" } ], "target": { "id": "https://github.com/Letterbook/Sandcastles", "label": "Sandcastles: Federation sandbox" } }, { "id": "bookmark/616", "type": "Annotation", "created": "2023-11-13T10:46:59.000Z", "modified": "2023-11-13T10:46:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Command-line ActivityPub API client (C2S?)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/python" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/evanp/ap", "label": "ActivityPub API client (ap)" } }, { "id": "bookmark/615", "type": "Annotation", "created": "2023-11-08T10:49:00.000Z", "modified": "2023-11-08T10:49:00.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""Unwanted messages are a challenge for all public communication systems. On a federated network without a central form of control, the challenge is extended to allowing for free communication between parties without a central means of control while at the same time preventing undesired or harmful messages." RWOT9 in Prague, The Czech Republic (September 2019)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://github.com/WebOfTrustInfo/rwot9-prague/blob/master/topics-and-advance-readings/ap-unwanted-messages.md", "label": "AP Unwanted Messages (and possible solutions)" } }, { "id": "bookmark/614", "type": "Annotation", "created": "2023-11-08T10:47:20.000Z", "modified": "2023-11-08T10:47:20.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Easy to use module for signing http requests for ActivityPub using the `fetch` API", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/http-signatures" }, { "purpose": "tagging", "id": "tagged/javascript" }, { "purpose": "tagging", "id": "tagged/node-js" } ], "target": { "id": "https://github.com/RangerMauve/http-signed-fetch", "label": "http-signed-fetch" } }, { "id": "bookmark/613", "type": "Annotation", "created": "2023-11-08T10:46:29.000Z", "modified": "2023-11-08T10:46:29.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""Thought experiment: how hard would it be to implement ActivityPub over ATProto?"", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/atproto" }, { "purpose": "tagging", "id": "tagged/activitypub" } ], "target": { "id": "https://berjon.com/ap-at/", "label": "ActivityPub Over ATProto" } }, { "id": "bookmark/612", "type": "Annotation", "created": "2023-11-08T10:45:23.000Z", "modified": "2023-11-08T10:45:23.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "LittleActivityPub is a minimal and incomplete implementation of an ActivityPub server, for instructive purposes.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/php" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/activitypub" } ], "target": { "id": "https://github.com/cristianolongoodhl/LittleActivityPub", "label": "LittleActivityPub" } }, { "id": "bookmark/611", "type": "Annotation", "created": "2023-11-05T14:17:11.000Z", "modified": "2023-11-05T14:17:11.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Like JSON-LD Playground, but on the command line.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/json-ld" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/filip26/ld-cli", "label": "ld-cli: A Command Line Interface for Linked Data Processing" } }, { "id": "bookmark/610", "type": "Annotation", "created": "2023-11-05T11:31:58.000Z", "modified": "2023-11-05T11:31:58.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Draft specification of minimalist Solid-like behaviors.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/solid" }, { "purpose": "tagging", "id": "tagged/specification" } ], "target": { "id": "https://github.com/solid-lite/draft-spec", "label": "Solid-Lite: Draft Spec" } }, { "id": "bookmark/609", "type": "Annotation", "created": "2023-11-04T09:54:01.000Z", "modified": "2023-11-04T09:54:01.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Debate about AP shared inbox and how it should be defined and implemented.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/specification" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://github.com/w3c/activitypub/issues/242", "label": "sharedInbox / siteInbox type endpoint (publicInbox, but not just for public posts)" } }, { "id": "bookmark/608", "type": "Annotation", "created": "2023-11-04T09:53:06.000Z", "modified": "2023-11-04T09:53:06.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Discussion about shared inbox, replies, json-ld, etc.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/specification" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://chat.indieweb.org/social/2017-07-16#t1500237332450000", "label": "SharedInbox Discussion - IRC Chat 2017-07-16" } }, { "id": "bookmark/607", "type": "Annotation", "created": "2023-11-03T15:08:03.000Z", "modified": "2023-11-03T15:08:03.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Gherkin-like test DSL that is not designed to be part of a BDD process and doesn't require step definitions to be written in many cases. This might be useful for ActivityPub server testing.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/testing" }, { "purpose": "tagging", "id": "tagged/gherkin" } ], "target": { "id": "https://karatelabs.github.io/karate/", "label": "Karate Testing DSL" } }, { "id": "bookmark/606", "type": "Annotation", "created": "2023-11-03T11:42:15.000Z", "modified": "2023-11-03T11:42:15.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "[2017] AP P2P thread from Christine Lemmer-Webber.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/p2p" } ], "target": { "id": "https://octodon.social/@cwebber/99015530843597174", "label": "P2P ActivityPub: more feasible than you think" } }, { "id": "bookmark/605", "type": "Annotation", "created": "2023-11-02T15:09:43.000Z", "modified": "2023-11-02T15:09:43.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Nice description of trade offs between federated and P2P styles of online social network architectures.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/p2p" }, { "purpose": "tagging", "id": "tagged/fediverse" } ], "target": { "id": "https://medium.com/decentralized-web/decentralized-social-networks-e5a7a2603f53", "label": "Decentralized Social Networks Comparing federated and peer-to-peer protocols" } }, { "id": "bookmark/604", "type": "Annotation", "created": "2023-11-01T23:06:19.000Z", "modified": "2023-11-01T23:06:19.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Discusses DHT (Distributed Hash Table) use in online social networks (and other software domains).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/p2p" } ], "target": { "id": "https://arxiv.org/pdf/2109.10787.pdf", "label": "DHT-based Communications Survey: Architectures and Use Cases" } }, { "id": "bookmark/603", "type": "Annotation", "created": "2023-10-30T08:41:15.000Z", "modified": "2023-10-30T08:41:15.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "[GERMAN] "We want to send a message from our Solid Pod to a Mastodon user."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/solid" } ], "target": { "id": "https://datenwissen.de/2020/07/mit-solid-nach-mastodon-posten-geht-das", "label": "Posting to Mastodon with Solid, is that possible?" } }, { "id": "bookmark/602", "type": "Annotation", "created": "2023-10-28T18:06:12.000Z", "modified": "2023-10-28T18:06:12.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Original Linked Data note from Tim Berners-Lee (2006)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/linked-data" } ], "target": { "id": "https://www.w3.org/DesignIssues/LinkedData.html", "label": "Linked Data" } }, { "id": "bookmark/601", "type": "Annotation", "created": "2023-10-27T13:02:45.000Z", "modified": "2023-10-27T13:02:45.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "[Video] "ActivityPub Conference 2020 opening song" Humorous.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/music" } ], "target": { "id": "https://conf.tube/w/285e7580-8281-4ae4-842e-81c687237c69", "label": "ActivityPub Conference 2020 opening song" } }, { "id": "bookmark/600", "type": "Annotation", "created": "2023-10-27T12:45:07.000Z", "modified": "2023-10-27T12:45:07.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "[VIDEO] "There is no doubt that the Web became a platform of choice for online social interactions, but it can be also used in IoT context https://purl.org/rzr/social#"", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/iot" }, { "purpose": "tagging", "id": "tagged/video" } ], "target": { "id": "https://conf.tube/w/ec2370d9-899b-4ab2-abcd-d1ff99c036ff", "label": "IoT meets SocialWeb using ActivityPub" } }, { "id": "bookmark/599", "type": "Annotation", "created": "2023-10-27T12:35:02.000Z", "modified": "2023-10-27T12:35:02.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Reddit r/lisp post (attributed to Christine Lemmer-Webber).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" } ], "target": { "id": "https://www.reddit.com/r/lisp/comments/widhnj/comment/ijdwsr6/", "label": "Discussion about ActvityPub and actor models" } }, { "id": "bookmark/598", "type": "Annotation", "created": "2023-10-27T12:18:08.000Z", "modified": "2023-10-27T12:18:08.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""Cryap - a federated social network written in Crystal. Cryap can federate with Mastodon, Pleroma, and others ActivityPub-compatible engines!\nCryap partially implements the Mastodon API. It is possible to publish posts without media, boost, like, follow and read timeline. Users are visible to other instances. OAuth2 is implemented, but without scopes. Cryap is not ready to be used in production, but we welcome contributions to our project."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/crystal" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://cryap.codeberg.page/docs/", "label": "Cryap" } }, { "id": "bookmark/597", "type": "Annotation", "created": "2023-10-27T11:47:31.000Z", "modified": "2023-10-27T11:47:31.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Implemented at fediversity.site. It's not an FEP, but I'm tagging it that way anway.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/search" }, { "purpose": "tagging", "id": "tagged/fep" } ], "target": { "id": "https://fediversity.site/help/develop/en/Federated_Search", "label": "Federated Search Design" } }, { "id": "bookmark/596", "type": "Annotation", "created": "2023-10-26T10:20:58.000Z", "modified": "2023-10-26T10:20:58.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""A self-hosted fediverse bot."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/bot" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/botwiki/fediverse-bot/tree/master", "label": "fediverse-bot" } }, { "id": "bookmark/595", "type": "Annotation", "created": "2023-10-25T09:48:11.000Z", "modified": "2023-10-25T09:48:11.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""A set of utilities to help bring content and users from legacy social media networks into the fediverse"", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/python" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/proxy-actor" }, { "purpose": "tagging", "id": "tagged/forum" } ], "target": { "id": "https://github.com/mushroomlabs/fediverser", "label": "fediverser" } }, { "id": "bookmark/594", "type": "Annotation", "created": "2023-10-23T18:25:54.000Z", "modified": "2023-10-23T18:25:54.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""Post short thoughts or long essays, share photos, all on your own blog. Micro.blog makes it easy, and provides a friendly community where you can share and engage with others." The description don't mention ActivityPub, but the nodeinfo lists it as a supported protocol. (AKA microdotblog)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/writing" } ], "target": { "id": "https://micro.blog/", "label": "Micro.blog" } }, { "id": "bookmark/593", "type": "Annotation", "created": "2023-10-22T11:02:50.000Z", "modified": "2023-10-22T11:02:50.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""A growing number of people are experimenting with federated alternatives to social media like Mastodon, either by joining an “instance” hosted by someone else or creating their own instance by running the free, open-source software on a server they control. For people hosting instances, however, it can also mean some legal risk."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/law" } ], "target": { "id": "https://www.eff.org/deeplinks/2022/12/user-generated-content-and-fediverse-legal-primer", "label": "User Generated Content and the Fediverse: A Legal Primer" } }, { "id": "bookmark/592", "type": "Annotation", "created": "2023-10-22T10:53:32.000Z", "modified": "2023-10-22T10:53:32.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Intro: "Let’s address the mammoth in the room: the fediverse, the network of mastodon servers, is very inefficient. In this post I’ll show why it is inefficient and why that isn’t a problem."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" } ], "target": { "id": "https://berk.es/2022/11/08/fediverse-inefficiencies/", "label": "The Fediverse is Inefficient (but that's a good trade-off)" } }, { "id": "bookmark/591", "type": "Annotation", "created": "2023-10-21T19:21:13.000Z", "modified": "2023-10-21T19:21:13.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "[Video] "Four years later, while the fediverse plays host to a thriving community and unique culture, it remains a nonentity by the standards of social media giants. Why is this? How has ActivityPub created a constructive and enjoyable social media experience while also failing to bring that experience to a large audience? And what can this tell us about the possibilities and limitations of anarchistic spaces as a whole?"", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/criticism" }, { "purpose": "tagging", "id": "tagged/video" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://www.youtube.com/watch?v=vnciCz83t70&t=58s", "label": "ActivityPub Four Years Later: The good, the bad, and the (Fedi)verse." } }, { "id": "bookmark/590", "type": "Annotation", "created": "2023-10-21T19:15:48.000Z", "modified": "2023-10-21T19:15:48.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "From the creator of Cucumber/Gherkin: "The biggest problem with Cucumber is that most people trying it out don't understand what it is. Cucumber is not a tool for testing software. It is a tool for testing people's understanding of how software (yet to be written) should behave."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/testing" }, { "purpose": "tagging", "id": "tagged/gherkin" } ], "target": { "id": "https://news.ycombinator.com/item?id=10194242", "label": "The biggest problem with Cucumber... (Gherkin)" } }, { "id": "bookmark/589", "type": "Annotation", "created": "2023-10-21T19:12:08.000Z", "modified": "2023-10-21T19:12:08.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "[Video] Mastodon is a "federated" social network that works like Twitter. It puts the control of data into the user's hands, not in a single corporation.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/explainer" }, { "purpose": "tagging", "id": "tagged/video" } ], "target": { "id": "https://www.youtube.com/watch?v=S57uhCQBEk0", "label": "Distributed social media - Mastodon & Fediverse Explained" } }, { "id": "bookmark/588", "type": "Annotation", "created": "2023-10-21T17:12:09.000Z", "modified": "2023-10-21T17:12:09.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "[Video] The plugin implements the ActivityPub protocol for your blog, to federate articles/notes and receive reactions from the fediverse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/wordpress" }, { "purpose": "tagging", "id": "tagged/video" }, { "purpose": "tagging", "id": "tagged/demonstration" } ], "target": { "id": "https://peertube.tv/w/q7njaZeRHW6j5KMn3uZpq4", "label": "Demo: WordPress ActivityPub Plugin" } }, { "id": "bookmark/587", "type": "Annotation", "created": "2023-10-21T17:07:02.000Z", "modified": "2023-10-21T17:07:02.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "The goal of these documents is to provide an implementation path for adding\nFediverse capabilities to Gitlab.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/codeforge" } ], "target": { "id": "https://gitlab.com/groups/gitlab-org/-/epics/11247", "label": "Support ActivityPub for GitLab" } }, { "id": "bookmark/586", "type": "Annotation", "created": "2023-10-21T17:05:05.000Z", "modified": "2023-10-21T17:05:05.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "If you want to analyze Mastodon posts, getting them into Apache Kafka® is a sensible first step. Read on to find out how to do this with Typescript and NodeJS.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/node-js" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://aiven.io/developer/mastodon-kafka-js", "label": "Stream Mastodon data to Apache Kafka®" } }, { "id": "bookmark/585", "type": "Annotation", "created": "2023-10-21T16:58:52.000Z", "modified": "2023-10-21T16:58:52.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Learn how to get access to the Mastodon API and use it with CircuitPython! This guide covers what's necessary in Mastodon to get your API access token. Then, there are two examples, the first to post a toot, and the second to retrieve all posts under a specific hashtag. Toots away! (Uses Raspberry Pi Pico W)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/iot" } ], "target": { "id": "https://learn.adafruit.com/intro-to-mastodon-api-circuitpython/generate-your-mastodon-token", "label": "Introduction to the Mastodon API using CircuitPython" } }, { "id": "bookmark/584", "type": "Annotation", "created": "2023-10-21T16:56:02.000Z", "modified": "2023-10-21T16:56:02.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "twister is an experimental peer-to-peer microblogging software.\nUser registration and authentication is provided by a bitcoin-like network, so it is completely decentralized (does not depend on any central authority).\nPost distribution uses kademlia DHT network and bittorrent-like swarms, both are provided by libtorrent.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/p2p" }, { "purpose": "tagging", "id": "tagged/cpp" } ], "target": { "id": "https://github.com/miguelfreitas/twister-core", "label": "twister - P2P microblogging" } }, { "id": "bookmark/583", "type": "Annotation", "created": "2023-10-21T16:53:09.000Z", "modified": "2023-10-21T16:53:09.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "RetroShare is a Free and Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/file-sharing" }, { "purpose": "tagging", "id": "tagged/cpp" } ], "target": { "id": "https://github.com/RetroShare/RetroShare", "label": "RetroShare" } }, { "id": "bookmark/582", "type": "Annotation", "created": "2023-10-21T16:50:27.000Z", "modified": "2023-10-21T16:50:27.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Table that compares various Fediverse software platforms.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" } ], "target": { "id": "https://en.wikipedia.org/wiki/Comparison_of_software_and_protocols_for_distributed_social_networking", "label": "Comparison of software and protocols for distributed social networking" } }, { "id": "bookmark/581", "type": "Annotation", "created": "2023-10-21T14:30:20.000Z", "modified": "2023-10-21T14:30:20.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Discusses ActivityPub, W3C, Linked Data and some of the related issues.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://daenney.github.io/2022/11/14/a-look-at-activitypubs-foundation/", "label": "A look at ActivityPub's foundation" } }, { "id": "bookmark/580", "type": "Annotation", "created": "2023-10-21T13:58:25.000Z", "modified": "2023-10-21T13:58:25.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Lightweight client for mastodon micro blogging service. Used for Internet of Things / Web of Things projects.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/iot" }, { "purpose": "tagging", "id": "tagged/mastodon" } ], "target": { "id": "https://github.com/rzr/mastodon-lite#", "label": "Lightweight IOT client for mastodon micro blogging service." } }, { "id": "bookmark/579", "type": "Annotation", "created": "2023-10-21T13:53:35.000Z", "modified": "2023-10-21T13:53:35.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "How Emerging Technologies like ActiivtyPub may shape Transport Accessibility and Mobility", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/iot" } ], "target": { "id": "https://www.transportist.net/p/augmented-reality-autonomous-vehicles", "label": "Augmented Reality, Autonomous Vehicles, Artificial Intelligence, and Activity Pub for Access and Mobility" } }, { "id": "bookmark/577", "type": "Annotation", "created": "2023-10-21T13:47:46.000Z", "modified": "2023-10-21T13:47:46.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Developer Toby Jaffey has launched a library that brings microcontrollers to the "Fediverse," offering Espressif ESP32 users the chance to build devices capable of posting to the Mastodon social network: Lyuba.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/iot" }, { "purpose": "tagging", "id": "tagged/mastodon" } ], "target": { "id": "https://www.hackster.io/news/toby-jaffey-s-lyuba-library-brings-espressif-esp32-devices-to-mastodon-and-the-wider-fediverse-1335d2cd7453", "label": "Using Espressif ESP32 Devices with Mastodon" } }, { "id": "bookmark/576", "type": "Annotation", "created": "2023-10-21T13:45:34.000Z", "modified": "2023-10-21T13:45:34.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Presentation about using ActivityPub for Internet of Things (IOT) applications.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/iot" } ], "target": { "id": "http://www.rzr.cloudns.org/docs/activitypub-iot/", "label": "ActivityPub for Social IoT" } }, { "id": "bookmark/575", "type": "Annotation", "created": "2023-10-21T10:21:35.000Z", "modified": "2023-10-21T10:21:35.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "[PDF] OStatus lets people on different social networks follow each other. It applies a group of related\nprotocols (PubSubHubbub, ActivityStreams, Salmon, Portable Contacts, and Webfinger) to this\nproblem in what we believe is a simple and obvious way", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/specification" }, { "purpose": "tagging", "id": "tagged/ostatus" } ], "target": { "id": "https://www.w3.org/community/ostatus/wiki/images/9/93/OStatus_1.0_Draft_2.pdf", "label": "OStatus Specification" } }, { "id": "bookmark/574", "type": "Annotation", "created": "2023-10-21T10:16:40.000Z", "modified": "2023-10-21T10:16:40.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Zot is a WebMTA which provides a decentralised identity and communications protocol using HTTPS/JSON.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/zot" }, { "purpose": "tagging", "id": "tagged/specification" }, { "purpose": "tagging", "id": "tagged/fediverse" } ], "target": { "id": "https://zotlabs.org/page/zot/specs+zot6+home", "label": "Zot/6 Specifications" } }, { "id": "bookmark/573", "type": "Annotation", "created": "2023-10-21T10:11:05.000Z", "modified": "2023-10-21T10:11:05.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Find out what kinds of automated tests you should implement for your application and learn by examples what these tests could look like.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/testing" } ], "target": { "id": "https://martinfowler.com/articles/practical-test-pyramid.html", "label": "The Practical Test Pyramid" } }, { "id": "bookmark/572", "type": "Annotation", "created": "2023-10-21T10:09:52.000Z", "modified": "2023-10-21T10:09:52.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This blog article describes a way to categorize tests based on their behavior (used at Google c. 2010). Similar discussions have been happening related to the ActivityPub test suite topic.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/testing" } ], "target": { "id": "https://testing.googleblog.com/2010/12/test-sizes.html", "label": "Test Size - Categorizing tests" } }, { "id": "bookmark/571", "type": "Annotation", "created": "2023-10-21T09:41:35.000Z", "modified": "2023-10-21T09:41:35.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "JSON Schema definitions for Fediverse protocols and specifications. Includes schema for ActivityStreams 2, ActivityPub, Mastodon and JRD (Webfinger, nodeinfo)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/webfinger" } ], "target": { "id": "https://github.com/steve-bate/fediverse-jsonschema", "label": "Fediverse JSON Schema definitions" } }, { "id": "bookmark/570", "type": "Annotation", "created": "2023-10-20T14:06:28.000Z", "modified": "2023-10-20T14:06:28.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A curated list of resources for ActivityPub developers who create software for the Fediverse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/link-collection" } ], "target": { "id": "https://delightful.club/delightful-activitypub-development/", "label": "delightful activitypub development" } }, { "id": "bookmark/569", "type": "Annotation", "created": "2023-10-20T14:04:06.000Z", "modified": "2023-10-20T14:04:06.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub-enabled. This site is a fork of Postmarks.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/bookmarks" } ], "target": { "id": "https://postmarks.glitch.me/", "label": "Postmarks - federated bookmarks" } }, { "id": "bookmark/568", "type": "Annotation", "created": "2023-10-20T14:02:04.000Z", "modified": "2023-10-20T14:02:04.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub-related link collection", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/link-collection" }, { "purpose": "tagging", "id": "tagged/activitypub" } ], "target": { "id": "https://github.com/shleeable/Big-List-of-ActivityPub", "label": "Big List of ActivityPub Projects" } }, { "id": "bookmark/567", "type": "Annotation", "created": "2023-10-20T13:46:06.000Z", "modified": "2023-10-20T13:46:06.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This document describes a minimal implementation of a federated marketplace based on ActivityPub protocol and Valueflows vocabulary. In such marketplace actors can publish offers and requests, respond to offers and requests published by other actors, enter into agreements and exchange information necessary to complete these agreements.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/marketplace" }, { "purpose": "tagging", "id": "tagged/fep" } ], "target": { "id": "https://codeberg.org/fediverse/fep/src/branch/main/fep/0837/fep-0837.md", "label": "FEP-0837: Federated Marketplace" } }, { "id": "bookmark/566", "type": "Annotation", "created": "2023-10-20T13:42:02.000Z", "modified": "2023-10-20T13:42:02.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Source code (unmaintained) for a tool to generate Go code from an ActivityPub OWL Ontology (in jsonld).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/rdf-owl" }, { "purpose": "tagging", "id": "tagged/json-ld" }, { "purpose": "tagging", "id": "tagged/extensions" } ], "target": { "id": "https://github.com/go-fed/activity/blob/master/astool/README.md", "label": "Go-Fed astool" } }, { "id": "bookmark/565", "type": "Annotation", "created": "2023-10-20T13:38:01.000Z", "modified": "2023-10-20T13:38:01.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "rdf-pub is an activity-pub server implementation, that is not limited to the activity-stream vocabulary, but supports RDF in general.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/linked-data" }, { "purpose": "tagging", "id": "tagged/rdf" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://gitlab.com/linkedopenactors/rdf-pub", "label": "rdf-pub" } }, { "id": "bookmark/564", "type": "Annotation", "created": "2023-10-19T10:00:02.000Z", "modified": "2023-10-19T10:00:02.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Discussion about testability.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/testing" } ], "target": { "id": "https://bengo.is/blogging/use-test-specifications-to-improve-testability-of-activitypub-requirements/", "label": "Improving Testability of ActivityPub Requirements" } }, { "id": "bookmark/563", "type": "Annotation", "created": "2023-10-18T10:19:59.000Z", "modified": "2023-10-18T10:19:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""Motivation Several features would benefit from or require the existence of an ActivityPub actor representing a Mastodon instance. This actor could for instance be used to sign every fetch request (..."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" } ], "target": { "id": "https://github.com/mastodon/mastodon/issues/10453", "label": "Instance-wide actor · Issue #10453 · mastodon/mastodon" } }, { "id": "bookmark/562", "type": "Annotation", "created": "2023-10-18T09:38:56.000Z", "modified": "2023-10-18T09:38:56.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "hatsu: Self-hosted & Fully-automated ActivityPub Bridge for Static Sites. [WIP]", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/rust" }, { "purpose": "tagging", "id": "tagged/static-sites" } ], "target": { "id": "https://github.com/importantimport/hatsu", "label": "hatsu - static site AP bridge" } }, { "id": "bookmark/561", "type": "Annotation", "created": "2023-10-17T08:54:55.000Z", "modified": "2023-10-17T08:54:55.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Fedipage is a Hugo based static page generator and blog with ActivityPub support. Source code is available.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/typescript" }, { "purpose": "tagging", "id": "tagged/static-sites" } ], "target": { "id": "https://fedipage.com/", "label": "Fedipage - static sites with AP support" } }, { "id": "bookmark/560", "type": "Annotation", "created": "2023-10-17T08:46:16.000Z", "modified": "2023-10-17T08:46:16.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Federated decentral classified ad software using ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/python" }, { "purpose": "tagging", "id": "tagged/marketplace" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://codeberg.org/grindhold/flohmarkt", "label": "flohmarkt" } }, { "id": "bookmark/559", "type": "Annotation", "created": "2023-10-17T08:42:46.000Z", "modified": "2023-10-17T08:42:46.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An overview of mapping a federated link aggregator web application on top of the ActivityPub vocabulary using go-activitypub packages, FedBOX and BrutaLinks", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/design" } ], "target": { "id": "https://man.sr.ht/~mariusor/go-activitypub/brutalinks/link-aggregator-using-activitypub.md#concepts", "label": "Link Aggregator Design (brutalinks)" } }, { "id": "bookmark/558", "type": "Annotation", "created": "2023-10-16T15:25:07.000Z", "modified": "2023-10-16T15:25:07.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""tl;dr: please don’t specify them." Discussion of specifications, like ActivityPub and Activity Streams that attempt to combine JSON and JSON-LD.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/json-ld" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://tess.oconnor.cx/2023/09/polyglots-and-interoperability", "label": "Polyglots don’t lead to interoperability" } }, { "id": "bookmark/557", "type": "Annotation", "created": "2023-10-16T12:34:12.000Z", "modified": "2023-10-16T12:34:12.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Snell's comment that the OWL Ontology was intentionally non-normative to allow changes without an official W3C working group. I haven't found discussions in the SocialWG minutes related to this discussion.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/ontology" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://github.com/w3c/activitystreams/issues/516#issuecomment-805937131", "label": "Comment on non-normative AS2 OWL Ontology" } }, { "id": "bookmark/556", "type": "Annotation", "created": "2023-10-15T21:33:46.000Z", "modified": "2023-10-15T21:33:46.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Web finger is used to do account to AP actor URI resolution by Mastodon. It's not part of the ActivityPub specification itself.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/webfinger" }, { "purpose": "tagging", "id": "tagged/specification" } ], "target": { "id": "https://www.rfc-editor.org/rfc/rfc7033#page-11", "label": "RFC 7033: WebFinger" } }, { "id": "bookmark/555", "type": "Annotation", "created": "2023-10-15T20:33:09.000Z", "modified": "2023-10-15T20:33:09.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Fully Managed (paid) Mastodon Hosting", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/managed-hosting" } ], "target": { "id": "https://masto.host/", "label": "Masto.host" } }, { "id": "bookmark/554", "type": "Annotation", "created": "2023-10-15T20:30:44.000Z", "modified": "2023-10-15T20:30:44.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Wildebeest is an open-source, easy-to-deploy ActivityPub and Mastodon-compatible server built entirely on top of Cloudflare's Supercloud.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/mastodon" } ], "target": { "id": "https://blog.cloudflare.com/welcome-to-wildebeest-the-fediverse-on-cloudflare/", "label": "Wildebeest: the Fediverse on Cloudflare" } }, { "id": "bookmark/177", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This is a browser extension that implements the WebAP API (still an idea), exposing it to web applications.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/typescript" }, { "purpose": "tagging", "id": "tagged/api" } ], "target": { "id": "https://github.com/webap-api/webap-browser-extension", "label": "WebAP Browser Extension" } }, { "id": "bookmark/178", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A libre collaborative resource mapper powered by open-knowledge, starting with books.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/inventaire/inventaire", "label": "Inventaire" } }, { "id": "bookmark/179", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Personal webpage with social networking functionality", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://gitlab.com/jaywink/socialhome", "label": "Socialhome" } }, { "id": "bookmark/180", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A community managed lightweight code hosting solution.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/codeforge" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/go-gitea/gitea", "label": "Gitea" } }, { "id": "bookmark/182", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A webserver app that supports AP and Zot protocols", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://codeberg.org/zot-archive/zap", "label": "Zap" } }, { "id": "bookmark/183", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Cross-instance share page for Mastodon", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/kytta/share2fedi", "label": "share2fedi" } }, { "id": "bookmark/184", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Automatically fetch missing replies and posts from other fediverse instances.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/nanos/fedifetcher", "label": "FediFetcher for Mastodon" } }, { "id": "bookmark/185", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A way to safely schedule messages with Mastodon and Pleroma.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://framagit.org/tom79/fediplan", "label": "Fediplan" } }, { "id": "bookmark/186", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Alternative stylesheet to make Mastodon UI represent the Birdsite.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/css" } ], "target": { "id": "https://github.com/ronilaukkarinen/mastodon-bird-ui", "label": "Mastodon Bird UI" } }, { "id": "bookmark/187", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Parses RSS feeds, identifies new posts and posts them on the Mastodon social network ", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://gitlab.com/chaica/feed2toot", "label": "feed2toot" } }, { "id": "bookmark/189", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Link aggregator. Latest update - May 2019.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/link" }, { "purpose": "tagging", "id": "tagged/sharing" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://gitlab.com/prismosuite/prismo", "label": "Prismo" } }, { "id": "bookmark/190", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Mastodon-compatible, ActivityPub-speaking server in OCaml", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/ocaml" } ], "target": { "id": "https://github.com/knzkdev/kanzaki", "label": "Kanzaki" } }, { "id": "bookmark/191", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/sevichecc/m-oauth", "label": "M-OAuth" } }, { "id": "bookmark/192", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A search engine of PeerTube videos and channels Developed by Framasoft", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://framagit.org/framasoft/peertube/search-index/", "label": "Sepia Search" } }, { "id": "bookmark/193", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A friendly fork of Mastodon, with the aim of providing additional features at the risk of potentially less stable software", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://github.com/glitch-soc/mastodon", "label": "Glitch-soc" } }, { "id": "bookmark/194", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Article authoring and formating", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/writing" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/linkeddata/dokieli", "label": "Dokie.li" } }, { "id": "bookmark/196", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A parser for ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/csharp" } ], "target": { "id": "https://github.com/judgy/ActivityPub.Net", "label": "ActivityPub.Net" } }, { "id": "bookmark/197", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A web application that uses the RSS/Atom feed of your website to expose it on the Fediverse through ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/deuchnord/f2ap", "label": "f2ap" } }, { "id": "bookmark/198", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Utterly simplified and lightweight blogging protocol.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/writing" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/bauripalash/dinolog", "label": "Dinolog" } }, { "id": "bookmark/199", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": " ActivityPub Server services for ASP.NET.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/csharp" } ], "target": { "id": "https://github.com/sirtwist/Mod.ActivityPub", "label": "Mod.ActivityPub" } }, { "id": "bookmark/200", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Self-hosted, single-user, ActivityPub powered microblog.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://git.sr.ht/~tsileo/microblog.pub", "label": "microblog.pub" } }, { "id": "bookmark/201", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A small ActivityPub debugging server on Glitch", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/testing" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://glitch.com/edit/#!/dfk-ap?path=readme.md%3a1%3a0", "label": "dfk-ap" } }, { "id": "bookmark/202", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Script that recommends people for you to follow on Mastodon based on your own account.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/helgekrueger/mastodon_recommender", "label": "mastodon_recommender" } }, { "id": "bookmark/203", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Simple blogging system written in Go", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/writing" }, { "purpose": "tagging", "id": "tagged/go" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://git.jlel.se/jlelse/goblog", "label": "GoBlog" } }, { "id": "bookmark/204", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Firefox extension that saves your Mastodon bookmarks to Pocket.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/tsujigiri/pockettoots", "label": "PocketToots" } }, { "id": "bookmark/205", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A federated alternative to Goodreads.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/reviews" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/bookwyrm-social/bookwyrm", "label": "Bookwyrm" } }, { "id": "bookmark/206", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Twitter bridge to the Fediverse. Forked from BirdSiteLIVE.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/csharp" } ], "target": { "id": "https://git.sr.ht/~cloutier/bird.makeup", "label": "bird.makeup" } }, { "id": "bookmark/207", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Matrix to Fediverse / ActivityPub client / bridge. Also, some media proxying.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/vulet/ligh7hau5", "label": "ligh7hau5" } }, { "id": "bookmark/208", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Modular ActivityPub implementation as Express.js middleware to easily add decentralization and federation to Node apps.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/immers-space/activitypub-express", "label": "ActivityPub Express" } }, { "id": "bookmark/209", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Bash scripts for backup / restore of Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/bash" } ], "target": { "id": "https://codeberg.org/decatec/mastodon-backup-restore", "label": "Mastodon Backup Resore" } }, { "id": "bookmark/210", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A free non-profit decentralized donation processor with a focus on freedom, privacy and efficiency.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/smartlike-org/smartlike", "label": "Smartlike" } }, { "id": "bookmark/211", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An experimental 'microwiki implementation' / 'mini CMS' with ActivityPub support.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/lisp" }, { "purpose": "tagging", "id": "tagged/wiki" } ], "target": { "id": "https://codeberg.org/vxsh-suite/bopwiki", "label": "bopwiki" } }, { "id": "bookmark/212", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Post bin.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/codeforge" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/gobengo/distbin", "label": "Distbin" } }, { "id": "bookmark/213", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An OCR (Optical Character Recognition) bot for Mastodon (and compatible) instances", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/lynnesbian/ocrbot/", "label": "OCR Bot" } }, { "id": "bookmark/214", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A single user ActivityPub server to interact with the Fediverse and other indie web protocols like RSS.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/benbrown/shuttlecraft", "label": "Shuttlecraft" } }, { "id": "bookmark/215", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": " A C# Library for Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/csharp" } ], "target": { "id": "https://github.com/glacasa/Mastonet", "label": "Masto.Net" } }, { "id": "bookmark/217", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A PHP implementation of the ActivityPub protocol (used in Pterotype plugin). ", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/pterotype-project/activitypub-php", "label": "ActivityPub-PHP" } }, { "id": "bookmark/218", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "API-space software forge federation. Will implement ForgeFed external to the forges, using the forge's HTTP APIs.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/codeforge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/forgeflux-org/interface", "label": "ForgeFlux" } }, { "id": "bookmark/219", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub for Wordpress", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/plugins" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/Automattic/wordpress-activitypub", "label": "WordPress-ActivityPub" } }, { "id": "bookmark/220", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Send RSS/Atom feeds to Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/edsu/feediverse", "label": "feediverse" } }, { "id": "bookmark/221", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A social network dedicated to tracking and discussing what you're reading, based on", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/reviews" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/exlibris-fed/exlibris", "label": "exlibris" } }, { "id": "bookmark/222", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An "un-imagined" ActivityPub service, to address emergent use cases. Multi-tenant, multi-personality, multi-ownership.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://codeberg.org/rcode3/dialtone", "label": "Dialtone" } }, { "id": "bookmark/223", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Use SQL to instantly query Mastodon timelines and more. Open source CLI to Steampipe SaaS. No DB required.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/turbot/steampipe-plugin-mastodon", "label": "Steampipe Mastodon Plugin" } }, { "id": "bookmark/224", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Clojure library designed to implement the ActivityPub protocol.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/clojure" } ], "target": { "id": "https://github.com/simon-brooke/dog-and-duck", "label": "The Old Dog and Duck" } }, { "id": "bookmark/225", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Crossposter to post statuses between Mastodon and Twitter.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://github.com/renatolond/mastodon-twitter-poster", "label": "mastodon-twitter-poster" } }, { "id": "bookmark/226", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Group actors as bot/relay.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/groups" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/michaelcpuckett/ap-groups", "label": "AP-Groups" } }, { "id": "bookmark/227", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Mastodon, Twitter, and Instagram Cross-poster.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://gitlab.com/fedstoa/moa", "label": "Moa" } }, { "id": "bookmark/228", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A federated social media platform implementing the ActivityPub specification for client/server and server/server communications.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://gitlab.koehn.com/mammoth", "label": "mammoth" } }, { "id": "bookmark/229", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A community-driven fork of Pleroma with new features such as support for Misskey-flavored Markdown.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/elixir" } ], "target": { "id": "https://akkoma.dev/akkomagang/akkoma", "label": "Akkoma" } }, { "id": "bookmark/230", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Alternative for Vine / TikTok (alpha). ActivityPub will come later!", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/goldfish-social/goldfish", "label": "Goldfish Social" } }, { "id": "bookmark/231", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A fork of Masto.NET, a C#/.NET Library for accessing Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/csharp" } ], "target": { "id": "https://github.com/drasticactions/Drastic.Mastodon", "label": "Drastic.Mastodon" } }, { "id": "bookmark/232", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Lightweight ActivityPub CMS. Implements both client-to-server (C2S) and server-to-server(S2S) APIs. Compatible with Mastodon, Pixelfed, Pleroma and microblog.pub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/autogestion/pubgate", "label": "pubgate" } }, { "id": "bookmark/233", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "The Federated Social Audio Platform.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/music" }, { "purpose": "tagging", "id": "tagged/sharing" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/weathermen/soundstorm", "label": "Soundstorm" } }, { "id": "bookmark/234", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Minimal ActivityPub server for posting federated podcast comments", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/podcasting" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/skymethod/minipub", "label": "Minipub" } }, { "id": "bookmark/235", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Federated Git platform (still in early stages of development).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/codeforge" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/oknozor/gill", "label": "gill" } }, { "id": "bookmark/236", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A hand-crafted implementation of the Activity Streams 2.0 specification in Go, especially suitable for projects implementing ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/MatejLach/astreams", "label": "astreams" } }, { "id": "bookmark/237", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Hare package provides a extensible implementation of the ActivityStreams 2.0 format and the ActivityPub protocols.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/hare" } ], "target": { "id": "https://git.sr.ht/~torresjrjr/hare-activity", "label": "hare-activity" } }, { "id": "bookmark/238", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A federated self-hosted git repository management tool", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/codeforge" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://git.vp.mk/ui/git-social.git/master/about", "label": "Git Social" } }, { "id": "bookmark/239", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A tol to expand your connection graph and find new people to follow.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/gabipurcaru/followgraph", "label": "Followgraph" } }, { "id": "bookmark/240", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Blog software", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/writing" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/writefreely", "label": "WriteFreely" } }, { "id": "bookmark/241", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Mirrors Twitter accounts to Fediverse, or migrates Twitter account to Fediverse using a Twitter archive. Supports Mastodon, Pleroma and Misskey.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://gitea.robertoszek.xyz/robertoszek/pleroma-bot", "label": "pleroma-bot" } }, { "id": "bookmark/242", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Firefox toolbar extension to share the current browser tab on the Fediverse", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://gitlab.com/mugcake/fedishare", "label": "Fedishare" } }, { "id": "bookmark/243", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A headless Mastodon-compatible Fediverse server project, written in Golang.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/superseriousbusiness/gotosocial", "label": "GoToSocial" } }, { "id": "bookmark/244", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Federated network support for Minecraft. (fabric and quilt).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/java" } ], "target": { "id": "https://github.com/fedi-to/fedicraft", "label": "FediCraft" } }, { "id": "bookmark/245", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Tiny ActivityPub framework, both database and server agnostic.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/tsileo/little-boxes", "label": "Little Boxes" } }, { "id": "bookmark/246", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Federated calendar and event organiser over ActivityPub", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/calendar" } ], "target": { "id": "https://gitea.polonkai.eu/gergely/calendar-social/", "label": "Calendar-social" } }, { "id": "bookmark/247", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Developer has suspended development for the foreseeablefuture", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" } ], "target": { "id": "https://github.com/ganggo/ganggo/tree/develop", "label": "GangGo" } }, { "id": "bookmark/248", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Flask-based (Python) ActivityPub server ,", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" } ], "target": { "id": "https://github.com/rowanlupton/pylodon", "label": "Pylodon" } }, { "id": "bookmark/249", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Collects maximum number of alive fediverse's servers and then query their API to obtain their registered users.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://gitlab.com/spla/fediverse", "label": "Fediverse Stats" } }, { "id": "bookmark/250", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Web app for the Podverse podcast clip sharing system.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/podcasting" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/podverse/podverse-web", "label": "Podverse" } }, { "id": "bookmark/251", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Lightweight social networking server that implements Mastodon's REST API.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://codeberg.org/charlag/kibou", "label": "Kibou" } }, { "id": "bookmark/252", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An application built for a diploma thesis to showcase work with Linked Data Notifications, Activity Streams and ActivityPub, using Solid pod as data provider.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/typescript" }, { "purpose": "tagging", "id": "tagged/solid" } ], "target": { "id": "https://github.com/whyineedtofillusername/inbox", "label": "Inbox" } }, { "id": "bookmark/253", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An ActivityPub Server in Scala.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/scala" } ], "target": { "id": "https://github.com/what-cheer/netop", "label": "netop" } }, { "id": "bookmark/254", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A high-level framework for ActivityPub federation in Rust, extracted from Lemmy.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/LemmyNet/activitypub-federation-rust", "label": "ActivityPub-Federation" } }, { "id": "bookmark/255", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Free and open-source social network for active citizenship.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/ocelot-social-community/ocelot-social", "label": "Ocelot Social" } }, { "id": "bookmark/256", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An ActivityPub engine for Ruby on Rails.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://gitlab.com/experimentslabs/federails", "label": "Federails" } }, { "id": "bookmark/257", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Federating guild website using GuildWars2 API", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/game" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://git.lubar.me/ben/guild-website", "label": "Guild Website" } }, { "id": "bookmark/258", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "the server by Purism used in LibreOne, not the abandoned Tuxcraft server or Pylodon client; a complementary fork of Mastodon, focusing on opt-in public spaces", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/forum" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://source.puri.sm/liberty/host/smilodon", "label": "Smilodon" } }, { "id": "bookmark/259", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An anchoring system for a fediverse of interconnected nodes and witnesses.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://trustbloc.github.io/activityanchors/", "label": "Activity Anchors" } }, { "id": "bookmark/260", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A decentralized, federated social pinboard in the style of Pinterest.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://codeberg.org/pinetta/pinetta", "label": "Pinetta" } }, { "id": "bookmark/261", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Microblogging platform", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/elixir" } ], "target": { "id": "https://git.pleroma.social/pleroma", "label": "Pleroma" } }, { "id": "bookmark/262", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Yet another powerful customizable ActivityPub relay server written in Go", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/relay" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/yukimochi/activity-relay", "label": "activity-relay" } }, { "id": "bookmark/263", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An actively developed, community-driven fork of Misskey with many quality of life improvements for users and admins alike", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://git.joinfirefish.org/firefish/firefish", "label": "Firefish" } }, { "id": "bookmark/264", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An online service to federate forges.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/codeforge" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://lab.forgefriends.org/forgefriends/forgefriends", "label": "ForgeFriends" } }, { "id": "bookmark/265", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A collaborative, generic knowledge management system. Aims to ease data storage and filtering.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/javascript" }, { "purpose": "tagging", "id": "tagged/linked-data" } ], "target": { "id": "http://www.virtual-assembly.org/semapps-2/", "label": "SemApps" } }, { "id": "bookmark/266", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Chrome/Firefox extension that simplifies interactions on other Mastodon instances than your own.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/lartsch/fediact", "label": "FediAct" } }, { "id": "bookmark/267", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An XMPP <=> ActivityPub gateway project doubled with XMPP Pubsub end-to-end encryption", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://repos.goffi.org/sat/file/tip", "label": "Libervia" } }, { "id": "bookmark/269", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An ActivityPub server that reblogs all the statuses of certain actors. You set it up to follow a few accounts and it announces everything they post.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/musingstudio/pherephone", "label": "Pherephone" } }, { "id": "bookmark/270", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "POC to use ActivityPub on top of the Solid Platform.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/javascript" }, { "purpose": "tagging", "id": "tagged/solid" } ], "target": { "id": "https://github.com/scenaristeur/agora", "label": "Agora" } }, { "id": "bookmark/271", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Secure, affordable, private digital spaces for work and play.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://github.com/zinc-collective/convene", "label": "Convene" } }, { "id": "bookmark/272", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "a semantic web server, implements a Linked Data Platform (LDP), uses RDF Turtle as serialization format, part of the", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/elixir" }, { "purpose": "tagging", "id": "tagged/linked-data" } ], "target": { "id": "https://gitlab.com/openengiadina/cpub", "label": "CPub" } }, { "id": "bookmark/273", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "VKontakte-like social network, with friends, walls, photo albums and groups", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/java" } ], "target": { "id": "https://github.com/grishka/smithereen", "label": "Smithereen" } }, { "id": "bookmark/274", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Crawls the Fediverse and produces a list of instances that are alive.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/minoru/minoru-fediverse-crawler", "label": "Minoru's Fediverse Crawler" } }, { "id": "bookmark/275", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An ExpressJS server that integrates with GhostCMS webhooks to publish ActivityPub content on the Fediverse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://codeberg.org/quigs/ghostcms-activitypub", "label": "ghostcms-activitypub" } }, { "id": "bookmark/276", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Challenge someone to a game of chess using toots. An ActivityPub server with a single hardcoded King service actor that acts as a chess arbiter.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/game" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/stephank/castling.club", "label": "castling.club" } }, { "id": "bookmark/277", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Simple widget to support “Follow Me on Mastodon” buttons", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://gitlab.com/eroosenmaallen/masto-follow", "label": "Masto Follow" } }, { "id": "bookmark/278", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub server implementing S2S and C2S protocols, suitable for single board computers. Includes features such as moderation tools, post expiry, content warnings, and image descriptions", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://gitlab.com/bashrc2/epicyon", "label": "Epicyon" } }, { "id": "bookmark/279", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This is an attempt to build something like the Pleroma relay butwith crazy things like workers. Still got a ways to go, but less bad than before. ", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/relay" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://gitlab.com/jankysolutions/social.seattle.wa.us/relay", "label": "Seattle relay" } }, { "id": "bookmark/280", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Facebook-like social network connecting communities across the web", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/aardwolf-social/aardwolf", "label": "Aardwolf" } }, { "id": "bookmark/281", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Drupal module that implements the ActivityPub protocol for your site.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/plugins" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://git.drupalcode.org/project/activitypub", "label": "ActivityPub for Drupal" } }, { "id": "bookmark/283", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Social networking app for NextCloud", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/nextcloud/social", "label": "NextCloud-Social" } }, { "id": "bookmark/284", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Archive your statuses, favorites and media using the Mastodon API.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/kensanata/mastodon-archive", "label": "mastodon-archive" } }, { "id": "bookmark/285", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A fork of Mastodon where you can post toots with beautiful mathematical formulae in TeX/LaTeX style", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://github.com/nyoho/mathtodon", "label": "Mathtodon" } }, { "id": "bookmark/286", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A fediverse server.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://codeberg.org/zot-archive/redmatrix", "label": "Redmatrix 2020" } }, { "id": "bookmark/287", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A tumblelog in the style of Tumblr.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/elixir" } ], "target": { "id": "https://codeberg.org/wammkd/swanye", "label": "Swanye" } }, { "id": "bookmark/288", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Lightweight ActivityPub Server optimized for single-user. A fork and sister project of Misskey", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/misskey-dev/dolphin", "label": "Dolphin" } }, { "id": "bookmark/289", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A fork of Misskey with various bugfixes and improvements.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://akkoma.dev/foundkeygang/foundkey", "label": "FoundKey" } }, { "id": "bookmark/290", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Microblogging server with multiple plugins", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://notabug.org/diogo/gnu-social", "label": "GNU social" } }, { "id": "bookmark/291", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityStreams and ActivityPub library implementation for GNU Guile. Includes a full ActivityStreams library and most of an ActivityPub implementation.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/guile" } ], "target": { "id": "https://gitlab.com/dustyweb/pubstrate", "label": "Pubstrate" } }, { "id": "bookmark/292", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Simple ActivityStream handling for Go.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/benpate/activitystream", "label": "ActivityStream" } }, { "id": "bookmark/293", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Q&A based social network. Ask questions, give answers and learn more about your friends.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://github.com/retrospring/retrospring", "label": "retrospring" } }, { "id": "bookmark/294", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Lightweight Mastodon and GNU Social-compatible server implementation", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/arkanosis/microstatus", "label": "microstatus" } }, { "id": "bookmark/296", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "FireFox browser plugin, that simplifies following and interacting with remote users on other Mastodon instances.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/rugk/mastodon-simplified-federation", "label": "Mastodon Simplified Federation" } }, { "id": "bookmark/297", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Reading app by the devs of WriteFreely", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/writing" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/writeas/read.as", "label": "Read.as" } }, { "id": "bookmark/298", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A C# .NET Implementation of ActivityPub Entity Types.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/csharp" } ], "target": { "id": "https://github.com/Meep-Tech/ActivityPub.Net", "label": "ActivityHub.Net" } }, { "id": "bookmark/299", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Swift Framework that wraps Mastodon's API.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/swift" } ], "target": { "id": "https://github.com/mastodonkit/mastodonkit", "label": "MastodonKit" } }, { "id": "bookmark/300", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A mock ActivityPub server to use in SoftwareTesting code", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/testing" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://gitlab.com/evanp/activitypub-mock", "label": "activitypub-mock" } }, { "id": "bookmark/301", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub JS/TS models with docs", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/siranweb/activitypub-models", "label": "ActivityPub Models" } }, { "id": "bookmark/302", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "CMS with a range of groupware tools available as plug-ins", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/writing" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://framagit.org/hubzilla", "label": "Hubzilla" } }, { "id": "bookmark/303", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A quick look into Fediverse networks", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://codeberg.org/fediverse/fediparty", "label": "Fediparty" } }, { "id": "bookmark/304", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A browser extension that helps you find people on Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/tvler/streetpass", "label": "StreetPass" } }, { "id": "bookmark/305", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A bot that mirrors YouTube channels to PeerTube channels as videos are released in a YouTube channel.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/mister-monster/youtube2peertube", "label": "YouTube2PeerTube" } }, { "id": "bookmark/306", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Hugo module for use in Hugo, to generate ActivityStreams representations of posts. ", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/plugins" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://git.jlel.se/jlelse/hugo-activitystreams", "label": "Hugo-ActivityStreams" } }, { "id": "bookmark/307", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A .NET implementation of the Activity Streams vocabulary in the form of classes that can be serialized using System.Text.Json.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/csharp" } ], "target": { "id": "https://github.com/KristofferStrube/ActivityStreams", "label": "ActivityStreams (Kristoffer Strube)" } }, { "id": "bookmark/308", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Research space for a next-gen distributed social network written in Racket and consisting of multiple projects, by AP specification co- author Christine Lemmer Webber.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/racket" } ], "target": { "id": "https://gitlab.com/spritely", "label": "Spritely" } }, { "id": "bookmark/309", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Convert any RSS feed to an ActivityPub actor that can be followed by users on ActivityPub-compliant social networks like Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/dariusk/rss-to-activitypub", "label": "RSS-to-ActivityPub Converter" } }, { "id": "bookmark/310", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An attempt to create a viable Goodreads alternative, book reading progress, lists, reviews, comments (Project looking for new Maintainers)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/reviews" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://gitlab.com/Alamantus/Readlebee", "label": "Readlebee" } }, { "id": "bookmark/311", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Minimalist blog that implements ActivityPub endpoints.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/writing" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/lonor/site", "label": "site" } }, { "id": "bookmark/312", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Early beginnings of ActivityPub library in Rust", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/plugins" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/hachyserve/rustypub", "label": "rustypub" } }, { "id": "bookmark/313", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Library to abstract social web federation protocols like ActivityPub, Diaspora and Matrix (see <a href="https://federation.readthedocs.io">docs</a>).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://gitlab.com/jaywink/federation", "label": "Federation" } }, { "id": "bookmark/314", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Post updates from an RSS feed to Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" }, { "purpose": "tagging", "id": "tagged/rss" }, { "purpose": "tagging", "id": "tagged/bot" } ], "target": { "id": "https://src.alexschroeder.ch/rss-bot.git", "label": "rss-bot" } }, { "id": "bookmark/315", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub server with minimal setup and support costs", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://humungus.tedunangst.com/r/honk", "label": "Honk" } }, { "id": "bookmark/316", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Matrix <--> Mastodon bot written in Java.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/java" } ], "target": { "id": "https://github.com/ma1uta/mxtoot", "label": "MXToot" } }, { "id": "bookmark/317", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A PHP implementation of ActivityPub protocol based upon the ActivityStreams 2.0 data format.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/landrok/activitypub", "label": "ActivityPubPhp" } }, { "id": "bookmark/318", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A libre, self-hostable, federated, imageboard platform that utilizes ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/images" }, { "purpose": "tagging", "id": "tagged/sharing" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/fchannel0/fchannel-server", "label": "FChannel" } }, { "id": "bookmark/319", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A bovine powered ActivityPub server, which interoperates with the rest of the FediVerse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://codeberg.org/bovine/bovine/src/branch/main/bovine_herd", "label": "bovine_herd" } }, { "id": "bookmark/320", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An extension for the Pagure forge that adds ForgeFed federation to Pagure instances.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/codeforge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://pagure.io/pagure-forgefed", "label": "ForgeFed extension for Pagure" } }, { "id": "bookmark/321", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Telegram bot for Pleroma and Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/elixir" } ], "target": { "id": "https://github.com/4da/bleroma", "label": "bleroma" } }, { "id": "bookmark/322", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Experimental plugin for Flarum", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/forum" } ], "target": { "id": "https://github.com/squeevee/flarum-ext-feddle", "label": "Feddle" } }, { "id": "bookmark/323", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An Open File Format for storing the information from a forge.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/codeforge" } ], "target": { "id": "https://lab.forgefriends.org/friendlyforgeformat", "label": "Friendly Forge Format" } }, { "id": "bookmark/324", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A multifunctional decentralized social network implementation.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/hvxahv/hvx", "label": "hvxahv-platform" } }, { "id": "bookmark/325", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "The social web translator. Fetches and converts data between social networks, HTML and JSON with microformats2, ActivityStreams, Atom, JSON Feed, and more.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/snarfed/granary", "label": "Granary" } }, { "id": "bookmark/326", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A collaborative social publishing engine", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/writing" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/idno/known", "label": "Known" } }, { "id": "bookmark/327", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "a bot for mirroring Twitter / Tumblr accounts and RSS feeds on Mastodon", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/clojure" } ], "target": { "id": "https://gitlab.com/yogthos/mastodon-bot", "label": "mastodon-bot" } }, { "id": "bookmark/328", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An ActivityPub server written in OCaml.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/ocaml" } ], "target": { "id": "https://github.com/gopiandcode/ocamlot", "label": "OCamlot" } }, { "id": "bookmark/329", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "formerly Zinat) Image sharing", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/images" }, { "purpose": "tagging", "id": "tagged/sharing" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/anforaproject/anfora", "label": "Anfora" } }, { "id": "bookmark/330", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An implementation of a ActivityPub bot that can communicate with Mastodon servers.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/csharp" } ], "target": { "id": "https://github.com/kristofferstrube/activitypubbotdotnet", "label": "ActivityPubBotDotNet" } }, { "id": "bookmark/331", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A fork of Mastodon that provides local posting and a wider range of content types", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://github.com/hometown-fork/hometown", "label": "Hometown" } }, { "id": "bookmark/332", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Wordpress Plugin that automatically posts your new articles to Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/plugins" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/simonfrey/mastodon_wordpress_autopost", "label": "Mastodon Wordpress Autopost" } }, { "id": "bookmark/333", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Github Action that posts to Fediverse when code is changed.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/rzr/fediverse-action", "label": "Fediverse-Action" } }, { "id": "bookmark/334", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Embeds mastodon timline into a html page. Uses JS, no intermediate server required.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/clojurescript" } ], "target": { "id": "https://github.com/domaindrivenarchitecture/dda-masto-embed", "label": "dda-masto-embed" } }, { "id": "bookmark/335", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Part of Creative Passport NGI0-funded project for providing a verified digital ID for Music Makers (very early stage of development)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/creative-passport/artist-hub", "label": "Artist Hub" } }, { "id": "bookmark/336", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Video-hosting site using WebTorrent", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/video" }, { "purpose": "tagging", "id": "tagged/sharing" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/chocobozzz/peertube", "label": "PeerTube" } }, { "id": "bookmark/337", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A decentralised self-hosted microblogging platform that has a privacy- first focus.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://git.mills.io/yarnsocial/yarn", "label": "Yarn" } }, { "id": "bookmark/338", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Integrate your Fediverse timeline into your Vue 3 with Bootstrap 5 application.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/plugins" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/networld-to/vue-ap-timeline", "label": "Vue Component Library for ActivityPub Timelines" } }, { "id": "bookmark/339", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An implementation of the ActivityPub protocol for XWiki", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/plugins" }, { "purpose": "tagging", "id": "tagged/java" } ], "target": { "id": "https://github.com/xwiki-contrib/application-activitypub", "label": "XWiki Extension for ActivityPub" } }, { "id": "bookmark/340", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Link aggregator and microblogging platform for Fediverse", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/forum" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://codeberg.org/kbin/kbin-core", "label": "Kbin" } }, { "id": "bookmark/341", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A script that aggregates recent popular posts from your Mastodon timeline.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/hodgesmr/mastodon_digest", "label": "mastodon_digest" } }, { "id": "bookmark/342", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A modern BBS software with a nostalgic flair.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/forum" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/nuskooler/enigma-bbs", "label": "ENiGMA½" } }, { "id": "bookmark/343", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A digital give-a-book, take-a-book library for ebooks.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/book" }, { "purpose": "tagging", "id": "tagged/sharing" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/Alamantus/little-library", "label": "Little Library" } }, { "id": "bookmark/344", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Personal network that helps to keep in contact with friends. Interface and functionality include common features of a mainstream social network", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/friendica/friendica", "label": "Friendica" } }, { "id": "bookmark/345", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Implementation of the HTTP Signature scheme as used in ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/mtti/http-signature", "label": "http-signature" } }, { "id": "bookmark/347", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A personal reader on your website which is installable as a PWA on your phone or tablet.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://git.drupalcode.org/project/reader", "label": "Personal Reader for Drupal" } }, { "id": "bookmark/348", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A federated blogging platform built on the ActivityPub protocol.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/brandonsides/pubblr", "label": "Pubblr" } }, { "id": "bookmark/349", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An ethical bridge from Twitter", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/csharp" } ], "target": { "id": "https://github.com/nicolasconstant/birdsitelive", "label": "BirdSiteLIVE" } }, { "id": "bookmark/350", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Self-hosted and federated social link aggregation", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/link" }, { "purpose": "tagging", "id": "tagged/sharing" } ], "target": { "id": "https://gitlab.com/tuxether/anancus", "label": "Anancus" } }, { "id": "bookmark/351", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "The decent(ralized) metaverse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/immers-space/immers", "label": "Immers Space" } }, { "id": "bookmark/352", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A fork of Mastodon for creators: emoji reactions, localposting, groups, misskey-like antennas, post self-destruction and more moderation options", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://github.com/kmycode/mastodon", "label": "kmyblue" } }, { "id": "bookmark/353", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A tiny, single user ActivityPub server, meant to be a starting point for your own ActivityPub projects.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/jakelazaroff/activitypub-starter-kit", "label": "ActivityPub Starter Kit" } }, { "id": "bookmark/354", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A small, efficient Mastodon-compatible Fediverse server for single- user instances. Based on Deno.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/ar-nelson/tapir", "label": "Tapir" } }, { "id": "bookmark/355", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Archive your statuses, favorites and media using the Mastodon API.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/kensanata/mastodon-archive", "label": "Mastodon Archive" } }, { "id": "bookmark/356", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An experimental Fediverse server for microblogging", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/jointakahe/takahe", "label": "Takahē" } }, { "id": "bookmark/357", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Interplanetary microblogging platform. Provides many additional features like calendar, emoji reactions, polls, games, and many other widgets", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/misskey-dev/misskey", "label": "Misskey" } }, { "id": "bookmark/358", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Defines a standardized way to expose metadata about an installation of a distributed social network.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/jhass/nodeinfo", "label": "NodeInfo" } }, { "id": "bookmark/359", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A fork of Mastodon designed for civic communities looking to run their own social networks.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://github.com/iDPI-Umass/smalltown", "label": "Smalltown" } }, { "id": "bookmark/360", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Still considering adding APsupport", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/event-management" } ], "target": { "id": "https://github.com/gettogethercomm/gettogether/issues/60", "label": "GetTogether" } }, { "id": "bookmark/361", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Generic library to federate an app with ActivityPub (uses a queue for incoming/outgoing activities and adapter modules for tight integration).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/elixir" } ], "target": { "id": "https://github.com/bonfire-networks/activity_pub", "label": "Bonfire ActivityPub" } }, { "id": "bookmark/363", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Lightweight, stylish, and ethical share buttons.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://codeberg.org/kytta/shareon", "label": "Shareon" } }, { "id": "bookmark/364", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A simple web app that helps you find your Twitter friends on the federated Mastodon network. It is also an example of how the Mastodon API can be used and the federated OAuth authorization flow.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://source.joinmastodon.org/mastodon/bridge", "label": "bridge" } }, { "id": "bookmark/365", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Aims to be more than a Meetup clone", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/event-management" }, { "purpose": "tagging", "id": "tagged/elixir" } ], "target": { "id": "https://framagit.org/framasoft/mobilizon", "label": "Mobilizon" } }, { "id": "bookmark/366", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A server-side, single-user, Fediverse-integrated microblog engine. Creating static assets published by webserver.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/ocaml" } ], "target": { "id": "https://codeberg.org/seppo/seppo", "label": "Seppo" } }, { "id": "bookmark/367", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Federated social groups with ActivityPub, NodeJS, Express, and Mongod.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/groups" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/immers-space/guppe", "label": "Guppe" } }, { "id": "bookmark/368", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Bridges the IndieWeb to federated social networks: ActivityPub, OStatus, etc.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/snarfed/bridgy-fed", "label": "Bridgy Fed" } }, { "id": "bookmark/369", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Reference implementation of Friendly Forge Format in Python.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/codeforge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://lab.forgefriends.org/friendlyforgeformat/f3-documentation", "label": "pyfff" } }, { "id": "bookmark/370", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Full ActivityStreams 1.0 and 2.0 reference implementation in Java.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/java" } ], "target": { "id": "https://github.com/OpenSocial/activitystreams", "label": "ActivityStreams (OpenSocial)" } }, { "id": "bookmark/371", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Activity Streams validation for Typescript.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/yuforium/activity-streams", "label": "activity-streams-validator" } }, { "id": "bookmark/372", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A tool to visualize instances in the fediverse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/elixir" } ], "target": { "id": "https://gitlab.com/fediverse.space/fediverse.space", "label": "fediverse.space" } }, { "id": "bookmark/373", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A customizable, private space in the Fediverse where people can create, share, and collaborate.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/emissarysocial/emissary", "label": "Emissary" } }, { "id": "bookmark/374", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Manage cities as a connected citizen, produce openCityData, manage organizations, projects, events openly, an open societal approach", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/pixelhumain/communecter", "label": "Communecter" } }, { "id": "bookmark/375", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Collection of fediverse API wrapper libraries for .NET Standard 2.0.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/csharp" } ], "target": { "id": "https://github.com/OrionDevelop/Disboard", "label": "Disboard" } }, { "id": "bookmark/376", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub compatible SNS that aims to be easy for everyone to use.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/mmrath/MatticNote", "label": "MatticNote" } }, { "id": "bookmark/377", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A federated video live streaming platform (in development)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/livestreaming" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/mrcatman/catcast-d", "label": "Catcast D" } }, { "id": "bookmark/378", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A fork of Mastodon with full Markdown, Quote and Local-Only Toots, Gitlab/hub sign-in, Google Translate, deeper support of Chinese and more theming.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://github.com/mashirozx/mastodon", "label": "Little Forest" } }, { "id": "bookmark/379", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Display a Mastodon thread (only author toots, no replies) as a web page or Markdown for reading.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/vrutkovs/masto-thread-renderer", "label": "Masto Thread Renderer" } }, { "id": "bookmark/380", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Libraries for using ActivityPub in the Go language.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/go-ap", "label": "Golang ActivityPub" } }, { "id": "bookmark/381", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A self-hosted linguistic corpora exchange platform that aims to be a simple gateway to the Fediverse for scientific interaction", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/python" }, { "purpose": "tagging", "id": "tagged/activitypub" } ], "target": { "id": "https://framagit.org/synalp/olki/olki/-/wikis/activitypub-dialect-documentation", "label": "OLKi" } }, { "id": "bookmark/382", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A scheme based on RDF allowing for data to be referred to by an identifier determined by the data itself", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/rdf" } ], "target": { "id": "https://openengiadina.net/papers/content-addressable-rdf.html", "label": "Content-addressible RDF" } }, { "id": "bookmark/383", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Simple social groups compatible with ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/groups" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/wxwmoe/wxwclub", "label": "vxwClub" } }, { "id": "bookmark/384", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A modular crossposter to bridge events from sources you have to setup yourself to Mobilizon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://codeberg.org/linos/crossposter-for-mobilizon", "label": "Mobilizon Crossposter" } }, { "id": "bookmark/385", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Shared agenda for local communities; demo", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/event-management" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://framagit.org/les/gancio", "label": "Gancio" } }, { "id": "bookmark/386", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "site])(https://transit.alerts.social/)): ActivityPub-compliant server for distributing transit service alerts.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/kona314/transit-fedilerts", "label": "Transit Fedilerts" } }, { "id": "bookmark/387", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Public domain federated communications server. Provides a feature rich ActivityPub and Nomad communication node.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://codeberg.org/streams/streams", "label": "Streams" } }, { "id": "bookmark/388", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Basic Fediverse Inbox. Writing software is hard and time consuming. What's the most basic practical system that lets us connect to the fediverse?", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://gitlab.com/paulkiddle/fedi-inbox", "label": "fedi-inbox" } }, { "id": "bookmark/389", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Small ActivityPub server written in Rust.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/aumetra/tranquility", "label": "tranquility" } }, { "id": "bookmark/390", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Link aggregator inspired by Reddit", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/link" }, { "purpose": "tagging", "id": "tagged/sharing" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/mariusor/brutalinks", "label": "brutalinks" } }, { "id": "bookmark/391", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "W3C ActivityPub and ActivityStreams implementation in Java using Spring Boot.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/java" } ], "target": { "id": "https://github.com/msummers/activityPub4j", "label": "activityPub4j" } }, { "id": "bookmark/392", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A federated forum / link aggregator.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/forum" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://git.sr.ht/~vpzom/lotide", "label": "lotide" } }, { "id": "bookmark/393", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Embed Mastodon or Pleroma profile feeds on any web page.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/bihlink/maplefeed", "label": "MaPleFeed" } }, { "id": "bookmark/395", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A framework (kinda) to work with ActivityPub with .NET.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/csharp" } ], "target": { "id": "https://github.com/WiiPlayer2/DarkLink.Web.ActivityPub", "label": "DarkLink.Web.ActivityPub" } }, { "id": "bookmark/396", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Import domain blocks to your Mastodon v4+ instance.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/irubnich/fediblock-importer", "label": "fediblock-importer" } }, { "id": "bookmark/397", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Self-reliantly posting on the #Fediverse with painless hosting and security in mind.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://code.mro.name/mro/shaarligo", "label": "ShaarliGo" } }, { "id": "bookmark/398", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Mastodon-compatible server", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/rustodon/rustodon", "label": "Rustodon" } }, { "id": "bookmark/399", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Wolfgame is a lot like Mafia. Once started the game simulates day/night cycle and allows players to vote for who might be a werewolf during the day.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/game" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://gitlab.com/stemid/wolfgame", "label": "Wolfgame" } }, { "id": "bookmark/400", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Search PeerTube via Matrix, using Sepia Search API to search on all participating public PeerTube instances. You can also select any single instance. It's implemented as a module for Hemppa the bot.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/vranki/hemppa#peertube-search", "label": "PeerTube (on Matrix) Search" } }, { "id": "bookmark/402", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A tiny ActivityPub host intended for a single actor, that implements Mastodon API for use with various clients.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/davecheney/pub", "label": "Pub" } }, { "id": "bookmark/403", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A federated community-building platform for Eve Online corporations.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/game" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/cjslep/dharma", "label": "Dharma" } }, { "id": "bookmark/404", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A wordpress plugin widget to display your fediverse account timeline.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/plugins" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://codeberg.org/mediaformat/fediembedi", "label": "FediEmbedi" } }, { "id": "bookmark/405", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Link aggregator, by", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/forum" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/LemmyNet/lemmy", "label": "Lemmy" } }, { "id": "bookmark/406", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Groups work with any software that implements Mastodon client API; has moderation, admin announcements,", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/groups" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://git.ondrovo.com/mightypork/group-actor", "label": "Group actor" } }, { "id": "bookmark/407", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A single actor ActivityPub server implemented in NextJS.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/llun/activities.next", "label": "Activity.next" } }, { "id": "bookmark/408", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A standalone service to deliver posts from your own website to ActivityPub followers.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/aaronpk/nautilus", "label": "Nautilus" } }, { "id": "bookmark/409", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An interpreter for Mastodon posts.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/amirlb/toot-volute", "label": "toot-volute" } }, { "id": "bookmark/410", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A federated network of Open Data for discovering interesting events", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/event-management" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/theoccasionoctopus/theoccasionoctopus-server", "label": "The Occasion Octopus" } }, { "id": "bookmark/411", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Fediverse backend written in Elixir", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" } ], "target": { "id": "https://gitlab.com/soapbox-pub/rebased", "label": "Rebased" } }, { "id": "bookmark/412", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Photo Sharing. For Everyone. A free and ethical photo sharing platform.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/images" }, { "purpose": "tagging", "id": "tagged/sharing" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/pixelfed/pixelfed", "label": "PixelFed" } }, { "id": "bookmark/413", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Distributed blogging, polls, and status updates powered by activitypub, python, the gay agenda, and snake women.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/writing" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/Scarly-Crow/lamia-pub", "label": "Lamia" } }, { "id": "bookmark/414", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Embed your Mastodon feed into your web page.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/sampsyo/emfed", "label": "emfed" } }, { "id": "bookmark/415", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Still considers addingActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" } ], "target": { "id": "https://github.com/pump-io/pump.io/issues/1241", "label": "pump.io" } }, { "id": "bookmark/416", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": " An attempt to build a spec-compliant ActivityPub core library.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/michaelcpuckett/activity-kit", "label": "activity-kit" } }, { "id": "bookmark/417", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Link aggregator, a work in progress", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/link" }, { "purpose": "tagging", "id": "tagged/sharing" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/faleidel/moontreeproject", "label": "MoonTree" } }, { "id": "bookmark/418", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A simple, minimalistic ActivityPub instance with minimal dependencies, multiuser, no database nor cookies needed, totally JavaScript-free", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/c" } ], "target": { "id": "https://codeberg.org/grunfink/snac2", "label": "snac" } }, { "id": "bookmark/419", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An effort to create a standardized way of exposing metadata about a server.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/jaywink/nodeinfo2", "label": "NodeInfo2" } }, { "id": "bookmark/421", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A simple set of scripts to quickly import your youtube channel to Peertube.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/elevenpassin/yt2pt", "label": "yt2pt" } }, { "id": "bookmark/422", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Podcasting platform that allows people to listen to podcasts in a new way.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/podcasting" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/pubcast/pubcast", "label": "Pubcast" } }, { "id": "bookmark/423", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Script for crossposting from Instagram to Mastodon or Pixelfed.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/horhik/instagram2fedi", "label": "Instagram2Fedi" } }, { "id": "bookmark/424", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Distributed data structures that can hold references to content while allowing replicas of the data structures to diverge and merge without conflict", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/storage" } ], "target": { "id": "http://web.archive.org/web/20220731033939/https://inqlab.net/projects/dmc/dmc-v0.1.0.html", "label": "Distributed Mutable Containers" } }, { "id": "bookmark/425", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "built on Ethereum blockchain but intended to federate with AP. No commits since April 2018. No reply on issue about AP compatibility testing from May 8. Homepage now a spamsite", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/numaverse/numaverse-gateway/issues/3", "label": "Numa" } }, { "id": "bookmark/426", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Fully customisable blog engine", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/writing" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://framagit.org/davidlibeau/fediblog", "label": "FediBlog" } }, { "id": "bookmark/427", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A powerful single server ActivityPub framework for performant Fediverse applications.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/go-fed/apcore", "label": "go-fed apcore" } }, { "id": "bookmark/428", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Python wrapper for the Mastodon API.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/halcy/Mastodon.py", "label": "Mastodon.py" } }, { "id": "bookmark/429", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Reference implementation of Friendly Forge Format in Golang.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/codeforge" }, { "purpose": "tagging", "id": "tagged/go" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://lab.forgefriends.org/friendlyforgeformat/gof3", "label": "gof3 - Friendly Forge Format in Go" } }, { "id": "bookmark/430", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Integrate Mastodon with your Joomla! site.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/plugins" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/nikosdion/fediverse", "label": "Fediverse Tools for Joomla!" } }, { "id": "bookmark/431", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A collection of tools to work with your Mastodon account; displays account statistics and lets you search your toots.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/muesli/mastotool", "label": "Mastotool" } }, { "id": "bookmark/432", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Vervis is a work-in-progress federated project and repository hosting and collaboration platform. Its development is meant to help form the ForgeFed specification for project hosting platform federation, and hopefully get existing platforms (such as Gitea, Gogs, GitLab CE, etc.) to support it.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/codeforge" }, { "purpose": "tagging", "id": "tagged/haskell" } ], "target": { "id": "https://vervis.peers.community/repos/WvWbo/source", "label": "Vervis" } }, { "id": "bookmark/433", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Platform for building communities. No commits - since September2019", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/tgnthump/pantheon", "label": "Pantheon" } }, { "id": "bookmark/434", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A fork of Mastodon. Unlisted posts with tags are published on tags, a list of fav tags, image size restrictions and transcoding", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://github.com/imas/mastodon", "label": "im@stodon" } }, { "id": "bookmark/435", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub-federated microblogging.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/kitsune-soc/kitsune", "label": "Kitsune" } }, { "id": "bookmark/437", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub server using Lumen framework", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://notabug.org/tinyrabbit/lumen-ap-server", "label": "Lumen-ap-server" } }, { "id": "bookmark/438", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Full ActivityStreams & ActivityPub implementation in Golang. Extensions can be easily added by design-time code generation from JSON-LD schema's (also supports <a href="https://forgefed.org/">ForgeFed</a> this way, by default).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/go-fed/activity", "label": "go-fed activity" } }, { "id": "bookmark/439", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A social network for humans that is free, decentralized, open, and easy to use.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/lectrn-social/bookshelf", "label": "lectrn" } }, { "id": "bookmark/440", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Relay that forwards web push notifications to APNs, built for Toot!.app but usable for anyone.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/relay" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/dagagren/toot-relay", "label": "toot-relay" } }, { "id": "bookmark/441", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "WordPress plugin. Pterotype connects your blog to the Fediverse by giving it an ActivityPub feed", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/plugins" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/pterotype-project/pterotype", "label": "Pterotype" } }, { "id": "bookmark/442", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "JSON Schema definition of the ActivityStreams and ActivityPub specifications.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/redaktor/activitypubschema", "label": "ActivityPubSchema" } }, { "id": "bookmark/443", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Music streaming", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/music" }, { "purpose": "tagging", "id": "tagged/sharing" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://dev.funkwhale.audio/funkwhale/funkwhale", "label": "FunkWhale" } }, { "id": "bookmark/444", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A minimalistic Activity Pub server. Think Mastodon, but smaller and with fewer features", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://gitlab.com/ngerakines/tavern/-/tree/release-amber-ale", "label": "Tavern" } }, { "id": "bookmark/445", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A fork of Mastodon focusing on followers-only posting of media. Configurable circles to post to.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://github.com/jesseplusplus/decodon", "label": "Decodon" } }, { "id": "bookmark/446", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Turtle definitions of ActivityStreams 2.0 and Mastodon Toot vocabularies.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/steve-bate/activitypub-ontology", "label": "ActivityPub Ontology" } }, { "id": "bookmark/447", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An interactive p2p web-platform to provide barrier-free access to education for everyone.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/javascript" }, { "purpose": "tagging", "id": "tagged/p2p" } ], "target": { "id": "https://gitlab.com/Openki/Openki", "label": "Openki" } }, { "id": "bookmark/448", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Mastodon moderation alerts using Pushover.net.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" }, { "purpose": "tagging", "id": "tagged/moderation" } ], "target": { "id": "https://gitlab.com/stemid/mastodon-moderator-alerts", "label": "Moderator Alerts" } }, { "id": "bookmark/449", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Creates a publication / subscription infrastructure for Open Educational Resources. It allows to follow specific subjects and to be notified when new content about that subject is published.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/datasets" }, { "purpose": "tagging", "id": "tagged/javascript" }, { "purpose": "tagging", "id": "tagged/activitypub" } ], "target": { "id": "https://github.com/skohub-io/skohub-pubsub", "label": "SkoHub" } }, { "id": "bookmark/450", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Cross-platform Swift library for the Mastodon API.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/swift" } ], "target": { "id": "https://github.com/tootsdk/tootsdk", "label": "TootSDK" } }, { "id": "bookmark/451", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Matrix bridge to ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/elixir" } ], "target": { "id": "https://gitlab.com/technostructures/kazarma/kazarma", "label": "Kazarma" } }, { "id": "bookmark/452", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Gemini frontend to the fediverse (specifically, Mastodon and Pleroma instances).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://git.sr.ht/~boringcactus/gemifedi", "label": "gemifedi" } }, { "id": "bookmark/453", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Generates RSS and Atom feeds for websites that don't have one. Supports Mastodon, Pleroma and Misskey, among others.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/rss-bridge/rss-bridge", "label": "RSS-MessagingBridge ActivityPub MessagingBridge" } }, { "id": "bookmark/454", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A lightweight federated microblogging server, designed to be simple & fast.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/nim" } ], "target": { "id": "https://gt.tilambda.zone/o/pothole/server.git/about/", "label": "Pothole" } }, { "id": "bookmark/455", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An OStatus plugin for WordPress", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/plugins" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/pfefferle/wordpress-ostatus", "label": "WordPress-OStatus" } }, { "id": "bookmark/456", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Continuous post deletion for Mastodon and Twitter (if you happen to use that).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/codl/forget", "label": "forget" } }, { "id": "bookmark/457", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Usage of bovine to write an ActivityPubClient.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/tutorial" }, { "purpose": "tagging", "id": "tagged/activitypub-c2s" } ], "target": { "id": "https://bovine.readthedocs.io/en/latest/tutorial_client.html", "label": "Tutorial: Using BovineClient" } }, { "id": "bookmark/458", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A simple self-hosted workout / activity tracker.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/exercise" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/samr1/fittrackee", "label": "FitTrackee" } }, { "id": "bookmark/459", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A bridge between Zot protocol and ActivityPub, OStatus, Diaspora etc.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://codeberg.org/zot-archive/osada", "label": "Osada" } }, { "id": "bookmark/460", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Node app that checks a list of feeds (Atom, RSS, RDF) periodically, post new items to Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/scripting/feedtomasto", "label": "feedToMasto" } }, { "id": "bookmark/461", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Generic ActivityPub server, with a focus on microblogging style activities", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://puckipedia.com/kroeg", "label": "Kroeg" } }, { "id": "bookmark/464", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": " HTTP signatures for ActivityPub in Rust.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/astro/sigh", "label": "Sigh" } }, { "id": "bookmark/465", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Publishes to Twitter all your Mastodon public text only posts but also your posts with images, with videos and even your polls.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://git.mastodont.cat/spla/mastotuit", "label": "mastotuit" } }, { "id": "bookmark/466", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A simple and efficient ActivityPub relay.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/relay" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://git.asonix.dog/asonix/relay", "label": "AodeRelay" } }, { "id": "bookmark/467", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Epic microblogging network with many features and multiple interface layouts to choose from", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://github.com/mastodon/mastodon", "label": "Mastodon" } }, { "id": "bookmark/468", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A single-user ActivityPub server with minimal dependencies, using SQLite,", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/crystal" } ], "target": { "id": "https://github.com/toddsundsted/ktistec", "label": "Ktistec" } }, { "id": "bookmark/469", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An open-source hosting platform made for podcasters who want engage and interact with their audience.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/podcasting" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://code.podlibre.org/podlibre/castopod", "label": "CastoPod Host" } }, { "id": "bookmark/470", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Publish status from Raycast to Akkoma or Pleroma, and view your bookmarked status", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/raycast/extensions/tree/main/extensions/akkoma", "label": "Raycast Extension for Akkoma" } }, { "id": "bookmark/471", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Jekyll plugin that adds a WebFinger file to your site, allowing you to use your own domain to help others discover your Mastodon profile.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/plugins" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://github.com/philnash/jekyll-mastodon_webfinger", "label": "Jekyll::MastodonWebfinger" } }, { "id": "bookmark/472", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Owncast is a self-hosted live video and web chat server for use with existing popular broadcasting software.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/podcasting" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/owncast/owncast", "label": "Owncast" } }, { "id": "bookmark/473", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A set of Traits and Types that make up the ActivityStreams and ActivityPub specifications.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://git.asonix.dog/asonix/activitystreams", "label": "ActivityStreams Types (Asonix)" } }, { "id": "bookmark/474", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Music and podcast hosting,", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/podcasting" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/music" }, { "purpose": "tagging", "id": "tagged/sharing" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/reel2bits/reel2bits", "label": "reel2bits" } }, { "id": "bookmark/475", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A federated nanoblogging service with a Gemini frontend.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/dimkr/tootik", "label": "Tootik" } }, { "id": "bookmark/476", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityStreams 2.0 library for Node.js and TypeScript.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/gobengo/activitystreams2", "label": "ActivityStreams-2" } }, { "id": "bookmark/477", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Django-based microblogging server, written in Python, which supports the Mastodon protocol.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://gitlab.com/marnanel/chapeau", "label": "Kepi" } }, { "id": "bookmark/478", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "R package to interact with the mastodon API.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/r" } ], "target": { "id": "https://github.com/gesistsa/rtoot", "label": "rtoot" } }, { "id": "bookmark/479", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Github Action that posts to Mastodon from text files, enabling everyone to submit toot drafts to a project.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/joschi/toot-together", "label": "Toot-Together" } }, { "id": "bookmark/480", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Bulk find and follow to make it easy to migrate from Twitter to Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://gitlab.com/ozten/mastodon_bulk_find_follow", "label": "mastodon_bulk_find_follow" } }, { "id": "bookmark/481", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Event management system that allows event creation and coordination across Fediverse", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/ngerakines/apevents", "label": "apevents" } }, { "id": "bookmark/482", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Library providing an easy way to create Mastodon API applications.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/popura-network/atoot", "label": "atoot" } }, { "id": "bookmark/483", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A DID Method for a fediverse of interconnected nodes and witnesses.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://trustbloc.github.io/did-method-orb/", "label": "The did:orb Method" } }, { "id": "bookmark/484", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "View Mastodon timelines, search hashtags, find interesting people, and check server stats.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" } ], "target": { "id": "https://github.com/turbot/steampipe-mod-mastodon-insights", "label": "Steampipe Mastodon Insights Mod" } }, { "id": "bookmark/485", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Bot to grab tweets from Twitter and post them to respective accounts on a Mastodon instance.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://gitlab.com/hamachpil/twitter_hamachpil", "label": "Twitter Hamachpil" } }, { "id": "bookmark/486", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A service-type ActivityPub actor that will re-broadcast anything sent to it to anyone who subscribes to it.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/relay" }, { "purpose": "tagging", "id": "tagged/crystal" } ], "target": { "id": "https://github.com/noellabo/pub-relay", "label": "Pub-Relay" } }, { "id": "bookmark/487", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "a bot that implements group functionality in Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/groups" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/drequivalent/mastodon-bot-autoresponder", "label": "Mastodon Bot Autoresponder" } }, { "id": "bookmark/489", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A .NET Standard library for Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/csharp" } ], "target": { "id": "https://github.com/Joe-K-Sewell/Incognitum", "label": "Incognitum" } }, { "id": "bookmark/490", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Blogging application", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/writing" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/plume-org/plume", "label": "Plume" } }, { "id": "bookmark/492", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A very light ActivityPub library in Go (used to power <a href="https://github.com/writeas/pherephone">pherephone</a>).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/writeas/activityserve", "label": "ActivityServe" } }, { "id": "bookmark/493", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Workspace for defining ActivityPub and ActivityStream extensions for Podcasting with the intention to define a W3C Recommendation forthem.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/podcastindex-org/activitypub-spec-work", "label": "Podcasting Specification" } }, { "id": "bookmark/494", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Public post relay for the diaspora* federated social network protocol.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/relay" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/jaywink/social-relay", "label": "Social relay" } }, { "id": "bookmark/495", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Existing Reddit replacement adding AP support, AP issue still open", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/link" }, { "purpose": "tagging", "id": "tagged/sharing" } ], "target": { "id": "https://github.com/lobsters/lobsters/issues/499", "label": "Lobste.rs" } }, { "id": "bookmark/496", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A useless C2S ActivityPub server for "extremely hardcore" ActivityPub enthusiasts.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://git.exozy.me/a/fuwuqi", "label": "fuwuqi" } }, { "id": "bookmark/497", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "CSS tweaks and custom themes for Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/css" } ], "target": { "id": "https://github.com/trwnh/mastomods", "label": "MastoMods" } }, { "id": "bookmark/498", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Corteza is a 100% open-source, fully standardized low-code app development, business process, integration and data harmonization platform. A Salesforce alternative.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/cortezaproject/corteza", "label": "Corteza" } }, { "id": "bookmark/499", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A crowd-sourced wiki maintained by SocialHub community with a ton of information andlinks.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/tutorial" } ], "target": { "id": "https://socialhub.activitypub.rocks/t/guide-for-new-activitypub-implementers/479", "label": "Guide for new ActivityPub Implementers" } }, { "id": "bookmark/500", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A job hunt bot that indexes jobs and candidates from the Fediverse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/flockingbird/hunter2", "label": "Flockingbird Hunter2" } }, { "id": "bookmark/501", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Social network for photographers (alternative to 500px / Flickr);", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/images" }, { "purpose": "tagging", "id": "tagged/sharing" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/peerpx", "label": "PeerPx" } }, { "id": "bookmark/502", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A very simple reference implementation of an ActivityPub server using Express.js.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/dariusk/express-activitypub", "label": "Express ActivityPub" } }, { "id": "bookmark/503", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A vocabulary-agnostic ActivityPub server. Vocata does not limit what types of content can be handled by it, and how it is presented to users.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://codeberg.org/vocata/vocata", "label": "Vocata" } }, { "id": "bookmark/504", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Activity Streams 2.0 vocabulary data and alternative docs.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/ryanatkn/corpus-activity-streams", "label": "corpus-activity-streams" } }, { "id": "bookmark/505", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Python script that allows sign up to a Gitea instance to all local users of a Mastodon server.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/codeforge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://git.mastodont.cat/spla/giteacat", "label": "giteacat" } }, { "id": "bookmark/506", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Overview on how to implement cross-app comments for podcasts.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/skymethod/minipub-docs/tree/18b229a0c7c8be73afe852612cb96dc8a4ce052a/info/activitypub-for-podcast-apps", "label": "ActivityPub for Podcast Client Apps" } }, { "id": "bookmark/507", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Implementation of ActivityPub in Scala. (Hobby project included here for reference only.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/scala" } ], "target": { "id": "https://github.com/WellFactored/clovis", "label": "Clovis" } }, { "id": "bookmark/508", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Lively federated movies reviews platform.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/reviews" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://code.caric.io/fedimovies/fedimovies", "label": "FediMovies" } }, { "id": "bookmark/509", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Live Streaming Video Platform with Multicast", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/video" }, { "purpose": "tagging", "id": "tagged/sharing" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://codeberg.org/librecast/librecast-live", "label": "Librecast LIVE" } }, { "id": "bookmark/510", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A fork of Mastodon to optimize toward community, that is making it as easy as possible to contribute.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/ruby" } ], "target": { "id": "https://github.com/magicstone-dev/ecko", "label": "Ecko" } }, { "id": "bookmark/511", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A federated community platform that focuses on federated communities so they are no longer constrained to a single entity.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/writing" }, { "purpose": "tagging", "id": "tagged/typescript" } ], "target": { "id": "https://github.com/yuforium", "label": "Yuforium" } }, { "id": "bookmark/512", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "LMS (Learning Management System) aimed at helping teachers collaboratively collate and curate sets of OER (Open EducationalResources)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://gitlab.com/moodlenet", "label": "MoodleNet" } }, { "id": "bookmark/513", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Twitter to Mastodon account mapping service to aid migration away from Twitter without losing all your followed friends", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/lucyllewy/twitodon", "label": "Twitodon" } }, { "id": "bookmark/514", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "social network for professionals (WIP)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" } ], "target": { "id": "https://github.com/flockingbird/roost", "label": "FlockingBird Roost" } }, { "id": "bookmark/515", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A globally interconnected micro-blogging platform inspired by Misskey - not updated since December 2020", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/technopolis-microblog", "label": "Technopolis" } }, { "id": "bookmark/516", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Your plug & play federated social network. Tend to your digital life in community.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/elixir" } ], "target": { "id": "https://github.com/bonfire-networks", "label": "Bonfire Social" } }, { "id": "bookmark/517", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Trying to be a basic twitter-like service that works with ActivityPub. Based on", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/kissen/fed", "label": "fed" } }, { "id": "bookmark/518", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "NodeJS Mastodon client library with an eye to making bot development fun & easy.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://gitlab.com/eroosenmaallen/mastobot", "label": "MastoBot" } }, { "id": "bookmark/519", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Social networking platform (under development).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://gitlab.com/enigmatick", "label": "Enigmatick" } }, { "id": "bookmark/520", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Share buttons that support dynamic input of Fediverse URLs and require no Javascript.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://git.fsfe.org/fsfe/share-buttons", "label": "Share Buttons" } }, { "id": "bookmark/522", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A set of extensions to ActivityPub for federation between code forges", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/codeforge" } ], "target": { "id": "https://codeberg.org/forgefed/forgefed", "label": "ForgeFed" } }, { "id": "bookmark/523", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A library for creating, parsing, and verifying HTTP signature headers, as per the Signing HTTP Messages draft 80 specification.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://gitlab.com/paulkiddle/activitypub-http-signatures", "label": "ActivityPub HTTP Signatures" } }, { "id": "bookmark/524", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "currently working on a bridge between SSB and APnetworks.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" } ], "target": { "id": "https://github.com/danielmowitz/ssb_ap_bridge", "label": "Scuttlebutt" } }, { "id": "bookmark/525", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A work-in-progress ActivityPub server designed to use constructions which provide functional security and resilience", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/kaniini/jejune", "label": "Jejune" } }, { "id": "bookmark/526", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A decentralized personal data framework inspired by MIT's Solid Project. ActivityPub support is listed as a Phase II roadmap objective, but it doesn't appear to be implemented yet.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/javascript" }, { "purpose": "tagging", "id": "tagged/solid" } ], "target": { "id": "https://github.com/interop-alliance/life-server", "label": "Life Server" } }, { "id": "bookmark/527", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A federated alternative to traditionally centralized question & answer platforms, such as Quora/StackOverflow.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/game" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://shapegoal.org/matejlach/fediq-server", "label": "FediQuest" } }, { "id": "bookmark/528", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A remote follow tool to share links and buttons that allow people to follow you from their own ActivityPub instance", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://github.com/mwt/apfollow", "label": "AP follow" } }, { "id": "bookmark/529", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Experimental ActivityPub plugin for Pelican static site generator.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://git.kabelsalat.ch/s3lph/pelican-plugin-activitypub", "label": "ActivityPub Pelican Plugin" } }, { "id": "bookmark/530", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Develops and collects best practices to synchronize maps and events and to federate messengers and identities. (Funded with NGI0, implementing ActivityStreams, but AP support not clear, currently unlicensed)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/java" } ], "target": { "id": "https://git.fairkom.net/fairsync", "label": "FairSync" } }, { "id": "bookmark/531", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A Mastodon - DeltaChat bridge plugin for SimpleBot,", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/simplebot-org/simplebot_mastodon", "label": "Simplebot-Mastodon" } }, { "id": "bookmark/532", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A federated social network built with security and privacy in mind.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/cameronwhitecs/vagabond", "label": "Vagabond" } }, { "id": "bookmark/533", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A tool for syndicating domain blocks across the Fediverse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/rapidblock-org/rapidblock", "label": "RapidBlock" } }, { "id": "bookmark/534", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Find fediverse addresses in the profiles of your Twitter followings", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/lucahammer/fedifinder", "label": "Fedifinder" } }, { "id": "bookmark/535", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "aka 'misty' - A webserver app that supports AP and Zot protocols, fork of Zap.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://codeberg.org/zot-archive/misty", "label": "Mistpark 2020" } }, { "id": "bookmark/536", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Server for the Mastodon protocol, implemented in Django.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://gitlab.com/marnanel/un_chapeau/-/issues/17", "label": "un chapeau" } }, { "id": "bookmark/537", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This specification describes SciFed, a standard for federation of scientific activities and content using ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/specification" } ], "target": { "id": "https://synalp.frama.io/olki/scifed/", "label": "SciFed" } }, { "id": "bookmark/539", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Emulate group accounts on Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/oe4dns/tootgroup.py", "label": "tootgroup.py" } }, { "id": "bookmark/540", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Streaming service like Spotify. No commits - since March2019", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/media" }, { "purpose": "tagging", "id": "tagged/music" }, { "purpose": "tagging", "id": "tagged/sharing" } ], "target": { "id": "https://gitlab.com/Nefix/marmota/-/issues?label_name=activitypub", "label": "Marmota" } }, { "id": "bookmark/541", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A set of tools to debug ActivityPub requests. You can inspect requests, see the flow in real time, run arbitrary requests with HTTP signature handled for you.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/testing" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://codeberg.org/samuelroland/apdebug", "label": "APDebug" } }, { "id": "bookmark/542", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Extension for", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/messagingbridge" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/autogestion/pubgate-telegram", "label": "Pubgate Telegram" } }, { "id": "bookmark/543", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Public events with no registration required, an instance connected with the friend.camp Mastodon instance is up at: http://events.friend.camp", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/event-management" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/lowercasename/gathio", "label": "Gath" } }, { "id": "bookmark/544", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Mastodon client for Golang.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/mattn/go-mastodon", "label": "go-mastodon" } }, { "id": "bookmark/545", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A modular Activity Server with support for C2S.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/HelgeKrueger/bovine", "label": "Bovine" } }, { "id": "bookmark/546", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A fully-decentralised DHT-based relay for global hashtag federation. See", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/relay" }, { "purpose": "tagging", "id": "tagged/haskell" } ], "target": { "id": "https://git.orlives.de/schmittlauch/hash2pub", "label": "Hash2Pub" } }, { "id": "bookmark/547", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A prototype for federating event information", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/event-management" } ], "target": { "id": "https://github.com/shiburizu/fedevent", "label": "FedEvent" } }, { "id": "bookmark/548", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Software forge spider. Crawler that maps and advertises self-hosted code forge instances.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/codeforge" }, { "purpose": "tagging", "id": "tagged/rust" } ], "target": { "id": "https://github.com/forgeflux-org/starchart", "label": "ForgeFlux StarChart" } }, { "id": "bookmark/549", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "AP-powered CMS; website suspended, no actual coderepo", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/writing" } ], "target": { "id": "https://redaktor.me", "label": "Redaktor" } }, { "id": "bookmark/550", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An activity-pub server implementation, that is not limited to the activity-stream vocabulary, but supports RDF per se.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/java" } ], "target": { "id": "https://gitlab.com/linkedopenactors/rdf-pub", "label": "rdf-pub" } }, { "id": "bookmark/551", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A generic LitePub relay (works with all LitePub consumers and Mastodon).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/relay" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://git.pleroma.social/pleroma/relay", "label": "ActivityRelay" } }, { "id": "bookmark/552", "type": "Annotation", "created": "2023-10-15T19:59:47.000Z", "modified": "2023-10-15T19:59:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Next gen Fediverse server.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/microblogging" }, { "purpose": "tagging", "id": "tagged/php" } ], "target": { "id": "https://codeberg.org/zot-archive/roadhouse", "label": "Roadhouse" } }, { "id": "bookmark/176", "type": "Annotation", "created": "2023-10-14T12:00:18.000Z", "modified": "2023-10-14T12:00:18.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This document is for programmers who take one look at activitypub.rocks, click on through to the documentation, and can't make heads or tails of it.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/explainer" } ], "target": { "id": "https://tinysubversions.com/notes/reading-activitypub/", "label": "A highly opinionated guide to learning about ActivityPub" } }, { "id": "bookmark/175", "type": "Annotation", "created": "2023-10-13T09:12:42.000Z", "modified": "2023-10-13T09:12:42.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Feature files for FEP and other Fediverse functionality.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/testing" }, { "purpose": "tagging", "id": "tagged/gherkin" }, { "purpose": "tagging", "id": "tagged/fep" } ], "target": { "id": "https://codeberg.org/helge/fediverse-features", "label": "Gherkin Features for BDD in the fediverse." } }, { "id": "bookmark/174", "type": "Annotation", "created": "2023-10-11T09:09:22.000Z", "modified": "2023-10-11T09:09:22.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Source code for the tags.pub ActivityPub server. I'm not sure but I think this is an early attempt at making an AP groups application based on hashtags.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/javascript" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://gitlab.com/evanp/tags-pub", "label": "Evan Prodromou / tags-pub · GitLab" } }, { "id": "bookmark/173", "type": "Annotation", "created": "2023-10-11T09:07:39.000Z", "modified": "2023-10-11T09:07:39.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A simple AP proxy that's an experiment in consolidating activities from multiple services.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/proxy" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://flak.tedunangst.com/post/idkfa", "label": "idkfa - the activitypub everything app proxy" } }, { "id": "bookmark/172", "type": "Annotation", "created": "2023-10-04T05:23:53.000Z", "modified": "2023-10-04T05:23:53.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub HTTP signatures using Botan library.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/http-signatures" }, { "purpose": "tagging", "id": "tagged/cpp" } ], "target": { "id": "https://mightynotes.wordpress.com/2021/08/02/signing-http-signatures-in-c-using-botan-for-activitypub/", "label": "HTTP Signatures in C++" } }, { "id": "bookmark/171", "type": "Annotation", "created": "2023-10-04T05:19:58.000Z", "modified": "2023-10-04T05:19:58.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/cpp" } ], "target": { "id": "https://scm.a-puc.social/A-PuC/A-PuC", "label": "ActivityPub Server in C++" } }, { "id": "bookmark/170", "type": "Annotation", "created": "2023-10-02T07:25:54.000Z", "modified": "2023-10-02T07:25:54.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Discussion about the rationale for why Mastodon doesn't support C2S. (My opinion: the arguments are weak and confuse the concept of a general client *API* with a client user interface implementation.)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/activitypub-c2s" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://github.com/mastodon/mastodon/issues/1557#issuecomment-328090357", "label": "Why Mastodon doesn't support AP C2S" } }, { "id": "bookmark/169", "type": "Annotation", "created": "2023-10-02T07:18:48.000Z", "modified": "2023-10-02T07:18:48.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "GitHub issue discussing how Webfinger and its relationship to ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/w3c" }, { "purpose": "tagging", "id": "tagged/history" }, { "purpose": "tagging", "id": "tagged/webfinger" } ], "target": { "id": "https://github.com/w3c/activitypub/issues/194", "label": "W3C ActivityPub and Webfinger" } }, { "id": "bookmark/168", "type": "Annotation", "created": "2023-09-30T06:15:35.000Z", "modified": "2023-09-30T06:15:35.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Discussions about FEPs and other topics (chat transcript).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/w3c" }, { "purpose": "tagging", "id": "tagged/fep" } ], "target": { "id": "https://www.w3.org/2021/01/09-social-minutes.html#r02", "label": "SWICG FEP Discussion – 09 January 2021" } }, { "id": "bookmark/167", "type": "Annotation", "created": "2023-09-26T17:37:51.000Z", "modified": "2023-09-26T17:37:51.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""Why object-oriented programming is the wrong mental model for JSON Schema. An empty JSON Schema allows everything, while an empty Java class does nothing."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/json" }, { "purpose": "tagging", "id": "tagged/json-schema" } ], "target": { "id": "https://modern-json-schema.com/json-schema-is-a-constraint-system", "label": "JSON Schema is a constraint system (not an object-oriented language)" } }, { "id": "bookmark/166", "type": "Annotation", "created": "2023-09-25T14:22:20.000Z", "modified": "2023-09-25T14:22:20.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "(Dec 2008) Discussion of Activity Streams directions.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://factoryjoe.com/2008/12/20/where-were-going-with-activity-streams/", "label": "Where we’re going with Activity Streams" } }, { "id": "bookmark/165", "type": "Annotation", "created": "2023-09-25T14:20:33.000Z", "modified": "2023-09-25T14:20:33.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Distributed social web project from 2007-2010 timeframe (focused on WordPress).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/social-web" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://diso-project.org/", "label": "DiSo Project" } }, { "id": "bookmark/164", "type": "Annotation", "created": "2023-09-25T14:11:51.000Z", "modified": "2023-09-25T14:11:51.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An old video explaining Activity Streams long before AS2 or ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/history" }, { "purpose": "tagging", "id": "tagged/video" } ], "target": { "id": "https://www.youtube.com/watch?v=2hju7Mm1RxQ", "label": "ActivityStrea.ms Explainer Video (2009)" } }, { "id": "bookmark/163", "type": "Annotation", "created": "2023-09-25T14:03:41.000Z", "modified": "2023-09-25T14:03:41.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "The charter for the W3C working group that defined ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/social-web" }, { "purpose": "tagging", "id": "tagged/w3c" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://www.w3.org/2013/socialweb/social-wg-charter", "label": "Social Web Working Group Charter" } }, { "id": "bookmark/162", "type": "Annotation", "created": "2023-09-25T13:54:57.000Z", "modified": "2023-09-25T13:54:57.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Test suite linked to AS2 specification. It's just a group of files extracted from examples in the spec. It's not clear to me what testing is done.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/testing" } ], "target": { "id": "https://github.com/w3c/activitystreams/tree/master/test", "label": "activitystreams/test suite" } }, { "id": "bookmark/161", "type": "Annotation", "created": "2023-09-25T06:11:11.000Z", "modified": "2023-09-25T06:11:11.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This is the meeting where ActivityPub was named.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://www.w3.org/wiki/Socialwg/2016-01-12-minutes", "label": "Socialwg/2016-01-12-minutes - W3C Wiki" } }, { "id": "bookmark/160", "type": "Annotation", "created": "2023-09-25T05:47:17.000Z", "modified": "2023-09-25T05:47:17.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "(2016) Early (pre-ActivityPub) Activity Streams 2.0 library to demonstrate AS2 features.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/python" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://github.com/w3c-social/activipy/tree/master", "label": "w3c-social/activipy: ActivityStreams 2.0 python implementation and validation lib" } }, { "id": "bookmark/159", "type": "Annotation", "created": "2023-09-25T05:19:06.000Z", "modified": "2023-09-25T05:19:06.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A very interesting meeting on Activity Streams 2.0 topics. Discussed JSON-LD versus JSON, JSON Schema, AS2 context versioning, AS2 extension registries, AS2 test suite, Linked Data Paging versus AS2 collection paging, and other topics.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/testing" }, { "purpose": "tagging", "id": "tagged/json-ld" } ], "target": { "id": "https://www.w3.org/wiki/Socialwg/2015-12-01-minutes", "label": "Socialwg/2015-12-01-minutes - W3C Wiki" } }, { "id": "bookmark/158", "type": "Annotation", "created": "2023-09-25T05:16:08.000Z", "modified": "2023-09-25T05:16:08.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Microformats test suite.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/indieweb" }, { "purpose": "tagging", "id": "tagged/testing" } ], "target": { "id": "https://github.com/microformats/tests", "label": "microformats/tests: Microformats test suite" } }, { "id": "bookmark/157", "type": "Annotation", "created": "2023-09-25T05:14:26.000Z", "modified": "2023-09-25T05:14:26.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An early attempt at creating an Activity Streams test suite.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/testing" } ], "target": { "id": "https://github.com/w3c-social/as2test", "label": "w3c-social/as2test: Test driver for Activity Streams 2.0" } }, { "id": "bookmark/156", "type": "Annotation", "created": "2023-09-25T05:13:08.000Z", "modified": "2023-09-25T05:13:08.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "(2011) A rebuttal to "The Social Graph is Neither."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/social-web" } ], "target": { "id": "http://epeus.blogspot.com/2011/11/our-brains-make-social-graph-real.html", "label": "Our brains make the social graph real" } }, { "id": "bookmark/155", "type": "Annotation", "created": "2023-09-25T05:10:43.000Z", "modified": "2023-09-25T05:10:43.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""(2011) But when you start talking about building a social graph that transcends any specific implementation, you quickly find yourself in the weeds. Is accepting someone’s invitation on Linke…"", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/social-web" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://www.novonon.com/blog/2018/08/14/the-social-graph-is-neither-maciej-ceglowski/", "label": "The Social Graph Is Neither (Maciej Cegłowski)" } }, { "id": "bookmark/154", "type": "Annotation", "created": "2023-09-25T05:07:23.000Z", "modified": "2023-09-25T05:07:23.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Interesting discussion about the relationship between Linked Data Paging (LDP) and Activity Streams. Ultimately, the suggestion to unify the two of them was rejected.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://www.w3.org/Social/track/issues/37", "label": "ISSUE-37: LDP & AS2.0 paging alignment - Social Web Working Group Tracker" } }, { "id": "bookmark/153", "type": "Annotation", "created": "2023-09-25T05:05:47.000Z", "modified": "2023-09-25T05:05:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Post Type Discovery specifies algorithms for determining the type of a post by what properties it has and potentially what value(s) they have, which helps avoid the need for explicit post types that are being abandoned by modern post creation UIs. W3C Editor's Draft.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/indieweb" } ], "target": { "id": "http://ptd.spec.indieweb.org/#post-types-table", "label": "Post Type Discovery" } }, { "id": "bookmark/152", "type": "Annotation", "created": "2023-09-24T15:40:30.000Z", "modified": "2023-09-24T15:40:30.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Perceptions of the SWICG meeting at TPAC 2023, by Amy Guy (one of the AP spec authors).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/w3c" }, { "purpose": "tagging", "id": "tagged/spec-process" } ], "target": { "id": "https://rhiaro.co.uk/2023/09/social-web", "label": "Social Web Incubator Community Group - face-to-face meeting at TPAC 2023" } }, { "id": "bookmark/151", "type": "Annotation", "created": "2023-09-18T19:34:34.000Z", "modified": "2023-09-18T19:34:34.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A reflection on the last 15 years of the web 3.0 giant global graph of social networks, especially the development of the ActivityPub..."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://archive.org/details/26-10-00_-_15th_anniversary_of_web_3.0_social.qt", "label": "15th Anniversary of Web 3.0 Social" } }, { "id": "bookmark/150", "type": "Annotation", "created": "2023-09-18T19:33:20.000Z", "modified": "2023-09-18T19:33:20.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Learn how to implement the OAuth 2.0 protocol with practical examples and important nuances you should be aware of.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/oauth2" }, { "purpose": "tagging", "id": "tagged/security" } ], "target": { "id": "https://infisical.com/blog/guide-to-implementing-oauth2", "label": "Guide to implementing OAuth 2.0 (with examples)" } }, { "id": "bookmark/149", "type": "Annotation", "created": "2023-09-18T19:31:10.000Z", "modified": "2023-09-18T19:31:10.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Video with discussion of ActivityPub history.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/history" }, { "purpose": "tagging", "id": "tagged/video" } ], "target": { "id": "https://www.youtube.com/watch?v=c17gjxEoyMQ", "label": "Benjamin Goering on "ActivityPub W3C Recommendation"" } }, { "id": "bookmark/148", "type": "Annotation", "created": "2023-09-18T17:38:20.000Z", "modified": "2023-09-18T17:38:20.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Quickly design and test ActivityPub objects with mock servers of popular projects like Mastodon and Pixelfed. (Not released as of September 18, 2023)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/testing" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/pixelfed" } ], "target": { "id": "https://pubkit.net/", "label": "PubKit" } }, { "id": "bookmark/147", "type": "Annotation", "created": "2023-09-18T09:40:54.000Z", "modified": "2023-09-18T09:40:54.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "OAuth 2.0 Simplified is a guide to building an OAuth 2.0 server.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/oauth2" }, { "purpose": "tagging", "id": "tagged/security" } ], "target": { "id": "https://www.oauth.com/", "label": "OAuth 2.0 Simplified" } }, { "id": "bookmark/146", "type": "Annotation", "created": "2023-09-18T09:39:12.000Z", "modified": "2023-09-18T09:39:12.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "(2017) Unofficial (non-normative) discussion of authentication and authorization for ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/security" } ], "target": { "id": "https://www.w3.org/wiki/SocialCG/ActivityPub/Authentication_Authorization", "label": "SocialCG/ActivityPub/Authentication Authorization" } }, { "id": "bookmark/145", "type": "Annotation", "created": "2023-09-16T12:04:38.000Z", "modified": "2023-09-16T12:04:38.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Explainer from Popular Science magazine.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/explainer" } ], "target": { "id": "https://www.popsci.com/technology/activitypub-fediverse/", "label": "ActivityPub and the Fediverse, explained." } }, { "id": "bookmark/144", "type": "Annotation", "created": "2023-09-16T06:57:53.000Z", "modified": "2023-09-16T06:57:53.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Source code for the-federation.info.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/statistics" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://codeberg.org/thefederationinfo/the-federation.info", "label": "the-federation.info" } }, { "id": "bookmark/143", "type": "Annotation", "created": "2023-09-16T06:57:10.000Z", "modified": "2023-09-16T06:57:10.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Node list and statistics for The Federation and Fediverse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/statistics" } ], "target": { "id": "https://the-federation.info/", "label": "The Federation - a statistics hub" } }, { "id": "bookmark/142", "type": "Annotation", "created": "2023-09-16T06:56:38.000Z", "modified": "2023-09-16T06:56:38.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Source code for the Fediverse Observer.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/statistics" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://gitlab.com/diasporg/poduptime", "label": "diasporg / Poduptime" } }, { "id": "bookmark/141", "type": "Annotation", "created": "2023-09-16T06:53:44.000Z", "modified": "2023-09-16T06:53:44.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Fediverse Servers Status. (Puts a heavy load on the browser.)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/statistics" } ], "target": { "id": "https://fediverse.observer/list", "label": "Fediverse Observer" } }, { "id": "bookmark/140", "type": "Annotation", "created": "2023-09-16T06:51:58.000Z", "modified": "2023-09-16T06:51:58.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "High-level Fediverse statistics from the PixelFed team.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/statistics" } ], "target": { "id": "https://fedidb.org/software", "label": "FediDB - Fediverse Network Statistics" } }, { "id": "bookmark/139", "type": "Annotation", "created": "2023-09-16T06:46:53.000Z", "modified": "2023-09-16T06:46:53.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "(2018) Criticism of JSON-LD in a Pleroma ActivityPub context.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/litepub" }, { "purpose": "tagging", "id": "tagged/pleroma" }, { "purpose": "tagging", "id": "tagged/json-ld" } ], "target": { "id": "https://ariadne.space/2018/11/12/pleroma-litepub-activitypub-and-json-ld/", "label": "Pleroma, LitePub, ActivityPub and JSON-LD" } }, { "id": "bookmark/138", "type": "Annotation", "created": "2023-09-16T06:44:37.000Z", "modified": "2023-09-16T06:44:37.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "GitHub repo for LitePub", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/litepub" }, { "purpose": "tagging", "id": "tagged/pleroma" } ], "target": { "id": "https://github.com/litepub/litepub", "label": "litepub/litepub: litepub specification" } }, { "id": "bookmark/137", "type": "Annotation", "created": "2023-09-16T06:38:53.000Z", "modified": "2023-09-16T06:38:53.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "LitePub is a suite of protocols which provide a federated social network. They constitute various profiles of the ActivityPub specification. It is intended that LitePub implementations provide compatibility with ActivityPub, but there are some core behavioral differences.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/litepub" }, { "purpose": "tagging", "id": "tagged/pleroma" } ], "target": { "id": "https://litepub.social/", "label": "LitePub protocol suite" } }, { "id": "bookmark/136", "type": "Annotation", "created": "2023-09-14T05:05:24.000Z", "modified": "2023-09-14T05:05:24.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Brings together two game-changing technologies, ActivityPub and Solid Pods, and empowers developers to create truly decentralized applications.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/linked-data" }, { "purpose": "tagging", "id": "tagged/javascript" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/solid" } ], "target": { "id": "https://github.com/assemblee-virtuelle/activitypods", "label": "ActivityPods" } }, { "id": "bookmark/135", "type": "Annotation", "created": "2023-09-14T05:01:50.000Z", "modified": "2023-09-14T05:01:50.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub/Mastodon sequence diagrams for some of the common federation behaviors.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/explainer" } ], "target": { "id": "https://github.com/boyter/activitypub", "label": "Sequence diagrams of how ActivityPub works" } }, { "id": "bookmark/134", "type": "Annotation", "created": "2023-09-13T17:50:09.000Z", "modified": "2023-09-13T17:50:09.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub test suite discussions in TPAC 2023 break meeting. Highlight: Meta offering funding to support testing efforts.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/testing" } ], "target": { "id": "https://www.w3.org/2023/09/13-socialweb-test-suite-minutes.html", "label": "SocialWeb Test suite discussion – 13 September 2023" } }, { "id": "bookmark/133", "type": "Annotation", "created": "2023-09-13T17:45:51.000Z", "modified": "2023-09-13T17:45:51.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "W3C community group discussions and demonstration related to ActivityPub test suites.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/testing" } ], "target": { "id": "https://github.com/swicg/meetings/tree/main/2023-08-11", "label": "2023-08-11 W3C SWICG Special Topic Call: AP Interop Test Suitesmeetings" } }, { "id": "bookmark/132", "type": "Annotation", "created": "2023-09-13T11:00:10.000Z", "modified": "2023-09-13T11:00:10.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Follow-up by Dennis Shubert on earlier ActivityPub criticisms. (2019)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://overengineer.dev/blog/2019/01/13/activitypub-final-thoughts-one-year-later.html", "label": "ActivityPub - Final thoughts, one year later." } }, { "id": "bookmark/131", "type": "Annotation", "created": "2023-09-13T10:16:45.000Z", "modified": "2023-09-13T10:16:45.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "(or: Why can't the decentralized social web people just get along?)\nLemmer-Webber's response to criticisms of ActivityPub specification.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/criticism" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "http://dustycloud.org/blog/on-standards-divisions-collaboration/", "label": "On standards divisions and collaboration" } }, { "id": "bookmark/129", "type": "Annotation", "created": "2023-09-13T10:06:16.000Z", "modified": "2023-09-13T10:06:16.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "PHD thesis of Amy Guy, one of the ActivityPub specification authors. See Chapter 5 for a discussion of the social web specification process, experiences, and thoughts.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/social-web" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/spec-process" } ], "target": { "id": "http://dr.amy.gy/", "label": "The Presentation of Self on a Decentralised Web" } }, { "id": "bookmark/128", "type": "Annotation", "created": "2023-09-13T10:04:16.000Z", "modified": "2023-09-13T10:04:16.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "By Christine Lemmer-Webber. Discussion of the ActivityPub specification process: history and challenges they had to overcome.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/history" }, { "purpose": "tagging", "id": "tagged/spec-process" } ], "target": { "id": "http://dustycloud.org/blog/activitypub-is-a-w3c-recommendation/", "label": "ActivityPub is a W3C Recommendation" } }, { "id": "bookmark/127", "type": "Annotation", "created": "2023-09-13T10:01:13.000Z", "modified": "2023-09-13T10:01:13.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "(2019). By Kaniini. Follow up on ActivityPub criticisms and recommendations. (SSL cert. issue)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://blog.dereferenced.org/activitypub-the-present-state-or-why-saving-the-worse-is-better-virus-is", "label": "ActivityPub: the present state, or why saving the 'worse is better' virus is both possible and important" } }, { "id": "bookmark/126", "type": "Annotation", "created": "2023-09-13T09:58:37.000Z", "modified": "2023-09-13T09:58:37.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "(2019) Kaniini's discussion of "worse is better" in an ActivityPub context. (SSL cert issue)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://blog.dereferenced.org/activitypub-the-worse-is-better-approach-to-federated-social-networking", "label": "ActivityPub: The “Worse Is Better” Approach to Federated Social Networking" } }, { "id": "bookmark/125", "type": "Annotation", "created": "2023-09-13T09:45:03.000Z", "modified": "2023-09-13T09:45:03.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "(2019) By Cory Slep. An appeal to the AP community to work together to address the gaps in the specification.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/community" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "http://web.archive.org/web/20201124231343/https://cjslep.com/c/blog/an-activitypub-philosophy", "label": "An ActivityPub Philosophy" } }, { "id": "bookmark/124", "type": "Annotation", "created": "2023-09-13T09:41:10.000Z", "modified": "2023-09-13T09:41:10.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Humorous ActivityPub explainer.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/explainer" } ], "target": { "id": "https://a.exozy.me/posts/activitypub-eats-your-brain/", "label": "ActivityPub Eats Your Brain!" } }, { "id": "bookmark/123", "type": "Annotation", "created": "2023-09-13T09:38:20.000Z", "modified": "2023-09-13T09:38:20.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Discussion of ActivityPub problems on HackerNews (2019).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://news.ycombinator.com/item?id=21763572", "label": "ActivityPub Criticism - Hacker News" } }, { "id": "bookmark/122", "type": "Annotation", "created": "2023-09-13T09:36:33.000Z", "modified": "2023-09-13T09:36:33.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Criticism of ActivityPub by Dennis Schubert. (2018)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://overengineer.dev/blog/2018/02/01/activitypub-one-protocol-to-rule-them-all.html", "label": "ActivityPub - one protocol to rule them all?" } }, { "id": "bookmark/121", "type": "Annotation", "created": "2023-09-12T13:03:48.000Z", "modified": "2023-09-12T13:03:48.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Discussion of the issue with Link|anyURI usage in the AS2 specification and the problems it can cause.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/errata" } ], "target": { "id": "https://github.com/w3c/activitystreams/issues/498?notification_referrer_id=MDE4Ok5vdGlmaWNhdGlvblRocmVhZDQyMTczMTY3MDo3ODk1MjQ%3D&notifications_query=is%3Aunread#issuecomment-1668983751", "label": "AS2 object/string ambiguity (bug)" } }, { "id": "bookmark/120", "type": "Annotation", "created": "2023-09-12T12:24:59.000Z", "modified": "2023-09-12T12:24:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "An old but interesting pre-specification document describing a variety of potential use cases for ActivityStreams 2.0.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://www.w3.org/wiki/Activity_Streams/Expanded_Vocabulary", "label": "Activity Streams/Expanded Vocabulary" } }, { "id": "bookmark/119", "type": "Annotation", "created": "2023-09-11T15:16:13.000Z", "modified": "2023-09-11T15:16:13.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Activity Streams 1.0 home page. Interesting for historical purposes. (Tagged as #activitystreams2)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://activitystrea.ms/", "label": "Activity Streams 1.0 Home Page" } }, { "id": "bookmark/118", "type": "Annotation", "created": "2023-09-10T19:16:48.000Z", "modified": "2023-09-10T19:16:48.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Understanding ActivityPub - Part 1: Protocol Fundamentals. Part 2: Lemmy, Part 3: Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/explainer" } ], "target": { "id": "https://seb.jambor.dev/posts/understanding-activitypub/", "label": "Understanding ActivityPub - 3 Part Series." } }, { "id": "bookmark/117", "type": "Annotation", "created": "2023-09-10T19:13:13.000Z", "modified": "2023-09-10T19:13:13.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Hannibal is an experimental ActivityPub library for Go. It's goal is to be a robust, idiomatic, and thoroughly documented ActivityPub implementation fits into your application without any magic or drama.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/library" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/benpate/hannibal", "label": "benpate/hannibal: ActivityPub library for Go" } }, { "id": "bookmark/116", "type": "Annotation", "created": "2023-09-10T19:01:39.000Z", "modified": "2023-09-10T19:01:39.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "In this guide you will setup a SemApps-powered ActivityPub server, create an actor, make this actor communicate with another Mastodon actor.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/tutorial" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/javascript" }, { "purpose": "tagging", "id": "tagged/node-js" }, { "purpose": "tagging", "id": "tagged/linked-data" } ], "target": { "id": "https://semapps.org/docs/guides/activitypub", "label": "Create an ActivityPub server" } }, { "id": "bookmark/115", "type": "Annotation", "created": "2023-09-10T18:56:40.000Z", "modified": "2023-09-10T18:56:40.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "The goal of this tutorial is to illustrate how to build a simple Fediverse server using the bovine framework.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/tutorial" }, { "purpose": "tagging", "id": "tagged/software-development" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://bovine.readthedocs.io/en/latest/tutorial_server.html", "label": "Tutorial: A simple Fediverse Server" } }, { "id": "bookmark/114", "type": "Annotation", "created": "2023-09-10T18:52:10.000Z", "modified": "2023-09-10T18:52:10.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A tutorial for using the Mastodon OAuth endpoint. The example is C#, but most of the tutorial is not language-specific.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/oauth2" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/software-development" } ], "target": { "id": "https://danschnau.com/blog/this_blog_automatically_posts_to_the_fediverse", "label": "A simple application of OAuth: Mastodon's API" } }, { "id": "bookmark/113", "type": "Annotation", "created": "2023-09-09T12:04:50.000Z", "modified": "2023-09-09T12:04:50.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A dataset of behaviors described by the ActivityPub protocol.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/requirements" } ], "target": { "id": "https://codeberg.org/socialweb.coop/activitypub-behaviors", "label": "activitypub-behaviors (codeberg)" } }, { "id": "bookmark/112", "type": "Annotation", "created": "2023-09-09T08:12:15.000Z", "modified": "2023-09-09T08:12:15.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "The original ActivityPub test suite, originally hosted at activitypub.rocks hasn't been running for years and it's been difficult to find a maintainer because of the implementation programming language, Guile. Because of that situation, the test suite was rewritten in Python.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/testing" }, { "purpose": "tagging", "id": "tagged/blog" } ], "target": { "id": "https://www.stevebate.net/activitypub-testsuite/", "label": "ActivityPub Test Suite Redux" } }, { "id": "bookmark/111", "type": "Annotation", "created": "2023-09-09T07:43:47.000Z", "modified": "2023-09-09T07:43:47.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Here are some quirks about test.activitypub.rocks... from @cwebber.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/testing" } ], "target": { "id": "https://socialhub.activitypub.rocks/t/the-activitypub-test-suite/290", "label": "The ActivityPub test suite" } }, { "id": "bookmark/110", "type": "Annotation", "created": "2023-09-09T07:39:28.000Z", "modified": "2023-09-09T07:39:28.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Unofficial ActivityPub test suite server, which runs machine-assisted test cases against federated software. (Unmaintained)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/testing" }, { "purpose": "tagging", "id": "tagged/source-code" }, { "purpose": "tagging", "id": "tagged/go" } ], "target": { "id": "https://github.com/go-fed/testsuite", "label": "go-fed/testsuite" } }, { "id": "bookmark/109", "type": "Annotation", "created": "2023-09-09T07:36:25.000Z", "modified": "2023-09-09T07:36:25.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Server-independent, full-automated test suite primary focused on ActivityPub server compliance testing.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/testing" }, { "purpose": "tagging", "id": "tagged/python" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/steve-bate/activitypub-testsuite", "label": "steve-bate/activitypub-testsuite" } }, { "id": "bookmark/108", "type": "Annotation", "created": "2023-09-09T06:53:48.000Z", "modified": "2023-09-09T06:53:48.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This document describes the process and criteria for approving extensions for inclusion in the main Activity Streams 2.0 context document.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/json-ld" } ], "target": { "id": "https://w3c.github.io/activitystreams/draft-extensions-policy.html", "label": "Process for Including Extensions in Activity Streams 2.0" } }, { "id": "bookmark/107", "type": "Annotation", "created": "2023-09-08T13:25:58.000Z", "modified": "2023-09-08T13:25:58.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "W3C HTTP Signatures test suite. (I don't know if it tests the specific signature version that Mastodon uses.)", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/http-signatures" }, { "purpose": "tagging", "id": "tagged/testing" }, { "purpose": "tagging", "id": "tagged/javascript" } ], "target": { "id": "https://github.com/w3c-ccg/http-signatures-test-suite", "label": "W3C Signing HTTP Messages Working Group Test Suite" } }, { "id": "bookmark/106", "type": "Annotation", "created": "2023-09-08T13:24:46.000Z", "modified": "2023-09-08T13:24:46.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "HTTP Signature information and code in Python.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/http-signatures" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://github.com/HelgeKrueger/bovine/blob/main/docs/http_signatures.md", "label": "Bovine - HTTP Signatures" } }, { "id": "bookmark/105", "type": "Annotation", "created": "2023-09-08T13:20:53.000Z", "modified": "2023-09-08T13:20:53.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "HTTP Signature implementations in a variety of programming languages. There are multiple HTTP Signature algorithms and specifications so double-check that the library you use is compatible with Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/http-signatures" } ], "target": { "id": "https://github.com/search?q=http%20signatures&type=repositories", "label": "HTTP Signatures - GitHub Repositories" } }, { "id": "bookmark/101", "type": "Annotation", "created": "2023-09-08T13:09:41.000Z", "modified": "2023-09-08T13:09:41.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Discussion of Mastodon HTTP Signatures with examples in Node.js.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/http-signatures" }, { "purpose": "tagging", "id": "tagged/node-js" } ], "target": { "id": "https://www.dinochiesa.net/?p=1717", "label": "How to Compute an HTTP Signature for Mastodon (NodeJS)" } }, { "id": "bookmark/100", "type": "Annotation", "created": "2023-09-08T13:07:43.000Z", "modified": "2023-09-08T13:07:43.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Python implementation of HTTP Signatures.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/http-signatures" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://socialhub.activitypub.rocks/t/python-mastodon-server-post-with-http-signature/2757", "label": "Python Mastodon Server POST with HTTP Signature" } }, { "id": "bookmark/99", "type": "Annotation", "created": "2023-09-08T13:05:38.000Z", "modified": "2023-09-08T13:05:38.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Information from Eugen Rochko about how to process ActivityPub inbox requests. It includes information about HTTP Signatures.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/http-signatures" } ], "target": { "id": "https://blog.joinmastodon.org/2018/07/how-to-make-friends-and-verify-requests/", "label": "How to make friends and verify requests (July 2018)" } }, { "id": "bookmark/98", "type": "Annotation", "created": "2023-09-08T13:02:36.000Z", "modified": "2023-09-08T13:02:36.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "The question was asked in a Python context, but the answer is mostly general.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/http-signatures" } ], "target": { "id": "https://github.com/mastodon/mastodon/discussions/18600", "label": "Mastodon - debugging HTTP Signatures" } }, { "id": "bookmark/97", "type": "Annotation", "created": "2023-09-08T12:43:00.000Z", "modified": "2023-09-08T12:43:00.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "GitHub issue related to Mastodon upgrade to hs2019 in 2020.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/http-signatures" } ], "target": { "id": "https://github.com/mastodon/mastodon/pull/14556", "label": "Mastodon - Add support for latest HTTP Signatures spec draft" } }, { "id": "bookmark/96", "type": "Annotation", "created": "2023-09-08T12:25:41.000Z", "modified": "2023-09-08T12:25:41.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Information about using HTTP Signatures with Mastodon.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/http-signatures" } ], "target": { "id": "https://docs.joinmastodon.org/spec/security/#http", "label": "Mastodon HTTP Signatures - documentation" } }, { "id": "bookmark/95", "type": "Annotation", "created": "2023-09-08T12:13:43.000Z", "modified": "2023-09-08T12:13:43.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Version of HTTP Signatures used by Mastodon and Mastodon-compatible software (as of Sept. 2023).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/http-signatures" } ], "target": { "id": "https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures", "label": "Signing HTTP Messages - draft-cavage-http-signatures-12" } }, { "id": "bookmark/94", "type": "Annotation", "created": "2023-09-08T12:09:35.000Z", "modified": "2023-09-08T12:09:35.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Tracking adoption of current drafts of HTTP Signatures across the Fediverse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/http-signatures" }, { "purpose": "tagging", "id": "tagged/fediverse" } ], "target": { "id": "https://arewehs2019yet.vpzom.click/", "label": "Are We HS2019 Yet?" } }, { "id": "bookmark/93", "type": "Annotation", "created": "2023-09-08T12:04:25.000Z", "modified": "2023-09-08T12:04:25.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "The Federated SNS (social network service/system) timeline is a simple list of its history. To put it another way, it is a record of how the Fediverse came to be. This is only one part of the larger Federated Social Web. For this list, we defined SNS as services meant for posting updates (microblogging, macro-blogging, blogging), uploading images, leaving comments, re-sharing, and liking; or simply, the Fediverse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://codeberg.org/ddfon/federated-sns/src/branch/main/fediverse-history.markdown", "label": "Fediverse Historical Timeline" } }, { "id": "bookmark/91", "type": "Annotation", "created": "2023-09-08T10:03:02.000Z", "modified": "2023-09-08T10:03:02.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This specification details a profile for using Linked Data Notifications [LDN] with ActivityStreams2 [AS2] payloads in value-adding networks. A value-added network, as considered by this specification, is a network in which Web resources, for the purpose of this specification named Artifacts, are made available by nodes in the network, value is added to these Artifacts by other nodes in the network, and LDN+AS2 notifications with that regard are exchanged among network nodes.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/linked-data" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/event-driven" } ], "target": { "id": "https://www.eventnotifications.net/", "label": "Event Notifications in Value-Adding Networks" } }, { "id": "bookmark/92", "type": "Annotation", "created": "2023-09-08T10:03:02.000Z", "modified": "2023-09-08T10:03:02.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""Note on current state (as of 2020-05-24) Pleroma Minimal "client to server" #ActivityPub implementation is available. It is tested at https://queer.hacktivis.me/AndStatus (that site has the latest ..."", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/activitypub-c2s" } ], "target": { "id": "https://github.com/andstatus/andstatus/issues/499", "label": "AndStatus C2S" } }, { "id": "bookmark/87", "type": "Annotation", "created": "2023-09-08T10:03:01.000Z", "modified": "2023-09-08T10:03:01.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "The Activity Streams 2.0 Core Syntax defines the JSON syntax for Activity Streams. This document defines the vocabulary properties. The Activity Streams 2.0 Vocabulary defines a set of abstract types and properties that describe past, present and future Activities.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/specification" } ], "target": { "id": "https://www.w3.org/TR/activitystreams-vocabulary/", "label": "Activity Vocabulary" } }, { "id": "bookmark/88", "type": "Annotation", "created": "2023-09-08T10:03:01.000Z", "modified": "2023-09-08T10:03:01.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This is the AS2 OWL ontology which was abandoned in 2016 (not fully working or complete).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/rdf" }, { "purpose": "tagging", "id": "tagged/rdf-owl" }, { "purpose": "tagging", "id": "tagged/ontology" } ], "target": { "id": "https://github.com/w3c/activitystreams/blob/master/vocabulary/activitystreams2.owl", "label": "Original ActivityStreams2 OWL Ontology" } }, { "id": "bookmark/89", "type": "Annotation", "created": "2023-09-08T10:03:01.000Z", "modified": "2023-09-08T10:03:01.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "The Web Ontology Language OWL is a semantic markup language for publishing and sharing ontologies on the World Wide Web. OWL is developed as a vocabulary extension of RDF (the Resource Description Framework) and is derived from the DAML+OIL Web Ontology Language. This document contains a structured informal description of the full set of OWL language constructs and is meant to serve as a reference for OWL users who want to construct OWL ontologies.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/rdf" }, { "purpose": "tagging", "id": "tagged/rdf-owl" }, { "purpose": "tagging", "id": "tagged/specification" } ], "target": { "id": "https://www.w3.org/TR/owl-ref/#Individual", "label": "OWL Web Ontology Language Reference" } }, { "id": "bookmark/90", "type": "Annotation", "created": "2023-09-08T10:03:01.000Z", "modified": "2023-09-08T10:03:01.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A general Python ActivityPub library.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/python" }, { "purpose": "tagging", "id": "tagged/source-code" } ], "target": { "id": "https://github.com/dsblank/activitypub", "label": "dsblank/activitypub: A general Python ActivityPub library" } }, { "id": "bookmark/75", "type": "Annotation", "created": "2023-09-08T10:03:00.000Z", "modified": "2023-09-08T10:03:00.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Lessons learned from making apps that play nice with the fediverse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" } ], "target": { "id": "https://stefanbohacek.com/blog/making-fediverse-apps-for-everyone/", "label": "Making fediverse apps for everyone" } }, { "id": "bookmark/77", "type": "Annotation", "created": "2023-09-08T10:03:00.000Z", "modified": "2023-09-08T10:03:00.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Proposals for new features to improve the Fediverse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/community" }, { "purpose": "tagging", "id": "tagged/fep" } ], "target": { "id": "https://codeberg.org/fediverse/fep", "label": "Fediverse Enhancement Proposals" } }, { "id": "bookmark/80", "type": "Annotation", "created": "2023-09-08T10:03:00.000Z", "modified": "2023-09-08T10:03:00.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "There are a number of issues with the decentralized nature of the Fediverse. One of them is that we are not seeing replies from people we do not follow.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://web.archive.org/web/20230326053439/https://blog.cyborch.com/fixing-the-reply-count/", "label": "Fixing The Reply Count" } }, { "id": "bookmark/81", "type": "Annotation", "created": "2023-09-08T10:03:00.000Z", "modified": "2023-09-08T10:03:00.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "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.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/specification" }, { "purpose": "tagging", "id": "tagged/activitypub-s2s" }, { "purpose": "tagging", "id": "tagged/activitypub-c2s" }, { "purpose": "tagging", "id": "tagged/fediverse" } ], "target": { "id": "https://www.w3.org/TR/activitypub/", "label": "ActivityPub Specification" } }, { "id": "bookmark/82", "type": "Annotation", "created": "2023-09-08T10:03:00.000Z", "modified": "2023-09-08T10:03:00.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "In the most basic sense, an "Activity" is a semantic description of an action. It is the goal of this specification to provide a JSON-based syntax that is sufficient to express metadata about activities in a rich, human-friendly but machine-processable and extensible manner. This can include constructing natural-language descriptions or visual representations about the activity, associating actionable information with various types of objects, communicating or recording activity logs, or delegation of potential actions to other applications.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/specification" } ], "target": { "id": "https://www.w3.org/TR/activitystreams-core/#object", "label": "Activity Streams 2.0 Specification" } }, { "id": "bookmark/83", "type": "Annotation", "created": "2023-09-08T10:03:00.000Z", "modified": "2023-09-08T10:03:00.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Linked Data Notifications is a protocol that describes how servers (receivers) can have messages pushed to them by applications (senders), as well as how other applications (consumers) may retrieve those messages. Any resource can advertise a receiving endpoint (Inbox) for the messages. Messages are expressed in RDF, and can contain any data.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/linked-data" }, { "purpose": "tagging", "id": "tagged/specification" } ], "target": { "id": "https://www.w3.org/TR/ldn/", "label": "Linked Data Notifications" } }, { "id": "bookmark/84", "type": "Annotation", "created": "2023-09-08T10:03:00.000Z", "modified": "2023-09-08T10:03:00.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "The Social Web Protocols are a collection of standards which enable various aspects of decentralised social interaction on the Web. This document describes the purposes of each, and how they fit together.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/social-web" } ], "target": { "id": "https://www.w3.org/TR/social-web-protocols/", "label": "Social Web Protocols" } }, { "id": "bookmark/85", "type": "Annotation", "created": "2023-09-08T10:03:00.000Z", "modified": "2023-09-08T10:03:00.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "The Resource Description Framework (RDF) is a general-purpose language for representing information on the Web. This document defines a textual syntax for RDF called Turtle that allows an RDF graph to be completely written in a compact and natural text form, with abbreviations for common usage patterns and datatypes. Turtle provides levels of compatibility with the N-Triples [N-TRIPLES] format as well as the triple pattern syntax of the SPARQL W3C Recommendation.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/rdf" }, { "purpose": "tagging", "id": "tagged/rdf-serialization" }, { "purpose": "tagging", "id": "tagged/specification" } ], "target": { "id": "https://www.w3.org/TR/turtle/", "label": "RDF 1.1 Turtle" } }, { "id": "bookmark/86", "type": "Annotation", "created": "2023-09-08T10:03:00.000Z", "modified": "2023-09-08T10:03:00.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This document includes errata for the Activity Streams and Activity Vocabulary documents.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/specification" }, { "purpose": "tagging", "id": "tagged/errata" } ], "target": { "id": "https://github.com/w3c/activitystreams/blob/master/ERRATA.md", "label": "Activity Streams 2.0 Errata" } }, { "id": "bookmark/52", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "W3C hosts thousands of mailing lists for our group members and the general public to discuss and send feedback on Web standards work at W3C. The corresponding mailing list archives contain millions of messages dating back to the earliest days of the Web. Most W3C public mailing lists allow anyone to join and participate.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mailing-list" }, { "purpose": "tagging", "id": "tagged/archives" }, { "purpose": "tagging", "id": "tagged/w3c" } ], "target": { "id": "https://lists.w3.org/Archives/Public/", "label": "W3C Public mailing list archives" } }, { "id": "bookmark/53", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "General discussion for Fediverse development topics.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/chat" }, { "purpose": "tagging", "id": "tagged/community" } ], "target": { "id": "https://matrix.to/#/#fediverse-devs:matrix.org", "label": "Matrix: Fediverse Developers Network" } }, { "id": "bookmark/54", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A little misleading since it doesn't actually list any errors (and they are there), but it's where they will go. There is also a link to the proposed errata.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/errata" }, { "purpose": "tagging", "id": "tagged/specification" } ], "target": { "id": "https://www.w3.org/wiki/ActivityPub_errata", "label": "ActivityPub Errata" } }, { "id": "bookmark/55", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A list of non-normative tutorials and commentary about Activity Streams topics. This is sometimes useful for understanding some of the quirks of the specification.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/specification" } ], "target": { "id": "https://www.w3.org/wiki/Activity_Streams/Primer", "label": "Activity Streams/Primer" } }, { "id": "bookmark/56", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This page exists to document extensions to the ActivityPub protocol. Extensions are developed as part of the SWICG.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/specification" } ], "target": { "id": "https://www.w3.org/wiki/ActivityPub_extensions", "label": "ActivityPub extensions" } }, { "id": "bookmark/57", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This page documents known AS2 extensions and best practices for using other namespaces in AS2.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/extensions" }, { "purpose": "tagging", "id": "tagged/best-practices" }, { "purpose": "tagging", "id": "tagged/specification" } ], "target": { "id": "https://www.w3.org/wiki/Activity_Streams_extensions", "label": "Activity Streams extensions" } }, { "id": "bookmark/58", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This document lists the terms used for the ActivityStreams 2.0 protocol and its stable extensions, and provides a namespace so each term has an HTTP IRI. This document is merely a W3C-internal document. It has no official standing of any kind and does not represent consensus of the W3C Membership.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitystreams2" }, { "purpose": "tagging", "id": "tagged/specification" } ], "target": { "id": "https://www.w3.org/ns/activitystreams", "label": "ActivityStreams 2.0 Terms" } }, { "id": "bookmark/60", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Discussion of how collections are used in ActivityPub.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/criticism" } ], "target": { "id": "https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0085.html", "label": "Is ActivityStreams Collection under-specified?" } }, { "id": "bookmark/64", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "People are social creatures, and social networking is part of human nature. Social Media have clouded our vision and distorted what 'social' means. The Social Coding Movement aims to Reimagine Social Networking and envision a Peopleverse.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/social-web" }, { "purpose": "tagging", "id": "tagged/community" } ], "target": { "id": "https://fedi.foundation/2022/09/social-networking-reimagined/", "label": "Let's Reimagine Social" } }, { "id": "bookmark/66", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Mastodon provides access to its data over a REST API. REST stands for REpresentational State Transfer, but for our purposes, just think of it as sending and receiving information about various resources based on the request. The Mastodon REST API uses HTTP for its requests, and JSON for its payloads.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/api" } ], "target": { "id": "https://docs.joinmastodon.org/client/intro/", "label": "Mastodon API Documentation" } }, { "id": "bookmark/67", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Owlready2 is a package for ontology-oriented programming in Python. It can load OWL 2.0 ontologies as Python objects, modify them, save them, and perform reasoning via HermiT (included). Owlready2 allows a transparent access to OWL ontologies (contrary to usual Java-based API).", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/rdf" }, { "purpose": "tagging", "id": "tagged/rdf-owl" }, { "purpose": "tagging", "id": "tagged/python" } ], "target": { "id": "https://owlready2.readthedocs.io/en/latest/", "label": "Owlready2 documentation" } }, { "id": "bookmark/68", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Build better together and create solutions that people love", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/community" } ], "target": { "id": "https://discuss.coding.social/", "label": "Social Coding Community" } }, { "id": "bookmark/69", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This is an interesting document from a historical perspective. A lot changed between this first public draft and the final specification.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/specification" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://www.w3.org/TR/2016/WD-activitypub-20160128/", "label": "ActivityPub - First Public Working Draft" } }, { "id": "bookmark/71", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "A manager for Mastodon Lists which lets you add people you follow to lists through an intuitive grid-based interface.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/tool" } ], "target": { "id": "https://www.mastodonlistmanager.org/manager", "label": "Mastodon List Manager" } }, { "id": "bookmark/72", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This is the second in a series of posts where the Robert W. Gehls shares his notes on his readings of the minutes of the Social Web Working Group. The first one is here. Future posts to come. In this section, He covers the development of ActivityStreams 2.0, the first goal of the SocialWG charter.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/social-web" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/history" }, { "purpose": "tagging", "id": "tagged/activitypub" } ], "target": { "id": "https://fossacademic.tech/2023/05/09/ActivityPub2.html", "label": "Reading the Minutes of the Social Web Working Group, part 2" } }, { "id": "bookmark/74", "type": "Annotation", "created": "2023-09-08T10:02:59.000Z", "modified": "2023-09-08T10:02:59.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub.Academy is a learning resource for ActivityPub. The protocol is brought to life by showing Activities sent between different instances in real time! This is Mastodon-oriented, but gives some insight into ActivityPub as well.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/educational" }, { "purpose": "tagging", "id": "tagged/tool" } ], "target": { "id": "https://activitypub.academy/auth/sign_up", "label": "ActivityPub.Academy" } }, { "id": "bookmark/51", "type": "Annotation", "created": "2023-09-08T10:02:58.000Z", "modified": "2023-09-08T10:02:58.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "This is the public mailing list for the Social Web Incubator Community Group (swicg). Anyone may read or write to this list.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/w3c" }, { "purpose": "tagging", "id": "tagged/swicg" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/social-web" }, { "purpose": "tagging", "id": "tagged/community" }, { "purpose": "tagging", "id": "tagged/mailing-list" } ], "target": { "id": "https://lists.w3.org/Archives/Public/public-swicg/", "label": "public-swicg@w3.org Mail Archives" } }, { "id": "bookmark/36", "type": "Annotation", "created": "2023-09-08T10:01:15.000Z", "modified": "2023-09-08T10:01:15.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub Client-to-Server (AP C2S) is probably the least understood part of ActivityPub and there is very few documentation and running code for it and ActivityPub is mostly underspecified.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/activitypub-c2s" } ], "target": { "id": "https://socialhub.activitypub.rocks/t/activitypub-client-to-server-faq/1941", "label": "ActivityPub Client-to-Server FAQ" } }, { "id": "bookmark/22", "type": "Annotation", "created": "2023-09-08T10:01:14.000Z", "modified": "2023-09-08T10:01:14.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": ""Where ActivityPub developers coordinate their efforts to make the Fediverse a great space for cooperation"", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/fediverse" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/community" } ], "target": { "id": "https://socialhub.activitypub.rocks/", "label": "SocialHub" } }, { "id": "bookmark/32", "type": "Annotation", "created": "2023-09-08T10:01:14.000Z", "modified": "2023-09-08T10:01:14.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "Mastodon ActivityPub-specific documentation.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/mastodon" }, { "purpose": "tagging", "id": "tagged/activitypub" } ], "target": { "id": "https://docs.joinmastodon.org/spec/activitypub/", "label": "ActivityPub - Mastodon documentation" } }, { "id": "bookmark/33", "type": "Annotation", "created": "2023-09-08T10:01:14.000Z", "modified": "2023-09-08T10:01:14.000Z", "creator": "u/", "motivation": "bookmarking", "body": [ { "purpose": "describing", "type": "TextualBody", "value": "ActivityPub and ActivityStreams implementation in GNU Guile. This is a link to the test suite code.", "format": "text/plain", "language": "en" }, { "purpose": "tagging", "id": "tagged/activitypub" }, { "purpose": "tagging", "id": "tagged/testing" }, { "purpose": "tagging", "id": "tagged/history" } ], "target": { "id": "https://gitlab.com/dustyweb/pubstrate/-/blob/master/pubstrate/aptestsuite.scm", "label": "Original ActivityPub Test Suite (Pubstrate/Guile)" } }, { "id": "tagged/mastodon", "type": "Tag", "label": "mastodon" }, { "id": "tagged/fediverse", "type": "Tag", "label": "fediverse" }, { "id": "tagged/criticism", "type": "Tag", "label": "criticism" }, { "id": "tagged/critcism", "type": "Tag", "label": "critcism" }, { "id": "tagged/activitypub", "type": "Tag", "label": "activitypub" }, { "id": "tagged/activitystreams2", "type": "Tag", "label": "activitystreams2" }, { "id": "tagged/history", "type": "Tag", "label": "history" }, { "id": "tagged/location", "type": "Tag", "label": "location" }, { "id": "tagged/pleroma", "type": "Tag", "label": "pleroma" }, { "id": "tagged/security", "type": "Tag", "label": "security" }, { "id": "tagged/source-code", "type": "Tag", "label": "source-code" }, { "id": "tagged/datasets", "type": "Tag", "label": "datasets" }, { "id": "tagged/moderation", "type": "Tag", "label": "moderation" }, { "id": "tagged/linked-data", "type": "Tag", "label": "linked-data" }, { "id": "tagged/lemmy", "type": "Tag", "label": "lemmy" }, { "id": "tagged/typescript", "type": "Tag", "label": "typescript" }, { "id": "tagged/sports", "type": "Tag", "label": "sports" }, { "id": "tagged/rust", "type": "Tag", "label": "rust" }, { "id": "tagged/oidc", "type": "Tag", "label": "oidc" }, { "id": "tagged/oauth2", "type": "Tag", "label": "oauth2" }, { "id": "tagged/tutorial", "type": "Tag", "label": "tutorial" }, { "id": "tagged/python", "type": "Tag", "label": "python" }, { "id": "tagged/json-ld", "type": "Tag", "label": "json-ld" }, { "id": "tagged/atproto", "type": "Tag", "label": "atproto" }, { "id": "tagged/codeforge", "type": "Tag", "label": "codeforge" }, { "id": "tagged/imap", "type": "Tag", "label": "imap" }, { "id": "tagged/ocaml", "type": "Tag", "label": "ocaml" }, { "id": "tagged/nntp", "type": "Tag", "label": "nntp" }, { "id": "tagged/haskell", "type": "Tag", "label": "haskell" }, { "id": "tagged/activitypub-s2s", "type": "Tag", "label": "activitypub-s2s" }, { "id": "tagged/json-schema", "type": "Tag", "label": "json-schema" }, { "id": "tagged/law", "type": "Tag", "label": "law" }, { "id": "tagged/privacy", "type": "Tag", "label": "privacy" }, { "id": "tagged/rdf", "type": "Tag", "label": "rdf" }, { "id": "tagged/http-signatures", "type": "Tag", "label": "http-signatures" }, { "id": "tagged/solid", "type": "Tag", "label": "solid" }, { "id": "tagged/spec-process", "type": "Tag", "label": "spec-process" }, { "id": "tagged/node-js", "type": "Tag", "label": "node-js" }, { "id": "tagged/testing", "type": "Tag", "label": "testing" }, { "id": "tagged/book", "type": "Tag", "label": "book" }, { "id": "tagged/docker", "type": "Tag", "label": "docker" }, { "id": "tagged/javascript", "type": "Tag", "label": "javascript" }, { "id": "tagged/php", "type": "Tag", "label": "php" }, { "id": "tagged/specification", "type": "Tag", "label": "specification" }, { "id": "tagged/gherkin", "type": "Tag", "label": "gherkin" }, { "id": "tagged/p2p", "type": "Tag", "label": "p2p" }, { "id": "tagged/music", "type": "Tag", "label": "music" }, { "id": "tagged/iot", "type": "Tag", "label": "iot" }, { "id": "tagged/video", "type": "Tag", "label": "video" }, { "id": "tagged/crystal", "type": "Tag", "label": "crystal" }, { "id": "tagged/search", "type": "Tag", "label": "search" }, { "id": "tagged/fep", "type": "Tag", "label": "fep" }, { "id": "tagged/bot", "type": "Tag", "label": "bot" }, { "id": "tagged/proxy-actor", "type": "Tag", "label": "proxy-actor" }, { "id": "tagged/forum", "type": "Tag", "label": "forum" }, { "id": "tagged/writing", "type": "Tag", "label": "writing" }, { "id": "tagged/explainer", "type": "Tag", "label": "explainer" }, { "id": "tagged/wordpress", "type": "Tag", "label": "wordpress" }, { "id": "tagged/demonstration", "type": "Tag", "label": "demonstration" }, { "id": "tagged/microblogging", "type": "Tag", "label": "microblogging" }, { "id": "tagged/cpp", "type": "Tag", "label": "cpp" }, { "id": "tagged/file-sharing", "type": "Tag", "label": "file-sharing" }, { "id": "tagged/ostatus", "type": "Tag", "label": "ostatus" }, { "id": "tagged/zot", "type": "Tag", "label": "zot" }, { "id": "tagged/webfinger", "type": "Tag", "label": "webfinger" }, { "id": "tagged/link-collection", "type": "Tag", "label": "link-collection" }, { "id": "tagged/bookmarks", "type": "Tag", "label": "bookmarks" }, { "id": "tagged/marketplace", "type": "Tag", "label": "marketplace" }, { "id": "tagged/rdf-owl", "type": "Tag", "label": "rdf-owl" }, { "id": "tagged/extensions", "type": "Tag", "label": "extensions" }, { "id": "tagged/static-sites", "type": "Tag", "label": "static-sites" }, { "id": "tagged/design", "type": "Tag", "label": "design" }, { "id": "tagged/ontology", "type": "Tag", "label": "ontology" }, { "id": "tagged/managed-hosting", "type": "Tag", "label": "managed-hosting" }, { "id": "tagged/api", "type": "Tag", "label": "api" }, { "id": "tagged/go", "type": "Tag", "label": "go" }, { "id": "tagged/software-development", "type": "Tag", "label": "software-development" }, { "id": "tagged/css", "type": "Tag", "label": "css" }, { "id": "tagged/messagingbridge", "type": "Tag", "label": "messagingbridge" }, { "id": "tagged/link", "type": "Tag", "label": "link" }, { "id": "tagged/sharing", "type": "Tag", "label": "sharing" }, { "id": "tagged/ruby", "type": "Tag", "label": "ruby" }, { "id": "tagged/csharp", "type": "Tag", "label": "csharp" }, { "id": "tagged/media", "type": "Tag", "label": "media" }, { "id": "tagged/reviews", "type": "Tag", "label": "reviews" }, { "id": "tagged/bash", "type": "Tag", "label": "bash" }, { "id": "tagged/lisp", "type": "Tag", "label": "lisp" }, { "id": "tagged/wiki", "type": "Tag", "label": "wiki" }, { "id": "tagged/plugins", "type": "Tag", "label": "plugins" }, { "id": "tagged/clojure", "type": "Tag", "label": "clojure" }, { "id": "tagged/groups", "type": "Tag", "label": "groups" }, { "id": "tagged/elixir", "type": "Tag", "label": "elixir" }, { "id": "tagged/podcasting", "type": "Tag", "label": "podcasting" }, { "id": "tagged/hare", "type": "Tag", "label": "hare" }, { "id": "tagged/java", "type": "Tag", "label": "java" }, { "id": "tagged/calendar", "type": "Tag", "label": "calendar" }, { "id": "tagged/scala", "type": "Tag", "label": "scala" }, { "id": "tagged/game", "type": "Tag", "label": "game" }, { "id": "tagged/relay", "type": "Tag", "label": "relay" }, { "id": "tagged/guile", "type": "Tag", "label": "guile" }, { "id": "tagged/swift", "type": "Tag", "label": "swift" }, { "id": "tagged/racket", "type": "Tag", "label": "racket" }, { "id": "tagged/rss", "type": "Tag", "label": "rss" }, { "id": "tagged/images", "type": "Tag", "label": "images" }, { "id": "tagged/clojurescript", "type": "Tag", "label": "clojurescript" }, { "id": "tagged/event-management", "type": "Tag", "label": "event-management" }, { "id": "tagged/livestreaming", "type": "Tag", "label": "livestreaming" }, { "id": "tagged/c", "type": "Tag", "label": "c" }, { "id": "tagged/storage", "type": "Tag", "label": "storage" }, { "id": "tagged/nim", "type": "Tag", "label": "nim" }, { "id": "tagged/activitypub-c2s", "type": "Tag", "label": "activitypub-c2s" }, { "id": "tagged/exercise", "type": "Tag", "label": "exercise" }, { "id": "tagged/r", "type": "Tag", "label": "r" }, { "id": "tagged/proxy", "type": "Tag", "label": "proxy" }, { "id": "tagged/w3c", "type": "Tag", "label": "w3c" }, { "id": "tagged/json", "type": "Tag", "label": "json" }, { "id": "tagged/social-web", "type": "Tag", "label": "social-web" }, { "id": "tagged/indieweb", "type": "Tag", "label": "indieweb" }, { "id": "tagged/pixelfed", "type": "Tag", "label": "pixelfed" }, { "id": "tagged/statistics", "type": "Tag", "label": "statistics" }, { "id": "tagged/litepub", "type": "Tag", "label": "litepub" }, { "id": "tagged/community", "type": "Tag", "label": "community" }, { "id": "tagged/errata", "type": "Tag", "label": "errata" }, { "id": "tagged/library", "type": "Tag", "label": "library" }, { "id": "tagged/requirements", "type": "Tag", "label": "requirements" }, { "id": "tagged/blog", "type": "Tag", "label": "blog" }, { "id": "tagged/event-driven", "type": "Tag", "label": "event-driven" }, { "id": "tagged/rdf-serialization", "type": "Tag", "label": "rdf-serialization" }, { "id": "tagged/mailing-list", "type": "Tag", "label": "mailing-list" }, { "id": "tagged/archives", "type": "Tag", "label": "archives" }, { "id": "tagged/chat", "type": "Tag", "label": "chat" }, { "id": "tagged/best-practices", "type": "Tag", "label": "best-practices" }, { "id": "tagged/tool", "type": "Tag", "label": "tool" }, { "id": "tagged/educational", "type": "Tag", "label": "educational" }, { "id": "tagged/swicg", "type": "Tag", "label": "swicg" } ] }