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

洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

1,107 following1,898 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

@django@social.coop

ActivityPub client development is coming along!

AP platform developers be warned, I be opening issues in your repo soon.

@Yoxem@g0v.social


日:局所変数,大域変数,有効範囲
韓:지역 변수(地域變數), 전역 변수(全域變數), 변수 영역 (變數領域)
英:local variable, global variable, scope
台華:局部變數、總體變數(資訊學會譯法,不是中國影響的「全局變數」)、範疇(後來受中國影響用「作用域」)

@hongminhee@hollo.social

A while back I mentioned the idea of “Fedify Studio”—a web-based toolkit for debugging and development. I've been quietly working on shaping that idea into something more concrete.

Nothing to announce yet, but it's looking like this might become a team effort rather than a solo project, which would be nice. We'll see how it goes.

hollo.social

Thinking about building “#Fedi…

Thinking about building “#Fedify Studio” (tentative name)—a web-based #ActivityPub debugging & development toolkit, like a supercharged version of ActivityPub.Academy and `fedify inbox` command. Imagine having a proper UI for testing activities, inspecting actors, debugging federation issues… Would this be useful for other ActivityPub developers out there? #fedidev #fediverse

@hongminhee@hollo.social

A while back I mentioned the idea of “Fedify Studio”—a web-based toolkit for debugging and development. I've been quietly working on shaping that idea into something more concrete.

Nothing to announce yet, but it's looking like this might become a team effort rather than a solo project, which would be nice. We'll see how it goes.

hollo.social

Thinking about building “#Fedi…

Thinking about building “#Fedify Studio” (tentative name)—a web-based #ActivityPub debugging & development toolkit, like a supercharged version of ActivityPub.Academy and `fedify inbox` command. Imagine having a proper UI for testing activities, inspecting actors, debugging federation issues… Would this be useful for other ActivityPub developers out there? #fedidev #fediverse

@kodingwarrior@hackers.pub

이게 금방 매진이 되려고 하네......

hackers.pub

Hackers Public @ Seoul 송년회 ---- 2025년의 마지막을 해커들과 함께해요. Hackers' Public @ Seoul 송년 네트워킹 밋업은 발표보다 대화, 형식보다 연결을 중심으로 진행됩니다.라이트닝 토크도 지원받습니다. 만들었던 것·배운 것·고민했던 이야기를 자유롭게 얘기해보도록 해요. 많은 관심 부탁드립니다~ 🗓 12/21(일) 14:30~18:30 🎤 라이트닝 토크 5분 자유 참여 📌 1차 모집: 11.26~12.5 (회원 대상) 신청하기 👉 https://event-us.kr/hackerspubseoul/event/117468

Hackers Public @ Seoul 송년회 ---- 2025년의 마지막을 해커들과 함께해요. Hackers' Public @ Seoul 송년 네트워킹 밋업은 발표보다 대화, 형식보다 연결을 중심으로 진행됩니다.라이트닝 토크도 지원받습니다. 만들었던 것·배운 것·고민했던 이야기를 자유롭게 얘기해보도록 해요. 많은 관심 부탁드립니다~ 🗓 12/21(일) 14:30~18:30 🎤 라이트닝 토크 5분 자유 참여 📌 1차 모집: 11.26~12.5 (회원 대상) 신청하기 👉 https://event-us.kr/hackerspubseoul/event/117468

@kodingwarrior@hackers.pub

Hackers Public @ Seoul 송년회 ---- 2025년의 마지막을 해커들과 함께해요.

Hackers' Public @ Seoul 송년 네트워킹 밋업은 발표보다 대화, 형식보다 연결을 중심으로 진행됩니다. 라이트닝 토크도 지원받습니다. 만들었던 것·배운 것·고민했던 이야기를 자유롭게 얘기해보도록 해요.

많은 관심 부탁드립니다~

event-us.kr

Hackers' Public @ Seoul 송년회 - 이벤터스

내가 원하는 행사를 개최하거나, 참여할 수 있는 플랫폼 - 이벤터스

@hongminhee@hollo.social

