COSCUP 2026 - Conference for Open Source Coders, Users, and Promoters

Hong Minhee (洪 民憙)

I'm Hong Minhee (洪 民憙), a software engineer from Seoul. I write some free/open source software, which are mostly written in Haskell, Python, and TypeScript. I'm an advocate of free/open source software and fediverse. My professional interests are decentralized peer-to-peer networks and statically typed functional programming languages.

I also have outside interests on etymology, East Asian languages (CJK), Chinese characters, and further, Unihan.

For a more detailed introduction, please visit my personal website at https://hongminhee.org/.


Session

08-09
14:30
30min
I just wanted ruby annotations: writing in dead scripts on the living fediverse
Hong Minhee (洪 民憙)

Koreans used to mix hanja (漢字; Chinese characters) into Korean prose, much as Japanese still mixes kanji and kana. The style is called Korean mixed script (國漢文混用體). Almost nobody writes this way anymore. I do.

When I wanted to post this way on the fediverse, I ran into a small but stubborn problem: <ruby> annotations, the HTML feature that puts pronunciation guides above or beside characters, were stripped by the major servers I tried. I filed an issue against Mastodon. It sat there for a long time. At some point, “maybe I should run my own server” somehow became “maybe I should implement ActivityPub myself.”

ActivityPub is not simple. JSON-LD alone has several ways to say the same thing. Then come HTTP Signatures, WebFinger, NodeInfo, inbox forwarding, and the small incompatibilities that only become obvious when Mastodon and Misskey disagree. Before building the server I wanted, I built Fedify: a TypeScript framework that keeps most of that protocol plumbing out of application code.

Hollo came next, because I still wanted the original thing: a single-user ActivityPub server where Markdown and <ruby> annotations survived the trip. Hackers' Pub followed from the same framework, aimed at developers who want short posts and longer articles to federate.

This talk is about how a small typographic itch turned into upstream patches, a framework, and two fediverse servers. I still just wanted ruby annotations.

Fediverse & Social Web
TR411