The Last Mind

Captain's Log

Monthly Archives: June 2005

Thomas Malone’s Perspective in Supernova 2004

23 June 2005 by Joseph Jang

Supernova는 기술, 비즈니스와 사회관계는 물론 우리의 삶 전반에 걸쳐 나타나고 있는 decentralization이라는 현상에 관한 컨퍼런스다. 태우님의 글를 통해서 Thomas Malone 교수가 Supernova 2004에서 Perspective로 발표한 내용을 접할 수 있었다. 이 발표가 새롭고 인상적인 생각들을 보여주는 것은 아니라고 하더라도, decentralization 경향에 대한 일반적인 생각을 체계적으로 잘 정리하고 있다고 보여진다. 그렇지 않아도 Complex system연구와 최근의 Social software들을 접하고 나서, 최근 기술과 비즈니스의 decentralization 경향에 대해서 고민을 하고 있었기 때문에 더욱 흥미로운 내용이었다.

그는 정보기술(information technology)이 커뮤니케이션의 비용을 줄임으로써 많은 수의 사람들이 그들 자신의 결정을 위한 충분한 정보를 얻을 수 있게 되었고, 이로 인해 비즈니스에서의 인간의 자유(human freedom)가 증가했을 뿐만 아니라 중요해졌다고 얘기하고 있다. 이러한 현상의 예로 Wikipedia와 eBay를 들고 있다.

또한, 인간의 역사를 돌아보면 문자나 인쇄술, 전화, 인터넷을 통해서 커뮤니케이션의 비용은 계속해서 줄어드는 경향을 보이고 있고, 그러한 경향은 민주주의와 현재 시작되고 있는 decentralized decison-making의 현상을 낳았다. 커뮤니케이션의 비용을 줄여주는 기술이 발전한다는 것이 사람들이 decentralized decison-making을 원한다는 것을 의미하지는 않는다. 하지만, 현재와 같이 지식과 혁신에 기반한 경제(knowledge-based and innovation-driven economy)에서 그것은 동기(motivation), 창조성(creativity), 혁신(innovation), 즐거움(enjoyment) 등의 이익을 사람들에게 제공해주기 때문에 앞으로 점점 더 중요한 현상이 될 것이라고 그는 얘기한다.

그는 이러한 decentralization의 방향을 세가지로 제시하고 있다. 바로 loose hierarchy, democracy, market이다. Thomas는 이들에 대해 예를 들어 잘 설명하고 있으므로 여기서는 설명하지 않겠다. 직접 내용을 참고하기 바란다.

그는 앞으로의 비즈니스에서는 각각의 개인들이 우주의 중심에서서 자신들의 결정을 내리기 위한 모든 종류의 정보에 접근할 수 있을 것이라고 얘기한다. 또한 위에서 언급한 세가지의 방향들을 위한 새로운 어플리케이션들(하드웨어, 네트워크, 소프트웨어)이 탄생할 것이라고 예측하고 있다. 그리고 무엇보다도 그러한 어플리케이션에 적합한 비즈니스 조직에 대한 고민이 필요해질 것이라고 얘기하고 있다.

Comments | Categories: Software Development

On the Criteria To Be Used in Decomposing Systems into Modules

22 June 2005 by Joseph Jang

"On the Criteria To Be Used in Decomposing Systems into Modules"Information Hiding에 관해 얘기할 때 항상 인용되는 David Parnas의 paper다. 전에 읽을 때는 그저 Information Hiding의 개념을 처음으로 도입한 논문이구나 하고 생각했는데, Original wiki의 Information Hiding 엔트리를 살펴보다가 링크가 걸린 "Abstraction, Encapsulation, and Information Hiding"이란 글에서 다음과 같은 내용을 발견하였다.

"Hiding information", in and of itself, was not new. For that matter, the isolation of difficult and/or likely-to-change design decisions in modules was also not new. (Dijkstra had done this earlier in his implementation of the "THE"-Multiprogramming System.) The significance of Parnas’s 1972 article on software module specification lay in two areas:

- His advocation and specification of the (then innovative) technique of basing system modularization on design decisions. (You would have to say that the article presented a significantly different view of Dijkstra’s "levels of abstraction" approach.)

- His use of the term "information hiding". Virtually every article which mentions the topic traces its origin to [Parnas, 1972b].

