모든 자바스크립트 개발자들이 단 하나의 패키지 매니저와 단 하나의 빌드 시스템, 단 하나의 모듈 시스템을 사용하면 좋겠다고 진심으로 생각한다

洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 657 following · 428 followers
Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub!
Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 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
C++ 표준화 위원회(WG21)에게 C++의 원 저자인 비야네 스트롭스트룹Bjarne Stroustrup이 보낸 메일이 이번 달 초에 본인에 의해 공개된 모양이다. C++가 요즘 안전하지 않은 언어라고 열심히 얻어 맞고 있는 게 싫은지 프로파일(P3081)이라고 하는 언어 부분집합을 정의하려고 했는데, 프로파일이 다루는 문제들이 아주 쉬운 것부터 연구가 필요한 것까지 한데 뒤섞여 있어 구현이 매우 까다롭기에 해당 제안이 적절하지 않음을 올해 초에 가멸차게 까는 글(P3586)이 올라 오자 거기에 대한 응답으로 작성된 것으로 보인다. 더 레지스터의 표현을 빌면 "(본지가 아는 한) 스트롭스트룹이 이 정도로 강조해서 말하는 건 2018년 이래 처음"이라나.
여론은 당연히 호의적이지 않은데, 기술적인 반론이 대부분인 P3586과는 달리 해당 메일은 원래 공개 목적이 아니었음을 감안해도 기술적인 얘기는 쏙 빼 놓고 프로파일이 "코드를 안 고치고도 안전성을 가져 갈 수 있다"는 허황된 주장에 기반해 그러니까 프로파일을 당장 집어 넣어야 한다고 주장하고 있으니 그럴 만도 하다. 스트롭스트룹이 그렇게 이름을 언급하지 않으려고 했던 러스트를 굳이 들지 않아도, 애당초 (이 또한 계속 부정하고 싶겠지만) C++의 주요 장점 중 하나였던 강력한 C 호환성이 곧 메모리 안전성의 가장 큰 적이기 때문에 프로파일이 아니라 프로파일 할아버지가 와도 안전성을 진짜로 확보하려면 코드 수정이 필수적이고, 프로파일이 그 문제를 해결한다고 주장하는 건 눈 가리고 아웅이라는 것을 이제는 충분히 많은 사람들이 깨닫지 않았는가. 스트롭스트룹이 허황된 주장을 계속 반복하는 한 C++는 안전해질 기회가 없을 듯 하다.
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
- Fast servers get messages delivered promptly
- Slow servers don't delay delivery to others
- Failed deliveries can be retried independently
- Your UI remains responsive while deliveries happen in the background
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
Coming soon in #Fedify 1.5.0: Smart fan-out for efficient activity delivery!
After getting feedback about our queue design, we're excited to introduce a significant improvement for accounts with large follower counts.
As we discussed in our previous post, Fedify currently creates separate queue messages for each recipient. While this approach offers excellent reliability and individual retry capabilities, it causes performance issues when sending activities to thousands of followers.
Our solution? A new two-stage “fan-out” approach:
- When you call
Context.sendActivity()
, we'll now enqueue just one consolidated message containing your activity payload and recipient list - A background worker then processes this message and re-enqueues individual delivery tasks
The benefits are substantial:
Context.sendActivity()
returns almost instantly, even for massive follower counts- Memory usage is dramatically reduced by avoiding payload duplication
- UI responsiveness improves since web requests complete quickly
- The same reliability for individual deliveries is maintained
For developers with specific needs, we're adding a fanout
option with three settings:
"auto"
(default): Uses fanout for large recipient lists, direct delivery for small ones"skip"
: Bypasses fanout when you need different payload per recipient"force"
: Always uses fanout even with few recipients
// Example with custom fanout setting
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "skip" } // Directly enqueues individual messages
);
This change represents months of performance testing and should make Fedify work beautifully even for extremely popular accounts!
For more details, check out our docs.
What other #performance optimizations would you like to see in future Fedify releases?
Getting back to #Fedify development today! Working on optimizing the outgoing activity queue to improve response times. Currently focusing on reducing latency when sending posts to large follower counts—should make the whole publishing experience feel much snappier.
Finished the #Fedify queue optimization work. Tests written, docs completed. Should make activity delivery much faster for high-follower accounts.
저는 AI에게 감사 인사를 하는 데에도 돈이 든다는 걸 깨달아버려서, 이제는 감사도 표하지 않는 삭막한 인간이 되고야 말았습니다.
이제 여기서 글 쓰면 블스에도 보이는 건가?
와 보인다! 보여요!
이제 여기서 글 쓰면 블스에도 보이는 건가?
🚀 GNOME 48 is here!
After months of hard work from contributors worldwide, this release brings exciting updates and improvements. 🎉
🔎 Check out what’s new in #GNOME48 in the release notes: https://release.gnome.org/48
그동안 동료들한테 Cursor 쓰자고했는데 그들이 오소독스 Emacs 매니아들이란 문제가 있었다.
작년에 Nix로 nvidia gpu 지원까지 포함해서 구축해놓은 k3s 클러스터에다가, 오늘 아침에 1시간만에 aider로 쓸수있게 DeepSeek R1을 띄웠고 한번 써보자고 했다. 최근에 한 것 중 가장 가성비 좋은 작업인듯 하다.
대-AI 시대가 열렸으면 내가 낯선 언어라도 린터, 컴파일러만 잘 되어 있으면 그걸로 피드백 줘서 PoC 하나 뚝딱할 수 있겠지? 싶어서 ReScript로 쇼기 만들어보고 있는데 아쉽게도 LLM 친구들이 ReScript를 잘 못한다
리브랜딩을 거친 것도 학습에 치명적인듯... 예를 들어 언어 설정 파일이 bsconfig.json
에서 rescript.json
으로 이름이 바뀌었는데, rescript.json
이 이미 있음에도 bsconfig.json
을 자꾸 만들려고 한다. 일일이 사전 지시를 넣어주어야 하는데 🤔
대-AI 시대가 열렸으면 내가 낯선 언어라도 린터, 컴파일러만 잘 되어 있으면 그걸로 피드백 줘서 PoC 하나 뚝딱할 수 있겠지? 싶어서 ReScript로 쇼기 만들어보고 있는데 아쉽게도 LLM 친구들이 ReScript를 잘 못한다
Getting back to #Fedify development today! Working on optimizing the outgoing activity queue to improve response times. Currently focusing on reducing latency when sending posts to large follower counts—should make the whole publishing experience feel much snappier.
We're considering adding custom background task support to #Fedify 1.5.0.
Want to use Fedify's worker system for your own background tasks? We're exploring ways to let you register and process custom tasks alongside #ActivityPub jobs.
Check out the proposal: https://github.com/fedify-dev/fedify/issues/206.
Key considerations:
- Should this be part of Fedify's scope?
- Quick API extension vs complete worker architecture redesign
- Integration with existing task queue systems
We'd love to hear your thoughts! Do you need this feature? How would you use it? Share your feedback in the issue thread.
We've been working on adding custom background task support to #Fedify as planned for version 1.5.0. After diving deeper into implementation, we've realized this is a more substantial undertaking than initially anticipated.
The feature would require significant API changes that would be too disruptive for a minor version update. Therefore, we've decided to postpone this feature to Fedify 2.0.0.
This allows us to:
- Design a more robust and flexible worker architecture
- Ensure better integration with existing task queue systems
- Properly document the new APIs without rushing
We believe this decision will result in a more stable and well-designed feature that better serves your needs. However, some smaller improvements from our work that don't require API changes will still be included in Fedify 1.5.0 or subsequent minor updates.
We appreciate your understanding and continued support.
If you have specific use cases or requirements for background task support, please share them in our GitHub issue. Your input will help shape this feature for 2.0.0.
오, HackersPub 기여할만한거 방금 떠오름
Patch releases for #Fedify versions 1.0.21, 1.1.18, 1.2.18, 1.3.14, and 1.4.7 are now available. These updates address two important bugs across all supported release lines:
- Fixed a WebFinger handler bug that prevented matching
acct:
URIs with port numbers in the host. Thanks to@revathskumarRevath S Kumar
for reporting and debugging the bug!
- Resolved server errors that occurred when invalid URLs were passed to the
base-url
parameter of followers collections.
We recommend all users upgrade to these latest patch versions for improved stability and federation compatibility.
- IT 관련 관심 있는 주제 아무거나 골라서 3~5분 정도 발표하는 자리가 생겼는데 fediverse 와 small web 중 뭘로 할지 아직도 고민중.
- Swift만 8년을 쓰다가 정말 간만에 html/css 쓰려니까 작업 속도가 굼벵이가 따로 없다. 이것만큼은 나도 주니어. GitHub Pages 쓰면서 jekyll 이 익숙해져서 일단은 개인 블로그도 jekyll 로 만들었는데 요즘은 Hugo가 대세라는 것 같아 언젠가는 찍먹을 해 볼지도.
- 폴더 내의 모든 파일에 대해 단어 replace 하기 :
sed -i '' -e 's/old_word/new_word/g' *
- 누가 iOS 개발 어떻냐고 물어볼 때마다 "애플이 만든 프로그램 위에 애플이 만든 언어로 코드를 짜서 애플이 제작한 기기 위에 동작하는 모바일 앱을 만들 건데 그게 애플이 관리하는 마켓 심사를 통과해야 하는 게 참으로 문제"라고 우스갯소리처럼 말해 왔는데 돌이켜보면 그건 내 직군에 대한 꽤 근본적인 불만이었는지도. URL만 있으면 누구나 어디서든 접속할 수 있는 웹의 힘이 막강하다고 느낀다. 진작 이쪽으로 사이드 프로젝트 파 볼 걸 그랬나? 싶고. 누군가는 모바일의 힘을 더 크게 생각하겠지만⋯.
이름에 들어간 커스텀 絵文字 렌더링 具顯하는 거 정말 짜쳐요.
아직 招待制이긴 하지만 Hackers' Pub도 velog의 代案입니다! 게다가 ActivityPub도 支援하기 때문에 Mastodon이나 Misskey 等 다른 聯合宇宙(fediverse)와도 아무 問題 없이 相互 疏通 可能하답니다.
洪 民憙 (Hong Minhee) shared the below article:
rel="me" 메모
Lee Dogeon @moreal@hackers.pub
Hackers' Pub의 프로필 링크 인증 기능이 제대로 작동하지 않아, GitHub 링크를 추가했음에도 체크 표시가 나타나지 않는 문제를 해결하기 위한 여정을 담고 있습니다. `rel="me"` 속성이 HTML 링크 요소에서 어떤 역할을 하는지 MDN 문서를 통해 알아보고, GitHub 프로필 설정에서 Hackers' Pub 링크를 추가할 때 `rel="me"` 속성이 자동으로 추가되는 것을 확인합니다. Hackers' Pub의 오픈 소스 코드를 분석하여 인증 마크가 표시되는 과정을 파악하고, GitHub에 Hackers' Pub 링크를 추가한 후 프로필 설정을 다시 저장하면 인증 체크 표시가 나타나는 것을 확인합니다. 이 글은 `rel="me"` 속성의 역할과 Hackers' Pub의 링크 인증 과정을 이해하고, 문제 해결 방법을 제시하여 독자들이 유사한 문제를 겪을 때 도움을 받을 수 있도록 합니다.
Read more →마스토돈이 다른 계정의 팔로잉/팔로워를 잘 보여주는 것도 아니고, 그렇다고 팔로우할만한 계정을 잘 추천해주는 것도 아니라서 꽤 발품을 팔아아 했다. 그래서 '읽기는 트위터에서, 쓰기는 마스토돈에서' 해왔는데, 요즘엔 hackers.pub 덕분에 피드에 읽을거리가 많이 늘어났다.
activitypub.ghost.orgもそうだけど、Ghostの`preferredUsername`は`index`で固定なのかね
というかpublic betaになってもActivity Streamsオブジェクトの`id`に`preferredUsername`を含めるスタイルなのか……
洪 民憙 (Hong Minhee) shared the below article:
The social web beta is here

