<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
	<channel>
		<title>아침놀 Blog</title>
		<link>http://daybreaker.info/blog/</link>
		<description>Daybreakin Things</description>
		<language>ko</language>
		<pubDate>Thu, 24 May 2012 09:03:01 +0900</pubDate>
		<generator>Textcube 1.8.6 : Accelerando</generator>
		<image>
		<title>아침놀 Blog</title>
		<url>http://daybreaker.info/blog/attach/1/1178886377.jpg</url>
		<link>http://daybreaker.info/blog/</link>
		<width>160</width>
		<height>160</height>
		<description>Daybreakin Things</description>
		</image>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/daybreaker/blog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="daybreaker/blog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
			<title>Research</title>
			<link>http://daybreaker.info/blog/entry/Research</link>
			<description>&lt;p&gt;대학원에 들어온 후로 준비했던 논문들이 몇 개 있는데, 그 중에 석사졸업연구로 진행했던 &amp;#8220;DoubleClick: Click modular router의 성능 향상에 관한 연구&amp;#8221;를 얼마 전 &lt;a href="http://apsys2012.kaist.ac.kr"&gt;APSYS&lt;/a&gt;에 submit하었고(물론 accept될지 안될지는 아직 모름) PacketShader의 후속 프로젝트로 진행한 nShader라는 network application을 위한 GPU/CPU task scheduling framework 연구가 있다. 원래는 이걸로 이번에 &lt;a href="http://static.usenix.org/events/osdi12/index.html"&gt;OSDI&lt;/a&gt;에 논문을 내려고 했지만 생각했던 대부분의 프로그램 구현과 실험을 거의 모두 했음에도 writing 미비로 제출하지 못하고 다음으로 미루어졌다.&lt;/p&gt;

&lt;p&gt;몇 차례 연구를 진행하고 논문을 쓰다가 막판에 내지 못하는 상황을 겪으면서, 그 이유가 무엇일까 고민해보게 되었다.&lt;/p&gt;

&lt;p&gt;한 가지는 아직 충분한 스토리라인을 만들기 위한 배경지식이 부족하다는 것을 꼽을 수 있겠다.
내가 전에도 적은 적이 있듯이, 석사생활을  되돌아보면서 가장 아쉬운 부분이 논문을 &amp;#8220;좀더&amp;#8221; 많이 읽지 못했다는 점이다. 논문을 하루에 한편씩만 꾸준히 읽어도 엄청난 자산이 되는데, 문제는 단순히 많이 읽는 것이 중요한 게 아니라 critical thinking을 하면서 읽어야 한다는 것이다. 그 과정에 익숙해지기까지는 논문을 읽는 데 시간이 많이 걸린다. 이 부분은 요즘에 와서야 좀 감이 오는 것 같다. 논문을 읽으면 예전엔 그냥 &amp;#8216;우왕 그렇구나&amp;#8217;하고 설득당했는데(&amp;#8230;) 요새는 &amp;#8216;이러이러한 방법도 있는데 왜 안 썼지?&amp;#8217;, &amp;#8216;이 대상에 이 방법을 적용하는 것보단 다른 방법이 나을 것 같은데 왜 이렇게 했지?&amp;#8217;, &amp;#8216;이 문제를 풀 땐 이게 어려운 점일 것 같은데 제대로 설명하고 있나?&amp;#8217;, &amp;#8216;이 방법을 다른 대상에 적용해보면 어떨까?&amp;#8217; 등등의 질문을 던지게 되었다.&lt;/p&gt;

&lt;p&gt;논문을 많이 못 읽었던 이유는 뭐랄까, 여유가 없었던 것 같다. 일단 교수님이 이런 문제 한번 들여다보자 하고 던져준 것으로 시작했는데&amp;#8212;처음이니까 일단은 연구하는 방법을 배운다는 생각으로&amp;#8212;실제 그 문제를 제대로 들여다보기까지 문서화되지 않은, 선배들이 했던 삽질을 또 하느라 허비한 시간이 너무 많았다. 이건 단순히 선배들을 탓할 수만도 없는 것이, 무엇을 모르는지 정확히 알아야 선배들한테 질문을 할 수 있을 텐데 어떤 문제에 맞닥뜨렸을 때 질문을 할 것인지 아니면 혼자서 더 살펴볼 것인지 선택하는 기준(?)에 대해 깨닫는 시간이 오래 걸렸다고 보는 것이 맞을 것이다. 사실 최광무 교수님의 표현을 빌리자면, 무엇을 모르는지 아는 것이 학생의 첫걸음이라고 했다. 수업이나 조교하는 오버헤드도 있었지만 이건 누구나 공통적으로 하는 일이니까 나만 힘들었다고 말할 수 없겠다.&lt;/p&gt;

&lt;p&gt;그래도 다행히 석사졸업을 무사히 할 수 있었던 건, 그러다가 막판에 선택과 집중에 성공했기 때문이다. 졸업논문 데드라인 한달 남겨놓고 연구의 범위를 확 좁혀들어가니 논문의 스토리라인이 명확해지고 해야 할 일도 명확해지고 그 전까지 했던 삽질 노하우를 모두 활용하게 되면서 순식간에 논문을 써낼 수 있었던 것이다. 물론 지금 다시 석사논문 읽어보면&amp;#8230;. 음&amp;#8230; 이건 흑역사다. ㅋㅋ&lt;/p&gt;

&lt;p&gt;요번에 APSYS 논문 제출하고 나서 출장가신 교수님과 영국에 있는 건이형과 함께 Skype 채팅으로 잠깐의 회고를 진행했다. &amp;#8216;그래도 이번엔 submit은 할 수 있는 정도의 수준는 되었는데, 그래도 여전히 부족한 건 어떻게 보완할 수 있을까?&amp;#8217; 그리고 OSDI 논문이 불발되고 나면서 다시 건이형과 회고한 내용도 같은 맥락이다. 그 내용을 기억해두기 위해 글로 정리해본다.&lt;/p&gt;

&lt;p&gt;지금까지의 경험과 선배들의 조언을 종합해보면, 좋은 (공학) 논문은 다음의 조건을 만족해야 한다:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;어떤 문제를 왜 풀어야 하는지 설득한다.&lt;/li&gt;
&lt;li&gt;그 문제를 내가 어떻게 풀었는지 이해시킨다.&lt;/li&gt;
&lt;li&gt;그렇게 푼 방법이 타당함을 누구나 인정할 수 있는 과학적인 방법으로(실험이나 수학적 증명 등) 보여준다.&lt;/li&gt;
&lt;li&gt;다른 사람들의 관련 연구와 비교했을 때 내 방법이 가지는 차별점이 무엇인지 명확하게 알려준다.&lt;/li&gt;
&lt;li&gt;이를 다른 연구자들이 같은/비슷한 문제들을 궁금해할만한 적절한 타이밍에 맞춰서 학회에 발표한다.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;그러니까 나는 2번, 3번에만 집중하고(물론 이것도 아직은 구멍이 여기저기 많지만) 1번과 4번을 제대로 못했던 것이다. 5번은 약간의 운도 따라야 하는 부분이고 1번과 4번을 잘 하면 해결되는 부분이기도 해서 여기선 논외로 한다.&lt;/p&gt;

&lt;p&gt;교수님의 코멘트는, 내 writing이 일단 내 생각을 비비 꼬지 않고 있는 그대로 잘 보여준다는 점은 괜찮은데, 생각이 너무 단순하다는 것. &amp;#8216;그래서 무엇을 하겠다는 건지&amp;#8217; 어떤 vision과 통찰이 보이지 않는다는 것이다. 그러면서 나보고 소설(&amp;#8230;)을 좀 읽고 상상력을 키우면 어떨까라는 제안을 하시기도 했다;; 복잡미묘한 스토리라인과 플롯이 전개되는 과정을 보라는 뜻이셨을까. (그래도 다행인 건 내 writing이 무슨 소린지는 전달이 된다는 점. -_-) 뭐, 내 해석은, 그렇다고 정말 논문을 소설처럼 쓰라는 뜻이 아니라, 이른바 &amp;#8216;큰 그림&amp;#8217;을 좀더 설득력있게 전달하는 연습을 해야 한다는 것으로 이해했다.&lt;/p&gt;

&lt;p&gt;건이형의 코멘트 및 해석은, 좀더 깊이있게 생각하는 연습을 해보라는 것이다. 일단 글로 써놓고 고쳐나가는 것도 한 방법일 수 있지만, 먼저 머릿속에서 논리의 흐름을 정리한 다음 이걸 교수님이나 다른 사람들에게 말로 설명하고 피드백받는 과정을 많이 거쳐야 한다는 것. 그러다보면 교수님이 구멍이 있는 부분을 잡아내고 그걸 메꾸려다보면 자연스럽게 다른 논문도 찾아보고 스스로 고민하게 되면서 스토리라인을 잡아나가게 된다는 것이다. 이를 반복하다보면 좀더 효율적인 의사소통을 위해 그동안 쌓인 배경지식을 바탕으로 머릿속에서 미리 &amp;#8216;시뮬레이션&amp;#8217;을 돌려보게 되고 그게 익숙해지면 더 생산적인 대화를 할 수 있다는 것. 그러면서 자기가 Microsoft Research에 포닥으로 가서 두달째 하고 있는 일이 그러한 토론만 주구장창하는 거라면서, 내가 지금까지는 일단 연구를 시작해놓고 논문 데드라인 닥쳐서 스토리라인을 만들려다보니 시간도 없고 급하게 하느라 힘든 것인데 일단 구현부터 하고 보는 bottom-up 방식으로 예상치 못한 새로운 발견이 나올 수도 있지만 top-down으로 많은 토론을 거쳐서 주제를 잡아야 나중에 논문 쓸 때 스토리라인이 균형있게 잘 잡힌다고 이야기해주었다.&lt;/p&gt;

&lt;p&gt;생각해보면, 석사 때 PacketShader 프로젝트에 참여하기 시작한 것 자체가 &amp;#8220;내가 이 주제가 정말 재미있는지는 아직 감이 안 잡혀서 모르겠지만, 일단 대충 관심분야는 맞으니 우선 부딪혀보면서 연구하는 방법을 배우고 경험을 쌓자&amp;#8221;라는 것이었지, 내가 어떤 문제를 풀어야겠다고 생각하고 그걸 왜 풀어야 하는지 어떻게 풀고 싶은 것인지가 있는 게 아니었다. 따라서 이런 관점에서 교수님을 설득하려고 시도해보지 않았던 것이다(!). 약간은 닭과 달걀의 관계도 있는 게, 그래도 뭔가 방법을 만들어갔고 이걸 이런 과정을 거쳐서 설득하려고 했으면 좀더 유익한 피드백을 받고 이런 깨달음에 더 빨리 도달하지 않았을까 싶기도 하다. 어쨌든, 교수님조차 설득하지 않는데 어떻게 좋은 스토리라인이 나오며 어떻게 좋은 논문을 쓰리요. ㅠ_ㅠ 그걸 처음 제대로 시도(?)한 게 졸업논문(DoubleClick)과 글로벌박사펠로우십 연구제안서인 것 같다. 곰곰이 되짚어보면, 교수님들이 미팅 때 &amp;#8216;그건 왜 그렇게 하는 거지?&amp;#8217;라는 질문을 가끔(?) 던지셨던 것 같기는 한데, 그냥 &amp;#8216;어떻게&amp;#8217; 하는지만 생각하고 대답하기도 바빠서(?) 간과했던 적이 많았다.
앞으로는 교수님을 설득하는 연습부터 시작해야 할 듯.&lt;/p&gt;

&lt;p&gt;문득 예전에 보았던 글이 떠오른다. &lt;a href="http://juliopeironcely.com/archives/phd-tip-you-are-the-expert-not-your-professor.html"&gt;&amp;#8220;You are the expert, not your professor.&amp;#8221;&lt;/a&gt; 찾아보니 이런 발표 자료도 있다: &lt;a href="http://www.cse.unsw.edu.au/~tw/manage.pdf"&gt;&amp;#8220;Managing your supervisor&amp;#8221;&lt;/a&gt;&lt;/p&gt;
&lt;iframe src="http://www.facebook.com/plugins/like.php?locale=ko_KR&amp;amp;href=http%3A%2F%2Fdaybreaker.info%2Fblog%2Fentry%2F&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=550&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow=hidden; width:550px; height:26px; margin-top:10px; margin-left:5px"&gt;&lt;/iframe&gt;&lt;script type="text/javascript" src="http://tweetmix.net/js/widgetV2.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;if(("TMXW" in window)) { new TMXW.Widget({"shape":"default","target_url":"http://daybreaker.info/blog/entry/","widget_title":"\uc774 \uae00\uacfc \uc5f0\uad00\ub41c \ud2b8\uc717","default_msg":"","width":"550","height":"450","color_upper_back":"93C9E6","color_upper_text":"FFFFFF","color_tweet_back":"FFFFFF","color_border":"EBEBEB","color_text":"888888","color_link":"2ABBD4","widget_type":"1","btn_type":"1","max_messages":"10","is_show_avatar":"1"}).render().start();} &lt;/script&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://daybreaker.info/blog/entry/Research?commentInput=true#entry1077WriteComment"&gt;댓글 쓰기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
			<category>모두</category>
			<author>me@daybreaker.info (daybreaker)</author>
			<guid>http://daybreaker.info/blog/1077</guid>
			<comments>http://daybreaker.info/blog/entry/Research#entry1077comment</comments>
			<pubDate>Fri, 04 May 2012 04:39:20 +0900</pubDate>
		</item>
		<item>
			<title>제주 강정마을 사태를 보면서</title>
			<link>http://daybreaker.info/blog/entry/%EC%A0%9C%EC%A3%BC-%EA%B0%95%EC%A0%95%EB%A7%88%EC%9D%84-%EC%82%AC%ED%83%9C%EB%A5%BC-%EB%B3%B4%EB%A9%B4%EC%84%9C</link>
			<description>&lt;p&gt;페이스북에 한 친구가 최근 이슈가 되고 있는 강정마을 사태에 대해 글을 쓴 걸 보고 나도 안 그래도 생각을 한번 정리해야겠다 싶어서 짬을 내어 글을 써본다.&lt;/p&gt;

&lt;p&gt;뭐, 여러 관점에서 이 사건을 바라볼 수 있을 텐데, 우선 나는 근본적으로 아래와 같이 이 문제에 접근해야 한다고 생각한다. 만약에 내가 대통령이나 국방장관 쯤 되는 위치에 있다면, 아랫사람들에게 이런 질문을 던져주고 나를 설득시켜보라고 했을 것 같다.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;해군기지가 꼭 필요한가?

&lt;ul&gt;
&lt;li&gt;어떤 문제를 풀기 위한 수단인가? 그 문제가 얼마나 중요한가?&lt;/li&gt;
&lt;li&gt;해군기지를 짓지 않고 다른 방법으로(예: 해군함정을 더 건조한다든지) 해결할 수 있는 문제인가?&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;해군기지가 필요하다면, 꼭 지금 거기(강정마을)에 지어야 하는가?

&lt;ul&gt;
&lt;li&gt;다른 장소 또는 다른 시기에 짓는 것이 더 최적의 방법일 수 있는가?&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;지금 거기에 해군기지를 지어야 한다면, 어떻게 해야 상충되는 이해관계를 조정할 수 있을 것인가?

&lt;ul&gt;
&lt;li&gt;해군기지의 목적을 충실히 달성하기 위한 건설조건 + 주민들의 생활터전 확보 및 사유재산 보상 문제 + 자연보존이라는 3가지 목표를 함께 달성하기 위한 중간의 타협지점이 어디인가?&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;제주도 해군기지의 필요성에 대해서는 이미 전 정권에서 논의가 이루어졌고, 실질적인 일 추진은 현 정권에 들어와서 진행되고 있다. 꽤 오랜 시간 추진되어온 일이기 때문에, 위와 같은 질문들에 대해서 정부의 누군가는 나름대로의 답을 가지고 있을 것이다. 그 사람들에게 내가 물어보고 싶은 건 이렇다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;어떠한 과정을 거쳐 지금 거기에 지어야 한다고 의사결정이 이루어졌는가?

