$ fortune -a

Ping 11/Oct/2020


어째서 더 잘 그럴 수 있을까 무엇인가를 만드는 일은 사실 두 가지 단계로 발전하는 것 같다. 단지 목적한 그것만을 만드는 일과, 또는 그것을 반복적으로 생산하고 또 더 나은 방법으로 추상화하여 내는 도구를 만들어내는 일으로 구분할 수 있는 것 같다. 직관적으로 생각했을 때에는, 목적이 명확하다면 당연히 그것 자체를 만드는 일을 이미 존재하는 도구들을 통해서 표현하고 만들면 그만인 것 같다. 그리고 더 나아가서 결과물을 그냥 직접 만드는 것이 아니라, 그 결과물을 만들기 위한 도구까지 같이 만들거나, 그 결과물이 그를 만들기 위해 고안된 도구를 통해서 만드는 경우가 비교할 수 없이 생산적이고 그 결과물 또한 훨씬 매끄럽고 완성도가 높은 경우가 오히려 보통인 것 같다.…

Ping 10/Oct/2020


오래 써오던 맥북에어의 WIFI이 성능이 계속 안 좋아졌었던 것 같다. 모델명을 알아보니, 2012년 형이었다. 정말 오래 썼구나. 1 어차피 MacOS을 여러 가지 이유로 좋아하지 않아서 그냥 아치리눅스2를 설치하고 그대로 쓰고 있다. 최근에는 아예 WIFI을 USB-LAN으로 연결해주는 RPi을 만들어 쓰고 있었다. 물론 내장WIFI은 너무 느려서 nmcli r wifi off 을 기본으로 아예 S/W Disable시켜놓고 살았다. 어쩌다 계기가 있어서, USB-LAN연결용 RPi을 챙기지 못한 외부에서 어쩔 수 없이 쓰려고 시도해보니, 아예 조금 내장WIFI을 쓰면 조금 동작하다가 시스템이 뻗어버린다.…

Ping 08/Oct/2020


벌써 겨울 날씨에 매일 다가가는 것 같다. 시간이 흘러가는 것을 며칠 눈치 채지 못하다가 다시 눈치 챌 수 있게 되었다. 다행이다.…

Ping (2nd) 04/Oct/2020


막귀의 이어폰 선호 정말 이어폰을 여러 개를 아작을 내면서 살아온 것 같다. 헤드폰은 겨울에만 편안한거 같고. 일을 하며 소음에서 분리되고 싶을 때, 집중하면서 또 집중 상태에 들기 위해서 시간을 버리며 고생하고 싶지 않을 때도 많이 쓴다. 덕분에 청력은 조금 나빠지는 거 같다.1 과거에는 정말 싸구려 이어폰, KTX에서 나눠주는 일회용 이어폰을 꽤 오래 쓴적도 있다. 특유의 딱딱하고 AM라디오스럽게 소리를 만들어 버려서 이상한 소리가 나지만 막 쓰기 좋아서였다. 그리고 그 이후로는 나도 모르게 어쩌다가 DAC칩이 좋은 것이 붙어 있다는 스마트폰과 거기에 번들로 줬었던 쿼드비트 이어폰을 재밌게 썼었다.…

Ping 04/Oct/2020


연휴 이전에는 이런 저런 사람들을 만나고 이야기를 나눌 기회가 많았다. 그러면서 대부분 흔하게 느끼고 생각한 것은 사람들은 자신의 머릿 속에 이미 만남 이전부터 만들어놓은 상상에 있는 누군가를 만나고, 실제로는 나를 만나서 이야기를 나눈 사람들은 극히 드물었던 것 같다. 물론 그 이전에도 마찬가지였다. 어떤 사람들은 같이 생활하고 일하거나 하며 지내는 경우에도 그렇게 살아가며, 자기 자신의 이미지에 대해서도 너무 현실과 괴리가 커서 문제를 일으키는 사람들도 보았다. 누구나 직접 누군가나 어떤 상황을 마주하는 것이 아니라 이미지와 각자가 이해하고 수용할 수 있는 정도로 살아가겠지만 그 정도가 너무 심한 경우를 본다.…

Ping 26/Sep/2020


영화, 소설, ..심지어 프로그래밍언어나 사람, idea을 접할 때 어떤 것들은 그 자체로 화려해보이고 천재적이라는 것을 느낄 수 있을지도 모른다. 프로그래밍언어이나 기술, idea에 대해서는 오히려 그렇게 직관적으로 결론을 내리기 어려울 것 같다. 영화와 같은 표현은 그런 것을 만날 수 있을거라고 쉽게 오해하는 것 같다. 단지 바라보는 것만으로 명작임을 느낄 수 있을거라고 말이다. 그리고 그렇기 때문에 자신의 입맛을 만족시키는 그것이, 또는 그것만이 명작일 것이라고 오해하기 쉽다. 그런데 그렇지 않은 경우를 많이 본다.…

Ping 23/Sep/2020