Building ActivityPub @index@activitypub.ghost.org
Today we're opening a public beta for our social web integration in Ghost. For the first time, any site on Ghost(Pro) can now try out ActivityPub.
For those of you who have been subscribed to this newsletter for the past year or so, thanks for your patience! It hasn't been easy to get this far, but we're excited to hear what you think as you become one of our very first explorers to launch into the Fediverse.

To help you get started, we've put together a detailed guide explaining how this new feature works, and what you can expect from using it in its current state.
Take a quick read through everything here, as an introduction:

Once you're ready to take ActivityPub for a test drive yourself, open Ghost Admin and head over to Settings → Labs and enable the beta.

We're looking forward to chatting with you!
For personal reasons, I no longer feel safe working on Linux GPU drivers or the Linux graphics ecosystem. I've paused work on Apple GPU drivers indefinitely.
I can't share any more information at this time, so please don't ask for more details. Thank you.
Edit: For those finding this post later, here is the story of what happened: https://vt.social/@lina/114453525309759623
JS로 짜여진, join이 되는 reactive한 로컬 DB가 필요한데요. RxDB, SignalDB는 join이 안 돼서 탈락입니다. join을 안하면 되지 않냐 할수 있는데 어떤 특이한 로직 때문에 꼭 필요합니다. 지금은 직접 sqlite 호출하는 누더기 코드로 돌아가고 있는데요.
그 코드를 리팩토링해서 제대로 된걸 만들까 말까 고민중인데, 사실 잘만들어진게 있으면 그걸 쓰고 싶습니다. 제 요구사항을 만족하는 라이브러리가 있을까요?
洪 民憙 (Hong Minhee) shared the below article:
WindowsをMacのように - MacのCMD + バッククォートキーのショートカットをWindowsで使用する方法

