洪 民憙 (Hong Minhee) 
@hongminhee@hollo.social · Reply to dansup's post
@dansup Thanks!! 🥰


@hongminhee@hollo.social · 1042 following · 1722 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 #TypeScript, #Haskell, #Rust, & #Python. They/them.
서울에 사는 交叉女性主義者이자 社會主義者. 金剛兔(@tokolovesme)의 配偶者. @fedify, @hollo, @botkit 메인테이너. #TypeScript, #Haskell, #Rust, #Python 等으로 自由 소프트웨어 만듦.
| Website | GitHub | Blog | Hackers' Pub |
|---|---|---|---|

@hongminhee@hollo.social · Reply to dansup's post
@dansup Thanks!! 🥰

@hongminhee@hollo.social
BotKit is a TypeScript framework I've been building for creating ActivityPub bots that run as their own independent servers—no platform account needed, no Mastodon or Misskey instance to log into. You write a bot, give it a username, and it federates directly with the rest of the fediverse. It's built on top of Fedify, so the low-level protocol work is handled for you: HTTP Signatures, WebFinger, JSON-LD, all of it. What you're left writing is just the bot logic itself.
Version 0.4.0 is out today, with a PostgreSQL repository for production deployments, a remote follow button on the bot profile page, and a few other additions.
Release notes: https://github.com/fedify-dev/botkit/discussions/20

@botkit@hollo.social
BotKit 0.4.0 is out! This release adds @fedify/botkit-postgres, a PostgreSQL-backed repository for deployments where SQLite isn't enough; a remote follow button on the bot profile page, so visitors can follow directly without manually searching from their own instance; and Session.republishProfile(), which lets you push profile changes to followers without waiting for the next post. It also upgrades the underlying Fedify dependency to 2.1.2, with a few small breaking API changes.
Full release notes:
@kodingwarrior@hackers.pub
https://github.com/fedify-dev/botkit/discussions/20
샤라웃되었다. 끼얏호우~

@botkit@hollo.social
BotKit 0.4.0 is out! This release adds @fedify/botkit-postgres, a PostgreSQL-backed repository for deployments where SQLite isn't enough; a remote follow button on the bot profile page, so visitors can follow directly without manually searching from their own instance; and Session.republishProfile(), which lets you push profile changes to followers without waiting for the next post. It also upgrades the underlying Fedify dependency to 2.1.2, with a few small breaking API changes.
Full release notes:

@hongminhee@hollo.social
Everyone in tech talks about moats like they're achievements. I keep reading “moat” and thinking: so the idea is to make leaving expensive. Maybe it's just me, but that feels a little grim.
@element@mastodon.matrix.org
🚀 Spaces has landed on Element X!
Navigate chats by department, project or interest - no more overwhelming room lists.
✨ What’s new: filtered chat lists, dedicated Spaces tab, flexible room creation and previews with context.
👉 Download Element X and explore Spaces today!

@hongminhee@hollo.social
@mikaeru@mastodon.social
An excellent "Introduction to Writing Systems & Unicode" and its "Large character sets", by Richard Ishida @ri

@hongminhee@hollo.social
《標準國語大辭典》 MCP 서버를 만들었습니다.
旣存에도 《標國大》 MCP들이 있긴 한데, 그냥 標題語랑 뜻풀이만 덜렁 주는 데다가, 每番 stdict.korean.go.kr 서버에 要請하는 式으로 作動해서 레이트 리미트에 걸리더라고요. 제가 만든 건 아예 全體 辭典 데이터를 맨 처음에 받은 다음에 그걸 SQLite에 넣고 照會합니다.
@ppatel@mstdn.social
"But I fundamentally disagree with the conclusion.
The proposed solution is denial and isolation: block the crawlers, withdraw from centralized forges like GitHub, make our work inaccessible to AI scrapers, shun those who use these “anti-ethical tools” from our communities. I understand the anger behind it. But I think it misses something important and misreads the historical pattern that has shaped FLOSS itself."
We should reclaim LLMs, not reject them

@hongminhee@hollo.social · Reply to jnkrtech's post
@jnkrtech Oh, “crazy” and “sane” hadn't crossed my mind, but you're right, and those are everywhere in tech. “Sanity check” especially; I use it without thinking. Good point.

@hongminhee@hollo.social
惡魔가 로봇淸掃機에 憑依하는 荒唐한 꿈을 꿨다…

@hongminhee@hollo.social · Reply to John O'Nolan's post
@john That’s fascinating—and it makes sense that you'd notice it more sharply than most. I hadn't really thought about how deep it goes beyond the obvious ones. “Vivid” is a good example; I use it all the time without thinking.

@hongminhee@hollo.social · Reply to Sette (they/them)'s post
@basil Oh, “enlightening” works well in a lot of cases! Though it leans a bit more toward learning something new, so it doesn't always map perfectly.

@hongminhee@hollo.social · Reply to Bimbo's post
@BigTittyBimbo That's a good one, though I wonder if “perspective” itself carries some visual baggage?

