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

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

1
12
1
0
0

村上隆や椹木野衣らが「日本」というイメージをこれまでとは別な文脈に再配置する90年代には、55年体制の崩壊・社会党の政権入りと分裂・退潮がある。日本国民にとっての安保条約というのが、55年体制下における左派政党(社会党・共産党)による強固な反対によってリアリティを帯びていたけど、それが崩壊しちゃうともう安保条約というのは単なる既成事実化してしまう。安保条約の「外」を持たないものとしての「日本」というのが、村上や椹木の主題だったんだよな。それはほぼ社会党の退潮が原因となっている。

0

@molly0xfffMolly White I was reading your latest newsletter in my web browser and noticed the footnotes? (the lowercase letter notes) appear in the margin. Not sure if you knew it did that but man, that's a cool trick! It makes me want to read the newsletter on your site instead of on my phone where I can have that side by side.

Screenshot of two column text, left hand side is Molly White's normal newsletter while the right hand side has the footnote referenced in the normal newsletter. It is an awesome visual experience for a reader
0
0
0
0
0
0

Her er Marius Eriksen, dekorert krigshelt fra andre verdenskrig og medaljevinner i utfor fra OL i St. Moritz 1948 med den ikoniske Marius-genseren designet av Unn Søiland Dale.

...også har du den dårlige kopien Ralph Lauren har laget til årets amerikanske OL-tropp.

Marius Eriksen (1922–2009) var en norsk alpinist, krigshelt og jagerflyver under andre verdenskrig. Han var en talentfull skiløper før krigen og ble senere kjent som jagerpilot i RAF, der han fløy Spitfire og oppnådde ni bekreftede luftseire før han ble skutt ned over Frankrike i 1943 og satt i krigsfangenskap resten av krigen. For sin krigsinnsats ble han tildelt bl.a. Krigskorset med sverd, St. Olavsmedaljen med ekegren og den britiske Distinguished Flying Medal.

Som skiløper vant Marius Eriksen NM-gull i alpint både i 1947 og 1948, og han deltok i Vinter-OL i St. Moritz i 1948, der han tok sølv i utfor. Hans yngre bror, Stein Eriksen, vant senere OL-gull i alpint under OL i Oslo i 1952. Marius Eriksen var også med på å popularisere norsk skisport og gensertradisjon, blant annet gjennom filmen "Troll i ord" og den kjente "Marius-genseren"
En fotomodell med USA sin offisielle OL-genser designet av  Ralph Lauren som ser veldig ut som en Marius-genser bare med et stort amerikansk flagg på magen.
0
0
0
0
0
0
0

Anyone know anything about radiator valves ? :-). The one on the left, with the thin pin, is a spare from last time I bought a head and it basically looks exactly like all the other valves in my house. The one on the right is what's actually on my bathroom radiator and none of my TRV valve heads seem to close it correctly. The base disc with the thread seems to fit just fine, but the size and arrangement of the nut and pin Is weird looking,

two radiator valves side by side.  Similar but different.
0

Ne, může za to to, že jíst maso je naprosto normální a celé tažení za klima ve formě “nesmíš jíst steaky a jezdit autem” je propaganda několika největších znečišťovatelů, kteří mohou za valnou většinu emisí skleníkových plynů a přenáší vinu jinam. (Nic proti osobním preferencím jíst či nejíst maso)

0
0
0
0
0

RE: muenchen.social/@joerg_spengle

Ist ein undemokratisch?

Nein. Es ist ein vom Grundgesetz vorgesehenes Instrument.
Es dient dazu die Demokratie vor ihrer Zerstörung zu schützen.

Aber das dauert… Drum sollte der Prüfauftrag sofort erteilt werden!
Aber davon sind die Nazis nicht weg… Nein, aber sie befehlen nicht mehr über Polizeikräfte oder bekommen Steuergeld oder Sendezeit im ÖRR…

Weitere Argumente:
Demokratie retten - AfD verbieten?
confessio.de/index.php/artikel

