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

洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

1,113 following1,903 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

@dansup@mastodon.social

You will soon be able to run your own federated, self-hosted TikTok alternative with first class support for ActivityPub and a rich API with a vibrant 3rd party ecosystem.

loops.video

new loops webui
ALT text

new loops webui

A Call for Better Activity Signatures in the Fediverse

Why Major ActivityPub Implementations Should Adopt Object Integrity Proofs

Let's say you have accounts named alice@bar and bob@baz that don't follow each other, but they both follow john@foo. When alice@bar replies to john@foo's post, how can bob@baz see this reply?

This problem applies not only to replies, but also to things like likes and emoji reactions. One of the ways that ActivityPub implementations solve this problem is through inbox forwarding. The idea is to forward the reply received by john@foo to bob@baz as well.

Fedify makes inbox forwarding easy and convenient with its forwardActivity() method. But the question is, can bob@baz trust the activity forwarded by john@foo?

Because HTTP Signatures sign the HTTP request that contains the activity, not the activity itself, john@foo can't sign an activity created by alice@bar when it's forwarded by him, because forwarding requires creating a new HTTP request. (The HTTP request includes things like the Host header, so a new signature is required for each new recipient.)

So, alice@bar needs to sign her activity in a way that allows john@foo to forward it. In the fediverse, there are two ways to do this: Linked Data Signatures and Object Integrity Proofs. Fedify automatically attaches all three types of signatures (HTTP Signatures, Linked Data Signatures, and Object Integrity Proofs) to every activity it sends, so activities are free to be forwarded between ActivityPub software created with Fedify.

However, major ActivityPub implementations such as Mastodon and Misskey still sign activities with HTTP Signatures only, or only some activities with Linked Data Signatures. (Note that Linked Data Signatures is an outdated standard, and Object Integrity Proofs are recommended.)

So, why are we talking about this at length? We strongly urge major ActivityPub implementations to adopt Object Integrity Proofs, or at minimum Linked Data Signatures, for activity signing!

fedify.dev

Sending activities | Fedify

Fedify provides a way to send activities to other actors' inboxes. This section explains how to send activities to others.

しかし、インボックスフォワーディングをする為には元のアクティビティが署名される必要が有りますよね。HTTP Signaturesだけで署名するとフォワーディングが出来ないので、Mastodon, Misskeyなど主要なActivityPubの実装がLinked Data SignaturesでもObject Integrity Proofsでもどちらでも良いので、署名して欲しいです。

codeberg.org

fep/fep/8b32/fep-8b32.md at main

fep - Fediverse Enhancement Proposals

@hongminhee@hollo.social

インボックスフォワーディング(inbox forwarding)、実装が面倒なので、多くのActivityPubの実装が省略したり、一部のアクティビティにのみ実装しているみたいです。Fedifyを使うとインボックスフォワーディングをとても簡単に実装する事が出来ます。

https://fedify.dev/manual/inbox#forwarding-activities-to-another-server

fedify.dev

Inbox listeners | Fedify

Fedify provides a way to register inbox listeners so that you can handle incoming activities from other actors. This section explains how to register an inbox listener and how to handle errors.

@tirr@mitir.social

미스키에는 없지만 마스토돈에는 타임라인 캐시 재생성하는 명령도 있었던것같다

RE:
https://hollo.social/@hollo/01940231-1d29-7810-953b-c2336976966d

hollo.social

