洪 民憙 (Hong Minhee)'s avatar

洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · 879 following · 1087 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 Joonkyu Park's post

@hollo 감사합니다. Railway 설정 매뉴얼은 업데이트하도록 하겠습니다.

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

@hongminhee@hollo.social · Reply to Joonkyu Park's post

@hollo 프로필 사진을 설정 안 하셔서 그 페이지에서 맨 처음으로 나오는 이미지가 걸린 것 같네요.

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

@hongminhee@hollo.social · Reply to Joonkyu Park's post

@hollo 네, S3에는 이미지나 비디오 같은 미디어만 저장합니다.

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

@hongminhee@hollo.social

ソフトウェア開発に関する韓国語圏および英語圏の記事をLLMを活用して日本語に自動翻訳した記事が投稿されるサービスが有れば、利用する意向は有りますか?

OptionVoters
購読する6 (19%)
時々確認する17 (55%)
利用しない8 (26%)
洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

ソフトウェア開発に関する韓国語圏および英語圏の記事をLLMを活用して日本語に自動翻訳した記事が投稿されるサービスが有れば、利用する意向は有りますか?

OptionVoters
購読する6 (19%)
時々確認する17 (55%)
利用しない8 (26%)
洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · Reply to Woojin Kim's post

@me iOS 내장 한국어 키보드에 “이중 언어”라는 옵션이 생겼더라고요.

https://raycat.net/484123

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

@hongminhee@hollo.social · Reply to Woojin Kim's post

@me iOS에 그런 기능이 최근 들어왔던 것 같던데요!

Hollo :hollo:'s avatar
Hollo :hollo:

@hollo@hollo.social

We're pleased to announce that has been included in the Nivenly Fediverse Security Fund program!

The @nivenly Foundation has launched a security bounty fund to support contributors who identify and help fix vulnerabilities in popular software. Both Hollo and @fedify are among the selected projects that meet their responsible security disclosure requirements.

This program will run from April–September 2025, with bounties of $250–$500 USD for high and critical security vulnerabilities.

We're honored to be recognized alongside other established fediverse projects like Mastodon, Misskey, and Lemmy. This further encourages our commitment to maintaining strong security practices.

If you're interested in contributing to Hollo's security, please follow our responsible disclosure process outlined in our SECURITY.md file.

Learn more about the program:

https://nivenly.org/blog/2025/04/01/nivenly-fediverse-security-fund/

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

@fedify@hollo.social

We're pleased to announce that has been included in the Nivenly Fediverse Security Fund program!

The @nivenly Foundation has launched a security bounty fund to support contributors who identify and help fix vulnerabilities in popular software. Both Fedify and @hollo are among the selected projects that meet their responsible security disclosure requirements.

This program will run from April–September 2025, with bounties of $250–$500 USD for high and critical security vulnerabilities.

We're honored to be recognized alongside other established fediverse projects like Mastodon, Misskey, and Lemmy. This further encourages our commitment to maintaining strong security practices.

If you're interested in contributing to Fedify's security, please follow our responsible disclosure process outlined in our SECURITY.md file.

Learn more about the program:

https://nivenly.org/blog/2025/04/01/nivenly-fediverse-security-fund/

🕊️ rins 🥤's avatar
🕊️ rins 🥤

@rns_8i8@calc.rettuce.page

おひとり様サーバーで見るHolloとMitra :: rettuce
rettuce.page/posts/fediverse-hollo-and-mitra/
3ヶ月くらいあたためていた日記を書きました

GENKI's avatar
GENKI

@nibushibu@vivaldi.net

素晴らしい :clapping:

新しい分散/連合型SNS「Pulsate」を開発している - /dev/sdR2 laminne.hatenablog.jp/entry/20

Evan Prodromou's avatar
Evan Prodromou

@evanprodromou@socialwebfoundation.org

I'm making an initial version of places.pub available today. places.pub is a collection of Place objects suitable for use in geosocial applications on the ActivityPub network. Part of my work in the Social Web Community Group at the W3C has been participation in the GeoSocial Task Force. This is a sub-group of the SocialCG that focuses on implementing user stories in ActivityPub related to the intersection of geographical systems and social networking, for example, tagging an image with […]

I’m making an initial version of places.pub available today. places.pub is a collection of Place objects suitable for use in geosocial applications on the ActivityPub network.

Part of my work in the Social Web Community Group at the W3C has been participation in the GeoSocial Task Force. This is a sub-group of the SocialCG that focuses on implementing user stories in ActivityPub related to the intersection of geographical systems and social networking, for example, tagging an image with the place it represents, or checking in to a location.

One important need for geosocial software is that all objects in ActivityPub, including Place objects, need to have a permanent URL as their id property, which shares the description of that object in Activity Streams 2.0 format. However, there isn’t a good dataset of geographical objects — countries, states or provinces or regions, cities, buildings, businesses, parks, streets — available in AS2 on the Web right now. That is slowing down experimentation in the Geosocial Task Force.

