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

Progressive JSON
------------------------------
- *점진적 JPEG* 처럼, JSON 데이터도 불완전한 상태로 먼저 전송하여 클라이언트가 점차 내용 전체를 활용할 수 있는 방식 소개
- 기존 *JSON 파싱 방식* 은 전체 데이터가 완전히 수신되기 전까지 아무런 작업이 불가능한 비효율성 문제 있음
- *Breadth-first 방식* 으로 데이터를 여러 청크(부분)로 구분하여…
------------------------------
https://news.hada.io/topic?id=21226&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0
2

1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀

2
0
0

Flicked through some local facebook groups & there's a bunch of people asking about coding schools because their previous jobs are no longer viable (e.g., work taken by AI, or lack of employment opportunities).

Perhaps the sadder part is that they probably don't realize these tech schools won't really help them land a job because practically no one is hiring junior staff, because of wanting experienced people or because those jobs can be done by AI.

1

洪 民憙 (Hong Minhee) shared the below article:

Fun with Federation: Lemmy edition

julian @julian@community.nodebb.org

<p>It all started <a href="https://community.nodebb.org/topic/18824/did-4.4.1-break-federation-with-lemmy-groups">with a report about federation breaking between Lemmy and NodeBB</a>. I was subconsciously aware that something was going on, but had chalked it up to network issues.</p> <p>Observed behaviour showed that some remote categories would be receiving content in spurts, with long gaps in between.</p> <p>I spent the next 3-4 days looking into it, but came up empty. Whatever was happening wasn't throwing any obvious errors, and along the way, I found what I <em>thought</em> was related (it was), but I wasn't sure why: against some Lemmy servers, the "follow"/"unfollow" mechanic would simply stop working, and this would often coincide with gaps in content. In some egregious cases, the flow of content stopped completely!</p> <p>Unable to make headway, I had to <a href="https://github.com/LemmyNet/lemmy/issues/5722" rel="nofollow ugc">reach out to the folks at Lemmy</a> to figure out what the issue was. NodeBB occasionally sends non-200 level responses depending on the activity. Specifically, the following scenarios:</p> <ul> <li>A remote user upvoting more than 20 posts in a single day (a spam prevention tactic) causing NodeBB to throw an error, which was caught and returned an <code>HTTP 500 Internal Server Error</code>.</li> <li>A <code>Dislike</code> activity, which is not currently handled by NodeBB. In these cases, NodeBB would send an <code>HTTP 501 Not Implemented</code></li> </ul> <p>When encountering either of these responses, Lemmy would return the activity back to the queue for later delivery and <strong>mark a delivery failure</strong>. If enough of these (~40) happened within 24 hours, Lemmy would give the instance a time-out and <em>pause delivery completely</em>.</p> <p>That was it — a quick pair of code updates later, and we started working through Lemmy's backlog of 4.1M activities.</p> <p>As of 4am this morning, <code>community.nodebb.org</code> is no longer behind <code>lemmy.world</code>.</p> <p><img src="https://community.nodebb.org/assets/uploads/files/1748873636999-d2b3dc1c-01f3-4203-b281-2406e949667d-image.png" alt="d2b3dc1c-01f3-4203-b281-2406e949667d-image.png" /></p> <p>Fun week. Let's not do that again LOL.</p> <p>v4.4.2 of NodeBB contains the updated logic for smoother Lemmy federation.</p>

Read more →
0

예전에 게임 회사에서 상점 시스템(게임 머니로 아이템 구입/선물을 처리하는거)을 개발하는 팀에서 일한적이 있다. 그때도 퇴사하기 직전에 취약점을 발견했었는데, 다행히 외부인은 쓸수없고 직원만 쓸수있는 취약점이긴 했다. 상점 시스템이 게임 머니를 관리하는 시스템과, 실제로 아이템을 인벤토리에 넣는 시스템이 분리가 되있어서 생긴 문제였는데, 가령 잡템을 100원에 구입하는척하며 실제론 인벤토리에 전설의 무기가 들어가게끔 할수 있었다. 그러니까 MSA인데 각 서비스가 서로를 100% 신뢰하고 있어서 생긴 문제? 어떤 직원이 마음먹고 그런 짓을 했다면 본격적으로 abnormarly detection을 하지 않는이상 적발하기가 매우 어려웠을 것이다.

