2019-04-17 수

외출할 때마다 손수건을 들고 나가기 시작한지 3년. 엘리베이터 버튼이나 화장실 문 손잡이, 버스, 지하철 손잡이 등등 다른 사람의 손이 닿는 곳은 다 손수건으로 잡는다. 그 덕분인지 3년간 감기를 거의 안 걸렸다. 손을 깨끗히 씻는 습관과 손수건으로 무언가를 잡고 쓰는 습관 덕분인듯. 이젠 손수건 없이 바깥에 나가면 초조해서 잘 못 다닌다. 손수건도 일곱개나 되어서 매일매일 다른 것을 쓴다.

2019-04-25 목

스페이스 바가 짧은 키보드가 좋다. 엄지손가락의 가동 범위가 얼마나 넓은데 그 대부분을 스페이스 바가 차지하는 건 너무 심한 일이다. 스페이스 바가 짧은 키보드를 일단 사서 써보면 계속 스페이스 바가 짧은 키보드만 사게 될 가능성이 크다고 생각.

맥의 경우, 스페이스 바가 짧으면 일단 커맨드 키가 엄지손가락 위치에 쏙 들어와서 아주 편하다. 윈도우라면 스페이스 바가 짧아지면서 오른쪽으로 생긴 공간에 한영전환키가 들어가므로 한영전환도 편해진다.

한편, 짧아진 스페이스바 양옆으로 기능 키를 넣어주면 굉장히 편하다. 내 경우엔 fn 키와 쉬프트 키를 배치한다. 쉬프트 키가 오른손 엄지 위치(스페이스바 위에 엄지가 올라가는 그 위치)에 딱 맞게 있으면 다시는 새끼손가락으로 쉬프트키를 누르고 싶지 않게 된다.

2019-05-11 토

작년에 띄어쓰기 때문에 크게 웃었던 건 하나가 갑자기 생각난다. 고속도로에서 옆 차로에서 부아아앙 달리던 버스 옆구리를 슥 봤는데. “해파리 무침” 이라 씌어 있었다. 아니 무슨… 왜 버스 옆구리에 해파리 무침이..? 반찬인가..? 혼란스럽던 와중 눈을 비비고 다시 보니 “해피 리무진”이었던 것.

2019-05-13 월

대학을 졸업하고 나는 선명한 결론을 내렸다. 나는 무신론자이고 유물론자라고. 이 두 가지 입장은 내게는 매우 확실한 power 솔루션이었는데 10대 20대에 겪은 개인적인 혼란스러운 질문들을 다 날려버릴 수 있었기 때문.

2019-05-14 화

깃헙 블로그 2년 하니까 글이 꽤 쌓였다. 8년 후엔 내가 놀랄 정도로 더 많이 쌓여있으면 좋겠다.

2019-05-16 목

한동안 youcompleteme 쓰지 말고 coc를 써봐야겠다. 10분 정도 써보니 느낌이 괜찮다.

2019-05-25 토

메모 투두 앱 아무리 많아봐야 vimrc 에 비슷한 기능 구현한 function 두세개 넣어놓고 돌리는 게 제일 편하다. 그거 다 설치해야 하고 업데이트 끊기면 어디로 갈아탈지 고민해야 하니… 그냥 코드 한두줄로 메모 투두 기능 관리 가능한 vim이 편하다.

2019-05-28 화

수동적 공격성에 대처하는 방법. 21세기 사회생활에 필수적인 소양이라고 생각한다. 자신을 돌아보기에도 좋다. 가끔씩 생각날 때마다 읽는데 몇 번이고 다시 읽어도 좋다.

2019-06-01 토

코딩 실력은 코딩을 많이 하고 다른 사람의 좋은 코드를 많이 읽으면 자연히 늘기 마련이다. 정말 얻기 어려운 것은 전문가다운 태도와 직업 윤리라고 생각한다.

2019-06-03 월

git은 무엇으로 해시값을 만드는지랑, 각 커밋들의 연결이 방향 비순환 그래프라는 것만 알면 덜 헷갈리고 금방 배운다고 생각한다. 익숙하지 않은 몇몇 분들에게 그런 방식으로 이론을 전달한 다음 커맨드를 알려드렸더니 굉장히 빨리 익숙해지던 기억. git 학습은 이론이 중요하다고 생각한다.

