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

洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · 980 following · 1329 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 메인테이너. , , , 等으로 自由 소프트웨어 만듦.

()

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

@hongminhee@hollo.social

Hello, I'm an open source software engineer in my late 30s living in , , and an avid advocate of and the .

I'm the creator of @fedify, an server framework in , @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.

I'm also very interested in East Asian languages (so-called ) and . Feel free to talk to me in , (), or (), or even in Literary Chinese (, )!

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

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

安寧(안녕)하세요, 저는 서울에 살고 있는 30() 後半(후반) 오픈 소스 소프트웨어 엔지니어이며, 自由(자유)·오픈 소스 소프트웨어와 聯合宇宙(연합우주)(fediverse)의 熱烈(열렬)支持者(지지자)입니다.

저는 TypeScript() ActivityPub 서버 프레임워크인 @fedify 프로젝트와 싱글 유저() ActivityPub 마이크로블로그인 @hollo 프로젝트와 ActivityPub 봇 프레임워크인 @botkit 프로젝트의 製作者(제작자)이기도 합니다.

저는 ()아시아 言語(언어)(이른바 )와 유니코드에도 關心(관심)이 많습니다. 聯合宇宙(연합우주)에서는 國漢文混用體(국한문 혼용체)를 쓰고 있어요! 제게 韓國語(한국어)英語(영어), 日本語(일본어)로 말을 걸어주세요. (아니면, 漢文(한문)으로도!)

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

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

こんにちは、私はソウルに住んでいる30代後半のオープンソースソフトウェアエンジニアで、自由・オープンソースソフトウェアとフェディバースの熱烈な支持者です。名前は洪 民憙ホン・ミンヒです。

私はTypeScript用のActivityPubサーバーフレームワークである「@fedify」と、ActivityPubをサポートする1人用マイクロブログである 「@hollo」と、ActivityPubのボットを作成する為のシンプルなフレームワークである「@botkit」の作者でもあります。

私は東アジア言語(いわゆるCJK)とUnicodeにも興味が多いです。日本語、英語、韓国語で話しかけてください。(または、漢文でも!)

yamanoku's avatar
yamanoku

@yamanoku@hollo.yamanoku.net · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@hongminhee カフェではなくバーですが東京の東中野に「ハッカーズバー」、兵庫の神戸に「ハックバー」というのがあります。プログラミングに関する相談などがメインな感じですが、ご参考までに。

https://hackers.bar/

https://hackbar.jp/

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

@hongminhee@hollo.social

以前、福岡へ旅行した際にEngineer Cafeに立ち寄ったのが印象に残っているのですが、日本の他の地域にもEngineer Cafeのような場所は有りますか?オフラインで日本のソフトウェア開発者の方々と交流したいです。

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

@hongminhee@hackers.pub

このように複雑で厄介なJSON-LDの仕様を一つ一つ考慮しながらActivityPubソフトウェアを開発することに疲れたなら、Fedifyを使ってみてください。Fedifyは内部的に(JSON-LDを単なるJSONとして扱う実装ではなく)本格的なJSON-LDプロセッサを使用すると同時に、ハイレベルAPIではそれらをすべて抽象化し、JSON-LDを理解していなくてもActivityPubの開発を可能にします。



RE: https://misskey.okayurisotto.net/notes/adldvkxhjv

🥞 おかゆりぞっと :blobcatdroolreach:'s avatar
🥞 おかゆりぞっと :blobcatdroolreach:

@okayurisotto@misskey.okayurisotto.net

JSON-LDへの愚痴

次のような未知のJSONがソフトウェアに与えられたとき、

{
  "name": "Alice"
}

ソフトウェアは
"Alice"という値がなんであるかを識別することはできません。よって、nameという文字列キーの代わりに事前に定義された識別子を用いることにしましょう。例えば:
{
  "http://xmlns.com/foaf/0.1/name": "Alice"
}

