Daybreakin Things
올해 봄학기 마지막으로 조교를 맡았을 때 개강 전날 교수님과 한 학기 커리큘럼을 의논하면서 했던 이야기이기도 하고, 내가 전산학을 공부 + 연구해오면서 느낀 부분들이라 따로 글로 정리해본다.
시스템을 설계하는 건 복잡성을 해결하는 과정이다.
내 학번부터 KAIST 전산과의 졸업필수과목이 된 CS408 전산학 프로젝트(Capstone Project) 과목에서는 학생들이 팀을 이뤄 한 학기 내내 그 동안 배운 모든 지식과 기술을 동원하여 '적절한 수준의 복잡도를 지닌' 시스템을 설계·구현한다. 내가 이 과목을 수강했을 때 가장 불만이었던 부분은 과연 얼마나 복잡해야 하는가에 대한 기준이 매우 주관적이었다는 것과, 실제로 그러한 복잡성을 해결하면서 시스템을 설계하는 방법에 관해서는 거의 강의가 이뤄지지 않았다는 점이다. CS350 소프트웨어 공학개론 과목에서 모듈화의 개념이라든가 decoupling의 중요성 등 기초적인 원리를 일정 부분 가르쳐주기는 하지만, 실제로 프로그램을 작성할 때 이를 어떻게 적용해야 하는가에 대한 실전적인 지식은 거의 알려주지 않는다.
이때 채우지 못한, 시스템 설계를 어떻게 "잘" 해야 하는가에 대한 목마름이 내 대학원 생활에서도 상당히 아쉬움으로 남는 부분이라는 걸, 좀 늦게 깨달았다.
내 연구 주제인 패킷 처리 시스템 정도면 "매우 많이" 복잡한 시스템이라고 할 수 있다. 목표는 고성능 패킷 처리 프레임워크를 Linux 기반 환경에서 GPU와 갈은 보조프로세서를 활용해 구현하고, 여기에 CPU와 GPU로 패킷을 잘 배분해서 어떻게 하면 최적 성능에 다다를 것인가에 대한 문제를 푸는 것이다. 나는 사용자들이 새로운 패킷 처리 모듈들을 손쉽게 구현하고 추가·삭제할 수 있게 해야 한다고 보았기 때문에, 단순히 특정한 종류의 application만 동작하는 prototype 프로그램이 아니라 어느 환경에서나 configuration만으로 프로그램 수정 없이 돌릴 수 있는 framework로 만들려고 했고 이를 위해 복잡도가 매우 올라갔다.
예를 들면 어떤 모듈을 실행할 것인지에 관해서는 Click configuration language를 모방한 별도의 DSL(domain-specific language)로 작성된 설정 파일이 있고 이를 해석하는 parser가 달려있으며, 어떤 하드웨어 리소스를 사용할 것인지에 대해서는 embedded Python interpreter를 이용해 직접 시스템 정보를 전달해주고 사용자가 작성한 Python 스크립트가 자동으로 설정하게 했다. 네트워크 카드로부터 패킷을 입력받아 각 모듈들의 CPU 버전 코드를 실행하고 패킷을 출력하는 worker thread들이 여러 CPU 코어를 사용해 돌아가고 GPU를 사용할 필요가 있다고 판단한 경우 패킷들을 모아서 GPU 전담 thread로 보내고 실제 GPU 관련 코드를 실행해주는 부분도 있다. 이 모든 과정은 polling과 event-driven model을 혼합하여 작성한 것이며 병렬화와 batch 처리의 효율성을 모두 극대화하는 것을 목표로 코드를 작성했다.
가장 아쉬웠던 부분은, 어떻게든 프레임워크를 돌아가는 상태로 만들어서 논문을 써놓고 나니, 추상화와 동작 여부 사이에서 trade-off가 너무 많았고(논문을 쓰려면 당연히 최소한 '돌아는 가야' 하니까) 추상화는 결국 내 스스로도 100% 만족하기 힘든 상태가 되어버렸다는 점이다. 처음에는 논문 내용 자체를 framework의 우수성(?)으로 썼다가 여러 차례 학회에 재도전한 끝에 CPU/GPU load balancing 알고리즘을 중심으로 쓰고 framework는 들러리만 서는 형태로 논문을 제출하고 말았다. 그 이유는 '남들이 다 해놓은 거 짜집기한 것 아니냐'라는 내부 피드백을 넘어설 수가 없었고, 넘어설 수 없었던 이유는 설계 결과만 늘어놓는 것이 아니라 왜 좋은가에 대한 설명을 충분히 잘 드러나게 할 만큼 writing skill이 좋지 못함과 동시에 현실과 타협한 부분들이 너무 많았기 때문이다.
사실 이게 바로 내가 대학원에 온 후로 계속 고민하고 힘들어했던 부분이다. 지금 생각해보면, 이를 '새로운' 시스템 설계라고 논문의 형식으로 "잘" 주장하는 방법과 논문으로 썰을 잘 풀 수 있게 처음부터 고민하면서 시스템을 설계하는 방법을 나도 모르고 연구를 도와준 선배도 모르고 교수님도 잘 모르셨던 것 같다. (혹은 선배나 교수님은 경험을 통해 알고 있었더라도 그걸 남도 할 수 있게 전달하는 방법을 몰랐거나.) 실제로 코드를 작성하면서 세밀하게 내린 여러 결정들을 다시 머릿속에서 끄집어내서 왜 그게 좋은지 이유만 잘 붙여도 꽤 그럴싸해보일텐데, 문제는 코드를 '돌아만 가는' 것을 목표로 작성하다보니 이유를 충분할 고민할 시간 없이 작성한 legacy가 너무 커져버렸고, 논문을 실제 쓰는 시점이 되어서야 그런 legacy들에 대한 근거를 찾다보니 시간이 부족하고... 이런 악순환이 반복되며 시간을 너무 끌었다.
교수님과 개강 전날 책상에 네트워크·분산 시스템 분야의 여러 대가들이 써놓은 교과서를 주욱 늘어놓고 목차를 보면서 이번 학기 강의에는 어떤 내용들이 들어가야 할까 고민할 때, 눈에 딱 띄는 책이 있었다. MIT의 Jerome H. Saltzer 교수와 Fraans M. Kashoek 교수가 쓴 Principles of Computer System Design: An Introduction. 책 내용을 자세히 읽어보지는 못했지만 그냥 목차만 봐도, 첫 챕터 첫 문단만 봐도 눈물이 나더라. 왜 이런 걸, 이렇게 체계화해서 알려주는 사람이 없었는가 안타까워서 말이다. 오죽했으면 교수님께도 CS408이 이런 내용을 가르치도록 개편되었으면 좋겠다는 건의사항을 그 자리에서 드렸을 정도다.
나의 안타까움은 여기서 다음 질문들로 바뀐다:
얼마 전 오랜만에 텍스트큐브 코드를 보던 중 inureyes님과 했던 얘기다. 내가 명색이(...) 텍스트큐브 개발자인지라 다른 블로깅 도구로 갈아타기가 좀 그렇고 그런데, 요즘 Octopress 같은 static page 기반의 블로깅 도구들이 좋아보이더라고 얘기했더랬다. inureyes님은 '결국 15년만에 제자리로 돌아왔군요.'라는 한 마디로 대답. 그 말을 들으니 지난 역사가 떠올라 한번 정리해야겠다 싶었다.
대략 15년 전이면 2000년, 내가 중학교 1학년일 때다. 당시 우리나라에는 막 ADSL이 보급되고 있었고, 너도나도 홈페이지 하나쯤 만들어 운영하는 것이 유행이었다. 어찌어찌 HTML 공부해서 x-y.net이란 웹호스팅 서비스에 가입하고 매번 업데이트가 있을 때마다 나모웹에디터로 직접 HTML을 편집해서 올리곤 했다. 그때만 해도 사용자가 올리는 컨텐츠를 홈페이지에 반영해주는 CGI 같은 건 상당히 어려운 기술이었고(PHP도 대중화되기 전이었음) 방문자 수 카운터, 게시판, 방명록 등을 gif/frame/iframe 형태로 홈페이지에 삽입해주는 서비스들이 많이 있었다. 대표적인 게 superboard.com으로, 아기자기한 게시판 템플릿도 여러 종류 제공하고 게시물 목록의 배경색을 그라데이션 느낌이 나게 줄마다 색깔을 다르게 넣어주는 게 일종의 최신 트렌드였다. 오랜만에 생각나서 찾아보니 구글 캐시에 일부 흔적이 보이고 회사는 망한 듯. 그때를 살펴보면 메인 컨텐츠는 홈페이지 운영자들이 직접 HTML로 만들어 올리고, 아무래도 관리나 구현이 귀찮은 상호작용 기능들을 외부 서비스에 의존하던 형태였다.
그러다가 PHP가 웹프로그래밍 언어로 뜨기 시작하고, 웹호스팅들이 MySQL 서비스를 보편적으로 제공하게 되면서 2005년 무렵에는 설치형 도구들이 대세가 되었다. 특히 제로보드가 크게 유행하면서 홈페이지를 만들려면 반드시 써야 하는 도구란 위상을 가졌던 시절이었다. 텍스트큐브의 전신인 태터툴즈가 나온 것도 2005년이고, 오픈소스 프로젝트로 가동되기 시작한 것이 2006년 4월이었다. 워드프레스도 비슷한 시기에 오픈소스 프로젝트로 출발했다. 2007년 무렵부터 UTF-8 인코딩이 대세가 되었고, Firefox 사용자가 늘고 웹표준, Open API가 화두가 되면서 태터툴즈·텍스트큐브와 같은 블로깅 도구들은 OpenID 지원, 트랙백 지원, 스팸 차단 서비스 등을 추가해나가며 점점 CMS에 가까운 형태로 진화했다.
2007년 무렵부터는 블로깅 도구들이 크게 두 갈래의 길로 나누어졌다. 하나는 계속해서 오픈소스 프로젝트로 가동되며 사용자가 직접 자신의 호스팅에 설치해서 사용하는 설치형 방식과 다른 하나는 약간의 기술적 지식을 요구하는 설치형에 비해 가입만으로 쉽게 사용할 수 있는 가입형 방식이다. 우리나라에서는 네이버 블로그와 티스토리가 가입형의 대표주자였고 해외에서는 구글이 인수한 blogger.com과 워드프레스 개발자들이 직접 서비스화한 wordpress.com이 대세였다. 이때의 블로깅 도구들은 점점 세세하고 복잡한 기능을 탑재하면서(예: 웹브라우저에서 직접 사용하는 스킨 편집기) 한편으로는 진입 장벽이 높아지는 문제점도 보여주었다. 2008년 9월에는 태터툴즈와 텍스트큐브를 함께 개발하고 서비스화했던 태터앤컴퍼니가 한국 스타트업으로는 최초로 구글에 인수되었고 약 1년 간 textcube.com 서비스를 유지한 후 blogger.com으로 흡수되었다.
그러다가 2009년 11월 한국에 아이폰이 출시되고 2010년부터는 모바일웹이 대세가 되기 시작한다. 초반에는 데스크탑의 기능들을 그대로 옮기거나 혹은 아예 축소해서 정말 뷰어 용도로 쓰는 방식을 취하다가, 모바일 웹브라우저 기술이 무르익기 시작하면서는 데스크탑과 동일한(그러나 작은 화면 크기와 터치 인터페이스 최적화된) 사용자 경험을 추구하는 반응형 웹디자인이 뜨기 시작했다. 이때부터는 점점 복잡해져만 가던 웹 디자인이 미니멀리즘으로 회귀하기 시작했고 그 트렌드는 2014년 현재도 여전히 진행 중이다.
홈페이지를 만드는 방식도 많이 바뀌었다. 특히 GitHub에서 프로젝트 소개 페이지를 운영할 수 있는 static page 호스팅을 제공하자 static page들을 쉽게 관리할 수 있는 Jekyll과 같은 도구가 나오고 이를 응용한 Octopres와 같은 블로깅 도구까지 등장한 것이다. 사실 개인 홈페이지에서 자신의 글이나 컨텐츠를 보여줄 수 있는 공간과 사용자들의 코멘트나 방명록을 받을 수 있는 공간 정도만 있으면 되는데, 기존의 설치형 블로깅 도구들은 CMS를 추구하면서 지나치게 복잡해져 있었다. 사람들은 생각보다 단순해서 오히려 기능이 많아지면 잘 못 쓴다. 그런 역효과가 다시 static page 기반의 홈페이지로 회귀하는 트렌드를 만든 것이다. 게시판이나 방명록의 위치는 SNS 계정을 활용해 댓글을 남길 수 있는 Disqus와 같은 서비스들이 차지하였다. 결국 15년 전과 똑같아진 것이다. 물론 세부사항을 들여다보면 지금은 15년 전과는 많이 다르다. Open API라는 흐름을 거치면서 서비스 간의 인증이나 연동이 보다 강화되었고, AJAX 기술을 통해 외부 서비스이지만 마치 그 웹사이트의 일부인 것처럼 동작한다.
설치형 도구들은 그 자체로 모든 사용자가 원하는 기능을 최대한 넣는 것에 집중해왔다. 바로 자기완결성을 추구했던 것이다. 반면, Open API와 AJAX 기술은 하나의 웹사이트가 여러 서비스의 조합(composition)으로 만들어지는 기반을 제공하였고, 각각의 전문화된 서비스를 이용해 원하는 목적으로 가공하도록 해주었다. 이것이 바로 분산화·전문화다. 15년의 사이클을 돌고 돌아 이 두 트렌드가 엎치락 뒤치락 했듯이, 컴퓨터의 발전 역사도 중앙집중식 메인프레임에서 개인화·분산화된 PC 환경으로 왔다가 다시 중앙집중식 클라우드로 가는 모양새를 볼 수 있다. 클라우드도 기존의 메인프레임으로는 상상할 수 없던 대규모 스케일을 제공한다는 점에서 큰 흐름은 반복되었지만 똑같지는 않다. 마찬가지로 분산화된 서비스도 그 흐름은 반복되었지만 그 연결은 훨씬 긴밀해졌다.
inureyes님이 이어서 했던 이야기는 여러 주체의 서비스를 모아서 무언가를 구축하면 그것이 많이 쪼개져있을수록 시스템 전체의 불안정성이 올라간다는, 다분히 물리학자다운 이야기였다. A, B, C, ... 서비스를 엮어서 홈페이지를 만들었는데 그 중에 하나라도 동작하지 않는다면 홈페이지는 완전한 서비스를 제공할 수 없게 되는 것이다. 하나에만 의존할 때보다 여러 개에 의존할 때 각각의 실패 확률이 동일하다면 여러 개에 의존할 때 당연히 전체 실패 확률이 올라간다. 서비스의 분산화와 반대인 데이터의 중앙집중화는 정 반대의 문제를 야기한다. 모든 것이 클라우드에 있는 상황에서 내 데이터가 있는 데이터센터가 지진과 같은 천재지변으로 소실된다면 한번에 모든 것을 잃을 수도 있다. 적어도 자기 장비에 자기가 데이터를 가지고 있으면 그 데이터의 운명은 자신의 운명과 동일하지만, 클라우드에 아웃소싱하는 순간 자신의 운명과는 상관 없어진다는 점에서 사람들은 실패가 발생하면 더 쉽게 멘탈 붕괴에 빠질 것이다. 게다가 데이터센터는 매우 많은 사람과 서비스를 담고 있기 때문에 단 하나의 실패가 매우 광범위하게 영향을 끼치는 "single-point-of-failure" 역할을 하게 될 공산이 크다.
IT의 흐름에서 자기완결성·중앙집중식 vs. 분산화·전문화·조합성의 구도는 아마 앞으로도 계속 반복되지 않을까 싶다. 어느 것이 좋다 나쁘다기보다는 각기 장단점이 있는데, 하드웨어의 성능과 시장의 성숙도(기술적인 장벽을 뛰어넘을 수 있는 사용자의 비율 차이)에 따라 그 선택이 달라질 것이다. 앞으로 15년 후에는 어떻게 변해있을까?
<스포일러 주의>
거의 반년 동안 기다렸던 영화다. 많은 이들이 이야기하듯 호불호가 갈리는 측면도 있고 영상과 음향은 압도적이었지만 스토리는 다소 진부하다는 평을 들을 만하다. 양자역학이나 상대성이론의 수식을 직접 다룰 수 있을 만큼 공부하지는 못했지만 나름 학부 때 물리학 부전공을 시도했을 만큼 관심이 많았기에 영화에 나오는 내용이나 설정 정도는 아주 가볍게 이해하고 감상할 수 있었다. 대중 상업 영화에서 이만큼이나 보여주고 설명해낼 수 있었다는 점에 감탄했다.
영상미의 측면에서는 2001 스페이스 오디세이의 21세기 버전이라 칭함에 손색이 없다. 궤도 상의 우주선들이 도킹하는 장면이나 중력을 만들기 위해 회전시키는 장면, 그리고 아무 소리가 없는 우주 씬들과 순간순간 클라이막스마다 나오는 장엄한 음악은 그야말로 압도적이었다. 웜홀과 블랙홀에 들어가는 장면도 상당히 인상 깊었는데, 기존의 SF 영화에서는 대체로 동그라미처럼 생긴 '구멍'이 우주선 앞에 만들어져 그 안으로 그냥 쑥 들어간다.. 이런 형태로 묘사된 반면 인터스텔라에서는 3차원의 구멍은 곧 구체라는 사실에 입각해 구체로 표현하고 그 주변을 빙글빙글 돌다가 표면(특이점)에 닿는 순간 이동이 이뤄진다는 형태로 묘사했는데 이러한 디테일은 물리학을 공부하지 않고서는 생각해내기 어려운 부분이다. 2001 스페이스 오디세이의 오마주라고 할 수 있는 부분은 토성 궤도에서 웜홀이 생겼다는 점(소설에서는 토성이고 영화에서는 목성으로 나왔지만)이나 주인공들을 도와주는 인공지능 로봇들이 접혀있는 형상이 마치 monolith와 비슷한 인상을 풍긴다는 점을 들 수 있다. 이 로봇들도 참 인상깊었는데 직육면체 모양의 몸을 여러 개의 기둥으로 쪼개서 극한 환경에서 자유롭게 움직이는 걸 보니 로봇공학의 최신 경향도 열심히 공부했구나 하는 인상을 지울 수 없었다.
개인적으로 꼽는 이 영화의 최대 명장면은 바로 머피가 '유레카! 유레카!! 유레카!!!'라고 외치며 중력방정식의 해를 프린트한 종이를 연구소 안에 여기저기 던지는 모습. 많은 물리학자들의 염원인 통일장 이론을 완성한 순간일까? 실제로 인류가 적극적으로 우주개발에 나서지 못하는 가장 큰 이유는 중력 때문이다. 지구 궤도로 1kg의 질량을 올리기 위해 드는 비용이 너무나 비싸다. 만약 중력을 정복해 이 비용을 획기적으로 낮출 수 있고, 더 나아가 중력 자체를 인공적으로(질량 대신 에너지를 사용한다든가) 만들어내거나 없앨 수도 있게 된다면 스타워즈에서나 보던 것과 같은 우주시대가 활짝 열릴 것이다. 그런 점에서 내가 죽기 전에 인류가 중력을 정복하는 모습을 보고 싶은 게 나의 소망이라면 소망이니, 머피가 중력방정식을 풀고 기뻐하는 장면을 보고 어찌 내가 기쁘지 않을 수 있었을까. 물론 영화의 스토리 상으로도 불가능으로 여겨졌던 플랜A를 성공시킬 수 있게 된 순간이니, 가히 클라이막스의 한 장면이라 할 수 있겠다.
사람들이 잘 이해하지 못한 경우가 좀 있는 것 같지만 이 영화가 과학적 측면에서도 정말 흥미로웠던 부분은 블랙홀 안에서 바깥으로 정보를 전달하는 유일한 방법이 중력이라는 설정이다. 왜 0과 1(모스부호)로만 정보를 표현하는지에 대해 궁금해하는데, 이는 정보의 "encoding"이라는 개념을 이해해야 알 수 있는 부분이다. 중력을 통해서 정보를 전달해야 하는데, 중력 자체는 눈에 보이는 것이 아니므로 그걸 상대방이 알아볼 수 있는 어떤 유의미한 형태로 변환하기 위해서 책을 일정 순서로 떨어뜨리거나 모래가 모이는 위치를 바꾸거나 시곗바늘을 움직이는 식의 간접적인 형태로 표출한 것이다. 이때 가장 쉬운 방법은 0과 1의 2가지 상태만으로 정보를 표현하는 것이고 결국 binary 인코딩을 사용한 것.
또, 사람들에 따라서는 본격적으로 우주여행이 시작되기 전 초반 40여분의 러닝타임이 지루하다는 경우도 보이는데, 나는 오히려 그 부분이 굉장히 현실감 있고 좋았다. 뒤쪽의 우주여행에 대한 motivation을 만들어주는 부분이기도 하고. 흔히 나오는 디스토피아 영화들처럼 어떤 일순간의 사건으로 갑자기 세상이 종말하는 것이 아니라 꾸준하게 늘어나는 자연재해(영화에서는 황사로 묘사)로 점점 사막화되고 생존 여건이 나빠져가는 상황과 그에 따른 사람들의 심리적·사회적 변화를 너무나 잘 표현했다. 거시적인 모습보다는 한 가족이 접하는 일상의 장면들을 보여줌으로써 말이다.
스토리의 구성은 SF물을 많이 접했던 사람들이라면 '이건 어디서 따오고 저건 어디서 따오고 요건 어디서 먼저 시도했고...' 등등의 생각이 많이 떠올라 식상하다는 느낌을 지우기 어려울 것이다. 그렇지만 나는 이 작품이 오히려 (하드) SF물을 별로 접해보지 못했던 사람들에게 더 큰 감동을 전달할 수 있을 것이라고 생각한다. 자라나는 10대들이 이 영화를 본다면, 우주개발을 꿈으로 삼는 이들이 많아질 것이다. 하드 SF에 가까운 물리학적 관찰과 표현을 넘어 가히 철학적 SF라고 봐야 하는 2001 스페이스 오디세이의 세련된 영상미를 보다 많은 사람들이 쉽게 받아들이고 즐길 수 있도록 풀어냈다는 점이 오히려 미국 헐리우드와 크리스토퍼 놀란 감독의 내공이라고 할 만하다.
시간이 허락된다면 공대생(...) 친구들이나 가족들과도 한번 더 보고 싶다. 기왕이면 제일 큰 스크린의 영화관에서. 오래오래 상영했으면 좋겠다.
지난 4월 프란치스코 교황님의 한국 방문 결정 이후 각 성당에서는 신자들을 대상으로 월드컵경기장 성모승천대축일 미사와 광화문 시복식 미사 참석자들을 등록하는 절차를 밟았다. 성가대 활동을 하지 않았으면 아마 이 기회를 못 잡았으리라 생각하는데, 선착순으로 모집할 당시 청년부 회장을 맡았던 성가대 신입단원 분이 빠르게 연락을 취해주어 등록을 성공리에 마칠 수 있었다. 한달쯤인가 지나고 나서 신원 확인을 위한 주민등록번호 수집이 있었다. (그때는 주민등록번호 수집 법정주의가 시행되기 전이었음) 그리고 또 좀 지나서 청년들은 별도로 외신기자들 안내를 위한 영어 통역 자원봉사로 추가 지원을 할 수 있었다. 그러고나서는 까맣게 잊어버리고 있다가 3주 전부터 매주 나오는 주보와 미사 후 공지시간을 통해 입장 방법과 반입 가능·금지 물품 등에 대한 안내, 성당 별 출발 시간 등에 대한 공지가 이뤄졌다. 주변에서 신자가 아닌 사람들 중에 등록비가 따로 있느냐 궁금해한 경우가 있어서 덧붙이자면, 등록에는 당연히 아무런 비용이 들지 않았고, 미사 일주일 전 방한 준비를 위한 특별 예물봉헌과 교황님이 사용하실 미사도구나 제대용품 등에 대한 별도 기부 형태로 약간의 fund raising은 있었다. 아마도 대부분의 비용은 이런 헌금과 교구 차원의 예산을 사용했을 것이다.
내가 활동하는 궁동 성당은 원래 새벽 3시 출발이었다고 하는데 나중에 시간 배정이 새벽 6시로 변경되었다. 늦게 자고 늦게 일어나는 편인 나에게는 그나마(...) 희소식이랄까. ㅋㅋ 전국 각지에서 많은 사람들이 버스 등을 이용해 오므로 혼잡이 예상되었기 때문에, 우리는 월드컵경기장과 지리적으로 가깝다(약 2.6 km, 도보 40분)는 점을 고려하여 성당에 다같이 모여서 걸어가는(!) 것으로 결정되었다. 궁동 성당에서는 약 400명 가량이 참석하기로 하였고, 집이 본당 구역에 속한 사람들을 제외하고 나처럼 타지 생활하는 사람들이나 구역에 속하지 않은 청년들은 대충 20여명쯤 있었던 것 같다.
그래서 드디어 오늘, 새벽 4시 반에 일어나 5시 40분에 성당에 도착해 무사히 입장티켓을 배부받고 6시부터 사람들과 삼삼오오 무리지어 월드컵경기장으로 이동했다. 대전지역은 어젯밤까지 계속 비가 왔기 때문에 사람들이 다들 비가 오지 않을까 걱정했는데, 오히려 비는 오지 않고 흐린 채 시원한 바람이 불어서 걷기에 딱 좋았다. 전날 대전지역 마트에서는 우비가 모두 동났지만 그 우비를 입은 사람은 결과적으로 아무도 없었다. (...) 경기장이 다가워오자 이미 다른 지역에서 신자들을 데려온 버스들이 사람들을 내려주고 주차해놓아서 엄청난 규모의 버스 주차장이 생겨있었고 계속해서 사람들을 실어나르는 버스들을 볼 수 있었다. 유성IC 근처부터는 경찰들이 경계·교통통제 하는 모습도 볼 수 있었다.
원래는 성당의 자리 배치에 따라 들어가는 출입구도 정해져있었는데, 다들 기억을 못해서 + 월드컵 경기장의 구조를 잘 몰라서 헤매는 사태가 발생했다. (우리뿐만 아니라 상당히 많은 사람들이...) 우리가 경기장의 동쪽 방향에서 걸어왔기 때문에 자연스럽게 동쪽 출입구로 들어갔는데, 처음부터 "직N문"(N은 자연수)으로 들어갔으면 쉬웠을 것을 그 위치를 몰라서 괜히 1층으로 들어가는 바람에 잔디밭으로 내려가는 통로를 찾느라 경기장 관중석을 반바퀴 빙빙 돌아야 했다(W23과 W24 출입구 사이의 엘레베이터 옆 계단으로 내려갈 수 있었고 제대 뒷편 출입구로 나올 수 있었다).
입장할 때 공항과 비슷한 보안검색과 티켓·신분증 확인 절차가 있었으나 아주 딱딱한 분위기는 아니었고 사람들도 다들 잘 협조해서 무난하게 넘어갔다. 보안검색 절차를 거친 후 하나은행에서 협찬한 종이 선캡과 방한준비위 쪽에서 준비한 미사 예식 안내서, TV에서 다들 보았을 그 손수건과 수자원 공사에서 협찬한 대청호 수돗물을 담은 500ml 생수병을 받을 수 있었다. (참고로 영성체 때 신부님들마다 씌워드린 교황문장이 새겨진 노란색 우산은 우리은행에서 협찬한 것이었다.)
우여곡절 끝에 자리 찾아서 착석완료하니 오전 7시 20분이었다. 우리 본당은 제대를 앞에 두고 바라봤을 때 잔디밭의 왼쪽 앞 블록의 뒷쪽 열 일부와 오른쪽 뒷 블록의 앞쪽 열들을 배정받아 교황님의 미사 집전 모습을 바라보기 좋은 위치였다.
사전에 가수 인순이와 조수미씨의 축하 공연이 있을 거라는 이야기는 들었지만 정확한 식순에 대해서는 알려주지 않았기 때문에 대충 7시 30분쯤 다들 자리잡고 나서는 교황님 미사 집전하시는 10시 반까지 뭘하며 기다리나(...) 이런 상태였다. 우리 본당에서는 아주머니들이 백설기를 나누어주셔서 배고프지 않게 기다릴 수 있었다. 8시가 되자 식순 안내가 나오고, 모 본당 출신의 사회자분과 평화방송 프로그램 진행자 분의 사회에 따라 축하공연이 시작되었다.
첫번째 공연은 예쁘게 한복을 차려입은 소년소녀 성가대(?)의 노래 3곡이었다. 제목과 이름을 기억하지 못하는 게 내 고질병인데(...) 첫번째 곡은 박수와 율동으로 귀여운 느낌이었고 두번째 곡은 성가곡, 세번째는 아리랑이었다. 두번째 공연은 화장실을 다녀오느라 잘 못 봤는데(...) 어른 성가대의 성가 곡들이었다. 음향조절을 잘 못했는지 소리가 잘 안 들려서 좀 아쉬웠다. 세번째 공연은 가수 인순이의 공연으로 정말 이래서 가수구나... 하는 느낌이 절로 드는 파워풀하고 통쾌한 발성이었다. 특히 거위의 꿈을 부를 때는 다들 기분 업. 네번째 공연이 프리마돈나 조수미씨의 공연으로 역시 명불허전. 특히 아베마리아 부를 때의 그 성량과 울림은 대단했다. 요즘 식으로 표현하자면 '소오름....' ㅋㅋ 공연 스테이지가 제대를 바라봤을 때 왼편이었기 때문에 오른편에 있었던 나는 가수들을 직접 보기는 어려웠지만(그래도 보이긴 보였다 ㅋㅋ) 대형 LED 전광판의 화질이 매우 좋아서 그것으로도 충분히 만족스럽게 자세히 볼 수 있었다.
조수미씨 공연이 끝났을 때 대충 9시 30분 언저리였던 것 같은데 이때 교황님이 헬기 대신 KTX를 이용해서 오고 계신다는 소식이 전해졌고 처음에 일정 지연이 있을 거라고 했다가 갑자기 급 10분 뒤에 도착하십니다~ 하면서 사람들이 우르르 화장실에 다녀오는 진풍경이 연출되었다. (...) 9시부터는 KBS 생중계가 이뤄지면서 KBS 아나운서들이 진행을 맡았는데, 공연 후와 교황님 도착 전의 빈 시간 동안 웬 응원연습(...)을 시켜서 다들 어색어색. 원래 천주교 신자들이 개신교하고 분위기가 좀 달라서 막 와와!! 이런 거 잘 못하는데 어떻게든 분위기를 띄워보려는 사회자의 노력이 참 눈물났다. 그래도 월드컵을 치른 나라의 사람들이라 그런가 파도타기만큼은 또 잘 하더라. ㅋㅋㅋ 시키지도 않았는데 막 두번 세번씩 돌고.
LED 스크린을 통해 교황님이 도착해 쏘울에서 내려 무개차로 갈아타는 모습이 보여지자 슬슬 사람들이 흥분하기 시작했다. 직2문으로 입장한다는 사회자의 안내가 있자 그 근처로 사람들이 몰리기도 했다. 교황님이 무개차를 타고 돌지 아니면 걸어서 입장하실지 정확히 모르는 상태였는데 아무래도 고령이다보니 무개차로 필드 가장자지를 쭉 도는 방식으로 진행되었다. 사실 사회자의 눈물나는 노력이 없었으면(...) 사람들이 대단하게 환호성을 지르거나 하지는 않았을 것 같은데(...) 환호 소리가 조금 작아진다 싶으면 파도타기도 시키고 '비바 파파' 열창도 시키고... ㅋㅋ 통로 쪽으로 모인 사람들이 열심히 사진을 찍어서 안쪽의 사람들에게 전송해준 덕분에 먼발치에서만 교황님을 지켜보았지만 생생한 사진들을 얻을 수 있었다. 바로 며칠 전에 카카오톡 업데이트로 사진 원본 전송 기능이 생겼는데 참 적절했다.
열기를 가라앉히고 10여분 정도 제의 준비 시간이 있었다. 이때 교황님이 세월호 유족들을 만나셨고, 사실 나는 나중에 나와서 뉴스보고 알았지만(LED 스크린으로는 잘 보이지 않았다...ㅠ) 세월호 노란리본을 가슴에 달고 미사를 집전하셨다. 나는 프랑스와 스웨덴과 영국에서 모두 미사를 본 경험이 있는데, 역시 평소와 동일한 형식으로 진행되었다. 교황님이 말씀하시는 부분과 한두 마디의 짤막한 응답구들은 이탈리아어로 했지만(신자들이 말해야 하는 부분은 예식 안내서에 발음을 한글로 써놓았다), 통회의 기도와 사도신경, 주기도문, 그리고 성가 합창은 한국어로 진행하였다. 역시 다같이 성가 부를 때 경기장에 울리는 목소리는 감동. 어렸을 때부터 친숙한 한국 가톨릭 성가들을 교황님 앞에서 다같이 부른다는 것도 참 멋진 경험이었다.
봉헌은 평소 본당 미사처럼 실제로 헌금을 받지는 않고 공통 예물 봉헌 형태로만 진행되었고, 영성체는 수백(?) 명의 신부님들이 관중석과 잔디밭 곳곳에 배치되어 동시다발로 진행되었다. 참석자 수가 대략 5만명이었다고 하는데 모두 성체 받아모시기까지 20분도 안 걸렸던 것 같다.
미사는 거의 안내서에 써있는 순서대로 진행되었는데, 맨 마지막 삼종기도 부분이 좀 달랐다. 삼종기도 직전에 유흥식 라자로 대전교구 주교님이 특별 환영 메시지와 기도 요청을 드리고 나서 교황님께서는 삼종기도 강론을 말씀하셨다. 이때 월드컵 때처럼 중앙 관중석을 덮는 대형 환영 현수막이 펼쳐졌다. 그러고 나서 이탈리아어로 삼종기도를 했는데 여기서는 사람들이 못 따라가서 단체 멘붕.... 안내서에 써있지 않은 기도였던 것 같은데 결국 이 부분은 교황님과 사제단하고만 주고받는 식으로 진행되었다.;;
미사의 마무리는 평소처럼 강복과 파견성가로 진행되었는데, 파견성가 부르는 중에 자리를 먼저 뜨는 사람이 많았던 점은 좀 아쉬웠다. 사실 평소 본당 미사에서도 파견성가 때 먼저 나가는 사람들이 꽤 있는데 그 습관 어디 안 가더라는...-_-; 근데 한편으로는 이해가 되기도 했던 부분이 영성체 타이밍을 전후해서 흐렸던 하늘이 쫙 맑아지는 기적(?)과 동시에 너무나 강렬한 햇빛이 쏟아지는 바람에 다들 빨리 나가고 싶었으리라는 생각도 들었다. 실제로 관중석 부분을 보면 햇빛이 직접 닿는 부분은 사람들이 젤 먼저 빠져나갔고 그늘진 부분은 사람들이 오랫동안 남아있었다. 나도 고작 10여분 햇빛을 쬐었을 뿐인데 양팔 피부가 벌겋게 달아오를 정도로 햇빛이 셌고 더군다나 다들 비가 오지 않을까 걱정했던 상황에서 선크림까지 바른 사람도 별로 없었을 것이기 때문.
미사 후에는 풍물놀이패의 신명나는 축하공연이 있었고 사제단 퇴장 이후 행사 종료가 선언되자 사람들이 하나둘씩 기념사진을 찍으러 제단 주변에 모이기 시작하더니 성모상과 제대초, 교황좌 등을 찍느라 시끌벅적. 나도 약간의 기념촬영을 한 후 성가대 멤버들을 따라 이동해 일정을 마무리하였다.
강론 말씀 전문은 여러 언론에 공개된 것 그대로다. (나중을 위한 스크랩) 대충 한 문단 정도의 분량씩을 이탈리아어로 쭉 말씀하시고 옆에서 순차 통역하는 방식으로 진행되었다. 내용은 통역을 통해서야 알아들을 수 있었지만, 이탈리아어로 말씀하실 때도 특히 강조해서 말씀하신 부분들을 알 수 있었는데, 특히 아래 부분, 그 중에서도 무한 경쟁의 사조에 맞서 싸우기를 바란다고 말씀하실 때 다소 격앙된 목소리로 흥분하셨다는 느낌을 받았다. 두번째 문장은 교황님이 미사 후 트위터에 남기신 메시지이기도 하다.
세례 때에 우리가 받은 존엄한 자유에 충실하도록 우리를 도와주실 것을 간청합니다. 하느님의 계획대로 세상을 변모시키려는 우리의 노력을 이끌어 주시도록 간청합니다. 또한 이 나라의 교회가 한국 사회의 한가운데 에서 하느님 나라의 누룩으로 더욱 충만히 부풀어 오르게 도와주실 것을 간청합니다. 이 나라의 그리스도인들이 사회의 모든 영역에서 정신적 쇄신을 가져오는 풍성한 힘이 되기를 빕니다. 그들이 올바른 정신적 가치와 문화를 짓누르는 물질주의의 유혹에 맞서, 그리고 이기주의와 분열을 일으키는 무한 경쟁의 사조에 맞서 싸우기를 빕니다. 새로운 형태의 가난을 만들어 내고 노동자들을 소외시키는 비인간적인 경제 모델들을 거부하기를 빕니다. 생명이신 하느님과 하느님의 모상을 경시하고, 모든 남성과 여성과 어린이의 존엄성을 모독하는 죽음의 문화를 배척하기를 빕니다.
이 대목에서 교황님의 사목 지향과 그것이 이루어지기를 바라는 간절한 마음, 그리고 원론적이고 이상적인 어투를 쓰는 것 같으면서도 분명하게 날이 서 있는 뜻을 느낄 수 있었기에 눈물을 흘리지 않을 수 없었다.
신앙적으로 인상깊었던 부분은 바로 앞 부분의 2독서에 대한 설명이었다. 가톨릭에서는 하느님에 대한 속박을 오히려 자유라고 표현하곤 하는데, 그 부분을 추상적이지 않고 오히려 아주 구체적이면서 짧고 쉬운 언어로 이토록 명확하게 설명해주심이 놀라웠다.
참된 자유는 아버지의 뜻을 사랑하는 마음으로 받아들이는 데에 있습니다. 은총이 가득하신 성모 마리아에게서, 우리는 그리스도인의 자유가 단순히 죄에서 벗어나는 일보다 더 크다는 것을 배우게 됩니다. 그것은 영적으로 세상의 현실을 바라보는 새로운 길을 열어 주는 자유입니다. 하느님과 형제자매들을 깨끗한 마음으로 사랑하는 자유이며, 그리스도의 나라가 오기를 기다리는 기쁨이 가득한 희망 안에서 살아가는 자유입니다.
삼종기도 강론에서는 세월호에 대한 언급을 하셨다. 교황님이 세월호 특별법과 같은 실질적 이슈에 대해 직접적인 언급을 하실 수는 없었겠지만, 공동선을 위해 연대하고 협력하는 헌신적 모습을 바란다는 말씀을 통해 다시 한번 대화를 촉구하셨다고 할 수 있을 것이다.
우리는 특별히 '세월호' 침몰 사건으로 인하여 생명을 잃은 모든 이들과, 이 국가적인 대재난으로 인하여 여전히 고통받고 있는 이들을 성모님께 의탁합니다. 주님께서 세상을 떠난 이들을 당신의 평화 안에 맞아주시고, 울고 있는 이들을 위로해 주시며, 형제자매들을 도우려고 기꺼이 나선 이들을 계속 격려해 주시길 기도합니다. 이 비극적인 사건을 통해서 모든 한국 사람들이 슬픔 속에 하나가 되었으니, 공동선을 위해 연대하고 협력하는 그들의 헌신적인 모습을 확인할 수 있기를 바랍니다.
특히 세월호 유족 2분의 도보 십자가 순례로 가져온 십자가를 로마로 가져가 세월호 희생자들을 기억하는 미사를 드리신다는 소식을 접했을 때, 아, 교황으로서 해주실 수 있는 최대의 모든 일을 해주시는구나 하는 걸 알 수 있었다. 이건 세월호 사건을 단순히 시간 속에 잊혀지지 않게 하겠다는 의지의 표명과 다름 없기 때문이다.
시간이 지나면서 세월호 유족들의 진상규명 요구가 정치집단들 사이의 세력 싸움으로 변질되면서 사람들은 거기에 피로를 느끼고 '이제 그만할 때가 되지 않았나'라는 반응을 보이기도 한다. 특별법의 내용과 수사권·기소권 등의 세부 이슈에 대해서는 나도 어떤 판단을 내려야 할지, 그리고 유족들이 진짜 원하는 것과 이를 둘러싼 정치집단들의 이해논리가 어떻게 맞아떨어지고 어떻게 다른지에 대해서는 나도 잘 모르겠지만, 분명한 건 세월호 사건을 통해 우리나라가 국민적 슬픔에 빠졌었고, 다시는 이런 일이 일어나서는 안 된다는 것을 모두가 느끼고 기억해야 한다는 점이다. 그런 점에서 나는 프란치스코 교황님이 보여주신 '보듬음'은 현실적인 정치 이슈를 떠나서 이 사건을 우리가 잊지 말아야 한다는 것을 다시금 일깨워주시는 것이라 본다. 교황님만이 할 수 있는 방법으로 말이다.
프란치스코 교황님을 보면서 가톨릭 신자로서도, 또 신자가 아닌 일반인의 입장으로 생각해도, 참으로 원래 예수님이 지키려고 했던 가치가 무엇인가에 대한 궁극적인 물음과 회귀를 몸소 보여주시는 분이라는 게 절절하게 느껴진다. 교황이라는 매우 높은 수직권력 꼭대기에 있으면서도 스스로 몸을 낮추시는 모습과 그것이 단지 상징적인 행위로서만이 아니라 실질적인 조치들이 함께 취해지는 것을 보면서 사람들은 그분을 따를 수 있게 되었다. 또한 그동안의 여러 연설과 강론을 통해, 또 오늘의 미사 강론을 통해서도, '아버지의 나라가 땅에서도 이루어지게' 하기 위한 그분의 분명한 방향과 철학을 느낄 수 있었다. 이런 분과 동시대에 살고 있고, 또 가까이서 뵐 수 있었다는 것은 정말이지 큰 행운이 아닐 수 없다. 또한 동시에, 이런 분이 그만큼 부각되고 주목받는다는 것은 현대 사회가 정신적으로 그만큼 더 피폐해있다는 하나의 반증이기에 또한 갈길이 멀다는 생각도 든다.
내가 그리스도인으로서 살아가면서 이 세상에 어떠한 빛과 소금이 될 수 있을까. 프란치스코 교황님을 통해 그 답을 찾아가는 데 도움을 얻을 수 있기를 바란다.
일주일 째 온통 뉴스는 세월호 침몰 사고에 대한 소식 뿐이다. 기분좋게 자전거 타고 퇴근한 다음 샤워까지 싹 하고 단골 커피집에서 커피를 한잔 사다놓고 마시다가도 뉴스를 보면 저절로 눈물이 나온다. 지난 주일이었던 부활절에도 평소 같으면 청년회 월례회의 후 신부님과 함께 전체 회식이라도 했을 텐데 추모하는 뜻에서 각 소공동체별로 자체적으로 식사 자리만 가졌다.
이번 사고를 보면서 안타까운 점이 너무나 많다. 우선 어린 학생들이 대거 희생되었다는 점, 구조와 대피 안내에 최선을 다하지 않은 선장과 선원들, 총체적인 안전 불감증, 그리고 우왕좌왕하는 정부의 모습들. 무엇보다도 국가와 정부, 나아가서는 이 사회 전반에 대해 어린 학생들부터 어른들까지 한꺼번에 신뢰를 잃고 있다.
냉정하게 말해서 이런 사고는 언제 어디서든 예고 없이 찾아올 수 있다. 언제나 그렇듯 여러 개의 안 좋은 요인---대개 그 개별 요인으로는 큰 사고가 될 가능성이 적은---들이 확률적으로 모이면 사고가 나는 것이다. 다만 이 사고 수습 과정을 보면서 우리나라 정부는 정부대로 사람들이 이러쿵저러쿵 떠들어대는 걸 불신하고, 사람들은 사람들대로 정부를 의심하고 비판하는 모습을 계속 볼 수 있었다. 그 와중에 민간잠수사 행세를 했던 홍모 사기꾼 같은 사람들이 활개를 치고... 아주 점입가경이다.1 우리나라 사람들이 유난히 감정적인 것인지, 정모씨 말마따나 국민성이 미개해서 그런 것인지는 모르겠지만2, 여하간 사고 이후 뉴스를 조금만 들여다보면 하루도 바람 잘 날이 없다.
하지만 아무리 정부를 옹호하고 그 모든 노력을 인정해주고 싶어도, 기술적으로 구조 작업이 어려운 점은 이해하더라도, 사고 수습 과정에서 나타난 정부의 모습은 모든 사람들의 신뢰를 잃기에 너무나 충분하고도 남을 만큼이었다. 게다가 일각에서 제기되는 것처럼 정부의 행태에 비판적인 입장을 보이는 경우 알게 모르게 압력을 행사한다든지 하는 모습은 그 무너진 신뢰를 회복하기는 커녕 더욱 나락으로 빠뜨리고 있다. 설령 똑같이 한명도 생존자를 구조하지 못하는 결과를 보였다고 할지라도 일사불란하게 구조 작업을 지휘하고 모든 과정과 어려움을 소상히 설명하고 그런 자세를 사고 당일부터 보였다면 지금만큼 불신의 벽이 높아지지는 않았을 것이다. 게다가 일부 사람들의 몰지각한 언행으로 이런 짤방이 나돌 정도가 되었으니. 과연 내가 이런 일을 당한 입장이 되었을 때 어디까지 국가를 믿어야 할지 알 수 없는 지경이 되었다. 분명히, 이 상황을 통제하고 수습할 수 있고 그래야 하는 건 국가인데 그 국가에 의지하기 어려운 아이러니다. 이런 국가를 만든 건 우리 모두의 책임일까? 일부 정치집단의 무능함으로 봐야 할까?
한편으로는 별 것 아닌 일에 사람들이 지나치게 민감하게 반응하는 모습들도 보인다. 예를 들어, 나는 유족들 옆에서 총리가 의전용 팔걸이 의자에 앉아서 라면 좀 먹었다든가 이런 것까지 문제삼는 건 좀 지나치다고 본다. 총리의 입장에서보면 공무 수행 중에 주변 수행원들의 배려로 그리한 것인데... 물론 유족들이 보지 않는 곳에서 그렇게 했더라면 더 좋았겠지만, 그런 행동이 정부의 구조 의지를 깎아먹는다고 해석하는 건 좀 아닌 것 같다. (물론 나도 개인적인 정치적 입장에서 정홍원 국무총리의 모든 언행을 좋아하는 건 아니다.) 또 대통령이 직접 찾아와서 나름대로 최선을 다하겠다고 대면접촉까지 한 상황에서 청와대로 찾아가자는 것도 현실적인 접근은 아닌 것 같다. 오죽하면 그랬겠냐는 심정적인 공감도 가고 자신이 모든 책임을 지겠다고 해도 모자랄 판에 '책임자 추궁하겠다' 이러면서 은근히 한발 빼는 것 같은 모습을 보이는 현 대통령의 모습이 별로 마뜩치 않긴 해도, 대통령이라고 해서 뭔가 대단히 뾰족한 수가 있을 것 같지는 않다. 말보다 행동으로 다른 나라의 구조 지원을 좀더 일찍 받아들인다든가 이런 기지를 보여줬다면 약간의 플러스가 되었겠지만.
사실 나는 정부의 대응 문제보다 이 사고의 '구도'가 사회에서 느끼는 부조리함과 너무나 닮아있다는 사실에 더 화가 난다. '말 잘 듣는' 학생들과 구조에 총력을 다한 서비스 승무원들은 배에 남아있다가 수장되고 더 많은 정보와 권한을 가진 선장과 선원들은 도망쳐 전원 구조되는 이 모순적인 모습은 우리나라의 부조리한 부분을 너무나도 적나라하고 가슴아프게 보여준다. 이른바 교과서적인, 상식적인 행동을 했던 사람들 대다수가 희생되었다는 점과 모든 잠재적 위험과 상황을 알고 먼저 도망쳐나온 선장·선원들은 전원 구조되었다는 이 극명한 대비... 위기의 순간에 다른 사람들보다 빠른 정보를 접할 수 있는 권한이 있고 도망칠 여건(돈이 많다든지)이 되는 사람들은 누구보다 빨리 위기를 빠져나가고 정작 항상 제 자리를 지키던 사람들이 피해를 입는... 뭔가 역사적으로 어디서 많이 본 장면 같지 않은가?3 막말로 북한하고 전쟁이 났는데 방송으로 '국민 여러분 안심하고 집에 계십시오'라고 안내가 나온다면, 이젠 사람들이 이 말을 믿고 따를 수 있을까? 재벌총수들과 대통령부터 비행기 타고 외국으로 도망치지는 않을까 먼저 의심하게 되지 않을까?4
사회에서도 보면 하라는 대로 말 잘 듣는 사람들은 '순둥이' 취급받으면서 오히려 더 많은 일을 떠안게 된다든지 사회생활에서 자신의 이익을 나름대로 챙기며 '약게' 행동하는 사람들에 비해 손해를 보는 모습을 많이 볼 수 있다. 약삭빠른 선장·선원들과 묵묵히 제 자리를 지켰던 다른 사람들... 그 결과가 단순히 좀 손해보는 정도가 아닌 목숨이었기 때문에, 그리고 제 자리를 지켰던 사람들이 다름아닌 우리가 지켜줘야 할 학생들이었다는 점에서 이 사고는 너무나 슬프다. 그리고 충격이 크다. 아무리 '어른들의' 사회가 부조리하고 부패해 있어도('세상은 원래 이런 거야'라고 체념했더라도) 자라나는 어린이나 학생들에게만큼은 사회는 원리 원칙대로 살면 희망을 가질 수 있는 곳임을 보여주고 싶은 게 어른들의 심정일 것이다. 그런데 이제 학생들에게 무슨 말을 할 수 있을까.
나는 이러한 점 때문에 이 사건이 다른 사건들과 달리 특히 더 사회적인 후유증이 길 것이라 생각한다. 물론 겉으로는 시간이 지나면 다시 사람들은 놀러가고 웃고 떠들고 하겠지만, 책임을 저버린 약삭빠른 자들와 항상 제 자리를 지키며 말 잘 듣는 자들 사이에 형성된 불신의 구도는 생각보다 크고 깊은 상처로 남을지도 모르겠다.
케이블 종합편성 채널인 MBN 인터뷰에서, 홍가혜 씨가 해양경찰이 민간잠수사들의 구조 협력 요청을 막고 있다는 취지의 발언을 해 모두를 분노케 했다가 뒤늦게 사기 전력이 다수 있는 사람이었음이 밝혀지고 해당 발언도 사실이 아닌 것으로 알려지면서 구속영장까지 받게 된 해프닝이다. 결국 MBN은 보도국장이 직접 뉴스에서 머리 숙이고 사과를 해야 했다. ↩
정몽준(글쓰는 시점 현재 새누리당 국회의원이자 서울시장 예비후보) 씨의 막내아들이 페이스북을 통해 대통령과 총리가 내려와 최선을 다하겠다 하는데도 유족들이 항의하고 물세례한 장면을 두고 국민 정서가 미개하다며 비아냥댄 사건. 나중에 정몽준 씨가 직접 나서서 철없는 행동이었다며 사과 설명을 발표하였다. ↩
물론 대통령도 사람이고 재벌총수도 사람이기 때문에, 자신이 동원할 수 있는 모든 수단을 통해 생존하고자 하는 욕구는 당연히 있을 것이고, 이들의 목숨도 다른 사람들과 똑같이 중요하다. 하지만 이들이 사회로부터 받은 권한과 사회를 통해 얻은 부를 생각한다면, 적어도 그냥 도망치기보다는 적극적으로 이 사회의 안전을 위해 도움을 주는 모습은 보여줘야 하지 않겠냐는 것이다. ↩
이번 주 릴리즈 예정인 Python 3.4의 주요 변화사항으로 asyncio 라이브러리가 추가된 점을 꼽을 수 있다. 개인적으로는 unicode 대통합 이후 가장 반기는 변화라서 따로 글로 남겨본다. 우선 asyncio 라이브러리가 비동기 처리를 구현하는 핵심 구성요소인 coroutine 개념에 대해 썰을 좀 풀어보겠다.
프로그래밍을 할 때 동시에 2가지 이상의 작업을 처리하기 위해 사용하는 방법으로 대표적인 것이 multi-threading이다. process 또는 thread와 같이 운영체제 스케줄링의 기본 단위가 되는 실행 단위를 여러 개 만들어 각각이 서로 다른 작업을 처리하게 하는 것으로, 물리적으로 여러 개의 CPU 코어가 있는 경우 프로그래밍을 "잘"(lock을 가능하면 쓰지 않는다든지 shared data를 최소화한다든지) 하고 처리하고자 하는 연산이 입력데이터를 쪼개 처리할 수 있는 경우 높은 성능 향상을 볼 수 있다. 그러나 대부분의 프로그램은 single thread로 작성되므로 이처럼 입력 데이터를 쪼개 동일한 일을 하는 여러 개의 thread로 나눠주는 방식이 아니라면 큰 성능 향상을 보기 어렵고 데이터를 어떻게 쪼개고 어떻게 나눠주는지에 관한 구조를 모두 신경써야 하므로 프로그래밍도 복잡해지는 문제가 있다.
그 다음으로 많이 볼 수 있는 동시성 구현 방법은 event-driven programming이다. 구현 방법에 따라서는 멀티코어 CPU를 활용하도록 만들 수도 있지만 기본적인 컨셉은 하나의 thread 안에서 여러 개의 작업을 어떻게 잘 나누어 scheduling할 것인가에 초점을 맞춘다. Event-driven programming은 말 그대로 작업 별로 입력 이벤트가 발생하였을 때( = 연산할 꺼리가 생겼을 때) thread를 깨워서 그 작업을 처리하게 만드는 것이다. 따라서 이벤트를 여러 개 등록하고 각 이벤트를 모니터링하는 메커니즘이 필요한데, 최근의 운영체제에서는 epoll (Linux), kqueue (BSD), IOCP (Windows)와 같은 API들을 제공하고 있어 user process가 하기 어려운 blocking 작업과 IO event 모니터링을 효율적으로 구현할 수 있게 도와준다.
이와 달리, Coroutine은 동시성에 대한 접근 방법이 좀더 특이하다. 여기서는 일반적으로 우리가 함수(function 혹은 method)라고 부르는, 프로그램의 가장 작은 실행단위(routine)를 쪼개어 여러 각 subroutine들이 '번갈아' 실행되도록 한다. 쪼개는 지점은 프로그래머가 직접 정해주는데, 그렇게 만들어진 여러 개의 각 진입점을 그때그때 돌아가면서 혹은 특정 이벤트가 발생했을 때 coroutine scheduler가 원하는 순서대로 호출한다. 비유적으로 표현하면, 기존의 multi-threading이나 event-driven programming은 언제 "깨어날 지"를 운영체제나 라이브러리가 결정해주는 데 반해 coroutine에서는 언제 "잠들 지"를 프로그래머 스스로 결정하는 구조이다. "Cooperative routines"라는 이름에서 알 수 있듯이 스스로 제어를 양보(yield)하고, 이때 coroutine scheduler는 바로 다음 시점에 block하고 시스템의 이벤트를 기다릴 것인지 아니면 다른 coroutine을 실행할 것인지 선택한다.
Event-driven programming은 CPU 자원을 필요할 때만 쓴다는 점에서 효율적이지만 프로그래머의 관점에서는 헬게이트에 가깝다. 그 이유는 개별 이벤트가 독립적으로 처리된다는 가정을 바탕으로 하기 때문에, 여러 개의 이벤트가 하나의 일련 작업으로 이어져야 하는 경우 내가 "몇 번째 단계"에 있는지(state) 프로그래머가 스스로 tracking해야 하기 때문이다. 대부분의 프로그래머는 socket programming을 배울 때 "순서대로" socket을 열고 connect하고 recv/send를 번갈아 호출하고 할일이 끝나면 close하는 방식의 사고에 익숙할 것이고, 저 과정을 매번 다른 이벤트로 처리하고 특정 순서에 잘못된 이벤트가 오지는 않을까 노심초사해야 한다면 벌써부터 머리가 복잡해질 것이다. 이때 빛을 발휘하는 것이 바로 coroutine이다. 프로그래머는 그냥 원래 익숙한 순서대로 routine을 짜되, blocking call이 발생하는 부분마다 yield하도록 표시를 해두면 coroutine scheduler가 각 yield 후 알아서 connect가 완료되었을 때, recv/send가 완료되었을 때, close가 완료되었을 때 coroutine을 이어서 진행해 줄 수 있는 것이다. 이러한 coroutine이 여러 개 있다면? 각각을 그때그때 이어서 실행하면 되니까 자연스럽게 동시성 구현이 가능하다. 하지만 coroutine 방식에서는 "비협조적인" 코드를 강제로 context switch시키지 않으므로 모든 코드가 coroutine을 염두에 두고 작성되어야 한다는 주의사항이 있다.
그렇다면 coroutine을 실제로 프로그래밍에 사용하려면 무엇이 필요할까? 첫번째는 함수를 중간에 "멈출 수 있는" 프로그래밍 언어의 문법적 지원이 필요하고, 두번째로는 기존의 blocking call들이 coroutine scheduler에게 완료 통지를 해줄 수 있어야 한다. 첫번째 조건의 사례로는 Python에서는 generator delegation이라고도 불리우는 yield from 명령어를 통해 가능하며 C#에서는 await 키워드가 같은 역할을 한다. Java나 C++처럼 언어적인 지원이 없는 경우 future 패턴과 callback을 통해 비슷한 구현이 가능하지만 coroutine에서 block하는 지점이 많아질수록 중첩된 callback을 많이 만들어야 하므로 코드를 깔끔하게 유지하기 어렵다. 두번째 조건을 만족시키려면 기존의 socket, threading, queue 등의 blocking call을 제공하는 라이브러리가 모두 통째로 coroutine을 지원하도록 바뀌어야 한다! Python에서는 그래서 gevent와 같은 3rd party library들이 표준 라이브러리를 런타임에 구현체를 바꿔치기하는 monkey-patch 방식을 이용해서 구현된 경우가 많았다.
그런데, Python 3.4에서는 드디어 이러한 coroutine 지원 라이브러리가 표준 라이브러리에 포함된 것이다. asyncio라는 이름으로 말이다. 최초 API는 Python 창시자 Guido van Rossum이 2012년 12월 PEP-3156을 통해 제안했고 reference implementation으로 Tulip 프로젝트를 진행하다가 이제 완성도가 충분하다고 판단하였는지 표준 라이브러리에 그대로 집어넣었다. 기존에 tulip으로 작성된 코드가 있다면 "tulip" 패키지 이름을 "asyncio"로 치환하기만 해도 코드가 동작할 것이다. 특히 Python 3.3에서 추가된 yield from
구문을 이용하면 C#의 await
키워드와 거의 똑같은 느낌으로 함수 호출을 비동기적으로 한다고 편리하게 명시할 수 있다. 예를 들면 time.sleep(1)
은 yield from asyncio.sleep(1)
로 바뀌는 식이다.
나름 Python 얼리어답터라고 자부하는 내가 이걸 보고 그냥 지나칠 수가 없었다. 그래서 하루 동안 삽질해서 나온 결과물이 asyncio 기반의 Minecraft-IRC 중계 봇! 원래 구현은 bug-prone한 단일 루프로 구성되어 있었는데 이걸 완전히 갈아엎어서 IRC 통신, Minecraft 통신, tick 타이머 요렇게 3개의 루프로 나누고 각 루프를 coroutine으로 만들었더니 마치 single thread 프로그래밍하는 것처럼 직관적인 코드를 유지하면서도 동시성을 보장하는 아름다운 코드가 되었다. Python의 asyncio 패키지는 나중에 stdout과 network/cpu를 동시 모니터링하는 실험스크립트 작성에도 유용하게 쓰일 것이다.
아무튼 이렇게 Python 3로 넘어올 이유가 하나 더 생겼다. 다들 넘어오시라. ㅋㅋㅋㅋㅋㅋ (사실 Python 2.x용으로 Tulip을 backport한 Trollius 프로젝트가 있기는 하다... -_-)
※ update 3/10: 일부 문장 흐름 및 내용 연결 자연스럽게 함.
오랜만에 쓰는 블로그 글이다. 이제는 한 달에 한번도 아니고 1년에 한번 쓰는 블로그가 된 것 같다. -_-; 첫 full paper 준비하느라 정신 없는 여름·가을을 보내고 연말연시는 전문연구요원으로서 필수적으로 해야 하는 4주 기초군사훈련(교육소집)을 다녀왔다. 대한민국 남자라면 현역이든 보충역이든 다들 한번씩 겪어본다는 점에서 신선한 소재는 아니지만, 삶에서 가장 기억에 남을 만한 부분 중 하나이기에 이렇게 글로 후기를 남기고자 한다. 현역들보다는 보충역으로 훈련소에 입소하는 사람들에겐 경험담으로 조금은 도움이 되지 않을까 싶다.
요즘 TV에서 "진짜사나이"라는 프로그램을 통해 실제 군대 생활과 훈련 과정을 나름 생생하게 보여주고 있는데, 역시 실제로 가서 겪어보고 나니 정말 그 느낌이 절절하게 와닿는다. 보니까 훈련소는 1~2일 정도로, 자대 생활은 일주일 정도로 압축해서 하는 것 같은데 실제 느끼는 애로점들을 잘 표현했다. 특히 30~40대의 연예인들이라는 점에서 20대 후반~30대 초반의 전문연구요원들과 비슷하게 육체적으로 힘들어하는 게 더 와닿는다고나 할까;; 사실 훈련소 들어가기 전에는 바빠서 그런 TV 프로그램이 있다는 정도만 알고 제대로 본 적도 없었는데 이번에 쉬면서 몇개 찾아보니 정말 내가 지나갔던 입소대대도 나오고 훈련소 생활관 모습도 나오고 해서 '아... 나도 저기 있었는데' 하는 생각이.. ㅋㅋ
우선 '군대에 있으면 시간이 더럽게 안 간다'는 말을 많이 들어봤을 텐데, 실제로 가보면 정말 그렇다. 뭔가 바쁘게 많은 일을 한 것 같은데 아직도 오전 9시가 안 되었다든지... 전문연구요원이라면 회사를 다니든 대학원에 있든 상대적으로 자유로운 출퇴근을 하는 곳이 많기 때문에 특히 더 심하게 느낄 것이라 생각된다. 대개 5분 단위로 모든 행동을 해야 하는데 각각의 5분 10분이 굉장히 밀도가 높다. 아침 기상 후 침구류 정리와 전투복 환복 후 점호장 집합까지 통상 10분의 시간이 주어지고 연병장에 모여 점호 보고, 애국가 제창, 복무신조 제창, 조국기도문 낭독, 몸풀기 체조, 국군도수체조, 뜀걸음, 하루 일과 공지까지 다 하면 대략 40분, 아침식사에 30분 정도 걸리고 생활관에 복귀하면 소대별로 10분씩 세면 시간이 주어진 후 하루 일과를 시작한다. 나는 겨울에 다녀왔기 때문에 아침식사 끝내고 나올 때마다 해가 뜨는 것을 볼 수 있었다.
한 가지 재미있는(?) 점은 정말 이렇게 깨알같이 아껴서 번 시간을 한꺼번에 왕창 갖다버리는 모습을 자주 볼 수 있다는 점이다. 예를 들면 부대에서 멀리 떨어진(1시간 이상 걸어가야 하는) 교장(훈련장)에서 교육이 진행되는 날은 30분 일찍 기상해서 점호도 생략하고 훈련병들 다그쳐가며 빨리 준비시킨 다음 평소보다 1시간 일찍 행군을 시작하는데 막상 교장에 도착한 다음에는 1~2시간씩 아무것도 안 하고 대기하는 경우가 허다하다. 그 이유는 행군은 그날 같은 교장을 사용하는 모든 부대가 동시에 움직여야 하는데, 교장을 그 모든 부대가 동시에 다 사용할 수 없기 때문에 돌아가면서 훈련 진행하는 동안 다른 부대는 쉬어야 하기 때문이다. 문제는 겨울이라 행군하면서 땀까지 날 정도로 걸은 다음에 가만히 앉아서/서서 대기하면 그대로 땀이 식으면서 엄청 춥다는 것. -_-; 이럴 때 핫팩이 있으면 많은 도움이 된다. 가끔 소대장이 일명 '방한체조'라는 걸 시키기도 하는데 이걸 하면 확실히 더워지긴 하지만 당연히 그만큼 몸도 힘들다. 겨울에 훈련소 가는 사람들은 소대장이 '춥냐?'고 물어봤을 때 다들 덜덜 떨면서도 '아닙니다!'라고 우렁차게 대답하는 모습을 볼 수 있을 것이다. ㅋㅋㅋ
전체적인 일정은 아마 매 기수마다 조금씩 차이가 있겠지만 큰 틀은 비슷할 것이다. 첫 3일은 동화기간1이라고 해서 생활제식(바른걸음, 큰걸음, etc.)과 각종 상황별 경례요령 등2을 중점적으로 교육하면서 피복·전투화 사이즈 맞추기, 파상풍·뇌수막염·독감 예방접종, 각종 설문서·신상정보 서류 작성, 집으로 보내는 편지 작성 등등 정신없는 일정이 진행된다. 특히 예방접종 3가지를 이틀 동안 한꺼번에 맞기 때문에 몸의 면역체계까지 활성화되면서 안 그래도 생소한 환경에 적응해야 하는 와중에 더욱 부담이 가중된다. 내 경우 이틀 정도 두통을 앓았다. 동화기간이 끝나면 본격적으로 훈련이 시작되는데 1~2주차에는 개인화기(소총) 교육이 중심이 되고 첫번째 15km 주간 행군이 일종의 milestone 역할을 한다. 훈련소에서 모든 일정의 꽃은 바로 기록사격으로, 이때 20발의 실탄 사격 중 몇 발을 명중시키느냐에 따라 '개인의 능력'을 인정받을 수 있다. 만발자는 보통 기수 별로 한두 명밖에 안 나오는데 전화 포상을 비롯하여 이후에도 여러 차례 칭찬받는 경험을 할 수 있다. 3~4주차에는 수류탄과 화생방, 각개전투 훈련과 20km 지속행군이 이어진다. 매일같이 육체적인 훈련을 하는 건 아니고, 토요일·공휴일은 꼬박꼬박 쉬고(물론 사회에서처럼 정말 쉰다는 느낌이 들지 않는다는 게 함정이지만) 중간중간 정신교육3만 있는 날도 있기 때문에 나름대로는 쉬어가면서 하게끔 되어있다.
나는 연말연시에 다녀왔기 때문에 크리스마스와 신정을 모두 훈련소에서 보냈는데4, 덕분에 종교행사에 참여할 기회가 많았...지만 물집 부상과 목감기로 주말에 의무대 순환진료를 이용하면서 4대 종교를 모두 가보지는 못했다. ㅠㅠ 천주교 신자이니만큼 그래도 대축일인 성탄절과 성모마리아 대축일(신정) 종교행사는 모두 참석했는데, 천주교는 바깥 사회에서 미사 드리는 것과 거의 똑같다. 그래서 조용한 분위기에 잠시나마 자고 싶은 사람들이 천주교를 선택하기도 한다. 천주교 외에 가본 곳은 불교인데, '불교나이트'5라는 말이 괜히 나오는 게 아니더라. '가릉빈가 불공'6이란 제목으로 4인조 여성그룹(대학생 쯤 되어보이는...)이 나와서 가요를 부르며 춤을 추는데 이 춤이 상당히 적나라해서 가슴을 확 열어제낀다거나 엉덩이들 흔들어준다거나.... 불당은 앞으로 뛰쳐나가는 훈련병들로 거의 통제불능 상태에 빠지게 된다. 그래도 전문연구요원들은 다들 나이가 있어서인지(...) 점잖게(?) 앉아서 즐기는데 공익이나 산업기능요원들로 이뤄진 중대들만해도 장난 아니다. 현역들은 거의 눈이 뒤집어진다. 불교가 나이트라면 기독교는 클럽...이라고 하던데 여기도 만만치 않은 모양. 기회가 되면 역시 가보는 것이 좋을 듯.
종교행사를 가지 않거나 종교행사 사이의 비는 주말 시간은 원칙적으로는 '개인정비', 즉 자유시간이다. 물론 이 시간에도 누워있거나 벽에 기대는 것은 '군기가 풀어진' 것으로 간주되어 금지되고, 바른자세로 앉아서 책을 읽거나 편지를 쓰거나 전투복의 뜯어진 부분을 바느질한다거나 혹은 멍때리고 있거나(...) 하는 행동만 허용된다. 3주차쯤 넘어가면 화장실이나 세면장 이용을 눈치껏 해도 되지만 초반에는 그것도 명시적인 전체 통제가 없으면 금지된다. (그래서 쉬는 날이라도 쉬는 것 같은 느낌이 안 든다. ㅠㅠ) 그러나 군대에서는 병사들이 할일 없이 노는 모습을 절대 못 보는 악취미(?)가 있어서, 하다못해 청소라도 시키기 때문에 사실 여유있게 노닥거릴만한 시간이 별로 없다. 첫번째 주말은 대부분 전투복에 붙일 임시이름표와 팀 표식을 가뜸하느라 시간을 다 보내는데, 우리 기수는 그 이후에도 침낭에 찍찍이(암놈)를 가뜸하고 그 찍찍이에 붙였다 떼었다 할 수 있는 덧붙임천에 찍찍이(숫놈)를 가뜸하느라 2번의 주말과 2번의 휴일 시간 대부분을 보내야 했다. 이름표 가뜸과는 비교할 수 없을 만큼 고난도의 바느질이었는데, 찍찍이에는 다른 물건에 쉽게 붙일 수 있도록 끈끈한 접착제가 묻어있어 바늘이 한번 통과하면 접착제가 덩어리져 바늘에 달라붙는 바람에 매번 이걸 제거해야 실이 꼬이는 걸 막을 수 있었고 침낭 자체도 꽤 두껍기 때문에 이를 뚫고 바느질하기란 여간 어려운 일이 아니었다. (그렇다, 우리는 골무를 가져왔어야 하는 것이다. orz) 바늘이 휘거나 부러지는 일도 많았다. 사람들이 하도 짜증이 나니까 분대장들에게 이걸 왜 해야 하는지 물었는데 나중에 돌아온 답변은 전 기수에서 누군가 설문서에 침낭 머리 주변이 너무 쉽게 더러워지는 것 같다고 건의한 것이 육군훈련소장님에게 알려져서 훈련소장이 직접 내린 명령이라 분대장들 포함 훈련소 전체 5만여명의 병사가 똑같은 삽질을 하고 있다는 것이었다. -_-; 이것이 군대에서 투스타의 위력... 게다가 우리는 겨울 군번이라 들어온 인원수가 적어서 존재하지 않는 4소대의 침낭까지 모두 가뜸해야 했기 때문에 나중에는 전화포상까지 걸어가면서 가뜸을 진행했다. 나는 귀찮아서 안 했지만 임신 사실을 훈련소 들어와서 알게 된 모 분대원님이나 자녀가 있는 사람들은 어떻게든 3분짜리 전화포상을 얻기 위해서 눈물을 머금고 적게는 3시간 많게는 6시간씩 바느질을 했다. 아아....
가기 전에는 몰랐는데 군대도 나름 시스템이 잘 되어있다고 느꼈다. 모든 훈련에는 가까운 곳이든 먼 곳이든 항상 앰뷸런스가 따라가는데 발·다리를 다쳐 걷기 힘든 훈련병들을 태워다주기도 하고 응급상황 발생 시 바로 병원으로 후송할 수 있도록 되어있다. 사고가 나지 않도록, 그리고 만에 하나 사고가 나더라도 빠른 초동 대처가 가능하도록 상당히 신경쓰는 모습이었다. 의무대의 경우 단 2명의 군의관이 매일 5~6개 중대 인원(전체로는 800명 정도, 그 중에 아픈 사람들만 모아도 족히 100명은 넘을 것이다)을 챙겨야 하기 때문에 상세한 진료가 쉽지는 않지만 그래도 많이 노력하는 모습이었고 증상에 따라 내복약, 가글, 파스, 소독, 입실(수액 맞으며 누워서 휴식) 등 다양한 처방을 받을 수 있었다. 하지만 원래 지병이 있는 경우--특히 허리디스크 같은--무리해서 증상이 악화되더라도 수술과 같은 대규모 처치는 곤란하기 때문에 일단 무조건 몸을 사리는 것이 중요하다. 현역들은 어떤지 모르겠으나 우리같은 보충역들은 기본적으로 훈련 강도도 낮고 거기에 차등제라는 제도가 있어서 몸이 안 좋은 사람들은 더 낮은 강도로 훈련할 수 있게끔 해주기 때문에 이를 잘 활용하면 무리없이 수료할 수 있을 것이다.7 물론 차등제로 지나치게 많은 인원이 빠진다 싶으면 꾀병으로 간주되어 소대장이 빡쳐서(...) 차등제가 본대보다 더 빡시게 훈련을 받는 케이스...도 있을 수 있다. 우리도 한번은 그런 적이 있는데 나는 어느 소대장이 차등제 인원 담당하나 보고 본대로 빠져서 그 케이스를 잘 피했다; (역시 군대는 눈치가 중요하다!) 마지막 훈련(우리는 20km 행군)이 끝나고 부대에 복귀할 때는 군악대가 나와서 음악을 연주해주는데 이때는 진짜 감동이었다. 끝날 것 같지 않던(...) 4주 간의 훈련이 드디어 끝난다는 기분에 군악대의 북소리에 맞추어 행군으로 지쳤던 발이 갑자기 날아갈 듯 걸어지는 경험... ㅋㅋ 누가 처음 기획했는지는 몰라도 마지막 훈련에 군악대가 나오는 건 정말 좋았다.
짧은 4주간의 군대 생활이지만 가장 힘들었던 점을 꼽으라면 크게 2가지였다. 하나는 겨울군번이라 인원수가 적었던 데다 소대별 불침번 인원이 2명에서 3명으로 늘어나 거의 매일(3일에 2번) 불침번을 서야 했기 때문에 밤잠을 제대로 잘 수가 없었다는 것이고, 두번째는 감기 같은 게 걸려도 바깥 사회에서는 하루이틀 푹 쉬면 금방 나을 텐데 이 안에서는 '푹 쉬는' 것이 불가능하기 때문에 감기 걸린 채로 계속 버텨야 한다는 점이었다. 퇴소 후에도 집에서 쉬는 며칠 동안은 새벽에 자꾸 잠을 설쳐서 정말 개운하게 잠들지 못했고, 한 4일쯤 지나서야 제대로 잠을 자기 시작한 것 같다. 1주차에 전투화 사이즈 잘못 골랐다가 발에 물집 잡히고(양쪽 발뒤꿈치에 500원 짜리 크기 1개 + 2개) 바로 벗겨져서 거의 걸어다니기 힘들 정도였다. (다행히 새 전투화를 사이즈에 맞게 보급받고 나서 3~4일 동안 짬날 때마다 밟아주고 휘어주고 해서 길을 잘 들여놓으니 뒤에 가서는 상당히 편했다. 남들 행군하고 물집으로 고생할 때 오히려 나는 멀쩡...) 이게 좀 나아서 훈련 받을 만하다 싶으니 목감기에 걸려서 38도 고열 찍고 의무대 하루 입실한 다음(오래 입실시켜주면 좋을 텐데 열 조금만 내리면 바로 나가라고 한다-_-) 일주일 정도 계속 37.5도를 넘나들며 목소리가 나오지 않는 상태로 있어야 했다. 퇴소 후 병원 가보니 후두염이라고 하더라. 어쨌든 군대에서는 식사든 뭐든 다 (오와 열을 맞춰서 제식을 하면서) 걸어다녀야 하기에 다른 것보다도 발·다리가 건강한 게 제일 중요하다. 주변 사람들은 겨울이라 추위 때문에 고생하겠다고 걱정을 많이 해줬는데, 다행히 내가 가있는 한달은 눈도 많이 오지 않았고(딱 2번 눈쓸었음) 한파도 2~3일 잠깐 찾아온 것 외에는 대체로 포근한 편이었기 때문에 추위로 고생한 기억은 별로 없다. 개인적으로는 잘 씻거나 빨래하기 어려운 환경임을 감안할 때 한여름보다는 겨울에 가는 게 낫다고 생각된다. 일단 냄새는 별로 안 나니까.
중간중간 종교행사나 교장 행군 중에 현역들을 만날 기회가 있었는데 확실히 어리더라. ㅠㅠ '군인 아저씨'라는 표현이 영 어색할 정도. 이건 차라리 전문연구요원들한테나 어울릴 만한 표현이다. 우리는 경량화나 단독군장만 하고도 교장 이동 중 언덕배기 만나면 헉헉대는데 현역들은 완전군장 매고도 신나서 뛰어댕기는 모습을 보며 같은 20대여도 초반과 후반은 많은 차이가 난다는 걸 느낄 수 있었다. 생각해보면 나도 21살쯤에 형과 유럽배낭여행을 가면서 10~15kg 짜리 배낭을 매고 몇시간씩 길거리를 잘도 돌아다녔다. 한편으로는 그 어린 친구들이 본격적인 사회생활을 해보기도 전에 먼저 군대문화를 접한다는 점이 안타깝게 느껴지기도 했고, 나 또한 초중고 시절 각종 아침조회나 수련회 등을 통해 접했던 군대문화의 일부가 진짜 군대에 왔을 때 너무나 익숙하게 느껴지게 만들었다는 점이 안타까웠다. 군대라는 조직은 계속 필요하겠지만 언제쯤 우리나라도 모병제로 전환할 수 있을지...
마지막으로 4주 훈련을 준비하는 사람들에게 알짜배기 준비물을 소개하자면 다음과 같다. 이들 물품은 어느 대대·중대로 가더라도 대부분 반입이 허용될 것이다. 약, 비타민, 초코렛 등의 음식물은 부대에 따라 허용 범위가 차이가 있으며 내 경우 전혀 허용되지 않았다.
현역들은 입소대대에서 2~3일 가량 시간을 보내며 보급품 지급 후 교육대대로 이동하지만 우리같은 보충역들은 입소 첫날 바로 교육대대로 이동해서 저녁 식사로 일정을 시작하게 된다. 전투복·내복 등 대부분의 물품은 교육대대에서 가지고 있는 중고품을 활용하고 수건, 속옷·양말, 휴지, 칫솔, 면도기 정도만 새 보급품으로 지급된다. 중간에 전투복 사이즈를 조사해서 2주차에 새 전투화와 전투복(디지털 신형)을 받지만 수료식 때 깔끔하게 입기 위해 끝날 때까지 훈련은 모두 중고 개구리 전투복으로만 진행한다. ↩
우리 기수에서는 제식훈련이 상당히 많이 강조되었고 다음 기수에서는 제식훈련에 배정되는 시간도 늘어난다는 얘기가 있었다. 듣기로는 2스타가 4스타 앞에서 경례 좀 잘못했다가 그 자리에서 100번 반복 연습을 당한 뒤로(...) 군 전체에 제식 군기가 매우 강조되고 있다고 한다. 참고로 2스타면 육군훈련소장과 동일한 '장군' 계급이다. 부대 곳곳에 '경례는 군인의 멋!'이라든지 '경례는 씩씩하고 당당하게'와 같은 표어들이 붙어있는 걸 볼 수 있었다. 수료식날까지도 밥 먹으러 이동할 땐 반드시 큰걸음과 군가제창을 해야 했다. ↩
국방부 정훈장교가 와서 대적관·안보관에 관한 교육을 하는데 북한의 실상, 왜 북한이 우리의 적인지, 종북세력의 정의, 베트남의 공산화를 통해 얻을 수 있는 교훈, 왜 우리나라가 자랑스러운(=우리가 지켜야 하는) 나라인지 등에 대한 내용을 다룬다. 바깥 사회에서는 '종북'이라는 게 지나치게 광범위한 프레임이자 일부 보수세력이 자신과 의견이 다른 사람들을 통째 매도하는 용어로 종종 사용되는 바람에 그 정의가 흐려진 감이 있지만 국방부 정신교육에서는 나름 선명하게 정의하고 있어서 큰 반감이 들지 않았다. 전체적으로 내 평소 생각과 다른 부분이 없었는데 단지 '강조'를 많이 한다는 정도. 정신교육 시간에 다들 많이 졸지 않을까 걱정(?)했는데 국방부에서도 그 점을 염려했는지 정훈장교들이 대체로 말도 잘하고 적절한 유머와 개그도 섞는 등 말빨이 좋아서 생각보다 지루하지 않게 들을 수 있었다. 북한 실상과 관련해서는 실제 탈북자 출신의 연사가 와서 실감나게 이야기하기도 한다. 조는 것을 방지하기 위해(?) 뜬금없이 걸그룹 아이돌 동영상이 중간중간 들어가 있는 경우도 있다. ㅋㅋ ↩
9~10월을 끼고 훈련소에 들어가면 경우에 따라 추석 연휴, 국군의 날, 개천절들이 모두 황금 연휴로 이어져 훈련보다 노는 날이 더 많은 경우도 있다고 하니 날짜 선택하는 사람들은 참고하기 바란다. 대신 평일을 3일 쉬면 훈련소에 있는 날이 하루씩 늘어난다고 하는데, 그렇더라도 노는 날이 너무 많으면 훈련을 생략해버릴 수도 있기 때문에 꽤 메리트가 있다. ↩
불교 쪽에서는 아름다운 소리를 내고 춤을 잘 추는 상상의 새의 인도식 이름 Kalavinka로부터 중국식으로 음차하여 만들어진 용어라고 한다. 참고 링크 ↩
현역들은 5주 훈련인데 예를 들어 각개전투 훈련은 실제 각개전투 훈련장에 마련된 숙영지에 텐트를 치고 거기서 2박 3일을 먹고자고 다 하면서 각개전투 훈련을 진행한다. 하지만 우리는 텐트 치는 실습만 한번 해보고 다시 걷은 다음 포복 훈련 잠깐 하다 오는 정도다. 현역들은 포복 자세별로 1시간 이상씩 바닥을 기어다닌다는데 우리는 자세별로 10여 미터 거리를 3~4번 정도 실습해보는 게 전부. 물론 그렇더라도 온 삭신이 쑤시고 무릎에 피멍이 드는 경험을 할 수 있다. ㄷㄷ 차등제의 경우 횟수를 줄여준다거나 몸에 무리가 갈 수 있는 동작은 아예 안 할 수 있게 해주는데, 예를 들어 행군의 경우 차등제A는 단독군장에 행군코스를 매우 느린 속도로 아주 천천히 걷고 차등제B는 단독군장에 연병장을 매우 느린 속도로 걷는 식이다. 본대의 경우 완전군장이나 경령화군장만 허용되었다. (특히 마지막 행군 때는 훈련소장님이 직접 행군을 참관·지도하는 바람에....-_-) ↩
한국은 이미 2013년이 되었지만 이번엔 특별히 내가 GMT 시간대에 있는 관계로 이제야 회고 포스팅을 한다. 오늘 저녁에는 건이형 부부와 교수님, MSRC 인턴 친구들과 함께 건이형의 생일파티 겸 New Year's Eve 파티가 있는 관계로 잠시 캠브리지 시내에 들렀다가 스타벅스에 앉아있다.
올해를 한마디로 정리하면 멘붕의 연속이었다고 할 수 있겠다. 2월에 석사졸업할 때까지만 해도 졸업논문을 어쨌거나 무사히 끝냈다는 안도감과 건이형과 함께 두달 동안 기숙사를 같이 쓰면서 열혈코딩 달리던 재미로 괜찮았는데, 봄학기 시작하고 수업 몰아듣기 + 조교, APSys 워크샵 논문 제출로 슬슬 정신없어지기 시작하더니 여름의 절반은 APSys 워크샵 관련 업무로 정신을 못 차렸고, 후반에 가서야 nShader 논문 좀 쓴다고 끄적끄적했는데 서버관리를 도와줄 사람이 일시적으로 없었던 상황에서 때마침 NSDI 데드라인 앞두고 서버실 에어컨 고장과 메인 서버 하드 사망 등의 여파로 멘붕...
즐거웠던 일은 글로벌박사펠로우십에 선정된 것(나도 기분이 좋았지만 교수님이 그렇게 기뻐하시는 모습은 처음 보았다), APSys 워크샵에서 논문을 발표해본 경험과 힘들기는 했지만 APSys를 통해 많은 사람들을 만날 수 있었다는 것, 그리고 부모님과 함께 다녀온 일본여행을 들 수 있겠다. 캠브리지에서의 Microsoft Research 인턴은 아직 현재진행형이므로 평가는 생략. 일단 내게는 가을에 이어진 멘붕 끝에 모든 걸 내려놓고(?) 나름대로 잡무를 떠나 연구에만 집중하면서 새로운 에너지를 얻는 기간이 되고 있다. MSR의 뛰어난 연구자들과 열심히 일하는 다른 학생들을 보면서 새로운 자극을 받는다. 캠브리지 대학 전산과의 happy hour 행사에 갔다가 APSys로 알게된 친구를 다시 만나게 된 것도 어떻게 보면 APSys 업무로 힘들었던 것에 대한 하나의 작은 보상과도 같은 느낌이었다.
영국 캠브리지라는 새로운 환경에 와있으면서, 교수님과도 진지하게 이야기를 나눌 기회가 몇번 있었다. 한국에서 그냥 힘들게 살았으면 오히려 그럴 기회가 없었지도 모르겠다는 생각이 드는데, 교수님과의 관계를 어떻게 이끌어가는 게 나에게도 교수님에게도 좋을지 조금은 더 잘 알게 된 것 같다. 또한 좋은 연구를 하기 위해서, 좋은 연구자가 되기 위해서 어떻게 내 자신을 바꿔나가야 할지, 또한 내가 박사 연구의 로드맵을 어떻게 잡을지 다시 되돌아볼 수 있는 시간이 되었다. 계속 삽질하고 정신없이 따라가는 데만 바쁘다가, 갑자기 머리를 망치로 맞은 듯 이제 내가 무엇무엇을 언제언제를 목표로 삼아 어떻게 진행하면 되겠다라는 것이 갑자기 안개가 걷히듯 보이기 시작했다. 물론 일이라는 게 막상 하다보면 한계에 부딪힐 수도 있고 또다시 멘붕과 좌절을 겪게 되겠지만, 지향점이 보이는 것과 아닌 것은 차이가 크니까.
우리 가족에게 있어서도 2012년은 아주 특별한 한 해였다. 부모님의 결혼 30주년이자, 하나뿐인 형제인 인기형이 3월에 결혼했고, 불과 열흘 전에 첫 조카(딸)을 낳았다. 와인 5병을 까고 형 결혼식 다음날 술병이 날 정도로 아버지와 함께 긴긴 밤 술잔을 기울여본 것도 처음이었다. 이렇게 부모님은 할아버지·할머니(...)가 되었고 형은 아빠가 되었다. 드디어 우리들 다음의 새로운 세대로 이어지기 시작한 것이다. 아버지 또한 회사의 최고경영자가 된 이후 사상 최대의 실적을 올리며 어려운 경제상황 속에서도 일을 잘 해나가고 계시고, 형도 회사에 들어온 후 발목을 잡고 있던 대학원 졸업논문을 무사히 마무리하는 등 여러모로 기쁜 일이 많았다. 그리고 이 모든 가운데 어머니가 기도의 힘으로 윤활유 역할을 잘 하고 계심은 물론이다. 옛날에는 부모님이 무조건 아끼고 희생하는 그런 모습을 더 많이 발견했다면 이제는 점점 더 본인들의 삶을 즐기는 모습을 보면서 나 또한 기쁘다.
내 개인사를 떠나서 내가 관심있는 다른 분야들도 많은 일들이 있었다. 잡스가 떠난 애플의 많은 부분이 변화하고 있고(이것이 궁극적으로 좋은 방향인지는 아직 잘 모르겠다), 페이스북의 IPO는 사실상 실패나 다름 없는 상황이 되어버렸다. 마이크로소프트는 윈도8을 출시했고, 때가 좀 늦긴 했어도 모바일 시장을 적극 공략하고 있다. 미국에서는 최초의 유색인종 대통령인 버락오바마가 재선에 성공했고, 한국에서는 제18대 대통령선거를 통해 박정희 전 대통령의 딸 박근혜가 선출되어 최초의 여성대통령 탄생을 앞두고 있다. 여러 이유로 박근혜를 지지하지 않았던 나로서는 아쉬운 일이 되었지만, 사회이슈와 해결방안이 도마에 올라 그걸 논의하고 민의를 살필 수 있는 자유선거가 있다는 점은 여전히 감사할 일이다. 하지만 점점 불안해지는 고용환경과 대기업에 유리한 사회구조는 앞으로도 큰 짐이 될 것이다. 정치문제들이 딱 정해진 정답이 있는 것은 아니기에 한번에 사회를 바꾸기는 어렵지만, 박원순 서울시장이 추진하는 여러 정책들을 보면서 그래도 조금씩 더 나은 방향으로 나아가고자 노력하는 사람들이 있고 그러한 역동성이 꾸준히 관찰된다는 점에서 한국의 미래는 여전히 밝다고 생각한다.
2013년 한해는 또 어떤 일들이 기다리고 있을까. 조금 더 성숙하고, 멘붕에 무너지기보다는 주변 사람들을 함께 밝게 만드는 사람이 되어야겠다. 사람이 행복한 것은 점점 더 나아질 것이라는 희망이 있고 그것을 점진적으로 확인할 때라고 한다. 이제는 한발짝 더 앞으로 나아갈 때다.
오늘은 아마도 가장 잊지 못할 크리스마스 이브 중 하나가 되지 않을까 싶다. 외국에서 보내는 첫 크리스마스인데다 영국 킹스칼리지 크리스마스 이브 예배에 직접 참석할 수 있었기 때문이다. 일단 아래 동영상부터 보시라.
오늘 나는 저기서 솔로로 부르는 첫 장면을 불과 10m 앞에서 봤다. 이건 작년 동영상인데, 제대 쪽 자리가 아니었음에도 가능했던 이유는 이렇다: 동서로 길쭉한 킹스칼리지 채플의 구조에서 제대와 가까운 자리(east side)는 100여석 정도, (화면에는 나오지 않지만) 제대가 가운데쪽에서만 조금 보이도록 가려진 중앙 오르간 벽 뒷편(west side)에는 600석 정도의 자리가 제공된다. 줄선 순서대로 입장하기 때문에 제대 근처에 앉으려면 새벽부터 일찍 줄서야 하는데, 나는 오전 8시 40분에 갔음에도 이미 자리 배정 인원의 거의 끝부분이었다. 그래서 합창단을 직접 보는 건 포기하고 있었는데, 위의 작년 동영상과 달리, 올해는 합창단의 입장 성가를 제대 쪽이 아닌 맨 뒤쪽에서 시작하였다! 운 좋게도 맨 첫곡을 바로 앞에서 볼 수 있었던 것이다. [추가] 나중에 찾아보니 TV용으로는 따로 녹화를 미리 해두고 여기는 좀더 잘 알려진 캐롤들이 들어가는 듯. 오늘 예배 때는 현대적인(상대적으로 덜 알려진) 캐롤들이었다. 시작 곡은 같으나 입장 방향과 곡 구성이 다른 것.
기다리는 줄에서 우리 일행 뒤에 어떤 아저씨와 그분 아들이 있었다. 교수님이 말을 붙이셔서 함께 이야기하다 알았는데, 그 아들이 얼마 전까지 합창단에 있다가 변성기로 지금은 합창에 참여하지 않는다고. 여기 합창단은 7살부터 들어갈 수 있는데 기숙학교(boarding school)로 학업과 합창연습을 병행하고, 변성기가 오면 합창에서는 빠지지만 학교에는 계속 머물 수 있다고 한다. 그 아이는 합창단 친구들이며 줄선 사람들 중에 아는 사람들이 많은지 인사한다고 계속 왔다갔다 했다. 지금 나와있는 합창단 CD에 그 아이도 참여했다고 하고, 아마 최근의 동영상 등에도 모두 함께 불렀을 듯. 작년쯤인가 한국 소년이 여기 들어갔다고 해서 뉴스에 잠깐 떴던 것 같은데 그 친구도 알고 있었다. (위에 동영상 틀어놓고 글쓰면서 보니까 그 한국학생도 중간중간 나온다. 오늘 본 학생은 동영상에서 한국학생과 마주보는, 제대 방향 바라봤을 때 왼편 첫줄 중간쯤에 안경낀 학생 같은데... 맞나 모르겠다)
아래 팁에도 적었지만, 제대와 가까운 안쪽 자리에는 들어가지 못했어도 여전히 소리 울림은 너무 멋있었다. 동영상이나 음악으로만 듣는 것과는 비교가 되지 않는다. 꼭 이런 '클래시컬'한 음악이 아니더라도 음반도 들어보고 같은 곡의 라이브 공연을 가본 사람들은 아마 그 차이가 무슨 말인지 알 것이다. 그리고 동영상은 어느 정도 편집된 거라 같이 부르는 소리보다 합창단 소리 위주로 들려주는 것 같은데, 실제로 사람들이 다함께 부를 때 채플 전체가 울리는 그 느낌은 가서 불러봐야 알 수 있지 않을까 한다.
노래의 장르가 이 소년합창단과는 상당히 거리가 있지만(그래도 동영상의 몇몇 곡은 실제로 현대식 버전으로 부르기도 함), 나름대로 성당에서 청년성가대로 활동하고 이런저런 특송이나 공연에 참여해본 나로서는 더욱 특별한 경험이었다. 노래를 듣는 것도 멋지지만, 실제로 부를 때 자신의 음역 파트에서 소리가 맞아들어가면서 스스로 흡입될 때의 그 희열 또한 멋진 경험이기 때문이다. 첫 곡의 시작 솔로를 맡은 아이의 목소리가 가늘게 떨리는 것을 느꼈을 때, 그리고 다함께 부르기 시작하면서 각 파트가 제 자리를 찾고 목소리가 안정됨을 느꼈을 때 그 부르는 아이들의 심정이 어떠할지 생각지 않을 수 없었다. 평소에 많은 시간 연습하면서 힘들기도 하겠지만, 합창을 제대로 해보는 것은 누구에게나 잊을 수 없는 경험이 아닐런지. 솔로로 연주하거나 노래 부를 때와는 다른, 합창이기 때문에 느낄 수 있는 다른 부분들이 분명 있다. 가족들이나 성가대 사람들과도 함께 보았다면 더 좋았을 것 같은데 그 점은 아쉬울 뿐이다.
사실 이번 크리스마스 때 어디 여행이라도 갈까 하다가 사람들이 너무 많은 것도 있고 이번엔 좀 조용히 쉬는 크리스마스가 되었으면 해서 캠브리지에 머물고 있는데, 다른 인턴 친구들은 다들 햇빛의 땅(...) 캘리포니아로 가족들 만나러 유럽 대륙으로 떠나서 조금 썰렁한 감이 있었다. 하지만 이번 예배 참석 한방으로 그 모든 썰렁함을 날려버리고 합창에 대핸 여운이 꽤 오래 갈 것 같다.
참석자 Tips
ps. 페이스북에도 적었지만, 이거 함께 보기 위해 이른 시간부터 줄서서 말동무하며 기다려주신 교수님과 교수님 사촌동생분에게 다시 한번 감사의 말씀을 드립니다! :D
요즘 블로그에 글이 뜸했는데, 아는 사람은 알겠지만 제목의 그곳에 연구인턴을 와있다. 이제 도착한 지 6일이 되었는데, 간단한 소회를 남겨본다.
먼저 MSR에 대한 가장 대표적인 인상을 들면, 제대로 개밥 먹는 회사라는 점이다. 운영체제, 개발도구, 업무용 소프트웨어(사내 메신저와 오피스, 이를 통합관리하는 서버까지)를 모두 자사 제품으로만 쓸 수 있는 곳이 얼마나 있을까. Microsoft 말고는 Apple 정도만 가능해보인다. Google도 그 능력 면에서는 만만치 않겠지만 오픈소스에 많은 기반을 두고 있기 때문에 이를 '자사 제품'이라고 말하기는 어렵다. 특히 Lync라는 사내 메신저 프로그램은 아웃룩 add-in으로 붙어서 메일 송수신자들의 상태가 바로 보인다거나 id/name card를 바로 확인할 수 있다는 점이 편하다. 심지어 책상 위 전화기하고도 연동되어있다.
기존 연구자들은 윈도7을 쓰는 경우가 많은데, 나는 새로 들어와서 그런지 워크스테이션에 윈도8이 설치되어 있었다. 직접 만져본 건 이번이 처음인데, 이건 아직 좋은지 나쁜지 좀 모호하다. 뭐 이미 정식 발표된 제품이니 윈도7과 어떻게 다른지는 다들 알 거라 생각하고... 회사에서 준 워크스테이션 성능이 좋은 탓도 있겠지만, UI를 단순화하면서 많이 가벼워지고 반응속도가 빨라진 것은 좋다. (그냥 컴퓨터 성능이 좋아서 빠른 것과는 다른 느낌) 하지만 별로 친절하지 않은 abrupt한 UI 변화인 것 같다는 불길한(?) 예감도 동시에 든다는 게 문제. 특히 어려웠던 점은 기본 내장된(드디어!) PDF 리더 앱에서 인쇄하는 방법. 인쇄 메뉴나 버튼이 따로 있는 게 아니고 마우스른 화면 오른쪽에 갖다대면 나오는 Charms bar의 Devices에 들어가서 프린터를 선택하면 그제야 인쇄 UI가 뜬다. 난 처음에 Charms bar가 시스템 맥락으로만 쓰는 건 줄 알았는데 쓰다보니 현재 foreground에 있는 앱의 맥락에 따라 내용이나 동작이 바뀔 수 있는 거였다. 검색 기능도 마찬가지.
MS 소프트웨어를 자유롭게 쓸 수 있다는 점과는 반대로, 특허나 지적재산권에 굉장히 예민한 동네라 그런지, 회사 내부에서 사용할 수 있는 3rd party 소프트웨어에 대한 규정은 매우 까다롭다. 개인용 라이선스 소프트웨어를 깔면 안 된다 정도는 충분히 이해가 가는데, 프리웨어도 맘대로 설치하면 안 되고 오픈소스도 내부 검토를 거쳐 승인된 것만, 그것도 승인 당시 버전의 binary installer로만 사용이 가능하다. 실제로 모니터링해서 차단하는 것 같지는 않지만 소스코드도 열어보면 안된다고 한다. (거꾸로 생각하면 그렇게 제한해도 회사 운영이나 연구가 충분히 가능할 만큼 기본적으로 자사 제품 라인업이 탄탄하다는 방증이기도 하다.) 사실 오픈소스와 친하다는 Google조차도, 텍스트큐브닷컴 파일첨부 플래시 컴포넌트의 업데이트된 소스코드를 오픈소스 버전으로 가져오기까지 법무팀 검토 등등의 복잡한 절차를 거쳐 몇 달이 걸렸던 걸 보면, 그럴 만하다 싶기는 하다. 옛날에는 대표적으로 사람들이 많이 설치하고자 물어봤던 게 Skype라고 하는데, IT 담당자 왈 '이젠 우리가 샀으니 얼마든지 깔아도 돼요~' 라고.; ㅋㅋ
연구소로서의 MSR에 대한 일반적인 인상은 매우 좋았다. 오리엔테이션 가장 처음에 알려주는 내용이 건물의 비상구와 fire alarm 사용법, 화재 시 탈출 요령, first aid room에 대한 정보인데 확실히 얘네가 안전이나 건강에 대해 많은 신경을 쓴다는 인상을 주었다. 그리고 서버, 네트워크, 개인 워크스테이션 등의 장비 관리를 전담하는 연구소 내부 팀이 따로 있고 Microsoft 전사적으로도 Redmond 본사에서 관리하는 팀이 있어 연구자들이 잡다한 OS 설치부터 백업에 이르기까지 인프라에 대한 걱정을 전혀 하지 않아도 된다는 점이 맘에 들었다. 물론 경우에 따라 간단히 해결할 수 있는 일도 내부 절차 때문에 오히려 오래 걸릴 수 있다는 단점이 있는데, 그래서 MSR 연구소에는 전담 팀이 따로 있는 거라고 얘기해주더라. 아무래도 연구내용에 따라 좀더 다양하고 예외적인 하드웨어·소프트웨어 구성이 필요할 테니까. 전반적으로 다른 거 걱정하지 않고 연구에만 전념할 수 있도록 잘 서포트해준다는 느낌이다.
마지막으로... 케임브리지에 대한 인상이다. 일단 높은 건물이 거의 없고(고딕양식 교회·성당 몇 개 빼고) 공원이 많아 시야가 트여 있는 점은 좋다. 하지만 날씨는 계절이 계절이니만큼 최악. 비가 매우 잦다. (다행히 한국처럼 세차게 내리는 비는 아니어서 자전거 타는 건 가능. 안경에 물방울 묻는 게 좀 귀찮다.) 낮 길이도 짧아서 오후 4시면 해가 진다. (그래도 스웨덴보다는 조금 낫다는 사실에 위로를. ㅋㅋ) 조용한 동네이긴 한데 생각보다 자동차가 많이 다녀서 아주 조용하지는 않다. 오히려 북적북적한 관광명소인 King's college 주변 시내 중심가는 pedestrian zone이라 상대적으로 나은 것 같고 실제 사람들의 생활권은 자동차들이 제법 많이 다닌다. 영국 내에서는 거의 유일하게 자전거를 주요 교통수단으로 삼은 도시라고 하는데, 도로에 따라 자전거 전용 차선이 따로 있기도 하지만 이게 도시 전체에 일관성 있게 만들어진 게 아니라 어느 도로는 전용 차선이 있고 어느 도로는 인도를 함께 쓰게 되어 있고 어느 도로는 그냥 차들 옆에서 같이 달려야 하고 이런 식이라 처음에는 좀 당황스러운 경우가 많았다. 보행자와 자전거가 신호를 같이 쓰는 경우도 있고 자전거가 자동차 신호를 따라야 하는 경우도 있다. (그래도 운전자들이 자전거를 많이 배려해줘서 무섭거나 하지는 않다.)
집주인 아저씨의 강력한 권유로 King's college 합창단 예배와 오르간 연주회를 가보니 역시 수준급. 건물이 건물인지라 소리 울림이 정말 좋았다. 영국이 성공회 중심의 나라라서 걱정했던 가톨릭 미사 참례는 생각보다 가톨릭 성당들이 꽤 있어서 전혀 문제 없다. 특히 케임브리지에는 폴란드계 사람들이 많아서 폴란드어 미사가 따로 있을 정도. 참고로 폴란드는 매우 독실한(?) 가톨릭 국가다. 나는 OLEM(our lady and english martyrs)이라 불리는 성당의 청년미사에 가보았는데, 청년성가대가 부르는 곡들이 한국의 생활성가보다는 잔잔한 편이다. 한편으로는 재즈 느낌도 좀 났고, 탬버린으로 과하지 않으면서도 흥겹게 하는 부분이 맘에 들었다. 미사 분위기는 한국과 거의 똑같은데, 단지 영어라서 강론을 듣기 어렵다는 점이...;; (영어 듣기평가에서 최악의 조건이라고 할 수 있는 웅웅거리는 울림이 기본인 환경이니까.) 찾아보니 라틴어(!) 미사도 있던데 기회가 되면 한번 가보려고 한다.
어쨌든, 까먹기 전에 쓰고자 했던 짧은 첫인상 이야기는 여기까지.
부모님 결혼 30주년 기념과 겸하여 대학원 들어온 후 제대로 쓰는 첫 휴가로 4박 5일 일정으로 일본 교토·오사카·나라 지역을 다녀왔다. 최근에 학회 출장 등으로 1년에 한번꼴로 캐나다, 포르투갈 등을 다녀오기는 했지만 자유여행으로 간 건 꽤 오랜만이다. 특히 일본은 우리나라의 애증의 관계를 가진 나라이면서 문화적으로 공유하는 부분도 매우 다른 부분도 함께 있기에 여러가지 느낀 점이 많았다.
이번에 일본 가서 가장 크게 바뀐 생각은 (조금 의외일지도 모르겠지만) 외벽을 타일로 만든 건물이 충분히 깨끗하고 아름다울 수 있다는 점이다. 특히 카이스트의 하늘색 목욕탕 타일 건물(...)에 질려있는 대다수의 카이스트 사람들에게는 꽤 충격적인 소리로 들릴 수 있겠다.
일본에서 시내를 돌아다니다보면 철근콘크리트로 지은 건물들 중 타일을 쓴 경우를 매우 많이 볼 수 있다. 우리나라에서는 동네 상가 건물 정도에서나 쓰는 정도이지만, 일본에서는 오사카 시내에서 가장 높은 건물 중 하나인 우메다 스카이타워나 그 옆의 호텔 건물도 외벽의 상당 면적을 타일로 바를 정도로 타일 사용이 보편화되어 있다. 한국에서 타일 건물의 인상은 덕지덕지 붙여놓은 타일에 먼지가 빗물 타고 흐른 땟국물이 줄줄 자국이 남아서 매우 지저분하고 값싼 느낌인데, 일본의 타일 건물들은 타일을 붙인 것이 가히 예술의 경지다. 건축가인 아버지 말씀으로는 큰 건물의 경우 미리 공장에서 일정 사이즈의 판넬에 타일을 붙여서 그러한 판넬을 외벽에 붙이는 방식으로도 만든다고 하는데, 일단 타일 붙이기 자체가 거의 손으로 해야하는 작업이라는 걸 생각하면 그 섬세함에 놀라지 않을 수 없었다. 타일을 붙일 때 각 타일의 네 귀퉁이가 표면으로부터 일정한 높이를 유지해야 울퉁불퉁해보이지 않고 멀리서 빛에 비춰진 옆면을 봤을 때 각각의 타일이 따로 놀지 않아 마치 하나의 거울 표면을 이루는 것처럼 보이는데, 모든 타일 건물이 이 조건을 충족하고 있었다. 또한 벽돌도 마찬가지지만 타일을 붙일 때도 타일 사이의 가로세로 간격이 일정해야 아름다운데, 그 간격을 자로 잰 듯 일정하게 해서 전혀 어색함이 보이지 않았다. 아버지 또한 건축가로서 타일을 외벽 재질로 쓰고 싶어도 한국에서는 건축주들의 인식도 안 좋은데다 이처럼 숙련된 타일시공 기술자들을 찾기가 어려워서 일본에 오면 이런 부분이 샘이 난다고까지 이야기하실 정도였다.
첫째날과 둘째날 묵었던 교토의 료칸 또한 화려하지는 않았지만 소박한 목조 건물 느낌의 내부 인테리어에서 대단히 섬세함을 느낄 수 있었다. 지금 우리 가족이 살고 있는 아파트에 이사올 때 인테리어 공사를 했을 때 어머니의 가장 큰 불만 중 하나가 천장 몰딩이나 창틀·문틀과 벽면 벽지가 이루는 경계선들이 깔끔하게 마무리되지 않았다는 점인데, 료칸의 벽지들은 정말 흠잡을 곳 하나 없이 모든 경계선과의 마무리가 아주 일정하고 깔끔했다. 나무 문짝도 그렇고 화장실 타일 붙여놓은 것도 그렇고 그동안 어머니가 한국에서 불만이었던 '철저한 마무리'의 가장 이상적인 전형을 보여주고 있었다.
이러한 디테일함은 비단 건축물들뿐만 아니라 각종 도구과 음식에도 그대로 적용된다. 그릇이나 젓가락, 각종 수공예품 또한 마찬가지고 일본음식이 보는 맛에 먹는다고 할 만큼 섬세하게 차려져나오는 것 또한 이 연장선 상에서 볼 수 있을 것이다.
조금 다른 섬세함의 의미로, 오사카 우메다역의 요도바시카메라(일본에서 가장 큰 전자백화점 체인)와 교토·오사타의 시장 골목을 구경하고 나서 느낀 점은, 물건을 만드는 것도 디테일하지만 물건을 모아놓고 파는 것도 디테일하다는 점이다. 예를 들면 젓가락만 전문으로 파는 가게가 있어서, 정말 몇백·몇천원짜리 값싼 젓가락부터 1세트에 70만원이 넘는 것까지 있는 식. 어떤 한 종류의 물건을 팔더라도 그 선택의 폭이 굉장히 넓고 깊다. 지팡이만 파는 가게는 마치 해리포터의 마법지팡이 가게를 생각나게 했다. 요도바시카메라에서는 이것저것 다 취급하는 카메라 매장들이 여러 개 모여있는 것이 아니라, 정말 세세한 품목을 방대하게 취급하는 가게들이 모여있었다. 예를 들면, 카메라 삼각대만 파는 코너나 카메라를 어깨에 걸치는 끈만 파는 코너, 카메라 가방만 모아놓은 코너가 따로따로 있는데 그 규모가 상상을 초월했다.
이걸 보면서 딱 드는 생각이, 취미 생활 좀 하려면 일본이 정말 천국이겠구나 하는 것이다. 괜히 오타쿠의 나라가 아니지 싶다. 아주 일부의 모습만 봐도 이 정도인데, 각각의 세부 카테고리로 들어가면 얼마나 방대한 디테일들을 취급하고 있을지 상상이 가지 않는다. 우리나라에서는 일부 매니아들의 전유물로만 여겨지는 것들은 뭔가 파는 곳이 없어서 구하기도 쉽지 않고 그럴 것 같은 느낌인데, 일본에서는 웬만한 건 다 찾을 수 있을 것 같은 느낌이다.
요도바시카메라에서 카메라 메모리와 액자 틀을 조금 사고 계산하는데, 계산하던 점원이 우리가 외국인인 걸 알고 5% 부가세 면세적용을 해주겠다면서 여권 정보와 함께 구입 품목에 대한 기록을 남기는 카드를 작성하였다. 카드 양식을 굉장히 꼼꼼하게 하나하나 적고 한번 더 손가락으로 한글자 한글자 훑으면서 읽어보더니, 옆에 있던 다른 직원을 불러서 한번 더 확인을 시키고, 그 직원이 간 다음 다시 그 카드와 같은 크기로 구멍이 숭숭 뚫린 종이를 꺼내어 양식에 꼭 들어가야 하는 칸 중 빈 것이 없는지 확인까지 다 하고 나서야 계산이 끝났다. 단순히 친절한 것으로 보기에는 그 과정이 고민 없이 너무나 착착 진행되어 아마도 매뉴얼에 뭔가 이렇게 하라고 써있는게 아닐까 하는 생각을 하게 만들었다. 그것이 사실이라면, 매뉴얼도 디테일하고 그걸 있는 그대로 지키는 직원도 디테일하다고 할 수밖에. 기다리는 입장에서는 다소 조바심이 나기도 했지만 실수를 방지하기 위한 시스템이라는 점에서는 칭찬해주고 싶은 부분이다.
또 한 가지 디테일하다고 느낀 부분은 교통신호 체계다. 일본에서 자동차가 좌측통행을 한다는 건 누구나 아는 사실이니까 생략하고(하지만 택시 탈 때 운전석 문을 열려고 해서 기사님들이 당황했던 적이 있는 건 사실.. 이래서 습관이 무서운 거다. ㅋㅋㅋ), 우리나라와 다른 점은 신호가 바뀔 때 약간의 시간 딜레이를 준다는 것이다. 예를 들어 A 방향 길과 B 방향 길 2개의 직선길이 만나는 교차로에서, A 방향에 빨간불이 들어와있고 B 방향에 초록불이 들어와있다가 신호가 바뀐다고 하자. 우리나라에서는 B 방향이 빨간불로 바뀜과 동시에 A 방향에 초록불이 들어오는데, 일본에서는 1~2초 가량의 지연 후 초록불이 들어온다. (이게 모든 지역에서 다 그러한지는 잘 모르겠다) 물론 빨간불로 바뀔 때 노란불이 먼저 들어와 신호변경을 미리 알려주는 역할을 하지만, 그래도 추가적인 딜레이가 더 있는 것이다. 이것도 위와 마찬가지로 실수를 방지하는 일종의 안전장치 역할이 아닐까 싶다.
우리나라는 어떻게 보면 융통성이 지나쳐서 문제인데 일본은 융통성이 너무 없어서 문제일 수도 있겠다. 하지만 그 철저함과 섬세함은 우리도 배워야 할 부분이다. 무언가 짓거나 만들 때 화려하진 않더라도 그 끝 마무리까지 완벽하고 깔끔하게 하는 것이, 겉으로만 화려하고 실제로 곰곰이 뜯어보면 대충대충 투성이인 것보다는 훨씬 낫지 않겠는가. 일본인들의 이러한 부분만큼은 존경할 만하다.
기차든 전철이든 KTX든 우리나라에는 각 광역시별 지하철과 코레일만 알면 별다른 고민을 할 게 없고, 하나의 승차권이나 교통카드로 지하철끼리는 모두 환승이 가능하다. 그런데 일본은 철도의 종류가 굉장히 많았다. 우리가 이용한 노선만 해도 JR 야마토지선, 한큐 오사카·교토 구간, 킨테츠 나라선, 오사카 시교통위에서 운영하는 지하철까지 4가지 운영 주체가 따로 있었을 정도니 말이다. 각각이 독립적인 노선을 운영하고 있고, 우메다역이나 난바역 같은 곳은 2~3개의 전철 회사들이 각자 역을 운영하고 있어서 환승할 때도 헷갈리지 않게 주의해야 한다. 게다가 승차권도 다 따로따로. (사실 관광객들을 위한 간사이-쓰루토 패스 같은 것들이 있는 것 같긴 한데 이번 여행은 내가 미리 뭔가 조사하고 예약하고 그럴 시간이 없었기에 그냥 그때그때 표를 샀다. 그런 게 있다는 것도 나중에 안 거라...) 정확히는 모르겠지만, 대부분 전철로 되어있는데 전철의 속도도 우리나라보다 좀더 빠르게 운행하는 것 같다. 내가 탔던 노선들 대부분 시내 중심부에서는 지하로 가다가 교외지역으로 나가면 지상으로 나오게끔 되어있었다.
내가 아는 사람들 중에 이른바 '철도 오타쿠'가 몇 있는데, 과연 그런 사람들이라면 일본은 또 다른 의미의 천국이 될 수 있을 것 같다. 우리나라처럼 한 종류의 지하철만 있는게 아니라, 각 사철(私鐵) 별로는 급행(걔네들은 '쾌속'이라고 표현함) 등의 차량 등급도 여러 가지고 열차에 앉는 방식도 지하철처럼 벽쪽으로 일렬 좌석이 있는 것부터 우리나라 무궁화·새마을 같은 것도 있고, 좌석 등받이 위치를 바꾸는 것도 새마을처럼 좌석 자체를 돌리는 것이 아니라 등받이를 들어올려서 옮기는 식이라든지 다양한 방식들이 혼재하고 있었다.
교토에 있었던 첫째날에는 청수사(기요미즈데라)를 둘러본 뒤 교토 시내의 골목을 돌아다녔는데, 료칸으로 돌아오는 길에 길을 잘못(?) 들어서 관광객들 잘 가지 않는 동네 골목길을 지나가게 되었다. 어머니가 오랜만에 오래 걸으니까 발이 아프다고 하시면서 얇은 양말이나 스타킹을 샀으면 하셨는데, 마침 동네 수퍼마켓이 보여 들어갔다. 가게 주인과 동네 아줌마들이 앉아있었다. 이 사람들은 영어가 안 되니 손짓 발짓으로 어떻게 어떻게 찾아 구입하려는데, 어느 나라에서 왔냐고 하길래 한국에서 왔다고 했더니 싸이의 강남스타일부터 시작해서(...) 정우성, 빅뱅, 배용준 등등의 이야기가 줄줄줄...;; 역시 일본 아줌마들이 진짜 한류 팬이라더니 과연 허언이 아닌 듯.
하지만 여전히 역사문제에서는 아쉬운 점들이 보였다. 저녁 시간이면 료칸과 호텔에서 TV를 보았는데, 참 재미있기도 황당하기도 한 것은 한 채널에서는 한국드라마를 더빙 없이 일본어자막만 넣은 채 방송하고 있는데 바로 옆 채널에서는 '일한·일중 영토 분쟁 위기를 어떻게 극복할 것인가'를 주제로 각계 전문가를 모셔놓고 토론회(...)를 하고 있더라는 것. 한국드라마에서도 이상한 점을 발견할 수 있었다. 조선시대를 배경으로 한 어느 사극에서 반정을 모의하는 사대부 가의 대화 장면이 나왔을 때다. 명나라 사신이 오는데 왕을 바꿔치운 것을 어떻게 설명할 것인지 물어보자 대답하는 사람이 언제 우리가 걔네들 눈치를 보며 살았느냐 뭐 이런 대화를 하는데, 일본어 자막에 명나라를 명나라로 표현하지 않고 '종주국'이라는 한자 표현을 써놨다. 헐.... -_-; 우리말과 같은 뜻으로 쓴 것이라면 진짜 헐이다.
디테일한 부분은 정말 일본에서 배워야할 것이라고 생각하지만, 한편으로는 일본의 어두운 모습들도 많이 보였다. 특히 길거리와 지하철 등에서 보는 지난 잃어버린 20년을 지내온 세대들(대략 내 나이또래부터 30대 후반 정도까지)의 모습들은 한결같이 우울하고 외로워보였다. 오히려 좀 나이 지긋하신 아저씨·할아버지·할머니들이나 관광지에 놀러온 유치원생·초중고 학생들은 밝고 명랑해보였는데 말이다. 물론 우리나라에서도 출퇴근 시간대 지하철을 타보면 직장인들이 피로에 쩔어있는 모습을 볼 수 있지만, 단지 피곤해서 지쳐있는 모습과는 다른 무거운 공기가 느껴졌달까. 그 광경에서 관찰한 또다른 사실은 대부분의 직장인이 정말 한결같이 똑같은 검은색 정장바지에 하얀색 와이셔츠를 입고 있더라는 점이다. 우리나라도 금융권 등 정장 입고 근무하는 회사들이 있지만, 일본은 그런 회사들의 비중이 절대적으로 높은 것 같고 동시에 정장바지와 와이셔츠 색깔의 variation 폭이 매우 적다. 처음엔 좀 섬뜩할 정도. 회사 로고가 박힌 뱃지들을 외투에 붙여서 서로를 구분하는 것 같았다. 아버지 말로는 일본 회사들이 규율이 엄격하고 문화 자체가 서로 다른 사람의 일에 간섭하지 않으려 하는 경향이 강하다는데, 아마도 그런 것들이 젊은 직장인들에게 상당한 심리적 스트레스를 가하고 있는 것이 아닐까 하는 생각이 들었다.
지난 해 있었던 동일본 대지진 또한 일본사회에 그늘을 드리우고 있었다. 기차를 타고 교외 지역을 달리다보면 광고 전광판을 꺼놓고 '절전운용중'이라는 표시를 붙여놓는다든지, 밤이 되었을 때도 가정집들이 전등을 거의 켜지 않는 모습을 볼 수 있었다. 지하철에서는 '파이팅 일본' 이런 제목을 단 연예인 공연 포스터가 붙어있었다. NHK에서 저녁 뉴스가 끝나고 "내일로"라는 제목으로 각계각층 사람들이 한명씩 나와서 빨간색 꽃을 한송이씩 들고 노래 한 소절씩 돌아가며 부르다가 나중에는 함께 부르는 장면이 나온다. 전체 해석은 못하겠지만, 그래도 우리는 계속 살아갑시다, 꽃들이 피어요 이런 가사들이 보이고 추모하는 분위기와 제목, 설명 등으로 미루어볼 때 아마도 동일본 대지진으로 인해 침체된 사회 분위기 속에서 사람들에게 희망을 심어주기 위한 노력의 하나가 아닐까 싶다.
약간은 집단주의적인 면도 보이는데, 각 개인은 사실 얼마든지 행복하고 밝게 살 수 있음에도 일본 사회가 처한 어려움을 마치 자신의 어려움과 동일시하는 듯한 분위기도 느껴졌다. 그 우울감은 여행 내내 일본을 짓누르고 있었다.
첫째날과 둘째날은 교토에서, 셋째날은 오사카에서, 넷째날은 나라를 다녀왔고, 마지막날은 다시 오사카에 있었다. 교토에서는 청수사(기요미즈데라), 은각사와 금각사, 헤이안신궁, 유명 일본 건축가인 안도다다오의 '명화의 정원', 용안사의 석정 등을 보았고, 오사카에서는 오사카성 천수각과 해유관(가이유칸)을, 나라 가는 길에 담징의 금당벽화와 세계에서 가장 오래된 5층 목탑이 있는 법륭사(호류지)를 보고 나라에서는 사슴공원과 동대사(도다이지)를 보았다.
개인적으로 가장 마음에 들었던 절은 은각사와 법륭사다. 은각사는 섬세함이 묻어나는 정원과 소박한 건물들의 느낌이 좋았고, 법륭사는 진짜 절 다운 모습을 갖추고 있다는 점과 우리나라 삼국시대의 영향을 때문인지 건물의 처마·용마루 곡선이 한국의 것을 많이 닮아있어 그 편안한 느낌이 좋았다. 특히 법륭사의 5층 목탑은 내가 초등학교 3학년 때 22줄짜리 일기장 6페이지를 가득 채워 기록으로 남겼던 KBS 황룡사 다큐멘터리에서 황룡사와 그 9층 목탑이 지금까지 남아있었다면 가장 유사한 구조를 가지고 있을 것으로 지목된 건축물이기에 내게는 큰 의미가 있었다. 담징의 금당벽화는 사실 제대로 들여다보기는 힘들었고 뒷편에 따로 조성된 박물관 코스에서 좀더 자세히 볼 수 있었다. 법륭사의 5층 목탑에 사용되었던 부재가 함께 전시되어 역학적으로 지붕과 상단부를 어떻게 떠받치고 있는지 자세히 보여주는 것이 흥미로웠다. 경주 황룡사가 13세기 몽고침입 때 불타지 않고 지금까지 남아있었다면 얼마나 멋있었을까.
용안사의 석정은 내 또래 세대에서 중고등학교 미술책을 봤다면 다들 알고있을 바로 그것. 일본식 정원의 대표적인 사례로 자주 소개되는데, 하얀 자갈에 살짝 패턴을 내고 조형물이라곤 중간에 몇개 놓여있는 돌이 전부인 정원이다. 그것이 바다 위의 섬들을 형상화한 것인지 아니면 무릉도원을 그린 것인지 그 해석은 각자에게 맡기고 있다. 나는 정원 뒷편의 울창한 숲과 기름을 넣어 지은 흙담에서 배어나온 자연스러운 무늬가 정원과 조화를 이루는 모습이 더 멋있었다.
동대사는 16m 크기의 세계 최대 좌상 금동불상과 이를 보호하는 높이만 50m에 달하는 거대한 목조 대불당의 모습이 가히 스케일만으로 사람을 압도하는 곳이었다. 나중에 인터넷으로 찾아보니 최초의 대불당은 지금보다 더 컸었다고 하고, 양 옆으로는 그보다 더 높은 7층 목탑이 서 있었다고 한다. 지진 등으로 파괴되어 지금은 전하지 않는다. 이것도 법륭사와 마찬가지로 삼국시대에 한국인들이 건너가 도움을 주고 지은 것이라고 한다.
참고로 신사와 절은 성격이 완전히 다르다. 절은 말 그대로 우리나라의 절들처럼 불상을 모시고 스님들이 수행하는 그런 곳이고, 신사는 어떤 특정한 신(토착신앙으로 각 지방의 수호신일 수도 있고 특정한 주제를 나타내는 신일 수도 있고)을 모셔서 특정 지역을 수호하기 위한 염원을 담아 짓는 것이다. 헤이안 신궁의 경우는 수도를 교토에서 도쿄로 옮길 때 교토의 지속적인 번영을 기원하기 위해 지었다고 한다. 내가 갔을 땐 그날 저녁 때 무슨 공연을 하는지 무대 설치가 한창이었는데, 뭔가 조심스럽고 신성한 느낌일 거라고 생각했던 것과 달리 경우에 따라서는 지역주민들을 위한 행사장으로도 활용되고 있는 것 같다. (한 가지 예외는 이세신궁이라 하여 일본 신화에서 우리의 단군과 비슷한 위치의 인물을 모신 신사가 있는데 거기는 별다른 건축물은 없지만 사진도 못 찍게 하는 등 굉장히 신성한 장소임을 강조한다고 한다.)
전체적으로 여행을 마치고 든 생각은, 일본이 살아볼 만한 나라인데 지진만 안 나면 참 좋겠다는 것. 음식도 내가 다녀본 나라들 중 가장 깔끔한 편이었고 작은 상가건물 유리창들마저 반짝반짝 빛나는 그 깨끗한 거리와 전통·현대 건축물들의 정교함은 일본인들의 부지런함과 철두철미함을 잘 보여주고 있었다. 역사적으로도 우리 선조들이 많은 도움을 주었던 나라이기도 하고. 하지만 최근 점점 우경화되는 정치 환경과 여전한 역사왜곡 문제, 그리고 장기적인 경기침체와 동일본 대지진 이후의 사회적 우울감은 일본이 넘어서야 할 산일 것이다.
원래는 휴식의 개념으로 놀러가는 거였지만, 막상 NSDI 데드라인 후 텍스트큐브 저장소 github 이전 작업으로 거의 밤을 샌 다음 집에 운전해서 온 데다 제대로 뻗어서 자지도 못하고 12시간만에 짐싸서 비행기 타고 가려니 잠이 부족해서 좀 힘든 여행이었다. 생활리듬도 갑자기 바꿔야 했고. 그래도 규칙적으로 먹고 자고 하면서 많은 생각을 해볼 수 있는 시간이라 좋았다. 많이 걸어다녔더니 몸도 좀 건강해진 것 같고. 언젠가 기회가 되면 좀더 밝아진 일본의 모습을 보러 갈 수 있기를.
이번에 준비하고 있던 논문은 "nShader"라는 이름으로 기존의 PacketShader와 SSL Shader를 포함하여 임의의 새로운 네트워크 패킷 처리 기능을 하나의 소프트웨어 프레임워크 위에서 구현할 수 있도록 만드는 것이다. 단순히 프레임워크만 만드는 것이 아니라 scheduler를 바꿔가며 구현할 수 있도록 하고, 나름대로의 새로운 아이디어를 적용한 scheduler로 기존 shader 시리즈보다 성능을 더 향상시키는 것이 골자이다.
오늘 낮 12시가 NSDI 학회 데드라인이었는데, 결국 이건 아직 낼 때가 안 되었다는 결론을 내고 다음에 다른 학회에 내기로 했다. 지금까지의 과정에서 몇 가지 느낀 점들을 적어본다.
시스템 연구는 특성상 삽질을 많이 하게 된다. 아무리 경험이 많은 사람이라도, 모든 것을 처음 밑바닥부터 다 구현하는 것이 아닌데다, 아무래도 좀더 low-level을 만지다보니 일반적인 user-level application과 달리 어떤 기능의 정확한 동작과 성능에 영향을 주는 요소가 매우 많기 때문이다. (kernel 버전이나 BIOS 설정까지도 포함, 코드 1줄만 바꿔도 성능이 완전히 달라질 수도 있고, 등등.) 따라서 나중에 실험 재현을 위해서는 실험 환경에 대한 꼼꼼한 기록과 코드 버전 관리가 필수다.
이번 논문의 경우 처음 아이디어는 (지금은 영국에 가있는) 선배로부터 나온 것이다. 지난 1~2월에 빡시게 일해서 framework와 PacketShader/SSLShader 포팅을 이미 완료한 상황이었고, 나는 3월부터 5월까지는 수업 몰아듣기와 조교 및 APSys 논문 준비로 바빠서 일을 못했다. 또한 그 선배는 3월부터 영국에 가서 일하게 되었고, 내가 6~7월 APSys 행사 업무로 바쁜 사이 같이 실험 도와주던 분도 미국으로 가게 되었다. 그렇게 공백기가 있은 후 8월부터 본격적으로 논문 준비에 들어갔는데, 기록 미비로 인한 여러 문제점을 겪어야 했고 결국 이번에 바로 논문을 완성하지 못하는 한 이유가 되었다.
우선, 몇몇 실험의 기록과 코드가 제대로 남아있지 않았다. 미국으로 간 분이 했던 실험을 조건을 바꿔서 다시 해볼 필요가 생겼는데, 실험의 최종 결과 그래프만 엑셀에 덩그러니 남아있고 어떤 서버(하드웨어)에서 했는지에 대한 기록과 실험 때 사용한 코드가 남아있지 않았다. 결국 실험스크립트를 새로 짜야 했고, dictionary 자료구조라서 순서가 보장이 안 되는 항목을 index로 구분하게 해놓아서 실험 데이터의 x/y축이 뒤죽박죽이었다든가 하는 문제가 있었다. (다행히 그 실험의 경우엔 그래프 모양만 보고도 어느게 어느것에 해당하는지 알 수 있었지만.) 그래서 원래는 하루 예상했던 일이 거의 일주일이나 걸렸다. 미국과 시간대가 안 맞으니 계속 이메일과 카톡으로 비동기 커뮤니케이션을 해야 했으니까.
그 다음은, 논리 전개에 대한 기록이 미비했다. 원래는 내가 2저자로 들어가고 영국으로 간 선배가 1저자가 될 예정이었으나, 그분도 영국에서 일하게 되면서 교수님과의 의논 끝에 이 논문에 필요한 실질적인 작업을 하기 어렵다는 판단 하에 내가 1저자를 하기로 결정되었다. 1저자가 되었으니 당연히 논문의 모든 문장에 책임을 져야 하는 법. 그런데... 막상 중간 정도 쓰여있던 writing을 바탕으로 내가 writing을 시작하고 보니, 도대체 구체적으로 정의된 게 거의 없는 것이다. 특히 이 논문의 핵심 아이디어 중 하나는 'TCP congestion control과 유사한 방법으로 GPU offloading fraction을 조정했더니 성능이 잘 나오더라'인데, 실제로 일을 할 때는 '해보니까 잘 된다'였지 이걸 어떠어떠한 구체적인 근거가 있어서 그 방법을 선택했다는 logic이 없었던 것. 그러다보니 우리가 구현한 알고리즘에 사용된 각종 parameter의 값들도 죄다 magic number였고, 이는 그러한 magic number tuning 없이도 어느 조건에서나 최적 성능이 나온다라는 주장과 대치되는 것이다.
당장 코드 구현하고 실험해볼 때야 일단 잘 되면 좋은 것이지만, writing을 하는 입장이 되면 전혀 다르다. 다른 방법도 많은데 왜 그렇게 해야 하는지 왜 그렇게 해서 잘 되는지를 정확하고 구체적으로 설명을 해주어야 하고, 우리의 design decision에 대해서도, 우리가 생각한 technical challenge에 대해서도 구체적인 근거가 있어야 한다. 예를 들면 'scheduler가 light-weight해야 한다'라는 말은 누구나 할 수 있지만, 그게 얼마나 light-weight해야 하는지는 context마다 다를 수 있다. '초당 1백만개 이상의 패킷과 그 패킷으로부터 생성된 task를 매번 scheduling해야 하므로 commodity server에서 자주 사용되는 xxx 모델급의 CPU 성능을 가정했을 때 300 CPU cycle 안에 돌아가야 한다'라든지 하는 식으로 밝혀줘야 하는 것이다.
문제는 그분도 10월초 한국에서의 결혼과 현지에서 작업하고 있는 다른 논문 준비 때문에 나와 커뮤니케이션을 충분히 미리 하지 못했다. 사실 그 선배 머릿속에는 '이런 이야기는 이러이러한 방법으로 보여주면 충분할 것 같고, 이건 우리가 좀더 해봐야 하고, etc etc' 이런 로드맵이 있는 셈이었는데, 그게 논문에도 회의록에도 기록이 전혀 안 남아있었던 것. 그러다보니 한달만에 writing과 추가 실험을 모두 다 해야 하는 상황에서, full paper에서 요구되는 수준의 detail로 어떤어떤 것들이 필요하다는 것을 파악만 겨우 했지 실제로 그 파악한 detail들을 모두 살펴보고 검증하고 실험 or 인용할 시간이 부족했다. 어떻게 보면 그 선배의 머릿속을 backtracking하느라 시간이 다 간 셈이랄까.
그렇다고 해서 그 선배를 탓할 생각은 전혀 없다. 사람이다보니 모든 일에 항상 최상의 퍼포먼스를 가지고 임할 수는 없는 일이고, 나 또한 이것만 하기에도 바쁘게 만든 여러 가지 다른 정황이 나를 더 힘들게 했기 때문이다.
데드라인 3주 전, 연구실의 대표 웹·이메일 서버이자 모든 논문과 소스코드의 버전관리 저장소가 들어있는 an.kaist.ac.kr 서버의 하드디스크가 수명을 다해 죽었다. 다행히 RAID-1으로 미러링되어 있었는데, 문제는 과거에 서버관리하던 사람이 2가지 종류의 RAID 프로그램을 중복 설정해놨다는 것. 이 왜 그렇게 했는지, 어떻게 그렇게 했는지에 대한 문서가 남아있지 않았다. 나름대로 로그도 뒤져보고 시스템관리자 커뮤니티에 질문도 해보고 그랬으나 실제 디스크 수준의 RAID가 둘 중 어느 것이었는지 알 수가 없었다. 그래서 둘 중 명령어로 상태가 정확하게 조회되는 하나를 찍어서 RAID rebuild를 해놓았고 이때까지는 별 문제가 없었다.
데드라인 2주 전, 연구실 서버룸의 에어컨이 수명을 다해 죽었다. 서버실 온도는 50도를 넘어갔고, an.kaist.ac.kr 서버의 아직 교체하지 않았던 다른 하드디스크도 과열로 마저 죽었다. 따라서 새로 미러링된 하드디스크를 다시 미러링하도록 설정하여 복구(?)했다. 연구실의 모든 선풍기를 동원하여 자연 냉방을 해야 했는데, 마침 죽은 날이 토요일이라 에어컨 A/S는 월요일에나 부를 수 있었고 점검 결과 컴프레셔 고장으로 수리비용이 교체비용과 비슷하게 나온다는 결론에 도달했다. 영국에 계신 교수님과 상의를 거쳐 에어컨을 새로 구입하기로 하였고, 중간에 우천으로 하루 연기된 것을 포함 결국 돌아오는 금요일(데드라인 5일 전)에 되어서야 설치가 완료되었다. 에어컨이 없는 동안은 서버를 켤 수 없었기 때문에 최소한의 필수 서버만 켜두고 주로 논문 writing 작업을 했으나, 실험결과가 절대적으로 부족하다는 문제에 직면했다.
그리하여 데드라인 4일 전이 되었는데, 연구실 서버룸의 에어컨 누전차단기가 수명을 다해 죽었다. 이제 이쯤 되면... 만성 멘붕이다. 토요일 밤에 학교 전기실 당직자를 불러 점검해보았고 결국 일요일에 교체. 근데 교체 과정에서 누전차단기의 입력전원을 차단하기 위해 서버실 전원을 모두 한번 내렸는데, an.kaist.ac.kr이 재부팅을 했더니 살아나지 않았다! ㅋㅋㅋㅋㅋㅋㅋㅋ 이유는 2가지 종류의 RAID 중에서 disk level로 미러링하는 게 있고 partition level로 미러링하는 게 있었는데 후자로 서버를 살려놓았던 것. 근데 디스크 2개를 다 갈고 나니 파티션 테이블과 부팅 정보가 날아간 거다.;; 뭐... 굳이 잘못을 따진다면 불필요하게 헷갈리도록 RAID를 설치해놓은 전 관리자를 탓해야 하겠으나 이미 학교에 없는지 한참 된 사람이기도 하고 일단 논문을 쓰는 게 더 급한 상황이니 응급조치를 새로 설치 후 testdisk 프로그램 통해 수동 복구. 누전차단기 덕분에 데드라인 4일 전에 48시간을 고스란히 날렸다.
..이러니 논문이 나올 리가 있겠는가. ㅠㅠ
무엇보다 1~2주 전 사이에 멘붕이 심했는데, 사실 이러한 일련의 사건이 벌어진 것 자체보다도 주변에서 나를 아무도 안 도와준다는 느낌이 들었던 게 더 큰 것 같다. 서버실 관리자도 따로 없어서 내가 혼자 관리하는 상황이고, 논문도 갑자기 1저자를 맡아서 마무리를 해야 하는 상황이라 writing만 하기도 벅찬 걸 실험·코딩도 해야 하는데 같이 일하는 사람들은 다 영국에 있고. 뭐, 인터넷이 발달해서 메신저나 스카이프·구글 행아웃 등으로 연락을 하려면 할 수는 있지만, 소소하게 일상에서 힘든 부분 나누고 생각날 때마다 시시콜콜 물어보기는 아무래도 힘들다. 그쪽도 나름대로 다른 일들로 바빴고, 시차도 무시할 수 없는 요소니까.
원래 서버관리자는 이 논문 끝나고 뽑을 예정이었는데, 하필이면 데드라인 앞두고 일이 터진 건 그냥 운이 나쁜 거라서 어떻게 할 수가 없었다. 또한 실험이나 코딩도 연구실에서 당장 후배를 가르쳐가면서 일을 하기에는 일단 1개월이라는 시간 자체가 그리 충분하지 않았던 것도 아쉽다.
그래도 어쨌든 9페이지 분량의 논문을 쓰면서 진짜 제대로 된 12~14페이지 full paper가 되려면 어느 정도의 노력과 일의 양이 필요하겠구나라는 감은 좀 잡은 것 같다. 11월에 MSR 인턴을 가기 전에 다른 학회에 submit을 하는 게 목표인데, accept이 되든 안 되든 일단 내 스스로 봐서 만족할만한 논문을 쓰는 건 쉽지 않은 일인 것 같다. 사실 교수님도 이미 데드라인 며칠 전부터 이번 논문은 힘들 거라는 걸 알고 계셨고, 나는 2주 전부터 이 상태로는 아무리 열심히 해도 스스로 만족스러울 것 같지 않음을 예상하고 있었다. 물론 교수님이 끝까지 내자고 하셨으면 어떻게 냈을지도 모르지만 절대적으로 일의 양과 들인 시간이 모자른 건 무슨 수를 써도 메꿀 수 없는 법.
주변 사람들하고 얘기해보면, 사실 어느 정도 스스로 논문을 리드해서 작성할 수 있게 되려면 기본적으로 걸리는 시간이 있다고들 한다. 개개인마다 차이는 있겠지만, 아직 나는 그 leap을 뛰어넘지 못한 상태인 듯. 이 정도 하면 되겠다라는 감은 생겼지만 실제 그 정도 하기까지 걸리는 시간이 항상 예상보다 많이 걸린다. 그 간극을 극복하는 날이 빨리 오기를...
숨가쁘게 달려온 APSys 2012 워크샵이 끝났다. 워크샵에 첫 1저자 논문을 발표하기도 했지만, 워크샵의 운영 staff로 일한 첫 경험이기도 했기 때문에 아마 평생 두고 잊을 수 없는 워크샵이 되지 않을까 싶어 이렇게 글로 정리해본다.
APSys 워크샵은 올해로 3회째를 맞는 (아직은 작은?) 컴퓨터 소프트워어 시스템 전반을 다루는 학술대회이다. 먼저 워크샵에 대해서 간단히 설명하면, 전산 분야에서는 아직 진행 중이거나 초기 단계의 일이지만 주목할 만한 결과를 가지고 있을 때 논문을 내는 곳이다. 전산 분야에서는 논문 종류를 크게 proceeding으로는 학회(conference), 워크샵(workshop), 포스터(poster)로 나누고 그 외엔 journal 논문이 있다. 분야 발전 역사와 하드웨어의 기술발전 속도에 따라 같은 주제와 아이디어라도 금새 옛것이 되는 특성 상 논문 게재 승인이 나기까지 수개월 이상 걸리는 journal보다는 논문 제출과 리뷰 과정이 모두 deadline 기반으로 이뤄지는 학회/워크샵 논문들이 더 조명을 받는다. 학회 논문은 보통 영문 10pt 2 column으로 12~16 page 정도를 작성하고, 워크샵은 5~6 page, 포스터는 extended abstract 형태로 1~2 page를 작성한다. 포스터는 학회에 따라 proceeding에 실어주기도 하고 안 실어주기도 하는데, 리뷰 과정도 매우 단순화되어 있는 경우가 많다. 거의 '이런 일을 하겠다' 하고 찜하는 느낌이 강하다. 반면 학회 논문(conference full paper)은 리뷰 과정도 오래 걸리고 학회 심사위원들 중 한 명이 shepherd로 지정되어 해당 논문의 최종 버전(camera-ready version)이 나올 때까지 직접 논문 수정에 대한 제안이나 피드백을 중점적으로 주기도 한다. 따라서 일정 정도 이상의 완성도가 있는 논문이 나올 수밖에 없다. 이른바 "좋은" 학회에 full paper를 1저자로 1개라도 발표한다면 어지간한 미국 아이비리그 top school 진학이나 Microsoft와 같은 유명 기업체 연구소 취업 가능성이 매우 높아진다.
컴퓨터 소프트웨어 시스템은 매우 다양한 주제를 포괄하고 있다. 가장 전통적인 주제라고 할 수 있는 운영체제의 다양한 구성요소들에 대한 것부터 꼭 운영체제 커널이나 그 안에 들어가는 것은 아니지만 다른 응용소프트웨어를 만드는 데 기반이 되는 기술들 거의 모두가 포함된다고 할 수 있을 것이다. 세부적으로는 high-performance networking, memory management, 기존 소프트웨어 시스템의 multi-core scaling, SSD와 같은 새로운 하드웨어를 위한 filesystem, debugging을 쉽게 하기 위한 구조 설계 등을 예로 들 수 있겠다. 요즘 뜨는 주제로는 cellphone (보통 사람들은 smartphone이라는 용어를 더 많이 쓰지만) 환경에서 동작하는 프로그램을 제작하기 위한 API나 밑단 시스템 설계 등도 있고, power management(전원 절약)나 data center 관리에 대한 이슈도 많다. 이미 desktop/server 가상화 기술은 어느 정도 전통적인 주제가 되었고, cellphone 가상화도 이미 1~2년 전에 관련 연구들이 발표되었다.
APSys 워크샵의 모델은 유럽 지역을 중심으로 하는 EuroSys 학회이다. 이름에서 알 수 있듯이 APSys는 아시아-태평양 지역을 중심으로 한다. 물론 그렇다고 유럽 사람들이 논문을 내지 못하게 막거나 하지는 않지만 워크샵 개최지가 주로 아시아 지역이라는 것 정도? 아시아 지역에서도 경제력, 교육열, 방대한 IT 인프라를 바탕으로 컴퓨터 시스템 연구가 많이 이뤄지고 있으므로 나중에는 워크샵을 학회로 발전시킬 수 있지 않을까 싶다.
이번 워크샵에 내가 발표한 논문 제목은 "The Power of Batching in the Click Modular Router"로, Click 라우터라는 네트워크 장비를 소프트웨어로 구현하기 위한 프레임워크를 multicore 시스템에서 어떤 테크닉들을 적용해야 그 성능을 끌어올릴 수 있을 것인가에 대한 연구다. 제목이 말해주듯이 batch processing (여러 개의 작은 데이터를 모아서 한꺼번에 일괄처리하는 것)이 가장 주된 포인트이고, 그 외에 최근의 10Gbps 이상급의 네트워크 카드들이 지원하는 multi-queue 지원이나 multi-processor 시스템을 위한 NUMA 아키텍처에 대한 고려 사항 등이 들어간다. 사실 그러한 성능 향상 아이디어들 자체는 다른 연구에서 소개된 것이기 때문에 새로 만들어낸 것은 Click의 packet processing element들에 batching을 적용한 것이 전부이다. 허나 내 연구의 의의는 Click의 성능을 좋게 하기 위해 이런저런 시도들이 있었지만, 현재의 multi-core PC hardware에서 Click의 성능을 끌어올리기 위해 필요한 것들을 집대성해서 정리했다는 점이다. 앞으로는 이러한 테크닉 적용 과정을 자동화하거나 아예 Click 프로젝트를 fork해서 기존 Click 기반 application들의 수정 없이 그대로 성능이 향상되게 만드는 것이 하나의 목표라 할 수 있겠다. (그리고 현재 진행 중인 GPU 기반 packet processing 프레임워크인 nShader와 합치는?!) 원래 석사 졸업논문으로 했던 내용이지만, 석사 논문은 워낙 급하게 번갯불에 콩 구워먹듯이 쓴 거라 writing이 영 아니기도 하고 교내 졸업논문 심사위원 3분을 제외하고 이 분야의 다른 대가들에 의한 review를 받지 않았기 때문에 중간 milestone을 찍는 의미로 워크샵 논문으로 발전시키게 된 것이다. 아직 ACM copyright transfer 문제가 마무리되지 않아서 논문을 일반에 공개할 수 없으나 공개가 가능해지면 링크를 걸 예정이다.
Staff로 일한 경험 또한 이번 워크샵에서 잊을 수 없는 일이다. 그만큼 힘들기도 했지만, 실제로 학회나 워크샵이 어떤 방식으로 운영되는지 가까이서 알 수 있었다는 점은 나름대로 연구자로서 의미 있는 일이었다. APSys 홈페이지 자체는 몇달 전부터 Django를 이용해 뚝딱 만들어놓은 상태였기 때문에, 원래 처음에는 정산 업무를 줄이고자 이틀 정도 시간을 투자해 결제시스템을 붙이고 VISA invitation letter 같은 것도 하루에 한 번 정도 모아서 처리하면 되겠지- 라는 생각에 큰 무리 없겠다 싶어 워크샵 등록 업무를 맡았다. 뭐 사실 연구실에서 도와줄 사람이 별로 없기도 했고. (시스템 팀으로 워크샵 기간까지 실질적으로 도움을 줄 수 있는 사람은 나밖에 없었고, 소셜네트워크 팀한테는 아무래도 관심분야의 워크샵이 아니니까...) 그러나 실제로 일을 해보니 여러가지 문제와 상황에 부딪히게 되었다. 이런 비슷한 업무를 이 글을 보는 사람 중에 누군가 할 일이 있을지는 모르겠으나, 개인적인 기록 차원에서 정리해보았다.
국제 워크샵인만큼 다양한 나라의 사람들이 오게 된다. 유럽이나 미국 국적의 사람이 한국에 일시 입국하는 경우는 대부분 비자가 필요 없기 때문에 신경쓸 게 없는데, 문제는 중국과 중동 출신 사람들이다. 중국인들의 경우 2012년 7월 현재 제주도의 관광목적 입국 시에만 한국 비자가 면제되고, 한국 본토에 입국할 때는 비자가 필요하다. 또한 중동 사람들도 비자가 필요하다. 이런 사람들이 학회참석을 목적으로 한국에 오려면 이른바 '초대장' (VISA invitation letter)를 받아야 하는데, 학회 주최측에서 다음과 같은 정보를 채워 담당자 싸인이나 직인을 찍어 직접 스캔해 보내주어야 한다. (간혹, 국제특급우편으로 원본을 부치는 걸 요구하는 경우도 있다)
처음에는 우리 연구실이 주최했었던 PAM 2009 학회에서 썼던 양식을 그대로 썼는데, 여행 비용 지원 기관에 대한 란이 없었다. 요즘 들어 비자 주는 게 더 까다로워졌는지 몇몇 사람들이 한국대사관에서 빠꾸를 먹는 바람에 다시 써주면서 이런 것도 필요하다는 것을 알게 되었다.
비자 심사와 발급에 다소 시간이 걸리기 때문에, VISA invitation letter는 적어도 입국 전 2주 전까지는 보내주는 것이 좋다. 이번에 중국에서 논문 저자 중 한명인 어떤 교수님은 결국 비자 심사가 통과가 안 되어 입국을 못하는 사태가 발생했고, travel grant 발표가 좀 늦게 나오는 바람에 인도에서 오는 어느 학생은 연구실과 내 개인 휴대전화번호까지 알아내어 빨리 처리해달라며 실시간으로 국제전화를 하기도 했다. 학회 전주 금요일 오후(현지시간으로 대사관 직원 퇴근하기 1시간 전쯤)에 인도대사관에서 전화가 걸려와서는 travel grant를 무슨 기준으로 뽑는 것인지 등등에 대해 상세히 설명해주어야 했다.;;
등록 개시를 학회 시작 6주 전쯤 시작했는데, 처음 4주 정도는 널널했으나 마지막 2주 정도는 끊임없는 메일 때문에 낮시간에는 연속적인 집중 시간확보가 불가능했다. 아래의 민원과 합쳐서, 학회 개최 직전까지 주고받는 메일이 쓰레드로는 200개, 개별 개수로는 600통쯤 되지 않았나 싶다. 준비하는 논문이 있는 대학원생이라면 등록 업무 맡지 않는 것이 가장 좋다. (애초에 대학원생이 할 일이 아니다--시간 여유가 된다면 한번쯤 학회가 어떻게 돌아가나 경험해보는 의미는 있다. 하지만 절대 연구에 도움이 되는 짓은 아님을 말해두고 싶다. 흠... 그래도 굳이 장점을 꼽는다면 chair들과 메일을 자주 주고받게 되므로 좀더 친해질 수 있다는 거?)
등록 업무 중에서도 가장 중요한 것은 역시 수금(收金)이랄 수 있겠다. 예전 PAM 2009 때는 온라인 해외결제가 불가능하여 외국인들을 일일이 카드번호를 FAX로 받아두었다가 나중에 현장에서 카드결제를 하는 방식을 이용했다. 하지만 등록과정이 불편하고, 개인정보에 민감한 사람들은 카드번호 제공을 거부하는 경우도 꽤 있다는 것이 문제다. 이번에는 정보과학회에서 온라인 결제 대행업체(이쪽 업계 용어로는 payment gateway의 약자로 PG社라고 주로 부르는 듯) 2곳과 계약이 되어있다고 하여 이를 이용하게 되었다. 각 업체의 특징은 아래와 같다.
A : Windows IE 기반의 ActiveX 플러그인만 제공하지만, 해외카드의 달러화 결제가 가능하다.
B : cross-browsing 결제를 지원하지만, 해외카드 결제를 지원하지 않는다. 우리쪽 서버에 SSL 연결이 지원되어야 한다.
해외등록자들의 결제 문제 해결이 주 목적이었으므로 A를 선택했다. 하지만 거기엔 많은 문제점이 도사리고 있었다. orz
*.kaist.ac.kr
도메인에 대한 SSL 인증서를 쓸 수 있음 좋겠다는 맥락과 마침 진행 중이던 연구실 서버 인증 통합 작업 맥락을 합쳐 썼던 내 트윗을 시발점으로 비공식적인(?) KAIST 내부 서버를 위한 SSL 인증서신청 서비스가 탄생하였다. (!)결론: 걍 다음부터는 (수수료 좀더 나오더라도) paypal 씁시다.
초반에는 VISA invitation letter 써주는 게 주를 이루지만, 후반으로 가면 별별 이메일이 다 날라온다. 대표적인 사례 몇 가지.
그래도 연구실 사무원님이 실제 장소·버스 등의 각종 예약업무와 지정 숙박장소와의 커뮤니케이션 등을 맡아 해주셔서 많은 도움이 되었지만, 현장 준비는 누군가 따로 챙겨야 했다. 학회 전주 중반이 다 지나도록 아무도 이야기를 안 꺼내길래 내가 준비목록 리스트를 부왘 적어서 메일로 보냈더니 그제사 급하게 사람들이 할당되어 움직이기 시작했다.
대학원에 들어온 후로 준비했던 논문들이 몇 개 있는데, 그 중에 석사졸업연구로 진행했던 "DoubleClick: Click modular router의 성능 향상에 관한 연구"를 얼마 전 APSYS에 submit하었고(물론 accept될지 안될지는 아직 모름) PacketShader의 후속 프로젝트로 진행한 nShader라는 network application을 위한 GPU/CPU task scheduling framework 연구가 있다. 원래는 이걸로 이번에 OSDI에 논문을 내려고 했지만 생각했던 대부분의 프로그램 구현과 실험을 거의 모두 했음에도 writing 미비로 제출하지 못하고 다음으로 미루어졌다.
몇 차례 연구를 진행하고 논문을 쓰다가 막판에 내지 못하는 상황을 겪으면서, 그 이유가 무엇일까 고민해보게 되었다.
한 가지는 아직 충분한 스토리라인을 만들기 위한 배경지식이 부족하다는 것을 꼽을 수 있겠다. 내가 전에도 적은 적이 있듯이, 석사생활을 되돌아보면서 가장 아쉬운 부분이 논문을 "좀더" 많이 읽지 못했다는 점이다. 논문을 하루에 한편씩만 꾸준히 읽어도 엄청난 자산이 되는데, 문제는 단순히 많이 읽는 것이 중요한 게 아니라 critical thinking을 하면서 읽어야 한다는 것이다. 그 과정에 익숙해지기까지는 논문을 읽는 데 시간이 많이 걸린다. 이 부분은 요즘에 와서야 좀 감이 오는 것 같다. 논문을 읽으면 예전엔 그냥 '우왕 그렇구나'하고 설득당했는데(...) 요새는 '이러이러한 방법도 있는데 왜 안 썼지?', '이 대상에 이 방법을 적용하는 것보단 다른 방법이 나을 것 같은데 왜 이렇게 했지?', '이 문제를 풀 땐 이게 어려운 점일 것 같은데 제대로 설명하고 있나?', '이 방법을 다른 대상에 적용해보면 어떨까?' 등등의 질문을 던지게 되었다.
논문을 많이 못 읽었던 이유는 뭐랄까, 여유가 없었던 것 같다. 일단 교수님이 이런 문제 한번 들여다보자 하고 던져준 것으로 시작했는데---처음이니까 일단은 연구하는 방법을 배운다는 생각으로---실제 그 문제를 제대로 들여다보기까지 문서화되지 않은, 선배들이 했던 삽질을 또 하느라 허비한 시간이 너무 많았다. 이건 단순히 선배들을 탓할 수만도 없는 것이, 무엇을 모르는지 정확히 알아야 선배들한테 질문을 할 수 있을 텐데 어떤 문제에 맞닥뜨렸을 때 질문을 할 것인지 아니면 혼자서 더 살펴볼 것인지 선택하는 기준(?)에 대해 깨닫는 시간이 오래 걸렸다고 보는 것이 맞을 것이다. 사실 최광무 교수님의 표현을 빌리자면, 무엇을 모르는지 아는 것이 학생의 첫걸음이라고 했다. 수업이나 조교하는 오버헤드도 있었지만 이건 누구나 공통적으로 하는 일이니까 나만 힘들었다고 말할 수 없겠다.
그래도 다행히 석사졸업을 무사히 할 수 있었던 건, 그러다가 막판에 선택과 집중에 성공했기 때문이다. 졸업논문 데드라인 한달 남겨놓고 연구의 범위를 확 좁혀들어가니 논문의 스토리라인이 명확해지고 해야 할 일도 명확해지고 그 전까지 했던 삽질 노하우를 모두 활용하게 되면서 순식간에 논문을 써낼 수 있었던 것이다. 물론 지금 다시 석사논문 읽어보면.... 음... 이건 흑역사다. ㅋㅋ
요번에 APSYS 논문 제출하고 나서 출장가신 교수님과 영국에 있는 건이형과 함께 Skype 채팅으로 잠깐의 회고를 진행했다. '그래도 이번엔 submit은 할 수 있는 정도의 수준는 되었는데, 그래도 여전히 부족한 건 어떻게 보완할 수 있을까?' 그리고 OSDI 논문이 불발되고 나면서 다시 건이형과 회고한 내용도 같은 맥락이다. 그 내용을 기억해두기 위해 글로 정리해본다.
지금까지의 경험과 선배들의 조언을 종합해보면, 좋은 (공학) 논문은 다음의 조건을 만족해야 한다:
그러니까 나는 2번, 3번에만 집중하고(물론 이것도 아직은 구멍이 여기저기 많지만) 1번과 4번을 제대로 못했던 것이다. 5번은 약간의 운도 따라야 하는 부분이고 1번과 4번을 잘 하면 해결되는 부분이기도 해서 여기선 논외로 한다.
교수님의 코멘트는, 내 writing이 일단 내 생각을 비비 꼬지 않고 있는 그대로 잘 보여준다는 점은 괜찮은데, 생각이 너무 단순하다는 것. '그래서 무엇을 하겠다는 건지' 어떤 vision과 통찰이 보이지 않는다는 것이다. 그러면서 나보고 소설(...)을 좀 읽고 상상력을 키우면 어떨까라는 제안을 하시기도 했다;; 복잡미묘한 스토리라인과 플롯이 전개되는 과정을 보라는 뜻이셨을까. (그래도 다행인 건 내 writing이 무슨 소린지는 전달이 된다는 점. -_-) 뭐, 내 해석은, 그렇다고 정말 논문을 소설처럼 쓰라는 뜻이 아니라, 이른바 '큰 그림'을 좀더 설득력있게 전달하는 연습을 해야 한다는 것으로 이해했다.
건이형의 코멘트 및 해석은, 좀더 깊이있게 생각하는 연습을 해보라는 것이다. 일단 글로 써놓고 고쳐나가는 것도 한 방법일 수 있지만, 먼저 머릿속에서 논리의 흐름을 정리한 다음 이걸 교수님이나 다른 사람들에게 말로 설명하고 피드백받는 과정을 많이 거쳐야 한다는 것. 그러다보면 교수님이 구멍이 있는 부분을 잡아내고 그걸 메꾸려다보면 자연스럽게 다른 논문도 찾아보고 스스로 고민하게 되면서 스토리라인을 잡아나가게 된다는 것이다. 이를 반복하다보면 좀더 효율적인 의사소통을 위해 그동안 쌓인 배경지식을 바탕으로 머릿속에서 미리 '시뮬레이션'을 돌려보게 되고 그게 익숙해지면 더 생산적인 대화를 할 수 있다는 것. 그러면서 자기가 Microsoft Research에 포닥으로 가서 두달째 하고 있는 일이 그러한 토론만 주구장창하는 거라면서, 내가 지금까지는 일단 연구를 시작해놓고 논문 데드라인 닥쳐서 스토리라인을 만들려다보니 시간도 없고 급하게 하느라 힘든 것인데 일단 구현부터 하고 보는 bottom-up 방식으로 예상치 못한 새로운 발견이 나올 수도 있지만 top-down으로 많은 토론을 거쳐서 주제를 잡아야 나중에 논문 쓸 때 스토리라인이 균형있게 잘 잡힌다고 이야기해주었다.
생각해보면, 석사 때 PacketShader 프로젝트에 참여하기 시작한 것 자체가 "내가 이 주제가 정말 재미있는지는 아직 감이 안 잡혀서 모르겠지만, 일단 대충 관심분야는 맞으니 우선 부딪혀보면서 연구하는 방법을 배우고 경험을 쌓자"라는 것이었지, 내가 어떤 문제를 풀어야겠다고 생각하고 그걸 왜 풀어야 하는지 어떻게 풀고 싶은 것인지가 있는 게 아니었다. 따라서 이런 관점에서 교수님을 설득하려고 시도해보지 않았던 것이다(!). 약간은 닭과 달걀의 관계도 있는 게, 그래도 뭔가 방법을 만들어갔고 이걸 이런 과정을 거쳐서 설득하려고 했으면 좀더 유익한 피드백을 받고 이런 깨달음에 더 빨리 도달하지 않았을까 싶기도 하다. 어쨌든, 교수님조차 설득하지 않는데 어떻게 좋은 스토리라인이 나오며 어떻게 좋은 논문을 쓰리요. ㅠ_ㅠ 그걸 처음 제대로 시도(?)한 게 졸업논문(DoubleClick)과 글로벌박사펠로우십 연구제안서인 것 같다. 곰곰이 되짚어보면, 교수님들이 미팅 때 '그건 왜 그렇게 하는 거지?'라는 질문을 가끔(?) 던지셨던 것 같기는 한데, 그냥 '어떻게' 하는지만 생각하고 대답하기도 바빠서(?) 간과했던 적이 많았다. 앞으로는 교수님을 설득하는 연습부터 시작해야 할 듯.
문득 예전에 보았던 글이 떠오른다. "You are the expert, not your professor." 찾아보니 이런 발표 자료도 있다: "Managing your supervisor"
페이스북에 한 친구가 최근 이슈가 되고 있는 강정마을 사태에 대해 글을 쓴 걸 보고 나도 안 그래도 생각을 한번 정리해야겠다 싶어서 짬을 내어 글을 써본다.
뭐, 여러 관점에서 이 사건을 바라볼 수 있을 텐데, 우선 나는 근본적으로 아래와 같이 이 문제에 접근해야 한다고 생각한다. 만약에 내가 대통령이나 국방장관 쯤 되는 위치에 있다면, 아랫사람들에게 이런 질문을 던져주고 나를 설득시켜보라고 했을 것 같다.
제주도 해군기지의 필요성에 대해서는 이미 전 정권에서 논의가 이루어졌고, 실질적인 일 추진은 현 정권에 들어와서 진행되고 있다. 꽤 오랜 시간 추진되어온 일이기 때문에, 위와 같은 질문들에 대해서 정부의 누군가는 나름대로의 답을 가지고 있을 것이다. 그 사람들에게 내가 물어보고 싶은 건 이렇다.
해군기지 건설에 반대하는 사람들에게 물어보고 싶은 것들도 있다.
한편으로 드는 생각은 군사기지 건설이기 때문에 처음 논의과정은 비공개로 해야 할 필요가 있었을 수도 있겠다는 것이다. 하지만 제주도와 같은 장소에 군사기지를 만든다면 필연적으로 민간인들에게 노출이 될 수밖에 없고, 그렇다면 해군기지 자체의 필요성이 합의된 이후 장소와 시기를 결정할 때는 충분한 공개적인 의견 수렴 과정을 거쳤어야 하지 않을까? 그리고 무엇보다, 의견수렴 과정에서 반대의견이 나왔고 그것이 충분히 인정된다면 계획을 수정하거나 취소하는 것도 가능해야 하는데 그런 '여유'가 전혀 보이지 않는다. 또한, 반대의견을 내는 사람들도 정말로 그 반대의견이 얼마나 타당한지 충분히 논리적으로 설득하고 있지 못한 것 같다.
과연 강정마을 해군기지의 전말이 후대에는 어떻게 기록될까 궁금하다.
ps. 나는 개인적으로, 군사전문가들이 올바로 판단해서 해군기지가 필요하다고 결정된 것이 사실이라는 전제 하에, 해군기지 건설 자체는 찬성한다. 그것이 전 정권에서의 일이었든 현 정권에서의 일이었든 상관 없이. 하지만 지금 돌아가는 상황을 보면 건설 추진하는 사람들도 답답하고 그거 반대하는 사람들도 답답하다. 이를 어찌해야 좋을꼬. 나도 뭔가 이상하다고 느끼지만 정보와 배경지식이 부족하니 뭐라고 판단하기가 어렵다.