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

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

The social web beta is here

Building ActivityPub @index@activitypub.ghost.org

Today we're opening a public beta for our social web integration in Ghost. For the first time, any site on Ghost(Pro) can now try out ActivityPub.

For those of you who have been subscribed to this newsletter for the past year or so, thanks for your patience! It hasn't been easy to get this far, but we're excited to hear what you think as you become one of our very first explorers to launch into the Fediverse.

To help you get started, we've put together a detailed guide explaining how this new feature works, and what you can expect from using it in its current state.

Take a quick read through everything here, as an introduction:

Social web (beta)
💡Currently in public beta on Ghost(Pro) This feature is in active development, and is not yet complete. We’re welcoming early testers to give it a try and share their feedback, as we work on finalizing this experience for inclusion in Ghost 6.0. Since 2013, Ghost has made it
Ghost Help CenterGhost

Once you're ready to take ActivityPub for a test drive yourself, open Ghost Admin and head over to Settings → Labs and enable the beta.

We're looking forward to chatting with you!

Read more →

Claude Code, 소프트웨어 번역에도 아주 편리하다. 번역 항목을 추가하게 되면 내가 잘 모르는 언어의 번역 파일을 어떻게 해야 하나 언제나 고민이었는데 (여태까지는 자동 번역기를 쥐어짜서 어떻게든 채워 넣었다), 이제는 내가 아는 언어의 번역 파일에만 항목을 추가한 다음에 Claude Code에게 내가 모르는 언어의 번역 파일에도 누락된 항목을 채워달라고 부탁만 하면 된다. 단, 이게 잘 동작하려면 번역 파일에 용어 사전(glossary)가 어느 정도 구축되어 있고 기존 번역에서도 용어가 일관성 있게 쓰여 있어야 한다.

Hackers' Pub에서도 중국어 번역을 그런 식으로 채워서 커밋해 보았다.

Claude Code、ソフトウェア翻訳にも非常に便利だ。翻訳項目を追加する際、自分がよく知らない言語の翻訳ファイルをどうすればいいのかといつも悩んでいた(これまでは自動翻訳機を絞り出してなんとか埋め込んでいた)。今では自分が知っている言語の翻訳ファイルに項目を追加した後、Claude Codeに自分が知らない言語の翻訳ファイルにも欠けている項目を埋めてもらうようお願いするだけでいい。ただし、これがうまく動作するためには、翻訳ファイルに用語辞典(glossary)がある程度構築されていて、既存の翻訳でも用語が一貫性を持って使われている必要がある。

Hackers' Pubでも中国語翻訳をそのような方法で埋めてコミットしてみた。

Claude Code, 소프트웨어 번역에도 아주 편리하다. 번역 항목을 추가하게 되면 내가 잘 모르는 언어의 번역 파일을 어떻게 해야 하나 언제나 고민이었는데 (여태까지는 자동 번역기를 쥐어짜서 어떻게든 채워 넣었다), 이제는 내가 아는 언어의 번역 파일에만 항목을 추가한 다음에 Claude Code에게 내가 모르는 언어의 번역 파일에도 누락된 항목을 채워달라고 부탁만 하면 된다. 단, 이게 잘 동작하려면 번역 파일에 용어 사전(glossary)가 어느 정도 구축되어 있고 기존 번역에서도 용어가 일관성 있게 쓰여 있어야 한다.

Hackers' Pub에서도 중국어 번역을 그런 식으로 채워서 커밋해 보았다.

JS로 짜여진, join이 되는 reactive한 로컬 DB가 필요한데요. RxDB, SignalDB는 join이 안 돼서 탈락입니다. join을 안하면 되지 않냐 할수 있는데 어떤 특이한 로직 때문에 꼭 필요합니다. 지금은 직접 sqlite 호출하는 누더기 코드로 돌아가고 있는데요.

그 코드를 리팩토링해서 제대로 된걸 만들까 말까 고민중인데, 사실 잘만들어진게 있으면 그걸 쓰고 싶습니다. 제 요구사항을 만족하는 라이브러리가 있을까요?

JS로 짜여진, join이 되는 reactive한 로컬 DB가 필요한데요. RxDB, SignalDB는 join이 안 돼서 탈락입니다. join을 안하면 되지 않냐 할수 있는데 어떤 특이한 로직 때문에 꼭 필요합니다. 지금은 직접 sqlite 호출하는 누더기 코드로 돌아가고 있는데요.