Obviously, Parnas did not say all information hiding is good, nor did he say that all information hiding techniques are equally useful. He was identifying a particularly pragmatic approach to information hiding.

Comments Off | Categories: Software Development

Language Workbenches

22 June 2005 by Joseph Jang

Domain Specific Language (DSL) 개발의 부담을 덜어주는 Language Workbenches 개념에 대해 소개하는 Martin Fowler의 글. DSL에 관심이 있다면 읽어보길 바란다. DSL 자체에 대해서도 예를 들어 잘 설명하고 있으므로, DSL에 대해서 잘 모르더라도 읽는데에는 별 문제가 없다. Martin Fowler의 쉽게 풀어쓰는 글솜씨에도 놀랐지만, 링크되어 있는 수많은 Further Reading들을 보면 새삼 공부할 거리가 많다는 것을 느낀다.

http://martinfowler.com/articles/languageWorkbench.html

http://martinfowler.com/bliki/LanguageWorkbenchReadings.html

키워드들.

Domain Specific Langauge, Language Oriented Programming, Language Workbench, concrete syntax, abstract syntax, External DSL, Internal DSL, Intentional Software, Meta-Programming System, Software Factories, Model Driven Architecture, schema, editor, generator, abstract representation, projectional editor, COBOL inference, graphical DSL, lay programmer, domain expert.

Comments | Categories: Software Development

“냄비 근성”의 여론 비판에 관한 의문

21 June 2005 by Joseph Jang

하나의 이슈에 대해서 격렬한 논쟁을 하다가 시간이 지나거나 다른 이슈가 발생하면 까맣게 잊어버린 듯한 행동을 보여주는 여론 현상을 이른바 “냄비”라고 경멸적으로 이른다. 하지만, 세상에는 너무도 많은 이슈가 있고, 밥벌이를 하면서 그러한 이슈들을 일일이 다 신경써주기는 힘든 면이 있다. 다시 말하면 “모든” 사람이 “모든” 이슈에 대한 여론을 지속적으로 조성하는 것은 힘들다는 것이다. 사회적인 합의를 도출할만큼 충분한 수의 사람들이 특정 이슈에 대한 여론을 지속적으로 조성하는 정도면 충분하다. 그렇다면, 이런 정도조차 되지 않는다는 비판인가? 냄비를 언급하는 사람들은 두가지를 혼동하고 있는 듯하다.

Comments Off |

대한민국의 “우익”과 역사 해석

20 June 2005 by Joseph Jang

삶이 무료하고 지겨운 사람이라면 여기를 방문해보기를 권한다. 이 사람은 대한민국에서 소위 "우익"이라고 자처하는 사람들의 전형을 보여주는 듯 하다. 군사쿠데타 세력 옹호 + 반공 + 기독교. (오해의 소지가 있어서 언급하자면, 이 말은 대한민국의 우익 사상가들이나 기독교인들을 싸잡아서 비난할 뜻으로 적은 말이 아니다.)

그들의 논리는 일견 타당하게 보이지만, 사실(史實)을 약간씩 왜곡하거나 비상식적인 해석을 함으로써 자신들이 원하는 결론을 내리고 있다. 그러한 해석 하나하나는 반론이 가능하지만, 비록 잘못된 근거와 논리라고 하더라도 그것들이 하나의 글을 만들어내면, 대중들에게는 설득력이 발생한다는 것은 신기할 뿐만 아니라 절망스럽기도 하다.

예를 들어, 5.18 광주민중항쟁 당시 문화방송국 방화 사진에 대한 설명글인 "문화방송국에 방화하는 폭도들. 폭도들은 광주시민의 눈과 귀를 막기 위해 먼저 문화방송국에 방화하였다."라는 말을 보자. 당시 보안사와 중정을 장악한 전두환 세력이 언론통제를 하고 있었고, 광주의 현실은 제대로 보도되지 않았다. 오히려 전화 등을 끊음으로써 광주를 다른 지역과 격리하려고 시도한 전두환 세력이 국민의 눈과 귀를 막으려는 의도를 가지고 있었다는 것이 상식적으로 받아들일 수 있는 해석이다. 그리고, 이는 광주에서만 일어난 것이 아니었다. 한국의 현대사만 보더라도 권력을 가지고 있는 세력이 언론을 통제하여 민중항쟁을 탄압하려는 사례는 쉽게 찾아볼 수 있다.

