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

洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

1,114 following1,902 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

@hongminhee@hollo.social

We're considering adding custom background task support to 1.5.0. Got thoughts on whether Fedify should support user-defined background tasks alongside ActivityPub operations? Check out the proposal and share your feedback: https://github.com/fedify-dev/fedify/issues/206.

https://hollo.social/@fedify/0194ea5a-9856-703f-b098-d4f52936b500

hollo.social

We're considering adding custo…

We're considering adding custom background task support to #Fedify 1.5.0. Want to use Fedify's worker system for your own background tasks? We're exploring ways to let you register and process custom tasks alongside #ActivityPub jobs. Check out the proposal: <https://github.com/fedify-dev/fedify/issues/206>. Key considerations: - Should this be part of Fedify's scope? - Quick API extension vs complete worker architecture redesign - Integration with existing task queue systems We'd love to hear your thoughts! Do you need this feature? How would you use it? Share your feedback in the issue thread. #fedidev

We're considering adding custom background task support to 1.5.0.

Want to use Fedify's worker system for your own background tasks? We're exploring ways to let you register and process custom tasks alongside jobs.

Check out the proposal: https://github.com/fedify-dev/fedify/issues/206.

Key considerations:

  • Should this be part of Fedify's scope?
  • Quick API extension vs complete worker architecture redesign
  • Integration with existing task queue systems

We'd love to hear your thoughts! Do you need this feature? How would you use it? Share your feedback in the issue thread.

github.com

Support custom background tasks in worker · Issue #206 · fedify-dev/fedify

Currently, Fedify has a built-in background worker that processes incoming and outgoing activities through a message queue. However, applications using Fedify might need their own background tasks ...

@hongminhee@hollo.social

Netflix에서 放映(방영)한다는 《美親(미친) 맛집》, 《孤獨(고독)美食家(미식가)》(孤独のグルメ)의 主演(주연) 松重(마츠시게)(유타카)出演(출연)한대서 보고 싶어졌는데, 相對(상대) 出演者(출연자)右派(우파)로 알려진 歌手(가수) 成始璄(성시경)이래서 해서 보기 망설여진다…

https://www.hankyung.com/article/2025011086837

hankyung.com

[단독] 성시경·'고독한 미식가' 마츠시게, 넷플릭스 '미친맛집' 만남

[단독] 성시경·'고독한 미식가' 마츠시게, 넷플릭스 '미친맛집' 만남, 김소연 기자, 산업

@hongminhee@hollo.social

Misskey에서 Pleroma, Hollo () ()Misskey 서버로부터 온 Markdown 揭示物(게시물)이 읽기 힘든 것은 Misskey의 HTML → Markdown 變換機(변환기)完全(완전)하지 않기 때문. (이를테면, Misskey 2025.1.0에서 고쳐졌지만, MFM에 루비 文字(문자) 機能(기능)이 이미 있음에도 不拘(불구)하고 ()Misskey 서버에서 루비 文字(문자)를 쓰면 제대로 表示(표시)하지 못하는 問題(문제)가 있었다.) Misskey끼리는 HTML을 ()하지 않고 MFM 소스 그대로 주고 받으니까 穩全(온전)表示(표시)되어서 보기 쉬운 것이고. 애()에 Misskey는 內部(내부) 表現(표현)을 MFM으로 할 거면 HTML → Markdown 變換機(변환기)를 제대로 完全(완전)하게 만들든가, 그럴 게 아니면 內部(내부) 表現(표현)을 HTML로 해야 했는데, 그렇지 않아서 생기는 일. 私見(사견)으로는 Misskey는 內部(내부) 表現(표현)을 HTML로 아예 바꾸든가, 그러기 힘들다면 적어도 內部(내부) 表現(표현)에 MFM이나 HTML ()() 한 쪽으로 保存(보존)할 수 있도록 고치는 게 나을 것 같다.

https://stella.place/notes/9bpogt7z2p

stella.place

나물 (@namool)

미스키가 아니면 마크다운을 비활성화시키는 미스키 플러그인을 만들었어요

@namool@stella.place
미스키가 아니면 마크다운을 비활성화시키는 미스키 플러그인을 만들었어요

