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
3

@bglbgl gwyng @hongminhee洪 民憙 (Hong Minhee) DSL 정의가 잦거나 좀 많이 유연한 형태로 코드를 작성할 필요가 있는 언어들(Lean/Agda/Coq가 예시로 언급된 걸 본 듯한)은 포매터에 대한 저항이 이해가 가기도 하는데, 요즘은 이런 경우에도 LLM 등을 사용해서 코드 스타일을 최소한의 수준(탭/스페이스 통일, trailing spaces 제거, 괄호 짝 및 인덴트 맞추기 등....)으로는 관리해주면 좋지 않을까 하는 생각을 해본 적이 있습니다 😂

2
3

중국어권 언어는 대충 zh-(tw|hk|mo) → zh-hant, zh-(cn|sg) → zh-hans 정도로 처리를 해뒀는데 … 갑자기 궁금해져서 API 서버로 들어오는 헤더에서 대충 뽑아보니까 -hk/-sg/-mo는 이렇더라.

- zh-hk > en > zh-hant > 이하 생략
- zh-sg > en > (ms|ta)-sg > zh-hans > 이하 생략
- zh-mo > pt-mo > zh-hk > zh-hant > en > 이하 생략

1
1
1
1

아는 친구한테 들은 얘기인데, 최근 이직한 회사에서 Python을 쓰는데 린트나 포매터 같은 것도 전혀 설정을 안 해놓고 살고 있기에 도입하자고 했더니 “그런 거 쓸 거면 Python 안 쓰죠”라는 말과 함께 제안을 거절 당했다고 한다. Python에서도 린트나 포매터는 물론이고 타입 체커까지 붙여서 살려면 살 수 있지만, 어쩐지 그런 거 신경 쓸 사람들은 최근 10년 사이에 다들 다른 언어로 넘어가 버리고 그런 거 신경 안 쓰는 사람들만 Python을 계속 쓰게 된 게 아닌가 싶은 생각이 들었다.

2
2

아는 친구한테 들은 얘기인데, 최근 이직한 회사에서 Python을 쓰는데 린트나 포매터 같은 것도 전혀 설정을 안 해놓고 살고 있기에 도입하자고 했더니 “그런 거 쓸 거면 Python 안 쓰죠”라는 말과 함께 제안을 거절 당했다고 한다. Python에서도 린트나 포매터는 물론이고 타입 체커까지 붙여서 살려면 살 수 있지만, 어쩐지 그런 거 신경 쓸 사람들은 최근 10년 사이에 다들 다른 언어로 넘어가 버리고 그런 거 신경 안 쓰는 사람들만 Python을 계속 쓰게 된 게 아닌가 싶은 생각이 들었다.

7
3

아마 폰트에 없어서인지 다 네모 박스로 표시되는구나 했는데, 자세히 보니 네모 박스 안에 16진수 값으로 표시해 주고 있었네 👀 이게 어떻게 이렇게 되지 했는데 렌더링 해주는 쪽 재량이라는 듯 하다. Chrome (그리고 Electron) 은 그냥 네모로 보인다.

폰트가 없어 렌더링 되지 않는 글자의 스크린샷입니다. 원본 한자 대신 네모 박스로 표시되고 있으나 안에 16진수 코드가 적혀있습니다. Firefox에서 렌더링된 결과입니다.
2
1
1
3
0
0
17

Pelican을 기준으로,

  1. docker 개발(hot-reload), 프로덕션(nginx) 환경 구축
  2. jinja2 tag, filter, macro 사용하기 (+ context)
  3. GitHub Action으로 build 테스트 + PR merge시 GitHub Pages로 deploy하기

하는 내용이 동봉되어있습니다. 약간 튜토리얼을 겸한달까요...

이왕 이렇게 된거 후기 글도 쓰고 정말로 튜토리얼도 만들고 할까 싶었지만... 코딩 하느라 좀 지쳐버린ㅠ

1

이전에 A/B테스트에 대해 쓴 글의 다시 쓰기. 다들 A/B테스트와 행복하게 지내고 계신가요 많이들 쓰시지만 여전히 그다지 행복하지는 않은 것 같아서, 이전 글이지만 도움이 되지 않을까요.

이래저래 쓰다 은근 시간이 많이 걸렸고 결국 처음 안으로 돌아오면서, 오늘날에 재미나 개성도 크게 없는 긴 실용글을 직접 쓰는 게 큰 도움이 될까 하는 생각을 조금 하지만 그래도 아마 나쁘지 않은 것도 같다. 그레이트 올드원이 될거야.

http://cojette.github.io/posts/abtesting_rewriting/

2

최신 Unicode Han Database 중 숫자 표현을 보면 아래 라인이 포함되어 있다. 근데 저 유니코드를 검색해보니 가 나오고 이는 두번째 값인 1000000000000 이 맞는 값인 것 같은데

