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

洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

1,111 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

@botkit@hollo.social

Want to create a for the ? by @fedify lets you build standalone bots with just a few lines of code! Unlike traditional Mastodon bots, BotKit helps you create complete ActivityPub servers without platform constraints.

With BotKit, you can:

  • Build bots that respond to mentions, follows, and messages
  • Create rich content with formatted text, mentions, and media
  • Publish scheduled posts and automatically manage conversations
  • Deploy easily on Deno Deploy, Docker, or self-hosted servers

Check out our documentation at https://botkit.fedify.dev/ and start building your fediverse bot today!

botkit.fedify.dev

BotKit by Fedify

A framework for creating your ActivityPub bots

@hongminhee@hollo.social

4月5日(土)にオフライン・オンラインのハイブリッド形式で開催されるFediLUG勉強会に参加します!多分Fedifyをテーマに何か発表するかもしれませんが、確定したら再度お知らせします。それまで日本語の練習も頑張ります。

https://msky.ospn.jp/notes/a4ov4ndpm2p810f7

msky.ospn.jp

Fediverse Linux Users Group (@fedilug)

【勉強会開催のお知らせ】 #FediLUG と #東海道らぐ は4月5日(土)にオンライン・オフラインハイブリッド形式で勉強会を開催します! オフライン会場は中野駅から徒歩ですぐの株式会社インプリムさんの #Pleasanter Loungeで開催します! #FediLUG では1周年を記念しての初めてのハイブリッド開催になります。ぜひご都合合わせの上、会場まで足をお運びください!! オンラインでも参加・発表を行えますので、これまで通りの参加方法でも参加できます! 日時 : 4月5日(土)13:30〜 オフライン会場 : Pleasanter Lounge(東京都中野区) オンライン会場 : JitsiMeet 申し込み : https://fedilug.connpass.com/event/346156/

@fedilug@msky.ospn.jp

【勉強会開催のお知らせ】
は4月5日(土)にオンライン・オフラインハイブリッド形式で勉強会を開催します!
オフライン会場は中野駅から徒歩ですぐの株式会社インプリムさんの
Loungeで開催します!
では1周年を記念しての初めてのハイブリッド開催になります。ぜひご都合合わせの上、会場まで足をお運びください!!
オンラインでも参加・発表を行えますので、これまで通りの参加方法でも参加できます!

日時 : 4月5日(土)13:30〜
オフライン会場 : Pleasanter Lounge(東京都中野区)
オンライン会場 : JitsiMeet
申し込み :
https://fedilug.connpass.com/event/346156/

fedilug.connpass.com

第8回 FediLUG 勉強会・東海道らぐ 2025年4月オフな集まり (2025/04/05 13:30〜)

Fediverse Linux Users Group及び東海道らぐの合同企画として、オンライン・オフラインミーティングを開催します。 Linuxに興味のあるメンバがあつまり、Linuxやその他の様々なことについて情報交換をしたり、交流を行います。 持ちネタのある参加者が発表するアンカンファレンス形式で行います。 (発表は必須ではありません) オフライン開催で、オンラインでも参加可能なハイブリッドの予定です。 参加資格は不要です。どなたでもご参加いただけますので、奮ってご参加ください。 ## FediLUGについて Fediverse Linux Users Groupは、F...

@Yohei_Zuho@mstdn.y-zu.org
@Yohei_Zuho@mstdn.y-zu.org
@s3_odara@mastodon.hakurei.win

韓国語わからないけど言いたいことはわかるぞ

@julian@fietkau.social

I'm finally unveiling the project that has been consuming my weekends: Encyclia, an bridge that will make ORCID records followable and interactable on the fediverse. 🙂

It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at encyclia.pub or follow @encyclia for news!

encyclia.pub

Encyclia.pub

Bridging ORCID into the Fediverse

@hongminhee@hollo.social

@xenon, a new fediverse client app for iOS by @tkgka, is now in public beta! If you use iPhone give it a try!

Note that it also works well with @hollo.

https://xenon.social/@xenon/01955c88-10fa-7902-9949-9bfe9dfce121

A home timeline on Xenon, a new fediverse client app for iOS
ALT text

A home timeline on Xenon, a new fediverse client app for iOS

@erincandescent@erincandescent.net
Every time I see a PEM block inside some JSON or a database I cry

You have enough context you don't need that BEGIN X509 CERTIFICATE header you know, you can just store it as (base64 encoded) BER

0.9.0をリリースしました!🎉

今回のバージョンでは、TypeScript向けの依存関係ゼロのロギングライブラリに二つの大きな改善を加えました:

  1. 新しい同期設定APIconfigureSync()disposeSync()resetSync()を使って同期的にLogTapeを設定できるようになりました。非同期操作が不要なシンプルな環境に最適です!

  2. ランタイム互換性の向上:ファイル関連のコンポーネントをすべて別パッケージ@logtape/fileに移動しました。これにより、コアパッケージはファイルシステム依存なしで、ブラウザ、エッジ関数、各種バンドラーなど、あらゆるJavaScript環境でシームレスに動作します。

