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
1
6

어제 튜링의 사과를 처음 구경했습니다. 귀인들 만나느라 이용은 안하고 구경만. 조금 과장해서 얘기하면, 다른 공유 오피스와는 다르게 PC방에 개발자 모인 것 같은 느낌이었습니다. 다른 오피스들처럼 조용하고, 조금은 생기 없는 풍경이 아니라, 상대적으로 소음도 좀 있고, 활기가 있어 보여 의외였습니다. 장소 오너분들도 개발자로 알고 있는데, 개발자 이해도가 높은 게, 영향이 있는 것 아닐까요?

(삶에 찌든 사람들 모인 PC방 말고, 젊은이들이 즐겁게 노는 모습의 PC방입니다.)

7

AI 시대에 개인 테스트용 프로젝트를 C++ 로 해보면 어떨까 생각해보다가, 요새는 패키지 관리가 좀 개선되었을까 싶어 (vcpkg 나 conan 얘기도 좀 듣고..) 오픈소스들 몇몇을 들쳐보다가..

duckdb - 걍 코드 포크하고 네임스페이스 추가 https://github.com/duckdb/duckdb/blob/main/third_party/httplib/httplib.hpp https://github.com/yhirose/cpp-httplib/blob/master/httplib.h (본래 프로젝트)

clickhouse 의 관리- git 서브 모듈 https://github.com/ClickHouse/ClickHouse/tree/master/contrib

llama.cpp https://github.com/ggml-org/llama.cpp/tree/master/vendor

아 아직 내가 생각했던 그건 아닌 건가..

2
3

일전에 @kkungMinyoung Jeong 님께서 올려주신 Vibe Writing 글에, 숟가락을 얹어보았습니다. HammerSpoon 에서 쓰는 lua 코드에서 OpenRouter 의 google/gemini-2.0-flash-001 모델로 살짝 수정했습니다.

  • config, payload, 응답부 변경

바로바로 한영, 영한 변환하니까, 너무 편하고 좋네요. 다른 언어도 추가하고 그외 다른 활용 요소들도 생각 나서, 앞으로도 이것저것 만져볼 것 같네요.

local config = {
  open_router_api_key = "sk-...",
  open_router_api_url = "https://openrouter.ai/api/v1/chat/completions",
  model = "google/gemini-2.0-flash-001",
}

local function callOpenRouter(text, callback)
  if not config.open_router_api_key or config.open_router_api_key ~= "sk-..." then
    hs.alert.show("Config error: Please set your open_router_api_key in modules/ko-en.lua")
    return
  end

  local instruction = "입력된 문장이 영어일 경우 한국어로, 한국어일 경우 영어로 변환해줘. 의미를 모국어 사용자가 자연스럽게 받아들일 수 있게 정확하고 유창하게 전달하고, 불필요한 문장을 생략하여 명료하게 작성해. 번역어 외의 다른 문장을 추가하지 말고 번역 그 자체만 반환해."

  local payload = {
    model = config.model,
    messages = {
      {role = "assistant", content = instruction},
      {role = "user", content = text}
    },
    max_tokens = 4096,
    stream = false
  }

  local request_body = hs.json.encode(payload)

  local headers = {
    ["Content-Type"] = "application/json",
    ["Authorization"] = "Bearer " .. config.open_router_api_key,
    ["HTTP-Referer"] = "https://hammerspoon.ai",
    ["X-Title"] = "Hammerspoon Translator"
  }

  hs.http.asyncPost(config.open_router_api_url, request_body, headers, function(status, response, _)
    if status == 200 then
      local success, data = pcall(hs.json.decode, response)
      if success and data.choices and #data.choices > 0 and data.choices[1].message and data.choices[1].message.content then
        local translated = data.choices[1].message.content
        print("TR: " .. translated)
        callback(translated)
      else
        local error_message = "API call failed. Response: " .. hs.inspect(data)
        print(error_message)
        hs.alert.show(error_message)
        callback(nil)
      end
    else
      local error_message = "HTTP request failed. Status: " .. status .. ", Response: " .. response
      print(error_message)
      hs.alert.show(error_message)
      callback(nil)
    end
  end)
end
3

https://questdb.com/docs/third-party-tools/polars/ 를 보다가 ConnectorX 소개가 있어서 보니 https://sfu-db.github.io/connector-x/intro.html https://sfu-db.github.io/connector-x/intro.html#how-does-connectorx-download-the-data

