@hongminhee@hollo.social

Thanks to everyone who caught my talk, I just wanted ruby annotations: writing in dead scripts on the living fediverse, at @COSCUP 2026 today! It was great seeing you in the Fediverse & Social Web track. Here are the slides.

https://fediverse-ruby-coscup-2026.hongminhee.codefloe.page/

fediverse-ruby-coscup-2026.hongminhee.codefloe.page

I just wanted ruby annotations: writing in dead scripts on the living fediverse - Slidev

"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.\n\nWhen I wanted to post this way on the fediverse, I ran into a small but stubborn problem: [`<ruby>` annotations][ruby], 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.”\n\nActivityPub 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.\n\n[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.\n\nThis talk is about how a small typographic itch turned into upstream patches, a framework, and two fediverse servers. I still just wanted ruby annotations.\n\n[hanja]: https://en.wikipedia.org/wiki/Hanja\n[Korean mixed script]: https://en.wikipedia.org/wiki/Korean_mixed_script\n[ruby]: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/ruby\n[Mastodon]: https://joinmastodon.org/\n[ActivityPub]: https://www.w3.org/TR/activitypub/\n[JSON-LD]: https://json-ld.org/\n[Fedify]: https://fedify.dev/\n[Hollo]: https://docs.hollo.social/\n[Hackers' Pub]: https://hackers.pub/\n"

1 share