4
3
0
0
0
3

GPL은 외부 릴리즈시 추가로 작성하거나 고친 소스 코드의 동일 조건 공개를 강제하는 특성으로 인해, 초기에 사회주의-공산주의라는 오해를 많이 받기는 했었음. 네가 썼다면, 네가 작성한 코드도 공개하라는 공유주의 라이센스니까.

그러나 그러한 공개 강제는 GPL을 일종의 플랫폼으로 만드는 효과 - GPL을 쓰면 GPL이고 아니면 처음부터 아니어야 함 - 가 있어서, 리눅스가 BSD를 제치고, 윈도와 유닉스를 넘어 인터넷과 세계의 커널이 되는 결정적 요인이 됩니다. 그리고 수많은 기업들이 이를 기반으로 자라나죠.

GPL은 자본주의 사회에서도 매우 훌륭하게 기능하고 있습니다. 이제 와서 GPL이 공산주의라고 하는 사람은 거의 없죠.

4

잘 모르는데 불안정한 라이브러리를 쓸때의 디버깅은, 코드의 일부를 disable하고 버그가 재현되는지 보고 맞으면 범위를 좁히고 이런식으로 무지성 이진탐색을 수행하는 식으로 하게된다. 전혀 모르는 라이브러리에 대해서도 쓸수있는게 장점이긴한데, 반대로 이런건 하고나서 배우는게 진짜 1도 없다.

6

Good news! We've officially added support to the roadmap. We've created a detailed issue to track our implementation plan: https://github.com/fedify-dev/fedify/issues/233.

The effort will be tackled in phases, including compatibility assessment, core adaptations for Workers' environment, KV store and message queue implementations, and finally integration with Cloudflare's ecosystem. This will be a substantial project that we'll break down into several sub-issues.

If you're interested in contributing to any specific aspect of Workers support, please comment on the main issue to coordinate efforts.

🎉 support is now complete! After implementing the test infrastructure, core module, examples, and comprehensive documentation, can now run on Cloudflare Workers.

What's included:

Try it now: Available in the development release v1.6.1-dev.876+7b07d213:

This will be included in the upcoming Fedify 1.6 stable release. Thank you to everyone who requested this feature and provided feedback throughout the implementation!

1

洪 民憙 (Hong Minhee) shared the below article:

ap-components

Evan Prodromou @evanprodromou@socialwebfoundation.org

I want to share some information about a repository we just published. ap-components is a set of Web Components for building interfaces for the ActivityPub API. I built it as I was making a sample application for handling the acct: URI scheme. I found myself making more and more components for the UI, and realised that they would probably be useful for other applications, too. The library is available on npm at @socialwebfoundation/ap-components. It currently covers some of the simplest […]

Read more →
0

제가 지난 15년 정도 그렇게 살다가 결국 VS Code에 정착했답니다. 온갖 랭귀지 서버 세팅하는 게 너무나 귀찮은 나머지…

0

If you're interested in building your own server but don't know where to start, I recommend checking out 's Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the !

ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!

1
0
0

If you're interested in building your own server but don't know where to start, I recommend checking out 's Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the !

0
3
0
2

오픈 소스 컨퍼런스 名古屋(나고야)에서 Fedify () 《나만의 聯合宇宙(연합우주) 마이크로블로그 만들기》(自分だけのフェディバースのマイクロブログを作ろう!)가 完販(완판)되었다고…!

4
3

Node.js 개발자라면 꼭 읽어봤으면 하는 아티클 2선

일반적인 Node.js 애플리케이션을 개발할 때 프레임워크와 무관하게 함께 일하는 동료들에게 필수적으로 추천하고 싶은 아티클이 있다.

빠르고 유지보수 가능한 데이터베이스 패턴들