원래 있던 플러그인이면 링크주세요 제가 코딩을 제대로 배운건 아니라서 높은확률로 그게 더 나을거에요

기본적으로 미스키가 아닌 인스턴스의 마크다운(굵게, 취소선)을 제거하고, 만약 해당 인스턴스에서 마크다운이 적용된다면(trpg-o.xyz같은) 해당 유저 메뉴에서 그 인스턴스의 마크다운을 활성화시킬 수 있어요
설명에도 써놨지만 넓이없는공백을 추가시키는 방식입니다
플레로마는 한국어권에선 너무 보기 힘든데다 플레인텍스트랑 마크다운 전환이 가능하다고 해서 저도 잘 모르겠습니다

버그 있으면 제보주세요
못고칠수도 있음 ㅎㅎ; 코드는 걍 아무렇게나 가져가고 수정하셔두 돼요
수정해주시면 제가 감사하게 사용함 굳이 제작자 안남겨도 됩니다

이하 코드입니다.

/// @ 0.12.4

### {
	name: "미스키 외 인스턴스의 마크다운 제거"
	author: "@namool@stella.place"
	version: 1
	description: "미스키가 아닌 인스턴스에 적용된 마크다운을 제거합니다. 마크다운이 적용되는 인스턴스인 경우, 유저 메뉴에서 해당 인스턴스의 마크다운을 활성화할 수 있습니다. *과 ~로 만들어지는 마크다운을 무효화하나, 해당 문자들의 뒤에 넓이 없는 공백(​)이 추가되는 방식입니다. 따라서 해당 노트를 복사+붙여넣기하면, 당신의 미스키에서 작성해도 마크다운이 적용되지 않으니 유의 바랍니다."
}
@loadList() {
	instanceList = Mk:load("mastodonMarkdown/unapply")
	if (instanceList == null) instanceList = [] else instanceList = instanceList.split(" ")
}
@textReplace(text) {
	text = text.replace("*" "*​")
	text = text.replace("~" "~​")
	return text
}
@removeListItem(user) {
	loadList()

	if (user.host == null) {
		Mk:dialog("마크다운 제외 실패" "이 인스턴스는 당신의 인스턴스입니다!" "error")
	} elif (user.instance.softwareName == "misskey") {
		Mk:dialog("마크다운 제외 실패" "이 인스턴스는 미스키입니다!" "error")
	} else {
		if (instanceList.incl(user.host)) {
			if (Mk:confirm("마크다운 비활성화" `{user.host} 인스턴스의 마크다운을 비활성화 하시나요?` "question")) {
				instanceList = instanceList.filter(@(v) {return v != user.host})
				let text = `{user.host} 인스턴스의 마크다운이 비활성화되었습니다.`
				Mk:dialog("마크다운 비활성화" text "success")
			}
		} else {
			if (Mk:confirm("마크다운 활성화" `{user.host} 인스턴스의 마크다운을 활성화 하시나요?` "question")) {
				instanceList.push(user.host)
				let text = `{user.host} 인스턴스의 마크다운이 활성화되었습니다.`
				Mk:dialog("마크다운 활성화" text "success")
			}
		}

		Mk:save("mastodonMarkdown/unapply" instanceList.join(" "))
	}
}

var instanceList = []
loadList()
Plugin:register_user_action("이 인스턴스의 마크다운 활성화" @(user) {
	removeListItem(user)
})
Plugin:register_note_view_interruptor(@(note) {
	if (note.user.host != null) {
		if (instanceList.incl(note.user.host) == false && note.user.instance.softwareName != "misskey") {
			note.text = textReplace(note.text)
		}
	}
	if (Obj:has(note "reply")) {
		if (note.reply.user.host != null) {
			if (instanceList.incl(note.reply.user.host) == false && note.reply.user.instance.softwareName != "misskey") {
				note.reply.text = textReplace(note.reply.text)
			}
		}
	}
	return note
})

The projects I am currently working on:

  • Fedify: an ActivityPub server framework for TypeScript
  • Hollo: an ActivityPub-powered single-user microblog
  • BotKit: an ActivityPub bot framework for TypeScript
  • LogTape: a simple logging library for TypeScript (used by the above projects)
  • Yoyak: an LLM-powered CLI program for summarizing web pages
  • Hackers' Pub: an ActivityPub-powered blog for software engineers (i.e., a DEV.to for fediverse)

