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
1

google (american company) is launching a product named aluminium OS. not aluminum, but aluminium. they've explicitly chosen the foreign spelling of the name.

this poll is only for those who normally call element 13 "aluminum" (americans, canadians, etc): how will/would you pronounce google's new operating system?

0
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.

2
26
1
0
0
1
1

google (american company) is launching a product named aluminium OS. not aluminum, but aluminium. they've explicitly chosen the foreign spelling of the name.

this poll is only for those who normally call element 13 "aluminum" (americans, canadians, etc): how will/would you pronounce google's new operating system?

0
2
0
0
0
0
0
1
2
0
0
0

내 행동이 이타심에서 비롯된 행동인지, 그저 자기만족에 의한 행듕인지, 둘 다 인건지.. 어떤 것이든간에 내가 타인을 위한 행동을 했다는 거 자체가 중요한 거 아닐까 하는 생각이 든다 불순한 목적과 피해를 주는 결과만 아니면 되지않을까

1
1
0
0
1
2
0
0
0
1
0
0
0

第51回衆院選 全議席確定

 自民  316(118増)
 中道  49(123減)
 維新  36( 2増)
 国民  28( 1増)
 参政  15( 13増)
 みらい 11( 11増)
 共産   4( 4減)
 無所属  4( 6減)
 減ゆ   1( 4減)
 れいわ  1( 7減)
 保守   0( 1減)
 社民   0(増減なし)
 安楽会  0(増減なし)
 諸派   0(増減なし)

※括弧内は選挙前勢力からの増減。
※データはNHKによる。

0
0
0
0
0
1
0
0
1

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.

2
26
1
0
0

第51回衆院選 全議席確定

 自民  316(118増)
 中道  49(123減)
 維新  36( 2増)
 国民  28( 1増)
 参政  15( 13増)
 みらい 11( 11増)
 共産   4( 4減)
 無所属  4( 6減)
 減ゆ   1( 4減)
 れいわ  1( 7減)
 保守   0( 1減)
 社民   0(増減なし)
 安楽会  0(増減なし)
 諸派   0(増減なし)

※括弧内は選挙前勢力からの増減。
※データはNHKによる。

0
0
0
0
0
0

Current status: shaving the yaks to reboot my home desktop after 42 days of uptime. I didn’t start out planning this reboot but one thing led to another. Why don’t I reboot more often? Well, yak shaving and the lack of it in some bits of my current desktop setup.

0

Oh my goodness I almost forgot it was Sunday.

All :CreativeCommons: from Wikimedia; see links for full-resolution images.

- Burrowing owls (_Athene cunicularia_), Florida, USA, by travelwayoflife: w.wiki/HnEm
- Barred owl (_Strix varia_), Ontario, Canada, by Mdf: w.wiki/HnEo
- Long-eared owls (_Asio otus_), Ukraine, by Byrdyak: w.wiki/CiT
- Indian scops owls (_Otus bakkamoena_), Madhya Pradesh, India, by Charles J. Sharp: w.wiki/HnEz

Five quizzical-looking little brown-and-white burrowing owls (Athene cunicularia) on a short grass lawn in Florida, taken with shallow depth of field.A ghostly-pale owl with light brown barring on its great round head and light brown stripes down its breast and wings, perched on pale grey branches in a pale grey wood. Its eyes are dark and liquid, as icy as its surroundings. The image could almost be black-and-white except for the owl's yellow beak.Two ridiculous-looking long-eared owls (Asio otus), brown-black-white with big fluffy "ears" and round orange eyes, peer down with palpable surprise at the camera from lichen-greened branches in a bare tree. A pair of Indian scops owls (Otus bakkamoena), perfectly camouflaged with their irregular variegated brown patterns and slight ear tufts, sit side by sided in the broken stump of a tree branch, eyes narrowed.
0

BREAKING: The Epstein survivors are releasing this ad on Super Bowl Sunday to send the message that they WON'T “move on” from the largest sex trafficking scandal in the world.

They're asking people to "Stand With Us and Tell Attorney General It's Time for the Truth"

They direct people to the site worldwithoutexploitation.org

Edited update to add subtitles.
Edited to use the https link if you don't want to retype
worldwithoutexploitation.org/

0
0
0
0
0