洪 民憙 (Hong Minhee) 
@hongminhee@hollo.social
Thinking about LLMs as a means of production, the alienation of labor they create, and the social conditions that cause this alienation… I'll probably write a new blog post about it.


@hongminhee@hollo.social · 1037 following · 1687 followers
An intersectionalist, feminist, and socialist living in Seoul (UTC+09:00). @tokolovesme's spouse. Who's behind @fedify, @hollo, and @botkit. Write some free software in #TypeScript, #Haskell, #Rust, & #Python. They/them.
서울에 사는 交叉女性主義者이자 社會主義者. 金剛兔(@tokolovesme)의 配偶者. @fedify, @hollo, @botkit 메인테이너. #TypeScript, #Haskell, #Rust, #Python 等으로 自由 소프트웨어 만듦.
| Website | GitHub | Blog | Hackers' Pub |
|---|---|---|---|

@hongminhee@hollo.social
Thinking about LLMs as a means of production, the alienation of labor they create, and the social conditions that cause this alienation… I'll probably write a new blog post about it.

@hongminhee@hollo.social
So, an interesting issue came up in the #Fedify repo that I've been thinking about: #629.
You know how every #fediverse server uses schema:PropertyValue in actor attachment for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict #AS2 validators like browser.pub reject it, because the AS2 spec says attachment should only contain Object or Link—and PropertyValue is a schema.org type, not an Activity Streams 2.0 type.
The thing is, we can't just drop the type like we did with Endpoints (#576), because Mastodon and others rely on seeing "type": "PropertyValue" to render profile fields. But at the same time, it's technically not spec-compliant.
I'm leaning towards writing a #FEP to formalize this existing practice rather than trying to invent a new type (like toot:PropertyValue extending Object), which would be a nightmare to migrate across the whole fediverse.
What do you all think? Has anyone else run into this? Would love to hear thoughts from implementers and spec folks.
#fedidev #ActivityPub #ActivityStreams #ActivityStreams2 #AS2 #PropertyValue
@hongminhee.hollo.social@moim.live
Checked in at 튜링의사과 by @hongminhee@hollo.social
出튜

@hongminhee@hollo.social
아, 昨日이 春分이었구나.
@COSCUP@floss.social
Tick-tock, deadlines are closing in ⏳
🔹 Mar 23 — Community Track Proposal Deadline
Missed the info session? Check out the slides here 👉 https://s.coscup.org/26brief
🔹 Mar 27 — Early Bird CfP Deadline
👉 https://s.coscup.org/earlybirdcfpen
Got questions? Join us on Telegram:
https://t.me/coscupchat
Or email us at program@coscup.org

@hongminhee@hollo.social · Reply to silverpill's post
@silverpill Fair point. I'm probably biased by spending most of my time in the JavaScript and TypeScript ecosystem, where this pattern is hard to avoid. TypeScript itself being the elephant in the room doesn't help.

