洪 民憙 (Hong Minhee) :nonbinary:'s avatar

洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

1,082 following1,893 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 , , , & . They/them.

서울에 사는 交叉女性主義者이자 社會主義者. 金剛兔(@tokolovesme)의 配偶者. @fedify, @hollo, @botkit 메인테이너. , , , 等으로 自由 소프트웨어 만듦.

()

Pinned

@hongminhee@hollo.social

Hello! I'm Hong Minhee (洪 民憙), an open source software engineer in my late 30s, living in Seoul, Korea. I'm bisexual and non-binary (they/them), and an enthusiastic advocate of free/open source software and the fediverse.

I work full-time on @fedify, an ActivityPub server framework in TypeScript, funded by @sovtechfund. I'm also the creator of @hollo, a single-user ActivityPub microblog; @botkit, an ActivityPub bot framework; Hackers' Pub, a fediverse platform for software developers; and LogTape, a logging library for JavaScript and TypeScript.

I have a long interest in East Asian languages (CJK) and Unicode. I post mostly in English here, though occasionally in Japanese or in mixed-script Korean (國漢文混用體), a traditional writing style that interleaves Chinese characters with the native Korean alphabet. Wanting to write in that style was actually one of the reasons I joined the fediverse. Feel free to talk to me in English, Korean, Japanese, or even Literary Chinese!

en.wikipedia.org

Korean mixed script - Wikipedia

Pinned

はじめまして!ソウル在住の30代後半のオープンソースソフトウェアエンジニア、洪 民憙ホン・ミンヒと申します。バイセクシュアル(bisexual)・ノンバイナリー(non-binary)で、自由・オープンソースソフトウェア(F/OSS)とフェディバース(fediverse)の熱烈な支持者です。

STF(@sovtechfund)の支援を受け、TypeScript用ActivityPubサーバーフレームワーク「@fedify」の開発に専念しています。他にも、おひとり様向けのActivityPubマイクロブログ「@hollo」、ActivityPubボットフレームワーク「@botkit」、ソフトウェア開発者向けフェディバースプラットフォームHackers' Pub、JavaScript・TypeScript用ロギングライブラリLogTapeなどの制作者でもあります。

東アジア言語(いわゆるCJK)とUnicodeにも興味があります。このアカウントでは主に英語で投稿していますが、時々日本語や国漢文混用体(漢字ハングル混じり文)の韓国語でも書いています。実はこの文体で書きたくてフェディバースを始めた、という経緯もあります。日本語、英語、韓国語、漢文でも気軽に話しかけてください!

speakerdeck.com

国漢文混用体からHolloまで

本発表では、韓国語の「国漢文混用体」(漢字ハングル混じり文)を自分のフェディバース投稿に実装したいという小さな目標から始まった旅路を共有します。 この目標を達成するために、ActivityPubのJSON-LDの複雑さやHTTP Signatures、WebFingerなどの仕様を理解する必要性に…

Pinned

安寧(안녕)하세요! 저는 서울에 살고 있는 30() 後半(후반)의 오픈 소스 소프트웨어 엔지니어 洪民憙(홍민희)입니다. 兩性愛者(양성애자)(bisexual)이자 논바이너리(non-binary)이며, 自由(자유)·오픈 소스 소프트웨어(F/OSS)와 聯合宇宙(연합우주)(fediverse)의 熱烈(열렬)支持者(지지자)이기도 합니다.

STF(@sovtechfund)의 支援(지원)을 받아 TypeScript() ActivityPub 서버 프레임워크 @fedify 開發(개발)專業(전업)으로 ()하고 있습니다. 그 ()에도 싱글 유저() ActivityPub 마이크로블로그 @hollo, ActivityPub 봇 프레임워크 @botkit, 소프트웨어 開發者(개발자)를 위한 聯合宇宙(연합우주) 플랫폼 Hackers' Pub, JavaScript·TypeScript() 로깅 라이브러리 LogTape ()製作者(제작자)이기도 합니다.

()아시아 言語(언어)(이른바 CJK)와 Unicode에도 關心(관심)이 많습니다. 이 計定(계정)에서는 ()英語(영어)로 포스팅하지만, 때때로 日本語(일본어)國漢文混用體(국한문 혼용체) 韓國語(한국어)로도 씁니다. 聯合宇宙(연합우주)에 오게 된 動機(동기) () 하나가 바로 國漢文混用體(국한문 혼용체)로 글을 쓰고 싶었기 때문이기도 하고요. 韓國語(한국어), 英語(영어), 日本語(일본어), 아니면 漢文(한문)으로도 말을 걸어주세요!

logtape.org

LogTape

Unobtrusive logging library with zero dependencies—library-first design for Deno, Node.js, Bun, browsers, and edge functions

