마인크래프트에서 해서는 안 되는 게 딱 두 개 있는데, 하나는 머리 위를 캐는 거고, 다른 하나는 발 밑을 캐는 거야

박준규
@curry@hackers.pub · 304 following · 156 followers
darcs hub
- hub.darcs.net/vincent
Hackage
- hackage.haskell.org/user/JoonkyuPark
@chalk 안녕하세요. 위를 캐면 무슨 일이 벌어지나요?
@bglbgl gwyng 근데 암묵지는 암묵지라서 스스로 인식하기 어렵다고 하더라고요. 암묵지를 이끌어내는 전문가들이 따로 있다고 들었어요.
@hongminhee洪 民憙 (Hong Minhee)
@bglbgl gwyng 지나가다 관심 있는 주제가 보여 의견을 드려보아요. 사실 전문가가 전문성을 발휘하는 데에는 암묵지가 많아도 문제가 없는데, 전문성을 남에게 설명하거나 교육해야 할 때에는 어려움을 크게 높이는 요소가 됩니다. 그래서 홍님이 말씀하신 암묵지를 이끌어내는 전문가들은 인지 작업 분석(CTA) 같은 기법을 사용하기도 하는데요. bgl 님이 멘토링을 하고 계신다는 걸 보면 이미 어떤 식으로든 교육을 위해 암묵지를 많은 부분 명시지화 하셨을 것 같기도 해요. 물론 홍님 말대로 암묵지는 암묵지인 것일 수도 있겠지만요. 😅
박준규 shared the below article:
나만의 연합우주 마이크로블로그 만들기

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
이 튜토리얼은 Fedify를 사용하여 ActivityPub 프로토콜을 구현하는 마이크로블로그를 만드는 과정을 안내합니다. Fedify는 연합 서버 앱 개발의 복잡성을 줄이고, 개발자가 비즈니스 로직에 집중할 수 있도록 돕는 TypeScript 라이브러리입니다. 튜토리얼에서는 Node.js, npm, Hono 등의 개발 환경을 설정하고, SQLite 데이터베이스를 구축하여 계정 생성, 프로필 페이지, 액터 구현, 암호 키 관리, 팔로우 기능, 게시물 작성 및 타임라인 구현 등 마이크로블로그의 핵심 기능을 단계별로 구현합니다. 특히 ActivityPub.Academy 서버를 활용하여 실제 연합우주 환경에서의 연동을 테스트하고, Mastodon과의 호환성을 확인합니다. 마지막으로, 보안 및 기능 개선을 위한 추가 과제를 제시하며, 독자가 프로젝트를 확장할 수 있도록 안내합니다. 이 튜토리얼을 통해 독자는 Fedify를 활용하여 ActivityPub 기반의 분산 소셜 네트워크 서비스를 구축하는 기본적인 이해를 얻을 수 있습니다.
Read more →OX 테스트 당신은 책중독자인가?

