Profile img

Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub! My main account is at @hongminhee洪 民憙 (Hong Minhee) :nonbinary:.

Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다. 제 메인 계정은: @hongminhee洪 民憙 (Hong Minhee) :nonbinary:.

FedifyHolloBotKit、そしてこのサイト、Hackers' Pubを作っています。私のメインアカウントは「@hongminhee洪 民憙 (Hong Minhee) :nonbinary:」に。

Website
hongminhee.org
GitHub
@dahlia
Hollo
@hongminhee@hollo.social
DEV
@hongminhee
velog
@hongminhee
Qiita
@hongminhee
Zenn
@hongminhee
Matrix
@hongminhee:matrix.org
X
@hongminhee

A good piece on why XML deserves a second look as a format for DSLs: XML is a cheap DSL.

I've long thought there are problems where XML genuinely shines, and the richness of its tooling ecosystem is a big part of that. What's unfortunate is that the XML boom of the early 2000s left people with bad associations—not because XML is bad, but because it got dragged into problems it was never suited for. Reflexively avoiding XML today isn't really a rational response to that history. It's just the hangover.

0

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

0
1
0
날이면 날마다 찾아옵니다. FediDev KR, 올해에는 자주 스프린트 모임을 열어보려고 하는데요. 지금까지 그래왔듯, 튜링의 사과에서 장소 후원을 해주신 덕분에 스프린트 모임을 작게 자주 열 수 있게 되었습니다. 아무튼....... 다들 언제쯤 참여하기 괜찮으신가요!?!?!?
0
0
9
1
0
5
1

cyberdeck 만드려다가 개발 커리어 시작한 셈이라 완성해보고 싶은데 좋은 아이디어가 안떠오른다… 키보드도 만들까 생각중 3D 프린팅을 사용할 기분이 들지 않아서 일종의 e upcycling 제품이 될 가능성도 있을 것 같다. 이렇게 끄적이다 보면 뭐가 떠오르겠지…

1

나¹는 아무리 생각해봐도 지능은 그냥 예측 모델인 것 같음. 다만 LLM과 비교하면 인간이

  1. 감정적이고 (좋고 나쁨을 판단할 때 호르몬이 영향을 끼침)
  2. 멀티모달에 능하고
  3. 모델 업데이트가 즉각적인 것 뿐 아닌가 싶음

그래서 위 다른점이 불필요한 영역에서는 인간보다 낫지 않나 싶고.

[1]: AI와 인간, 그 어느 쪽도 잘 알지 못하는 비전문가

0

나¹는 아무리 생각해봐도 지능은 그냥 예측 모델인 것 같음. 다만 LLM과 비교하면 인간이

  1. 감정적이고 (좋고 나쁨을 판단할 때 호르몬이 영향을 끼침)
  2. 멀티모달에 능하고
  3. 모델 업데이트가 즉각적인 것 뿐 아닌가 싶음

그래서 위 다른점이 불필요한 영역에서는 인간보다 낫지 않나 싶고.

[1]: AI와 인간, 그 어느 쪽도 잘 알지 못하는 비전문가

그래서 "LLM이 인간을 대체할 수 없다"는 몇몇 주장은 좀 공허한 것 같음. 예를 들어 LLM은 지능적이지도, 창의적이지도 않다, GIGO다, 데이터의 거울일 뿐이다 등등.

"LLM은 데이터의 거울일 뿐이다"라는 문장 자체에는 동의하는데, 인간은 다른가?는 잘 몰겠숭 똑같은 것 같은데

I, Robot 갈무리

Human : Can a robot write a Symphony? Can a robot take a blank canvas and turn it into a masterpiece?

Roboy : Can you?
3
2

@hongminhee洪 民憙 (Hong Minhee) 이슈 트래커, 위키, ui등이 빌트인으로 있는 부분은 음... 스러웠는데, 살펴보니 커밋이 그냥 sqlite 테이블에 있어서 sql로 마음대로 조회가 가능하군요! 요 부분은 아주 마음에 듭니다. 다만 커스텀 메타데이터(TODO 유무를 표시하고 싶다던가)를 지원하지 않고, 또 히스토리는 그래프인데 sql만으로 조회가 자유롭게 가능할거 같지 않다는 부분이 회의적이네요. 그렇지만 히스토리 DB를 그대로 노출하는게 좋은 인터페이스라는 증거를 확인할수 있었습니다.

2

많이들 GitHub PR 만들고 Jira 티켓도 만들어서 서로 링크하는 등의 일이 좀 뻘스럽다곤 느꼈을 것이다. 왜 Git만으로 안되고 플래닝 툴이 또 필요한가? Git 못 쓰는 팀과의 협업같은 현실적인 문제는 잠깐 제쳐두면, 많은 부분을 Git을 쓰는 방식으로 해소할수 있다.

