julian

@julian@activitypub.space · Joined ⁨Aug⁩ ⁨2025⁩

Co-Founder (NodeBB) | Husband 🤷‍♂️ and Dad 🙉 to three | Rock Climber 🧗‍♂️ | Foodie 🥙 | Conductor 🎵 | Saxophonist 🎷

✅ Small teams craft better code.
🇨🇦 Made in Canada
🗨️ Federating NodeBB with funding from NLNet ♥️🇪🇺

Replying to @⁨julian@activitypub.space⁩

@evan@cosocial.ca "if the Fediverse is about connecting people to people, then Ostatus is part of the Fediverse. However usage has been dropping off.

...

Philosophically yes, practically, heading towards no"

@liaizon@social.wake.st

CoSocialEvan Prodromou 🇨🇦🇺🇸🇬🇷🇵🇸 (@evan@cosocial.ca)36.5K Posts, 2.46K Following, 12K Followers · He/him. Board member at CoSocial.ca. Research Director, Social Web Foundation. Author of "ActivityPub: Programming for the Social Web" from O'Reilly Media. Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai. Creator of pump.io. Co-creator of GNU social. Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus. Grad student in CS at Georgia Tech. Greek, Arab, Palestinian, American, Canadian, Montréalais.

Replying to @⁨julian@activitypub.space⁩

The panelists now asked which default server they'd recommend. These questions are hard!

Even @ozoned@btfree.social wasn't sure prior to the panel.

@evan@cosocial.ca suggesting that maybe you already have one and don't know; suggests checking your orgs and associations; possibly self-hosting or checking joinmastodon.org

@django@social.coop warns about checking Instance rules to align on values.

@ozoned@btfree.social suggesting Mastodon for twitter fans, Pixelfed for Instagram fans, forums for topical based discussions (plus a shoutout for ActivityPub.Space, thanks!)

1000017147.jpg
ALT

Replying to @⁨julian@activitypub.space⁩

Q: "is BlueSky on the Fediverse?"

@reiver@mastodon.social "Evan why don't you take this one"

Mastodon@reiver ⊼ (Charles) :batman: (@reiver@mastodon.social)29.1K Posts, 1.42K Following, 2.51K Followers · I make things for #Fediverse #smallNet Talk about #ActivityPub #FediDev #FediverseUX #P2P #Privacy #SpreadFediverse I post #SciFiArt Vlog at #AllYourBases #FinalForm Work on #AssetFlow #FediCon #FediverseAcademy #FediverseCity #FingerProtocol #GreatApe #Microdon #ProToGo #SpaceMonkey Life-cast at @reiver@firefish.lol Code in #golang I like to understand things. I like to make things. The meaning of life — first survive, then reproduce 🌞 Formal b/g: comp sci, math, ai. Pro b/g: soft eng, ml, research

Replying to @⁨julian@activitypub.space⁩

Tagging @j12t@j12t.social as this might be something worth discussing in relation to activitypub.rocks

Johannes' Mastodon placeJohannes Ernst (@j12t@j12t.social)2.52K Posts, 1K Following, 1.95K Followers · Engineer, founder, organizer. Let's put people back in control of their technology. The Open Social Web is a good start. Also wondering aloud where we are taking this planet. Check out my home page for more info and links. tfr

Reflecting on the existence of httpsig.org

httpsig.org is a site with one sole purpose, to advocate for the adoption of RFC 9421 HTTP Signatures. It has a "Libraries" tab that does exactly what it advertises, it lists a bunch of libraries for you to use so you don't have to roll your own.

If you want to integrate AP today, but you don't want to roll your own everything, where do you go? Who do you ask?

All I know is:

Do we even have a list sorted by language? This would be huge. What other AP frameworks do you know of?

Granted, I didn't do a lot of thinking and deep diving before I listed those two examples, but even then, that's 1 more example than is listed on https://activitypub.rocks, so I think I might be on to something here from a developer advocacy point of view.

If I were looking to integrate AP, one of the first conclusions I'd come to is that the protocol itself is fairly complex and a library or framework might help.

I don't think there is a list that plainly lists supported libraries by language.

www.rfc-editor.orgRFC 9421: HTTP Message Signatures This document describes a mechanism for creating, encoding, and verifying digital signatures or message authentication codes over components of an HTTP message. This mechanism supports use cases where the full HTTP message may not be known to the signer and where the message may be transformed (e.g., by intermediaries) before reaching the verifier. This document also describes a means for requesting that a signature be applied to a subsequent HTTP message in an ongoing HTTP exchange.

Edge case when backfilling topics

When it comes to backfilling topics, NodeBB utilises what is called "context collection backfill" instead of reply-chain traversal. In a nutshell, instead of crawling up and down the reply tree one-by-one — kind of like what Mastodon does currently — it checks for a canonical source-of-truth in the context property.

NodeBB supports both strategies, since not all objects contain context.

I found a fun little edge case where if I start a topic, a reply is received, and that reply points to my instance, it won't catch any replies made in between.[...]

In other words:

localA starts topic → remoteB replies → remoteC replies to B only → remoteB replies to C and A

In this scenario, because my instance A is left out of the third activity, I don't know about it. When the fourth activity appears, the context is checked, C's reply isn't in it, and I proceed without knowing about it. Oops!

In this case, when incoming replies reference a context that is same-origin to your own instance, you should not use context collection backfill, because:

  1. You already have the entire context, so it's unnecessarily duplication of work
  2. You won't catch any replies made out-of-band unless you do reply-tree traversal

Tagging @silverpill@mitra.social because this is related to FEP f228.