<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><description>프로그래밍 언어 오타쿠 홍민희의 블로그</description><title>Romantic Binaries</title><generator>Tumblr (3.0; @hongminhee)</generator><link>http://blog.dahlia.kr/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/CodeMetaphor" /><feedburner:info uri="codemetaphor" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://tumblr.superfeedr.com/" /><item><title>Wand 0.3.0 출시</title><description>&lt;a href="http://librelist.com/browser/wand/2013/6/17/released-wand-0-3-0/"&gt;Wand 0.3.0 출시&lt;/a&gt;: &lt;p&gt;Wand 0.3.0을 출시했습니다. 이번 버전부터 Python 3에서도 돌아갑니다. 시퀀스 등의 새로운 기능들이 추가되었으니 &lt;a href="http://docs.wand-py.org/en/0.3-maintenance/whatsnew/0.3.html"&gt;what’s new 문서&lt;/a&gt;를 읽어보시기 바랍니다. API 수준의 변경은 &lt;a href="http://docs.wand-py.org/en/0.3-maintenance/changes.html#changelog-0-3-0"&gt;체인지로그&lt;/a&gt;를 보시면 됩니다.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pypi.python.org/pypi/Wand/0.3.0"&gt;PyPI&lt;/a&gt;에서 받아 설치하실 수 있습니다:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ pip install Wand==0.3.0
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;문제 발견시 &lt;a href="https://github.com/dahlia/wand/issues"&gt;이슈트래커&lt;/a&gt;에 이슈를 만들어주시거나 패치를 보내주시면 감사하겠습니다.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/gyaCAmSIWhk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/gyaCAmSIWhk/53255466333</link><guid isPermaLink="false">http://blog.dahlia.kr/post/53255466333</guid><pubDate>Tue, 18 Jun 2013 13:55:35 +0900</pubDate><category>Wand</category><category>Wand 0.3.0</category><category>release</category><feedburner:origLink>http://blog.dahlia.kr/post/53255466333</feedburner:origLink></item><item><title>Programmer’s nirvana</title><description>&lt;p&gt;요즘 드는 생각은, 프로그래머한테도 마음 수련 같은 게 필요한 듯하다는 것. 적어도 반성적으로 생각했을 때, 나를 포함한 대부분의 개발자들은 성급한 최적화(premature optimization)이나 불필요한 추상화(unnecessary abstraction)에 대한 욕구 따위가 존재하는데, 대부분 그것의 사적 동기는 그저 미학일 뿐이지만 겉으로는 여러 그럴듯한 근거로 포장되기 때문에 (그리고 스스로를 기만하기도 한다) 용인되는 것이다. TDD나 애자일에서 말하는 &lt;abbr title="Extreme Programming"&gt;XP&lt;/abbr&gt; 같은 것들이 힘든 이유는 그것이 숙달의 문제이기 때문이기도 하지만, 어느 정도 욕심을 버려야 하는 부분이 있기 때문이다. 핵심 기능에 집중해야 한다는 거 나도 안다. 근데 나는 지금 거대한 성을 짓는 꿈에서 깨고 싶지 않다. 이게 모든 프로그래머를 괴롭히는 번뇌 같은 것이다.&lt;/p&gt;

&lt;p&gt;프로그래머도 어디 산에 들어가 조금이라도 쓸데없는 추상화에 눈독들이는 순간 커널 패닉을 일으키는 환경에 가둬지는 고행이라도 하며 도를 닦아야 하는 걸까.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/kF5t6xzZCK0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/kF5t6xzZCK0/52466745558</link><guid isPermaLink="false">http://blog.dahlia.kr/post/52466745558</guid><pubDate>Sun, 09 Jun 2013 00:53:00 +0900</pubDate><category>featured</category><feedburner:origLink>http://blog.dahlia.kr/post/52466745558</feedburner:origLink></item><item><title>RSS 리더는 원래 데스크탑 애플리케이션이었다</title><description>&lt;p&gt;Google Reader가 문닫는 것도 한 달 남았다. 개인적으로 RSS를 참 오래 열심히 써왔는데, 이제 대안이 필요해진 시점이라 이런 저런 고민을 하다가 든 생각을 정리해본다.&lt;/p&gt;

&lt;p&gt;내가 맨 처음 썼던 RSS 리더는 데스크탑 애플리케이션이었다. &lt;a href="http://netnewswireapp.com/"&gt;NetNewsWire&lt;/a&gt;였던 걸로 기억한다. 2004년 초였다. 그 해 중순이었나 가을부터 &lt;a href="http://www.newsfirerss.com/"&gt;NewsFire&lt;/a&gt;로 갈아탔던 것 같다. 아니면 이걸 먼저 쓰고 NetNewsWire를 나중에 썼던 걸 수도 있지만 기억이 가물하다. 어쨌든 중요한 것은 둘 다 데스크탑 애플리케이션이었고, 이걸 2006년 전까지 계속 썼다는 것이다. 그 당시에도 꽤 많은 사람들이 &lt;a href="http://www.bloglines.com/"&gt;Bloglines&lt;/a&gt;를 썼고 한국에서는 &lt;a href="http://www.hanrss.com/"&gt;한RSS&lt;/a&gt;도 많이 썼던 걸로 기억한다. 하지만 나는 웹에서 RSS 리더를 본다는 것이 그 당시만 해도 갑갑하게 느껴져서 옮기지 않고 있다가, 로컬 디스크가 날아가는 경험을 하고 나서 Google Reader로 옮겼던 것으로 기억한다. 다행히 주기적으로 OPML은 백업하고 있었기 때문에 구독 목록은 내가 맨 처음 RSS 리더를 써온 이후로 계속 유지해왔지만 구독했던 개별 포스팅이나 특별히 표시를 했던 것들은 2009년 이후의 기록만 존재한다.&lt;/p&gt;

&lt;p&gt;Google Reader로 옮기게 된 계기는 결국 데이터 손실이었다. 그런데 언젠가부터 정신차리고 보니 나를 포함한 주변 사람들이 &lt;a href="http://reederapp.com/"&gt;Reeder&lt;/a&gt; 같은 데스크탑 애플리케이션을 다시 쓰고 있었다. 예전과 딱 하나 달라진 것이라면 백엔드가 Google Reader라서 데이터 손실이 없다는 점이었다. 예전에 썼던 쾌적한 느낌이 다시 돌아왔다.&lt;/p&gt;

&lt;p&gt;나는 RSS 리더가 클라우드에 있는 것이 아주 자연스럽지는 않을지도 모른다는 생각이 다시 들었다. 결국 우리가 RSS 리더를 클라우드 서비스로 쓰는 이유는 크게 세 가지가 있다고 본다.&lt;/p&gt;

&lt;dl&gt;&lt;dt&gt;데이터 안정성&lt;/dt&gt;
&lt;dd&gt;Google 등이 내가 찍은 별표 기록을 날릴 가능성은 내가 내 랩탑에 콜라 쏟을 가능성에 비하면 비교가 미안할 정도로 한없이 낮다.&lt;/dd&gt;

&lt;dt&gt;기기간 동기화&lt;/dt&gt;
&lt;dd&gt;원래는 없던 동기였으나, 스마트폰 등장 이후로 생긴 욕구이다. 아무데서나 내가 보던 RSS 리더를 보고 싶다는 것인데, 결국 데이터 동기화를 원한다는 뜻이다. 그런데 Google Reader와 같은 서비스들은 데이터 동기화를 한다기 보다는 데이터 보존 지점을, 물론 물리적으로야 데이터 센터 안쪽에 리플리카가 많겠으나, 논리적으로 한 곳으로 만들어 동기화 자체가 필요 없게 만들었다.&lt;/dd&gt;

&lt;dt&gt;365/24 크롤러&lt;/dt&gt;
&lt;dd&gt;컴퓨터를 꺼놔도 RSS 크롤링이 주기적으로 되었으면 한다. 보름 동안 휴가를 갔다 왔어도 그 사이에 놓치는 포스팅이 없었으면 한다.&lt;/dd&gt;
&lt;/dl&gt;&lt;p&gt;그런데 잘 생각해보면 앞쪽 두 가지 성질은 RSS 리더라서 필요한 것이 아니고, 좀더 일반적인 욕구에 의해 생겨난 개념들이다. 데이터 백업이야 옛날옛적부터 뭘 하든 중요한 문제였고, 기기간 동기화야 스마트폰이 나온 이후로 특수한 사람들뿐 아니라 모든 사람들이 원하는 기능이 되었다. N 스크린이라고 하지 않나. 그리고 대부분의 앱들이 해결하고 있다.&lt;/p&gt;

&lt;p&gt;이 두 문제는 그냥 데이터 일반의 문제이지 RSS의 문제가 아닌 것이다. 그리고 이 일반적인 문제를 해결하려는 시도도 고금을 통해 많이 있었다. 거창할 것 없이 Dropbox나 Google Drive를 생각해보자.&lt;/p&gt;

&lt;p&gt;마지막 365/24 크롤러는 이제 서버가 없어도 어느 정도 실현 가능하게 되었다. 잘때 스마트폰 껐다가 일어나면 다시 켜는 사람은 없을 것이다. 휴가 간다고 스마트폰 집에 꺼두고 가지도 않는다. 스마트폰은 모두에게 하나씩 있는 꺼지지 않는 개인용 컴퓨터이다.&lt;/p&gt;

&lt;p&gt;그래서, 그냥 데스크탑 애플리케이션과 모바일 앱이 있고, 앱들 사이에 데이터를 보존하는 방식에 대한 표준 협의만 있으면 되지 않을까 싶다. 데이터는 Dropbox나 Google Drive 같은 널리 쓰이는 클라우드 저장소 서비스 중에서 하나 고를 수 있게 해주면 된다. 데이터 백업, 동기화 둘 다 해결된다.&lt;/p&gt;

&lt;p&gt;RSS를 위한 데이터 포맷 표준을 또 새로 만들어야 할까? 그럴 필요 없다. &lt;a href="http://xkcd.com/927/"&gt;만들어도 쓰이지 않을 것이고&lt;/a&gt;, 그냥 있는 것을 쓰는 게 제일 낫다. RSS 구독 목록에 대한 표준은 이미 있다: OPML. RSS 포스팅 목록에 대한 표준도 이미 있다: Atom. 저 둘을 잘 엮어서 그냥 디렉토리 안쪽에 구독 별로 Atom 파일만 죽 늘어놓기만 해도 심플한 해결책이 될 수 있다. 둘 다 오래된 표준이라 언어별 구현체가 한두가지 이상씩은 있는 것이고.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/Jwd-lKwTMg8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/Jwd-lKwTMg8/51871409701</link><guid isPermaLink="false">http://blog.dahlia.kr/post/51871409701</guid><pubDate>Sat, 01 Jun 2013 18:27:00 +0900</pubDate><category>RSS</category><category>cloud</category><category>synchronization</category><category>featured</category><feedburner:origLink>http://blog.dahlia.kr/post/51871409701</feedburner:origLink></item><item><title>Wand 0.3.0a1 is available</title><description>&lt;a href="https://minhee.quora.com/Wand-0-3-0a1-is-available"&gt;Wand 0.3.0a1 is available&lt;/a&gt;: &lt;p&gt;원래 여기 블로그에도 소식을 올리고 자려고 했지만, 너무 졸려서 까먹고 &lt;a href="http://librelist.com/browser/wand/2013/5/25/wand-0-3-0a1-is-available/"&gt;메일링 리스트&lt;/a&gt;와 &lt;a href="https://minhee.quora.com/Wand-0-3-0a1-is-available"&gt;영어 블로그&lt;/a&gt;에만 포스팅하고 자버렸다. 그래서 이 블로그는 조금 늦게 소식을 올린다.&lt;/p&gt;

&lt;p&gt;작년 말까지 Wand 0.3을 출시하겠다고 약속하고도 올해에도 출시를 연기한 것이 여러번. 거듭된 연기 때문에 올해 초에는 예정에 없던 &lt;a href="http://librelist.com/browser//wand/2013/1/25/released-wand-0-2-3/"&gt;0.2.3을 출시하기도&lt;/a&gt; 했다. 정말 출시를 좀 해보려고 기존의 로드맵에서 Python 3 호환 같은 기능을 나중으로 미루기로 했다. &lt;a href="http://docs.wand-py.org/en/sequence/roadmap.html#version-0-3"&gt;현재의 0.3 로드맵&lt;/a&gt; 참고.&lt;/p&gt;

&lt;p&gt;0.3에 들어가야 할 기능들로는 시퀀스, 드로잉, 전에 &lt;a href="http://blog.dahlia.kr/post/34088303362"&gt;이 블로그에서 언급했던 심 카빙(seam carving)&lt;/a&gt; 등이 있는데, 구현하려던 기능들을 이제 모두 넣게 되어서 일단 알파 버전이라도 내놓게 되었다:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://dahlia.github.io/wand/dist/Wand-0.3.0a1.tar.gz"&gt;&lt;a href="http://dahlia.github.io/wand/dist/Wand-0.3.0a1.tar.gz"&gt;http://dahlia.github.io/wand/dist/Wand-0.3.0a1.tar.gz&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;이 버전은 어느 정도 API 호환이 깨질 위험이 있는 변화들을 포함하고 있다. (가령 기존에는 &lt;code&gt;Image&lt;/code&gt; 클래스 하나만 있었지만 지금은 &lt;code&gt;BaseImage&lt;/code&gt;가 있고 그걸 상속하는 &lt;code&gt;Image&lt;/code&gt;와 &lt;code&gt;SingleImage&lt;/code&gt;가 별도로 있다.) 따라서 사용하기 전에 &lt;a href="http://docs.wand-py.org/en/sequence/changes.html#branch-sequence"&gt;시퀀스에 대한 변경목록&lt;/a&gt;과 &lt;a href="http://docs.wand-py.org/en/sequence/changes.html#version-0-3-0"&gt;그 외 기능에 대한 변경 목록&lt;/a&gt;을 확인하도록 하자.&lt;/p&gt;