우리는 Git에 커밋을 할때 어떤 기능을 추가/버그를 픽스해서 소스 코드에 뭘 더 붙이거나 구멍을 메워야 한다고(Positive) 생각한다. 하지만 커밋은 Negative할 수도 있다. 그냥 TODO, FIXME 코멘트만 붙인 커밋도 가능하다. 그럼 이후에 커밋에서 그걸 메우면 되는거다. 이 방법으로 많은 도구의 재발명을 막고, Hole-Driven-Development, Agent Orchestration, etc를 할 수 있다고 본다.

물론 이렇게하면 Git의 한계도 드러나는데, 가장 치명적인 건 저런 구멍들에 대한 인덱싱이 불가능하단 거다. 그래서 VCS 새로 만들고싶단 얘기를 반복하게 된다.

2

많이들 GitHub PR 만들고 Jira 티켓도 만들어서 서로 링크하는 등의 일이 좀 뻘스럽다곤 느꼈을 것이다. 왜 Git만으로 안되고 플래닝 툴이 또 필요한가? Git 못 쓰는 팀과의 협업같은 현실적인 문제는 잠깐 제쳐두면, 많은 부분을 Git을 쓰는 방식으로 해소할수 있다.

우리는 Git에 커밋을 할때 어떤 기능을 추가/버그를 픽스해서 소스 코드에 뭘 더 붙이거나 구멍을 메워야 한다고(Positive) 생각한다. 하지만 커밋은 Negative할 수도 있다. 그냥 TODO, FIXME 코멘트만 붙인 커밋도 가능하다. 그럼 이후에 커밋에서 그걸 메우면 되는거다. 이 방법으로 많은 도구의 재발명을 막고, Hole-Driven-Development, Agent Orchestration, etc를 할 수 있다고 본다.

물론 이렇게하면 Git의 한계도 드러나는데, 가장 치명적인 건 저런 구멍들에 대한 인덱싱이 불가능하단 거다. 그래서 VCS 새로 만들고싶단 얘기를 반복하게 된다.

3
4

궁금한 분이 별로 없을 것 같긴한데, 재열님 moim 서비스에 지도가 들어가 있는 것 보고, 경험을 같이 공유하면 좋겠다 싶어 올립니다.

이어잇 지도 스펙

이어잇은 다음과 단계로 지도 스펙을 바꿨습니다.

leaflet + OpenStreetMap (OSM) -> leaflet + 구글 map tiles API -> mapLibre + OpenFreeMap (OFM), Google maps JS + vector

아무래도 OSM 진영쪽 지오 및 리버스 지오코딩 (주소와 위/경도 변환)이 구글에 비해 약합니다. 그래서 구글맵 타일로 갈아탔습니다. 그 후 몇 달 쓰다 보니 익숙해진 지도 서비스들과 확연한 단점이 보입니다. 벡터 타일을 쓰는 구글맵, 네이버맵을 쓰다 보면 줌인할 때 눈이 목적지를 잘 따라가는데, leaflet + OSM 같은 래스터 타일 기반은 상대적으로 좀 튑니다. 그래서 벡터맵을 쓰기 위해 개발과 비상용으로 mapLibre + OSM을 래핑해 둔 OFM 조합을 선택하고, 서비스 디폴트는 mapLibre를 쓰지 않는 구글 maps JS로 바꿨습니다.

비상용이란, 개발 초기에 캐시 설정을 잘 못해,이용자가 거의 없음에도 지도 비용이 약간 나간 후, 오래 버티기 위해 비용을 낮출 필요가 있을 때를 대비했습니다. (캐시 잘 구현하면 겁내지 않아도 될 것 같긴 합니다.)

  • 카카오맵 래스터 타일은 무료 범위가 넓긴한데, mapLibre와 잘 붙지 않았습니다. 그리고, 모바일에서만 벡터를 지원합니다.
  • 네이버맵이 국내 한정 코딩 정보가 가장 좋은데, 이어잇에서 쓰는 커스텀 마커들 포팅이 잘 안되어 보류 중입니다.

글로벌에 대응하려면 구글맵 외에 대안은 없어보이고, 국내 한정이면 가성비로는 kakao 래스터 타일, 벡터를 쓰려면 네이버가 낫겠습니다. 지오 코딩 정보는 네이버맵이 좀 더 풍부해 보이는 느낌이데, 정확한 비교는 아니라 개인 체감입니다. 구글맵에서 대한민국 영역은 attribution에 보면 Tmap을 가져다 쓴다고 나옵니다.

결론은, 지오 코딩이 아주 중요한 건 아니고, 줌인아웃이 부드러운 벡터맵을 쓰려면, 초기는 mapLibre + OFM 이 제일 적당한 선택 같습니다. 좀 더 지도에 복잡한 일을 해야 하면 OpenLayers라는 것도 있는데, 이 건 아직 써보지 않았습니다.

