”Code is not the most valuable artifact. Your understanding of the codebase is.” https://www.seangoedecke.com/vibe-coding/

洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 633 following · 417 followers
Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub!
Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 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
이番에 @lqezPark Hyunwoo 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
https://snix.dev/ 저는 Rust를 못해서 기여를 못하지만 유망한 프로젝트라고 생각합니다. Rust 고수분들이 관심가져주시면 좋겠네요.
웨이터, Vitest. 온 더 락으로.
@arkjunJuntai Park AutoHotKey 스크립트는 자체 언어인가 보네요? 처음 보는 문법!
@hongminhee洪 民憙 (Hong Minhee) 단축키나 매크로를 주 용도로 하다 보니, 아무래도 그쪽에 최적화되어 있네요. 😅
맥에서 가장 비슷한 앱은 HammerSpoon 정도이지 싶습니다.
洪 民憙 (Hong Minhee) shared the below article:
윈도를 맥처럼 - 맥의 CMD + 백틱키 단축키를 윈도에서 쓰기 (사용중 앱간 윈도우 전환)

Juntai Park @arkjun@hackers.pub
맥을 메인 개발 머신으로 오래 사용하다 윈도로 돌아온 지 1년, 윈도11 + WSL 환경에서의 개발 경험을 공유합니다. 맥의 편리한 단축키인 <kbd>CMD</kbd> + <kbd>`</kbd> 키(앱 내 창 전환)가 윈도에는 없어 AutoHotkey 스크립트를 직접 만들어 사용하게 된 과정을 소개합니다. 완벽하진 않지만 개인적으로 만족하며 사용하는 간단한 AutoHotkey 스크립트 코드를 공개하며, 맥에 익숙한 윈도 사용자에게 도움이 되기를 바랍니다. AutoHotkey를 이용한 스크립트 실행 방법과 함께, GitHub Gist에 공유된 과거 이력도 덧붙였습니다.
Read more →바둑에 '묘수 3번두면 바둑은 진다'라는 말이 있는데, 프로그래밍에 비슷한 말이 있을까요
🚀 Deno v2.2.4 is released:
- Built-in OpenTelemetry support for span context propagators (tracecontext, baggage)
- Built-in OTel tracing for node:http.request
- LSP now starts the TypeScript server lazily
other improvements in the release notes:
https://github.com/denoland/deno/releases/tag/v2.2.4
Nix를 보며 알수있는건, 사람들이 메타프로그래밍을 하기 좋은 언어로 메타프로그래밍을 하는게 아니라, 런타임이 좋은 언어로 메타프로그래밍을 한다는 것이다.
Nix의 런타임이 좋다는건 일반적인 의미에서(성능이 빠르다거나) 좋다기보다는 '재현가능한 캐싱되는 빌드'라는 런타임이 아주 많은 동작을 커버하는데 Nix가 그걸 구현했다는 얘기다. 그러니까 사람들은 큰 프로그램을 쌓아올릴 대들보가 될만한 런타임이 있으면 거기서 부터 메타프로그래밍을 시작해버린다. Nix가 언어는 구리고(애초에 엄청 잘만들려고 한거같지도 않음) 메타프로그래밍을 잘하기위한 어떠한 장치도 없음에도 가장 아래에 위치할수있어서 그 역할이 맡겨져버린다.
그래서 유용한 런타임과 오브젝트 언어(또는 DSL)을 표현할 문법에 대한 좋은 아이디어가 있으면, 좀더 나은 메타프로그래밍을 하기위한 언어를 만들수 있을거라고 생각한다.
Wake up babe, @GIMP 3.0 was just tagged 👀
• https://gitlab.gnome.org/GNOME/gimp/-/tree/GIMP_3_0_0?ref_type=tags
• https://gitlab.gnome.org/GNOME/gimp/-/commit/9785099e5a0dcdc3011dd26c6c2e9b332d36c035
You can get GIMP 3.0 on Flathub: https://flathub.org/apps/org.gimp.GIMP
@hongminhee洪 民憙 (Hong Minhee) 해커스펍 이름은 어떻게 지으셨나요? 저 나름대로 떠오른 이미지를 ChatGPT에게 만들어 달라고 부탁해보았습니다.
@hongminhee洪 民憙 (Hong Minhee)
@curry박준규 이렇게 또 해커스펍의 특장점이 노출⋯
Govs ❤️ Open Source. Docs is the result of a joint effort lead by the French 🇫🇷🥖(DINUM) and German 🇩🇪🥨 governments (ZenDiS).
와 멋진데
this is not a joke. behold the power of mastofuse, a file system mastodon client: https://gist.github.com/halcy/b4f455ef05c4c36906107e9367b8dd63
Features:
* Look at your timelines, any attributes of posts and whatnot! creation dates are set correctly, even, probably, sometimes!
* Post by putting text into /posts/new! whatever you put there is posted on file close!
* Reblog a post by copying it to /posts/reblogged (probably breaks a lot)
* Look at media attachments! they're automatically downloaded if you try to open the file!
posting from the file system lol
this is not a joke. behold the power of mastofuse, a file system mastodon client: https://gist.github.com/halcy/b4f455ef05c4c36906107e9367b8dd63
posting from the file system lol
난 지금도 왠만한 문서 작업도 emacs로 하지만, 남에게 이걸 권할 거냐, 하면... 흠.
근데 한번쯤은 써 보는 경험은 좋다고 생각함. 자동화와 프로그래밍의 기본 개념을 잡기에 좋은 에디터니까.
@b0rkJulia Evans so many vim users say they wouldn’t recommend it! I also wouldn’t recommend it to *start* but I might later on. so I’m curious why you wouldn’t recommend it to people now
@nicoleNicole T. 🏳️⚧️ 🌈 hmm I think it's because I feel like there's this kind of "real hackers use vim" culture and I just find it kind of gross. Like if someone is happy with VSCode and nano that's fine?
it’s fascinating how vim is the program people love to use and hate to recommend
vim is one of those programs I love but would never suggest that anyone use it
but every so often I wonder -- who might want to switch to using vim in 2025? my sense is that vim (and especially neovim) actually are still acquiring lots of new users but I don't have a good sense for what "kind" of person is choosing to start using them today
(as usual not looking for reasons people started using vim 20 or 30 years ago)
해커스펍의 콘텐츠를 해커스펍이 아닌 다른 서버 계정으로 그곳에서 부스트 하면 더 많은 연합우주 사용자에게 해커스펍 콘텐츠를 알릴 수 있지 않을까?
사실 알고보니 이것도, 저것도 모나드였다... 하는 예시는 많은데 Category
의 예시는 뭐가 있을까? 그럼 설명이 훨씬 편해질텐데 말이다.
좀 인위적이지만 쉬운 예시를 하나 만들어보자면, 어떤 함수의 실행에 비용을 부여하는 것이다.
data Costful a b = Costful (a -> IO b) Int
f :: Costful Int String
g :: Costful String Bool
요런 정의를 생각해볼때
f . g
는 f
와 g
의 동작은 합성하고, 비용은 +
한 것이 될것이다.
instance Category where
Costful f c1 . Costful g c2 = Costful (f . g) (c1 + c2)
요렇게 말이다.
이때 f . g
의 비용은 함수를 실행하기 전에도 알수있다.
반면 그냥 f
, g
를 모나딕한 함수로 정의하고 f >=> g
이런식으로 합성했을땐, 함수를 실제로 실행하기 전에는 비용을 알수 없다. >=>
또는 >>=
의 정의를 생각해보면 쉽게 알수 있다.
Category
인스턴스는 정적인 정보를 추가로 가지고 있는 함수, 또는 함수보다 표현력이 약한데 비스무리한거(그래서 정적인 정보가 더많은) 것을 다룰때 유용하다.
We have been public about not using Go as the bootstrap language. We started with a compiler in C for a number of reasons, mostly for ease of bootstrapping but also to avoid making a compiler-optimized language instead of a general purpose one. Once the language was designed, we ported the code to Go for ease of maintenance and development.
Well here is a variant of that pattern: the TypeScript compiler is also being ported to Go: https://www.youtube.com/watch?v=pNlq-EVld70
The video is worth watching for the reasons why. Turns out a general purpose language is indeed a good compiler language.
Aider, You're so mean
최근에 오랫동안 쓰던 키보드가 망가져서 큰 맘 먹고 프리플로우 Archon M1 PRO MAX를 질렀는데, 요즘 키보드는 다 WebHID 가지고 웹 드라이버로 설정하는 것 같다. 자바스크립트니까 뜯기 쉽겠거니 싶어서 살펴 봤는데 커스텀 HID 레포트를 보낼 수 있는 기능을 사용해서 명령들을 나열해 놓았고, 개중에는 롬을 통으로 날리는 것도 가감없이 노출되어 있길래 음 역시 WebHID 같은 건 웹에 넣을 기능이 못된다는 결론을 내렸다. 가볍게 함수 목록만 요약해서 https://gist.github.com/lifthrasiir/c79c90ecf697b1e6dc73e83f32984499에 올렸다.
참고로 키보드는 이렇게 생겼다. 게이밍 키보드 아니랄까 조명이 정말 밝아서 설정으로 크게 광량을 줄여야 했다.
※ @hongminhee洪 民憙 (Hong Minhee) 님 초대로 들어 왔습니다. 블루스카이와 어느 쪽을 차별하지 않고 병행해서 쓸 예정이며 이 글처럼 두 쪽 모두에 같은 내용이 올라갈 가능성이 높습니다.
최근에 오랫동안 쓰던 키보드가 망가져서 큰 맘 먹고 프리플로우 Archon M1 PRO MAX를 질렀는데, 요즘 키보드는 다 WebHID 가지고 웹 드라이버로 설정하는 것 같다. 자바스크립트니까 뜯기 쉽겠거니 싶어서 살펴 봤는데 커스텀 HID 레포트를 보낼 수 있는 기능을 사용해서 명령들을 나열해 놓았고, 개중에는 롬을 통으로 날리는 것도 가감없이 노출되어 있길래 음 역시 WebHID 같은 건 웹에 넣을 기능이 못된다는 결론을 내렸다. 가볍게 함수 목록만 요약해서 https://gist.github.com/lifthrasiir/c79c90ecf697b1e6dc73e83f32984499에 올렸다.
@disjukrㄹ 어서오세요!
@hongminhee洪 民憙 (Hong Minhee) 게시글 기능이 있는게 맘에 드네요
애플리케이션 개발 측면에서 본 Drizzle ORM 대 Kysely 비교
------------------------------
# Drizzle ORM vs Kysely 비교 요약
## Drizzle ORM의 장점
- *스키마 정의의 직관성* : 선언적 방식의 스키마 정의가 가능하며, 이로부터 자동으로 CREATE TABLE
SQL 생성이 가능.
- *자동화된 마이그레이션* : 스키마 변경사항을 자동으로 감지하여 SQL 마이그레이션 파일 생성이 가능.
- 직관…
------------------------------
https://news.hada.io/topic?id=19805&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
Hiring in Tokyo: LINE Platform SRE/DevOps Engineer. 2+ years exp with scripting languages and IaC/CI/CD tools required.
¥5-10M package with remote work flexibility (must be based in Japan).
Join me in maintaining our messaging platform used by millions!
https://www.lycorp.co.jp/ja/recruit/career/job-categories/ly00078/
요즘 며칠 openai agent sdk 살펴보면서 끼적끼적 해보고 있는데 python의 asyncio 는 왜 이렇게 복잡하고 거지 같지? 라는 느낌을 확 받네. 웬간한 라이브러리들은 요즘 async/await 기반으로 되어 있는데 streamlit 에서 그걸 쓰려고 하면 asyncio 오류가 막 나고... 그걸 안정적으로 처리하는 방법이 뭔가 확립이 되어 있지 않아서 각자 나는 이게 좋았다 그런데 나는 그렇게 해도 이런 오류가 나서 이게 좋다... 이게 뭔지 참...
초창기 파이썬 계에서 회자되던 모토 비슷한게 "어떤 일을 하기 위한 명백한 방법이 한 가지여야 한다?" 그런 말이 있었던 것 같은데... 지금 상황은 그거랑 너무 멀리 떨어져 있는 것 같다.
요즘 며칠 openai agent sdk 살펴보면서 끼적끼적 해보고 있는데 python의 asyncio 는 왜 이렇게 복잡하고 거지 같지? 라는 느낌을 확 받네. 웬간한 라이브러리들은 요즘 async/await 기반으로 되어 있는데 streamlit 에서 그걸 쓰려고 하면 asyncio 오류가 막 나고... 그걸 안정적으로 처리하는 방법이 뭔가 확립이 되어 있지 않아서 각자 나는 이게 좋았다 그런데 나는 그렇게 해도 이런 오류가 나서 이게 좋다... 이게 뭔지 참...
하스켈 패키지 검색 엔진이자 웹 서비스인 후글(Hoogle)은 서비스에 종종 문제가 생기곤 합니다. 그럴 때는 다음과 같은 대체 서비스를 이용해보세요!
한편 후글을 로컬에 설치해서 사용하는 것도 가능합니다. 잦은 서비스 문제에 질렸다면 로컬에 후글을 설치해보세요!
그리고 만약 당신이 부자라면⋯ 하스켈 재단에 기부해주세요⋯
https://wikidocs.net/book/14314
Langchain 관련해서 한국어로 정리가 잘 정리되어 있는 듯
apmodel 0.3.1 now available!
This replaces 0.3.0, which was removed due to several problems
・Activity.accept()
can now generate an Accept activity for the activity and Activity.reject()
can generate a Reject activity for the activity
apmodel v0.3.1が利用可能になりました!
これは、いくつかの問題のために削除された0.3.0を置き換えるものです。
・Activity.accept()
でそのアクティビティに対してのAcceptアクティビティを生成できるようになり、Activity.reject()でそのアクティビティに対してのRejectアクティビティを生成できるようになりました。
apmodel 0.3.1 now available!
This replaces 0.3.0, which was removed due to several problems
・Activity.accept()
can now generate an Accept activity for the activity and Activity.reject()
can generate a Reject activity for the activity
하스켈 카레
ActivityPub은 눈팅만 하고있었는데, 슈티에 피드를 넣기로 결정하고나니 ActivityPub를 써볼 기회가 생겼다. 따로 페디버스 서버를 팔지, 아니면 다른 방법을 쓸지(있긴 한가)를 고민해봐야한다.
이제 계정이 두 개인데 어떻게 분리하지 🤔 SNS 계정을 두 개 써본 적이 없어서...
🎉 Why I Care So Much About the Fediverse by Ayo Ayco (@ayoAyo Ayco) | https://ayos.blog/why-fediverse/
Good morning Fediverse.
We still don't have a properties on ActivityPub activities and objects to indicate how long they can be cached in your ActivityPub Store.
ActivityPubの開発ハマると意外と楽しいかもしれない
쉘스크립트처럼 oci 컨테이너들을 조합하는 언어가 있으면 좋겠다.
컨테이너는 샌드박싱된 파일시스템을 입력으로 받아 출력으로 쓰고, 그런 컨테이너들을 (|
pipe operator로 stdin/stdout을 잇듯이) 조합하는 것이다. 그리고 이때 각 컨테이너가 필요로하는 입력 파일/디렉토리들에 대해 일종의 타입 체크를 해서 no such file or directory
가 뜨는것을 막아줄수 있을것이다.
사실 yaml등으로 작성하는 CI/CD 설정 파일들이 비슷한 기능을 하고있는데, 이걸 좀더 멀쩡한 언어로, 로컬에서도 쓸수있으면 좋겠다.
음. 큰일났다. 너무 바빠서 해커스펍에 글을 안쓰는 버릇들였더니 막상 여유생기니 손에 안 잡힘... 흑흣
<오픈 소스 소프트웨어 아키텍처>를 읽었다. #독서
<가상 면접 사례로 배우는 대규모 시스템 설계 기초> 시리즈의 오픈소스 소프트웨어 버전을 기대했지만, 아티클 모음집에 가까웠다. 각 챕터의 저자가 모두 다르다보니 내용이 체계적이지 않았고, 그 깊이도 일과적이지 않았다. 사실 나는 "왜"가 궁금한건데 대체로 "어떻게"에 초점이 맞춰져 있는 느낌.
적어도 모든 챕터가 아키텍처를 한 눈에 조망할 수 있는 다이어그램을 우선 제시하고, 탑 다운으로 디테일에 다가가는 형식을 취했다면 더 효과적이지 않았을까 싶다. 그런 점에서 버클리DB와 센드메일 챕터는 인상적이었다.
실제 소프트웨어의 아키텍처를 분석한다는 컨셉이 너무 좋은 접근이고, 대학 수업에서도 다루면 좋겠다는 생각이 들 정도라서 구성에 더욱 아쉬움이 남는다.
@hongminhee洪 民憙 (Hong Minhee) a journey of 18446744073709551616 genders begins with a single step.
@evanEvan Prodromou While the West debates gender binaries, the Chinese have been refining Confucius's gender philosophy for millennia. They didn't need 64 bits by accident—this is clearly the culmination of ancient wisdom that foresaw our modern discourse. Truly, the Middle Kingdom was middle ground on gender all along!
Translated from the original Korean post:
A few days ago, I took over a Flutter app that a team in China had abandoned. I was particularly impressed by how they had defined the user's gender field type not even as
Int
but asInt64
—truly a piece of code containing 4,000 years of Chinese wisdom!
@hongminhee洪 民憙 (Hong Minhee) a journey of 18446744073709551616 genders begins with a single step.
とりあえずhollo.amase.ccにおいておくことにした (自前で書いちゃってもいいんだけど比較的安定してるサーバーに置きたい)
@apkit@hollo.amase.ccapkit - An ActivityPub Toolkit
apkit以外の更新の通知 (?)も多分これでやるんだろうけど表示名をActivityPub for Python
にするとしてハンドルが思いつかないので
Translated from the original Korean post:
A few days ago, I took over a Flutter app that a team in China had abandoned. I was particularly impressed by how they had defined the user's gender field type not even as
Int
but asInt64
—truly a piece of code containing 4,000 years of Chinese wisdom!
韓国語原文からの翻訳:
数日前、中国のチームが諦めたFlutterアプリを引き継ぐ事に成ったが、ユーザーの性別フィールドの型が
Int
でさえなくInt64
と指定されている部分が特に印象的だった。中華四千年の知恵が詰まったコード!
Translated from the original Korean post:
A few days ago, I took over a Flutter app that a team in China had abandoned. I was particularly impressed by how they had defined the user's gender field type not even as
Int
but asInt64
—truly a piece of code containing 4,000 years of Chinese wisdom!