https://sophiebits.com/2020/01/01/fast-maintainable-db-patterns

특정 프레임워크나 ORM에 의존하지 않고도 N+1 Query, 캐싱 같은 일반적인 문제를 해결하며 유지보수 가능한 형태로 코딩하는 방법을 제시한다. DataLoader로 모든 문제가 해결된다고 생각할 수도 있지만, 근본적인 문제 해결 과정을 직접 고민해보는 것만으로도 엔지니어링 역량 향상에 큰 도움이 된다.

Next.js에서 보안을 고려하는 방법

https://nextjs.org/blog/security-nextjs-server-components-actions

React 관련 내용이 포함되어 있지만, 그 부분을 제외하고 읽어도 충분히 가치가 있다. 데이터를 클라이언트에 전달할 때 마스킹하거나 접근 권한을 검사하는 방법을 구체적으로 알려준다. 핵심은 별도의 플러그인이나 외부 시스템 없이도 간단하면서 효과적인 권한 검사 시스템을 구축할 수 있다는 점이다.

마무리

위 아티클들을 추천하는 이유는 간단하다. 특정 프레임워크에 결속되지 않으면서도 독립적이고 지역적으로 백엔드 애플리케이션에서 볼 수 있는 일반적인 문제를 해결할 수 있는 방법들을 제시하기 때문이다. 이런 접근법은 전체 코드베이스의 안전성과 성능을 크게 향상시키며, 결국 더 많은 개발자들이 행복하게 일할 수 있는 환경을 만들어준다고 생각한다.

대부분 프레임워크에 의존적이거나 플러그인에 의존해 전체 코드베이스를 올바르게 수정하기 어려워지는 모습을 여러번 보았다. 개인적으로 엔지니어링 문화에서 크게 해결하고 싶은 부분이다. JavaScript 뿐만 아니라 가능하면 언어나 런타임에 있는 근원적 요소만을 통해 문제를 해결하는게 건강하게 문제를 해결할 수 있는 방법이라고 본다.

6
0
0
0

One of the last missing pieces from Hackers' Pub's original roadmap is an algorithmic timeline. I've been thinking about how to build one that respects privacy and fediverse values—would love to hear thoughts from the community!

The key idea: only use explicit user actions (reactions, shares, follows) as signals, never track clicks, scrolling, or dwell time. What do you think?

@hongminhee洪 民憙 (Hong Minhee) I'm not a Hackers' Pub user but I'm always very excited by algorithm on Fedi! I think they are an important part of building better networks.