4

moim.live 메인 화면에 뜨는 캐러셀에 뜨는 이벤트 배너도 우선순위를 조절할 수 있게 했다.

상업용 배너 > 그룹 이벤트 배너 (우선순위 내림차순 정렬) > 개인 이벤트 배너 (이건 그룹 이벤트가 진짜 없을때....)

커뮤니티 혹은 오피셜 그룹에서 게시한 이벤트는 최대한 우선순위를 땡기는 식으로 유연하게 대응하려고 한다.

지금까지 열린 이벤트를 조회하고 우선순위를 조절할 수 있는 어드민 패널
5
3
1
3

기술 자체를 애도하는 사람—코드를 쓰는 질감, 우아한 해법의 만족감—에게는 “그냥 적응해”라는 말이 아무 의미가 없다. 그 만족감을 다른 곳에서 찾아야 할 수도 있고, 일이 다르게 느껴질 것을 받아들여야 할 수도 있다. 그리고 솔직히, 지금까지 “장인 정신”에 생계가 걸려 있었다는 것은 운이 좋았던 것이다.

4

@lmorchardLes Orchard wrote something that stuck with me: AI-assisted coding isn't creating a split among developers. It's revealing one that was always there, just invisible when we all worked the same way.

If you're mourning the loss of the craft itself—the texture of writing code, the satisfaction of an elegant solution—that's real, and no amount of “just adapt” addresses it. You might need to find that satisfaction somewhere else, or accept that work is going to feel different. Frankly, we've been lucky there's been a livelihood in craft up to now.

https://blog.lmorchard.com/2026/03/11/grief-and-the-ai-split/

0
1
1
2
1
1

Kroisse님과는 하스켈 서버에서 같은 주제로 이야기를 나누었는데, 나는 패키지 매니저 그냥 만들지 말자는 입장이다. 또는 작게 만들거나.

패키지 매니저가 하는일이

  1. 조건에 맞는 패키지를 찾아줌
  2. 패키지를 다운받게 해줌

여기서 2를 위해 별도의 프로그램이 필요하진 않다. 그냥 http나 git 클라이언트 쓰면 된다. 애초에 패키지 매니저들도 레지스트리로부터 패키지를 다운받는것외에, http, git 등을 레지스트리에 올리기 이전 개발단계의 편의를 위해 별도로 지원한다.

그럼 1번이 문제인데, 이게 쉬운 문제였으면 정말로 패키지 매니저가 필요없긴 했겠지. 저 조건이란게 단순히 strict한 버전이었다면 git tag등으로 명시하면 그만이다. 현실은 ^3.1.0 같은 여러 버전을 허용하는 방식이고, 같이 설치하는 패키지들의 버전들의 제약 조건을 풀어서 만족하는 버전을 찾아내야한다. 이걸 하려면 여러 패키지들을 모아놓아야하다보니 패키지 레지스트리라고 하는 서버가 생긴다. 그리고 패키지 매니저는 그 서버에 대한 클라이언트가 된다.

... 이렇게 써놓고보니 마치 서버에서 버전 제약 조건을 푸는 solver 역할도 할것 같은데, 대부분의 경우 그렇지 않다. 보통 클라이언트한테 패키지의 메타데이터(어떤 버전이 있는지, 각 버전마다 의존성은 뭔지) 내려주고 클라이언트에서 푼다. 패키지 수가 별로 많지않은 하스켈의 Hackage의 경우엔 그냥 메타데이터들 모아놓은 tar 파일을 하나 내려주는게 끝이다.

패키지 매니저란게 뭔가 거창한거 같은데, 의외로 별거 아닌 동작들을 한군데 모아놓은거란 걸 알수 있다. 확실히 까다로운 부분이라면 버전 solver 정도? 그리고 여기다가 꼭 패키지 매니저가 할 필요는 없는 기능들을 하나둘 넣어서(빌드나 npm run 같은 잡 기능이나) 또 별 이유없이 큰 프로그램을 만든다. 그렇다면 UNIX 철학에 따라 최대한 작은 패키지 매니저를 만들면 어떻게 될까?

그냥 버전 솔버만 만들면 된다는게 내 의견이다. 나머지는 그냥 파일 다운로드 받는거고 git한테 맡기면 된다. 더 나아가 버전 VCS가 버전 솔버까지 해야한다는게 내 입장이지만 이 얘기는 일단 pass. 또 Hackage와 달리 npm의 경우에 그 규모 때문에 패키지 메타데이터를 통째로 받기가 어렵긴 하다. 하지만 많은 언어들이 Hackage같은 접근을 할 수 있고(Rust의 crate.io도 그랬던걸로 안다), 그게 불가능할 경우에도 문제를 해결할만큼만 프로그램을 키우는게 낫다고 본다.

