What is Hackers' Pub?

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

0
1
0

A bench end carved with a mermaid in the church of the coastal village of Zennor, Cornwall. A legend claims that a mysterious woman would sometimes attend church services, singing in a captivating, otherworldly voice. There seemed something of a spark between her and a handsome young chorister, and their voices would intertwine beautifully. After one service, the two walked to a nearby cove, disappeared beneath the waves, and were never seen again. The villagers realised the woman was a mermaid and had the bench she sat on carved with her image as a warning to men to beware of these dangerous creatures. Images of mermaids were quite common in medieval churches. Usually portrayed clutching mirrors and combs, they admonished worshippers about the temptations of vanity. At Zennor, the legend may have been invented to explain the carving after its meaning had been forgotten.

A wooden church bench, whose end is decorated with a worn image of a mermaid. She has long flowing hair and is clutching a round mirror and a comb.
0

Evan Prodromou shared the below article:

ActivityPub Social API Hackathon

evan @evan@activitypub.space

<p><a href="https://wedistribute.org/2025/08/social-web-foundation-is-betting-big-on-client-to-server-api/" rel="nofollow ugc">It's well-known</a> that we love the <a href="https://github.com/swicg/activitypub-api/" rel="nofollow ugc">ActivityPub API</a> at the Social Web Foundation.</p> <p>I think it would be great for our community to have an ActivityPub API hackathon sometime this year -- hopefully this summer. Hackathons are a great way to engage a lot of developers really quickly. They also are a great way to test that an API has enough power to get people from zero to working app in a day or a weekend.</p> <p>I see a few great times to do this:</p> <ul> <li><a href="https://dwebcamp.org/berlin-2026/" rel="nofollow ugc">DWeb Camp Berlin</a> in Berlin</li> <li><a href="https://fedicon.ca/" rel="nofollow ugc">Fedicon</a> 2026 🤞🏼 in Vancouver</li></ul>

Read more →
0
0
1

Evan Prodromou shared the below article:

Why I use "ActivityPub API" or "Social API"

Evan Prodromou @evanp@ghost.evanp.me

One of the most interesting areas of exploration in the ActivityPub community right now is the ActivityPub API. Most people who know ActivityPub are familiar with its federation protocol, which lets social networking servers like Mastodon and Pixelfed share data between them. But there is another, closely-related feature in the same specification, called the "social API".

ActivityPub has five normative sections: 3 Objects, 4 Actors, 5 Collections, 6 Client-to-Server Interactions, and 7 Server-to-Server Interactions. 3, 4, and 5 provide a read-only interface to social data that is useful for both the federation protocol and the social API. It lets both clients and servers read information about users on the network, their feeds, and the things they make and share.