Using the service

So, I worked on making places.pub for geosocial hackers to experiment with. It’s a service that exposes places from the amazing OpenStreetMap collection of data as AS2 objects on the Web. So, given an OpenStreetMap object like the Rogers Centre Ottawa, it provides an AS2 version suitable for use in geosocial activities in ActivityPub. It also has a rudimentary search mechanism, although I think most users will want to use the Nominatim service for searching the OpenStreetMap database, and then map the IDs onto places.pub.

Once you know the places.pub ID for a place, you can use it for geotagging objects, people, activities, or using special geosocial activity types like check in, check out, and travel. There is a good list of examples on the places.pub home page, but obviously this is not an exhaustive list!

How it is built

This wasn’t my first time trying to build places.pub; I’d done two earlier versions with different architectures and the same interface. The first time out, about 7 years ago, I created a full NodeJS server that used a full mirror of the OpenStreetMap database, so I didn’t need to hit the OSM API to fetch data. It worked pretty well, but it was really expensive — hundreds of dollars per month to keep a database server of that size running and synched.

I tried a second version a few months ago, which did batch generation of AS2 Place objects from the OpenStreetMap exports, and then uploaded them to the S3 service at Amazon Web Services. This was a whole lot cheaper, but it took a long time to download, convert, and re-upload the data.

This third implementation, with source code available on GitHub, is a little bit easier than both. Instead of sloshing the huge OSM dataset back and forth, I used the version of the data stored in the Google Cloud Public Datasets system on BigQuery. This let me ignore the effort of moving data, and just focus on giving it a good ActivityPub-compatible interface using a Google Cloud Run function. It seems to work pretty nicely.

Next steps

I’d love to see some experimentation with using places.pub for geosocial activity in the social web. I’m going to work on some implementations in my own ActivityPub software. If you find problems with the software, please add an issue on GitHub or let me know on the Fediverse at @evanprodromou.

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

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

@liaizon @smallcircles @rysiek @index I guess it's because Mastodon assumes fedi handles are immutable…?

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

@hongminhee@hollo.social

()】의 마지막 ()을 이렇게 쓰기도 하는구나.

Patrick Wu :neocat_flag_bi:'s avatar
Patrick Wu :neocat_flag_bi:

@patrick@o0o.social

今日偶遇舊字形

small circle 🕊 in calmness's avatar
small circle 🕊 in calmness

@smallcircles@social.coop

"The Good, the Bad and the Ugly" is a good article by @dominik

chrastecky.dev/technology/acti

The two mentioned examples in "The Bad" are long-time issues that were also discussed at . I just responded to one of them on the forum..

The Update(Note) quirk. socialhub.activitypub.rocks/t/

The other one is around Direct Messages which are a hack (a Note with special sauce). specifies ChatMessage object type here, which is the intended way to extend the protocol.

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

@hongminhee@hollo.social · Reply to Sebastian Lasse's post

@sl007 Thanks for sharing this interesting approach! I'd be very interested in looking at your code once it's completed. The way you're handling ActivityPub data with Deno KV sounds promising, especially your methods for versioning and avoiding duplicates. Please let me know when it's available to check out!

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

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

@kodingwarrior 😥

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

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

@kodingwarrior 병원 가 보셔야 하는 거 아니예요!?

bgl gwyng's avatar
bgl gwyng

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

@hongminhee 약간 딴 얘긴데, 저는 들여쓰기가 그냥 안좋은 문법요소 같습니다. 코드의 복붙을 unreliable하게 만들어버려서요. 반대로 space sensitive한 문법은 괜찮다고 생각합니다. 복붙시 문제가 생겨도 스페이스 한번 치면 해결되니까요. 들여쓰기 대신에 {} 쌍을 쓰게 만들되, 에디터에서 보여줄때 어떻게 알아서 예쁘게 보여주는게 낫다고 생각해요.

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

@hongminhee@hackers.pub

저도 비슷한 생각인데, Haskell이나 Rust는 코너 케이스를 다루지 않고는 컴파일도 못 하게 금지하는 경우들이 꽤 많고 (그래서 좋은 언어지요), 빠르게 해피 패스만을 검증하고 싶을 때는 Python 같은 널널한 언어(복잡하고 규모가 큰 소프트웨어를 만들 때는 나쁜 언어가 되지요)가 쉽게 느껴질 수 있다고 생각합니다. 즉, Haskell이나 Rust가 어렵다고 말할 때의 어려움은 개념적 이해의 난도라기 보다는 시행착오의 커브의 경사를 얘기하는 것 같아요.

비슷한 측면에서 저는 Python의 들여쓰기를 강제하는 문법이 프로그래밍 초심자에게 좋은 습관을 처음부터 정착시키는 데에는 일조할 수 있겠지만, 결코 쉽지는 않다고 생각합니다.



RE: https://hackers.pub/@bgl/01967f97-67ab-7a98-a6e5-16cb3ef31856

bgl gwyng's avatar
bgl gwyng