@hongminhee@hollo.social
What strikes me most about this acquisition isn't the AI angle. It's the question of why so many open source tools get built by startup teams in the first place.
I maintain an open source project funded by the Sovereign Tech Fund. Getting there wasn't easy: the application process is long, the amounts are modest compared to a VC round, and you have to build community trust before any of that becomes possible. But the result is a project that isn't on anyone's exit timeline.
I'm not saying the startup path is without its own difficulties. But structurally, it offloads the costs onto the community that eventually comes to depend on you. By the time those costs come due, the founders have either cashed out or the company is circling the drain, and the users are left holding the bag. What's happening to Astral fits that pattern almost too neatly.
The healthier model, I think, is to build community first and then seek public or nonprofit funding: NLnet, STF, or similar. It's slower and harder, but it doesn't have a built-in betrayal baked into the structure.
Part of what makes this difficult is that public funding for open source infrastructure is still very uneven geographically. I'm based in Korea, and there's essentially nothing here comparable to what European developers can access. I had no choice but to turn to European funds, because there was simply no domestic equivalent. That's a structural problem worth taking seriously. The more countries that leave this entirely to the private sector, the more we end up watching exactly this kind of thing play out.
@sabrinkmann@hachyderm.io · Reply to Samuel Brinkmann's post
Wir sollten „Public Money = Public Social Media” also mehr pushen.
Habt Spaß und wenn ihr könnt, baut doch etwas mit z. B. @fedify oder @botkit.
Damit das Ganze hier aber wirklich skaliert, braucht es schlichtweg mehr Geld. Natürlich auch mehr Strukturen und Spezifikationen. Dass hier überhaupt etwas gebaut wird, ist schon großartig. Im Ehrenamt lässt sich nur schwer eine Alternative zu Big Tech aufbauen, wenn man möchte, dass ein Großteil der Bevölkerung Lust hat, diese Anwendungen zu benutzen. Geschweige vom Onboarding, auch auf dem Platten land.
Wer von Open Source spricht, sollte beim Fediverse Funding nicht schweigen.
Hier noch einmal eine Linkliste von Tools:
- Ihr habt Bock auf hübsche Wraps-Grafiken für euren Account: https://mastodon-wrapped.playground.54gradsoftware.de/
- Ihr wollt eure Account-Einstellungen checken: https://mastodon-account-checker.playground.54gradsoftware.de/
- Ihr wollt wissen, welche Organisationen schon auf Mastodon sind (täglich frisch aktualisiert): https://mastodon-account-checker.playground.54gradsoftware.de/
- Jede Konferenz/Treffen braucht ein Hashtag und eine https://fediwall.de/
- Tägliche coole Geschichtlichen Wikipedia Links gibt es hier: @heute_vor
@liaizon@social.wake.st
had to install `noto-fonts-core` to see @north's https://ဪ.com Burmese test domain on mnt flavored debian and already installed `fonts-noto-cjk` the other day to see @hongminhee's korean posts. I think we should probably move to shipping all the noto base fonts tbh
@kodingwarrior@hackers.pub
First release for Hackers Pub Android Client

@hongminhee@hollo.social
The -f option for the git push command, which is an alias for --force, should be re-aliased to --force-with-lease.

@hongminhee@hollo.social · Reply to 💙🩷💜Ⓑⓡⓔⓣⓣ🐡🍉🐧's post
@firesidefedi@btfree.social
Good day all! Upcoming episode of Fireside Fedi!
The #livestream will be on: stream.firesidefedi.live
Special Guest: @hongminhee@hollo.social
An intersectionalist, feminist, and socialist living in Seoul (UTC+09:00). @tokolovesme's spouse. Who's behind @fedify, @hollo, and @botkit. Write some free software in #TypeScript, #Haskell, #Rust, & #Python. They/them.
Follow @ozoned@stream.firesidefedi.live to be alerted when we go live! So don't miss it!
It will happen on 06 April 2026 at 08:30 US Eastern Time ( UTC-4 )
If by any ungodly chance you miss the show:
#PeerTube ( #VOD ): tubefree.org/@firesidefedi #firesidefedi #fediverse #fedi #interview #freesoftware #opensource #userfreedom #freedom #resistance

@hongminhee@hollo.social · Reply to MonkeyPanic! :startrek:'s post
@MonkeyPanic That makes sense, and I think it points to a real limitation of the study. The participants were all late learners, people who didn't grow up with the foreign language at home. If you acquired both languages early and tied them to lived experience and emotion, the “foreign language effect” probably looks very different. Your Korean triggering emotions despite the vocabulary gap seems like evidence of exactly that.

@hongminhee@hollo.social · Reply to silverpill's post
@silverpill Oh, it seems to ignore the proof part.
@AmaseCocoa@ak.amase.cc
apmodelがpyldに依存しなくなった

@hongminhee@hollo.social · Reply to silverpill's post
@silverpill Yeah, it seems!

@hongminhee@hollo.social · Reply to marius's post
@mariusor Oh, I actually tried Disco Elysium once but gave up partway through. There was just so much to read, and I hit it on a low-energy stretch. It's on my list to return to someday. That clip is a good reminder.

@hongminhee@hollo.social · Reply to marius's post
@mariusor That's a fair point, and your caveat at the end might actually reconcile the two: the pathways got so well-worn partly because the limbic system kept reinforcing them.

@hongminhee@hollo.social · Reply to Somē's post
@some Ha, that's a great extension of the metaphor. Emotional experiences as driver updates; it makes sense that curse words install so fast, they basically come bundled with the driver package. 😂

