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.

In the development of ActivityPub, we originally had an endpoint called `publicInbox` for the second problem -- propagating public activities. But when we started working on the optimization issue, we defined a `sharedInbox` also. Here's the key point: we actually combined both features in one endpoint.

So, in the ActivityPub spec, talking about the public propagation of activities, we used this language:

> Additionally, if an object is addressed to the Public special collection, a server MAY deliver that object to all known sharedInbox endpoints on the network.

That "MAY" is important. It says that the sending server *can* do it, but it doesn't *have to*. This leaves it open to interpretation by implementers.

w3.org/TR/activitypub/#shared-

0

In the development of ActivityPub, we originally had an endpoint called `publicInbox` for the second problem -- propagating public activities. But when we started working on the optimization issue, we defined a `sharedInbox` also. Here's the key point: we actually combined both features in one endpoint.

0

🔗 Discrimination damages the body—and makes victims age faster

"Our results show that, after controlling for age, major life experiences of discrimination and daily microaggressions were positively associated with allostatic load," said Nevena Chuntova, the study's lead author.

"This means that these two types of discriminatory events independently contribute to physiological dysregulation, creating a cumulative health burden and accelerated aging," said Chuntova, a doctoral student in psychology at UdeM.

medicalxpress.com/news/2026-01

0
0
0
0

CASTING NO SHADOW

He felt bored one day and decided to go see a movie, no matter which one. So he walked down Martín de los Heros street, entered a cinema and chose a random French film. This was the most important decision in his life: almost instantly, he fell in love with the actress. She was young, pale-skinned, hair black as night, eyes like a universe. When the film ended he already felt a missing piece inside his heart.

He realized he was unable to express that love in words; so big, so overwhelming, so eerie. He had no alternative than to keep living his life: lost some friends, met new others, found a job in number crunching, as he liked to say.

Years passed and he missed no new movie featuring her; he saw great stories, mediocre films and crappy flicks just because she was there. Every time the screen showed her face he felt like a delightful rendez-vous: how is you life, are you doing well, missed you so much. And every time he felt his heart breaking into pieces. Sometimes he even cried, his face covered by his hands, warm tears in the dark theater, always surrounded by strangers. Because love hurts, love is like a sickness, love is a strange and silent death.

One day, on one of those occasions when disappointments pile over each other, he decided to travel to Paris. Once there he felt he also loved the streets, the corners, the chimneys; it was a world that was a bit like her, a bit part her. He also felt the sadness of loving something that is almost not there, a mirage, a trompe-l'oeil. The bittersweet feeling of a life wasted loving a ghost.

And then he saw her. It happened on those tiring stairs in Montmartre, no less; he was sweating and panting while she moved almost like having the wind in her sails. He recognized the crow-black hair, the pale face, the glittering eyes now surrounded by little wrinkles, more beautiful than ever. Twenty-five years ago he saw her playing the grieving spouse of the great composer Patrice de Courcy and that day he started living. He smiled her and she smiled back.



0
0
0
0
0
0
0
0

Another option is that the sending server should send the public activity to every *server* on the network, instead. So, if there are on average N actors per server on the network, it's (all users)/N, which might be tractable, although it's still pretty big on the modern Fediverse (~30,000 servers, according to fedidb.org). But, again, there's not a big list of all the available servers that the sending server can use for publishing to.

For ActivityPub, we didn't say that public activities should be sent to every server. Instead, we said that they should be sent to every server that the sending server knew about -- usually because an actor on the sending server had interacted with an actor on the receiving server.

0
1
0
0

One answer to that is that the sending server should send the activity to every actor on the ActivityPub network. That's clearly too much -- literally millions of actors. There's also not a big list you can look at that shows every actor on the network. It'd also be annoying to receive every single public post in your home timeline.

Another option is that the sending server should send the public activity to every *server* on the network, instead. So, if there are on average N actors per server on the network, it's (all users)/N, which might be tractable, although it's still pretty big on the modern Fediverse (~30,000 servers, according to fedidb.org). But, again, there's not a big list of all the available servers that the sending server can use for publishing to.

0
1
0
0
0

Another issue with ActivityPub is that we have a special delivery address, `Public`, which means that the activity should be visible to _everyone_. One question that arises is, if it's visible to everyone, should it be *delivered* to "everyone"? And if so, how is "everyone" defined?

One answer to that is that the sending server should send the activity to every actor on the ActivityPub network. That's clearly too much -- literally millions of actors. There's also not a big list you can look at that shows every actor on the network. It'd also be annoying to receive every single public post in your home timeline.

0
1

If your computer desktop was an infinitely-sized canvas that your monitor was a viewport into, would you want that?

Some scrolling window managers for (like ) now offer infinitely-wide workspaces. If you add a new window column to the right, one may scroll off-screen on the left.

It's convenient like a large house is convenient. You can fill it with even more stuff before you need to clean it. But if you want to find something? You've got a much larger haystack for your haystack.

0

Note to authors about using "AI" art to promote your work

I really hate to say this bluntly but I'm going to say it. I will not boost your stuff if you're using "AI" art in the cover or in the promotional material.

There's a lot of other people who won't either.

