Skip to main content

Search

Items tagged with: activitypub


I've been thinking about the demise of botsin.space. Running a site for bots is hard (and expensive) but writing and running an ActivityPub-based bot should be easy.

To prove this was the case I added experimental support for bots/automations to Ktistec in the form of scripts that the server periodically runs. These scripts can be in a programming language of your choice. The server provides credentials for its API in the process environment (if you can use curl you can publish posts), simple interaction happens via stdin/stdout/stderr, and the complexity of using ActivityPub is abstracted away.

The code is only available on the following branch for the moment:

https://github.com/toddsundsted/ktistec/commits/run-scripts/

There are a couple example shell scripts here:

https://github.com/toddsundsted/ktistec/commit/4982925a...

I have a few enhancements in mind, but it's already proven useful as a means to periodically log data from my server host, and I'll use it, when finished, to publish release notes.

#ktistec #activitypub #fediverse #bots


Echo for #Lemmy is now available! Goodbye #Reddit, Hello @LemmyDev. #Fediverse #ActivityPub 👋

https://echo.rrainn.com/download/iphone


We are looking for a new member for our #Mastodon core team to work with @Gargron, @renchap and @Claire on building the Mastodon #backend and web app!

This is a #remote #fulltime position and requires an overlap with the CET timezone.

Ideally:

- You are a #Ruby expert
- With prior experience in maintaining #opensource projects
- Prior knowledge of #ActivityPub is a big plus!

For more info and to apply:

https://jobs.ashbyhq.com/mastodon/de1e4d8a-5639-4b6a-86d7-97bd9c768b02

#FediHire #GetFediHired #hiring


I'm building a public Autospam detection service that will be compatible with Pixelfed, Mastodon and other projects!

I'm leveraging my expertise* in Autospam, along with my 3 year old dataset to build the best fediverse Akismet alternative.

Are you interested? Boosts appreciated!

* - https://pixelfed.blog/p/2023/feature/autospam-and-naive-bayes-the-grandfather-of-spam-filters-still-making-waves

#pixelfed #fediverse #spam #autospam #activitypub #mastodon


[strong]Frage: Warum wird in Friendica ein weitergesagter Beitrag von einen anderen Friendica Account anders als ein weitergesagter Beitrag von einen anderen via ActivityPub verbundenen Account behandelt?[/strong]


Wenn ich einen Beitrag von einen Friendica Account normal weitersage, also nicht zitiere, sieht das so aus:

Wenn ich hingegen einen Beitrag der via ActivityPub kommt weitersage sieht das so aus:

Hat es einen Hintergrund das das so unterschiedlich gehandhabt wird? Die Variante mit dem weitergesagten Beitrag von einen Friendica Account sieht eher wie das Zitieren aus, dass man bei einen Diaspora Account hat.

#Friendica #Weitersagen #ActivityPub #Diaspora #Darstellung #german #2022-10-05 !Friendica Support


@GeneBean Hubzilla had (at the time) various problems working properly with the #activitypub network.


Administration - Federation statistics<br><br>This page offers statistics about the federated social network, of which your Friendica node is one part. These numbers do not represent the entire network, but merely the parts that are connected to your node."<br><br>Currently this node is aware of 30,120 nodes (1,646,972 active users last month, 3,149,194 active users last six months, 16,253,308 registered users in total) from the following platforms:<br><br> Friendica (420/25024)<br> Akkoma (605/17030)<br> BirdsiteLIVE (22/16486)<br> BookWyrm (130/27160)<br> Castopod (198/486)<br> Cherrypick (25/9915)<br> Diaspora (90/723886)<br> firefish (Calckey) (328/32455)<br> Sharkey (242/9143)<br> Foundkey (8/7888)<br> Funkwhale (148/10554)<br> Gancio (74/1147)<br> GNU Social/Statusnet (39/396)<br> GoToSocial (1025/2137)<br> Hometown (150/15470)<br> Honk (76/78)<br> Hubzilla/Red Matrix (178/7093)<br> iceshrimp (113/2907)<br> kbin (13/436)<br> Lemmy (751/1948187)<br> Mastodon (11476/11221162)<br> mbin (20/5156)<br> Microblog (501/510)<br> Misskey (1162/764391)<br> Mobilizon (143/42026)<br> Nextcloud (121/119)<br> Nomad projects (Mistpark, Osada, Roadhouse, Streams. Zap) (16/47)<br> Owncast (293/294)<br> Peertube (1417/344437)<br> Pixelfed (556/229536)<br> Pleroma (1108/167307)<br> Plume (51/35940)<br> Postmarks (43/43)<br> ActivityPub Relay (135/136)<br> SocialHome (5/1621)<br> Snac (69/155)<br> Takahē (89/1925)<br> Wildebeest (18/19)<br> WordPress (7223/71759)<br> Write.as (3/3)<br> WriteFreely (700/166303)<br> Other (336/342541)
The diversity of network and UX types across the fediverse/social web that my little Friendica server sees is astounding. This is just Diaspora and ActivityPub federated content since Bluesky is integrated through a client API not AT. #fediverse #SocialWeb #ActivityPub #diaspora #Bluesky #friendica