&lt;ul&gt;
&lt;li&gt;의도적으로 누군가(정부요인, 정치인, 또는 건설에 참여하는 기업들)의 이득을 바라고 진행된 부분은 없는가?&lt;/li&gt;
&lt;li&gt;동북아 정세와 군비경쟁 등을 고려할 때 해군기지 건설이 정말 가장 적은 비용으로 최대의 국방 강화 효과를 누릴 수 있는 방법인가?&lt;/li&gt;
&lt;li&gt;추진과정에 필요한 모든 절차(의견수렴, 환경영향평가 등)를 빠짐없이 충실하게 따랐는가?&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;해군기지 건설에 반대하는 사람들에게 물어보고 싶은 것들도 있다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;꽤 오랫동안 진행되어온 일인데, 언제부터 이 해군기지 건설계획에 대한 정보가 공개적으로 알려졌으며 언제부터 그에 대해 이의제기를 해왔는가?

&lt;ul&gt;
&lt;li&gt;충분한 노력을 기울여 반대의견을 피력했는가?&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;해군기지 건설에 대한 대안은 무엇인가? (해군함정을 더 만든다거나 등)

&lt;ul&gt;
&lt;li&gt;해군기지의 필요성 자체에 동의할 경우, 제주도 강정마을 말고 어디가 최적이라고 생각하는가?&lt;/li&gt;
&lt;li&gt;당장 장소 대안은 없더라도, 강정마을 자연이 보존가치가 높기 때문에 일단 거기에 지으면 안 된다고 주장한다면, 보존가치에 대한 구체적인 근거는 무엇인가?&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;정부가 어쨌든 공사를 강행하고 있는 이 상황에서, 물리적인 진입과 시위 및 감정적인 호소 말고 냉철하게 생각했을 때 진행을 중단할 수 있는 최선의 수단은 무엇인가?

&lt;ul&gt;
&lt;li&gt;반대하는 사람들을 결집시키기 위해 필요한 것이라 주장할 수도 있지만, 크게 찬성/반대 의견이 없던 사람들이 보기에는 오히려 역효과가 날 수 있는 부분도 많고 정치인들이 이걸 기회로 편가르기한다는 느낌도 많이 나는데 접근방법을 달리할 수는 없는 것인가?&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;한편으로 드는 생각은 군사기지 건설이기 때문에 처음 논의과정은 비공개로 해야 할 필요가 있었을 수도 있겠다는 것이다. 하지만 제주도와 같은 장소에 군사기지를 만든다면 필연적으로 민간인들에게 노출이 될 수밖에 없고, 그렇다면 해군기지 자체의 필요성이 합의된 이후 장소와 시기를 결정할 때는 충분한 공개적인 의견 수렴 과정을 거쳤어야 하지 않을까? 그리고 무엇보다, 의견수렴 과정에서 반대의견이 나왔고 그것이 충분히 인정된다면 계획을 수정하거나 취소하는 것도 가능해야 하는데 그런 &amp;#8216;여유&amp;#8217;가 전혀 보이지 않는다. 또한, 반대의견을 내는 사람들도 정말로 그 반대의견이 얼마나 타당한지 충분히 논리적으로 설득하고 있지 못한 것 같다.&lt;/p&gt;

&lt;p&gt;과연 강정마을 해군기지의 전말이 후대에는 어떻게 기록될까 궁금하다.&lt;/p&gt;

&lt;p&gt;ps. 나는 개인적으로, 군사전문가들이 올바로 판단해서 해군기지가 필요하다고 결정된 것이 사실이라는 전제 하에, 해군기지 건설 자체는 찬성한다. 그것이 전 정권에서의 일이었든 현 정권에서의 일이었든 상관 없이. 하지만 지금 돌아가는 상황을 보면 건설 추진하는 사람들도 답답하고 그거 반대하는 사람들도 답답하다. 이를 어찌해야 좋을꼬. 나도 뭔가 이상하다고 느끼지만 정보와 배경지식이 부족하니 뭐라고 판단하기가 어렵다.&lt;/p&gt;
&lt;iframe src="http://www.facebook.com/plugins/like.php?locale=ko_KR&amp;amp;href=http%3A%2F%2Fdaybreaker.info%2Fblog%2Fentry%2F&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=550&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow=hidden; width:550px; height:26px; margin-top:10px; margin-left:5px"&gt;&lt;/iframe&gt;&lt;script type="text/javascript" src="http://tweetmix.net/js/widgetV2.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;if(("TMXW" in window)) { new TMXW.Widget({"shape":"default","target_url":"http://daybreaker.info/blog/entry/","widget_title":"\uc774 \uae00\uacfc \uc5f0\uad00\ub41c \ud2b8\uc717","default_msg":"","width":"550","height":"450","color_upper_back":"93C9E6","color_upper_text":"FFFFFF","color_tweet_back":"FFFFFF","color_border":"EBEBEB","color_text":"888888","color_link":"2ABBD4","widget_type":"1","btn_type":"1","max_messages":"10","is_show_avatar":"1"}).render().start();} &lt;/script&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://daybreaker.info/blog/entry/%EC%A0%9C%EC%A3%BC-%EA%B0%95%EC%A0%95%EB%A7%88%EC%9D%84-%EC%82%AC%ED%83%9C%EB%A5%BC-%EB%B3%B4%EB%A9%B4%EC%84%9C?commentInput=true#entry1080WriteComment"&gt;댓글 쓰기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
			<category>살아가기, 생각하기</category>
			<category>강정마을</category>
			<category>군사</category>
			<category>논란</category>
			<category>사건</category>
			<category>사태</category>
			<category>정치</category>
			<category>제주도</category>
			<category>해군기지</category>
			<author>me@daybreaker.info (daybreaker)</author>
			<guid>http://daybreaker.info/blog/1080</guid>
			<comments>http://daybreaker.info/blog/entry/%EC%A0%9C%EC%A3%BC-%EA%B0%95%EC%A0%95%EB%A7%88%EC%9D%84-%EC%82%AC%ED%83%9C%EB%A5%BC-%EB%B3%B4%EB%A9%B4%EC%84%9C#entry1080comment</comments>
			<pubDate>Fri, 09 Mar 2012 03:55:50 +0900</pubDate>
		</item>
		<item>
			<title>2011년 회고</title>
			<link>http://daybreaker.info/blog/entry/2011%EB%85%84-%ED%9A%8C%EA%B3%A0</link>
			<description>&lt;p&gt;이번 주에는 석사논문 마무리와 연구실 서버실 재정비 작업으로 인해 12월 31일 당일이 되어서야 다시 집에 왔다. 올 한해는 심리적으로 참 힘든 시기를 보냈지만 또 그만큼 얻은 것들도 많다는 생각이 든다. 한해 해왔던 주요 일들을 정리해본다.&lt;/p&gt;

&lt;p style="text-align:center; color:#aaa"&gt;*&lt;/p&gt;

&lt;h2&gt;석사 연구 - &amp;#8220;DoubleClick: Boosting the performance of Click modular router&amp;#8221;&lt;/h2&gt;

&lt;p&gt;내가 석사과정 동안 해온 연구는 고성능 소프트웨어 라우터에 관한 것이다.&lt;/p&gt;

&lt;p&gt;라우터는 인터넷에서 사용되는 데이터 전송 단위인 패킷(packet)들을 각 패킷에 쓰여진 목적지 IP 주소를 보고 어디로 보낼지 결정하는 역할을 하는 장비이다. 전세계에 깔린 인터넷망에 골고루 접속하기 위해 가장 핵심적인 역할을 담당하는 셈이다. 이 라우터를 만드는 방법엔 여러가지가 있는데, IP 주소를 보고 목적지 정보를 가져오는 연산 하나에 엄청나게 최적화된 전용 하드웨어 칩(content addressable memory)을 이용하는 방법이 있고(대부분의 상업용 라우터는 이런 칩들을 사용한다) 소프트웨어 라우터처럼 범용 PC 기반의 소프트웨어만으로 구현되는 종류도 있다. 후자의 경우 손쉽게 기능을 바꾸거나 추가할 수 있기 때문에, 전통적인 TCP/IP가 아닌 새로운 종류의 네트워크 프로토콜을 연구한다든지 혹은 IDS(침입 탐지 시스템)나 방화벽 같이 복잡한 규칙을 구현해야 할 때 많이 사용한다.&lt;/p&gt;

&lt;p&gt;하지만 소프트웨어 라우터의 가장 큰 문제는, 성능이 낮다는 점이다. Linux를 써서 &amp;#8220;그냥&amp;#8221; 구현하면, 아무리 i7급의 최신 쿼드코어 CPU를 박아도 10 Gbps의 트래픽을 처리하기가 버겁다. 일반 가정에서야 100M 광랜 정도면 충분하지만, 인터넷망의 근간을 구성하는 라우터는 100 Gbps는 보통이고 심지어 Tbps 급 장비도 존재하는 세상이다. 방화벽의 경우 기업 데이터센터의 관문(gateway)으로 설치하는 경우도 있기 때문에 수십 Gbps 정도는 거뜬히 처리할 수 있어야 한다. 그래서 우리 &lt;a href="http://shader.kaist.edu/packetshader/"&gt;연구실 선배들이 했던 일&lt;/a&gt;은, Linux에 들어가는 10 Gbps급 랜카드 드라이버를 최적화하고 패킷 처리 연산 중 복잡한 부분을 CPU가 아닌 GPU에 맡김으로써 일반 PC로도 40 Gbps 이상의 성능을 낼 수 있음을 보인 것이다. 국내에는 많이 알려지지 않았지만, 네트워크나 시스템 분야의 해외 학회에서는 PacketShader라고 하면 꽤 유명하다.&lt;/p&gt;

&lt;p&gt;내가 한(…이라기보다 하려고 했던…) 일은 PacketShader 플랫폼이 한 번에 한 종류의 패킷 처리 연산(IPv4/IPv6 routing, IPsec encryption 등)만 돌리도록 최적화된 것을 여러 종류의 패킷 처리를 동시에 같이 할 수 있도록 만드는 것이다. 실제 PacketShader에 손을 대기 시작한 건 작년 여름부터인데, 처음 6개월 동안은 &amp;#8220;PacketShader를 실제로 다른 사람들이 써볼 수 있는 것으로 만든다&amp;#8221;는 것을 목표로 control plane이라고 해서 라우팅 테이블(IP 주소와 목적지를 연결시켜주는 정보) 관리하는 기능을 구현하려고 했다. 그러다가 올해 초 방향을 바꿔 여러 패킷 처리 연산을 동시에 돌릴 수 있게 하는 것을 목표로 삼았다. 그래서 가을까지 내내 그걸 구현하려고 삽질했는데, 졸업논문 데드라인 3주 전이 되어서야(!) PacketShader 기반으로 구조를 바꾸기보다는 차라리 이미 modular archiecture가 잘 구현되어 있는(그러나 성능은 낮은) Click modular router의 성능을 개선하는 쪽으로 접근하는 게 낫겠다는 결론을 내린 것이다. 랄라; 처음 생각은 성능이 좋은 시스템을 모듈화하는 것이 쉽지 않을까였는데, 생각을 바꿔서 모듈화된 시스템의 성능을 높이자는 것이 된 셈이다.&lt;/p&gt;

&lt;p&gt;결과적으로, 11월 한달 간 벼락치기한 졸업논문 연구를 통해 PacketShader에서 적용했던 최적화 기법들을 Click에 맞게 변용하여 PacketShader처럼 대략 30 ~ 40 Gbps 급까지 끌어올리는 데 성공했다. 원래 Click을 그냥 돌리면 10 Gbps도 채 나오지 않는다. 여기까지만 들으면 환상적으로 보이지만, 이걸 실제로 &amp;#8220;다른 사람이 쉽게 가져다 쓸 수 있는&amp;#8221; 물건으로 만들기 위해서는 갈 길이 멀다. 원래 연구라는 게 다 그렇기는 하지만, 실제 해보면서 느끼는 건 역시 &amp;#8216;제품화&amp;#8217;, &amp;#8216;상용화&amp;#8217;라는 게 정말 귀찮고 힘든 일이라는 것.&lt;/p&gt;

&lt;p&gt;이제는 연구와 개발(코딩)의 균형을 어떻게 잡아야 할 지도 감이 오고 연구와 개발이 어떻게 다른지도 알 것 같다. 말하자면 연구는 top-down approach(하향식 접근)이고 개발은 bottom-up approach(상향식 접근)라고 할 수 있겠다. 항상 코딩할 때 마음에 새겨야 할 것은, 내가 이 코딩을 왜 하고 있는지, 이것이 연구로 달성하고자 하는 목표에 얼마나 도움이 되는 것인지 끊임없이 질문해야 한다는 점이다. 코딩 자체의 재미를 좇아가다보면, 무언가 일은 열심히 했는데 연구 결과물은 남지 않는 상황이 생긴다. 또, 매주 있는 교수님과의 연구 미팅에서도 &amp;#8220;내가 한 일&amp;#8221;을 이야기하기보다는 &amp;#8220;무슨 일을 어떤 의문에 답하기 위해 했고, 그 결과가 무엇인지 또는 무엇 때문에 결과를 얻을 수 없었는지&amp;#8221;를 중심에 두어야 한다. 특히나 나처럼 오픈소스로 하고 싶은 거 하는 순수한 지적 유희의 재미를 즐기던 사람이라면 더욱 조심해야 할 부분이다. 물론 어느 정도 시간 여유가 있을 때는 연구에 당장 직접적인 도움이 되지는 않지만 장기적으로 시간 절약에 도움이 되는 refactoring 같은 작업을 해두면 좋다.&lt;/p&gt;

&lt;p&gt;다만, 석사과정 하면서 개인적으로 아쉬웠던 부분은 생각보다 논문을 많이 읽지 못했다는 것이다. 숙독이 아니라 통독이라도 하루에 논문 1~2개씩은 봐야 한다고들 이야기하는데, 코딩에 치이다보면 며칠, 몇주씩 논문을 거의 읽지 못하는 경우도 있었다. 그래서 새해부터는 일주일에 2번 정도는 한나절 내내 논문만 읽는 시간을 따로 잡아볼 생각이다. 주말에 한번, 매주 있는 연구미팅 끝나고 한번 정도면 적당할 것 같다.&lt;/p&gt;

&lt;p style="text-align:center; color:#aaa"&gt;*&lt;/p&gt;

&lt;h2&gt;POPONG (Open Politics Engineering) - IT 정치참여 플랫폼 프로젝트&lt;/h2&gt;

&lt;p&gt;2010년 말부터 SPARCS 몇몇 선후배들을 주축으로 시작한 프로젝트로, IT 기술(여기서는 주로 소프트웨어를 의미)을 이용해 일반인들이 정치적 의사결정에 필요한 정보들을 손쉽게 얻을 수 있도록 하고 더 나아가 많은 사람들이 정치에 긍정적인 관심을 가지도록 돕는 일련의 소프트웨어와 서비스를 개발하자는 것이 목표이다. 또한 공돌이들이 물건만 만드는 사람들이 아니라 세상을 변화시키는 데 참여할 수 있는 사람들이라는 것을 보여주자는 것도 하나의 동기가 되었다. 나는 기본적으로 민주주의라는 틀과 선거 제도를 그대로 인정하되, 이 프로젝트를 통해 선거와 집회만으로는 정치 참여의 수단이 너무 부족하다는 인식을 가지고 선거기간에 사람들의 선택을 돕고 선거기간이 아닌 때에는 사람들이 정치인들에 대한 감시와 여론 수집의 역할을 함께 할 수 있게 만들고 싶다. 신앙적 관점에서는, &amp;#8220;아버지의 뜻이 하늘에서와 같이 땅에서도 이루어지소서&amp;#8221;의 구현 주체인 한 사람으로서 적어도 현재까지는 최선이라 여겨지는 지향점인 민주주의 시스템이 정말 사람들을 위해 동작하도록 만들고픈 것이기도 하다.&lt;/p&gt;

