https://djot.net/ djot이라고 Markdown 개발자가 Markdown의 문제점을 고쳐서 내놓은 마크업 언어이다. 이러고보니 Deno같군.
bgl gwyng
@bgl@hackers.pub · 99 following · 123 followers
GitHub
- @bglgwyng
@bglbgl gwyng 제가 알기로는 Markdown 만든 사람은 아니고 Pandoc 제작자이자 CommonMark 스펙 공동 저자이신 분이예요!
https://djot.net/ djot이라고 Markdown 개발자가 Markdown의 문제점을 고쳐서 내놓은 마크업 언어이다. 이러고보니 Deno같군.
SolidJS로 앱 만들다가 아이콘셋이 필요해져서 패키지를 뒤져보는데, 마이너 생태계답게 마지막 업데이트가 삼사년 전인 패키지들만 나온다. 아이콘셋에 업데이트가 필요 없긴 하지. 그래도 최근에 업데이트 된 패키지가 걸리적거리는게 없을 것 같달까. 그러다 활발히 업데이트 중인 unplugin-icons를 찾았다. 이것은 SolidJS용 패키지가 아니었다. 아이콘셋도 아니었다. 거의 모든 아이콘셋을 거의 모든 프레임워크에서 사용할 수 있게 해주는 도구다. 이런 문물이 있었다니. 누가 만들었나 함 보자. 제작자는 Anthony Fu... 아아 또 그인가. 오늘도 비 React 웹 생태계엔 Anthony Fu의 은혜가 넘친다.
@hongminhee洪 民憙 (Hong Minhee) 기대하겠습니다!
(최근에 직장을 옮겨 풀타임 근무를 시작함)
새 동료들과 이야기하다 함수형 언어 이야기가 나왔는데, 밈에 불과한 이야기만 나와서(함수형 언어 사용자들의 컬트스러움 등) 좀 아쉬웠다. 답답하거나 짜증난다기 보단, 빨리 그부분을 스킵하고 진짜 재밌는 이야기로 넘어갔으면 하는 생각이 들었다. 다행히 동료들이니 앞으로 이야기할 기회가 아주 많을 것이다.
불변성, 사이드이펙트 없음, 아름다움(?) 추구 등의 이야기가 나왔는데, 물론 다 함수형 언어와 관계있지만 본질적인건 아니다. 내게 함수형 언어는 코드를 조합하는 방법을 연구하고, 조합이 잘되는 코드를 짜는걸 실천하는 것이다. 이를 통해 많은 것을 공짜로 안전하게 얻는 것이 목표이다. 그래서 '함수형'의 칭호를 부여받지 못한 방법론들은(ex: 상속), 그냥 해보니까 조합성에 한계가 있어서, 설계를 구성하는 근본적인 요소로 포함시키기에 부적절하다고 결론이 내려졌을 뿐이다. 그럼... 그냥 좋은 방법들을 엄선해놓은게 함수형인가? 그럴지도? 다함께 좋은거 합시다.
LLM들한테 JSON 출력을 시킬때마다 이스케이핑하느라 얼마나 머리아플까 걱정되고 안쓰럽다.
나는 옷에 별관심 없어가지고 롱패딩 시즌이 은근히 기다려진다
내 글만 볼 수 있는 my 버튼을 추가했습니다.
새로운 반응이 생긴 글들은 알림을 표시합니다.
yearit.com
@lionhairdino 멋져요!
내 글만 볼 수 있는 my 버튼을 추가했습니다.
새로운 반응이 생긴 글들은 알림을 표시합니다.
yearit.com
개인 맵 Private map을 가질 수 있고, 연인, 가족이나, 지도를 공유하면 좋은 동호회(낚시, 캠핑, 라이딩...) 분들이 공유할 수 있는 맵으로 쓸 수도 있습니다.
맵에 아무나 읽을 수 있는 권한을 주고, 블로그나, 회사 페이지 등에도 임베드할 수 있습니다.
아직은 UI가 심히 엔지니어 손 맛인데, 계속 고민하고 있습니다.
국산 leksah 가 나오는 건가요!
@bglbgl gwyng
@lionhairdino 그냥 넋두리이니 너무 신경쓰지마십시오ㅋㅋ
코드에디터 만들고싶다..
It looks like a new minor release of #Hollo (v0.7.0) will be out soon, the first in several months.
Hackers Public @ Seoul 송년회 ---- 2025년의 마지막을 해커들과 함께해요.
Hackers' Public @ Seoul 송년 네트워킹 밋업은 발표보다 대화, 형식보다 연결을 중심으로 진행됩니다. 라이트닝 토크도 지원받습니다. 만들었던 것·배운 것·고민했던 이야기를 자유롭게 얘기해보도록 해요.
많은 관심 부탁드립니다~
- 🗓 12/21(일) 14:30~18:30
- 🎤 라이트닝 토크 5분 자유 참여
- 📌 1차 모집: 11.26~12.5 (회원 대상)
- 신청하기 👉 https://event-us.kr/hackerspubseoul/event/117468
bgl gwyng shared the below article:
도커로 구축한 랩에서 혼자 실습하며 배우는 네트워크 프로토콜 입문 #4
자손킴 @jasonkim@hackers.pub
이 글은 네트워크 계층과 애플리케이션을 연결하는 L4 전송 계층의 핵심 개념을 소개합니다. 포트 번호를 통해 애플리케이션을 식별하고, UDP와 TCP 프로토콜의 특징과 패킷 형식을 설명합니다. UDP는 실시간성을, TCP는 신뢰성을 중시하며, TCP는 3-way handshake로 연결을 설정하고, 흐름 제어, 혼잡 제어, 재전송 제어를 통해 데이터 전송을 관리합니다. 특히 TCP 커넥션의 상태 전이 과정과 4-way handshake를 통한 연결 종료 과정을 상세히 다룹니다. 이 글을 통해 독자는 L4 전송 계층의 작동 방식과 TCP의 신뢰성 있는 데이터 전송 메커니즘에 대한 깊이 있는 이해를 얻을 수 있습니다.
Read more →요즘 AI 수학자/과학자를 만들겠다는 스타트업들이 생기고있는데, 멤버들도 빅테크 출신에 쟁쟁하고 투자도 크게 받는 등 절대 장난같은건 아니다. 그치만 의문이 드는건 피할수가 없는데... 만약에 AI 사업가를 만드는 스타트업을 세워서 VC를 찾아가면, '...그냥 직접 비즈니스를 하시죠?'라고 할게 당연하지 않나. AI 수학자/과학자를 만드는 스타트업도 비슷한 느낌이다. 그냥 연구 결과 낸다음 빅테크 인수될 계획이라고 하면 할말은 없다만.
요즘 새로운 프로젝트를 진행중이다.
많은 언어들의 많은 패키지 매니저들이, 패키지에 대한 테스트를 돌릴 방법은 제공하면서(npm test 등) 막상 그 패키지 레포를 클론떴을때 그 패키지를 사용하는 아무 예제나 실행시켜볼 쉽고 통일된 방법은 잘 제공 안하는 거 같다. 가령 examples/*의 코드들을 실행시킬 방법은 npm 패키지들마다 제각각이다. 왓더??
@hongminhee洪 民憙 (Hong Minhee) 어떻게 하면 compile time에 metaprogramming의 안전성을 검사할 수 있는가에 대해 좀 학문적인 관점에서 발표할 예정입니다.
@ailrunAilrun (UTC-5/-4)
@hongminhee洪 民憙 (Hong Minhee) 사실 예전에 말씀하신 연구 주제를 처음 들었을때, 쓸모가 확 와닿지 않았어요. 메타프로그래밍을 그냥 CPP 매크로 정도로 생각해서, 그걸 굳이 타입안전하게 해야하나?라고 속으로 생각했는데요. 점차 메타프로그래밍이 생각보다 훨씬 흔한 패턴이란걸 알게됐단 말이죠. 두 프로그램의 상호작용을 기술하거나, Nix에서 쉘스크립트를 다루거나 할때요. 그러면서 그 연구 주제의 중요성을 점점 느끼고 있는 중이에요.
청중이 정확히 어떤 그룹인지는 모르겠지만, 어쩌면 그분들이 저와 비슷한 첫 인상을 가질수 있단 생각이 드네요. 그래서 그런 오해를 피할수 있도록 연구의 응용처를 소개하는데 충분한 시간을 할당하시는게 좋지 않을까 생각이 듭니다.
Optique 發表 資料 아직도 만드는 中… 이걸 이렇게 며칠씩 붙잡고 있는 게 말이 되나…
그나저나 Slidev는 소프트웨어 프로그래머를 爲한 정말 잘 만든 發表 슬라이드 作成 소프트웨어 같다. 特히, 슬라이드에 TypeScript 코드를 꽤 包含해야 하는 發表 資料를 만든다면 Slidev를 使用해 볼 것을 勸한다. Twoslash가 支援된다…!
꼭 TypeScript 코드가 아니더라도 特定 줄들을 順序대로 強調하는 것도 되고, 라이브로 코드를 고칠 수도 있다. 비포 애프터로 두 코드를 比較할 때도 매직 무브로 괜찮은 演出이 可能하다.
아무튼 Slidev 最高…!
글투를 넘어 말투를 최대한 부드럽게 상상해보면, 공격적인 글투의 글도, 공손한 조언의 말투처럼 느껴질 때가 있습니다. 확실히 말과는 달리 글에는 많은 컨텍스트를 스스로 채워 넣어야만 합니다. 다 같은 동종 업계 업자끼리 부드럽지만, 지식 알멩이가 있는 대화들이 돌아 다니면 눈이 즐겁습니다. 컨텍스트를 최대한 부드럽게 채워 넣으며 대화가 이어지길 바랍니다.
(말투같은 느낌의 단어로 글투로 쓰다 보니, 살짝 낯설어서 낱말을 찾아 봤습니다. 있긴 있는데, 써 본적이 거의 없는 낱말 같습니다.)
돌이켜보니 내가 처음으로 소프트웨어의 '품질'을 경험한게 스타1이랑 디아2였다. 게임이 재밌는거랑 별개로, 그때 기준으로 저 두 게임은 소프트웨어로써 품질이 훌륭했다. 그당시 다른 게임들은 느리고, 심각한 버그가 있고, UI가 덜컹 거리기 일쑤였다. 스타1, 디아2는 게임을 켤때부터 끌때까지 매끄러운 경험을 줬다.
좋은 소식 공유하자면...
사실 요 며칠간 외국계 회사에서 work trial을 했는데요. 수습도 통과했고, 지금까지 받아왔던 것에 비해 훨씬 좋은 처우환경에서 일할 수 있게 되었습니다..
파이썬 기반의 환경에서 개발하는 중이고, 제가 마침 빠삭한 도메인에서 일하게 되었다고 하네요
@kodingwarriorJaeyeol Lee 축하드립니다!!
지금 시즌272611번째 ’이 버그를 고칠 선택받은 용사가 왜 하필 나인가‘ 단계에 있다
이제 Lumo (GitHub)에서 fixpoint를 바탕으로 상호 재귀 가능한 함수 묶음을 정의할 수 있다. 슬슬 MVP의 끝이 보인다. 다음 스텝은 코드젠이다.
System.IO.readFile 쓰지 마세요.
System.IO.readFile 쓰지 마세요.
System.IO.readFile 쓰지 마세요.
첫째, System.IO.readFile 은 String 을 반환합니다. 이건 심각한 문제입니다. String 을 쓰지 마세요. 외부 세계와 I/O 를 할 때에는 ByteString 을 써야 합니다. 유니코드 문자열을 다룰 때에는 Text 를 쓸 수 있습니다. String 은 시간적으로도 공간적으로 비효율적입니다. 이건 어쩔 수 없습니다. 하스켈은 리눅스 커널보다 오래됐습니다. 그리고 하스켈이 String 을 만들 때에는 아직 하스켈에 모나드도 없던 시절이며, 타입 클래스가 과연 유용하겠는가를 두고 의견이 분분하던 시절이며, 파일 하나가 100 메가바이트가 넘어간다는 것이 과대망상으로 여겨지던 시절입니다. 특히 유니코드보다 더 먼저 나온 언어에 적절한 유니코드 문자열 타입이 있을 수는 없었습니다. 아무튼 String 은 레거시입니다. System.IO.readFile 로 그림 파일을 읽는 프로그래머는 사후세계에서 JPEG XL 파일을 십육진법 표기로 1 바이트씩 읽은 뒤 종이에 그려 내는 형벌에 처해집니다. String 을 쓰지 마세요.
둘째, System.IO.readFile 은 FilePath 를 요구합니다. FilePath 도 사실 String 입니다. 그냥 별명(type synonym)이에요. 이것은 String 이기 때문에 비효율적이며, String 은 문자열이지 바이트열이 아니기 때문에 (인코딩을 전혀 통제할 수 없기 때문에) 파일 경로를 표현하는 타입으로 부적절합니다.
해결책: 먼저 System.OsPath 의 설명을 읽어 보세요. 그리고, file-io 패키지의 System.File.OsPath 모듈을 읽어 보세요. 여기 있는 함수들의 설명을 openBinaryFile 부터 하나씩 읽어보고 쓰세요. 이것들은 파일 경로에 OsPath 를 쓰기 때문에 String 의 비효율이 없고 인코딩도 올바르게 처리할 수 있습니다. 입출력 데이터에는 ByteString 을 씁니다. 바이트열을 유니코드 문자열로 변환할 때에는 예를 들어 Data.Text.Encoding.decodeUtf8Lenient 를 쓸 수 있습니다. 그럼 이제
- 간단히
System.File.OsPath.readFile'에게OsPath를 넘기고ByteString을 효율적으로 받아 와서 국밥처럼 든든하게 메모리에 올려 두고 작업을 하든지 - 전국구 마법사라면 복대는 기본이라고 외치며
withBinaryFile과 앙갓썸 을 Iteratee I/O 로 절묘하게 엮어서 뭔가 개멋있게 하든지 - 하스켈 갓고수이기 때문에 흑마법사답게 보일러실 문을 따고 지하로 들어가 포… 포… 으악! P 로 시작하는 그것을 획득하여 누구도 예상할 수 없는 타이밍에
hGetBuf의 암기를 슉. 슈슉. 슈슈슉. 슉. 날리든지
아무튼 이제는 String 을 놓아주어야 합니다.
git submodule 쓰다가 생각난건데, VCS 레벨에서 수정할 파일과 아닌 파일을 구분해주는게 좋을거 같다. 읽기 전용 파일의 경우엔 복사하지않고 심볼링 링크만 제공해도 되어서 성능적 이점도 있을 것이다.
@meWoojin Kim 최근에 클레르 옵스퀴르하는데 재밌더라고요. 제가 이제 틀딱게이머가 되가지고, 다크소울 같은거하면 맨날 대검들고 구르기 평타로만 깨거든요(옛날에 한심하게본 린저씨들이 이런거였나..). 이제 마법은 머리 아파서 못 쓰고요. 근데 클레르 옵스퀴르하니까 공격할때 고민할 시간이 무한정 주어져서 마법 뭐쓸지 고민하는 재미를 새삼 느끼고있어요.
occurs check를 안 짜서 코딩을 잘못하면 컴파일러가 무한 루프를 돈다. unification 어렵네...
@ranolp 말씀대로 unification 로직이 무한루프에 취약하던데, 사실 그냥 조심해서 잘 짜기 이상의 방법을 모르겠더리고요ㅋㅋ
여자친구가 나한테 과학 이야기 해달라고 해서 '혹시 아인슈타인이 뭐 했는지 알아?'라고 물으니까 '다이너마이트 만들었잖아!'라고 대답했다. 흠..
Ghostty, Warp 등의 터미널을 써보곤 싶은데, 어차피 VS Code 안에서 못쓰다보니까 큰 의미가 있을지 아리까리하다..
하스켈을 금지한다!
통신판매업자 신고하자마자 하루에 2~3통씩 스팸, 피싱이 온다. 중소기업 진흥 어쩌고, 뭐시기 팀장이란 전화가 온다. (통신판매업자 정보는 완전 오픈되어 있다.) 정부가 내가 모르면 손해 보는 걸 적극적으로 전화까지 하며 챙기는 일은 없기! 때문에 듣자 마자 끊는다. (이런, 믿음이 장점이 될 때가 있구나) "안녕하세요"부터 쎄한 느낌이 오는 전화들이다. 이렇게 법적으로 추적 가능한 전화(휴대폰 번호가 찍힌다)로, 대범하게 피싱 시도를 계속한다.
그냥 넘어가지 않고, 정부 사이트에 의심 신고를 하려 하니, 개인 정보를 무섭게 요구해서 멈칫한다.
방금 보이스피싱을 당할뻔 한거 같은데, 내가 법원등기서류를 수령 못했다면서 온라인으로 받아보라고
http://온라인검찰민원.kr/ 이 사이트로 들어가도록 유도했다. 보다시피 인증서가 없는 페이지이다. 그래서 바로 전화를 끊고 보이스피싱 신고사이트에 신고했다.
근데 나야 인증서 확인하고 이렇게 했지, 만약 우리 엄마였으면 그대로 당했을거같아서 기분이 안좋네..
12月 6日 서울에서 開催되는 liftIO 2025에서 〈Optique: TypeScript에서 CLI 파서 컴비네이터를 만들어 보았다〉(假題)라는 主題로 發表를 하게 되었습니다. 아직 liftIO 2025 티켓은 팔고 있으니, 函數型 프로그래밍에 關心 있으신 분들의 많은 參與 바랍니다!
@hongminhee洪 民憙 (Hong Minhee)
화이팅입니다!!
12月 6日 서울에서 開催되는 liftIO 2025에서 〈Optique: TypeScript에서 CLI 파서 컴비네이터를 만들어 보았다〉(假題)라는 主題로 發表를 하게 되었습니다. 아직 liftIO 2025 티켓은 팔고 있으니, 函數型 프로그래밍에 關心 있으신 분들의 많은 參與 바랍니다!
@bglbgl gwyng 오 그렇군요. 혹시 회사 경비처리로 가능하시다면, 요즘 클라우드 남의 컴퓨터 빌려서 고성능 GPU 잠깐 쓰고 반납하는 것도 쉬워졌으니까 한번 시도해 보시면 어떨까요. 시험 삼아 해 보고 잘 되면 해당 모델의 GPU 구매로 진행하실 수 있는 것이니…
@xtjuxtapose 좋은 생각입니다. 한번해보고 계산기를 두들겨봐야겠습니다. 그리고 그런 종류의 비용정보가 잘 공유되었으면 좋겠네요(이미 그러 고있나요?),
호버(hover)는 잘못된 인터페이스입니다. 사용자가 어떤 목표를 달성하기 위해 호버를 해야만 하는 인터페이스를 만들면 안 됩니다. 호버에는 장식적 효과 이상의 기능이 있어서는 안 됩니다.
예전에는 이것을 설명하는 데에 많은 말이 필요했고 참 힘들었습니다. 이제는 좀 쉬워졌죠. 터치스크린입니다. 손바닥만 한 스마트폰부터 대문짝만 한 키오스크까지, 이제 터치스크린은 싫어도 불가피하게 써야만 하는 물건이 되어 버렸습니다.
그런데 터치스크린에는 호버가 없죠. CSS 에 @media (hover: hover) 같은 게 있긴 하지만, 당연히 이것만 믿고 인터페이스 설계를 해서는 안 될 것입니다. 그런 식으로 "호버 있음" 과 "호버 없음" 을 따로 지원한다는 것은 번거롭고, 실수하기도 쉽고, 망가지기도 쉽고, 관리하기는 어렵습니다. 설령 터치스크린 있는 장치에서 터치를 활성화하거나, 비활성화하거나, 마우스를 끼우거나 빼거나 등등 할 때마다 그 정보가 무수한 계층을 뚫고 애플리케이션까지 올바르게 전달된다고 쳐도요.
리눅스 랩탑(amdgpu, rocm)에서 ollama 써서 아주 잠깐 로컬 LLM 시도해 본 소감: 생각보다 잘 되는데, 한편으로 왜 OpenAI 의 적자가 저렇게 터무니없는 규모라는 것인지도 이해했다. 어디가 병목인지는 알겠는데 그래서 그에 대한 대응책은 GPU 를 증설하기 시작해서 그냥 많이 증설했습니다. 를 하고 있다는 것이군 진짜로… 이게 인류의 갈 길이라니… 사이버펑크보다 현실이 더 사이버펑크다
@xtjuxtapose 회사에 있는 나름 메모리 빵빵한 GPU로 돌려봤는데, 정말 돌아가기까지만 하더라고요. 사내 로컬 코딩 에이전트 스웜같은거 만드려면 웬만큼 본격적이어선 안되겠더라고요.
오! 좋은 아이디어 인것 같습니다. 조금 찾아보니 git-branchless나 jj-vcs로 활용해서 AGENTS.md나 스킬에 정의해서시도해봐도 괜찮을듯한 느낌이네요
@kanghyojun강효준 그렇군요. 저런 기능을 굳이 만들필요 없이 AGENTS.md에다가 써서 클로드한테 그렇게 쓰라고 하면 되네요. 요즘 이럴때마다 바보되는 느낌입니다ㅋㅋ
클로드 코드 쓰고있으니 더 나은 VCS에 대한 욕심이 커진다. 나는 클로드가 브랜치를 더 자주 쪼개서, 원하는 시점으로의 롤백이 더 편해졌으면 좋겠다.
하나 생각나는 아이디어는 브랜치 명을 hierachial하게 만들어서 가령 fix-bug-1/refactor-class-foo/fix-function-bar 이런식으로, 무슨 일하는지의 맥락을 브랜치명에 나타내는 것이다. 그리고 a/b 브랜치는 a 브랜치의 자식이어야 한다는 제약도 강제한다.
굉장히 오랜만에 들어와서 쓰는 근황입니다.
- TIS-100의 모든 레벨을 클리어했습니다. 다음 목표는 아마 Opus Magnum 아니면 A=B가 될 것 같습니다.
- 올해 여름부터 지금까지 7문제를 백준에 출제했습니다. 여기의 맨 아래에서 보실 수 있습니다. 개인적으로 가장 재밌었던 문제는 SWAP-C Sort인데 그만큼 어렵습니다.
- 웹 기반으로 뭔가 만들 게 생겨서 프레임워크를 알아보다가 Solid를 써보기로 결정했습니다. 웹 UI는 Flowbite, 그래픽 요소는 Konva를 쓰게 될 것 같습니다.
- 그런데 이쪽을 첫삽을 뜨기도 전에 갑자기 굉장히 어려운 퍼즐틱한 문제 하나의 풀이가 완성되어서(....) 논문(?!)을 하나 쓰기 시작했습니다. 이런 거 받아주는 저널 어디 없을까요(????)
어쩌다보니 Claude skills같은걸 재발명하고 있는듯하다;;
급 반말하는 gpt
프롬프트는 저기 보이는 것이 다 입니다. 다른 컨텍스트도 없고...
@perlmint 얘 진짜 대화가 길어지고 좀 만만해진다싶으면 바로 반모들어가는데, 전 농담아니라 진짜 어떤 징후같습니다. 영어쓸때도 비슷한 행동이 있는지(무례해진다거나) 모르겠어요.
저게 38만 킬로미터 떨어진 허공에 떠 있는 물체고, 1억 5천만 킬로미터 떨어진 광원의 빛을 반사해서 내 눈에 보인다는 게 가끔 정말 생경하게 다가올 때가 있다.
RE: https://bsky.app/profile/did:plc:4sujqnbd47ey26qcvajqoxa2/post/3m4ueopbvzw23
@bglbgl gwyng 맞아요 compiled to c/js 언어가 목표에요
@ranolp 멋집니다









一般 Kyungmi Ahn ꉂꉂ(ᴖᗜᴖ*) 