U+5146	kPrimaryNumeric	1000000 1000000000000

kPrimaryNumeric 속성 설명에 의하면 첫 번째 값이 가장 일반적인 것으로 취급되는 것이 맞다는 것 같아서 의문이 들었다 🤔

If an ideograph has more than one numeric value, the first one is to be considered the most common one, and that first value is used for the Numeric_Value property of the ideograph.

Claude에게 물어보니 지역적이거나 역사적인 이유가 있을 것이라 해서 중국에서 다르게 쓰나 싶었는데, 위키백과 문서들을 참고하니 의 의미가 시대에 따라 달라져 왔기도 했고, 표기법(셈법?)에 따라 또 다른 듯 하다. 지금 사용하는 단위마다 10000배씩 변화하는 방식은 만진법이라고 하는 것 같다.

3

대학원 연구실 홈페이지 생성기를 만들었습니다. Jekyll은 Ruby니까, 이번엔 Python을 좀 써보자 싶어서 Pelican으로 구현했습니다. Article을 일종의 DB처럼 사용해서 멤버나 논문, 뉴스, 강의 등의 데이터를 관리하는 방식입니다.

솔직히는 하루이틀이면 끝날줄 알았는데 만드는데 거의 full-time으로 일주일이 걸렸네요. macro에서 왜 context가 전달이 안되는지, filter에서는 왜 안되는지, GitHub Action은 왜 맨날 뻑이 나는지... branch 규칙도 여러번 수정하고 github pages로 내보낼때만 fork me 리본 달아주고 등등... 왤케 자잘하게 할게 많은지ㅠ

Pelican 자체는 쓸만하더라구요. 필요한 기능이 거의 다 있습니다. 근데 없는것처럼 보여요. 근데 다 있긴 합니다.

암튼... 구경와주세요

https://github.com/theeluwin/pelican-labsite

Pelican 기반 대학원 연구실 홈페이지 생성기로 만든 사이트 예시 스크린샷.
7
3

언젠가 tuple이란 이름의 (,)를 로고로 쓰는 서비스를 만들고싶다. 웃긴건 정작 뭐하는 서비스인지는 아직 생각을 안 해놓음;; 대충 사람들을 짝지어주는 데이팅 또는 커피챗 주선 서비스면 이름과 어울리지 않을까 싶은데...

tuple
7

https://github.com/Perlmint/ARISU UI라고 할 것도 없지만 claude덕에 rust로 mac 어플리케이션 UI작성과 서버 실행/정지를 구현했습니다. 전에 문제였던 과도하게 친절한 단축키 맵핑은 아무래도 클라가 문제라, 이렇게 된 이상 클라도 만든다라는 방법 밖에 없지만, 일단 만들기 시작한 서버... 다 만들고 나중에 생각하려 합니다.

5
1
0
2
3
4
1

全然技術レベルの違う話ではあるけど、自分もデザイナーなのに っぽい選択をしてきた気がしている。
正確には、自分のスキルと時間的制約とワンオペでの制作・開発という事情でその選択肢しかなかったという側面が大きくて、能動的に選べる選択肢がそれしか無かったんだけど。
ただ、確かに低レイヤーを触る動機が生まれるという意味では良い面もあった気はする。
自分の生存戦略が、なるべくフレームワークとかライブラリに依存しないスキルの勉強にかける、だったから、そういう観点で当時選んだのが「薄い」フロントエンドライブラリとしての だったし、未だに素の を書きたくなってしまう性質に繋がっている気がする。

hackers.pub/@hongminhee/2025/c

1
2

JS에서 Promise는 await으로 값을 읽는 것 외에, 현재 pending 상태를 읽는 등의 동작을 허용하지 않는다. 이거 왜 안되냐고하면 Promise의 의미론과 배경 철학이 어쩌구저쩌구하는 대답이 돌아온다. 내 생각에 그건 틀렸다. 이유는

간단한 대답: 가능하면서 왜 안해줌?

약간더 복잡한 대답

그 제약 조건은 Promise가 callback과 같은 의미의 다른 표현일때는 성립한다. callback이 전달하는 값은 특정시점 = t에 존재하는 것이다. t이후에 그 값을 사용하기위해선 따로 저장을 해놓던가해서 값의 존재시기를 >= t 로 바꾸어야한다.

그런데 Promise는 await을 여러번 하는걸 허용한다. await x; await x; 이런식으로. 값이 없으면 기다리고, 값이 한번 들어오면 그걸 계속해서 돌려준다. 여기서 Promise가 callback이랑 다른게 드러난다. 그리고 실제로 callback과 다르게 동작하기위해 값의 여부 등을 내부 상태로 갖고있을수 밖에 없다.

요약하면, callback과 완전히 상호호환될때 정당화되는 제약을 callback이 아니면서 강요하니까 문제란 얘기다.

