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

While working on , I noticed something about how handles object access. When a remote server requests a followers-only post or DM with a valid HTTP Signatures (draft-cavage) from an authorized actor, Misskey still returns 404 instead of the content. It seems Misskey only checks the visibility field (public/home) without verifying the signature at all.

takes a different approach—when is enabled, it validates the HTTP Signatures and returns the content if the requesting actor has permission. I think it would be beneficial if Misskey could adopt a similar mechanism, since it would better respect the access control semantics that ActivityPub intends. Has anyone else run into this, or are there specific reasons Misskey handles it this way?

While working on , I noticed something about how handles object access. When a remote server requests a followers-only post or DM with a valid HTTP Signatures (draft-cavage) from an authorized actor, Misskey still returns 404 instead of the content. It seems Misskey only checks the visibility field (public/home) without verifying the signature at all.

takes a different approach—when is enabled, it validates the HTTP Signatures and returns the content if the requesting actor has permission. I think it would be beneficial if Misskey could adopt a similar mechanism, since it would better respect the access control semantics that ActivityPub intends. Has anyone else run into this, or are there specific reasons Misskey handles it this way?

0
2
3
4

예전에는 CPU 버그가 드물었지만, 최근에는 복잡성의 증가로 많이 흔해졌다는 이야기로 시작하는 CPU 버그에 대한 좋은 마스토돈 포스팅. 버그가 어떤 식으로 발생하고 여기에 어떤 식으로 준비/대처하는지에 대해 자세히 이야기를 해준다. 습관적으로 마스토돈에 들어갔다가 상당히 흥미롭고 깊이있는 이야기를 발견해서 기뻤다. 주소는 여기

예전에 lwn.net 에서 본 What every programmer should know about memory가 생각났다. Static RAM 과 Dynamic RAM 의 속도차이는 왜 어떻게 발생하는 것일까에 대해 아주 오랫동안 궁금해하던 것을, 회로도를 통해서 직관적으로 이해할 수 있게 해줘서 굉장히 (...인생에서 가장 기뻤던 순간 중 손에 꼽을 정도였다.) 기뻤던 기억이 아직도 난다.

로우레벨 컴퓨팅에 대한 이야기는 내 정신 저 밑바닥에 있는 "아니 그러니까 왜냐고?!" 의 욕망을 크게 해결해주는 경향이 있어서 좋아한다.

그리고 마스토돈의 기본 웹 클라이언트는 브라우저들이 번역을 정말 잘 못한다-_-; 웹페이지의 기본 언어가 브라우저 언어로 맞추어져 보여지고, 그래서 번역할 필요가 없다고 브라우저가 판단해서 그런 것 같다고 이해하고 있는데 이 문제 어떻게 해결할 방법이 없을까 흠 ' -' ...

3
1

오늘 흥미로운 걸 발견하는 운이 좋은 모양이네요. HN에서 보았는데, 결과물보다는 코멘트 첫머리에 링크된 블로그포스팅이 더 재미있었습니다.

글 초반의 어떤 문구에서 저는 부정적인 인상을 받았는데, HN에서 본 다음 코멘트를 읽고 조금 완화되었습니다.

I mean this pretty literally though - I'm not particularly interested in these questions. They've been discussed a ton by people way more qualified to discuss them, but I personally I feel like it's been pretty much the same conversation on loop for the last 5 years...

That's not to say they're not very important issues! They are, and I think it's reasonable to have strong opinions here because they cut to the core of how people exist in the world. I was a musician for my entire 20s - trust me that I deeply understand the precarity of art in the age of the internet, and I can deeply sympathize with people dealing with precarity in the age of AI.

But I also think it's worth being excited about the birth of a fundamentally new way of interacting with computers, and for me, at this phase in my life, that's what I want to write and think about.

1

とある分野のオープンデータを探していたらJSON-LD形式のものが多いけど、JSONしか扱ったことがないのと、JSON-LDってActivityPubの実装やってる人たちが皆さん「😖」となっているのを見かけるので、けっこうややこしいフォーマットなのかな??
それとも「ActivityPubの実装においては」という文脈があるのか?👀

@shiromadaraしろまだら JSON-LDはLinked DataをJSONで表現した形式ですが、Linked Dataを理解していればJSON-LD自体はそれほど難しくありません。Linked Dataはセマンティック・ウェブ(オントロジー)を表現するための手段であり、オープンデータの分野で広く使われているのはそのためでしょう。ただ、ActivityPubがJSON-LDを採用したことが果たして技術的に適切な選択だったかについては、意見が大きく分かれているようです。

1
6