Juntai Park @arkjun@hackers.pub
この記事では、Windows環境でMacの `<kbd>CMD + `(バッククオート)</kbd>` ショートカットキーと同様の、同一アプリ内のウィンドウ切り替えを実現するためのAutoHotkeyスクリプトが紹介されています。長年Macをメインに使っていた筆者が、Windowsに移行して不便に感じた点から、AutoHotkeyを用いてその解決を試みました。スクリプトは、アクティブなウィンドウを特定し、同じアプリケーションの別のウィンドウをアクティブにするというものです。完璧ではないものの、実用的なレベルで動作し、Macに慣れたWindowsユーザーの助けになることが期待されます。AutoHotkeyの基本的な使用方法とスクリプトの実行方法も解説されており、読者はこのスクリプトを利用してWindowsでの作業効率を向上させることができます。
Read more →洪 民憙 (Hong Minhee) shared the below article:
Hacker's Pub
daisuke @dai@hackers.pub
この投稿では、Fediverseの分散型フィードを統合的に表示するための、4つのタブで構成されたカスタムビューアーが紹介されています。このビューアーは、指定した言語(例:`en-US`, `zh-CN`, `ja-JP`, `ko-KR`)以外の投稿を薄く表示する機能を持ち、ユーザーが興味のある言語のコンテンツに集中できるよう設計されています。最後に、GhostのFediverse Betaアカウントがリクエスト制である可能性について触れられています。このビューアーは、分散型ソーシャルネットワークの情報を整理し、効率的にアクセスしたいユーザーにとって、興味深い解決策となるでしょう。
Read more →洪 民憙 (Hong Minhee) shared the below article:
seven39
daisuke @dai@hackers.pub
アメリカ東部時間の限られた3時間のみオープンするSNS「Seven39」について、そのユニークな時間制限から得られる気づきを紹介する記事です。この時間制約が、ユーザーの行動やコンテンツの質にどのような影響を与えるのかを探求します。時間的制約があるからこそ生まれる価値や、デジタルコミュニケーションにおける新たな可能性について考察します。この記事を読むことで、時間制限のあるSNSがもたらす意外な効果と、それが私たちのオンライン体験にどのように影響するかについての理解が深まるでしょう。
Read more →이番에 @lqezPark Hyunwoo 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
今回、@lqezPark Hyunwoo さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
为软件开发者提供的基于 ActivityPub 的社交网络 Hackers' Pub 现已新增中文支持。但请注意,Hackers' Pub 目前仍处于封闭测试阶段,需要我的邀请才能使用。如果您是中文用户,并且有兴趣尝试 Hackers' Pub,请通过私信向我发送您的电子邮件地址。我会将您的电子邮件地址添加到允许列表,并通知您。
https://hackers.pub/@hongminhee/0195aa14-4653-7553-b605-97c19021c6eb
Emacs + org 하나씩 자동화해서 쓰는 맛이 있네
요즘 새로운 거 배우면 SPC n r n <주제 이름> ENT n
해서 노트 만들고, 글이나 책 읽을 거 있으면 Zotero에 넣어두었다가 M-x cite ENT <글 제목> ENT
해서 읽으면서 기록하면 훨씬 알차게 읽는 듯
오 뭐 안 했는데 자동으로 이런게 되네요
영어권 웹을 보다보면 autism이 한국어에서의 '자폐'보다 부정적인 늬앙스가 훨씬 덜하단 느낌을 받는다. STEM 너드들이 본인이 autistic하다고 하는 경우를 종종 보는데, 자조적인 느낌이 좀 있지만 완전 딥다크한거 같진않고, 이분법적이기보단 스펙트럼으로 보는거 같다.
Temporalが正式リリースになってもしばらくはDateが生き残るんじゃないかと思ってる
Announcing the LLVM backend for MoonBit, hitting 8x faster performance than Java in FFT benchmarks and enabling out-of-the-box debugging!🐰✨ #MoonBit #LLVM
https://www.moonbitlang.com/blog/llvm-backend
”Code is not the most valuable artifact. Your understanding of the codebase is.” https://www.seangoedecke.com/vibe-coding/
이番에 @lqezPark Hyunwoo 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
https://snix.dev/ 저는 Rust를 못해서 기여를 못하지만 유망한 프로젝트라고 생각합니다. Rust 고수분들이 관심가져주시면 좋겠네요.
웨이터, Vitest. 온 더 락으로.
@arkjunJuntai Park AutoHotKey 스크립트는 자체 언어인가 보네요? 처음 보는 문법!
@hongminhee洪 民憙 (Hong Minhee) 단축키나 매크로를 주 용도로 하다 보니, 아무래도 그쪽에 최적화되어 있네요. 😅
맥에서 가장 비슷한 앱은 HammerSpoon 정도이지 싶습니다.
洪 民憙 (Hong Minhee) shared the below article:
윈도를 맥처럼 - 맥의 CMD + 백틱키 단축키를 윈도에서 쓰기 (사용중 앱간 윈도우 전환)

Juntai Park @arkjun@hackers.pub
맥을 메인 개발 머신으로 오래 사용하다 윈도로 돌아온 지 1년, 윈도11 + WSL 환경에서의 개발 경험을 공유합니다. 맥의 편리한 단축키인 <kbd>CMD</kbd> + <kbd>`</kbd> 키(앱 내 창 전환)가 윈도에는 없어 AutoHotkey 스크립트를 직접 만들어 사용하게 된 과정을 소개합니다. 완벽하진 않지만 개인적으로 만족하며 사용하는 간단한 AutoHotkey 스크립트 코드를 공개하며, 맥에 익숙한 윈도 사용자에게 도움이 되기를 바랍니다. AutoHotkey를 이용한 스크립트 실행 방법과 함께, GitHub Gist에 공유된 과거 이력도 덧붙였습니다.
Read more →바둑에 '묘수 3번두면 바둑은 진다'라는 말이 있는데, 프로그래밍에 비슷한 말이 있을까요
🚀 Deno v2.2.4 is released:
- Built-in OpenTelemetry support for span context propagators (tracecontext, baggage)
- Built-in OTel tracing for node:http.request
- LSP now starts the TypeScript server lazily
other improvements in the release notes:
https://github.com/denoland/deno/releases/tag/v2.2.4
Nix를 보며 알수있는건, 사람들이 메타프로그래밍을 하기 좋은 언어로 메타프로그래밍을 하는게 아니라, 런타임이 좋은 언어로 메타프로그래밍을 한다는 것이다.
Nix의 런타임이 좋다는건 일반적인 의미에서(성능이 빠르다거나) 좋다기보다는 '재현가능한 캐싱되는 빌드'라는 런타임이 아주 많은 동작을 커버하는데 Nix가 그걸 구현했다는 얘기다. 그러니까 사람들은 큰 프로그램을 쌓아올릴 대들보가 될만한 런타임이 있으면 거기서 부터 메타프로그래밍을 시작해버린다. Nix가 언어는 구리고(애초에 엄청 잘만들려고 한거같지도 않음) 메타프로그래밍을 잘하기위한 어떠한 장치도 없음에도 가장 아래에 위치할수있어서 그 역할이 맡겨져버린다.
그래서 유용한 런타임과 오브젝트 언어(또는 DSL)을 표현할 문법에 대한 좋은 아이디어가 있으면, 좀더 나은 메타프로그래밍을 하기위한 언어를 만들수 있을거라고 생각한다.
Wake up babe, @GIMP 3.0 was just tagged 👀
• https://gitlab.gnome.org/GNOME/gimp/-/tree/GIMP_3_0_0?ref_type=tags
• https://gitlab.gnome.org/GNOME/gimp/-/commit/9785099e5a0dcdc3011dd26c6c2e9b332d36c035
You can get GIMP 3.0 on Flathub: https://flathub.org/apps/org.gimp.GIMP
@hongminhee洪 民憙 (Hong Minhee) 해커스펍 이름은 어떻게 지으셨나요? 저 나름대로 떠오른 이미지를 ChatGPT에게 만들어 달라고 부탁해보았습니다.
@hongminhee洪 民憙 (Hong Minhee)
@curry박준규 이렇게 또 해커스펍의 특장점이 노출⋯
Govs ❤️ Open Source. Docs is the result of a joint effort lead by the French 🇫🇷🥖(DINUM) and German 🇩🇪🥨 governments (ZenDiS).
와 멋진데
this is not a joke. behold the power of mastofuse, a file system mastodon client: https://gist.github.com/halcy/b4f455ef05c4c36906107e9367b8dd63
Features:
* Look at your timelines, any attributes of posts and whatnot! creation dates are set correctly, even, probably, sometimes!
* Post by putting text into /posts/new! whatever you put there is posted on file close!
* Reblog a post by copying it to /posts/reblogged (probably breaks a lot)
* Look at media attachments! they're automatically downloaded if you try to open the file!
posting from the file system lol
this is not a joke. behold the power of mastofuse, a file system mastodon client: https://gist.github.com/halcy/b4f455ef05c4c36906107e9367b8dd63