Hackers' Pub 스티커 왔다!
洪 民憙 (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
@hongminhee洪 民憙 (Hong Minhee) 펍냥이 잘 쓰겠습니다 ㅋㅋㅋ
해커스펍 고양이는 해커 + 네코 해서 헤코(HECKO) 라고 하면 좋겠지만 L33T로 H3CKO라고 하는건 어떨까 하고 생각한다
역시 내 작명센스는 괴멸적이다
그나저나 Hackers' Pub 마스코트 고양이에 아직 이름이 없는데, 어떤 이름을 지어 주면 좋을까요? 🤔
어라 사진이 안 올라갔네. 해커스펍 로고 스티커 오백장이 왔습니다! 빵빠레!
그나저나 Hackers' Pub 마스코트 고양이에 아직 이름이 없는데, 어떤 이름을 지어 주면 좋을까요? 🤔
@hongminhee洪 民憙 (Hong Minhee) ~~해커네코 줄여서 헤코~~
그나저나 Hackers' Pub 마스코트 고양이에 아직 이름이 없는데, 어떤 이름을 지어 주면 좋을까요? 🤔
그나저나 Hackers' Pub 마스코트 고양이에 아직 이름이 없는데, 어떤 이름을 지어 주면 좋을까요? 🤔
Lots of talk about Ghost today, and rightly so, but don’t forget that a little open source framework @fedifyFedify: ActivityPub server framework made the ActivityPub plugin possible.
Support open source!
We'd like to recognize some excellent contributions from our #OSSCA (Open Source Contribution Academy) participants who have been working on #Fedify.
@gaebalgom개발곰 contributed PR #339, which introduces the @fedify/elysia package to provide Elysia integration for Fedify. This work addresses issue #286 by creating a plugin that enables developers using #Bun and #Elysia to integrate Fedify's #ActivityPub capabilities into their applications. The contribution includes the core integration module, documentation, examples, and proper monorepo configuration, making Fedify accessible to the Elysia community.
@r4bb1t submitted PR #315, implementing comprehensive
AbortSignal support across multiple APIs to resolve issue #51. This contribution adds request cancellation capabilities not only to lookupWebFinger() but also to lookupObject(), DocumentLoader, and the HTTP signature authentication flow (doubleKnock()), allowing developers to properly handle timeouts and abort ongoing requests throughout the entire request chain. The implementation includes extensive test coverage for cancellation scenarios across all affected components and lays the groundwork for adding --timeout options to various CLI commands like fedify lookup, fedify webfinger, and fedify nodeinfo, making federated applications more robust and responsive.
@ooheundaoed addressed a testing infrastructure issue with PR #350, fixing a race condition in PostgreSQL message queue tests that was causing intermittent failures (issue #346). By adding explicit initialization before concurrent message queue listeners, this fix prevents table creation conflicts that were affecting test reliability, ensuring more consistent PR testing for all contributors.
@songbirds provided two test stability improvements with PR #344 and PR #347. The first PR adds skip guards to RedisKvStore tests as a workaround for a known Bun runtime issue, keeping the test suite functional while awaiting an upstream fix. The second PR resolves a race condition in the code generation process by randomizing output filenames, preventing conflicts during parallel test execution. These contributions help maintain a stable testing environment for the project.
Thank you all for your contributions to Fedify. Your work helps make federated social networking more accessible to developers.
아.. 저 승질 머리 고양이, 득 해야 하는데...해펍 모임은 언제인가요?
xv6 부팅에 릭롤링 끼얹기. 재밋잖아~ 한잔해~
Python 기반의 교육용 DBMS인 BlueBase라는걸 만들고 있습니다. 언젠가... 언젠가 공개하겠습니다. 제 과목 수강생이 아니더라도 누구나 해볼 수 있게, GitHub Classroom 기능을 이용해볼 예정입니다.
맥 마이그레이션을 할 땐 썬더볼트 케이블을 사용하기로 해요.
modern-screenshot 이란 물건을 접하게 됐는데 얘는 html-to-image 로부터 포크 떠진 아이이고, 걔는 또 dom-to-image 로부터 포크 떠진 아이인데 vercel satori 가 더 낫다는 얘기도 본 것 같다. 한편, 우리 팀은 html2canvas 로부터 포크 뜬 html2canvas-pro 를 써보고 있었으며... (정신 없음)
전 개인적으로 LINQPad를 정말 좋아하는데요, LINQPad 9 Beta 버전에서 새롭게 강화된 JavaScript Interop과 내장된 WebView 지원 덕에 C# 코드 레벨에서 ESM 모듈을 불러와 사용하는 것도 훌륭하게 소화 가능합니다. 이 코드는 LINQPad 밖에서는 WebView2를 대상으로도 쓸 수 있습니다.
これは欲しい、欲しくてたまらない。😂
시간 날 때 언어 관련 툴링들을 어떻게 구현하는지에 대한 글을 써봐야겠다. 린터, 테스트 커버리지, 프로파일러, 디버거에 대해 써보고 싶지만 과연 나의 게으름이 잘 버텨줄지는 모르겠다
洪 民憙 (Hong Minhee) shared the below article:
OSTEP 독학 일지 - H.0.
Jaeyeol Lee @kodingwarrior@hackers.pub
6년 차 개발자가 기본기를 다지기 위해 OS 기초를 다시 공부하는 여정을 담은 글입니다. 저자는 신입 개발자 수준의 기본기를 갖추기 위해 OSTEP 교재를 선택하고, xv6 프로젝트를 통해 운영체제 동작 원리를 체화하고자 합니다. 이 글에서는 xv6 과제들을 단계별로 공략하며 겪는 우여곡절과 발견, 그리고 이를 통해 얻는 인사이트를 서사적으로 풀어낼 계획을 밝힙니다. 단순히 지식을 정리하는 것을 넘어, 독자에게 재미있는 스토리를 전달하고 기술 면접에도 도움이 될 만한 생생한 경험을 공유하고자 하는 저자의 의지가 돋보입니다. OSSCA 2025 멘토링 경험에서 영감을 받아 시작된 이 여정은, 개발자로서의 성장과 더불어 해커스펍 커뮤니티에도 기여하고자 하는 저자의 열정을 보여줍니다.
Read more →3년 전에
@disjukrㄹ 님에게 받아 묵혀두었던 misaka.moe 도메인 어디 쓸만한데 없을까 계속 미루만 있다가 임시로 제 레포지토리에 리다이렉션 걸었습니다. 예) https://misaka.moe/.dotfiles
웹 서버 프레임워크를 밑바닥에서부터 직접 만들고(!!!!) 거기다가 fedify 끼얹으면 재밌는 챌린지가 될 듯
를 더 명확하게 관리하기 위해서라도 Relay같은 물건이 필수적으로 보이는데, React 바깥에서 제대로 사용하기 좀 어려워서 고민임
많은 사람들이 각자 에디터에 Vim 에뮬레이터깔고, 한번씩 ci(/ci{/ci[/ci'/ci"/ci` 돌려봤으면 좋겠어
프론트엔드 하는 팔로워분들은 cit 한번씩만이라도,,,,
Replit으로 이런걸 만들었어요 https://tweet-gen-ai.replit.app/
결과는 이런식으로 나와요 https://tweet-gen-ai.replit.app/shared/FyZD8OU9W-gsXg3SxFqpv
2004年8月5日から始まったエンジニア人生、気づけばもう21年。本当にお疲れ様、21年間の自分。
- すべてが素晴らしかった会社もあった。
- 恨みや憎しみでいっぱいだった職場もあった。
- 良いところも悪いところもあった会社。
- 給料も退職金も払わなかったひどい会社。
- ちょっと変わった会社もあったな…。
- 本当に色々あった、波乱万丈の21年だった。
これからの10年も、自分自身にエールを送りながら――
すべてが思い通りにいくわけじゃないけれど、そんな時こそ、逃げずに、正面からぶつかって、前に進む覚悟で。
FEP 뒤적뒤적 거리면서 Fedify에 넣을만한거 찾아보는 중....
マルコフ連鎖bot、botkitに載せるでもいいな
8月3日(日)にOSC 2025 京都で開催される「Fediverseのつくりかた 〜開発者・管理者たちの現場から〜」セミナーで、「BotKit by Fedify:誰でも簡単に作れるActivityPubボット」というテーマでオンラインにて約10分間発表します。普段からフェディバースボットの制作に興味がある方には、きっと興味深く聞いていただけるのではないかと思います。参加費も無料ですので、ぜひ多くの方のご参加をお待ちしております。
BotKit by Fedify:誰でも簡単に作れるActivityPubボット
本日OSC 2025京都で開催された「Fediverseのつくりかた 〜開発者・管理者たちの現場から〜」セミナーで発表した「BotKit by Fedify:誰でも簡単に作れるActivityPubボット」の発表資料を共有します。ご清聴ありがとうございました。
botほしい→なに作るー?→なにも思いつかない
👀
BotKitを使ってActivityPubボットを作ってみよう https://zenn.dev/hongminhee/articles/6e4c5ab155305f
Botを動かすためだけにMisskeyやらMastodonを建てるの、オーバースペックな感じがしないでもないので、ActivityPubを直接喋るようなBotを作ってみたい(と思ってから数年が経過している)
BotKitすごいわね
すっごい簡易なAPubデバッグには便利なのよねーBotkit
サーバーとしてbotを立てるって面白そうだよねえ
좋은 질문 감사합니다. 실험 결과 4096의 배수인게 유의미한것 같습니다.
오늘은 몇 줄 기여하는데 온 동네 도움을 받았습니다... 감사합니다 🙇
We're thrilled to highlight five outstanding contributions from the Korean Open Source Contribution Academy (#OSSCA) program participants who have been working on #Fedify! Their dedication and effort have significantly enhanced our #ActivityPub server framework.
First up is
@nyeongAn Nyeong (安寧) with his monumental #318 PR, implementing a SQLite-based key–value store to address #274. This contribution adds the SqliteKvStore class with full cross-runtime support for Node.js, Deno, and Bun through the new @fedify/sqlite package. His implementation includes atomic operations, TTL support, comprehensive test coverage, and careful attention to SQL injection prevention. This enables developers to use SQLite as a persistent storage backend while maintaining compatibility with Fedify's existing KvStore API—a crucial feature for production deployments!
Next,
@crohasang크롸상 delivered an excellent quality-of-life improvement with #341 PR, fixing #257. He enhanced the CLI to properly respect TTY status and the NO_COLOR environment variable, implementing intelligent color control across all CLI commands. The solution involved switching from @cliffy/ansi/colors to @std/fmt/colors, creating a helper function using Deno.inspect() to handle object formatting, and ensuring colors are correctly disabled when output is redirected to files. This makes the CLI much more pipe-friendly and suitable for automated workflows!
@meneleHanal Ae contributed a thoughtful enhancement with #342 PR, addressing #191. She updated the fedify inbox command to display not just the activity type, but also the type of object contained within each activity—transforming output like "Create" into the more informative "Create(Note)" or "Undo" into "Undo(Follow)". This seemingly simple change required making the display function asynchronous to fetch the enclosed objects, significantly improving the debugging experience for developers!
@woaol벨 tackled an important developer experience issue with #329 PR, solving #306. Previously, the fedify init command would often install outdated versions of Fedify packages like @fedify/redis because version numbers were hardcoded in the CLI. They created a getLatestVersion() function that dynamically retrieves package versions from local metadata files, ensuring that developers always get the latest versions of all Fedify packages when initializing a new project. This improvement includes comprehensive test coverage and eliminates the frustration of starting a project with outdated dependencies!
Finally,
@kodingwarriorJaeyeol Lee made a significant contribution with #309 PR, implementing #269—NestJS integration! They created the @fedify/nestjs package with a FedifyModule that seamlessly integrates Fedify into NestJS applications. This includes proper middleware implementation, dependency injection support through NestJS's module system, and compatibility with both CommonJS and ESM environments. This opens up Fedify to the large NestJS developer community, making it easier than ever to build ActivityPub-enabled applications with this popular enterprise framework!
These contributions showcase the incredible talent and dedication of the OSSCA participants. From core infrastructure improvements to developer experience enhancements, each contribution makes Fedify better for the entire community. Thank you all for your hard work and welcome to the Fedify contributor family! 🚀
We're looking forward to seeing more amazing contributions from the OSSCA program and the broader community. If you're interested in contributing to Fedify, check out our GitHub repository and join us in building the future of federated social web! 🌟
와~ 이제 Hackers'Pub의 PWA를 재설치하면 귀여운 고양이를 볼 수 있습니다.
코딩 에이전트 쓸 때마다 인간의 두뇌가 위대한 걸 새삼 깨닫는다. 특히 에이전트에게 맥락 꼬박꼬박 주입할 때마다 맥락을 능동적으로 획득하고 장기적으로 기억하고 순간적으로 인출해내는 인간의 능력이 대단한 것 같음
TUI 마스토돈 클라이언트에서 자동 새로고침 기능을 드디어 며칠(...)만에 정상 작동하게 고쳤다. 이제 나 혼자 마스토돈 탐라 힐끗힐끗 보는 용도로는 좋을듯 하다
DBMS 같은 데에서 파일을 관리 할 때엔 항상 4096 바이트 단위의 페이지 형태로 관리합니다. 왜그럴까요? 여러가지 이유가 있는데, 보통은 OS도 4096 바이트 단위로 파일 시스템을 관리하기 때문입니다. 그래서 캐시 같은 OS의 여러 가속 장치들의 도움을 받을 수 있죠.
근데 정말로 그럴까요?
그게 궁금해서 직접 한번 페이지 파일 매니저를 구현해서 실험해봤습니다. 통계적으로 유의하게 빠르네요.
TIL: 빈 파일을 만들어서 열고, seek로 적당히 건너뛴 다음 거기서부터 write를 하면, 건너 뛴 부분은 전부 0으로 알아서 채워주고 파일 크기도 자연스럽게 늘어난다.
이걸 왜 제가 몰랐는지 설명해주실분
스플래시 스크린 바꾸고 스크린샷 찍으려는 시도...
일하기 좋은 카페/코워킹/워케이션 지도를 개편하게 되서 소식을 공유합니다. 네이버 지도 리스트에 1000개를 넘게 등록할 수 없어서, 지도를 카테고리별로 다시 분리하면서 여러 지도를 편하게 찾아보실 수 있도록 링크트리로 통합 페이지를 만들었습니다. :-D
나는 모듈끼리 circular dependent한걸 허용하는게 낫다고 생각한다. 코드를 쪼개는데에는 제한이 있으면 안된다.
Hackers' Pub PWA 재설치 해도 스플래시 스크린에도 고양이가 나오지 않는군요. 이건 고쳐야 한다.













くろでん