HN에서 Claude's new constitution 이야기를 봤고, 몇 차례 타이틀만 보고 눌러보지 않고 지나가다가- 결국 눌러서 나온 댓글들에서 끔찍한 감정을 느끼다가 - 블로그 글을 읽기 시작하다가 - '읽어보세요' 버튼을 눌러서 본문을 보게 되었습니다. 본문 보기 버튼을 눌러보길 잘 했다는 생각이 들었습니다. 학술적/윤리적/철학적 호기심을 많이 자극하는 글이었고, 꽤 공을 들였다는 느낌을 받았습니다.

다 읽고 나니까, 아주 오래전, 구글이 'Don't be evil'을 말했던 때가 생각나기도 했습니다.

세계가 전면 핵전쟁 주위를 어슬렁거리고 있어서 요 며칠 우울했는데, 이걸 보니 좀 기분전환이 되더군요.

1

@hongminhee洪 民憙 (Hong Minhee) Gemini CLIを使っているので、Gemini 2.5-ProだったりFlashを使ってます!でも3.0が使えることに気づいてからは3.0を使うようにしてみてます

あとはGemini以外だとQwen Code (Qwen3-Coder?)も簡単なタスクだったりには使ったりしていますね (ちなみにCopilot CLIも少し気になってます)

1
5
7
2

Secretive(혹은 1Password)로 SSH 키를 관리하는데 Touch ID로 인증을 해야하다 보니 노트북 저 멀리에 두고 모니터와 별도 키보드를 쓰는 상황에서 팔을 쭉 뻗어 Touch ID에 손가락을 올리는 것이 여간 불편한 것이 아니었다. 예전에 Apple Watch로 인증이 되고 그랬다고 했던 기억이 나서 오늘에서야 써보는 데 팔을 뻗지 않아도 되서 매우 편하다 :D

1
4
0
3
1

작년 말부터 내가 코딩을 좋아하나? 잘 하나? 계속 할 수 있나? 의심이 들어서 괜히 다른 일을 열심히 해봤는데... 돌고 돌아 코딩을 너무 좋아한다는 걸 뒤늦게 깨달았다.

나도 몰랐는데 스스로 맘 속으로 시름시름 앓았었나보다. 왜 그런지 고민해보았는데, 퇴사하면서 했던 마지막 업무가 내가 해왔던 일 중 하나를 자동화 하는 것이었다. AI의 발전과 더불어 직업적 회의감을 느꼈던 것 같다. 스스로를 대체하는 직업이 지속 가능성이 있는가? 같은 고민을 했던 것 같다.

근데 농사도 지어보고 커피도 낋여보고 다른 일도 열심히 해봤는데, 퇴근하면 어느샌가 이맥스 켜고 Nix 짜넣어서 빌드 돌리더라. 생각해보면 코딩을 잘해서 시작한 것도 아니었고, 유망해서 시작한 것도 아니었다. 그냥 재밌으니까, "3D 업종"이라는 말을 들을 때부터 해왔다. 근데 이제와서 잘 못하나, 덜 좋아하나 같은 고민으로 그만두기에는 너무 코딩에 깊이 빠져버렸다는 걸, 작년이 끝나며 깨달은 것 같다.

4

작년 말부터 내가 코딩을 좋아하나? 잘 하나? 계속 할 수 있나? 의심이 들어서 괜히 다른 일을 열심히 해봤는데... 돌고 돌아 코딩을 너무 좋아한다는 걸 뒤늦게 깨달았다.

나도 몰랐는데 스스로 맘 속으로 시름시름 앓았었나보다. 왜 그런지 고민해보았는데, 퇴사하면서 했던 마지막 업무가 내가 해왔던 일 중 하나를 자동화 하는 것이었다. AI의 발전과 더불어 직업적 회의감을 느꼈던 것 같다. 스스로를 대체하는 직업이 지속 가능성이 있는가? 같은 고민을 했던 것 같다.

근데 농사도 지어보고 커피도 낋여보고 다른 일도 열심히 해봤는데, 퇴근하면 어느샌가 이맥스 켜고 Nix 짜넣어서 빌드 돌리더라. 생각해보면 코딩을 잘해서 시작한 것도 아니었고, 유망해서 시작한 것도 아니었다. 그냥 재밌으니까, "3D 업종"이라는 말을 들을 때부터 해왔다. 근데 이제와서 잘 못하나, 덜 좋아하나 같은 고민으로 그만두기에는 너무 코딩에 깊이 빠져버렸다는 걸, 작년이 끝나며 깨달은 것 같다.

8
3
4

LLM에게 한 번도 반말을 해본 적이 없다 (100%인지는 모르겠음). 같이 일하는 동료로서 존중하기 위한 목적도 있고, 먼 훗날 기계 문명이 도래했을 때 조금이나마 정상참작을 받을 수 있을까 하는 마음에서이기도 하다.

11
0
0
0

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

업무 일지 CLI 명세 메모 (v0.0.1)

notJoon @joonnot@hackers.pub

