페이지

2012년 11월 30일 금요일

손미나, 변신의 시작은 바로 나

어렴풋이 아나운서를 그만두고 여행을 다닌다고만 알고 있었는데 어느새 회사에 특강을 하러 왔다기에 냉큼 달려가 그녀를 보았다.
기억나는 꼭지들..

midnight in Paris 꼭 한번 봐라.
거기 나온 명대사.
자신의 현재에 만족하는 사람은 없다.

너 자신을 알라.
낯선곳 아무도 자기 자신을 알지 못하는 곳에 가봐야 진짜 내가 드러난다.
나의 경우는 스페인 어학 연수 시절에 나의 이런면을 알았다.
- 호기심이 많고
- 여러 사람과의 대화에서 리드하며 (하물며 말도 잘 안통함에도..)
- 사람이 많을수록 떨지않고
그래서 아나운서란 직업이 내게 맞을 것이라 생각해서 아나운서란 직업을 택했다.

슬라바 폴루닌의 snow show 기회가 되면 꼭 봐라
이 사람은 전직 엔지니어였고 마음속에 꿈틀대고 있는 그무엇을표현하기 위해 광대가 되고 싶어했으나 어머니가 반대했다. 아들의 요청으로 그의 5분짜리 공연을 보고 광대가 되는것을 허락했다고.



아르헨티나 빈민촌의 엑스트라 배우.
가난하다고 해서 꿈을 꾸면 안되나?
유난히 영화촬영이 많은 아르헨티나. 해서 엑스트라 모집에 신청서를 냄. 아무도 하지 않으려는 역할을 맡아서 인정받음. 그 후 많이 출연함.
그는 번 돈으로 빈민촌에 영화학교를 만들고 다수의 엑스트라를 배출 함. 국가도 하지 못한 변화로 빈민촌에 활기를.
태어나서 처음으로 쓸모가 있는 사람이라고 느껴져 너무 행복했다고 함.

내가 아나운서를 그만두고 여행을 간 것은 내가 한달만에 완성한 인생의 계획 중 하나였음.
1년은 과대평가 하고 일생은 과소평가 하는 우리
7-80살까지 보고 사는 사람은 조금 하지 않다.

중요한 갈림길에 섰을때 자신의 육감을 믿어라. 산악인들도 그렇게 한다고
아르헨티나 빈민촌에서 뒤에선 동네 깡패들이 따라오고
마침 택시가 지니가는데(택시를 타면 유괴를 많이 당함)
택시를 탈지 말지 고민하고 있으니 택시 기사가 당신이 왜 안타려고 하는지 않다.
내 눈을 봐라. 난 가족이 있고 먹여살려야 한다. 당신을 납치할 이유가 없다.
난 택시기사의 눈을 믿고 탔다. 무사했다.

프랑스에선 학교에서 등수가 없다고 한다. 놀라서 너넨 왜 등수가 없니? 라고 물으니
사람을 어떻게 등수를 매겨? 라고 한다.
등수를 매기면 하위는 좌절하고, 상위는 선두를 뺏길까봐 두려워 한다.
결국엔 평준화 되어 버린다.

프리랜서는 전혀 프리 하지 않다. 조금만 안주해도 금방 낙오되어 버리니까

인디언의 삶
1년이 13달이며
살아보고 결혼하고
사람이 죽었을때 파티를 열고
내가 내 노트북을 잃어버렸을때 인디언친구가 한말
미나, 원래부터 네 물건이었던 건 아무것도 없었어
그럼 내가 소중하게 찍은 이만장의 사진은 어떻할꺼야?
미나, 살아있음에 감사해야해. 사진은 다시 찍을 수 있잖아.

라틴국가는 우리나라와 비슷하게 한의 느낌을 안다.

박정자 선생님이 하시는 19 그리고 80 이란 연극 기회가 되면 꼭 봐라.
19세 소년과 80세 할머니의 연애사인데 보면 이해가 간다.
인생은 축구경기다. 90분을 힘껏 뛰지 않은 선수가 락커룸에서 고개를 들 수 있을까?

하루 5분 명상해봐 아침이 달라질 수 있다.

질답>
아르헨터나의 빈민촌은 위험했을 텐데 어떻게 갈 결심을 했나? 나로서도 내 책을 쓰기 위해서 리스크를 감수 한것.
앞으로의 계획? 프랑스 여행책을 낼것이다. 페루 마추피추에서 삶에 대해 다시 생각을.. 내가 성장하지 않은 상태에서 또 다른 여행책을 낸다는 것은 아무 의미가 없다고 생각했다.

2012년 11월 28일 수요일

Eclipse Wizard Tutorial

Wizard

History

revisionchangesauthor
0.1initial version 2012-11-28 수 Darren Ha

Wizard

Wizard 클래스에서 상속받아서 클래스를 만든다. IImportWizard interface를 implement하는 이유는 eclipse의 import 메뉴에 사용하기 위해서 이다. 내부 구현을 보면 IImportWizard, IExportWizard, INewWizard 모두 같은 interface이고 단지 이름만 다르다. 따라서, IImportWizard를 implement한 클래스도 new project 혹은 export wizard에서 사용될 수 있다.
public class MyWizard extends Wizard implements IImportWizard {
    @Override
    public void init(IWorkbench workbench, IStructuredSelection selection) {
    }

    @Override
    public void addPages() {
        MainPage main = new MainPage();
        addPage(main);
    }

    @Override
    public boolean performFinish() {
        // TODO Auto-generated method stub
        return false;
    }
}

Wizard Page

MyWizard::addPages에서 추가될 page는 WizardPage를 상속받아서 만들고, Dialog와 마찬가지로 createControl에서 dialog를 구성해주면 된다.
public class MainPage extends WizardPage {
    public MainPage() {
        super("main");
    }
    @Override
    public void createControl(Composite parent) {

        Label l = new Label(parent, SWT.NONE);
        l.setText("test");
        setControl(l);
    }
}  

