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

洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

1,092 following1,901 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

Fedify 2.3.0 is out! This release is largely about production observability: OpenTelemetry metrics now cover every major federation path, and a monitoring guide and runnable example stack ship alongside them. Also new: a delivery circuit breaker that holds queued activities for unreachable servers rather than retrying indefinitely; @fedify/backfill, a new package for reconstructing conversations via FEP-f228; and fedify bench, an ActivityPub-aware load testing command. Release notes: https://github.com/fedify-dev/fedify/discussions/821.

Thanks to @2chanhaeng (@fedify/uri-template), @z9mb1 (@fedify/backfill), @sabrinkmann (FEP-0837 vocabulary), @nyanrus (@fedify/lint/oxlint), and @fruitsssdev (--skip-install) for their contributions to this release.

w3id.org

Cookie monster!

Seonbi is a Korean typography tool. It fixes the small things I don't want to handle by hand: curly quotes, spacing around punctuation, hanja annotations, and other Korean prose conventions.

https://github.com/dahlia/seonbi

github.com

GitHub - dahlia/seonbi: SmartyPants for Korean language

SmartyPants for Korean language. Contribute to dahlia/seonbi development by creating an account on GitHub.

Gukhanmun converts mixed hanja-hangul Korean text into hangul-only output, using the Standard Korean Dictionary. It handles plain text, HTML, and Markdown, with parenthetical or ruby annotations when you need them. There's a CLI, a Rust crate, and a WebAssembly build.

https://gukhanmun.org/

gukhanmun.org

Gukhanmun

Rust/JavaScript library that converts mixed-script Korean into hangul-only text

Hongdown is the Markdown formatter I use across most of my own projects. Written in Rust, it enforces an opinionated style for headings, code blocks, lists, links, and East Asian wide characters. There are integrations for Neovim, VS Code, Zed, and Helix.

https://github.com/dahlia/hongdown

github.com

GitHub - dahlia/hongdown: A Markdown formatter that enforces Hong Minhee's Markdown style conventions

A Markdown formatter that enforces Hong Minhee's Markdown style conventions - dahlia/hongdown

Upyo is a zero-dependency email sending library for TypeScript. It gives the same API for SMTP, Mailgun, Resend, SendGrid, Amazon SES, and more, so changing email providers doesn't mean rewriting your send code. Works on Node.js, Deno, Bun, and edge functions.

https://upyo.org/

upyo.org

Upyo

Upyo is a simple and modern email sending library with a universal interface for emailing across runtimes like Node.js, Deno, Bun, and edge functions. It provides type-safe APIs, dead simple usage, and supports multiple email providers.

LogTape is a zero-dependency logging library for TypeScript and JavaScript. It works in Node.js, Deno, Bun, browsers, and edge functions. I made it especially for library authors who want to emit logs without choosing everyone else's logger for them.

https://logtape.org/

logtape.org

LogTape: unobtrusive logging for modern JavaScript | LogTape

Unobtrusive logging library with zero dependencies and a library-first design for Deno, Node.js, Bun, browsers, and edge functions

Fedify is a TypeScript/JavaScript library for building fediverse software with ActivityPub. It takes care of the annoying protocol parts: WebFinger, HTTP Signatures, inboxes, outboxes, and NodeInfo. Ghost uses it for their fediverse integration, and the work is backed by the @sovtechfund.

https://fedify.dev/

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@hongminhee@hollo.social

No day job. Just me, building F/OSS full-time on public grants and individual sponsorships. If my work has saved you time, please consider sponsoring me on GitHub: https://github.com/sponsors/dahlia.

I maintain Fedify, Hollo, Hackers' Pub, LogTape, Optique, Upyo, Hongdown, Gukhanmun, and Seonbi. A thread on each ↓

github.com

Sponsor @dahlia on GitHub Sponsors

I usually write open source software libraries and small CLI programs, which means their consumers are mostly software engineers. My interests are: fediverse & CJK languages.

@hongminhee@hollo.social

2.2.0 is out!

The headline is two new packages:

@logtape/lint adds lint rules for ESLint v8/v9 (flat config), Oxlint, and Deno Lint that catch common logging mistakes before they reach production: template literal interpolation in message arguments, eager property evaluation where lazy is needed, unawaited async log callbacks, and missing meta sink configuration.

@logtape/testing gives you createLogRecorder() and domain-aware assertion helpers, replacing the hand-rolled array-sink boilerplate that every project ends up writing.

Other highlights:

  • context: true on Express/Hono/Koa/Elysia middleware handles request ID generation, x-request-id header propagation, and implicit context. One option instead of several moving parts.

  • Seven performance optimizations on the enabled-logging hot path

  • New logtape.org website

Full release notes: https://github.com/dahlia/logtape/discussions/179

github.com

LogTape 2.2.0: Lint rules, testing utilities, and request context · dahlia/logtape · Discussion #179

LogTape is a logging library for JavaScript and TypeScript that works across Deno, Node.js, Bun, and browsers. It's built around structured logging, has zero dependencies, and is designed to work a...

@tesaguri@fedibird.com · Reply to tesaguri 🦀🦝

「マストドン」と言われていちいちキレるのは大人気ないかも知れないけど、小規模な「インスタンス」に細分化されていることからフルスタックのアプリケーション実装としての多様性が高めな点もFediverseの特徴としてあると思っていて、しかし「マストドン」と特定の実装で提喩されてしまうとその特徴が切り捨てられてしまうので……

@fediqb@mstdn.y-zu.org · Reply to FediQB :fediqb:

🎉 FediQB 업데이트!

🌐 다국어 지원
UI를 일본어·영어·중국어·한국어로 전환할 수 있습니다. 상단의「JA/EN/ZH/KO」에서 즉시 변경 가능합니다.

🔤 번역 기능
질문과 답변을 🌐 버튼 하나로 번역. LibreTranslate API(백엔드 경유)를 사용하며, 원문과 번역문 전환이 매끄럽습니다.

전 세계 Fediverse 유저와 더 가까워질 수 있도록, 꼭 한 번 시도해 보세요!

fediqb.y-zu.org

fediqb.y-zu.org

FediQB

@fediqb@mstdn.y-zu.org · Reply to FediQB :fediqb:

🎉 FediQB 更新了!

🌐 多语言支持
界面现已支持日语、英语、中文、韩语。点击顶部的「JA/EN/ZH/KO」即可即时切换。

🔤 翻译功能
点击🌐按钮即可翻译问题和回答。通过 LibreTranslate API(后端代理)实现,原文与译文一键切换。

希望更多 Fediverse 用户能够使用,欢迎体验!

fediqb.y-zu.org

fediqb.y-zu.org

FediQB

@fediqb@mstdn.y-zu.org · Reply to FediQB :fediqb:

🎉 FediQB Update!

🌐 Multi-language Support
Switch between Japanese, English, Chinese, and Korean instantly via the language selector (JA/EN/ZH/KO).

🔤 Translation Feature
Translate questions and answers with a single 🌐 click. Uses LibreTranslate via our backend — toggle between original and translated text seamlessly.

Now more accessible to Fediverse users worldwide. Give it a try!

fediqb.y-zu.org

fediqb.y-zu.org

FediQB

@fediqb@mstdn.y-zu.org

🎉 FediQB アップデート!

🌐 多言語対応
UIが日本語・英語・中国語・韓国語に切り替えられます。ヘッダーの「JA/EN/ZH/KO」から即座に変更可能。

🔤 翻訳機能
質問・回答を🌐ボタン1つで翻訳。LibreTranslate API(バックエンド経由)を利用し、原文との切り替えもスムーズ。

Fediverseのより多くのユーザーと繋がれるようになりました、ぜひ試してみてください!

@hongminhee@hollo.social
@hongminhee@hollo.social

The reason people avoid regular expressions is ultimately because of the syntax. No indentation, no comments. It might be a minority opinion, but I think the x (EXTENDED) flag should be the default for regex.