해야 할 작업 목록과 업무 일지를 txt 파일로 관리하고 있다. 그런데 작성하다 보니 날짜를 잘못 입력하거나, 태그를 빠뜨리는 실수가 종종 생겨서 아예 CLI 도구로 만들기로 했다.

현재 사용 중인 문서 형식은 다음과 같다. 섹션은 크게 TODO, DONE, 메모(주로 #TIL, #메모로 표기)로 구성된다.

[빈 줄 (선택)]

YYYY-MM-DD
==========

[섹션들...]




YYYY-MM-DD
==========

[섹션들...]

기능 명세

1. 날짜 자동 생성

cron을 이용해 매일 자정(00:00)에 새 날짜 섹션을 자동 생성한다.

2026-01-21
==========

최신 날짜가 파일 상단에 위치하며, 이전 날짜와는 빈 줄로 구분한다.

2. TODO 추가 및 편집

todo 명령으로 오늘의 할 일을 추가하거나 편집한다.

$ tag todo
  • 오늘 날짜 섹션이 없으면 자동 생성
  • TODO 섹션이 없으면 에디터에서 새로 작성
  • TODO 섹션이 이미 있으면 해당 내용을 에디터로 불러와 편집
TODO
 - 첫 번째 할 일
 - 두 번째 할 일
  . 세부 항목 A
   - 더 깊은 항목
  . 세부 항목 B

3. 완료 기록

done 명령으로 완료한 작업을 기록한다. 명령 실행 시점의 시간이 자동으로 추가된다.

$ tag done

시간 형식은 [오전|오후 HH:MM]이며, 24시간제로 표기한다.

[오전 10:40]
 - 완료한 작업 내용

[오후 14:30]
 - 또 다른 완료 항목
  . 관련 세부 사항
  . 추가 메모

4. 메모 및 커스텀 태그

note 명령으로 메모를 추가한다. 태그를 인자로 전달하면 해당 태그로 섹션이 생성된다. [명세 업데이트 필요]

$ tag note           # "노트:" 헤더로 추가
$ tag note TIL       # "#TIL" 헤더로 추가
$ tag note memo      # "#memo" 헤더로 추가

(자주 사용하는 태그는 단축 명령을 지원하는 것도 좋아보임)

note 명령 이후에 오는 태그는 종류에 상관없이 # 접두사를 붙여 커스텀 태그로 활용할 수 있어야 한다.

$ tag note foo      # `#foo`
$ tag note idea     # `#idea`

5. 불렛 포인트 규칙

들여쓰기 깊이에 따라 -.가 교차한다. 스페이스 1칸이 1레벨이다.

깊이 들여쓰기 불렛 예시
1 1칸 - - 항목
2 2칸 . . 항목
3 3칸 - - 항목
4 4칸 . . 항목

에디터에서 아무 불렛(-, ., *)으로 작성해도 저장 시 규칙에 맞게 변환된다.

6. 환경 설정

환경 변수로 기본 동작을 변경할 수 있다.

변수 기본값 설명
TAG_FILE ~/todo.txt TODO 파일 경로
EDITOR vim 사용할 에디터
export TAG_FILE="$HOME/Documents/work.txt"
export EDITOR="nvim"

파일 예시



2026-01-20
==========

TODO
 - 첫 번째 할 일
 - 두 번째 할 일
  . 세부 항목 A
   - 더 깊은 항목

[오전 10:30]
 - 오전에 완료한 작업

[오후 15:00]
 - 오후에 완료한 작업
  . 관련 메모

#memo
기억해둘 내용 작성

#TIL
 - 오늘 배운 것
  . 세부 내용




2026-01-19
==========

TODO
 - 어제의 할 일 목록

[오전 11:00]
 - 어제 완료한 작업

노트:
자유 형식의 메모 내용
Read more →
2

중소규모에서 동작하는 개발자를 위한 SNS를 만든다면.... 오프라인 밋업 플랫폼과 연동이 되어 있거나, 혹은 이벤트 기능이 내장되어 있다면 더욱 리텐션이 높아지지 않을까? 싶은 생각이 든다... connpass에 별의별 밋업이 있는 것을 보면서 드는 생각이다..

6

최근 그냥 코딩 에이전트에게 코딩을 넘어서 삶의 귀찮은 자동화나 일들을 대신 해주는 느낌으로도 쓸 수 있지 않을까 싶어서, 자는 동안 남은 토큰 한도로 epub 파일로 된 소설을 번역시켰더니 꽤 그럴싸한 수준의 번역이 나와서 놀랐다. 그래서 이건 좀 잘 만들어두면 굉장히 편하겠다 싶어서 pdf 파일과 epub 파일을 번역하는걸 Agent Skills로 만들어보았다.

  • PDF or epub 파일 지원
  • 번역 효율과 context window 문제를 피하기 위해 큰 파일은 잘라서 병렬로 하위 Task를 실행하는 형태로 동작
  • PDF의 경우, 텍스트를 추출 과정에서 줄바꿈 등에 대한 후처리
  • epub의 경우, 우종서(중국어나 일본어)나 RTL 방식 언어의 레이아웃에도 대응

Repository

Claude Code에서 pdf translator 스킬을 사용한 화면영어로 된 논문이 잘 번역되어 PDF로도 출력되고 있다.
1

최근 그냥 코딩 에이전트에게 코딩을 넘어서 삶의 귀찮은 자동화나 일들을 대신 해주는 느낌으로도 쓸 수 있지 않을까 싶어서, 자는 동안 남은 토큰 한도로 epub 파일로 된 소설을 번역시켰더니 꽤 그럴싸한 수준의 번역이 나와서 놀랐다. 그래서 이건 좀 잘 만들어두면 굉장히 편하겠다 싶어서 pdf 파일과 epub 파일을 번역하는걸 Agent Skills로 만들어보았다.

  • PDF or epub 파일 지원
  • 번역 효율과 context window 문제를 피하기 위해 큰 파일은 잘라서 병렬로 하위 Task를 실행하는 형태로 동작
  • PDF의 경우, 텍스트를 추출 과정에서 줄바꿈 등에 대한 후처리
  • epub의 경우, 우종서(중국어나 일본어)나 RTL 방식 언어의 레이아웃에도 대응

Repository

Claude Code에서 pdf translator 스킬을 사용한 화면영어로 된 논문이 잘 번역되어 PDF로도 출력되고 있다.
11

브라우저 API가 모두 ‘웹’ API는 아님
------------------------------
- 웹 플랫폼은 *표준화된 API* 위에서 동일하게 동작한다는 인식이 널리 퍼져 있으나, 실제로는 *브라우저 벤더별 인프라* 에 의존하는 API가 다수 존재함
- Geolocation, Speech, Push, Payments, Passkeys 등은 표면적으로는 웹 표준이지만, 내부적으로는 *Google·Apple·Microsoft의 서비스* 를 호출
- 동일한…
------------------------------
https://news.hada.io/topic?id=25974&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

1
1
4
4
2
3
4
1
2

오랫동안 GrafanaPrometheus 의 조합으로 서버 모니터링을 해왔는데, (거기에 Uptime Kuma 까지)

뭔가 바꿔볼 마음이 들어서, 올해 하게 되는 프로젝트에는 SigNozxyOps 를 적용해볼까 싶어서 살펴보고 있다. (바쁘거나 우선순위에서 밀리면 못하겠지만)

2
2
4

Sometimes when I see programming experts trying to help new learners I imagine what would happen if we were a driving school:

"The gas pedal makes the car go, right?"

"Well, only if the engine is started, and not if you are out of gas, and not if the car is in neutral, and not if the car is parked against a wall, and not if the parking brake is on, and it shouldn't be called a gas pedal in an electric car, and, and, and...."

2
0
0
1
0
1

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

내가 보려고 정리한 유용한 Rclone 명령어들

맹꽁이 @markeb54@hackers.pub

제가 나중에 보려고 쓰는 글이라 간단하게만 써놨습니다. 뭐 찾을 때마다 계속 업데이트됩니다. 자세한 설명은 Rclone의 공식 문서를 참고해주세요. 오류는 댓글로 알려주시면 감사드리겠습니다!

원격 저장소 마운트 시 캐시 설정

마운트 시 캐시를 설정하면 안정성을 높일 수 있습니다. --vfs-cache-mode 플래그는 캐시 모드를 설정하며, --vfs-cache-max-size 플래그는 캐시의 최대 크기를 설정합니다. 다음 명령어는 5GB 캐시와 함께 원격 저장소를 마운트합니다.

rclone mount remote:path /path/to/mount --vfs-cache-mode full --vfs-cache-max-size 5G

업/다운로드 속도 제한

--bwlimit 플래그는 업/다운로드 속도를 제한합니다. --bwlimit <업로드 속도 제한>:<다운로드 속도 제한>와 같이 사용합니다. 다음 명령어는 원격 저장소를 마운트할 때 업로드 속도를 5MB/s, 다운로드 속도를 10MB/s로 제한합니다.

rclone mount remote:path /path/to/mount --bwlimit 5M:10M

업/다운로드 중 하나만 속도를 제한하고 싶을 때는 off를 넣습니다. 다음 명령어는 업로드 속도를 10MB/s로 제한하고 다운로드 속도는 제한하지 않습니다.

rclone mount remote:path /path/to/mount --bwlimit 10M:off

참고한 자료들

  • Rclone official documentation
  • "Cheatsheet | Rclone CLI," Rclone UI Docs
  • "Limit Upload Download Speeds in Rclone," TIL
  • ChatGPT <-- superthx
Read more →
2