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

브라우저 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
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
2

洪 民憙 (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
4

모두 새해 복 많이 받으시기 바랍니다!

FOSS for All () 에서는 오는 1월 31일에 모두의연구소 강남캠퍼스에서 첫 개최를 준비하고 있습니다. 국내 Fiscal sponsorship 사례 연구, 포용기술 전문가 간담회 후기 등을 주제로 프로그램이 구성 될 예정입니다.

참가 등록이 몇일 안으로 열릴 예정이니, 조금만 기다려 주세요!

1

정말 어려운 과정을 거쳐서 드디어 Certum에서 개인용 코드 서명 인증서를 발급받았습니다. 자동화가 안된다는 한계가 있지만, 코드 서명이 그래도 가능해졌다는 사실은 정말 기쁩니다.

Certum과의 인증 평가 과정에서, 저는 현재 월세 거주자이고 관리 사무소에서 공과금을 관리하고 있기에 영문 증명 서류를 떼는게 어려웠는데, 여권과 영문 주민등록등본으로 인증이 가능했습니다.

또한 가격도 합리적인 선에서 지불할 수 있었고, HSM 대신 SimplySign이라는 클라우드 기반 인증서 관리 도구를 사용하는 것을 조건으로 크게 단가를 낮출 수 있었습니다.

Windows Smart Screen에 나타나는 코드 서명 정보
4
1

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

생성 AI 논의에 대해 두서없이 몇 가지

lark @lark@hackers.pub

생성형 AI의 가치는 무분별한 창작보다 입력을 유의미하게 변환(transformative)하는 능력에 있으며, 이는 저작권법의 공정이용(Fair Use) 원칙과 밀접하게 연결됩니다. 구글 북스(Google Books) 소송 사례처럼 결과물의 목적이 원본과 판이할 때 기술적 정당성이 확보되지만, 현재의 LLM 서비스들은 출력의 자유도가 지나치게 높은 생성 방식에 치중해 저작권과 윤리적 문제를 야기합니다. 저자는 단순 생성을 제한하고 정보 추출이나 개발자 사고 보조에 집중하는 새로운 인터페이스(interface)와 기술적 장치의 필요성을 제안합니다. 이러한 비판적 시각은 AI 기술이 인간의 능력을 보조하면서 법적·윤리적 테두리 내에서 발전할 수 있는 중요한 설계 방향을 제시합니다.

Read more →
4

빨리 저런 라이센스가 제대로 잘 만들어져서 내 레포에 적용하고 싶다.

근데 그런 라이센스가 있다한들 AI 기업들이 그걸 존중할까 하는 걱정이 있는데. 한가지 긍정적인건 LLM들이 원본 데이터를 하도 잘 외워서(이게 꼭 긍정적이지만은 않다), 가령 유명한 소설 '위대한 개츠비'를 한번 읊어보라 하면 80% 정확도로 뱉더라 라던 연구가 있다. 그래서 라이센스를 어기고 학습에 사용한 코드가 있다면 검출은 쉬울지도?

모델 프로바이더 입장에서는 시스템 프롬프트에 '코드를 외웠다는 사실이 드러나지 않게하라' 같은걸 넣을수도 있겠다. 근데 또 모델이 나쁜짓을 하게 하면 딱 그지시만 따르는게 아니라 전반적으로 부작용이 생긴다는 연구가 있다(해당 연구에선 프롬프팅이 아니고 파인튜닝이었지만). 그래서 라이센스를 어기고 학습한다음 잡아떼기가 생각보다 어려운 일일수 있겠다.

4
3

내 구독 목록을 보는 SubList Me 를 소개합니다.

  • 대 AI 시대라, 저도 AI 에이전트와 함께 개인적으로 장난감을 만들어 보았습니다.

  • Cloudflare에서 도메인을 샀고, 서버리스로 Pages와 Workers를 사용합니다.

  • Nextjs, Hono를 사용하고 있습니다.

  • 선택UI 는 Installkit에서 영감을 받았습니다.

  • Hackers.pub 에 제일 먼저 공개하고 싶었고, 그러므로, 최초 공개입니다. 😅

  • 많이 부족하고 아직 버그나 개선의 여지도 많지만 개밥먹기하면서 수정해 나가려고 합니다.

  • 소개 페이지: https://www.sublistme.com/

  • 서비스 링크: https://app.sublistme.com/

소스는 요기

Sublist Me Screenshot 1Sublist Me Screenshot 2
7

LLM이 개발 과정의 여러 부분에서 도움이 되지만 컷오프 때문에 최신 자료는 어디선가 가져와야 하고 그런 이유에서 Stack Overflow는 살 길이 아주 없는 것이 아니었다. 결국 AI가 SO를 죽였다기보다는 독성 문화와 잘못된 운영이 더 크게 작용하지 않았나 하는 생각...

3

관점에 동의하고, 모델과 학습 데이터의 민주화를 어떻게 이룰 것인가에 대한 현실적인 부분을 좀 더 고민한다면 결국 국가나 국가들의 연합체이 주도하는 방향이 되지 않을까 싶다. 소프트웨어는 컴퓨터만 있으면 온전히 개인의 역량만으로 접근할 수 있지만 LLM은 특히 초대형 자본의 각축장이라 풀뿌리로 접근할 수 있는 길이 잘 보이지 않는 것 같다.

4
0
6
0
4
1
2
3
4

코어 게이머층이나 유튜브 인플루언서들 중심으로 확산되고 있는 것 같긴 한데 요즘 전반적으로 윈도에 대한 여론이 나쁜 것을 넘어서 험악해진 분위기가 있다. 몇가지 요인이 있는 것 같은데

  • 최근 윈도 11이 bloat되었고 온라인 연결을 강제하면서 원하지도 않는 기능을 계속 떠먹이려고 시도함
  • 그러면서 게이머들이 버티고 있던 윈도 10의 지원을 최근에 끊어버림
  • SteamOS가 꽤 여러 상황에서 게임 성능이 윈도를 능가한다는 결과가 나옴
  • 게이머 중심으로 "AI Slop" 같은 표현처럼 AI에 적대적인 분위기가 있는데 MS가 AI에 올인하는 전략을 취하면서 여기서 오는 적대감 또한 기인하는 것 같음. (게다가 게이머 입장에서 하드웨어 가격을 폭등시킨 주원인이기도 하고)
5
1
0

LogTape 2.0.0 released!

LogTape is a zero-dependency logging library for JavaScript/TypeScript that works across Deno, Node.js, Bun, and browsers.

What's new in 2.0.0:

  • lazy() for dynamic context: with() now supports values that are evaluated at logging time, not when the logger is created. Child loggers inherit the lazy wrapper, so they always see the current value.
  • Configuration from files: New @logtape/config package lets you load logging configuration from JSON, YAML, or TOML instead of writing TypeScript code.
  • Better error logging: Pass Error objects directly to logger.error(err) instead of wrapping them in properties.
  • Async lazy evaluation: Logging methods now accept async callbacks for expensive async operations.
  • isEnabledFor() method: Check if a log level is enabled before running expensive computations.
  • Time-based log rotation: Rotate logs daily, hourly, or weekly with automatic cleanup of old files.
  • New integrations: Elysia framework support and log4js adaptor.

https://github.com/dahlia/logtape/discussions/133

2
1

합주실 다음 플랜:

  • CO2, VOC 미터 설치: 밀폐공간이라 좀 쓰다보면 이산화탄소 수치가 올라가는데 정작 이용자들은 잘 모르고 머리가 띵한 느낌만 받기 쉬움. 수치를 실시간으로 화면에 띄워주거나 1000ppm 이상 올라가면 경고 표시하도록
  • 위 수치 보면서 공기청정기 갖다놓을지 좀 고민해볼듯.
3
2

I've been using this exact distinction for a while now. Since Korean, my native language, has distinct terms for the system (런타임), the point in time (實行時(실행 시)), and the duration (實行時間(실행 시간)), using a single spelling for all three in English always felt a bit blurry to me. This spelling convention helps bridge that gap and makes technical writing much more precise.

Personally, I find the meaning as indicated by Google's style guide the most clear, combined with an explicit case for hyphenation:

Runtime: use the system meaning. E.g. “the runtime was updated last week,” or “I'm using version 21 of the Java runtime.”

Run-time: use the moment meaning, but only when used in the adjective position. E.g. “run-time instrumentation is useful for finding bugs.”

Run time: use the duration meaning. E.g. “the run time was reduced by 5%,” or “a run time of five minutes is unacceptable.” In addition, when you want to use the moment meaning, but not as an adjective, this form should also be used. E.g. “typechecking happens at run time in our implementation.”

My Opinion on Run Time vs. Run-time vs. Runtime (by Bob Rubbens)

0

회사에선 AI를 쓰기가 왜 이렇게 싫은가? 곰곰이 생각해 봤는데 내 머릿속에 짜야 할 코드가 80%쯤 그려져 있는 상태에서 나 대충 이런 거 만들 건데 키보드 두드리기 귀찮으니까 네가 좀 짜줘 하는 거랑 아직 내 머릿속에도 코드가 30%쯤밖에 없는데 내가 뭘 해야 할지 나도 잘 모르겠지만 일단 네가 시작해봐 하는 거랑은 체감이 다른듯. 플러터도 몇 년 써서 익숙해지고 나면 아 귀찮아 AI가 대신 두드려주면 좋겠어 하게 될까.

2

회사에선 AI를 쓰기가 왜 이렇게 싫은가? 곰곰이 생각해 봤는데 내 머릿속에 짜야 할 코드가 80%쯤 그려져 있는 상태에서 나 대충 이런 거 만들 건데 키보드 두드리기 귀찮으니까 네가 좀 짜줘 하는 거랑 아직 내 머릿속에도 코드가 30%쯤밖에 없는데 내가 뭘 해야 할지 나도 잘 모르겠지만 일단 네가 시작해봐 하는 거랑은 체감이 다른듯. 플러터도 몇 년 써서 익숙해지고 나면 아 귀찮아 AI가 대신 두드려주면 좋겠어 하게 될까.

4

(わかる人にはわかると思うけど)最近は、機能追加や修正において、コードを直接いじるよりも、修正計画をしっかり書いてからコードエージェントに任せることが増えている。

手戻りを減らすためにも、修正計画はできるだけ具体的に書くことを意識している。テスト対応まで含めて指示することも多い。

もちろん、最終的なコードの検証とテストは自分で行う。

2
5

iPadOS와 macOS 26 한동안 써봤는데 Liquid Glass는 그냥 실패작이 맞는 것 같다.

  • 👍 신기하긴 하다.
  • 👎 가독성 재앙. 결국 애플도 이걸 인정했는지 버전업할수록 효과를 죽이는 선택지를 넣기 시작함
  • 👎 그래서인지 어느정도 쓰다보면 딱히 신경쓰이지도 않음. 결국 GPU 연산력만 낭비함
  • 👎 릴리즈된지 한잠 지났지만 도입된 어플리케이션도 손에 꼽을 정도로 적음. 특히 내 macOS 환경에서는 기본앱 말고 도입한 앱은 단 하나도 못 본듯
  • 👎 본질적으로 이게 사용자 경험에 무슨 가치를 더하는지 모르겠음. 그냥 전형적인 form over function.
1

iPadOS와 macOS 26 한동안 써봤는데 Liquid Glass는 그냥 실패작이 맞는 것 같다.

  • 👍 신기하긴 하다.
  • 👎 가독성 재앙. 결국 애플도 이걸 인정했는지 버전업할수록 효과를 죽이는 선택지를 넣기 시작함
  • 👎 그래서인지 어느정도 쓰다보면 딱히 신경쓰이지도 않음. 결국 GPU 연산력만 낭비함
  • 👎 릴리즈된지 한잠 지났지만 도입된 어플리케이션도 손에 꼽을 정도로 적음. 특히 내 macOS 환경에서는 기본앱 말고 도입한 앱은 단 하나도 못 본듯
  • 👎 본질적으로 이게 사용자 경험에 무슨 가치를 더하는지 모르겠음. 그냥 전형적인 form over function.
2
2
6
0
0

I've spent a long time asking myself why open source matters so much to me, why I keep coming back to it. I once joined a company purely because they promised I could do open source full-time (it didn't turn out well). Before that, I was doing open source inside and outside of regular jobs. And now, in the age of LLMs, when the value of code itself seems to be declining, I'm still here, still doing this.