쿼리로 대량 데이터 가져올 때 이걸 파티셔닝 하는 쿼리로 나누고 멀티스레드로 병렬 실행 한 뒤 모으는 식인듯. 아이디어 자체는 간단한지라 한계도 좀 명확할 것 같아서 (만일 쿼리가 서브 쿼리 등 복잡해지는 경우) 한계를 알고 써야 할 것 같긴 하다.

3

요즘 트위터에 하스켈 관련 계정들보면 Go를 가장 싫어하는 언어로 꼽는 경우를 자주 본다. C/C++/Java 등은 역사적인 맥락을 고려해 예우해주고, Python/JS 등등의 이상한 기능은 뭘 몰라서 잘못 만들었다고 이해해주는 반면, Go는 하스켈러들이 중요하게 여기는 가치들을 일부러 다 무시하고 만들기 때문에 괘씸가중치 x10 정도를 적용받는 듯하다.

10

안녕하세요, SNS 프로젝트로 Jeju.social을 만들었습니다. 제주도의 친구, 가족, 기업들이 안전하게 사진과 정보를 공유할 수 있는 온라인 커뮤니티입니다. 외국인들과도 함께요. 즐거운 시간 보내세요.

Hello, I created Jeju.social as a social media project. It is an online community where friends, family, and businesses on Jeju Island can share photos and information safely. Even for foreigners. Please enjoy.

A beach with an island in the background.
2
0
0
4

I'm currently experimenting with a poll creation feature for @botkitBotKit by Fedify :botkit:. If this experiment pans out, the feature will likely be included in the next release, BotKit 0.3.0. So far, so good. Each vote will trigger a Bot.onVote event in real-time. This could open up a lot of interesting possibilities, like a bot that uses emoji selection for one-time authentication.

4
9

https://github.com/mastodon/mastodon/pull/34964/files

마스토돈에 알고리즘 기반의 계정 팔로 추천 기능이 4.4에 들어갈 예정이라고 한다........

레일즈 기반의 Fasp(Fediverse Auxiliary Service Provider) 프로바이더 구현체를 어디선가에서는 공유했던 것 같은데, 기억이 가물가물하다.

2
4
2
4

Hackers' Pub을 사용하면서 연합우주(fediverse) 뿐만 아니라 Bluesky 사람들과도 교류하고 싶으신 분들은 Bridgy Fed라는 서비스를 사용해 보시면 좋을 것 같습니다. Hackers' Pub 계정 생성 후 2주가 지난 분들만 사용 가능하긴 한데요.[1]

@bsky.brid.gyBridgy Fed for Bluesky 계정을 팔로하시면 Bluesky 쪽에 일종의 미러링 계정이 생성되게 됩니다. 성공적으로 Bluesky 미러가 생기면 @bsky.brid.gyBridgy Fed for Bluesky 계정이 맞팔을 해 올 겁니다.

예를 들어 제 @hongminhee洪 民憙 (Hong Minhee) 계정으로 @bsky.brid.gyBridgy Fed for Bluesky 계정을 팔로하면, Bluesky 쪽에 @hongminhee.hackers.pub.ap.brid.gy라는 계정이 생기는 식입니다. 그러면 Bluesky 쪽 사람들이 해당 계정을 멘션하거나, 댓글을 달거나, 인용을 하면 Hackers' Pub에서 그게 보이게 됩니다. 서로 팔로도 할 수 있고요.


  1. Bridgy Fed 쪽의 스팸 대책 정책이라고 합니다. ↩︎

3
1
1

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

Vibe Writing

Minyoung Jeong @kkung@hackers.pub

Hammerspoon과 OpenAI API를 활용하여 맥에서 선택한 텍스트를 즉시 번역하는 스크립트를 소개합니다. 이 스크립트는 Cmd+Shift+K 단축키를 통해 선택된 텍스트를 OpenAI의 GPT-4o 모델을 사용하여 한-영 또는 영-한 번역을 수행하고, 번역된 텍스트로 선택 영역을 자동으로 대체합니다. Accessibility API를 활용하여 텍스트 선택 및 대체 과정을 자동화했으며, OpenAI API를 호출하여 고품질 번역을 제공합니다. Vibe coding을 통해 개발하려 했으나, API 문제로 직접 구현했으며, 이 스크립트를 통해 영문 작성 시 번거로움을 줄이고 생산성을 향상시킬 수 있습니다.

Read more →
4

