@hongminhee洪 民憙 (Hong Minhee) 行動規範の内容に惹かれて登録しました。素敵な場を作ってくれてありがとうございます!
洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 959 following · 674 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
@shiromadaraしろまだら どうかこの空間が快適で有益でありますように!🥰
@shiromadaraしろまだら さん、Hackers' Pubへようこそ!
FEPの日本語化をするかRFC実装するかゲームするか
@AmaseCocoaここあにゃん
RFCの実装はバイブコーディングで行い、FEPの翻訳はLLMに任せて、AIが作業している間はゲームをしてください。
“조용한 연합우주” 문제를 해결하는 두 가지 접근법: 대화 백필링 메커니즘
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
이 글은 연합우주(fediverse)에서 발생하는 "조용한 연합우주" 문제, 즉 대화의 일부만 보이는 현상의 원인과 해결책을 탐구합니다. ActivityPub 프로토콜의 분산 특성으로 인해 대화가 여러 서버에 분산되어 저장되면서 발생하는 이 문제를 해결하기 위해, 답글 트리 크롤링과 컨텍스트 소유자 기반 방식이라는 두 가지 주요 접근법을 제시합니다. 답글 트리 크롤링은 모든 답글을 순차적으로 가져오는 방식이지만 네트워크 취약성과 작업량 증가의 단점이 있고, 컨텍스트 소유자 방식은 대화의 원 작성자가 대화 내용을 관리하는 중앙화된 접근법이지만 컨텍스트 소유자에 대한 의존성이 높다는 단점이 있습니다. 또한, 모더레이션 패러다임의 충돌과 상위 전파 누락 문제와 같은 논쟁점을 지적하며, 주기적 크롤링, 사용자 트리거, 멘션 기반 백필과 같은 추가적인 백필 메커니즘을 소개합니다. 마지막으로, FEP 수렴 논의와 구현체 간 협력 현황을 통해 향후 개발 방향으로 하이브리드 접근법의 표준화를 제시하며, 다중 전략 구현, 리소스 관리, 모니터링 및 로깅의 모범 사례 가이드라인을 제시합니다. 이 글은 연합우주가 더욱 풍부하고 연결된 소셜 네트워크로 발전하기 위한 노력과 사용자 경험 개선의 중요성을 강조합니다.
Read more →
@hongminhee洪 民憙 (Hong Minhee) 그래도 설정 파일 스키마가 바뀌었을 때 자동 업그레이드 지원하는 기능이 있어서, 당장 대충 만들어둬도 크게 문제는 없을 것 같긴 하더라구요 😂
@xiniha 그거 믿고 대충 만든 걸까요…? 😂
Claude의 모델들은 다 좋은데 컨텍스트 윈도가 짧은 게 항상 너무 아쉽다.
@hongminhee洪 民憙 (Hong Minhee) 잘만든 설정 파일 형식의 예시로 어떤게 있을까요? 저는 애초에 큰 기대가 없어서 VS Code 설정도 덜컹덜컹 돌아가는 상태로 살고 있거든요.
@bglbgl gwyng 저도 딱히 뚜렷한 견해가 있는 건 아닌데, Zed 설정 파일은 뭔가 뜻대로 잘 안 되네요…
Zed 설정 파일 형식은 VS Code보다 구조화도 덜 되어있고 쓰기에도 불편한 것 같다. 주먹구구식으로 만든 느낌…
평소에 함수형 언어 매니아들이 주장하는만큼 이펙트를 엄격하게 구분하는게 중요하다곤 생각안했는데, local first 앱을 만들다가 네트워크 요청을 포함한 IO와 그렇지 않은 IO를 구분해야하는 이유를 찾았다. 앱의 초기화 로직에 네트워크 요청이 숨어있으면 API 서버 장애시 앱이 아예 안켜지는 문제가 있다. 방금 이거랑 관련된 버그 찾느라 시간을 많이 썼다.
좀더 부연설명을 하자면, 앱 실행시에 API 서버에 네트워크 요청을 보내는건 괜찮다. 하지만 그 요청에 대한 응답을 기다리도록 하면 안된다. API 서버에 장애가 났을때도 앱이 켜지긴 해야하니까 말이다. 그럼 이때, 요청을 보내는 것과 응답을 기다리는걸 구분을 해야하는데, 이건 평범하게 이펙트를 분리하는걸론 달성 못할것이다. 우리가 effectful하다고 하는 것도 결국 함수에 대한 설명으로, 함수는 인자를 주는것과 결과를 받는것이 결합되어 있다. 이 둘을 송신과 수신으로 분리해놓은 세션 타입을 사용해야 내가 원하는 바를 정확히 기술할수 있을거 같다.
@nove_b さん、いらっしゃいませ!
こんにちは!色々使わせていただきます。面白そうなプロダクトなので期待してます!
@hongminhee洪 民憙 (Hong Minhee) なるほど、期待してます!
どんどん盛り上がると良いですね。
@nove_bnove-b🦥 ありがとうございます。頑張ります!
Hackers' Pub登録したけど、クライアントに対応してない?
@nove_bnove-b🦥 Mastodon互換APIを実装していないため、まだモバイルアプリはありません。今後公式モバイルアプリを制作する予定です。
Hackers' Pub登録したけど、クライアントに対応してない?
@nove_b さん、いらっしゃいませ!
We're migrating Hackers' Pub to a pretty unconventional tech stack, and I'm honestly excited about it!
Thanks to my friend @xiniha, we're diving into #Solid, #SolidStart, #Pothos, #GraphQL, and #Relay. In a world dominated by Next.js and React, this feels refreshingly different. And yes, we're sticking with #Deno instead of Node.js too.
Some might call it contrarian, but I like to think of it as exploring what's possible beyond the mainstream. Sometimes the road less traveled leads to interesting places.
오늘 @xiniha 님 소환해서 배운 것:
- SolidStart 기본적인 사용법
- SolidStart 위에서 GraphQL 질의해서 결과 갖다 쓰는 법
- GraphQL + Relay에서 커넥션에 추가 필드 끼워넣는 법
- SolidStart에서 shadcn/ui…가 아니라 solid-ui 쓰는 법
그리고 배운 건 아니고 그냥 @xiniha 님이 다 해주신 것:
- Lingui를 이용한 국제화 세팅
- Deno를 쓰기 때문에 생기는 온갖 트러블들 해결
이제 이 새로운 스택으로 Hackers' Pub을 재구현하기만 하면 된다…! 다행히 도메인 모델은 분리되어 있어서, UI 위주로 재작성하면 될 것 같다.
洪 民憙 (Hong Minhee) shared the below article:
스마트폰 카메라 사용이 불가능한 환경에서 TOTP QR코드 옮기기
변규홍 / combacsa @combacsa@hackers.pub
이 글은 2차 인증 시 QR 코드 스캔이 불가능한 환경에서 TOTP를 등록하는 방법을 소개합니다. 카메라를 사용할 수 없고, 파일 반출이 금지된 Windows 환경에서 Python과 QR 코드 리더 패키지(qreader)를 사용하여 QR 코드를 해독합니다. 해독된 비밀 키를 KeePassXC에 등록하여 TOTP를 생성하고, 이를 통해 2차 인증을 완료합니다. 이후 Google Authenticator 앱에도 동일한 비밀 키를 등록하여 편의성을 높입니다. 마지막으로, 더 간편한 방법(PyOTP 사용)이 있었을지에 대한 질문을 던지며 마무리합니다. 이 글은 제한된 환경에서 TOTP 등록 문제를 해결하는 실질적인 방법을 제시하고, 독자에게 추가적인 탐구의 여지를 남깁니다.
Read more →요즘 본격적인 바이브 코딩 말고 자잘한 수정은 그냥 Warp에서 에이전트 모드를 쓰고 있는데, 적당히 잘 굴러가서 괜찮다.
페미위키 개발팀에서 오픈 소스 컨트리뷰터 및 개발팀을 모집한다고 합니다!
안녕하세요, 페미위키 개발팀입니다. 개발팀 활성화를 위해 이리저리 둘러보다 해커스펍에 대해 알게 되었습니다. 여건이 되면 페미위키 개발에 대해서 얘기할 수 있는 기회를 만들어보려 합니다!
더불어 페미위키 개발팀에서 오픈소스 컨트리뷰터 & 개발팀을 모집합니다! 페미니스트시라면 정체성 불문, 거주국 불문하고 모시고 있습니다. 함께 페미니즘 정보집합체 만들어가요!
페미위키 개발팀(
@femiwiki페미위키 개발팀)을 환영합니다!
이제 Fedify도 Cloudflare Workers에서 돌아가게 됐으니 BotKit을 Cloudflare Workers에서 돌아가게 해야…하는데, 일단 Deno 전용인 것부터 해결해야겠구나.
@AiOO 오… 속도 차이가 엄청나군요. (속도 차이가 포인트 맞죠?)
@hongminhee洪 民憙 (Hong Minhee) 네 맞아요! 정확히 알지는 못하지만 일단 노이즈(오류)가 있는 결과를 만들고 몇 번의 반복된 스텝으로 노이즈를 줄여나가는 방식이어서, 이전 결과 마지막에 토큰을 계속 이어 붙이는 방식보다 빠른 것 같습니다.
Gemini Diffusion 모델 테스트 중. 실존하는 기술이었다니..
@hongminhee洪 民憙 (Hong Minhee) 아마 스트리밍이 되면 [이 영상](https://framerusercontent.com/assets/YURlGaqdh4MqvUPfSmGIcaoIFc.mp4)처럼 보일 거예요. Stable Diffusion처럼 이미지를 생성하는 모델이면 중간 결과를 보여줘도 괜찮을 텐데 텍스트라 좀 애매할 것 같기두 합니다. 저는 보기에 이쁘긴 하지만요.
참고로 영상의 출처는 확산 모델로 사업하고 있는 인셉션 랩이라는 곳의 홈페이지입니다.
https://www.inceptionlabs.ai/introducing-mercury
@AiOO 오… 재밌네요. 새로운 문물을 알게 되었습니다.
[페미위키 6월 운영팀 모집]
운영팀은 페미위키를 어떻게 키워낼까 고민하는 개인들의 모임이며 여성혐오자가 아니라면 추가 조건 없이 함께할 수 있습니다.
운영팀 연락에 사용할 구글 지메일로 admin@femiwiki.com으로 지원 동기를 적어 보내주세요. (제목 "페미위키 운영팀 지원")
@hongminhee洪 民憙 (Hong Minhee) 네 맞아요! 정확히 알지는 못하지만 일단 노이즈(오류)가 있는 결과를 만들고 몇 번의 반복된 스텝으로 노이즈를 줄여나가는 방식이어서, 이전 결과 마지막에 토큰을 계속 이어 붙이는 방식보다 빠른 것 같습니다.
@AiOO 아… 그래서 스트리밍이 안 되나 보군요?
Gemini Diffusion 모델 테스트 중. 실존하는 기술이었다니..
@AiOO 오… 속도 차이가 엄청나군요. (속도 차이가 포인트 맞죠?)
평소에 함수형 언어 매니아들이 주장하는만큼 이펙트를 엄격하게 구분하는게 중요하다곤 생각안했는데, local first 앱을 만들다가 네트워크 요청을 포함한 IO와 그렇지 않은 IO를 구분해야하는 이유를 찾았다. 앱의 초기화 로직에 네트워크 요청이 숨어있으면 API 서버 장애시 앱이 아예 안켜지는 문제가 있다. 방금 이거랑 관련된 버그 찾느라 시간을 많이 썼다.
적절한 타이밍
Fedify 1.6
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
Fedify 1.6.1がリリースされ、Cloudflare Workersへの対応やセキュリティ互換性の向上が図られました。サーバーレス環境でのActivityPubアプリケーション実行を可能にするため、Cloudflare KV APIを利用した`WorkersKvStore`や、Cloudflare Queuesを活用した`WorkersMessageQueue`が導入されています。また、`FederationBuilder`クラスと`createFederationBuilder()`関数により、フェデレーションの遅延インスタンス化がサポートされ、コード構成の改善やCloudflare Workersとの互換性が向上しました。さらに、最新のHTTP Message Signatures標準(RFC 9421)を実装し、レガシー実装との互換性を保つためのダブルノック機構も導入されています。WebFinger機能の強化やContext APIの改善も行われ、開発者はより柔軟なリクエスト処理やデータフロー管理が可能になります。このリリースは、フェディバースにおける幅広い互換性を維持しつつ、デプロイメントの選択肢を広げ、新たなActivityPubセキュリティ標準に対応するための重要な一歩です。
Read more →
@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 네, 저도 처음에 그래서 잘 안 쓰다가 해법을 찾았습니다. ㅋㅋㅋ











