Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub!

Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다.

FedifyHolloBotKit、そしてこのサイト、Hackers' Pubを作っています。

嗨,我是 FedifyHolloBotKit 以及這個網站 Hackers' Pub 的開發者!

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

저는 매일 arXiv에서 사전에 지정한 몇몇 키워드로 검색한 논문들을 LLM으로 요약 한 뒤 이메일로 받아보고 있습니다. 단순한 방식이지만, 그리고 요약이 크게 도움이 되지는 않지만, 적어도 ‘매일 오늘 최신 논문을 확인해야한다’는 사실 자체를 자동화 하는데에 의의를 두고 있습니다. 오픈소스로 공개해두긴 했지만 서버 세팅이 귀찮으신 분들에겐 제가 1년에 1만원으로 구독 서비스를 운영중입니다 (구독 문의는 수동으로...) https://github.com/theeluwin/daily-paper-summary-digest

5

(뒷북) Bridgy Fed를 만드는 비영리단체 A New Social에서 Bounce라는 새로운 도구를 FediForum에서 발표.
blog.anew.social/bounce-a-cros

ActivityPub의 내 계정을 팔로워를 그대로 유지한 채로 Bluesky로 옮기거나, 그 반대도 가능하다네요. 각자의 프로토콜이 지향하는 바와 해결하는 문제가 다르지만 이렇게 두 세계을 연결해주는 일에 집중하는 단체가 있다는 건 정말 좋은 일이라고 생각해요 :blobaww:

1
2
4
3
6

이메일 주소가 깔끔한 사람을 보면 좋은 느낌이 듭니다.
자기 이름을 영어로 혹은 짧고 읽기 쉬운 닉네임으로 만든 이메일들.

가장 인상적이었던 이메일은 r@google.com 이었습니다.
UTF-8과 GO 언어를 만든 롭 파이크.
그가 구글에 들어갈 때 선택한 이메일.
한 글자 이메일 주소라니. 센스 터지는 군.

한편으로 한글 이름을 영어로 rlawogh(김재호) 하거나,
숫자가 들어간 이메일을(rlawogh777) 보면 좋은 느낌이 들지 않습니다.

깔끔한 이메일을 보면 이 사람은 신중하고 좋은 결정을 하는 사람이라는 생각이 듭니다.
이런 생각은 편견일 수 있다는 걸 알면서도... 이 편견에서 빠져나오기가 힘드네요.😁

4
1
3

평소에 함수형 언어 매니아들이 주장하는만큼 이펙트를 엄격하게 구분하는게 중요하다곤 생각안했는데, local first 앱을 만들다가 네트워크 요청을 포함한 IO와 그렇지 않은 IO를 구분해야하는 이유를 찾았다. 앱의 초기화 로직에 네트워크 요청이 숨어있으면 API 서버 장애시 앱이 아예 안켜지는 문제가 있다. 방금 이거랑 관련된 버그 찾느라 시간을 많이 썼다.

좀더 부연설명을 하자면, 앱 실행시에 API 서버에 네트워크 요청을 보내는건 괜찮다. 하지만 그 요청에 대한 응답을 기다리도록 하면 안된다. API 서버에 장애가 났을때도 앱이 켜지긴 해야하니까 말이다. 그럼 이때, 요청을 보내는 것과 응답을 기다리는걸 구분을 해야하는데, 이건 평범하게 이펙트를 분리하는걸론 달성 못할것이다. 우리가 effectful하다고 하는 것도 결국 함수에 대한 설명으로, 함수는 인자를 주는것과 결과를 받는것이 결합되어 있다. 이 둘을 송신과 수신으로 분리해놓은 세션 타입을 사용해야 내가 원하는 바를 정확히 기술할수 있을거 같다.

3
2
1

