Memo on Engineering

Engineering이 발전하는 양상은 자연 과학이나 인문학이 발전하는 것과는 다르다. Enginering을 구분짓는 조건 중 하나는 저비용이다. 저비용을 획득하는 가장 쉬운 방법 중, 하나는 단순성(simplicity)을 달성하는 것이다.
 
단순성을 확보하는데에는 역시 다른 비용(단순성 이면의 복잡성)들이 들게된다.
주요한 것으로 생각되는 것은,
– 경험(experience; 예측 가능한 것은 단순해진다),
– 경험에서 파생되는 감각(sense; 단순성을 얻어낼 수 있는 six sense), 그리고
– 패러다임의 변환(paradigm shift; 제약받는 단순성을 해방시키기)
라고 생각된다.
 
세가지의 목표 모두 성취하기 어려운 것들이다.
하지만, 그 중 경험과 감각은 노력과 시간을 필요로 하지만,
패러다임 변환은 +alpha가 필요한 것이 아닐까. 더 고민해볼 것.
 

 
Engineering의 표면에 있는 단순성의 미학에 매료되어, 중요한 것을 보지 못하는 것은 아닌지 고민해보아야겠다. 어제 재민군의 비판에 뜨끔하여 아침에 생각난 것들을 적어보다.
 

Memo on Engineering 더 읽기"

Aspect-oriented programming: Introduction

Aspect-oriented programming: Introduction
http://portal.acm.org/citation.cfm?id=383853&coll=Portal&dl=GUIDE&CFID=18628671&CFTOKEN=48022287
 
OOP has difficulty

– localizing concerns involving global constraints and pandemic behaviors
– segregating concerns
– applying domain-specific knowledge
 
POP (Post-object programming) mechanism

– domain-specific languages
– generative programming
– generic programming
– constraint languages
– reflection and metaprogramming
– feature-oriented development
– view/viewpoints
– asynchronous message brokering
 
AOP(aspect-oriented programming)

– one important POP technology
– computer systems are better programmed by separately specifying the verious concerns of a system and some description of their relationships and then relying on mechanisms in the underlying AOP environment to weave or compose them together into a coherent program
– attempts to realize scattered converns as first-class elements and eject them horizontally from the object structure
– forcusd on mechanisms for simplifying the realization of cross-cutting converns
 
AOP vs. subprogram
 
subprogram: a concern whose code becomes tangled into other structural elements becomes a mess
AOP: aspect, weaving aspects and base code into coherent system
 
subprogram: require both knowledge and cooperation on the part of the programmers of the calling components
AOP: offer implicit invocation mechanisms for invoking behavior in code whose writer were unaware of the additional concerns
 
AOP goals
simpler system evolution, more comprehensible systems, adaptability, customizablity, and easier reuse
 
AOP issues
 
– clear-box approach
AOP can examine the program and aspect internals, producing a mixture of program and aspects
– black box approach
shroud components with aspect wrappers
 
– How an AOP system specifies aspects
– What composition mechanisms the system provides
– Implementation mechanisms
– Decoupling
– Software process
 
history of AOP
 
Karl Lieberherr (early researchers in the field)

The Law of Demeter: Objects shoud only have knowledge of closely releated objects
“Aspect-Oriented Programming with Adaptive Methods” the use of adaptive methods to avoid tangling by abstrating over the class structure
 
William Harrison and Harold Ossher

– separate specification of different class hierarchies, each implementing a concern with subsequent composition of appropriate hierarchies to build system varients (subject-oriented programming)
 
Peri Tarr

– allow multiple, simultaneous decompositions of the same software, extraction of concerns from existing software
– “Using Multidimensional Separation of Concerns to (Re)shape Evolving Software” by Ossher and Tarr
 
Mehmet Aksit and his group at Twente Univ.