이제서야 유한하다는 것을 더욱 깊이 생각해본다. 그리고 얼마나 달콤한 행복을 살아가는지 깨닫는다. 매일 매일이 별 것 없지만 그대로 너무나 내게는 행복하다. 언젠가 내 마지막을 맞이하면 모든 것들이, 나만이 마음 속에 간직한 이 많은 감정과 기쁨들 모두 그대로 담아둔 채 떠나야겠지만 그게 모두의 다들 똑같을 것만 같다. 그렇게 억울하지는 않아졌다.…

Ping 17/Sep/2020


영화 '바그다드 카페'를 어릴 때에는 '주말의 명화' 정도에서 다 번역/더빙된, 그리고 아마 편집에 엄청나게 많이 짤려나갔을 버젼으로 봤었던거 같은데 아무것도 기억에 남아있지 않았었다. 심지어 이번에 다시 디렉터스컷으로 구해서 보면서 내가 기억에 남아 있던 것들은 완전 다른 영화인 것 같았다. 그렇게 기억만큼 어둡지도 않았고 오히려 너무 밝아서 오글거렸다. 아마도 좋은 오글거림이지만. 기억에는 그렇게 남은 이미지는 브라운관 화면과 더빙 품질 등도 한 몫 했을 것 같다. 실은 영어를 어떻게 쓰는지, 처음 단어별로 끊어서 이야기 하는 시점(時 ─)과 그 이후에 사람 이름을 어떻게 발음 하는 것(야스민/재스민 등) 억양과 발음, 단어 등등 듣고 있으면서 시간이 흘러감에 따라서 변화하는 것을 봐야 하는 영화인데 더빙이었다면 어떻게 표현했을지 난감할 것 같다.…

Ping 16/Sep/2020


그간 작업해오던 일이 있어서 과분하게 고마운 제안, 이미 익숙한 사람들과, 거기에 훌륭한 이들과 멋진 일을 함께 하자는 제안들을 거절을 하며 손해를 보며 살고 있었다. 그리고 그 일은 마무리를 짓고 다시 또 이야기들을 하고 들으며 돌아다녔다. 그리고 생각보다 훨씬 체력소모가 컸었던 것 같다. 글쓰기, 코딩하기 지난 기간 동안 해온 작업을 마무리지었고, 앞으로는 다른 일에 매진해야 할 것 같다. 하지만 그럼에도 가능하면 너무 흐름을 잃지 않고 글을 꾸준히 쓰고 공개하지 않더라도 깃헙에 올리며 살아가야겠다.…

Ping 14/Sep/2020


작년 말, 올해 초만해도, 그때 내가 사람들과 이야기를 하며 기본소득에 대한 지지를 이야기하면 반응은 시원찮았었다. 자신이 초능력자라고 말하는 예전 대선에 도전했었던 어느 사람에 비유하며 웃었었고 나는 그런 반응들이 못마땅했었다. 또는 나는 나 자신이 못 가진 자라고 생각해서 은근히 더 공정하고 분배에 집중한 사회가 되기를 바랬었다. 왜냐하면 내가 더 안정적이고 피곤할 일들, 혹은 감정적으로도 시달리며 살기는 이미 지친 것 같아서다. 그런 일들을 감내하게 만드는 것은 경제적 이유였었고 더한 모습들이 우리 사회에서는 결국 돈 때문일테니까라고 생각해서였다.…

Ping 12/Sep/2020


어떤 개념에 대해 너무도 미신적인 관점을 가진 사람들을 너무 흔하게 본다. 하지만 그들이 생각하는 것은 그렇게 믿고 싶어서 선택한 신화적인 모습이라 더 이상하다. 경험에 기반한 성숙함이 다르기 때문이다. 하지만 그들이 믿고 싶은 것과 현실은 정반대일수밖에 없다. 그리고 내가 경험한 바에 따라서도 실제로도 항상 예외를 찾지 못하도록 그렇다. 다만 세상을 보는 시각이 아직은 어둡기 때문이거나, 마치 그것이 진실인 양 주장하고 싶은 이이기 때문이리라. 어느쪽이건 좋은 일이 있든 힘이 들든 진심으로 축하하고 위로를 할 방법도 알지 못하거나, 마지 못해 해야하는 상황에서도 그 방법도 의도도 모두 혼탁해 함께 하면 괴로울 따름이다.…

Python에 대한 내 관점


Python은 조금 지루한 문법의 언어다. 거기에 매크로 같은 기능도 없어서 항상 평이한 문장을 작성하게 되는 것 같다. 하지만 다른 비슷한 언어들과는 다르게, 파이썬 문장 자체는 깔끔하면서도 density가 높다. 리습, 하스켈 같은 언어들으로 작성한 것을 생각해봐도 밀도가 높아 표현력이 좋다. Java와 같은 언어는 밀도도 낮고 표현력도 가끔은 너무 아쉽다. 파이썬이 이렇게 밀도가 높을 수 있는 이유는, 언어 자체적으로 매크로를 지원하거나 해서 문법을 확장하는 방법을 채택하는 것이 아니라 SymPy에서 그랬었던 것처럼 값을 계속 쌓아갈 수 있게 만들고 연산자를 재정의해서 문장이 다르게 해석되도록 만드는 방법이고, 이쪽이 더 Pythonic한 방법 같다.…