박준규 @curry@hackers.pub
이 글은 톰 라비의 《어느 책중독자의 고백》을 인용하여 독자가 스스로를 "책중독자"로 진단해볼 수 있는 간단한 OX 테스트를 제공합니다. 모르고 같은 책을 두 번 산 적이 있는지, 표지 디자인만 보고 책을 구매한 적이 있는지 등 10가지 질문을 통해 독자 스스로가 책에 대한 애정을 어느 정도 가지고 있는지 되돌아보게 합니다. 이 테스트는 가벼운 마음으로 자신의 독서 습관을 재미있게 평가해보고, 책에 대한 애정을 다시 한번 확인하는 계기를 마련해줍니다.
Read more →@bglbgl gwyng 생각해보니 그런 것 같습니다. 역시 손발이 튼튼하면 머리가 고생을 안 한다!
@hongminhee洪 民憙 (Hong Minhee)
@bglbgl gwyng 하스켈에 손 댄 순간부터 청개구리
회사에서 한컴오피스 한글만 안 써도 Windows 안 쓸 수 있을 것 같은데...
박준규 shared the below article:
How to pass the invisible

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
This post explores the enduring challenge in software programming of how to pass invisible contextual information, such as loggers or request contexts, through applications without cumbersome explicit parameter passing. It examines various approaches throughout history, including dynamic scoping, aspect-oriented programming (AOP), context variables, monads, and effect systems. Each method offers a unique solution, from the simplicity of dynamic scoping in early Lisp to the modularity of AOP and the type-safe encoding of effects in modern functional programming. The post highlights the trade-offs of each approach, such as the unpredictability of dynamic scoping or the complexity of monad transformers. It also touches on how context variables are used in modern asynchronous and parallel programming, as well as in UI frameworks like React. The author concludes by noting that the art of passing the invisible is an eternal theme in software programming, and this post provides valuable insights into the evolution and future directions of this critical aspect of software architecture.
Read more →주말에 튜사 모각코하실분 있나요~
뭔가를 잘 설명하는 방법에 대해 생각해봤는데. 일단 내가 어떤 내용을 말하고 싶은 욕구를 참아내야다. 어떤 재치있는 비유를 꼭 써야겠다거나, 아니면 '통찰'을 전달하고 싶다거나.
대신 상대방의 무지에 공감해야한다. 그 무지란게, 많은 경우 진짜 멍청해서 그런게 아니라, 대충 얼개는 파악하고 있음에도 뜬금없는 부분에서 뜬금없는 오해를 하고 있어서 완전한 이해를 막는다거나 하는 경우가 많다. 그래서 그 귀여운 멍청을 함께 디버깅해야한다. 요게 지식뿐만 아니라 공감능력이 필요한 부분.
@bglbgl gwyng 하, 내가 말하고 싶은 욕구 어떻게 참죠?
오늘 올라온 그알싫 리명박근혜스쿨 댓글공작 3편 말미에 NED(National Endowment for Democracy, 전미 민주주의 기금)이 극우단체로 유입되었을 가능성 이야기가 나옵니다. 아마 99% 맞을겁니다. 왜냐하면 제가 예전에 국민의힘, 당시엔 자유한국당이었죠. 지역 조직에서 미국 정부가 운영하는 인권, 민주주의 등등의 지원 사업에 당원을 동원해서 신청을 넣고, 자금을 받아온다는 실무자의 거의 확실한 증언을 입수한 적이 있기 때문입니다 -_-
@strikefreedom권용현 어서 오세요! 아이디는 건담 기체 이름인가요!
Hackers' Pub에 로그인한 상태에서의 타임라인 구성을 조금 바꿔봤습니다. 기존의 “연합우주” 탭을 “피드”라고 수정했고, “연합우주” 탭과 “Hackers' Pub” 탭은 기본적으로 로그아웃했을 때의 “연합우주” 및 “Hackers' Pub” 탭과 동일한 타임라인이 표시되게 했습니다. 아직 팔로를 많이 하지 않은 분들에게는 “연합우주” 및 “Hackers' Pub” 타입라인이 새로운 콘텐츠를 발견하기 좋은 공간이 될 겁니다.
오오, 여기 하스켈 글도 많아! https://zenn.dev/topics/haskell
웹핑거 사이트에 하스켈 클라이언트 링크를 추가하는 PR을 제출했다. PR은 바로 머지(merge) 되었는데 배포에 이슈가 있어서 아직 사이트에 반영되지는 않았다.
이슈가 해결되었다! 이제 웹핑거 사이트에 하스켈 클라이언트가 보인다.
회사 근처 알라딘에 가서 다음과 같이 책 두 권을 샀습니다.
- 로버트 A. 하인라인, 안정희, 《달은 무자비한 밤의 여왕》
- 앤디 위어, 남명성, 《아르테미스》
웹핑거 사이트에 하스켈 클라이언트 링크를 추가하는 PR을 제출했다. PR은 바로 머지(merge) 되었는데 배포에 이슈가 있어서 아직 사이트에 반영되지는 않았다.
그리고 하스켈 클라이언트 예제 코드에 해커즈 퍼브 주소를 은근히 적어 넣었다!(깨알 광고)
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Data.Default
import Web.Finger.Client
query :: Query
query = def { qryTarget = resource }
where
resource = ResAccount (Account "curry" "hackers.pub")
main :: IO ()
main = do
manager <- newManager
result <- webfinger manager query
print result
웹핑거 사이트에 하스켈 클라이언트 링크를 추가하는 PR을 제출했다. PR은 바로 머지(merge) 되었는데 배포에 이슈가 있어서 아직 사이트에 반영되지는 않았다.
LogTape에 RFC 5424 구현중…인데, 그런데 요즘 syslog 자체를 잘 안 쓰나?
@hongminhee洪 民憙 (Hong Minhee) 방화벽 같은 제품에서 쓰는 그 syslog 맞죠? syslog 많이 씁니다.
오늘 떡볶이가 정말 먹고 싶은 날인데, 맛있는 떡볶이 집을 알고 계신 전문가 구합니다. 일단 생각나는 두 분이... 👀 @kodingwarriorJaeyeol Lee
@joonnotnotJoon
청와대 8월에 닫는다던데 청와대는 예약 따로 안 하고 가도 구경할 수 있나요?
국내 보안업체도 털렸다네
기자가 업체 털었다는 해커에게 접촉해서 인터뷰 한 점이 참된 기사로 느껴짐
https://www.dailysecu.com/news/articleView.html?idxno=166946
@ll4g1 안녕하세요! 해커즈 퍼브에서는 Graphviz도 지원합니다!
Hackers' Pub에서 DOT 언어(Graphviz)로 다이어그램 그리기
Hackers' Pub에 숨겨진 유용한 기능, 바로 Graphviz DOT 언어 지원에 대해 알아봅니다. 이 기능을 사용하면 복잡한 다이어그램을 간단하게 Markdown 코드 블록 안에 DOT 언어로 기술하여 표현할 수 있습니다. 특히 `graphviz` 언어 태그를 사용하여 ActivityStreams 데이터 전송 과정을 시각적으로 나타낼 수 있습니다. 서버 간의 상호작용을 명확하게 보여주는 다이어그램을 통해, 독자는 Mastodon과 Hackers' Pub 서버 간의 데이터 흐름을 쉽게 이해할 수 있습니다. 이 기능은 긴 게시글뿐만 아니라 짧은 글에서도 유용하게 활용될 수 있으며, 기술적인 내용을 시각적으로 표현하고자 하는 사용자에게 큰 도움이 될 것입니다.
hackers.pub · Hackers' Pub
Link author: 洪 民憙 (Hong Minhee)@hongminhee@hackers.pub
DRM 깨고 개인소장하는 걸 합법화 해주세요
대신 그렇게 해서 배포하거나 관리가 부실해서 유출되면 책임은 당연히 지는거고
@jarm정아름 출판사 Manning에서 책을 살 때 DRM 없는 PDF를 고를 수 있고 이렇게 산 PDF에 제 메일 주소가 하단에 찍히는데 좋은 방법인 것 같습니다.
하스켈북의 저자에게 다음 책이 언제 나오냐고 물었더니 아이 넷 육아를 하느라 바빠서 계획이 없다고 한다. 아이가 넷이라니!(아이가 셋인 사람이 하는 소리) https://x.com/theodorvaryag/status/1933303607362715941
@maxwellEunsoo Eun 바로 시작하시죠! 여기 하스켈 코드 나갑니다! :)
main = putStrLn "Hello, Haskell!"
@maxwellEunsoo Eun Haskell Playground에서 코드를 실행해볼 수 있습니다.
자기소개를 게시글로 올렸군요...그나저나 요약된 게 상당히 재밌네요 하하 하스켈 언젠가는 꼭 배워보고싶다
@maxwellEunsoo Eun 바로 시작하시죠! 여기 하스켈 코드 나갑니다! :)
main = putStrLn "Hello, Haskell!"
@curry박준규 네, 대시보드에서 계정이 사라집니다. 글도 사라지고요. 따라서 삭제하기 전에 데이터베이스를 백업해 두시는 길 권합니다.
@hongminhee洪 民憙 (Hong Minhee) 제 홀로 계정을 제거했습니다.(
@hollo@joonkyu.site
) 계정 삭제가 자주 발생하는 이벤트는 아닐 것 같은데 혹시 참고하실 게 있을까 싶어 말씀드립니다!
@curry박준규 서버 내리기 전에 해당 계정을 삭제 처리 해주셔야 합니다! 그래야
Delete(Person)
액티비티가 다른 서버들한테 전달되어서 삭제된 계정이라는 걸 알 수 있어요.
@hongminhee洪 民憙 (Hong Minhee) 계정 삭제 시
Delete(Person)
액티비티가 전달되는 것말고 어떤 일이 벌어지나요? 홀로 대시보드에서 해당 계정이 아예 볼 수 없게 사라지나요? 아니면 기존 글은 남아 있나요?
@arkjunJuntai Park
@curry박준규 일란성 쌍둥이인가요?
@bglbgl gwyng
@arkjunJuntai Park 이란성 쌍둥이입니다. 아직 생후 6개월이 안 됐는데 생긴 것도 다르고 성격도 다르고 많이 달라서 저도 신기합니다.
- 중국어를 전공했습니다.
- 전역하자마자(금요일 전역, 월요일 출근) 강원도에서 제약 영업을 1년 4개월 정도 했습니다.
- 컴퓨터 학원을 1년 정도 다니면서 정보보안 스터디를 했습니다.
- 이때 Python, C, Java순으로 프로그래밍을 처음 접했습니다.
- 정보보안 관제 회사에서 고객사에 파견 나가 악성코드 대응 업무를 4년 정도 했습니다.
- 이때 개발자가 되고 싶어서 C++ 코리아 스터디에 몇 번 참석했는데 여기서 운명의 ‘모나드’라는 단어를 처음 접하고 하스켈 공부를 시작했습니다.
- 기업에서 정보보안 담당자 7년 차로 일하고 있습니다.
- 코딩은 취미로 하거나 혼자만 하는 소소한 업무 자동화에 활용하고 있습니다.
- 풀타임 개발자와 오픈소스 메인테이너의 삶을 동경하고 있습니다.
- 주로 Windows에서 Putty로(80x24, Consolas) 리눅스 서버에 붙어서 Vim을 사용합니다. Visual Studio Code를 잠깐 써봤는데 다시 Putty로 돌아왔습니다.
- 집에서는 몇 년 전 중고로 산 MacBook Air M1을 사용하고 있습니다.
- 회사에서는 몇 년 전 중고로 산 HHKB를 씁니다.
- 30대 후반, 기혼, 자녀는 셋(둘째와 셋째는 쌍둥이) 있습니다. 경기도에 살고 있습니다.
- 하스켈은 특별히 애정하기 때문에 Haskell이라 적지 않고 하스켈이라 적었습니다.(는 사실 아니고 다 쓰고 나서 뒤늦게 깨달음)
- 자녀의 성별은 모두 여성입니다.(딸부자)
- 중국어를 전공했습니다.
- 전역하자마자(금요일 전역, 월요일 출근) 강원도에서 제약 영업을 1년 4개월 정도 했습니다.
- 컴퓨터 학원을 1년 정도 다니면서 정보보안 스터디를 했습니다.
- 이때 Python, C, Java순으로 프로그래밍을 처음 접했습니다.
- 정보보안 관제 회사에서 고객사에 파견 나가 악성코드 대응 업무를 4년 정도 했습니다.
- 이때 개발자가 되고 싶어서 C++ 코리아 스터디에 몇 번 참석했는데 여기서 운명의 ‘모나드’라는 단어를 처음 접하고 하스켈 공부를 시작했습니다.
- 기업에서 정보보안 담당자 7년 차로 일하고 있습니다.
- 코딩은 취미로 하거나 혼자만 하는 소소한 업무 자동화에 활용하고 있습니다.
- 풀타임 개발자와 오픈소스 메인테이너의 삶을 동경하고 있습니다.
- 주로 Windows에서 Putty로(80x24, Consolas) 리눅스 서버에 붙어서 Vim을 사용합니다. Visual Studio Code를 잠깐 써봤는데 다시 Putty로 돌아왔습니다.
- 집에서는 몇 년 전 중고로 산 MacBook Air M1을 사용하고 있습니다.
- 회사에서는 몇 년 전 중고로 산 HHKB를 씁니다.
- 30대 후반, 기혼, 자녀는 셋(둘째와 셋째는 쌍둥이) 있습니다. 경기도에 살고 있습니다.
해커즈 퍼브에 사람이 많아져서 더 이상 일일히 모든 사람을 내 홀로(Hollo) 계정에서 팔로우 할 수 없게 됐다. 마침 레일웨이 구독 비용도 생각보다 많이 나와서 구독을 해지했다. 최소 비용 5 달러는 이미 결제했기 때문에 6월 22일까지는 계정을 유지할 수 있을 것 같은데 그 전에 백업을 잊지 않고 해야겠다.(글이 많진 않지만 그냥 없애기는 아쉽다.) 서비스 종료된 인스턴스의 핸들을 멘션하면 무슨 일이 벌어질까? 발신자 인스턴스에만 글이 남게 되는 걸까?
프로그래밍 입문… 저는 AUTOEXEC.BAT을 수정하면서 코딩 비슷한 걸 시작한 것 같아요. 주로 아버지가 짜 둔 MS-DOS 배치 파일을 고치면서 놀았었고, 나중에는 90년대 말에 개인 홈페이지 붐이 오면서 HTML을 다루기도 했습니다. 게시판을 붙이고 싶어서 Perl을 조금 배웠고, 금방 PHP로 넘어가서 제대로 된 프로그래밍을 시작하게 됐네요. (“제대로 된”이라고 하는 이유는 그 전까지는 반복문을 다루지 못했기 때문에.) 그 뒤로 중학생이 된 뒤로는 JavaScript를 배웠고, 고등학생 때는 C/C++와 Python, Ruby 같은 걸 배웠던 것 같습니다.
@hongminhee洪 民憙 (Hong Minhee) 하스켈은 언제 나오나요?
평소에 함수형 언어 매니아들이 주장하는만큼 이펙트를 엄격하게 구분하는게 중요하다곤 생각안했는데, local first 앱을 만들다가 네트워크 요청을 포함한 IO와 그렇지 않은 IO를 구분해야하는 이유를 찾았다. 앱의 초기화 로직에 네트워크 요청이 숨어있으면 API 서버 장애시 앱이 아예 안켜지는 문제가 있다. 방금 이거랑 관련된 버그 찾느라 시간을 많이 썼다.
@bglbgl gwyng 사이드 이펙트에 자비를 베풀면 안 됩니다.
해커즈 퍼브 저장소를 딥위키에 넣어 봤다! https://deepwiki.com/hackers-pub/hackerspub
한동안 Hollo를 이용했는데 하스켈 코드 쓰러 잠깐 마음의 고향 해커즈 퍼브에 왔습니다.
welcome :: IO ()
welcome = do
putStrLn "Welcome to Hackers' Pub"
welcome
레일웨이가 터졌나! https://railway.app/
‘그냥 tryAny
쓰면 예외는 다 잡을 수 있는 거 아닌가? 왜 ResourceT
를 써야 하지?’라고 생각했는데 찾아보니 tryAny
로는 비동기 예외를 잡을 수 없다고 한다.
writeGreetingSafeAttempt :: IO ()
writeGreetingSafeAttempt = do
dir <- getDataDir
h <- IO.openFile (dir </> "greeting.txt") WriteMode
_ <- tryAny do
IO.hPutStrLn h "hello"
IO.hPutStrLn h "world"
IO.hClose h
@dansup I'd like to list up my instance hackers.pub on FediDB, but how could I do that?
오늘 자기 전에 Hollo 설치하자!
Hollo 설치했습니다! 핸들은 @hollo
오늘 자기 전에 Hollo 설치하자!
액티비티퍼브에 Place
가 있어서 사람들이 위치 공유도 하고 장소에 ‘좋아요’도 누르듯이 Book
도 있으면 재밌겠다. 사람들이 좋아하는 책에 ‘좋아요’도 누르고 서로 연결도 시켜주고!
액티비티퍼브에 Place
가 있어서 사람들이 위치 공유도 하고 장소에 ‘좋아요’도 누르듯이 Book
도 있으면 재밌겠다. 사람들이 좋아하는 책에 ‘좋아요’도 누르고 서로 연결도 시켜주고!