One thing that Twitter does that is interesting is to give more weight to a comment if the original poster replied/interacted with it (exact numbers: if someone leaves a comment, it's 54 times more impactful than a like, but if the OP replies it become x150). This is a great way to favor discussion in my opinion, this could be interesting to copy.
1

Servo Report Weeks 20 & 21 2025

Highlights from last week:

- Support `wavy` and `double` for `text-decoration-line`
- Fix calculation of font underline thickness on macOS
- Fully support `<input type=color>`
- Incremental layout improvements
- libservo: Allow embedders to execute JavaScript scripts via the API
- Unconditionally enable the URLPattern API

Decorative report cover with the Servo logo that reads "Servo Report Week 20 & 21 2025
0
0
0
1
1
0
0

어제 하스켈러들과 얘기하다가 느꼈는데, Linear Type이 얘기는 오래전부터 나왔지만 실제로 개발에 써본사람은 많지 않아서 약간 떡밥화?가 된거 같다. 나도 Linear Type에 대해선 예전에 Idris로 쓰여진 튜토리얼을 보고 흥미롭다고 생각한게 전부다. 근데 함수형 언어에 대해 GC가 필수라느니 C처럼 성능 최적화를 못한다느니 같은 이야기를 들을때 Linear Type을 언급하며 킹론상 가능하다능...이라고 하게된다(나말고도 많이들 그럴듯?) 하지만 정작 구체적으로 어떻게 구현하는지 공부해본적은 없다ㅋㅋIdris2가 궤도에 오르면 떡밥에서 벗어나려나.

3
2

C# 파일을 dotnet run app.cs로 직접 실행하는 방법
------------------------------
- *.NET 10 Preview 4* 부터는, 이제 단일 C# 파일을
dotnet run app.cs로 바로 실행할 수 있는 기능이 추가되어, *프로젝트 파일 없이도* C# 코드 실행이 가능해짐
- *파일 기반 앱(file-based apps)* 덕분에, Python이나 JavaScript처럼 간단한 스크립트 실행, 테스트, 아이디어 실험이 한층 쉬워짐
-
Nu…
------------------------------
https://news.hada.io/topic?id=21190&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0
1
0

We’re excited to announce that version 3 of the Biome extension for VS Code is now available!

This release includes a range of new features and improvements to make your development experience even better:

- 🗄️ Support for multi-root workspaces
- 📝 Support for single-file mode
- 👻 Support for unsaved files
- 🔄 Automatic reload after updating Biome
- ⚙️ Automatic reload after configuration changes
- ✨ Improved status indicator

Read more about it here: biomejs.dev/blog/2025-05-29-bi

1
1
0
0

I've been working on adding Cloudflare Workers compatibility to @fedifyFedify: an ActivityPub server framework for a few days now, and I'm feeling a little tired. Cloud Workers seems to have bet on @vite support for local development environment, but the problem is that Fedify can't use Vite due to their bug. (This bug is said to be fixed in Vite 7.) So I feel like I'm solving the problems that Cloudflare employees should solve themselves.

1

React Native에 Portal이 없어서 좀 고생을 했는데, 일단 지원하는게 맞다곤 생각한다. 근데 Portal이 필요한 경우는 상태 트리랑 뷰 트리가 순서가 어긋나있을 때인데(non-monotone?) 이런 설계 자체가 문제일 수 있다. 보통 개발할때 뷰 트리 기준으로 생각하기 때문에 그런데, 상태 트리를 먼저 다 설계하고 렌더링은 최대한 단순하게 하면 될거 같긴한데, 음 이거 Redux잖아ㅋㅋㅋ

3
2
1

Hacker News는 이제 Common Lisp 위에서 구동됨
------------------------------
-
Hacker News 는 기존에는 Arc라는 *Lisp 계열 언어* 로 구현되었으나 최근 몇 달간 *SBCL(Steel Bank Common Lisp)* 로 전환됨
- 이번 전환의 주요 목적은 *성능 향상* 과 멀티코어 지원 가능성 확보
- Arc-to-JS 변환기인
Lilt 와 Arc-to-Common Lisp 변환기인 Clarc 개발로 인해 구조가 더욱 체계…
------------------------------
https://news.hada.io/topic?id=21129&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0

https://tech.kakaoent.com/front-end/2023/230330-frontend-solid 소프트웨어 엔지니어링 분야에서 유명한 SOLID 원칙이 프런트엔드 UI 설계 관점에서 어떻게 관련이 있는지, 카카오엔터에서 모범사례를 잘 소개가 되어서 공유합니다. 읽고 나서 해당 원칙이 서비스 아키텍쳐 설계 관점으로 한정되지 않음을 알게 되었습니다.

2
3
1
4

洪 民憙 (Hong Minhee) shared the below article:

How to install Sharkey/Misskey (with fixes for FreeBSD) for Fedora 42

甘瀬ここあ @cocoa@hackers.pub

When installing patched versions of Misskey and Sharkey on Fedora 42, compilation errors related to `uint8_t` and `state` may arise due to the default GCC version. This guide provides a workaround by compiling and using a newer version of GCC/G++. The process involves installing necessary dependencies, downloading and extracting the GCC source code, configuring the build with specific flags, and compiling GCC using the `make` command. After installation, the guide details how to modify the `pnpm install` command for Misskey and Sharkey to use the newly compiled GCC, ensuring a successful installation. By following these steps, users can resolve the compilation errors and properly install Misskey and Sharkey on Fedora 42.

Read more →
4