Ping 31/Aug/2020


여름이 끝나가는 느낌이다. 또 무더워지는 날이 며칠 있겠지만 지금은 가을이 온 것만 같은 밤공기와 풀냄새가 향긋하다.…

Ping 30/Aug/2020


프로젝트 마무리 문서도 초안을 다 썼고, 마무리 중. 분산 커밋로그에 저장하고 읽는 것들을 aync. io을 이용해서 실행되도록 하고 있다. 처음엔 그냥 C라이브러리 기반으로 된 blocking 버젼으로 만족스러울 정도로 빠른 커밋로그라 그럭저럭 괜찮았는데 한개의 실제 사이클인 것처럼 줄일 수 있어서. 또 그냥 failure을 처리하는 부분을 바꾸고, 전체 애플리케이션을 특정시점에 더 실제 실행시점처럼 흉내내서 동작하도록 만들 수 있게 했다. 마무리도 마지막 검증이랑 마쳐가고 있고. 8월도 마무리 되어간다. 시간이 빠르다. EDIT 모두 완료!…

Ping 28/Aug/2020


날씨가 덥고 습하다. 거기에 마스크까지 해야해서 내가 좋아하는 오래걷기를 하기에 그다지 좋은 시절은 아니다. 문득 생각이 들었다. 아주 얼마 전까지만해도 이런 상황을 대부분의 자기 자신이 정상이라고 믿고 싶어하는 이들은 모두가 이렇게 살아가는 세상을 이야기를 들으면 비웃었을 것이다. 그리고 실제로 그런 일들을 많이 보아온 것 같다. 방독면이나 산소마스크 방호복 대신에 KF94 마스크일뿐인. 많은 아이디어와 예견들이 맞아들어가는 시절이다. 한편으로는 그런 것을 이해하고 세상의 변화에 대해서 조금은 알맞게 나 자신이 알아채고 살아온 것이 뿌듯하면서도 꼭 달갑지는 않기도 하다.…

Linux 5.8와 TP-Link Archer T2U Plus (RTL8821AU)


arch-desktop의 커널을 무심코 5.8으로 pacman -Syu 했다가 낭패였다. USB무선랜이 잡히지 않았다. 그래서 하는 수 없이, FB워크스테이션을 쓰다가 또 라즈베리파이3에 FB에 달아놓은 realtek USB 무선랜을 붙이고 유선을 통해 dnsmasq으로 연결해서 고쳐나갔다. 정말 커널 5.8에서 빌드가 잘 되지는 않았다. 그나마 https://github.com/aircrack-ng/rtl8812au 이 드라이버가 살렸다. # lsusb Bus 002 Device 009: ID 2357:0120 TP-Link Archer T2U PLUS [RTL8821AU] 그것도 DKMS으로 빌드하면 안되고 그냥 make install 해서 동작하게 되었다. 다행이었다. 그리고 나서 나중에도 로딩하도록 /etc/module-load /etc/modules-load.…

Ping 27/Aug/2020


그간 진행해오던 프로젝트는 성능에 대해서 premature optimization을 고려해서 만들기 보다는 architectural한 면에 비중을 갖고 가능성을 염두에두고 선택을 해오며 만들었다. 그럼에도 꽤 괜찮은 성능이었었고, 이제는 첫번째 버젼의 완성과 문서 작성도 완료한 시점이어서 앞으로 성능을 높일 방안을 고민해보고 실험을 몇개 수행해서 방법 결정해봤다. (현재 사용하는 방법과 새로이 사용할 방안의 이름은 모두 변경했다.) 기존 성능 측정은: X event-writer commit을 한번에 하지 않고, 매 이벤트마다 수행해서 느림. (현재는 변경되었음) 약 11,196-microseconds (11-ms) X journal-writer…

Ping 25/Aug/2020


the end of the belle époque?…

Ping 24/Aug/2020


"프로젝트" 진행해온 프로젝트의 문서를 작성 중. 문서를 작성하면서 더 보충/보강할 내용들이 튀어나온다. 이 또한 사실 즐겁다. 게임하기 Doom64 리메이크를 클리어했다. 마지막 레벨에서는 도저히 깰 수 없어서 그냥 마지막 한 마리를 잡기 위해서 치트를 켜서 아쉽다. 하지만 그 마지막 보스 이전에 타이드는 그냥 제정신으로 다 죽여서 재밌었다. 다음 게임은 퀘이크 시리즈를 다시 플레이할까 생각 중. 폴아웃4, 스카이림을 다시 로드해서 플레이를 하며 그 세계에서 시간을 보내도 좋겠지만 조금은 다른 게임을 하고 싶어서.…

Ping (2nd) 14/Aug/2020