2019-06-11 화

로젠의 이산수학 완독. 20% 남아서 더 오래 걸릴 줄 알았는데 남은 부분 대부분이 부록과 찾아보기여서 방금 다 읽었다. 기쁘고 뿌듯하다. 대학 졸업하고 10년 동안(시간 참 빠르다), 1000페이지 넘는 수학 책을 다 읽은 건 처음.

2019-06-14 금

신체가 정신에 끼치는 영향을 다시금 깨닫게 된 하루. 치통이 극심하니 온갖 좋지 못한 생각들이 많았다. 표정도 하루종일 찡그리고 있었다. 주위 사람들에게도 걱정을 끼치지 않았을까 염려된다.

2019-06-15 토

GET과 body에 대해 로이 필딩이 쓴 답변글.

Re: [rest-discuss] Re: Introductory REST Article - Roy T.Fielding

2019-06-16 일

내 밑천 중 가장 중요한 것은 두뇌. 술 한 번 마시면 IQ가 1이 떨어진다고 생각하며 살고 있다. 100살까지는 개발하며 먹고 살고 싶으므로 술,담배,카페인처럼 정신에 영향을 주는 약물은 내 인생에 앞으로도 없을 것이다. 사실 맛있다고 생각해 본 적도 없고 먹고 싶지도 않다.

우물쭈물하다가 삼십대 후반이 되었다. 주위를 둘러보면 똑똑한 사람이 잔뜩 있는데 잘 살펴보면 부지런하기까지 하다. 이런 와중에 술 마시고 놀고 있다면 십 년 후의 나는 잔뜩 나빠진 머리로 더 똑똑한 사람들과 경쟁해야 할 것이고, 이겨내지 못할 것이다.

2019-06-19 수

데이터 중심 어플리케이션 설계. 언제 봐도 너무 좋은 책.

2019-06-23 일

키보드에 고무링 추가하는 작업 꽤 고생스러워서 작업하는 도중에 조금 후회했는데, 하루 써보니 너무 좋다. 잘 한 결정이었다. 회사에 놓고 쓰는 키보드에도 작업해줘야겠다.

키를 누르고 나서 키 높이가 복원될 때 마지막 순간에 하우징을 때리지 못하고 고무에 부딪혀 사라락 멈추는 느낌이 아주 좋다. 키보드가 아주 많이 조용해져서 집중하기에도 좋다.

2019-06-29 토

페이커 인터뷰. 김연아도 그렇고, 세계 1위들은 비슷한 점이 많다. 항상 노력하고, 쾌락을 아낀다. 배울 점이 많다. 읽고 또 읽는다.

2019-07-03 수

소프트웨어 환멸감. 글쓴이의 마음은 어느 정도 이해할 수 있다. 그러나 소프트웨어는 건축물이 아니다. 세상은 무섭도록 빠르게 변해가고, 그 와중에 소프트웨어 작성자는 가치를 생산해야 한다. 누구나 비슷한 생각을 해봤겠지만 곧바로 고개를 내젓고 모니터를 보며 해야 할 일을 했을 것이다.

아주 오래 가는 무언가를 만드는 것은 값진 일이지만, 안타깝게도 그것은 비용이 많이 든다. 심지어 다같이 힘을 합쳐 비용을 줄이기로 결심한다 하더라도, 그 상태가 아주 오래 가게 하려면 그것도 비용이 든다.

모든 자동차가 탱크일 필요는 없다. 세상 모든 것이 불합리하고 느리고 여기저기 중복되어 엉망인 것 같아도 이제 우리 손에는 엄청 작은 컴퓨터가 한 대씩 들려 있지 않은가? 라고 생각하면 소박한 낙관론일까.

소프트웨어를 유지 보수해야 하는 이유는 세상이 멈춰있지 않고 변화하기 때문이다. 그리고 최근의 소프트웨어가 옛날 소프트웨어보다 더 엉망인 것처럼 보인다면, 그건 아마 세상이 변화하는 속도가 더 빨라져서 그런 것일 가능성이 높다고 본다.

예전보다 몇 배는 빨리진 세상이 변하는 속도를 따라잡으며 가치를 만들어 내려면 당연히 잡히는 대로 가져다 쓰는 것. 바이트 단위로 용량 계산하며 디스켓에 꾸겨넣던 시대에는 그래야 속도를 따라잡을 수 있었던 거고. 이제는 도커도 쓰고 쿠버네티스도 쓰고 그러다 보면 left-pad 같은 것도 쓰고.