0
0
0

RE: mastodon.social/@ieeespectrum/

What is the point of converting this software?

Who’s gonna maintain it?

Unless you have interest from the maintainers, you have a bunch of code that no one uses and no one maintains. Good job, folks.

I see nothing on these sites that explain how they hope to drum up maintenance, or even engage the maintainers of the original code.

Once again, the critical part of FOSS is ignored. It’s the people.

0
0

new from me: FR#152 - The DSA Needs Big Tech

The panel at FOSDEM with @alexandrageese and @mellifluousboxFelix Hlatky about the DSA and the fediverse showed a deep structural tension: the DSA's power depends on Big Tech platforms existing, and the fediverse is a network specifically designed they won't

connectedplaces.online/reports

0
0

RE: mastodon.social/@ieeespectrum/

What is the point of converting this software?

Who’s gonna maintain it?

Unless you have interest from the maintainers, you have a bunch of code that no one uses and no one maintains. Good job, folks.

I see nothing on these sites that explain how they hope to drum up maintenance, or even engage the maintainers of the original code.

Once again, the critical part of FOSS is ignored. It’s the people.

0
1
0
0
0

In since post-Xcode Agentic coding we’re all having the “are LLMs compilers” conversation again…

It’s really helpful to think of LLM’s as databases of _someone else’s code._ That pretty quickly establishes good bounds of what they are and what they are not. They’re a bit more than that but still fundamentally constrained by the data.

That also gives you a good sense of the ethics, and the progress curve. They can really progress only as long as they have data to gobble up.

0
0

I'm an unpaid volunteer running 5 websites and 5 accounts helping people use Mastodon and the wider Fediverse. I pay their bills every month.

If you want to help these sites & accounts keep going, you can buy me a coffee:

➡️ ko-fi.com/fedithing

(No registration, choose any amount, all currencies work, one-off or monthly donations)

Alternatively become a patron:

➡️ liberapay.com/FediThing

All support greatly appreciated! 🙂

❤️ @FediTips, @FediFollows, @FediVideo, @FediGardenFedi.Garden 🌱 & @homegrownGrow Your Own Services 🌱

0
0
0

I'm an unpaid volunteer running 5 websites and 5 accounts helping people use Mastodon and the wider Fediverse. I pay their bills every month.

If you want to help these sites & accounts keep going, you can buy me a coffee:

➡️ ko-fi.com/fedithing

(No registration, choose any amount, all currencies work, one-off or monthly donations)

Alternatively become a patron:

➡️ liberapay.com/FediThing

All support greatly appreciated! 🙂

❤️ @FediTips, @FediFollows, @FediVideo, @FediGardenFedi.Garden 🌱 & @homegrownGrow Your Own Services 🌱

0
0
0

FR#152 – The DSA Needs Big Tech

Last week was the FOSDEM conference, where my time was mostly spend chatting with people so I had little time actually listen to all the talks at the event itself. I want to spend some time on one panel in particular, because while rewatching the panel I realised it surfaced some pretty deep structural issues between the fediverse and the DSA.

The panel “The Fediverse and the EU’s Digital Services Act” brought together Alexandra Geese, a Member of the European Parliament and one of the lead negotiators of the DSA; Felix Hlatky, the recently appointed Executive Director of Mastodon; and Sandra Barthel, founder of the Alliance of Open Networks. The title of the panel suggested this was about complementary approaches to the same problem of how Europe can protect democratic discourse online, but turns out there’s a bit more to it.

Geese laid out the DSA’s most powerful provision clearly. Article 34 requires Very Large Online Platforms (VLOPs, defined as platforms with more than 45 million monthly active users) to assess systemic risks, and allows the Commission to mandate changes to algorithms, targeting systems, and business models. This, Geese argued, is what makes the DSA meaningful. It gives Europe the ability to intervene in how platforms shape public discourse, without having to become a “ministry of truth” that decides what content is or isn’t allowed.

