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

洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

1,109 following1,901 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

I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:

  1. Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.

  2. Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction) and methods (like Message.react()).

  3. Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.

These additions should make more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message class and adding new Text processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.

hackers.pub

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.

@shellsharks@malici.ous.computer
@hongminhee@hollo.social

이런 걸 보면 Apple이 소프트웨어 잘 만드는 企業(기업)은 아니라는 것을 알 수 있음. 스마트폰 市場(시장)에서야 比較(비교) 對象(대상)이 기껏해야 三星(삼성)이기 때문에 가려지는 것 같지만…

mastodon.social

은열쇠🥨 :ivory_boost: (@Silverkey027@mastodon.social)

Attached: 1 image 나 는 이렇게 앨범이 나뉘는거 정말 짜증난다고 생각해...

@Silverkey027@mastodon.social


는 이렇게 앨범이 나뉘는거 정말 짜증난다고 생각해...

@hongminhee@hollo.social

勿論、内部表現はHTMLにしても、ユーザー入力はMFMやCommonMarkやGFMで大丈夫だと思います。あくまで内部表現をHTMLでやって欲しいという話です。 当然、出力する時はXSSフィルタを通す必要が有ります。

c.koliosky.com

Esurio (@esurio1673)

別にHTMLである必要もないんだよな 普通のCommonMarkかGFMに対応してくれればそれだけで楽になる

@esurio1673@c.koliosky.com

別にHTMLである必要もないんだよな 普通のCommonMarkかGFMに対応してくれればそれだけで楽になる

@amita@planet.moe
조선족분들로부터 듣는 북한 이야기...길어질 듯해서 접고 시작해요 (1)

무려 평양 김일성대학의 국어학과(아마도 거긴 조선어학과) 그러니 서울대 국문과처럼 자국어 최강 학력이라 으스댈 만한 곳의 그것도 대학원 박사과정 기숙사 이야기였는데요, 너무...바선생이 득시글득시글하며 잡고 피하고가 불가능한 수준이라고😱 자는 동안 입에 들어오지 않도록 마스크를 구비해 가서 쓰거나 얼굴을 망사 따위로 잘 막아두고 자는 수밖에 없었대요. 그 외엔 공부중에 책상 위를 기어가도 걍 함께 살아야 했다고 합니다으아아아악ㅠㅠㅠㅠㅠㅠ
지리적 환경은 비슷하니 그곳도 물은 좋다는데 그런데도 사람들이 자주 씻지 못해서 모두 불결했대요ㅠ_ㅠ 버스를 타면 좌석 입석이 아니라 천장석(?)이나 매달석(?)이 있어서 버스 위에 앉아서 가거나 바깥에 매달려 가는 사람들 모습이 일상이었다고 하구요. 그러니 중국 사람들도 유학을 갈 수는 있지만 오래 있고 싶은 곳은 아니었다고ㅠ

@hongminhee@hollo.social

同じ理由fedify lookup -a https://www.threads.net/@usernameコマンドで正常に照会が出来ない。一方fedify lookup -a @username@threads.netコマンドは正常に動作。

c.osumiakari.jp

Osumi Akari (@oageo)

ThreadsのアカウントがMisskey系からの検索がめちゃくちゃ難しいの、もしかしてアカウントのページ(`https://www.threads.net/@アカウント`)に`type="application/activity+json"`なJSONファイルを用意していないから? 例えばこのアカウントだと`https://c.osumiakari.jp/@oageo`というページには`<link rel="alternate" href="https://c.osumiakari.jp/users/9go1hrsqih" type="application/activity+json">`が入っており、`https://c.osumiakari.jp/@oageo`を貼り付けるだけで外からでも簡単にアカウントの参照が出来るようになっている(はず) Mastodonとかでも同様なんだけどThreadsには無さそう Pleromaにも無いんだけど、Pleromaの場合は表示されている`インスタンスのアドレス/user/ユーザー名`でよしなに解決されるから問題ない。しかしThreadsにおいては`https://threads.net/ap/users/数字`なので、解決されなさそう

@oageo@c.osumiakari.jp

