- 한 개인 블로그가 15년을 버틴 출발점은 7일 게임 프로토타입을 만들고 진행 상황을 기록하려는 필요였고, 시간이 지나며 글쓰기와 프로젝트 기록 자체가 지속 동력이 됨
- 처음에는 StarCraft나 Supreme Commander 같은 RTS를 만들려다 게임 엔진 함정에 빠졌지만, 빠른 프로토타이핑 방식이 실제 결과물을 만드는 쪽으로 방향을 바꿈
- 블로그는 생각을 정리하고 공개 품질을 높이며, 커스텀 키보드 레이아웃·3D 프린터·책 집필 같은 개인 프로젝트 저장소 역할을 해옴
- 조회수나 외부 피드백은 핵심 동기가 아니며, 통계를 두지 않는 이유도 글쓰기가 클릭을 좇는 활동으로 바뀌지 않게 하려는 데 있음
- 기술 스택은 PHP/Kohana, Perl/Mojolicious, Jekyll, Hakyll, Rust 기반 생성기, Djot, Neovim 연동으로 바뀌었고, 글은 짧은 개발 로그에서 긴 프로그래밍·프로젝트 글로 커짐
시작점: 게임 엔진 함정에서 벗어나기
- 블로그의 출발점은 빠른 게임 프로토타입을 만들고, 계획과 결과를 기록할 공간을 갖는 것이었음
- 처음 목표는 Tetris 같은 단순한 게임이 아니라 StarCraft나 Supreme Commander 같은 큰 RTS 게임이었고, 이를 위해 게임 엔진부터 필요하다고 판단함
- 실제 작업은 게임보다 엔진 기능 구현에 머무름
- 키보드와 마우스를 지원하는 메뉴
F2로 여는 콘솔과 재컴파일 없이 unit speed 같은 변수를 바꾸는 기능Ctrl,Shift, 우클릭 동작을 포함한 유닛 선택 기능
- 결과적으로 게임에 가까운 결과물은 없었고, 그 속도였다면 지금까지도 끝나지 않았을 것으로 봄
- The Experimental Gameplay Project의 “7일 안에 게임 프로토타입을 만들 수 있어야 한다”는 방식이 Game Engine Trap에서 벗어나는 계기가 됨
계속 블로그를 쓴 이유
- 초기 목적은 약 12개의 게임 프로토타입을 만들면서 달성됐고, 그 과정에서 작은 게임 엔진 라이브러리도 생김
- 이후 블로그 주제는 다른 관심사로 넓어졌고, 지속 이유도 여러 갈래로 나뉨
-
글쓰기와 사고 정리
- 가장 큰 이유는 글쓰기 과정 자체를 좋아하기 때문임
- 동기가 항상 일정했던 것은 아니어서, 2022년처럼 거의 쓰지 않은 해도 있었음
- 어떤 때는 억지로라도 글을 써야 했음
- 글을 쓰면 생각의 오류를 찾고 다른 관점을 검토하기 쉬워짐
- 이미 쓴 글을 다시 쓰는 과정은 코드 리팩터링처럼 생각을 더 다듬는 효과가 있음
-
공개가 품질을 끌어올림
- 공개할 글·코드·아이디어는 혼자 보관할 때보다 더 많이 다시 읽고 고치게 됨
- 실제 독자가 없더라도, 무언가를 공개한다는 행위 자체가 그런 압박을 만듦
- 커스텀 키보드 레이아웃은 공개하지 않았다면 지금처럼 잘 발전하지 못했을 사례임
- 초기 글은 생각의 흐름에 가까웠지만, 현재의 큰 글들은 여러 차례 수정과 재작성을 거친 뒤 공개됨
- 여러 초안이 항상 존재하지만, 흥미를 잃거나 충분히 다듬기 어렵다고 판단하면 폐기됨
-
개인 프로젝트와 회고의 저장소
- 블로그는 3D 프린터 제작, 책 집필 같은 개인 프로젝트를 기록하는 장소가 됨
- 매년 작은 연간 회고를 작성하며 지난 1년의 하이라이트를 정리함
- 연간 회고는 아무 일도 하지 않았다는 우울한 감각을 상쇄하는 데 도움이 됨
- 공개 여부와 상관없이 어떤 형태로든 연간 회고를 해보는 것을 권장함
-
블로그 자체가 취미 프로젝트
- 프로그래밍은 가장 큰 취미이며, 블로그는 오직 자신만을 위해 존재하는 프로젝트임
- 필요한 만큼 다시 쓰고, 리팩터링하고, 작은 기능을 추가할 수 있으며, 다른 사람에게 설명하거나 맞출 필요가 없음
- 블로그 운영은 글쓰기 연습이기도 하며, 글을 잘 쓰는 능력은 효과적인 소프트웨어 개발자에게 중요하지만 과소평가되기 쉬운 역량임
- 단순히 생각의 흐름을 ChatGPT에 던지는 것만으로는 충분하지 않다고 선을 그음
조회수와 외부 피드백에 기대지 않음
- 가끔 받는 칭찬 이메일은 기분 좋은 보너스일 뿐, 블로그를 지속한 이유는 아님
- 블로그는 남이 읽기 위해서라기보다 자신이 쓰기 위해 유지됨
- 조회수 추이나 인기 글 그래프가 없는 이유는 통계를 전혀 보관하지 않기 때문임
- 독자 수나 인기 글에 관심을 두고 싶지 않으며, 통계를 추가하면 활동 자체를 위한 글쓰기가 클릭을 좇는 글쓰기로 바뀔 수 있다고 우려함
- 조회수를 좇았다면 이렇게 오래 블로그를 계속하지 못했고, 블로그에서 얻은 여러 이점도 놓쳤을 것으로 봄
기술 스택의 변화
- 블로그를 오래 유지한 이유 중 하나는 기술 스택을 바꿔가며 실험할 수 있었기 때문임
- 초기에는 배우고 싶은 언어를 고르는 방식에서 출발했고, 잘 작동하는 지루한 구성으로 갔다가, 다시 직접 만지는 방향으로 돌아옴
-
2008년 전후: PHP와 Perl
- 2008년 전후에는 PHP와 Kohana Framework로 시작했고, 문서에 좋은 기억을 갖고 있음
- 웹사이트를 만드는 방법은 알아냈지만, 실제 블로그로 발전하지는 못함
- 2009년 초에는 Perl과 Mojolicious로 다시 작성하려 했고, 뚜렷한 결과물이 있었는지는 확실하지 않지만 다루는 과정은 즐거웠음
-
2009년 7월: Jekyll로 정적 사이트 전환
- 2009년 7월에는 정적 사이트 아이디어를 접하고 Perl을 버린 뒤 Jekyll을 선택함
- 당시 Jekyll은 인기 있는 정적 사이트 생성기였고, 멋진 기술을 만지작거리는 대신 실제로 글을 쓰기 시작하게 한 선택으로 남음
-
2013년 전후: Hakyll과 Git
- 2013년 7월 전후에는 단순히 잘 작동하는 백엔드에 싫증을 느끼고, Haskell을 배우기 위해 Hakyll로 생성기를 교체함
- Hakyll은 깔끔한 DSL을 가진 정적 사이트 생성기로 평가됨
- 2013년 7월은 기록상 가장 이른 Git 커밋 시점이며, 그 전에도 Git을 사용했을 가능성이 있음
- 게임 프로젝트에서는 2009년에 SVN을 버림
- 2013년부터 2022년까지 Haskell 여정은 충분히 성숙하지 못했고, 그 결과 여러 해 동안 블로그 기능을 거의 추가하지 못함
-
2022년 이후: Rust, CSS, Djot, Neovim
- 2022년 8월에는 기존 솔루션을 벗어나 Rust로 블로그를 다시 작성함
- 사이트 생성기를 완전히 통제할 수 있게 되면서 작은 기능을 만지고 추가하는 일이 다시 재미있어짐
- 2022년부터 2024년까지 가장 좋아하는 기술 요소는 CSS임
- 디자인을 다듬고 작은 조정을 하는 시간을 좋아함
- Sass를 쓰지만 95%는 순수 CSS임
- 현대 CSS는 훌륭하다고 봄
- 2024년 2월에는 거의 우연히 Markdown 대신 Djot으로 글을 쓰기 시작함
- Djot용 Tree-sitter 문법을 찾지 못해 직접 만들었음
- 2024년 5월에는 사이트 생성기를 Neovim과 연결하는 작업을 진행 중임
- 자동완성, 진단, 글 사이 이동 같은 기능을 제공하려는 목적임
- 이런 IDE 같은 기능은 글쓰기 경험을 크게 끌어올림
- 현재 블로그 소프트웨어는 의도적으로 하나의 독립 프로젝트가 됐고, 만지작거리기 좋은 재미있는 대상임
글의 초점과 규모 변화
- 시간이 지나면서 글은 더 커지고 야심차게 변함
- 초기에는 블로그를 거의 Twitter/X 피드처럼 다루며 게임 제작 진행 상황을 짧게 업데이트함
- 현재는 글 하나를 몇 주 또는 몇 달 동안 천천히 작업하고, 흥미롭고 충분히 다듬어졌다고 느낄 때 공개함
- 관심사가 바뀌면서 글의 초점도 달라짐
- 게임 관련 글은 줄어듦
- 프로그래밍 글과 물리적인 개인 프로젝트 글이 더 많아짐
- 15년 뒤 블로그가 어떤 모습일지는 알 수 없으며, 지금과 같은 방식으로 계속 쓸 것처럼 느껴져도 그것을 사실로 말할 수는 없음
- 미래를 예측하기보다 걱정을 멈추고 과정을 즐기는 편이 낫다고 정리함