Validating each page's input

WizardPage::setPageComplete()로 해당 페이지의 input이 조건에 맞게 들어왔는지 검사해서 next 버튼을 enable할지 여부를 판단한다. SetMessage 함수로 여러가지 메세지를 wizard 헤더 영역에 나타낼 수 있다. 아래는 Text control에 제대로 된 비밀번호를 입력했을때만 finish 버튼을 enable하는 부분임.
protected void updatePageComplete() {
       setMessage(null);
       setPageComplete(false);

       String pwd = fText.getText();

       if (!pwd.equals(PASSWORD)) {
           setMessage(MSG, ERROR);
           return;
       }

       setPageComplete(true);
   }

Launching Wizard

Wizard Extension Points

eclipse의 File>New/Import/Export에 나타나게 하려면 eclipse가 제공하는 wizard extension point를 추가해야 한다. Eclipse의 plugin.xml editor에서 extension tab으로 이동한 후 아래 extension중 하나를 추가. new project -> org.eclipse.ui.newWizards import -> org.eclipse.ui.importWizards export -> org.eclipse.ui.exportWizards 추가한 extension point의 하위에 context menu를 이용하여 wizard 를 추가. class 를 실제 구현한 클래스의 이름을 추가하여 매핑해준다.

Using WizardDialog

WizardDialog를 이용해서 언제든 Programatically wizard를 띄울 수 있다. 아래 처럼.
public Object execute(ExecutionEvent event) throws ExecutionException {
        IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
        IStructuredSelection selection = StructuredSelection.EMPTY;

        ISelection sel = HandlerUtil.getCurrentSelection(event);
        if (sel instanceof IStructuredSelection) {
            selection = (IStructuredSelection)sel;
        }


        MyWizard wizard = new MyWizard();
        wizard.init(window.getWorkbench(), selection);

        WizardDialog dialog = new WizardDialog(window.getShell(), wizard);
        dialog.open();
        return null;
    }

Tutorial Project

https://github.com/nberserk/eclipsetutorials 에 가시면 위에서 언급된 소스가 모두 포함된 eclipse project가 있습니다.

2012년 11월 18일 일요일

Our Idiot Brother

Idiot Box

Good Things Happen

Out Idiot Brother
재미있고
가슴이 따뜻해지는 그런 영화.
별 4개반.

Prain movie 멤버로서 본 첫번째 영화.
영화도 영화였지만 그들이 어떤 선물을 줄지도 내심 기대가 되었는데 역시나..
위 사진에 보이는 idiot box에는 idiot candle이 들어있고 박스를 개봉할때 idiot 글자가 날아가게 되어있다. 또한 idiot candel에는 out idiot brother 글자가 새겨져 있고 idiot candle에 불을 붙이면 idiot부분이 녹아서 없어진다. ㅋ
센스쟁이들.

주인공 네드는
바보스러울 만치 상대방의 말을 믿고
자신에게 선하게 대할것이라 믿는다.
그래서 경찰에게 마약을 팔기도 하고
감찰관에게 마약을 했다고 말하기도 하고
지하철 옆의 생판 남에게 돈을 잠시 맡기기도 한다.

그렇게 사람들을 철썩깥이 믿어서 인지
그는 항상 행복하다.
막연한 믿음에서 오는 그 편안함
나도 예전에 느껴 본적이 있는것 같다.

직장 동료에게 일을 맡겼는데 좀 처럼 미덥지 않아서
하루하루 체크하고 왜 그렇게 했는지 묻고 하니
차라리 내가 그 일을 해버리는게 빠를 것 같은 느낌이 들었다.
그로서도, 사사건건 물어보는 게 마땅치 않았을 것이고
나로서도 신경쓸일이 너무 많았다. 서로에게 피곤한 짓이었던 것이다.

해서, 다음엔 믿기로 했다.
단 가끔 뭐 도와줄것 있어요?
라고 묻기로 했다.

결국엔 믿음과 신뢰는 다른 사람을 위한 것이 아닌
나 자신을 편하게 하는 것인 것이다.

이제 타인을 믿을때는 네드처럼 믿기.

하지만, 나에게 있어 절대적인 믿음이란 아직 경험해보지 못한 미지의 영역이다.
그래서 믿음이 강한 사람들을 보면 그 실체가 무엇인지 너무 궁금하다.
강한 자아? 약간의 세뇌? 항상 믿어온 습관?

2012년 11월 10일 토요일

how to use DOM AST in CDT


update 2012/11/10:
 I created separate plugin to provide DOM AST viewer called ASTViewer. You can install it using the following update site :
https://raw.github.com/nberserk/ASTViewer/master/org.eclipse.cdt.ui.astviewer.update 

for more details information see here : https://github.com/nberserk/ASTViewer


I can't find any useful resources yet. so I share this information on my blog.
DOM AST viewer shows Abstract Syntax Tree of C/C++ program in tree manner. very useful for AST related work. I don't know Why this viewer is included in test plugin. that's why we can't use it in official CDT.

anyway, here is how to use DOM AST :
  • first get CDT source from CDT repository: http://git.eclipse.org/c/cdt/org.eclipse.cdt.git
    you can get source code for each released version here. e.g. > CDT_8_0_2.zip
  • copy CDT_8_0_2.zip/CDT_8_0_2/core/org.eclipse.cdt.ui.tests to your hard drive
  • import org.eclipse.cdt.ui.tests
  • remove build error ( i removed all source files except org.eclipse.cdt.ui.tests.DOMAST)
  • run
  • Window->Show View -> C/C++ -> DOM AST
  • done