ㅎㅎ좋다. 이제 문서와 추가적인 작은 도구 몇 개를 더 만드는 것만 남았구나.…

Ping 14/Aug/2020


빌드도구의 경험과 Meson을 사용하기 Meson-ABC 갖고 놀아본 코드 아주 예전에 commercially 성공적이었었던 C++ 프로젝트를 홀로 기획, 설계, 개발했었었다. 처음에는 GNU Makefile으로 간단히 시작했었었다. 타겟 플랫폼이 뻔하게 윈도였기 때문이다. 그 이전에는 ANSI C으로 작성한 SDL 조합형 비트맵 출력 오픈소스 라이브러리 같은 것들을 작업할 때는 그냥 GNU Autotools 을 쓰거나 했었었다. 하지만 그렇게 configure 하거나 할 부분도 없고 처음 혼자 시작하며 다른 신경 쓸 것도 무지하게 많았었던 프로젝트였고 더욱이 기간도 한정적이었었다.1…

Ping 13/Aug/2020


프비 워크스테이션을 만들어놓고 그렇게 좋은 사양은 절대 아닌 조용한 슬림PC에서, 또 가능한 마우스를 안 써도 좋게 세팅해놓고 편안하게 이맥스에서 작업을 해나간다. FM라디오의 가끔 지글거리는 잡음도 좋은 것 같다. 계속해서 신경을 쓰게 만들고 끊기고 광고가 나오고 또 클릭을 유도하고 멍청하게 징징거리는 것으로 돈으로 바꾸는 요즘의 수많은 다른 매체들보다 훨씬 나를 편안하게 만든다. 다른 매체들도 비슷하지 않을까. SNS도 그런 것 같고 대부분의 앱, 심지어 운영체제도 그런 환경들과는 다른.…

Ping (2nd) 01/Aug/2020


지난번 포스팅에서 이야기한 것처럼, 인연이 있던 창업자가 새로 창업한 회사에 제안이 있었었다. 더 없이 아쉬운 기회이고 미안했지만 내가 하고 있던 일을 계속하고 싶어서 아쉬운 기회이지만 거절했다. 내 능력에 벅찬 일일 것이고, 또 내게 손해가 있겠지만 내가 결심한바대로 해나가는 것이 내게는 맞는 일이란 생각이다. 이미 당시에 한국에서 유명한 기업으로부터 창업한지 얼마 되지도 않아 투자를 잘 받고, 안정적으로 성장할 준비를 하고 있었다. 그 키워드의 기술을 당시에 연구하고 공개한 MS 이외에도 IBM에서도 오픈소스로 작업한 툴킷을 공개하고 실용적인 단계에서 활용이 가능한 형태로 공유를 시작했다.…

Ping 01/Aug/2020


오랬만에 내 환경을 더 다듬었다. Emacs, Evil, General.el. 매일 이맥스에서 코딩을 하면서 조금은 Vim보다 키바인딩이 편집에 불리한 것 같았었다. 그렇다고 Vim을 쓰고 싶지는 않았다. 검색이나 다중편집 같은 이맥스만의 기능을 Vim에서 흉내내는 것은 별로 마음에 차지 않는 정도이고 또 화면 flickering도 이맥스 GUI을 쓸 때보다 터미널 Vim은 심해서 난 피곤해. 그래서 Evil-mode을 종종 썼는데 문제는 내가 만들어놓은 general.el 키바인딩들이 Evil을 고려하지 않고 만들어서 evil모드를 toggle하며 써야했었었다. 특히 내 이맥스 모드에서의 키바인딩의 prefix이 C-z인데, evil-mode에서는 emacs mode으로 전환을 위해서 사용.…

Ping 24/Jul/2020


여름방학을 보내고 왔다. 지난 한달여, 꽤 즐겁게 보낸 것 같다. 그리고 순수하고 맑은 마음으로 행복했었던 것 같다. 하늘도 여름 같이 맑고 파랗고 공기도 좋았었다. 매일 열심히 집중해서 일할 수 있었고 좋았다. 그리고 그렇기 때문에 조금은 아련하다. 이런 느낌. (기쿠지로의 여름 OST) Summer / 히사이시 조 https://youtu.be/_t1KvFMUNws Games: Doom 64, Ion Fury. Doom 64을 플레이. 클래식 둠, 둠2이랑은 또 완전히 다른 게임이었음. 몬스터들 모델링, 음악, 레벨디자인 모두 완전히 새로 만들어서 재밌었다.…

Ping 19/Jul/2020


쉬는 날. 그간 4개월 정도 집중해온 작업이 어느 정도 궤도에 올라갔다. 앞으로도 더 많은 작업을 해야겠다. 하지만 일요일이고, 오늘 하루는 조금 마무리 작업을 해놓고 휴식을 할까 마음 먹었다. 1Q84, 하루키 소설 영문판 읽기 군생활을 할 때 시간을 쪼개서 영문판 책들을 많이 읽었었다. 진중문고와 그밖에 휴가를 다녀온 사람들이 놓고간, 세월이 흘러가며 쌓여있는 아무도 읽지 않는 좋은 책들을 많이 읽었었던 것 같다. 그중에는 아직도 다시 읽고 싶은 책들과 좋아하는 작가와 철학자들이 많이 생겼었던 것 같다.…