The Podcast Index has an ActivityPub implementation, and now I can follow some of my more irreverent non-techie podcasts directly on the fediverse. So cool! Hopefully they'll add a Follow button soon...but in the meantime:

1) Find your podcast on the site
2) Grab the numeric value at the end of the url
3) Search for the podcast with this name `{numericValue}@ap.podcastindex.org`

https://podcastindex.org/

#ActivityPub #podcast

This Might Get Weird podcast, available through ActivityPub as an actor I can follow!
UNHhhh podcast, available through ActivityPub as an actor I can follow!


Don't be too hasty! That would be unfair. Let's see how well it integrates first. ☝️😌

#activitypub #threads #meta 🤢 #fediverse

Huge threads logo surrounded by countless very small and small ActivityPub logos.


My tiny #ActivityPub server is now a massive... 64KB.

Yup. Kilobytes.

* It can send posts with attached images & alt text.
* Reply to posts with a proper thread.
* Read replies sent to it.
* Follow #Fediverse accounts and see their posts & edits.
* You can follow it.
* Hell, it even does HTTP Message Signature Verification!

All of this in a single PHP file. No database, no Docker, no dependencies, no AI.

You can grab the code at https://gitlab.com/edent/activitypub-single-php-file/

😎



Meta's #Facebook, #Instagram, and #Threads are down due to outages. However, #Fediverse instances of #Hubzilla, #Friendica, #Mastodon, #Misskey (family), #Pleroma (family), #Pixelfed, are up and running, with everyone in the #ActivityPub network continuing with our digital lives. ^_^
#socialmedia


Fediverse pokazane jako sieć połączonych serwerów


Since we integrated with ActivityPub at the end of last year, Minds has added 32,000+ new users to the network via federation, from 2,200+ different ActivityPub networks.