Recently it clicked. I do open source because it's social work—in the sense that it lets me participate in society.

Everyone wants to belong to some community, to connect with others. But I was never good at the usual ways of doing that. Social activities that came naturally to others were difficult for me. In school, I had few friends. After class, I'd stay home assembling Lego or reading books alone. Then I discovered coding.

Coding was a wonderful hobby for me, especially because I encountered it at the dawn of the internet era. The first programming languages I properly learned were Perl, PHP, and JavaScript—all languages of the internet age. The synergy was something else.

Gradually I fell into the world of open source. And there, even someone like me—awkward at conventional social interaction—could be social. My code helped people. I could collaborate by exchanging code. I could have conversations, mediated by code. IRC, mailing lists, forums—these became my social media. Over time, “the group I wanted recognition from” became the people in the open source world. I didn't care much about being recognized by classmates, but I wanted to be recognized by these people I'd never met face to face.

That mindset still shapes me now, approaching forty. I still care more about recognition from open source programmers than from colleagues. The social activity that happens in open source communities is, after my family, the most important social activity in my life.

The specific things I build, the technical details—those matter less than I used to think. I just want to do the kind of social activity that suits me, and open source happens to be the way I do it.

That's all, really.

7
8
0
1
1
2

Hongdown 0.2.0 is out! Hongdown is an opinionated formatter written in , and this release brings support, so you can now use it as a library in .js, , , and browsers.

New features:

  • Smart heading sentence case conversion with ~450 built-in proper nouns
  • SmartyPants-style typographic punctuation ("straight"“curly”)
  • External code formatter integration for code blocks
  • Directory argument support for batch formatting

Try it in the browser: https://dahlia.github.io/hongdown/

Release notes: https://github.com/dahlia/hongdown/discussions/10

1