Ping 17/Jul/2020


GitHub "Arctic Code Vault Contributor"이 되었다. 우연히 기여한 몇몇 프로젝트들이 보관되기로 결정됐나보다. 2020년의 코딩. 중간에 비는 부분들이 있지만. ㅎㅎ 공개한 오픈소스 저장소도 2~3개이고, 가장 많은 비중을 차지하는 것은 비공개로 진행하고 있는 저장소 1개. 기간으로 봐도 3~4개월이 되어간다. 검증 가능하게 꼼꼼히 만들면서 성취감이 크다.…

Ping 08/Jul/2020


배워가기 올 한해의 절반이 지나갔다. 그리고 중요한 시점에 정말 좋은 결정을 내렸던 것 같다. 생각과 관점이 더 발전하고 그에 따라 삶도 더 변화해갔다. 어떤 것들을 거쳐서 어떻게 변화했는지는 쓰고 싶지는 않다. 그리고 어째서 인터넷에 그런 글들이 생각보다 잘 없는지 이제는 조금 이해할 수 있어서 굳이 쓸 생각도 없다. 너무 당연한 원인, 행동 그리고 결과의 연결이라 만족스럽다. 앞으로의 삶을 바라보는 관점도 많이 변했고 더 없이 행복하다.…

Ping 29/Jun/2020


이해하기 읽고 생각하고, 글을 쓰고 살아온 방법과 길에 대해서, 만난 이들과의 일화들에 대한 이해가 더욱 깊어진 것 같다. 그리고 내가 내린 판단과 결정이 만족스러운 것이었었다. 더욱 명확한 기분이다. 하던 생각들이, 꽤 정확하게 파악했었더라, 그를 기반해 예측한 것이 맞는 것을 알게 될 때면 더욱 만족스러운 기분이 든다. 훌륭한 이들, 존경스러운 이도 있고, 한편으로는 말을 꺼내기도 한심해질 정도의 이도 있다. 정말 안타까운 느낌이다. 정말 시간은 위대하다는 생각을 한다. 내가 시간의 역할을 욕심내어서는 안되겠다는 생각도 한다.…

Ping 16/Jun/2020


FreeBSD을 조금 오래된 컴퓨터에 계속 사용하기. 매일 업무를 보는데에 메인 피씨, 랩탑은 여전히 아치리눅스를 잘 쓰고 있다. 그리고 조금 사양이 부족한 사이드킥 피씨 본체에는 FreeBSD을 여전히 설치해놓고 쓰고 있다. 처음 생각보다 훨씬 더 많이 활용하게 되는 것 같다. 그리고 훨씬 가볍게, 안정적이고 강력한 느낌이다. 물론 오히려 리눅스가 더 빠르다거나 안정적인 부분들을 금새 발견할 수 있다. 그리고 리눅스와 동일하게 쓰려고 들지 않는게 더 속편한 부분도 많다. 예를 들어, 당연히 Steam 같은 것은 기대를 안한다.…

Ping 06/Jun/2020


조금 더 혼자 진행해오던 일을 계속하기로 결정했다. 좋은 사람들과 스타트업임을 알고 있고, 이전에 함께 일하면서도 인격적으로나 능력적으로 모두 훌륭한 사람들임을 잘 알고 있다. 그럼에도 나 자신이 이번엔 더 차이를 만들어야겠다고 결심했던 것을 끝까지 해나가고 싶어서다. 합류하면 정말 많은 부분 이득이 많겠지만, 개인적으로도 많이 힘든 고민을 하고 결정을 내렸다.…

코드 편집기에 대한 생각


코드 편집기를 어떻게 써왔었는지 잠깐 생각해봤다: DOS시절: MS-DOS Editor. GW-BASIC 시절에는 정말 https://en.wikipedia.org/wiki/MS-DOS_Editor 을 열심히 썼었던 것 같다. 그리고 그 다음엔 PowerBASIC for DOS 열심히 썼었다. QuickBASIC 같은 바이트코드으로 컴파일해서 .exe 파일에 인터프리터와 바이트코드를 embedding 하는 VB의 P-code 같은 가짜 컴파일 방식1이 아니라 정말 네이티브 코드로 컴파일해주고, 인라인 어셈블리와 메모리 조작이 가능한 베이직 컴파일러, IDE여서 좋은 환경이었던 것 같다. 터보C 2.0 편집기. PowerBASIC이랑 유사해서 익숙하게 쓸 수 있었던 것 같다.…

Ping 28/May/2020


5월, 요즘은 매일이 날씨와 공기가 아름답다. 지금처럼 참 행복하게 지내기 좋은 계절인 것 같다.…

Ping 23/May/2020