2019-07-04 목

php를 놀리는 일을 좋아하지 않는다. 생각해보면 잘못된 의사결정의 문제가 php 사용자에게 얹혀지는 상황이 가장 큰 문제. 이런 상황에 놓인 사용자는 로직만 풀어내야 하는 것이 아니라 잘못된 결정과 일정을 토대로 말이 되는 결과를 만들어야 한다.

2019-07-07 일

내가 수행중인 야심찬 프로젝트: 사놓고 안 읽은 책 한 권 한 권 읽어나가기. 이것을 위해 올해 1월 1일에 책꽂이 정리를 했었다. 책꽂이 제일 아랫단을 비워놓고, 그날부터 읽은 책들을 아랫단에 옮겨 꽂는 것. 즉, 올해의 나는 위에 있는 책들을 한 권 한 권 아래로 내리는 작업을 하고 있다.

2019-07-08 월

다음 읽을 책을 고민하다가 TCP/IP 선택. 문과출신 비전공자라 제대로 공부한 적이 없어 마음에 걸렸는데 퇴사해서 시간도 많겠다, 이번 기회에 공부해야겠다. 호기롭게 마음먹고 펼쳐보니 목차만 44페이지에 달한다. 1539페이지. 오르고 또 오르면 못 오를 리 없겠지.

2019-07-10 수

TCP/IP 완벽 가이드 읽기 잘했다. 한 장 한 장 넘길수록 잘 했다는 생각이 든다. 어떻게 보면 다 아는 이야기들인데, 읽으면서 제대로 아는 건 많지 않았다는 생각이 든다. 대부분 막연한 기억과 추측이었다. 잘못 알았던 것이 나올 때마다 기쁘다. 추측했던 것이 맞아도 기쁘다.

2019-07-13 토

더닝크루거 효과를 항상 기억해야 한다. 겸손을 배우는 것은 정말 어려운 일. 겸손은 필요할 때 벼락치기로 익힐 수 있는 것이 아니기 때문이다. 사실 내가 잘난 줄 알고 살다 보면 자연히 큰 코 다치는 날이 오곤 한다. 그런 사건들에서 교훈을 얻을 수 있는지가 중요한듯.

2019-07-14 일

“10x 엔지니어 채용하는 방법”이 트위터에서 화제인 모양이다. 나는 1인분이라도 제대로 하는 것이 중요하다고 생각한다. 그리고 대체로 이런 문제는 조직(환경)과도 관련이 크다.

비범한 인재들을 모아놓고 평범한 일을 하는 조직이 있는 반면, 평범한 사람들이 모여 비범한 일을 해내는 조직이 있다. 나는 후자의 조직에서 일하며 성장하고 싶다.

2019-07-17 수

아침에 가벼운 운동을 하고, 아주 쉬운 퍼즐을 풀면서 시동 걸고, 책 읽기 시작하면 집중력이 오래 유지되는 것 같다. 최근 오래 몰입한 날들의 공통점. 이러다가 집중력 떨어지면 낮잠 자고 일어나면 오후도 비슷하게 유지할 수 있는 느낌. 딴짓하느니 낮잠이 백만배는 나은 느낌.

2019-07-19 금

쌓아둔 책읽기 프로젝트를 하면서 깨닫게 된 것이 있다. 시간은 충분하지 않다. 처음엔 읽지 않은 책의 수를 빨리 줄이기 위해 빨리 읽을 수 있는 책을 골라봤었다. 이렇게 하니 쌓인 책의 수는 빨리 줄어갔다. 그러나 책을 선정하는 기준이 분량이었으므로 중요한 책은 상대적으로 적게 읽게 되었다.

누군가 사망하는 시점에서 보면 평생 읽을 수 있는 책의 양은 정해져 있다고도 볼 수 있다. 그런데 이 사람이 분량만을 기준으로 해서 책을 고르게 되면 어떻게 될까?

앞으로 읽을 X권의 책 중에서 그 자신에게 덜 중요한 책들이 높은 비율을 차지하게 될 것이다. 따라서 나는 다음과 같이 결론내렸다. 항상 오늘 읽을 수 있는 가장 중요한 책을 읽어야 한다고.