– the earliest and most prominent proponents of filter-based approaches to AOP.
(In the late 1980s) filter principle was developed to express a generic data abstration mechanism)
– Bergmans and Aksit’s article “Composing Multiple Concerns Using Composition Filters”
how to embody aspects in explicit filters, by wrapping the filters around base components
 
AOP group at Xerox PARC
– the focus on crosscutting concerns is what distinguishes AOP from previous speration of concerns technologies
– developed a series of AO languages, culminating in AspectJ – “Getting Started With AspectJ”

Further Readings
 
the value of AOP technology
“Analyzing the Role of Aspects in Software Design”
“Does Aspect-Oriented Programming Work?”
 
discussions of the applications of AOP to systems development
“Structuring Operating System Aspects”
“A Layered Approach to Building Open Aspect-Oriented Systems”

the application of AOP to virtual design
“Handling Crosscutting Constraints in Domain-Specific Modeling”

an overview of using reflection techniques to implement aspects
“Aspect-Oriented Programming Using Reflection and Metaobject Protocols.”
 
Reference
 
Aspect-Oriented Software Development Web site
http://aosd.net/

Aspect-oriented programming: Introduction 더 읽기"

E-Book 관리 시스템

KeKe군과 대화中, 현재 소장하고 있는 E-Book들을 제대로 활용하기가 힘든 이유 중 하나가, E-Book들의 메타 정보가 부족하고, 검색이 힘들기 때문이라고 생각이 들었다.
그래서 구상한 E-Book 관리 시스템의 functionality들을 적어보면…
 
1) E-Book의 commit 시스템.
 
E-Book을 파일 이름을 기반으로 아마존에서 해당 ISBN을 찾아냄.
(E-Book들의 파일 이름은 일반적으로 책의 제목으로 되어있다는 가정)
이 과정에서 human intervention이 있을 수 있으나, 여러 ISBN 중 맞는 것을 선택하는 것 외의,
대부분의 작업은 자동화 가능.
 
2) ISBN을 기반으로 해당 E-Book의 (아마존에서) 메타 정보를 얻어와서 cache.
 
3) E-Book 파일과 메타 정보의 효율적인 추가/삭제.
 
4) E-Book을 검색할 수 있는 웹 인터페이스.
 
구현의 대부분은 특정 DB와 아마존 Web Service API,
E-Book의 메타정보를 나타낼 XML 정도로 가능해보인다.
 
기능들은 단순하지만, 이런 정도의 시스템만 있어도,
여러곳으로 산재되어 관리하는 E-Book들을 지인들끼리 모아서,
다른 여러가지 시너지 효과를 기대할 수 있을 듯.
 

 
언제나 불편한 것들에서 아이디어들은 많이 생각해내지만, 실제로 완전히 구현하는 일은 드물다.
(나는 기획자적인 인간인가? -_-)
대체로 GUI의 벽이 가장 크다고 볼 수 있는데, 이 벽을 깨내는 방법이 없을까. >.<
최근에는 XUL을 통해 타개할 수 없을까 고심中.
 
Amazon Web Service
http://www.amazon.com/gp/browse.html/104-5247989-7236768?node=3435361
 
 

E-Book 관리 시스템 더 읽기"

8 Femmes


<당신에게 의지하는 8명의 여인들이 당신을 바라보는 사랑스러운 눈길은 섬뜩하지 아니한가!>

Ozon의 영화들은 대부분 스스로 깨닫지 못하는 인간의 이면에 있는 본성을 드러내어 관객들을 경악케 하는 것을 목적으로 하고 있는 듯하다. 그녀들은 그녀들만의 강한 캐릭터를 가지고 있어서 약간의 갈등도 보여주지만, 관객들은 대체로 행복해보이는 어느 상류층 가정의 전형을 보게된다. 아버지의 살해 사실이 발견되면서, 전형적인 밀실 살인 사건의 추리 국면으로 접어드는데, 이 때, 그녀들의 살해 동기에 해당하는 비밀스런 사연들이 하나 둘 밝혀진다. 이러한 구도에서 범인이 누구인지는 어느 정도 예측 가능하게 되는데, 사실 결말은 어디선가 본 듯한 클리쉐일 가능성이 매우 높아보인다.
 
