2024 Q1 Review

이번에는 분기별 회고를 제 시간에 딱 맞게 할 수 있었다. 이번엔 좀 기록하는 루틴이 어느 정도는 생활화가 되어 있어서 그런 것인지는 모르겠지만, 정신적인 저항감이 줄어든 것은 확실한 것 같다. 책도 지금까지 돌아봤던 것과는 다르게 좀 더 읽는 분량도 많아졌던게 체감된다. 생각했던 것보다 큼직큼직한 이벤트도 있었던 것 같다. 의도한 것은 아니지만 좋은 쪽이긴 했다는게 신기하다.

Timeline

  • 2024-02-17 : 나름… 선배 노릇 한답시고 후배들이 여는 프로그래밍 대회 개인 후원도 하고, 양꼬치랑 고량주도 한번 통크게 쏴줬다.
  • 2024-02-18 : 신간 IT 서적 알림봇 운영 시작
    • 이전에 트위터에서 구독 중이던 계정이 트위터의 API 정책 변경으로 인해 운영이 종료되는 바람에 누군가는 만들어주기를 기다리고 있다가 아무도 안 만들길래 내가 직접 만들어서 마스토돈에 올렸다.
  • 2024-03-06 : vim.kr 리뉴얼 페이지 오픈
    • 실은 이건 1월 쯤 부터 불 붙어서 시작했던 프로젝트이긴 했다. 하지만, 목표를 너무 높게 잡아서 그런지 중간중간에 지체가 되는 일이 생기기도 했고, 기능적으로 당장은 투머치한 기능들을 넣으려고 하다보니 지체가 생긴다는 것을 깨닫고 가능하면 미니멀리즘을 추구하면서 적당히 부족한 상태에서 3월에 겨우 출시했다.
    • 서비스 출시를 하는데 있어서도 지엽적인 퀄리티에 지나치게 집중해서 출시 자체를 미루는 우를 범하지는 말아야 겠다는 뼈아픈 교훈을 얻었다. 출시를 계속 미루고 미루면서도 항상 초조함이 머릿속을 차지했던 것 같다. GTD 책에서 설명하는 것처럼 머릿 속에서 떠나가지 않는 것이 생각보다 많은 면에서 신경쓰이게 한다. 가능하면, 쳐낼 수 있으면 적당한 마지노선의 퀄리티로 쳐낼 수 있어야 한다.
  • 2024-03-23 : 2024 PyWeb Symposium 스태프로 참여
    • Python 기반의 웹 개발 이라는 주제를 다루는 행사이기 때문에 의미가 있는 행사였다. 이런 행사가 있었다는 것 자체도 Python 생태계에 더욱 의미가 있다고 생각하고 있고, 이 행사를 계기로 더 많은 사람들이 모여서 Python 생태계에 기여할 수 있게 되었으면 좋겠다.
    • Python Korea 디스코드… 흥할 수 있을까… vim.kr은 사실상 하고 싶은대로 운영해도 잘 돌아가긴 하는데, Python Korea 디스코드는 아직까진 자신이 없다.