With our new Networks product (https://minds.com/about/networks), anyone can launch their own network in a matter of minutes. These networks can federate with Minds and the rest of ActivityPub too. Your data, your community, your rules.

Building a network of networks.

#decentralization #growth #opensource #activitypub #fediverse



@raroun Nein, nicht abstrus, sonderen dem Zweck angepasste Plattform auswählen.
#Friendica ist Micro- und Macroblogging
#Pixelfed ist fürs Teilen von Bildern.

Dea ist eben das #Fediverse. Es gibt nicht die ein und alle Plattform für ein und alles. Sondern es gibt verschiedene Dienste - sie sind alle über #ActivityPub verbunden.

@cantences @tux @helpers


Intolerance here around




✅ My #ActivityPub post has location metadata in it!
👀 The post has been federated to Mastodon & PixelFed!
❌ The embedded geotag isn't shown in either of them (Mastodon doesn't support it, PixelFed doesn't show it for non-native posts).

Next step, find a SIMPLE ActivityPub server (preferably in PHP) which I can use to build this service.


Did you know that #mastodon supports #multichoice #polls by clicking on the circles?
Also that #activitypub supports unlimited number options but Mastodon server limits to 4 because the developers feels like?
Also that Friendica doesn't handle polls (but at least display them)?

  • Yes of course (46%, 12 votes)
  • No of coursen't (30%, 8 votes)
  • That's madness (46%, 12 votes)
  • 4 choices aren't enough (73%, 19 votes)
26 voters. Poll end: 10 months ago


Might be related? Someone is flooding #ActivityPub with fake servers?



Falls ihr einen WordPress Blog habt
If you have a WordPress blog

Aktiviert doch das Activity Pub Plugin von Herrn Pfefferle! Das ist kinderleicht und eure Seite ist sofort föderiert! Schickt mir gern den Link, ich abonniere euch.

Activate the Activity Pub plugin from Mr. Pfefferle! It's child's play and your site is instantly federated! Send me the link and I'll subscribe you.

https://wordpress.org/plugins/activitypub/

https://word.undead-network.de/2024/01/10/falls-ihr-einen-wordpress-blog-habt-if-you-have-a-wordpress-blog/
#activitypub #federation #Fderation #wordpress #wp



Frage | Wenn ich einen fremden Kommentar bei einen meiner Beiträge lösche, wird das dann auch auf via ActivityPub verbundenen Server gelöscht oder nur bei mir?


Hintergrund ist das eben jemand meinte das das dann eben anscheinend nur bei mir gelöscht würde, was in meinen Augen recht sinnfrei wäre.

Tags: #Frage #ActivityPub #Friendica #Beiträge #Kommentare #Löschen #Sascha #2024-01-03 !Friendica Support


THe one thing I realized while attending #ActivityPub University is the fragile balance between "marketing" aka shitposting your project and actually coding

anyone can write a line of code, but would anyone care unless they know about it?

so my advice is to shitpost and then build an #activitypub platform (it worked for pixelfed, that shit didn't federate for months lol)

:thinkerguns:


#WordPress #ActivityPub #Debugging #Help!
At https://tepewu.pl/@community sits my new Wordpress with full complement of #AP plugins: ActivityPub official from Automattic, Webfinger, nodeinfo and even Friends.

My Friendica gladly added it to my contacts and even retrieved site logo. And that's it. Nothing shows in my Friendica feed, I am not visible on the followers list there.
Before I start nagging the support, perhaps someone had this drill already?


Looks like the #threadiverse has been widely used by the #Lemmy and #Kbin communities for years, but now it's slowly being co-opted (including by #Meta staff) to refer to the #federation of #Threads.

I predict a complete takeover of the #hashtag, and term in general, before the end of 2024.

#Mastodon #ActivityPub #fediverse #socialweb #hashtags #predictions


Instead, I now need to teach my JSON parser about how to navigate the object and how to resolve a URI—breaking the abstraction layer—or I need to do some rather clever (clever being used here as a negative epithet) and complicated—to get it to navigate all of these aspects.

Oh, and then I need test cases.

So.

So.

Many test cases.

11/11

#ActivityPub


You can't even generally generate the code.

If it were consistent:

If next/prev and current/first/last were always URIs

if the information was aways on a page, perhaps if the collection was of type _CollectionPage_ rather than having CollectionPage be of type _Collection_.

If it disallowed Link objects.

Then I could easily build a pagination system around it where:

var page = loads(json)

var next = resolve(page.next)

var items = page.items

and we're done.

10/

#ActivityPub


Remember we're working in a declarative system, for the most part.

So how do we tell it "sometimes this object may have its items in items, sometimes it may have it in current.items, sometimes it may have it in resolve(current).items, and sometimes it may have it in resolve(current.href).items"?

Oh, items might be a set of objects, a set of URIs, or a set of Links.

None of the major systems are built for this sort of thing, and building in that logic is a _lot_ of work.

9/

#ActivityPub


So the collection page object can also be… paginated?

It's a B-tree?

Also because OrderedCollection is defined as a type of Collection, you could presumably have your Collection object return OrderedCollectionPages, or even a mix of Collection and OrderedCollectionPages.

Which means you're back to checking for orderedItems after all, even when you think you have a "collection" object, as soon as you deserialize the page.

Back up to the Collection itself.

8/

#ActivityPub


Or separate classes entirely with different definition mapping to the same values.

Not the end of the world, but a touch annoying, and not something you can do trivially in one throw of the parser. You're adding a fair bit of manual work to do this in each case.

But that current object…

It can be an object or a URI or a Link object. Once I follow it I get a collection page…

But a collection page is also a type of collection.

7/

#ActivityPub


But that's not what we're focusing on here.

Here instead you need to first check the _items_ to see if it is populated. If it isn't then you need to check the _current page_ and see if this collection is a paged collection.

If items is populated you are done, except wait, in an ordered collection it can be orderedItems

This means that, instead of having OrderedCollection be a subtype of Collection (OrderedCollection <: Collection), in most of these tools it needs a oneof

6/

#ActivityPub


So first of all, the Collection itself is completely untyped. I can't hand a collection to you and expect you to know what's inside of it.

What can be inside are any mixture of:

* URI references
* Objects, which can be heterogeneous
* Link objects

So we're probably extracting it into a List<Object> in our first pass, though some modern serializers know how to work around this, self-describing types are relatively rare and mostly these sorts of tools prefer a little more.

5/

#ActivityPub


Instead, I want to ask the following question:

Given a typical JSON parser in most mainstream language, where we construct the representation of the object declaratively (throw a dart: Jackson, Gson, Yojson, literally anything based on JSON Schema or OpenAPI, etc), how much work should be expected in order to extract the items from the (potentially paginated) collection and put them in whatever the local equivalent of a List or a Set is?

4/

#ActivityPub