@bgl@hackers.pub

러스트가 어렵다는 이야기가 숙고없이 재생산 되는거 같긴 합니다. 제가 러스트를 별로 안써봐서 실제로 얼마나 어려운진 모르겠습니다.

그런데 말씀하신 모나드, 트레잇, 오너십 등의 개념들과 클래스는 좀 차이가 있다고 생각합니다. 그러니까 자바에서 클래스 때문에 어떤 코드를 못짜게 되진 않잖아요? 자바를 하면서 클래스를 제대로 쓰지않고도 뭔가 만들순 있습니다. 반면 전자의 개념들은 잘못된 코드를 짜는걸 막고, 초보자 입장에서 뭔가 하고싶은게 있는데 그게 금지되는 상황에서 어렵다는 느낌을 (필요이상으로 크게) 받을수 있다고 생각합니다.



RE: https://yuri.garden/notes/a75i1vf42f

bgl gwyng's avatar
bgl gwyng

@bgl@hackers.pub

러스트가 어렵다는 이야기가 숙고없이 재생산 되는거 같긴 합니다. 제가 러스트를 별로 안써봐서 실제로 얼마나 어려운진 모르겠습니다.

그런데 말씀하신 모나드, 트레잇, 오너십 등의 개념들과 클래스는 좀 차이가 있다고 생각합니다. 그러니까 자바에서 클래스 때문에 어떤 코드를 못짜게 되진 않잖아요? 자바를 하면서 클래스를 제대로 쓰지않고도 뭔가 만들순 있습니다. 반면 전자의 개념들은 잘못된 코드를 짜는걸 막고, 초보자 입장에서 뭔가 하고싶은게 있는데 그게 금지되는 상황에서 어렵다는 느낌을 (필요이상으로 크게) 받을수 있다고 생각합니다.



RE: https://yuri.garden/notes/a75i1vf42f

쯔방 :yuri: :yurigarden: :garden:'s avatar
쯔방 :yuri: :yurigarden: :garden:

@pbzweihander@yuri.garden · Reply to 쯔방 :yuri: :yurigarden: :garden:'s post

"모나드가 어려워서 하스켈 못 하겠어요"
"트레잇/오너십/라이프타임이 어려워서 러스트 못 하겠어요"
라는 사람은 산더미같이 많은데

클래스가 어려워서 자바를 못 한다는 사람은 왜 없을까요? 사실 없지 않음. 처음에는 많았지만 클래스가 익숙한 개념이 되고 다들 자바를 쓰니까 클래스가 '당연한 것'이 되었을 뿐

if문이 어려워서, for문이 어려워서, 변수가 어려워서 파이썬을 못 하겠어요. 라는 사람도 없음. '당연한' 개념이 되었으니까. 그냥 다 쓰다보면 체득되는 개념들임

모나드/트레잇/오너십/라이프타임/클래스가 if문/for문/변수/함수 보다 근본적으로 더 '어려운' 개념이라고 생각하지 않음. 익숙한가 익숙하지 않은가의 차이지.

Anthony Fu's avatar
Anthony Fu

@antfu.me@bsky.brid.gy

New blog post! Let's categorize our deps better with @pnpm.io catalogs! antfu.me/posts/catego...

Categorize Your Dependencies

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

@hongminhee@hollo.social

마이너한 버그 하나를 고치고 Fedify를 업데이트한 Hollo 0.5.6을 릴리스했습니다.

Hollo :hollo:'s avatar
Hollo :hollo:

@hollo@hollo.social

We just released Hollo 0.5.6, a patch release after a month, which fixes a minor bug and updates Fedify.

Ritsko's avatar
Ritsko

@grindieta@mastodon.social

국가간에 동물 주고받는 건 이제 좀 그만 하면 안될까;;; 이런 기사 볼 때마다 조선시대에 너무 많이 먹어서 천덕꾸러기로 전국을 돌다 죽었다는 코끼리가 생각난다. 😮‍💨 그때랑 달라진 게 없어.

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

@hongminhee@hollo.social

5() ()金剛兔(금강토)(@tokolovesme)와 함께 杭州(항저우)에 가기로! 或是(혹시) 杭州(항저우)에 가 보신 분 계신가요? 들를만한 곳 있으면 推薦(추천) 付託(부탁)드립니다!

안녕's avatar
안녕

@annyeong@stella.place · Reply to 안녕's post

아니 더 맵게 먹어도 내 알 바는 아닌데, 매운걸 못 먹는 사람도 배려해주면 좋겠어...

안녕's avatar
안녕

@annyeong@stella.place

한국인들은 좀 덜 맵게 먹을 필요가 있음

Lee Dogeon's avatar
Lee Dogeon

@moreal@hackers.pub · Reply to Lee Dogeon's post

Zig 라이브러리 짜기

아마 버그가 많겠지만... 일단 테스트 슈트 통과하는 선에서 올려놓았다 https://github.com/moreal/bencodex-zig

Older →