@hongminhee@hollo.social

LLM coding assistants didn't create a split between craft-lovers and make-it-go developers. They revealed one that was always there.

For craft-lovers, what's being bypassed isn't the output but the act itself. Marx called this separation from the act of production. But the alienation isn't coming from the LLM. It's coming from a market that penalizes whoever produces output more slowly.

Why craft-lovers are losing their craft

writings.hongminhee.org

Why craft-lovers are losing their craft

Les Orchard made a quiet observation recently that I haven't been able to shake. Before LLM coding assistants arrived, the split between developers was…

@tesaguri@fedibird.com

翻訳というのが軽視されすぎというのもあるかも知れないな。言語ごとに文章構成の癖とかも違うから、実際は母国語で書いてから翻訳すれば良いというものでもないよね。

例えば英語のニュースとかで、日本についての記事で“the Asian country”とか指したりしがちだと思うけど、日本語だったら「そのアジアの国」なんて書き方は翻訳でもない限りまずやらないよね(そもそもこの書き方は偏見とかをエンコードしやすそうだから個人的に好きでない)。こういうこともあって、母国語を経由するよりそのまま対象の言語で書いた方が良かったりしがちだと思っている

@tesaguri@fedibird.com

シソーラスと睨めっこしながら“delve into”を捻り出した次の日に、LLMが“delve into”を使いすぎと指摘する記事をみかけたことがある私としましてもね……(?)

@tesaguri@fedibird.com · Reply to tesaguri 🦀🦝

LLMを搾取的として批判するのはまあ理解できる。最低限の労力も払われていないslopへの嫌悪も当然だ。ただ、前者の論点を措いたときに、自分で責任を持って校正した文章に対してまで文意と無関係な細かい体裁などを論って「自分の言葉」でないから不誠実と謗るのは何かずれていないかと思ってしまう。

LLMにありがちな体裁で足切りするのは確かにslopの排除には有効かも知れないけど、最低限の校正を経た文章に対してのそれは、一見してslopと区別を付けづらいという実用上の都合で正当化されているだけで、偏見であることは否定し得ないのでは。一昔前の喩えを出すなら、「日本語がぎこちないメールはスパム」とかと同類の

@tesaguri@fedibird.com

LLMに頼らずに「自分の言葉」で(非母語の)文章を書くように素朴に要求されがちなの、その「自分の言葉」とやらが言語能力によって大きな制約を受けることについてもう少し留意してくれても良いのではとは思う。私もエーアイを扱わずに英語を書いているけど、それにも常に自分の英語のぎこちなさが付き纏ってくるし

LLM 코딩 어시스턴트는 소프트웨어 엔지니어들 사이의 分裂(분열)을 만든 게 아니다. 이미 있던 分裂(분열)을 드러낸 것이다.

匠人(장인) 氣質(기질)의 소프트웨어 엔지니어들이 느끼는 疎外(소외)源泉(원천)은 LLM이 아니다. 그들의 產出物(산출물)을 더 느리게 만드는 쪽에 不利益(불이익)을 주는 市場(시장)이다. Marx의 勞動(노동) 疎外論(소외론)으로 이 問題(문제)를 읽어보는 새 글을 썼다.

왜 코딩을 사랑하는 사람들이 코딩에서 밀려나는가〉 (한글)

writings.hongminhee.org

왜 코딩을 사랑하는 사람들이 코딩에서 밀려나는가

Les Orchard가 최근 글 에서 짚어낸 관찰 하나가 머릿속에서 떠나지 않는다. LLM 코딩 어시스턴트가 나오기 전까지는, 소프트웨어 엔지니어들 사이의 분열은 보이지 않았다. 장인 기질의 사람들과 일단 돌아가면 된다 는 사람들이 나란히 앉아 같은 제품을 만들면서도 구분이 안 됐다.…

@hongminhee@hollo.social

LLM coding assistants didn't create a split between craft-lovers and make-it-go developers. They revealed one that was always there.

For craft-lovers, what's being bypassed isn't the output but the act itself. Marx called this separation from the act of production. But the alienation isn't coming from the LLM. It's coming from a market that penalizes whoever produces output more slowly.

Why craft-lovers are losing their craft

writings.hongminhee.org

Why craft-lovers are losing their craft

Les Orchard made a quiet observation recently that I haven't been able to shake. Before LLM coding assistants arrived, the split between developers was…

@tesaguri@fedibird.com · Reply to tesaguri 🦀🦝

より形式的に述べるならば、RDF Semantics(<w3.org/TR/2014/REC-rdf11-mt-20>)によれば、RDFS interpretationにおいて

