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
8
1
1
1
5
3
3
1
1
3
2
3
6
1
3
2
9

갑자기 불현듯 하이텔이나 나우누리 같은 옛날 PC통신이 떠올라서 난 한 번도 그 시절을 겪어본 적이 없었는데 어떤 느낌일까 싶어서 해보고 싶어가지고 검색 해봤는데 생각보다 쉽게 사설 BBS를 접속하는 프로그램을 찾아내서 탐방했음. 미국은 사설 BBS가 아직 명맥을 이어가는 것 같은데 국내 거는 사실상 멸종한 것 같다...여튼 하니깐 어릴 때 친구네집 펜티엄 컴퓨터 갖고 스치듯 했던 MS-DOS 갬성이 엄청 느껴져서 하는 내내 헤벌레 미소 지으면서 했다 ㅋㅋㅋ 나갈 때 작별인사 페이지도 따로 있어서 살짝 감동 먹음 🥹

참고로 사용한 프로그램은 MuffinTerm이고 애플 계열 기기에서 돌아간다 (아이패드 포함). 접속한 BBS는 8bit-boyz라는 미국 레트로 컴퓨팅 커뮤니티다.

8bit-boyz BBS 접속 사진
7

대학원 다닐 때 썼던 학술용 개인홈피 몇 주 전에 싹 다 뒤엎고 맘에 드는 블로그 테마 하나 포크해서 다시 만들고 있는데 포크한 리포가 Astro 프레임워크랑 타입스크립트로 쓰인 거다. 근데 난 자바/타입스크립트 둘 다 제대로 써보기는 커녕 강의도 들어본 적이 없어서 포스트도 하나 테스트로 쓸 겸 로컬 호스트로 띄워놓고 파일들 이것 저것 하나하나 건들면서 깨부하는 중...어차피 맛이 가도 나한테만 맛이 가니깐(??) 맘 편하게 하고 있다. 어릴 때 게임 파일 소스 코드나 .config 파일 갖고 이것저것 뜯어보는 느낌이 들어서 재밌음 ㅋㅋ

3
2

DDIA (Designing Data Intensive Application) 2판을 읽고 있다.

처음 빌딩블록 얘기부터 정리를 잘해주는듯..

DB: 데이터를 저장하여, 자신 또는 다른 애플리케이션이 나중에 다시 찾을 수 있도록 한다 (데이터베이스)

Cache: 비싼 연산의 결과를 기억하여 읽기 속도를 높입니다 (캐시)

Index: 사용자가 키워드로 데이터를 검색하거나 다양한 방법으로 필터링할 수 있도록 허용합니다 (검색 인덱스)

Stream: 이벤트와 데이터 변경이 발생하는 즉시 처리합니다 (스트림 처리)

Batch: 주기적으로 축적된 많은 데이터를 분석합니다 (배치 처리)

4

동일한 DB 스키마를 사용하는 4개의 프로젝트를 만들었다. UI 컴포넌트가 공통적으로 겹치는 부분도 있어서 이참에 Monorepo 구성을 검토했다가 (ChatGPT와 Claude의 답변 최우선순위도 Monorepo 구성으로 추천받았다) 결론적으로는 Private Package Registry를 사용해서 패키지 공유해서 쓰는 쪽으로 방향을 잡았다.

1
1
1
1
1

살짝 다른 차원에서 확장해서 바라보는 얘기이긴 한데 그냥 첨언하자면 언어학의 하위 분야인 화용론에서 전제(Presuppositions)라는 주제랑 연결되는 것 같네요. 댓글에 프랑스 왕은 머머리다 예문도 써주신 걸 보니 더욱 더 그런 것 같고요. 간단하게 설명드리자면, 일단 한국어 예문으로 하면 살짝 오해의 소지가 있어[1] 영어 예문을 갖고 쓰면 다음과 같이 생각해볼 수 있습니다.

  • P: The King of France is bald.[2]
  • Q: There exists an entity that is King of France.

이 때 P의 명제가 참일 수 있는 이유는 Q를 전제로 깔고 가기 때문입니다. 이렇게 Q를 전제로 갖고 가면 P에 부정을 넣어도 (The King of France is not bald 혹은 ¬(The King of France is bald)) 여전히 그 명제는 참입니다. 하지만 실제 현실에서 Q는 거짓입니다. 왜냐하면 오늘날 프랑스는 군주국가가 아니니깐요. 그럼에도 불구하고 P는 여전히 참을 진리값으로 가지죠.

따라서 실제로 전제를 이렇게 정의하기도 합니다 (Levinson, 1983, p. 175).

  • A sentence P sematically presupposes a sentence Q iff:
  • (a) P ⊨ Q
  • (b) ~P ⊨ Q

참고로 여기서 "⊨"는 "함의한다"를 지칭하는 기호입니다 (예: "하스켈은 함수형 언어다."란 문장은 "하스켈은 언어다"란 걸 함의하죠.).