Hollo 0.4.0부터는 [`TIMELINE_INBO…

Hollo 0.4.0부터는 [`TIMELINE_INBOXES`]라는 실험적인 옵션이 추가됩니다. 이 옵션을 `true`로 하면 여러분의 홈 타임라인과 리스트 타임라인이 요청할 때마다 게시물들이 실시간으로 필터링되는 대신, 데이터베이스에 각 타임라인별 인박스가 생기고 거기에 게시물들이 들어가게 됩니다. 따라서, 이 옵션을 켠 직후에는 타임라인이 비어 보일 수 있습니다. 이 옵션을 켜면 많은 사람을 팔로하고 있는 계정에서 성능이 향상되지만, 아직 버그가 있을 수 있습니다. 하지만 기능이 안정화되고 나서는 이 옵션이 디폴트 동작이 될 예정입니다. [`TIMELINE_INBOXES`]: https://canary.docs.hollo.social/ko/install/env/#timeline_inboxes

@hollo@hollo.social · Reply to Hollo :hollo:

Hollo 0.4.0부터는 TIMELINE_INBOXES라는 실험적인 옵션이 추가됩니다. 이 옵션을 true로 하면 여러분의 홈 타임라인과 리스트 타임라인이 요청할 때마다 게시물들이 실시간으로 필터링되는 대신, 데이터베이스에 각 타임라인별 인박스가 생기고 거기에 게시물들이 들어가게 됩니다. 따라서, 이 옵션을 켠 직후에는 타임라인이 비어 보일 수 있습니다.

이 옵션을 켜면 많은 사람을 팔로하고 있는 계정에서 성능이 향상되지만, 아직 버그가 있을 수 있습니다. 하지만 기능이 안정화되고 나서는 이 옵션이 디폴트 동작이 될 예정입니다.

canary.docs.hollo.social

환경 변수

Hollo 설정에 쓰이는 환경 변수들에 대해 설명합니다.

@tainga7@fairy.id

┏━━┓┏━━┓┏━━┓┗━┓┃
┗━┓┃┃┏┓┃┗━┓┃  ┗┛
┏━┛┃┃┃┃┃┏━┛┃┏━━┓
┃┏━┛┃┃┃┃┃┏━┛┃┏━┛
┃┗━┓┃┗┛┃┃┗━┓┃┗━┓
┗━━┛┗━━┛┗━━┛┗━┓┃

@tesaguri@fedibird.com

Pleromaの投稿を見ると自サーバの誰もがフォローしていない人によるものも含めてやたらと絵文字リアクションが付いているような印象を受けがちだけど、あれも恐らくinbox forwardingの実装状況の違いによるものなのだろうな

@tesaguri@fedibird.com

Inbox forwarding、確かMisskeyとかは実装していないのだったよな。あと規格通りなら`Create(Note)`に限らず`Like`などを含む任意のアクティビティに適用されるはずだけど、Mastodonの場合は恐らく(署名済みの)リプライや`Update(Note)`、`Delete(Note)`などしか転送しないっぽい。一方でFedibirdはリアクションも転送するらしいね

@hollo@hollo.social · Reply to Hollo :hollo:

Hollo 0.4.0からTIMELINE_INBOXESという実験的なオプションが追加されます。このオプションをtrueにすると、ホームタイムラインとリストタイムラインが要請されるたびに投稿がリアルタイムでフィルタリングされる代わりに、データベースに各タイムラインごとにインボックスが作成され、そこに投稿が入ります。その為、このオプションをオンにした直後は、タイムラインが空っぽに見える事が有ります。

このオプションをオンにすると、多くのアカウントをフォローしているアカウントでパフォーマンスが向上しますが、まだバグが有る可能性が有ります。しかし、機能が安定化したら、このオプションがデフォルトの動作に成る予定です。

canary.docs.hollo.social

環境変数

Holloの設定を行うための環境変数について説明します。

@hollo@hollo.social · Reply to Hollo :hollo:

Hollo 0.4.0부터는 TIMELINE_INBOXES라는 실험적인 옵션이 추가됩니다. 이 옵션을 true로 하면 여러분의 홈 타임라인과 리스트 타임라인이 요청할 때마다 게시물들이 실시간으로 필터링되는 대신, 데이터베이스에 각 타임라인별 인박스가 생기고 거기에 게시물들이 들어가게 됩니다. 따라서, 이 옵션을 켠 직후에는 타임라인이 비어 보일 수 있습니다.

이 옵션을 켜면 많은 사람을 팔로하고 있는 계정에서 성능이 향상되지만, 아직 버그가 있을 수 있습니다. 하지만 기능이 안정화되고 나서는 이 옵션이 디폴트 동작이 될 예정입니다.

canary.docs.hollo.social

환경 변수

Hollo 설정에 쓰이는 환경 변수들에 대해 설명합니다.

@hollo@hollo.social

Starting with Hollo 0.4.0, we're adding an experimental option called TIMELINE_INBOXES.

If this option is set to true, instead of your home timeline and list timelines filtering posts in real-time whenever they are requested, the database will create an inbox for each timeline and put posts into it. As a result, your timelines may appear empty immediately after turning this option on.

Turning this option on will improve performance for accounts that follow a lot of accounts, but it may still be buggy. However, once the feature is stabilized, this will be the default behavior.

canary.docs.hollo.social

Environment variables

How to configure Hollo using environment variables.

@hongminhee@hollo.social

FediLUG@fedilug)の技術書第0号に掲載される私の原稿を今日脱稿した!タイトルは「国漢文混用体からHolloまで」。私がどの様にしてFedifyとHolloを作る事に成ったか、その旅路を共有する内容です。

来年1月25日に横浜産貿ホールマリネリアで開催される第十一回技術書同人誌博覧会で頒布される予定ですので、よろしくお願いします!

「国漢文混用体からHolloまで」の原稿の冒頭
ALT text

「国漢文混用体からHolloまで」の原稿の冒頭

@hongminhee@hollo.social

나는 비슷하게 韓國人(한국인)·中國(중국) 朝鮮族(조선족)·在日朝鮮人(재일조선인)·高麗人(고려인) ()을 아울러 民族(민족)指稱(지칭)하는 말로 「韓國人(한국인)乃至(내지)는 「韓民族(한민족)」을 쓰는 것이 뭔가 께름직하다. 民族(민족)代表性(대표성)韓國(한국)이라는 國家(국가)獨佔(독점)하는 것 같아서. 個人的(개인적)으로는 「朝鮮人(조선인)」이나 「朝鮮民族(조선민족)」이라는 말을 쓰는 게 더 中立的(중립적)이지 않나 싶기도 하다. 뭐, 그게 좋은 代案(대안)인지는 나도 잘 모르겠지만… 아니면 아예 「코리안」이 나을 수도 있고.

비슷하게 ko-KR이 아닌 ko指稱(지칭)하는 말로 「韓國語(한국어)」가 適切(적절)하지 않다는 느낌을 받음. 亦是(역시)나 여기서도 뚜렷한 代案(대안)은 잘 모르겠다. 個人的(개인적)으로는 「朝鮮語(조선어)」라는 말을 쓰는 便(). 마찬가지로 「코리안」이 더 나을지도 모르겠다…

https://uri.life/@mola/113712493891626073

@mola@uri.life

>왜 "님은 한국인입니다" 라는 말이 연대의 말로 적합하지 않다고 느끼는지 좀 더 고민해봄
>
>결국 조선족, 중국인을 향한 부정적인 낙인은 개선하지 않은 채 결국 우리의 출신(한국에서 태어나 한국 국적이 있는 것)만을 강조하기 때문이라고 생각함
>동시에 한국 국적이 없지만 한국에서 나고 자란 사람은 포함 하지 않는 말이기도 했다. 그리고 내 가족과 내 주변엔 외국인으로 등록 되어 한국에서 십년 넘게 살고 있는 사람들이 많음.
x.com/duhh1220/status/18714862

@hongminhee@hollo.social

This year's Christmas cake!

A Christmas cake shaped like the face of Rudolph the Red-Nosed Reindeer.
ALT text

A Christmas cake shaped like the face of Rudolph the Red-Nosed Reindeer.

A Christmas cake shaped like the face of Rudolph the Red-Nosed Reindeer.
ALT text

A Christmas cake shaped like the face of Rudolph the Red-Nosed Reindeer.

@hongminhee@hollo.social

나는 비슷하게 韓國人(한국인)·中國(중국) 朝鮮族(조선족)·在日朝鮮人(재일조선인)·高麗人(고려인) ()을 아울러 民族(민족)指稱(지칭)하는 말로 「韓國人(한국인)乃至(내지)는 「韓民族(한민족)」을 쓰는 것이 뭔가 께름직하다. 民族(민족)代表性(대표성)韓國(한국)이라는 國家(국가)獨佔(독점)하는 것 같아서. 個人的(개인적)으로는 「朝鮮人(조선인)」이나 「朝鮮民族(조선민족)」이라는 말을 쓰는 게 더 中立的(중립적)이지 않나 싶기도 하다. 뭐, 그게 좋은 代案(대안)인지는 나도 잘 모르겠지만… 아니면 아예 「코리안」이 나을 수도 있고.

비슷하게 ko-KR이 아닌 ko指稱(지칭)하는 말로 「韓國語(한국어)」가 適切(적절)하지 않다는 느낌을 받음. 亦是(역시)나 여기서도 뚜렷한 代案(대안)은 잘 모르겠다. 個人的(개인적)으로는 「朝鮮語(조선어)」라는 말을 쓰는 便(). 마찬가지로 「코리안」이 더 나을지도 모르겠다…

https://uri.life/@mola/113712493891626073

@mola@uri.life

>왜 "님은 한국인입니다" 라는 말이 연대의 말로 적합하지 않다고 느끼는지 좀 더 고민해봄
>
>결국 조선족, 중국인을 향한 부정적인 낙인은 개선하지 않은 채 결국 우리의 출신(한국에서 태어나 한국 국적이 있는 것)만을 강조하기 때문이라고 생각함
>동시에 한국 국적이 없지만 한국에서 나고 자란 사람은 포함 하지 않는 말이기도 했다. 그리고 내 가족과 내 주변엔 외국인으로 등록 되어 한국에서 십년 넘게 살고 있는 사람들이 많음.
x.com/duhh1220/status/18714862