아무래도 來年(내년)에는 海外(해외) 컨퍼런스에 많이 參加(참가)하게 될 것 같다. 一旦(일단) 只今(지금) 생각나는 것만으로도 네 ()나 있음:

  • FOSDEM 2026 (브뤼셀)
  • FediCon 2026 (밴쿠버)
  • COSCUP 2026 (臺北(타이베이))
  • TSKaigi 2026 (東京(도쿄))
@cheeaun@mastodon.social

Seems like bsky starts experimenting using mediabunny (mediabunny.dev/) to compress videos github.com/bluesky-social/soci

Loops did the same too.

The bundle size is quite big, tho' I think will still be smaller than ffmpeg-wasm (github.com/ffmpegwasm/ffmpeg.w), used on tools.rotato.app/compress (I've been using this for videos I upload here instead of Handbrake app)

tools.rotato.app

Video Compressor | Free, Private, Fast

Privacy-optimized video compressor. No upload. Compare quality.

@dansup@mastodon.social

Loops now uses mediabunny to transcode and optimize videos before uploading, using WebCodecs!

We have a very simple quality algorithm lol, but it does work great and reduces the file size significantly, allowing for reduced backend load.

The magic happens here ✨
github.com/joinloops/loops-ser

github.com

loops-server/resources/js/pages/studio/upload.vue at main · joinloops/loops-server

The federated short video sharing platform. Contribute to joinloops/loops-server development by creating an account on GitHub.

@thisismissem@hachyderm.io · Reply to Emelia 👸🏻

Small note: the previous figure I'd shared for community support accidentally omitted the €1730 from GitHub Sponsors because I don't see that in my normal Stripe dashboard

The NLNet amount also jumped up as I was able to submit another request for payment, which has since been approved.

I've also submitted grant applications for FediMod FIRES (to continue development) and for the ActivityPub Trust & Safety Taskforce, which if approved will unlock funds for myself and others on the taskforce, allowing us to spend more time on that work.

@thisismissem@hachyderm.io

Hey people, I've an ask: If you appreciate all that I do for the fediverse and open social web, and you'd like to see me continue to do that work, please support my work financially.

Right now I'm having to look for work outside of the Fediverse because I simply cannot make ends meet.

I need €60-70k per year to support myself, with costs everywhere feeling increased (so that number may even be too low)

Right now, year to date, I've received a total of €20,170 in financial support from the community, and €22,450 from NLNet grants. I've also only had minimal freelance work this year, as I've been busy on grant work & try to focus on the fediverse & open social web.

So my total income isn't yet enough to be regularly sustainable. I've had problems being able to make rent payments this year because cashflow on grants comes in large chunks usually months after the work has been done.

So if you want to see me keep doing what I'm doing, please support my work!

support.thisismissem.social

support.thisismissem.social

Support Emelia Smith (@thisismissem)

Fund her work on the open social web, improving trust & safety, and making contributions to various other open-source projects

@kodingwarrior@hackers.pub

Hackers Public @ Seoul 송년회 ---- 2025년의 마지막을 해커들과 함께해요.

Hackers' Public @ Seoul 송년 네트워킹 밋업은 발표보다 대화, 형식보다 연결을 중심으로 진행됩니다. 라이트닝 토크도 지원받습니다. 만들었던 것·배운 것·고민했던 이야기를 자유롭게 얘기해보도록 해요.

많은 관심 부탁드립니다~

event-us.kr

Hackers' Public @ Seoul 송년회 - 이벤터스

내가 원하는 행사를 개최하거나, 참여할 수 있는 플랫폼 - 이벤터스

@mariusor@metalhead.club

After mostly wasting the past couple of days on adding a rudimentary client side search function to the new static documentation website of I'm back in the land of increasing code coverage.

Like I said before, I've never really had to dedicate explicit time to this activity specifically and I'm annoyed at how time consuming and tedious it gets when you want to increase the numbers from ~70% to ~80%.

Those last few percentages are hard to come by.

-testing

@2chanhaeng@hackers.pub

GitHub Action Rerunner

실패한 GitHub Actions를 팀원들이 직접 재실행할 수 있도록 권한을 위임하는 웹 애플리케이션입니다.

🎯 왜 만들었나요?

GitHub Actions가 실패했을 때, 재실행하려면 해당 레포지토리에 대한 Write 권한이 필요합니다. 하지만 보안상의 이유로 모든 팀원에게 Write 권한을 주기는 어렵습니다.