@hongminhee@hollo.social · Reply to Somē's post
@some Thank you! It's actually a metaphor that came to me when I first learned about System 1 vs. System 2 thinking. A foreign language seems to throttle the GPU, which forces more work onto the CPU, and it turns out a lot of that “GPU work” is the emotional system quietly pre-computing your judgments for you.

@hongminhee@hollo.social · Reply to Julian Fietkau's post
@julian Yes, that's actually cited in the paper as supporting evidence: swearwords in a foreign language produce weaker physiological responses than in a native one, so it very likely is the same mechanism running in reverse. I personally avoid swearing in foreign languages because I can never be fully sure of the nuance, but I do notice people around me swear more freely in their second languages, which fits the pattern exactly.
@aesthr@wandering.shop
Linux users:
How often do you run your system's update procedure (like an `apt upgrade`, etc)?
(boosts welcome)
| Option | Voters |
|---|---|
| daily | 242 (23%) |
| every few days | 247 (24%) |
| about weekly | 291 (28%) |
| Less often | 252 (24%) |

@hongminhee@hollo.social
Fascinating paper: Your Morals Depend on Language (Costa et al., 2014). People make significantly more utilitarian choices in moral dilemmas when the dilemma is presented in a foreign language, apparently because a foreign language dulls emotional responses and shifts the balance toward deliberative thinking.
It matches my own experience. Thinking in a foreign language feels like rendering graphics without GPU acceleration: everything runs on raw CPU, slower and more laborious. After a full day of conversations in English or Japanese, I'm physically exhausted in a way that Korean never does to me. What I didn't quite register until reading this paper is that the “GPU” doing all that fast, effortless processing is largely the emotional system. When it steps back, you end up doing more of the reasoning yourself. Whether that's a feature or a bug probably depends on what you're deciding.
@todayilearned@noc.social
TIL bilinguals given the trolley problem in their native language chose to sacrifice one to save five less than 20% of the time. In their second language, about 50% chose to, because a foreign language lowers emotional resonance and triggers more utilitarian reasoning.
https://journals.plos.org/plosone/article/comments?id=10.1371/journal.pone.0094842
#til #todayilearned
https://www.reddit.com/r/todayilearned/comments/1rwykha/til_bilinguals_given_the_trolley_problem_in_their/
@todayilearned@noc.social
TIL bilinguals given the trolley problem in their native language chose to sacrifice one to save five less than 20% of the time. In their second language, about 50% chose to, because a foreign language lowers emotional resonance and triggers more utilitarian reasoning.
https://journals.plos.org/plosone/article/comments?id=10.1371/journal.pone.0094842
#til #todayilearned
https://www.reddit.com/r/todayilearned/comments/1rwykha/til_bilinguals_given_the_trolley_problem_in_their/

@hongminhee@hollo.social
A daily minor annoyance: #GFM (GitHub Flavored Markdown) breaking standard #Markdown behavior by rendering single newlines as <br>.
If you're used to formatting plain text with hard wraps for mailing lists, you know the pain. You type up a perfectly readable 80-column text block, hit submit, and realize #GitHub has turned it into a jagged mess of arbitrary line breaks. I really miss standard Markdown paragraph collapsing in issue trackers.
@db@social.lol
noted: Deno employees leave - how does Deno survive this?
https://dbushell.com/notes/2026-03-18T07:00Z/
— idle speculation until an official statement is made

@hongminhee@hollo.social
Just had to add a workaround to #Fedify for http://joinmastodon.org/ns, a JSON-LD context URL that has never actually served a JSON-LD document. Mastodon has always inlined the term definitions, but some implementations put it as a bare URL in their @context, so Fedify's JSON-LD processor tries to fetch it and gets a 404 Not Found. Now Fedify ships a bundled copy of a context that never existed in the first place.

@hongminhee@hollo.social · Reply to silverpill's post
@silverpill Actually, there's the official one: @lobsters.
@lobsters@mastodon.social
A sufficiently detailed spec is code https://lobste.rs/s/nlyezv #vibecoding
https://haskellforall.com/2026/03/a-sufficiently-detailed-spec-is-code