(URLとして解釈可能な文字列ではありますが、これはたまたまです。URLとして機能するわけではありません。便宜上このような文字列を使っているというだけ。
ですのでそのURLのドメインが悪意ある第三者によって詐欺サイトにリダイレクトするようになっていても、JSON-LD的には問題ありません!

ここで、互換性のため
@contextというものを考えたいと思います。これを使って次のように書くと、
{
  "@context": {
    "name": "http://xmlns.com/foaf/0.1/name"
  },
  "name": "Alice"
}

@contextを無視するだけで、従来のソフトウェアは今まで通りにJSONを扱うことができます。これがJSON-LDの基本的なコンセプトです。

ちなみに
@contextではあらゆる識別子をあらゆる文字列へマッピングできます。よって、ソフトウェアは次の2種類のJSON-LDを同じように解釈する必要がありますね!
{
  "@context": {
    "name": "http://xmlns.com/foaf/0.1/name"
  },
  "name": "Alice"
}
{
  "@context": {
    "名前": "http://xmlns.com/foaf/0.1/name"
  },
  "名前": "Alice"
}

ではここでさらなる抽象化を考えてみましょう。次のようにすると、与えられたJSON-LDが人物の情報であることを表すことができます。
{
  "@context": "https://json-ld.org/contexts/person.jsonld",
  "name": "Alice"
}

コンテキストは複数指定することもできますし、従来の辞書型と混ぜることもできます。さらに、あるコンテキストで定義されたキーに別名を付けて使うこともできます。
{
  "@context": [
    "https://example.com/foo",
    "https://example.com/bar",
    {
      "buz": "https://example.com/buz",
      "qux": "buz:qux"
    }
  ]
}

そうそう、クラス定義というものもあります。次の例における
"Object"という文字列値は、Activity Vocabulary(ActiviyPubを構成する仕様の一つ)におけるObjectというクラスであることを示すものです。
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Object",
  "id": "http://www.test.example/object/1",
  "name": "A Simple, non-specific object"
}

Objectという文字列がキーとして使われることがないことはJSON-LDからは読み取れませんが、まあなんとかしてください!

ちなみにMisskeyが送信するJSONに付与する
@contextは次の通り。つまり、このコンテキストを理解できるソフトウェアを作れば、Misskeyと連携することができるということです。
{
	"@context": [
		"https://www.w3.org/ns/activitystreams",
		"https://w3id.org/security/v1",
		{
			"Key": "sec:Key",
			"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
			"sensitive": "as:sensitive",
			"Hashtag": "as:Hashtag",
			"quoteUrl": "as:quoteUrl",
			"toot": "http://joinmastodon.org/ns#",
			"Emoji": "toot:Emoji",
			"featured": "toot:featured",
			"discoverable": "toot:discoverable",
			"schema": "http://schema.org#",
			"PropertyValue": "schema:PropertyValue",
			"value": "schema:value",
			"misskey": "https://misskey-hub.net/ns#",
			"_misskey_content": "misskey:_misskey_content",
			"_misskey_quote": "misskey:_misskey_quote",
			"_misskey_reaction": "misskey:_misskey_reaction",
			"_misskey_votes": "misskey:_misskey_votes",
			"_misskey_summary": "misskey:_misskey_summary",
			"isCat": "misskey:isCat",
			"vcard": "http://www.w3.org/2006/vcard/ns#"
		}
	]
}

(ですがMisskeyは受信したJSON-LDをただのJSONとして解釈し、
@contextの内容は関知しません。)

そもそも情報交換用のサーバ間APIでJSON-LDのような柔軟で既存のJSON構造を壊さずに導入できる仕様を使う必要はないかもしれませんが……まあ細かいことは気にしない!

それでは、楽しいActivityPubサーバ開発を!!!

Riley Testut :fatpikachu:'s avatar
Riley Testut :fatpikachu:

@rileytestut@mastodon.social · Reply to Riley Testut :fatpikachu:'s post

While this solves our problems, we are far from the only Fediverse project that could use some funding and we want to support the growth of the entire ecosystem.

So to give back to the open social web, we’re also donating $500,000 total to these incredible Fediverse-related projects 🎉

@Mastodon
@ivory
Tapestry by @Iconfactory
@mstdn
@bsky.brid.gy
@peertube
@bookwyrm
@akkoma
@fedify

The Fediverse as we know it would not exist without them, so please check them out!

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Announcement: AltStore becomes a financial contributor to Fedify

We're thrilled to announce that AltStore has become a financial contributor to Fedify! This generous support comes as part of AltStore's broader commitment to strengthening the open social web ecosystem, as they prepare to become the world's first federated app store. Their investment in Fedify and other fediverse projects demonstrates a shared vision for building a more open, interoperable digital future.

AltStore's journey into the fediverse represents a groundbreaking approach to app distribution—connecting their alternative app marketplace with the open social web through ActivityPub. As pioneers who have already pushed Apple to change App Store policies twice in their first year, AltStore understands the transformative power of open protocols and decentralized systems. Their support will help Fedify continue developing robust tools and libraries that make it easier for developers to build federated applications. We're deeply grateful for AltStore's trust in our project and look forward to seeing how their innovative federated app store will reshape mobile app distribution while strengthening the entire fediverse ecosystem.

https://rileytestut.com/blog/2025/10/07/evolving-altstore-pal/

Email notification from Open Collective showing AltStore has become a new financial contributor to Fedify as a corporate sponsor with a $500.00 monthly contribution. The email includes the Open Collective logo, information about AltStore with a link to their Open Collective page, and details about the sponsorship tier and amount.
ALT text detailsEmail notification from Open Collective showing AltStore has become a new financial contributor to Fedify as a corporate sponsor with a $500.00 monthly contribution. The email includes the Open Collective logo, information about AltStore with a link to their Open Collective page, and details about the sponsorship tier and amount.
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to Jim DeLaHunt's post

@jdlh I can't recall any cases of usernames using non-ASCII characters, but I do know of a domain name that does. The instance 國漢象會 is one such example.

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

@hongminhee@hollo.social

機会が有ればHolloを一度大規模にリファクタリングしたいんだけど、時間が無い。リファクタリングするならやりたいことリスト:

  • Drizzle ORMをベータ版にアップグレードし、RQBv2を適用
  • ユニットテストを作成
  • 独自のフロントエンドを搭載
  • HonoをElysiaに置き換え、エンドツーエンドの型安全性を実現
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

事情(사정)이 생겨서 靑島(청도)에는 못 가게 되었다… 아마 다른 때에 다른 곳으로 갈 듯?

https://hollo.social/@hongminhee/0199b351-8a40-7bcc-b18f-8e17cd9b76fb

dansup's avatar
dansup

@dansup@mastodon.social

I'm finally finished writing the ActivityPub code for Loops at 6am this morning, I'm exhausted.

Will relax tonight and release tomorrow, along with a beautiful new blog ✨

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

@hongminhee@hollo.social

韓国のソフトウェア開発者の方々(@kodingwarrior@nebuleto)にFediLUG@fedilug )のことを教えたら、興味を持ってくれた。機会があれば、次の会に一緒に参加してみることに。

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

@hongminhee@hollo.social · Reply to Jaeyeol Lee (a.k.a. kodingwarrior) :vim:'s post

@kodingwarrior 저도 會話(회화)問題(문제)… 😭

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

@hongminhee@hollo.social

韓国のソフトウェア開発者の方々(@kodingwarrior@nebuleto)にFediLUG@fedilug )のことを教えたら、興味を持ってくれた。機会があれば、次の会に一緒に参加してみることに。

짬뽕을 드세요's avatar
짬뽕을 드세요