실이, 특히 인간의 욕망에 의해 만들어지는 진실이, 지극히 평범한 주변의 현실속에 숨겨져 있음을 그리고 있다. Ozon은 8명의 여인들이 가지고 있는 비밀들이 한 인간 속에 있음을 나타내려한 것 같다. 8명의 여인들이 각각 표상하고 있다고 볼 수 있는 인간의 욕구들은 매우 비밀스럽고 그 욕구를 달성하기 위한 욕구간의 갈등들은 어떤 기작에 의해 은폐되거나 승화된다. 실제로 영화 속의 8명의 여배우들은 각각의 개성을 가지고 있으면서도 아름답다. 한편, 인간은 항상 일생에 걸쳐 자신에 대해 알아내려는 노력을 하는데, 그 노력은 거듭되면서 자신의 숨겨진 욕망 하나하나의 사연에도 이르게 된다. 인간이 고통에 몸부림칠 때 자신에 대해 알아내려고 싶어하는 이러한 경향은 극대화되는 듯하다. 그러나, 정작 고심을 통해 비밀스러운 욕구들과 그 갈등들이 의식으로 떠올라, 모든 것을 한 눈에 볼 수 있게 되었을 때는, 그러한 진실을 감당하지 못하고 스스로의 생존을 위협할 정도가 될 수도 있다.
 
향적인 성격을 가지고 있는 난, (그 탓인지 아닌지는 모르지만, 그렇게 치부하고 있다) 자신에 대해서 알아내고자 하는 욕망이 매우 강하다. 끝없이 자신을 탐구하려는 나의 노력도 종국에 가서는 저러한 진실을 맞이하게 될까. 그리고는 감당해낼 수 있을것인가. 또다른 발판이 될 것인가. 진실을 알아낼 수 있을지, 얼마나 알아낼 수 있을지는 알 수 없지만, 그리고 당장은 진실을 알아내기 위한 방법론부터 불확실한 단계이긴 하지만, 여전히 난 내 여정의 결말이 궁금하다.
 
송에 익숙하지는 않지만, 8명의 여인들이 펼치는 공연은 영화의 또다른 – 뮤지컬적인 느낌을 주는 – 재미다. 음악적인 즐거움도 즐거움이지만, 영화적 상황 – 살인에 어울리지 않는 그 부조리함의 쾌감. 원래부터가 우리 인생이 이리도 부조리하지 않은가.
 
Virginie Ledoyen의 Mon Amour Mon Ami
Toi Jamais – Catherine Deneuve
 
 

8 Femmes 더 읽기"

Vorlesungen zur Einfuhrung in die Psychoanalyse


정신분석 강의 by Sigmund Freud
http://www.aladdin.co.kr/catalog/book.asp?ISBN=8932905096
 
프로이트의 이론에 대한 개괄을 알 수 있는 가장 좋은 입문서이자 입문서가 아닌 책.
 
