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.

1
1

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

4
6
0
0

Ich denke, auf im Recht blicken wir derzeit falsch und, dass sie sich extrem schnell durchsetzen wird, aber nicht in Spruchkörpern.

Die zahlenmäßig allermeisten Rechtsnutzenden haben kein (bzw. nur 1) Staatsexamen. Es sind
- Rechtspfleger:innen
- Kostenbeamte
- Verwaltungsleute
- Servicepools

Meine Einschätzung wäre, dass aktuell 30% dieser Jobs und in ~2 Jahren 90% -im Durchschnitt (!)- von KI nicht mehr schlechter erledigt werden, als derzeit von Menschen (aber zu 20% der Lohnkosten).

0
0
1
1

Before creating and publishing FEDERATION.md for I wanted to understand what existing practice looked like across the Fediverse.

FEP-67ff describes the requirements of the FEDERATION.md file in loose terms and provides a non-normative template. I scraped the URLs of FEDERATION.md files from FEP-67ff itself and confirmed I could fetch them. The FEP listed 30 accessible projects (31 total, but one project—FIRM—does not appear to exist).

If a file had a section with the heading "Supported FEPs" per the non-normative template, I only looked there for supported FEPs. Otherwise I scanned the entire document.

Implemented FEPs, ranked by the number of implementations that attest support, are:

FEP   Name                                                        #
----  ---------------------------------------------------------  --
67ff  FEDERATION.md                                              18
f1d5  NodeInfo in Fediverse Software                             16
8b32  Object Integrity Proofs                                     7
044f  Consent-respecting quote posts                              7
2677  Identifying the Application Actor                           7
e232  Object Links                                                6
1b12  Group federation                                            6
3b86  Activity Intents                                            6
521a  Representing actor's public keys                            5
2c59  Discovery of a Webfinger address from an ActivityPub actor  5
7888  Demystifying the context property                           5
5feb  Search indexing consent for actors                          5
4adb  Dereferencing identifiers with webfinger                    4
d556  Server-Level Actor Discovery Using WebFinger                4
fb2a  Actor metadata                                              4
ef61  Portable Objects                                            4
8fcf  Followers collection synchronization across servers         4
844e  Capability discovery                                        4
7628  Move actor                                                  3
61cf  The OpenWebAuth Protocol                                    3
c390  Identity Proofs                                             3
400e  Publicly-appendable ActivityPub collections                 3
c0e0  Emoji reactions                                             3
0151  NodeInfo in Fediverse Software (2025 edition)               3
fffd  Proxy Objects                                               2
f228  Backfilling conversations                                   2
fe34  Origin-based security model                                 2
eb48  Hashtags                                                    2
171b  Conversation Containers                                     2
a5c5  Web Syndication Methods                                     2

There are obvious flaws in the methodology. Or maybe in the data. Only 18 out of the 30 projects I could access had a FEDERATION.md that attested FEDERATION.md support. Only 19 mentioned "FEDERATION.md". Only 21 mentioned "67ff". The remaining projects clearly did support FEP-67ff—the file itself was evidence. (FEDERATION.md is not meant to be machine readable—there's an issue about that).

It was more difficult to rank implemented federation protocols. I extracted keywords from documents with a  "Supported federation protocols and standards" section and created a dictionary of terms. If a file had a section with the heading "Supported federation protocols and standards", I only looked there. Otherwise I scanned the entire document.

Feature            #
----------------  --
activitypub       26
webfinger         24
http_signatures   21
nodeinfo          19
json_ld            2
ld_signatures      2
ostatus            2
authorized_fetch   1
atproto            1

If time allows, I'm going to try to rank these documents by "utility", though I haven't yet determined the exact metric. These documents clearly provide valuable information, but their lack of standardization makes them harder to analyze systematically.

0
1
0
1

Überschrift: "US Präsident fährt mit herunter gelassenen Hosen nach China".

Ich finde es bedenklich, dass wir in Zeiten leben, in denen ich nicht sicher sagen kann, ob das wörtlich gemeint oder sinnbildlich gesprochen ist.

0
1
1
1
0
50
0
0

I recreated an old diagram in Excalidraw that I spread about a couple years ago, and made it a bit more informative. Explanation can be found in the

See also and for discussion: discuss.coding.social/t/diagra

Or join the Social experience design chatroom at: matrix.to/#/#socialcoding-foun

Also posted to at: socialhub.activitypub.rocks/t/

@benBen Werdmuller

Diagram. Interoperability in practice. A chart with a horizontal axis that goes in 2 directions. On the left it moves towards chaotic grassroots growth, and on the right side towards open standards adoption. The Y-axis indicates level of complexity. The center indicates a low level of complexity.

On the left side of the axis we first find the ActivityPub open standard, with a relatively low complexity level. However the prevailing method to evolving the ecosystem is driven by post facto interoperability, where tech debt and protocol decay is introduced and accepted, which must be refactored and evolve alongside the open standard. Since this doesn’t happen, the fediverse grassroots environment is shifting more to the left into non-lineary increasing accidental complexity. Deviating more and more from the ActivityPub standard and the promise that it holds to offer the Future of Social networking.

On the right side, to contrast against fediverse, we find the Solid Project led by Sir Tim Berners-Lee, which is based on a whole range of W3C Linked Data related open standards and draft documents. There is no grassroots movement that drives progress, but a steering committee. Progress is restrained by open standards adoption and support. Higher levels of interoperability require more rigour and formal standardization, and this also leads to non-linear growth of, in this case, engineered complexity. Solution developers have to wait for many standards to mature, leading to inertia.
0
1
0
0
0
1
0
6
0
2
0
0

it's consistently remarkable to me just how much difference it makes to have a very dry 3D printer filament

PCTG at ~30% RH (the measurement may be wrong but it spent about 24 hours in a relatively dry room after being taken out of the factory packaging) would popcorn so much that pieces of it would break off, get stuck to the nozzle, and foul the print

PCTG at ~18% RH (the measurement is probably closer since the heated chamber had time to equilibrate) has zero of these problems in much more print time than the above

0
1
1

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

4
6
0
1

Super Fun für Sprach-Nerds, Weird Fiction-Fans und alle, die gerne neue Sachen lernen: Diese Geschichte wird jeden Absatz 100 Jahre älter (& gruseliger), am Schluss sind wir um 1.000 sprachlich angelangt. Bis wann könnt Ihr verstehen, was da steht? Danach erklärt ein Sprachhistoriker die Veränderungen, die ihr da rückwärts mitgemacht habt.

deadlanguagesociety.com/p/how-

0
3
0
0
1
0
0
1
0
2
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
9
0