Section 6 is focused on the mechanism clients can use to create new activities, and the side-effects of those activities. "Activities" are the most important data structure in ActivityPub (which is why they're featured so prominently in the name!). They represent sentences or statements about things that happen on a social network, like "Christine created the image img123.jpg" or "Evan liked Christine's image img123.jpg" and "Amy shared Christine's image img123.jpg". Creating these statements is how clients can make things happen with ActivityPub.

Section 7 is focused on how and when servers can send these activities across the network to other servers. There are some side-effects that are laid out, but mostly they involve cache management.

So, here's the important point I want to make: the federation protocol which connects ActivityPub servers is defined in sections 3, 4, 5, and 7. The social API is defined in sections 3, 4, 5, and 6. But some people use "server-to-server" or "s2s" as a synonym for the federation protocol, even though "server to server interactions" only covers one section. Similarly, some people use "c2s" or "client-to-server" as a synonym for the social API, even if "client-to-server interactions" is only one section.

I prefer to use "social API" or "ActivityPub API" to refer to the entire part of ActivityPub that lets client apps talk to social servers. Here are some rough reasons why.

  • It's what the spec calls it. In the conformance section, we said that 'this specification defines two closely related and interacting protocols: A client to server protocol, or "Social API" [...] A server to server protocol, or "Federation Protocol"'. This was intentional; the names come from the Social Web Working Group charter deliverables. Making a Social API was a key goal of the group. The ActivityPub API satisfies that goal.
  • It's a term that all developers and many users are familiar with. People who've used mobile apps or third-party apps know what an API is and what it's for. If you use "c2s", it's not clear to most developers what you're even talking about.
  • It's accurate. The social API is a RESTful API that uses JSON, HTTP, and all the fun stuff that app developers are already familiar with.
  • It emphasizes what's already available. People often say that Mastodon does not implement the ActivityPub API. But it implements sections 3, 4, and 5 of the specification – it has to, in order to support the federation protocol. That's the entire read-only side of the API. All (almost all?) Fediverse servers support these parts of the spec, too. You can build a pretty OK read-only API client using what's already available from Mastodon and others; see https://acct.swf.pub/ for an example.
  • "c2s" doesn't cover the whole API. As I said above, only one section of the doc is called "Client-to-Server Interactions", and it doesn't cover the read-only side of the API.
  • "c2s" is insider jargon. c2s isn't a common term for RESTful APIs. It really isn't a common term at all; there are only a few protocol suites, like XMPP, that refer to the "c2s" and "s2s" part.

I think it's fine if others use "c2s" when talking about the API, or especially about section 6 of the ActivityPub spec. It's not going to cause any harm. But the Social Web Community Group task force on implementing the API is called the "ActivityPub API" task force. I think that's a good idea – it emphasizes the API. I intent to use this name and framing for the foreseeable future.

Read more →
0
0
0

Why I use "ActivityPub API" or "Social API"

Evan Prodromou @evanp@ghost.evanp.me

One of the most interesting areas of exploration in the ActivityPub community right now is the ActivityPub API. Most people who know ActivityPub are familiar with its federation protocol, which lets social networking servers like Mastodon and Pixelfed share data between them. But there is another, closely-related feature in the same specification, called the "social API".

ActivityPub has five normative sections: 3 Objects, 4 Actors, 5 Collections, 6 Client-to-Server Interactions, and 7 Server-to-Server Interactions. 3, 4, and 5 provide a read-only interface to social data that is useful for both the federation protocol and the social API. It lets both clients and servers read information about users on the network, their feeds, and the things they make and share.

Section 6 is focused on the mechanism clients can use to create new activities, and the side-effects of those activities. "Activities" are the most important data structure in ActivityPub (which is why they're featured so prominently in the name!). They represent sentences or statements about things that happen on a social network, like "Christine created the image img123.jpg" or "Evan liked Christine's image img123.jpg" and "Amy shared Christine's image img123.jpg". Creating these statements is how clients can make things happen with ActivityPub.

Section 7 is focused on how and when servers can send these activities across the network to other servers. There are some side-effects that are laid out, but mostly they involve cache management.

So, here's the important point I want to make: the federation protocol which connects ActivityPub servers is defined in sections 3, 4, 5, and 7. The social API is defined in sections 3, 4, 5, and 6. But some people use "server-to-server" or "s2s" as a synonym for the federation protocol, even though "server to server interactions" only covers one section. Similarly, some people use "c2s" or "client-to-server" as a synonym for the social API, even if "client-to-server interactions" is only one section.

I prefer to use "social API" or "ActivityPub API" to refer to the entire part of ActivityPub that lets client apps talk to social servers. Here are some rough reasons why.

  • It's what the spec calls it. In the conformance section, we said that 'this specification defines two closely related and interacting protocols: A client to server protocol, or "Social API" [...] A server to server protocol, or "Federation Protocol"'. This was intentional; the names come from the Social Web Working Group charter deliverables. Making a Social API was a key goal of the group. The ActivityPub API satisfies that goal.
  • It's a term that all developers and many users are familiar with. People who've used mobile apps or third-party apps know what an API is and what it's for. If you use "c2s", it's not clear to most developers what you're even talking about.
  • It's accurate. The social API is a RESTful API that uses JSON, HTTP, and all the fun stuff that app developers are already familiar with.
  • It emphasizes what's already available. People often say that Mastodon does not implement the ActivityPub API. But it implements sections 3, 4, and 5 of the specification – it has to, in order to support the federation protocol. That's the entire read-only side of the API. All (almost all?) Fediverse servers support these parts of the spec, too. You can build a pretty OK read-only API client using what's already available from Mastodon and others; see https://acct.swf.pub/ for an example.
  • "c2s" doesn't cover the whole API. As I said above, only one section of the doc is called "Client-to-Server Interactions", and it doesn't cover the read-only side of the API.
  • "c2s" is insider jargon. c2s isn't a common term for RESTful APIs. It really isn't a common term at all; there are only a few protocol suites, like XMPP, that refer to the "c2s" and "s2s" part.

I think it's fine if others use "c2s" when talking about the API, or especially about section 6 of the ActivityPub spec. It's not going to cause any harm. But the Social Web Community Group task force on implementing the API is called the "ActivityPub API" task force. I think that's a good idea – it emphasizes the API. I intent to use this name and framing for the foreseeable future.

Read more →
0
0
0
0

Dive into this Scientific Visualization panel from the Blender channel — experts Paul Melis, Adam Kalisz, Milan Jaros, Marwan Abdellah, Mike Simpson & Sybren A. Stüvel discuss 3D visualization techniques and workflows. Great for creators & scientists!
peertube.tv/videos/watch/8e364

0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
1
0

For no reason that I can explain, I am curious about which is scarier to you? If you hate binary choices, you may wish to forgo the poll.

0
10
0
0
0
0
0
0

One of the wonderful things about the are the people you meet. Especially when your isolated from your community. I so rarely get to interact with other musicians that it is always a pleasure to talk to them and hear them perform.

In that spirit I yesterday had the opportunity to listen to a livestream by @alisynthesis . I had never heard her music before but had a fantastic evening listening to her. If you don't know her then do take a listen. I will certainly be listening to more of her.

I have also had the opportunity to talk with @elifyalvac . She has such an amazing back catalog of music in many different genres as well as a podcast. I am quite overwhelmed with her music and I feel that I learn from listening to each of her tracks. So do take a listen to her.

I know there are many more musicians out there and so little time to listen to everyone.

Sending love to you all, Sammi xxx

0
0
0

For fans of my thread from a couple weeks ago re: that anthropic paper about the effects of AI on learning, I collected it into a blog post with a slightly more professional tone. Should be a lot more shareable than a mastodon thread.

jenniferplusplus.com/reviewing

0
3
1
0
1
0
0

Amp가 〈코딩 에이전트는 죽었다〉는 제목의 글을 올려서, 난 또 무슨 엄청나게 획기적이고 그 누구도 상상도 못 한 차세대의 혁신적인 에이전트를 선보인다는 줄 알고 설레며 읽어봤는데, 그냥 에디터/IDE 확장은 없애겠다는 공지였다… 누가 그런 공지를 이렇게 거창한 제목으로 해요.

0
0
0

salt-lang.dev looks like something that I might like… systems language with code contracts. I’d read more about it, but their graphic design talents are amazingly hostile. I can’t read this on safari on my iphone, but maybe it’s just my eyes?

A screenshot from salt-lang.dev headed “But with Salt.” Underneath is great test and a light blue colour gradient which is effectively illegible for me.
0
0
0