洪 民憙 (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 →
6

안녕하세요, 페미위키 개발팀입니다. 개발팀 활성화를 위해 이리저리 둘러보다 해커스펍에 대해 알게 되었습니다. 여건이 되면 페미위키 개발에 대해서 얘기할 수 있는 기회를 만들어보려 합니다!

더불어 페미위키 개발팀에서 오픈소스 컨트리뷰터 & 개발팀을 모집합니다! 페미니스트시라면 정체성 불문, 거주국 불문하고 모시고 있습니다. 함께 페미니즘 정보집합체 만들어가요!

페미위키 오픈소스 컨트리뷰터 & 개발팀 모집1. 우대 사항:

페미위키 편집 경험이 한 번 이상 있으신 분
AWS 경험이 필요하신 분
사실상 표준이 아닌 기술/서비스에 거부감이 덜 하신 분 (예: Vue.js, Less.js, GitLab, Nomad, PHP)
기억 나는 리눅스 명령어가 세 개 이상인 분
ARM 서버 운영 경험이 있으신 분
JS를 TS로 변환하면 개운하신 분
GitHub Actions 사용 경험이 있으신 분
PHP 문법을 기억하시는 분
git rebase를 쳐본 적 있으신 분
오픈소스를 사랑하시는 분2. 업무 내용

신규 프로젝트
* 레벨 제도
* 프로필 페이지
* 게이미피케이션 / 도전과제
* HA 구성

상시 업무
* 서비스 모니터링
* 버그 수정
* 기술 지원
* 소프트웨어 업그레이드관심 있다면 망설임 없이 https://github.com/femiwiki 접속!
8
0
1
1
0

[페미위키 6월 운영팀 모집]
운영팀은 페미위키를 어떻게 키워낼까 고민하는 개인들의 모임이며 여성혐오자가 아니라면 추가 조건 없이 함께할 수 있습니다.
운영팀 연락에 사용할 구글 지메일로 admin@femiwiki.com으로 지원 동기를 적어 보내주세요. (제목 "페미위키 운영팀 지원")

만화 캐릭터 검색할 때 성희롱을 봐야 할까?
페미위키는 만화, 게임, 웹툰, 애니메이션 등 취미 정보를 다룰 때 혐오를 담지 않도록 주의합니다
2

평소에 함수형 언어 매니아들이 주장하는만큼 이펙트를 엄격하게 구분하는게 중요하다곤 생각안했는데, local first 앱을 만들다가 네트워크 요청을 포함한 IO와 그렇지 않은 IO를 구분해야하는 이유를 찾았다. 앱의 초기화 로직에 네트워크 요청이 숨어있으면 API 서버 장애시 앱이 아예 안켜지는 문제가 있다. 방금 이거랑 관련된 버그 찾느라 시간을 많이 썼다.

8
1

We're excited to announce the release of 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 .

🌐 Cloudflare Workers support

Fedify 1.6 introduces first-class support for Cloudflare Workers, enabling deployment of applications at the edge.

New components

Key features

  • Seamless integration with '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 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:

  1. Primary attempt: RFC 9421 (HTTP Message Signatures) for modern implementations
  2. Fallback: Draft cavage version for legacy compatibility
  3. 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.

2
0
2
2

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

1

Did you know? provides optimized for LLMs through the llms.txt standard.

Available endpoints:

Useful for training assistants on / development, building documentation chatbots, or -powered dev tools.

0
2
2

React만 쓰다가 solidjs를 시도 해봤는데, 홍보하고 있는 장점을 전혀 못 느끼고 있다. 물론 solidjs자체의 문제는 아닌 것 같고, 같이 쓰는 라이브러리의 문제인 것 같다. 일단 Router의 Context Provider와 Route 정의 트리의 시작이 분리가 안되어있고, 부분 경로 별로 레이아웃을 가지는 형태로 작성이 어려운 것 같다. 그리고 A 요소도 어째 동작을 안하게 되었는데 무엇이 문제인지 모르겠다. 디자인 작성이 싫어서 SUID - MUI (react material design)의 solidjs포트 - 를 썼는데 어째서인지 안쓰는 모듈까지 잔뜩 로드하느라 첫 렌더가 너무 느리다.

4

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.)

1

Exciting news for the 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 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 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! 🚀

8
3
0
0
5
5
3
2

유려한 애니메이션과 화면 전환을 갖춘 앱을 만들려면 실행중에 요소의 크기를 측정하는 등의 동작이 필수란걸 점점 깨닫고 있다. 또는, 정적으로 레이아웃 정보를 미리 알수있는 방법이 있다면 더 좋겠다만.

1
1

타임라인이 조금 더 중간으로 왔으면 좋겠다. 지금은 전체적으로 레이아웃이 좌편향 왼쪽으로 치우쳐 있는데 이미지 목록은 한가운데에 있고 그래서 조금 어색한 느낌... m-auto가 제일 바깥쪽 컨테이너에는 달려있는데 타임라인 안쪽에는 조치가 안 돼 있어서, 탭 메뉴 너비 따라 넓어지는 느낌...

4

대학생때 친구(컴알못)가 노트북 견적 짜달라고 한적이 있는데, 성능 상관없고 최대한 싸게만 해달라고 했다. 그래서 운영체제 미포함 기기에 우분투 깔아서 30만원으로 맞춰줬다. 우분투를 영업하려는 의도는 전혀 없었고 싸게 해달라는 요구를 최대한 맞춘 결과였다. 걔가 그때 형편이 안 좋아서 한푼이라도 아끼는게 중요했고, 나는 나름 목적을 달성했다는 것에 뿌듯해했다. 리브레 오피스 깔아주면서 한글, 엑셀 대신에 이거 쓰면 된다고 설명했던 기억이 난다.

그리고 이 일을 까맣게 잊고 살다가 1년후 쯤에 그 친구를 다시 만났는데, 보자마자 반응이

나 너무 많은 일이 있었어
12
1
0
2

0.6.0 is coming soon!

We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:

Enhanced

  • RFC 8414 (OAuth metadata discovery)
  • RFC 7636 ( support)
  • Improved authorization flows following RFC 9700 best practices

New features

  • Extended character limit (4K → 10K)
  • Code syntax highlighting
  • Customizable profile themes
  • EXIF metadata stripping for privacy

Important notes for update

  • Node.js 24+ required
  • Updated environment variables for asset storage
  • Stronger SECRET_KEY requirements (44+ chars)

Special thanks to @thisismissemEmelia 👸🏻 for the extensive OAuth improvements that help keep the secure and compatible! 🙏

Full changelog and upgrade guide coming with the release.

2
1
0

さて、自分の言葉で書き直すか。

MastodonやMisskeyは、Githubなどのオンライン上の開発支援システム上にプログラムのソースコードを置いて、

最初に作った開発者や、プロジェクトの権限を与えられたコア開発者を中心に、

みんなで問題点を洗い出して議論し(issue)、プログラムの追加や変更を提案して皆で検証・検討し(pull request)、問題が無くなったら承認を得てプログラムに反映(merge)し、一定の基準を満たしたら、みんなに使って貰うものにタグ付けしてリリースします。

集団での開発は、提起された課題や追加・変更の提案を何でも取り込めばよいというものではなく、

プロジェクトの目指しているものに合致していて必要なものであるかを判断し、それが与える影響を理解し、その追加・変更を引き受けたら継続的にメンテナンスが必要となるため慎重に検討・吟味し、

でもそれってすごく大変なので、コミュニティに参加するみんなが負担できる範囲で受け入れています。

たとえば、ソースコード全体にわたって内容を書き換えるような変更は、よほど有意義なものでなければテストや検証が難しく受け入れるのは困難です。

せっかく体制はオープンでも、みんなの要望に対応しきれなくて閉じてしまうプロジェクトもあります。

そしてそこに、AIがプログラムコードの追加・修正を提案できる時代がやってきました。

これまでも、いろんな補助ツールを使って、自動でテストし、記述のバラツキやミスを修正するツールを使ってはきたのですが、それはそれぞれの開発者が、自分の責任のもとで、内容を理解し、それが与える影響・コミュニティへの負担をわかった上でプロジェクトに提案してきたわけですが、

AIを使った追加・修正の提案が可能になったことをきっかけに、上記の人間が引き受けていた判断やリスペクトを飛び越え、そうした判断力や力量、責任を持たない人が、安易に大量にリクエストするようになってしまっています。

AIによる開発が有用であることは重々承知しているので、多くのプロジェクトで、上手に利用していきたいとは考えているのですが、

この安易な参加者によって、コミュニティ開発を維持していくのが難しい状況が発生しているのです。

そのあたりのことを(あえてAIに)まとめてもらったのが、先の記事です。
hackers.pub/@noellabo/2025/ai生 [参照]

2

さて、自分の言葉で書き直すか。

MastodonやMisskeyは、Githubなどのオンライン上の開発支援システム上にプログラムのソースコードを置いて、

最初に作った開発者や、プロジェクトの権限を与えられたコア開発者を中心に、

みんなで問題点を洗い出して議論し(issue)、プログラムの追加や変更を提案して皆で検証・検討し(pull request)、問題が無くなったら承認を得てプログラムに反映(merge)し、一定の基準を満たしたら、みんなに使って貰うものにタグ付けしてリリースします。

集団での開発は、提起された課題や追加・変更の提案を何でも取り込めばよいというものではなく、

プロジェクトの目指しているものに合致していて必要なものであるかを判断し、それが与える影響を理解し、その追加・変更を引き受けたら継続的にメンテナンスが必要となるため慎重に検討・吟味し、

でもそれってすごく大変なので、コミュニティに参加するみんなが負担できる範囲で受け入れています。

たとえば、ソースコード全体にわたって内容を書き換えるような変更は、よほど有意義なものでなければテストや検証が難しく受け入れるのは困難です。

せっかく体制はオープンでも、みんなの要望に対応しきれなくて閉じてしまうプロジェクトもあります。

2

Hackers' Pubに、perplexity(AI)に社会問題(開発コミュニティの課題)について詳しく調査するよう指示した結果の出力を載せておいたので、AI利用事例のサンプルとしてご覧下さい。

私がperplexityに指示した問いかけは以下の内容です。
--

GithubにAIが生成したプルリクエストを送る事例が増えていて、開発コミュニティの負担が増大する事例が増えています。AIは独立した人格と責任を持つ自然人ではないため、そのリクエストを行った主体が、リクエストを行う意義と責任を担保し、開発コミュニティの負担(対応に要するコストや変更点に対して持続的にサポートすること)に対する理解を持ち、協力して開発するというモデルが成立しなくなってしまう問題に直面しています。これについて、これまで行われた有意義な議論と、提示されている解決策、あるいは実際に行っている対応について調べてください。
QT: hackers.pub/@noellabo/2025/ai生
[参照]

1