19 Followers
0 Following
201 Posts

He/him. Board member at CoSocial.ca.

Research Director, Social Web Foundation.

Director of Open Technology at Open Earth Foundation (OEF).

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.

Co-chair of the Social Web Working Group at W3C. Co-author of ActivityStreams 2.0. Co-author of ActivityPub. Co-author of OStatus.

Grad student in CS at Georgia Tech.

In Montreal, from San Francisco. Greek, Arab, American, Canadian, cook, gardener, runner, dad, husband.

Is it OK to discuss software that was developed with the assistance of AI/LLMs on ActivityPub.space? For example:

  • The developer used an LLM for research
  • LLM code scanning for bug fixes
  • LLM PR review
  • LLM code generation (CoPilot tab completion or other)
  • Coding agent wrote entire features or whole app
@thisismissem I think that forum threads are great for open-ended conversations and bad for tracking tasks.
@[email protected] I use Codeberg issues for my FEPs. It's much, much easier to have separate issues for different topics, and to track completion, than to have one long forum thread with lots of open-ended conversation.
@[email protected] The protocol itself hasn't changed radically in the last 18 months. If you want to understand ActivityPub and ATProto's similarities and differences, you can't find a better analysis than Christine's. She is one of my co-authors on ActivityPub, and she really dug deep into both protocols.

@[email protected] Christine Lemmer-Webber did a great analysis a while ago:

https://dustycloud.org/blog/how-decentralized-is-bluesky/

It's a great place to start.

How decentralized is Bluesky really? -- Dustycloud Brainstorms

This is a huge thread!

@julian It's been a great multi-implementer effort, both from the long-form text producers and the microblogging services.

@[email protected] one warning about doing ActivityPub development with LLMs: codeberg.org blocks a lot of LLMs for training and for RAG/MCP. Since FEPs are hosted there, I've found that searching for information on FEPs will result in incorrect information.

Codeberg.org

Codeberg is a non-profit community-led organization that aims to help free and open source projects prosper by giving them a safe and friendly home.

Codeberg.org

@[email protected] Hey, I'm really sorry for all this dogpile. You shouldn't be getting this kind of flack when you took the time to implement ActivityPub.

Thanks for your work. I'm trying it out as @[email protected] and I have to say it's a really lovely UI. I'll give any feedback I can on the ActivityPub implementation.

Wow, these blog posts look really amazing in NodeBB, @julian !
julian

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 β™₯️πŸ‡ͺπŸ‡Ί

⁂ ActivityPub.Space

@julian So, there are a few ways to handle this.

First, the b2b8 recommendation on the summary is just a guideline, not a strict requirement (thus the 'about').

A common practice in news-style text is that the first paragraph is a lede that summarizes the article's main points.

For example, in this article, Lawrence Summers Will Resign From Harvard After Epstein Revelations, the first paragraph is:

Lawrence H. Summers, a Harvard University economist and the school’s former president, will resign from teaching at the end of the academic year, according to a Harvard spokesman.

Some bloggers follow a similar practice, especially since blogging software often uses the first paragraph as the summary in RSS and Atom feeds.

I think if I were generating a summary for long-form text, I'd use these techniques in roughly descending order:

  • Manual override; an optional way for the user to define a summary manually - either with a marker in the text, or with a separate input element (I think WordPress does this).
  • Use the whole text if it meets the rough guidelines (~1 paragraph, a few sentences, about 500 chars) in b2b8.
  • Use the first paragraph if it meets the rough guidelines (a few sentences, about 500 chars) in b2b8.
  • Truncate the first paragraph and include an ellipsis ([...]).

This is also something that LLMs are pretty good at. So, maybe rather than truncating (last option), consider using an LLM to generate a summary that meets the boundary requirements.

Lead paragraph - Wikipedia