&lt;p&gt;나는 학부 저학년 때까지만 해도 정치는 나와 상관이 없는 것이라고 생각했었으나, SNS의 급격한 보급과 더불어 주류 언론에는 잘 알려지지 않지만 실제로 일어나고 있는 여러 일들을 보았고, 각자의 정치적 입장에 따른 관점의 차이가 얼마나 다른지, 또 사람들이 생각보다 논리적·합리적이지 않고 자신이 속한 집단에 따라 맹목적인 주장을 펼치는 모습을 접하게 되면서, 사실은 내가 정치적 영향에서 살짝 빗겨난 위치에 있을 뿐이라는 것을 알게 되었다. 우리나라의 경제 성장과 민주화 덕분에 그나마 이 정도인 것이고, 그런 것이 없었더라면 지금의 내 생활도 많이 달랐을 것이라는 생각에 미치게 되니 정치를 &amp;#8220;잘&amp;#8221; 하는 것이 중요하겠구나 라는 생각을 하지 않을 수 없었다.&lt;/p&gt;

&lt;p&gt;처음엔 공공데이터 개방과 활용에 초점을 둔 &amp;#8220;정부 2.0&amp;#8221; (government 2.0) 운동에 대한 해외 동향을 공부하는 것으로 시작했는데, 한국에서도 &lt;a href="https://groups.google.com/forum/#!forum/gov20kr"&gt;관련 움직임&lt;/a&gt;이 있다는 사실을 알게 된 이후 우리는 &amp;#8220;정치 2.0&amp;#8221; (politics 2.0)으로 초점을 맞추게 되었다. 여기서 2.0이라는 버전 번호를 붙인 것은 웹 2.0이 OpenAPI와 웹표준 준수를 통한 웹서비스의 개방과 소비자들의 참여 확대라는 트렌드를 가리키는 말이었기 때문이다. 따라서 정치 2.0이라 함은 선거로 뽑히는 지역자치단체 수장들과 행정부의 수장 대통령 및 국회의원·시/도의원 등의 전유물이었던 정치를, 선거라는 기존의 틀에 박힌 참여 방법에서 벗어나 보다 다양한 계층의 사람들이 사회적·정치적 합의를 도출할 수 있도록 웹과 모바일앱이라는 도구를 활용해보자는 것이 그 취지다. 얼마 전 다음세대재단에서 주최하는 비영리 미디어 컨퍼런스 &lt;a href="http://changeon.org/conference/2011/"&gt;&amp;#8220;ChangeON&amp;#8221;&lt;/a&gt;에서 프로젝트 리딩하는 은광 형이 &lt;a href="http://vimeo.com/33581474"&gt;발표한 내용&lt;/a&gt;을 보면 좀더 이해하는 데 도움이 될 것이다.&lt;/p&gt;

&lt;p&gt;여기에서 내가 맡은 일은 국회에 공개된 회의록이라든지 웹에 올라오는 정치 관련 글들을 기계적으로 가공하여 유용한 정보를 뽑아줄 수 있는 기반 &amp;#8216;데이터 플랫폼&amp;#8217;을 만드는 것이다. 뭐, 말은 거창하지만 시작은 소규모로 간단하게 quick &amp;amp; dirty (…)의 정신을 발휘하여 되는대로 걍 하고 있다. 역시 refactoring의 유혹이 근질근질하지만 내가 이 프로젝트에 쓸 수 있는 시간이 얼마 없기 때문에 당분간은 힘들 것 같다. ㅠㅠ 이 일을 하면서 느끼는 게 한국어 NLP(자연 언어 처리) 연구가 많이 필요하다는 것. 나는 NLP 자체보다는 이런 기반 시스템을 설계하고 구현하는 일이 더 재미있기 때문에 내가 그쪽을 파고들 것 같지는 않지만(NLP 이론은 아니지만 이런 맥락에서 연구하신 분이 최근에 팀에 합류하기도 했고), 해외 유수 학술지에 나가는 연구만 주로 인정받는 국내 현실에서 한국어를 연구 대상으로 하는 NLP에 좀더 많은 투자나 지원이 이루어졌으면 하는 아쉬움이 생겼다.&lt;/p&gt;

&lt;p&gt;2011년 한 해 동안 이 프로젝트에서 외부로 공개된 결과물은 서울시장 재보궐선거에서 후보 별 공약을 비교하고 이슈 타임라인을 제공한 &lt;a href="http://www.popong.com/iamseoulmayor"&gt;&amp;#8216;나는 서울시장이다&amp;#8217;&lt;/a&gt; 사이트다. 기술적으로는 굉장히 단순한 웹사이트이지만&amp;#8212;3명이서 대략 3일 정도에 뚝딱?&amp;#8212;기획 면에서는 나름 고민을 많이 한 티저 격의 사이트이다. 실제로 사람들에게 뭔가 가치를 주기 위해서는 백엔드/프론트엔드의 다양한 기술이 결합되어야 하기에, 정말 골수 전산시스템을 다루는 연구와 달리 당장 눈에 보이는 결과물을 만들어내는 어떤 감각을 유지하는 데에는 큰 도움이 되는 것 같다. 사실, POPONG 프로젝트를 통해 함께 공부하고 배운 이런저런 웹기술들이 나중에 GFI PacketShader 데모 준비할 때 도움이 되었다는.&lt;/p&gt;

&lt;p&gt;이 프로젝트에 좀더 시간을 투자하고 싶지만, 그래도 대학원생의 1순위는 연구이기 때문에 좀더 못하는 점이 아쉽고, 특히나 2년간 대학원 생활을 하면서 뭔가 의미 있는 연구 결과가 나오려면 다른 일 신경쓰지 않고 정말 거기에 집중해야만 가능하다는 것을 깨달았기 때문에 이 프로젝트에 대해 내가 가지는 강한 동기에도 불구하고 상당히 고민이 되는 부분이다. 게다가 올해 2012년은 총선과 대선이라는 빅 정치이벤트가 겹쳐있다는 거.&lt;/p&gt;

&lt;p style="text-align:center; color:#aaa"&gt;*&lt;/p&gt;

&lt;h2&gt;성가대&lt;/h2&gt;

&lt;p&gt;학부 때부터 주말에 학교에 있을 때면 가까운 궁동성당에 가곤 했는데, 대학원에 오면서 거의 대전에 있게 되자 본격적으로 성가대를 시작한 것이 벌써 1년 반이 넘었다. 이제 미사곡들은 어지간한 건 불러봐서 많이 익숙해지기도 했고, 특송이나 축가처럼 성부 나누어 부르는 것도 (여전히 음정 불안불안하기는 하지만) 나름 재미를 느끼는 단계가 된 것 같다. 내가 옛날부터 피아노를 취미로 쳐왔기 때문에 직접 목소리로 노래하는 것에서 새로운 재미를 찾게 된 것도 있고, 특히 여러 성부로 나누어진 곡을 함께 부르면서 연습 끝에 화음이 맞는 걸 느낄 때의 그 좋은 기분은 아마 직접 해보지 않은 사람은 모를 것이다. 혼자 치고 즐기는 피아노와 달리 여러 사람이 함께 마음을 맞춰 노래하는 것은 또다른 차원의 즐거움이 있다.&lt;/p&gt;

&lt;p&gt;올 한해는 이 성가대 덕분에 힘들기도 하고 보람도 느끼고 한 일들이 많이 있었다. 바로 성가대 단장을 맡았던 것.;; 가톨릭 전례력 상으로는 대림시기부터 새해가 시작하는데, 그에 따라 재작년 말부터 2011년도 총무로 활동을 시작했다. 그러다가 5월쯤 원래 단장을 하던 형이 직장을 다른 지역으로 옮기면서 활동이 불가능하게 되자 내가 단장을 맡게 되었다. 이번 1년 동안 논문 데드라인이 가까웠을 때를 제외하고 온라인이든 오프라인이든 룸메이트와 가족을 제외하면 일요일에 날 본 사람이 별로 없을 텐데 이런 이유가 있었다.&lt;/p&gt;

&lt;p&gt;연구와 병행하느라 매우 힘들었지만(특히 7월초 대전청년대회(DYD) 창작성가제 발표&amp;#8212;내가 단장되기 전에 시작된 프로젝트라 좋든 싫든 마무리해야 하는 상황이었다&amp;#8212;를 앞두고 말 그대로 멘탈붕괴 사태까지 갔다), 과학고·카이스트와 달리 여자들이 과반이 넘는다는 점, 그리고 신앙공동체로서 지켜야 하는 명시적인/암묵적인 규칙들, 이런 특징들이 이뤄가는 하나의 조직체를 이끌면서 얻은 경험은 잊을 수 없을 것이다. 여러 면에서 그간 경험해봤던 오픈소스 개발팀이나 동아리, 연구실, 벤처 회사와는 완전히 다른 커뮤니티다. 이른바 여자들의 &amp;#8220;thought cloud&amp;#8221;라는 것도 간접 체험할 수 있었다. (이것이 나쁘다는 것이 아니라, 남자 중심의 커뮤니티에서는 잘 나타나지 않는 현상이라는 점에서.)&lt;/p&gt;

&lt;p&gt;성가대 단장 하면서 내가 변한 점이 있다면, 어떤 일처리를 할 때 전화로 하는 것에 대한 거부감이 거의 없어졌다는 것. 나는 무슨 사고가 났다든가 하는 정도의 정말정말 급한 일이 아니면 전화보다는 비동기 커뮤니케이션 수단인 문자나 이메일을 선호하는 편인데, 일단 성당 커뮤니티 사람들이 이메일 같은 것과는 별로 친숙하지 않기도 하고 전화를 하는 것이 &amp;#8216;예의&amp;#8217;로 간주되는 경우가 많기 때문에 처음에는 일을 진행함에 있어 상당한 불편함이 있었지만 오히려 여기에 익숙해지니 사람과 직접 말로 하는 것이 어떤 면에서는 오해의 소지를 줄이기도 하고 더 친밀해질 수 있는 기회라는 걸 알게 되었다. 다만 내가 연구실 일로 바쁘거나 해서 무언가 연락을 취해야 할 일을 진행하지 못한다든가 했던 경우가 좀 있었는데, 사실 &amp;#8220;technically&amp;#8221; 시간이 없는 건 아니지만 마음의 여유가 없어서 그런 경우가 많았다. 하지만 시간이 좀 지나니 이런 것도 결국은 적응해서 하게 되더라.&lt;/p&gt;

&lt;p&gt;신앙적 관점에서도 많은 것을 얻었다. 특히 가톨릭에서의 성인식이라 볼 수 있는 견진성사를 받은 것과 신학대 교수 출신의 새 주임신부님 덕분에 사도신경을 중심으로 한 견진교리 및 매달 있는 주임신부님의 특별강론 덕분에 신앙의 지식적 측면을 보완하면서 더 깊은 묵상 속으로 들어갈 수 있었던 것을 들 수 있겠다. 성가대 활동이 힘들긴 했지만, 그 활동을 통해 직간접적으로 얻은 신앙의 자산은 평생의 것이 될 것이다.&lt;/p&gt;

&lt;p style="text-align:center; color:#aaa"&gt;*&lt;/p&gt;

&lt;h2&gt;&lt;a href="http://www.minecraft.net"&gt;Minecraft&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;재작년부터 꽤나 오랫동안 즐겨온 게임인 &lt;a href="http://oooz.net/tc/1357"&gt;마인크래프트&lt;/a&gt; 또한 취미생활에서 2011년의 한 축을 이루는 주제라 할 수 있겠다. 마인크래프트는 스웨덴의 인디게임 개발자가 만든 샌드박스 게임이다. 특별한 종료조건 없이(엔딩이 나중에 업데이트로 추가되긴 했지만 엔딩을 봐도 본 게임은 계속된다.) 1m x 1m x 1m 형태의 정육면체 블럭들로 구성된 3D 세상에서 나무나 돌·광물을 캐는 자원수집이나 돼지·닭을 잡아먹는 것, 밤이 되면 생성되는 다양한 몬스터들과 싸우는 것이 기본 활동이다. 가장 큰 특징은 모아놓은 정육면체 블럭들을 마우스 오른쪽 버튼으로 다른 블럭에 붙이는 방식으로 자유롭게 무언가를 만들 수 있다는 것이다.&lt;/p&gt;

&lt;p&gt;이 게임을 하면서 느낀 건, 건축은 사실 사람의 욕망을 드러내는 수단이라는 것. 게임 내에서 처음 며칠(하루 = 20분)은 보통 안전한 집과 식량 보급 체계 마련에 투자하는데, 그 시기를 넘어가면 사람들이 슬슬 건축적 욕망을 드러내기 시작한다. 하늘 끝까지 닿는 타워나 계단 또는 지하 끝까지 파고들어간 광산이나 지오프론트(…) 같은 것들이 나오고 시간이 더 지나면 현실이나 영화에 존재하는 대형건축물들을 옮겨짓는다든지(피라미드, 천공의 섬 라퓨타, 알렉산드리아의 파로스 등대, 강남역 삼성타운 등 소재는 무궁무진하다) 맵 전체를 가로지르는 철도시스템을 구축하는 등 규모로 승부하게 된다. &lt;a href="http://beforu.egloos.com/4531470"&gt;하나의 사례를 보라.&lt;/a&gt; 몇몇 멀티플레이 서버에서 처음부터 개발이 이루어지는 과정을 지켜본 결과, 가장 기본적인 조형원리&amp;#8212;큰 규모로 이루어지는 대칭성과 반복성&amp;#8212;가 아름답게 느껴지는 건축물의 기본 조건이라는 것을 깨달았다. 마인크래프트에서 제공하는 미니어처 자연 속에 이러한 조형원리를 갖춘 건축물은 단연 돋보인다. 자연 속에 규칙성을 부여하는 것, 그것이 인간의 본성 중 하나가 아닐는지.&lt;/p&gt;

&lt;p&gt;마인크래프트에는 비슷한 종류의 다른 게임들과 차별화되는 요소가 하나 더 있는데, 바로 레드스톤(redstone)이라 불리는 특수 광물이다. 스위치나 레버의 동작을 원거리로 전달하여 피스톤 같은 기계장치를 작동시키는 데 사용하는 것이 가장 기본적인 용도다. 현실에 비유하자면 실리콘과 같은 반도체라고 할 수 있는데, AND/OR/NOT 게이트의 구현이 가능하고 clock 반복자를 만드는 방법이 존재하여 실제로 이걸로 &lt;a href="http://youtu.be/yuMlhKI-pzE"&gt;CPU를 만드는 사람들도 있다.&lt;/a&gt; 물론 x86과 같은 복잡한 건 거의 불가능에 가깝고 간단한 사칙 연산과 메모리 정도. 물론 이 CPU를 작동시키려면 게임 내에서 열심히 뛰어다니면서 버튼을 하나씩 눌러줘야 하기 때문에 실행속도도 느리고 에니악스러운 느낌이다. 무한궤도 엘레베이터, 블럭을 피스톤으로 &amp;#8220;적절하게&amp;#8221; 밀어넣어 구현하는 &lt;a href="http://youtu.be/pjQ9JL5E9gc"&gt;3D printer&lt;/a&gt;, 카트가 자동 공급·회수되는 양방향 지하철 시스템과 같은 응용들이 나와있다.&lt;/p&gt;

&lt;p&gt;덕 중의 덕은 양덕이라는 온라인 속담이 있다. (여기서 덕이라 함은 지덕체 할 때 그 덕이 아니고 오타쿠에서 유래한 것.) 최근의 KPOP 한류 열풍에서도 볼 수 있듯이 서양 아이들이 뭔가에 빠지면 엄청난 &lt;a href="http://youtu.be/-JA35idPySQ"&gt;잉여력&lt;/a&gt;을 보여주곤 하는데, &lt;a href="http://youtu.be/8uyxVmdaJ-w"&gt;이런 동영상&lt;/a&gt;이 그런 예라고 할 수 있겠다. 더 자유분방한 문화 때문인지, 평균 근로시간이 더 적어서인지는 모르겠으나(…) 아무튼 대단하다.&lt;/p&gt;

&lt;p style="text-align:center; color:#aaa"&gt;*&lt;/p&gt;

&lt;p&gt;돌아보면 가장 힘들었던 때는 논문과 졸업 때문에 스스로의 압박을 느끼는 와중에 &amp;#8216;내가 대학원에서는 별로 쓸모 있지 않은 존재인건가&amp;#8217; 하는 자괴감과 때맞춰 찾아온 DYD 창작성가제 압박, POPONG 프로젝트 관련한 고민이 모두 한꺼번에 겹친 덕분에 때문에 한 3일간 아무 일도 못하고 그야말로 세상으로부터 몇주 정도 잠적하고 싶었던 7월 초였다. 문자 그대로의 멘탈붕괴였다. 졸업논문 앞두고 주제가 급변경되면서 내가 그동안 이런저런 질문에 답하기 위한 일들을 뭔가 진행은 이것저것 했는데 하나의 논문으로 완성할 수 있을 만큼 진행한 것이 없어 고민했을 때가 두번째로 힘들었다. 농담 아니고 석사졸업 연기할까도 생각했었다. 결국 그럴 때 힘이 되는 건, 해결책은 제시해주지 못하더라도 내 이야기를 들어줄 수 있는 가족뿐이더라. 이런 일련의 힘든 시기를 거치면서, 연구와 개발의 균형을 잘 잡고 또 연구와 연구 외적인 일들 사이의 균형을 잘 잡는 게 중요하다는 사실을 알게 되었다. &amp;#8216;어떻게&amp;#8217;는 아직도 정답을 찾지 못한 것 같지만.&lt;/p&gt;

&lt;p&gt;다가오는 2012년&amp;#8212;이 아니라 가족들과 미사 갔다가 저녁 먹고 어쩌구 했더니 글을 쓸 시간이 많지 않아 이미 2012년이 되어버렸다&amp;#8212;올해는 여러 일들의 균형을 잘 잡으면서 때에 따라 필요한 곳에 선택과 집중을 할 수 있는 그런 한 해가 되길 바래본다.&lt;/p&gt;
&lt;iframe src="http://www.facebook.com/plugins/like.php?locale=ko_KR&amp;amp;href=http%3A%2F%2Fdaybreaker.info%2Fblog%2Fentry%2F&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=550&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow=hidden; width:550px; height:26px; margin-top:10px; margin-left:5px"&gt;&lt;/iframe&gt;&lt;script type="text/javascript" src="http://tweetmix.net/js/widgetV2.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;if(("TMXW" in window)) { new TMXW.Widget({"shape":"default","target_url":"http://daybreaker.info/blog/entry/","widget_title":"\uc774 \uae00\uacfc \uc5f0\uad00\ub41c \ud2b8\uc717","default_msg":"","width":"550","height":"450","color_upper_back":"93C9E6","color_upper_text":"FFFFFF","color_tweet_back":"FFFFFF","color_border":"EBEBEB","color_text":"888888","color_link":"2ABBD4","widget_type":"1","btn_type":"1","max_messages":"10","is_show_avatar":"1"}).render().start();} &lt;/script&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://daybreaker.info/blog/entry/2011%EB%85%84-%ED%9A%8C%EA%B3%A0?commentInput=true#entry1079WriteComment"&gt;댓글 쓰기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
			<category>모두</category>
			<category>2011년</category>
			<category>2012년</category>
			<category>회고</category>
			<author>me@daybreaker.info (daybreaker)</author>
			<guid>http://daybreaker.info/blog/1079</guid>
			<comments>http://daybreaker.info/blog/entry/2011%EB%85%84-%ED%9A%8C%EA%B3%A0#entry1079comment</comments>
			<pubDate>Sun, 01 Jan 2012 02:27:47 +0900</pubDate>
		</item>
		<item>
			<title>SOSP 2011 출장 로그</title>
			<link>http://daybreaker.info/blog/entry/SOSP-2011-%EC%B6%9C%EC%9E%A5-%EB%A1%9C%EA%B7%B8</link>
			<description>&lt;p&gt;이번 주 월화수 3일간 포르투갈의 카스카이스(Cascais, Portugal) 열리는 ACM SOSP (Symposium on Operating Systems Principles) 학회에 다녀왔다. 비행기표 끊을 때 프랑크푸르트에서 환승하고 리스본으로 가는 비행기편이 아주 밤늦게 도착하는 것밖에 없어서 시차 적응 때문에 학회 당일 피로하지 않도록 하루 일찍 가는 편을 택했는데, 덕분에 포르투갈의 관광명소인 Sintra를 돌아볼 기회가 있었다. (온통 비바람 때문에 고생하긴 했지만&amp;#8230; ㅠㅠ) 어쨌든, 관광에 대한 건 플리커 사진세트에 붙어있는 설명을 참고하고, 이 글에서는 학회 내용에 대한 것을 정리해볼 것이다.&lt;/p&gt;

&lt;div style="text-align:center"&gt;
&lt;object width="400" height="300"&gt; &lt;param name="flashvars" value="offsite=true&amp;lang=ko-kr&amp;page_show_url=%2Fphotos%2Fdaybreaker12%2Fsets%2F72157627998359482%2Fshow%2F&amp;page_show_back_url=%2Fphotos%2Fdaybreaker12%2Fsets%2F72157627998359482%2F&amp;set_id=72157627998359482&amp;jump_to="&gt;&lt;/param&gt; &lt;param name="movie" value="http://www.flickr.com/apps/slideshow/show.swf?v=109615"&gt;&lt;/param&gt; &lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/slideshow/show.swf?v=109615" allowFullScreen="true" flashvars="offsite=true&amp;lang=ko-kr&amp;page_show_url=%2Fphotos%2Fdaybreaker12%2Fsets%2F72157627998359482%2Fshow%2F&amp;page_show_back_url=%2Fphotos%2Fdaybreaker12%2Fsets%2F72157627998359482%2F&amp;set_id=72157627998359482&amp;jump_to=" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;p class="cap1"&gt;플리커에 올려둔 &lt;a href="http://www.flickr.com/photos/daybreaker12/sets/72157627998359482/"&gt;사진 모음.&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="/blog/entry/OSDI-2010-출장"&gt;내가 작년 이맘때쯤 갔던 OSDI&lt;/a&gt;에 대해 들어본 사람이라면 아마도 SOSP도 알 것이다. 이 두 학회는 각각 USENIX와 ACM이라는 두 단체가 거의 같은 내용을 가지고 격년제로 번갈아 여는데, 실제로 참여하는 학생들이나 연구자 커뮤니티는 똑같다. 역사는 SOSP가 훨씬 오래되었는데, 1967년부터 시작했으니까 시분할 시스템이라는 개념이 막 탄생하던 때쯤부터 이어져온 시스템 분야 최고의 학회이다.&lt;/p&gt;

&lt;p&gt;이번에 내가 학회에 간 목적은 크게 1) &lt;a href="http://sigops.org/sosp/sosp11/posters/posters/sosp11-display-poster44.pdf"&gt;포스터&lt;/a&gt;(&lt;a href="http://sigops.org/sosp/sosp11/posters/summaries/sosp11-final44.pdf"&gt;extended abstract&lt;/a&gt;, 사실 실제 발표한 포스터는 설명 흐름을 부드럽게 하려고 순서가 살짝 바뀐 부분이 있음) 발표와 socializing을 통해 PacketShader 후속 연구와 관련한 피드백을 받고 &lt;a href="http://sigops.org/sosp/sosp11/current/2011-Cascais/printable/17-rossbach.pdf"&gt;PTask&lt;/a&gt; 및 &lt;a href="http://www.pdos.lcs.mit.edu/papers/click:sosp99/paper.pdf"&gt;Click modular router&lt;/a&gt;의 저자와 직접 만나 홍보 및 의견 나누기 2) 내년 인턴십 자리를 위해 기업들 미리 찔러보기 요렇게 두 가지였다.&lt;/p&gt;