가장 먼저 현실 생활에서 자주 볼 수 있는 심리적 사건인 ‘실수 행위’와 ‘꿈’을 통해서 우리의 정신 생활은 이성적으로 판단하고 실행하는 자아만으로 이루어져있지 않음을 밝힌다. 즉, 기본적인 욕구들의 충동과 이를 검열하는 정신적 entity의 갈등이 존재한다는 것. 본격적으로 신경증의 분석으로 들어가서는 신경증의 종류에 따른 기작에 대한 이론을 제시한다. 기본적으로 리비도에 대한 자아의 억압 구도에서 여러가지 신경증의 원인을 설명하고 있으며, 어린 아이의 리비도를 인정하고 성적 조직의 발달 단계 이론을 제시함으로써, 신경증의 실제 증상들을 설명하고 있다. 그 중에서도 인간의 본능 형성과 발생-발달 단계를 유비함으로써 얻어지는 해석은 상당히 매력적이기까지 하다. 유명한 id, ego, superego의 개념들은 이 책을 쓸 당시에는 확립되지 않은 개념인 모양이다.
 
 프로이트가 이 책에서 소개하고 있는 이론 설명은 대체로, 정신분석 방법의 적용을 통한 경험적인 가설과 비논리적인 도약으로까지 보이는 사변적인 구상의 혼합으로 보인다. 프로이트 자신도 이 책에서 매우 여러번 자신의 이론이 불완전함을 강조한다. (그것이 이론의 비합리성을 보완해주는 것은 아니지만) 하지만, ‘정신분석 강의’가 정신분석학을 소개하려는 의도로 쓰여졌으며, 실제로 이론을 논리적으로 설명하려는 책은 아닌 터라 섣부른 해석은 현재로서는 배제하는 것이 합당할 것이다.
 
사상 최초로 경험적 (과학적이라고 말하기는 어렵다) 방법론에 의거하여 ‘무의식’이라는 개념을 도출해내고 정신의 ‘지도’를 그려냄으로써 여러가지 이론과 가설들로 이루어진 인간 정신의 시스템 하나를 구축해낸 프로이트의 업적은 그 이론과 가설의 정확성 이전에 위대한 것이라고 평가할 수 밖에 없다. 현대의 양자 역학이 고전 역학을 구축해버렸지만, 아직도 아르키메데스, 갈릴레이, 뉴턴이 이루어낸 업적의 빛이 바래지 않는 것처럼..
 
 의심스러워하는 사람들까지 굳이 프로이트의 모든 이론을 수용할 필요는 없다. 인간의 본성에 대해 알고자 하는 이에게 새로운 접근 방법과 시각을 보여주는 것만으로도 충분히 가치가 있는 책이다. 내가 굳이 강조할 필요가 있으련만은.. 반드시 읽어볼 것!
 
(열린책들에서 워낙 안팔리니 판매량 달성 목적으로 얼마전까지 전집으로만 판매했었으나,
낱권 판매를 시작한 듯 하다. 번역은 만족스러운 정도니 안심하고 사시라.)
 
– Introductory Readings
 
Freud by Richard Wollheim
이 책을 읽기 전에 시공 로고스의 ‘프로이트’를 입문서로 읽었는데, 당장 이해가 가지 않는 내용은 많더라도, 프로이트 이론의 발전과정을 포함한 전체적인 구도를 잡는데에는 많은 도움이 되었음.
 
– Further Readings
 
꿈의 해석(De Traumdeutung) by Sigmund Freud
새로운 정신분석 강의 by Sigmund Freud
 

 
 


Vorlesungen zur Einfuhrung in die Psychoanalyse 더 읽기"

School of Rock



Give up, just quit, because in this life, you can’t win. Yeah, you can try, but in the end your just gonna lose, big time, because the world is run by the man. The Man, oh you don’t know the man. He’s everywhere… in the Whitehouse… down the hall -Ms. Mullens, she’s the man. And the man ruined the ozone, he’s burning down the Amazon, and he kidnapped Shamu and put her in a chlorine tank! And there used to be a way to stick it to the man, it was called Rock and Roll, but guess what, oh no, the man ruined that too with a little thing called MTV! So don’t waste your time trying to make anything cool or pure or awesome cause the man is just gonna call you a fat washed up loser and crush your soul. So do yourselves a favor and just GIVE UP!
 
나도 저 사진을 내 블로그에 붙이고 싶어서 얼마나 안달했는지! Finally!
Jack Black의 코믹한 연기와 Rock 음악에 휘감겨서 눈물이 다 나더라구.
 
Read between the lines!
 

School of Rock 더 읽기"