‘저 책은 나한테 필요한 책이지만 양이 많고 어려우니까 다음에 읽어야지’ 같은 생각이 가장 위험하다.

목표를 잘못 잡은 것이다. 인생은 한 번이다. 읽을 수 있는 책도 한정되어 있다. 이걸 잊지 말자.

2019-07-20 토

“클러지(kludge)”는 문제를 투박하게 해결하는 데 쓰이는 무언가를 의미한다. 예를 들어 렌치를 이용해 손톱을 부수는 것과 같다고 한다.

2019-07-21 일

제 16 회 서울특별시 협회장배 우슈대회. 마흔 되기 전에 운동으로 금메달 하나 땄다. 기쁘다.

2019-07-28 일

내가 1인분 이상을 한다고 착각했던 시기가 있었다. 내일 할 일을 일찍 끝내놓고, 다음 주 할 일까지 확 끌어당겨 끝내놓고 이정도 했으면 괜찮게 일한 것이라고 만족했다. 하지만 그래서는 안 됐다.

내 착각 속에서나 1인분 이상을 한 것이지, 다른 사람에게는 아무런 영향이 없다. 편해진 사람이 나 혼자 뿐이기 때문이다. 정말 1인분 이상을 해내려면 내가 내일 할 일을 끝내는 방식으로 1인분을 초과하는 게 아니라 다른 사람이 내일 할 일을 줄여주는 방식으로 1인분을 초과해야 한다.

나는 그냥 내가 편해지는 방향으로만 노력했던 것. 다른 방향으로 노력했다면 팀 전체의 생산성이 향상되었을 것이다. 아주 좋은 팀이었지만 더더욱 좋은 팀이 될 수 있었을 것이다.

2019-08-03 토

백준 저지 온라인 사이트를 개발하신 최백준님 강연을 듣고 집에 왔다.

몇 가지 놀라운 점이 있었음. 일단 첫번째는 지난 10년간 혼자 개발하고 운영하셨다는 것. 그리고 두번째는 백준 저지 사이트 개발 시작했을 때가 웹 개발에 대해 전혀 모를 때 였다는 거.

그리고 세 번째는 지난 주 토요일에 서비스 장애가 발생했을 때 이제 다 그만 운영할까… 하는 생각을 하셨다는 거(헉). 네 번째는 백준저지 사이트를 통한 수익으로는 서버 운영비 충당이 안된다는 거(…)

그리고 개인적으로 공부를 거의 안 하시고, 닥친 일을 해결하다보니 실력이 쌓인 케이스라고 하심. 운영중에 겪은 다양한 일들과 사용자들의 어뷰징 등의 이야기들이 매우 흥미로웠다. 희귀하고 좋은 강연이었다.

어뷰징하는 회원들 때문에 많이 힘들었지만 그로 인한 문제를 해결하면서 많이 성장하셨다고 한다. 하지만 아직도 이상한 어뷰징 하는 사람들이 있어서 힘들고 고민된다고 하심. 몇 년 전부터 서비스 종료도 고민하셨지만 그래도 긍정적으로 생각하시려는듯.

유저 관리 이야기도 흥미로웠는데 처음엔 어뷰징하는 유저에게 직접 전화를 걸어서 그러지 말아달라고 부탁하셨다고(…) 요즘은 1년간 제출 금지 처리를 하는 식으로 정책을 세워서 대응. 그런데도 애매하고 난감한 경우가 있다고 한다.

10년 간의 이야기를 약 3시간 동안 풀어낸 것이라 생략이 많았겠지만 그런에도 값진 경험을 들을 수 있어 좋았다. (최백준님 존경합니다.)

한편 원래 사이트 이름은 백준이 아니었는데 술을 먹고 바꿔본 이름이 의외로 효과가 좋아서 그냥 쓰신다고(…)

자신만의 운영 원칙이 확고하고, 사용자 데이터와 문제의 원작자들에 대한 강한 존중을 갖고 계셔서 매우 멋있으셨음. 이 원칙과 존중 때문에 백준 저지 온라인이라는 훌륭한 사이트가 나왔다고 생각한다.

2019-08-04 일

페북에서 논리 게이트의 어원 이야기가 나왔기에 콘라드 추제가 그 시작이 아닐까 싶어 찾아보았다. 가능성이 높은 것 같다.

