洪 民憙 (Hong Minhee)'s avatar

洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · 923 following · 1194 followers

An intersectionalist, feminist, and socialist guy 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)'s avatar
洪 民憙 (Hong Minhee)

@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)'s avatar
洪 民憙 (Hong Minhee)

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

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

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

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

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

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

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

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

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

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

@hongminhee@hollo.social · Reply to Dan Sugalski's post

@wordshaper That's an interesting idea! Actually, if you're looking to integrate with Discord, BotKit might be a better fit than Fedify directly. BotKit sits on top of Fedify but provides a much simpler API specifically designed for creating fediverse bots.

With BotKit, you could create a Discord bridge with just a few dozen lines of code—handling events like mentions and messages becomes really straightforward. The event-based model would pair nicely with Discord's bot framework.

I wouldn't call it a “horrible idea” at all! For certain communities (gaming servers, developer groups), having a Discord-fediverse bridge could be quite valuable. Though I agree it shouldn't be obligatory—more like an optional plugin for those who want that cross-platform connection.

Curious to hear if you've worked with ActivityPub before or if this would be your first foray into the fediverse world?

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

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

@sef That's an intriguing perspective! While ActivityPub was designed primarily for social networking, I appreciate you thinking outside the conventional use cases.

I do have some reservations about how well it would map to accounting needs. ActivityPub's semantics are optimized for social interactions rather than financial transactions, which have stricter requirements for consistency, atomicity, and compliance.

That said, there are some interesting parallels in the bilateral nature of transactions you mentioned. The “your asset is my liability” relationship does mirror certain social interactions.

For specialized business domains like accounting, a purpose-built protocol might ultimately serve better than adapting ActivityPub. But I wonder if there might be value in a hybrid approach—perhaps using federation for notifications and approvals around financial activities, while keeping the core transaction logic in systems designed specifically for accounting.

Have you explored any specific aspects of how ActivityPub's vocabulary might be extended to handle accounting concepts? I'd be curious to hear more about where you see the strongest fit.

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

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

@PossiblyMax Thanks for the thoughtful feedback!

The sidecar container idea is intriguing. I've considered similar approaches but haven't prioritized it yet. Fedify's core is tightly coupled with TypeScript's type system, which helps prevent many common ActivityPub implementation errors. A containerized version would need a well-defined API surface that maintains these safety guarantees while being language-agnostic.

It's definitely on my radar now though. Are you working with a specific language/framework where you'd want to use this?

As for unusual fediverse use cases—those examples are actually spot-on! Blog comments via ActivityPub is a perfect use case (similar to how Mastodon threads can function as comments). And publishing notifications about new content is exactly what Ghost is doing with their Fedify integration.

Other interesting examples include:

  • Event RSVPs that work across platforms
  • Reading lists that can be shared and followed
  • Federated webmentions for cross-site interactions

I'd love to hear if you have other specific scenarios in mind!

meissa-team's avatar
meissa-team

@meissa@social.meissa-gmbh.de

The new upcoming federation feature in forgejo will allow to follow user-activities accross the fediverse 🙂

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

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

@mariusor Hmm, yeah, Node.js (or Deno or Bun) is less straightforward to deploy to bare metals than Go or Rust, but I believe nowadays it's getting easier as now we have LXCs and some container formats they offer (e.g., Deno allows you to pack your application into a single executable).

Actually, choosing TypeScript was quite strategic for me, because I'd never written any serious software in TypeScript before Fedify—my go-to languages were Haskell and Python at that time. However, I wanted Fedify to reach out wider audience, so I decided to write it in TypeScript, which is very popular for building web applications today. It might be a wrong decision though, haha.

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

@hongminhee@hollo.social · Reply to bgl gwyng's post