ThreadsのアカウントがMisskey系からの検索がめちゃくちゃ難しいの、もしかしてアカウントのページ(https://www.threads.net/@アカウント)にtype="application/activity+json"なJSONファイルを用意していないから?

例えばこのアカウントだと
https://c.osumiakari.jp/@oageoというページにはが入っており、https://c.osumiakari.jp/@oageoを貼り付けるだけで外からでも簡単にアカウントの参照が出来るようになっている(はず)

Mastodonとかでも同様なんだけどThreadsには無さそう

Pleromaにも無いんだけど、Pleromaの場合は表示されている
インスタンスのアドレス/user/ユーザー名でよしなに解決されるから問題ない。しかしThreadsにおいてはhttps://threads.net/ap/users/数字なので、解決されなさそう

@oageo@c.osumiakari.jp

ThreadsのアカウントがMisskey系からの検索がめちゃくちゃ難しいの、もしかしてアカウントのページ(https://www.threads.net/@アカウント)にtype="application/activity+json"なJSONファイルを用意していないから?

例えばこのアカウントだと
https://c.osumiakari.jp/@oageoというページにはが入っており、https://c.osumiakari.jp/@oageoを貼り付けるだけで外からでも簡単にアカウントの参照が出来るようになっている(はず)

Mastodonとかでも同様なんだけどThreadsには無さそう

Pleromaにも無いんだけど、Pleromaの場合は表示されている
インスタンスのアドレス/user/ユーザー名でよしなに解決されるから問題ない。しかしThreadsにおいてはhttps://threads.net/ap/users/数字なので、解決されなさそう

@Gargron@mastodon.social

has had a nice little uptick in sign-ups and activity from after a facebook post recommending it as an alternative to facebook and Instagram for Taiwanese users went viral on facebook, bringing in about 20K new users over the span of two days to mastodon.social, g0v.social, m.cmx.im and a few more.

@hongminhee@hackers.pub

I've been wrestling with implementing content support in Hackers' Pub, our -powered platform for software engineers.

While ActivityPub theoretically supports multilingual content through the contentMap property, the reality is that most server implementations (Mastodon, Misskey, etc.) don't properly handle this content as of April 2025. This creates a significant challenge for us.

We want our users to share their knowledge in multiple languages, but we need to ensure compatibility with existing ActivityPub servers. I'm considering several approaches:

  1. Creating separate posts for each language with clear language indicators, linking them through inReplyTo relationships (so translations appear as replies to the original post)
  2. Using the primary language in content while storing translations in contentMap
  3. Adding "View in other languages" links at the bottom of each post
  4. Implementing inline language dividers that degrade gracefully on non-supporting servers, for example:
    <div lang="en">
      <h3>English</h3>
      <p>This is the English content…</p>
    </div>
    <hr>
    <div lang="ko">
      <h3>한국어</h3>
      <p>한국어 내용입니다…</p>
    </div>

I'm leaning toward a hybrid approach—showing content in the user's preferred language when possible while providing easy access to other language versions.

Has anyone tackled this problem effectively? I'd love to hear about your experiences or ideas for making multilingual content work well in the fediverse, especially when dealing with server implementations that don't fully support ActivityPub's multilingual features.

w3.org

Activity Vocabulary

@hongminhee@hackers.pub · Reply to 洪 民憙 (Hong Minhee)

ソフトウェアエンジニア向けのフェディバースサービスHackers' Pubをご存知でしょうか?私たちが特に大切にしているのは、他のプラットフォームとは少し異なる行動規範です。

私たちは現実社会の不平等がオンライン空間にも反映されることを認識しています。そのため、「すべての人を同じように扱う」という表面的な中立性ではなく、構造的不平等に積極的に対応する姿勢を明確にしています。このアプローチの一環として、差別的発言と差別に対抗する発言を区別しています。これにより、差別への批判まで同列に扱ってしまう「両極端主義」の落とし穴を避けられると考えています。

技術コミュニティでよく見られる問題として、特定の技術選択への批判や技術レベルによる階層化があります。「これも知らないの?」という態度は学びを阻害するだけです。私たちは初心者も経験者も同じく尊重される環境づくりを重視しています。

また、フェディバースの核心的価値としてプライバシーがありますが、Hackers' Pubでは特に匿名性の権利を強調しています。他者の素性を特定しようとする行為や、匿名であることを理由とした差別を禁止することで、安心して参加できる場を目指しています。

こうした行動規範自体も完璧ではなく、コミュニティとともに進化するものだと考えています。すべてのメンバーが改善案を提案できる仕組みを整えることで、より良い環境を共に創っていきたいと思います。

詳細はHackers' Pubの行動規範をご覧ください。フェディバースでより健全な技術コミュニティを一緒に育てていきませんか?

※Hackers' Pubは現在招待制となっています。ご興味のある方はコメントや私(@hongminhee)へのDMでメールアドレスをお知らせください。

hackers.pub

Hackers' Pub Code of Conduct

@hongminhee@hackers.pub

소프트웨어 엔지니어를 위한 연합우주 서비스 Hackers' Pub을 알고 계신가요? 저희가 특별히 중요시하는 것은 다른 플랫폼과는 조금 다른 행동 강령입니다.

저희는 현실 세계의 불평등이 온라인 공간에도 그대로 반영된다는 사실을 인식하고 있습니다. 그래서 “모든 사람을 동등하게 대우”한다는 표면적인 중립성이 아닌, 구조적 불평등에 적극적으로 대응하는 자세를 분명히 하고 있습니다. 이러한 접근의 일환으로, 차별적 발언과 차별에 대항하는 발언을 구분합니다. 이를 통해 “차별은 안 된다”는 명목 하에 차별 비판까지 동일시하는 “양비론”의 함정을 피할 수 있다고 생각합니다.

기술 커뮤니티에서 자주 볼 수 있는 문제로는 특정 기술 선택에 대한 비판이나 기술 수준에 따른 계층화가 있습니다. “이것도 모르냐?”는 태도는 학습을 방해할 뿐입니다. 저희는 초보자와 경험자 모두 동등하게 존중받는 환경 조성을 중요시합니다.

또한, 연합우주의 핵심 가치로 프라이버시가 있지만, Hackers' Pub에서는 특히 익명성의 권리를 강조합니다. 타인의 신원을 특정하려는 행위나 익명이라는 이유로 차별하는 것을 금지함으로써, 안심하고 참여할 수 있는 공간을 지향합니다.

이러한 행동 강령 자체도 완벽하지 않으며, 커뮤니티와 함께 발전해 나가는 것이라고 생각합니다. 모든 구성원이 개선안을 제안할 수 있는 체계를 마련함으로써, 더 나은 환경을 함께 만들어 나가고자 합니다.

자세한 내용은 Hackers' Pub 행동 강령을 참조해 주세요. 연합우주에서 더 건강한 기술 커뮤니티를 함께 키워나가지 않으실래요?

hackers.pub

Hackers' Pub Code of Conduct

@hongminhee@hollo.social
@hanibsky.bsky.social@bsky.brid.gy

Bluesky didn't reach a federated stage where you could choose a service provider in a free country before they started to censor people based on authoritarian demands.

Email screenshot:

From: noreply@bsky.so...

Alıcılar: ben

Türkçe diline çevir

Hi there,

We are writing to inform you that we have received a formal request from a legal authority in Turkey regarding the removal of your account associated with the following handle (@carekavga.bsky.social) on Bluesky.

The legal authority has claimed that this content violates local laws in Turkey. As a result, we are required to review the request in accordance with local regulations and Bluesky's policies.

Following a thorough review, we have determined that the content in question violates local laws in Turkey, as outlined in the legal request. In compliance with these legal provisions, we have restricted access to your account for users.
ALT text

Email screenshot: From: noreply@bsky.so... Alıcılar: ben Türkçe diline çevir Hi there, We are writing to inform you that we have received a formal request from a legal authority in Turkey regarding the removal of your account associated with the following handle (@carekavga.bsky.social) on Bluesky. The legal authority has claimed that this content violates local laws in Turkey. As a result, we are required to review the request in accordance with local regulations and Bluesky's policies. Following a thorough review, we have determined that the content in question violates local laws in Turkey, as outlined in the legal request. In compliance with these legal provisions, we have restricted access to your account for users.

다른 분들이 여러 가지 말씀을 해 주셨습니다만 저도 첨언하자면,

"의업과 약업의 현실적 관계"도 한 가지 중대한 이유입니다. 제약회사 직원이 의사에게 굽실거리다 못해 예비군 훈련을 대신 가거나, 수술을 대신 한다는 기상천외한 뉴스 다들 한번쯤 보셨을 텐데요.

원론적으로는 의사가 약에도 빠삭해야 하지만, 현실적으로는 자기 전공분야도 너무 방대하고 약학도 너무 방대해서 그러기 어렵습니다. 마치 소프트웨어 엔지니어 중에 하드웨어 덕질까지 하는 경우는 소수이고 대부분은 그냥 맥북 사는 것과 비슷하게, 의사들의 약 지식도 한계가 있는 거죠. 어떤 약을 안 쓰는 게 무슨 이유가 있어서가 아니라 진짜로 그 약의 존재를 몰라서인 경우가 허다합니다. 그러니 약 성능 똑같아도 영업에 따라 억 단위가 왔다갔다 하고, 그러니 제약회사의 영업이 엽기뉴스의 영역으로 가는 것이죠.

이런 시장환경에서 의사들에게 약 이름과 성분 이름의 대조표를 매년 새로 외우라고 하면 망하겠죠? 그래서 어떻게든 이름만 보면 성분을 알게 하려고 발버둥치는 것입니다.

그러면 반대로 성분명과 전혀 무관한 약 이름은 어떻게 나오는지도 짐작이 되시죠? 그렇습니다. "처방전 필요없는" 약은 성분명 쿨하게 버리고 일반소비자에게 호소하는 작명을 하는 경향이 있습니다. 그리고, 처방전이 필요하더라도 동일성분의 약이 많거나 저네릭 경쟁이 벌어지는 경우에도 튀는 이름으로 차별화를 꾀하는 경향이 있죠.

RE:
https://serafuku.moe/notes/a6lapo16c2

serafuku.moe

유놋치 :yuno: (@Yuno)

약 이름이랑 성분명 비슷하게 짓는거 좀 재밌는것 같아요. 부루펜(이부프로펜) 탁센(나프록센) 로라반(로라제팜) 아목시클(아목시실린) ... 이름짓기 귀찮아서 그런건지 약 성분 짐작하기 쉬우라고 그런건지 궁금하네요

@Yuno@serafuku.moe

약 이름이랑 성분명 비슷하게 짓는거 좀 재밌는것 같아요.
부루펜(이부프로펜)
탁센(나프록센)
로라반(로라제팜)
아목시클(아목시실린)
...
이름짓기 귀찮아서 그런건지 약 성분 짐작하기 쉬우라고 그런건지 궁금하네요