이번에 FFmpeg의 어셈블리 학습 자료를 번역 중인데 이제 1강 끝냈다. 마음 같아선 인공지능에 모든걸 맡기고 싶지만 번역된 문장이 너무 어색해서 쓸 수가 없었음. https://github.com/FFmpeg/asm-lessons/pull/24

洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 861 following · 607 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
I just sponsored dahlia. Go sponsor your open source dependencies! https://github.com/sponsors/dahlia?o=sp&sc=t&sp=limeburst
쉬는 날인데 연구도 안풀리고 심심해서 xv6를 깔았다. OS 공부 안한지 좀 되서 ppt 보면서 내용 리뷰하면서 구현이나 할까 하는데, 꾸준히 할 거란 보장이 없어서 스터디하는 사람들 사이에 끼긴 좀 그래서 여기다만 올리고 해야겠음. 아마 주말에만 심심할 때 쳐낼 듯. 예전에 돌아본 기억이 있어서 빨리 돌 것 같긴 한데... 모르겠다.
My GitHub Sponsors profile is live! You can sponsor me to support my open source work 💖 https://github.com/sponsors/limeburst
이번에 다익스트라보다 빠른 최단 경로 알고리즘이 나왔다고 해서 논문을 읽어봤는데 역시 어려워서 나가떨어졌다 arxiv.org/abs/2504.17033
Breaking the Sorting Barrier f...
오늘은 바이너리의 glibc++ 버전이 안 맞는 걸 삽질분석하다가 ldd와 objdump랑 조금 더 친숙해졌다. 해결책은 그냥 LD_PRELOAD긴 했지만, ldd -r -v
와 objdump -T
라는 재밌는 옵션을 발굴했다.
Fun fact: until today, my blog did not feature even *one* occurrence of the word "saccade". I have now corrected this oversight. https://blog.glyph.im/2025/08/the-best-line-length.html
Want to fork and rewrite markdown-it for async and TypeScript...
Perl을 만든 언어학자 Larry Wall이 쓴 글 중에 종종 다시 읽어 보는 글
Human languages therefore differ not so much in what you can say but in what you must say. In English, you are forced to differentiate singular from plural. In Japanese, you don’t have to distinguish singular from plural, but you do have to pick a specific level of politeness, taking into account not only your degree of respect for the person you’re talking to, but also your degree of respect for the person or thing you’re talking about.
Programming is Hard, Let's Go Scripting...
그렇기 때문에 사람의 언어는 당신이 그렇다고 생각하고 있던 것과는 많이 다르다. 영어로 얘기할때는 단수와 복수를 확실히 구분해야만 한다. 일본어에서는, 단수와 복수를 구분할 필요는 없지만, 정중함의 정도를 조절할 줄 알아야 한다. 즉, 상대방에 대한 존경을 표현할 수 있는 정도를 선택해야 하고, 상대방의 입장에서 내가 존중 받아야 하는 정도를 생각해서 말해야 한다.
요즘 아이디어를 긴 글로 옮기는게 힘들다. AI와 비교해 최대 10토큰/분이란 저열한 속도에 자괴감이 들고, 그렇다고 AI랑 같이 쓰자니 이것도 합을 맞춰서 같이 쓰는게 어렵단 말이지. 그래서 시도해보려는 방법은 AI한테 인터뷰어 역할을 맡기고 내가 인터뷰이가 되는거다. 주제만 내가 정해주고 세부 사항에 대한 비판이나 질문은 AI한테 맡긴다. 그리고 대화가 끝나고 스크립트를 그대로 공유한다.
🔒 Security Update for BotKit Users
We've released #security patch versions BotKit 0.1.2 and 0.2.2 to address CVE-2025-54888, a security #vulnerability discovered in #Fedify. These updates incorporate the latest patched version of Fedify to ensure your bots remain secure.
We strongly recommend all #BotKit users update to the latest patch version immediately. Thank you for keeping the #fediverse safe! 🛡️
🚨 긴급 보안 업데이트 공지
Fedify에서 매우 심각한 보안 취약점(CVE-2025-54888)이 발견되어 핫픽스를 긴급 배포했습니다.
모든 사용자는 즉시 최신 패치 버전으로 업데이트해야 합니다.
자세한 내용과 업데이트 방법은 아래 링크를 참고해 주세요:
🚨 緊急セキュリティアップデート通知
Fedifyで非常に深刻なセキュリティ脆弱性(CVE-2025-54888)が発見され、ホットフィックスを緊急リリースいたしました。
全ユーザーは直ちに最新のパッチバージョンにアップデートしてください。
詳細とアップデート方法については、以下のリンクをご参照ください:
All #Fedify users must immediately update to the latest patched versions. A #critical authentication bypass #vulnerability (CVE-2025-54888) has been discovered in Fedify that allows attackers to impersonate any #ActivityPub actor by sending forged activities signed with their own keys.
This vulnerability affects all Fedify instances and enables complete actor impersonation across the federation network. Attackers can send fake posts and messages as any user, create or remove follows as any user, boost and share content as any user, and completely compromise the federation trust model. The vulnerability affects all Fedify instances but does not propagate to other ActivityPub implementations like Mastodon, which properly validate authentication before processing activities.
The following versions contain the #security fix: 1.3.20, 1.4.13, 1.5.5, 1.6.8, 1.7.9, and 1.8.5. Users should update immediately using their package manager with commands such as npm update @fedify/fedify
, yarn upgrade @fedify/fedify
, pnpm update @fedify/fedify
, bun update @fedify/fedify
, or deno update @fedify/fedify
.
After updating, redeploy your application immediately and monitor recent activities for any suspicious content. Please also inform other Fedify operators about this critical update to ensure the security of the entire federation network.
The safety and security of our community depends on immediate action. Please update now and feel free to leave comments below if you have any questions.
🚨 긴급 보안 업데이트 공지
Fedify에서 매우 심각한 보안 취약점(CVE-2025-54888)이 발견되어 핫픽스를 긴급 배포했습니다.
모든 사용자는 즉시 최신 패치 버전으로 업데이트해야 합니다.
자세한 내용과 업데이트 방법은 아래 링크를 참고해 주세요:
All #Fedify users must immediately update to the latest patched versions. A #critical authentication bypass #vulnerability (CVE-2025-54888) has been discovered in Fedify that allows attackers to impersonate any #ActivityPub actor by sending forged activities signed with their own keys.
This vulnerability affects all Fedify instances and enables complete actor impersonation across the federation network. Attackers can send fake posts and messages as any user, create or remove follows as any user, boost and share content as any user, and completely compromise the federation trust model. The vulnerability affects all Fedify instances but does not propagate to other ActivityPub implementations like Mastodon, which properly validate authentication before processing activities.
The following versions contain the #security fix: 1.3.20, 1.4.13, 1.5.5, 1.6.8, 1.7.9, and 1.8.5. Users should update immediately using their package manager with commands such as npm update @fedify/fedify
, yarn upgrade @fedify/fedify
, pnpm update @fedify/fedify
, bun update @fedify/fedify
, or deno update @fedify/fedify
.
After updating, redeploy your application immediately and monitor recent activities for any suspicious content. Please also inform other Fedify operators about this critical update to ensure the security of the entire federation network.
The safety and security of our community depends on immediate action. Please update now and feel free to leave comments below if you have any questions.
그래도 회사 다니니까 이런거 왜 쓰는거지에 대한 이유를 알 수 있어서 좋았음 돈도 벌고 ㅎㅅㅎ 근데 이제 백엔드 업무 더 해보고 싶음… 도구들 만드는 것도 재밌을 것 같고 ^3^
時々、Threads やその他のSNSでコードブロックもされていない “生”のコードが投稿されているのを見ると、思わず Hackers' Pub を紹介したくなる。
同じように、コードブロックに対応していないメッセンジャーで長々としたコードを送られてくると、「もう Discord か Slack にしようよ」って言いたくなる。(実際使ってはいるけど、いくつかの窓口ではまだ使ってなかったりして…)
으므므 면접 보라 연락온 곳이 php쪽이다. … 이거라도 일단 가봐야겠지
RDP 포트인 3389를 열어두면 하도 공격이 많은지라, 내가 먼저 로그인 성공하느냐, 공격 때문에 로그인이 잠기냐의 싸움이어서, 다른 포트로 바꿔서 열어두었다. 그런데 요즘에는 포트를 바꿔놓은 것도 금방 공격 당해서 잠겨버리고 있다. rdpgw 설정 해서 숨겨둬야겠다...
퇴사처리됨. 짱.
@kodingwarriorJaeyeol Lee 이제 풀타임 Fedify 컨트리뷰터로...
Type-level literals + GADTs = Type-safe AST representation for #nanopass #compilers in #Haskell? 🤔
.NET 10의 File-based App과 Native AOT 기능을 이용해서 작지만 알찬 유틸리티를 하나 만들어봤습니다. 수면 시간 부족을 예방하면서도, 조악하게 화면을 가리는 방식 대신 확실하게 자야 할 시간을 알리기 위해 화면을 그레이스케일로 바꿔버리는 (?) 도구로 요즈음 제 수면 시간을 지키려 노력 중입니다. 🤣
종종 코드블록되지 않은 날 것 그대로의 코드를 올린 글을 Threads나 여타 소셜 미디어에서 보다 보면, Hackers'Pub 을 소개시켜 주고 싶은 뽐뿌가 온다.
비슷한 이유로 코드블록을 지원하지 않는 메신저에서 장황한 코드를 공유받다 보면 Discord 나 Slack 쓰자고 하고 싶다. (물론 쓰고 있지만 일부 안쓰는 창구도 있어서..)
LLM을 적절하게 팀에 도입하는 방법을 모르겠다. (특히 주니어의) 학습과 단련을 위해 LLM을 의도적으로 배제해야 할 필요도 있을텐데... 하지만 LLM 도구를 사용하는 것도 추구해야 할 학습과 단련의 범주에 포함됨.
그리고 조금 다른 이야기지만 프로젝트에 바이브 코딩을 제대로 도입하는건 비가역적인 변화에 가깝다. 결국 사람이 일일히 다 검수하면 그건 비효율적임. 프로젝트에 들이려면 구현체를 어느 정도 블랙박스로 취급하고 테스트 수트 등에 의존해야 하는데, 생각보다 별로라서 돌아가려면 다시 알지도 못하는 코드베이스에 던져져야함. AI를 믿고 쓴다는 가정이었기 때문에 코드 퀄리티와 컨벤션도 장담할 수 없음.
LLM을 적절하게 팀에 도입하는 방법을 모르겠다. (특히 주니어의) 학습과 단련을 위해 LLM을 의도적으로 배제해야 할 필요도 있을텐데... 하지만 LLM 도구를 사용하는 것도 추구해야 할 학습과 단련의 범주에 포함됨.
Github merge queue 이제야 보는데 이걸로 Stacked PR(or Diff) 할수있다고 한 사람 누구야? 관계없잖아...
좋은 내용이였다. 앞으로 에이전트 매니저 역할을 겸해야 하는 개발자들이 생각해볼만한.
Managing implementations you don't understand is a problem as old as civilization. (and every manager in the world already deals with this!) Find an abstraction layer you can verify!
How does a CTO manage an expert? -> Acceptance Tests
How does a PM review an Eng feature? -> Use the product
How does a CEO check the acccountant? -> Spot check key facts
오랜만에 프로그래밍 언어 이야기하러 왔다. 오늘 주제는 타입스크립트의 핵심 가치다.
많은 사람들이 정적 타입 언어를 도입하는 이유로 안전성(Soundness)를 이야기한다. 맞는 말이다. 하지만 타입스크립트에서 안전성은 2등 가치다. 그럼 1등 가치는 뭘까?
바로 개발 경험 개선이다. 구체적으로, 오류 나기 쉬운 구문을 적당히 줄이고 자동 완성을 개선하며 큰 규모 리팩토링 시 심리적(그리고 any 같은 기능을 안 썼다는 가정하에 런타임에도 유의미한 수준의) 안정성을 얻겠다는 거다.
타입스크립트 공식 위키 문서에도 안전성은 목표가 아니라고 나와있다 (#). 우리는 때때로 도구의 목적에 들어맞지 않는 불필요한 기대를 하곤 한다. 하지만 도구 개발자와 싸우는 건 사용자로서 좋은 전략이 아니다.
조건부 타입과 재귀 타입, 템플릿 문자열 타입, infer 등을 보라. 정적 분석 난이도가 지수적으로 올라가는 희한한 기능들이 언어에 계속 추가되는 이유가 무엇인가. 추론을 포기하고 any가 나오곤 하는 이유가 무엇인가.
그들이 추구하는 게 안전한 세계가 아닌 실용적인 세계이기 때문이다.
ZelliJ는 Claude Code 여러개 돌리기에도 좋긴 한데, Fedify 기반의 서비스 만들기에도 괜찮은듯. 탭 여러개 띄워놓고 컨텍스트 스위칭하기보다는 ZelliJ로 화면 분할해놓고 한쪽은 로그 띄우고 한쪽은 fedify cli로 이것저것 테스트해보고
🇯🇵 Japan has officially banned Apple’s iOS browser engine restrictions.
Starting Dec 2025, iPhones must allow real Firefox, Chrome, Opera, Brave, Vivaldi and others to run their own engines, just like on desktop.
This is a major step forward for browser competition.
Full analysis here:
/1
https://open-web-advocacy.org/blog/japan-apple-must-lift-engine-ban-by-december/
이번 주 발표하는 거
발음하기 좀 더 쉽도록 변화를 주면, Hackett이라고도 부를 수 있을 것 같아요. 사람 이름이기도 하고 옷 브랜드 이름이기도 한 이름입니다
We're thrilled to announce Fedify 1.8.1, a mega release made possible through the incredible efforts of contributors from South Korea's #OSSCA (Open Source Contribution Academy). This release marks a significant milestone in #Fedify's development, bringing major architectural changes, new packages, and numerous enhancements across the board.
Note: Version 1.8.0 was skipped due to a versioning error.
🎉 Major Milestone: Monorepo Architecture
Fedify has been restructured as a #monorepo, consolidating all packages into a single repository with unified versioning. This change streamlines development and ensures all packages are released together with consistent version numbers.
Consolidated Packages
All existing Fedify packages now live under one roof:
- @fedify/fedify — Main library
- @fedify/cli — CLI toolchain
- @fedify/amqp — AMQP/RabbitMQ driver
- @fedify/express — Express integration
- @fedify/h3 — h3 framework integration
- @fedify/postgres — PostgreSQL drivers
- @fedify/redis — Redis drivers
🆕 New Packages
This release introduces four new packages to the Fedify ecosystem:
- @fedify/elysia — Elysia integration for Bun-powered applications
- @fedify/nestjs — NestJS integration for enterprise Node.js apps
- @fedify/sqlite — SQLite driver compatible with Bun, Deno, and Node.js
- @fedify/testing — Testing utilities with mock
Federation
andContext
classes
@fedify/fedify
Custom Collection Dispatchers
A powerful new feature that allows you to create custom collections beyond the standard ActivityPub collections. This enables implementation of domain-specific collections while maintaining federation compatibility.
Contributors: ChanHaeng Lee [#310, #332]
- Added comprehensive types and interfaces for custom collection handling
- New methods on
Federatable
interface:setCollectionDispatcher()
andsetOrderedCollectionDispatcher()
- Added
getCollectionUri()
method to theContext
interface - Full support for paginated custom collections
Compare-and-Swap (CAS) Support for KV Stores
Key–value stores now optionally support CAS operations for atomic updates, enabling optimistic locking and preventing lost updates in concurrent environments.
- Added optional
KvStore.cas()
method - Implemented in
MemoryKvStore
andDenoKvStore
- Useful for implementing distributed locks and counters
Fediverse Handle Utilities
New utility functions make working with #fediverse handles more convenient.
Contributors: ChanHaeng Lee [#278]
parseFediverseHandle()
— Parse handles into componentsisFediverseHandle()
— Validate handle formattoAcctUrl()
— Convert handles to URLsFediverseHandle
interface for type safety
Enhanced HTTP Request APIs
Contributors: Lee ByeongJun [#248, #281], Hyunchae Kim [#51, #315]
- Added
LookupWebFingerOptions.maxRedirection
option for controlling redirect behavior - APIs now support
AbortSignal
for request cancellation - New
DocumentLoaderOptions
interface - Added
signal
options toLookupObjectOptions
,LookupWebFingerOptions
, andDoubleKnockOptions
@fedify/cli
New Commands and Enhancements
The CLI has received significant improvements thanks to our OSSCA contributors:
fedify webfinger
Command
Contributors: ChanHaeng Lee [#260, #278], KeunHyeong Park [#311, #328]
Look up WebFinger information for any fediverse resource:
- Supports handles (
@user@server
) and URLs --user-agent
option for custom User-Agent headers--allow-private-address
for local testing--max-redirection
to control redirect following
fedify nodeinfo
Command
Contributors: Hyeonseo Kim [#267, #331, #168, #282, #304]
Replaces the deprecated fedify node
command with improved terminal rendering.
Enhanced fedify lookup
Command
Contributors: Jiwon Kwon [#169, #348, #261, #321]
- Terminal-specific image display for Kitty, WezTerm, Konsole, Warp, Wayst, st, and iTerm
-o
/--output
option to save results to files
Improved fedify inbox
Command
Contributors: Hasang Cho [#262, #285], Jang Hanarae [#191, #342]
--actor-name
and--actor-summary
options for customizing temporary actors- Now displays object types contained in activities
fedify init --dry-run
Contributors: Lee ByeongJun [#263, #298]
Preview project initialization without creating files.
Better Terminal Support
Contributors: Cho Hasang [#257, #341]
Correctly handles color output based on TTY detection and NO_COLOR
environment variable.
@fedify/elysia
Contributors: Hyeonseo Kim [#286, #339]
New Elysia integration brings Fedify to Bun-powered applications with a simple plugin interface:
import { Elysia } from "elysia";
import { fedify } from "@fedify/elysia";
const app = new Elysia()
.use(fedify(federation, { /* options */ }))
.listen(3000);
@fedify/nestjs
Contributors: Jaeyeol Lee [#269, #309]
Enterprise-ready NestJS integration with dependency injection support:
import { FedifyModule } from "@fedify/nestjs";
@Module({
imports: [
FedifyModule.forRoot({
kv: new MemoryKvStore(),
queue: new InProcessMessageQueue(),
origin: "https://example.com",
}),
],
})
export class AppModule {}
@fedify/sqlite
Contributors: An Subin [#274, #318]
SqliteKvStore
implementation compatible across all major JavaScript runtimes:
import { SqliteKvStore } from "@fedify/sqlite";
const kv = new SqliteKvStore("./fedify.db");
@fedify/testing
Contributors: Lee ByeongJun [#197, #283]
Comprehensive testing utilities with mocking support for Fedify applications:
import { MockFederation, MockContext } from "@fedify/testing";
const mockFederation = new MockFederation();
const mockContext = new MockContext();
// Track sent activities with full metadata
// Support custom path registration
// Multiple activity type listeners
🙏 Acknowledgments
This release represents an extraordinary community effort, particularly from the participants of South Korea's OSSCA (Open Source Contribution Academy) (Note: page in Korean). We extend our heartfelt thanks to all contributors:
Core Contributors
- ChanHaeng Lee (
@2chanhaeng이찬행) — Custom collections, fediverse handles, WebFinger command
- Lee ByeongJun (
@joonnotnotJoon) — WebFinger redirections, dry-run, testing utilities
- Hyunchae Kim (
@r4bb1t) — AbortSignal support
- Hyeonseo Kim (
@gaebalgom개발곰) — Elysia integration, nodeinfo command
- Jaeyeol Lee (
@kodingwarriorJaeyeol Lee) — NestJS integration
- An Subin (
@nyeongAn Nyeong (安寧)) — SQLite driver
- Jiwon Kwon (
@z9mb1wwj) — Terminal image display, output options
- Hasang Cho (
@crohasang크롸상) — Color output handling, actor customization
- Jang Hanarae (
@meneleHanal Ae) — Activity object type display
- KeunHyeong Park (
@w8385박근형) — WebFinger redirect options
Test Infrastructure Contributors
- Oh Daeun (
@ooheundaoed) — Fixed PostgreSQL test race conditions [#346, #350]
- Song Hanseo (
@songbirds) — Test stability improvements for Redis and code generation [#344, #347]
- Kim Jonghyeon (
@woaol벨) — CLI version management and documentation fixes [#306, #329, #330, #343]
Your contributions have made Fedify stronger and more versatile than ever. The OSSCA program's support has been instrumental in achieving this milestone release.
Migration Guide
Updating from Previous Versions
If you're using separate Fedify packages, update all packages to version 1.8.1:
{
"dependencies": {
"@fedify/fedify": "^1.8.1",
"@fedify/cli": "^1.8.1",
"@fedify/express": "^1.8.1"
}
}
All packages now share the same version number, simplifying dependency management.
Breaking Changes
There are no breaking changes in this release. All existing code should continue to work without modifications.
What's Next
With the monorepo structure in place and new integrations available, we're excited to continue improving Fedify's developer experience and expanding its capabilities. Stay tuned for more updates, and thank you for being part of the Fedify community!
For detailed technical information about all changes, please refer to the full changelog.
Fedify is an open-source project that helps developers build federated server applications powered by ActivityPub. Join us on GitHub or Discord to contribute or get help!
어쩔때는 Zed가 좋은 것 같은데, 어쩔 때는 Neovim이 좋음. 수제코딩할때 Zed랑 Neovim이랑 아등바등하게 괜찮은데, 빠릿빠릿하고 에디터 환경에 대한 제어권이 온전히 나에게 있는 것을 꼽자면 Neovim. 플러그인이 사실상 0인데, 있을 것들은 다 들어가 있고 수제로 코딩하는 맛이 타격감이 괜찮은건 Vim 모드가 가미된 Zed.... 프로젝트를 할 때는 Neovim을 주로 쓰기는 하지만, 학습할때는 Zed를 쓰는 빈도가 좀 있는 듯.
지금 만들고 있는 NestJS 기반의 연합우주 앱도 의도적으로 Zed로 수제코딩 하고 있음. 퐝션? 그런거 쓰지 마세요
Hackitty's Paw
이제 온 연합이 지켜보고 있어서 더 이상 쓰레기 코드를 짤 수 없다
그나저나 Hackers' Pub 마스코트 고양이에 아직 이름이 없는데, 어떤 이름을 지어 주면 좋을까요? 🤔
@hongminhee洪 民憙 (Hong Minhee) 핵캣 (Hackat 혹은 Hackcat)
오늘의 디버그 일기 자꾸 액펍아카데미랑 플래닛에서 요청을 보내도 씹었다 근데 액티비티 워크샵에서 수동요청 만드니까 잘 받아줬다 알고보니 액터 디스패쳐에서 inbox를 http로 던져줘서 그런 거였다...
그나저나 Hackers' Pub 마스코트 고양이에 아직 이름이 없는데, 어떤 이름을 지어 주면 좋을까요? 🤔
@hongminhee洪 民憙 (Hong Minhee) pub을 좀 더 살려서 puppy라 합시다
Hackers' Pub 스티커 왔다!
@hongminhee洪 民憙 (Hong Minhee) 펍냥이 잘 쓰겠습니다 ㅋㅋㅋ
해커스펍 고양이는 해커 + 네코 해서 헤코(HECKO) 라고 하면 좋겠지만 L33T로 H3CKO라고 하는건 어떨까 하고 생각한다
역시 내 작명센스는 괴멸적이다
그나저나 Hackers' Pub 마스코트 고양이에 아직 이름이 없는데, 어떤 이름을 지어 주면 좋을까요? 🤔
어라 사진이 안 올라갔네. 해커스펍 로고 스티커 오백장이 왔습니다! 빵빠레!
그나저나 Hackers' Pub 마스코트 고양이에 아직 이름이 없는데, 어떤 이름을 지어 주면 좋을까요? 🤔
그나저나 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.
아.. 저 승질 머리 고양이, 득 해야 하는데...해펍 모임은 언제인가요?