Profile img

Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub! My main account is at @hongminhee洪 民憙 (Hong Minhee) :nonbinary:.

Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다. 제 메인 계정은: @hongminhee洪 民憙 (Hong Minhee) :nonbinary:.

FedifyHolloBotKit、そしてこのサイト、Hackers' Pubを作っています。私のメインアカウントは「@hongminhee洪 民憙 (Hong Minhee) :nonbinary:」に。

Website
hongminhee.org
GitHub
@dahlia
Hollo
@hongminhee@hollo.social
DEV
@hongminhee
velog
@hongminhee
Qiita
@hongminhee
Zenn
@hongminhee
Matrix
@hongminhee:matrix.org
X
@hongminhee

의견을 구합니다.

코드 서명 문제를 두고 생각해보다가 떠올린 아이디어가 있습니다.

Java 애플리케이션들을 보면, 매우 투박하고 우악스럽지만 java.exe 째로 배포하면서 이걸 jar나 war와 함께 배포하면서 간단한 배치 파일 하나만 두는 경우를 많이 봅니다.

닷넷도 사실 그렇게 할 수 있습니다. 심지어 Microsoft가 zip 타입의 무설치 패키지도 제공하니까요!

다만 상술했듯 투박합니다. 하지만 배포에 관한 어려움을 푸는데 이 만한 넛지도 없을것 같습니다.

그래서 닷넷 프로젝트를 이렇게 런타임이나 SDK 째 배포할 수 있게 돕는 패키지 제작 도구가 있다면 쓰임새가 많지 않겠는가 하는 생각을 해봤습니다.

이런 도구가 있다면 한 번 써보게 되실까요? 🧐

https://forum.dotnetdev.kr/t/topic/14333?u=rkttu

1
4

"아무도 안 만드는 것 같아서 내가 해야지"하고 해커스펍 안드로이드 클라이언트를 Jetpack Compose로 바이브코딩했는데 내가 코어 메인테이너가 되어버린 건에 대하여

https://github.com/hackers-pub/android

6
5
5
1
2
3

https://youtu.be/LvW1HTSLPEk?si=n1DXpApVO6YE80tC Claude Code TUI가 React로 터미널 화면을 reactive하게 60 fps로 렌더링하고 일종의 게임 엔진처럼 화면을 그린다는... 얘기를 하고 있는데... 아니 대체 왜죠...

4

TIL: Biome은 자체적으로 만든 AST 쿼리 언어인 GritQL을 통해 Plugin 시스템을 제공한다. [문서]

language js

// 4개 이상의 서로 다른 useState를 사용하는 경우
or {
  `function $name($args) { $body }`,
  `$name = ($args) => { $body }`,
  `$name = forwardRef(($args) => { $body })`,
  `$name = React.forwardRef(($args) => { $body })`,
  `$name = forwardRef(function($args) { $body })`,
  `$name = React.forwardRef(function($args) { $body })`,
  `$name = memo(($args) => { $body })`,
  `$name = React.memo(($args) => { $body })`,
  `$name = memo(function $name($args) { $body })`,
  `$name = React.memo(function $name($args) { $body })`
} where {
  $body <: contains `$t1 = useState($a1)` as $b1 where {
    $body <: contains `$t2 = useState($a2)` as $b2 where {
      or { not $a2 <: $a1, not $t2 <: $t1 },
      $body <: contains `$t3 = useState($a3)` as $b3 where {
        or { not $a3 <: $a1, not $t3 <: $t1 },
        or { not $a3 <: $a2, not $t3 <: $t2 },
        $body <: contains `$t4 = useState($a4)` as $b4 where {
          or { not $a4 <: $a1, not $t4 <: $t1 },
          or { not $a4 <: $a2, not $t4 <: $t2 },
          or { not $a4 <: $a3, not $t4 <: $t3 },
          register_diagnostic(
            span = $name,
            message = "컴포넌트 안에서 너무 많은 useState를 쓰고 있습니다."
          )
        }
      }
    }
  }
}
Biome에 커스텀 룰을 적용한 모습
2
2
1
2

Cloudflare just published a vibe coded blog post claiming they implemented Matrix on cloudflare workers. They didn't, their post and README is AI generated and the code doesn't do any of the core parts of matrix that make it secure and interoperable. Instead it's littered with 'TODO: Check authorisation' and similar

blog.cloudflare.com/serverless

2
0
4
5
0
0
1
2
1

요즘 LLM 어시스턴트로 코딩을 하게 되면서, 작업 과정의 투명성 차원에서 세션 스레드를 공유한 뒤 퍼머링크를 커밋 메시지에 첨부하는 Amp Code의 방식을 OpenCode에서도 써볼까 고민중인데… 문제는 내가 프롬프트를 주로 한국어로 쓴다는 것. 프롬프트를 영어로 써야 할까…? 🤔

