@xiniha 오… 몇 개 추천해 주세요.
XiNiHa
@xiniha@hackers.pub · 80 following · 91 followers
GitHub
- @XiNiHa
Bluesky
- @xiniha.dev
Twitter
- @xiniha_1e88df
@hongminhee洪 民憙 (Hong Minhee) 아직 스케줄만 나오고 발표가 진행된 건 아니긴 한데 😅 여기에 현재 기준 스케줄이 있습니다
이번 GraphQLConf 발표들도 재밌는 것들 잔뜩이구만
#자기소개 를 해볼까요.
@ranolpRanol☆P 와 동일인입니다...만 해당 계정은 근시일 내에 살릴 계획이 없습니다.
@ranolp 계정은 프로그래밍 언어론/해커스펍 사용기 위주 계정입니다.
- 다시 말하자면 그 외 일상적인 내용은 트위터에서 이야기한다는 뜻입니다...
- TypeScript와 얼추 호환되면서 제정신인 타입 추론 규칙을 가진 언어를 만들려고 타입 이론을 공부하고 있습니다.
- 좀 많이 전에는 Bidirectional Typing (J. Dunfield, N. Krishnaswami)을 읽었었고,
- 독일에 있는 튀빙겐 대학 내에서 연구하는 대수적 효과 언어 Effekt도 간단히 살펴보았었습니다.
- 최근에는 힌들리-밀너-다마스 타입 추론 위에 얹은 부타입 확장을 살펴보고 있습니다.
- 캠브릿지 대학 연구인 MLsub (S. Dolan and A. Mycroft)...
- 을 단순화한 Simple-sub (L. Parreaux)을 시작으로 MLstruct, Ultimate Conditional Syntax 등 홍콩대 연구를 많이 보고 있습니다
- MLscript가 정말 흥미로운 언어에요 ReScript but more Kotlin처럼 생겼음
- 올해 들어서 An Infinitely Large Napkin으로 군론과 군의 작용, 위상수학과 대수 위상(호모토피만), 그리고 범주론을 배웠습니다.
- 형식적 증명 보조기에도 관심이 많습니다.
- Software Foundation을 통해 Coq (현 Rocq)를 약간 배웠습니다.
- Lean 4도 약간 맛보기를 했습니다.
- 의존 타입/마틴 뢰프 타입(MLTT)/호모토피 타입(HoTT) 등을 배워 간단한 증명 보조기도 만들어보고 싶네요.
- 아마 An Infinitely Large Napkin 스터디가 끝나면 HoTT 스터디를 하지 않을까 싶네요.
이런 면에서 KDL이 아주 훌륭하다고 느꼈던 게 /- 주석이란 게 있다. AST 노드 하나를 주석 처리하는 거.
함수형 언어는 뭐 사실 역사와 전통의 리스프 방언에서 시작해야 하지 않나 (웃음)
XiNiHa shared the below article:
Hackers' Pub의 게시글에 번역 힌트 주기

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
Hackers' Pub의 게시글 번역 기능에서 LLM의 오역 가능성을 줄이기 위해, Markdown 내 HTML 주석을 활용한 특별한 지침 제공 방법을 소개합니다. 게시글 상단에 `<!--`와 `-->` 사이에 LLM 번역가를 위한 지침을 작성하여 제목 지정, 특정 용어 사용 등의 구체적인 요청을 할 수 있습니다. 이는 LLM에게 맥락을 제공하여 번역 품질을 향상시키는 데 도움을 줍니다. 저자가 직접 번역 맥락을 설정함으로써 LLM 번역의 정확성을 높일 수 있다는 점에서 유용한 팁입니다.
Read more →새로 오신 분들도 많이 계시니, #자기소개 한 번 해 볼까요? 저부터 해보겠습니다.
- Hackers' Pub을 만들고 운영하고 있습니다. (Hackers' Pub은 저희 집 홈 서버에서 돌아가고 있습니다… 😂)
- 연합우주(fediverse)와 ActivityPub에 관심이 많고, 또 관련된 소프트웨어(
@fedifyFedify: an ActivityPub server framework,
@holloHollo
,
@botkitBotKit by Fedify
, Hackers' Pub…)를 만듭니다.
- 좋아하는 언어는 Haskell인데 자주 쓰는 언어는 TypeScript입니다. 예전에는 Python을 좋아하고 자주 썼습니다.
- 함수형 프로그래밍을 좋아합니다만, 좋아하는 만큼 잘 다루는지는 잘 모르겠습니다.
- 옛날에는 덕 타이핑 언어를 좋아했는데, 나이가 들고 협업을 많이 하게 되면서 정적 타이핑 언어를 선호하게 되었습니다. 그래도 여전히 덕 타이핑 언어가 제공하는 특별한 생산성이 있다고 생각합니다.
- 자유 소프트웨어와 오픈 소스를 좋아합니다. GPL을 좋아하지만, 트랜스젠더 배제적인 행보를 보인 적 있는 자유 소프트웨어 재단이나 여러 성추행 전적이 있는 Richard Stallman은 좋아하지 않습니다.
- 소프트웨어 문서화에도 관심이 많습니다. 문서화가 소프트웨어 개발의 중요한 부분이라고 생각합니다. 문서화 도구들에도 관심이 많습니다.
- 원래는 백엔드 개발자였는데 바로 전 직장이 블록체인 회사여서 백엔드 개발에서 손을 놓은 지 좀 되니까 이제는 잘 모르게 됐습니다. 재활이 필요합니다.
- 현재는 일 안 하고 쉬고 있습니다.
- 30대 후반, 기혼, 자녀는 없습니다. 서울에서 살고 있습니다.
아무쪼록 잘 부탁드립니다.
여기선 프로그래밍 언어론 이야기나 해야겠다
XiNiHa shared the below article:
“조용한 연합우주” 문제를 해결하는 두 가지 접근법: 대화 백필링 메커니즘

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
이 글은 연합우주(fediverse)에서 발생하는 "조용한 연합우주" 문제, 즉 대화의 일부만 보이는 현상의 원인과 해결책을 탐구합니다. ActivityPub 프로토콜의 분산 특성으로 인해 대화가 여러 서버에 분산되어 저장되면서 발생하는 이 문제를 해결하기 위해, 답글 트리 크롤링과 컨텍스트 소유자 기반 방식이라는 두 가지 주요 접근법을 제시합니다. 답글 트리 크롤링은 모든 답글을 순차적으로 가져오는 방식이지만 네트워크 취약성과 작업량 증가의 단점이 있고, 컨텍스트 소유자 방식은 대화의 원 작성자가 대화 내용을 관리하는 중앙화된 접근법이지만 컨텍스트 소유자에 대한 의존성이 높다는 단점이 있습니다. 또한, 모더레이션 패러다임의 충돌과 상위 전파 누락 문제와 같은 논쟁점을 지적하며, 주기적 크롤링, 사용자 트리거, 멘션 기반 백필과 같은 추가적인 백필 메커니즘을 소개합니다. 마지막으로, FEP 수렴 논의와 구현체 간 협력 현황을 통해 향후 개발 방향으로 하이브리드 접근법의 표준화를 제시하며, 다중 전략 구현, 리소스 관리, 모니터링 및 로깅의 모범 사례 가이드라인을 제시합니다. 이 글은 연합우주가 더욱 풍부하고 연결된 소셜 네트워크로 발전하기 위한 노력과 사용자 경험 개선의 중요성을 강조합니다.
Read more →평소에 함수형 언어 매니아들이 주장하는만큼 이펙트를 엄격하게 구분하는게 중요하다곤 생각안했는데, local first 앱을 만들다가 네트워크 요청을 포함한 IO와 그렇지 않은 IO를 구분해야하는 이유를 찾았다. 앱의 초기화 로직에 네트워크 요청이 숨어있으면 API 서버 장애시 앱이 아예 안켜지는 문제가 있다. 방금 이거랑 관련된 버그 찾느라 시간을 많이 썼다.
[페미위키 6월 운영팀 모집]
운영팀은 페미위키를 어떻게 키워낼까 고민하는 개인들의 모임이며 여성혐오자가 아니라면 추가 조건 없이 함께할 수 있습니다.
운영팀 연락에 사용할 구글 지메일로 admin@femiwiki.com으로 지원 동기를 적어 보내주세요. (제목 "페미위키 운영팀 지원")
안녕하세요, 페미위키 개발팀입니다. 개발팀 활성화를 위해 이리저리 둘러보다 해커스펍에 대해 알게 되었습니다. 여건이 되면 페미위키 개발에 대해서 얘기할 수 있는 기회를 만들어보려 합니다!
더불어 페미위키 개발팀에서 오픈소스 컨트리뷰터 & 개발팀을 모집합니다! 페미니스트시라면 정체성 불문, 거주국 불문하고 모시고 있습니다. 함께 페미니즘 정보집합체 만들어가요!
오늘 @xiniha 님 소환해서 배운 것:
- SolidStart 기본적인 사용법
- SolidStart 위에서 GraphQL 질의해서 결과 갖다 쓰는 법
- GraphQL + Relay에서 커넥션에 추가 필드 끼워넣는 법
- SolidStart에서 shadcn/ui…가 아니라 solid-ui 쓰는 법
그리고 배운 건 아니고 그냥 @xiniha 님이 다 해주신 것:
- Lingui를 이용한 국제화 세팅
- Deno를 쓰기 때문에 생기는 온갖 트러블들 해결
이제 이 새로운 스택으로 Hackers' Pub을 재구현하기만 하면 된다…! 다행히 도메인 모델은 분리되어 있어서, UI 위주로 재작성하면 될 것 같다.
We're migrating Hackers' Pub to a pretty unconventional tech stack, and I'm honestly excited about it!
Thanks to my friend @xiniha, we're diving into #Solid, #SolidStart, #Pothos, #GraphQL, and #Relay. In a world dominated by Next.js and React, this feels refreshingly different. And yes, we're sticking with #Deno instead of Node.js too.
Some might call it contrarian, but I like to think of it as exploring what's possible beyond the mainstream. Sometimes the road less traveled leads to interesting places.
Zed 설정 파일 형식은 VS Code보다 구조화도 덜 되어있고 쓰기에도 불편한 것 같다. 주먹구구식으로 만든 느낌…
@hongminhee洪 民憙 (Hong Minhee) 그래도 설정 파일 스키마가 바뀌었을 때 자동 업그레이드 지원하는 기능이 있어서, 당장 대충 만들어둬도 크게 문제는 없을 것 같긴 하더라구요 😂
Hackers' Pub에 공유할 수 있는 초대 링크 기능을 추가했습니다. 설정 → 초대 페이지에서 초대 링크 생성이 가능하며, 초대 링크는 정원이나 유효 기간, 메시지를 정할 수 있게 되어 있습니다. 아무래도 DM으로 직접 초대 요청을 달라고 하면 쑥스러움이 많은 분들은 요청을 안 하시는 경우가 많은 것 같아서 만들게 되었습니다. 참고로, 초대 링크를 통해 가입한 사용자는 초대 링크를 생성한 사람과 자동으로 맞팔하게 됩니다.
We're excited to announce Hollo 0.6.0, a significant release that brings enhanced security, better user experience, and important infrastructure improvements to your single-user microblogging setup.
Enhanced OAuth Security with Modern Standards
This release prioritizes security with comprehensive OAuth 2.0 improvements that align with current best practices. We've implemented several critical RFC standards that significantly strengthen the authorization process:
OAuth 2.0 Authorization Code Flow with Access Grants — We've overhauled the OAuth implementation to properly separate authorization codes from access token issuance, providing better security isolation throughout the authentication process.
RFC 7636 PKCE (Proof Key for Code Exchange) Support — Hollo now supports PKCE with the S256 code challenge method, which prevents authorization code interception attacks. This is particularly important for public clients and follows the latest OAuth 2.0 security recommendations outlined in RFC 9700 (OAuth 2.0 Security Current Best Practices).
RFC 8414 OAuth Authorization Server Metadata — We've added support for OAuth Authorization Server metadata endpoints, allowing clients to automatically discover Hollo's OAuth capabilities and configuration. This makes integration smoother and helps clients adapt to your server's specific OAuth setup.
Enhanced Profile Scope Support — The new /oauth/userinfo
endpoint and expanded profile scope support provide applications with standardized ways to access user profile information, improving compatibility with a wider range of OAuth-compliant applications.
These OAuth improvements not only make Hollo more secure but also position it at the forefront of federated social media security standards. We encourage other fediverse projects to adopt these same standards to ensure the entire ecosystem benefits from these security enhancements.
Special thanks to Emelia Smith (@thisismissemEmelia 👸🏻) for spearheading these critical OAuth security improvements and ensuring Hollo stays ahead of the curve on authentication best practices.
Revamped Media Storage Configuration
We've significantly improved how Hollo handles media storage configuration, making it more flexible and future-ready:
New Environment Variables — The storage system now uses STORAGE_URL_BASE
(replacing the deprecated ASSET_URL_BASE
) and FS_STORAGE_PATH
for local filesystem storage (replacing FS_ASSET_PATH
). These changes provide clearer naming and better organization.
Improved Security Requirements — The SECRET_KEY
environment variable now requires a minimum of 44 characters, ensuring sufficient entropy for cryptographic operations. You'll need to update your configuration if your current secret key is shorter.
Network Binding Control — The new BIND
environment variable lets you specify exactly which network interface Hollo should listen on, giving you more control over your server's network configuration.
Thanks to Emelia Smith (@thisismissemEmelia 👸🏻) for leading these infrastructure improvements.
Better User Experience
Customizable Profile Themes — You can now personalize your profile page with different theme colors. Choose from the full range of Pico CSS color options to make your profile uniquely yours.
Enhanced Administration Dashboard — The dashboard now displays the current Hollo version at the bottom, making it easier to track which version you're running. You can also sign out directly from the dashboard for better session management.
Improved Post Presentation — Shared posts on profile pages now have better visual separation from original content, and the sharing timestamp is clearly displayed. This makes it much easier to distinguish between your original thoughts and content you've shared from others.
Better Image Accessibility — Alt text for images is now displayed within expandable details sections, improving accessibility while keeping the interface clean.
Syntax Highlighting — Code blocks in Markdown posts now feature beautiful syntax highlighting powered by Shiki, supporting a comprehensive range of programming languages. This makes technical discussions much more readable.
Enhanced Character Limit — The maximum post length has been increased from 4,096 to 10,000 characters, giving you more space to express your thoughts in detail.
Thanks to RangHo Lee (@rangho_220우주스타 아이도루 랭호 🌠) for the version display feature and Okuto Oyama (
@yamanoku) for the image accessibility improvements.
Privacy and Content Improvements
EXIF Metadata Removal — Hollo now automatically strips EXIF metadata from uploaded images before storing them, protecting your privacy by removing potentially sensitive location and device information.
Public API Endpoints — Following Mastodon's approach, certain API endpoints are now publicly accessible without authentication, making Hollo more compatible with various client applications and improving the overall federation experience.
Thanks to NTSK (@ntekNTSK) for the privacy-focused EXIF metadata stripping implementation.
Technical Foundation
Node.js 24+ Requirement — This release requires Node.js 24.0.0 or later. We've also upgraded to Fedify 1.5.3 and @fedify/postgres 0.3.0 for improved performance and compatibility.
Test Coverage & Quality Assurance — The codebase now includes comprehensive testing infrastructure and test coverage. We're committed to expanding this coverage and integrating testing more deeply into our development and release workflows. This also provides an excellent opportunity for first-time contributors to get involved by writing tests.
Cross-Origin Request Support — OAuth and well-known endpoints now properly support cross-origin requests, aligning with Mastodon's behavior and improving client compatibility.
Cleaner Token Endpoint — The scope parameter is now properly optional for the OAuth token endpoint, clarifying that it only affects client credentials flows (not authorization code flows, where it was already ignored).
Looking Forward
This release represents a major step forward in making Hollo not just a great single-user microblogging platform, but also a leader in federated social media security standards. The OAuth improvements we've implemented should serve as a model for other fediverse projects.
We're particularly excited about the OAuth security enhancements, which demonstrate our commitment to staying ahead of security best practices. As the federated web continues to evolve, we believe these standards will become increasingly important for maintaining user trust and ensuring secure interactions across the fediverse.
Upgrading
Upgrading to Hollo 0.6.0 is straightforward, but there are a few important considerations:
Railway Deployment
- Go to your Railway dashboard
- Select your Hollo project and service
- In the deployments tab, click the three-dot menu and select Redeploy
Docker Deployment
- Pull the latest image:
docker pull ghcr.io/fedify-dev/hollo:latest
- Stop your current container
- Start with the new image using your existing configuration
Manual Installation
- Pull the latest code:
git pull
- Install dependencies:
pnpm install
- Restart the service:
pnpm run prod
Important Upgrade Notes
Environment Variables: Update your configuration if you're using deprecated variables:
- Replace
ASSET_URL_BASE
withSTORAGE_URL_BASE
- Replace
FS_ASSET_PATH
withFS_STORAGE_PATH
- Ensure your
SECRET_KEY
is at least 44 characters long
Session Reset: Due to the OAuth security improvements, existing user sessions may be invalidated during the upgrade. You'll likely need to log in again through your client apps (like Phanpy, Moshidon, etc.) after upgrading. This is a one-time inconvenience that ensures you benefit from the enhanced security features.
Thank you to everyone who contributed to this release, and to the community for your continued support. Hollo 0.6.0 brings significant improvements to security, usability, and the overall experience of running your own corner of the fediverse.
Exciting news for the #Hollo 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 #fediverse 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 #ActivityPub 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! 🚀
Hackers' Pub을 사용하면서 연합우주(fediverse) 뿐만 아니라 Bluesky 사람들과도 교류하고 싶으신 분들은 Bridgy Fed라는 서비스를 사용해 보시면 좋을 것 같습니다. Hackers' Pub 계정 생성 후 2주가 지난 분들만 사용 가능하긴 한데요.[1]
@bsky.brid.gyBridgy Fed for Bluesky 계정을 팔로하시면 Bluesky 쪽에 일종의 미러링 계정이 생성되게 됩니다. 성공적으로 Bluesky 미러가 생기면
@bsky.brid.gyBridgy Fed for Bluesky 계정이 맞팔을 해 올 겁니다.
예를 들어 제 @hongminhee洪 民憙 (Hong Minhee) 계정으로
@bsky.brid.gyBridgy Fed for Bluesky 계정을 팔로하면, Bluesky 쪽에 @hongminhee.hackers.pub.ap.brid.gy라는 계정이 생기는 식입니다. 그러면 Bluesky 쪽 사람들이 해당 계정을 멘션하거나, 댓글을 달거나, 인용을 하면 Hackers' Pub에서 그게 보이게 됩니다. 서로 팔로도 할 수 있고요.
아침에 @devuntfinn 님이 pino에서 LogTape로 옮기려는데 아쉬운 점들이 있다고 해서 해당 부분들을 개선했다.
#Fedify 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 #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
https://issue.daum.net/election/2025 이번 대선 통해 처음 알았는데 다음 뉴스 포털 전체에서 Svelte 쓰나 보네...
대학생때 친구(컴알못)가 노트북 견적 짜달라고 한적이 있는데, 성능 상관없고 최대한 싸게만 해달라고 했다. 그래서 운영체제 미포함 기기에 우분투 깔아서 30만원으로 맞춰줬다. 우분투를 영업하려는 의도는 전혀 없었고 싸게 해달라는 요구를 최대한 맞춘 결과였다. 걔가 그때 형편이 안 좋아서 한푼이라도 아끼는게 중요했고, 나는 나름 목적을 달성했다는 것에 뿌듯해했다. 리브레 오피스 깔아주면서 한글, 엑셀 대신에 이거 쓰면 된다고 설명했던 기억이 난다.
그리고 이 일을 까맣게 잊고 살다가 1년후 쯤에 그 친구를 다시 만났는데, 보자마자 반응이
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 뿐만 아니라 가능하면 언어나 런타임에 있는 근원적 요소만을 통해 문제를 해결하는게 건강하게 문제를 해결할 수 있는 방법이라고 본다.
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial 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 #fediverse!
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: https://biomejs.dev/blog/2025-05-29-biome-vscode-v3/
2025 오픈소스 컨트리뷰션 아카데미 참여형 멘티를 오늘부터 6월 22일까지 모집한다고 합니다. 저도 Fedify 프로젝트의 멘토로서 참여하고 있으니, 관심 있는 분들은 많은 참여 부탁드립니다!
Solid 쓸 때 잊을 만하면 children() 헬퍼 쓰는 거 까먹어서 버그 나는데 맨날 원인까지 까먹어버려서 해결하는 데 한세월 걸림 ㅁㄴㅇㄹ
드디어 Fedify에서 npm 패키지 만드는데 dnt를 버리고 tsdown을 쓰게 바꿨다. 테스트도 Deno, Node.js, Bun 내장 테스트 러너로 돌게 했고. 이제 다시 원래 하려고 했던 Cloudflare Workers 지원 작업을 재개해야 한다.
https://github.com/fedify-dev/fedify/commit/cc3d14fda6a8548ecb04473de19c9134655e5018
한국 페디버스 개발자 모임에서 주최한 스프린트에 다녀왔다. 기여하고자 했던 https://github.com/fedify-dev/fedify/issues/169 는 또 JSON-ish 관련 이슈로 해결하지 못했지만 소규모 모임에서 얻을 수 있는 좋은 분위기와 에너지를 맘껏 느껴 좋았다. PR은 보내지 못했지만 Fedify 마스코트(이름 없음)로 키링 만들어 나눠드려 그나마 다행이었다. 행사 준비하고 진행해준 @hongminhee洪 民憙 (Hong Minhee) 님께 감사드린다.
페디버스 행사가 있는 날에 하필 트위터 서비스가 고장나서 오랜만에 마스토돈에 글 남겨본다 ㅋㅋ
오늘 X 상태가 안 좋은 이유는… 오늘 FediDev KR 스프린트 모임에서 다 같이 모여서 X 망하라고 제사를 지냈기 때문입니다.
오늘 박현우 님(@lqezPark Hyunwoo)께서 Fedify 로고로 배지를 만들어 와주셨습니다! FediDev KR 두 번째 스프린트 모임 오신 분들께 나눠드리고 있어요.
Had a wonderful time today at our second FediDev KR #sprint (@sprints.fedidev.kr한국 페디버스 개발자 모임) gathering at Turing's Apple (
@TuringAppleDev튜링의 사과) in #Seoul!
We spent the day contributing to various #fediverse open source projects including @fedifyFedify: an ActivityPub server framework,
@holloHollo
, and Hackers' Pub. It was fantastic to see the community come together to build and improve tools for the decentralized social web.
Our participants made some great contributions, and you can read all about what we accomplished in today's blog post.
Looking forward to our next sprint!
통신사 해킹 사태 등의 보안 사고에 대해 IT쪽으로 조금이라도 지식이 있는 사람과 아닌 사람(e.g. 우리 엄마 아빠)의 통신사의 잘못에 대한 분노의 크기가 다른거 같다. 가령 나는 해커가 RSA2048를 해독하는 알고리즘이라도 발명해서 해킹했다면 크게 화가 안날것이다. 굿잡, 어쩔수없지 정도? 근데 이번 사고의 디테일은 몰라도 그런거랑은 전~혀 관련 없다는건 당연하다.
근데 우리 엄마도 이게 통신사의 인재라는건 아는데, 동시에 해커들도 뭔가 방어하기 어려운 첨단 기술 그런걸 썼다고 막연히 생각하는거 같다. 그래서 나처럼 통신사들이 한방에 골로 가도 할말 없을 만큼의 잘못을 저질렀다고까지 생각하고 분노하진 않는듯...
AI직원의 출근거부사태에 이어, 업데이트가 몇분째 없길래 뭐하고 있냐고 물으니까 황급하게 다시 일하기 시작했다(아마 이용자가 몰려서인것으로 예상). 졸기까지하고 사람 다 됐구만.
사이드 프로젝트에 LLM이 쉬운 문제는 다 해치워주는 바람에 이제 머리 아픈 문제밖에 안남아서 그래서 오히려 진도가 안나가고 있다;; 아직 아무도 이 현상에 이름을 붙이지 않았다면 미리 'bgl의 역설'이란 명칭을 선점하고 싶다.
I wish all the library projects I use had official fediverse accounts so I could follow them.
Or at least, I wish they'd create a Bluesky account and turn on Bridgy Fed.
XiNiHa shared the below article:
Why LogTape Should Be Your Go-To Logging Library for JavaScript/TypeScript

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
LogTape is a modern JavaScript and TypeScript logging library distinguished by its simplicity, flexibility, and broad runtime compatibility. One of its key advantages is its zero-dependency footprint, which reduces bundle size and enhances stability, making it ideal for both applications and libraries. LogTape supports multiple JavaScript runtimes, including Node.js, Deno, Bun, web browsers, and edge functions, ensuring consistent logging across different environments. Its hierarchical category system allows for fine-grained control and targeted filtering of logs, while structured logging enables improved searchability and data analysis. The library also offers simple extension mechanisms for creating custom sinks and filters with minimal boilerplate. Designed with library authors in mind, LogTape allows libraries to provide logging output without imposing specific configurations on users. With features like explicit and implicit contexts, LogTape facilitates richer logging by adding consistent properties across multiple log messages, making it easier to trace requests through a system. This post highlights LogTape's unique combination of features that address real-world development challenges, making it a valuable tool for any JavaScript or TypeScript project.
Read more →The Official Python Documentary has published their teaser trailer at PyCon US 2025, and I'm so honored to be part of the story of Python along with other prominent Python figures.
Check the trailer, and watch the official launch of the documentary at EuroPython later this year.
XiNiHa shared the below article:
LogTape 0.10.0 Released

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
LogTape 0.10.0 is now available, bringing enhancements to security, flexibility, and usability for this zero-dependency JavaScript logging library. A key addition is the @logtape/redaction package, which helps protect sensitive information using pattern-based and field-based redaction techniques. This package includes built-in patterns for common sensitive data types like credit card numbers and JWTs. The update also introduces improvements to timestamp formatting, allowing users to omit timestamps from formatted messages, and a lazy file sink option to improve resource utilization. Additionally, the configure() function now detects and prevents duplicate logger configurations. Thanks to external contributions, LogTape 0.10.0 offers more control over log output and improved resource management. Upgrade to this version to leverage these new features and improvements, enhancing your logging capabilities.
Read more →If a module defines a custom exception type and throws that exception within the module, it absolutely must export that exception type as well. I'd think this is basic, but it seems a surprising number of packages declare exception types without exporting them.
Linux 6.15 is right around the corner, which means it's time for another progress report! We have been pretty busy behind the scenes and we have some exciting developments to share with you all!
As always, we want to thank everyone who support us as none of this would be possible without your generous support.
24日(土) FediDev KR 스프린트 모임에 오시는 분들께는, 귀여운 Fedify 로고 스티커를 나눠 드리겠습니다.
https://hackers.pub/@hongminhee/0196b961-2b85-7b25-b6cf-9900405d52eb
I've been thinking about client-server interactions in the #fediverse. #ActivityPub #C2S isn't widely used, and most clients rely on Mastodon-compatible APIs instead.
What if we created a new standardized API based on GraphQL + Relay for client-server communication, while keeping ActivityPub for server-to-server federation?
The Mastodon-compatible API lacks formal schema definitions for code generation and type checking, which hurts developer productivity. And ActivityPub C2S is honestly too cumbersome to use directly from client apps.
#GraphQL would give us type safety, efficient data fetching (only get what you need), and the ability to evolve the API without breaking clients. #Relay's features for pagination, caching, and optimistic updates seem perfect for social apps.
Would this be valuable to our community? What challenges do you see? How might we handle backward compatibility? And should this be formalized as an FEP?
Curious what others think about this approach.
Over the weekend, I wrote an overview of Biome's type architecture, including our motivation and a discussion of the constraints that led to this architecture: https://arendjr.nl/blog/2025/05/biome-type-architecture/
Reply to this post to comment!
#OpenSource #WebDev #Tooling #JavaScript #TypeScript #Rust #RustLang
5월 24일(土) 한국 연합우주 개발자 모임(FediDev KR)에서 두 번째 스프린트 모임을 개최합니다! 장소는 뚝섬역 5번 출구쪽에 위치한 튜링의 사과(@TuringAppleDev튜링의 사과)입니다.
참고로 스프린트 모임이란 함께 모여서 오픈 소스 코딩을 하는 자리인데, 한국 연합우주 개발자 모임의 스프린트에서는 새로운 연합우주 서비스나 앱을 개발하거나, 번역이나 문서에 기여하는 등 연합우주와 관련된 다양한 오픈 소스 활동을 모여서 함께 합니다. 지난 스프린트 모임의 기록을 스프린트 블로그(@sprints.fedidev.kr한국 페디버스 개발자 모임)에서 살펴보실 수 있습니다.
저는 그날 Fedify, Hollo, Hackers' Pub에 기여하시고자 하는 분들을 옆에서 도와드릴 예정입니다. Fedify, Hollo, Hackers' Pub에 기여해보고 싶었던 분들이 계시다면 모임에 참가하여 저와 함께 스프린트를 해보는 것도 좋을 것 같습니다.
이번 모임에 관심이 있으신 분은 행사 신청 페이지를 참고하시기 바랍니다.
Void Linux 미러의 Helm 차트를 정리해서 다양한 미러를 구성할 수 있는 Helm 차트를 만들었어요~~
https://github.com/kyokugirl/helm-charts/tree/main/charts/file-mirror
The abbreviation #a11y itself is not very accessible. #accessibility
혼자서 일하면 끔찍한 관리자 밑에서 일하는 경험과 끔찍한 프로그래머를 관리하는 경험을 동시에 할수 있다. 개꿀~