지난 2달여간 매일 같이 몰입해 매진한 작업의 성능 테스트를 진행했다. 그리고 매 시점마다 테스트와 측정 결과에서 놀라던 것과 마찬가지 포인트에서 많은 관점이 변화한다. 아직도 많은 일을 더 해나가야겠지만 그래도 지금은 이 정도에서 우선은 만족스럽다. 작년과 재작년, 그 이전에는 매 일터마다 배울 점들이 있었던 것 같다. 그리고 지난 포스팅에도 말했듯이 내 많은 관점들을 발전시켜준 좋은 사람들과 멋진 경험들을 했었던 것 같다. 다만 올해 잠시 조인했었던 곳에서는 정반대의 경험이었었다. 많은, 이미 알고 있는 것들을 다시 확인했는데 그것들은 나 자신으로부터 배운 것들과 타산지석의 가르침들이었었다.…

Ping 18/May/2020


오랬만에 예전 직접 같이 일한 것은 아니지만, 같은 회사에서 일하던 사람을 만나 오래 이야기를 나눴다. 많은 이야기를 해준 덕분에 재미있는 이야기들을 많이 알게 됐다. 누군가를 만나고 아주 조금이라도 시간을 함께 하면 언제나 놀랍다. 나 자신을 변화시키는 경험을 하게 해주는 이였다. 아주 짧은 단편적인 일화들만을 경험해도 그렇게 해주는 이를 만나 이야기를 나누는 것은 감사하다. 지나간 사람들과 시간들을 최근에 생각해보며 어떤 사람들이 어떻게 내 생각에 영향을 주었는지를 보았다. 그리고 감사한 이들이 많이 떠올랐다.…

Void Linux + Runit으로 데스크탑/랩탑 환경 설정하기


지난 한 달여간 눈코 뜰새 없이 바쁘게 지냈었다. 그렇게 지내다가 오랬만에 툭닥거려봤다. 재미로 Void Linux을 설치해봤다. 사실 설치해보고 한적은 꽤 됐고, 메모리 사용량이 훨씬 가볍고 빠른 성능 때문에, Arch Linux도 충분히 가볍고 좋지만, 제대로 설정해서 사양이 좋지 않은 랩탑, 데스크탑들을 위해서 쓰기로 생각하고 있었었다. 2007년 정도에 Gentoo Linux으로 회사 데스크탑과 Oracle DBMS 서버를 재밌게 설정한 이후로, 오랬만에 정말 가벼운 리눅스 배포판을 설치하는 느낌이었다. 아치리눅스는 Pacman, Makepkg, AUR 같은 것들도 체계가 잘 잡혀있고, 오히려 Portage 보다 잘 관리되고 괜찮지 않은가 싶기도 할 때가 많아서 굳이 Gentoo을 다시 쓸 일은 없을 것 같다.…

Ping 25/Apr/2020


계속해서 글을 쓰기 내용은 없음 * …

Grub2, Archlinux ISO으로 만능 USB 메모리스틱 만들기


경고 "만능USB"이란 말은 사실 과대광고입니다. 하지만, 몇 가지 장점이 있는 USB 메모리스틱을 만드는 방법임: 아치리눅스 설치ISO 이미지으로 부팅 가능한 USB 스틱이면서도, ISO파일의 용량만큼만 USB메모리를 활용하는 것이 아니라, 용량이 되는만큼 그냥 일반적인 메모리스틱처럼 파일 복사용으로도 쓸 수 있음. 사실 리눅스든 다른 OS의 설치 이미지를 USB메모리에 올리면, 딱 그 설치 이미지만큼만 사용할 수 있게 만들어 버리고, 그나마도 Read-only 상태인 ISO이 되어버리고, 더더욱 나쁘게 다른 추가 파티션을 만들어서 남는 공간을 활용할 수도 없게 만든다.…

Ping 22/Feb/2020


내가 책상을 쓰는 방법, 고물 컴퓨터를 고쳐 쓰기 오래된 피씨 본체를 얻었다. 슬림한 케이스의 삼성 컴퓨터. 윈도7 설치된 것도 꽤 가볍고 빠르게 정리되어 있었다. 그냥 FreeBSD을 처음에는 설치하려고 하다가, 결국 애플리케이션이나 그냥 적당히 잘 돌아가는, 이맥스 정보만 잘 동작하는 기계면 될 것 같아서 아치리눅스를 설치. 만족스럽다. 데스크탑 원래 사용하던 것도 그렇게 엄청나게 좋은 것은 아니지만 만족스러운 사용인데, 문제는 책상 가운데에 모니터랑 키보드를 놓고 쓰면 책을 읽을 자리가 없어져서 항상 키보드 등을 한 켠으로 밀어놓는다.…

Ping 15/Feb/2020