We show examples of the three basic gates: conjunction, disjunction, and negation. There are many possible mechanical realizations for the main idea, and Zuse showed great creativity drawing always the variation of a gate that best fitted the 3D structure of the machine. Fig. 5 shows what Zuse called the “elementary gate”. The “actor plate” can be regarded as the machine cycle. This plate moves cyclically from right to left and back. The upper plate is the data bit we are using for control. It can be in the position 1 or 0. The rod going though the openings moves horizontally following the plate (keeping its verticality). If the upper plate is in the 0-position, the actor plate’s movement cannot be transmitted to the actuated plate (see Fig. 6, left side). If the data bit plate moves to the 1-position, the movement of the actor plate is transmitted to the actuated plate. This is what Konrad Zuse called a “mechanical relay”, just a switch that closes a mechanical “current”. This elementary gate can thus copy a bit from the upper to the acted plate, rotating the movement of the bit by 90 degrees.

https://arxiv.org/pdf/1406.1886.pdf (9쪽)

2019-08-09 금

요즘은 지나간 일정을 기록하는 도구를 만들 생각을 한다. 미래의 일정을 관리하는 도구는 엄청 많은데, 과거의 기록을 남기는 도구는 괜찮은 걸 찾기가 어려운 것 같다. 내가 가장 선호하는 일정 기록은 종이 다이어리에 볼펜으로 작성하는 것. 한 일 위주로 매일 짧은 기록을 남기고, 주 단위, 월 단위로 요약을 짧게 남긴다. 기록을 Tree 구조로 남기는 셈. 이렇게 기록을 남기면 굉장히 빨리 찾는다. 문제는 다이어리가 1년마다 하나씩 늘어난다는 것. 점점 선형 탐색에 가까워질 것이다. 이 방식을 종이로 하지 않고 컴퓨터로 하면 찾아보기가 더 쉽겠지.

다만 이런 도구를 많은 사람들이 쓰는 서비스로 만들면 개인정보를 다루게 되니 신경을 많이 써야 한다. 당연히 모든 데이터를 암호화하여 저장하겠지만. 관계 있는 법률을 찾아보아야 하고 약관도 작성해야 한다.

생각이 너무 많은가? 혼자 로컬에서 쓸 거라도 만들어봐야겠다.

2019-08-13 화

TCP/IP 완벽 가이드 완독. 1490페이지 책을 36일간 읽었다. 너무 빨리 읽은 것 같기도 한데, 머리속에 인덱스 넣는 느낌으로 부지런히 읽었다. 이젠 뭘 모르는지 알고, 잘 모르겠는 관련 용어를 들으면 집에서 책을 뒤져 찾아볼 수 있다.

이니까 하루에 20장씩 읽은 셈이다. 이렇게 꾸준히 기본서를 읽어갈 수 있으면 좋겠다.

2019-08-18 일

우슈 3단 단증을 받았다. 기쁘다.

2019-08-24 토

지옥같은 이틀이었다. 윗집에서 누수가 발생해 우리집까지 흘러내려왔는데 그걸 너무 늦게 발견했다. 커터칼로 벽지를 찢고 잡아당겼다. 곰팡이가 그렇게 많을 수 있다는 걸 생각해 본 적이 없었다. 수리비는 윗집에서 부담하지만, 벽이 마를 때까지 작은 방을 쓰지 못한다. 문제는 문제의 벽이 물에 잘 젖는 재질이라는 것.

벽을 충분히 말리지 않고 도배를 해버리면 곰팡이가 또 올라올 수 있다고 한다. 콘크리트와 시멘트가 드러날 때까지 벽지를 죄다 뜯어내고 “최소한” 2개월을 건조시킨 다음에야 도배를 해야 한다. 초겨울까지 방 하나를 흉가처럼 방치해야 한다

그리고 작은 방의 벽지를 어느 정도 뜯어내고 이제부터 몇 달간 말리면 되겠구나 할 무렵, 아내가 발코니쪽 거실 천장 부근에서 거뭇거뭇한 얼룩을 발견한 것. 맙소사. 그곳 벽지 밑에도 곰팡이가 있을 거라는 게 너무 뻔했다. 월요일이 되면 관리사무소에 문의해 비슷한 사례가 있었는지 확인해 보고 윗집과 또 이야기해봐야겠다.