그렇다면 Q가 전제되는 건 알겠는데, 이 진리값이 무엇이느냐에 대한 질문이 생길 수 있습니다. 이에 대해서 언어학자들은 보통 크게 두 가지로 봅니다. 하나는 참으로 간주하는 거고, 다른 하나는 참도 거짓도 아니다라고 보는 거죠. 전자같은 경우엔 어떻게 보면 기계적으로 바라보는 거고, 후자의 경우엔 참/거짓이라는 기존 이치논리(two-valued logic) 혹은 1 또는 0으로 하는 불 논리에서 확장해서 Kleene의 삼치논리(three-valued logic)로 가게 되죠.

참고로 전제 성립 여부 포함 화용론 전체에서 깔고 가는 가장 큰 가정이 하나 있는데, 이 경우에는 바로 해당 발화(utterance) P, 즉 '프랑스왕은 머머리다'라는 명제가 이루어질 때 화자와 청자가 프랑스에는 왕이란 개체가 존재한다(=Q)라고 암묵적으로 서로 동의한다라는 가정입니다.


  1. 사실 문제가 영어 관사 'The'에서 시작되기 때문이라서 그렇습니다. ↩︎

  2. 논리형으로 치환하면 다음과 같습니다: ∃x(KoF(x) & ∀y(KoF(y) → y=x) & Bald(x)) where KoF stands for "King of France". ↩︎

5
10
6
0
3
4

클라우드플레어가 원래 캐시를 하는 CDN이다 보니(근거없음) 터널을 주로 로컬 디버깅 용도로 사용하면 각종 캐시 문제에 맞닥뜨리긴 하는데 그치만 무료면서 커스텀 도메인 연결이 되는 터널링 서비스를 이거 말고는 못 찾았어요

2

하스켈 쪽에는 《Finding Success (and Failure) in Haskell》이라는 책이 있습니다. 이 책에서는 크게 다음과 같은 타입을 소개합니다.

  • Maybe의 한계를 극복한 Either.
  • Either의 한계를 극복한 Validate.
6
8

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

Hello... New World?

Caipira @caipira113@hackers.pub

This inaugural post marks the author's debut on Hackers' Pub. It likely introduces the author's interests and intended contributions to the community. The post sets the stage for future technical discussions and insights the author plans to share. It serves as an introduction, inviting readers to follow along and engage with the author's upcoming content.

Read more →
2
0
1

어떤 조건문을 만족하는 원소의 집합을 QQ 라고 해봅시다
그럼 QQ의 임의의 부분집합 PP 의 원소는 QQ의 원소이므로, 그 조건문을 만족할 겁니다
이 때, 공집합\empty은 모든 집합의 부분집합이죠?
따라서 공집합의 원소는 모든 조건문을 만족합니다

공허한 참(Vacuous truth)은 사실 좀더 포괄적인 개념입니다
가정이 거짓이면 명제는 항상 참이다라는 개념입니다
공허한 참이라고 부르니 어렵게 느껴지죠?
저는 항상 한국어 한정으로 '니 말이 진짜면 내일 해가 서쪽에서 뜨겠다' 참으로 이름을 바꿔야한다고 주장해왔습니다
가정(니 말)이 거짓이니 결론(해가 서쪽에서 뜨는 것)이 참이든 거짓이든 명제는 참이 되죠

이걸 공집합의 원소는 모든 명제를 만족한다 에 적용시켜볼까요?
이 명제를 좀더 조건문처럼 쓰기 위해 만약 (가정)이라면 (결론)이다 형태로 바꿔보죠
그럼 a가 공집합에 포함된다면, a는 모든 명제를 만족한다 가 됩니다
그런데, a가 공집합에 포함된다 는 거짓이죠?
따라서 해당 조건문은 가정 자체가 거짓인 공허한 참입니다

4

Upyo 0.3.0: Multi-provider resilience and deployment flexibility

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub

Upyo 0.3.0 introduces three new transports designed to enhance email delivery capabilities and reliability. The update focuses on multi-provider support and flexible deployment options. The new pool transport, via the `@upyo/pool` package, combines multiple email providers with routing strategies like round-robin, weighted distribution, and priority-based routing, ensuring high availability and cost optimization. Additionally, the `@upyo/resend` package integrates Resend, an email service provider known for its developer-friendly approach and intelligent batch optimization. For those needing self-hosting options, the `@upyo/plunk` package supports Plunk, offering both cloud-hosted and Docker-based self-hosted deployments. These new transports maintain Upyo's consistent API design, ensuring they can be easily integrated into existing workflows. This release expands Upyo's utility by providing more robust and adaptable email delivery solutions.

Read more →
3

재미 삼아, Cairo를 백엔드로 하는 쉽게 그래픽 처리를 할 수 있는 간단한 언어를 하나 만들고 있다.

전체적으로 Lua나 Visual Basic에게 영감을 받아 쉽게 읽을수 있는 문법을 가지게 만들려고 생각중이다.

demo for image drawingdemo for general purpose computing
3

https://github.com/bglgwyng/nix-x-cabal

한달간의 삽질끝에 Nix + Haskell 빌드 프레임워크를 완성했다. 늘 Nix, Haskell에 기여하고 싶었지만, 솔직히 이걸 내가 직접해야하는 상황이 올줄은 몰랐네. Nix 디버깅하느라 정말 개고통이었다..

4
2
0