&lt;p&gt;포스터 발표에 대한 반응은 작년과 비슷했는데, PacketShader를 알고 온 사람들은 차이점이 무엇인지 무슨 추가적인 work을 하려는 것인지 물었고, 모르고 온 사람들은 GPU의 자체의 특징에 대해서 물어보는 경우가 많았다. 어떤 사람은 &amp;#8220;experimental platform&amp;#8221;이라는 말에 꽂혔다면서(?) 자기가 Emulab testbed 참여하는데 어떻게 쓰일 수 있는 거냐 묻기도 했다. 새로운 아이디어에 대한 피드백은 딱히 없었다. 몇 가지 이렇게 해보면 어떻겠냐 라는 제안은 받았는데 우리가 연구 과정에서 생각해본 범위 내였다. 예를 들면 branching/diverse code path에 약한 GPU에서 하기 어려운 router pipeline을 통째 GPU에서 구현하면 어떨까 라든지, 현재는 proprietary driver로 인해 불가능한 NIC-to-GPU direct copy라든지.&lt;/p&gt;

&lt;p&gt;그래도 PTask 저자였던 Christopher Rossbach와의 만남이나 Click modular router 만든 (지금은 하버드 교수인) Eddie Kohler와의 만남은 그 사람들의 생각이 어떤지 알 수 있어서 소기의 성과를 건질 수 있었다.&lt;/p&gt;

&lt;p&gt;PTask는 GPU에 대한 추상화를 운영체제에서 직접 제공해야만 운영체제 스케줄링에서 GPU의 workload나 CPU interaction을 함께 고려할 수 있어 더 나은 성능과 performance artifact를 줄일 수 있다는 것이 핵심이고, 여기에 disjoint memory를 사용하는 GPU로 오가는 dataflow를 datablock이라는 덩어리와 port끼리 연결관계를 미리 정의해놓는 일종의 UNIX pipe 개념을 활용해 다단계 행렬 곱셈 등에서 발생하기 쉬운 중복 복사를 막겠다는 아이디어가 들어가있다.&lt;/p&gt;

&lt;p&gt;내가 발표 끝나고 했던 질문&lt;sup id="fnref:question"&gt;&lt;a href="http://daybreaker.info/blog/entry/SOSP-2011-%EC%B6%9C%EC%9E%A5-%EB%A1%9C%EA%B7%B8#fn:question" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;은 datablock의 내용 변경 여부에 따른 GPU/CPU side의 invalidation 과정에서 datablock 통째로 하는 것이 좋을지 아니면 좀더 finer granularity (예를 들면 PacketShader에서는 한 datablock에 여러 개의 packet이 들어있을 수 있으니까)로 하는 것이 좋을지 물었는데, PCIe bus 타는 횟수를 줄이려면 자기가 한 것처럼 통째로 하는 게 좋지 않을까 라는 답을 들었다. 나중에 쉬는시간에 만나서 현재 Windows용 버전밖에 없는 것 같은데 공개할 계획이 있는지 물어보니 지금 코드는 MSR 내부 사정으로 공개가 불가능하나 참여한 대학원생들이 Linux 버전을 만들고 있다고 하고, PacketShader 팀하고 같이 일해보고 싶다고도 했다. 나중에 다른 사람들 얘기로는 PTask 연구의 문제점을 짚는다면 실제로 그러한 abstraction이 유용한 경우가 얼마나 있을 것인지 설득력이 다소 부족했다는 것을 들 수 있는데, PacketShader가 만약 PTask의 아이디어를 써서 큰 이득을 볼 수 있다면 대표 사례가 될 수 있기 때문이 아닐까 싶다.&lt;/p&gt;

&lt;p&gt;Eddie Kohler를 만난 이유는, 내가 요 근래 Click + PacketShader-style HW optimization을 테스트해보면서 Click이 몇 가지 근본적인 한계가 있다는 것을 알게 되었기 때문이다. 그 한계란 약간의 코드 수정으로 NUMA-aware thread affinitization이나 IRQ pinning을 Click에 적용할 수는 있으나 싱글코어 시절 만들어져 나중에 멀티코어로 확장된 녀석이다보니 공통 데이터(router graph 등)에서 NUMA node crossing이 발생한다거나 user-level packet I/O가 특정 코어에서 병목이 된다거나(이건 pcap의 문제일 수도 있음) 하는 것들이다. 그래서 내가 물어본 것은 Click의 다음 step이 뭐라고 생각하는지였다. 그랬더니 대답 대신 질문이 되돌아왔는데, high-performace에 집중할 것인지 modularity + reasonable performance를 만들 것인지 아니면 정말 사람들이 쓰고 싶은 걸 만들 건지 알아야 한다는 것이었다. 어떻게 보면 모두 목표이긴 한데, 내 생각은 modularity는 적정한 수준까지만 쪼개고 performance에 집중하는 쪽이다. 아무튼 그러면서 덧붙이는 말이 자기는 Click의 performance를 위해 개발해온 게 아니라 correctness 쪽으로 집중해서 개발해왔다는 것. 결국 performance에 집중하려면 Click을 뜯어고치는 것보다는 새로운 코드를 짜는 게 낫다는 이야기였다.&lt;/p&gt;

&lt;p&gt;어쨌든 직접 만나 이야기하니 재밌었다. 논문으로만 보던 사람들이 실제로는 어떤 사람인가 보는 것도 재밌고, 메일 주고받거나 하는 것보다 직접 눈앞에 두고 대화하는 것이 얼마나 더 효율적인지는 정말 안 해보면 모를 것이다.&lt;/p&gt;

&lt;p&gt;다만 역시나 대화에 &amp;#8216;적절하게&amp;#8217; 끼어드는 것이 가장 어려운 일이었다. 이쪽 학회에 오는 서양 친구들은 기본적으로 &amp;#8216;아무때나 끼어들어서 말 걸어도 괜찮아요&amp;#8217; 모드인데 무언가 남의 말(그것도 교수님들 같은 윗사람들의)을 끊는 것이 실례라는 느낌을 항상 가지고 있는 동양 쪽 학생들로서는 언제 하고싶은 말을 어떻게 꺼내야 하는지 그 감이 잘 없다. 이럴 땐 두 가지 방법이 있는데, 에라 모르겠다 하고 끼어드는 방법이 있고 아니면 적당히 눈치를 줘가며(?) &amp;#8216;이 친구가 뭐 말할게 있는 것 같은데&amp;#8217; 하면서 알아서 끊어주기를 기다리는 방법이 있다. 문제는 인기있는 사람일수록, 말발이 좋은 사람일수록 전자가 어렵다는 것.&lt;/p&gt;

&lt;p&gt;인턴십 관련해서는 아직 확정된 건 아무것도 없지만(내년에 울 교수님이 안식년 가시면 랩사람들을 대부분 인턴으로 내보내실 거라는 정도?) 일단 Facebook과 Google 쪽을 찔러봤고, 나중에 PTask 저자인 Rossbach나 다른 인맥을 통해 MSR도 찔러보려고 생각 중이다. 이런 학회에는 대개 스폰서 기업들의 비공식 recruiter들이 돌아다니기 때문에 나중에 실제 지원할지 어떨지는 몰라도 일단 눈도장이라도 찍어두는 셈이다. 내년에 &amp;#8220;new&amp;#8221; PacketShader가 어느 정도까지 논문이 될지 모르겠지만, 박사과정에서 인턴십을 간다면 기본적으로 논문을 쓸 수 있는 주제와 환경으로 가는 것을 교수님들이 선호하기 때문에 아마 그 연장선상의 일을 하는 쪽이 되거나, 그걸 응용·적용할 수 있는 약간 다른 토픽을 하는 쪽이 될 것이다.&lt;/p&gt;

&lt;p&gt;논문 발표 중에서는 역시 내 논문과 가장 관련있는 PTask가 제일 기대되었지만 막상 발표는 그냥 그런 느낌이었고, 발표 스킬 자체만으로 본다면 MSR의 Jame Mickens라는 사람이 최고였다. &lt;a href="http://sigops.org/sosp/sosp11/current/2011-Cascais/printable/16-mickens.pdf"&gt;Atlantis&lt;/a&gt;라는 Javascript/CSS/HTML parsing/rendering engine에 exokernel 개념을 도입한 웹브라우저에 대한 발표였는데, 문제 자체는 웹개발 좀 해본 사람이라면 누구나 아는 식상한 것이지만 그걸 너무나 재미있고 박력있게 풀어가서 그대로 몰입이 되었다. 발표들의 타입도 여러가지가 있었는데, Prezi를 이용해 화려하게 진행한 것부터 시작해서(개인적으로는 좀 산만하다는 느낌) 기술적인 디테일을 아주 상세히 다루거나 혹은 그 반대로 motivation과 evaluation만 보여주고 기술적인 내용을 질의응답으로 커버해버리는 경우까지 다양했다. Deterministic threading 발표가 많아 이게 화두인가 했는데, MIT 다니는 태수형 말로는 사실 강력한 motivation이나 usecase는 별로 없는데 일단 커뮤니티에서 어떻게 되는지 지켜보자는 느낌으로 근 몇년간 이쪽 논문들을 많이 뽑아서 보여주는 것 같단다. 기타 아이디어나 구현 방법이 모두 괜찮다고 생각되는 건 CryptDB 정도였고, 데이터분석을 통한 통찰로는 그와 함께 best paper 상을 받은 &amp;#8220;File is not file&amp;#8221; 정도가 있었다.&lt;/p&gt;