그리고 자꾸 Nix 얘기만 해서 짜증날까봐 걱정이긴한데, 여기서 버전 솔버 빼고 나머지를 모조리 Nix한테 맡길수 있다. 패키지 다운로드, locking, 빌드 등. 이때 패키지 매니저를 최대한 작게, 솔버 역할로만 만들어야지 Nix와 쉽게 연동될 수 있다. Nix가 다른 건 다 포용해줘도, 쓸데없는 IO 많이 발생시키는건 쉽게 안 봐준다. 다른 옵션으로, 만약 Nix를 안 쓰겠다면(합리적인 이유들이 있음), 차라리 Bazel/Buck과 같은 범용 빌드시스템을 위한 해당 언어의 플러그인/rule 같은걸 만드는 것도(이것도 거의 버전 solver에 가까울 거다), 큼지막한 패키지 매니저를 개발하는걸 피함과 동시에, 결과적으로 더 나은 결과를 얻을수 있다.

4
4
0

리마 벼락치기 하면서 알게된 웃긴 점 : 패키지 매니저들은 SHA를 이용한 checksum 검사와 lock파일 들을 활용해 패키지 무결성을 검증 [1]하지만 웹 다운로드시에는 TLS가 데이터 변조를 막아주기에 깨지거나 변조 될 위험은 없고[2] 해커가 웹서버 권한을 탈취하더라도 악성 파일을 올리면서 웹페이지에 적힌 MD5역시 같이 수정하기 때문에 수동검증이 생략


  1. https://arxiv.org/abs/2505.04834 ↩︎

  2. RFC 5246 ↩︎

0
4

내가 예엣날(근 20년 전)에 Windows에서 C++쓸때는 도대체 어떻게 했나... 를 되짚어보니 무서워서 외부 라이브러리를 안썼다. Linux에서 시스템 패키지 매니저가 -dev 패키지를 제공해서 신세계를 느꼈고... 내가 패키지 시스템이 원래 있던 프로그래밍 언어를 처음부터 썼더라면 코딩을 좀 더 많이하고 잘 했을지도 모르겠다는 생각이 든다.

3
5
2
5

최근 들어 moim.live 를 만들기 시작하면서, 공식? 계정도 몇개 생겼습니다.

4
1
2

github의 대체재를 만든다면 어떤 형태여야 할까? 는 너무 흥미로운 문제 같다 완전한 대체재를 만드는건 인프라/마케팅 레벨에서의 해자가 있기 때문에 어렵다고 생각하는데 그래도 잘 만들면 누군가는 쓸 것 같다는 생각이.

2
2
2
4

AI 코딩 이후로 코드 리뷰/품질 관리에 더 철저한 노력을 기울이자고들 얘기하는데, 정말로 그렇게 하려면 훨씬 더 의식적으로 해야겠다는 생각이 든다. 동료가 클로드랑 뚝딱 만들어서 가져온 코드 중에, 방향이 너무 근시안적이고 불필요하게 복잡한 코드가 종종 보인다. 근데 그럴때 단호하게 수정 요청을 날리지 못하고 그냥 머지하는 경우가 많았다. 내가 아직 '일단 문제를 해결하는 하는 코드'를 짠 것에 여전히 가치를 인정하고 있어서 그런거 같다. AI 코딩 이전에는 '일단 돌아는 간다'는게 (안타깝게도) 큰 가치를 가지고 있었기 때문에, (그리고 그걸 짠 사람의 노력도 고려에 넣고) 머지해놓고 나중에 생각하는게 나쁜 판단이 아니었다고 본다. 근데 지금은 그게 전혀 아닌데도,관성 때문에 그렇게 못하고 있다 . '저 코드의 가치는 (5분 + 100원)이다'라고 셀프 프롬프팅해야 할듯..

4

제가 일하는 팀에서 채용중입니다. https://careers.linecorp.com/ko/jobs/2964/

회사 이름이 LINE 으로 시작하지만 메신저는 안만듭니다. 국내외 선물 시장에서 거래하는 자동매매 전략과 그 전략을 서빙하는 플랫폼을 만듭니다. Rust, FPGA, AI 같은 키워드를 나열할 수 있긴 한데, 그냥 코딩 잘하시는분이면 좋겠습니다. 시장은 몰라도 됩니다. 근데 혼자 코딩 잘하는거 말고 AI랑 같이도 잘 코딩해야 합니다.

저는 이런 사람입니다 https://github.com/youknowone/

같이 일할 @perlmint 님은 https://github.com/perlmint/

함께 일하고 싶으신 분을 찾습니다.

8
0
0