@champont.bsky.social@bsky.brid.gy

이스라엘이 "이번에" 그레타 툰베리에게 저지른 만행 - 빈대가 들끓는 방에 가두고 물과 음식을 제대로 주지 않음 - 강제로 어떤 깃발을 들게 하고 사진을 찍음 (무슨 깃발인지는 모름) - 공개적으로 머리채를 잡아서 끌고, 구타하고, 이스라엘기를 뽀뽀하게 함 - 이스라엘기에 돌돌 말아서 "전리품처럼" 데리고 다님 - 다짜고짜 무슨 문서에 서명해라고 함. 툰베리는 자신이 이해할 수 없는 것에 서명하는 데 두려움을 느꼈다 함. (스웨덴 정부에 따르면 법적 자문을 받음)

RE: https://bsky.app/profile/did:plc:nzcjpprq6fwcdnwpc45e3gsd/post/3m2ffk4ojjs2t

Lobsters

@lobsters@mastodon.social

Optique 0.6.0: Shell completion support for type-safe CLI parsers lobste.rs/s/rnekre
hackers.pub/@hongminhee/2025/o

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

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

By the way, Fedify 1.9.0 will introduce @fedify/koa, a Fedify–Koa integration package.

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

@hongminhee@hollo.social

Fedify's documentation is so comprehensive, and almost all its code examples are type-checked using Twoslash, to the point that it takes over five minutes to build the docs in CI. 😂

염산하

@ysh@social.long-echo.net

hollo 0.6.12 로 업그레이드 성공! phanpy.social 은 수작업으로 로컬에 생긴 모든 데이터를 일일이 지워줘야 잘 되는 듯.

https://hollo.social/@hongminhee/0199aab3-d7c3-7e81-8ecb-e374ec6738a7

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

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

쓰시는 분들은 可能(가능)() 빨리 0.6.12 버전으로 올리시기 바랍니다. DM이 公開(공개) 揭示物(게시물) 페이지에서 露出(노출)되는 深刻(심각)保安(보안) 脆弱點(취약점)이 패치되었습니다.

https://hollo.social/@hollo/0199aaaf-7979-7da3-9509-73c9e487de05

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Transparency update: Web framework integration progress

We're sharing a public project board to track our progress on web framework integrations for , work commissioned by the Sovereign Tech Fund (@sovtechfund). You can follow along at:

https://github.com/orgs/fedify-dev/projects/1

About this work

The Sovereign Tech Fund invested in Fedify to expand its ecosystem through official integrations with popular web frameworks. This investment enables developers to add federation capabilities to their existing applications without changing their technology stack.

Notably, some of these integrations were completed between our initial application submission and the official kickoff of the investment. This demonstrates both our commitment to the project and the community's active development momentum.

Current status

Already completed:

  • Next.js integration supporting both App Router and Pages Router (completed before STF kickoff)
  • Elysia integration optimized for the Bun ecosystem (completed before STF kickoff)

In progress:

  • Fastify integration (PR currently under review)

Upcoming:

  • Koa integration
  • Comprehensive documentation for all integrations

Why this matters

These integrations make Fedify accessible to developers across different JavaScript ecosystems and runtime environments. Each integration follows established patterns from our Express and h3 integrations, ensuring consistency and ease of adoption.

Investment details

Fedify has been awarded a service agreement by the Sovereign Tech Fund for this work, with a budget of €‎32,000 and completion target of November 30, 2025. The Sovereign Tech Agency supports the development, improvement, and maintenance of open digital infrastructure through investments like this.

We believe in transparent development and welcome community input and contributions.

Jaeyeol Lee (a.k.a. kodingwarrior) :vim:'s avatar
Jaeyeol Lee (a.k.a. kodingwarrior) :vim:

@kodingwarrior@silicon.moe

히로시마가 생각나는 맛

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

@hongminhee@hollo.social · Reply to dansup's post