さらに、コンソールシンクにレベルマッピングオプションを追加し、ログの表示方法をより細かく制御できるようになりました。

移行の詳細については、リリースノートをご覧ください。

https://zenn.dev/hongminhee/articles/98989e400c5fcf

zenn.dev

LogTape 0.9.0 リリース:同期設定APIとランタイム互換性の向上

@hongminhee@hollo.social

Just released 0.9.0! 🎉

This version brings two major improvements to our zero-dependency library for :

  1. New Synchronous Configuration API: You can now configure LogTape synchronously with configureSync(), disposeSync(), and resetSync(). Perfect for simpler setups where you don't need async operations!

  2. Better Runtime Compatibility: We've moved all file-related components to a separate @logtape/file package. This means the core package now works flawlessly across all JavaScript environments—browsers, edge functions, and various bundlers without any file system dependencies.

Plus, we've added level mapping options for console sinks, giving you more control over how your logs appear.

Check out the full release notes for migration details:

https://hackers.pub/@hongminhee/2025/logtape-090

hackers.pub

Hackers' Pub

@hongminhee@hackers.pub

We're excited to announce the release of LogTape 0.9.0! This version brings important improvements to make LogTape more flexible across different JavaScript environments while simplifying configuration for common use cases.

What's New

  • Synchronous Configuration API: Added new synchronous configuration functions for environments where async operations aren't needed or desired
  • Improved Runtime Compatibility: Moved file-system dependent components to a separate package for better cross-runtime support

New Features

Synchronous Configuration API: Simplifying Your Setup

Added synchronous versions of the configuration functions:

These functions offer a simpler API for scenarios where async operations aren't needed, allowing for more straightforward code without awaiting promises. Note that these functions cannot use sinks or filters that require asynchronous disposal (such as stream sinks), but they work perfectly for most common logging configurations.

import { configureSync, getConsoleSink } from "@logtape/logtape";

configureSync({ 
  sinks: {
    console: getConsoleSink(),
  },
  loggers: [
    {
      category: "my-app",
      lowestLevel: "info",
      sinks: ["console"],
    },
  ],
});

Console Sink Enhancements

Breaking Changes

File Sinks Moved to Separate Package: Better Cross-Platform Support

To improve runtime compatibility, file-related sinks have been moved to the @logtape/file package:

This architectural change ensures the core @logtape/logtape package is fully compatible with all JavaScript runtimes, including browsers and edge functions, without introducing file system dependencies. You'll now enjoy better compatibility with bundlers like Webpack, Rollup, and Vite that previously had issues with the file system imports.

Migration Guide

If you were using file sinks, update your imports:

// Before
import { getFileSink, getRotatingFileSink } from "@logtape/logtape";

// After
import { getFileSink, getRotatingFileSink } from "@logtape/file";

Don't forget to install the new package:

# For npm, pnpm, Yarn, Bun
npm add @logtape/file

# For Deno
deno add jsr:@logtape/file

Looking Forward

This release represents our ongoing commitment to making LogTape the most flexible and developer-friendly logging solution for JavaScript and TypeScript applications. We're continuing to improve performance and extend compatibility across the JavaScript ecosystem.

Contributors

Special thanks to Murph Murphy for their valuable contribution to this release.


As always, we welcome your feedback and contributions! Feel free to open issues or pull requests on our GitHub repository.

Happy logging!

github.com

GitHub - dahlia/logtape: Simple logging library with zero dependencies for Deno, Node.js, Bun, browsers, and edge functions

Simple logging library with zero dependencies for Deno, Node.js, Bun, browsers, and edge functions - dahlia/logtape

@eatch.dev@bsky.brid.gy

directed/undirected를 한자만 써서 유향/무향으로 번역할 수 있는데 signed/unsigned는 그게 안 되고 부호 있는/없는으로 번역해야 되는 게 신경쓰인다

0.9.0をリリースしました!🎉

今回のバージョンでは、TypeScript向けの依存関係ゼロのロギングライブラリに二つの大きな改善を加えました:

  1. 新しい同期設定APIconfigureSync()disposeSync()resetSync()を使って同期的にLogTapeを設定できるようになりました。非同期操作が不要なシンプルな環境に最適です!

  2. ランタイム互換性の向上:ファイル関連のコンポーネントをすべて別パッケージ@logtape/fileに移動しました。これにより、コアパッケージはファイルシステム依存なしで、ブラウザ、エッジ関数、各種バンドラーなど、あらゆるJavaScript環境でシームレスに動作します。

さらに、コンソールシンクにレベルマッピングオプションを追加し、ログの表示方法をより細かく制御できるようになりました。

移行の詳細については、リリースノートをご覧ください。

https://zenn.dev/hongminhee/articles/98989e400c5fcf

zenn.dev

LogTape 0.9.0 リリース:同期設定APIとランタイム互換性の向上