2

클로드 코드나 코덱스 등을 쓰면 작업한 데이터가 다시 각 모델의 학습에 쓰일거고 이러면 성능이 떨어지는 오픈웨이트 모델들이 격차를 따라잡는게 더 힘들어진다. 작업 내용을 export해서 오픈데이터셋 등에 쉽게 기여할 방법이 없을까?

2
2

AI 코딩 도구 업계에서 매주 새로운 "필수 도구"가 등장합니다. 안 쓰면 뒤처진다는 메시지가 넘쳐나죠.

그런데 모든 AI 서비스 업체가 "AI는 실수할 수 있으니 꼭 확인하라"고 말하면서, 동시에 "에이전트 다섯 개를 병렬로 돌려야 진짜 생산성"이라고 합니다. 이 두 메시지, 동시에 성립할 수 있을까요?

이번 아티클에서 hype의 구조, 백그라운드 에이전트의 HITL 제거 위험, 그리고 Visual Studio 2026 디버거 에이전트가 보여주는 전통적 IDE의 가치를 다뤘습니다.

https://devwrite.ai/ko/posts/ai-coding-tools-fomo/

6

클로드 코드나 코덱스 등을 쓰면 작업한 데이터가 다시 각 모델의 학습에 쓰일거고 이러면 성능이 떨어지는 오픈웨이트 모델들이 격차를 따라잡는게 더 힘들어진다. 작업 내용을 export해서 오픈데이터셋 등에 쉽게 기여할 방법이 없을까?

3

This brings back memories. Before Python had async/await, before asyncio became standard, I was happily writing concurrent code with gevent. I actually preferred it.

The reason was simple: no function color problem. With async/await, you split the world into two kinds of functions—ones that block by default and ones that don't. You have to mark the latter with async and remember to await them. With gevent, everything just blocks by default, and you spawn when you need concurrency. It's the same mental model as multithreading, just lighter. Project Loom in Java does something similar, though the technical details differ.

I sometimes wonder what Python would look like if it had embraced gevent-style coroutines in CPython instead of adding async/await. Or if Stackless Python had been accepted upstream. Maybe async programming would be more approachable today.

The explicit await keyword gives you visibility into where context switches can happen, sure. But in practice, I/O points are obvious even without the keyword—you're reading from a socket, querying a database, making an HTTP request. The explicitness doesn't really prevent race conditions or timing bugs. Meanwhile, function colors infect everything. One async library forces your entire call stack to be async. You end up maintaining both sync and async versions of the same code, or the ecosystem just splits in two.

With gevent, there's no such problem. You just call functions. Spawn them if you want concurrency, call them normally if you don't. Go's goroutines and Project Loom are popular for good reasons—they make concurrency accessible without the cognitive overhead.

Python's choice is history now, and there's no going back. But looking at how things turned out, I can't help but think the more practical path was right there, and we walked past it.

4
1
2

Idea: "The unbillionaires list", to promote contributors to the common.

A collaborative website that lists people who created something useful to millions but purposedly choose to put in in the common and didn’t earn money directly from it (or not as much as expected)

Besides those listed in ploum.net/2026-01-22-why-no-eu

I would add Henri Dunant (Red Cross, he died in great poverty), Didier Pittet (who invented the hydroalcoolic gel we now use everyday).

1
0
0

On February 3rd (very soon!) I am hosting another [BERLIN FEDERATED NETWORK EXPLORATION CIRCLE] at @offline. It's a chance to meet and talk with people who are interested in the & networking & exploration & circ---you get the idea.

We have the pleasure of having @hongminhee洪 民憙 (Hong Minhee) :nonbinary: who will give a presentation about @fedifyFedify: ActivityPub server framework "an opinionated framework for TypeScript that handles the protocol plumbing"

It is an open free event and everyone is welcome!

BERLIN FEDERATED NETWORK EXPLORATION CIRCLE
BEFENEC? BEFENEEXCI?
we have 洪 民憙 (Hong Minhee) all the way here from 
Korea with a presentation about Fedify, a fediverse
library they have been building that is now powering
the federation of things like Ghost and Hackers' Pub

come join us offline
at offline
Lichtenrader Str. 49
Berlin
1
0
2
1

종료 시그널이 들어왔을 때 잘 처리되는지, 상위 context가 계속 잘 전파되는지를 확인하는게 관건이긴 하군

1