I would rather see the cringiest possible clip art than see hot "AI" garbage. I'd rather see the same five public domain photos off of Pixabay and Unsplash again and again than see "AI" garbage.

We don't want LLMs fucking with the writers' side of things. Don't use generated images to fuck with the artists' side of things.

0
0
0

In ActivityPub, each actor has an optional `sharedInbox` endpoint, that is used for this shared inbox delivery. If an activity is supposed to be delivered to 10 actors on the same receiving server, it only gets delivered once, and the receiving server routes it to those 10 actors directly. We expect that internal routing to be much faster!

Another issue with ActivityPub is that we have a special delivery address, `Public`, which means that the activity should be visible to _everyone_. One question that arises is, if it's visible to everyone, should it be *delivered* to "everyone"? And if so, how is "everyone" defined?

0

verizon is down?

i can see in my head all the IOT security folks groaning as all the telemetry for all the remote bullshits attached to peplinks and various other brand of commercial ethernet-to-lte bridges vanish offline

0

Note to authors about using "AI" art to promote your work

I really hate to say this bluntly but I'm going to say it. I will not boost your stuff if you're using "AI" art in the cover or in the promotional material.

There's a lot of other people who won't either.

I would rather see the cringiest possible clip art than see hot "AI" garbage. I'd rather see the same five public domain photos off of Pixabay and Unsplash again and again than see "AI" garbage.

We don't want LLMs fucking with the writers' side of things. Don't use generated images to fuck with the artists' side of things.

0
0
0
0
0
0
0

Il y a fort longtemps, certains d'entre vous n'étaient même pas nés, je fus arrêtée pour un motif à peu près légitime. j'avais fraudé en passant un portillon Ratp à la Défense...
Étudiante, je n'avais pas le fric pour payer le supplément du brutal changement de zone entre Paris et Nanterre, ma fac pendant un an.
(Je n'y ai pas fait de miracles, j'ai quitté pour Vincennes à Saint Denis.)
Bref.

Bon, je ne l'ai pas pris au tragique, les agents ne m'ont pas menottée ni été désagréables envers moi, juste comme je n'avais que ma carte orange (invalide à cet endroit ) sur moi, ils m'emmenèrent au poste pour vérifier mon identité et me coller ensuite une amende.
Je m'assis bien poliment pour attendre là où on me disait, et je commençai à causer avec la punkette un peu high qui se trouvait à côté de moi. Elle, elle avait été arrêtée pour possession de dieu sait quoi (mais ça envoyait du bois apparemment^^) et était menottée au banc.
Comme le mec de l'autre côté, un jeune arabe qui baissait la tête dans le genre « je ne prends pas le risque d'avoir eye contact avec quiconque ».

Pas moi, j'étais un type bizarre de fraudeuse chic et blanche, propre sur moi, pas ivre, pas racisée, pas shootée, bien calme et bien élevée, jean chemise blanche, bottes nickels, cartable ciré. qui observait tout ça avec presque de la curiosité, dans sa certitude privilégiée que rien ne pouvait mal se passer si je faisais tranquillement ce qu'on me disait.

Donc toujours pas menottée. J'avoue , je ne prenais pas du tout la situation au sérieux, j'étais en mode "j'ai joué, j'ai perdu, je paierai et basta". (le "je paierai" était quand même assorti d'une légère inquiétude, il faudrait emprunter à mes parents et ça, j'avoue que je ne me sentais pas tout à fait prête à leur dire pourquoi j'avais besoin d'argent, bref bis).
Donc nous gloussions, deux filles jeunes, presque heureuses, vivantes, sur le banc. Quand tout à coup, le type de garde s'est mis à hurler :
-- Sales putes, vous allez fermer vos gueules, parce que vous voyez le gars-là à côté de vous ? S'il fait un geste de travers , je lui colle une balle. Et les balles, ça se perd !

Je suis restée sans voix, la punkette aussi. Quand un homme te traite de sale pute c'est qu'il te hait, pas parce que tu as fait quelque chose. C’est parce que tu es quelque chose qu'il hait, et c'est souvent une femme.
Et soudain, la scène avait changé. On n’était plus dans une histoire de portillon RATP, d’amende, de paperasse emmerdante, ennuyeuse, mais méritée. On était passés ailleurs, dans un endroit où la loi n’est plus le cadre, mais le prétexte.

Il venait de sortir son arme potentielle comme on sort une carte maîtresse. Il rappelait à tout le monde, en postillonnant comme un malade, qui avait le pouvoir de tuer, qui avait le droit d’exister et qui devait se taire. Le jeune homme arabe à côté de nous s’est encore plus tassé. Il n’a pas bougé, il avait compris depuis longtemps lui. Le message ne nous était pas adressé à nous seulement, il était pour tous. Pour dire : je peux, je décide, je vous tiens.

À cet instant précis, j’ai cessé de rire, d’être une étudiante un peu fauchée et vaguement insolente. J’ai compris que ce qui se jouait-là n’avait rien à voir avec l’ordre public. C’était une démonstration, une mise en évidence de la domination brute, une façon de rappeler que certaines vies sont toujours conditionnelles.

