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

洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

1,066 following1,870 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

@hollo@hollo.social

Hollo 0.8.0 is out. The main additions: you can now run web and worker processes separately via NODE_TYPE, which helps on instances with large follower counts where federation load was slowing down API responses. Mastodon clients that support the 4.5 quote post API will now work with Hollo. Remote actor profiles are refreshed automatically in the background when they go stale, and dead follower records are cleaned up on permanent delivery failures. There's also a new dashboard page for mass-deleting cached thumbnails from remote posts to free up storage.

https://github.com/fedify-dev/hollo/discussions/449

github.com

Hollo 0.8.0: Scalable workers, Mastodon 4.5 quote post API support, and smarter federation · fedify-dev/hollo · Discussion #449

Hollo is a single-user, headless ActivityPub server. It exposes a Mastodon-compatible API with no built-in frontend, so you can connect any Mastodon client of your choice. It's built on Fedify and ...

@hongminhee@hackers.pub

The official Hackers' Pub Android app has finally been released on Google Play! Android users of Hackers' Pub, please download the app here!

hackers.pub

해커스펍 안드로이드 앱, 플레이스토어에 출시 완료!!!

해커스펍 안드로이드 앱, 플레이스토어에 출시 완료!!!

@kodingwarrior@hackers.pub

해커스펍 안드로이드 앱, 플레이스토어에 출시 완료!!!

Hackers Pub을 구글 플레이 스토어에 검색하면, 상단에 출시된 앱이 표시되는 모습을 볼 수 있다.
ALT text

Hackers Pub을 구글 플레이 스토어에 검색하면, 상단에 출시된 앱이 표시되는 모습을 볼 수 있다.

@evan@cosocial.ca

I added my first PR to today!

github.com/mastodon/mastodon/p

It's to add a notifications policy to filter notifications from bots; it's one of the big requests I've had for tags.pub. It turns out Mastodon has a really complete framework for filtering notifications, as well as a user flag for bots, and I was able to hook into those and make a very minimal set of changes to add this useful feature.

Fingers crossed that it gets reviewed and accepted! 🤞🏼

github.com

Add policy to filter notifications from bots (#38494) by evanp · Pull Request #38809 · mastodon/mastodon

Adds a notification policy option to filter notifications from accounts marked as bots. Adds a column for_bots to the notification policies table, with accept, filter, and drop options. Filters not...

@hongminhee@hollo.social

Every library I maintain uses Twoslash. I still haven't regretted it, even when Fedify's docs take nearly ten minutes to build. That wait is annoying. I keep paying it.

For a TypeScript library, the type signature often does most of the explaining. I used to write sentences describing what a function returns. Now I'd rather let show the compiler's answer inline. That removes one common way my docs used to go stale.

twoslash.netlify.app

Twoslash

Markup for generating rich type information in your documentations ahead of time.

@pkgupdt@hl.pkgu.net
연합 우주 약점

스팸, 불링 등 악성 계정에 대한 모더레이션이 인스턴스 별로 제각각이라는 점은 연합우주의 본질이기도 한데, 당하는 유저 입장에서는 약점이라고 생각하기 쉽다.

관대한 대형 서버나, 한국어 등 외국어를 못 읽는 개방 서버에서 만든 한국어 악성 계정들이 요즘 보이기 시작. 연합우주는 적극적으로 차단하며 사용할 필요가 있고, 추가적으로 모더레이션 신고를 해주시면 좋습니다.

연합우주가 블스 등과 브릿지 되면서 익명성 불링을 위해서 이용하는 X들이 늘고 있는 듯 하여 걱정입니다.

@hongminhee So, I really appreciate that you are doing this work. I know it's hard, and it feels unrewarding, but it really matters, and it really helps the ecosystem.

Please let me know if I can help out in these efforts.

I hope that all of us in the ActivityPub community take these requests seriously when they come in.

@hongminhee@hollo.social · Reply to Evan Prodromou

@evan Can't agree more.

I think having good libraries can make the JSON-LD easier.

Yeah, that's one of reasons why I started Fedify; it was started from building a type-safe Activity Vocabulary library for TypeScript which lets me free from dealing with all complicated things about JSON-LD and keeping it standard-compliant at a time!

@hongminhee I ran into things like this with Mastodon. I send valid AP activities but if I don’t encode them in a specific way, Mastodon silently ignores them. Like how it assumes the object of a Create activity must be inline and not a reference, but the actor must be a reference and not inline.

Honestly, I don't really care what strategy other implementations follow to comply with the spec. (I solved it in by just using a proper JSON-LD processor.) It's just a bit annoying that I always send valid JSON-LD documents, but whenever I encounter an interoperability bug where the other side can't process them, I'm the one who has to send them a patch to fix it. 😩

@hongminhee@hollo.social
@hongminhee@hollo.social · Reply to Lien Rag

@lienrag Yes, Mastodon is probably too heavy to begin with, so it would be hard to run on low-end devices. We'd likely need a lightweight, bespoke ActivityPub implementation. Or we could use something like snac2 or GoToSocial.

Isn't Yunohost literally a hosting service? What I have in mind is a device that people can run like a home server in their own homes.

@lobsters@mastodon.social
@hongminhee@hollo.social

@crepels Hello. Thank you for creating ActivityPub.Academy. I've been finding it really useful.

However, it seems like ActivityPub.Academy is down right now. Could you please check on it? Thanks as always for your help.

@arkjun@hackers.pub

これまで約7年以上、1Passwordを特に不満もなく使ってきたが、最近の値上げをきっかけに代替ツールを検討し始めた。いくつか比較した結果、Bitwardenを軸に検討し、最終的にはセルフホストできる Vaultwarden を導入(クライアントは Bitwarden)することにした。

せっかくなので、HashiCorp Vault の一部用途も兼ねられないかと考え、 Bitwarden CLI を開発サーバーに入れて、CI/CD のタイミングで .env を同期する形で運用していた。

シンプルで扱いやすく、正直かなり気に入っていた。

ただ、最近になって Bitwarden CLI の npm パッケージがハイジャックされ、 SSHキーを含むサーバー内の認証情報を外部に送信する悪意あるコードが仕込まれていたというインシデントが発覚。

幸いにも、社内サーバーはプライベートネットワーク内で外部公開しておらず、さらに該当バージョンではなく旧バージョンを使っていたため、直接的な被害はなかったと思われる。

とはいえ、ツールチェーンに対する信頼が揺らいだのは事実で、このまま使い続けるのは心理的にもリスク的にも厳しいと判断。

最終的に、Bitwarden / Vaultwarden の利用はやめて、クライアントは 1Password に戻し、サーバー側のシークレット管理は HashiCorp Vault に回帰することにした。

一言まとめ

値上げをきっかけに移行を検討 → 実運用まで行ったが、サプライチェーンリスクを踏まえて元構成に戻した、という話。

@hongminhee@hollo.social

An interesting thought has been floating around in my head lately. A single-user ActivityPub server device that's ready to use just by plugging in a power cord and an Ethernet cable. For just 200 dollars. Would you buy it?