컨텍스트 창 크기가 20만 토큰이라는 건 (1대 1로 비교할 수 있는 건 아니고 경우와 사람마다 다르겠지만) 인간 기준으로 어느 정도 느낌을 가지는 크기인지 궁금하다. 한 사람이 가지는 컨텍스트 창은 당연히 무한할 수는 없고 생각보다 그렇게 크지 않을 수도 있다는 얘기도 있다. 예를 들면 개발자도 일할 때 이런 저런 문의와 과제가 쌓이면 “컨텍스트 스위칭” 비용에 대한 불만을 토하기도 하니까.

3
2
3
1

洪 民憙 (Hong Minhee) shared the below article:

upcoming fediverse events

Liaizon Wakest @wakest@hackers.pub

Jan 26th, online

  • Fediverse-Sprechstunde (in German)

Jan 31st, Brussels

  • FOSDEM: Fediverse Integration into (EU) Public Administration

  • FOSDEM: Social Web Devroom (25 presentations)

February 1st, Berlin

  • Digital Independence Day: Punk Tour of the Fediverse (in German/English)

February 1st, Brussels

  • FOSDEM: Shaping the Future of Events and Calendars in the Fediverse
  • FOSDEM: The Fediverse and the EU's DSA: solving the challenges of modern social media?

February 3rd, Berlin

  • BERLIN FEDERATED NETWORK EXPLORATION CIRCLE: Fedify

February 4th + 5th, London

  • Protocols for Publishers

February 22nd, Vancouver

  • FediCollective: Co-Creating the Web

February 24th, Montreal

  • FediMTL: digital sovereignty and the social web

March 2nd, online

  • Growing the Open Social Web: An Online FediForum Un-Workshop

March 19th + 20th, Amsterdam

  • Nodes on a Web: The Fediverse in/for Public Institutions

July 8th to the 12th, Germany

  • DWeb Camp 2026
Read more →
5

집에서 홈서버로 몇가지 서비스를 굴리면서 cloudflare tunnel을 사용하지 않던 이유가 몇가지 있는데...

  1. 캡슐화를 위해 추가 데이터가 덕지덕지 붙어 스루풋에 손해가 있다. 특히 패킷의 크기가 작으면 배보다 배꼽이 더 커진다.
  2. 목표 서버는 내 방안에 있는데 정작 송신을 하면 패킷이 먼 곳, 심하면 바다를 건너 갔다 올 수 있다. 이걸 막으려면 자체적으로 DNS 서버를 굴려야하는데, 심심하면 서버를 재시작하는데다가 매 장치마다 DNS 설정을 해주는 건 너무 귀찮은 일이다.
  3. http(s)가 아닌 서비스의 경우(메일서버라던가) 매우 처리가 귀찮아진다. 해결하는 방법이 아예 없는 건 아니지만 그럴 바에야 그냥 포트를 열어주는 게 훨씬 편하다.

사실 위 문제는 cloud native라면 별 문제가 없는 것들이긴 하다만... 아직까지 내 작은 SBC 서버에는 아직 시기상조인 것 같다.

3
1

Ghostty has a really well-balanced AI usage policy. It doesn't ban AI tools outright, but it sets clear boundaries to prevent the common problems we're seeing in open source contributions these days.

What stands out is that it's not about being anti-AI. The policy explicitly says the maintainers use AI themselves. The rules are there because too many people treat AI as a magic button that lets them contribute without actually understanding or testing what they're submitting. The requirement that AI-generated PRs must be for accepted issues only, fully tested by humans, and properly disclosed feels like basic respect for maintainers' time.

I'm thinking of adopting something similar for my projects, even though they're not at Ghostty's scale yet. Better to set expectations early.

0

Another thought just struck me today, though, and comes from the perspective of my current role as a maintainer of heavily-used open source software projects: while an agents file may be a hint that makes us curmudgeons roll our eyes and step away in disgust, the dark forest of vibe coders exists, and they're probably opening PRs on your projects. Some people are probably vibe coding without even knowing it, because LLM-powered autocomplete is enabled in their IDE by default or something. In that reality, an AGENTS.md might also be the best protection you have against agents and IDEs making dumb mistakes that are, often, very hard to notice during a code review. If you maintain projects that welcome third-party contributions, you deserve to at least know that you've given the agents some railings to lean on.

You might not trust vibe coders, but if you can gently guide the vibes, maybe it's worth the cringe or two you'll get from seasoned engineers.

AGENTS.md as a dark signal, Josh Mock

2
6

この問題について、以前は「優れたソフトウェアエンジニアになるには、英語が一定のレベル以上できなければならない」と考えていましたが、今は考えが変わりました。自国語でも十分にコーディングができるよう、技術的・文化的な土壌が整えられるべきです。

0