&lt;p&gt;PyPI에 올리면 기존에 의존성을 Wand 최신 버전으로 해놓고 있던 분들이 날벼락을 맞을 수 있기 때문에 올리지 않고, 대신 그냥 파일 형태로만 업로드했다. 하지만 기존 &lt;code&gt;pip&lt;/code&gt;를 이용하거나 &lt;code&gt;distutils&lt;/code&gt;/&lt;code&gt;setuptools&lt;/code&gt;를 이용해서 의존성을 관리하던 곳에서도 바로 시도해볼 수 있다.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pip&lt;/code&gt;와 &lt;code&gt;requirements.txt&lt;/code&gt; 목록을 이용하는 경우, 간단히 &lt;code&gt;Wand&lt;/code&gt; (혹은 &lt;code&gt;Wand==0.2.3&lt;/code&gt; 같은 줄) 부분을 위 타볼 URL로 치환하면 된다:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&lt;a href="http://dahlia.github.io/wand/dist/Wand-0.3.0a1.tar.gz#egg=Wand-0.3.0a1"&gt;http://dahlia.github.io/wand/dist/Wand-0.3.0a1.tar.gz#egg=Wand-0.3.0a1&lt;/a&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;setup.py&lt;/code&gt; 스크립트를 이용하는 경우, &lt;code&gt;install_requires&lt;/code&gt; 목록에 &lt;code&gt;Wand==0.3.0a1&lt;/code&gt;를 추가하고 &lt;code&gt;dependency_links&lt;/code&gt;를 설정하면 된다:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;setup(
    install_requires=['Wand==0.3.0a1'],
    dependency_links=['http://dahlia.github.io/wand/dist/Wand-0.3.0a1.tar.gz']
)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;다들 한번 써봐주시고, 혹시라도 문제를 마주하면 &lt;a href="https://github.com/dahlia/wand/issues"&gt;이슈 트래커&lt;/a&gt;에 알려주셨으면 한다. (말로 하는 게 더 편하신 분들은 IRC&lt;sup id="fnref:p51362512068-1"&gt;&lt;a href="#fn:p51362512068-1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;나 Facebook 메신저, Twitter 메션/DM 등 편한 연락 방법도 환영.)&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr&gt;&lt;ol&gt;&lt;li id="fn:p51362512068-1"&gt;
&lt;p&gt;&lt;a href="http://ozinger.org/"&gt;오징어 서버&lt;/a&gt;에 있는 &lt;code&gt;#hongminhee&lt;/code&gt; 채널. 대화명은 &lt;code&gt;hongminhee&lt;/code&gt;. &lt;a href="#fnref:p51362512068-1" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/0PndfNPUZzw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/0PndfNPUZzw/51362512068</link><guid isPermaLink="false">http://blog.dahlia.kr/post/51362512068</guid><pubDate>Sun, 26 May 2013 14:20:00 +0900</pubDate><category>wand</category><feedburner:origLink>http://blog.dahlia.kr/post/51362512068</feedburner:origLink></item><item><title>내가 Wand 같은 것을 다시 만든다면 ImageMagick 바인딩은 재고하게 될 것 같다. 기능이 많은 것이 정말 뿌리치기 힘든 유혹이고, 실제로 그 때문에 그런 결정을 했지만,...</title><description>&lt;p&gt;내가 &lt;a href="http://wand-py.org/"&gt;Wand&lt;/a&gt; 같은 것을 다시 만든다면 &lt;a href="http://www.imagemagick.org/"&gt;ImageMagick&lt;/a&gt; 바인딩은 재고하게 될 것 같다. 기능이 많은 것이 정말 뿌리치기 힘든 유혹이고, 실제로 그 때문에 그런 결정을 했지만, 여러가지 난점이 존재한다.&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;&lt;p&gt;기능이 많다고 해도 결국 바인딩 API에 노출이 안되면 없는 기능이나 다름 없다.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ImageMagick은 처음에 라이브러리로 개발된 것이 아니라 주로 &lt;code&gt;convert&lt;/code&gt;, &lt;code&gt;identity&lt;/code&gt; 명령어 도구로 개발되었고 나중에 그 기능을 C API로 노출한 것이기 때문에 API 디자인이 썩 좋지 못하다.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;개발이 여전히 활발하고 업데이트가 잦은 것(늦어도 보름에 한 번은 새 버전이 올라온다)은 분명 장점이나, 그만큼 환경마다 버전이 파편화되어있다는 뜻도 된다. 바인딩 입장에서는 이 때문에 어떤 기능을 추가하고 싶어도 그 기능이 처음 추가된 ImageMagick 버전이 아직 널리 퍼져있지 않으면 쉽게 추가하기 힘들다.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;생각보다 잔 버그가 많다. ImageMagick이 물론 성숙한 편이긴 하지만, 결국 기능이 많은 소프트웨어는 버그도 그만큼 많을 수밖에 없다. 게다가 3번 상황과 함께 조화되면 바인딩에서 ImageMagick의 특정 버전대에 나타나는 버그를 우회하기 위한 코드가 하나둘 추가되게 된다. 이런 것들이 많아지면 Twisted가 각 운영체제의 네트워크 스택 버그를 우회하기 위한 버전별 마스킹을 하는 것처럼 해야할 판. (그 정도로 심하지는 않지만.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ImageMagick 자체도 의존성이 어마어마하다. 결코 쉽게 설치할 수 있을만한 라이브러리는 아니다. Debian에서 아무 것도 없는 상태에서 &lt;code&gt;apt-get install libmagickwand-dev&lt;/code&gt;로 설치를 하려고 하면 생각보다 시간이 걸린다. 게다가 ImageMagick은 이런 의존성을 선택적으로 해놨기 때문에 버전 파편화와 별개로 런타임에 링크 가능한 라이브러리 집합으로도 파편화가 되기 시작한다.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;그렇다고 Wand 그만둔다는 얘기는 아니고.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/svfu5EyTQ3E" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/svfu5EyTQ3E/49134697574</link><guid isPermaLink="false">http://blog.dahlia.kr/post/49134697574</guid><pubDate>Mon, 29 Apr 2013 08:39:00 +0900</pubDate><category>ImageMagick</category><category>Wand</category><feedburner:origLink>http://blog.dahlia.kr/post/49134697574</feedburner:origLink></item><item><title>sumanpark70:

2006년 만든 미투데이를 통해서 공간의 제한을 뛰어넘어 새로운 사람들을 만나고 새로운...</title><description>&lt;img src="http://24.media.tumblr.com/269182334f163a2947a3b5356762cfbe/tumblr_mlmr35O4PI1qgcpobo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://sumanpark.com/post/48570215627/2006" class="tumblr_blog"&gt;sumanpark70&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;a href="http://me2day.net/sumanpark"&gt;2006년 만든 미투데이&lt;/a&gt;를 통해서 공간의 제한을 뛰어넘어 새로운 사람들을 만나고 새로운 이야기를 매 순간 접할 수 있었고,  &lt;a href="http://band.us/"&gt;2012년 만든 밴드&lt;/a&gt;를 통해서 그리웠던 친구들이 다시 모여 주변 시선을 의식하지 않고 마음껏 얘기를 나눌 수 있게 됐습니다.&lt;/p&gt;
&lt;p&gt;미투데이와 밴드에 이어 2014년에 새로 서비스를 선보이기 위해, 2013년 4월에 새로운 회사를 시작합니다. 아직 아무 것도 그리지 않은 흰 도화지 같은 회사일 뿐입니다. 차근 차근 “더 좋은 세상”이 되는데 작은 도움이 될 수 있는 그림을 그리겠습니다.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;작년 가을 무렵 &lt;a href="http://blog.dahlia.kr/post/35179049499"&gt;직장을 구하지 않고 있다&lt;/a&gt;는 글을 올린 바 있는데, 그때 혹시나 해서 덧붙인 말이 하나 있습니다.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;망하든 뭔가 되든 상황이 달라지면 블로그에 업데이트하겠습니다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;상황이 달라졌으므로 업데이트합니다. 저는 &lt;a href="http://sumanpark.com/"&gt;만박&lt;/a&gt; 님의 새로운 프로젝트에 합류하게 되었습니다.&lt;/p&gt;

&lt;p&gt;크게 궁금해하실 분도 없으리라 생각하지만 제게는 꽤 특별한 경험이라고 여겨져서 몇가지 감상을 덧붙일까 합니다.&lt;/p&gt;

&lt;p&gt;제가 처음 서비스를 만들고 싶다고 생각한 것이 2007년 여름입니다. 그때 &lt;a href="http://me2day.net/"&gt;미투데이&lt;/a&gt;를 쓰기 시작했기 때문입니다. 지금은 글을 잘 남기지 않지만 &lt;a href="http://me2day.net/dahlia"&gt;제 미투데이&lt;/a&gt; 페이지 맨 아래쪽을 보면 다음과 같이 적혀있습니다.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;홍민희 님은 2007년 7월 21일부터 613명과 3,444개의 이야기를 나누고 있습니다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;그 무렵부터 야간개발팀이라는 개발팀을 만들어서 VLAAH라는 서비스도 만들기 시작했습니다. 만박 님께 저희 이런 거 만들었어요 하며 보여드린 기억도 나고 그런데, 지금 생각해보면 아이가 어른들을 보고 흉내낸다는 느낌이었죠. 2007년이면 제가 고등학교를 졸업한 해입니다. 성인이 되고 나서 접한 첫 우상과도 같은 존재가 만박 님인 셈입니다. 미투데이가 너무 좋아서 여러 해가 지나도록 중독되어 있었고, API를 쓰기 위한 클라이언트 라이브러리도 만들고 그랬습니다.&lt;sup id="fnref:p48597237479-1"&gt;&lt;a href="#fn:p48597237479-1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;그때 다행히 얼굴도장도 찍었고 친한척을 자꾸 했기 때문에 만박 님을 비롯해, 당시 미투데이 팀 분들이 절 기억해주시게 됐습니다. 그래서 만박 님이 새로운 프로젝트를 시작하시며 제게도 연락을 주어 소식을 알려주셨습니다.&lt;/p&gt;

&lt;p&gt;사실 합류를 결정하는 데에는 몇가지 고민이 있었습니다. 하나는 지금 제가 하고 있던 크로스팝이라는 프로젝트가 전혀 마무리가 되어 있지 않은 상태였고 (저는 애초에 마무리를 할 생각이 없었고 계속 하고 싶었기 때문입니다), 그 팀은 제가 만든 팀이기 때문에 제가 그만두자고 하면 먼저 부추긴 쪽이 포기하는 모양새라 팀원들께 미안한 마음이 들었고요, 무엇보다 아직도 미련이 남아있어서 포기할 수 없었습니다.&lt;/p&gt;

&lt;p&gt;아무래도 안될 것 같다고 답을 드렸는데, 만박 님이 메일을 보내주셔서 마음을 돌려서 결정하게 됐습니다. 사후에 일어난 합리화 같지만 생각해보니 크로스팝 팀에서 풀타임으로 하고 있는 사람이 저 혼자밖에 없었고, 그 혼자인 저마저도 100% 프로젝트에만 매달려서 진행하는 것이 아니었고 좀 늘어진 상태로 하고 있던 것이 사실입니다. 어차피 이걸 사이드 프로젝트로 돌려서 취미처럼 한다고 해도 기존에 하던 것과 크게 달라질 것도 없다는 슬픈 결론이… 무엇보다 통장 잔고가 바닥을 향해 가고 있고 차라리 나중에 팀원들한테 제대로 월급 줄 수 있는 상황을 만들어서 집중하는 게 낫겠다는 생각도 했고요. 네, 다 변명입니다.&lt;/p&gt;

&lt;p&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:p48597237479-1"&gt;
&lt;p&gt;이 문단에서 링크할 수 있는 것이 남아있지 않다는 점이 정말 아쉽습니다. &lt;a href="#fnref:p48597237479-1" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/LkQsCxnbtz8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/LkQsCxnbtz8/48597237479</link><guid isPermaLink="false">http://blog.dahlia.kr/post/48597237479</guid><pubDate>Mon, 22 Apr 2013 15:23:26 +0900</pubDate><category>the beatpacking company</category><category>job</category><category>update</category><category>featured</category><feedburner:origLink>http://blog.dahlia.kr/post/48597237479</feedburner:origLink></item><item><title>OAuth 1 v. OAuth 2</title><description>&lt;a href="https://oauthlib.readthedocs.org/en/latest/oauth_1_versus_oauth_2.html"&gt;OAuth 1 v. OAuth 2&lt;/a&gt;: &lt;p&gt;지난해 Daniel Greenfeld가 &lt;a href="http://pydanny.com/the-sorry-state-of-python-oauth-providers.html"&gt;Python OAuth 구현체들의 유감스러운 상태&lt;/a&gt;에 대해 글을 쓰고난 뒤, 이 문제가 중요하다고 여긴 Idan Gazit는 OAuth를 철저히 표준에 의거하여 “제대로” 구현하는 &lt;a href="https://github.com/idan/oauthlib"&gt;oauthlib&lt;/a&gt; 라이브러리를 만들었다. 이 라이브러리는 앞서 링크한 글의 문제를 해결하려면 기존 Python 커뮤니티에 혼란을 주었던 각종 OAuth 1 및 OAuth 2 라이브러리로부터 승리해야 했기 때문에 그 모든 것들의 기능을 총망라하고 있다. OAuth 1 및 OAuth 2 구현을 모두 제공하고 있을 뿐 아니라, 클라이언트와 프로바이더 구현 모두 제공한다. 따라서 2013년 4월 현재 Python에서 OAuth를 쓴다고 하면 OAuth 1을 쓰든 OAuth 2를 쓰든 간에 &lt;a href="https://github.com/idan/oauthlib"&gt;oauthlib&lt;/a&gt;을 선택하는 것이 정답이다.&lt;/p&gt;

&lt;p&gt;이 oauthlib의 문서 앞쪽에는 어떤 인증 수단을 선택해야 할지에 대한 친절한 가이드라인을 &lt;a href="https://oauthlib.readthedocs.org/en/latest/oauth_1_versus_oauth_2.html"&gt;별도 장&lt;/a&gt;을 할애해서 다루고 있는데 oauthlib 자체와 독립적으로 설명하고 있기 때문에 &lt;em&gt;Python을 쓰고 있지 않더라도&lt;/em&gt; 인증 수단이 필요한 모든 클라이언트/서버 프로그래머에게 도움이 된다고 생각해서 링크한다. 분량도 간결하고 내용도 매우 훌륭하다. 추천!&lt;/p&gt;

&lt;p&gt;덧. oauthlib은 이름도 그렇고 어쩐지 Python 표준 라이브러리에 포함되는 것을 염두한 것 같기도 하다.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/E9ImDiH0qAE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/E9ImDiH0qAE/48269222034</link><guid isPermaLink="false">http://blog.dahlia.kr/post/48269222034</guid><pubDate>Thu, 18 Apr 2013 19:08:00 +0900</pubDate><category>OAuth 1</category><category>OAuth 2</category><category>OAuth</category><feedburner:origLink>http://blog.dahlia.kr/post/48269222034</feedburner:origLink></item><item><title>
  
  
  만일 누가 내가 로그인해둔 랩탑을 훔친다면,
  그 사람은 내 이메일도 읽을 수 있고, 돈을 훔칠 수도,
  내 친구들한테 나인척 속일 수도 있겠지만,
  
 ...</title><description>&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://xkcd.com/1200/"&gt;&lt;img src="http://imgs.xkcd.com/comics/authorization.png" alt="Authorization"/&gt;&lt;/a&gt;&lt;/p&gt;
  
  &lt;p&gt;만일 누가 내가 로그인해둔 랩탑을 훔친다면,
  그 사람은 내 이메일도 읽을 수 있고, 돈을 훔칠 수도,
  내 친구들한테 나인척 속일 수도 있겠지만,&lt;/p&gt;
  
  &lt;p&gt;적어도 내 권한 없이 (디바이스) 드라이버를 설치하지는 못할 것이다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;위 xkcd 만화는 현대 운영체제의 권한 체계가 실생활의 보안에는 별로 쓸모가 없다는 점을 풍자한다고 여겨지는데, 현대의 운영체제가 웹 브라우저라는 점을 생각해본다면 저러한 것들은 결국 웹 브라우저와 웹 표준이 해결해야할 문제가 아닐까 싶다.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/pfqfF7gEPZY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/pfqfF7gEPZY/48208579897</link><guid isPermaLink="false">http://blog.dahlia.kr/post/48208579897</guid><pubDate>Thu, 18 Apr 2013 02:21:00 +0900</pubDate><category>xkcd</category><category>security</category><feedburner:origLink>http://blog.dahlia.kr/post/48208579897</feedburner:origLink></item><item><title>과학은 엘리트주의인가</title><description>&lt;p&gt;(이 글은 &lt;a href="http://blog.dahlia.kr/post/47304464713"&gt;실험으로부터 분리된 이론은 과학이 될 수 없는가&lt;/a&gt;에서 이어지는 글이다.)&lt;/p&gt;

&lt;p&gt;이덕하가 쓰는 진화심리학 글들이 대체로 오류가 많은 편이라는 점에 대해서는 모두가 동의하고 있는 듯하다. 이에 대해서는 이덕하 역시 여러 글들에 걸쳐 시인하고 있다.&lt;/p&gt;

&lt;p&gt;가령 &lt;a href="http://sf1856.egloos.com/3407384"&gt;&amp;#8216;이덕하씨에 대한 응답&amp;#8217;에 대한 응답&lt;/a&gt;에서는 이렇게 이야기한다:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;5년 이상 된 글에서 제가 수 많은 오류를 범했다는 점은 저도 기꺼이 인정합니다.
  제가 봐도 쪽 팔린 글이 많습니다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;실은 이덕하는 이전에도 진화심리학 교수로부터도 &lt;a href="https://twitter.com/evopsy/status/17764341457616896"&gt;“잘못된 정보가 섞여있으므로 되도록 피하는 것이 좋다”&lt;/a&gt;는 평가를 받은 바가 있다. 이덕하는 &lt;a href="http://theacro.com/zbxe/325868"&gt;이에 대한 반응&lt;/a&gt;에서도 자신의 글에 잘못된 정보가 많다는 점을 인정한다.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;전중환 교수의 말대로 저는 진화 심리학을 혼자 배웠습니다.
  그리고 제 글에는 잘못된 정보와 바른 정보가 뒤섞여 있습니다.
  사실 학자도 인간이기 때문에 모든 학자의 글에는 잘못된 정보가 섞여 있을 것입니다.
  물론 전중환 교수는 이덕하도 인간이기 때문에 오류를 범할 수밖에 없다는 이야기를 한 것은 아닐 것입니다.
  잘못된 정보가 너무 많이 섞여서 혼란을 일으킨다는 이야기 같습니다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;이해하기 쉬운 부정확한 정보는 득보다 실이 클까&lt;/h3&gt;

&lt;p&gt;그렇다면 이덕하는 자신이 진화심리학에 대한 잘못된 정보를 섞는 것을 인정하면서도 진화심리학 입문서를 쓰겠다는 결정을 한 것으로 보인다. 이덕하는 직접적으로 그러한 결심을 하게 된 까닭을 밝힌 적은 없는 듯하지만, 어쨌거나 &lt;a href="http://theacro.com/zbxe/325868"&gt;잘못된 정보가 꽤 섞여있다고 하더라도 여전히 실보다 득이 크다고 생각&lt;/a&gt;하는 것 같다:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;어쨌든 “오류가 있으니 이덕하의 글은 읽지 말라”는 식의 말에는 동의할 수 없습니다.
  저는 제 글에 오류가 있음에도 불구하고 상당히 가치가 있다고 생각합니다.
  특히 한국의 진화 심리학 번역서가 대부분 엉터리 번역이고, 한국 학자가 한국어로 진화 심리학을 자세히 소개한 글이 지금까지 사실상 없다는 점을 생각할 때 그렇습니다.&lt;/p&gt;
  
  &lt;p&gt;그리고 저는 계속 진화 심리학을 배우고 있으며 제 글의 질이 높아지고 오류도 줄어들고 있다고 생각합니다.
  과학을 혼자 공부하는 사람들 대부분은 엉터리입니다.
  게다가 전문가가 그것이 엉터리라는 것을 지적해 줘도 똥고집을 부리는 경우가 많습니다.
  저는 적어도 그런 사람은 아니라고 생각합니다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;반면 Bayesian 님은 이에 대해서는 매우 단호한 반대 입장을 보인다:&lt;/p&gt;

&lt;blockquote class="twitter-tweet"&gt;&lt;p&gt;대중들이 보는 교양적인 과학 과련 글은 9의 진실을 전달하더라도 1의 잘못을 전달해서는 안 된다는 게 개인적 생각이다. 진실을 전달한다는 핑계로 거짓을 섞는 걸 정당화하는 사람은 교양서 저자로서의 자격이 없다고 본다.&lt;/p&gt;— Bayesian (@bayescog) &lt;a href="https://twitter.com/bayescog/status/319841518854733827"&gt;April 4, 2013&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;꼭 진화심리학 뿐만이 아니라도, 세상의 여러 분야에는 학계로부터의 어떠한 검증도 받지 못했지만 이해하기 쉽게 쓴 교양서가 해당 분야를 대중적으로 퍼뜨리는데 일조한 서적들이 한둘쯤 있기 마련이다. 그리고 그런 서적들은 어쩔 수 없이 꽤나 잘못된 정보다 많이 섞여있는 법이다. (이 글을 읽는 대부분이 각자 전문 분야의 그런 책들이 머릿속에 떠오를 것이다. 나는 &lt;a href="http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8980544847"&gt;초보자를 위한 C 21일 완성&lt;/a&gt; 같은 책들이 떠오른다.)&lt;/p&gt;

&lt;p&gt;이런 책은 더 적절한 책이 시중에 등장하기 전까지 홀로 서점을 지키며 (잘못된 내용과 함께) 해당 분야를 
대중에게 널리 소개하는데 큰 기여를 한다. 문제는 전문가들이 직접 집필한 더 적절한 책이 출판되거나, 번역이 완료되어도 그러한 초기 서적이 여전히 잘 사라지지 않는다는 점이다.&lt;/p&gt;

&lt;h3&gt;어디까지 떠먹여 줘야 하는가&lt;/h3&gt;

&lt;p&gt;어쨌거나 진화심리학을 위한 그러한 “적절한&amp;#8221; 책은 이미 출판된 상태다. David Buss의 &lt;a href="http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8901147092"&gt;진화심리학&lt;/a&gt;이 작년에 번역된 바 있다. 이 정도면 &lt;em&gt;충분히&lt;/em&gt; 이해하기도 쉽고 대가가 쓴 책이니 잘못된 내용도 별로 없지 않겠는가?&lt;/p&gt;

&lt;p&gt;하지만 여전히 대부분의 사람들에게는 어렵게 다가올 수도 있다. 이런 반응들을 예상해볼 수 있을 것이다.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;“그 두꺼운 책을 바쁜 현대인이 어떻게 읽느냐” (번역된 &lt;a href="http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8901147092"&gt;진화심리학&lt;/a&gt;은 총 736쪽 분량에 무게는 1300g이나 된다.)&lt;/li&gt;
&lt;li&gt;“책만이 공부 방법이라고 하면 엘리트주의 아니냐”&lt;/li&gt;
&lt;li&gt;“블로그가 더 이해하기 쉽다”&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;저 얘기들은 분명 틀린 말들은 아니지만 전문가들에게는 더이상 얘기하고 싶어지지 않게 만드는 반응인 것이다. 전문가들이 보기에는 쉬운 책이 필요한 것도 맞는 말이고, 우리말로 되어 있어야 하는 것도 맞는 말인데, David Buss의 책을 이렇게 번역까지 해줬으니 이 정도면 &lt;em&gt;충분히&lt;/em&gt; 된 거 아니냐고 느낄 수 있다. 대체 어디까지 떠먹여 줘야 한단 말인가?&lt;/p&gt;

&lt;p&gt;저런 반응들이 너무나 바보 같이 여겨질 수 있지만 그렇게 느낀다면 당신은 얼마간 지적 엘리트주의에 동조하고 있다고 자평해볼 수 있을 것이다. 어디까지가 &lt;em&gt;충분한&lt;/em&gt; 지에 대해서는 사람마다 다를 수밖에 없다. 저런 기준이 높을 수록 엘리트주의라고 한다. (고백하자면 나도 엘리트주의적으로 생각할 때가 많았던 것 같다.)&lt;/p&gt;

&lt;p&gt;기준이 낮은 사람들에게는 여전히 David Buss의 책도 어렵다. 이덕하와 같은 사람들이 더 쉽고 원문부터 한국어인 진화심리학 입문서를 써준다면 그 사람들 중 일부는 만족스러워 할 것이다.&lt;/p&gt;

&lt;h3&gt;비판은 자원을 소모한다&lt;/h3&gt;

&lt;p&gt;그렇다면 전문적인 과학자 집단은 엘리트주의적이라고 결론 내려도 좋은 것인가? 심지어 Bayesian 님은 자신의 분을 굳이 숨기려 하지도 않는다:&lt;/p&gt;

&lt;blockquote class="twitter-tweet"&gt;&lt;p&gt;아, 가만히 생각해보니 또 열받네. &amp;#8216;지식과 용기가 있으면&amp;#8217; 비판해 보라고? 대단한 패기다.&lt;/p&gt;— Bayesian (@bayescog) &lt;a href="https://twitter.com/bayescog/status/320187746998169603"&gt;April 5, 2013&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;Bayesian 님이 이덕하의 태도를 부당하게 여기는 까닭은 무엇일까? 그리고 (학위를 가지고 있는) 다른 과학자들은 왜 대체로 그 부당함에 동감하게 되는 것일까? 나는 그 부당함이 학위 미소지자인 진화심리학 애호가가 학위를 소지한 과학자인 자신에게 대들었기 때문에 괘씸함을 느낀 거라고 생각하지는 않는다. Bayesian 님 스스로도 그런 이유라고 생각하지는 않았을 것이다. 그랬기 때문에 이덕하의 글이 비과학적이라는 주장을 했지만, &lt;a href="http://blog.dahlia.kr/post/47304464713"&gt;이전 글&lt;/a&gt;에서 다루었다시피 우리는 이덕하가 서툰 과학일 수는 있어도 과학이 아니라고 볼 수는 없다는 결론을 내릴 수 있었다. 그렇다면 대체 무엇이 부당하단 말인가?&lt;/p&gt;

&lt;p&gt;Bayesian 님을 열받게 한 이덕하의 &lt;a href="http://sf1856.egloos.com/3407335"&gt;Bayesian님, 지식과 용기가 있다면 제 글의 내용을 비판하십시오&lt;/a&gt;을 인용해보자:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Bayesian 님, “게다가 올리는 글들은 하나같이 자신의 추측에 대해 횡설수설”이라고 하셨는데 지식과 용기가 있다면 한 편이라도 내용을 비판해 보시지요. 제가 세 번 정도는 응답을 해 드릴 용의가 있습니다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;글을 곱씹어보며 느낄 수 있는 것은, 저 글은 결국 ‘내용&amp;#8217;을 비판해달라는 ‘요청’이라는 점이다. 이덕하는 내용에 관심을 가져달라는 부탁을 하고 있는 것이다.&lt;/p&gt;

&lt;p&gt;또 &lt;a href="http://theacro.com/zbxe/325868"&gt;다른 글&lt;/a&gt;에서도 비슷한 부탁을 한다:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;저는 전중환 교수가 그냥 저를 피하라고 권하는 대신 저의 글에 섞여 있는 오류를 조금이라고 지적해주었으면 합니다. 그래야 제가 수긍을 하고 고치든 반박을 하든 할 것 아닙니까? 진화 심리학을 공부하기 위해 많은 시간을 투자하는 사람에게 초 치는 이야기를 하려면 약간이라도 비판을 해야 한다는 생각이 듭니다. 저의 번역, 번역 비판, 글이 몽땅 쓰레기라서 아예 언급할 가치도 없다고 생각한다면 저도 할 말은 없습니다. 하지만 “바른 정보가 뒤섞여”라고 쓴 것으로 보아 그렇게 생각하는 것 같지는 않습니다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;문제는 관심은 일종의 제한된 자원이라는 것이다. 비판해줄 수 있을 만한 사람의 관심은 무한정한 것이 아니다. 다들 바쁜 사람들이고 한가하게 세상 블로그의 모든 글에 대해 비판을 해줄 수는 없다. 그렇다면 그 내용이 과연 관심을 가질만한 내용인지 평가를 해야 한다. Bayesian 님이 보기에 이덕하의 글들은 관심을 가지고 공들여 비판 글까지 쓸만해 보이지는 않는다. 그런데 워낙 이덕하의 블로그가 검색 엔진에도 잘 걸리고 사람들 사이에 회자되니까 내용을 보기엔 시간이 아깝고 트윗 등으로 한두마디 한 것이다. Bayesian 님은 &lt;a href="http://bayes.egloos.com/3028953"&gt;Alan Kang 님의 글에 대한 답변&lt;/a&gt;에서 실제로 그렇게 말했다:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;그런 쓰잘데기 없는 짓을 하고 다니는 것은 제가 잉여이기 때문이고, 하필 이덕하 씨가 눈에 띄어서 그런 것이겠죠.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;다소 관련 없는 주제의 글로 여겨질 수도 있으나 sonnet 님의 &lt;a href="http://sonnet.egloos.com/2296147"&gt;아마추어 암호 설계자에 대한 메모&lt;/a&gt;라는 글에는 이런 내용이 나온다:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;나는 위 글의 암호학자를 다른 분야의 과학자 혹은 공학자로 확대해도 크게 틀리지 않다고 본다.
  이 글이 의미하는 점 한 가지는 어떤 최소화된 &amp;#8220;정의&amp;#8221;를 따른다고 해서 그가 학계의 일원이 될 수 있는 것은 아니라는 점이다.
  그는 기성의 집단 앞에서 자신이 그 집단의 일원이 될 만한 적절한 tradecraft를 익혔고 또한 이 집단이 추구하는 방향에 힘을 보탤 수 있는 유능한 동료임을 스스로 입증해 보여야 하는 것이다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;우리는 &lt;a href="http://blog.dahlia.kr/post/47304464713"&gt;앞선 글&lt;/a&gt;에서 이덕하가 과학계의 최소화된 “정의”(이덕하의 글은 과학적인가) 따르고는 있다는 것을 알 수 있었다. 그러나 만약 Bayesian 님이 심리학계의 일원으로서 이덕하의 글들을 내용 측면에서 비판해주는 “수고”를 해준다고 해도, 이덕하 자신은 “대중이 아니라” Bayesian 님을 포함한 다른 심리학계에 어떤 수고를 해줄 것인가? 내용에 대한 비판과 같은 관심은 결국 한정된 자원이므로 과학계는 학술지 논문 심사(peer review)와 같은 방식으로 한정된 자원을 효율적으로 사용한다. 그러한 자원에 탐이 난다면 과학계에서 동료로 인정을 받을 필요가 있다. 학위란 결국 과학계에서 그런 인정의 절차로 볼 수도 있다.&lt;/p&gt;

&lt;p&gt;Bayesian 님 같이 그러한 절차를 정식으로 밟은 과학자들이 보기에는 이덕하와 같이 어떠한 절차나 노력도 없이 내용에 대한 비판을 요구하는 행동에 부당함을 느끼는 것도 이상하지 않을 것이다. 왜냐면 그런 비싼 자원을 가져갈 ‘자격’이 없기 때문이다.&lt;/p&gt;

&lt;p&gt;그런데 그러한 자격을 얻는 데에 얼만큼의 절차와 노력이 &lt;em&gt;적당한&lt;/em&gt; 것인가? 이미 학위를 소지한 과학자들이 보기에는 학위를 얻기 위한 그와 같은 절차나 노력은 과학에 대한 열정이 있다면 &lt;em&gt;충분히&lt;/em&gt; 감수할만한 것일테지만, 그렇지 않은 사람들이 보기에는 그것조차도 여전히 너무나 많은 노력을 요구하는 것일지도 모른다. 여기서 또다시 어디까지 떠먹여 줘야 하는지에 대한 문제가 떠오른다. 지금의 과학은 엘리트주의인가?&lt;/p&gt;

&lt;p&gt;어떤 기준을 “충분한” 것으로 정하더라도 결국 누군가는 충분치 않다고 그럴 것이고, 이미 충분하다고 여기는 사람들도 있을 것이며, 그런 사람들을 엘리트주의라고 여기는 사람들도 있을 것이다. 나는 학위 소지를 하지 않은 대중의 과학 애호가로서 지금의 과학에는 엘리트주의적인 일면이 있다고 느낀다. 하지만 그것이 어쨌단 말인가? 어떤 프로그래머들은 내 블로그에 올라온 평소 글들을 보고서 엘리트주의라고 생각할 것이다.&lt;/p&gt;

&lt;p&gt;문득 어째서 과학이 대중화되는 데에 수많은 좌절을 겪고 있는 이유가 과학계의 이러한 태도와 관련이 있는 것은 아닐까 하는 생각도 든다.&lt;/p&gt;

&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/j10WPdp5YtA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/j10WPdp5YtA/47304560922</link><guid isPermaLink="false">http://blog.dahlia.kr/post/47304560922</guid><pubDate>Sun, 07 Apr 2013 05:56:00 +0900</pubDate><category>science</category><category>peer review</category><category>elite</category><category>popularity</category><category>featured</category><feedburner:origLink>http://blog.dahlia.kr/post/47304560922</feedburner:origLink></item><item><title>실험으로부터 분리된 이론은 과학이 될 수 없는가</title><description>&lt;p&gt;이 글은 IRC #langdev 채널에서 나와 &lt;a href="http://gplus.to/sanxiyn"&gt;서상현&lt;/a&gt; 님, &lt;a href="http://nullmodel.egloos.com/"&gt;아이추판다&lt;/a&gt; 님(그 외에도 몇몇 분들이 더 계셨으나 주로 이렇게 셋)이 대화한 내용을 바탕으로 정리한 내용이다.&lt;sup id="fnref:p47304464713-1"&gt;&lt;a href="#fn:p47304464713-1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; 나 혼자만의 생각은 아니지만, 이 대화를 통해 나는 여러 부분에서 설득당하고 생각이 달라졌으므로 &lt;em&gt;이제는&lt;/em&gt; 내 생각이라고 봐도 괜찮을 것이다.&lt;/p&gt;

&lt;p&gt;이 글은 애초에 이덕하 씨와 Bayesian 님 사이에 오간 논쟁을 보고 생긴 동기로 쓴 글이다. 따라서 이 글이 어쩌다 나온 것인지 알기 위해서는 오간 글들을 보면 이해하기 좋다. 하지만 나는 내가 이 글에서 쓰려는 내용이 논쟁과 독립적으로 생각해볼 가치가 있다고 여겼고, 그래서 되도록 그 논쟁의 맥락으로부터 독립적으로 쓰고자 하였다. 게다가 그 논쟁은 이미 &lt;a href="http://bayes.egloos.com/3028945"&gt;일단락&lt;/a&gt;이 된 듯하다.&lt;sup id="fnref:p47304464713-2"&gt;&lt;a href="#fn:p47304464713-2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;곰곰히 살펴보니 이번 논쟁에는 두 가지 이슈가 섞여있었다는 것을 알 수 있었고, 그래서 글 역시 두 개의 포스팅으로 나눠서 하려고 한다. 이 첫번째 글에서 내가 주장하고 싶은 바는 이렇다: &lt;strong&gt;과학의 연구 방법은 분과마다 차이를 보이는데, 이는 해당 학문의 특성과 성숙도에 기인하며, 어떤 과학은 심지어 이론과 실험이 분리되기도 한다.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;이덕하의 글은 그 방법론으로 볼 때 과학으로 보기 어려운가&lt;/h3&gt;

&lt;p&gt;이 논의에 참여한 사람들은 대체로 “증거를 제시하지 않았다면 과학으로 보기 힘들다&amp;#8221;는 데에 동의하는 듯하다. 지뇽뇽 님은 &lt;a href="http://jinpark.egloos.com/1295891"&gt;심리학이라는 학문에 대한 접근 방식&lt;/a&gt;에서 상관 계수의 예를 들며 과학적 증거란 응당 &lt;em&gt;그러해야&lt;/em&gt; 한다고 주장한다. 그렇다면 상관 계수가 아닌 것은 과학적 증거로 부적합한가? &lt;em&gt;그러한&lt;/em&gt; 것은 무엇까지 포함하는가?&lt;/p&gt;

&lt;p&gt;지뇽뇽 님의 글을 요약하자면 과학적 증거가 상관 계수나 데이터여야 한다는 주장은 곧, 과학적 증거가 과학적인 한 요소는 정량적이라는 것이다, 라고 해석할 수 있다. 즉, 어떤 숫자가 나와야 한다. 그렇다면 과학에 정량성이 중요한 까닭은 무엇인가?&lt;/p&gt;

&lt;p&gt;정량성은 재현 가능성의 문제로 볼 수 있다. 누군가 “내가 해봤을 때는 그랬어”라고 해도 그 경험을 들은 다른 동료 과학자가 언제나 그것을 재현해볼 수 있는 것은 아니기 때문이다. 과학이 실험 과학인 이유는 바로 이러한 재현 가능성의 문제 때문인데, 이렇게 표현할 수 있다:&lt;/p&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;p&gt;그리고 이러한 것이 바로 실험이라고 할 수 있다.&lt;/p&gt;

&lt;h3&gt;가설의 수립도 과학이 될 수 있다&lt;/h3&gt;

&lt;p&gt;그런데 우리는 여기서 한 가지 의문을 떠올려 볼 수 있다. 과연 실험적 증거만이 과학적 증거가 되는가? 원리로부터의 가설이나 논리적 추론은 과학적 증거가 될 수 없는가? 이번 논의에 참여했던 강규영 씨는 &lt;a href="http://akngs.tumblr.com/post/47169752231"&gt;직관, 근거, 논리&lt;/a&gt;에서 이러한 의심을 좀더 파고든다:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;내 생각을 부연하자면 너무 근거(경험 근거)만 강조할 필요는 없다는 것이다.
  특히 직접 실험을 하기 어려운 환경에 있는 사람들이 학문에 기여할 수 있는 좋은 방법으로 논리(주로 연역추론을 통한 사고의 전개)를 활용하여 새로운 가설을 제시하거나 기존 경험 데이터에 대한 새로운 해석을 제시하는 일 등을 생각해볼 수 있다.&lt;/p&gt;
  
  &lt;p&gt;재미있는 것은 통제된 실험을 하기 시작한 역사가 얼마 안되는 분야에서 공부하는 분들이 과도하게 경험주의 쪽으로 치우치는 것 같다.
  아마 일종의 반작용 같은 것이 아닐까 생각해본다. 이를테면 조폭들이 “착하게 살자”라고 하는 거랑 비슷한 느낌이랄까.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;수많은 이론 물리학자들은 과학자로 불릴 자격이 없는가? 서상현 님은 &lt;a href="https://plus.google.com/106439241099941939090/posts/7j7kRDTWX66"&gt;연역추론에 의한 가설의 제시는 과학이 아닌가?&lt;/a&gt;라고 말을 꺼내며 다음과 같이 주장한다:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;과학의 특징으로 보통 실험을 들지만, 과학이 실험만으로 이루어지는 것은 아니다.
  과학은 순수하게 귀납적인 학문이 아니다.
  연역적인 이론만들기(theorizing)도 어엿한 과학의 한 부분이다.&lt;/p&gt;
  
  &lt;p&gt;구체적인 예로 &lt;a href="https://ko.wikipedia.org/wiki/%ED%94%84%EB%9E%9C%EC%8B%9C%EC%8A%A4_%ED%81%AC%EB%A6%AD"&gt;Francis Crick&lt;/a&gt;의 &amp;#8220;단백질 합성에 대하여(On Protein Synthesis)&amp;#8221;를 들고 싶다.
  이 1958년 논문은 어댑터 가설(adaptor hypothesis)을 처음으로 제기한 논문으로, 이것이 훌륭한 과학의 예라는 데는 아마도 이견이 없을 것이다.
  그러나 크릭이 논문에서 수많은 실험을 인용하기는 하지만, 어댑터 가설에 대한 근거는 실험적인 것이 아니며 대담한 직관의 도약을 통해 얻은 가설이 많은 사실을 설명할 수 있다는 이야기일 뿐이다.
  대가의 작품과 초등학생의 그림과 같은 차이가 있을지는 모르나 과학철학적으로 크게 볼 때 이것은 위 블로그에서 말하는 &amp;#8220;소설&amp;#8221;과 그렇게 다른 것이 아니다.&lt;/p&gt;
  
  &lt;p&gt;다만 일반적으로 말해서 과학은 이론만들기보다는 실험으로 발전하고, 위와 같은 예외적인 경우도 있지만 수많은 이론만들기보다는 잘 된 실험 하나가 값진 것은 맞다.
  하지만 &amp;#8220;소설&amp;#8221;을 쓴다고 과학이 아니라고 하는 것은 옳지 않다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Francis Crick은 그 기념비적인 논문에서 DNA가 단백질을 생성하는데 RNA가 개입된다고 주장했다. 그런데 이 주장에 대한 증거는 거의 논리적 추론이고 실험적 증거를 거의 제시하지 못했다. 실험이 매우 어려웠기 때문이다. (그 당시 tRNA를 추출하는 실험은 매우 난이도가 높았다.) 다행히 실험적 증거는 논문이 출판된 뒤에 다른 사람이 발견한다. 그렇다고 해도 우리가 Francis Crick의 그 논문이 과학이라고 할 수 없느냐고 한다면 매우 황당한 소리가 된다.&lt;/p&gt;

&lt;p&gt;그 외에도 물리학 같은 학문을 들자면 실험 없는 이론뿐인 훌륭한 과학의 예는 세기 힘들 정도로 많아지게 된다. 이론 물리학자들이 실험 물리학을 꿰고 있을 수 있다면 정말 이상적인 이야기겠지만, 실상은 이론 물리학을 하다보면 현재 실험 기술 수준으로 도대체 어디까지 실험이 가능하고 어떤 실험이 불가능한지조차 알 수 없는 게 현실이다. 실험 설계는 둘째 치고서라도. 예를 들어 우주 배경 복사는 실제 발견됐을 때보다 10년은 더 일찍 발견됐을 수도 있었으나 이론을 세운 사람들이 이런 실험은 불가능할 거라고 지레짐작하여 실험 물리학자들에게 찾아보라고 하지 않아서 못 찾은 것이다.&lt;/p&gt;

&lt;p&gt;사례를 열거해보면 소위 “소설” 쓰기(정말 과학 소설을 쓴다는 얘기는 물론 아니다)도 과학이 될 수 있는 듯하다. 따라서, 이덕하는 과학이 서툴다고 할 수 있을지 몰라도, Bayesian 님이 주장처럼 아예 &lt;a href="http://bayes.egloos.com/3028773"&gt;이덕하는 과학을 하는 것이 아니다&lt;/a&gt;라고 주장하긴 힘들다. 그림이 많이 서툴면 그림이 아니라 낙서 아니냐는 식으로 생각해볼 수도 있다. 이에 관한 문제는 &lt;a href="http://blog.dahlia.kr/post/47304560922"&gt;후속 글&lt;/a&gt;에서 다루기로 하고, 이제는 Bayesian 님의 주장을 이해해볼 필요가 있다.&lt;/p&gt;

&lt;h3&gt;적용 범위 (domain of applicability)&lt;/h3&gt;

&lt;p&gt;논의가 계속 되어감에 따라, 우리는 Bayesian 님이 칭하는 “과학&amp;#8221;이 사실은 “심리학&amp;#8221;을 가리키는 게 아닐까 하는 의심을 지울 수 없다. 예를 들어 다음과 같은 트윗을 보자:&lt;/p&gt;

&lt;blockquote class="twitter-tweet"&gt;&lt;p&gt;@&lt;a href="https://twitter.com/nevillekim"&gt;nevillekim&lt;/a&gt; 1종오류는 영가설이 맞는데 기각하는 경우, 즉 연구가설이 틀렸는데 맞다고 하는 오류고, 2종오류는 반대로 연구가설이 맞는데 틀렸다고 하는 경우입니다. 과학자들은 보통 1종오류를 줄이는 데 더 관심이 있죠.&lt;/p&gt;   &lt;div&gt;&lt;a href="https://twitter.com/bayescog/status/320072373548224512"&gt;April 5, 2013&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;blockquote class="twitter-tweet"&gt;&lt;p&gt;@&lt;a href="https://twitter.com/knauer0x"&gt;knauer0x&lt;/a&gt; 당연하신 말씀이죠. 과학자들은 1종오류에 극도로 민감한 사람들 아니었나요.&lt;/p&gt;   &lt;div&gt;&lt;a href="https://twitter.com/bayescog/status/319842628193640449"&gt;April 4, 2013&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;p&gt;Bayesian 님은 “과학자들은 틀린 가설을 맞다고 주장하는데 극도로 민감하다”고 주장하지만 실제로는 그렇지 않다. 가령 물리학이나 생물학에서는 틀릴 가능성이 높은 가설이 난무한다. 암흑 물질에 대한 수많은 모델들을 떠올려보자. 그 가설 대부분은 틀린 것으로 밝혀질 것이다.&lt;/p&gt;

&lt;p&gt;과학 철학에서는 과학의 본질은 반증가능성에 있다고 한다. 만약 그렇다면 오히려 틀릴 수 있는 가설을 마구 제기해야 더 과학적인 것이다.&lt;/p&gt;

&lt;p&gt;Bayesian 님은 심리학자이고, 우리는 Bayesian 님이 “과학&amp;#8221;이라고 할 때 많은 경우 그것이 “심리학&amp;#8221;의 일반화라는 것도 짐작할 수 있다. 만약 Bayesian 님의 주장에서 “과학&amp;#8221;을 마음속에서 “심리학&amp;#8221;으로 치환해서 받아들인다고 해서 손해볼 것은 없을 것이다. 그렇게 본다면 Bayesian 님의 심리학은 어떠해야 한다는 주장은 모두 수긍할만한 것이다.&lt;/p&gt;

&lt;p&gt;그리고 Bayesian 님은 또 이러한 트윗도 했다:&lt;/p&gt;

&lt;blockquote class="twitter-tweet"&gt;&lt;p&gt;그리고 소설을 쓰더라도 그럴듯하게 써야 한다. 사실 많은 심리학자들이 진화심리학의 가설 생성 방식 자체를 불편하게 생각하는 것 같다.&lt;/p&gt;   &lt;div&gt;&lt;a href="https://twitter.com/bayescog/status/320174475196915713"&gt;April 5, 2013&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;p&gt;심리학자가 아닌 사람으로서 해볼 수 있는 짐작 중 하나는, 유전자의 몫이 얼마나 큰지에 관한 불일치가 있다는 것이다. 유전자의 몫이 실제로 어떤지는 아무도 알 수 없고, 참값을 모르는 상태에서는 그 “소설&amp;#8221;이 그럴듯한가는 결국 prior에 의존하게 된다. 문제는 그 prior가 진화심리학자들과 심리학자들 사이에서 상이한 차이를 보인다는 것이다.&lt;/p&gt;

&lt;p&gt;하지만 저 추측은 아마도 틀리거나 결정적인 이유가 되지 못하는 것 같다. 갈등을 더 잘 해석하는 설명은 이렇다.&lt;/p&gt;

&lt;p&gt;심리학자들이 진화심리학의 가설 생성(theorizing) 방식을 불편하게 여기는 이유는, 심리학에서는 이론이 가리키는 범위를 실험이 보여주기 때문이다. 심리학 이론의 &lt;strong&gt;적용 범위&lt;/strong&gt;는 두 가지 측면에서 “좁다”고 할 수 있는데, 하나는 일반화 가능성이라는 점에서고 다른 하나는 현상 그 자체에서도 매우 부분적인 설명이라는 것이다. 이것은 심리학계 전반에 걸쳐 암묵적으로 공유되고 있는 관점이라고 할 수 있는데 진화심리학적 설명은 그 이론의 &lt;strong&gt;적용 범위&lt;/strong&gt;가 심리학에서 가정하고 있는 것보다 훨씬 넓다.&lt;/p&gt;

&lt;p&gt;과학 철학에서 &lt;strong&gt;적용 범위&lt;/strong&gt;(domain of applicability)란 이런 뜻이다. 과학에는 적용 범위가 광범위한, 만능에 가까운 상대성 이론, 양자 역학, 진화론 같은 이론이 있는 학문이 있고, 그렇지 못한 학문이 있다. 가령 포괄적응도 이론을 적용한다고 하면, 이 이론은 적용 범위가 매우 넓으므로 적용을 할 때마다 매번 “이 이론은 애초에 진사회성 동물에서 실험으로 검증 되었으며…” 같은 얘기를 할 필요가 없어진다. &lt;em&gt;그냥&lt;/em&gt; 이론을 적용하면 되는 것이지, 흰개미 얘기를 굳이 언급할 필요가 없다.&lt;/p&gt;

&lt;p&gt;반면 심리학자들은 비유하자면 마치 컴퓨터 수리공과도 같아서 어떤 적은 수의 넓은 이론으로부터 연역적으로 인간을 이해하고 있는 것이 아니라, 메모리나 입력 장치와 같은 각종 부품에 대해 잡다한 지식들을 쌓아놓고 있는 것이다. 앞서 말했듯 심리학 이론은 적용 범위가 협소한 확률적 진술이기 때문에, 여러 이론의 조합이 쉽게 되지 않는다. 아이추판다 님은 심리학자로서 이와 관련해 트윗을 하기도 했다:&lt;/p&gt;

&lt;blockquote class="twitter-tweet"&gt;&lt;p&gt;심리학자들은 논문이건 대중서건 일반적으로 이론에서 이론으로 이어지는 방식으로 글을 잘 안 쓴다. 한 마디하고 몇 년도에 누가 실험했는데 블라블라, 한 마디하고 실험 얘기 블라블라. 이게 사실은 근거를 대야한다는 이유말고 다른 더 중요한 이유가 있는데&lt;/p&gt;   &lt;div&gt;&lt;a href="https://twitter.com/aichupanda/status/320041158770307072"&gt;April 5, 2013&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;p&gt;(내용이 잘려서 후속 트윗이 있어야 할 것 같으나 아직 올라오지 않았다.)&lt;/p&gt;

&lt;p&gt;이론의 조합이 힘들다는 것은 결국 연역적 추론이 통하지 않는다는 것이다. 이러니 심리학자들이 진화심리학에서 하는 연역적 추론을 통한 가설 생성에 불편할 수밖에 없다.&lt;/p&gt;

&lt;p&gt;반면 진화론이라는 만능 이론에 매료되어 있는 진화심리학자들은 그러한 심리학에 큰 불만을 가지고 있고, 심리학을 진화 원리 위에서 다시 쓰고 싶어한다. 하지만 기존 심리학자들에게 그러한 접근법을 제시하는 것은 마치 컴퓨터 수리공에게 보편 튜링 기계나 옴의 법칙 운운하는 것과 같으니 당연히 시큰둥할 수밖에 없다. 컴퓨터를 털고 재부팅하거나 포맷하고 OS를 설치한다는 식의 경험적 지식에 비해 그러한 “일반적인” 지식이 컴퓨터 수리 방법에 대해 당장 더 알려주는 것이 없기 때문이다. 옴의 법칙으로 트랜지스터 10억개의 샌디브리지 CPU를 설명할 수도 있겠지만 그다지 유용한 접근은 아니다.&lt;/p&gt;

&lt;h3&gt;얼치기를 변호하기&lt;/h3&gt;

&lt;p&gt;결국 이덕하 식의 이론 만들기는 어설픈 과학, 미성숙한 과학이라고 볼 수는 있지만 결코 과학이 아니라고까지 주장할 수는 없다. 그럼에도 불구하고 여전히 이런 생각이 들 수 있다. 과연 이렇게까지 해서 이덕하 같은 얼치기를 변호해야 하는가? 이덕하가 예전에 쓴 글에는 오류도 많은데, 이제는 입문서까지 쓰겠다고 나선다. 과연 이게 용납될 수 있는 활동인가?&lt;/p&gt;

&lt;p&gt;이에 관해서는 &lt;a href="http://blog.dahlia.kr/post/47304560922"&gt;이어지는 글&lt;/a&gt;에서 집중적으로 다루려고 한다.&lt;/p&gt;

&lt;script src="//platform.twitter.com/widgets.js" charset="utf-8" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="footnotes"&gt;
&lt;hr&gt;&lt;ol&gt;&lt;li id="fn:p47304464713-1"&gt;
&lt;p&gt;대화는 2013-04-05T20:14:02+09:00–2013-04-06T00:43:04+09:00에 한 차례 있었고, 2013-04-06T12:38:52+09:00–2013-04-06T14:50:48+09:00에 또 한 차례 있었다. 실제 대화 기록이 궁금하고 해당 채널 로그에 접근할 수 있는 사람들은 로그를 찾아보면 된다. 참고로 곁가지가 훨씬 많다. &lt;a href="#fnref:p47304464713-1" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:p47304464713-2"&gt;
&lt;p&gt;요약하자면 이렇다. 이덕하는 많은 회원수를 보유한 &lt;a href="http://cafe.daum.net/Psychoanalyse"&gt;진화심리학 팬카페&lt;/a&gt;와 검색엔진에서 잘 걸리는 &lt;a href="http://sf1856.egloos.com/"&gt;진화심리학 블로그&lt;/a&gt;를 운영하고 있는데, 이전부터 심리학을 공부하지 않은 어린 학생들에게 자신의 글을 많이 노출시키고 있었다. 이에 관해 Bayesian 님은 &lt;a href="http://bayes.egloos.com/3028773"&gt;이덕하가 과학에 필수적이라고 할 수 있는 경험적 증거를 제시하지 못한채 가설 생성만 하고 있으므로 비과학적이라는 비판&lt;/a&gt;을 했다. 또한 이덕하가 결코 진화심리학의 전문가라 할 수 없다고 평하며, 따라서 &lt;a href="http://bayes.egloos.com/3028817"&gt;입문서를 쓰는 것도 반대&lt;/a&gt;했다. Bayesian 님이 강조하는 전문 과학자의 요건은 동료 과학자로부터의 학술지 논문 심사(peer review)인데, 이덕하는 동료 과학자의 리뷰도 없이 틀릴 수도 있는 내용들을 버젓이 유포하고 있다는 것이다. 이덕하는 이에 관해 자신이 학위 등이 없기 때문에 &lt;a href="http://bayes.egloos.com/3028945#1942866"&gt;그럴 수 있는 기회가 주어져 있지 않다&lt;/a&gt;고 변론했다. Bayesian 님은 &lt;a href="http://bayes.egloos.com/3028953"&gt;인터넷 상의 블로그 포스팅에는 잘못된 내용이 있더라도 전문가의 “혹독한 비평&amp;#8221; 같은 것은 받을 수 없을 것&lt;/a&gt;이라고 주장한다. &lt;a href="#fnref:p47304464713-2" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/vJHd3OlLeec" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/vJHd3OlLeec/47304464713</link><guid isPermaLink="false">http://blog.dahlia.kr/post/47304464713</guid><pubDate>Sun, 07 Apr 2013 05:55:00 +0900</pubDate><category>science</category><category>theorizing</category><category>experiments</category><category>domain of applicability</category><category>philosophy of science</category><category>featured</category><feedburner:origLink>http://blog.dahlia.kr/post/47304464713</feedburner:origLink></item><item><title>우선적으로 말하지만, 나는 진화심리학이나 인지과학에 관한 어떠한 전문적 지식도 가지고 있지 않다. 그러나 내가 이야기하고자 하는 것은 과학이 어떠해야 한다에 가까운 얘기라서 한번쯤...</title><description>&lt;p&gt;우선적으로 말하지만, 나는 진화심리학이나 인지과학에 관한 어떠한 전문적 지식도 가지고 있지 않다. 그러나 내가 이야기하고자 하는 것은 과학이 어떠해야 한다에 가까운 얘기라서 한번쯤 말해볼 수는 있을 것 같다.&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;이덕하: &lt;a href="http://cafe.daum.net/Psychoanalyse/Glqj/472"&gt;Bayesian 님, 지식과 용기가 있다면 제 글의 내용을 비판하십시오&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Bayesian: &lt;a href="http://bayes.egloos.com/3028773"&gt;이덕하씨에 대한 응답&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;강규영: &lt;a href="http://akngs.tumblr.com/post/47153405888"&gt;학(學)과 학위, 전문성과 자격증&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;이 글은 주로 맨 마지막 강규영 님의 글에 대한 감상이다.&lt;/p&gt;

&lt;p&gt;첫째로 나는 Bayesian 님이 과학적 연구가 어떠해야 한다고 주장한 바에 대해 모두 동의한다. 여기서 중요한 포인트는 Bayesian 님이 “모든 전문적 연구”가 어떠해야 한다고 주장한 바는 없다는 것이다. Bayesian 님은 처음부터 끝까지 “과학적 연구”가 어떠해야 한다고 말하고 있다. 따라서 과학에 포함되지 않는 전문적 연구에 대해서는 Bayesian 님이 주장하는 절차를 따를 이유가 없다.&lt;/p&gt;

&lt;p&gt;Bayesian 님이 제시하는 과학적 연구의 요건은 다음과 같은 것들이 있다.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;“과학자들은 자신의 주장에 대해 경험적으로 입증할 ‘증거’를 제시한다.”&lt;/li&gt;
&lt;li&gt;“그럴듯한 설명만 늘어놓고, 경험적 증거를 대지 않는 것은 전형적인 pseudo-science의 전형이라고밖에 볼 수 없다.”&lt;/li&gt;
&lt;li&gt;“과학자들은 자신의 주장을 내세울 때 매우 조심스럽게 한다. 그러나 그가 글을 쓰는 방식은 매우 단정적이고, 확신에 차 있으며, 오만하기 짝이 없다.”&lt;/li&gt;
&lt;li&gt;“과학은 과학자들의 &amp;#8216;공동체&amp;#8217; 에서 이루어지는 작업이다. peer-review는 과학적 지식의 객관성을 추구하기 위한 최소한의 안전 장치이다. 과학자는 결코 고립된 섬일 수 없으며, 스스로 둘러친 공간에서 혼자 떠드는 사람은 과학자라 할 수 없다.”&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;이렇게 요약할 수 있는 것 같다: 과학적 주장은 증거가 동반되어야 하며, 증거가 있다고 하더라도 확정적인 태도로 주장되어서는 곤란하다. 과학적 주장은 동료 과학자들로부터 검토받아야 한다.&lt;/p&gt;

&lt;p&gt;만약 그렇지 못한 주장들이 과도하게 섞인 진화심리학 교과서가 생긴다면 매우 끔찍하긴 할 것이다.&lt;/p&gt;

&lt;p&gt;두번째 감상은 이렇다. 강규영 님의 글은 요약하자면 “학위만이 전문성을 부여하는 것이 아니며, 논문과 저널이 아닌 형태(가령 블로그)로도 전문적인 연구가 가능하고, 오히려 이런 대안적 미디엄을 통한 연구에 대해 기존 연구자들이 검토해주면 좋을 것 같다”인 듯하다.&lt;/p&gt;

&lt;p&gt;문제는 Bayesian 님이 원 글에서 모든 전문적 연구가 어떠해야 한다고 주장한 바가 없으며, 동료 과학자들로부터 검토되어야 한다는 것 역시 그 방식이 기존 학계의 관행에 따라야 한다는 등의 주장까지는 하지 않았다는 사실이다.&lt;/p&gt;

&lt;p&gt;따라서 강규영 씨의 글은 전문 연구에 대한 대안적 성찰로는 참신하고 좋은 내용을 가진 듯하지만, 원 글에 대한 비판으로서는 주장하지 않은 바를 반박하고 있으므로 적절하다는 생각이 들지 않는다.&lt;/p&gt;

&lt;p&gt;세번째로, 강규영 씨가 글에서 제시한 대안적 연구 방법은 ‘과학적 연구’로 한정시켜서 생각한다면 다소 부적절해지는 면이 있다. 가령 동료 과학자의 검토를 받으려면 결국 저널과 같은 채널이 필요한데 블로그는 과학적 주제들을 위한 특수한 채널이 (내가 알기로는) 딱히 없다. 그리고 현재 많은 과학 블로그들이 주석과 참조를 열심히 달긴 해도 자기 자신의 주장을 묘하게 섞어놓는 경우도 많고 (이 부분에 대해서는 내 블로그도 비판의 대상에 포함될 것이다) 그런 자기 자신의 고유한 주장을 받쳐줄만한 증거를 제시하는 곳도 거의 없는 것은 사실이다.&lt;/p&gt;

&lt;p&gt;중요한 점은 블로그는 그럴만한 자격이 되지 않는다는 것이 아니라 (그렇다고 생각하지 않는다), 단지 하나, 과학적 주장에는 증거가 동반되어야 한다는 것이다. 만약 그 전문적 주제가 과학이 아니라면 그렇지 않을 것이다. 가령 내가 “프로그래밍 언어의 미래는 타입 이론이 아니라 사용성에 있다”고 주장한다고 해도 그것은 사실에 대한 설명을 시도하는 것이 아니니까, 즉 과학적 주장은 아니므로 증거가 동반될 필요는 없을 것이다. 하지만 내가 “물은 내 기분을 알고 있고 그에 따라 반응한다”(;;)라고 주장한다면 이것은 사실에 대한 설명을 시도하므로, 즉 과학적 주장이므로 증거가 동반되어야 할 것이다. 또한 그 설명은 결코 완전한 진리로 남아있을 수 없으므로 언제까지나 유보적인 태도로 주장되어야 할 것이다.&lt;/p&gt;

&lt;p&gt;과학은 어떠해야 하고, 과학적 연구는 어때야 하는가는 과학 철학의 문제이다. 하지만 과학에 능통하다고 해서 과학 철학에도 능통할 수 있는 것은 아니다. 과학 연구가 왜 그래야 하는지 생각해보지 않더라도 합의된 과학적 연구 방식을 무조건적으로 받아들이고서 좋은 연구를 하는 것도 얼마든지 가능하기 때문이다. 하지만 앞으로 과학적 연구가 어떻게 되어야 할지를 따져 묻는다면 얼마간 과학 철학이 필요해진다.&lt;/p&gt;

&lt;p&gt;내가 가진 과학 연구에 대한 입장은 전문 과학자가 아닌 사람으로서의 입장이므로 내가 완전히 엉뚱하게 이해하고 있는 부분이 있을지도 모른다. 과학 철학에 관한 내 최근의 생각들은 주로 Massimo Pigliucci의 &lt;a href="http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8960512206"&gt;이것은 과학이 아니다&lt;/a&gt;로부터 영향을 받은 것임을 일러둔다.&lt;/p&gt;

&lt;hr&gt;&lt;p&gt;업데이트: 이후 다른 분들의 후속 발언들.&lt;/p&gt;

&lt;blockquote class="twitter-tweet"&gt;&lt;p&gt;@&lt;a href="https://twitter.com/hongminhee"&gt;hongminhee&lt;/a&gt; @&lt;a href="https://twitter.com/bayescog"&gt;bayescog&lt;/a&gt; 과학적 주장엔 경험적 증거가 있어야 한다는 주장에 대한 제 생각은 이렇습니다: &lt;a href="http://t.co/wZiu9gyFqL" title="http://akngs.tumblr.com/post/47169752231"&gt;akngs.tumblr.com/post/471697522…&lt;/a&gt;&lt;/p&gt;    &lt;div&gt;&lt;a href="https://twitter.com/alankang/status/320042821274963968"&gt;April 5, 2013&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;blockquote class="twitter-tweet"&gt;&lt;p&gt;@&lt;a href="https://twitter.com/hongminhee"&gt;hongminhee&lt;/a&gt; 전부 아주 꼼꼼하게 읽진 못했는데, 개인적으로 민희님 말씀에 젤 공감하는 편입니다. 강규영님의 말씀은 뭔가 괜히 비전공 전문자를 옹호하기 위한 반박? 같은 느낌이 들구요. 원래 주제와 빗나간듯한&amp;#8230;&lt;/p&gt;   &lt;div&gt;&lt;a href="https://twitter.com/Hybrid0/status/320045930625789952"&gt;April 5, 2013&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;blockquote class="twitter-tweet"&gt;&lt;p&gt;과학적 주장에는 근거가 필요한가?라고 믈으면 좋은 답변이 나오기 어렵다. 어떤 과학적 주장을 정당화하기 위해서 어떤 근거가 얼마만큼 필요한가?라고 물어야함. 여기에 대해서는 이 글이 &lt;a href="http://t.co/ReuyUwA9CG" title="http://nullmodel.egloos.com/m/2082479"&gt;nullmodel.egloos.com/m/2082479&lt;/a&gt; 읽어볼만하다.&lt;/p&gt;   &lt;div&gt;&lt;a href="https://twitter.com/aichupanda/status/320046688175783936"&gt;April 5, 2013&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;script src="//platform.twitter.com/widgets.js" charset="utf-8" type="text/javascript"&gt;&lt;/script&gt;&lt;ul&gt;&lt;li&gt;Bayesian 님이 쓰신 &lt;a href="http://bayes.egloos.com/3028953"&gt;Alan Kang 님의 글에 대한 답변 &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;이덕하 님이 쓰신 &lt;a href="http://sf1856.egloos.com/3407384"&gt;‘이덕하씨에 대한 응답’에 대한 응답&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Bayesian 님이 쓰신 &lt;a href="http://bayes.egloos.com/3028817"&gt;계속하여&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;지뇽뇽 님이 쓰신 &lt;a href="http://jinpark.egloos.com/1295891"&gt;심리학이라는 학문에 대한 접근 방식&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;지뇽뇽 님이 쓰신 &lt;a href="http://jinpark.egloos.com/1295965"&gt;‘학문의 이름을 내세우고 하는’ 근거 없는 논의 전개?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;이덕하 님이 쓰신 &lt;a href="http://sf1856.egloos.com/3407488"&gt;Bayesian–지뇽뇽–이덕하 입씨름을 마무리하며&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;서상현 님이 쓰신 &lt;a href="https://plus.google.com/106439241099941939090/posts/7j7kRDTWX66"&gt;연역추론에 의한 가설의 제시는 과학이 아닌가?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;hr&gt;&lt;p&gt;업데이트: 이후 내 생각은 달라졌는데, 자세한 내용은 다음의 연속된 두 포스팅을 읽어보길 바란다.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://blog.dahlia.kr/post/47304464713"&gt;실험으로부터 분리된 이론은 과학이 될 수 없는가&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.dahlia.kr/post/47304560922"&gt;과학은 엘리트 주의인가&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/oMbdzRD6uFg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/oMbdzRD6uFg/47171290097</link><guid isPermaLink="false">http://blog.dahlia.kr/post/47171290097</guid><pubDate>Fri, 05 Apr 2013 13:58:00 +0900</pubDate><category>science</category><category>research</category><feedburner:origLink>http://blog.dahlia.kr/post/47171290097</feedburner:origLink></item><item><title>자료 구조와 알고리즘은 꼭 공부해야 할까</title><description>&lt;p&gt;어느 게시판에서 누가 질문을 했는데 거기에 답변을 단 것. 일반적인 질문이라고 생각해서 내 생각을 블로그에도 다시 옮겨 적는다.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;자료 구조와 알고리즘에 대한 지식은 크게 두 가지로 나눌 수 있는데&lt;/p&gt;
  
  &lt;ol&gt;&lt;li&gt;&lt;p&gt;어떤 자료구조와 알고리즘이 있으며 그 자료 구조가 수학적인 추상적인 수준에서 어떤 ‘성질’을 갖고 있으며 언제 그러한 성질이 도움이 되고 쓸모없는지, 어떤 알고리즘이 어떤 자료구조와 조화롭거나 그렇지 않은지 아는 ‘활용’ 지식이 있을 수 있고&lt;/p&gt;&lt;/li&gt;
  &lt;li&gt;&lt;p&gt;그것들을 자기 손으로 만들어내는 지식이 있을 수 있습니다.&lt;/p&gt;&lt;/li&gt;
  &lt;/ol&gt;&lt;p&gt;컴퓨터 과학을 공부하신다면 후자는 교양 수준에서 어느 정도 알아야 한다고 생각하고요, 그게 아니라 연구자로서 컴퓨터 프로그래밍을 도구 목적으로 활용하신다거나, 서비스 디자이너로서 시스템의 프로토타입을 만들어야 하거나 하는 식으로 프로그래밍을 오로지 수단으로만 쓰시려고 한다면 활용에 대한 지식이 훨씬 도움이 됩니다.&lt;/p&gt;
  
  &lt;p&gt;실제로 컴퓨터 과학 전공자들도 전문 분야(예를 들면 암호학)를 깊게 파다보면 해당 분야에 핵심적인 자료구조와 알고리즘은 꿰뚫고 있을지라도 상관 없는 쪽은 잘 모르기 쉽습니다. 반면 활용을 잘 하는 사람들은 그걸 어떻게 만드는지는 몰라도 세상에 어떤 유용한 자료구조와 알고리즘이 있는지 전체적인 카탈로그가 머릿속에 있어서 필요한 상황에 즉시 찾아서 사용하기도 합니다.&lt;/p&gt;
&lt;/blockquote&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/-LyKkolQPRQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/-LyKkolQPRQ/46913752757</link><guid isPermaLink="false">http://blog.dahlia.kr/post/46913752757</guid><pubDate>Tue, 02 Apr 2013 13:32:05 +0900</pubDate><category>data structures</category><category>algorithms</category><feedburner:origLink>http://blog.dahlia.kr/post/46913752757</feedburner:origLink></item><item><title>Python Packaging Talk</title><description>&lt;a href="https://speakerdeck.com/minhee/python-packaging"&gt;Python Packaging Talk&lt;/a&gt;: &lt;script async class="speakerdeck-embed" data-id="4f863e4070f6013098d412313918245d" data-ratio="1.33333333333333" src="//speakerdeck.com/assets/embed.js"&gt;&lt;/script&gt;&lt;p&gt;2013년 3월 17일 어제 Python Korea 모임에서 Python의 패키지 시스템에 대한 발표를 했습니다. 전에 제가 강의는 효과가 없다고 얘기한 적 있는데 하다보니 결국 강의 비슷한 형태가 되어버렸습니다. 슬라이드도 길어졌고요. 지루해하시는 분들도 많이 계셨습니다. 역시 이런 건 블로그 포스팅으로 하고 발표는 다른 주제를 할 걸 그랬어요.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/r-GZGWUxFJ0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/r-GZGWUxFJ0/45607620518</link><guid isPermaLink="false">http://blog.dahlia.kr/post/45607620518</guid><pubDate>Mon, 18 Mar 2013 04:25:42 +0900</pubDate><category>Python</category><category>packaging</category><category>packaging system</category><category>ecosystem</category><feedburner:origLink>http://blog.dahlia.kr/post/45607620518</feedburner:origLink></item><item><title>웹 페이지의 모바일 대응 방식에 대한 선호 순위</title><description>&lt;p&gt;개인적인 순위다.&lt;/p&gt;

&lt;dl&gt;&lt;dt&gt;&lt;code&gt;m.&lt;/code&gt; 같은 서브도메인을 붙이기&lt;/dt&gt;
&lt;dd&gt;가장 좋아하지 않는 방식이다. URL이 달라지기 때문에 다른 데에 링크하면 일반 데스크탑으로 보는 사람도 모바일 버전을 굉장히 큰 화면에 부풀려서 이상하게 봐야 한다. 우리나라의 대부분 사이트와 Twitter 등이 이런 방식을 쓴다.&lt;/dd&gt;

&lt;dt&gt;무대응&lt;/dt&gt;
&lt;dd&gt;서브도메인 붙이느니 그냥 대응 안해주는 게 편하다. 어차피 요즘 전화기는 해상도가 높아서 지원 안해도 그렇게까지 불편하진 않다. 우리나라 대부분 사이트가 이 방식을 쓰지만 그런 사이트는 대부분 웹 표준도 안 지킨다는 게 함정. GitHub도 무대응인데 그렇게 불편하지는 않다.&lt;/dd&gt;

&lt;dt&gt;&lt;code&gt;User-Agent&lt;/code&gt; 헤더 보고 다른 HTML 내려주기&lt;/dt&gt;
&lt;dd&gt;애드혹 내용 협상이라고 할만한데, &lt;code&gt;User-Agent&lt;/code&gt;를 보고 서버에서 모드를 나누는 것은 대부분 좋은 아이디어는 아니다. 명시적 합의가 아니기 때문에 미래에 대응할 수 없기 때문이다. (이 때문에 &lt;a href="https://play.google.com/store/apps/details?id=org.mozilla.firefox"&gt;Android용 Firefox&lt;/a&gt;를 쓰면 데스크탑 버전으로 보이는 경우가 있다. 왜 그러겠는가?) Tumblr가 이런 방식을 쓴다. 이 페이지를 모바일에서 들어가보면 아예 다른 마크업으로 서빙되는 것을 볼 수 있다.&lt;/dd&gt;

&lt;dt&gt;&lt;code&gt;link[media]&lt;/code&gt; 속성 통해서 다른 스타일시트 선택하기&lt;/dt&gt;
&lt;dd&gt;흔히 &lt;a href="http://www.w3.org/TR/css3-mediaqueries/"&gt;미디어 쿼리&lt;/a&gt;라고 하는 방식인데 아래서 언급하는 “반응적 디자인”이라는 패러다임이 나오기 전까지 제일 괜찮은 선택이었다. 물론 반응적 디자인을 적용하려고 해도 이 방식을 함께 사용해야 한다.&lt;/dd&gt;

&lt;dt&gt;&lt;a href="http://en.wikipedia.org/wiki/Responsive_web_design"&gt;반응적 디자인&lt;/a&gt; (responsive design)&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;웹 디자인을 잘 모르는 사람들한테도 널리 퍼진 개념. 미디어 쿼리 스펙에 브라우저의 해상도 등을 쿼리해서 조건적으로 스타일을 적용할 수 있는 기능이 있는데, 해당 스펙을 적극적으로 활용하여 주어진 공간에 적절하게 적응하자는 게 아이디어의 핵심이다. 근데 이 방식은 생각보다 잘 구현하기가 어렵다. 왜냐하면 포토샵 같은 정적인 시안으로 표현하려고 하면 시안의 경우의 수가 지원하려는 해상도의 종류(보통 ‘버킷’이라고 묶는 것 같다)와 페이지의 수의 곱으로 늘어나기 때문이다. 그래서 편의상 몇개의 시안만 대표적으로 만들게 되면 실제로 만들 때는 다 구멍이 나서 어색하게 된다. 즉, 공수가 많이 든다. Trello 같은 최신의 해외 사이트들이 대체로 이 방식을 쓴다.&lt;/p&gt;

&lt;p&gt;이 방식을 우아한 퇴행(graceful degradation)의 기술적 지원으로 잘못 이해하면 특정 해상도에서 일부 기능에 접근할 수 없게 되는 식으로 만들어지기 십상이고 실제로 그런 사이트들이 종종 있기 때문에 최근에는 이 방식에 대한 거부감도 생겨나고 있는 듯하다. 가령 스마트폰으로 들어가면 일부 기능이 안되서 데스크탑 사이트를 강제로 열고 싶은데 미디어 쿼리를 쓰면 그런건 힘들기 때문에 (다행히 Android용 Chrome 같은 경우에는 데스크탑 브라우저로 속이는 기능이 버젓이 존재해서 우회 가능하긴 하지만) 사람들이 짜증을 내는 것이다. 그런 일이 없도록 잘 만들어야 하는데 이래서 반응적 디자인이 구현하기 어렵다는 것이다.&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/U-2gWb_T0Nc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/U-2gWb_T0Nc/43980995942</link><guid isPermaLink="false">http://blog.dahlia.kr/post/43980995942</guid><pubDate>Mon, 25 Feb 2013 22:17:00 +0900</pubDate><feedburner:origLink>http://blog.dahlia.kr/post/43980995942</feedburner:origLink></item><item><title>비영어권 개발자들의 영어에 대한 antirez의 입장</title><description>&lt;p&gt;&lt;a href="http://invece.org/"&gt;Salvatore Sanfilippo&lt;/a&gt;는 &lt;a href="http://redis.io/"&gt;Redis&lt;/a&gt;를 만든 이탈리아 해커로, antirez라는 아이디가 좀더 유명하다. 나 역시 이탈리아식 이름을 외우는데 애를 먹어서 antirez로 기억하고 있다.&lt;/p&gt;

&lt;p&gt;이번달 초 그가 남긴 트윗을 보면 그는 비영어권 개발자가 능숙하지 않은 영어로 오픈소스 활동을 하는 것에 대해 반기는 듯하다.&lt;/p&gt;

&lt;blockquote class="twitter-tweet"&gt;&lt;p&gt;Many pull requests from China: ten words, a small example, very useful fixes for hard to find bugs. More please.&lt;/p&gt;    &lt;div&gt;&lt;a href="https://twitter.com/antirez/status/298359719704268800"&gt;February 4, 2013&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;script src="//platform.twitter.com/widgets.js" charset="utf-8" type="text/javascript"&gt;&lt;/script&gt;&lt;p&gt;그보다 좀더 예전, 그러니까 3년 전쯤에도 (&lt;a href="http://www.reddit.com/r/programming/comments/8fq27/why_so_few_developers_are_using_firebird_sql/c09516c"&gt;해당 쓰레드의 제목이 바르지 않은 어순의 의문문이라는 데에 짜증내는 오프토픽 댓글&lt;/a&gt;에 대한 답장으로) &lt;a href="http://www.reddit.com/r/programming/comments/8fq27/why_so_few_developers_are_using_firebird_sql/c095njb"&gt;비슷한 의견을 Reddit에 쓴 적&lt;/a&gt;이 있다. 아래는 내가 적당히 한 번역.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;영어가 모국어가 아닌 수많은 개발자들은 매일 오로지 단 한 가지를 위해 최선을 다하고 있는데, 그것은 바로 프로그래머의 전 세계적인 소통입니다. 그들은 &lt;a href="http://news.ycombinator.com/"&gt;Hacker News&lt;/a&gt;와 &lt;a href="http://reddit.com/r/programming"&gt;/r/programming&lt;/a&gt;에 댓글을 달고, 영어 주석이 달린 오픈 소스 코드를 작성하고, 블로그 포스팅도 합니다. 많은 경우 그 사람들의 영어는 완벽하지는 않아도 이해해줄 만하고 평균적인 미국/영국 사람이 외국어를 이해하는 수준보다 훨씬 낫습니다.&lt;/p&gt;
  
  &lt;p&gt;그러니까 비문(非文)에 집중하는 대신 그들의 노고에 감사하는 것은 어떨까요? (덧. 최소한 길이는 미터로 무게는 킬로그램으로 표현하는 노력은 해주세요.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;사실 antirez 역시 영어가 모국어는 아닌 이탈리아 사람이라 영어가 모국어만큼 자연스럽지는 않다. 그 역시 가끔 &lt;a href="https://github.com/antirez/redis-doc/pull/119"&gt;이런 문법 패치&lt;/a&gt;(?)를 받는다.&lt;/p&gt;

&lt;p&gt;나는 영어를 학교에서 글로만 배운 한국인 개발자로서, (적어도 오픈 소스 개발자라면) 영어는 오독하지 않을 정도로 읽을 수 있고 잘못된 작문 앞에서 떳떳할 수 있는 용기만 있다면 최소 조건은 만족하는 게 아닐까 뭐 그런 생각을 해본다.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/SZudBpPPcvk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/SZudBpPPcvk/43746267206</link><guid isPermaLink="false">http://blog.dahlia.kr/post/43746267206</guid><pubDate>Sat, 23 Feb 2013 06:21:00 +0900</pubDate><category>english</category><category>second language</category><category>open source</category><feedburner:origLink>http://blog.dahlia.kr/post/43746267206</feedburner:origLink></item><item><title>대역폭이 넓거나 전송할 정보를 계산하는데 큰 비용이 드는 경우 대부분은 계산 결과를 전달한다. 하지만 대역폭이 좁거나 전송할 정보를 계산하는데 비용이 크지 않다면 의도, 즉 결정적...</title><description>&lt;p&gt;대역폭이 넓거나 전송할 정보를 계산하는데 큰 비용이 드는 경우 대부분은 계산 결과를 전달한다. 하지만 대역폭이 좁거나 전송할 정보를 계산하는데 비용이 크지 않다면 의도, 즉 결정적 함수를 전달하여 수신자가 다시 계산한다. 결과 대신 의도를 전달하는 것은 때때로 압축이지만 그 함수가 결정적이지 않은 환경에서는 때때로 부작용을 초래한다.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/MDRA93CLgy4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/MDRA93CLgy4/43714392418</link><guid isPermaLink="false">http://blog.dahlia.kr/post/43714392418</guid><pubDate>Fri, 22 Feb 2013 18:44:56 +0900</pubDate><category>intention</category><category>compression</category><category>computation</category><feedburner:origLink>http://blog.dahlia.kr/post/43714392418</feedburner:origLink></item><item><title>Windows 안 쓰는 사람이 프로그래밍 더 잘하는 이유</title><description>&lt;p&gt;사실 정말 제목처럼 생각하는 것은 아니다. 어디나 예외도 있고 내 주관적 경험에도 편향이 존재한다. 가령 내가 알기로 &lt;a href="http://minjang.egloos.com/"&gt;김민장&lt;/a&gt; 님은 Windows 쓰신다. 그럼에도 불구하고 내 경험에 의하면 Windows 안 쓰는 사람이 대체로 프로그래밍 잘하는 사람 보기 더 쉬웠다.&lt;/p&gt;

&lt;p&gt;여러 이유가 있는 것 같다.&lt;/p&gt;

&lt;p&gt;가장 큰 이유는 Windows를 안 쓰더라도 Windows를 지원해야 하기 때문이다. 반면 Windows만 쓰는 개발자는 다른 OS 이식성은 존나 생각 안하고 산다. 사실 이건 (지금이야 다들 Google Chrome 쓰지만) 2005년쯤에 Internet Explorer 안 쓰고 Mozilla Firefox 쓰는 웹 개발자가 대체로 더 실력이 좋았던 것과 비슷한 이치이다. 그때도 Mozilla Firefox 쓰는 웹 개발자는 Internet Explorer 호환성도 고려하면서 개발했다. 기본적인 개발 태도가 달라질 수밖에 없는데, 이런 태도로 10년 이상 지나면 둘 사이에 갭이 꽤 크게 생기는 것 같다. 요약하자면 Windows 쓰는 사람은 Windows밖에 모르는 반면 (예를 들어) Linux 쓰는 사람은 싫어도 Windows도 같이 쓰게 되기 때문에 둘 다 알게 된다.&lt;/p&gt;

&lt;p&gt;또 다른 이유로는 MSDN이 있다. Microsoft는 개발 문서에 공들이기로 정평이 나 있는데, 심지어 각국 언어로 번역까지 해준다. 그런데 조금 이상하게 들릴지 모르지만 이 때문에 영어 문서를 안 봐도 어느 수준까지 프로그래밍을 하는데 문제가 없게 만들어서 개발자들 실력 향상에 도움이 되지 않는다. 여기까지 말하면 이 지점에 대해서 동의할 사람들은 무슨 얘기를 하는지 알아들을 것이고, 그렇지 않은 사람들은 설명해도 동의하지 않을 것이라고 생각한다. 그나저나 Windows만 쓰는 개발자 중에 네이버 검색 쓰는 사람 정말 많더라. 나는 이것도 한몫 한다고 생각한다. Windows 말고는 네이버로 검색해서 제대로 된 개발 문서 찾기가 쉽지 않다. 이건 여기까지.&lt;/p&gt;

&lt;p&gt;또, Mac은 그렇지 않지만 Linux를 주로 쓰는 경우 트러블슈팅 자체가 개발 지식과 밀접하게 관련되어 있거나, 트러블슈팅을 하려면 그런 지식을 알 수밖에 없도록 만들기도 한다. 그러다가 메일링 리스트와 버그 트래커에서 검색을 일상적으로 하게 되고, 우연히 관련 이슈에 달린 고수들의 토론과 의사 결정 과정도 목격하게 된다. 디자인에서 중요한 것은 결정이 아니라 그 근거인데, 어느 정도 규모가 있고 성숙한 프로젝트(즉, Linux 처음 쓰면 일상적으로 사용하게 되는 소프트웨어들)라면 &lt;a href="http://blog.dahlia.kr/post/22257352642"&gt;디자인 문서&lt;/a&gt;는 없더라도 메일링 리스트와 이슈 트래커에서 그러한 후보와 근거들을 볼 수 있다. 말하자면 오픈 소스 프로젝트의 이슈 트래커와 메일링 리스트는 고수들의 (초식이 아니라!) 심득이 벽에 적혀 있는 깊은 동굴 같은 장소이다. (그리고 디자인 문서는 비급 정도쯤 되겠고.) 반면 Windows에서의 소프트웨어는 대개 상용 제품이기 때문에 비교적 문제가 적기도 하고, 문제가 있을 경우 CS를 찾지 이슈 트래커를 찾진 않는다. Linux에서 마주하는 오픈 소스 소프트웨어는 (일반 사용자에게는 매우 좋지 않은 현상이지만) 사용자를 동등한 개발자로 보는 반면 Windows에서 마주하는 상용 소프트웨어는 사용자가 개발자라고 하더라도 일반 사용자로 가정한다. 물론 이러한 차이가 Linux 데스크탑을 망하게 한 주범임은 말할 필요도 없다. 하지만 프로그래머에게는 꼭 나쁜 것만은 아니다.&lt;/p&gt;

&lt;p&gt;그리고 어느 순간부터는 자기가 고쳐서 쓸 수 있으면 고쳐서 쓰고, 그걸 패치로 보내기도 하게 된다. 자기가 쓰고 있던 소프트웨어를 직접 고쳐서 쓰는 경험은 여러 가지 면에서 개발자에게 도움이 된다. 내가 생각하는 가장 큰 이점은, 고쳐야 할 코드의 품질이 어떻건 간에 코드 읽는 훈련이 된다는 점이다. 실제로 프로그래머는 상당히 높은 확률로 레거시 코드와 씨름하게 되는데, 대부분 프로그래머가 레거시를 싫어하는 이유는 첫째로는 품질이 좋지 않기 때문이고 둘째로는 내가 짜지 않았기 때문이다. 어찌됐건 코드 읽는 훈련은 양쪽 상황 모두에 도움이 된다.&lt;/p&gt;

&lt;p&gt;물론 이런 삽질은 시간을 요구한다. 따라서 보통 학생 때부터 Linux 쓴 친구들이 이런 부수 효과의 혜택을 본다. 여기서 학생이라는 것은 보통 대학생이 아니라 중고등학생이다. 대학생 때 시작하면 늦는다. Linux를 쓰면 “취업 준비”(많은 의미가 담겨있음)할 시간을 많이 뺏기 때문이다.&lt;/p&gt;

&lt;p&gt;그리고 이것도 원인 중 하나인지는 모르겠는데, (지금은 꼭 그렇지도 않지만) Windows에서 개발과 상관 없는 쪽으로 놀거리가 더 많다.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/MdGQk3AljUg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/MdGQk3AljUg/42937234202</link><guid isPermaLink="false">http://blog.dahlia.kr/post/42937234202</guid><pubDate>Wed, 13 Feb 2013 03:51:00 +0900</pubDate><category>windows</category><feedburner:origLink>http://blog.dahlia.kr/post/42937234202</feedburner:origLink></item><item><title>"현생 인류가 네안데르탈인과의 경쟁에서 그처럼 유리한 고지를 차지할 수 있었던 것이 이들이 복잡한 사회 구조에 적응하는 과정에서 우연히 생긴 부산물 덕분이었다는 점이 흥미롭다...."</title><description>“&lt;p&gt;현생 인류가 네안데르탈인과의 경쟁에서 그처럼 유리한 고지를 차지할 수 있었던 것이 이들이 복잡한 사회 구조에 적응하는 과정에서 우연히 생긴 부산물 덕분이었다는 점이 흥미롭다. 앞에서 말한 바와 같이 여럿이 힘을 합쳐 짐승을 사냥하던 습관에서 비롯된 인류 집단의 협동 체계는 결국 잘 짜여진 사회 네트워크로 발전했다. 여기에 육체적 부담이 줄어든 새로운 생활 양식까지 합세하여 현생 인류의 평균 수명은 네안데르탈인보다 훨씬 길어졌다. 그 결과 상당수의 후기 구석기 인류가 50세, 즉 아이를 생산할 수 있는 연령을 훨씬 지나서까지 살아남았을 것으로 보이는데, 바로 여기에 이들이 네안데르탈인과의 경쟁에서 이길 수 있었던 결정적 요인이 숨어있다. 왜냐하면 나이든 노인들의 역할이 사회에서 매우 중요하기 때문이다.&lt;/p&gt;

&lt;p&gt;인간을 다른 동물들과 구별하는 특징 가운데 하나는 이들이 본능보다는 교육과 학습을 통해서 배운 지식에 의존하여 행동을 결정한다는 점이다. 사람은 유년기의 거의 대부분을 배우는 데 소비하고, 대개는 스무 살이 훨씬 지난 뒤에야 다른 누군가를 가르치고 교육하기에 충분한 지식을 갖추었다고 인정받는다. 또한 나이가 들수록 점점 더 많은 삶의 지혜가 축적되기 때문에 자신의 경험에 비추어 후손들을 교육하는 능력도 그만큼 커진다. 그래서 할아버지나 할머니들은 대학의 교수님들 못지않게 “안 가본 곳이 없고 안 해 본 일이 없는” 인생의 스승인 것이다. 게다가 조부모들이 함께 있으면 젊은 부모가 일하는 동안 어린 아기의 양육을 도와줄 수 있기 때문에 사회 전체의 생식력이 증가된다. 아기가 자랄 때까지 기다리지 않고 계속 다음 아이를 출산할 수 있기 때문인데, 이 또한 네안데르탈인을 경쟁의 패배자로 만든 요인 중 하나였을 것이다. 인류학자 크리스텐 호크스(Kristen Hawks)는 이렇게 조부모가 아이를 길러 준 덕분에 후기 구석기 시대에 현생 인류가 그처럼 급격히 늘어날 수 있었다고 말한다. 어쩌면 별것 아닌 것처럼 보일 수도 있는 이 작은 이점이 결국 네안데르탈인의 멸종을 불러온 것이다.&lt;/p&gt;”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Spencer Wells. 최초의 남자.&lt;/em&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/SkCp19kt2w4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/SkCp19kt2w4/42716190055</link><guid isPermaLink="false">http://blog.dahlia.kr/post/42716190055</guid><pubDate>Sun, 10 Feb 2013 10:51:00 +0900</pubDate><feedburner:origLink>http://blog.dahlia.kr/post/42716190055</feedburner:origLink></item><item><title>왜 어떤 것은 도둑질이 되고 어떤 것은 괜찮다고 여겨질까</title><description>&lt;p&gt;&lt;ins&gt;윽. 약간 포인트를 잘못 잡은 것 같아서 추가. 이 글에서 말하고 싶은 것은 “왜 무엇은 사고 싶고 무엇은 사고싶지 않을까”의 문제가 아니라 “왜 어떤 것은 도둑질이 되고 어떤 것은 괜찮다고 여겨질까”의 문제임.&lt;/ins&gt; &lt;ins datetime="2013-01-19T20:23:41+09:00"&gt;그래서 아예 글 제목을 그렇게 고쳤음.&lt;/ins&gt;&lt;/p&gt;

&lt;p&gt;나를 포함한 어떤 사람들은 대부분의 다른 사람들이 음악(음원)에 돈을 지불하지 않으려 한다며 그들의 의식없음에 불평한다. 나도 대체로 그런 생각을 해왔고, 지금은 좀더 다른 관점을 가지게 되었지만 심정적으로는 여전히 그러한 불평에 동감한다. 소프트웨어 개발자로서 소프트웨어에 돈을 지불하는 것에 대해서도 마찬가지로 생각한다. 다음은 Twitter에서 떠돌던 재밌는 일화이다.&lt;/p&gt;

&lt;blockquote class="twitter-tweet" lang="ko"&gt;&lt;p&gt;A: 컴퓨터 작업을 하려면 워드 프로그램이 반드시 필요한데.. 너무 비싸니까 어둠의 경로를 이용할 수 밖에 없어요.B: 네.. 저도 컴퓨터 작업을 하려면 컴퓨터가 반드시 필요한데, 너무 비싸니까 하나 훔쳐오려구요.A: 그건 도둑질이잖아요!&lt;/p&gt;— 황금가지 (@goldnerbaum) &lt;a href="https://twitter.com/goldnerbaum/status/287736812611448833" data-datetime="2013-01-06T01:46:16+00:00"&gt;2013년 1월 6일&lt;/a&gt;&lt;/blockquote&gt;

&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;p&gt;사람들의 의식없음을 개탄하고 불평하는 것도 약간은 마음의 위로가 될지 모르나, 근본적인 해결책을 제공하지는 않는다. 그런 불평, 혹은 그것을 희화하는 것으로 승화시킨 sarcasm을 블로그에 쓰거나 Twitter에 올려서 무한한 리트윗을 받더라도 당신이 만든 소프트웨어의 불법복제율이 딱히 떨어지는 것은 아니다. 누구나 한켠에서는 알고 있는 사실이지만, 그런 말들에 동조해주고 리트윗하는 사람들은 당신이 설득시킬 대상은 처음부터 아니다. 설득시킬 대상은 그런 트윗에 노출되더라도 리트윗까지 하지는 않는다. 애초에 누군가를 깔보는 태도로 쓴 글은 설득력을 오히려 반감시킨다.&lt;/p&gt;

&lt;p&gt;이제부터 내가 하고자 하는 이야기는 나의 달라진 관점에 대한 것이다. 내가 새롭게 갖게 된 관점은 이렇다.&lt;/p&gt;

&lt;p&gt;나는 문제를 실제로 해결하려면 사람들이 왜 그렇게 생각하는지(의식없는 것처럼 행동하는지)를 이해하고 얼마간 동감해볼 필요가 있다고 생각한다. 우선 시간이 여유롭다면 아래 링크된 두 글을 읽어보길 권한다.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.paulgraham.com/property.html"&gt;Defining Property&lt;/a&gt; (Paul Graham, Y-combinator 설립자)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.fluidinfo.com/terry/2009/05/06/balcony-music/"&gt;Balcony Music&lt;/a&gt; (Terry Jones, Fluidinfo CTO)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;나는 위 글을 쓴 사람들이 남들보다 의식이 없어서 저런 얘기를 하는 것은 아니라고 믿는다. 사실, 저 글은 음악(음원)에 돈을 지불하는 것이 넌센스라고 선동하는 글이 아니다. 저 두 글의 태도는 ‘근데 생각해보자… 그 사람들이 그렇게 생각하는게 꼭 틀린 건 아닐 수도 있어…’라고 조심스럽게 다른 관점을 시도하는 태도에 가깝다. 나는 그리고 그런 시도가 바람직하다고 생각해서 이 글에서뿐만 아니라 매사에 본받으려 하고 있다(내가 이런 태도를 의식적으로 갖으려 노력하게 된건 불과 2년이 되지 않는 일인 듯하다).&lt;/p&gt;

&lt;p&gt;나는 사람들이 어떤 것에는 돈을 지불하는 것이 마땅하다고 여기는 한편, 내용에 있어서는 동등한 어떤 것들에 대해서는 돈을 지불하는 것이 이상하다고 여기는 데에는 나름의 논리와 규칙이 존재한다고 생각한다.&lt;/p&gt;

&lt;p&gt;예를 들어 음악 CD와 MP3 음원은 (CD에는 물론 두꺼운 부클릿이나 DVD, 아이돌의 음원인 경우 화보집 같은 것들이 더 들어있긴 해도) 동등한 내용을 담는 다른 미디엄인 것은 자명한데, 그럼에도 불구하고 사람들은 음악 CD에 돈을 지불하는 것보다 MP3에 돈을 지불하는 것을 좀더 넌센스라고 생각한다. 이 사례만을 보고 바로 떠오르는 가설은 사람들은 손으로 만질 수 있는 물건이 아니면 지불 의사에 상당한 태도 차이가 생기게 된다는 것이다. 즉, 지불에 대한 태도를 다른 모드로 스위치하는 조건은 구매 대상의 tangibility이다.&lt;/p&gt;

&lt;p&gt;하지만 앞서 링크한 Defining Property의 처음 사례를 떠올려보자. 아무도 음식 자체가 아니라 음식의 맛있는 냄새에 돈을 지불하려고 하지는 않을 것이다. 음식 냄새는 포만감을 주기보다 없던 식욕을 오히려 만드므로 당연히 돈을 지불할 대상이 아니라고 여길 수도 있다. 그렇다면 향기에 대해 생각해보자. 사람들은 향수에 대해 돈을 지불하는 것을 말이 된다고 생각한다. 하지만 향기를 맡는만큼 돈을 지불하라고 하면 대개는 말이 되지 않는다고 여길 것이다. 이 논의를 너무 가볍게 여겨서는 안된다. 향기 역시 음악처럼 어떤 가치를 제공한다는 점은 분명하다. 이 사례를 떠올려보면 tangibility는 구매 의사를 결정하는 척도가 아닌 것 같기도 하다.&lt;/p&gt;

&lt;p&gt;얼마 지나지 않아 나는 이 가설이 사람들을 아주 잘 설명하지는 못한다는 생각을 하게 되었다. 대신 새로운 가설을 떠올리게 되었는데, 새로운 가설이 무엇인지 말하기 전에 기각한 기존 가설을 반박하는 사례가 무엇이었는지 짚고 넘어갈 필요가 있다.&lt;/p&gt;

&lt;p&gt;만질 수 있음에도 불구하고 돈을 지불하는게 말이 안되는 사례는 멀리 찾을 것 없이 봉이 김선달 이야기를 떠올리면 된다. 대동강 물을 돈주고 판다는 발상이 사람들에게 기막힘을 주거나 헛웃음이 나오게 하는 이유는 무엇인가? 대동강 물이 에비앙만큼이나 잘 만져진다는 점은 분명하다.&lt;/p&gt;

&lt;p&gt;또, 만질 수 없음에도 불구하고 사람들이 돈을 지불하는 것들도 있다. 가령, 사람들은 MP3는 그냥 받지만 웹하드 용량에는 돈을 지불한다.&lt;/p&gt;

&lt;p&gt;이러한 사례까지 포함해서 사람들을 좀더 잘 설명할 수 있는 나의 새로운 가설은, 사람들이 지불을 당연하게 여기게 하는 기준은 구매 대상의 소모성에 있다는 관점이다.&lt;/p&gt;

&lt;p&gt;이 가설은 사람들이 음악 CD는 돈 안주고 가져가면 도둑질이 되지만 MP3는 토런트로 받아도 문제없다고 여기는 이유에 대해 이런 설명을 해준다. 음악 CD는 레코드점에서 돈을 주고 사면, 레코드점에 있던 음악 CD가 사라진다. 반면 MP3 파일은 내가 돈을 주고 사더라도 그것은 사본일 뿐, 음원 판매 사이트의 MP3 파일 갯수가 주는 것은 아니다.&lt;/p&gt;

&lt;p&gt;이 가설은 향수와 향기의 차이도 비슷하게 설명한다. 가게에 향수의 재고가 5개 남아있었는데 내가 돈을 주고 샀더니 4개가 되었다. 하지만 향기는 “좀 맡는다고 닳지 않는다.” 음식은 먹으면 내 뱃속으로 사라지지만 음식 냄새는 맡아도 사라지지 않는다.&lt;/p&gt;

&lt;p&gt;앞선 두 예제는 모두 “tangible하면서 소모적인 것과 intangible하면서 복제되는/소모되지 않는 것”의 비교이기 때문에 기각한 가설과 새로운 가설 모두 잘 설명할 수 있는 사례지만, 봉이 김선달의 예는 기각한 가설은 설명하지 못하고 새로운 가설이 잘 설명해줄 수 있는 사례이다. 대동강 물은 사람의 관점에서는 무한에 가깝기 때문에 내가 좀 마신다고 해서 닳지 않는다. 즉, 판매자의 재화를 딱히 소모시키지 않는다. 마찬가지로 웹하드 역시 비슷하게 설명이 된다.&lt;/p&gt;

&lt;p&gt;만약 이 가설이 맞다고 가정하면 사람들이 돈을 지불하는게 말이 안된다고 여기는 것들을 마땅히 지불해야 하는 것으로 포장할 방법에 대해서도 힌트를 준다. 가령, 앞서 예로 든 웹하드를 떠올려보자. 웹하드 운영사는 은행이 지급준비금을 예금의 총합보다 적게 유지하는 것과 마찬가지로 웹하드 용량의 예비율을 실제 고객이 구입한 용량보다 적게 유지할 수 있고 실제로 그렇게 운영되는 편이다. 이는 명백히 웹하드 용량이 사용된 만큼 소모된 것이 아니지만, 고객은 웹하드 용량이 마치 부동산처럼 다른 고객이 구입한 공간과 물리적으로 배타적이여서 전체 웹하드 용량이 소모된다고 보기 때문에 지불할만 하다고 여긴다. 디지털 음원사들은 대체로 음원 자체에 가격을 매기는 대신 음원을 살 수 있는 일종의 슬롯에 가격을 책정하고, 실제로도 음반 자체를 파는 것보다는 이쪽이 더 널리 퍼진 수익 모델이다. 패키지 게임은 잘 안 팔린지 오래되었지만 유료 아이템 모델은 여전히 잘 작동한다. 중요한 것은 팔려는 재화가 실제로 소모적인지가 아니라, 소모적인 것처럼 보이느냐인 듯하다.&lt;/p&gt;

&lt;p&gt;그렇다고 항상 소모적인 관점을 제시해야만 사람들이 지불을 기꺼워하고 복제가 일어나는 경우에는 무조건 지불을 하지 않으려한다고 주장하기는 힘들다. 하지만 복제가 일어나기 때문에 지불 유도가 힘든 경우에는 대체로 소모적인 것처럼 포장하는 게 사람들이 돈을 지불하게 만드는데 좀더 수월할 거라는 생각이 든다.&lt;/p&gt;

&lt;p&gt;예를 들어, 이 가설이 맞다면 웹툰 유료화는 돈을 주고 감상하는 단순한 방식보다는… 아 내가 이걸로 사업해야징&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/F0Uh9STr6uI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/F0Uh9STr6uI/40805043953</link><guid isPermaLink="false">http://blog.dahlia.kr/post/40805043953</guid><pubDate>Fri, 18 Jan 2013 10:26:00 +0900</pubDate><category>featured</category><feedburner:origLink>http://blog.dahlia.kr/post/40805043953</feedburner:origLink></item><item><title>"어떤 철학자를 연구할 때 가져야 할 올바른 태도는 그를 숭상하지도 경멸하지도 말고 이론 가운데서 믿을 만한 점을 알아낼 때까지 우선 일종의 가설로서 공감을 표하는 것이다. 그래야만..."</title><description>““어떤 철학자를 연구할 때 가져야 할 올바른 태도는 그를 숭상하지도 경멸하지도 말고 이론 가운데서 믿을 만한 점을 알아낼 때까지 우선 일종의 가설로서 공감을 표하는 것이다. 그래야만 비판적 태도를 회복할 수 있는데, 이러한 태도는 가능한 한 이제까지 주장하던 의견을 포기할 수도 있는 정신 상태를 닮아야 한다. 경멸은 가설로서 공감을 표현하는 데 방해가 되며, 숭상은 비판적 태도의 회복에 방해가 된다. 두 가지 점을 꼭 기억해야 한다. 연구할 만한 가치를 지닌 의견이나 이론을 내놓은 사람은 어느 정도 지성을 갖추었다고 할 수 있지만, 아무도 어떤 주제에 대해서 완결된 최종적인 진리에 도달할 수는 없다. 어떤 지성인이 분명히 불합리한 견해를 표현할 때, 우리는 그의 의견이 어떤 식으로 참인지 입증하려 해서는 안되고, 어떻게 참인 *것처럼 보이게* 되었는지 이해하려 노력해야 한다.””&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;버트런드 러셀. 서양철학사.&lt;/em&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeMetaphor/~4/Ry614PthA1M" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/CodeMetaphor/~3/Ry614PthA1M/40462093483</link><guid isPermaLink="false">http://blog.dahlia.kr/post/40462093483</guid><pubDate>Mon, 14 Jan 2013 07:15:28 +0900</pubDate><feedburner:origLink>http://blog.dahlia.kr/post/40462093483</feedburner:origLink></item></channel></rss>