Maybe I'm juggling too many projects at the same time. 😂

hackers.pub

Hackers' Pub

노동시간은 현행법으로도 원칙적으로 주40시간이란 사실은 이미 깡그리 잊히고 변칙적인 52시간만 염불처럼 외면서 그마저도 예외를 만들려는 언행들을 타파해야 한국 노동의 밝은 미래가 있을 것이다

@hongminhee@hollo.social

最近(최근) 進行中(진행중)인 프로젝트들:

  • Fedify: TypeScript() ActivityPub 서버 프레임워크
  • Hollo: 一人用(일인용) ActivityPub 마이크로블로그
  • BotKit: TypeScript() ActivityPub 봇 프레임워크
  • LogTape: TypeScript() 로깅 라이브러리
  • Yoyak: LLM 基盤(기반) 웹페이지 要約(요약)飜譯(번역) CLI 앱
  • Hackers' Pub: ActivityPub 되는 開發者用(개발자용) 블로그 플랫폼

何如間(하여간) 너무 벌린 게 많아서 問題(문제). 😇

hackers.pub

Hackers' Pub

@wolffia@bakedbean.xyz

우리나라도 광동어 '的士'처럼
택시 '宅侍' 등으로 음차했으면
좀 더 직관적이고 참신했을듯

@kodingwarrior@hackers.pub

2024-W07

개밥먹기하면서 개발중인 프로젝트가 크게는 두 개 정도 있는데, 하나는 Phanpy 클론코딩 하다시피 하면서 만드는 Mastodon 클라이언트 (flutter) 하나는 모여서 각자 작업(줄여서 모각작)하는 모임의 회원관리를 하는 플랫폼 (django + vue)

Mastodon 클라이언트는 일단 OAuth 인증이라는 거대한 산을 넘어서, 큰 이변이 있는게 아닌 이상에야 4-5월쯤에는 앱스토어에 출시를 할 것 같다. 원래는 1분기안에 출시를 하려고 생각은 했었지만, 본업이 갑자기 분주해진 관계로 아무리 타협을 봐도 상반기로 공식 릴리즈를 미루고 있다.

모각작 플랫폼은 ActivityPub 생태계 위에서 돌아가는 서비스는 아니지만, 나 포함해서 누군가는 필요로 하기 때문에 진행하고 있다. 실제로 쓸모있는지 아닌지는 여러 모각작 모임에 참여해보면서 직접 영업을 뛸 생각인데, 모각작이 아니더라도 회원관리의 번거로움을 줄이는 방향에 포커스를 맞춘다면 스케일할 수 있는 여지는 충분히 있다.
개발환경 셋팅은 완료했고, 배포 환경은 현재 진행 중이다. "이 정도 쯤이면 쓸만하겠구나!" 하고 가설검증이 완료되기 까지는 2월말까지는 너무 빠듯하고 3월 중 쯤 되어야 빛을 볼 수 있지 않을까...

덩치가 작지는 않은 프로젝트를 시간을 쪼개서 두개씩이나 병행해서 하고 있는데 이대로 괜찮은가.......

phanpy.social

Phanpy

Minimalistic opinionated Mastodon web client

@osapon@mstdn.nere9.help

JSON-LD、真面目にやるかと思って勉強し直しているが、自分で定義作りたいだけなのにしんどすぎる。

@hongminhee@hollo.social

最近(최근) 進行中(진행중)인 프로젝트들:

  • Fedify: TypeScript() ActivityPub 서버 프레임워크
  • Hollo: 一人用(일인용) ActivityPub 마이크로블로그
  • BotKit: TypeScript() ActivityPub 봇 프레임워크
  • LogTape: TypeScript() 로깅 라이브러리
  • Yoyak: LLM 基盤(기반) 웹페이지 要約(요약)飜譯(번역) CLI 앱
  • Hackers' Pub: ActivityPub 되는 開發者用(개발자용) 블로그 플랫폼