새벽, 이른 저녁, 풍경과 공기, 일상, 꾸준함 매일 이른 새벽에 깨어나 일정한 방식으로 하루를 보낸다. 만족스럽다. 매일 매일 조금씩 다른, 하지만 같은 궤도를 걷는다. 그리고 궤도는 조금씩 변해가겠지. 춥거나 공기가 좋지 않거나. 하지만 그래도 일상은 매일매일이 귀한 시간이다. 꾸준히 이렇게 살아가면서 행복하다. 트위스비 에코 매일 일터에서 집에서 메모, 스케치를 하고 글을 쓸 때 만년필을 여전히 쓴다. 결국 계속해서 꾸준히 쓰는 만년필은 라미 사파리와 트위스비 에코. 라미 사파리는 잉크를 다 쓰고 나면 잘 씻어서 보관을 해둘까 생각하고 있다.…

Ping 09/Feb/2020


책: 초난감 기업의 조건 '기계인간'님의 트윗으로 소개를 받았다. 너무 잘 소개를 해주셔서 기대가 많았다. 그리고 기대만큼 재밌는 책이다. 경영서적, 마케팅, 혹은 자기계발서처럼 무언가 교훈을 얻고 싶어서 읽지는 않는다. 그냥 다른 사람들의 처절한 실패담과 그 아둔함을 보면서 쓰게 웃고 싶을 뿐이다. 그 사람들이 얼마나 멍청했는지는 잘 모르겠다. 그리고 그걸 비웃고 싶은 것은 아니다. 오히려 사람들이 그런 멍청함을 구현해내는 분위기, 흐름, 예의를 지키느라, 혹은 눈치를 보느라 제대로된 길에 들어서지 못하는 어떤 형태의 인간 사회에 대해 그렇게 냉소하고 싶어지게 만든다.…

100일의 기록


어느 날이었을지, 기록과 기억이 생생하다. 왜인지는 모르겠지만, 그날 새벽부터 앞으로 100일간 시도해보고 싶은게 생겼다. 그래서 그 당장 시작했다. 그리고 별로 해낸 것도 없는 주제에 당당하게 만족스러운 기분으로 "1일"과 그날 날짜를 필기 노트에 적었다. 그리고 그 다음 날, 또 다음 날. 그렇게 100일을 채웠다. 매일 나는 행복했다. 고요함, 주변에서 일어나는 일들을 내려놓고 평화로웠다. 그리고 수 많은 것들을 다시 생각하고 무엇보다 생각을 비울 수 있었다. 덕분에 이제는 관점과 행동이 더 많이 변한 것 같다.…

Covariant, Contravariant, Invariant등 Type Variances 이해하기


거의 그대로 베껴온 원본 글 계약서로서의 타입 타입을 생각할 때, <계약서>로 생각하는 것이 편하다. 왜냐하면, 전달한 값이 그 타입의 범위 안에서 전달 받은 쪽에서 취급이 제한된다는 보장이 있어야 안전한 코드를 컴파일러는 생성해줄 수 있다. (혹은 그렇게 안전한지 체크를 해준다.) Subtype, 일반화(Generalization), 특화(Specialization) 타입을 말할 때, 나는 보통 객체지향언어에서의 클래스의 상속 관계를 떠올린다. 꼭 그렇지는 않겠지만, 이 글에서도 그렇게 설명을 해보겠다. 이 글에서는 계속 다음 3개의 타입이 있고, 다음과 같은 관계라고 가정하겠다.…

Emacs 시작 시간 빠르게 만들기


이맥스 설정이 조금씩 자라날 때마다 이맥스를 새로 시작하는 시간도 길어져서 짜증이 슬슬나기 시작했다. 그래서 조금 개선해봤다. Quelpa + MELPA 거절하기 Quelpa 을 이용해서, MELPA등에 등록된 패키지가 아닌 내가 작성해서 GitHub에 올려놓고 사용하는 패키지를 Git으로 받아서 등록해 사용한다.1 그런데, 어차피 use-pacakge을 이용해서 MELPA 등 패키지를 받아와서 사용하는데, 불필요하게 MELPA 인덱스를 시작할 때마다 받아오고 한다는걸 알게 됐다. 당연히 껐다. 한참 빨라졌다. 참고: Inhibit MELPA git checkout or updates on init esup profiler Elisp 자체는 프로파일링이 가능한데2, $HOME/.…

<소프트스킬>, <커뮤니케이션 스킬>은 어떻게 한국 사회에서 괴물을 만드는지


우선 이야기를 시작하기 전에 일러두고 싶다. 내게 <소프트스킬>1은 매우 재밌게, 유용하게 읽은 책이었다. (2016년에) 이 이야기는 사실 커뮤니케이션스킬, 소프트스킬을 권장하고, 어떻게 해야 할까 하는 고민에서 나오는, 또한 그런 정말 중요한 것이 어떻게 (적어도 내가 느끼기엔) 이상한 괴물을 옹호하기 위해 변질되어 쓰이는지에 대한 것이다. <사회생활>, <원만함>에 대해 나는 자라오며 계속해서 잔소리를 들어왔다. 말해주는 사람들은 내 아버지와 몇몇 친척 형, 주변 친구들이었다. 그리고 하나도 그런 말들을 새겨 듣지 않았고, 잘했다고 생각한다.…