Hlatky then described the fediverse as a fundamentally different kind of network. “It’s a network of a lot of small networks. In fact, in the fediverse there’s around 30,000 active small servers.” He went on: “From a regulatory point of view, it’s very attractive because they all of them default under the SME exemption, small medium enterprises, so all of these servers are very small so they fall under this exemption.” When asked what makes the fediverse a nicer place than mainstream social media, Hlatky pointed to design and culture: “Polarizing content on Mastodon and the broader fediverse, it will never be amplified in the same way as in other networks, simply because of design choice, that this content doesn’t have this strong amplification. But the second thing that is probably more important is that trust and safety is not an afterthought, something that is bolted on later because we need this for regulatory compliance, but it’s part of the initial product design process.”

These are both reasonable statements on their own, but positioned next to each other it is visible that both Geese and Hlatky describe projects that work against each other. Geese’s entire model depends on VLOPs actually existing, as without a platform that crosses the 45 million monthly active users article 34 of the DSA has nothing to act upon. The DSA’s power to force algorithmic changes, to mandate risk assessments, to reshape business models, all of it requires a centralized platform large enough to qualify. Without a VLOP, the DSA actually does very little. On the other hand, Hlatky, as the Executive Director of one of the largest software developers building the alternative, is explicitly celebrating the fact that nothing in the fediverse qualifies for the DSA, and that the structure of the network makes it likely that nothing will ever qualify. The network architecture of the fediverse creates the possibility for the large majority of participants (if not everybody) to avoid DSA regulation via the SME exemption.

During the panel, Geese was remarkably candid about the geopolitical pressure the European Commission faces when trying to enforce the DSA against US-based platforms. She described how US government threats, including tariff escalation and NATO posturing, are actively deterring the Commission from enforcement. In her framing, DSA enforcement is no longer just a regulatory question, and she sees it as one of three fundamental geopolitical conflicts facing Europe, alongside defense against Russia and economic competitiveness, and argued that enforcing the DSA requires political courage at the highest levels of European leadership.

This problem of political will only matters if VLOPs exist to enforce the DSA against. In a network of 30,000 small servers, there is no entity for the Commission to pressure, and no platform for the US government to shield through diplomatic coercion. The fediverse sidesteps the geopolitical vulnerability that Geese described, but does so by eliminating the regulatory lever entirely.

The very geopolitical pressure that makes DSA enforcement difficult is itself an argument for the fediverse. If the Commission can be coerced into not enforcing against US-based VLOPs, then a network architecture without VLOPs is more resilient, not just technically but geopolitically. But that resilience comes at a cost to both sides of the current power dynamic. For the US, a world without VLOPs removes the ability to fuse state power with platform power, the dynamic that currently allows the US government to shield companies like X and Meta from European regulation. For the EU it removes the regulatory lever that the Commission has spent years building, and with it the role the EU has carved out for itself as the global counterweight to Big Tech. The EU’s position in digital governance, as well as the way the EU understands itself, is built around being the entity that regulates platforms. Without platforms large enough to regulate, that position loses its foundation.

For Hlatky, this avoidance of the DSA is not a big problem, as he sees many positive traits for the fediverse, such as polarizing content not being amplified and trust and safety being integrated into product design. However, these traits can better be described as how Hlatky views Mastodon, as those are not characteristics that are intrinsic to an ActivityPub network, and the claim that trust and safety is integral to Mastodon’s product design is contested within the community as well. While other ActivityPub software also proclaims these traits, it might just be an emergent property that flows from the type of people and their interest who are the early adopters and new builders of of open social platforms. In a potential world where open social protocols gain mass adoption, I’m not sure these characteristics will hold up, especially if it becomes a hyped new technology that attracts a very different user base with other priorities.

This is something I have written about before: one of the reasons the European Commission actually needs platforms like X to exist is that it has built its entire regulatory infrastructure around the assumption that VLOPs exist. Open social networks don’t just offer an alternative to Big Tech, they undermine the assumptions that European digital regulation is built on. The panel at FOSDEM was collegial and constructive, and everyone agreed that the fediverse is good and the DSA is necessary. But nobody asked the harder question: if the fediverse succeeds in replacing centralized platforms, what regulatory framework takes over from the DSA?