@dansup Awesome! I'm really looking forward to it!

dansup's avatar
dansup

@dansup@mastodon.social

The fediverse needs better developer resources. The kind ATProto has.

Fixing that gap: rich documentation, interactive examples, instant prototyping.

Built indie-style with FediDB, browser.pub and other community resources to create a better foundation for the next generation of fediverse developers.

Sometimes one spark is all it takes. Share if you care ✨

The new ActivityPub developer landing page, coming soon!
ALT text detailsThe new ActivityPub developer landing page, coming soon!
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to leetekwoo's post

@leetekwoo 읽어주셔서 고맙습니다!

檀馨 (단형/ダンキヨウ)'s avatar
檀馨 (단형/ダンキヨウ)

@nesroch@mastodon.online

한국인의 혐중(嫌中)은 이제 명백히 치료해야 할 사회적 병이 되었다고 생각한다. 몇 년 전까지는 경제발전을 빨리 이룬 국가적 우월감(절대 이런 우월감은 정당화 가능하다는 의미가 아님.)에 따른 차별적 의식 전반이 문제라고 우활(迂闊)하게만 생각했는데, 이제는 명백히 ‘중국과 중국인에 대한 혐오’가 문제임을 부인할 수 없게 되었음. 진짜 큰일났다.

ここあにゃん's avatar
ここあにゃん

@AmaseCocoa@i.amase.cc

apkit 0.3.2とapmodel 0.4.0

Mastodonで動かなくなる問題は治ったと思います

https://github.com/fedi-libs/apmodel/releases/tag/0.4.4

https://github.com/fedi-libs/apkit/releases/tag/0.3.2

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

@hongminhee@hollo.social · Reply to 염산하's post

@ysh 네, 0.5는 이제 나온 지 半年(반년)이 넘어서, 0.6으로 올리셔야 할 것 같습니다!

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

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Holloをお使いの方は、できるだけ早く0.6.12バージョンにアップデートしてください。DMが公開投稿ページで露出する深刻なセキュリティ脆弱性が修正されました。

https://hollo.social/@hollo/0199aaaf-7979-7da3-9509-73c9e487de05

Hollo :hollo:'s avatar
Hollo :hollo:

@hollo@hollo.social

Security update: Hollo 0.6.12 is now available

We've released 0.6.12 to fix a critical privacy where direct messages were being exposed in the replies section of public posts. Please update your instances immediately to ensure your private conversations remain private.

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

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

쓰시는 분들은 可能(가능)() 빨리 0.6.12 버전으로 올리시기 바랍니다. DM이 公開(공개) 揭示物(게시물) 페이지에서 露出(노출)되는 深刻(심각)保安(보안) 脆弱點(취약점)이 패치되었습니다.

https://hollo.social/@hollo/0199aaaf-7979-7da3-9509-73c9e487de05

Hollo :hollo:'s avatar
Hollo :hollo:

@hollo@hollo.social

Security update: Hollo 0.6.12 is now available

We've released 0.6.12 to fix a critical privacy where direct messages were being exposed in the replies section of public posts. Please update your instances immediately to ensure your private conversations remain private.

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

@hongminhee@hollo.social

If you're running , please update to version 0.6.12 as soon as possible. A critical has been fixed where direct messages were being exposed on public post pages.

https://hollo.social/@hollo/0199aaaf-7979-7da3-9509-73c9e487de05

Hollo :hollo:'s avatar
Hollo :hollo:

@hollo@hollo.social

Security update: Hollo 0.6.12 is now available

We've released 0.6.12 to fix a critical privacy where direct messages were being exposed in the replies section of public posts. Please update your instances immediately to ensure your private conversations remain private.

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

@hongminhee@hollo.social · Reply to Andy Piper's post

@andypiper Thank you so much!

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

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

ブログ記事で投資を受けることになった経緯を詳しく書いてみました。

← Newer
Older →