@bgl Yeah, that's because we don't have things like POP3 or SMTP for fediverse. Hmm, technically we may have few similar ones, like ActivityPub C2S and Mastodon-compatible APIs, but they are quite limited (e.g., you can't quote posts using Mastodon APIs) or not adopted enough. I hope we will have C2S adopted someday though. 🤔

bgl gwyng's avatar
bgl gwyng

@bgl@hackers.pub · Reply to 洪 民憙 (Hong Minhee)'s post

@hongminhee As a developer building a service that is planned to join the fediverse, I'm still uncertain about what the timeline should look like in the fediverse app. Why do users need multiple apps with each timeline sharing some of their content? When you have multiple email accounts, then you might need a single email client that supports all of them at the same time. In which aspect fediverse differs from this situation?

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

@hongminhee@hollo.social

As 's author, I'm contemplating its adoption beyond Ghost's implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?

While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.

Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.

Still, I see potential as the grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.

I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?

Would appreciate perspectives from both developers and platform owners.

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

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

@realgsong 그런 문제가 또 있군요… 😵

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

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

Okay, I've just ordered it finally!

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

@kodingwarrior@silicon.moe

아아~ 여러분 이만한 기여 맛집이 어디 없습니다~
ActivityPub 기반의 오픈소스 블로깅 서비스 HackersPub에 현장에서 기여할 수 있는 기회! 그 외에도,,,

* Fedify : ActivityPub 기반의 소프트웨어 개발하는 난이도를 낮춰주는 라이브러리
* Hollo : 1인 블로깅 플랫폼
* 혹은... 프론트엔드 하시는 분 한정, 마스토돈 클라이언트 만들기 온보딩까지 가능...!!!!

hackers.pub/@hongminhee/0196b9

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

@hongminhee@hollo.social

臺灣(타이완)에서는 乖乖(괴괴)라는 菓子(과자)를 서버 같은 컴퓨터 옆에 符籍(부적)처럼 두는 風習(풍습)이 있는데요. 乖乖(괴괴)中國語(중국어)로 「말을 잘 듣는다」는 뜻인데다, 草綠色(초록색) 封套(봉투)順航(순항)象徵(상징)한다고 합니다. (그래서 여러 () 封套(봉투) ()에서도 草綠色(초록색) 封套(봉투)效果(효과)가 있다고 여겨집니다.)

그런데 아내가 지난 臺北(타이베이) 出張(출장)에서 乖乖(괴괴)를 한 封紙(봉지) 사 왔더라고요. 그래서 저도 이 인스턴스 hollo.social과 Hackers' Pub이 돌아가는 Mac mini 옆에 두기로 했습니다. 乖乖(괴괴) 封套(봉투)에는 「()乖乖(괴괴)〉,不要當機(불요당기)」(말 잘 듣고, 다운되지 말아라)라고 썼습니다.

乖乖(괴괴)效驗(효험)流通期限(유통 기한)까지 持續(지속)된다고 하는데요, 제가 둔 封紙(봉지)는 2026() 4() 11()까지입니다. 그 때까지 다운이 안 되는지 한 () 지켜보도록 합시다. 🤣

나무 바닥 위에 Mac mini가 놓여 있고, 그 옆에 臺灣 菓子인 草綠色 封套의 乖乖가 놓여 있다. 乖乖에는 「請〈乖乖〉,不要當機」(말 잘 듣고, 다운되지 말아라)라고 써져 있다. 주위에는 흰 토끼 某樣 電球와 파란 꽃이 든 花盆이 있다.
ALT text details나무 바닥 위에 Mac mini가 놓여 있고, 그 옆에 臺灣 菓子인 草綠色 封套의 乖乖가 놓여 있다. 乖乖에는 「請〈乖乖〉,不要當機」(말 잘 듣고, 다운되지 말아라)라고 써져 있다. 주위에는 흰 토끼 某樣 電球와 파란 꽃이 든 花盆이 있다.
洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

韓国のLinuxユーザーはLinux版KakaoTalkがなくて困っているけど、日本のLinuxユーザーはLinux版LINEがなくて困っているんだな。

もちもちずきん :teto_zuho: 🍆's avatar
もちもちずきん :teto_zuho: 🍆

@Yohei_Zuho@mstdn.y-zu.org

Linux版のLINEまだですか

KAGAMI🏳️‍🌈🏳️‍⚧️'s avatar
KAGAMI🏳️‍🌈🏳️‍⚧️

@saschanaz@sekai.social

나 민주당 안 뽑을래...

RE:
https://bsky.brid.gy/convert/ap/at://did:plc:uabkr6tn7ru4b4e5e6udleuf/app.bsky.feed.post/3loyhzssd522v

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

@hongminhee@hollo.social

Re: https://github.com/TryGhost/ActivityPub/issues/570#issuecomment-2873773122

@julian I believe you can use only its signature generation/verification functions without depending on Fedify's other features right now, e.g.:

import {
  createProof, // Create OIP
  createSignature, // Create LDS
  signRequest, // Create HS
  verifyObject, // Verify OIP
  verifyRequest, // Verify HS
  verifySignature, // Verify LDS
} from "@fedify/fedify/sig";

Also, Fedify is available on npm, and is used with Node.js or Bun!

Chee Aun 🤔's avatar
Chee Aun 🤔

@cheeaun@mastodon.social

Finally got to build this. Quick UI toggles to see all possible permutations of a post.

Previously was trying out Storybook.js but it's a bit too much for my needs (too many files, too many clicks).

CSS view transitions are pretty cool. More permutations need to be added later. And it's fun building this.

Demo of "sandbox" page that shows a preview of a post and UI toggles to show different states of the post.
ALT text detailsDemo of "sandbox" page that shows a preview of a post and UI toggles to show different states of the post.
洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

Just wrote the Why Fedify? section in the docs.

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

@kodingwarrior@silicon.moe

5월 24일.... FediDev KR 스프린트 두번째 모임이 있을 예정입니다...

event-us.kr/fedidevkr/event/10

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

@hongminhee@hollo.social · Reply to 김병환 Byunghwan Kim's post

@kaidomo 네, 맞아요. Claude가 글을 가장 잘 쓰는 것 같아서 메인으로 쓰고 있습니다. 잘 지내시죠?

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

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

@ysh 네, 어쩌다 보니 둘 다 구독하고 있네요… 😅

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

@hongminhee@hollo.social

요즘에는 文書化(문서화)할 때 基本的(기본적)資料(자료)들을 Gemini 2.5 Pro한테 넘겨주고 草稿(초고)를 쓰게 한 다음, 그걸 Claude Sonnet 3.7로 推敲(퇴고)하게 하는데, 썩 괜찮다.

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

@kodingwarrior@silicon.moe

해커스펍 기여하려는 분들이 제법 많이 보임...!!!

social.silicon.moe/@kodingwarr

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

@hongminhee@hollo.social

@hollo 그러게요, 절도 해야 하려나요? ㅋㅋㅋ

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

@hongminhee@hollo.social

臺灣(타이완)에서는 乖乖(괴괴)라는 菓子(과자)를 서버 같은 컴퓨터 옆에 符籍(부적)처럼 두는 風習(풍습)이 있는데요. 乖乖(괴괴)中國語(중국어)로 「말을 잘 듣는다」는 뜻인데다, 草綠色(초록색) 封套(봉투)順航(순항)象徵(상징)한다고 합니다. (그래서 여러 () 封套(봉투) ()에서도 草綠色(초록색) 封套(봉투)效果(효과)가 있다고 여겨집니다.)

그런데 아내가 지난 臺北(타이베이) 出張(출장)에서 乖乖(괴괴)를 한 封紙(봉지) 사 왔더라고요. 그래서 저도 이 인스턴스 hollo.social과 Hackers' Pub이 돌아가는 Mac mini 옆에 두기로 했습니다. 乖乖(괴괴) 封套(봉투)에는 「()乖乖(괴괴)〉,不要當機(불요당기)」(말 잘 듣고, 다운되지 말아라)라고 썼습니다.

乖乖(괴괴)效驗(효험)流通期限(유통 기한)까지 持續(지속)된다고 하는데요, 제가 둔 封紙(봉지)는 2026() 4() 11()까지입니다. 그 때까지 다운이 안 되는지 한 () 지켜보도록 합시다. 🤣

나무 바닥 위에 Mac mini가 놓여 있고, 그 옆에 臺灣 菓子인 草綠色 封套의 乖乖가 놓여 있다. 乖乖에는 「請〈乖乖〉,不要當機」(말 잘 듣고, 다운되지 말아라)라고 써져 있다. 주위에는 흰 토끼 某樣 電球와 파란 꽃이 든 花盆이 있다.
ALT text details나무 바닥 위에 Mac mini가 놓여 있고, 그 옆에 臺灣 菓子인 草綠色 封套의 乖乖가 놓여 있다. 乖乖에는 「請〈乖乖〉,不要當機」(말 잘 듣고, 다운되지 말아라)라고 써져 있다. 주위에는 흰 토끼 某樣 電球와 파란 꽃이 든 花盆이 있다.
洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

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

@matt Yeah, if I ever make it I should implement a custom emitter from AST myself…

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

@hongminhee@hollo.social

I'm looking for a Markdown formatter, and I'm quite particular about my Markdown style. I don't want it to be formatted in a generic Markdown style. For instance, I prefer a style that adheres to rules such as:

  • 80 characters at most per line, except for code blocks and URLs.
  • Prefer reference links over inline links.
  • Prefer setext headings over ATX headings.
  • Two new lines before opening an H1/H2 heading.
  • One space before and two spaces after a bullet.
  • Wrap file paths in asterisks.
  • Wrap inline code in backticks.
  • Wrap code blocks in quadruple tildes (~~~~), and specify the language with a single space after the opening tildes (e.g., ~~~~ bash).

Are there any Markdown formatters that allow for such detailed customization of these elements? Or would I have to build one myself?

nixCraft 🐧's avatar
nixCraft 🐧

@nixCraft@mastodon.social

This is how monopoly looks… Remember, not a single book author, artist, or FLOSS developer has ever been paid. They just used all of your data to train AI and are now making billions in profits while you struggle to buy eggs. This is why monopoly is so bad.

Diagram showing relationships between Microsoft, OpenAI, VSCode, Windsurf, and Cursor, highlighting Microsoft's investments and ownership.
ALT text detailsDiagram showing relationships between Microsoft, OpenAI, VSCode, Windsurf, and Cursor, highlighting Microsoft's investments and ownership.
洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

@hollo 간단…하려나요? 저는 어렵지 않긴 했어요. Railway에서 돌고 있는 데이터베이스에서 pg_dump로 데이터 백업 받고, 미디어 저장용 오브젝트 스토리지는 그대로 썼고요.

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

@hongminhee@hollo.social

@hollo 저도 Railway에서 굴리다가 결국 홈서버로 옮겼습니다.

← Newer
Older →