그 코드를 리팩토링해서 제대로 된걸 만들까 말까 고민중인데, 사실 잘만들어진게 있으면 그걸 쓰고 싶습니다. 제 요구사항을 만족하는 라이브러리가 있을까요?

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

WindowsをMacのように - MacのCMD + バッククォートキーのショートカットをWindowsで使用する方法

Juntai Park @arkjun@hackers.pub

長い間、メインの開発環境としてMacを使っていましたが、Windowsを再びメインで使い始めて1年が経ちました。

いくつかのデメリットはあるものの、Windows 11+WSL(Ubuntu)環境での開発も悪くありません。もちろん、CMDキーがないことや、Ctrlキーを使ったコピー&ペーストが不便な点は否めません。

しかし、MacにはないWindowsのメリットが気に入っており、逆にWindowsにはないMacのメリットも魅力的です。

またいつかMacを再びメインにして、Windowsをサブにする日も来るでしょう。メイン環境は状況によって柔軟に変えていけるものと考えています[1]


前置きが長くなりましたが、僕がMacでよく使うショートカットキー、CMD + `(バッククオート) は、同じアプリ内のウィンドウを切り替える機能を持っています。例えばChromeブラウザを2つ開いている場合、このショートカットを押すとChromeのウィンドウ間を切り替えられます。 Macで一番よく使っていたショートカットで、Windowsでも似たような機能をするショートカットを一生懸命検索しましたが見つかりませんでした。

そこで、AutoHotkey[2] を使って簡単なスクリプトを作成して使用しています。

完璧に動作するわけではなく、個人的には「そこそこ満足できる」レベルの動作ですが、

  • Macに慣れているがWindowsも使っている誰かの役に立つように
  • Hackers' Pubの活性化(?)を願って

このAutoHotkeyのスクリプトコードを共有します。

; Alt + `キーを押したときに実行されるコード
; MacOSのCMD + `(バッククオート)キーと同じ機能(同一アプリ内のウィンドウ切り替え)をWindowsで実現
!`::
{
    focusedWindow := WinExist("A")
    if !focusedWindow
        return

    focusedPID := WinGetPID(focusedWindow)
    focusedPName := WinGetProcessName(focusedWindow)
    focusedClass := WinGetClass(focusedWindow)
    focusedTitle := WinGetTitle(focusedWindow)

    ; Get all windows of the same class and process
    windows := []
    for window in WinGetList()
    {

        if (WinGetPID(window) = focusedPID && WinGetTitle(window) != focusedTitle)
        {
            windows.Push(window)
        }
    }

    if (windows.Length > 1)
    {
        WinActivate(windows[2])

    } else if (windows.Length = 1) {
        WinActivate(windows[1])
    }
}

実行方法は上記のコードを任意のahk拡張子のファイルとして保存し、AutoHotkeyで実行するだけです。また、AutoHotkeyを使えばこのスクリプトを実行ファイル(exe)としてコンパイルすることもできます。

追記)以前、GitHub Gistにも共有しています。