개인적으로 사용하는 도구도 많이 바뀌었는데, 나름 큰 특이점이기도 해서 기록해둔다.

  • 2024-03-14 : Todoist CLI 기반의 할일 관리 자동화 시작 참고
    • 지금까지 만난 사람 중 수상하게 Ruby를 잘하는 개발자 분과 커피챗을 하면서, dotfiles 구성하는 방식에 대해서 깊게 고민을 하는 시점이 왔었는데, 그 중 가장 큰 특이점이라고 볼 수 있겠다.
    • 특히, mise 라는 개발 도구의 버전관리를 해주는 CLI 도구의 존재를 알게 되면서 더더욱 삶의 질이 달라졌다. mise에서 커스텀 태스크를 만들어서 실행할 수 있다는 점이 굉장히 많은 가능성을 열어줬다. vim의 명령 모드에서도 실행할 수 있고, vim의 터미널 모드에서도 실행하는 등의 가능성이 생겼기 때문이다. 이는 todoist cli 를 감싸는 스크립트를 적극적으로 사용하는 계기를 제공해주기도 했다.
    • mise run todoist <subcommand>
      • 이 스크립트의 핵심에는 gum 이라는 CLI 툴이 있는데, 이 툴의 진가는 다른 스크립트 언어(bash, ruby, perl, python)로 작성된 스크립트와 함께 사용할 때 나타난다.
        • text input, select, multi select 등등의 UX를 터미널에서 지원을 해주는 아주 고마운 CLI 도구인데, 이런 가능성 하나 때문에 터미널 환경에서 상호작용하면서 어떤 입력을 했느냐에 따라 todoist cli 명령이 다르게 실행되는 식으로 스크립트를 작성할 수 있게 되었다.
      • 원래 계획이었다면, todoist cli 의 모든 커맨드를 적당히 감싸서 내가 원하는 기능을 만들어내는 것이었는데, CLI 도구 자체도 그렇게 완전한 기능을 가진건 아니어서 몇가지 기능은 내가 직접 여러가지 우회방법을 써서 구현해야 했다.
    • mise run todoist import : pipeline으로 들어온 todoist query들을 line by line으로 읽어서 todoist에 추가해주는 스크립트
      • 이 스크립트를 구현할 때부터 슬슬 특이점이 생겼다.
      • Neovim의 Visual 모드로 들어가서 단순히 영역을 선택하고 명령어 파이프라인으로 넘기기만 했을 뿐인데 내가 꿈에 그리던 Todoist 기반의 할일 관리 자동화 를 해낼 수 있었다.
        • 즉, 일일 로그에 목표시간 / 할일 / 우선순위를 미리 나열해놓고 Todoist API에 파라미터로 넘겨주기만 하면 되고, Neovim을 벗어나지 않고도 기록행위를 하는 맥락에 온전히 집중할 수 있게 되었다.
      • 결과적으로는 갤럭시 워치 에서도, 갤럭시 버즈에서도 todoist 알림을 받을 수 있는 워크플로우를 만들 수 있었다.
        • 이걸 어딘가에서도 발표할려고 미리 반쯤 예행연습을 했는데, 주최자 분도 실시간 데모를 보고 굉장히 좋아하셨다.
    • mise run pomo : 알림받을시간 / pomo / 진행하는 프로젝트 포맷으로 미리 나열하기 위한 템플릿 생성기라고 볼 수 있다. 참고
      • 위에서 언급했던 것처럼 todoist query를 나열해놓고 visual 모드에서 일괄적으로 todoist api 요청 날리는 쪽으로 배치처리할 수 있었기 때문에, pomodoro 앱처럼 매 시간 25분/55분 마다 알림을 받을 수 있게 워크플로우를 만들 수 있었다.
  • 2024-03-24 : 개인 위키에 불렛저널 적용 시작
    • mise run monthly_plan : 월간 계획 템플릿을 생성하는 스크립트. 어떤 포맷으로 적용하는지는 아래와 같댜. 책에서 읽었던 내용을 적당히 흉내내는 느낌으로 스크립트를 만들었다.참고

---
title: Planner/2023-04
date:  2024-03-24
tags: #planner
---

     |    |     |
  04 | 01 | Mon |
     |    |     | (B) Hotwire 차력쇼
* 04 | 02 | Tue | 홈커밍데이 참관
  04 | 03 | Wed |
  04 | 04 | Thu |
  04 | 05 | Fri |
* 04 | 06 | Sat | 벚꽃놀이.....?
     |    |     | mastodon api 작업
  04 | 07 | Sun |
     |    |     |
  04 | 08 | Mon |
  04 | 09 | Tue |
  04 | 10 | Wed |
* 04 | 11 | Thu | <T> 발표자로 지원해야할 지도....?
  04 | 12 | Fri |
* 04 | 13 | Sat | 돔문회 커피챗
     |    |     | 전 직장 동료 커피챗
  04 | 14 | Sun |
     |    |     |
     |    |     | Jinja2 LSP 세팅하기
     |    |     | Django Jinja 세팅
     |    |     |
  04 | 15 | Mon |
  04 | 16 | Tue |
  04 | 17 | Wed |
  04 | 18 | Thu |
  04 | 19 | Fri |
  04 | 20 | Sat | 버퍼로 비워두고 있는 날
     |    |     |
     |    |     |
     |    |     |
  04 | 21 | Sun |
     |    |     |
  04 | 22 | Mon |
  04 | 23 | Tue |
  04 | 24 | Wed |
  04 | 25 | Thu |
  04 | 26 | Fri |
  04 | 27 | Sat | B씨 커피챗
  04 | 28 | Sun | 홈커밍데이 세션 마감
     |    |     |
  04 | 29 | Mon |
  04 | 30 | Tue |