何如間(하여간) 너무 벌린 게 많아서 問題(문제). 😇

hackers.pub

Hackers' Pub

@hongminhee@hollo.social
:foxjump:
@root@kmlg.jp

duolingo久しぶりに開いたら旧字体でむずかしいはなし

@hongminhee@hollo.social

㊗️ () 릴리스 () 100() 넘다! :fedify:

https://hollo.social/@fedify/0194efd6-a7c2-79f6-925b-737fc57138b8

hollo.social

A milestone worth celebrating—…

A milestone worth celebrating—#Fedify just hit [100+ releases]! From day one, we've been committed to building a robust #ActivityPub framework, and each release has brought us closer to that goal. Here's to many more releases as we continue growing the #fediverse together! :fedify: #fedidev [100+ releases]: https://github.com/fedify-dev/fedify/releases

A milestone worth celebrating— just hit 100+ releases! From day one, we've been committed to building a robust framework, and each release has brought us closer to that goal. Here's to many more releases as we continue growing the together! :fedify:

Screenshot shows release stats for Fedify: latest version 1.4.1 was released 6 minutes ago, with a green tag showing “Latest.” Total release count shows “+ 100 releases.” A green icon resembling a tag appears next to the Fedify name.
ALT text

Screenshot shows release stats for Fedify: latest version 1.4.1 was released 6 minutes ago, with a green tag showing “Latest.” Total release count shows “+ 100 releases.” A green icon resembling a tag appears next to the Fedify name.

@transborder.bsky.social@bsky.brid.gy

문재인 전 대통령 인터뷰 ① “윤석열 발탁, 두고두고 후회한다” 단독 인터뷰 ㅣ 윤석열 검찰총장 발탁 과정 당시 윤 총장 임명 반대 의견은 소수 ‘욱하는 기질 있고 자기 제어 안된다’ 가까이서 겪어본 이들의 평가라 고민 검찰개혁 의지 긍정적으로 말해 낙점 수정 2025-02-10 16:22 www.hani.co.kr/arti/politic...

hani.co.kr/arti/politics/...

hani.co.kr

문재인 전 대통령 인터뷰 ① “윤석열 발탁, 두고두고 후회한다”

( ☞한겨레 뉴스레터 H:730 구독하기. 검색창에 ’h:730’을 쳐보세요.) 문재인 전 대통령은 7일 <한겨레> 인터뷰에서 윤석열 검찰총장 발탁과 그 이후 그가 이를 발판으로 대통령까지 된 과정, 계엄과 탄핵 사태를 보면서 느꼈던 자괴감을 털어놨다. 문

@pgr0ss@hachyderm.io
@boknews.bsky.social@bsky.brid.gy

“성관계 동의 여부를 헷갈릴 정도면 친밀한 관계일 리가” [도입 찬성 30대 남성 장미씨 인터뷰] www.khan.co.kr/article/2025... "비동의강간죄 도입을 반대하는 이들이 내세우는 주요 논거 중 하나는 ‘성관계에서 동의 여부를 명확하게 확인하기 어렵다’는 것이다. 이 때문에 ‘비동의강간죄가 도입되면 성관계 전 확인서를 써야 한다’는 이야기가 퍼지기도 했다. 이에 대해 장미씨는 단호하게 말했다. “내 상대의 동의 여부를 헷갈릴 정도라면 친밀한 관계가 아닌 것 아닐까?”"

“성관계 동의 여부를 헷갈릴 정도면 친밀한 관계일 리가...

khan.co.kr

“성관계 동의 여부를 헷갈릴 정도면 친밀한 관계일 리가”[비동의강간죄, 다시 국회로①]

비동의강간죄 도입에 반대하는 이들이 가장 많이 내세우는 주장은 ‘성폭력 무고죄가 증가할 것’이라는 점이다. 남초 커뮤니티 등에서 “비동의강간죄가 도입되면 무고죄로 억울하게 수사를 받는 사람이 늘어날 것”이라거나 “강간으로 고소당하지 않으려면 성관계 전 동의했다는 확인서를 써야 한다” 같은 말을 쉽게 찾아볼 수 있다. 모든 남성이 이런 주장에 동의하는 ...