お読みいただきありがとうございました。


  1. 実は、最近1年間は主にWindowsを使用していましたが、その間に時々Macをメインで使うこともありました。 ↩︎

  2. AutoHotkey(オートホットキー): 独自のプログラミング言語(マクロ言語)を用いてコンピュータを制御することができる。「AutoHotkey」という名称から想像できるように、当初はキーボードのホットキー(ショートカットキー)をカスタマイズすることを目的として開発されたが、ユーザーの要望を取り入れる形で開発が進むにつれスクリプト言語と分類されるほどに膨大な機能が実装され、コミュニティも大きなものとなっている。出典: ウィキペディア (https://ja.wikipedia.org/wiki/AutoHotkey) ↩︎

Read more →

Hackers' Pub에 rel=me 속성으로 본인 링크인지 확인하는 로직은 처음부터 만들어 놨는데, UI에서만 표시가 안 되고 있는 중… 안 그래도 지금 프로필의 링크 목록이 조금만 많아져도 난잡해 보이는데, 좀 정리도 할 겸 인증 마크도 추가해야겠다.

洪 民憙 (Hong Minhee) replied to the below article:

Hacker's Pub

daisuke @dai@hackers.pub

分散されながらも(いわゆるFediverseのフィードを)一元化するビューが欲しかった(矛盾してるかな?)。

とにかくタイムラインのタブはこのように4つ。指定した言語以外のポストは薄く表示される(私は en-US, zh-CN, ja-JP, ko-KR にしてます)。

私が欲しかった切り替え可能な4タブ構成のビューアーです。

GhostのFediverse Betaアカウントはリクエスト制なのかな?

@index@activitypub.ghost.org

Read more →

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

Hacker's Pub

daisuke @dai@hackers.pub

分散されながらも(いわゆるFediverseのフィードを)一元化するビューが欲しかった(矛盾してるかな?)。

とにかくタイムラインのタブはこのように4つ。指定した言語以外のポストは薄く表示される(私は en-US, zh-CN, ja-JP, ko-KR にしてます)。

私が欲しかった切り替え可能な4タブ構成のビューアーです。

GhostのFediverse Betaアカウントはリクエスト制なのかな?

@index@activitypub.ghost.org

Read more →
0
0

为软件开发者提供的基于 ActivityPub 的社交网络 Hackers' Pub 现已新增中文支持。但请注意,Hackers' Pub 目前仍处于封闭测试阶段,需要我的邀请才能使用。如果您是中文用户,并且有兴趣尝试 Hackers' Pub,请通过私信向我发送您的电子邮件地址。我会将您的电子邮件地址添加到允许列表,并通知您。

https://hackers.pub/@hongminhee/0195aa14-4653-7553-b605-97c19021c6eb

영어권 웹을 보다보면 autism이 한국어에서의 '자폐'보다 부정적인 늬앙스가 훨씬 덜하단 느낌을 받는다. STEM 너드들이 본인이 autistic하다고 하는 경우를 종종 보는데, 자조적인 느낌이 좀 있지만 완전 딥다크한거 같진않고, 이분법적이기보단 스펙트럼으로 보는거 같다.

영어권 웹을 보다보면 autism이 한국어에서의 '자폐'보다 부정적인 늬앙스가 훨씬 덜하단 느낌을 받는다. STEM 너드들이 본인이 autistic하다고 하는 경우를 종종 보는데, 자조적인 느낌이 좀 있지만 완전 딥다크한거 같진않고, 이분법적이기보단 스펙트럼으로 보는거 같다.

2
0

사람들이 잘 모르는 Markdown 명세 하나. CommonMark, 즉 표준 Markdown에서 URL은 자동으로 링크되지 않는다. 대부분의 Markdown 구현체들이 이를 옵션으로 지원하고, Markdown을 지원하는 웹사이트들이 이 옵션을 켜놓고 있기 때문에 모르는 사람들이 많다. CommonMark에서 URL이나 메일 주소를 링크하려면 <>로 주소를 감싸야 한다.

이를 잘 이용하면 URL의 앞 뒤에 띄어쓰기를 하지 않고도 링크를 걸 수 있다는 장점도 된다.

Hackers' Pub에 RSS 기능을 추가했습니다. 정확히는 RFC 4287, 일명 Atom 명세를 구현했습니다. RSS 디스커버리도 구현했기 때문에, Hackers' Pub 사용자의 프로필 페이지 링크를 RSS 앱에 추가하면 구독이 가능합니다. 확실한(?) 피드 링크를 알고 싶으시면 프로필 링크 뒤에 /feed.xml을 붙이시면 됩니다. 예를 들어, 제 피드 링크는 https://hackers.pub/@hongminhee/feed.xml입니다.

Linux용 RSS 앱인 Newsflash에서 Hackers' Pub의 한 사용자의 피드를 구독하여 읽는 모습

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

윈도를 맥처럼 - 맥의 CMD + 백틱키 단축키를 윈도에서 쓰기 (사용중 앱간 윈도우 전환)

Juntai Park @arkjun@hackers.pub

맥을 오랫동안 메인 개발머신으로 사용하다가 윈도를 다시 메인으로 사용한 지 1년째.

여러가지 단점에도 불구하고, 윈도11 + WSL (우분투) 환경에서의 개발이 나쁘지만은 않습니다. 물론 CMD 키도 없고, Ctrl 키를 이용한 복사 붙여넣기는 불편합니다만.

그럼에도 맥에 없는 윈도의 장점들이 맘에 들고, 윈도에 없는 맥의 장점들 또한 맘에 듭니다.

물론, 언젠가 또 맥을 다시 메인으로, 윈도를 서브로 쓰는 날도 오겠지요. 메인은 때로 상황에 따라 교체할 수 있음을 유연하게 생각해 두는 편입니다.[1]


사설이 길었는데, 제가 맥에서 자주 쓰는 단축키인 CMD + `(억음 악센트/백틱) 키 는, 사용 중인 앱의 전환을 시켜주는데, 가령 크롬 브라우저 창을 두 개 열었다면 단축키 사용시에 크롬 브라우저 창 간 전환을 시켜 줍니다.

맥에서 가장 많이 사용하는 단축키여서, 윈도에서 비슷한 역할을 하는 단축키를 열심히 구글링하여 찾아 보았으나 찾을 수 없었습니다.

그래서 AutoHotkey[2] 를 이용해 간단한 스크립트를 만들어서 사용하고 있습니다.

사실 완벽하게 동작하지는 않고, 개인적으로 쓰기에 적당히 만족하는 수준에서만 동작하는 코드라, 공유하기에 부끄럽기도 하고 코드도 초 간단합니다만,

  1. 누군가 맥에 익숙하지만 윈도도 쓰는 사용자에게 도움이 되는 마음과,
  2. Hackers’ Pub 의 부흥(?) 을 기원하면서.

해당 AutoHotKey 스크립트 코드를 공유합니다.

; Alt + 백틱 키를 눌렀을 때 실행되는 코드
; MacOS 의 CMD + ` (Backtick) 키로 동일 프로그램내 창전환을 윈도에서 구현. 
!`::
{
    focusedWindow := WinExist("A")
    if !focusedWindow
        return

    focusedPID := WinGetPID(focusedWindow)
    focusedPName := WinGetProcessName(focusedWindow)
    focusedClass := WinGetClass(focusedWindow)
    focusedTitle := WinGetTitle(focusedWindow)

    ; Get all windows of the same class and process
    windows := []
    for window in WinGetList()
    {

        if (WinGetPID(window) = focusedPID && WinGetTitle(window) != focusedTitle)
        {
            windows.Push(window)
        }
    }

    if (windows.Length > 1)
    {
        WinActivate(windows[2])

    } else if (windows.Length = 1) {
        WinActivate(windows[1])
    }
}

실행 방법은 위의 코드를 임의의 ahk 확장자를 가진 파일로 작성하여 AutoHotKey 로 실행시키면 끝입니다. AutoHotkey 를 통해 해당 스크립트를 실행파일 (exe) 로 컴파일 할 수도 있습니다.

덧) 과거에 이미 GitHub Gist 쪽에 공유해 놓기는 했습니다.

읽어주셔서 감사합니다.


  1. 사실 최근 윈도를 메인으로 쓰는 1년 동안, 중간에 간간히 맥을 메인으로 쓰기도 했습니다. ↩︎

  2. 오토핫키(AutoHotkey)는 윈도우에서 키보드 단축키 설정, 간단한 매크로 제작, 자동화 등을 목적으로 하는 무료 오픈 소스 기반의 스크립트 언어이다. 간단한 프로그램 제작에 특화된 직관적인 문법을 갖추고 있으며 마우스와 키보드 제어, 화면에서 이미지 검색, 윈도우 창 조작, 간단한 GUI 제작 등 언어의 목적에 맞는 기능이 내장되어 있다. 출처 : 나무위키 (https://namu.wiki/w/AutoHotkey) ↩︎

Read more →

洪 民憙 (Hong Minhee) replied to the below article:

윈도를 맥처럼 - 맥의 CMD + 백틱키 단축키를 윈도에서 쓰기 (사용중 앱간 윈도우 전환)

Juntai Park @arkjun@hackers.pub

맥을 오랫동안 메인 개발머신으로 사용하다가 윈도를 다시 메인으로 사용한 지 1년째.

여러가지 단점에도 불구하고, 윈도11 + WSL (우분투) 환경에서의 개발이 나쁘지만은 않습니다. 물론 CMD 키도 없고, Ctrl 키를 이용한 복사 붙여넣기는 불편합니다만.

그럼에도 맥에 없는 윈도의 장점들이 맘에 들고, 윈도에 없는 맥의 장점들 또한 맘에 듭니다.

물론, 언젠가 또 맥을 다시 메인으로, 윈도를 서브로 쓰는 날도 오겠지요. 메인은 때로 상황에 따라 교체할 수 있음을 유연하게 생각해 두는 편입니다.[1]


사설이 길었는데, 제가 맥에서 자주 쓰는 단축키인 CMD + `(억음 악센트/백틱) 키 는, 사용 중인 앱의 전환을 시켜주는데, 가령 크롬 브라우저 창을 두 개 열었다면 단축키 사용시에 크롬 브라우저 창 간 전환을 시켜 줍니다.

맥에서 가장 많이 사용하는 단축키여서, 윈도에서 비슷한 역할을 하는 단축키를 열심히 구글링하여 찾아 보았으나 찾을 수 없었습니다.

그래서 AutoHotkey[2] 를 이용해 간단한 스크립트를 만들어서 사용하고 있습니다.

사실 완벽하게 동작하지는 않고, 개인적으로 쓰기에 적당히 만족하는 수준에서만 동작하는 코드라, 공유하기에 부끄럽기도 하고 코드도 초 간단합니다만,

  1. 누군가 맥에 익숙하지만 윈도도 쓰는 사용자에게 도움이 되는 마음과,
  2. Hackers’ Pub 의 부흥(?) 을 기원하면서.

해당 AutoHotKey 스크립트 코드를 공유합니다.

; Alt + 백틱 키를 눌렀을 때 실행되는 코드
; MacOS 의 CMD + ` (Backtick) 키로 동일 프로그램내 창전환을 윈도에서 구현. 
!`::
{
    focusedWindow := WinExist("A")
    if !focusedWindow
        return

    focusedPID := WinGetPID(focusedWindow)
    focusedPName := WinGetProcessName(focusedWindow)
    focusedClass := WinGetClass(focusedWindow)
    focusedTitle := WinGetTitle(focusedWindow)

    ; Get all windows of the same class and process
    windows := []
    for window in WinGetList()
    {

        if (WinGetPID(window) = focusedPID && WinGetTitle(window) != focusedTitle)
        {
            windows.Push(window)
        }
    }

    if (windows.Length > 1)
    {
        WinActivate(windows[2])

    } else if (windows.Length = 1) {
        WinActivate(windows[1])
    }
}

실행 방법은 위의 코드를 임의의 ahk 확장자를 가진 파일로 작성하여 AutoHotKey 로 실행시키면 끝입니다. AutoHotkey 를 통해 해당 스크립트를 실행파일 (exe) 로 컴파일 할 수도 있습니다.

덧) 과거에 이미 GitHub Gist 쪽에 공유해 놓기는 했습니다.