Lisp에서 Dynamic/Lexical Binding와 JavaScript의 var/let


다음의 간단한 코드를 읽어보자. var x = "lexical"; function maker() { return function() { return x; }; } { var x = "dynamic"; assert(maker()() == "???"); } maker()() 의 결과는 'dynamic' 이다. 심지어, 맨 마지막에 있는 {..} 블록을 넘어가서도 x 의 값은 여전이 'dynamic' 이다. 자바스크립트에서 binding은 어딘가 이도 저도 아니게 심각하게 고장난 느낌이다. 이 글에서 이야기할 lexical binding이나 dynamic binding에도 속하지 않는 느낌이고, 이번에 새로 추가된 let 도 이해하기가 어려운게 아니라 그냥 제대로 망가져 있는거 같다.…

direnv + direnv-mode 이맥스 지원 + C/C++/Python등 프로젝트 설정 적용하기


프로젝트의 빌드 디렉토리, virtualenv와 같은 경로의 설정, 경로 설정에 따른 빌드/실행/테스팅/스크립트을 편하게 하려고 만든 moonshot.el 와 유사한걸 검색해봤다. 몇 가지 이런 비슷한게 몇 가지 있는데, 내 상황에 쓸만한 것은 direnv NPM: dotenv https://www.npmjs.com/package/dotenv Node.js에서 Unix environment variable으로 .env 파일을 로딩해주는 역할인 듯. Shell에서 Hook 걸어서 사용하기엔 별로 인거 같았다. 그리고 Node.js 이외의 프로젝트에 적용하려면 매번 JS으로 wrapper을 짜주고 하기 싫었고, .env 파일이 그냥 정적인 key-value 문자열의 나열이라, 파일시스템에서 경로를 조립하고 하는데 별로라는 생각이 들었다.…

moonshot.el 최초 릴리즈


moonshot.el 을 만들어서 공개했다. 이맥스를 써오면서 불편하다고 생각한걸 간단히 하고 싶었었다: 불편함들 빌드 디렉토리 Projectile을 사용하니까 프로젝트 디렉토리는 관리가 쉬운데, 빌드 디렉토리는 관리가 어려웠다. 아예 Projectile이 추론하는 디렉토리 바깥에 빌드 디렉토리는 위치하는 경우도 있으니까. 예) GNU Autotools configure 이나 CMake으로 작업할 때, 소스트리 바깥에 빌드 디렉토리를 걸어놓아서 정리를 깔끔하게 할 수 있으니까. 그런데 이 '빌드 디렉토리'가 중요한게, 말그대로 컴파일한 .o 파일이나 최종 결과 실행파일 등이 여기에 쌓이니까 디버깅, 테스트를 위해서 실행파일을 실행하거나, 심지어 make 이나 ninja 같은 빌드 커맨드를 실행하기 위해서도 빌드 디렉토리를 지정하거나 이동해서 실행해야 하니까 귀찮다.…

2018, 2019년을 돌아보며


"일의 기쁨과 슬픔" 2018년은 정말 바쁘게 회사에 시간을 쏟으며 보낸거 같다. 그렇다고 개인적인 발전이나 성과를 얻을만한 일은 아니었다. 오히려 알던 것들을 소비하고 엔지니어링 이외의 분야에 많은 흥미로운 경험과 성장을 했던거 같다. 그리고 한국을 떠날때 싫었던 점들을 역시 그대로 느낄 수 밖에 없었던거 같다. 그리고 2019년에는 한국에서 다시 시작했었던, 내겐 그다지 만족스럽지 못했던 회사생활을 정리했다. 정리하는데 반년 정도가 걸렸다. 나도 우유부단하게 괜한, 그리고 헛된 기대를 했었기 때문에 시간을 오래 끌었었는데, 문제를 경험하고 처음 받았던 인상과 결정이 맞았다.…

Hololog Perl/CLI 버젼


https://github.com/ageldama/hololog-perl-cli 한줄씩 메모를 하는걸 좋아하고, 그냥 데스크탑에서 PDF을 읽거나 웹페이지를 읽으면서 어딘가에 생각난거나 이해한걸 필기하면서 진행하고 싶어서 만들었다. 다음 트윗 타래에서 이야기한것처럼, 그냥 트위터 비밀계를 써도 괜찮지만, 그것도 너무 웹브라우져 열고 하다보면 산만해져서. tweet 1206138361968070656 처음 시작은 Unix/GNU cat 을 간단하게 터미널에서 쓰면 된다는 생각이 들었다. cat >> foo.txt ..그런데 유닉스가 아닌 사람들, 윈도를 쓰는 사람들은 어떻게 하지? copy con foo.txt ..사실 위와 같이 cmd.exe 에서 실행해도 되겠지만, 뭔가 그래도 윈도 사용자들이나 터미널 화면을 무서워하는 사람들이 저런거 좋아할까.…