If you're building a JavaScript library and need logging, you would love LogTape hackers.pub/@hongminhee/2025/l

2

갤럭시 S22 중고 공기계를 구해서 F-droid 부터 termux 까지 뚝딱뚝딱 설치중입니다. 목표는 현 재직중인 회사의 매우 기묘한 개발 환경을 이식하는 건데, 솔직히 잘 될 지는 모르겠습니다.

예전(6년 전)엔 Raspberry Pi 2 위로 올리려고 첫 시도했던 시절엔 MongoDB 설치 문제 등을 쉽게 풀지 못해서 금방 포기했던 기억이 나네요.

일단 넘어야 할 산으로는 아래와 같은 것들이 있습니다.

  • crosstool-ng 잘 써서 Arm에서 x64 컨테이너 이미지 빌드 가능한 상황 만들기

... 첫 번째 산부터 뭔가 넘기 힘들어 보이는데, 그냥 스트레스 푸는 방식을 바꿀까...

3

요즘 함수 적용Apply에 꽂혀서, 처음 보는 프레임워크 코드들을 Apply 위주로 읽으니 그럴싸합니다. 그래서, Apply 생각 일부를 정리했습니다. 함수형 프로그래밍 언어도 익숙하지 않은 외국어와 비슷한 느낌이라, 코드들을 정확히는 몰라도 일단 통밥으로 읽는 방법을 계속 훈련 중입니다.

Apply - 이펙트가 있는 함수들을 연이어 적용하고 싶어
Apply - Price와 (exRate -> Price)를 다루는 프로그램의 골격을 똑같이 하고 싶어

해커스펍에 바로 올릴까 했는데, 읽어보니 조금 더 정돈하고 올리고 싶다는 생각이 들어, 개인 블로그에 먼저 올립니다.

3
4
5

토스페이먼츠 결제 시스템 연동을 돕는 MCP 서버 구현기

토스페이먼츠 문서를 로컬 MCP로 제공하고자 거친 모든 의사 결정 과정이 공유되어 있습니다.

문서 내 키워드 관련성 분석을 미리 거친 Machine-Readable 한 청크 저장소를 구축하는 노력이 가장 흥미로웠네요.

3
3

https://open.longportapp.com/docs/llm 최근 https://github.com/laukikk/alpaca-mcp 도 그렇고 아에 broker API 단에서 MCP 지원하니까 개인이 트레이딩 봇 만드는 것도 조만간 더 일상화되지 않을까 싶다. 국내 증권사 API 보면 언제쯤 움직일까 싶지만, 그래도 예전에 비해선 REST API 를 여는 방향으로 가고 있으니, 개발팀이건 유저건 누군가는 비슷한 작업을 할듯.

1

(트위터에 버릇처럼 글을 썼다가 여기 계정이 있다는 것을 생각하고.. 다음부턴 개발 관련 끄적임은 좀 의식적으로 여기에 써보기로..)

https://gpui.rs 는 zed 의 UI framework 인데, 이거 기반으로 desktop ui 프로젝트 시도도 있는듯. https://github.com/longbridge/gpui-component https://longbridge.com/desktop/ zed 가 지금은 한글 입출력이 좋은 것 처럼, iced, egui 에 비해 한글 입출력도 좋을거라 생각. 그나저나 longbridge 는 홍콩 회사인 것 같은데 gpui 를 굳이 저정도로(?) 썼다. 물론 이런 작업 굳이 한 쪽으로는 iced 개발자가 있는 cryptowatch 도 있긴 하다 (kraken 에 인수인데 desktop app 이 rust + iced)


egui 의 경우 사실 https://github.com/topki0325/egui-chinese-font/blob/ce80cb38b4d12e2542a6be2ddbaf5ca213e88a31/src/lib.rs#L126 폰트 문제에 가까운 것 같긴 함 (저 경로에 대해 걍 산돌고딕 폰트 경로 잡아주면 한글 출력도 되고 입력도 됨)

보통 이거 조사할 때 즈음이 '웹보다 반응 빠르고 실시간 데이터 분석하기 좋은 네이티브 기반의 트레이딩 시스템 클라이언트' 이런 느낌으로 조사하다가, 결국 시스템을 잘 디자인 하면 '결국 트레이딩 봇들이 늘어나면 자연스럽게 안쓰는' 무엇이 되버리는. 차트, 호가창은 심연과 같아서 사람이 들여다보고 있으면 안되기 때문에..

1