읽어주셔서 감사합니다.


  1. 사실 최근 윈도를 메인으로 쓰는 1년 동안, 중간에 간간히 맥을 메인으로 쓰기도 했습니다. ↩︎

  2. 오토핫키(AutoHotkey)는 윈도우에서 키보드 단축키 설정, 간단한 매크로 제작, 자동화 등을 목적으로 하는 무료 오픈 소스 기반의 스크립트 언어이다. 간단한 프로그램 제작에 특화된 직관적인 문법을 갖추고 있으며 마우스와 키보드 제어, 화면에서 이미지 검색, 윈도우 창 조작, 간단한 GUI 제작 등 언어의 목적에 맞는 기능이 내장되어 있다. 출처 : 나무위키 (https://namu.wiki/w/AutoHotkey) ↩︎

Read more →

@bglbgl gwyng Donald Knuth의 이 격언이 생각나네요:

프로그래머들은 자신의 프로그램에서 중요하지 않은 부분의 속도에 대해 생각하거나 걱정하는 데 엄청난 시간을 낭비합니다. 이러한 효율성 추구는 디버깅과 유지보수를 고려할 때 오히려 큰 부정적 영향을 미칩니다. 우리는 작은 효율성에 대해, 즉 약 97%의 경우에는 잊어버려야 합니다. 조기 최적화는 모든 악의 근원입니다. 하지만 그 중요한 3%의 기회는 놓치지 말아야 합니다.​​​​​​​​​​​​​​​​

어렸을 때는 Smalltalk나 Lisp 같은 언어에 마음을 많이 빼앗겼는데 (아마도 당시 쿨한 언어였던 Python이나 Ruby의 영향…) Haskell을 접한 뒤로는 언어 취향이 아주 많이 바뀐 것 같다. 일단 동적 타입 언어를… 싫어하는 정도까진 아니지만, 쓰면서 불안함을 느끼게 됐다.