이러한 현상은 근현대사 과목의 과제를 위해서 친일파 처리 관련 논쟁을 조사할 때도 마찬가지로 발견할 수 있었다. 이를테면, 해방 이후에 친일파 청산을 제대로 수행하지 못한 이유는 민족의 구성원 모두가 친일 행위의 공범이었기 때문이었다는 논리가 있다. 분명히 일제 치하 당시 일제의 앞잡이를 하던 순사나 면서기 같은 사람들의 착취 행위가 있었고 그들은 친일파였다. 하지만 경제 인구의 대부분을 차지하는 피지배층인 소작/반소작 농민들도 과연 친일파라고 부를 수 있을까?

매우 단편적인 사실만을 들어 그들의 입맛에 맞는 결론을 끌어내고 대중울 호도하는 현실은 매우 우려할만한 것이다. 정보가 흘러 넘치는 인터넷 시대에도 여전히 먹혀들어간다는 사실이 더욱더 절망스러울 뿐이다.

물론, 그들이 가지는 이해와 내가 가지는 이해가 다르다는 것은 역사적 사실의 해석에도 영향을 미칠것이다. 즉, 위에서 나는 "비상식적인" 해석이라는 말을 사용했지만, 그들이 말하는 해석들은 적어도 그들에게는 "상식적"일지도 모르는 것이다. 하지만, 어떤 사회에도 그 구성원들이 합의하고 있는 가치들의 집합이 있게 마련이고, 그들이 공유하고 있는 과거의 역사들이 있다. "상식"이란 공유되는 가치와 역사적 경험으로부터 나와야하는 것이다. 따라서, 상식은 시대나 상황에 따라 변하게 마련이고, 역사적 사실의 해석 또한 마찬가지다. 귀족 사회에서는 귀족들의 이해가 역사의 이해에 영향을 미치고, 시민 사회에서는 시민들의 이해가 역사의 이해를 주도할 것이다.

한편, 역사가 변화하는 것이라면 과연 역사의 해석 자체가 의미는 있을까. 역사의 해석은 끊임없이 변하지만은 않는다. 상식과 마찬가지로 역사 해석은 어느 정도 지속성을 가지고 있고, 그러한 지속 기간동안 계속 그 해석이 살아남는다면, 그것은 그 시대에 있어서는 상식적이고 의미가 있는 것이 아닐까.

광주민중항쟁과 친일파에 관한 해석도 마찬가지다. 그러한 역사적 사실에 대한 현재의 해석은 분명히 5공 시절이나 일제 시대의 해석과는 다르다. 그리고 현재의 해석이 수천년 후의 해석과 같으리라는 법도 없다. (물론 그 때까지 역사적 사실로 취급될지 조차 의문스럽지만.) 하지만, 우리가 짐작할 수 있는 것도 있다. 현재의 상식에 비추어볼 때, 이들의 역사 해석이 적어도 앞으로 수십년간은 헛소리 이상은 되지 않으리란 것이 나의 생각이다.

Comments |

WoW 정량 요금제 및 배틀그라운드 오픈

16 June 2005 by Joseph Jang

Blizzard는 항상 시험기간 즈음에 일을 치른다. 그동안 내가 WoW를 안하는 이유였던 정량 요금제가 드디어 6월 18일부터 시행된단다. 또한, 배틀그라운드 오픈기념으로 18일, 19일 양일에 걸쳐 무료체험을 실시한단다. 사람들이 모인다면, 오픈 베타시에도 그랬던 것처럼 과연 서버들이 버텨줄 지는 의문이지만.

30시간 이용권 (14,900원) 정도 하나 사서, 방학동안 WoW에 손대볼까 하는 생각이 들고 있다.

Comments | Categories: Game

Summer of Code Proposal

14 June 2005 by Joseph Jang

Summer of Code에 지원했다. Project description은 아래와 같다. 크게 formal할 필요는 없을 것 같아서 대충 썼는데… 벌써 5700명이나 지원했다고 하니, 이 정도로는 뽑히기는 좀 힘들지 않을까 싶기도 하고… 구글의 application form의 Country 항목에는 South Korea가 위쪽에 올라와있는데, 의외로 우리나라의 지원자는 10명 뿐이다. PST로 14일이 마감이니 지원할 생각이 있으나 못하신 분들은 얼른 하시길.