&lt;p&gt;어쨌든 이 학회 통해서 느낀 건, 내가 누군가를 만나서 무슨 이야기를 해야겠다 하는 목적이 분명한 상태로 가면 훨씬 더 재미있게 사람들과 대화할 수 있다는 것이다. 비록 나와 정확히 같은 분야는 아니지만 그쪽의 아이디어를 내 연구에 어떻게 적용해보면 좋을 것 같다라든지, 혹은 근본적으로는 같은 문제를 어떻게 다르게 접근하는가 살펴보는 것이 직접적으로 연구와 관련되기 때문일 것이다. 얼른 1저자로 제대로 발표도 해보고 싶다.&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr /&gt;
&lt;ol&gt;

&lt;li id="fn:question"&gt;
&lt;p&gt;이런 학회에서는 보통 발표 끝나면 중간중간 설치되어 있는 마이크에 쪼르르 달려가 줄서서 한사람씩 질의응답 주고받는 식인데, 청중들의 수준이 대단히 높기 때문에 질문 하는 것 자체도 상당히 긴장되는 일이다.&amp;#160;&lt;a href="#fnref:question" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
&lt;iframe src="http://www.facebook.com/plugins/like.php?locale=ko_KR&amp;amp;href=http%3A%2F%2Fdaybreaker.info%2Fblog%2Fentry%2F&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=550&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow=hidden; width:550px; height:26px; margin-top:10px; margin-left:5px"&gt;&lt;/iframe&gt;&lt;script type="text/javascript" src="http://tweetmix.net/js/widgetV2.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;if(("TMXW" in window)) { new TMXW.Widget({"shape":"default","target_url":"http://daybreaker.info/blog/entry/","widget_title":"\uc774 \uae00\uacfc \uc5f0\uad00\ub41c \ud2b8\uc717","default_msg":"","width":"550","height":"450","color_upper_back":"93C9E6","color_upper_text":"FFFFFF","color_tweet_back":"FFFFFF","color_border":"EBEBEB","color_text":"888888","color_link":"2ABBD4","widget_type":"1","btn_type":"1","max_messages":"10","is_show_avatar":"1"}).render().start();} &lt;/script&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://daybreaker.info/blog/entry/SOSP-2011-%EC%B6%9C%EC%9E%A5-%EB%A1%9C%EA%B7%B8?commentInput=true#entry1078WriteComment"&gt;댓글 쓰기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
			<category>컴퓨터</category>
			<author>me@daybreaker.info (daybreaker)</author>
			<guid>http://daybreaker.info/blog/1078</guid>
			<comments>http://daybreaker.info/blog/entry/SOSP-2011-%EC%B6%9C%EC%9E%A5-%EB%A1%9C%EA%B7%B8#entry1078comment</comments>
			<pubDate>Sat, 29 Oct 2011 04:51:00 +0900</pubDate>
		</item>
		<item>
			<title>if-else 사회와 try-catch 사회</title>
			<link>http://daybreaker.info/blog/entry/if-else-%EC%82%AC%ED%9A%8C%EC%99%80-try-catch-%EC%82%AC%ED%9A%8C</link>
			<description>&lt;p&gt;&lt;a href="http://twitter.com/goodhyun"&gt;김국현님의 트위터&lt;/a&gt;에서 퍼옴. 트위터의 글들은 한번 흘러가버리면 나중에 찾기가 힘들어서, 이렇게 여러 트윗으로 나눠 올라온 것은 모아 정리해두어야 한다.&lt;/p&gt;

