洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 1021 following · 728 followers
Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub! My main account is at
@hongminhee洪 民憙 (Hong Minhee)
.
Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다. 제 메인 계정은:
@hongminhee洪 民憙 (Hong Minhee)
.
Fedify、Hollo、BotKit、そしてこのサイト、Hackers' Pubを作っています。私のメインアカウントは「
@hongminhee洪 民憙 (Hong Minhee)
」に。
Website
- hongminhee.org
GitHub
- @dahlia
Hollo
- @hongminhee@hollo.social
DEV
- @hongminhee
velog
- @hongminhee
Qiita
- @hongminhee
Zenn
- @hongminhee
Matrix
- @hongminhee:matrix.org
X
- @hongminhee
@hongminhee洪 民憙 (Hong Minhee) 초대장이 많아진 김에, 이 초대 링크 기능을 써봐야겠네요!
@arkjunJuntai Park 오, 좋습니다! 많이 뿌려주세요! ㅎㅎㅎ
@jj1bdxKenji Rikitake Welcome to Hackers' Pub, Kenji!
Cloudflare Workers 배포와 RFC 9421 (HTTP Message Signatures) 서명 및 검증을 지원하는 Fedify 1.6이 릴리스되었습니다!
We're excited to announce the release of #Fedify 1.6.1, which marks the beginning of the 1.6 series following the retraction of version 1.6.0. This release introduces significant new capabilities that expand Fedify's deployment options and enhance security compatibility across the #fediverse.
🌐 Cloudflare Workers support
Fedify 1.6 introduces first-class support for Cloudflare Workers, enabling #serverless deployment of #ActivityPub applications at the edge.
New components
WorkersKvStore: A key–value store implementation using Cloudflare's KV API for persistent storage in Workers environmentsWorkersMessageQueue: A message queue implementation leveraging Cloudflare Queues for reliable message processing
Key features
- Seamless integration with #Cloudflare's serverless runtime
- Automatic handling of queue message processing through Workers'
queue()method - Support for Node.js compatibility flag required for Fedify's cryptographic operations
- Manual queue processing via
Federation.processQueuedTask()method
For a complete working example, see the Cloudflare Workers example in the Fedify repository.
🏗️ Federation builder pattern
Fedify 1.6 introduces the FederationBuilder class and createFederationBuilder() function to support deferred federation instantiation. This pattern provides several benefits:
- Deferred instantiation: Set up dispatchers and listeners before creating the federation object
- Better code organization: Avoid circular dependencies and improve project structure
- Cloudflare #Workers compatibility: Accommodates binding-based architectures where resources are passed as arguments rather than globals
- Modular setup: Build complex federations piece by piece before instantiation
The builder pattern is particularly useful for large applications and environments like Cloudflare Workers where configuration data is only available at runtime.
🔐 HTTP Message Signatures (RFC 9421)
Fedify 1.6 implements the official HTTP Message Signatures standard (RFC 9421) specification, the final revision of the HTTP Signatures specification.
Double-knocking mechanism
To ensure maximum compatibility across the fediverse, Fedify 1.6 introduces an intelligent double-knocking mechanism:
- Primary attempt: RFC 9421 (HTTP Message Signatures) for modern implementations
- Fallback: Draft cavage version for legacy compatibility
- Adaptive caching: The system remembers which version each server supports to optimize future requests
This approach ensures seamless communication with both modern and legacy ActivityPub implementations while positioning Fedify at the forefront of security standards.
Interoperability testing
The RFC 9421 implementation has been thoroughly tested for interoperability with existing ActivityPub implementations that support RFC 9421 signature verification:
- Mitra 4.4.0: Successfully verified Fedify-generated RFC 9421 signatures
- Mastodon 4.4.0 development version: Tested RFC 9421 signature verification against Fedify's implementation (refer to Mastodon PR #34814, though Mastodon 4.4.0 has not yet been released)
These tests confirm that other ActivityPub implementations can successfully verify RFC 9421 signatures generated by Fedify, ensuring proper federation as the ecosystem gradually adopts the official specification. While these implementations currently support verification of RFC 9421 signatures, they do not yet generate RFC 9421 signatures themselves—making Fedify one of the first ActivityPub implementations to support both generation and verification of the modern standard.
🔍 WebFinger enhancements
Dedicated WebFinger lookup
The new Context.lookupWebFinger() method provides direct access to WebFinger data, offering developers more granular control over account discovery and resource resolution beyond the higher-level Context.lookupObject() method.
🛠 Context API improvements
Context data replacement
The new Context.clone() method enables dynamic context data replacement, providing greater flexibility in request processing and data flow management. This is particularly useful for middleware implementations and complex request routing scenarios.
🚀 Migration considerations
Backward compatibility
Fedify 1.6 maintains full backward compatibility with existing applications. The new HTTP Message Signatures and double-knocking mechanisms work transparently without requiring any code changes.
Node.js version requirement
Important: Fedify 1.6 requires Node.js 22.0.0 or later for Node.js environments. This change does not affect applications using Deno or Bun runtimes. If you're currently using Node.js, please ensure your environment meets this requirement before upgrading.
New deployment options
For new deployments, consider leveraging Cloudflare Workers support for:
- Global edge deployment with low latency
- Serverless scaling and automatic resource management
- Integration with Cloudflare's ecosystem of services
🎯 Looking forward
Fedify 1.6 represents a significant expansion of deployment possibilities while maintaining the framework's commitment to broad compatibility across the fediverse. The addition of Cloudflare Workers support opens new architectural patterns for federated applications, while the RFC 9421 implementation ensures Fedify stays current with emerging ActivityPub security standards.
For detailed migration guides, API documentation, and examples, please visit the Fedify documentation. Join our community on Matrix or Discord for support and discussions.
#fedidev #RFC9421 #HTTPSignatures #HTTPMessageSignatures #CloudflareWorkers
TIL the distinction between
$ cat << EOF
and
$ cat << 'EOF'
and… dang. Shell syntax sure is… something
if you ever have to write shell scripts, please, please run https://www.shellcheck.net over them before running them
Gemini-2.5-pro-preview-06-05
------------------------------
- 정식 출시전에 최신 *Gemini 2.5 Pro* 의 미리보기 버전이 이용 가능해짐
- LMArena, WebDevArena 등 주요 평가에서 기존 모델 대비 *24~35점 Elo 상승*
- *코딩, 과학, 수학, 멀티모달 이해, 장문 컨텍스트 처리 등 주요 벤치마크에서 최상위 성능* 을 기록
- 입력 가격 $1.25, 출력 가격 $10(백만 토큰…
------------------------------
https://news.hada.io/topic?id=21317&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
Did you know? #Fedify provides #documentation optimized for LLMs through the llms.txt standard.
Available endpoints:
- https://fedify.dev/llms.txt — Core documentation overview
- https://fedify.dev/llms-full.txt — Complete documentation dump
Useful for training #AI assistants on #ActivityPub/#fediverse development, building documentation chatbots, or #LLM-powered dev tools.
뭐든 잘 만드려면 공부를 해야 하는데, 공부를 안 하고 만들기만 많이 만드는 느낌이다…
와, 대박.... 해커스펍 초대링크 구현 엄청 아름답게 되었음...
@nolakyu 님, 어서 오세요!
@20chan 님, 어서 오세요!
@drkup 님도 어서 오세요!
@viram비람 님, 어서 오세요!
日本のソフトウェア開発者の皆様をHackers' Pubにご招待します。Hackers' Pubは、ActivityPubを実装するソフトウェア開発者のためのSNSであり、ブログプラットフォームです。MastodonとQiitaやZennをミックスしたような雰囲気です。短文(投稿)と長文(記事)の両方に対応しており、ActivityPub上では投稿はNote、記事はArticleとして表現されます。また、快適な技術ブログ執筆のために、TeX数式やGraphvizダイアグラムなど、さまざまなMarkdown拡張にも対応しています。ご興味のある方は、下記の招待リンクから先着25名までご登録いただけます。
https://hackers.pub/@hongminhee/invite/0197453c-95a9-7542-8c23-dc213ba07fb0
Hackers' Pub에 공유할 수 있는 초대 링크 기능을 추가했습니다. 설정 → 초대 페이지에서 초대 링크 생성이 가능하며, 초대 링크는 정원이나 유효 기간, 메시지를 정할 수 있게 되어 있습니다. 아무래도 DM으로 직접 초대 요청을 달라고 하면 쑥스러움이 많은 분들은 요청을 안 하시는 경우가 많은 것 같아서 만들게 되었습니다. 참고로, 초대 링크를 통해 가입한 사용자는 초대 링크를 생성한 사람과 자동으로 맞팔하게 됩니다.
@hongminhee洪 民憙 (Hong Minhee) staged되지 않은 변경도 커밋 메시지에 포함되버려서 안쓰고있는데, 그걸 프롬프팅으로 해결할수가 있군요?
@bglbgl gwyng 네, 저도 처음에 그래서 잘 안 쓰다가 해법을 찾았습니다. ㅋㅋㅋ
요즘에는 커밋 메시지 작성하기 귀찮을 때 LLM을 많이 쓴다. Warp나 Claude Code에서 아래와 같은 프롬프르트를 주로 쓰는 편:
Please make a commit for the currently staged changes with an appropriate commit message. The first line of the commit message should be short and concise.Hackers' Pub에 초대 링크 공유 기능을 구현했습니다. 아직 머지는 안 했고요. 심심하신 분들은 한 번씩 살펴보시고 딴지 걸어주시면 감사하겠습니다.
다들 그렇듯 나도 나이먹으면서 점점 관심없는 주제로 별로 안친한 사람들과 스몰토크하는 것에 익숙해졌는데, 여전히 사주팔자/점술 이런 얘기가 나오면 도저히 뭐라고 맞장구를 쳐야할지 모르겠다. 이야기하는 그룹에 그런거 좋아하는 사람이 여러명 있을땐 그들끼린 너무 즐겁게 그 주제로 꺄르르르호호호 하는데, 주제가 좋고 싫고를 떠나서 진짜 한마디도 할 마디도 거들수가 없더라. 그나마 비꼬지 않고 닥치고 있는게 철든 결과물인듯하다.
@bglbgl gwyng 저도 그래요… ㅋㅋㅋ 그냥 허허허 웃고만 있게 됩니다.
tauri를 좀 써보니 진짜 약간의 레이어만 있으면 바로 웹서비스로도 만들 수 있을 것 같은데... 그 약간이 문제겠지...
React만 쓰다가 solidjs를 시도 해봤는데, 홍보하고 있는 장점을 전혀 못 느끼고 있다. 물론 solidjs자체의 문제는 아닌 것 같고, 같이 쓰는 라이브러리의 문제인 것 같다. 일단 Router의 Context Provider와 Route 정의 트리의 시작이 분리가 안되어있고, 부분 경로 별로 레이아웃을 가지는 형태로 작성이 어려운 것 같다. 그리고 A 요소도 어째 동작을 안하게 되었는데 무엇이 문제인지 모르겠다. 디자인 작성이 싫어서 SUID - MUI (react material design)의 solidjs포트 - 를 썼는데 어째서인지 안쓰는 모듈까지 잔뜩 로드하느라 첫 렌더가 너무 느리다.
Even with close confirmation I sometimes close my terminal and think "OH FUCK NO." Coming soon to Ghostty, you can undo that. 🥰 (Technical details: we keep the terminal running for a configurable time in the background before terminating for real, similar to email undo send).
(macOS only for now, AppKit APIs provide a nice undo manager implementation that eases this quite a bit. I still have to do research on GTK for Linux.)
@hollo 코딩 불감증… ㅋㅋㅋㅋ 재밌는 표현이네요. 맞는 것 같습니다.
JavaScript의 Intl.* API들 참 유용하고 좋다.
요즘 왜 이리 코딩이 귀찮지…
이번 오픈 소스 컨트리뷰션 아카데미 참여형 프로그램을 통해 Fedify도 적어도 메인테이너 한 사람 더 만드는 게 목표.
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (
@thisismissemEmelia 👸🏻) has joined as a co-maintainer alongside Hong Minhee (
@hongminhee洪 民憙 (Hong Minhee)
).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
Hackers' Pub 오프라인 모임하는 상상
참고로 파이콘 다른 커뮤니티 후원사는 여기 있습니다.
몰랐는데 해커스팝 파이콘 공식 커뮤니티 후원사 됬구나...??
いつかHolloに独自のフロントエンドを実装したいんだけど、どのフレームワークを使うか迷ってる。SvelteかSolidのどちらかに成りそうだけど…とりあえずReactは使いたくないんだよね。
@morealLee Dogeon 저도 이제 쓸 수 있게 됐네요!
Looks like Deno DeployEA no longer supports cron and queues. It was a great feature in Deno Deploy—what a shame.
@yonghyunkim 님, 어서 오세요!
해커스펍에도 퍼리맨들 데려와서 털 뿌리고 싶지만 참는 중
@joonnotnotJoon 누구라도 환영입니다! ㅎㅎㅎ 모두 데려와 주세요.
以前はウェブサーバーとしてnginxしか使っていませんでしたが、最近は主にCaddyを使う様に成りました。
@hongminhee洪 民憙 (Hong Minhee) 저어는... 모델을 추가할 수 있는 권한이 없는 엔터프라이즈 계정으로 쓰고 있습니다. ㅋㅋㅋ... 😇
@perlmint 아… 회사에서 쓰고 계시는군요 😅
@hongminhee洪 民憙 (Hong Minhee) 아 근데 오늘 새벽 공지 보니까 deploy-ea 채널에 있으면 자동으로 얼리 엑세스에 참여할 수 있나봐요. 저 Discord Early Access Role만 얻으면 될지도... 🤔
으아악... 클로드에게 typescript시키는데도 미묘하게 멍청하게 작업한다...
@perlmint TypeScript는 Claude Sonnet 3.7보다 Claude Sonnet 3.5 2024-10-22가 더 잘한다는 얘기도 있더라고요. Claude Sonnet 4는 어떤지 잘 모르겠습니다만…
머지되었다!
이제 Hackers' Pub에서도 구문 강조에 light-dark() 함수를 쓰게 되었다!
def main():
print("Hello, world!")
슈티를 페디버스에 연동하기 전에 UI 만드는 중인데 사실상 인스타 클론코딩이라서 좀 현타가 오고있다ㅋㅋ
패치를 보내긴 했는데, 제대로 한 건지… 😂
머지되었다!
셀프 호스트는 Enterprise 플랜에서만 쓸 수 있나보네
@morealLee Dogeon 얼리 액세스 저는 아직 안 되던데… 어떻게 켜셨나요?
유려한 애니메이션과 화면 전환을 갖춘 앱을 만들려면 실행중에 요소의 크기를 측정하는 등의 동작이 필수란걸 점점 깨닫고 있다. 또는, 정적으로 레이아웃 정보를 미리 알수있는 방법이 있다면 더 좋겠다만.
시스템과 설계에 대한 짧은 생각들을 정리해 내 행동강령으로 삼기로 했다. https://github.com/notJoon/menifesto
@ak 무척 재밌게 읽었습니다! 뒷부분도 어서 읽고 싶네요… WYSIWYG 편집기 개발은 아마도 스프링노트 얘기겠죠?