Books

  • 브레인 포그
    • 브레인 포그를 최근 들어서 많이 겪고 있어서 호기심에 산 책이다.
    • 좀 더 객관적으로 관찰해보고 어떻게 대처할 수 있을지에 대해 가이드라인을 주는 책이라고 봐도 된다.
    • 부정적인 사고의 흐름이 사실은 뇌의 동작과 연관이 있는 현상이고, 책에서 예시를 설명하는 것들을 보면 이거 내 얘긴데? 싶을 정도로 대부분 들어맞다. 이걸 어떻게 컨트롤할 수 있을지를 설명하고 있다.
  • 논리적 사고력을 기르는 알고리즘 수업
    • 학생일 때, 알고리즘 문제 풀이를 굉장히 많이 했었는데 그 당시에 건너건너 알던 사람들이 번역한 책이래서 읽어봤다.
    • 분명 알고리즘 문제 풀이에 대해서는 신선한 접근을 하고 있는 책임은 분명했다. 개인적으론 굉장히 만족했다. 다만, 챌린징한 도전을 좋아하는 사람들에게는 정말정말 권장하고 싶은 책이다. 초보자의 입장에선 도전정신이 엄청 충만한게 아닌 이상에야 권장하기는 어려운 책이다.
    • 독서 타래
  • Land of Lisp
    • 국내에선 “만들면서 배우는 Lisp 프로그래밍”으로 번역되어서 출간된 책이다.
    • 사실 10년 전에 한번 읽었던 책이다. 그 당시에는 AST, 파싱 이론, DSL 등에 대한 이해가 부족해서 이해하기 어려웠는데, 이번에 다시 읽으니 와닿는 것들이 달랐다.
    • 절판된 것은 정말로 아쉬웠지만, 집에 Lisp를 다루는 책만 4-5권 정도 있는데도 Lisp에 포함된 여러가지 개념들을 설명하는 것 자체는 이 책이 가장 잘 하고 있다고 생각한다.
    • 독서 타래
  • 불릿저널
    • 내가 기록을 하는 방식, 내가 시간을 관리하는 방식, 삶을 대하는 방식에 대해 많은 영감을 준 책이다.
    • 독서 타래
  • Docker Up and Running : Docker 1.x대 버전 기준으로 쓰여진 책이라 핵심만 적당히 추리고 넘겼다.

Conclusion

지금까지의 리뷰를 되돌아보면 개인적으로는 큼직한 일들이 많이 생기긴 했지만, 업무적으로는 아직까지 공개할만한 수준의 이벤트는 잘 없다. 가능하면 업무적으로 공유할만한 것들이 생겼으면 좋겠지만, 아직까지는 시기가 아닌 것 같다.

다만, 생산성에 대해서는 점진적으로 개선되고 있는게 느껴지고 있기도 하고, 좀 더 다정한 사람들을 가까이하고, 나를 위한 시간을 가지는 것의 중요성을 최근에 가지게 되었던 것 같다. 나를 위한 시간을 가질 수 있게 되면서 책도 상대적으로 많이 읽을 수 있었고, 내가 공부하고 싶었던 것들, 그리고 업무 환경을 최적화할 만한 요소들을 연구할 수 있는 시간을 업무시간과는 완전히 격리해서 확보할 수 있었다.

최근 들어서는, Vim 관련으로도 강연 일정이 최소 3개 이상 잡혔다. NeovimConf.live 에도 무조건 지원해볼 예정이기도 하다. 영어 스피킹이 진짜 문제인데, 영어권에 있는 개발자 분들께 검수를 요청해볼까도 진지하게 고민하고 있다.

암튼….. 이번엔 좀 적당히 알찬 분기였다….