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
0
0
1
1
2
0

"수십 년간 땀 흘려서 농사를 지으면서 우리 사회에 기여한 점을 감안하여 감형한다"거나 혹은 "산업재해와 저임금에도 불구하고 수십 년간 땀 흘려 일하면서 이 나라 산업을 이만큼 발전시키는 데 기여한 공로가 있는 노동자이므로 감형을 한다" 이런 예를 본 적이 없습니다. 혹시 보신 적 있습니까?" 공직(같은 소리한다) x 고위 공무원, 정치인 대상 평등하지 않은 법 적용 반드시 때려잡아야 한다. 안 그러면 다들 판검사님한테 칼부터 들이댈 거니까.

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

@hongminhee洪 民憙 (Hong Minhee) :nonbinary: from the point of view of someone who is "maintaining" a JSON-LD processing fedi software and has implemented their own JSON-LD processing library (which is, to my knowledge, the fastest in it's programming language), JSON-LD is pure overhead. there is nothing it allows for that can't be done with

1. making fields which take multiple values explicit
2. always using namespaces and letting HTTP compression take care of minimizing the transfer

without JSON-LD, fedi software could use zero-ish-copy deserialization for a majority of their objects (when strings aren't escaped) through tools like serde_json and Cow<str>, or
System.Text.Json.JsonDocument. JSON-LD processing effectively mandates a JSON node DOM (in the algorithms standardized, you may be able to get rid of it with Clever Programming)

additionally, due to JSON-LD 1.1 features like @type:@json, you can not even fetch contexts ahead of time of running JSON DOM transformations, meaning all JSON-LD code has to be async (in the languages which has the concept), potentially losing out on significant optimizations that can't be done in coroutines due to various reasons (e.g. C# async methods can't have ref structs, Rust async functions usually require thread safety due to tokio's prevalence, even if they're ran in a single-threaded runtime)

this is
after context processing introducing network dependency to the deserialization of data, wasting time and data on non-server cases (e.g. activitypub C2S). sure you can cache individual contexts, but then the context can change underneath you, desynchronizing your cached context and, in the worst case, opening you up to security vulnerabilities

json-ld is not my favorite part of this protocol
0
0
0
0
0
0
0

소프트웨어 업계는 원래부터 타업종에 비해 변화가 빠른 곳이었는데, AI 가 일으킨 생산성의 상향 평준화 때문에 그 변화 속도가 미친듯이 가속된 느낌이다. 이런 큰 변화의 시기에는 혼자서 적응해낼 자신이 없다면, 회사에 몸을 담고 있는 편이 낫다. 조직은 하나의 유기체로서 생산성 폭증의 시대에 적응할 방법을 찾아낼 것이기 때문이다.

매일 압박을 당하고, 스트레스에 시달리고 더 해내라고 요구 받더라도 버티면서 시간을 보낼 수 있는 것과 홀몸으로 서서 이 모진 풍파를 다 받아내는 건 비교가 어렵다. 특히 요즘 같은 시대에는 더욱 그렇다.

0
0
0

uspol, trans genocide

There's more, especially on the state level. Eg the Idaho house just passed a bathroom ban that bans trans use of bathrooms *in private businesses*, with mandatory enforcement by businesses, punishable by a $10k fine if a customer identifies a trans person in the bathroom. boisestatepublicradio.org/poli

Kansas rolled out a bathroom bill that provides *bounty hunting*, where people are paid for turning in trans people who use the "wrong" (ie, right) bathroom thepinknews.com/2026/02/19/ant

I'm just saying. It's getting bad. It's worth knowing how bad.

0
0
17
0
0
0
0
0
0
0
0
0
8
0

Not gonna get into it right now (gotta go to bed) but labeling criticism of LLM based "AI" as "purity culture" and that one can just legitmize using any and all tech if one just somehow creates "free and open" versions of it is not a good take. Really not. Refusing to use LLMs on ethical grounds is also not a claim that problems are solved "by shopping carefully". That's a lot of straw men just to legitimize using an LLM to do spellcheck. Maybe just do it and don't try to throw people under the bus who aim for something better.

[Edit: removed a snarky comment that didn't need to be there]

0
4
0
0
3
1
1

You voted for this slogan and now it's here! We have a new batch of super nice t-shirts (they're 100% organic cotton with a thick, soft feel) with a cute screen printed design from @dopatwo. "My friends are not for sale"—because your connections to other people are more than a bargaining chip for big tech companies to keep you from leaving them.

shop.joinmastodon.org/products

A beautiful woman with dark hair, gold earrings and red lipstick, wearing a french navy colored t-shirt with a colorful screen printed design on the front, while holding a red Plushtodon on her head.The design on the front of the t-shirt, which is the phrase "My friends are not for sale", a beige Mastodon giving a red Mastodon a piggyback ride while the red Mastodon is flying a kite, which has little wings and a little Mastodon face.
0
29
2
0
0
21
0
0
1

The 2026 Python Developers Survey is translated into Chinese, French, German, Korean, Japanese, Portuguese, Russian, and Spanish. We hope this encourages our regional communities to participate- take the survey and share with your local Pythonistas!
surveys.jetbrains.com/s3/pytho

0
0
0
0
0
0
0
0
0
0
0
1
0
0
0