&lt;p&gt;개발자로서, 그리고 사회를 시스템으로 보는 관점을 지지하는 나로선 매우 적절한 비유라고 생각한다.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;오늘은 &amp;#8216;개발자니까 이해할 수 있는 정치학&amp;#8217;을 조금 더 다루어 보도록 하겠습니다. 제 발언의 상당수가 반규제/자유주의로 이해되신다는 의견이 있습니다. 왜 그렇게 보일까요?&lt;/p&gt;
  
  &lt;p&gt;그 것은 제 주장이 if-else 사회에서 try-catch 사회로의 이행을 암시하기 때문입니다. 한국 사회는 모든 조건을 탑이 미리 설정하고 이를 조건 분기하는 if-else 사회지요. 규제란 바로 이 코드랍니다. ~해야 한다, ~하려면 ~가 필요하다는 명제에 근간으로 하고 있어요. 이는 매우 단순한 (개발)환경에서는 유의미했답니다. 이를 사회학에서는 가부장주의(paternalism)라고 하지요.&lt;/p&gt;
  
  &lt;p&gt;그러나 아시다시피 현대 프로그래밍 언어는 이런 식으로 코딩하지 않잖아요. 왜냐하면 모듈이 어떻게 확장될지 모르고, 또 이 코드를 누가 받아 짤지 모르기 때문입니다. 사회도 마찬가지입니다. 상위 조직이 모든 가능성을 알고 미리 규정하면 좋겠지만, 그 것이 가능한 시대는 이미 지나버렸죠. 결과는 if-else만 백만라인 이어지는 사회가 되어 버리는겁니다. (코드 유지 보수는 청춘의 몫?)&lt;/p&gt;
  
  &lt;p&gt;우리 사회도 ExceptionHandling의 아키텍처로 이행해야 합니다. 언제까지나 메인 프로세스가 if, elseif의 규제 방식로 모든 것을 걸러 낼 수는 없기 때문입니다. 사회참여자가 예외를 직접 정의하고, 그리고 이벤트가 발생했을 때, 합리적으로 &amp;#8220;버블 업&amp;#8221;을 일으키면 됩니다. 그 과정에서 정치인과 관료의 역할이 있는 것이구요. 그리고 여기에 addEventListener()를 하는 것도 국민의 몫입니다. 선거가 이에 충분한지는 이견이 많겠지만요. 이 메소드는 참여와 관심과 연대라고 해둘까요.&lt;/p&gt;
  
  &lt;p&gt;그렇게되어 새롭게 시작하는 사회적 프로세스, 새롭게 사회를 개발하려는 이들이 마음껏 사회적 코드를 try할 수 있고, 그 과정의 예외는 사회적으로 catch되게 되는 것입니다.&lt;/p&gt;
  
  &lt;p&gt;어쨌거나 코드를 짤 줄 아는 여러분, 사회와 국가의 코드가 이 모양인데, 소스 commit은 안하더라도 QA는 해 주셔야할텐데요, (아 네, 다들 생업에 바쁘신&amp;#8230;)&lt;/p&gt;
  
  &lt;p&gt;출처 : &lt;a href="https://twitter.com/#!/goodhyun/status/95752546995539968"&gt;이 트윗&lt;/a&gt;부터 &lt;a href="https://twitter.com/#!/goodhyun/status/95760756435460096"&gt;요 트윗&lt;/a&gt;까지.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;iframe src="http://www.facebook.com/plugins/like.php?locale=ko_KR&amp;amp;href=http%3A%2F%2Fdaybreaker.info%2Fblog%2Fentry%2F&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=550&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow=hidden; width:550px; height:26px; margin-top:10px; margin-left:5px"&gt;&lt;/iframe&gt;&lt;script type="text/javascript" src="http://tweetmix.net/js/widgetV2.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;if(("TMXW" in window)) { new TMXW.Widget({"shape":"default","target_url":"http://daybreaker.info/blog/entry/","widget_title":"\uc774 \uae00\uacfc \uc5f0\uad00\ub41c \ud2b8\uc717","default_msg":"","width":"550","height":"450","color_upper_back":"93C9E6","color_upper_text":"FFFFFF","color_tweet_back":"FFFFFF","color_border":"EBEBEB","color_text":"888888","color_link":"2ABBD4","widget_type":"1","btn_type":"1","max_messages":"10","is_show_avatar":"1"}).render().start();} &lt;/script&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://daybreaker.info/blog/entry/if-else-%EC%82%AC%ED%9A%8C%EC%99%80-try-catch-%EC%82%AC%ED%9A%8C?commentInput=true#entry1076WriteComment"&gt;댓글 쓰기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
			<category>살아가기, 생각하기</category>
			<category>IT</category>
			<category>개발</category>
			<category>정치</category>
			<category>프로그래밍</category>
			<author>me@daybreaker.info (daybreaker)</author>
			<guid>http://daybreaker.info/blog/1076</guid>
			<comments>http://daybreaker.info/blog/entry/if-else-%EC%82%AC%ED%9A%8C%EC%99%80-try-catch-%EC%82%AC%ED%9A%8C#entry1076comment</comments>
			<pubDate>Tue, 26 Jul 2011 21:11:30 +0900</pubDate>
		</item>
		<item>
			<title>촉매</title>
			<link>http://daybreaker.info/blog/entry/%EC%B4%89%EB%A7%A4</link>
			<description>&lt;p&gt;하나씩 놓고보면 별것 아니게 넘길 수 있는 것들이 모여 어떤 촉매를 만나 걷잡기 힘든 상황이 되어버렸다. 잠시 나 자신에게 침잠하고 싶은데 모든 것을 내려놓고 멈추기엔 사회적 관계와 책임 때문에 할 수 없는 상황이 안타깝다. 무엇보다도, 나뿐만 아니라 다른 사람들도 각자 어떤 종류의 한계를 가지고 있음을 느꼈고 결국 선택은 혼자 하는 것이라는 걸 알기에 더욱 그렇다. 사람들에게 털어놓아 안정은 될수 있지만 맡기고 의지할 수는 없으며 해결을 대신해주는 것도 아니니까. 이성적으로는 이것도 (어쩌면 누구나 한번쯤 하는) 한때의 고민이란 걸 알고 어떻게 대처하면 되겠다는 것도 알지만, 마음이 지치니 그냥 모든게 귀찮고 싫어진다. 하느님에게 모든 것을 맡기고 의지한다 해도, 자유의지를 주신 이유가 다름이 아니고 무어랴.&lt;/p&gt;
&lt;iframe src="http://www.facebook.com/plugins/like.php?locale=ko_KR&amp;amp;href=http%3A%2F%2Fdaybreaker.info%2Fblog%2Fentry%2F&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=550&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow=hidden; width:550px; height:26px; margin-top:10px; margin-left:5px"&gt;&lt;/iframe&gt;&lt;script type="text/javascript" src="http://tweetmix.net/js/widgetV2.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;if(("TMXW" in window)) { new TMXW.Widget({"shape":"default","target_url":"http://daybreaker.info/blog/entry/","widget_title":"\uc774 \uae00\uacfc \uc5f0\uad00\ub41c \ud2b8\uc717","default_msg":"","width":"550","height":"450","color_upper_back":"93C9E6","color_upper_text":"FFFFFF","color_tweet_back":"FFFFFF","color_border":"EBEBEB","color_text":"888888","color_link":"2ABBD4","widget_type":"1","btn_type":"1","max_messages":"10","is_show_avatar":"1"}).render().start();} &lt;/script&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://daybreaker.info/blog/entry/%EC%B4%89%EB%A7%A4?commentInput=true#entry1075WriteComment"&gt;댓글 쓰기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
			<category>살아가기, 생각하기</category>
			<author>me@daybreaker.info (daybreaker)</author>
			<guid>http://daybreaker.info/blog/1075</guid>
			<comments>http://daybreaker.info/blog/entry/%EC%B4%89%EB%A7%A4#entry1075comment</comments>
			<pubDate>Mon, 04 Jul 2011 00:35:27 +0900</pubDate>
		</item>
		<item>
			<title>무엇을 위한 경쟁이고 노력인가</title>
			<link>http://daybreaker.info/blog/entry/%EB%AC%B4%EC%97%87%EC%9D%84-%EC%9C%84%ED%95%9C-%EA%B2%BD%EC%9F%81%EC%9D%B4%EA%B3%A0-%EB%85%B8%EB%A0%A5%EC%9D%B8%EA%B0%80</link>
			<description>&lt;p&gt;오늘 학교에서 방송통신위원회 최시중 위원장의 강연이 있었다. &amp;#8216;우리는 무엇으로 사는가, 행복과 선택&amp;#8217;이라는 제목의 강연이었고, 내용은 제목에서 짐작할 수 있다시피 &amp;#8220;좋은 말씀&amp;#8221;들로 이루어져있었다. 그래도 우리나라에서 상당한 영향력을 가진 인물이기도 하고, 아이패드2 추첨(!)도 한다기에 어떤 사람인지 얼굴이나 한번 보자 하고 가본 것이었다.&lt;/p&gt;

&lt;p&gt;강연 내용은 평이했고, 끝나고 2개의 질문이 있었다. 첫번째는 어느 교수님의 질문이었는데 평등의식과 교육열이 우리나라가 IT 강국으로 도약하는 밑거름이 되었다는 것과 최시중 위원장 자신도 어려운 어린 시절을 보냈지만(중1 때 6·25 겪음) 극기와 노력으로 이 자리에 섰다는 내용에 대해, 최근의 젊은 세대들은 노력해도 성공하기 어렵다는 어떤 좌절감을 많이 느끼는데 그런 점에 대해 어떻게 생각하느냐라는 것이었다.&lt;/p&gt;

&lt;p&gt;아쉽게도 강연 내용처럼 답변도 평이했다. 이명박도 농부의 아들이고 자기도 어부의 아들이었으며 어려운 환경 속에 부단히 노력해서 성공한 것이니 열정을 가지면 해결된다는 것이다.&lt;/p&gt;

&lt;p&gt;두번째 질문은 어느 07학번 학생이 했는데 맨 마지막 슬라이드에서 &amp;#8216;공짜로 얻을 수 있는 것은 없다&amp;#8217;는 내용 설명 중에 지속가능한 발전을 위해선 무조건적 무상복지만 생각하면 안 된다는 언급이 잠깐 들어간 것을 두고, 그럼 위원장님은 어떤 것이 모든 사람들이 함께 잘 살기 위한 복지모델이라고 생각하느냐라는 것이었다.&lt;/p&gt;

&lt;p&gt;이것에 대한 답변은 이랬다. 일단 이 강연은 일반론적인 맥락에서 이야기하는 것이지 정치적인 이야기가 아니라고 못박은 다음, 최근 이슈가 되었던 통신료 인하를 예로 들며 통신사들이 지속적인 망 고도화 투자를 하려면 소비자들이 원하는 대로 다 인하해줄 수는 없듯이 복지도 그런 관점에서 봐야 한다는 것이었다.&lt;/p&gt;

&lt;p&gt;무상복지에 대한 두번째 질문이야 개인마다 견해가 다를 수 있는 부분이니 그렇다치더라도, 첫번째 질문에 대한 답변은 많이 아쉬웠다.&lt;/p&gt;

&lt;p&gt;강연 주제가 &amp;#8216;행복&amp;#8217;이었던만큼, 무엇이 사람을 행복하게 하는가에 대해서 먼저 생각해볼 필요가 있다. 개인적으로 나는 우리 가족이 매우 행복하다고 생각하고 있고 이 부분은 부모님과도 함께 공유하고 있는데, 우리 스스로는 그 행복이 &amp;#8216;앞으로 삶이 더 나아질 것이라는 믿음&amp;#8217;에 있다고 보고 있다. 마찬가지로, 사회적 관점에서 개인의 행복이라는 것도 각 개인이 지금 현재 어떤 상황에 있든지 앞으로 노력하면 내가 더 잘 될 것이라는 믿음, 내가 원하는 것을 성취할 수 있다는 믿음이 있을 때 당장은 힘들더라도 행복할 수 있을 것이다.&lt;/p&gt;

&lt;p&gt;그런데 그 교수님이 이야기한 것처럼 최근의 젊은 세대가 좌절감을 느끼는 이유는 단순이 열정이 부족해서가 아니다. (답변으로 미루어보건대 그 점을 인식하지 못하고 있음이 안타까웠다.) 대한민국이 이제는 헌법에서 이야기하는 사상과 종교의 자유나 선거를 통한 정치권력 교체 등 기본적인 자유 민주주의의 틀은 어느 정도 갖추었지만, 갈수록 심해지는 경제적 불평등과 기존에는 학연과 지연이 계층간 진입장벽이었다면 이제는 경제력의 차이가 진입장벽이 되고 있다는 점을 간과해서는 안 된다. 또한 새로운 시도를 가로막는 규제와 통제는 날로 늘어만 가고(그것도 특히 IT 분야에서) 언론조차도 광고수입과 재벌유착에 의해 좌지우지되는 현실을 보면 정치적으로는 계급이 없는 사회이지만 경제적으로는 계급이 존재하는 사회에 더 가깝다는 것을 알 수 있다.&lt;sup id="fnref:capitalism"&gt;&lt;a href="http://daybreaker.info/blog/entry/%EB%AC%B4%EC%97%87%EC%9D%84-%EC%9C%84%ED%95%9C-%EA%B2%BD%EC%9F%81%EC%9D%B4%EA%B3%A0-%EB%85%B8%EB%A0%A5%EC%9D%B8%EA%B0%80#fn:capitalism" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; 이러한 사회 분위기 속에서 말마따나 높은 교육열로 치열한 경쟁에 내몰린 사람들은 그 경쟁의 과실이 자신한테 돌아온다는 믿음을 잃어버린 것이다.&lt;/p&gt;

&lt;p&gt;최근의 신부님 강론 중에서 가장 고통스러운 것이 무엇인가하는 질문에 대한 답으로 성서에서 욥의 이야기를 예로 들며 &amp;#8216;고통 자체가 아니라 그 고통의 의미를 모르는 것&amp;#8217;이라고 했던 것이 기억에 남는다. 경쟁 과정 자체는 고통스럽지만, 그것을 이겨낼 수 있다는 믿음과 이겨냈을 때 그 과실을 얻을 수 있다는 믿음이 있으면 버틸 수 있지만, 자신이 속한 시스템 때문에 반드시 해야 하는 경쟁이지만 그 경쟁을 통해 경쟁자들 자신이 아닌 다른 누군가가 이득을 보는 상황이라면 누가 행복하겠는가.&lt;/p&gt;

&lt;p&gt;물론, 언제나 그렇듯 젊은 세대·기성 세대를 막론하고 소수의 과실을 따먹는(내지는 독점하는) 사람들이 생긴다. 그런 사람들은 이른바 &amp;#8216;성공한 사람&amp;#8217;이 된다. 어떻게 보면 최시중 위원장 본인도 그 어려운 시기에 태어난 다른 대다수의 사람들과 달리 사회적으로 큰 영향력을 가진 자리에 올랐으니 그러한 사례라고 할 수 있겠다. 그 사람들의 부단한 노력을 무시하면 안 되지만, 그 사람들이 가졌던 기회와 희망을 지금의 젊은이들이 그대로 가지고 있는지는 재고해볼 필요가 있다. 그때는 모든 것이 부족한 시절이었기 때문에 힘들었지만 대신 그 부족한 것들을 채울 수 있는 기회가 많았다. 지금은 물질적으로 훨씬 풍요로워졌지만 기득권층이 새로운 시도와 변화를 막으려고 하는 모습을 보이고 있기 때문에 사람들이 기회에 대한 믿음을 잃어가고 있다. 실제로 기회가 있느냐 없느냐와는 별개로 말이다. 문제는 이미 성공한 사람들은 기회가 있으니 노력하면 된다는 것만 강조할 뿐, 기회에 대한 믿음(=희망)을 잃게 만드는 상황에 대해선 이야기하지 않는다는 점이다.&lt;/p&gt;

&lt;p&gt;강연 끝나고 같이 들었던 선배와 밥먹으며 이야기하다가, 예전에 장병규 선배님이 오셔서 강연했을 때 누군가 &amp;#8216;실패했던 경험을 들려주세요&amp;#8217;라고 했더니 매우 난감한 표정을 지으며 &amp;#8216;성공만 해봐서 모르겠다&amp;#8217;라고 하는 바람에 갑자기 확 공감이 안 되더라 하는 경험담을 들었다. 오늘 강연에서도 겸손해야 한다는 말이 나왔는데, 그래서 성공한 사람들이 항상 감사하고 겸손해야 하는 것이 아닌가 하는 생각이 들었다.&lt;/p&gt;

&lt;p&gt;최근 &amp;#8216;나는 가수다&amp;#8217;나 &amp;#8216;위대한 탄생&amp;#8217;과 같은 TV 프로그램들이 인기를 얻는 것도 일반인들이 거기에 출연하는 가수 지망생들에게 공감할 수 있기 때문이 아닐까 한다. 기존 가수나 아이돌들도 많은 노력과 인내의 시간을 통해 그 자리에 있게 된 것이지만(이쪽은 &amp;#8216;강심장&amp;#8217; 같은 프로그램을 보면 알 수 있다), 누구나 끼가 있는 사람이라면 보다 손쉽게 시도해볼 수 있게 해주었다는 점과 출연자들의 구구절절한 사연을 통해 그들이 겪은 어려움을 직접 노출시켜주기 때문에 보다 쉽게 공감하는 것이다.&lt;/p&gt;

&lt;p&gt;요는, 모든 부를 똑같이 나누어 공산주의처럼 살자는 것이 아니라, 기회의 평등을 제공하고 누구나 노력하면 잘 될 수 있다는 희망을 가질 수 있게 해주어야 한다는 것이다.&lt;sup id="fnref:anxiety"&gt;&lt;a href="#fn:anxiety" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; 그러려면 투명하고 공정하며 믿을 수 있는 사회가 되어야 한다. 오늘 강연을 들으며, 우리나라 IT 산업에 막대한 영향을 가지고 있는 최시중 위원장이 그런 희망에 대한 생각을 묻는 질문에서 신중한 고려를 보이지 않았음에 실망했다.&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr /&gt;
&lt;ol&gt;

&lt;li id="fn:capitalism"&gt;
&lt;p&gt;이런 관점에서, 자유민주주의와 대의적 정치 제도가 과연 자본주의 체제에서 완전한 공정성을 가질 수 있는가에 대한 회의적 시각도 있다.&amp;#160;&lt;a href="#fnref:capitalism" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:anxiety"&gt;
&lt;p&gt;요새 인터넷 돌아다니다보면 뭔가 조금만 기득권에 반하는 이야기만 하면 빨갱이 좌파라고 하는 것이 많이 보여서 노파심에 적은 말이다. 지금의 제도와 상황을 부정하는 것이 아니라 &amp;#8216;그것이 최선인가요?&amp;#8217;라고 묻는 거라고 이해해주면 좋겠다.&amp;#160;&lt;a href="#fnref:anxiety" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
&lt;iframe src="http://www.facebook.com/plugins/like.php?locale=ko_KR&amp;amp;href=http%3A%2F%2Fdaybreaker.info%2Fblog%2Fentry%2F&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=550&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow=hidden; width:550px; height:26px; margin-top:10px; margin-left:5px"&gt;&lt;/iframe&gt;&lt;script type="text/javascript" src="http://tweetmix.net/js/widgetV2.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;if(("TMXW" in window)) { new TMXW.Widget({"shape":"default","target_url":"http://daybreaker.info/blog/entry/","widget_title":"\uc774 \uae00\uacfc \uc5f0\uad00\ub41c \ud2b8\uc717","default_msg":"","width":"550","height":"450","color_upper_back":"93C9E6","color_upper_text":"FFFFFF","color_tweet_back":"FFFFFF","color_border":"EBEBEB","color_text":"888888","color_link":"2ABBD4","widget_type":"1","btn_type":"1","max_messages":"10","is_show_avatar":"1"}).render().start();} &lt;/script&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://daybreaker.info/blog/entry/%EB%AC%B4%EC%97%87%EC%9D%84-%EC%9C%84%ED%95%9C-%EA%B2%BD%EC%9F%81%EC%9D%B4%EA%B3%A0-%EB%85%B8%EB%A0%A5%EC%9D%B8%EA%B0%80?commentInput=true#entry1074WriteComment"&gt;댓글 쓰기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
			<category>살아가기, 생각하기</category>
			<category>강연</category>
			<category>경쟁</category>
			<category>노력</category>
			<category>믿음</category>
			<category>방송통신위원회</category>
			<category>세미나</category>
			<category>최시중</category>
			<category>희망</category>
			<author>me@daybreaker.info (daybreaker)</author>
			<guid>http://daybreaker.info/blog/1074</guid>
			<comments>http://daybreaker.info/blog/entry/%EB%AC%B4%EC%97%87%EC%9D%84-%EC%9C%84%ED%95%9C-%EA%B2%BD%EC%9F%81%EC%9D%B4%EA%B3%A0-%EB%85%B8%EB%A0%A5%EC%9D%B8%EA%B0%80#entry1074comment</comments>
			<pubDate>Thu, 09 Jun 2011 14:39:34 +0900</pubDate>
		</item>
		<item>
			<title>경쟁과 다양성</title>
			<link>http://daybreaker.info/blog/entry/%EA%B2%BD%EC%9F%81%EA%B3%BC-%EB%8B%A4%EC%96%91%EC%84%B1</link>
			<description>&lt;p style="text-align:center;font-size:1.5em;"&gt;삼가 고인들의 명복을 빕니다&amp;#8230;&lt;/p&gt;

&lt;p&gt;사실 나는 워크샵 논문 데드라인이 일주일 정도밖에 남지 않았고, 오늘 미팅하고 내일 미팅도 있는 그런 급한 상황이다. 그래서 이미 세 차례나 있었던 자살 사건들을 보고 또 여러 경로로 여러 관점의 이야기들을 접하면서도, 일단 데드라인이 지난 후에 생각을 좀 정리해볼까 했었는데, 오늘 또다른 비보를 접하고 더 이상은 안 되겠어서 글로 쓴다.&lt;/p&gt;

&lt;p&gt;우리나라에서 한 해 대학생들의 자살 수가 2~3백명 정도 된다고 하지만&lt;sup id="fnref:stat"&gt;&lt;a href="http://daybreaker.info/blog/entry/%EA%B2%BD%EC%9F%81%EA%B3%BC-%EB%8B%A4%EC%96%91%EC%84%B1#fn:stat" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;, KAIST는 우리나라 최고의 인재들을 모아놓고 전략적으로 과학기술 인력을 양성하는 곳이라는 상징성이 있기에 그 파장이 더욱 크다. 게다가 이렇게 짧은 기간에 많은 자살이 발생한 것은 이번이 처음이다.&lt;/p&gt;

&lt;p&gt;이 문제를 바라보는 시각은 학점에 따른 징벌적 수업료 부과, 재수강 제한, 연차초과 수업료 부과 등에 따른 지나친 학업 스트레스와 경쟁 분위기 때문이라는 시각이 일단 지배적이다. 그런 문제들을 해결해야 한다는 점은 나도 동의한다.&lt;/p&gt;

&lt;p&gt;실제로 2007년 이후 많은 비학업 동아리가 위축되는 경향을 보여왔으며, 일부 과목을 제외하고 대부분 상대평가를 시행하는 우리학교 상황에서 학점에 따른 수업료 부과는 심리적으로 아주 큰 압박이 된다. 안 그래도 전국의 과학고와 여러 고등학교에서 모아놓은 우수한 학생들끼리 경쟁하고 있는데, 최근에는 입학사정관제라면서 &amp;#8216;공부를 잘 하는&amp;#8217; 학생이 아닌 &amp;#8216;창의력 있는&amp;#8217; 학생을 뽑기 시작했고 그 결과로 나타난 것이 올해 처음 있었던 로봇영재 조군의 자살이었다.&lt;/p&gt;

&lt;p&gt;서남표 총장이 3일 전에 전체 이메일을 돌렸다. 그 중에 두 문단을 뽑아보면 이렇다.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;학생들은 미래에 직면할 도전이나 기회에 대해 실제 겪어 볼 수 없고, 막연하게
  ‘그럴 것이다’라는 상상만 하기에 장래에 대한 불안감을 많이 느낍니다.
  그러나 한편으로 생각해보면, 오늘날 우리는 예전 세대들이 가질 수 없었던 많은  편리와 기회를 누리고 있으며, 가중된 압박감은 현대사회를 살아가면서 우리가 지불해야 되는 대가일 수도 있습니다.
  우리 삶은 거의 모든 면에서 상응관계(quid pro quo)로 이루어져 있다고 봐도  과언이 아닙니다.
  이 세상 그 무엇도 공짜로 얻을 수 있는 것은 없습니다.
  노력 없이, 고통 없이, 희생 없이는 아무것도 성취할 수 없습니다.&lt;/p&gt;
  
  &lt;p&gt;궁극적으로 해결책은 우리들 각자의 마음과 자세에 달렸다고 봅니다.
  만일 우리가 ‘항상 이길 수는 없으며, 나중에 이기기 위해 때로는 지금  질 수 있다’는 생각을 받아들일 수만 있다면, 우리는 이런 문제를 충분히 극복할 수 있다고 봅니다.
  우리 주위의 성공한 사람들도 이전에 수없이 실패하고 좌절해봤기 때문에 현재의 위치에 있는 것입니다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;그냥 아무런 맥락 없이 보면 위인전에 나올 것 같은 &amp;#8216;좋은&amp;#8217; 말이다. 하지만 학생들이 몇 명씩 자살하고 있고, 그 원인 중 하나가 자신이 만든 학교의 지나친 경쟁 시스템이며, 그러한 상황 속에서 학교 구성원들에게 애도의 뜻을 표하며 보내는 것임을 생각한다면 과연 이런 말을 떳떳이 고개들고 한다는 것이 가능한지 묻고 싶다. 보는 관점에 따라 남은 학생들에게 더 노력하면 된다고 말한 거라 볼 수 있겠지만, 여기서 말하는 희생이 자살한 학생들을 가리키는 거라고 생각하면 섬뜩하지 않은가.&lt;/p&gt;

&lt;p&gt;서남표 총장은 세계 최고의 수준에 다다르기 위해서 경쟁은 꼭 필요하다고 주장하고 있다. 하지만 그것이 매우 제한적인 부분에서만 사람을 평가할 수 있는 학점이 중심 기준이 되어서는 안 된다. 학점을 잘 받는 사람들이 대체로 성실하고 맡은 바 일을 잘 해내는 경향은 있지만, 학점을 잘 받지 못하는 사람이라도 학점을 잘 받는 사람만큼이나 혹은 그 이상의 가치있는 일을 충분히 해낼 수 있다. 그리고 역사적으로 breakthrough는 그런 사람들에게서 더 많이 나왔다. 그리고 경쟁이 가장 좋은 효과를 발휘하는 것은 제도적으로 강제하는 것이 아니라, 내가 우수한 사람들과 함께 하고 있기에 자연스럽게 발생하는 peer pressure가 클 때다. KAIST라면 그 조건은 충분히 만족한다고 생각한다.&lt;/p&gt;

&lt;p&gt;스마트폰이 대중화되면서 우리나라도 스티브잡스나 빌게이츠를 양성해야 한다는 이야기가 많이 들린다. 그리고 KAIST는 우수한 이공계 인력을 육성한다는 취지 아래 일정 부분 우리나라에 그러한 인재를 공급하는 역할을 해왔다. 하지만 그런 인재들은 체계적으로 양성하려고 하면 오히려 더 멀리 달아나버리는 특성이 있다. 틀에 얽매이는 것이 싫기 때문이다.&lt;/p&gt;

&lt;p&gt;언젠가 전산과 김진형 교수님이 하신 말씀 중에, 전산과에서 학점 잘 받는 그런 학생이 아니라 학점 좀 안 나와도 정말 &amp;#8216;슈퍼코더&amp;#8217;가 될 수 있는 그런 사람들도 받아들이고 키울 수 있어야 한다는 이야길 하셨던 기억이 난다. (아마 그런 생각이 좀더 정제된 것이 &lt;a href="http://profjkim.egloos.com/1599544"&gt;이런 것&lt;/a&gt; 아닐까 싶다) 돌이켜보면, 내가 학부 저학년이었을 때 동아리 고학번 선배들이나 더 위의 90년대 학번 선배들 이야기를 들어보면, 수업 좀 땡땡이치고 그러면서 며칠 밤낮을 만들어보고 싶은 거 만들어보고 그랬다고 한다.&lt;sup id="fnref:scholar-vs-eng"&gt;&lt;a href="#fn:scholar-vs-eng" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; 실제로 그런 사람들 중에 &lt;a href="http://www.hacklib.com/Security/Story/postech.html"&gt;크게 사고를 친(?) 케이스&lt;/a&gt;도 있었고, 그런 사람들이 지금은 벤처기업가가 되어 역할모델이 되기도 한다.&lt;sup id="fnref:venture1"&gt;&lt;a href="#fn:venture1" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; &lt;sup id="fnref:venture2"&gt;&lt;a href="#fn:venture2" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;과연 지금의 KAIST 학사 경쟁 시스템에서 그런 사람들이 나올 수 있을까? 공부를 잘하고 유학가고 대학원에서 좋은 논문을 쓰는 사람들, 그리고 엘리트코스를 밟아 사회지도층이 되는 사람들은 나올 수 있을 것이다. 하지만 세상에 없던 새로운 것을 기존 제도적 틀을 깨고 만들어내는 사람은 나오기 어렵다.&lt;/p&gt;

&lt;p&gt;예전의 KAIST는 비록 학점이 좀 안 좋아도 학교는 마음껏 다닐 수 있었고, 이미 학사경고 제도를 통해 정말 최소한의 한계점은 지정해놓고 있었다. 그런 환경에서 어떤 사람들은 열심히 공부해서 20대에 박사 따고, 어떤 사람은 사고 치면서 10년만에 겨우겨우 졸업했지만 벤처로 성공하기도 했다. 과연 후자가 전자보다 못하며, 국가의 세금을 낭비해 공부시키는 것이라고 말할 수 있을까? 그리고 대학교육이란 그러한 사람들이 각자 자신의 길을 갈 수 있도록 도와주는 것이지 모두가 공부 잘 하는 길을 가도록 만드는 것은 아닐 것이다. KAIST가 또 하나의 학원이자 세금으로 운영하는 사교육장이 되지 않으려면 그런 점을 살려야 한다.&lt;sup id="fnref:edu"&gt;&lt;a href="#fn:edu" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;이제는 조금 다른 관점에서 이야기를 해보려 한다.&lt;/p&gt;

&lt;p&gt;일련의 자살들은 모두가 똑같이 학업 스트레스가 원인인 것은 아니다. 최근의 한 학생 같은 경우는 과학고 출신에 공부도 곧잘 하는 경우기도 했다. 여러 경로로 전해들은 바, 몇몇은 이성관계나 인간관계에서의 스트레스 및 원래 가지고 있던 우울증 등이 좀더 큰 원인이 되었던 것 같다.&lt;/p&gt;

&lt;p&gt;중학교 고등학교 때 열심히 공부해서 과학고-KAIST 코스를 밟든, 혹은 자기가 좋아하는 분야만 깊게 파다가 입학사정관의 눈에 띄어 들어오게 되었든, 대체로 이공계 분야 특성 상 사람들이 외골수 경향을 보이는 편이다. 왜냐하면 고도의 집중과 온 뇌를 동원한 맥락 구성이 뒷받침되지 않으면 복잡한 과학기술 문제를 풀기 어렵기 때문이다. (불행히도 사람의 뇌가 이런 쪽으로 친절하게 진화되지 않은 듯하다.)&lt;/p&gt;

&lt;p&gt;그렇다보니 대학이라는 기존에 경험해보지 못한 넓은 공간에서 인간관계에 어려움을 겪는 경우가 많다. 나도 학부 저학년 때 동아리 2개를 한꺼번에 뛰다가 맡았던 일을 제대로 하지 못하고 그렇다고 다른 사람한테 넘겨주거나 대안을 마련하지도 않고(그 정도는 할 시간과 기회가 있었음에도) 그래서 인간관계에서 좀 힘들었던 적이 있다. 또 어떤 경우에는 동아리 정모에서 선배들의 &amp;#8216;까대기&amp;#8217;와 설전이 오가는데 그 분위기가 자못 무거워서 부담스럽게 느껴졌던 적도 있다. 지금 와서 보면 별 것 아닌 일들이었지만.&lt;/p&gt;

&lt;p&gt;어쨌든 내가 잘 견디고 그런 경험들을 반면교사 삼아 조금 더 성숙해질 수 있었던 것은 나름대로의 스트레스를 해소할 수 있는 길이 있었기 때문이다. 여러 지역사회 활동을 하며 다양한 좋고 나쁜 인간관계를 겪어보신 어머니 덕분에 인간관계 문제가 있을 때 어머니와의 상담과 격려가 큰 도움이 되었고, 개인적으로는 스트레스 상황일 때 피아노를 두들긴다(&amp;#8230;)거나 하는 방법들도 사용한다. 또, 종교적인 문제를 깊이있게 터놓고 이야기할 수 있는 친구나 geek한 전산 이야기를 마음껏 나눌 수 있는 친구도 있고, 서로 자기가 작곡한 곡을 쳐주며 교감할 수 있는 친구도 있다. 그런 취미나 인간관계에서의 소소한 다양성과 유대감은 스트레스 해소의 직간접적인 수단임과 동시에 자신이 좋은 사람, 가치 있는 사람이라는 사실을 스스로 깨닫게 해줌으로써 삶의 질을 높이는 데 중요한 역할을 한다.&lt;/p&gt;

&lt;p&gt;학창시절 내게 가장 큰 힘이 되었던 건 어렸을 때부터 학교 끝나고 돌아오면 그날 있었던 일을 털어놓으면 항상 들어주셨던 어머니의 격려였지만, 집에서 멀리 떨어져 기숙사 생활을 하며 항상 그걸 기대하기는 힘든 일이다. 그렇기 때문에 많은 학생들이 가족 중심의 인간관계에서 동아리나 수업 등 여러 활동을 통해 만나는 친구들과 선후배가 인간관계의 중심에 서게 된다. 그런데 이성문제가 생기거나 그런 인간관계 속에서 갈등이 표면화되기 시작하면 큰 스트레스를 받을 수밖에 없다. 특히나 학부 저학년 때는 (지나고보면 학부 4~5년 금방이지만) 앞날이 막연해보이는 법이다. 기숙사 학교라는 특성 상 혼자 틀어박혀있기 좋고, 외골수 기질까지 더해지니 자신만의 세계에 갇히기 매우 쉬운 환경이라 더 그렇다.&lt;/p&gt;

&lt;p&gt;그래서 나는 후배들에게 무엇이든 간에 동아리 활동을 적극적으로 권장해왔고, 나는 이런저런 기회로 외부에서 오픈소스 활동을 하며 전산 분야의 다양한 사람들을 만남으로써 내가 스스로에게 갇히지 않을 수 있었다. 거듭 말하지만, &lt;strong&gt;KAIST는 일반적인 학생들은 물론이거니와 이미 정서적 문제를 가지고 있거나 불우한 가정환경을 가지고 있는 학생들은 특히나 자신만의 세계에 갇히기 매우 쉬운 곳이고 그렇기에 자살에 취약하다.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;서남표 총장이나 우리 학교에 이야기하고 싶은 것은, 경쟁에 몰아넣는 학사시스템을 없애고 각 개인이 스스로 자유롭게 길을 찾아갈 수 있는 시스템을 만들어달라는 것과, 거기에 더불어 학생사회가 더욱 다양성을 가지고 많은 동아리들이 자유로이 활동할 수 있도록 하는 것, 그리고 학생들끼리의 자연적인 커뮤니티가 발생할 수 있는 그런 기회와 공간을 제공해주었으면 하는 것이다. 기숙사와 강의실과 식당만 왔다갔다 하는 것이 아니라 어디 앉아서 친구들하고 이야기도 하고 함께 과제도 하고, 악기 연주를 할 수도 있고 맥주 마시고 떠들 수도 있고 그렇게 말이다. 하지만 일단 그러한 여유가 생기려면, 학업으로 인해 사람의 마음이 심정적으로 소모되어 지친 상태가 되면 안 되기에 학사제도 개선이 조금 더 시급한 문제라 생각한다. 건전한 경쟁은 꼭 필요하지만, 경쟁이 삶의 여유를 갉아먹도록 해서는 안 된다는 얘기다.&lt;/p&gt;

&lt;p&gt;외부에서는 KAIST 학생들은 세금으로 공부하는 것이고, 그래서 무조건 열심히 공부해서 국가에 공헌하는 것이 도리라고 보는 시각이 많다. 하지만 다양한 문물을 접하며 성장하는 지금의 학생들은 과거 70~80년대처럼 허리띠 졸라매어 하나에만 몰두하는 것이 더이상 정신적으로 쉬운 일이 아니다. 그보다는 그런 다양한 자극으로부터 시너지 효과를 일으켜 더 창의적인 실험이 이루어지도록 해야 한다. 시대도 그런 것을 원한다. KAIST 학생들은 공부하는 기계가 아니며, 특히나 이제는 그것을 강요당하고 싶어하지 않는다.&lt;/p&gt;

&lt;p&gt;KAIST는 이공계가 중심인 대학이지만, 공부만 강조할 것이 아니라 이제는 학생들이 감성적으로나 정신적으로 보다 성숙해지고, 인간관계를 다양화할 수 있는 방법에도 신경써야 한다. 물론 그것이 주가 될 수는 없겠지만, 세계 최고의 대학을 자부하는 만큼, 그리고 이제는 우리나라도 그런 부분에 신경쓸 수 있는 수준이 된 만큼 가능하고 또 해야 한다고 생각한다. 조금은 비약적인 생각이지만 사회 전체가 정신적으로 한쪽으로 쏠리기 쉽도록 병들어있는 것이 아닌가 싶기도 하다.&lt;/p&gt;

&lt;p&gt;어느 후배가 &lt;a href="https://twitter.com/#!/BaalDL/status/54744903925760001"&gt;트위터에 명언을 남겼다.&lt;/a&gt; &lt;strong&gt;명령하는 사회가 아닌 설득하는 사회&lt;/strong&gt;가 되었으면 좋겠다고. 공부하라고 명령하는 학교가 아니라, 자연스럽게 자신을 위해 공부하고 싶어지는 학교가 되었으면 좋겠다.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;추가:&lt;/strong&gt; 사실 나는 이 글을 다소 마음이 급한 상황에서, 하고 싶은 얘기가 많은 채 적다보니 좀 정리가 안 된 감이 있다. 그래서 이 사안에 대해서 무엇이 본질이고 중요한 문제인지, 앞으로 나아가야 할 방향에 대해서 아주 잘 정리한 글이 있어 링크한다. &lt;a href="http://zheone.byus.net/room/396"&gt;카이스트, 4월 7일&lt;/a&gt;&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr /&gt;
&lt;ol&gt;

&lt;li id="fn:stat"&gt;
&lt;p&gt;&lt;a href="http://media.daum.net/society/others/view.html?cateid=1067&amp;amp;newsid=20110327214040031&amp;amp;p=imbc"&gt;2011년 3월 27일자 MBC 뉴스 &amp;#8220;벼랑 끝 대학생들‥한 해 2-3백명 자살&amp;#8221;&lt;/a&gt;&amp;#160;&lt;a href="#fnref:stat" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:scholar-vs-eng"&gt;
&lt;p&gt;내가 대학원에 와서 특히 더 많이 느끼는 것이지만, 학문적 성취가 실질적으로 사람들에게 이용되고 가치를 창출하기 위해서는 공부를 잘 하는 사람보다는 삽질(전산과를 예로 들면 프로그래밍 그 자체)을 잘 하는 사람도 있어야 한다. 공부를 잘 하는 사람은 학문을 하면 되지만, 엔지니어링이 결합되지 않으면 학문에서 나온 결과를 활용할 수 없다. 나도 가끔 내가 학문을 하는 사람이 되어야 할지 엔지니어링을 하는 사람이 되어야 할지 고민할 때가 있다.&amp;#160;&lt;a href="#fnref:scholar-vs-eng" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:venture1"&gt;
&lt;p&gt;CEO 노정석. &lt;a href="http://ablar.com/members"&gt;ABLAR Company.&lt;/a&gt; 이분은 블로그 벤처인 태터앤컴퍼니를 만들어 한국 기업 최초로 &lt;a href="http://tnccompany.blogspot.com/2008/09/%ED%83%9C%ED%84%B0%EC%95%A4%EC%BB%B4%ED%8D%BC%EB%8B%88-%EC%9D%B4%EC%A0%9C-google-%EA%B3%BC-%ED%95%A8%EA%BB%98-%ED%95%A9%EB%8B%88%EB%8B%A4.html"&gt;구글에 인수&lt;/a&gt;되도록 하기도 했고, 지금의 &lt;a href="http://www.tistory.com"&gt;티스토리&lt;/a&gt;도 태터앤컴퍼니의 작품이다.&amp;#160;&lt;a href="#fnref:venture1" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:venture2"&gt;
&lt;p&gt;장병규 본엔젤스 대표, 블루홀스튜디오 대표. &lt;a href="http://kong-textcube.blogspot.com/2008/10/%EC%A2%8B%EC%9D%80-%EC%82%AC%EB%9E%8C%EB%93%A4-%EC%9E%A5%EB%B3%91%EA%B7%9C-%EC%A0%84-%EC%B2%AB%EB%88%88-%EB%8C%80%ED%91%9C.html"&gt;인터뷰 참조.&lt;/a&gt;&amp;#160;&lt;a href="#fnref:venture2" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:edu"&gt;
&lt;p&gt;KAIST는 연구중심대학이라고 스스로를 표현해왔는데, 사실 교육과 연구 사이에서 어떻게 중심을 잡아야 하는가에 대해선 논란이 있고, 교육도 좋은 연구를 하기 위한 교육이냐 실용적인 기술들을 잘 다루게 하기 위한 교육이냐에 따라 방향이 많이 다르다. 이점에서 전산과도 이론 분야와 공학 분야는 하는 일도 그렇고 요구되는 능력도 매우 다르다. 그래서 김진형 교수님이 슈퍼코더 양성에 대해 새로운 대학이라도 만들어야 하나 하고 고민하셨던 것이다. (&lt;a href="http://profjkim.egloos.com/1599544"&gt;링크 참조&lt;/a&gt;)&amp;#160;&lt;a href="#fnref:edu" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
&lt;iframe src="http://www.facebook.com/plugins/like.php?locale=ko_KR&amp;amp;href=http%3A%2F%2Fdaybreaker.info%2Fblog%2Fentry%2F&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=550&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow=hidden; width:550px; height:26px; margin-top:10px; margin-left:5px"&gt;&lt;/iframe&gt;&lt;script type="text/javascript" src="http://tweetmix.net/js/widgetV2.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;if(("TMXW" in window)) { new TMXW.Widget({"shape":"default","target_url":"http://daybreaker.info/blog/entry/","widget_title":"\uc774 \uae00\uacfc \uc5f0\uad00\ub41c \ud2b8\uc717","default_msg":"","width":"550","height":"450","color_upper_back":"93C9E6","color_upper_text":"FFFFFF","color_tweet_back":"FFFFFF","color_border":"EBEBEB","color_text":"888888","color_link":"2ABBD4","widget_type":"1","btn_type":"1","max_messages":"10","is_show_avatar":"1"}).render().start();} &lt;/script&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://daybreaker.info/blog/entry/%EA%B2%BD%EC%9F%81%EA%B3%BC-%EB%8B%A4%EC%96%91%EC%84%B1?commentInput=true#entry1073WriteComment"&gt;댓글 쓰기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
			<category>살아가기, 생각하기</category>
			<category>KAIST</category>
			<category>경쟁</category>
			<category>다양성</category>
			<category>사회</category>
			<category>자살</category>
			<author>me@daybreaker.info (daybreaker)</author>
			<guid>http://daybreaker.info/blog/1073</guid>
			<comments>http://daybreaker.info/blog/entry/%EA%B2%BD%EC%9F%81%EA%B3%BC-%EB%8B%A4%EC%96%91%EC%84%B1#entry1073comment</comments>
			<pubDate>Thu, 07 Apr 2011 22:35:23 +0900</pubDate>
		</item>
		<item>
			<title>도구의 중요성</title>
			<link>http://daybreaker.info/blog/entry/%EB%8F%84%EA%B5%AC%EC%9D%98-%EC%A4%91%EC%9A%94%EC%84%B1</link>
			<description>&lt;p&gt;인간은 도구를 사용할 줄 아는 동물이라 했던가? 사람이 지금처럼 문명의 혜택을 누리고 살 수 있는 것은 하루 종일 먹을 것을 찾기 위해 헤매지 않아도 될만큼 생산성이 좋아졌기 때문이다. 그러한 생산성은 바로 도구의 사용에서 비롯한다. 기왕이면 같은 일을 하더라도 좀더 빠르게, 적은 노력으로 할 수 있게 해주는 것이 도구다.&lt;/p&gt;

&lt;p&gt;현대인들은 거의 대부분이 컴퓨터를 사용한다. 나처럼 직업적으로 컴퓨터를 &amp;#8216;연구&amp;#8217;하는 사람도 있지만 그 정도는 아니더라도 인터넷 서핑, 게임, 문서 작업 같은 건 거의 누구나 하는 일이다. 그런 사실을 가만히 들여다보면, 컴퓨터의 목적도 도구임을 알 수 있다. 다만 할 수 있는 일이 아주 많은 조금 비싼 도구라는 정도?&lt;/p&gt;

&lt;p&gt;사람들이 컴퓨터로 하는 일 중에서 문서 작업을 예로 들어보자. 대부분 MS워드나 아래아한글 같은 워드프로세서를 이용할 텐데, 여러 문단의 서식을 한번에 바꾸거나 자동 목차 생성에 활용할 수 있는 &amp;#8216;스타일&amp;#8217; 기능을 제대로 쓰는 사람은 몇이나 될까? 또, 인터넷 서핑을 예로 들면 웹브라우저에 확장기능을 설치해 광고를 차단한다거나 마우스 제스처로 서핑을 좀더 편하게 하는 사람은 과연 몇이나 될까? 워드프로세서나 웹브라우저는 매우 많은 사람들이 사용하는 도구이지만, 의외로 이들 도구를 속속들이 잘 쓰는 사람은 많지 않다.&lt;/p&gt;

&lt;p&gt;아무래도 나는 전산을 공부하는 사람이고 직업적으로 다루는 사람이다보니, 남들하고 똑갈은 소프트웨어를 쓰더라도 어떻게 하면 그걸 더 잘 쓸 수 있을까를 고민하며 쓴다. (때론 직접 만들기도 하고.) 그러한 고민의 순간에는 약간의 시간과 노력이 소모되지만 대부분 시간이 지날수록 비약적인 생산성 향상을 가져온다는 것을 경험적으로 체득하고 있다.&lt;/p&gt;

&lt;p&gt;한 가지 아쉬운 것은, 위에서 이야기했듯 컴퓨터와 거기에 올려진 소프트웨어라는 아주 좋은 도구들&amp;#8212;표현하자면, 인류 문명의 가장 최첨단을 달리는&amp;#8212;을 제대로 쓰는 사람이 생각 외로 적다는 것이다.&lt;/p&gt;

&lt;p&gt;그 이유는 여러가지가 있는데, 그런 더 좋은 사용방법이 존재한다는 것 자체를 모르는 경우가 가장 많은 것 같다. 옆에서 누가 알려주기라도 하면 시도라도 해볼 텐데 말이다. 하지만 반대로 배울 의지도 있고 가르쳐줄 사람도 있지만 여러 현실적 여건(특히 시간부족) 때문에 그냥 넘어가는 경우도 많다. 그리고 대부분 이런 사용방법들은 책이나 매뉴얼을 그냥 읽는 것으로 습득되는 것이 아니라 자기 손으로 직접 그렇게 써봐야 익혀지는 경험적 지식이라서 더 전파속도가 느리다. RTFM(&amp;#8220;Read the fucking manual&amp;#8221;)이라는 말이 있긴 하지만, 결국 써보지 않으면 남지 않는다.&lt;/p&gt;

&lt;p&gt;내가 학부 때 SPARCS 동아리 활동과 Textcube 개발 활동을 하면서 얻은 소득이라면, 전산분야에서 많이 사용되는 여러 소프트웨어 도구들을 상당한 수준으로 쓸 수 있게 되었다는 점이다. 안타깝게도 학교 수업만으로는 그런 도구를 잘 쓰게 되기 매우 어렵고, 교수님들이 학생들에게 일일이 그런 것을 가르치는 것 또한 더 중요한 지식 전달에 방해가 될 뿐이다. 하지만 동아리에서는 몇몇 선배님들이 도구 사용의 중요성을 끊임없이 역설했고, 나또한 그러한 경험을 쌓으면서 그에 공감할 수 있었다. (좀더 넓은 인간관계를 경험해본다는 점에서도 동아리 활동이 중요하지만, 전산을 하는 사람이라면 도구를 제대로 익힌다는 점에서도 매우 중요하다.)&lt;/p&gt;

&lt;p&gt;아무리 이론적 지식이 많아도, 요즘엔 너무나 많은 아이디어가 쏟아지기 때문에 자기 아이디어를 prototype이라도 남에게 직접 보여주고 경험시켜주지 않으면 인정받기 어렵다. 그렇기 때문에 주어진 도구를 잘 사용하는 것은 자기 아이디어를 재빠르게 구현하는 데 이르는 가장 중요한 첫걸음이다. 그래서 도구를 잘 사용하기 위한 노력과 시간에 투자를 아끼지 않아야 한다.&lt;/p&gt;

&lt;p&gt;하지만 도구의 함정에 빠지는 것은 또 경계해야 할 일이다. 전산 분야에서 유명한 농담 중에 &lt;a href="http://blog.dahlia.pe.kr/articles/2009/09/11/yak-shaving"&gt;&amp;#8216;야크 털깎기(Yak shaving)&amp;#8217;&lt;/a&gt;라는 것이 있다. 원래 하려던 일은 나무를 깎으려던 것인데, 도끼가 더 잘 들면 나무를 더 빨리 벨 텐데 해서 도끼 날을 세우다가, 좋은 숫돌이 있으면 도끼 날을 더 잘 세울 텐데 해서 좋은 숫돌이 있는 곳을 수소문하고, 저 멀리 어디 있단 얘길 들어 야크를 타고 가려다가 야크 털을 깎고&amp;#8230; 로 이어지는 무한삽질(&amp;#8230;)을 비유한 것이다.&lt;/p&gt;

&lt;p&gt;한 마디로, 도구를 잘 다듬고 잘 배우는 것도 중요하지만 도가 지나치면 안 된다는 이야기다. 좀 불편하긴 해도 주어진 도구로 주어진 시간 내에 일을 끝낼 수 있다면 굳이 새로운 도구를 찾아나설 필요는 없다. 헌데 사람 마음이라는 게 그렇게 논리적으로만 동작하는 것은 아니라서 나도 가끔은 본래 목적과 상관 없는 엉뚱한 곳에 시간과 노력을 들이곤 한다. (바로 이전 글에서 이야기한 &amp;#8216;쓸데없는 장인정신&amp;#8217;이 이런 걸 두고 하는 말이다) 뭐&amp;#8230; 내 나름대로는 그런 작은 삽질들이 인류 발전에 기여한다고 위로하기도 하지만;;&lt;sup id="fnref:progress"&gt;&lt;a href="http://daybreaker.info/blog/entry/%EB%8F%84%EA%B5%AC%EC%9D%98-%EC%A4%91%EC%9A%94%EC%84%B1#fn:progress" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;아무튼 하고 싶은 이야기는, 우리가 일상에서 흔히 쓰는 소프트웨어들도 잘 알고 쓰면 좋은 기능이 많다는 것과 바쁠 땐 어쩔 수 없더라도 자신이 쓰는 도구를 좀더 잘 사용할 수 있도록 하는 노력을 게을리 하지 않는 자세를 가졌으면 하는 것이다. 괜히 평생교육이란 말이 나온 게 아니지 않을까.&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr /&gt;
&lt;ol&gt;

&lt;li id="fn:progress"&gt;
&lt;p&gt;이런 위안을 삼을 수 있는 건, 다른 분야에 비해 전산은 자신이 개선한 도구를 다른 사람들에게 전세계적으로 전파시키기 쉽다는 특징이 있기 때문이다. 오픈소스가 바로 그것이다.&amp;#160;&lt;a href="#fnref:progress" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
&lt;iframe src="http://www.facebook.com/plugins/like.php?locale=ko_KR&amp;amp;href=http%3A%2F%2Fdaybreaker.info%2Fblog%2Fentry%2F&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=550&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow=hidden; width:550px; height:26px; margin-top:10px; margin-left:5px"&gt;&lt;/iframe&gt;&lt;script type="text/javascript" src="http://tweetmix.net/js/widgetV2.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;if(("TMXW" in window)) { new TMXW.Widget({"shape":"default","target_url":"http://daybreaker.info/blog/entry/","widget_title":"\uc774 \uae00\uacfc \uc5f0\uad00\ub41c \ud2b8\uc717","default_msg":"","width":"550","height":"450","color_upper_back":"93C9E6","color_upper_text":"FFFFFF","color_tweet_back":"FFFFFF","color_border":"EBEBEB","color_text":"888888","color_link":"2ABBD4","widget_type":"1","btn_type":"1","max_messages":"10","is_show_avatar":"1"}).render().start();} &lt;/script&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://daybreaker.info/blog/entry/%EB%8F%84%EA%B5%AC%EC%9D%98-%EC%A4%91%EC%9A%94%EC%84%B1?commentInput=true#entry1072WriteComment"&gt;댓글 쓰기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
			<category>살아가기, 생각하기</category>
			<author>me@daybreaker.info (daybreaker)</author>
			<guid>http://daybreaker.info/blog/1072</guid>
			<comments>http://daybreaker.info/blog/entry/%EB%8F%84%EA%B5%AC%EC%9D%98-%EC%A4%91%EC%9A%94%EC%84%B1#entry1072comment</comments>
			<pubDate>Mon, 21 Mar 2011 01:45:23 +0900</pubDate>
		</item>
		<item>
			<title>엔지니어링의 어려움</title>
			<link>http://daybreaker.info/blog/entry/%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81%EC%9D%98-%EC%96%B4%EB%A0%A4%EC%9B%80</link>
			<description>&lt;p&gt;요즘 연구실에서 워크샵 논문을 하나 준비하고 있다. 얼핏 보면 그리 어렵지 않은 듯하면서도, 막상 실제로 구현하려면 꽤 생각해야 할 것이 있어서 생각보다 어려움을 겪고 있다. 이미 있는 코드 분량이 꽤 되고 리눅스 커널 드라이버도 함께 맞물려 돌아가는 프로그램인데다 성능도 민감하기 때문에 생각보다 고려해야 할 것이 많은 것이다.&lt;/p&gt;

&lt;p&gt;문제는 추상화다. 나도 &amp;#8216;추상화의 덫&amp;#8217;에 걸리지 않도록 조심해야 한다는 사실 정도는 알고 있지만, &amp;#8216;나중에 유지보수할 일&amp;#8217;을 생각해서 코드를 짤 때 되도록이면 기본적인 추상화는 하려고 하는 편이다. 하지만 프로그래밍에 데드라인이 생기면서부터는 이것이 만만치 않은 일이 된다. 추상화는 잘 할수록 나중에 좋지만, 데드라인이 있는 일에서는 결국 어느 정도 수준까지만 하고 포기해야 하는데, 가끔 이럴 때 장인정신(&amp;#8230;)이 발휘되면 곤란한 상황에 처한다.&lt;/p&gt;

&lt;p&gt;이쪽 시스템 분야로 내공을 쌓으신 연구실 선배와 이야기하다보면 많이 느끼는 차이점이 있다. 프로그램의 어떤 부분에서 임의의 16-bit integer key로 table lookup을 해야 하는데 나는 이것을 hash table로 짜야 되나, 그럼 이걸 어떻게 간단하게(적은 노력으로) 짤 수 있을까, 라이브러리를 쓴다면 뭘 쓰는 게 좋을까, C++ 인터페이스를 쓰는 게 좋을까 그냥 C로 하는 게 좋을까, random dereference를 하면 그 자체가 lookup 오버헤드가 되지는 않을까 등등등을 꼬리에 꼬리를 물고 고민하는데, 선배들과 이야기해보니 간단하게 그 table에 들어가는 item 개수가 많아야 수백개 정도일 것이므로 그냥 array에 때려박고 index로 접근하게 한 다음 table 변경될 때도 일부만 잘 고치려 할 필요 없이 전체 다 재생성하도록 해보고 나중에 성능 보고 더 나은 방법을 쓸지 말지 결정하자는 결론이 나왔다.&lt;/p&gt;

&lt;p&gt;그러니까 요는 처음부터 너무 미래의 걱정을 하지 말라는 이야기다. 일단 지금 필요한 수준에 맞게만 구현하고 문제가 있으면 그때 가서 고치자는 것. 이 이야기를 건축에 비교해볼 수 있다. 물리학이나 공학이 지금처럼 발전하기 전에는 (상징성이나 예술성이 목적인 경우를 제외하면) 같은 기능적 목표를 충족시키기 위해 지금보다 훨씬 많은 재료가 들어갔으나 기술이 발전할수록 점점 그것이 최소한 필요한 만큼만 쓰게 되는데&amp;#8212;사실 건축뿐만 아니라 많은 분야가 그렇다&amp;#8212;처음부터 프로그램을 모든 경우를 대비해서 비대하게 짤 필요 없이 필요한 만큼씩만 덧붙여나가는 것이 이와 비슷하다.&lt;/p&gt;

&lt;p&gt;그나마 &amp;#8216;얼핏 보기에 간단한&amp;#8217; 정도의 일도 이런 고민을 하게 만드는데, &amp;#8216;얼핏 보기에도 어려운&amp;#8217; 정도의 일을 하려면 아직도 내공을 더 많이 쌓아야 할 것 같다. 프로그래밍이라는 게 항상 끊임없는 의사결정의 과정인지라 개발자 자신이 처한 사회적 맥락, 프로그램 코드가 속해있는 기술적 맥락 모두를 잘 꿰뚫어보지 않으면 여러 의미로 좋은 코드가 나오기가 정말 어렵다.&lt;/p&gt;

&lt;p&gt;(살짝 덧붙이자면, 그래도 ipv4와 ipv6를 하나의 인터페이스로 통합하려고 했던 시도는 그나마 빨리 접어서(&amp;#8230;) 다행이다. -0-)&lt;/p&gt;
&lt;iframe src="http://www.facebook.com/plugins/like.php?locale=ko_KR&amp;amp;href=http%3A%2F%2Fdaybreaker.info%2Fblog%2Fentry%2F&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=550&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow=hidden; width:550px; height:26px; margin-top:10px; margin-left:5px"&gt;&lt;/iframe&gt;&lt;script type="text/javascript" src="http://tweetmix.net/js/widgetV2.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;if(("TMXW" in window)) { new TMXW.Widget({"shape":"default","target_url":"http://daybreaker.info/blog/entry/","widget_title":"\uc774 \uae00\uacfc \uc5f0\uad00\ub41c \ud2b8\uc717","default_msg":"","width":"550","height":"450","color_upper_back":"93C9E6","color_upper_text":"FFFFFF","color_tweet_back":"FFFFFF","color_border":"EBEBEB","color_text":"888888","color_link":"2ABBD4","widget_type":"1","btn_type":"1","max_messages":"10","is_show_avatar":"1"}).render().start();} &lt;/script&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://daybreaker.info/blog/entry/%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81%EC%9D%98-%EC%96%B4%EB%A0%A4%EC%9B%80?commentInput=true#entry1071WriteComment"&gt;댓글 쓰기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
			<category>컴퓨터</category>
			<category>삽질</category>
			<category>엔지니어링</category>
			<category>연구</category>
			<category>프로그래밍</category>
			<author>me@daybreaker.info (daybreaker)</author>
			<guid>http://daybreaker.info/blog/1071</guid>
			<comments>http://daybreaker.info/blog/entry/%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81%EC%9D%98-%EC%96%B4%EB%A0%A4%EC%9B%80#entry1071comment</comments>
			<pubDate>Wed, 09 Mar 2011 21:19:08 +0900</pubDate>
		</item>
	</channel>
</rss>