(트위터에 버릇처럼 글을 썼다가 여기 계정이 있다는 것을 생각하고.. 다음부턴 개발 관련 끄적임은 좀 의식적으로 여기에 써보기로..)

https://gpui.rs 는 zed 의 UI framework 인데, 이거 기반으로 desktop ui 프로젝트 시도도 있는듯. https://github.com/longbridge/gpui-component https://longbridge.com/desktop/ zed 가 지금은 한글 입출력이 좋은 것 처럼, iced, egui 에 비해 한글 입출력도 좋을거라 생각. 그나저나 longbridge 는 홍콩 회사인 것 같은데 gpui 를 굳이 저정도로(?) 썼다. 물론 이런 작업 굳이 한 쪽으로는 iced 개발자가 있는 cryptowatch 도 있긴 하다 (kraken 에 인수인데 desktop app 이 rust + iced)


egui 의 경우 사실 https://github.com/topki0325/egui-chinese-font/blob/ce80cb38b4d12e2542a6be2ddbaf5ca213e88a31/src/lib.rs#L126 폰트 문제에 가까운 것 같긴 함 (저 경로에 대해 걍 산돌고딕 폰트 경로 잡아주면 한글 출력도 되고 입력도 됨)

5
3
1
1

카네기멜런 조교수가 권장하는 "모든 개발자들이 해보면 좋은 프로젝트"

https://austinhenley.com/blog/challengingprojects.html?&aid=rec3mWbHrTxWMN36P&_bhlid=818f4f9928e77979b19e926866a9fe3e537f5ee2

텍스트 에디터

  • 구현에 사용되는 자료구조 (gap buffer, piece table 등)
  • undo, redo 를 사용하는 메멘토 패턴

2d game

  • 상태머신 관리
  • 컴퓨터 주변기기를 제어하는 방법

컴파일러

  • lexical parsing
  • syntatic parsing
  • code generation

작은 운영체제

  • 스케쥴링
  • 부트로딩
  • 메모리관리 및 페이징
  • 파일시스템

스프레드시트

  • directed graph (주로 topological sort)
  • reactive programming paradigm

비디오게임 콘솔 에뮬레이터

  • 컴파일러, 운영체제, 게임엔진 등등의 챌린지를 한번에 짬뽕

그 외에도 데이터베이스 직접 만들기, 그림판 직접 만들기, 터미널 유틸리티 직접 만들기

4
2
5
2

@hongminhee洪 民憙 (Hong Minhee) @bglbgl gwyng 지나가다 관심 있는 주제가 보여 의견을 드려보아요. 사실 전문가가 전문성을 발휘하는 데에는 암묵지가 많아도 문제가 없는데, 전문성을 남에게 설명하거나 교육해야 할 때에는 어려움을 크게 높이는 요소가 됩니다. 그래서 홍님이 말씀하신 암묵지를 이끌어내는 전문가들은 인지 작업 분석(CTA) 같은 기법을 사용하기도 하는데요. bgl 님이 멘토링을 하고 계신다는 걸 보면 이미 어떤 식으로든 교육을 위해 암묵지를 많은 부분 명시지화 하셨을 것 같기도 해요. 물론 홍님 말대로 암묵지는 암묵지인 것일 수도 있겠지만요. 😅

3
1

그동안 멘토링하면서 느낀게, 나한테 암묵지가 별로 없다는 것이다. 전문가는 암묵지가 많다는데, 나는 내 스스로가 매우 간단한 휴리스틱으로 동작한다고 느낀다. 난 전문가가 아닌건가? 내가 그동안 쌓아온 것은 암묵지라기보단 어떤 특정한 사안에 대한 강한 믿음들인거 같다.

3
2

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

OX 테스트 당신은 책중독자인가?

박준규 @curry@hackers.pub

이 글은 톰 라비의 《어느 책중독자의 고백》을 인용하여 독자가 스스로를 "책중독자"로 진단해볼 수 있는 간단한 OX 테스트를 제공합니다. 모르고 같은 책을 두 번 산 적이 있는지, 표지 디자인만 보고 책을 구매한 적이 있는지 등 10가지 질문을 통해 독자 스스로가 책에 대한 애정을 어느 정도 가지고 있는지 되돌아보게 합니다. 이 테스트는 가벼운 마음으로 자신의 독서 습관을 재미있게 평가해보고, 책에 대한 애정을 다시 한번 확인하는 계기를 마련해줍니다.

Read more →
5
1
1
1