4

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

내가 지금 바이브코딩을 하고 싶어도 못하는 상황이라 답답한데

bgl gwyng @bgl@hackers.pub

이 글은 앱 개발 과정에서 프론트엔드, 백엔드, 그리고 라이브러리 개발에 AI를 활용하는 경험과 고민을 담고 있습니다. 특히, 간단한 CRUD 작업은 이미 자동화가 가능하지만, 복잡한 mutation 개발에는 테스트 환경 구축이 선행되어야 AI의 도움을 효과적으로 받을 수 있음을 강조합니다. 또한, 라이브러리 개발 자동화의 잠재적 위험성을 지적하며, 이는 코드의 '축적'이라는 특성상 현재 AI 수준으로는 어렵다고 분석합니다. 궁극적으로, 코드 에이전트 사업의 미래와 협업을 통한 코드 축적의 중요성을 역설하며, Gen AI를 넘어선 Zen AI의 필요성을 제기합니다. 이 글은 AI 개발 도구의 현황과 한계를 현실적으로 진단하고, 미래 개발 환경에 대한 깊이 있는 통찰을 제공합니다.

Read more →
6
4
1

@jakelazaroff Hi. I'm currently building Oeee Cafe, which is an old-style Oekeki board. I'd like to add collaborative drawing features to this website, and in my research I stumbled upon your post and thoroughly enjoyed it. I'd like to use the code examples used in the post. However, the license for the code is hard to find. If you could tell me under what license I can use this code, I'd appreciate it! (BTW, Oeee Cafe is being built under AGPLv3)

2
5

Javascript/Typescript 생태계에는 소스코드 간 의존관계를 유향그래프(Direct Graph)로 시각화하는 CLI 도구가 있다는 사실... 알고 계신가요? madge, 적극적으로 추천합니다.

그냥 JS/TS 프로젝트 뿐만이 아니라, jsx 파일이 들어간 경우도 의존관계를 아름답게 시각화해줍니다. fedify 소스코드 통독하면서 이걸 적극적으로 써볼까 합니다. 마치.... 탐정이 사건 추적하면서 지도에 X 표시하는 감성으로...

fedify 프로젝트를 그래프로 아름답게 시각화한 모습이다.
9
4

OSC京都2025でどちらの発表を聞きたいですか?

8月3日のOSC京都で10分間のセミナー発表をすることになりました。二つのテーマで迷っているので、皆さんのご意見をお聞かせください!

どちらのテーマに興味がありますか?

1
0
0
1
0
0

hackers.pub 이라면 계실 것 같아서... 혹시 이 문제를 해결할 만한 천재데이터엔지니어 분이 계시다면 고견을 여쭙고 싶습니다... 블스 한국어 클러스터에 지금 러브휴먼들이 너무 많아서 일반 사용자들이 고생하고 있습니다 그나마 다행인 건 블스에는 사용자 리스트라는 기능이 있어서 저런 러브휴먼 계정들을 넣은 리스트를 블락 리스트로 공유하는데 아무래도 양이 양인지라... 프로그램을 짜서 긁어넣고 있어요 문제는 저런 중간자(?) 계정들이 자꾸 빨려 들어가곤 합니다 그렇다고 제가 직접 일일히 확인하기엔 제 시간과 정신력에도 한계가 있으니... 데이터를 기반으로 걸러내야하는데 어떤 알고리즘? 이 러브휴먼과 그냥 휴먼을 걸러내기 가장 좋을까요? 단순 키워드 정도만 던져주셔도 감사하겠습니다!

3
1
0

벌써 Fedify 튜토리얼 마치신 분도 등장… 게다가 튜토리얼은 Node.js 기준인데 Deno로 만드셨다! ㄷㄷㄷ

1

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

Fedify Tutorial 과제 끗!

이찬행 @2chanhaeng@hackers.pub

이 저장소는 Fedify를 사용하여 연합된 프론트엔드 아키텍처를 구축하는 방법을 보여주는 예제 프로젝트입니다. Fedify는 여러 독립적인 프론트엔드 애플리케이션을 하나의 통합된 사용자 경험으로 결합할 수 있게 해주는 도구입니다. 이 예제는 Fedify 설정을 통해 모듈 연합을 구성하고, 각 애플리케이션이 독립적으로 개발 및 배포되면서도 공유 컴포넌트와 상태를 통해 상호 작용하는 방법을 설명합니다. Fedify를 사용하면 프론트엔드 개발 팀은 독립성을 유지하면서도 일관된 사용자 인터페이스를 제공할 수 있습니다. 이 저장소는 Fedify를 처음 접하는 개발자에게 실질적인 시작점을 제공하며, 마이크로 프론트엔드 아키텍처를 구현하는 데 유용한 참고 자료가 될 것입니다.

Read more →
5
2
4
6