2024년 회고
매년 점점 더 쪽팔려지는 자신을 대면해 봅시다.

어느새 2024년이 저물어 갑니다. 나이를 먹을 수록 시간이 점점 더 빨리 가는 것처럼 느껴진다고 하는데 딱 그런 한 해가 아니었나 싶습니다. 연초에는 백수였고 간신히 직장을 구해 일하기 시작했습니다만, 개인적으로 여러 가지 문제를 겪었습니다. 여러 사건을 마주하는 제 반응으로 미루어 제가 여러 상황에 지나치게 회의적으로 반응하며 주변에 나쁜 영향을 끼치고 있지 않은지 걱정스러웠습니다. 다른 한편으로는 지난 여러 해 동안 올해만큼 운동을 게을리하고 몸을 움직이지 않은 해는 없었습니다. 그 결과 지금의 저는 작년이나 그 이전에 비해 전혀 멀쩡하지 않은 상태가 되기도 했습니다. 다른 한편으로는 그렇게 한 해를 보내며 여전히 글 쓰는 습관을 유지하고 있고 또 여러 상황을 마주하며 행동한 다음 그 과정과 제 생각을 글로 만들어 규칙적으로 공유할 수 있었고 이건 별로 자랑할 것 없는 2024년 한 해 동안 거의 유일하게 뭔가 하는데 성공했다고 말할 만한 것입니다. 작년 회고를 살펴보니 2023년 소비 회고, 2023년 직업생활 회고, 2023년 글 쓰기, 글 공유 회고와 같이 회고를 주제 별로 따로 했고 또 그 이전 해에도 2022년 읽기 회고, 2022년 소비 회고, 2022년 운동 회고, 2022년 글쓰기 회고, 2022년 글 공유 회고, 2022년 직업생활 회고와 같이 여러 주제 별로 구분해서 글을 작성했습니다. 하지만 이번 2024년에는 딱히 그렇게 주제 별로 나눠 할만한 이야기가 없지 않을까 싶고 또 1년 뒤 다음 회고에서 인용하기도 귀찮으니 회고 글 하나에 여러 가지 이야기를 몽땅 뒤섞어 해보겠습니다.
직업 생활 회고
네. 올해(2024년) 초에는 백수였습니다. 이 업계에서 일하며 그 이전까지 아무런 업적도 달성하지 못했다는 사실 때문에 조바심이 났습니다. 뭔가 빨리 괄목할 만한 성과를 낼 수 있는 방법이 없을지, 그럴 수 있는 기회가 없을지 살펴봤습니다. 그렇게 시도한 일은 회사에서 잘리며 끝났습니다. 후회가 없지는 않았습니다. 잘린 기간 동안 돈을 벌지 못했고 덕분에 굉장히 빠듯하게 살아야 했기 때문이기도 하고 또 근본적으로 제가 그런 나중에 와서 볼 때 잘못된 선택을 했을 때 과연 그 시점의 제가 그런 사실을 몰랐을지 생각해보면 결코 그렇지 않았음을 인정할 수밖에 없었습니다. 다만 그 일을 하며 나름 그 일을 둘러싼 수많은 이해관계자들의 입장과 그들의 욕망, 욕망을 지탱하는 여러 가지 측면을 살펴봤고 이제 웹3 게임과 코인 사기의 유사성에 대해 말할 수 있게 되었습니다. 이걸 꼭 찍어 먹어 봐야 할 수 있느냐고 물으신다면 순전히 제가 멍청한 탓입니다. 저는 결국 이걸 찍어 먹어 보고서야 알았습니다.
감사하게도 업계에서 은퇴하지 않고 다음 직장을 구했습니다. 이미 한동안 개발을 진행한 상태였기 때문에 일단 그 시점까지의 진행상황을 따라잡는데 집중했습니다. 이 프로젝트는 이전에 제가 경험한 여러 프로젝트와 비슷하게 원작이 있는 프로젝트였는데 감사하게도 이번 프로젝트의 문서 뿐 아니라 원작으로부터 산출된 문서를 함께 살펴볼 수 있었습니다. 원작은 이전에 흥미롭게 플레이 했지만 여러 가지 정책과 업데이트를 거치며 게임이 저 자신을 게임으로부터 쫓아내려 한다는 느낌을 받고 그만뒀습니다. 그리고 머지 않아 서비스를 중단했는데 개인적으로 상당히 아쉬웠습니다. 그런 시도를 할 수 있는 개발사가 적어도 국내에는 거의 남지 않았다고 생각하기 때문입니다. 그 정도 비용을 들여 그 정도 모험적인 프로젝트를 할 수 있는 곳은 이제 정말로 거의 남지 않았습니다. 여느 회사가 그렇듯 위험을 최소화하고 예측 가능한 수익을 낼 수 있는 게임의 예측 가능한 수준을 만들어내는데 집중하는 것이 대부분이고 이번에도 크게 다르지 않습니다. 그래서 원작이 서비스를 종료한다고 할 때 한 편으로는 그렇게 사람들을 쫓아내려고 했으니 서비스를 종료하는 것이 당연한 수순이라고 생각했지만 다른 한 편으로는 이제 앞으로 이런 시도가 다시 등장하기는 어려울 거라는 생각에 아쉽기도 했습니다. 이제 고민은 그에 기반해 새로운 프로젝트를 수행하는 우리들의 몫입니다.
그렇게 올 한해 동안은 지금까지 어느 프로젝트에서도 해본 적 없는 일을 했습니다. 여느 양산형 MMO 게임의 핵심은 전투입니다. 여기에 별 이유 없이 다른 게임이 그렇게 하니까 별로 의미 없는 채집 기능이 포함되고 이를 지탱할 생활 기능을 넣고 싶어하지만 전투에 비해 생활에 대한 고민이 깊지 않을 뿐 아니라 생활 기능에 별로 투자하지 않으면서도 그 결과를 얻고 싶어하는 의사결정자들 덕분에 슬슬 런칭이 가까워지고 전투를 포함한 주요 기능에 대한 우선순위가 올라가면 이를 제외한 나머지 기능은 자연스럽게 버려지며 관련 기능이 제거된 상태로 출시를 겪곤 했습니다. 그래서 이번에 이와 유사한 기능 일체를 담당하기로 결정하면서 결국 이 기능들도 같은 운명을 맞이할 거라고 예상했습니다. 런칭이 가까워지고 프로젝트 내에서 개발 비용을 확보하지 못해 자연스럽게 도태되는 수순을 밟다가 C레벨 패닉을 거쳐 중요 보고와 게임 커스터마이징 사례와 같이 조용히 제거되는 운명이 머릿속에 그려졌습니다. 하지만 아직 그런 현실이 실제로 닥쳐오지 않았고 그 전까지는 제가 할 수 있는 최선을 다해야 했습니다. 사실 제 관점에서 MMO 게임에 전투만큼 재미 없는 컨텐츠도 없다고 생각합니다. 게임에 따라 다른 느낌을 주려고 무던히도 노력하지만 본질적으로 플레이어 캐릭터가 괴물을 공격해 쓰러뜨린다는 목표가 변하지 않는 이상 아무리 노력해도 뭔가 다른 전투를 만들기는 아주 어렵습니다. 독특한 전투 메커닉을 갖춘 게임이 등장하더라도 이를 ‘소울라이크’로 뭉뚱그려 비슷한 게임을 만드느라 여념이 없는 여러 회사들도 결국 비슷한 결과를 내놓고 비슷한 느낌을 주며 비슷한 결과를 맞을 겁니다. 이런 관점에서 전투는 그에 들이는 막대한 개발 비용에도 불구하고 제 관점에서는 더럽게 재미없습니다. 어느 게임이든 레벨 올리고 강화하고 공격하고 쿨타임 돌 때마다 스킬을 사용하는 근본적인 경험이 변하지 않습니다.
반면 전투를 제외한 나머지 중 굳이 정의한다면 생활컨텐츠로 분류되는 것들은 그동안 충분한 비용을 들여 연구한 사례가 드물기에 해볼 수 있는 일이 늘려 있습니다. 싱글플레이 환경에서 뭐라도 해볼 수 있는 수없이 많은 게임들이 있습니다. 여느 게임에서 채집 메커닉을 포함했지만 이 행동이 근본적으로 괴물을 공격하는 일과 전혀 다르지 않다는 사실은 채집 기능만을 덜렁 집어 넣고 생활 기능이 있다고 광고하곤 합니다. 게임에 따라서는 똑같이 약초를 구해 오라는 퀘스트를 진행하더라도 굳이 몇 분에 한 번 리스폰 되는 약초 오브젝트에 상호작용 하는 채집 기능을 넣는 대신 그냥 약초를 들고 있다고 설정된 오크를 공격해 약초를 획득하는 식으로 진행하게 만들기도 합니다. 개인적으로 어차피 채집 이후에 이를 지탱할 아무 기능이 없다면 그냥 채집 자체를 넣지 말고 오크를 공격하도록 하는 편이 훨씬 더 나은 선택이라고 생각하는 입장입니다. 그런데 채집 너머에 있는 이 기능을 지탱할 여러 기능을 생각하다 보면 지금까지 전투에 한없이 밀려 시도한 적은 있지만 단 한번도 성공한 적 없는 생활 기능에 대한 여러 가지 가능성이 있다는 사실을 인정하지 않을 수 없습니다. MMO 환경에서 어디까지 할 수 있을지 비 엔지니어 관점에서 판단하기는 쉽지 않지만 싱글플레이나 제한된 멀티플레이 환경에서 여러 사람들과 각각 수 백에서 수 천 시간을 플레이 했던 온갖 게임의 즐거운 경험을 지금 참여하는 프로젝트에 가져올 수 있을른지도 모릅니다. 여전히 지속적으로 전투 기능에 밀려 제대로 개발되지도, 연구되지도, 이를 통한 시행착오를 겪지도 못한 끝에 런칭을 얼마 남겨두지 않은 시점에 마치 처음부터 존재하지 않았던 것처럼 개발이 중단된 채 끝나게 될 가능성은 남아있습니다. 다만 다행스럽게도 우리들의 원작이 전투 이외의 컨텐츠로 꽤 주목을 받았기에 이전에 비슷한 일을 시도했던 다른 프로젝트들에 비해 목표를 실제로 달성해 런칭까지 이끌어 갈 가능성이 이전 프로젝트들보다 아주 조금은 높지 않을까 하는 생각을 해봤습니다.
하지만 그 과정은 결코 순탄하지 않았습니다. 지금까지 이런 기능들을 성공적으로 MMO 환경에 구현하고 또 이 컨텐츠로부터 발생하는 재화를 인게임 경제시스템이 망가지지 않는 범위 안에서 게임에 유통되도록 만드는 이 두 가지 일 모두 만만찮게 골치 아픈 일입니다. 먼저 이런 기능을 이전에 흔한 MMO 게임에 제대로 구현해본 적이 없어 어디까지를 기술적 도전으로 설정하고 또 어디까지를 게임디자인 측면에서 해결할 문제로 설정할지 이 경계를 정하기는 굉장히 어려웠습니다. 특히 MMO 환경의 기술적인 제약을 모르지 않기에 제가 생각한 생활 기능이 그 환경에서 동작하는데 여러 가지 문제를 일으킬 가능성이 있음을 모르지 않습니다. 또한 우리가 아주 많은 엔지니어를 채용해 넉넉한 개발 자원을 확보할 수 있을 것 같지도 않은 상황입니다. 여느 프로젝트와 별로 다르지 않습니다. 때문에 기술적으로, 그리고 현실적으로 실현 가능하면서도 원작이 제공하던 것과 비슷하거나 이를 계승하는 수준의 생활 기능을 제공할 방법을 찾으려 노력하는 중입니다. 사실 이런 기능을 런칭 시점에 이르도록 끝까지 만들어 구동 시켜 본 적이 없고 그런 사례를 찾기도 거의 불가능합니다. 그래서 협업 부서에서 저에게 정답을 당장 내놓으라고 말할 때마다 뻔뻔한 얼굴로 ‘아니 당연히 그렇게 돼야죠’라고 말하면서도 속으로는 상당히 무섭습니다. 여전히 여느 MMO 게임과 마찬가지로 ‘개인적인 관점에서’ 따분하기 짝이 없는 전투 기능에 가장 높은 비용을 투입하고 있지만 이전에 경험한 다른 프로젝트와 비교할 때 제법 높은 비용을 지출하고 있는 이 기능들이 제대로 동작하지 않거나 충분히 재미있지 않거나 인게임 경제시스템에 문제를 일으키는 등의 문제를 일으키면 이 모든 계획에 책임을 진 저는 결코 무사하지 못할 겁니다. 때문에 뻔뻔한 얼굴 뒤에는 사실 겁 먹은 채 온갖 나쁜 상황을 상상하고 또 상황을 최대한 회의적으로 보고 있는 자신이 숨어 있습니다.
한편 이 계획을 준비하며 다른 여러 게임을 살펴보고 이들의 동작을 분석하는 과정은 굉장히 재미있었습니다. 회사와 체결한 보안 계약 때문에 이를 말하기는 어렵지만 재미있게 플레이 하던 게임의 특정 기능을 가져오기로 결정하고 이 기능의 구체적인 동작을 살펴보기 시작했는데 상당히 단순하게 동작할 거라는 초기 예상과는 달리 막상 이를 모방하려고 보니 생각보다 고려할 점이 많았습니다. 사실 실제 모형을 만들어 놓고 이를 기반으로 생각했으면 훨씬 빨리 정답에 근접할 수 있었을 것 같지만 회사가 업무용으로 레고를 구입해 주지는 않을 것이 확실하므로 하는 수 없이 언리얼 엔진의 도움을 받아 가상 세계에서 여러 가지 시도를 하며 적절한 방법을 탐색해야 했습니다. 실제 모형에 기반해 동작을 추측하는데 비해 조금은 덜 생산적이었다고 생각하지만 이 경험 또한 나쁘지 않았습니다. 앞으로도 비슷한 일을 하게 되면 언리얼 엔진의 여러 기능을 적극적으로 사용할 작정입니다. 그런데 제가 다른 게임 여럿을 살펴보고 그들로부터 제가 만들어야 할 기능에 대한 힌트를 얻으며 한참 재미있게 일하고 있을 때 그들 중 어느 한 프로젝트를 국내에서 개발하려는 프로젝트에서 사람을 찾고 있다는 공고를 보았습니다. 소문을 들어 보니 오랫동안 일한 경험이 있는 사람을 찾고 있었는데 마침 저는 그들이 만들 것으로 예상되는 여러 기능을 꽤 깊이까지 탐구한 상태여서 만약 이번 프로젝트에서도 오직 제 개인적인 관점에서 따분하기 그지없는 전투 기능에 한정된 비용을 다 빼앗기는 결말로 이어질 것 같으면 그냥 지금까지 연구한 내용을 들고 저 프로젝트에 참여해도 좋지 않을까 하는 생각도 해봤습니다만, 아직 그럴 정도의 상황에 처하지는 않았고 실행하지도 않았습니다.
여전히 프로젝트 내에서 자원을 확보하는 일은 굉장히 어렵습니다. 여태까지 여느 MMO 게임이 그래 왔든 전투를 제외한 나머지 거의 모든 기능들이 그런 신세입니다. 특히 급할 때 그냥 기능 전체를 도려내도 런칭이 가능한 기능은 더더욱 그렇습니다. 게다가 제 권한으로는 여기 저기 싹싹 빌어 가며 없는 자원을 억지로 쥐어 짜는 수준으로 사용하는 것 이외에는 딱히 안정적인 자원을 유지할 수 없습니다. 이전에 비슷한 기능을 개발할 때 항상 그래 왔던 것처럼 가장 중요하지만 제 관점에서는 따분한 기능에 모든 역량을 집중하는 사이사이에 요령껏 자원을 확보해야 합니다. 올해 동안 그렇게 행동해 왔고 아마 내년에도 이런 상황은 계속될 겁니다. 개인적으로 이런 상황이 반복됨에 따라 저 자신, 그리고 이 일에 관여하는 사람들의 사기가 지속적으로 떨어진다는 사실을 잘 알고 있습니다. 또한 저 자신의 사례로 미루어 사기가 떨어지는 상황을 계속해서 방치하면 정신적으로 문제를 겪게 된다는 사실 역시 알고 있습니다. 때문에 이번에는 이전과 비슷한 뻔한 상황 속에서 어떻게 저 자신을 보호하고 또 의미가 없지는 않은 결과를 이끌어낼 수 있을지가 올해에서 내년으로 계속해서 이어지는 고민입니다.
소비 회고
지난 2023년 소비 회고, 2022년 소비 회고와 같은 방법을 사용했습니다. 후잉가계부에서 2024년 기록 중 신용카드를 사용한 지출이 일정 금액 이상인 항목을 나열하고 그 중 짚고 넘어갈 항목들을 살펴보겠습니다. 해마다 인플레이션이 계속되고 있어 일정 금액 이상의 그 일정 금액이 증가하고 있습니다. 올해에는 이를 ‘150,000’원으로 정했는데 생각보다 이 금액을 초과하는 지출이 거의 없어서 한 번 놀랐고 이 금액을 초과하는 지출에 ‘후불교통카드’가 한 건 있어서 다시 한 번 놀랐습니다. 신분당선이 이렇게 무섭습니다. 어쨌든 이 금액을 초과하는 지출 중 짚고 넘어갈 항목은 많지 않으니 빠르게 훑어보겠습니다.
맥미니(M1, 8G, 1TB): 이전까지 수 년 동안 AWS Lightsail에 작은 서버를 운용하며 제 자잘한 일에 도움을 받고 있었습니다. 맨 처음에는 블로그 웹사이트를 띄워 놓는데 사용했지만 그때나 지금이나 블로그 자체는 방문자가 거의 없어 서버에 거의 아무런 부담을 주지 않았습니다. 그래서 슬슬 다른 뭔가를 띄우기 시작했습니다. 가령 여러 서비스의 상태를 확인하고 이를 표시하는 스테이터스 페이지가 필요해 이 기능을 추가했습니다. 또 여느 유료 자동화 서비스는 비용 때문에 탐색적인 방법으로 사용할 수 없어 무료로 사용할 수 있는 n8n을 설치해 사용하기 시작했습니다. 특히 n8n은 이전까지 아이폰 단축어 앱으로 어렵게 작성하던 자동화를 이벤트를 감지하는 부분만 단축어 앱에 남겨 놓고 나머지 자동화는 모두 n8n으로 옮겨 실행할 수 있게 만들어 본격적으로 자동화 기능을 만드는데 큰 도움을 주었습니다. 또 이전에는 자동화 로그를 기록하기 위해 온갖 이상한 방법을 고민했지만 자동화 기능이 항상 켜져 있는 서버에서 돌아가기 시작하지 미련 없이 데이터베이스를 설치해 여기 의존하게 했습니다. 이후 설치하는 여러 서비스들 역시 같은 데이터베이스에 의존해 동작하게 되었습니다. 또 한동안 개인 파일 관리에 몇몇 버전 관리 도구를 전전하다가 퍼포스에 자리를 잡았고 서버는 이제 파일 관리 역할도 담당하게 되었습니다. 하지만 이런 요구사항이 추가됨에 따라 월 비용이 점점 올라갔습니다. 서버가 켜져 있는 동안에 주로 과금 되고 제가 자는 동안에는 서버를 거의 사용하지 않는다는 점에 착안해 가난뱅이의 버전관리 서버 운영에 소개한 대로 제가 자기 시작하면 꺼지고 제가 일어나면 켜지도록 설정해 보기도 했지만 비용을 드라마틱하게 줄여 주지는 않았습니다.
고민 끝에 장기적으로 비용을 낮추기 위한 온프레미스 전환하기로 합니다. 사실 더 낮은 비용으로 기계를 만들고 리눅스 운영체제를 얹는 편이 경제적으로는 최선의 선택이었습니다. 하지만 AWS를 사용하던 저는 여전히 명령어 하나를 입력하기 위해 구글에 검색해야 하는 처지였고 또 더 저렴한 하드웨어는 그만큼 더 크고 소비전력도 높고 또 보기에도 흉했습니다. 물론 작고 그럭저럭 봐줄 만 하며 낮은 전력을 소비하는 기계들이 있다는 사실을 모르지 않습니다. 하지만 그 사용자가 너무 적어 도움을 받기 어려울 것 같다는 생각이 들었습니다. 그래서 온프레미스로 유지하면서도 전력을 적게 소모하고 소음을 거의 내지 않으면서도 일정 수준 이상의 성능을 내는 기계를 찾아보니 오래된 맥미니가 나타났습니다. 나머지 사양은 원래대로 두되 퍼포스 서버를 운영할 목적으로 스토리지만 더 큰 모델을 구했습니다. AWS에서 고작 512메가 램에서 아슬아슬하게 여러 서비스를 구동하던 것에 비해 맥미니의 8기가 램은 광활했습니다. 512기가와 비교한 8기가는 마치 이 장비가 대단히 고사양 장비인 것처럼 느끼게 만들었고 한동안은 실제로 그렇게 동작했습니다. AWS에 운용하던 사양에서는 도커 인스턴스를 띄우려고 하면 크래시 되어 모든 서비스를 네이티브로 설치하고 관리할 수밖에 없었지만 이제 도커 인스턴스를 띄워도 아무 문제가 없었습니다. 다만 퍼포스를 본격적으로 사용하면서 스토리지가 순식간에 부족해졌고 이걸 예상했다면 맥미니 로컬 스토리지에 돈을 쓰는 대신 처음부터 외장 스토리지에 돈을 썼어야 했는데 이 점은 좀 아쉽습니다. 이를 예상했어야 합니다.
결국 맥미니는 1년째 아무 문제 없이 24시간 돌아가며 제 요구사항을 수용하고 있습니다. 가장 중요한 퍼포스 서버를 무리 없이 구동하며 회사에서도 사용하는 퍼포스라는 도구에 대해 조금 더 이해하게 되었습니다. 퍼포스 서버의 성능을 개선할 방법, 퍼포스 데이터베이스와 아카이브 백업 전략, 퍼포스 서버의 스토리지 포멧의 특징에 대해 배울 수 있었고 앞으로도 계속해서 그럴 기회가 있을 겁니다. 다만 좀 아쉬운 점은 한창 수많은 사람들이 사용하고 있는 LLM을 로컬에서 돌리기 불가능한 사양이라는 점입니다. 사실 핵심 기록 도구로 사용 중인 컨플루언스 위키가 이미 아틀라시안 인텔리전스라는 이름으로 위키에 직접 연동되어 사용할 수 있는 LLM을 제공하고 있고 또 전화 회사에서 이벤트로 사용하게 해 준 퍼플렉시티의 신세도 지고 있습니다. 하지만 이것 만으로는 여러 모로 부족하다고 느낍니다. 가령 컨플루언스 위키에서 동작하는 LLM은 주로 현재 편집 중인 페이지를 읽어 결과를 도출합니다. 여러 페이지를 읽고 질문에 답하지 않습니다. 퍼플렉시티는 백엔드에서 구글에 검색하고 이를 OpenAI 제품에 넣고 돌려 결과를 뽑아내는 것 같은데 여기에도 제 문서를 읽힐 방법도 없고 또 그래서도 안됩니다. 저는 제 컨플루언스에 쌓인 텍스트를 읽은 상태의 LLM에 질문하고 싶고 이 요구사항을 달성하려면 제가 직접 LLM을 돌리는 수밖에 없어 보입니다. 올해 맥미니 서버는 큰 역할을 했지만 앞으로 새로 나타난 LLM에 대한 요구사항을 해결할 방법을 찾아야 하는 과제가 남아 있습니다.
GL-MT6000 인터넷 공유기: 사실 서버가 밖에 있을 때는 그동안 몇 년에 걸쳐 사용해 온 인터넷 공유기에 문제가 있다는 사실을 잘 몰랐습니다. 인터넷 공유기는 어느 시점부터인가 인터넷이 안 되는 상태로 몇 시간 동안 방치되다가 저혼자 원래대로 돌아오곤 했는데 그 사이에 집에 사람이 없다면 이런 동작을 알 수 없었습니다. 하지만 인터넷에 의존하는 기계가 늘어나면서 인터넷이 안 되는 시간 동안 보안카메라에 찍힌 영상에 대한 알림이 오지 않거나 타이머에 의해 제어되는 등이 제 시간에 맞춰 켜지거나 꺼지지 않는 증상이 있었지만 어쩌다 한 번 그럴 수도 있다고 생각해 대수롭지 않게 여겼습니다. 하지만 AWS에 있던 서버를 집 안에서 구동하면서 공유기가 정상 작동하고 있지 않다는 사실을 깨달았습니다. 이 장치는 이미 출시된지 시간이 흐른 덕분에 제조사의 최신 소프트웨어와 잘 호환되지 않고 있었습니다. 실은 제조사는 앱 기반의 예쁜 환경에서 공유기를 제어하는 모양을 의도한 나머지 공유기에서 원래 사용 가능했던 웹 인터페이스를 아예 막아버렸습니다만, 오래된 공유기는 그 회사의 새로운 앱을 통해 잘 제어되지 않았습니다. 인터넷은 수시로 끊겼고 정신 건강을 위해 이 문제를 해결하기로 결정했습니다.
이 모델을 선택한 가장 큰 이유는 공유기 스스로 테일스케일을 지원하기 때문입니다. 이 즈음 테일스케일이라는 서비스를 알게 되어 긴요하게 사용하고 있었습니다. 외부에서 집 서버에 접근할 때 VPN 같은 추가 보안 레이어를 사용하지 않아도 아무에서나 마치 LAN 환경에 있는 것처럼 행동할 수 있었습니다. 다만 여러 네트워크 설정을 하지 않으면 장비들과 직접 연결되는 대신 패킷이 도쿄에 있는 릴레이 서버를 경유하느라 속도가 말도 안 될 정도로 느려졌는데 어지간한 서비스는 릴레이 상황에서도 사용할 수 있는 수준이었지만 파일을 직접 주고 받아야 하는 퍼포스 서버는 그럴 수 없었습니다. 고민하다가 공유기가 테일스케일을 알고 있으면 별다른 설정 없이 테일스케일이 잘 동작한다는 사실을 알게 됐습니다. 국내에 이보다 훨씬 낮은 가격대에 비슷한 하드웨어를 제공하는 공유기가 널려 있었지만 이들은 외부 접근 방법으로 DDNS 서비스를 제공한다고 광고하는 등 시대착오적이고 보안 상 안전하지도 않은 방법에 머물러 있었고 이를 선택할 이유가 없었습니다. 테일스케일을 지원하는 공유기를 설치했고 인생이 편안해졌습니다. 특히 테일스케일 주소를 도메인의 DNS 설정에 넣어 두면 테일스케일 클라이언트가 동작하는 환경에서만 접근할 수 있어 굉장히 편리합니다. 돈 들일 만 합니다.
안경테: 12년 만에 안경테를 바꿨습니다. 그 사이에도 몇 년에 한 번 렌즈를 바꾸기는 했지만 프레임을 바꾼 건 정말 오랜만입니다. 안경은 없으면 안되면서도 한 번 돈을 지출하고 나면 여간해서 바꿀 생각이 잘 안 드는 물건입니다. 딱히 부러지거나 잃어버리거나 하지 않는다면 바꿀 생각 자체를 하지 않았습니다. 세월이 흐르며 플라스틱 수지 내부의 물질이 사라지며 색상이 더 연하게 변했지만 나무로 만들어진 받침은 여전히 멀쩡했습니다. 그런데 렌즈를 바꾸러 간 안경점에서 프레임이 상당히 낡은 상태여서 렌즈를 교체하다가 프레임이 깨질 수 있을 것 같다는 안내를 받게 됩니다. 렌즈를 바꾸지 않는 한 거의 그럴 일이 없어 보이지만 렌즈를 바꾸는 과정에서 프레임이 손상될 수 있다고 합니다. 굳이 그런 위험을 감수하고 또 프레임이 파괴될 경우 그 시점에 프레임을 구입하려고 하면 마음에 안 드는 프레임을 급하게 구입하게 될 것 같았습니다. 그래서 이전에 쓰던 안경은 만약을 대비한 보조 안경으로 남겨 두고 아예 새 프레임을 구입해 여기에 새 렌즈를 장착했습니다. 몇 년에 한 번 렌즈를 교체할 때마다 시력이 점점 더 나빠지는 방향으로 변하고 있음을 알고 있었기에 이번에도 그럴 거라고 생각했지만 의외로 이번에는 시력이 거의 변하지 않았다는 설명을 들었습니다. 덕분에 새 안경과 이전 안경 두 개가 생겼고 만약 안경일 깨먹는다면 렌즈를 주문하고 기다려야 하는 며칠 동안 무리 없이 생활할 수 있게 되었습니다. 하지만 안경점에서 그런 설명을 듣지 않았다면 이번에도 테를 바꾸지 않았을 것 같기는 합니다. 그만큼 안경에 의존하면서도 안경에 아무 관심도 없는 이중적인 모습이 재미있었습니다.
고스트: 네. 이 블로그는 고스트 매니지드 서비스에 의해 운영되고 있습니다. 앞서 AWS에 있던 램이 512메가인 인스턴스에서도 고스트는 잘 굴러갔습니다. 그런데 2년 전 봄 뉴스레터를 준비하며 메일을 보내기 위해서는 여러 가지 준비가 필요하다는 사실을 알게 됩니다. 안정적으로 메일을 보내려면 메일건 같은 본격적인 메일 발송 서비스에 의존해야 했는데 그 서비스에 돈을 낼 거라면 차라리 메일 발송 기능을 함께 제공하는 고스트 매니지드 서비스를 사용하는 편이 낫겠다는 생각을 했습니다. 또 컨플루언스를 사용해 오면서 매니지드 서비스 덕분에 제가 서버를 운용하다가 저지른 실수에 영향을 받지 않는 환경이 굉장히 중요하고 또 긴요하다는 것을 알고 있었습니다. 그래서 상당한 비용을 지불하고 고스트 매니지드 서비스를 사용하기 시작했습니다. 첫 번째 뉴스레터를 보내고 1년 반이 넘게 지났습니다. 다행히도 그 동안 빈도를 조금 조절하기는 했지만 여전히 정해진 간격으로 글을 만들고 약속한 시점마다 이를 공개하는 루틴을 유지하고 있습니다. 사실 고스트 매니지드 서비스에 지불할 돈이면 AWS에서 충분한 수준의 서버를 사용할 수 있음도 알고 있지만 매니지드 서비스는 일단 사용하기 시작하면 그 편안함에 함부로 이를 벗어날 수가 없습니다. 서버는 알아서 관리되고 문제는 알아서 수정되며 아무 것도 안 해도 새 버전이 적용됩니다. 물론 1년 단위로 결코 적지 않은 비용을 사용하고 있습니다만, 매니지드 서비스를 사용한다는 점, 그리고 글쓰기를 통한 스트레스 조절에 큰 도움을 받고 있다는 점에서 앞으로도 이 지출은 유지할 것 같습니다.
2024년에 눈에 띄는 큰 지출은 이게 전부입니다. 생각보다 뭘 질러 대지 않은 것 같은데 경제도 어려운 마당에 앞으로도 이 정도 수준을 유지하면 좋지 않을까 싶습니다.
글쓰기 회고
지난 뉴스레터 1호부터 50호 까지 정확히 50주 동안 작성하고 공유했습니다. 사실 이 글쓰기는 글을 읽으시는 분들을 위한 글쓰기라기 보다는 저 자신을 위한 것이었습니다. 꽤 오랫동안 회사 밖에 나오면 도무지 아무 글도 쓸 수 없는 이상한 상태를 겪어 왔기 때문에 수 년 만에 글을 쓸 수 있게 된 상태를 놓치고 싶지 않았습니다. 아무 것도 쓸 수 없는 상태가 어떤지 알고 있기에 또 다시 그런 상태가 되더라도 그 사이에 여러 가지 글을 작성해 놓으면 좋지 않을까 하는 생각을 했습니다. 다만 수 년 만에 글을 쓸 수 있게 된 김에 글을 쓰려면 저 자신에게 좀 더 솔직해지고 또 읽는 분들께 저 자신의 한없이 쪽팔리는 여러 측면을 보일 수밖에 없다는 생각이 들었습니다. 제 바보 같은 면을 쓰지 않으려고 하면 그만큼 글을 만드는데 에너지가 더 많이 들고 그러면 또다시 아무 것도 쓸 수 없는 상태에 빠질른지도 몰랐습니다. 그래서 쪽팔림을 감수하는 대신 뉴스레터 형식을 빌어 제 쪽팔림에 접근하시는데 작은 장벽을 만들기로 했습니다. 그렇게 뉴스레터가 시작되었습니다. 첫 50주 동안에는 한 주에 한 번 메일을 보냈는데 몇 년 만에 찾아온 다시 글을 쓸 수 있게 된 상태는 이 정도 주기와 이 정도 분량을 감당할 수 있었습니다. 하지만 시일이 지나자 이 약속을 계속해서 지키는 것이 결코 만만치 않은 일임을 깨달았습니다. 장기적으로 이 습관을 유지하기 위해서는 쪽팔리더라도 약속을 좀 조절할 필요가 있었습니다. 그래서 49번째 주에 뉴스레터 시즌 2 계획 안내를 하고 한 주에 한 번 보내던 메일을 두 주에 한 번으로 조정하기로 했습니다. 이 글은 70호에 포함되니 약속을 느슨하게 바꾼 다음 다시 약 40주가 지났습니다. 이전 같으면 20호에 20주로 계산하기 편했지만 이제 두 주에 한 번 메일을 보내고 있으니 20호에 40주입니다. 처음에는 너무 느슨한 것 아닌가 하는 생각이 들기도 했지만 시간이 지나고 보니 이 정도 속도는 제가 다른 생활을 하면서도 장기적으로 유지할 수 있는 적당한 속도라는 결론을 내렸습니다. 일단 2024년 내내 그게 무슨 내용이든지 간에 규칙적으로 글을 써내는데 성공했습니다. 이건 작은 성공이라고 여기기로 했습니다.
다만 서기 2024년에 여전히 글을 쓰고 있다는 사실은 생각해볼 여지가 많습니다. 현대에는 더이상 그 누구도 글을 읽지 않습니다. 책은 점점 더 잘 안 팔립니다. 점점 더 적은 사람들이 검색에 구글을 사용합니다. 이제 이런 텍스트로 가득한 글을 읽는 주체는 검색엔진, LLM 같은 기계들이 대부분입니다. 글을 쓰는 제 스스로도 정보를 얻기 위해 글을 읽기도 하지만 유튜브에서 이전보다 더 많이 검색하고 이미 누군가 아주 예쁜 모양으로 설명해 놓은 영상을 찾아 보고 듣습니다. 어떤 영상은 여러 번 반복해서 들으며 내용을 이해하며 기억하기도 합니다. 이런 세계에서 아무도 읽지 않을 글을 쓰며 글을 왜 그렇게 길게 써?, 왜 아직도 글을 만들고 있어? 같은 질문을 받아 왜 아직도 이러고 있나 하는 생각을 해 보기도 했습니다. 또 텍스트로 가득한 이런 아무도 읽지 않는 글쓰기를 그만 두고 제 스스로 그렇듯 보다 현대적인 정보 전달 수단을 선택하고 여기에 익숙해지도록 노력해야 하지 않을까 하는 생각도 계속해서 합니다. 이 생각은 여전히 유효하고 매 주 글을 쓰려고 할 때마다 계속해서 드는 생각입니다. 다만 근본적으로 이 글을 쓰는 행동이 글쓰기와 스트레스 해소에 설명한 대로 글을 읽는 분들을 고려한 글쓰기라기 보다는 저 자신을 위한 글쓰기에 가깝다는 사실을 부정하지 않습니다. 이 관점에서 정보를 습득하는 분들을 고려해 더 현대적인 정보 전달 방식을 선택하지 않고 버티고 있는 이유는 어쩌면 저 자신을 위한 것인지도 모르겠습니다. 하지만 언제까지 이럴 수 있으리라 생각하지 않습니다. 이미 읽는 책의 반 이상은 TTS로 듣고 있는 마당에 텍스트를 직접 만드는 행동은 계속해서 의미가 줄어들고 있습니다. 어느 시점에는 큰 변화가 필요할 겁니다. 다만 일단은 지금의 규칙적인 습관을 유지하고 두 주에 한 번 몇 가지 글을 보내는 글을 읽어 주시는 분들과 약속을 지키려고 합니다.
운동 회고
2년 전에는 2022년 운동 회고를 했지만 작년인 2023년에는 하지 않았던 이유는 딱히 회고하고 자시고 할 것이 없었기 때문이고 이는 올해 2024년에도 마찬가지입니다. 네. 지난 1년은 지난 몇 년에 걸쳐 가장 아무것도 안 한 해입니다. 정말 아무것도 안했습니다. 그나마 몸을 움직이는 행동이던 자전거 근처에도 안 갔습니다. 정확히는 자전거가 집 안에 있으니 근처에는 갔습니다만, 이걸 탈 생각은 안했습니다. 즈위프트를 사용할 수 있는 인도어 라이딩 환경이 있어 그나마 완벽하게 아무것도 안 하는 파멸적인 결과를 피할 수 있었지만 솔직히 이걸 운동을 했다고 표현하기에는 무리가 있습니다. 네. 올해에는 정말 아무것도 안했습니다. 그 결과 FTP(Functional Threshold Power: 자전거 타는 사람들이 자신이 낼 수 있는 출력을 나타내는 단위)는 이전의 절반이 되었습니다. VO2Max도 마찬가지로 이전의 절반이 되었습니다. 이제 저는 계단 몇 층을 올라가면 숨이 차기 시작합니다. 이전에 다른 사람들과 이야기하며 계단을 올라가면 다른 사람들이 숨 차 하는 사이에 각기 다른 사람들에게 말을 걸어 대화를 하며 아무 문제도 겪지 않았지만 이제는 그렇지 않을 겁니다. 저 역시 계단을 오르기 시작하면 숨이 차 올라 아무 말도 못 할 겁니다. 이제 그렇게 되었습니다. 장거리 자전거를 좋아했고 또 지금도 종종 수 백 킬로미터를 달린 다음 온 몸이 땀에 절어 있고 입 안이 파워젤의 끈적임으로 가득해 단 걸 입에 갖다 대면 자동으로 구역질이 나오는 그 피곤에 전 상태를 떠올립니다. 도착해서 자전거를 내팽개치고 이 짓 다시는 안 할 거라고 말하지만 바로 다음 날이면 다음 대회가 언제인지 일정을 살펴보곤 했습니다. 하지만 지금은 그럴 체력과는 거리가 너무 멉니다.
표면적인 이유는 출퇴근 거리가 늘어나 시간을 내기 어렵게 된 것, 그리고 회사에 샤워할 수 있는 시설이 없어 자전거로 출퇴근하기 거의 불가능하다는 것입니다. 하지만 이건 오직 표면적인 이유일 뿐입니다. 보다 근본적으로는 게임디자인 직군의 슬픈 점은 나머지 부서들과 목표가 다르다는데 있다, 왜 그 프로젝트는 출시되지 않을까, 달성되지 않은 목표에 대한 위기관리, 요구사항이 불분명한 프로젝트의 일생 같은 회의적이고 음울한 생각을 하며 자신을 점점 더 의욕이 없는 상태로 만들어가고 있다는 점이 아닐까 하는 생각을 합니다. 제가 평소에 여러 장소에서 겪는 여러 사건에 대해 어떤 식으로 반응하고 있는지, 또 어떻게 대응하려 하는지를 생각해보면 분명 긍정적이지만은 않았을 거라고 생각합니다. 이런 일련의 행동들이 쌓여 집에 돌아오면 그냥 다 내팽개치고 자리에 주저앉아 멍하니 유튜브 영상을 쳐다보고 있는 모습을 만들었습니다. 하지만 과연 그렇게 하루하루가 저를 지치게 만들 만큼 고되었을까요? 정신적으로는 그럴 지도 모릅니다. 하지만 신체적으로는 그렇지 않을 가능성이 높습니다. 하루 종일 자리에 앉아 일하는 사람의 신체에 신체적으로 지칠 여지는 거의 없습니다. 그렇다면 올해 이렇게까지 운동과 거리를 두고 에너지가 부족한 생활을 한 이유는 신체적인 원인 보다는 어쩌면 정신적인 원인에 기인할른지도 모르겠습니다.
운동을 하면 몸이 아픕니다. 장거리 자전거는 저를 완전 너덜너덜한 걸레같은 모습으로 만들었습니다. 시각적으로도 그렇지만 후각적으로도 그랬습니다. 아주 조심스럽게 타지 않으면 무릎을 망가뜨릴 여지가 곳곳에 도사리고 있고 가끔 몸을 다치기도 했습니다. 하지만 운동을 하지 않으면 다른 의미로 몸이 아프다는 사실을 알고 있습니다. 다행히 올해에는 운동을 안 해 몸이 아픈 상태를 심각하게 겪지는 않은 것 같습니다. 하지만 이 상태가 유지되면 이번에는 운동을 하지 않아 몸이 아픈 상태를 본격적으로 맞이하게 되리라는 사실을 알고 있습니다. 이 상태를 방치하면 안됩니다. 2025년이 오기 전부터 행동하기 시작해야 합니다. 올해 회고에 이렇게 적었습니다. 1년 뒤 다음 회고에는 이 문단을 보고 어떤 글을 적을 수 있을지 자신을 지켜보겠습니다.
마무리
이미 새로 시작하는 두 주에 걸쳐 나갈 70호에 포함될 글을 모두 작성해 놓은 상태였기 때문에 올해는 회고 없이 그냥 지나갈까 하는 생각을 했습니다. 그러다가 문득 이전에 작성했던 다른 회고 글들을 살펴보곤 그러면 안되겠다는 생각이 들었습니다. 이 글에도 여러 번 언급한 대로 이 글쓰기는 읽는 분을 위한 것이 아니라 저 자신을 위한 것이고 쪽팔림을 적지 않는다고 해서 그 쪽팔림이 사라지지 않는다는 사실을 이해합니다. 오히려 그냥 제가 이렇게 멍청하고 게으르다는 사실을 드러내 놓으면 줌 부끄러운 줄을 알고 뭐라도 할 수 있지 않을까 싶은 생각을 해봤습니다. 바로 윗 문단에도 썼지만 1년 뒤 똑같이 이 글과 이 문단을 보고 어떤 글을 쓰려고 할 지 기대하며 올해(2024년) 회고를 마무리합니다. 다 함께 또 한 해를 어떻게든 맞이해 봅시다!