Some other news

For Protocols For Publishers I gave a presentation on the state of the open social web, explaining to publishers how both ActivityPub and atproto have different visions for how a social network can function. In my opinions these visions can be complementary to each other, with atproto well suited for the distribution of news, and ActivityPub creating new primitives for community building. The slide deck can be downloaded here.

PieFed has seen a sustained growth of new users over the last week, increasing it’s total user base by 50% in a week. The main driver of growth for PieFed, created by New Zealand based developer Rimu Atkinson, is a popular post on the BuyFromEU subreddit that describes the platform as an European Reddit Alternative. While impressive growth in relative terms, in absolute terms the entire network is still small, with some 8k monthly active users (MAU) for PieFed and 36k MAU for Lemmy.

Mastodon has announced that they are beginning work on a new onboarding experiment, where they’ll recommend “the closest server geographically that is in the correct language during the sign-up flow.” Mastodon using the mastodon.social as a default server for signup has been a point of critique for years within the community, and the organisation is now addressing this feedback.

Holos continues to be one of the most interesting projects moving ActivityPub forward. It runs an ActivityPub servers on your mobile phone, with a relay that handles your identity, as well as data forwarding for the periods when your phone is inaccessible. The latest update allows you to set your identity based on a domain name you own, fairly similar to atproto. Once the project launches as a 1.0 I’ll write a more detailed explainer about it and why I think it matters, for the protocol-minded people I already recommend taking a look.

FediMTL is a conference about digital sovereignty and the social web, that will be held on February 24, 2026 in Montreal (streaming options also available).

connectedplaces.online/reports

Detail of the city Luik
0
0
0
0
0

Hot take: basic vim (without plugins) is mostly what vi should have been in the first place, and much of the differences between vi and vim are improvements. Multi-level undo and redo in an obvious way? Windows for easier multi-file, cross-file operations? Yes please, sign me up.

Basic vi is a product of its time, namely the early 1980s, and the rather limited Unix machines of the time (yes a VAX 11/780 was limited).

(The touches of vim superintelligence, not so much, and I turn them off.)

0
0
0
0

minor tr(1) gotcha I encountered recently: It does NOT use regex-style "[a-z]" notation for a character class. One might do something like

$ echo 'abcd123' | tr -d '[a-c]'
d123

which does what's expected. But then put a "[" or "]" in the input:

$ echo '[abcd123]' | tr -d '[a-c]'
d123

The "[" and "]" are treated as literal characters and get deleted/translated too. You can use class-names with them though:

$ echo '[abcd123]' | tr -d '[:alpha:]'
[123]

The reason that

$ … | tr "[a-z]" "[A-Z]"

works is that the left-bracket gets translated to a left-bracket and the right-bracket gets translated to a right bracket, so you don't see an issue.

It *is* documented in man pages:

>System V has historically implemented character ranges using the syntax “[c-c]” instead of the “c-c” used by historic BSD implementations and standardized by POSIX. … if the shell script is deleting or squeezing characters as in the command “tr -d [a-z]”, the characters ‘[’ and ‘]’ will be included in the deletion or compression list which would not have happened under a historic System V implementation.

But it's easy to miss.

0

Close up picture of a cicada (insect)

I took this picture in June 2004 with the first digital camera I owned. It was the emergence of "Brood X" which happened in central New Jersey.

These particular cicadas emerge only every 17 years. This individual, if they mated could be a grandparent but unfortunately they die soon after mating.

There must have been millions of them and for a few days the noise was deafening. It sounded like old 1950s sci fi UFOs.

I think it's so cool we share a planet with so many different creatures. We need to preserve this planet. It's the only one we have!!

Picture of a cicada on a brick wall. The insect has red eyes and orange wings.
0
0