@hongminhee@hollo.social
I've been trying not to use words like “blindly” and “eye-opening.” Using blindness to mean not knowing or not noticing something doesn't sit right with me. But English isn't my first language, so finding replacements is harder than I expected. Sometimes “uncritically” works for “blindly,” but not always. I still haven't found a good casual replacement for “eye-opening.” I don't think people who use these words are bad. I just don't want to use them myself.

@hongminhee@hollo.social · Reply to Wartezimmer's post
@Kaesekuchen Honestly, yes, it's global state… just scoped per thread/task. The advantage over a plain global is that you get isolation across concurrent requests without threading values through every call. The debugging experience with contextvars was rough in my memory, though I haven't used it in a while. Statically typed implicits feel safer to me because they desugar to actual arguments, so the compiler keeps track. The footgun either way is that context-dependent functions proliferate silently and become hard to refactor out.

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post
Reading this also made me realize I've had a soft spot for dynamic scoping/implicits for a long time… probably since I first used @mitsuhiko's Flask, where the request context object was just there without you having to pass it around. Felt like magic, then felt like a footgun, then felt like a reasonable tradeoff again. Python has since put contextvars in the standard library, which is essentially the same idea.

@hongminhee@hollo.social
Enjoyed this wiki post by the author of Garnet on effect systems: [[PonderingEffects]]. What I liked is that it doesn't just describe the design space: it's honest about what the author finds confusing or unconvincing, including a skeptical take on algebraic effect handlers specifically. The Lobsters thread is worth reading too; someone points out that what the post calls “effects on data” is already studied under the name coeffects, which was news to me.

@hongminhee@hollo.social · Reply to もちもちずきん🍆's post
@Yohei_Zuho Windows 98!懐かしいですね…
@rmdes@indieweb.social
Having fun with #RSS and #ActivityPub @davew
@hongminhee
---> https://diff.rmendes.net/about
Follow the tool on the fedi with @bot
@liaizon@social.wake.st · Reply to wakest likes your bugs ⁂'s post
act II
@mkljczk speed runs contributing to korean fediverse

@hongminhee@hollo.social
Hmm, Codeberg seems down now?

@hongminhee@hollo.social · Reply to nicole mikołajczyk 🔜 sesja linuksowa ➡️ piwo ➡️ gpn's post
@mkljczk Haha, thanks for your first contribution!
@mkljczk@fediverse.pl
7 minutes from installing Hollo to my first pull request, why it's always like this

@hollo@hollo.social
Hollo has always been headless—no built-in frontend, just a Mastodon-compatible API. You pick your own client. That's kind of the point.
But we've been wondering: what if Hollo shipped its own web frontend? The Mastodon-compatible API would stay, so your current client setup wouldn't change. It'd just be one more option.
Would you use it?
| Option | Voters |
|---|---|
| Yes, I'd switch to it | 3 (6%) |
| Maybe, depending on what it offers | 12 (22%) |
| No, I'd stick with my current client | 8 (15%) |
| I'm just curious / not a Hollo user | 31 (57%) |
@hongminhee@hackers.pub · Reply to An Nyeong (安寧)'s post
@nyeong 제가 추천하는 경량 ActivityPub 서버 소프트웨어 목록:
@rick@rmendes.net
Reading Hong Minhee with my coffee this morning, its again one of these moments where I stumble on something that express exactly (and better) what I had in mind, in a latent space, without being able to express it so beautifully.
I want my code to be used for LLM training. What I don’t want is for that training to produce proprietary models that become the exclusive property of AI corporations. The problem isn’t the technology or even the training process itself. The problem is the enclosure of the commons, the privatization of collective knowledge, the one-way flow of value from the many to the few.
The question isn’t whether to use LLMs or adapt to them—that ship has sailed. The question is: who owns the models? Who benefits from the commons that trained them? If millions of F/OSS developers contributed their code to the public domain, should the resulting models be proprietary? This isn’t just about centralization or market dynamics. It’s about whether the fruits of collective labor remain collective, or become private property.
More from where that come from here, here and here
🔗 https://rmendes.net/bookmarks/2026/03/22/yes-we-should-reclaim-llms-not-reject-them
@rick@rmendes.net
The “for or against AI” framing buries these questions. The reason it looks inconsistent to criticize the major AI vendors while remaining open to LLMs as a technology is that the framing assumes the technology and its capitalist application are the same thing. That assumption is wrong.
🔗 https://rmendes.net/bookmarks/2026/03/22/inspirational-thinking-about-the-whole
@kodingwarrior@hackers.pub
Hackers' Pub Android Client v1.1.1 Released!
I didn't add any features but, Refined Compose Screen's UX flow. Also for home timeline.
You can download here : https://github.com/hackers-pub/android/releases/tag/v1.1.1
RE: https://hackers.pub/@kodingwarrior/019d2de5-b9a6-7b58-9f91-38c84ff9f381
@kodingwarrior@hackers.pub
Next release of Hackers' Pub Android client will have some UI improvements...