Ruby .NET – Ruby compiler on .NET platform.

INTRODUCTION

Ruby .NET is an Ruby compiler implementation on Microsoft .NET platform. Not just adding another .NET language, but Ruby developers could interop with .NET platform easily. Besides, we can expect some performance boost.

Project Page (temporary): http://lastmind.net/twiki/bin/view/Main/RubyDotNet

APPROACH

Now I’m considering IronPython approach: Iron Python (http://www.ironpython.com/) is a C# implementation of Python interpreter and works on CLR. It shows better performance than original Python interpreter implementation. I’ve investigate IronPython code and found that it just parse Python code, build AST, and translate to CLI code using .NET reflection. I believe I can take same appraoch in Ruby .NET.

ISSUES

- There’s no authentic Ruby syntax reference except the original Ruby compiler implementation.

"I’m afraid, the only complete reference for Ruby’s grammar is the YACC input file "parse.y" from the ruby source distribution."

(from http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/15608)

- Semantics for Ruby statements is just hardwired into Ruby compiler implementation.

RELATED PRODUCTS

Of course, I’ve seen around several efforts to develop Ruby .NET, but I believe no production-quality project is available so that It’s worth to trying.

IronPython: http://www.ironpython.com/
JRuby: http://jruby.sourceforge.net/
rubydotnet: http://rubydotnet.sourceforge.net/
NetRuby: http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/nrb.html
Ruby .NET Compiler: http://www.asakawa.net/ruby/rubynet_memo.html
Ruby – Perl Parse::RecDescent grammar: http://cpan.uwinnipeg.ca/htdocs/parrot/Ruby.html
RubySharp: http://www.pronovomundo.com/htu/theses2004/rubysharp_hedstrom_thesis_final_040526.pdf

EXPERIENCE

Compiler theory is a crucial skill to develop Ruby .NET. I’ve finished compiler course for undergraduate in KAIST and I believe I have. I have 3.5 year C/C++ system/network programming experience in POSIX platform as an alternative job to military service. I am specially interested in distributed computing technologies in enterprise environment like several RPC technologies, CORBA, DCOM, .NET Remoting, Indigo, and Web Services. I love to learn programming languages like C/C++, Java, C#, Perl, Python, Ruby. Ruby is my favorite one these days.

Update: tj형의 의견에 따라 좀 더 formal하게 대폭 수정해서 다시 application 제출 했다.

Comments | Categories: Software Development

‘마녀사냥’ 단어의 오용

14 June 2005 by Joseph Jang

소위 ‘개똥녀’ 신드롬에 대해서 마녀사냥이라는 의견이 분분하다. 그런데, 정작 마녀사냥의 의미는 ‘개똥녀’와는 그리 관련이 깊지 않아보인다. 전사회가 소수의 사람을 비판하는 것은 같지만, 마녀사냥은 전근대적 의식이 만들어낸 문화적 산물이자 비합리성의 표상이다. 또한 그 이면에는 사회의 안정을 위한 장치로서의 의미를 가지고 있다. 개똥녀에 관하여 알려진 것들이 사실이라면, 개똥녀는 일반적인 윤리적 기준에 의해서도 충분히 비난받을 만하다. 따라서, 개개인이 비난을 하는 것은 지극히 합리적이다. 문제는 이러한 비난들이 인터넷이라는 특별한 매체를 통해서 확산되고 재생산된다는 것이다. 이는 마녀재판과는 사뭇 다른 의미를 가지고 있다. 내 생각에는, ‘인터넷 여론 재판‘이라는 단어가 훨씬 적합해보인다.

덧붙여, 개개인의 윤리에 호소하는 것이 이러한 인터넷 여론 재판의 폐해를 방지하는데에 얼마나 효과가 있을지는 의문스럽다. 사실, 이러한 사례는 수없이 일어날테지만, 비윤리적 행위를 한 사람의 신상 정보가 노출될 때, 인터넷 여론 재판이라는 현상이 일어나기가 쉬워진다고 추측된다. 따라서, 단기적으로는 이러한 신상 정보의 노출을 근본적으로 차단하는 방법을 강구하는 것이 필요하다고 생각된다. 물론, 프라이버시의 노출 문제나 인터넷이라는 매체 사용에 대한 윤리와 같은 것들은 교육의 책임으로 돌려야할 것이다.

Comments Off |

← Older posts