Et le plus glaçant, ce n’était pas la menace elle-même, c’était sa gratuité. Personne ne bougeait, ou ne criait ou ne résistait. Il n’y avait aucun danger, juste le plaisir de faire peur, la jouissance d’écraser, de fermer sa gueule à la femme trop à l'aise, trop tout, de rappeler que les balles « ça se perd ».

Je suis sortie de là avec une amende, oui. Et une conviction qui ne m’a jamais quittée depuis : la violence institutionnelle ne commence pas avec les coups. Elle commence avec la certitude d’impunité. Cette haine brûlante qu’on sait pouvoir cracher sans conséquence.
Et depuis ce jour-là, quand j’entends quelqu’un dire « s’ils n’avaient rien à se reprocher », « ils n’avaient qu’à obéir », « c’est la loi », je sais exactement ce que ça vaut.

Je sais à quel point ça peut basculer vite.
Et surtout, contre qui.

0
0
0

gotta say i have never had a good audio experience on any of the open source meeting apps (jitsi, bigbluebutton, etc). all of them seem super laggy so people talk over each other, the audio is bad and levels off. i end up feeling mega stressed at the end of calls and i think its down to this.

anyone know why? what possible proprietary goop do the zooms of the world have? zoom especially is just so head and shoulders above everyone else quality wise it makes me wonder what They've Seen

0

Last night with no warning, RFK Jr. cancelled up to $2 billion in funding for mental health and substance abuse research and programs administered through SAMHSA.

We are collecting information on terminated SAMHSA grants at Grant Witness:

grant-witness.us/submit-samhsa

If you worked on one of these programs, please let us know at the link! And please share with your colleagues. We need a comprehensive record of these terminations to fight back!

npr.org/2026/01/14/nx-s1-56771

0
0
0

RE: linuxmom.net/@vkc/115894822461

My gut is telling me that the folks who use a watch/phone for payments don't carry a purse.

I carry a purse, my phone/wallet/keys can't go in pockets that either don't exist or are comically small. So for me, I just never saw an impetus for "contactless" vs traditional cards/cash.

I don't think I could wordsmith a poll to test my suspicion, but that's my read on it.

0
1

So, if an activity is supposed to go to M actors, it would normally take about M deliveries to get it to all those actors. But if there are on average N actors that share a server, then using a shared inbox will reduce the total number of deliveries to M/N.

In ActivityPub, each actor has an optional `sharedInbox` endpoint, that is used for this shared inbox delivery. If an activity is supposed to be delivered to 10 actors on the same receiving server, it only gets delivered once, and the receiving server routes it to those 10 actors directly. We expect that internal routing to be much faster!

0

A simple question: do you know who I am?

(If this could be boosted so not just my friends, moots, and oomfies see this, that'd be great... and probably rightfully skew the "no" votes.)

0
0
0

What does a maintainer really do?

The Rust Project Maintainer Fund Design Committee explains the invisible work behind Rust’s reliability — and why efforts like the Rust Foundation Maintainer Fund exist. blog.rust-lang.org/inside-rust

0
1
0

"The Turkish civil aviation authority recently instituted a £50 fine for airline passengers who stand or remove their seatbelts before the plane has taxied and come to a complete stop." 아...... 이건 진짜 나리타나 후쿠오카 비행기 타고 다녀오면;;; 리얼 진짜 좀 그렇긴 하다. 약간 뜨끔하기도 하고. 게이트 붙기도 전에 복도에 줄 서는게 너무 당연하게 여겨짐.

0
0
0

uspol, ai software dev

i think another (maybe the primary?) factor driving the use of "ai" tools in software dev right now is that it simply doesn't make market sense right now for a business to care whether or not their software works. so what if it's broken? end users will stop using the software but they'll forget to cancel their subscription, or they'll grit their teeth and deal with the jankiness bc the business in question has a monopoly and there are no good alternatives

0
0
0
0
0
0

Ooooh, ? Nice :D

I'm Victoria. I'm an astrophysics and artist doing scientific/academic illustrations.

I've recently published a book on black holes with my own illustrations (only in German so far, sorry!) and when on holidays, I love making small watercolour paintings of things I encounter (often buildings, sometimes plants). I post my art under here.

Cover of the book "Schwarze Löcher: Schwere Kost, leicht verdaulich" written by me.Mostly fback and white digital drawing titled 'The confernce audience' showing six little doodles showing typical conference audience members - each with a short description. A stick person panicky hinding behind their laptop and panicky typing - the postdoc panicky finishing their talk. A screen with black square - remote participants: black boxes asking questions. A phone screen showing the photo of a talk slide - the person running the conference twitter feed: always taking pics with their phone. A stick person head, sleeping - the transatlantic colleague sleeping of their jet lag. Stick person in a PhD hat behind their laptop, raising their hand while continuing to type with another hand - the senior faculty emails from their provost & asking the occasional very pointed question.Mostly black and white digital drawing of the JWST, with gold highlight for the mirror and some of the electronics.Seven ink and aquarelle postcards; two showing the city if La Plata, three cute houses in El Chaltén und Puerto Natakes and two flowers and berries from Patagonia
0
0
0