```turtle
as:attachment rdfs:range [ owl:unionOf ( as:Object as:Link ) ] .
s as:attachment o .
```

というのは、

```turtle
o rdf:type [ owl:unionOf ( as:Object as:Link ) ] .
```

をentailするという意味でしかない。特に、RDFSを含むRDF Schemaの仕様で定義されるsemantic extensionはあらゆるグラフに対してエラーにならないとされている(“None of the semantic extensions normatively defined in this document impose such syntactic restrictions on RDF graphs.”)。

自分でも何を言っているのか分からなくなってきた(?)

w3.org

RDF 1.1 Semantics

@tesaguri@fedibird.com

RDFの意味論においては`as:attachment`の値域が`as:Object`または`as:Link`であるというのは、`as:attachment`の値として`as:Object`でも`as:Linkでもないものを指定したらエラーとなるという意味*ではなく*、`as:attachment`の値として指定されたものは全て`as:Object`または`as:Link`であると見なしますという意味であるはずなので、この場合は拒否する方が間違いな気がする(自信がない)
QT: hollo.social/@hongminhee/019d0
[参照]

fedibird.com

投稿の参照(1件) by tesaguri 🦀🦝 (@tesaguri@fedibird.com)

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

So, an interesting issue came up in the repo that I've been thinking about: #629.

You know how every server uses schema:PropertyValue in actor attachment for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict 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 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.

github.com

Endpoints object serializes with invalid "type": "as:Endpoints" in actor JSON · Issue #576 · fedify-dev/fedify

Description When Fedify serializes an actor's endpoints property to JSON-LD (compacted), it includes "type": "as:Endpoints" in the output: "endpoints": { "type": "as:Endpoints", "sharedInbox": "htt...

@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 repo that I've been thinking about: #629.

You know how every server uses schema:PropertyValue in actor attachment for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict 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 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.

github.com

Endpoints object serializes with invalid "type": "as:Endpoints" in actor JSON · Issue #576 · fedify-dev/fedify

Description When Fedify serializes an actor's endpoints property to JSON-LD (compacted), it includes "type": "as:Endpoints" in the output: "endpoints": { "type": "as:Endpoints", "sharedInbox": "htt...

@hongminhee@hollo.social

OpenAI to acquire Astral

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.

openai.com

OpenAI to acquire Astral

Accelerates Codex growth to power the next generation of Python developer tools

@sabrinkmann@hachyderm.io · Reply to Samuel Brinkmann

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: mastodon-wrapped.playground.54
- Ihr wollt eure Account-Einstellungen checken: mastodon-account-checker.playg
- Ihr wollt wissen, welche Organisationen schon auf Mastodon sind (täglich frisch aktualisiert): mastodon-account-checker.playg
- Jede Konferenz/Treffen braucht ein Hashtag und eine fediwall.de/
- Tägliche coole Geschichtlichen Wikipedia Links gibt es hier: @heute_vor

CTA
Seid erfolgreich im Fedvierse
+1: Public Money = Public Social Media
Baut Bots und föderierte Dienste mit Fedify und Botkit
Für die Adoption der “Massen” braucht es mehr Geld in Software und Community
Looking @ you Land SH / Bund / EU
Links Tools: @sabrinkmann@hachyderm.io
ALT text

CTA Seid erfolgreich im Fedvierse +1: Public Money = Public Social Media Baut Bots und föderierte Dienste mit Fedify und Botkit Für die Adoption der “Massen” braucht es mehr Geld in Software und Community Looking @ you Land SH / Bund / EU Links Tools: @sabrinkmann@hachyderm.io

@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

A dark image. The background is unclear and blurry. On the foreground on the left there is a huge circle, inside of which a profile picture belonging to @hongminhee@hollo.social. On the other side, a bit lower in the frame we see a fediverse logo, but on fire. This is the logo of the Fireside Fedi show. In between those two elements a text is written. This text says:

AN INTERVIEW WITH
@hongminhee@hollo.social

Hong Minhee :nonbinary: - 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.

06 April 2026
AT 08:30 US EASTERN TIME
ON
FIRESIDEFEDI.LIVE
ALT text

A dark image. The background is unclear and blurry. On the foreground on the left there is a huge circle, inside of which a profile picture belonging to @hongminhee@hollo.social. On the other side, a bit lower in the frame we see a fediverse logo, but on fire. This is the logo of the Fireside Fedi show. In between those two elements a text is written. This text says: AN INTERVIEW WITH @hongminhee@hollo.social Hong Minhee :nonbinary: - 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. 06 April 2026 AT 08:30 US EASTERN TIME ON FIRESIDEFEDI.LIVE

@hongminhee@hollo.social · Reply to MonkeyPanic! :startrek:

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