GitHub Action Rerunner는 이 문제를 해결합니다. 레포지토리 소유자가 토큰을 등록하면, 팀원들은 자신에게 할당된 PR의 실패한 Action만 재실행해 레포지토리에 대한 직접적인 권한 없이도 CI/CD를 다시 돌릴 수 있습니다!

✨ 주요 기능

레포지토리 소유자 (Owner)

  • 📦 개인 및 조직 레포지토리 등록
  • 🔑 GitHub Personal Access Token 등록 (암호화 저장)
  • 🔗 공유 가능한 고유 링크 생성
  • 👀 모든 실패한 PR 확인 및 재실행
  • ⚙️ 레포지토리 설정 관리

팀원 (Assignee)

  • 📋 자신에게 할당된 PR 목록 확인
  • 🔄 실패한 GitHub Action 원클릭 재실행
  • 📊 워크플로우 상태 실시간 확인

계정 관리

  • 🔐 GitHub OAuth 로그인
  • 👥 여러 GitHub 계정 연동 지원
  • 🔀 계정 간 쉬운 전환

🛠 기술 스택

  • Frontend: Next.js 16 (App Router), React 19, Tailwind CSS 4
  • Backend: Next.js API Routes
  • Authentication: NextAuth.js v5 (GitHub OAuth)
  • Database: PostgreSQL + Prisma ORM
  • GitHub API: Octokit

🚀 직접 배포하기

현재 프로젝트는 이미 배포되어 있으나, 민감한 토큰을 다루기 때문에 직접 배포하시고 싶다면 아래 가이드를 참고하세요.

1. Repository pull

저장소를 받아옵니다.

2. 환경 변수 설정

.env 파일을 생성하고 다음 값을 설정하세요:

# DB (PostgreSQL)
DATABASE_URL="postgresql://..."
DIRECT_URL="postgresql://..."

# NextAuth.js
AUTH_SECRET="use `npx auth secret`"
AUTH_GITHUB_ID="your-github-oauth-app-id"
AUTH_GITHUB_SECRET="your-github-oauth-app-secret"

# Token Encryption (32자)
ENCRYPTION_KEY="your-32-character-encryption-key"

3. GitHub OAuth App 생성

  1. GitHub Developer Settings에서 OAuth App 생성
  2. Authorization callback URL: http://localhost:3000/api/auth/callback/github
  3. Client ID와 Client Secret을 환경 변수에 설정

4. 개발 서버 실행

# 의존성 설치
pnpm install

# Prisma 클라이언트 생성
npx prisma generate

# 데이터베이스 마이그레이션
npx prisma migrate dev

# 개발 서버 실행
pnpm dev

http://localhost:3000에서 확인하세요.

📖 사용 방법

레포지토리 등록 (소유자)

  1. GitHub으로 로그인
  2. 대시보드 → 레포지토리 등록
  3. 등록할 레포지토리 선택
  4. 설정 페이지에서 Personal Access Token 등록
    • Token에 repoactions 권한 필요
  5. 생성된 링크를 팀원들과 공유

Action 재실행 (팀원)

  1. 공유받은 링크로 접속
  2. GitHub으로 로그인
  3. 자신에게 할당된 PR 목록 확인
  4. 실패한 워크플로우 옆 "Rerun" 버튼 클릭

🔒 보안

  • Personal Access Token은 AES-256-GCM으로 암호화되어 저장됩니다.
  • 팀원은 자신에게 할당된 PR의 Action만 재실행할 수 있습니다.
  • 모든 API 요청은 세션 기반 인증을 거칩니다.
@quadr@hollo.redfeel.net · Reply to 최치선

원래 사용하던 Tooot (android)와 DAWN for mastodon(iOS) Client 호환성 패치로 이제 다시 전부 사용할 수 있게 되었습니다. :) 수정한 부분은 기여하기 위해 PR을 올려두었습니다.

@quadr@hollo.redfeel.net

도메인 분실[?]로 hollo로 갈아탔습니다. 갈아타는게 쉽지 않군요. 기존에 쓰던 Android/iOS Client와의 호환성도 추가적으로 체크해봐야할것 같습니다. ㅠㅠ