2006년 1월 27일 금요일

공부

가장 좋은 공부 방법이라고 한다면..

1.5시간 예습(대충 책을 읽고 모르는 건 그냥 넘어간다.)
1.5시간 수업(강의 듣기)
1시간 복습 및 숙제
30분 classmate와 아무거나 토론

음. 세상이 이런 이상적인 방식으로 돌면 좋겠지만
솔직히 매 수업시간 직후에 토론을 원하는 친구도 많지 않고
갑자기 진도가 엄청 빨라진다거나 무지막지한 프로젝트가 밀려들면 그런 건 대부분 byebye라고 할 수 있다.

. CG수업

이번 주 몸이 안 좋아져서 마음도 덩달아 엄청 의기소침해졌다.
겨울에 석사 CG과목 PA를 미리 해두면 다음학기 학부 CG는 쉬울 줄 알았는 데.
2005년 봄학기 학부 CG과목을 보니 석사 CG보다 더 많다.
PA도 좀 더 어렵고 숙제도 4배는 많은 것 같다.
(homework, design, programming, 기타..)
더 놀란 건 프로젝트 우수작들을 보여주는 거였는 데, 다들 엄청나게 잘 했다.
과연 나도 그렇게 잘 할 수 있을 까?

다들 왜 이리 잘하는 거지? 신이 내린 인간들만 모였나?
나랑 놀 때는 다들 찌질하게 굴더니 숙제 한 것들을 보면 다들 천재들이다.

한편으로 생각해보면.
사실 아무것도 모르겠다고 두려워 할 필요는 없다.
솔직히 모르니까 수업듣지, 알면 듣나.

뭐 전산과 들어올 때부터 SP, OS 알고 들어온 것도 아니다.
솔직히 그 수업 끝나는 시점, 기말고사 끝나고 학점 나오는 순간까지도
그 과목들이 도대체 무슨 이야기를 하는 지, 왜 필요한지 거의 이해하지 못했다.
대략 1~3년 쯤 뒤에야 완전히 이해가 되는 것 같다.

Wish List

나야 뭐든 list up을 좋아하는 데,
3년 전까지만 해도 뭔가 세상에 바라는 게 없었다.
세상에 바라는 게 없다는 건 참 depress한 인생이다.
(해탈, 열반, 득햏이라고 우길지도 모르겠지만.)
그래서 요즘은 열심히 내가 뭘 원하는 지 발굴(탐색, 조사?)하고 있다.

그 중 하나가 있다면 1년에 2번씩 해외 여행을 가는 거다.
Business trip이라도 상관없고 아무튼 1주일 정도 가서
4일은 일하더라도 나머지 3일은 좀 놀다가 왔으면 좋겠다.
그런 직장이 있다면 당장 취직할지도 모르겠다.
돈 많이 주고 휴가 잘 내주는 직장이라면 1년 휴가를 2번 나눠서 올인하고 다녀오면 되겠군.
(그런 꿈의 직장이 어디 있나?)

직장에 대해 좀 더 바라는 게 있다면 당연히 9시 출근 ~ 6시 칼퇴근.
시내 한가운데 있고 점심에는 구내 식당말고 원하는 데서 좀 사먹고.
동료들이 smart하고 재미있는 사람들이었으면 좋겠다.
(친절하지는 않아도 좋다. 능력이 나보다 뛰어나다면)
퇴근 후에는 일에 관한 건 생각하지 않아도 되고 뭔가 하고 싶은 공부라든지, 소설책이나 좀 읽었으면 좋겠고, 주 5일이면 좋겠다.
(음, 공기업 들어가야 될까?)

그리고 당장 가지고 싶은 물질적인 것들을 보면
19인치 LCD 듀얼모니터랑 작지만 음질 좋은 스피커, RAID 1 하드디스크 세트,
소형차 한 대(마티즈 같이 작은 걸로), 생강차 한 통, 건빵 5Kg, Graphic, C++ 관련 책 수십권, 멋진 손목 시계.

내 방

지난 20년간 몰랐었는 데, 내 방은 정말로 나 혼자 살고 나 혼자 놀만큼 밖에 갖춰져 있지 않다.
고등학교 때까지 친구들을 거의 집으로 초대해 본 적도 없는 것 같다.
가끔 친구들이 놀러왔을 때 같이 놀만한 게 하나도 없다는 사실을 깨닫고 참 놀랐다.
말하자면 컴퓨터만 달랑 하나 있고 아무 것도 없다.
심지어는 스피커도 없어서 음악도 나 혼자만 들을 수 있다.
결국 접대용으로 스피커를 하나 사기는 했는 데, 음질이 구려서 어디 던져줘야 겠다.

보통 그래도 친구들을 보면 다들 플스, 엑박 쯤은 한 세트 사두고 게임도 축구(위닝일레븐), 레이싱(나스카, 니드 포 스피드), 야구, 격투게임, 롤플레잉 같은 타이틀은 종류별로 하나씩 가지고 있는 데 말이지.
그리고 조이스틱, 패드도 2세트는 있고.
TV가 있는 것도 아니라서 축구나 이종격투기, 드라마를 같이 볼 수도 없군.

뭔가 좀 사람들과 말할거리도 미리 만들어 두면 참 좋으련만.
내가 아는 어떤 친구는 언제 그 친구를 방문하든 항상 뭔가가 준비되어있다.
들어가면 3시간이고 10시간이고 재미있는 동영상도 보여주고 유머도 들려주고 영화 이야기, 시사, 소설 등..
정말 대단한 이야기꾼이다.
직접 보면 별로 재미없는 영화도 정말 재미있게 설명해 준다.
그 친구가 추천해주면 뭐든 다 보고 싶어진다.

@ 접대용 물품과 접대용 멘트, 스토리가 필요한 나이인 듯;

유럽여행 - 음식들 5

여행 중에 한국과 너무 똑같은 게 나와서 실망한 적도 몇 번 있었다.
오스트리아에서는 '슈니첼'이 맛있다고 해서 시켜봤는 데,
A4 돈까스와 엄청난 양의 감자튀김이 나왔다.
물론 정말 맛있는 돈까스였지만 분식집 같은 생각이 조금 들었다.
세상에서 가장 맛있는 돈까스 임에는 틀림없었다.
그리고 그 웨이터(겸 바텐더)도 유럽여행 기간 동안 만난 사람들 중에 가장 친절해보이는 사람들이었다.
오스트리아와 체코 사람들이 나는 가장 친절하다고 생각한다.
(뭐, 거기에 대해서는 의견이 분분하지만..)

그리고 스위스에서는 '뢰스티'를 시켰는 데, 스위스식 감자전이라고 그랬다.
먹어보니 그냥 감자채와 계란 후라이를 섞어 놓은 것이었다.
그건 나도 어렸을 때부터 가끔 집에서 만들어먹는 건데. 뭐야 이거.;;

가장 맛있는 커피 한 잔은 비엔나에서 마셨지만 가장 분위기 있는 커피는 스위스에서 였다.
루체른 <-> 인터라켄까지는 호수로 되어 있는 데,
산악열차(스위스 골든 패스 파노라마)와 유람선을 타면 정말로 멋지다.
유람선 위에서 차분하게 커피를 한 잔 할 때 기분이 너무 좋았다.
스위스는 내륙 산악 국가지만 호수가 많고 만년설 빙하가 녹으면서 나오는 물이 워낙 많아서 호수도 많고 호수에 떠있는 유람선, 보트도 많다. 그리고 정말로 맑다.
유럽으로 신혼여행을 가게 된다면 스위스로 갔으면 좋겠다.
발머 하우스를 떠나는 날도 호스텔 사람들이 그랬다.
"신혼여행 때 가족이랑 오셈~"

유럽여행 - 음식들 4

바게트 샌드위치도 많이 여기저기서 사먹었다.
바게트에 햄, 토마토, 상추 등을 넣은 건데, 특히 프랑스에 많았다.
직접 넣고 싶은 걸 고를 수도 있는 데, 처음에는 모르고 이것저것 다 넣었더니 상당히 비쌌다.;
"이것 넣을 래?"
"Yes"
"저것 넣을 래?"
"Sure"
Yes를 5번 쯤 말하니 1.5유로짜리가 3.5유로가 되더군.;;
근데 1.5유로짜리를 먹으면 빵에 치즈랑 햄 밖에 안들어 있어서 팍팍하다.

스페인은 가장 후덥지근한 나라였는 데, 그래서 뭐든 짰다.
심지어 바게트 빵도 스페인꺼는 짰다.
무슨 빵에 소금을 그리 많이 넣은 걸까?
스페인 바게트 샌드위치는 그래서 별로 였지만 빠에야는 정말 좋았다.
빠에야는 말하자면 해물 볶음밥이랑 좀 비슷한 데,
우리나라는 밥을 찌지만 스페인은 쌀을 후라이팬에 놓고 물과 함께 끓인 다.
그래서 빠에야 요리에 30분 쯤 걸리고 쌀은 좀 덜 익은 편이다.
쌀 알갱이를 씹는 맛으로 먹는 다고 한다.
내가 방문한 스페인의 도시는 바르셀로나 였기 때문에 당연히 해물 빠에야를 먹었다. 항구도시니 해물이 많고 싱싱했다.
그리고 원래 나는 해물을 엄청 좋아하니 당연히 닭고기 따위를 먹을 리가 없다.
그리고 먹물은 한국사람만 먹는 줄 알았는 데, 스페인 애들도 먹는 것 같다. 먹물 해물 빠에야를 시켰다.
(한국에는 낙지탕 먹을 때 머리를 터뜨려서 먹물을 먹을 지 묻기도 하고 오징어 먹물 새우깡 있잖아.)
아무튼 해물이 더 먹고 싶어서 그 다음 끼니에도 다른 레스토랑을 찾아가서 해물찜을 시키려고 했는 데, 2인분이고 90유로(10만원)란다.
흠. 나는 혼자갔는 데, 2인분이라니, 난감한 표정을 지으니 1인분도 판단다.
푸짐하고 맛있고 어쩌고 저쩌고 하던데, 그래도 5만원은 너무 비싸서 먹기가 좀 그랬다. 그냥 또 빠에야 한 그릇 시켰다.

유럽여행 - 음식들 3

유럽에 가면 물값이 참 비싼 데, 그건 관광지 바가지 때문이기도 하다.
가끔 길을 잃어서 관광지에서 벗어나게 되었을 때,
물을 사보면 우리나라와 거의 비슷했다.
2L - 1,000원.

관광지에서는 2L - 2,500원, 500mL - 1,000원 정도 했다.
(2L는 너무 무겁고 하루에 다 마시기 힘들어서 다들 500mL를 사게 되있다.
4배인데, 가격이 2.5배라니. 힘 쎄면 2L 사도 된다.;;)
콜라값도 가게마다 다르던데, 대략 물값이랑 비슷하다.

한국여행객들은 대부분 물 먹는 데 돈 내는 걸 안 좋아해서 주로 콜라를 먹던데, 콜라도 많이 먹으면 질리고 너무 달아서 더 목 마르고 혈당도 높아지니 별로 좋은 선택이 아니다. 역시 물을 마셔야 한다.

대부분의 유럽 국가들은 물을 공짜로 마실 수 없는 데, 스위스, 이탈리아는 물이 맑고 좋아서 길가에 있는 급수대에서 많이 마셨던 것 같다.
특히 이탈리아는 분수가 엄청 많고 분수 옆에는 항상 급수대가 있다.
물도 마시고 발도 살짝 적실 수가 있다.
물론 분수에 들어가는 건 안되고 급수대 옆에 발을 씻는 곳도 가끔 있다.
(분수에 들어갔다가 경찰이 호각 불고 난리도 아니었다.)

그리고 어디서든 먹어야 하는 게 또 있다면 바로 아이스크림.
여름 여행이었으니 아이스크림도 많이 먹었다.
이탈리아 젤라또가 참 맛있는 데, 요즘은 이탈리아가 아니더라도 많이 먹을 수 있는 것 같다.
젤라또는 얼음 알갱이도 굵고 과일도 씹혀서 정말 맛있다.
오스트리아 빈(비엔나)에서는 커피 젤라또를 먹어야 한다. 그건 당연히 비엔나 커피가 유명하기 때문이다.
빈에서는 정말 빨래방의 자판기 커피도 맛있었던 것 같다.
하루는 빨래방에서 세탁기를 셀프로 돌리기도 했다. 세탁 + 건조까지 한 시간이면 되니, 밀린 빨래도 하고 기다리는 동안 비엔나 커피 한 잔과 고향에 전화 한 통, 그리고 수다 좀 떨면 된다.

유럽여행 - 음식들 2

길가에 테이블을 둔 레스토랑에서도 몇 끼 식사를 했었는 데, 아주 멋있었다.
뒤로는 tram(전차)도 지나다니고 행인들도 보이고 밤에는 촛불도 켜준다.

그리고 맥주집에도 한 번 갔었는 데, 독일인들은 정말로 조용한 민족인데, 맥주집에 가면 달라진다. 역시 술집 분위기는 어디든지 같은 건가?
하지만 11시 이후에는 술을 주지 않고 12시에는 문을 닫는 다.
관광객을 상대하지 않는 상점들이 6시면 닫고 대부분의 식당이 10시면 닫는 것에 비해 꽤 늦게까지 하는 편이라고 할 수 있다.
술값을 테이블별로 계산하지 않고 선불로 미리 내는 것도 신기했다.
선불 계산하기 때문에 잔을 들고 다른 테이블로 가도 된다.
서양 사람들은 한국과 달리 합석 문화에 익숙한 것 같다.
영화나 드라마들을 봐도 술자리에서 친구를 만나거나 마음에 맞는 사람이
있으면 기꺼히 합석해서 음식과 술을 함께 하는 것 같다.

핫도그도 여기저기 다니면서 많이 먹었다.
당연히 소세지로 유명한 독일어권에서 주로 먹었는 데,
독일에서 먹은 것보다 체코에서 먹은 게 더 맛있었다.
(음, 체코는 사실 체코어를 쓰지만 불어나 독어도 좀 쓴다.)
체코에서 먹은 길거리 핫도그는 정말 맛있었다.
빵에다가 빵보다 2배는 긴 소세지 하나를 끼워주는 데,
드레싱이나 야채는 셀프였다. 돈 내고 내가 알아서 채우고 뿌려먹으면 된다.

체코가 특히 인상적인 점은 역시 물가가 싸다는 것.
귤, 체리, 포도 등.. 이것저것 사먹었다.
마트에서도 무거워서 못들만큼 많이 사도 우리나라보다 70% 이하의 가격이었던 것 같다. 주변국들의 1/3 쯤 된다.
다만 마트에 있던 빵들은 하나같이 다 딱딱했다.
이 사람들은 무슨 돌덩어리 같은 바게트만 씹어먹는 걸까?
나도 딱딱한 바게트 껍질을 좋아하기는 하지만 너무 심해서 뭘 발라먹을 수가 없었다. 그리고 너무 딱딱해서 먹으면 목이 자꾸 메인다.
떠먹는 요구르트도 몇 개 샀는 데, 상당히 신맛이 났다. 우리나라 요구르트들은 엄청나게 단데, 그것들은 단맛은 하나도 없다. 우유 외에 다른 것 없이 발효한 걸까?

물은 대부분 미네랄 워터를 마셨는 데, 체코에서는 말이 안 통해서 한 번 가스 워터를 먹었다. 엄청나게 쓴 맛이 나서 놀랐다. 설탕 안들어간 사이다가 이렇게 쓰다니. 결국은 열심히 흔들어서 CO2를 최대한 빼고 먹었는 데, 그래도 별로 였다. 윀~. 그래도 다른 물을 못 구한다고 치면 1주일간 음용하면 아마 친해지지 않을 까 싶다.

체코에서는 소세지 외에 마트에 있는 고기를 사먹질 못했다. 도무지 이걸 구워먹어야 할지, 이미 훈제된 건지 알 수가 없었기 때문이다. 영어도 못하는 사람들이라 물어도 전혀 모르고.
유럽 햄들은 훈제된거라도 잘 구별이 안된다. 그냥 소나 돼지를 그대로 slicing해 놓은 것처럼 지방과 근육이 섞은 마블링 무늬가 그대로 있고 색은 갈색에서 빨간색 같다.
통조림을 사볼까도 생각했는 데, 도무지 안에 뭐가 들어있을 지 두려웠다.;
(적어도 체코어로 참치가 뭔지는 알았다. 참치캔에는 참치가 그려져있었으니;, 근데 뭐였더라? 안 적어왔군.)

핫도그 다음으로 많이 먹은 것은 피자.
피자는 이미 세계인의 식품이니 어느 길거리든 다 판다.
하지만 역시 이탈리아 피자가 제일 맛있었다.
좀 짜지만 얇아서 마치 호떡같다. 길에서 사면 호떡처럼 종이에 싸준다.
호떡 뜯어먹듣 걸어가면서 뜯어 먹으면 된다.

제일 신기했던 건 트레비 분수 앞 피자집에서 사 먹은 건데.
이건 피자를 얼마나 잘라줄지 주인 마음인 것 같다.
'한 조각 주세요.'라고 하면 피자를 자기맘대로 한 구석 자른 다음에 무게만큼 가격을 메겨서 판다.
한 3번은 간 것 같은 데, 그 때마다 조각 크기가 달랐다.;;

유럽여행 - 음식들 1

유럽여행가서 뭘 제일 많이 먹었나 생각해보면 끼니의 1/3은 한식, 1/3은 외식, 1/3은 빵을 먹은 것 같다.

생각보다 한국인이 운영하는 민박에서 많이 머물렀으니 한식이 꽤 많았다.
뭐 당연히 그런 별로 기억에 남지 않고.

외식은 꽤 비싸게 주고 먹었다. 생각없이 시켰었는 데, 지금보면 아마 1.5만원씩은 했던 것 같다.
영국에서는 비가 엄청나게 쏟아지는 날 뮤지컬을 보려고 가다가 시간이 좀 남아서 '피쉬 앤 칩' 비슷한 걸 먹었다.
정확히 기억은 못하겠는 데, 피쉬 대신 무슨 스테이크였던 것 같다.
감자튀김이 무진장 많고 고기도 아웃백 스테이크만 한데, 고기 소스를 무슨 국처럼 많이 부어가지고 느끼해 죽는 줄 알았다.

그 다음에는 좀 더 담백한 걸 먹어야 겠다는 생각이들어서 터키 레스토랑에 갔다. 내 생각에 한국식만큼 기름기가 적은 건 터키식 밖에 없는 것 같다. 그리고 값도 저렴한 편이다. 거기서 참치 샌드위치를 시켰더니 아주 좋았다.

그리고 밥이 좀 그리워서 차이나타운에서는 중국 레스토랑에 갔는 데, 중국인이랑 완전히 똑같이 생겨서 대접 잘 받고 나온 것 같다. 한가지 섭섭했던 점은 볶음밥이 정말 한국식과 똑같았는 데, 김치, 단무지가 없었다는 점이다. 타바스코 소스나 케찹 혹은 중국산 핫칠리소스라도 뿌려먹었으면 참 좋았을 텐데.
(세상 어디가든 쌀밥이 그리우면 차이나타운에 있는 중국집에서 볶음밥 먹으면 된다.)

그 담에는 맥도날드도 몇 번 갔다. 뮌헨에서는 의사소통이 잘 안되서 세트 메뉴를 시키지 못하고 작은 버거를 먹어야 했다. 역에 있는 큰 곳들은 다들 영어를 하는 데, 동네 구석에 있는 작은 가게 점원들은 영어를 못한다.

그리고 사실 맥도날드 같은 곳을 갈 때는 반드시 배고파서 가는 것은 아니고 다리 아프고 쉬고 싶은 데, 앉을 곳이나 화장실 갈 곳이 없을 때 들어가서 쉬곤 했다. 화장실 2회 이용료가 감자튀김 1봉지 값이랑 똑같은 게 유럽이니까. 들어가서 제일 싼 거 시키고 앉아서 시원하게 에어콘도 쬐고 졸기도 하고 화장실도 한 번 이용하면 본전 뽑는 거다.
정말 피곤했던 날들에는 거기서 낮잠이라도 좀 자고 싶었지만 당연히 그런 패스트 푸드점들의 의사가 편할리가 없다.
원래 그런 곳들은 turn-around를 높히려고 분위기를 불편하게 꾸며둔다. 스타벅스와는 정반대의 전략을 쓰는 셈이다.

2006년 1월 25일 수요일

Bezier curve

. Bezier가 parametric curve를 만듬.
. control points가 magnetic처럼 curve를 잡아당김
. order : control point의 갯수
. degree : control point의 갯수 - 1
. order 2 : straight
. order 3 : quadratic curve
. order 4 : cubic
. 점이 5개 이상이면 control이 잘 안 되므로 힘들어서 잘 안 쓰임.
(심하게 oscillation함)

. Continuity
. Bezier curves를 여러개 놓고 생각
. None : 두 선이 not meet
. C0-Positional : Meet(share a common endpoint)
. C1-Tangent : same tangent at the breakpoint
. C2-Curvature : same tangent at the breakpoint, same rate of change

. OpenGL
. Control points를 정하고 그것들을 이용해서 bezier curve를 grid로 나누어 중간 vertecies n개를 계산하고 모두 이어서 출력
. Bezier surface도 같은 방식으로 가능.

. Bezier curve -> B-spline -> NURBS 로 발전된다.

참고)
Open Superbible, ch.10.
http://en.wikipedia.org/wiki/B%C3%A9zier_curve

Visual Studio .NET MFC + OpenGL

1. Create Project
File -> New -> Project -> Visual C++ Projects -> MFC Application
Project Name : oglMFCDialog
Application Type -> Dialog based -> Finish Button

2. Create the Control
Solution Explorer tabl -> Resource View(top right view들 중에 있음)
-> oglMFCDialog.rc -> Dialog -> IDD_OGLMFCDIALOG_DIALOG

View -> Toolbox -> Picture Control -> Drag하여 dialog window에 drop
(resize accordingly)
(사각형의 가장자리를 선택해야 선택이되고 사각형의 내부를 누르면 선택이 안되므로 주의)

Properties window (bottom right)
-> Behavior -> Visible -> False
-> ID -> (IDC_STATIC -> IDC_OPENGL로 바꿈)
(Visible을 true로 하면 이것이 OpenGL에서 그린것을 가려버리므로 false로 함)

3. Add the OpenGL Class
Class view -> oglMFCDialog + mouse right click -> Add Class
-> Add class wizard -> Generic C++ class -> Open button
Class name: COpenGLControl
Base class: CWnd
Access: public
Check Virtual destructor
Finish Button

OpenGLControl.h, OpenGLControl.cpp가 생성됨
afxwin.h가 include되고 cpp에 h가 include됨
class declaration과 definition이 됨.(이제 채워 넣으면 됨)

4. Add libraries
Class view -> oglMFCDialog + mouse right click -> Property
-> Linker -> Input -> opengl32.lib glu32.lib
(lib파일 사이에는 공백을 한 칸만 넣을 것)

5. Add member varible
#include
#include

class COpenGLControl : public CWnd
{
public:
/******************/
/* PUBLIC MEMBERS */
/******************/
// Timer
UINT_PTR m_unpTimer;

private:
/*******************/
/* PRIVATE MEMBERS */
/*******************/
// Window information
CWnd *hWnd;
HDC hdc;
HGLRC hrc;
int m_nPixelFormat;
CRect m_rect;
CRect m_oldWindow;
CRect m_originalRect;

6. Add the oglCreate Function
Class view -> COpenGLControl + mouse right -> Add -> Add function
void oglCreate(CRect rect, CWnd *parent);

7. Add the OnPaint()
Properties -> Messages button(Mouse hovering하면 bubble에 설명이 나옴, lightning bolt(번개) 아이콘 옆에 있음)
-> WM_PAINT -> "OnPaint"

COpenGLControl에 afx_msg void OnPaint() member function이 생긴다.

void COpenGLControl::OnPaint()
{
//CPaintDC dc(this); // device context for painting
ValidateRect(NULL);
}

8. Add the OnCreate()
Properties -> Messages button(Mouse hovering하면 bubble에 설명이 나옴, lightning bolt(번개) 아이콘 옆에 있음)
-> WM_CREATE -> "OnCreate"

int COpenGLControl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CWnd::OnCreate(lpCreateStruct) == -1)
return -1;

oglInitialize();

return 0;
}

9. Add oglInitialize()
Class view -> COpenGLControl + mouse right -> Add -> Add function
void oglCreate(void);

void COpenGLControl::oglInitialize(void)
{
// Initial Setup:
//
static PIXELFORMATDESCRIPTOR pfd =
{
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER,
PFD_TYPE_RGBA,
32, // bit depth
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
16, // z-buffer depth
0, 0, 0, 0, 0, 0, 0,
};

// Get device context only once.
hdc = GetDC()->m_hDC;

// Pixel format.
m_nPixelFormat = ChoosePixelFormat(hdc, &pfd);
SetPixelFormat(hdc, m_nPixelFormat, &pfd);

// Create the OpenGL Rendering Context.
hrc = wglCreateContext(hdc);
wglMakeCurrent(hdc, hrc);

// Basic Setup:
//
// Set color to use when clearing the background.
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClearDepth(1.0f);

// Turn on backface culling
glFrontFace(GL_CCW);
glCullFace(GL_BACK);

// Turn on depth testing
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);

// Send draw request
OnDraw(NULL);
}

10. Add the OnDraw()
-> 일종의 Message function이지만 OnPaint()와 달리 Properties에서 추가하지 않고 Add -> Add function으로 추가함.

afx_msg void OnDraw(CDC *pDC);

void COpenGLControl::OnDraw(CDC *pDC)
{
// TODO: Camera controls.
}

11. Add OnTimer()
Properties -> Messages button(Mouse hovering하면 bubble에 설명이 나옴, lightning bolt(번개) 아이콘 옆에 있음)
-> WM_TIMER -> "OnTimer"

void COpenGLControl::OnTimer(UINT nIDEvent)
{
switch (nIDEvent)
{
case 1:
{
// Clear color and depth buffer bits
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

// Draw OpenGL scene
// oglDrawScene();

// Swap buffers
SwapBuffers(hdc);

break;
}

default:
break;
}

CWnd::OnTimer(nIDEvent);
}

12. Add OnSize()
Properties -> Messages button(Mouse hovering하면 bubble에 설명이 나옴, lightning bolt(번개) 아이콘 옆에 있음)
-> WM_SIZE -> "OnSize"

void COpenGLControl::OnSize(UINT nType, int cx, int cy)
{
CWnd::OnSize(nType, cx, cy);

// TODO: Add your message handler code here
if (0 >= cx || 0 >= cy || nType == SIZE_MINIMIZED) return;

// Map the OpenGL coordinates.
glViewport(0, 0, cx, cy);

// Projection view
glMatrixMode(GL_PROJECTION);

glLoadIdentity();

// Set our current view perspective
gluPerspective(35.0f, (float)cx / (float)cy, 0.01f, 2000.0f);

// Model view
glMatrixMode(GL_MODELVIEW);
}

13.
Class View -> CoglMEFDialogDlg + Mouse right -> Add -> Add function
private:
COpenGLControl m_oglWindow;

oglMFCDialogDlg.cpp::OnInitDialog()에 다음 내용 추가(retun 바로 앞에)

CRect rect;

// Get size and position of the picture control
GetDlgItem(IDC_OPENGL)->GetWindowRect(rect);

// Convert screen coordinates to client coordinates
ScreenToClient(rect);

// Create OpenGL Control window
m_oglWindow.oglCreate(rect, this);

// Setup the OpenGL Window's timer to render
m_oglWindow.m_unpTimer = m_oglWindow.SetTimer(1, 1, 0);


14. F5를 눌러 컴파일하면 됨, 그냥 까만 화면이 나옴

15, 16도 하면 화면이 나옴.
. 참고
http://www.codeguru.com/cpp/g-m/opengl/openfaq/article.php/c10975/

Visual Studio .NET 2003 프로젝트명 바꾸기

방법 1)
검색으로 모든 keyword를 찾아서 일일히 바꾼다.
(editor의 replace 기능 이용)

*.dsp 파일 고치기
(*.dsw 파일은 지운다. *.dsp 파일이 로드될 때 자동 생성됨)

방법 2)
새 프로젝트를 만들고 모든 파일을 복사한다.
. Add file to project
. .cpp, .h, .rc 등을 모두 복사한다.
. class view파일은 지우고 다시 생성한다.(*.clw)

자동차 매니아들

주변 사람들에게 들은 자질 구레한 이야기를 내맘대로 해석을 붙여서 적는 다는 점에서는 sex and the city의 주인공 캐리와 나는 좀 비슷한 면이 있다.
(저널리스트는 원래 그런 직업인가?)
자동차 매니아들에 대해 적어봐야겠다.

자동차 매니아들이 생각하는 꿈의 직업은 당연히 레이서나 F1 엔지니어, BMW, 람보르기니 제작자, 테스트 레이서 같은 거다. 약간 더 가능성이 있는 직업으로는 카센터 사장이나 직원.

강남에서 카센터를 하면 좋은 차들을 매우 많이 볼 수 있다고 한다. 심지어 국내에 몇 대 안 굴러다니는 람보르기니 디아블로도 있단다.
(거기에 그게 없다면 이 나라 어디에 그 차가 서있으랴.)
카센터를 하면 수리해주면서 주인에게 잘 빌어서 시승의 기회도 있다는 군.
카센터, 호텔 벨렛파킹맨, 대리운전사의 로망이지.

sport channel과 discovery channel에서 racing을 보는 것은 물론
용인 레이싱 경주장에서 저렴한 경주용 차를 타보기도 하고
DSLR 매니아로 빠져들게 되어 레이싱걸만 줄창 찍으러 다니기도 한다.
코엑스 같은 곳에서 하는 자동차 박람회도 빼먹을 수 없는 행사다.
Nascar, Need for speed, F1 등의 이름이 들어간 게임은 다 한다.
Force feed-back Joystick, 페달은 기본.

돈이 좀 있다면 역시 진짜 차를 산다.
자동차 동호회도 가입해서 주말마다 드라이브하면서 맛있는 것도 먹으러 다니고 돈이 더 많고 손재주가 있다면 개조도 한다.
극단적인 경우는 티코를 사서 1억을 부어 넣기도 하고 차를 완전 움직이는 스피커 덩어리로 만들기도 한다.
프레임을 잘라서 오픈카로 만들거나 썬루프도 달고 계기판도 바꾸고 별로 볼 필요없는 많은 gauge들도 단다.

BMW, 람보르기니 같은 차는 만드는 사람들도 제정신이 아니긴 마찬가지다.
실험적인 온갖 기능을 차에 다 넣어서 버그 투성이가 되기도 한다.
(CS전공자들에게 와서 Software engineering나 산업공학의 QA에 대해 한 수 배워야 할 사람들이다.)
스티븐 잡스와 그 졸개들이 와서 자동차 UI에 뛰어들면 업계의 판도가 달라지지 않을 까?
(i람보르기니-giga 라든지, iBMW 같은 걸 출시해서 말이지)
과연 Apple로고가 박힌 자동차를 볼 수 있을 날이 올까?
Benz의 Smart같은 차는 apple과도 이미지가 어울린다.
(Davinci code에도 나오는 그 멋진 차)

요즘 신문을 보면 실용적이거나 단순한 몇 가지 개조도 있는 것 같다.
GPS, Navigation system은 이미 대중화 됐다.
(Nate drive는 Mobile 업계의 몇 안되는 대박 상품이기도 하다.)
Map과 match해서 과속 카메라를 알려주는 것도 기본.
고속 주행시에 번호판이 자동으로 각도가 바뀌거나 숨겨지는 차도 있단다.
(카메라가 번호판을 찍을 수 없게 자동으로 가려주고 저속에서는 가렸다는 사실을 들키면 안되니 다시 정상 상태로 잘 보여준다.)
썬텐도 자외선 차단이나 사생활 보호 등을 이유로 많이 한다.
스키 리프트도 90년대 초반 오렌지족의 상징이었는 데 유행이 지났다.
안테나도 요즘은 바디에 내장해 버리는 것 같다.
(휴대폰도 안테나 내장인 시대에 90년대처럼 촌스럽게 안테나 길이로 자랑하던 건 지났다.)

후방에 센서를 달아서 후진시에 물체가 가까이 있으면 경고음을 계속 내는 것도 있다.
다른 개조에 비해 가장 실용적이고 멋진 생각인 것 같다.
사람을 친다거나 벽에 부딪치는 걸 막아주니.

2006년 1월 24일 화요일

Drag(항력)에 관한 방정식

난 매우 깔끔하고 단순한 세계를 기술하는 일반물리II까지만 공부해서
항력, 저항 같은 복잡하고 지저분한 문제는 배우지 않았다.

아무튼 저속에서는 항력계수 x v에 비례하고 고속에서는 v^2에 비례한다는 이야기만 많이 들었는 데, 도무지 그게 일반물리학과 양립할 수 있는 소리인지 참 의문스러웠다.
(일반물리학의 어떤 이론도 변수값이 따라 차수가 변하지 않으니까.)

이야기를 앞뒤를 잘라먹고 설명해서 이해하기 힘든 것이었다.
사실은 이런 것들은 다 실험식인데, 물체에 따라, 속도에 따라 조건을 잘 주면 항상 일정한(재현가능한) 결과를 얻기는 하지만 뭔가 멋진 이론이 있는 것은 아니고 단지 그 결과를 선형방정식으로 근사해서 graph에 fitting한 것이다.
공학적으로 저속에서는 당연이 v^2, v^3 ... 등의 항의 값이 작으니 무시할 수 있고 고속이 되면 v^2도 쓰고 더 빠르면 v^3도 써야 식이 결과치와 무시할 만큼 같아지기 때문이다. (Pretty good approximation)

그래프가 꽤 예쁘기만 하다면 세상 어떤 식도 적절한 구간 내에서 이런 근사법들을 쓸 수 있다. 그래서 기계과, 토목과 등에서 그것을 많이 쓰는 것 같다.
그 외에도 확률, 통계, 수치해석을 들으면 많은 techinique 등이 있나보다.
이것저것 잘 가져오고 device, structure를 설계하는 design pattern을 가져오면 우리는 그것을 아마도 기계공학, 토목공학이라고 부를 수 있는 것 같다.

영작문 연습

. 초급책
'난생 처음 쓰는 영어일기 초급편'
'영작문 무작정 따라하기'

. 괜찮은 책
The Elements of Style (4th Edition) -- by William Strunk Jr., et al;
. English Grammar in use

대청댐

오늘 대청댐에 가서 친구들과 이런 생각들을 했다.
대청댐 위의 일종의 전망대에서 내려다 봤기 때문에 camera angle이 참 좋았다.
보통 액션, 전쟁 영화들은 다음과 같이 시작한다.
댐을 몇 초 쯤 close-up하다가 저 멀리 토마호크 미사일이 세 방 쯤 날아와서 댐을 박살내고 전쟁 개시.
Pantagon이나 국가안보보장회의 패널에 불이 켜지고 장군들과 각료들 소집.

매우 전형적이다. 007, The sum of all fears, Broken arrow .. 등 거의 모든 헐리웃 영화의 시작이다.
80년대 일본영화나 우리나라 영화라면 어설픈 miniature나 인형을 쓰기도 한다.
그리고 제작비 많이 든 장면이므로 3번 반복해서 보여주는 B급 영화의 센스.
고질라 같은 괴수 영화라면 댐이 갈라지고 물이 빠지면서 괴수가 출동하든지, 마징가 제트가 나오겠지.
역시나 토목과가 인기있던 70~80년대 스타일의 장면이다.
2000년 초반 영화들는 공대 중 전산과가 인기이기 때문에 SF영화든 첩보영화든 시작은 iPod을 듣고 있는 10대 해커가 노트북으로 커피샵이나 자기 방에서 해킹 좀 하다가 보드타고 열심히 도망간다.

그건 그렇고 대청댐은 왜 그리 중학교 사회시간이 중요했던 거지?
팔당댐과 함께 중부지방의 식수, 공업용수를 공급하기 때문인가?
장마철이나 봄철 가뭄 때 수위 조절도 상당히 중요했던 것 같다.
근처에 있는 신탄진, 탄금대도 꽤 유명하다.
내 기억에 남는 건, 임진왜란 때 부산 -> 서울로 진격할 때 요충지라서 치열한 전투가 벌어지기도 했었고 아마 그 전 백제와 신라의 전투 때도 중요했을 것 같다.
(찾아보니 신립 장군이 배수진을 치고 왜적과도 싸우고, 가야의 우륵이 가야금을 연주하기도 했단다. http://100.naver.com/100.php?id=740566 )
탄금대 전투는 아주 중요해서 그 전투에서 패하자 조선인들은 좌절하여 수도를 포기하고 평양, 신의주까지 도망가게 된 것 같다.

Drive

오랜만에 군대에 있는 친구가 휴가를 나왔다.
아마도 군대에서 휴가나오는 거의 마지막 친구가 아닐까 싶다.
이제 다음주면 제대한단다.

친구들과 모여서 저녁을 먹고 차 있는 친구와 드라이브를 갔다.
두 친구 모두 나스카 레이싱 게임과 실전 운전으로 다져진 10년 경력의 best driver라고 할 수 있다.;
F1 레이싱 이야기를 한참 들으면서 대청댐까지 갔다.
역시 차가 있으면 참 좋다. KAIST와 대덕연구단지 쯤은 가볍게 넘어서 마음껏 달릴 수가 있다.

오랜만에 스트레스 좀 풀겠다고 곡예운전을 좀 해서 놀라기는 했는 데,
놀이기구 타는 마음으로 재미있게 뒷좌석에서 타고 왔다.
좀 울렁거려서 지금은 매실주스를 마시고 있다. 어질어질 @.@
감기기운인지 멀미인지 모르겠네.

대통령 별장인 청남대 근처에 대청댐을 가니 별도 잘 보이고 상쾌했다.
갑사나 동학사보다 좀 더 잘 보이는 것 같다.
쌍둥이자리, 오리온자리, 카시오페이야, 북극성, 북두칠성.. 음.. 거기까지.
오랜만에 보는 별이라 더 생각은 나지 않네;

돌아오는 길에는 각자 했던 유럽여행 이야기도 좀 했다.
역시나 F1코스가 있는 모나코 이야기도 빼놓지 않고.
만년설의 스위스, 무단횡단 천국인 프랑스.
프랑스는 특히 가로수도 큐빅처럼 각 잡아서 깍아놨다.
앞에서보면 모든 가로수가 90도로 각이 잡혀있다.
(우리나라 군인들만큼이나 프랑스 정원사들도 고생인가보다.)

운전 면허 시험 중에 엑셀을 너무 많이 밟아서 시험관에게 혼난 이야기, 연습 중 타이어 펑크 내 먹었던 것, 제주도 여행 중에 부모님을 태우고 운전하는 데 옆 차와 시비가 붙어서 난폭운전하다가 혼난이야기 등..
우리들은 모두 문제아들인 것 같다.

레이싱, 시물레이션 게임만 하지말고 같이 CG공부나 하자고 친구들을 꼬셔보기도 하고 이제는 나이도 먹었는 데, 여자친구도 있어야 되지 않겠냐는 둥,
뭐 삶의 이야기들을 했다.

아무튼 내가 공대생이기는 하지만 진정한 공학을 이야기할 수 있는 친구들은 이들 밖에 없다. 다른 친구들은 그냥 삶의 다른 길을 생각해볼 시간이 없어서 공학을 선택한 것인지도 모르겠지만, 이들은 아마도 다음 세상에서 태어나도 공대생이 됐을 것 같다.
나도 지난 2년간 공학 이외의 많은 길을 생각해 본 변심쟁이었는 데 말이지. 이들과 함께 있으면 공학하는 게 재미있다.
사실 인생은 무엇을 하느냐도 중요하지만 요즘은 누구와 함께 하느냐도 정말 중요하다는 것을 많이 깨닫고 있다.
좋은 친구, 훌륭한 지도교수, 좋은 동료, 멋진 상사 등..

Visual Studio .NET 2003 컴파일에러

. 증상
fatal error C1010: unexpected end of file while looking for precompiled header directive

. 원인
MFC는 .cpp파일에 #include "stdafx.h"가 없으면 에러를 낸다.
compile file을 줄이기 위해 precompiled header라는 방법을 쓰기 때문이다.

. 해결방안 1
에러가 나는 .cpp파일의 첫 줄에
#include "stdafx.h"
를 추가한다.

. 해결방안 2
Project -> property -> C/C++ -> Precompiled Header
-> Create/Use Precompiled Header
-> Not using precompiled header
. 참고
http://www.msoe.edu/eecs/cese/resources/cppbuild/msvcmfc/mfc_err.htm

. 증상
LIBCD.lib의 _tolower 등 여러 함수가 중복선언되어 있다고 에러가 날때

. 해결방안
  속성 -> 구성속성 -> 링커 -> 입력 -> 특정 라이브러리 무시에
  LIBCD.lib을 적는 다.

문제)
. __malloc_dbg 외부 기호를 확인할 수 없습니다.

해결책)
링커 -> 추가종속성 -> msvcrtd.lib 추가 (debug일 때)
링커 -> 추가종속성 -> msvcrt.lib 추가 (release일 때)

문제)
. msvcrtd.lib에 관한 에러가 날때

해결책)
속성 -> 구성 속성 -> C/C++ -> 코드생성 -> 런타임 라이브러리 에서
현재 단일 쓰레드 모드 인지, 멀티 쓰레드 모드인지 알아본다.
(msvcrtd.lib가 모드에 따라 다르다.)

문제)
_errno 등에 관한 에러가 계속 날 때

해결책)
속성 -> 구성 속성 -> 링커 -> 입력 -> 특정 라이브러리 무시 -> libcmtd.lib

Coding convention

. filename
. suffix
. C++ implementation : *.cpp
. C++ include : *.h

. include files
. 중복 inclusion을 막아야함. #define 등 이용
. include 디렉토리는 절대경로가 아닌 상대경로만 적을 것

. Assigning Names
. Pascal case: The first letter in the identifier and the first letter of each subsequent concatenated word are capitalized.
ex) BackColor

. Camel case: The first letter of an identifier is lowercase and the first letter of each subsequent concatenated word is capitalized.
ex) backColor

. user-defined type 이름과 struct, class 이름은 pascal case

. interface는 I로 시작함

. function, memberfunction : camel case, 동사 + 목적어
ex) getName, setName

. member variable : camel case, 'm_' prefix로 시작함
ex) m_name, m_count

. static member variable : camel case, 's_' prefix로 시작함
ex) s_name, s_count

. parameter name : camel case

. global variable : 'g_' prefix camel case

. pointer variable : hungarian notation, p로 시작
ex) int *pCount

ex)
struct Beer;
enum BeerStyle;

class PublicBar
{
public:
int m_beerSold;
Beer getSomeBeer(BeerStyle beerStyle);

static int s_remainingBeer;

private:
bool m_beerInSale;
void calculateRemainingBeer();
};

PublicBar g_publicBar;

PublicBar & GetPublicBar();

. indentation : 공백 4칸

. comment : doxygen style을 이용한다.

. 괄호
if문은 1줄일 때도 {} 이용
if (조건)
{

}

바지

내용바지 입는 법은 6살 때쯤 배운 것 같다.
그 전에도 물론 옷은 입고 다녔지만 엄마가 주로 입혀주셨던 것 같다.
(피아제의 아동기 발달 과정으로 쳐도 대략 그렇잖아.)

아무튼 처음 바지를 스스로 입으려고 노력했던 과정을 떠올려보면 참 힘들었다.
오른발부터 넣어야 할지, 왼발부터 넣어야 할지도 결정이 안되고 입다가 넘어지기도 수십번.
제대로 안 입고 끌어올리면 다리가 꼬이고 주리를 틀게 될 수도 있다.
약한 옷이면 찟어지거나 발가락이 걸리기도 한다.

특히 성격이 급해서 차분히 배우면 쉽게 될걸 참 어렵게 배웠던 것 같다.
심지어 더 쉬운 양말 신는 걸 배울 때도 이게 어떻게 고통없이 잘 밀려서 발에 깊숙히 들어가게 하게 힘들었다.
역시 세상 모든 건 좀 차분해게 배워야 더 잘 할 수 있다.

----------------
생각해보면 바지는 참 고등문명의 산물인 것 같다.
바지를 만들려면 봉제기술도 많이 필요하고 지퍼나 단추 혹은 허리띠도 발명되어야 한다.
그리고 입는 과정이 치마처럼 쉽지않아서 많은 연습이 필요하다.

신기한 점은 로마문명은 치마였는 데, 그들의 적인 야만족 켈트족은 바지를 입었다는 것이다. 야만인들은 켈트가 바지를 처음 입었고 그것을 로마에 전수했다. 문명 수준이 높은 곳이라고 모든 것이 다 발달하는 건 아닌가보다. 옷으로 치면 켈트가 더 진보했으니.
켈트는 바지 문명을 키워가고 로마는 천을 좀 더 예쁘고 주름이 멋지게 돋보이게 몸에 휘감는 법과 염색 기술들을 연구했다.

공학

공학은 매우 찌질한 분야이다.
A(기존 상태) -> B(목표지점)

A->B까지 어떻게 해서든 가기만 하면 된다.
이론이고 뭐고 일단 A->B로 한 번은 가고 시작한다.
직접 몸으로(구현으로) 증명하고 그 다음부터는 좀 더 편하게,
좀 더 정확하고 안전하게 가는 것을 찾는 다.
(Iterative process, trial and error)

하지만 이 공학이 마법이나 미신 혹은 노가다와 다른 점은
A->B까지 아무리 찌질하게 갔다고 해도 그것을 잘 기록하고
기술을 유지해서 다른 사람에게 전달할 수 있어야 한다는 점이다.

그래야만 공학을 과학의 동생이라든지, 학문 분야라고 부를 수 있다.
일단 한 번 성공하고 온갖 괴상한 과정들로 채워놓으면
많은 사람들이 와서 그것들을 잘 다듬어 준다.
그리고 대가라면 멋진 이론을 하나 만들겠지.

찌질함과 우아함의 타협이 참 쉽지 않다.
elegant하지 않은 이런 짓들을 하고 있을 때마다 참 화가나지만
일단 찌질하게 한 번 문제를 해결하면 점점 elegant해질 수 있다.
처음부터 elegant하게 하려면 완벽주의자가 되서 아무것도 못한다.

2006년 1월 23일 월요일

Sin(원죄)와 죄책감

나는 기독교인은 아니라 정확히는 모르지만 기독교인들에게는 이러한 관념이 있다고 한다.
성경에 기록된 사건들 중 하나에 의해 모든 사람들은 원죄를 지은 죄인으로 태어난다. 그래서 죄책감을 모두 가져야하고(가지고 있고) 그것으로부터 해방하기위해 노력을 하든지, 반성을 하든지, 아무튼 여러노력을 해야하고 그렇게 하고 있다.

심리학적으로 봤을 때 나도 그런 상태로 인생을 살아왔다.
안중근 의사의 '하루라도 글을 읽지 않으면 입안에 가시가 돋는다.'라든지,
유교에서 말하는 온갖 구절들과 선생님들이 1x년동안 주입시킨 말이 아니더라도
뭔가 새로운 것을 배우거나 생각하거나 하지 않으면 죄책감이 든다.

그 죄책감의 절정은 고1~대1학년 때까지 였다.
왠지 하루에 6시간 이상 자면 안될 것 같고 위대한 학자가 되지 않으면 세상에서 지워져야할 쓰레기 같은 존재라고 생각했다.
아버지께서 어느날 찾아와서
"집안의 기대에 부흥하지 못하는 너 같은 아들은 호적과 족보에서 없애야해."라고 소리치실 것 같아서 겁이 났고
어느 선생님이 와서
"내가 그렇게도 네게 세상에 도움이 되는 사람이 되라고 했는 데, 도대체 너는 뭘한거지?"라고 말하거나
어느 스님이나 목사님이 와서
"일하지 않은 자 먹지도 말라."라고 외칠것 같았다.

잠을 자도 편하지 않고 공부를 하고 있어도 뭔가 나를 쫓는 것 같고 혹은 내가 무엇을 쫓아가고 있는 데, 아무리 가도 잡을 수 없는 느낌.
자신을 채찍질하는 좋은 도구라고 생각하는 우익들도 있겠지만 아무튼 심리학적으로 매우 파괴적인 짓이다.

세상에 대한 자신감과 나만의 해석, 내 자신의 상태를 좀 더 잘 알게되고 많은 self-control 도구들을 가지게 되서 많이 극복하고 있지만
나의 잠재의식 속에 언제나 그러한 원죄감은 자리 잡고 있다.

오늘처럼 12시간 연속으로 방에 앉아서 드라마만 보고 있을 때도 그렇다.
그냥 바보처럼 드라마를 보고 있지는 않는 다. 마음 한구석에는 너무나 불편하다.
드라마만 보고 아무것도 하지 않았다는 사실을 변명하고 방어하기 위해 미국 드라마를 자막없이 보고 있다.
일본드라마나 한국드라마가 아닌 미국드라마를 보고 있으면 '이것은 일종의 영어공부다.'라는 좋은 핑계가 된다.

그냥 인생 하루하루 내 재주껏 재미있게 살아가면 되지,
왜 이리 복잡한 논쟁적이고 이론적인 합리화 과정을 내 머리속에서 펼쳐야 하는 지 모르겠다.
superego의 지나친 권력이 나를 병들게 하고 있다.

나는 정말로 어떤 정교한 로봇이 아닐까 하는 생각이 든다.
로봇은 아니더라도 다른 사람들보다 로봇에 좀 더 가까운 존재인 것 같기도 하다.
남들처럼 충분히 감정과 사회적도구와 취미, 재미를 발전시켰다면 이런 문제들은 정말 아무것도 아니었을 텐데.
이것은 정말 이성으로는 cover할 수는 없는 것들이다. 감성으로 해결해야지.

그리고 이성적으로 봐도 내가 방학 때 무엇을 했는 지, 내가 하루에 몇 시간을 자는 지, 일요일에 무엇을 했는 지는 학점에 거의 영향을 주지 않는 다.
중요한 점은 그것에 정말로 열중해야할 그 순간들에 충실하기만 하면 원하는 것을 다 얻을 수 있다는 것이다.
방학, 수면시간, 일요일, 운동시간, 친구들과 만나는 순간 등에는 그것들만 신경쓰면 된다.
각각의 공간과 시간들을 서로가 방해되지 않게 잘 나누는 게 참 중요하다.

@ 기독교인들이 마치 원죄가 있다고 해서 모두 절망하고 우울해하지만은 않는 것처럼 말이다.

나의 발견

세상을 살면서 내 자신의 존재를 따로 체감하는 일은 드물다.
내 자신은 내가 태어나는 순간부터 세상에 항상 존재해 왔기 때문이다.
나와 가장 친한 사람들 list에는 당연히 내가 없다.
그러다 어느날 비디오에 찍힌 자신의 모습을 보거나 카메라를 의식하지 않은 자신을 보았을 때, 혹은 누군가가 자신을 논평하거나 인용했을 때는 상당히 낯선 나를 발견하게 된다.

비디오 속의 나는 상당히 충격적이다. 저 비디오 속에 출연하는 모든 사람이 내가 아는 사람인데, 거기에 섞여있는 유일한 낯선 사람이 바로 나다. 거울로 본 자신의 모습이나 증명사진 속의 나보다 훨씬 충격적이다. 내가 생각하는 것만큼 그렇게 멋진 사람도 아니고 눈사람처럼 우스꽝스럽게 눈썹도 진하고 걷는 모습이나 표정도 상당히 ugly하다.

다른 사람이 나를 알고 있다는 사실이 상당히 신기할 때도 있다.
나와 친한 친구들은 당연히 나를 항상 의식하고 행동할테니
그것을 관찰하는 나는 부자연스러움이 없다.
하지만 어느 낯선사람이 나는 그를 처음봤는 데도, 이미 나를 알고 있다면 상당히 놀랍다.
그런 경험이 몇 번 있었는 데, 참 신기했다.

중학교 어느날 옆 학교의 어느 녀석이 나를 보고 재수없다고 말했을 때도 그랬다. 나는 그녀를 모르는 데(여학생였다.), 어떻게 그녀는 나를 알고 심지어는 재수없다고까지 생각할 수가 있을 까?
원래 아는 사이였다가 내가 까먹은 게 아니고 그냥 우리는 서로 모르는 사람인데, 그런 말을 주변사람들에게 하고 다녔다고 한다.

아니면 고등학교 어느날 새로 알게된 친구가 내 이름을 많이 들어봤고 자신의 친구가 이미 나에 관한 이야기를 많이 했다고 했을 때도 참 신기하다.
내가 다른 사람들의 수다의 소재가 될만한 특징이 있는 사람인걸까?

혹은 대학을 다니던 어느날 아무도 모를 것 같은 동아리연합회의 작은 일자리를 하고 있는 데, 누군가 와서 내가 그 일을 하고 있는 지 알 때도 참 신기하다. (그 일과는 전혀 관계없는 누군가가.)
더 웃긴건 나랑 이름이 비슷한 어떤 사람이 여자친구가 있는 데, 그 여자친구가 나의 여자친구인줄 알고 있을 때이다. (솔직히 그건 좀 억울했다.;;)

인터넷에서 그냥 아무글이나 이것저것 찾아서 모르는 누군가의 블로그를 읽고 있는 데,
그 속에서 내가 인터넷 게시판에서 한 말을 인용한 것이 발견됐을 때도 참 신기했다.
나도 이 small world의 한 구성원이라는 생각이 들었다.
아무도 나의 그런 작은 말 한 마디는 신경쓰지 않을 것 같았는 데,
그런 의외의 장소에서 내가 이 세상을 살아가는 흔적이 발견되다니.

우체국 예금

. 우체국 인터넷 뱅킹
http://www.epostbank.go.kr/
(http://www.epost.go.kr은 우편싸이트이고 다른 계정을 쓰므로 안됨)

. 아이디를 잊어버렸을 때
처음 오신분 -> 인증센터 를 이용하거나 우체국에 간다.
혹은 1588-1900으로 전화한다.

로그인시 공인인증서를 이용해야 한다.
. 공인인증서 갱신
처음 오신분 -> 인증센터 -> 타행공인인증서 등록
-> ID, 주민등록번호, e-mail 입력 -> 보안카드에서 암호찾아서 입력

. LG 2030 체크카드 - 우체국 통장과 연동가능
통장 잔액 내에서만 결제가능

C++ 숫자를 문자열에 대입(formatted string)

방법 1)
sprintf, snprintf를 이용하여 char*에 넣는 다.
sprintf(char *, "%d or %f", 숫자);

단점 : char*를 매번 new, delete해야하므로 번거롭다.

방법 2)
VC++의 CString::Format() Method를 이용한다.

방법 3) STL std::stringstream 이용하기
#include
#include

std::string s;
std::stringstream ss;
ss << "pi = " << 3.1416f << std::endl;
std::cout << ss.str();
s = ss.str();

단점 : 방법 1보다 코드가 짧다고 말하기 어렵다.

방법 4)
http://www.codeproject.com/
-> http://www.codeproject.com/string/stdstring.asp
CString-clone Using Standard C++
STL의 basic_string을 상속한 것임.
Format, trim 등의 기능이 들어 있음.

방법 5)
boost -> format
http://www.boost.org/libs/format/index.html

2006년 1월 22일 일요일

결혼과 이혼

'사람들은 왜 결혼을 하는 가?'
전통적이고 보수적인 이론들이 중, 고등학교 가정, 윤리, 도덕책에 가득 적혀있다.

'사회의 구성원 생산을 위해서'
음. 가장 중요한 이유이다. 하지만 꼭 결혼을 해야할 필요가 있을 까?
인공수정이라든지, 가장 우수한 남성이 모든 것을 제공한다든지..
뭐 그런 방법도 있다. 벌(bee)이라든지, 사자들은 그렇게 한다.
일부다처제라는 시스템도 있고 정말 아버지를 모르게 하는 사회체계도 있을 수 있다.
정자은행이라는 시스템을 통해서 현대에도 점점 그렇게 하고 있다.
결혼을 하고 싶지는 않는 데, 아이가 있었으면 하는 특별한 사람들이라든지,
불임 때문에 그래야 하는 사람도 있다.
아무튼 지구는 사람들도 넘쳐 터지고 있기 때문에 솔직히 100년간 세계 인구가 1/10로 줄어든다고 해도 인류를 지탱 시키는 데는 전혀 지장이 없다.
다만 지금의 자본주의 시스템으로는 컨트롤이 쉽지 않을 것이다.
(1/10로 줄이면 그 중에 1/2이 아마 또 경제 시스템의 붕괴에 의해 죽을 지도..)

'구성원을 키우기 위해서'
왜 탁아소면 안될까? 히틀러도 그런 생각을 했고, 공산주의자나 스파르타인도 그런 생각을 했다.
그 중에서 성공한 사람들은 스파르타인들 뿐인 것 같다.
뭐 공동책임은 누구의 책임도 아니라는 것 때문에 그럴 수도 있다.
자기 자식이라고 해야 더 애정이가니까.
자식도 일종의 사유재산이고 투자다. 자신을 대신하여 DNA를 미래에 전달할 개체니까.
여성이 아이를 낳으므로 남성의 무책임을 막기 위한다는 이론도 있다.
('이기적인 유전자'라는 책에 다 나온다.)

이런 몇 가지 주요 이유가 있지만 그것들은 단지, 정치, 경제, 문화적 시스템의 문제이고 대부분의 인간이 결혼을 하지 않될 이유는 없다.
역시나 사회적인 이유들이다. 혼자 살면 일단 자원이 더 많이 든다.
TV도 개인당 하나씩 있어야 하고 침대, 화장실도 그렇고 빨래도 각자하기 때문에 더 많이 돌려야 하고
심지어 음식도 남는 다. 4인 가족 쯤이 뭐든 같이 하면 일감이 매우 줄어들고 에너지도 절약된다.
마치 군대가 30명이 한 소대로 같이 움직이고 많은 자원들을 share하면서 엄청나게 자원을 아끼는 것과 같다.

하지만 결혼을 하게 되면 많은 것을 희생해야 한다. 마치 군대가 30명이 함께하면서 개인의 의견을 희생해야하는 것과 같다. 자원의 효율성과 개인의 자유 사이에서 타협을 한 것이다.
그렇다고 아무랑 살면 의견충돌이나 취향이 달라서 효율성이 떨어지고 대충 비슷하거나 보완적이 되게 상대를 고르는 것이다.
그리고 아무리 결혼을 했다고 해도 남이기 때문에 일종의 보증이 필요해서 동사무소에 신고하고 혼인증서를 만드는 것이다. 그리고 이혼시나 배신을 했을 때, 재산의 분배라든지, 간통죄 등을 법으로 정해둔다.

그래서 다르게 말하자면 자원이 충분하다면 결혼을 하지 않아도 되는 것이다.
결혼을 했다가 이혼을 하는 것도 별 문제가 안 될 수 있다.
이혼을 했다고 하면 다들 부정적인 데, 그것을 꼭 잘못이 아니다.
정말로 마음이 맞지 않고 매일 구타당하면서 살 바에는 이혼하는 것이 낫다.

다들 이혼에 반대하는 이유가 아이들이 정상적으로 자랄 수 없다거나
혼자서 세상을 살아가기에는 소득이 충분하지 않다는 것인데,
그건 이혼을 너무 극단적으로 보기 때문이다.

단지 사랑하지 않아서 이혼을 하는 거지, 그 사람이 무슨 원수나 적, 혹은 악마이기 때문에
이혼을 해야 하는 것이 아니다. 그러니 이혼 후에도 친구가 될 수도 있고,
몇 주마다 자식들이 자신들의 부모를 만날 수 있게 해주면 된다.
미국에서는 그런 시스템이 잘 되어있는 편이라서 아이를 키워주는 조건으로 보조금도 내게하고
가끔 서로가 방문해서 아이들을 만날 수 있게 되어 있다.

우리나라가 어쩌면 너무 기형적이고 극단적인지도 모른다.
적절한 시점에 이혼을 하고 문제를 잘 정리했다면 모두 그리 불행하지 않았을 텐데,
이혼만 막으려고 강요하기 때문에 갈등이 심해지고 구타당하고 자살, 자해하고 우울증에 걸린다.
이혼율이라는 숫자 따위를 아무리 낮춰봤자. 그들의 삶이 불행하다면 무슨 의미가 있을 까?
극단적으로는 이혼을 법으로 금지하면 이혼율을 0%로 낮출 수 있다.
하지만 그런 조선시대적 발상으로는 모두가 불행할 뿐이다.
(예를 들자면 구타의 보복으로 살인을 저지를 수도 있다.)

결혼 후에도 어느 정도 각자의 재산과 기여를 인정하고 가사도 잘 분담하고 소득도 비슷하게 벌어온다면 이혼시에도 타격이 적다. 분배 문제로 싸우지 않아도 되고 소득이 전혀 없어지는 문제도 없고 서로 가사를 잘 분담했기 때문에 혼자 살때도 어느 정도 적응이 될 것이고 서로에게 억울한 감정도 적을 것이다.
이 사회의 부족한 인식과 시스템과 성차별적인 문화가 이혼율을 낮추고 있으면서 사람들을 더 불행하게 만들고 있다.

가치 4 - 다이아몬드 - 애정인증서

다이아몬드가 가치가 있는 이유는 그것 자체가 뭔가 대단해서가 아니다.
솔직히 광물로써 다이아몬드는 단단하다는 것, 반짝인다는 것 외에는 별 가치가 없다.
단단하지만 다이아몬드가 없어도 충분히 뛰어난 cutter를 만들 수 있다.
(수압 등을 이용한 cutter가 다이아몬드보다 낫다.)
반짝이는 것도 인조유리로 얼마든지 흉내낼 수 있다.
희소성이라는 것도 단지 독점과 마케팅에 의한 효과다.
세상에는 다이아몬드보다 훨씬 희소한 광물들이 많다.
하지만 그것들이 모두 큰 가치를 지니지는 않는 다.

드비어스사의 엄청난 광고와 가치창조가 그것을 만든 것일 뿐이다.
두 사람이 서로 사랑할 때 그들의 사랑을 확인하기 위해서
드비어스사에 돈을 왕창 주고 다이아몬드라는 인증서를 한 장 발급 받는 것이다.
그런 의미에서 드비어스사는 광물 채굴, 가공 회사라기보다는
애정인증서 발급 기관이라고 말할 수 있다.
아무도 그 애정인증서를 위조하거나 카피할 수 없게,
인증서의 재료은 다이아몬드 원광을 독점하고 그들만의 기술로 멋지게 깍아서 signature를 새겨 넣은 것이다.
마치 각 국의 정부은행(한국으로 치면 한국은행)들이 별 가치없는 종이 조각에 자신들만의 그림을 새겨서 화폐를 만들고 아무도 위조할 수 없게 위조 방지 장치를 이것저것 달아둔 것과 같다.
그리고 각 정부은행의 신용과 보증에 의해 그 화폐를 유통시킨다.
드비어스사도 같은 과정으로 자신들의 다이아몬드를 유통시키고 있다.
"다이아몬드는 영원하다."라고 매번 엄청난 광고를 때리고
모든 연인들에게
"사랑의 징표는 역시 다이아몬드"
"그녀를(그를) 사랑한다면 다이아몬드를 줘야만 해" 라고 모든 사람들을 믿게 만들어서
신용과 믿음을 얻은 것뿐이다. 그리고 그 사업과 마케팅을 지속할 것도 보증하고 있다.

가치 3 - 세일즈

세상 모든 사람은 세일즈맨이라고 할 수 있다.
어떤 것이 실제로 가치가 있는 지는 아무도 모른다.
그냥 가치있어 보이기 때문에 물건을 사고 누군가를 고용하는 것이다.

그냥 뭐든 공부하고 뭐든 만들면 누군가가 와서
"오, 당신의 능력과 product는 참 가치있는 것이군요."
라고 말해주지 않는 다.

스스로가 가치있어 보이게 하고 사람들을 지속적으로 설득해야 한다.
"저는 말이죠, 정말이지 능력이 뛰어나요. 당신이 나를 고용하면 아주 부자가 될 겁니다."
"이러한 기술을 이용하면 이러저런 서비스를 할 수 있고 당신은 넓은 시장을 확보할 수 있습니다."

솔직히 어떤 일을 하든 그 일에 가장 전문가는 자기 자신이기 때문에 남이 그것의 가치를 알기는 거의 불가능하다. 따라서 남이 나를 알아주기를 바랄 수가 없다. 자기 PR을 잘 해야 한다.

예를 들자면 줄기세포가 어떤 가치를 지니는 지도 일반국민들은 거의 알 수가 없다. 황우석이라는 전문가가 자신의 연구가 엄청난 가치가 있다고 그들을 잘 설득한 것일 뿐이다.
(물론 다른 생물학자도 줄기세포가 큰 의미가 있다고 동의했고, 황우석은 실제로는 줄기세포를 거의 못 만들긴 했지만.)

가치 2

사람들은 공부를 많이 할수록 많은 월급을 받아야 한다고 생각한다.
왜냐하면 그렇게 열심히 공부한게 아깝고, 그렇게 많이 안주면 억울하기 때문이란다.
하지만 기업주의 입장에서는 그래야 할 이유가 전혀없다.
그들이 학력에 따라 초봉을 차등 지급하는 이유는 단지 학력이 높은 사람이 자신에게 높은 수익을 낼 것을 기대하고 있고 통계적(평균적)으로 그런 heuristic은 어느 정도 타당하기 때문이다.

그래서 석사학위 이상은 업종에 따라서는 전혀 필요가 없다.
그들에게는 그런 잉여지식 따위는 필요없기 때문이다.

세상 모든 산업이 지식, 정보 중심으로 완전히 바뀐다는 것은 꿈같은 이야기다.
그런 꿈같은 이야기는 온갖 단순한 잡일은 기계가 다 맡을 수 있다는 가정에서 나온다.
하지만 세상에는 지식, 정보가 그렇게 많이 필요하지 않고 매우 단순하지만 기계로는 대체가 불가능한 일들이 존재한다. 그런 일들에 있어서는 아무튼 지식이 별로 없는 하급노동자들이 계속 필요하다.

그리고 얼마나 많은 하급노동자가 필요할 것인지를 정하는 것은 기술이 아니라 소비자의 욕구와 의지이다. 대부분의 서비스업이 그렇듯이 별로 필요없는 장식이지만 기계가 아닌 인간을 원하는 일이 많다. 예를 들자면 엘리베이터 도어걸, 도어맨이라든지, 안내원 같은 것도 그런 존재다.
스스로 문을 열고 세상 문을 모두 자동으로 만들고 각자가 지도 읽는 법을 열심히 배운다면 그런 존재들은 필요가 없다. 하지만 소비자는 아무리 좋은 지도와 검색엔진을 줘도 단지 기계가 싫어서 인간을 써야만 하기도 하다. 백화점에서 직원들이 일렬로 서서 손님에게 인사를 하는 것도 그렇다. 그들이 인사를 하지않는 다고 해서 세상 돌아가는 데 아무 지장도 없지만 그들이 있으므로도 손님들은 자신이 왕이 된 기분이 나고 기쁘다. 만약 인사 로봇이 인사를 한다면 그렇게 기쁘지 않을 것이다.

엔지니어들은 자신들이 좀더 빠르고 효율적인 것을 만들면 세상에 반드시 도움이 될 것이라고 생각한다. 하지만 세상은 꼭 그렇지는 않다.
아무도 원하지 않은 일을 열심히 하는 것일수도 있다.
바나나 껍질을 빨리 벗기는 기계를 만들어봤자 사람들이 바나나를 먹지 않으면 의미가 없고
다이아몬드를 금으로 만드는 기술을 만들어도 사람들은 전혀 그런 짓을 하고 싶어하지 않을 것이다.

이공계의 많은 학과들이 서양(미국, 유럽)에서는 필요에 의해 생겨났다.
하지만 우리나라의 모든 학과들과 인원들이 시장의 필요에 의해 생겨난 것은 아니다.
단지 정부가 보기에 서양을 모방해서 만들어두면 우리에게도 도움이 되지 않을 까해서 만든 것인데, 사실 그리 도움이 안되기도 한다. 그래서 열심히 가르쳐놓고 그냥 버린다.
마땅히 시킬만한 일이 없다. 이 나라에는 그런 직업적 요구가 없는 것이 대부분이기 때문이다.

CG 전문가를 만들든, 소프트웨어 전문가를 만들든 우리나라에는 그런게 별로 필요가 없다.
기업에서 많이 필요하다고 아우성치는 그런 종류의 사람과 학교에서 가르치는 종류의 사람은 다르다. 같은 'xx분야의 전문가 10만명 필요'라고 소리치고 있어도 사실은 다른 종류의 능력을 가리키고 있다.

가치 1

. 세상에 꼭 필요한 존재
학교 수업시간에 선생님들께서는 항상 이렇게 말씀하시곤 한다.
"세상에 꼭 필요한 존재가 되라."

그리 쉽지 않은 이야기다.
뭔가 세상에 도움이 되는 일을 하는 사람이라는 뜻일 수도 있는 데,
뒤집어서 그가 없어지면 뭔가 세상을 굴리는 데 문제가 있어야 하는 걸까?
경제학적으로 이야기하자면 그렇다. 한 사람의 가치는 그가 세상에서 살아졌을 때 얼마나 세상의 가치가 감소하느냐에 있다.

그런데 사실 세상 세상 어떤 위대한 사람이 하나쯤 없어진다고 세상에 큰 지장이 있는 것은 아니다. 심지어는 인류의 절반이 한 번에 죽어도 세상은 여전히 굴러갈 수 있다.
그리고 세상 모두는 언젠가는 죽어 없어진다. 세상은 그런 충격을 감당할 대비가 언제든지 되어 있다.
그런 면에서 세상 어떤 사람도 개별적으로 가치를 매기면 거의 0이라고 할 수도 있다.

자신이 세상에 꼭 필요한 존재가 아니라는 사실을 처음 깨달았을 때는 매우 슬프다. 하지만 그건 세상 모든 사람들에게 있어서 마찬가지다.

사실 우리는 세상에 어떤 가치를 더해 주기위해 살아가고 있다기보다는 그냥 세상에 붙어사는 존재들이다. 어느 누구도 내게 여기서 살아라, 말아라라고 한 적이 없다. 그냥 나의 의지와는 상관없이 부모님이 낳아서 세상에 던져졌고 자신의 생존을 위해 열심히 살아갈 뿐이다.
생존에 유리하고 서로가 붙어사는 게 유리하기 때문에 사회를 구성하고 그 사회를 세상이라고 부르는 것이지.

결국 가치라는 것은 단지 내가 사회에 붙어있기 위한 그럴듯한 구실이다.
"내가 여기 있으면 이런저런 것을 할 수 있고 그것은 네가 생존하는 데도 도움이 되지, 그러니 제발 나를 이 사회에서 몰아내지 말아줘."

2006년 1월 20일 금요일

Visual Studio .NET 2003 + FLTK + OpenGL

. fltk 설치하기
. fltk-1.1.x-r.4721을 다운로드 받는 다.
. Visual Studio project directory 밑에 푼다.
. fltk-1.1.x-r4721\vcnet\fltk.sln을 연다.
. F5를 눌러 컴파일을 한다.


. fltk 사용하기
. Win32 Console application을 새로 만든다.

. Project -> Property -> C/C++ -> Code Generation -> Runtime Library -> Multi-threaded DLL(/MD)
. 위 설정을 빼먹었을 때 나는 에러
-------------------------------------
private: __thiscall
private:
__stdup
__stricmp
_exit
_free
.. 에 이미 정의되어 있습니다.
여러 번 정의된 기호가 있습니다.
-------------------------------------


. header file copy
fltk-1.1.x-r4721\FL을 현재 만드는 프로젝트 디렉토리로 복사한다.
(FL directory를 유지할 것)
(boost 같은 library도 같은 식으로 설정한다.)

. library file copy
fltk-1.1.x-r4721\lib\*.lib을 현재 만드는 프로젝트 디렉토리로 복사한다.

. stdafx.h에 추가할 내용
// TODO: 프로그램에 필요한 추가 헤더는 여기에서 참조합니다.
#include >math.h<
#include >string<
#include >vector<
#include >fstream<

// FLTK
#include >FL/Fl.H<
#include >FL/Fl_Window.H<
#include >FL/Fl_Box.H<
#include >FL/Fl_Double_Window.H<
#include >FL/Fl_Menu_Bar.H<
#include >FL/fl_message.H<
#include >FL/Fl_Input.H<
#include >FL/Fl_Button.H<
#include >FL/Fl_Return_Button.H<
#include >FL/Fl_Text_Buffer.H<
#include >FL/Fl_Text_Editor.H<
#include >FL/fl_ask.H<
#include >FL/Fl_Group.H<
#include >FL/Fl_File_Chooser.H<

// FLTK + OpenGL
#include >FL/gl.h<
#include >FL/Fl_Gl_Window.H<
#include >Gl/glu.h<

. 프로젝트 -> 속성 -> 구성 속성 -> C/C++ -> 일반 -> 추가 포함 디렉터리
$(SolutionDir)
. 프로젝트 -> 속성 -> 구성 속성 -> C/C++ -> 미리 컴파일된 헤더
-> 미리 컴파일된 헤더 사용 안함
. 프로젝트 -> 속성 -> 구성 속성 -> 링커 -> 추가 종속성
-> fltkd.lib wsock32.lib comctl32.lib fltkgld.lib opengl32.lib glu32.lib
(debug mode일 때)

. Main source code 예제
// w라는 window를 찍고
// 메뉴 o와 opengl 창 g_mainWindow를 찍는 다.
(g_mainWindow라는 global variable을 통해
g_mainWindow->redraw() 같은 식으로 부르면
draw()가 호출되어 그려진다.)

int _tmain(int argc, _TCHAR* argv[])
{
Fl_Double_Window* w = new Fl_Double_Window(g_screenX + 60, g_screenY + 60, "MainMenuBar");
Fl_Menu_Bar* o = new Fl_Menu_Bar(0, 0, g_screenY, 20);
o->menu(menu_);
g_mainWindow = new MyWindow1(0, 40, g_screenX - 20, g_screenY + 40, "CS580 PA1 - liyam, ilashman");

w->end();

w->show(argc, argv);

return Fl::run();
}

. 디버깅
console 창이 같이 뜨므로 printf() 등을 이용해서 값을 찍는 다.
debugger를 이용하여 stop point를 잡을 수도 있지만
event driven의 경우 너무 자주 stop될 수도 있다.

. 참고
GLUT와 FLTK가 같이 있을 때 FLTK가 event loop를 도는 편이 낫다.
GLUT도 evnet loop가 있지만
GLUT가 event loop를 돌게 해야 문제가 더 적다.
장점
. 창 속에 OpenGL창을 내장할 수 있다.
. 여러개의 OpenGL 창을 쉽게 관리할 수 있다.

. FLTK의 장점
MFC에 비해 사용법이 훨씬 단순하다.

Discovery channel - Milau Viaduct

. Tallest bridge in the world
지상에서 800m 높이에 위치
6차선 Highway, 2Miles.
Marselle와 Paris를 이음.
Across the valley.

. Taller than the eiffel tower.
. 엠파이어 스테이트 빌딩과 같은 높이.

. 짓는 방법
기둥은 고층 건물처럼 지음.
도로는 일반 다리처럼 road-deck을 clain으로 끌어올려서 잇기는 힘듬.
(Expansive and dangerous)
따라서 양쪽 끝에서 지어나가야 함.
미리 만들어 놓은 도로를 잡아당기면서 도로를 계속 이어나감.
Conveyor belt system(Like a saw machine)

. Hydraulics
Motor(Pump Pistons) -> Translator Jack -> Push -> Lift and Move the bridge

. Wind speed during the pushing should be below 60miles/hour.

. Company : Eiffel (built Charles-des-gaule airport)

. 4 jacks
모든 jack들이 영차영차 줄다리기를 하면서 동시에 lift and move해야 함.

. Toll booth
얇은 콘크리트 지붕을 조립해서 만듬.

. Cables
일단 road-deck를 먼저 자리에 고정시키고 cable은 나중에 연결함.

. Viaduct - 고가도로
bridge - 다리

Discovery Channel - Building Hongkong Airport

. 공간
홍콩에는 더 이상 공항을 지을 곳이 없음.
홍콩 근처의 두 섬을 합쳐서 한 개의 섬으로 만들고 그 위에 공항을 지음.
인천 영종도 공항과 비슷한 방법

. 기간
홍콩이 중국에 반환되기 전에 완성.
기술적으로 20년정도 걸릴 것으로 보았으나 정치적인 이유로 7년 만에 완성해야 함.

. 도로망
공항이 홍콩과 떨어져 있으므로 철도, 도로, 다리 등을 같이 지어야 함.
고속도로 1개, 다리 1개, 해저터널 1개 => 총합 22마일

. 이사
6시간만에 구 공항에서 신공항으로 기능을 이관.

. 크기
콜로세움 200개 넓이, 지구상 가장 큰 간척공사

. 매립지반
바다 바닥의 모래는 연약하므로 진공청소기처럼 퍼올려서 암반이 나올 때까지 계속 빨아들임.

. Suspension bridge
공중에 실을 늘어뜨리듯 강철 thread를 엮음.
엮인 줄 아래에 콘크리트 판들을 매달음.
판들을 연결하고 포장하면 완성.

. 태풍
홍콩은 태풍이 너무 자주 옴.
태풍을 견디기 위해 더 크게 만듬.
덕분에 capacity도 늘어남.
태풍이 오는 동안 공항을 비워야 함.
매립지반은 약하여 무너질 수도 있음.

. 공사 중 교통체증가중
공사 중에 도시 교통 문제를 최소화하기 위해 공사를 위한 이동은 트래픽이 적은 밤에만 함.

. 단단한 지반
해안가의 단단한 지반을 뚫어서 길을 만들기 보다는
차라리 해안을 매립하여 해변을 넓히고 새로운 공간에 길을 만듬.

2006년 1월 19일 목요일

Discovery Channel - Bridging the bering strait

. The Bering strait
러시아 동쪽 끝과 미국 알라스카 사이의 해협
아시아와 아메리카를 잇는 다리가 됨.

. 문제점
수없이 부서지고 떠내려오고 다시 생겨나는 빙하.
엄청나게 심한 바람과 조류, 온도차.
다리를 쉽게 부셔버림.

. Global Highway
아프리카의 북쪽와 스페인을 잇고
유럽 북부와 아이슬란드 등을 잇고
베링해를 잇게 되면 오세아니아를 제외한 지구상 대부분의 육지를
육로로 효과적으로 이동할 수 있게 됨.
아프리카 남부에서 아메리카 남부까지 세계 일주가 가능해짐.
천연가스 등의 수송도 가능해짐.

. 규모 : Golden Gate Bridge의 32배
. 이동시간 : 1시간/자동차 이용시
. 구조 : 3층
3층 - 다리 외부, 자동차가 지나감
2층 - 다리 내부, 기차가 지나감
1층 - 다리 내부, 가스 수송관

. 현재 세상에서 가장 긴 다리
뉴올리언즈 - 24마일, 매우 안정적인 조류

. 환경
시베리아, 알라스카에는 고속도로, 철도, 공장, 도시 같은 것이 거의 없다.
호수, 웅덩이, 얼음 같은 것만 가득한 버려진 땅이다.
그곳에 다리를 지으려면 먼저 시베리아와 알라스카에 엄청난 도로를 지어야
그것들을 연결하는 다리로써 의미를 지니게 된다.
결국 북간도에서 캐나다까지 4,000마일의 도로를 지어야 하고 시카고~런던까지와 같은 거리이다.

. 비용 : 100조

. 비슷한 프로젝트
Alaska pipeline : 8조, 1,280Km, 지름 : 1.22m

. Glacier
봄에 가장 위험함 빙하가 조각나면서 남쪽으로 떠내려옴
해협이 좁아서 빙하가 해협으로 압축되고 모여서 속도와 에너지가 매우 커짐.

. Ice Breaking Ship
Not break but ride over the ice.
Push the ice down.
Ice Breaking Ship을 뒤집은 모양으로 다리를 디자인함.

. 1년에 여름에만 작업 가능
미리 다리, 기둥을 다 만들고 베링해협에서는 조립만 함.

둘리와 빙하

아기공룡 둘리 1편을 보면 둘리가 빙하를 타고 내려와 한강까지 오게 된다.
(빙하 속에 동면상태로 들어있다가 여름이 되서 녹아서 한강에서 깨어난다.)
그런데 생각해보면 한강으로 통하는 바다는 황해이고 황해 북쪽은 산동지방인데 거기는 빙하가 없다.

남극의 빙하가 서울까지 온다는 것은 적도, 조류 등 때문에 불가능하고
북극의 빙하라고 생각할 수 밖에 없는 데, 그렇게 하려면 북극에서 베링해협을 통해서 오호츠크해, 블라디보스토크를 통하는 곳 밖에 없다.
즉, 둘리는 서울이 아니라 강릉 앞 바다에서 발견되는 편이 현실성이 높다.

남쪽으로 대한해협을 돌아서 황해로 올라간다는 것은 난류 때문에 빙하가 모두 녹고 만다.

역시 둘리는 서울이 아닌 강릉이나 속초에서 살아야 할 수 밖에 없는 운명.
아니면 그냥 블라디보스톡에서 러시아인들과 함께 보드카를 즐기던지.

Windows FTP 서버 - 알 FTP로 간단하게

. 알FTP 4.1 실행
. 윗쪽에서 '서버'아이콘 클릭 -> 서버 실행
. 서버로 사용할 IP주소 : 현재 서버의 IP
. ID없이 접속허용 : uncheck
. 아이디, 비밀번호 입력
. 디렉토리설정 : 공유할 디렉토리 입력

. 계정은 1개 밖에 만들 수 없음.
. 알FTP를 종료하면 서버도 종료됨

Public IP를 가진 컴퓨터라면 귀찮게 HDD, CD, USB port 등을 이용해서 파일을 공유할 필요가 없다. 당연히 FTP가 최고.

주변사람들

내 주변의 사람들은 그리 다양하지가 않다.
몇 부류로 나누어 보면 다음과 같다.

. 순수과학도
. 공학도(회사 프로그래머 포함)
. 교대, 사대생(혹은 선생님 초년차들)
. 경영학도(회사 manager 포함)
. 의대생

과학도와 공학도를 나눈 이유는 그들이 압도적으로 많기 때문이다.
나도 한때는 과학도가 되고 싶었기 때문에 과학도와는 말이 잘 통한다.

지금 전공은 공학이라 공학도가 주변에 제일 많다. 대부분 전산학하는 친구들인데, 요즘은 오히려 약간 멀어진 느낌이다. 공학도들은 일반적으로 생각이 너무 좁다. 과학도처럼 신선과 같은 먼 미래를 내다보는 것 같지도 않고 경영학도들처럼 사회적이고 현실적인 면도 좀 부족하다. 심지어는 창의적이지도 못하다. 이 나라의 공학교육에는 참 문제가 많은 것 같다.

교대, 사대생들과는 신기하게도 말이 잘 통한다. 나의 학구적인 측면 때문인가? 예전에 세이클럽 채팅방에서도 선생님이 아니냐는 소리를 많이 들었다. 그래서 그런지 어디서든 대화를 하면 소재꺼리가 부족하지 않게 그들과 이야기할 수 있다. 그들은 경영학도만큼 현실적이지는 않고 약간 이상적이지만 대화의 주제가 다양하다.

경영학도들은 내가 사회생활을 하기 전에는 전혀 대화가 안됐지만 요즘은 사회생활도 하고 경영, 경제, 마케팅 책도 꽤 읽어서 그들과 대화하는 데, 전혀 지장이 없다. 솔직히 사회의 하부의 실무적인 부분은 내가 더 잘 안다. 아무튼 그들은 사회의 상부구조와 많은 정보를 가지고 있고 현실적이다. 가장 친해지고 싶은 부류.
경영학도와 친해질수록 공학도들과는 그만큼 멀어지는 느낌이다.

의대생들은 솔직히 돈 잘버는 폐쇄적 공대생에 불과한데, 도무지 대화가 안된다. 공대생의 극한을 보여주고 워낙 바빠서 만날 시간도 별로 없다. 그리고 폐쇄적이고 독점적이라서 그런지 자존심이 세다. 30대 중반까지는 불쌍하다는 생각이 든다. 하지만 40대에는 그들이 부러우리라.

주변에 인문학도나 사회과학도, 예술계가 없다는 점이 참 아쉽다.
예전에 회사 다닐 때 저널리즘을 전공한 30대 형님이 한 분 계셔서 세상에 대해 많이 배우고 토론도하고 좋았었는 데.

순수 인문학도는 무슨 말을 하는 지 너무 어렵고 대화도 안되는 것 같다. 공학도라고 하면 그냥 없는 셈 치는 것 같다.
예술계, 연예계는 뭐 원래 보기가 힘드니까 그렇다치고 주변에 영화, 디자인을 좋아하는 친구들은 몇 있다.

기타라고 한다면 이런 이야기들은 다 관심없고 신문이든 인터넷이든 다 상관없이 인생을 살아가는 대다수의 사람들이 있다. 그들과는 역시 만나기 쉽지 않다. 우리 부모님도 이 부류에 포함된다.

복잡계과학(Complexity Theory)

몇 년 전부터 complexity theory 열풍이 불어서 물리학, 생물학, 화학, computer science, 사회학은 물론 심지어는 경제학, 마케팅, 컨설팅 분야에서까지 난리다.

이머전스(Emergence, 미래와 진화의 열쇠) - 스티븐 존스
링크(Linked, 21세기를 지배하는 네트워크 과학) - 알버트 라즐로 바라바시
넥서스(Nexus, 여섯 개의 고리로 읽는 세상) - 마크 뷰캐넌

이런 좋은 책들이 많이 나와있다.

기본적으로 이런 책들이 주장하는 바는 다음과 같다.

. 환원주의의 한계
환원주의는 세상을 개별원소 단위까지 쪼갤 수 있고 그것만 연구하면 모든 세상이 풀린다는 방법론이다. 우리가 대학 초반까지 물리학 교과서에서 배우는 모든 내용은 이것을 기초로 하고 있다. 원자론과 뉴턴의 고전역학만 알면 모든 것이 설명될 것으로 기대한다.
하지만 실제로 세상은 기본 원소에는 없던 성질이 그것들이 뭉쳐짐에 따라 관계와 양에 의한 새로운 특성들이 나타나기 마련이다. 그래서 전체주의가 대두되기 시작하였다.
예를 들어 point(점)에는 위치라는 특성만 있지만 점들이 모인 선에는 점에는 없는 길이, 방향, 곡률 같은 새로운 특성들이 나타난다. 또한 점들이 공간에 놓인 관계에 의해 밀도라는 개념도 생겨난다.

. 세상은 network으로 되어 있다.
각 요소를 node로 놓고 각 요소의 관계를 like로 하는 graph를 그릴 수 있고 그 graph는 관계의 연관도(친밀도, 연관도, 유사도, 교류, 영향력) 등에 따라 weight를 가진 weighted directed graph로 추상화 할 수 있다.

. 세상에는 중요한 node가 따로 있다.
환원주의처럼 모든 node는 동등한 것이 아니라 각자의 관계에 따라 중요한 노드가 따로 존재한다. Hub, authority, broker 등 다양한 특성을 가진 중요한 node들이 있다. 특히 hub의 경우는 그것이 없어지면 network이 붕괴될 수도 있다.

. History
Network에서는 역사가 중요하다. 시간이 흐름에 따라 네트웍은 발전하게 된다. 과거의 관계에 accumulate되면서 새로운 관계가 형성된다. 따라서 오래된 node가 유리하다.

. 느슨한 결합
강한 결합보다 느슨한 결합이 더 나을 때가 있다. 느슨한 결합은 failure에 강하고 새로운 정보를 얻기가 쉬워서 innovation이 쉽다.

. 세상은 질서가 있고 생각보다 좁다.
무질서해 보이는 세상에도 나름대로의 질서가 있고 생각만큼 그리 멀지 않다. 어떤 인터넷 노드와 인간이라도 몇 단계만 거치면 거의 이어지게 되어있다.

나도 검색엔진을 만들면서 관심을 가지게 되었는 데, 연구를 위해서는 몇 가지 제약이 있다.

. 데이터
일단 데이터가 매우 많이 필요하다. 매우 흥미롭고 응용범위가 넓어보이지만 데이터를 얻기 쉽지 않다. 정보기관(NSA, CIA), 검색엔진회사, ISP, IDC 등 많은 자료를 가지고 있는 곳에서 그것들을 공개적으로 내놓지 않는 다. 그런 기관들에서 일하지 않는 이상 이 분야를 연구하고 싶은 학자라도 충분한 자료를 얻을 수 없다.
(나같은 사람이 혼자서 아무것도 할 수가 없다.)

. 사회과학과 자연과학의 결합
특히나 이런 데이터들은 시뮬레이션을 할 수도 없고 랜덤하게 생성할 수도 없다. 실세상에 살아있는 데이터만이 의미가 있다. 또한 실세상에 실험을 하기도 쉽지 않다. 그런 면에서 자연과학이면서도 사회과학을 많이 닮았다.
데이터를 얻고 실험을 위해서는 학제적인 연구와 엄청나게 큰 조직과 개인의 협력이 필요하다.
(전혀 모르는 자발적인 사람들의 협력 혹은 약간의 시간을 내어줄 같은 의도를 가진 최소한 100만명 쯤의 사람이 있어야 하지 않을 까?)

. 프로세싱 시간
데이터의 양이 엄청 많은 만큼 계산도 쉽지 않다. Parallel하게 계산이 가능하다면 매우 단시간(몇 초 이내)에 계산이 끝날 수도 있는 데, 지금의 PC같은 컴퓨터로 계산하려면 꽤 오랜 시간이 걸린다.
(자료에 따라 몇 시간에서 몇 개월이 걸린다. 데이터의 크기도 만만치 않다. 최소한 4기가가 넘어서 메모리에 올리기도 쉽지 않다.)

. 유용성 - 의미 있는 결과 얻기
과연 뻔한 결과가 아닌 의미를 찾아낼 수 있을 까?
기존의 사회과학과 같은 결과를 다른 방식으로 재발견한 것과는 달라야 한다.
그것을 유용하게 활용할 수 있는 곳을 찾을 수 있을 까?
유용성은 그 결과를 도출하고 새로운 도구를 구현하는 사람들 뿐만 아니라 그것을 활용하는 사용자에게도 달려있다.

2006년 1월 18일 수요일

discovery channel - Incredible Robot

. 로봇에서 가장 중요한 기능
자연과 인간이 만들어둔 세상을 효과적으로 다니기 위해서는 바퀴가 아닌 걸어다니는 능력이 필요함.

. 다리의 갯수
많은 수록 안정적이지만 모터가 많이 필요하게 되어 무게가 많이 나가고 에너지 효율이 떨어짐.
자연의 경우에도 곤충들은 다리가 많지만 30Cm 이상 되는 쥐보다 무거운 동물은 모두 4개 이하의 다리를 가지고 있음.
지상에서 가장 빠른 치타를 봤을 때 4개의 다리가 가장 빠른 속도를 낼 것으로 생각됨.

. 안정성
한번에 1개의 다리를 움직이고 나머지 다리는 고정시키는 것이 가장 안정적이나 그럴 경우 속도가 너무 느림.
4다리 동물들의 경우 최소한 2개씩 동시에 움직임.
4족 보행의 경우 static balance가 가능함.
2족 보행의 경우 dynamic balance가 필요함.

. 2족보행
가장 cost effective함. 가볍고 에너지도 적게 들고 제작비도 저렴함.

. 1족보행
일단 1족보행부터 개발을 시작함. 1족 보행은 절대 static balance condition이 일어나지 않음. 마치 스카이 콩콩처럼 계속 제자리에서 뛰어야 함.

. Muscle
공기를 주입하고 빼는 방식으로 근육이 contract, release됨.

. 무게 중심이동
다리와 발만으로는 안되고 몸 전체의 무게 중심을 옮기면서 2족보행을 해야 함.

. Hand
grap, holding을 위해 필요함. 인간의 관절과 같은 것을 이용함.

. 산업용로봇
공장처럼 위험하고 해로운 곳에서 자르기, 색칠하기 등을 함.

. Vision Recognition
Watching, 생각보다 어려움.

. Thinking
Chess, Neural Network, Learning, Collison avoid

. Zero Gravity - 다른 행성, 혹성 탐사
중력이 낮은 곳에서는 걷는 것보다 통통 뛰거나 나는 것이 더 효과적일 수도 있다.

Discovery channel - 첨단 경찰

. 총기 소지의 심각성
LA의 한 지역의 경우 인구 10만명이 평균 10만개의 총을 가지고 있다.
즉, 평균적으로 모든 주민이 총을 하나씩 가지고 있다.
권총뿐만 아니라 AF소총이나 경찰들보다 더 좋은 총기류를 소지할 때도 있다.
범죄 뿐만 아니라 기쁜일이 있을 때 축포로 쏘기도 하는 데, 총알이 하늘에서 다시 떨어져서 사람들이 다치거나 물건들이 부서지곤한다.

. 발포탐지기
총성이나 폭탄 소리를 감지 할 수 잇는 센서는 1Km^2당 하나씩 설치하여
소리가 났을 때, 삼각 측량을 해서 정확한 위치를 찾는 다.
오차 범위는 10ft.

. 스마트 권총
기계적인 장치가 아닌 전자장치로 총알을 발사함.
반동은 있지만 총신이 뒤로 빌려나지 않음.
총을 쏘기 전에 사용자를 지문인식하여 주인이 아니면 발사할 수 없음.
음성으로 현재 상태를 조정할 수 있음.(단발, 연발 모드 등.)

. 헬리콥터
LA경찰의 경우 12대의 헬리콥터를 가지고 있고 지상을 주기적으로 관찰함.
문제는 지상 관찰을 위해 저공비행을 해야하므로 AK47 같은 총을 가진
범죄자가 헬리콥터를 공격해서 비행사를 다치게 할 수 있다.

. 열감지장치
밤에는 헬리콥터가 열감지장치를 이용해서 도주하는 범인을 추적할 수 있고
그가 총을 들었는 지, 총을 어디에 떨어뜨렸는 지도 알 수 있다.

. Search Cam
거울과 광섬유등을 이용해서 작은 틈새(문틈) 등으로 방 내부를 미리 수색할 수 있음.

. 방어도구
방패, 방탄조끼 등을 착용함.

. Night vision goggle
Amplify lights in the darkness(8배 증폭)

. Hidden camera
마이크, 감시 카메라를 방안의 여러곳에 설치하여 감시, 증거확보, 도청.

. surveillance camera
공공지역에 CCTV를 설치하여 24시간 감시.
경찰뿐만 아니라 interpol등 국제적인 기관과 자료를 공유.

. 얼굴인식 기술
얼굴의 특성을 포착하여 인식에 이용함, 이마의 넓이, 윤곽 등.

. 캐터펄트를 이용한 정찰 로봇
로봇을 정찰로 미리 보냄. 계단, 지붕 등도 오를 수 있고
2층 높이에서 떨어져도 부서지지 않고 자세를 바로 회복함.

. 열분포 카메라
영화 '투명인간'에서처럼 사람이 지나간 곳을 찾아서 추적할 수 있음.

. 폭탄 제거 로봇
1마일 바깥에서 원격 제어, 3개의 카메라 장착, 계단, 구덩이도 건넘.
화학물질, 냄새 탐지 기능과 폭탄가방 무게 측정 가능.

. 폭탄 처리기
안에서 폭탄을 터뜨림.

. bomb suit
여러 layer로 되어 있음. 폭발시에도 모든 layer가 파괴되지는 않음.
인체 관통을 막아 생존을 할 수 있게함.

. 마약탐지견
마약이 차의 엔진 등 기구내에 숨겨져 있어서 찾아냄.

. 휴대용 밀도측정기
차량의 각 부분의 두께와 밀도를 측정하여 불법적인 개조를 찾아냄.

. X-ray
Random으로 거대한 차량 전체와 사람을 scan함.
무임승차자 등도 찾아낼 수 있음.

. 인체 스캐너
의료용 X-ray의 1/450의 강도로 온몸을 스캔, 철, 플라스틱, 세라믹도 감지

. 기구, 레이더, AMICC
10,000ft에 떠서 100마일을 기구로 국경을 관찰.

Podcast 듣는 법

. Install Podcasting Receiver
Juice : http://juicereceiver.sourceforge.net/index.php

. Register Podcast RSS address
http://www.iPodder.org
http://podcast.net
http://audio.weblogs.com
Register RSS address to Juice

. 사용법
Subscriptions tab에서 Add news feed로 RSS주소를 넣고 Check/Download Selected Feed를 누른다.
Downloads tab에 가보면 뭔가 열심히 받는 것을 알 수 있다.
그러면서 iTunes가 뜬다.
iTunes의 List에서 잘 고르면 받은 음악이 재생된다.

. 참고
일종의 인터넷 라디오 같은 건데,
서양에서는 선풍적인 인기지만 한국에서는 별로 인기도 없고
한국어 방송은 거의 없는 것으로 보인다.
별로 재미없어 보인다.

도둑과 경영자

다른 사람의 돈을 마음껏 이용할 능력이 있다면 도둑이 될 재능이 있고
다른 사람의 능력을 마음껏 이용할 능력이 있다면 경영자가 될 수 있다.

@ 적어놓고 보니 별로 안 멋있다.

게임

컴퓨터 게임도 적당히 하는 것은 중요한 것 같다.
이제는 예전처럼 혼자만 하는 놀이가 아닌 사회 활동의 일부가 되버렸다.
적당한 게임을 하면서 길드 사람들과도 친해질 수도 있고
또래 친구와도 게임이라는 공통의 관심사를 통해서 이야기 할 수 있다.

방에서 게임만 하는 친구가 더 이상 외톨이가 아니다. 방에서 공부만 하는 친구는 분명 외톨이다.
내 주변에서도 사람들을 보면
'이 친구는 어느 길드에서 놀다가 만났어'
이런 이야기를 흔히 듣기도 한다.
물론 그들이 어느정도 폐인이기도 하지만 세상 사람들과의 관계를 넓혀가는 또 하나의 channel이다.

게임의 또 다른 점은 risky한 challenge가 가능하다는 것이다.
일상생활에서는 그런 risky한 상황에서 과감하게 행동하기 쉽지않다.
하지만 게임은 simulation이기 때문에 얼마든지 연습할 수도 있고
가장 과감한 방식으로 자신의 캐릭터를 던져서 도전할 수 있다.
계곡에서 빠져 죽고, 괴물에게 찔려 죽어도 다음번에 다시 다른 방법으로 도전할 수 있다.

Challenge

언제부턴가 challenge를 하지 않게 됐다.
원래 사소한 것에도 겁먹으면 웅크리고 하다보면 괜히 실증나기도 하는 게 삶이지만.
Risk management라는 핑계로 risky한 것들은 전혀 challenge하지 않게 된 건지도 모른다.

심지어는 일찍 일어나려고 노력하지도 않고 졸리면 그냥 계속 잔다.
뭘 해도 하고 싶다고 손들지도 않고 가서 뭘 물어보지도 못한다.

할 일이 있으면 아침일찍 이불을 박차고 일어나고
궁금한게 있으면 무슨 수를 써서라도 가서 물어보고
귀찮아도 사소한 것부터 하나씩 해나가는 도전정신이 필요하다.

어렸을 때만해도 아침에 잠자리에서 일어나는 것도 challenge라고 생각하면 서 살았다.
'오늘 일찍 일어나지 않으면 내일은 더 게을러진다.'

2006년 1월 17일 화요일

[드라마]HBO Rome 3~6편

이제 절반 쯤 봤다.
이 드라마가 어떤 면에서 멋진지 생각해 봤는 데.

각 건물의 질감이라든지, 분위기가 정말 로마답게 살아있다.
나도 로마를 한 번 가봤었는 데, 그 건물들이 유적이 아닌 현재로 되살아난다면 이 드라마의 모습처럼 될 것 같다.

처음 시작부분에 나오는 로마 모자이크들도 인상적이다.
로마시대의 건축물들에 새겨진 그림들은 대부분 물감으로 그린것이 아니라.
0.5 x 0.5 x 4Cm의 cubic 모양으로 돌을 깎은 후 그것들을 박아서
모자이크 형식으로 만든 것이 대부분이다.
(가장 대표적인 작품은 폼페이에 있는 알렉산더 대왕의 전투 장면이다.)

음악도 상당히 좋다.
은은하게 장면마다 흘러나오는 음악이 다른 데,
주로 피리라든지, 현악기 중에서도 하프처럼 뜯어서 소리를 내는 악기
(우리 나라 악기로 치면 가야금, 거문고)를 많이 사용했다.
그리고 화음이 없고 단성음악들이다.

시장도 강아지가 짓는 소리라든지, 상인들이 떠드는 소리들이 배경으로 들려온다.
그리고 로마 특유의 좁은 골목도 인상적이다.
로마의 서민들이 사는 골목들은 다들 좁고 2층식 건물들이다.
로마, 폼페이, 베네치아, 피렌체 어디를 다른 골목이 다 좁다.
덕분에 지중해의 강렬한 태양도 피할수가 있다.
거기에 맏게 이 영화에서도 강렬한 햇살이 내리쬐는 아주 밝은 화면이 없고
골목길에서 찍은 듯한 약간 어두운 화면들이 대부분이다.

빛과 조명의 처리를 봤을 때, 작은 실내 세트에서 찍은 것 같지는 않다.
간간히 들어오는 채광들이 자연광 같은 분위기가 난다.

CT세미나 - Making of The Cronicle of Narnia

The Cronicle of Narnia를 만든 Thythm & Hues Studio에서 일하는
Computer Scientist 아저씨가 한분와서 세미나를 했다.
Thythm & Hues : http://www.rhythm.com/

1시간 동안 3분짜리 clip을 10개쯤 보여주고 20분간 질문도 받았다.
CT에는 CG 에니메이션에 대해 아는 사람이 거의 없어서 그런지,
QandA 세션은 전혀 도움이 안됐다.
내 생각에 CT 사람들은 연극, 공연, 음악, 무대기획, 인문쪽 사람들인 것 같다. CG 관련 하신분은 원광연교수님 한 분이신듯.

차라리 CS - CG랩 있는 신성용 교수님랩 사람들이 질문하기에는 더 적절한 사람들이었던 것 같은 데, 다들 바쁘다고 안왔다.;

이런 저런 것들 그냥 잡다하게 섞어서 맞보기로 보여줬다.
동물원에서 조련하는 동물들을 찍어다가 2년간 연구하고
해부학적인 지식을 동원해서 매, 소, 말, 사자, 원숭이, 박쥐등의 골격과 근육의 움직임도 연구해서 model에 적용해서 붙여놨다.
사자가 고개를 드는 거나 입을 벌리는 것들은 먹이를 잘 줘 가면서 찍은 듯.

Facial animation을 이용해서 동물들이 다들 말도 하고
Crowd simulation에서는 동시에 30만개의 object(싸우는 군인들)가 나온다.
반지의 제왕에서는 갑옷을 입은 물체들이라서 solid object였는 데,
이 영화에서는 다들 털이 달려있어서 계산량이 훨씬 많았던 것 같다.

Fur animation에서 주인공 Aslan의 경우는 털이 500만개인데,
너무 많기 때문에 표본으로 추출된 Guide Hair만 simulation하고
나머지 hair들은 그것에 따라 noise를 넣거나 바람의 움직임 등을 고려해서
작업했다고 한다.
Maya 9의 예제 동영상도 보면 fur animation예제가 나오는 데,
거기서도 guide hair를 사용한다. 다들 그런 method를 쓰나보다.

사자가 천막 밖으로 나오고 하는 장면은 Physical simulation을 이용해서
cloth simulation을 이용해서 물체가 천과 interaction 했을 때를 simulation한 것 같다.

대략 해부학적으로 물체를 보면 뼈 -> 근육 -> 피부 -> 털 순으로 작업하는 것 같다. 그리고 prelighting을 하고 lighting하고 Animator들이 잘 조정해서 만든다.
큰 움직임을 keyframe으로 잡으면 작은 동작이나 꼬리의 움직임 같은 secondary animation은 자동으로 generating해서 집어 넣는 다.

나오는 동물들을 보면
사자, 켄타우르스, Gryphon, 원숭이 + 박쥐 같은 동물들이 나온다.

사자는 실제 사자를 찍은 후 합성했고
켄타우르스는 실제 사람이 컨타우르스인 것처럼 초록색 바지를 입고 걸은 후 하체를 합성했다.
Gryphon은 사자와 매를 합친 짐승인데, 깃털이 가장 어려웠다고 한다. 깃털의 경우 날개를 펼치고 접을 때, 깃털이 밖으로 나왔다가 들어갔다가 하는 조합을 잘 고려해야 한다.
원숭이 + 박쥐 같은 짐승은 박쥐 날개를 구현할 때 cloth animation을 이용했다고 한다.

실제 배경을 합성하기 위해서는 일반 카메라로만 하면 너무 어색하기 때문에 추가적인 데이터가 많이 필요하단다. 모든 방향의 빛을 기록하는 장치라든지, 조명, 카메라의 앵글 등 촬영시 환경을 최대한 많이 모을 수록 만들기 쉬워 진단다.
극단적인 경우 일반 카메라 영상 외에 아무 정보가 없는 경우가 있는 데, 그럴 때는 완전 노가다에다가 합성 티가 팍팍 날 수 밖에 없나보다.

영화의 제작 방식을 보면
일단 R&D팀은 주로 아이디어를 내거나 논문을 쓰는 정도의 일을 하고
Engineer들은 그 아이디어과 기술로 Tool을 만들어서 Animator가 쓸 수 있게 해준다.
30%는 Maya, 3D Max같이 이미 개발된 툴을 쓰고 70%는 In-house tool을 만든단다.

Animator가 예제 동영상을 만들어서 감독과 Warner Brothers사에 보여주면
4~5개 업체가 경쟁 입찰을 해서 가장 멋지고 저렴하게 일을 해낼 수 있는
곳을 선정해서 일을 하청하는 식이다. Thythm & Hues는 Narnia의 CG작업을 따낸 업체다.

영화 제작 중에 어려운 점은 중간에 계속 scenario가 바뀌기 때문에
이미 해두었던 작업을 모두 그냥 버려야 하기도 하고 시간에 대한
압박이 상당한 것 같다.
개봉 5개월전에 목소리를 캐스팅하고 2개월 전에 완성했다고 한다.

2006년 1월 16일 월요일

영어

미국 드라마를 너무 많이 보니, 한국에서의 삶이 참 힘들어 지는 것 같다.;
(일단 드라마는 삶이 극적이기도 하고 자세히 볼수록 한국과 다른 사고관들이 많다.)
마치 어느 코메디 코너에서 이런 말을 하는 것과 비슷하다.
"저는 미국에서 10년간 유학 생활을 해서 한국말이 익숙하지 않네요."
"그럼 영어는 잘 하시나요?"
"아뇨, 저는 LA 한인촌에서만 살아서 영어도 잘 못해요."

방에 TV가 없어서 한국드라마는 별로 안보고 인터넷에는 미국드라마가
더 많기도 하고 영어 공부를 한다는 핑계도 댈 수 있으니, 계속 보게 된다.

웃기게도 한국말을 가장 많이 듣는 시간은 영어 수업시간이다.
하루 종일 미국 드라마만 보다가 영어 수업시간에는 한글로 해석을 들을 수 있다.
"Niddle은 무슨 뜻이죠? 바늘이죠. 바.늘."

한국어를 가장 많이 보는 시간도 역시나 영어 수업시간이다.
내 전공책에는 한글이 한 글자도 없는 데,
내 TEPS 책에 적힌 해설은 모두 한국어다.
"가정법 현재의 용법은 if문과 ..."

디자이너와 미싱공

섬유업계에도 비슷해보이지만 엄청나게 다른 대접을 받는 사람들이 있다.
단순 기능공으로 하루종일 지하 골방에서 먼지를 먹는 미싱공과
화려한 삶과 멋진 스포츠카를 탈 가능성이 조금이라도 있는 디자이너.

프로그래머들도 비슷하다.
야근 수당도 못 받으면서 밤샘 야근하는 코더와 art를 보여주는 architect.

어느 쪽이 되고 싶은 지는 본인이 잘 선택해야 할 문제다.

@ 대한민국은 미싱공과 코더만 우글거리고 디자이너와 architect는 안 키운다는 게 문제이긴 하다.

조언들

사람들은 주로 주위 사람들에게 조언을 구하기 마련이다.
옷을 사는 것부터, 근사한 식당을 추천 받는 일, 소개팅, 여자친구에게 잘 보이기 등..

내게 조언을 구하는 사람들은 당연히 대게 컴퓨터에 대해 물어본다.

자주 듣는 질문들

. 컴퓨터를 잘하려면 어떻게 해야 하나?
운동을 잘 하려면 어떻게 해야 하나?
차를 잘 운전하려면 어떻게 해야 하나?
글을 잘 쓰려면 어떻게 해야 하나?
이런 거랑 똑같은 질문이다.
일반적인 방법 따위는 없고 학원가서 과목을 하나 골라서 열심히 듣거나 유명하고 좋은 책을 사서 봐야 한다.

. 그럼 네가 직접 가르쳐줘.
수영을 전화로 가르칠 수 없듯, 컴퓨터 사용법도 msn이나 전화로 5분만에 설명할 수는 없다.
그리고 어떤 일을 잘 한다고 해서 그것을 반드시 잘 가르칠 수 있지는 않다.
뛰어난 야구선수가 모두 뛰어난 야구코치가 되지는 못한다.
5분만에 대답할 수 없는 질문을 5분만에 대답하라고 강요해도 어쩔 수가 없다. 내가 지난 10년간 배운 지식을 5분만에 남에게 전수할만한 초능력은 내게 없다.

. 컴퓨터 조립해줘, 이 부품 얼마야?
나는 용산 전자상가 딜러가 아니다.
발레리나라고 발레슈즈를 잘 고치는 것은 아니다.
작가라도 책을 제본하는 방법이나 인쇄기를 고치는 방법은 모른다.
컴퓨터 프로그래머도 매일 아침 일어나서 오늘의 시세를 읽어보지는 않는 다.
다만 어디 가면 그런 정보를 얻을 수 있는 지는 다른 사람들보다 잘 안다.

. 홈페이지는 어떻게 만들어?
이런거는 약간 더 구체적이라서 낫다.
월 100만원짜리 홈페이지 알바를 할 생각이 아니라면 그냥 안 배우는 게 좋다고 말하고 싶다. cyworld, naver blog, egloos가 최고다.
알바를 할 생각이라도 별로 추천하지는 않는 다. 그런 저가 노동시장에서 일하느니 과외 알바가 전망이 더 밝다.
나는 개인적으로 전산과 대학 졸업한 사람이 웹 프로그래밍이나 하는 건 인적자원의 낭비라고 생각한다.
그래도 하고 싶으면 역시 책을 사거나 학원을 다녀라.

. PPT나 워드는 어떻게 하지?
사실 이거는 대부분의 사람이 잘 해둘 필요가 있다.
하지만 책보고 배우기도 쉽지 않다.
워드 프로세서 2~3급 자격증을 따게 되면 그것을 따기 위해 학원에서
이것저것을 가르쳐 준다. 그렇게 하는 것도 나쁘지 않다.
나도 초등학교 때 그렇게 해야 워드를 배웠다.
아니면 날마나 일기도 쓰고 해라. 자연스럽게는다.
남이 쓴 레포트나 공문서를 가져다가 고쳐 쓰는 것도 아주 좋은 방법이다.
엄청나게 멋진 것이 아니면 대부분 지적 재산권과 상관없다.

PPT를 잘하는 방법도 마찬가지다.
다만 화려하게 하려고 하지말고 소박하게 만들어라.
정말 화려한 PPT는 멋지지만 consultant나 영업사원들이 외부에 물건 팔아먹을 때나 쓴다. 연습도 많이 필요하고 장당 5~10만원 쯤 줘야 만들 수 있다. 당연히 나도 그렇게 만들 줄 모른다.(장당 10만원짜리 알바라면 나도 해보고 싶다.)
학교 수업시간에 교수님들이 하시는 정도로 하면 된다.
소박한 배경에 글자 조금 있고 사진 1장 넣는 정도.

화려한 PPT 역시 시간과 정력의 낭비다.
그런 것을 요구하는 조직이 있다면 정말 비효율적인 조직이라는 뜻이다.
-------------------------------------------------
대부분의 질문에 그들이 원하는 대답을 해줄 수가 없는 게 참 슬프다.
내게 하루 정도의 시간을 준다면 더 좋은 대답을 해줄 수 있는 데,
3초 안에 답을 원하기 때문에 더 그렇다.
3초 안의 시간에 내가 할 수 있는 답은 하나 밖에 없다. "그건 불가능해."

내게 필요한 능력은 고로, 그들을 정중하게 실망시키는 것이다.
세상에 산타클로스는 없다는 것을 자식에게 알려줘야 하는 엄마처럼 불치병 환자에게 6개월 이상 살기 어렵다는 것을 알려야 하는 의사처럼그들이 그것을 받아들이게 해야 한다.

향을 내는 기계

소리를 내는 device는 speaker라고 부르는 데,
향을 내는 device는 뭐라고 불러야 할까? smeller? perfumer? scenter?

다른 사람에게 내가 듣는 음악의 소리가 나면 서로 실례가 되기 때문에
사람들은 earphone이나 headset을 사용한다.
그럼 향을 내는 기계가 나오면 nosephone이나 noseset을 nose에 끼워야 하는 건가?
산소호흡기를 끼고 있는 환자나 Jet기를 타는 pilot처럼 되야할 것 같다.
호스 2개를 콧구멍에 그냥 찔러 넣는 방법도 있을 듯.

아마도 earphone보다 훨씬 personal해야겠지. 콧 속은 귓속보다 훨씬 지저분한 편이라서 다른 사람이랑 같이 쓴다는 건 매우 어려울 것 같다.
그리고 원하지 않은 향에 대한 filtering도 필요할 것 같다.

TV에서 농장이나 동물원이 나왔을 때, 불쾌한 냄새도 같이 나면 실감은 나겠지만 매우 짜증날 것 같다.
(에일리언이나 아나콘다가 나올 때는...)

2006년 1월 15일 일요일

단골

나는 어느 식당에서 단골이 되거나 하지는 않는 다.
물론 자주 가는 식당은 있다. 교내 식당은 자주 가지만 뭐 그건 독점적인 거라서 단골이라고 할 수는 없고 야식집들도 자주 시키는 몇개가 정해져있지만 그들이 나를 모르기 때문에 단골은 아니다.

내 동생처럼 사회적이지도 않기 때문에 음식점을 아무리 많이 다녀도
그 가게 주인이나 직원과 정답게 인사해서 단골이 되지도 않는 다.

단골은 참 좋은 거다.
회사에서 주로 다니던 코엑스 1층 피에트로도 네오위즈 사람들이 가면
커피도 주고 맛있는 치즈 케잌이나 새로나온 케잌을 베타 테스트시키기도 했다.
명함을 넣어서 쿠폰을 탄 적도 2번이나 있다.

사실 단골이라는 게 참 낭만적인 것이기도 하다.
"오늘 같은 기분에 내가 주로가는 어느 바에 가서 데킬라를 마셔야 해"
"오랜만에 저기 남산에 있는 돈까스 집에서 서울의 야경을 감상하면서 칼질을 했으면 해."

하지만 단골은 어찌보면 한 곳만 줄창간다는 점에서 너무 보수적이다.
나는 그런 면에서 바람둥이라고 할 수 있다.
그 음식점을 아무리 사랑하더라도 다른 곳도 가보고 싶다.

음식 취향

나는 남의 취향을 존중해 주지 않는 사람이 싫다.
뭐 나와 취향이 달라서 보기 싫은 사람이 있을 수도 있지만 그럼 그냥 안보면 되지, 만나서 자꾸 취향을 바꾸라고 하면 상당히 괴롭다.

특히나 음식을 먹을 때 그렇다.
매일 햄버거, 피자, 분식을 먹으면 정말 몸에도 안 좋고 질리지만 일주일에 한 번 정도 먹으면 참 맛있다. 그런데 주위사람들이 매번 그런 나를 볼 때마다
"왜 밥 안 먹고 불쌍하게 이런거 먹어?"
"돈을 아끼고 싶은 거야? 이런거 먹고 힘이 나니?"
나는 내가 그걸 먹으면서 처량하다고 생각하지도 않고
밥이든 뭐든 열량과 몇 대 영양소만 잘 지키면 된다고 생각한다.
그리고 그런 음식이 밥보다 싸지도 않다.
햄버거 세트 가격은 가장 저렴한 한식과 같다.

나는 내가 햄버거를 먹었기 때문에 비참한 것이 아니라 그들이 나를 비참한 눈으로 바라보기 때문에 비참하다고 생각한다. 그래서 그런 눈으로 나를 처다보는 사람이 많은 보수적인 조직에 있을 때는 햄버거도 숨어서 먹어야 한다.

그리고 그런 것이 아니라 일반 중국집이나 한식집에서도 그러는 사람들이 있다.
"그게 도대체 뭐가 맛있다고 먹는 거야? 맛 하나도 없구만."
"너 정말 취향 이상하다."
"이 가게는 짜장면이 맛있지 짬뽕은 맛없어. 왜 매번 짬뽕을 시키는 거야?"
"여기는 크림소스 스파게티가 맛있어, 그러니까 너도 그거 시켜."
"여기 맛있는 거는 하나니까, 우리 메뉴 통일하자."
내가 무슨 거미나 바퀴벌레를 삶아먹는 것도 아니고 일반적인 식당에 있는 메뉴에서 다 먹으라고 파는 건데, 왜 그러는 지 모르겠다.
뭐 처음 가는 식당이면 그런 조언을 해줄 수도 있지만 나는 이미 그 식당에 많이 가봤고 그 음식도 먹을 만 하다고 생각하는 데, 이미 나온 음식을 가지고 내게 자꾸 맛 없다고 저주를 내리는 건 정말 밥맛 떨어진다.

어떤 사람들은 어느 식당에 가면 어떤 음식이 맛있다는 절대적인 기준이 있는 것처럼 말한다. 그래서 그 공식에 대입하면 optimal unique solution이 나오고 무조건 그것을 선택해야 한다고 믿는 다.
하지만 나는 그런게 싫다. 내가 정말 싫어하는 음식이 아니라면 다양하게 먹는 게 좋다. 심지어 같은 짜장면이라도 다른 음식점에서 먹으면 다르기 때문에 여러가게를 골고루 가려고 노력한다.

나는 쌈을 좋아한다.
'싸움'을 줄여서 부르는 '쌈'이 아니라 '보쌈'의 '쌈'이다.
생각해보니 쌈이라는 단어가 중의적이긴하다.
숫자 3을 세게 발음할 수도 있고 '싸다'의 명사형이기도 하다.

아무튼 나는 쌈을 좋아한다.
초등학교 때 고기를 안 먹었는 데, 그 때도 배추, 상추 쌈을 좋아했다. 깻잎은 처음에는 너무 거칠어서 좋아하지 않았지만 지금은 깻잎도 좋아한다.

내가 고기를 처음 먹게 된 것도 쌈 덕분이다.
고기의 진한 향을 참을 수 없었는 데, 쌈으로 조금씩 먹으면서 익숙해 지게 됐다. 지금도 고기집에 가면 항상 고기를 싸먹어야지 그냥 먹기는 너무 향이 진해서 못 먹는 다.

양배추를 쪄서 만든 양배추 쌈도 좋다. 보쌈 먹을 때 된장에 찍어먹으면 참 맛있다.

쌈과 비슷한 방식의 요리들도 좋아하는 것 같다.
중국 요리인 고추 잡채도 양파와 고추를 얇게 채로 썰어서 중국식 빵에 싸먹는 것인데 아주 좋아한다. 만두나 춘권도 밀가루피로 고기를 싼 것이라서 좋아한다.

서양식 쌈이라고 할만한 요리로는 햄버거가 있는 데, 나는 햄버거도 참 좋아한다. 햄버거도 빵이 두꺼운 쌈이라고 우기겠다.

그래서 나는 김도 좋아한다. 김이랑 간장만 있으면 밥 한 공기 다 먹는 다. 스님이나 무사 같은 검소함과 깔끔함이라고 할 수 있겠다.

반면에 멕시칸 쌈 요리인 토틸라는 별로 안 좋아한다.
먹어봤는 데, 고기 향이 너무 진하다. 상추 쌈은 상추가 고기 향을 잘 막아주고 햄버거도 빵이 두꺼워서 고기 맛을 잘 막아준다. 토틸라의 얇은 막으로는 그 향을 먹을 수가 없다. 그리고 먹다보면 너무 많이 흘러내려서 싫다.

[책]무라카미 라디오

아주 유명한 작가인 무라카미 하루끼가 어느 잡지책에 매주 연재한 에세이를 모은 책이다.
사실 내 책은 아니고 광주에 있는 친구가 대전에서 파는 헌책을 대신 사달라고 해서 맡아주고 있는 중이다. 나는 일종의 agent인 셈이다.
주말에 공부도 하기 싫고 너무나 심심하기 때문에 살짝 읽다가 책을 줘야할 3월이 되면 주인에게 곱게 넘겨줘야 겠다.

나는 이런 류의 책은 좀처럼 읽지 않는 사람이지만 무라카미의 '상실의 시대'는 읽었다. 물론 전혀 그 내용과 분위기를 이해할 수는 없었다.
하지만 이 책은 '상실의 시대'보다는 재미있게 읽고 있다.
그냥 자신의 일상 생활의 잡다하고 개인적인 감상을 쓰는 일기 같은 것인데, 내가 내 블로그에 쓰는 글들과 아주 유사하다.

작가는 자신의 집에 양복이 몇 벌이나 있는 지, 최근에 본 영화와 콘서트가 얼마나 재미있었는 지, 레스토랑에 갔을 때 옆 테이블의 커플을 관찰하고 느낀 점 같은 것들을 소재로 글을 썼다.
사실 매우 쓸데없는 글들인데, 작가라면 당연히 이런 것들을 매일 생각하고 쓰면서 작품의 소재를 모아야 한다. 글쓰기가 삶이고 삶이 글쓰기로 되어있는 사람들이니까.

이런 글들을 매일매일 부지런히 쓸 수 있다는 점에서는 나도 작가가 될 수 있는 가능성을 가진 게 아닐까?
하지만 무라카미 씨처럼 잘 쓸 자신도 없고 그걸로만(책을 잘 써서 인세받는 것) 먹고 산다는 것은 엄청나게 어려운 일이다.
역시 나는 취미생활 수준에서 써가야 겠다.

나의 삶

20년 뒤에 나는 어떤 모습으로 살아가고 싶은가?
멋진 모습이라고 나름대로 생각하는 몇 가지 시나리오를 생각해 봤다.

. Computer scientist
ETRI, ADD의 연구원이나 지방대 교수가 된다.
잘 풀리면 google 아시아 R&D 센터 소장이 된다.
뛰어난 동료 과학자들과 열심히 연구를 한다.

. Pixar의 CG 전문가
Toy story 이후 최고의 애니메이션 영화에 기술감독이 되서 연봉 몇 십억 쯤 받는 다.
스티븐 잡스에게 다음과 같은 편지와 함께 convertible car를 선물로 받는 다.
"이번 작품도 참 수고했어, 다음에는 예산을 더 줄테니 멋진거 한 번 더 해보게."

. IT 창업 컨설턴트
30세부터 3~4개의 기업을 성공적으로 키워 대기업에 팔아치우고 창업 컨설턴트가 된다. IT 전문지에 매달 칼럼도 한 편씩 쓴다.

. SF 소설 작가
스티븐 스필버그의 작품에 참가.

. 정책 결정자나 조언자
청와대 과학기술 자문위원, 국방부 기술 심사위원
1년에 2~3번 MBC 100분 토론에 나와서 다른 전문가들과 토론을 한다.

2006년 1월 14일 토요일

CG랩 세미나

오늘로 3번째 참석하는 데, 생각보다 재미있다.
뭐 detail한 내용을 따지자면 난무하는 수학, 물리학 공식들이지만 일단 소재들이 상당히 독특하다.
꼬마들도 좋아할 만한 소재라고나 할까.
(논문 제목들만 보면 유치원 공작시간 같다.)

지난 번에는 pop-up book을 만드는 법을 했는 데,
입체 크리스마스 카드처럼 접으면 2D가 되고 펴면 접힌 면이 올라오면서 3D가 되는 게 pop-up book이다.
(주로 크리스마스 트리나 빨간 벽돌집, 공작새, 루돌프가 끄는 썰매 같은 게 나오는 그런 카드.)
2D 사진을 1장 컴퓨터에게 주면 자동으로 pop-up 3D로 만들어주는 방법을 알아봤다.

오늘은 종이에 그려진 그림을 오려서 3D 물체로 만드는 방법.
어렸을 때 다들 가지고 놀았을 종이 인형이나 방학 숙제로 낼만한 것들이다.
그리고 그 반대로 3D물체가 있을 때 그걸 어떻게 종이에 전개도로 표현할 수 있을 지도 알아봤다.
예제로는 토끼 인형과 코뿔이 난 공룡 인형을 사용했다.

실제로 논문 저자와 오늘 세미나 발표자가 종이를 오려서 토끼 인형을 만들어봤는 데, 저자는 2시간 반이 걸렸고, CG랩의 발표자는 5시간이 걸렸단다.
따로 풀칠할 곳까지 표시되는 친절함은 없어서 가위로 종이를 오린 다음 테잎으로 잘 붙여서 만들었단다.

2006년 1월 13일 금요일

고령화 사회와 실업률

고령화 사회는 노동인구가 부족해지기 때문에 문제가 되고
실업률이 높은 사회는 노동인구가 남아돌기 때문에 문제가 된다.
요즘 우리사회는 이 2가지 모두를 걱정하고 있지만
생각해보면 둘 중 하나는 해결된다는 뜻 아닐까?
고령화 사회가 점점 진행되면서 노동인구가 줄면 실업률도
당연히 떨어질 수 밖에 없을 것 같다.

물론 완전 고용이라는 것은 언제나 말이 안된다.
임금이 적거나 작업환경이 나쁜 경우 요즘 노동자들은 차라리 그냥 놀기를 택할 것이니까. 고용주도 노동자 대신 기계를 도입할테고.
(미시경제적으로는 돈을 많이 부으면 노동자를 대체할 수 있다고 본다.)
그래도 일할 사람의 수가 더 빨리 줄어들면 좋은 일자리들이 남기 마련이다.

결론적으로 우리는 고령화와 실업률 둘 중 하나를 잡을 수 있게 될 것이므로 너무 암울한 면만 봐서는 안된다.

CG에 관한 잡담

3개월 전에 CG랩의 동영상들을 보고 참 재미있는 분야라고 생각을 하게 됐다. 그래서 개별연구를 신청했다.
토요일에 하는 랩 세미나도 2번 들어갔는 데, 생각보다 훨씬 재미있는 것 같다.
그런데 maya 7.0 데모를 보니 조금 좌절스럽기도 하다. 이런 상용툴로는 도무지 안되는 게 없는 것 같다.
정말 모든 것이 다 되는 것 같아 보인다. 과연 연구할 게 남아있기는 한 걸까?
디자이너들이 열심히 그리고 오리고 붙이고 하면 되지, computer science 전공자가 그들과는 차별화된 무엇을 할 수 있을 까? 산디과, 게임학과, 에니메이션학과 사람들은 정말 functional한 일들을 잘하고 art도 잘하는 데,
나같은 사람이 할만한 틈새를 찾아낼 수 있을 까?

. CG랩 세미나
재미있기는 한데, 역시 무슨 이야기인지 모르겠다.
수십번의 회사 세미나와 기업 세미나들을 보고도 느낀점이지만
세미나는 다분히 흥미유발을 위한 것이지 깊숙한 정보를 알 수는 없다.
자신이 직접 공부하고 해보고 느끼기 전에는 어느 것도 제대로 알았다고 할 수 없다.
남들이 뭐하는 지 궁금하고 내가 하는 일만 보고 있기에는 너무 따분하고 그럴 때 들어주는 게 좋다.
일단 나는 CG를 하나도 모르니까 최소한 1년 쯤은 들어줄만 할 것 같다.
하지만 어느 순간 "아, 이제는 다 들어본 용어고 세미나로 얻을 수 있는 수준의 내용은 다 아는 구나. 더 깊게 공부할 필요가 있구나."라고 생각되는 시점이 오는 데, 그 때는 세미나 같은 거 듣기만 하지 말고 그 중에서 내가 하고싶고 해야할 것을 찾아서 해야 한다.

고등학교 친구들과의 모임

2년만에 고등학교 친구들과 술자리에서 모임을 한 것 같다.
(대진, 영현이랑 가끔 같이 밥 먹는 것보다 큰 자리)
한때는 같은 교실에서 공부했지만 이제는 각자 갈 길을 가고 있었다.
치의학대학원, 전자과 석사, 생물과-CT석사, 병특, 복학생...

의사, 치과의사, 선생님이 전반적으로 상당히 많고
어떤 친구는 곧 시집을 가는 친구도 있고 수능을 다시 본 친구도 있다.
경영대학원, KT, 삼성 SDS, oracle, 해병대, 통역병, 소방관, 보험회사,
호텔리어, 케이블TV 광고 쇼호스트, PD지망생 ...
프랑스, 미국, 일본 유학생도 몇 명 있다.

2006년 1월 12일 목요일

Alias Maya

. 제작사
Alias/Wavefront사(Silicon graphics의 자회사)

. version
5.0 = 2003.6 출시
7.0 = 2006.1 현재 최신

책) 3D 초급자를 위한 Maya 5.0 75일 완성 - 가메출판사
(http://www.mayarang.com/ )

. 설치방법
. iso-m7u1.bin 파일을 open
. Install Maya
. 설치 완료됨.
. Exit Installer

. c:\FLEXLM 만들기
copy crack 디렉토리의 aw.dat, awkeygen.exe to c:\FLEXLM

. Goto start-->all programs-->AliasWavefront-->common utilities-->FlexLM license utilities
. Under system settings copy Ethernet address
ex) 00115b8532b8

. 시작메뉴의 모든프로그램 > alias > MAYA 7.0 > install license 를 실행한다.
. I would like to install my license from a file 를 선택하고
. Browse 버튼을 눌러서 c:\flexlm\aw.dat 를 선택하면 끝.

. 실행
. 2006/3/15 - 주현성, 주혜선
"Your graphics card doesn't support hardware rendering. Pixel shading extensions insufficient."라는 에러가 나면서 종료됨.
메인보드 내장 그래픽카드를 쓰고 있어서 그런 것 같음.
. 해결책
시작 -> 설정 -> 제어판 -> 디스플레이 -> 설정 -> 고급
-> 문제해결 -> 하드웨어 가속
-> 없음(bar를 가장 왼쪽으로 보냄.)
Maya를 재시작함.

. Maya supported qualified Hardware
http://www.alias.com/glb/eng/support/maya.jsp
-> Maya Discussion에 질문하면 다음 답을 줌.
http://www.alias.com/glb/eng/support/maya/qualified_hardware/index.jsp

하드 백업(RAID mirroring)

평균 2년마다 고장나기 마련이라.
컴퓨터 산지 1년이 넘으니 왠지 불안하다.
백업을 열심히 하든지, RAID 1 adapter를 사서
자동으로 백업되게 해놔야 할 것 같다.

그래서 동아리 후배에게 물어봐서 알아봤는 데.
RAID 0 : 속도 2배 향상을 위한 목적
RAID 1 : Mirroring(자동 백업)

. 가격
RAID 1 IDE controller(PCI slot에 장착) : 최소 3만원
Seagate IDE 7500RPM 250G : 10만원/개

. 사용법
OS설치시에는 RAID가 동작 안함. OS용 하드는 따로 마련.
DATA 하드 2개를 RAID로 묶고 RAID driver를 설치하면
OS가 인식하여 RAID adapter가 비로소 그 하드들을 읽을 수 있게 됨.
좋은 것을 사면 Mainboard와 하드웨어가 알아서 지원할 것이나 저가형은 어쩔 수 없음.

. 참고
요즘은 RAID에서는 IDE보다 S-ATA가 대세임.

[드라마]HBO Rome 2편

흠. 2편에서는 의원들끼리 원로원에서 피터지게 싸우고 있다.
어느 국가나 그렇듯, 승리한 장수는 골치꺼리이기도 하다.
로마는 오랫동안 전쟁을 했기 때문에 위기상황이라서
시저에게 시스템이 정한것보다 더 많은 권력을 주고 말았다.
시저는 로마의 안정을 위해서 전쟁을 지나치게 많이 했다.
원로원과 법이 정한 한도를 좀 넘어설 수 밖에 없었는 데,
원로원의 입장에서는 시저가 너무 두려운 존재가 되었다.

아무튼 시저를 달래든지, 권력에서 물러나게 하든지 하려고 원로원 사람들은 고민 중. 초한지에서 토사투팽당한 한신이나 삼국지의 장합 같은 신세라고나 할까. 말년이 좋을 수가 없다.;

한편 전쟁에 8년간이나 참전했던 군인들도 상당한 후유증을 겪고 있다.
과격하고 사회에 적응이 안되서 문제만 일으키고 돌아다닌다.
영화 람보에서처럼 다들 매춘, 도박에 빠지고 사람들을 죽이고 방화를 일으키고 있다.
가정에서는 자식들은 아버지 얼굴을 못 알아보고 아내도 남편이 죽은 줄 알고 있다. 아내도 거의 생과부처럼 정신적으로도 외롭고 힘들고 경제적 어려움도 매우 많았다.
군대에서의 습관이 남아있어서 사람들을 대할 때도 명령조로 대하고 전우애가 지나친데, 사람들이 보기에는 너무 하다고 생각한다. 남은 것은 상처들과 전리품(돈, 노예)뿐.

2006년 1월 11일 수요일

[드라마]HBO Rome

http://www.hbo.com/rome/
HBO에서 Caesar시대의 Rome을 다룬 드라마다.
영어인데, 고대 로마 분위기를 내기 위해서 라틴어 풍의 딱딱하고 명사적 영어를 쓰는 것 같다.
1편은 caesar가 gaul과의 전쟁에서 승리하여 돌아오는 내용이고 그 뒤로 Caesar가 emperor가 되려고 한다는 의심을 사고 개선을 하고 12편에서 죽는 것으로 막을 내린다.
우리나라 사극으로 따지면 '이순신'만큼 위대한 영웅이고 시대상으로는 거의 삼국시대.
로마사에서 가장 위대한 영웅이고 가장 중요한 시점이기 때문에 사료도 가장 많고 어떤 작가든지 그 시대를 이야기 한다. 공화정에서 제정로마로 넘어가니까.
로마인 이야기만큼 재미있고 자세하게 로마의 시대상을 다루고 있다.
이제 막 1부를 보기 시작했는 데, 정말 멋지다.
글라디에이터처럼 한 인물만 처음부터 끝까지 영웅적으로 나오는 것은 아닌 것 같다.
로마는 다인종국가이기 때문에 다양한 피부색이 사람들이 시민으로 등장한다.
하지만 원로원은 일반 시민들보다는 좀 더 선택된 계층이라 역시 이탈리아인이나 백인에 가까운 사람들이 대부분이다.
원로원의 토론 분위기도 상당히 재미있다. 기본적으로 원로원에서는 발언권을 얻어서 연설형식으로 멋지게 이야기하는 건데. 서양의 연설의 기본이 되는 것들이다.
"People of rome"
"Fellow my citizen"
"Senatus of rome"
정확히는 잘 모르겠지만 대충 이런식으로 시작하는 연설말이다.
그러면서 비꼬기도 하고 웃기기도 하면서 반대파를 공격하기도 한다.
자신이 지지하는 의원이면 환호성도 지르고 반대하는 의원이면 야휴도 보내는 매우 인간적인 국회이다.
그래도 울 나라 국회처럼 주먹다짐은 거의 안한다.
(원로원에서 시저를 암살한 것을 빼면)

로마는 고대국가이면서도 이후 천년간 지속되는 중세시대보다 훨씬 세련되서 현대적인 면도 많이 가지고 있다. 지금보다 더 개방적인 면도 있다.
노예제도도 있고 군대 의무복무기간도 엄청나게 길지만 세금도 적은 편이었고 동성애도 허용되고 항복하는 사람들은 다 로마에 귀화할 수 있었다.
법에 의해 통치되었고 민주주의도 시행했다.

로마의 전투 장면도 초반에 나왔는 데 꽤 흥미롭다.
사실 로마의 전술은 정말 재미가 없다.
항상 오와 열을 맞춰서 진형을 유지하면서 방패로 막고 찌르는 게 전부이다.
절대 진형을 흐트러뜨리지 않으면서 매우 천천히 전진한다.
중세시대 영화처럼 '돌격 앞으로~'해서 우수수 뛰어가지도 않고 보병 중심이라서 기병들처럼 기동성이 있지도 않다. 영웅이 앞에 나서서 칼을 휘두르지도 않는 다.
원래 잘 싸우는 게 재미있는 건 전혀 아니다. 영화나 소설처럼 폼생폼사로 싸우는 군인들은 패배할 수 밖에 없다. 군대 한 번 가보면 전쟁 준비와 훈련이 얼마나 지루하고 미치게 반복되는지 알 수 있다. 실전은 정신 하나도 없고 다들 미치겠지만 그런 지루한 것들을 반복하다가 한 번의 전투로 대부분의 사람이 죽는 것이다.

아무튼 엄청나게 고루한 전투 장면을 한 번 보여주고 피에 도취되서 진형을 안 지킨 병사를 엄하게 다스리는 장면도 나온다. 채찍으로 때린 후 가둔다.

등장인물이 여럿되는 것 같은 데, 아직은 다 모르겠다.
시저, 키케로, 아우구스투스가 일단 나왔고 폼페이 어쩌고 하는 건,
그 시대에 폼페이의 베수비오 화산이 폭발했다는 뜻인가?
아니면 폼페이우스를 말하는 건데, 잘못 해석하고 잇는 건가?
베수비오 화산이 서기 79년에 폭발했는 데, 시저는 기원전 100~44전까지 살았으니 폼페이우스를 말하는 건가보다.
폼페이우스는 시저의 최대 경쟁자인데, 결국 이집트에서 클레오파트라에 빠져서 로마와 등을 돌리고 패배한 후 죽는 다.

아우구스투스(어린시절 이름은 옥타비우스, 누나는 옥타비아)도 1편에서 시저를 따라 출정하나보다. 왜냐하면 로마에서 정치를 하려면 일단 군복무를 해야 고위직 공무원이 될 수 있고 원로원에 들어갈 후보 자격이 생긴다. 하지만 아우구스투스는 원래 전쟁에 적합한 사람이 아니라서 상당히 걱정하고 있다.
(나중에 황제가 되고 나서도 전쟁은 아그리파에게 모두 맡긴다.)

로마는 정말 많은 일을 했다. 도로에 인도와 차도도 구분되어 있고 돌을 깔아서 포장도 했다. 길가에는 게시판이 있어서 게시판에 낙서를 해서 투표도 한다.

OpenGL Feedback buffer parsing

. Mouse로 click해서 그 도형의 정보를 얻어냄.

. glRectf(), glBegin(GL_POLYGON)은 도형의 내부를 찍어도 pick됨
. glBegin(GL_LINE_LOOP)는 도형의 boundary를 찍을 때만 pick됨

. feedback buff에 들어가는 값
. glRectf()로 그린 경우
GL_PASS_THROUGH_TOKEN
User-defined value user가 gl 함수로 넘긴값
GL_LINE_RESET_TOKEN

GL_LINE_TOKEN

GL_LINE_TOKEN

GL_LINE_TOKEN

. glBegin(LINE_LOOP)로 그린 경우
GL_PASS_THROUGH_TOKEN
User-defined value user가 gl 함수로 넘긴값
GL_LINE_RESET_TOKEN, 값
GL_LINE_TOKEN, 값 => 여러개 반복
. POLYGON인 경우
GL_PASS_THROUGH_TOKEN
User-defined value user가 gl 함수로 넘긴값
Number of vertices
x cordinate of first vertex
y cordinate of first vertex (2D일때는 y까지 밖에 없다.)
z cordinate of first vertex (3D일때)
x cordinate of first vertex
.
.
.
.
vectex n개가 될때까지 반복

// feedback buffer를 parsingg하는 코드
// feedBackBuff
// size : feedBackbuff의 크기
// nChoice : user가 고른 도형의 user defined value
// vertex가 2차원이면 2개를 얻어오고 3차원이면 3개를 얻어오자.
// 예제는 2차원의 경우임.

size = glRenderMode(GL_RENDER);
i = 0;
while(i < size)
{
// Search for appropriate token
if(feedBackBuff[i] == GL_PASS_THROUGH_TOKEN)
{
std::cout << "feedBackBuff[" << i + 1 << "] (user defined value) : " << feedBackBuff[i+1] << std::endl;
if(feedBackBuff[i+1] == (GLfloat)nChoice)
{
i+= 2;
// Loop until next token is reached
while(i < size && feedBackBuff[i] != GL_PASS_THROUGH_TOKEN)
{
if(feedBackBuff[i] == GL_POLYGON_TOKEN)
{
std::cout << "GL_POLYGON_TOKEN";

// Get all the values for this polygon
count = (int)feedBackBuff[++i]; // How many vertices
i++;

for(j = 0; j < count; j++) // Loop for each vertex
{
// Min and Max X
if(feedBackBuff[i] > boundingRect.right)
boundingRect.right = feedBackBuff[i];

if(feedBackBuff[i] < boundingRect.left)
boundingRect.left = feedBackBuff[i];
i++;

// Min and Max Y
if(feedBackBuff[i] > boundingRect.bottom)
boundingRect.bottom = feedBackBuff[i];

if(feedBackBuff[i] < boundingRect.top)
boundingRect.top = feedBackBuff[i];
i++;
}
} else if(feedBackBuff[i] == GL_POINT_TOKEN) {
std::cout << "GL_POINT_TOKEN ";
i++;
std::cout << feedBackBuff[i] << " ";
i++;
std::cout << feedBackBuff[i] << std::endl;
} else if(feedBackBuff[i] == GL_LINE_TOKEN) {
std::cout << "GL_LINE_TOKEN ";
i++;
std::cout << feedBackBuff[i] << " ";
i++;
std::cout << feedBackBuff[i] << " ";
i++;
std::cout << feedBackBuff[i] << " ";
i++;
std::cout << feedBackBuff[i] << std::endl;
} else if(feedBackBuff[i] == GL_LINE_RESET_TOKEN) {
std::cout << "GL_LINE_RESET_TOKEN ";
i++;
std::cout << feedBackBuff[i] << " ";
i++;
std::cout << feedBackBuff[i] << " ";
i++;
std::cout << feedBackBuff[i] << " ";
i++;
std::cout << feedBackBuff[i] << std::endl;
} else if (feedBackBuff[i] == GL_DRAW_PIXEL_TOKEN) {
std::cout << "GL_DRAW_PIXEL_TOKEN ";
i++;
std::cout << feedBackBuff[i] << " ";
i++;
std::cout << feedBackBuff[i] << std::endl;
} else if (feedBackBuff[i] == GL_COPY_PIXEL_TOKEN) {
std::cout << "GL_COPY_PIXEL_TOKEN ";
i++;
std::cout << feedBackBuff[i] << " ";
i++;
std::cout << feedBackBuff[i] << std::endl;
}
else
i++; // Get next index and keep looking
}
break;
}
}
i++;
}

참고)
OpenGL Superbible chapter 12. Interactive Graphics (SELECT라는 프로그램)

동창(A friend)

http://www.woori.com/vod/RebroadHost.jsp?host_no=050106

고등학교 동창이 우리홈쇼핑 호스트가 됐단다.
몇 주만에 꽤 많은 방송에 출현한 것 같다. 신기하다.

심리학적 낙서들

. 충격요법

딸꾹질 할 때 사람을 놀래켜서 멈추게 하는 것도 충격요법이고 요즘 대부분의 마케팅이 충격과 공포를 이용한다.
(참고 - 'Stupid white man', 'Bowling for columbine')

정신병원에서 정말로 전기고문을 하는 지도 논란이 많은 데, 심리학 책을 보면 고문은 아니더라도 치료 수준에서 전기 자극을 꽤 세게 주는 것 같다. 아마도 skinner의 행동주의적 관점에 의한 처벌과 보상이겠지. 말을 잘 들으면 상을 주고 말을 안 들으면 전기 자극으로 처벌을 내린다.
정신병이라는 게 심리학적인 용어는 아니지만 그런 병을 가진 사람들은 대게 자신의 정신이 육체를 컨트롤하지 못하는 경우도 많으니까 긴장이 될 때 제대로 해소하지 못하는 경우가 많다. 그래서 전기자극으로 자신이 긴장하고 있다는 사실을 알려게 한다.

. 긴장의 해소

긴장을 잘 풀 수 있는 방법을 잘 개발해야 정신적으로 건강하게 살아갈 수 있다.
낮에는 사냥터(직장, 학교 등..)에서 긴장하고 살더라도 여가를 즐길 필요가 있다. 조깅이나 운동하면서 뛰어다니기도 하고 직업과는 전혀 다른 어떤 것을 하면서 그것을 모두 잊어버리는 것이다.

. 적절한 긴장감 - 준비의식

반대로 너무 긴장이 없어도 무인도 같은 삶이 따분하고 미치는 것 같다. 스스로 긴장이 될만한 요소를 찾지 못하면 정말로 이상해진다. 삶의 의욕을 상실한다고나 할까. 그럴 때는 어쩌면 긴장을 주는 요소가 오히려 사람을 지탱하게 하는 것 같다.
그래서 프리랜서들도 집에서 일하지 않고 자신만의 사무실을 갖는 다. 사립탐정이나 개인 컨설턴트들이 사무실을 가지는 것이 그런 예이다. 집에서 일하더라도 작업실과 침실, 거실을 따로 두고 산다.
뭔가 심리적으로 일의 시작과 끝을 알리는 기제가 필요한 것이다. 그 기제가 바로 출근과 퇴근이다. 번거롭지만 10분~1시간 동안의 준비의식(마치 제사나 고사, 기념식, 성인식, 졸업식처럼)이 있어야만 인간의 심리상태는 그 일에 적합한 모드가 된다.

. 샤워

요즘은 피곤하고나 우울할 때도 샤워를 한다. 2년 전 수영을 배우면서 샤워가 좋다는 걸 알게 됐다. 수영을 하고나면 허리도 덜 아프고 어깨도 덜 아프고 우울함도 줄어서 참 좋았는 데, 수영장을 매일 갈 수 없을 때가 되도 샤워를 하면 어느 정도는 해소가 되었다.
일단 온몸에 물이 닿으면 평소와는 다른 자극 반응을 경험하게 된다. 샤워기를 켜면 앞이 잘 안 보이고 물소리가 시끄럽기 때문에 평소에 많이 쓰는 감각인 시각과 청각이 둔해진다. 대신 촉감이나 온도 감각이 훨씬 민감하게 작동하게 된다. 건조한 피부에 물이 닿으면 피부가 부드러워지고 불기도 하면서 감각이 더 민감해진다.
그리고 샤워라는 행위는 진짜로 정화이기 대문에 정화의식과도 같다. (정화의식이 원래 정화를 따라한 것이니까. 진짜 정화도 정화의식의 효과를 얻을 수 있다.) 뭔가 새로 시작하는 기분이 된다.
샤워를 마치고 나서도 평소와는 다른 습도와 증발량으로 인한 감각의 차이들이 지속된다.
다른 자극에 대해서는 다른 반응을 하는 게 사람이기 때문에 기분도 전환된다.
그리고 하루 종일 앉아서 일하기만 하던 사람이 20분간 서서 샤워를 하면 그동안 굽었던 허리도 펴지고 온갖 관절과 뼈의 자세들도 재조정된다. 사람은 오래 앉아있으면 관절의 positioning이 잘 안되는 데, 자연스럽게 서있거나 조금 걸으면 잘 positioning되서 오히려 편하다.

생명과학연구소 화재

2주 전에 불이 났었단다.
하루 뒤에 그 소식을 듣고 곰곰히 생각해보니 내가 사는 기숙사 지혜관 바로 뒷 건물이 생명과학연구소 였다.
(내가 사는 건물이 KAIST의 boundary에 접해있기 때문이다.)

어쩐지 그 날 아침 일어나서 방문을 열었을 때 뭔가 플라스틱이 타는 매케한 냄새가 좀 나고 복도도 살짝 뿌옇게 흐렸다.
옆 건물에서 불이 났는 데, 당연히 알리고 사람들을 대피시키던지, 방송이라도 해야 하지 않았을 까?
연기가 옆 건물로 들어오는 데, 아무말도 안 한건 좀 너무 한 것 같다.

내 방은 특히나 창이 그 건물과 반대쪽으로 나있어서 그 곳의 상황이 보이지 않았다.
(이 건물 방의 절반은 창이 그 건물 쪽으로 나있어서 화재가 난 걸을 봤을 꺼다.)

만약에 불이 더 심했다면 옮겨 붙을 수도 있고 연기가 좀 더 심했다면 질식 할 수도 있었는 데.
그리고 냄새가 날 정도인데 화재 경보기는 왜 안 울리는 거지?
(경보기는 인간의 코보다 민감해야 하는 거 아닌가?)
아무튼 한국의 행정과 화재 경보기 같은 것들은 믿을 수가 없다.;

작은 도시

생각해보면 우리 학교에는 참 강의실이나 연구실 방도 많은 것 같다.
3호관만 해도 층마다 30개씩 90개나 되는 데,
그런 건물이 1,2,3호관, 창의관, 기계동, 전자동, 전산동, 응공동, 산경동, 행정동Chips, 나노팹, 창고 등..
다 하면 방이 1,500개 넘을 것 같다.
(참고로 사람은 6,000명)

다르게 생각해봐도 대학원은 랩마다 교수님이 방을 1개씩 쓰고, 학생들은 4~6명이 1개를 쓴다.
전산과는 실험실이 거의 필요없지만 다른 과들은 각 실습과목마다 다른 실습실을 사용한다.
(아마 전산과, 수학과, 경영학과가 실습실은 제일 적을 것 같다.)
전자공학 1~4까지 모두 다르고 기계, 제어 장비를 위한 실습실, 화학, 물리 실험실도 많다.
광학 장비, 토카막 플라즈마 핵융합로, 풍동, 생물들 넣어두는 닭장, 냉장고, 화약 약품 등.

그리고 다른 학교와 달리 사람들이 거주하기 때문에 전원 기숙사를 위한 모든 것이 필요하다.
(그런 것치고는 좀 빈약한 듯.)
6,000명의 주민이 사는 곳이니까.
먹고 자고 놀고 빨래도 하고 공부도 하고 심지어 애도 키운다.
(기혼자들도 있고 서측에 가면 탁아소도 있다.)
우체국, 은행 2개, 컴퓨터 가게, 매점 여러개, 식당 6개...

KAIST 부락(village)이라고 해야겠군. 정말로 특이한 룰이 지배하는 마을이다.
거주민이 되기 위해서 자격시험도 통과해야 하고 모든 장소가 카드키로 관리되고
hierarchy한 조직 구조도 거의 완벽하고 모든 사람이 비슷한 크기의 공간에서 산다.
(기숙사 방의 크기는 어디나 거의 비슷하다.)

2006년 1월 10일 화요일

겨울방학 2주째

벌써 많이 느슨해 진 것 같다. 영화만 매일 3개씩 보다니.

첫 주처럼 영어 듣기도 열심히 안하고 잠만 퍼자고 있다.
CG도 설레이는 마음으로 openGL과 real-time rendering 책을 열심히 봤었는 데, 뭔가 첫 주에 다짐했던 것이나 감(feel, mood)을 잃어버린 것 같다.
좀 다시 찾아서 열심히 해야 할 텐데.
일단 오늘 저녁은 TEPS 듣기를 좀 해야지.

컴퓨터 조립

아마도 내 2학년을 말아먹은 것은 컴퓨터 조립과 linux 설치가 아닐까 싶다.
그 딴짓 할 시간에 전공책을 봤으면 학점이 훨씬 좋았을 텐데.

맨날 ara의 중고부품을 모두 모아서 4만원 쯤에 사고
Linux 깔아서 desktop으로 쓴다는 헛된 꿈을 꾸었다.

5,000원짜리 중고모니터는 시력이 나빠지는 데, 아주 큰 도움이 된다.
케이스도 없어서 젓가락으로 메인보드의 power부분을 접지해서 켠다.
파워 소음도 대부분 엄청 크고 하드도 2~3개월 안에 대부분 고장난다.
정말 말도 안되는 장난감으로 노가다만 진창한 것 같다.

linux도 골 아픈데, freebsd도 깔았다가 이랬다 저랬다하면
ara에서 물건 찾는 데 하루, 구입에 하루, OS설치에 하루, 커널 컴파일 이틀, 환경설정 하루, 뭐 일주일 금방이다.
그런 식으로 3~5대 쯤 해먹은 것 같다.
별바라기 동방, KAPP 동방의 서버들도 그랬고 개인적으로도 3대 쯤 그랬다.

시간 낭비 많이 했다. 그런거 열심히 해봤자, IT기업의 최하층 직원 밖에 될 수가 없다. 기능인 되는 길.

-------------------------------------------------
몇 달 전부터 KAPP, 별바라기 서버 둘 다 고장났다.
흠. 이번 겨울에도 그 미친짓을 또 해야 하나?
일단 ara에서 중고로 버리는 부품들을 사모으고 있다.
(절대 일요일 아닌 다른 날에는 손대지 않으리라.)

2006년 1월 9일 월요일

[영화]무극(The promise)

장동건, 장백지, 사나다 히로유키.
색감이 참 화려해서 멋진 것 같다.
'풍운', '촉산전'처럼 현대적인 느낌을 주는 무협이다.
특히나 CG의 색감이 매우 멋진 것 같다.
여신의 옷감이라든지, 장동건이 달리는 장면, 소떼들, 대장군의 무술 모두 CG로 처리했다. CG는 reality도 중요하지만 이렇게 광나게 만들면 더 환상적인 것 같다. (물론 이렇게 하는 게, 더 real하게 만드는 것보다는 쉽다.)
수면 위로 비치는 주인공들의 모습이라든지, 물 위에 살짝 드러낸 나무, 벚꽃이 핀 나무, 하늘에 떠있는 구름과 해, 달. 꽃밭.

춘추전국시대 전투를 보면 실제로 소떼를 보내서 적을 격퇴하는 장면이 나오는 데, 여기서는 거기서 한 발 더 나아가서 말발굽형으로 만들어진 계곡으로 적의 소떼를 유인해서 결국은 소떼를 보낸 사람들이 다시 다치게 되는 멋진 전술을 쓴다.

대장군 쪽 사람들은 모두 붉은 색, 대장군과 싸우는 적은 검은 색, 북공작 쪽 사람들은 모두 흰색을 사용한다.
중국 사람들은 예전부터 색으로 적과 아군을 구별하곤 했는 데, 참 효과적인 방법인 것 같다.

운명적인 사랑이라는 것도 참 중세적이면서 멋지다. 여신은 그 모든 것을 예견하고 있고 그것을 바꿀 수 없다. 그리스적이기도 하다. 모든 것을 다 얻을 수 있지만 진정한 사랑은 얻을 수 없는 여인이라니.
요즘 무협들은 매우 감성적이라서 여성관객이 봐도 좋아할 꺼라는 느낌이 든다. 예전 무협처럼 여주인공을 돌보듯 하는 게 아니라. 멜로적인 요소를 가미해서 감각적이기도 하다.
장백지가 깃털 옷을 입고 하늘을 나는 장면이나 옷을 한 겹 벗자 모든 병사들이 놀라는 장면, 역시 경국지색인가보다.
여인들은 모두 눈썹을 밀어버린 것도 현대적으로 보면 좀 징그럽다고 할 수 있지만 고대 미인의 조건 중에 이마가 넓은 것도 있기 때문에 이마를 넓게 보이려고 눈썹을 미는 경우가 많았다고 한다.

노예는 네 발로 기어야하고 죽은 병사의 손에 쥐어진 빵을 먹어야 하는 모습에서 전쟁과 노예 제도의 처절함이 나타난다.
"노예는 자기 목숨조차 가질 수가 없다."
"당신에게 복종하면 고기를 얻어 먹을 수 있습니다."

설국인이라 최고의 자객과 장동건이 서로를 죽이지 못하는 것도 뭔가 감추어진 그들만의 비밀이 있나보다.

선화갑옷을 대장군 대신 입음으로써 노예의 삶에서 무극의 삶을 깨닿는 장동건, 갑옷을 다시 벗어주고 뭔가 아쉬움을 가진다.
(선화갑옷은 천하의 기보인 만큼 역시 운명을 좌우하는 면이 많다.)
주인을 대신해서 왕을 구하려 갔다가 대장군의 잘못된 정보(왕은 절대 무기를 들지 않는 다.) 때문에 왕을 죽이게 되는 것은 오디이푸스 컴플렉스와 비슷하다.
실제로 중국 역사를 보면 왕은 절대 무기를 들 수 없게 되어있는 것도 사실이다. 하지만 위급하고 궁색한 상황이었고 왕이 화가나 있었기 때문에 무기를 들었다.

대장군은 어디서 많이 본 배우라고 생각했는 데, 일본인이군. 일본인이면서도 중국영화에 캐스팅되다니. 장동건, 장백지와 함께 매우 잘한 캐스팅인 것 같다. 중국인이라고 해도 믿을 만한 두 사람이다.

흑포를 벗으면 죽는 다는 설정도 중국 무협지에 많이 나온다. 특수한 마술을 걸어서 얼굴을 보이거나 몸을 보이면 죽는 자객. 흑포는 열혈강호의 천마신군 패거리도 입는 다.

영어책

내 생각에 영어공부를 망치는 주범은 바로 영어책인 것 같다.
영어책이 따로 있다는 게 웃기다. 길어봤자 한 문단짜리 글을 100~1,000개쯤 모아놓은 잡지책인데, 너무 많은 분량의 단어와 어휘를 소개하고 있어서 개념이 잡히지 않는 다. 봐도봐도 모르는 단어만 나온다.
중, 고등학교 영어 교과서는 그나마 초등학교 국어 교과서와 비슷해서 그나마 다행인데, TOEFL, TEPS, TOEIC 문제집은 정말로 엉망이다.
과학 용어는 영어 과학교과서로 공부하고 경제 용어는 영어 경제교과서로 공부하는 편이 훨씬 낫다. 비전문가들(영어 전공자들)의 말도 안되는 번역과 해설을 아무리 봐도 그 글들을 이해할 수가 없다.
이런 책들은 정말 시험 2개월 전에 시험 대비로 잠깐 보는 것이고
평소에 공부는 회화는 드라마로 하고 독해는 전공서적과 교양서적, 소설책으로 해야 한다.
그리고 1980년대 이전 글들은 열심히 읽어봤자 실생활에 도움이 안된다.
(라틴어나 불어 단어들은 도대체 왜 박아둔걸까? 세익스피어의 글도 공부하면 좋지만 솔직히 미국인, 영국인도 이런 건 머리 아프다.)
영문학이나 역사학을 전공할 것이 아닌 대부분의 사람들은 경제, 경영이나 각 분야의 최신 지식이 필요해서 영어를 공부하는 것이다.
심지어 한국어로 된 글도 20년 이상된 글은 이해가 잘 안된다. 지금 당장 도서관에 가서 1980년에 나온 신문을 펼쳐봐라. 아마도 한글인데도 무슨 말인지 쉽게 이해할 수 없고 현재를 살아가는 데 도움이 되지도 않는 다.

내가 고 2때 다녔던 TOEFL 학원의 강사도 이런 말을 했다. 영문학 전공자보다 미국에서 경제학이나 경영학을 전공하고 한국에 돌아온 사람들이 영어를 더 쉽게 잘 가르친다고.

역시 영어 교육을 가장 확실하게 하는 방법은 영어도 한국어와 함께 국어로 채택하든지, 적어도 수학, 과학, 경제, 서양사 등의 과목에 대해서는 영어 수업을 하는 것이다. 국어, 국사, 도덕, 동양사, 사회 등은 한글을 포기할 수 없다고 치더라도 수학, 과학은 말도 안되는 일본식 용어를 쓰는 것보다는 차라리 영어가 낫다. 사실 내 주장은 국한혼용론의 영어버젼이라고도 할 수 있다.

2006년 1월 8일 일요일

전공 공부에 대한 몇 가지 조언들

전공 분야에 5년간 공부하면서 깨달은 점들을 몇가지 적어보면 다음과 같다.

1. 책값과 밥값은 절대 아끼지 마라.
인터넷에 좋은 자료가 있다는 말은 다 거짓말이다.
좋은 자료는 역시 책이다. 아무리 책을 스캔해놨든, MSDN으로 적어놨든, google님이 reference를 자동으로 찾아주건 공부는 책으로 해야 한다.
일단 한 번 읽어본 내용을 다시 찾을 때는 google이나 MSDN를 써라.

삽질해서 배운 지식이 오래 남는 다는 것은 절반은 거짓말이다.
삽질을 안하고 한 번에 할 수 있는 걸 바쁜데 삽질할 시간이 없다.
삽질을 아무리 많이 했어도 잊어버리면 다음번에 그만큼 또 삽질한다.
인생은 짧고 할 일은 많다. 삽질은 이미 선배들이 다 해놨으니 책 사서 봐라.
그런 삽질들은 대부분 1년 지나면 필요없는 잡기술들이다.
책값이 1~5만원이면 비싸보이지만 프로그래머는 초봉도 일당 10만원이 넘고 학원 수강료도 한달이면 수십만원이다. 한 시간 아끼면 만원을 버는 것이다. 5시간 이상 아낄 수 있다면 무조건 책을 하나 사라.

밥값은 건강을 위해 아끼지 말라는 의미도 있고 모르면 다른 사람에게 물어보고 밥을 사주라는 의미도 있다. 그 사람과 친해질 수도 있고 책보다 훨씬 싸다.

2. 뭐든 적어라.
자신만의 순서와 방법을 만들어서 다시 적어야 한다.
실용적인 지식은 책 한 권에 다 들어있지 않다.
책은 항상 기술별로 모여있다. 증상별, 주제별, 절차별로 재분류하고 소화시키는 작업을 다시 해야 한다.

책에 있는 데, 다시 적을 필요가 없다는 것은 말이 안된다.
적다보면 무엇이 중요한지, 어떤 것은 별로 안 쓰는 것인지 알게 된다.
자연스럽게 중요한 기능들만 적게 되고 그것만 보면 대부분의 일을 할 수 있다.
1000페이지짜리 책을 다시 볼 시간이 없다. 자신이 적은 20줄짜리 메모가 훨씬 가치있다.

3. 책의 목차와 검색 엔진에 의존하지 말아라.
검색 엔진의 결과는 언제나 춤추듯 변하고 인터넷 링크는 금방 깨진다.
한 번 찾은 결과는 다시는 찾기 힘들다. 항상 copy 떠서 적어둬라.
(Copy right문제가 걸린다면 숨겨두고 혼자봐라. 혼자보는 건 안 걸린다.)

4. 뭐든 적어라. 2
어떤 일이든 다시 재현할 수 있게 해라.
그것이 버그이던 환경설정이든, 에러 메시지이건 상관없다. 다 적어라.
기능이 많아지면서 메뉴가 n단계 깊숙한 곳에 있다면 그 곳에 접근하는 방법도 적어라.
Visual Studio나 MSN, 윈도우 제어판을 써도 어떤 기능을 켜거나 끄려면 최소한 3단계에서 10단계까지 버튼을 눌러 깊숙히 들어가야 한다.
자신만의 노트 을 만들어라. 뉴스그룹에 질문했을 때 바로 대답을 들을 수 있을 만큼 적어라.
성공만 기록하지 말고 실패도 다 기록해라. 어떻게 하면 실패하는 지, 왜 실패했는 지 알 수 있게 해라.
성공 사례는 교과서에 나오지만 실패 사례는 교과서에 좀처럼 나오지 않는 다.

5. 욕심 부리지 마라.
잡지에 나오고 신문에 나오는 수많은 기술들은 그 기사를 적은 사람조차 다 이해하지 못하게 많다. 다 배우는 것은 어차피 불가능하다. 거기에 나오는 것 중에 하나를 배우는 데도 최소 일주일에서 1년 이상이 걸린다. 기초만 충실하면 다 따라갈 수 있다. 지금 가장 필요하고 10년 전에도 중요했고 10년 후에도 쓰일 것 같은 것부터 공부해라.

6. 권위있는 책을 사라.
솔직히 잡지 책 내용은 다 조각난 잡동사니 지식들이라 영업사원들에게나 적합한 것이다. 번역해서 나온 책들은 대부분 조잡하다.
"xx 1주일만에 끝내기.", "xx 1개월만에 끝내기" 같은 책은 그 분야를 가르쳐줄 사람이 정말로 아무도 없을 때 흥미유발로 보는 책으로 생각하고 한 번 보고 버려라. 그것은 단지 소개를 위한 용도로만 쓰고 진짜 공부는 권위자가 쓴 책으로 해라.

7. 몰라도 계속 해라.
책을 읽을 때 모르는 부분은 skip하고 계속 읽다보면 언젠가는 알게 되던지, 별로 필요없는 부분이었다는 것을 알게 될 것이다. 일단 진도를 빨리 나가라.
정말로 발목을 잡는 부분이라고 생각되면 더 쉬운 책을 읽던지, 자신이 무엇이 이해가 안되는 지 적어놔라.

8. 질문을 잘해라.
처음 질문은 특정 증상이나 좁은 범위의 것으로 하면 오히려 어려울 수 있다.
자신이 어떤 것을 하고 싶은 지, 어떤 분야를 공부하고 싶은 지, 그 분야에서 가장 권위있는 사람은 누구인지, 가장 좋은 책은 무엇인지 부터 물어라.

9. 전공 수업을 들어라.
책은 내용이 매우 명확하지만 읽는 데 오래 걸린다. 수업을 들어주면 금방 이해할 수 있는 내용도 있다.

[영화]소년, 천국에 가다.

어른들을 위한 동화같은 이야기다.
박해일, 염정아, 오광록 시인이 나온다.
박해일이야 원래 피부도 좋고 해서 이런 영화에 딱이고 염정아도 '여선생 VS 여제자'에서 부터 이런 장르로 많이 나오는 것 같다. 그러면서도 미스코리아 출신이기 때문에 '범죄의 재구성'처럼 섹시한 이미지도 가지고 있다.
오광록 시인은 역시 정신병자, 민주투사, 널널한 저승사자를 맡고 있다.
하루에 한 살을 먹는 다는 게 참 피터팬 같기도 하다.
(네버랜드에서는 나이를 안 먹지만 바깥 세상에서는 거기에 비해 금방 늙는 다.)

스무살의 나이차를 뛰어넘어서 사랑에 빠지는 것도 '여선생 VS 여제자'와 비슷한 컨셉이다.
부산 사투리를 채용한 점도 멋진 것 같다. 부산 사투리는 다 반말투기 때문에 엄마든 아줌마든 자연스럽게 반말을 할 수 있고 따라서 20살이 넘는 나이 차이를 극복한 사랑과 어른스러운 아이의 대사를 짓는 데 매우 좋은 언어적 도구를 제공한다.

하루 아침에 어른이 된 아이. 로봇을 좋아하고 가면을 쓰면 못 알아보는 줄 안다. 담배도 배우고 키스도 처음해보고 제주도 여행도 가서 자랑스럽게 사진도 찍는 다.

어른이 되어버렸지만 자신의 첫사랑을 금방 알아보는 소녀. 매일 두부를 가져오면서 소년을 보러온다. 소년을 위해 화장도 하고 여러가지 도움을 준다.

선수(Player)

분위기가 편한 IT기업을 다니면 말단 프로그래머들은 '선수'라고 불리기도 한다.
마치 스포츠 경기처럼 manager들은 코치, 감독이 되고
경기장에서 뛰고 싸우고 땀 흘리는 건 팀원들이니까, 그런 metaphor를 사용하는 것 같다.

팀장님이 팀원들을 보고 이렇게 말하곤 한다.
"음, 오늘은 우리 선수들 왜 이렇게 기운이 없어. 힘내야지."
"주현성 선수, 오늘 컨디션은 좋은 거야?"
"김선수가 큰 몫해줬어. 앞으로도 잘 뛰어야지."

팀장님들끼리 모여서도 이렇게 이야기 한다.
"당신네 선수들은 다들 술을 잘하는 것 같아. 우리 선수들은 기초체력이 약해서 회식에서 초반에 죽는 단 말이지."

상당히 재미있고 적절한 비유인 것 같다.
운동선수들처럼 직장생활에서도 실무에서 전공과 관련된 작업을 하는 기간은 사실 길지 않다. 30대가 넘으면 다들 코치, 감독이 되서 더 긴 기간동안 선수들을 관리하며 살아야 한다.
축구를 꽤 잘해야만 축구 코치, 감독도 될 수 있지만 현역에서 반드시 최고가 아니었더라도 최고의 코치, 감독이 될 수 있다. 반대로 최고의 스타였다고 해도 남을 관리하지 못하면 그냥 그 바닥을 떠나서 TV나 봐야 한다.
Engineer도 비슷하고 세상 모든 직업이 그렇다. 외과의사도 젊었을 때는 수술을 하지만 40대만 되도 손이 떨려서 그 때부터는 젊은 이들을 가르치고 키우고 명성을 팔아 먹고 살고 주로 진단과 분석이나 해야 한다. 교수도 젊었을 때는 논문을 쓰고 늙어서는 교과서나 회고록 같은 것들을 쓰거나 부지런히 외부에 얼굴을 비춰서 funding을 많이 해와야 한다.

TEPS Reading

다른 분야보다 reading이 쉬운 것 같아서 reading만 풀고 있다. 심리학적으로 봤을 때, 자꾸 좌절을 겪으면 자기 효능감이 떨어져서 공부하기 싫어지기 때문에 자신에게 가장 쉽게 느껴지는 것부터 푸는 게 도움이 된다고들 한다.

온갖 잡동사니 분야가 막라되어 있으므로 잡지책이나 신문보는 기분으로 읽어주고 있다.

한가지 흥미로운 사실은 문제집에 난이도에 따라 1~3까지 표시가 되어있는 데, 내가 생각하는 난이도와 별 상관이 없다는 것이다. 심지어는 난이도 3인게 쉽고 난이도 1인게 더 어려운 경우가 더 많은 것 같기도 하다.

내 자신의 배경지식의 영향을 엄청나게 받기도 한다. 내가 잘 아는 지식이 나오면 엄청나게 쉽고 내가 잘 모르는 용어가 3개 이상 나오면 상당히 애를 먹는 다. 특히나 문제의 핵심이 되는 딱 그 한단어만 모를 때가 죽음이다.

그 교제의 저자(이찬승 씨, 매우 유명한 국내 영어 교육 권위자인듯)와 나의 학습, 인지 구조, 배경지식은 확실히 많이 다른 것 같다.
그리고 이런식이라면 TEPS의 난이도 control이 내게는 잘 안 통할 가능성이 높다. 즉, 그들이 원하는 대로 내 능력을 정확하게 측정하기 힘들게 되는 것이다. 내게는 조금 슬픈 이야기가 될수도 있다. Variation이나 biase가 클 것이기 때문이다. 하지만 내게 이득이 될 수 있는 면도 있다. Variation이 크다면 여러번 시험을 봤을 때 내 실력보다 잘 나올 가능성도 충분히 있으므로 시험을 자주보고 성적이 가장 높은 것을 내면된다.

[영화]Eternal sunshine of the spotless mind - 스포일러

Jim Carrey와 Kate Winslet이 주연한 영화.
보통 기억을 지우거나 되살리는 영화를 보면 대부분 사랑 때문에 그런 경우가 많은 것 같다.
기억이 조작, 재생 가능하다는 측면에서는 matrix나 공각기동대, 바닐라 스카이, minority report와도 약간 비슷하다.

과묵하고 교육을 많이 받아서 많은 어휘를 구사하는 Jim Carrey와 alchoholic에 싸구려 같고 염색도 튀게 하고 impulsive한 여자 Kate Winslet.
전혀 상반된 성격을 가진 두 사람이 사랑을 하게 된다.
결국 성격 차이를 극복하지 못하고 서로의 기억을 지우고 싶어하는 데.
Lacuna Inc라는 기억을 지워주는 병원에 등록하게 되고 서로의 기억을 지우기 위한 노력이 시작된다.

기억과 관련된 모든 사물을 가져서 map을 만들고 찾아서 컴퓨터가 자동으로 associative한 모든 기억을 지워준다는 내용.
그리고 그 과정을 자연스럽게(smooth and natural)하게 진행하기 위해서 수면제를 먹고 일찍 잠이 들면 밤새 technicion들이 문제를 해결하고 아무렇지도 않은 듯 아침에 일어나서 다시 자신의 삶을 살아갈 수 있다.

하지만 기억과 사랑의 문제가 그렇게 쉽게 해결되지는 않는 다. 곰곰히 생각해보니 그녀를 정말 사랑했다는 것을 깨닫고 그녀를 잊지 않기 위해 저항하기 시작한다. 전혀 상관이 없는 기억에 연관시켜 그녀를 숨기고 끊임없이 기억의 저편으로 도망친다. 하지만 끈질기게 쫓아오는 기억 지우개. 주인공의 노력은 참 끈질기다. 가장 부끄러운 기억에 숨기기도 하고 어릴적 기억에 숨기면서 감정이나 몸이 이상해지기도 한다.

기억이 지워지면서 무너지는 벽들과 집들, 주변의 사물들, 지나가는 행인들, 이리저리 뒤섞여버린 기억들, 자동차, 해변, 눈, 비, 집, 모든 것들이 알 수 없게 범벅이 되어버린다.

짐 캐리다운 코메디 요소도 있지만 핵심은 멜로영화이다. 또한 기억을 재조합하는 과정에서는 SF적인 요소도 많이 보여주고 있다. 시간 순을 바꿔서 편집한 점은 메멘토와도 약간 비슷하다. 그리고 기억에 얽힌 여러가지 일들과 반전들. 스릴러가 아니기 때문에 반전이 극적이지는 않고 잔잔하다.

병원 관계자들도 사실은 모두 그 기억들과 관련이 있다. 환자의 기억을 지우다가 사랑에 빠져서 기억을 이용해 여자를 꼬시는 technicion. 아무것도 기억 못할 꺼라는 사실을 이용해서 밤새 환자의 집에서 술을 먹고 춤을 추고 난장판을 만들기도 한다. 기억 제거술을 발명한 의사와 그 병원의 간호사도 사실은 사랑에 빠졌던 적이 있고 기억을 지우기도 했었다.

서로를 기억에서 지우려고 했기 때문에 피차일반이 되어버린 두 주인공. 결국은 사랑을 계속하게 되는 것 같다.

Plea Bargaining - 플리바게닝, 유죄협상제도

http://news.naver.com/news/read.php?mode=LSS2D&office_id=021&article_id=0000135006§ion_id=102§ion_id2=257&menu_id=102

우리나라도 곧 도입하는 모양이다.
경제학 책에서 game theory를 이야기하면서 나오는 이야기인데 우리도 하게 되는 군.
미국에서도 범죄, 법정 영화를 보면 매우 자주 등장한다.
전쟁영화나 대터러영화나 드라마에서도 많이 나온다.
대표적으로 24 hours에서는 거의 매시간 대통령 사면장을 써준다.
사실 우리 정서, 문화와는 좀 다른 면도 있다.
서양은 deal에 익숙하고 특히 미국은 deal이나 trade, bargain을 가장 좋아하는 나라인데, 우리나라는 동양이라서 정에 약하고 의리를 지키는 것이 무엇보다 중요한 나라이다.
과연 얼마나 효과적일지 재미있게 지켜볼만 할 것 같다.

국내광고 2

특정 기업별로 좀 더 이야기 해보면

. 외환은행
애국 마케팅을 좀 하는 것 같다.
요즘 월드컵 시즌이라 축구스타도 등장시키고 마치 대한민국을 대표하는 대사관인 것처럼 홍보한다.
외국에 지사를 설립하는 것을 애국적인 일로 홍보하고 있다.

. 옥션
코믹 광고로 승부하고 있다. 다양한 광고를 하는 데, 다 웃기다.
짱구 성우, 뱀가죽 허리띠, 뽕브라, 판소리,

. 싸이언
김태희를 밀고 있다. 매번 멋진 남자들이 나와서 김태희에게 넘어간다.
소비자는 김태희에게만 넘어가고 싸이언에 안 넘어가는 게 문제.
순수하고 꾸밈없는 김태희의 모습을 어필하고 있다.
예쁘지만 완전히 공주 같지는 않고 원빈, 헤니 같은 남자들에게 사랑을 고백하기도 하고 초코렛 휴대폰과 사귀기도 한다.
예쁘다고 공주처럼 포장하면 소비자가 다가갈 수 없기 때문에 그런 평범한 모습들을 보여주는 것 같다.

. 던킨 도너츠
complement를 이용한 수준 높은 광고를 보여주고 있다.
항상 "Coffee and donuts"를 광고한다.
Coffee는 중독성이 강하고 매우 안정적으로 많이 잘 팔리는 상품이기 때문에
그것과 donut이 complement라고 사람들에게 mapping시킴으로 해서 leverage를 얻을 수 있다.
Donut은 coffee에 비하면 매우 의존성도 적고 한국사람은 다른 빵에 비해 donut가 익숙하지 않다.

. 국제전화
역시 애국마케팅을 많이 한다. 대게 외국과 관련된 상품들은 애국 마케팅을 많이 한다. 외화낭비의 주점이라는 지적을 비하기 위함인 것 같다. 국민정서를 역시 잘 아는 것 같다. 그래서 축구 스타나 기러기 아빠, 모성애, 이산가족 등이 많이 등장해서 그것을 덮는 다.
비싸다는 인식도 있기 때문에 가격을 자세히 설명하고 저렴하다는 이야기를 강조한다. 가격경쟁도 매우 심해서 타사와 자주 비교한다. Quality의 차이가 0에 가까우므로 price war가 잘 벌어진다.

. 네이트 드라이브
김수로, 현영이 전속 모델이 됐다보다. 친근한 이미지를 가진 배우라 잘 고른 것 같다. 네비게이션 시스템은 무엇보다도 친숙한 유저인터페이스가 중요하기 때문이겠지.
휴대폰을 여자 차로 던지는 건 차태현이 부잣집 아들로 나오는 영화에서 본 것 같다.

. 풀무원
먹는 광고 중에서도 재료거리가 되는 raw food들은 청결함이 생명인 것 같다.
심지어는 조미료 광고도 깔끔함과 엄마 손맛을 강조한다.

. 빈폴
기네스 펠트로를 모델로 쓰고 있다. 국내에 인지도가 높은 여배우가 많지 않은 데, 그 중 한 명.
예전에 맥 라이언도 샴푸 광고 했었는 데, 인기있었지만 나중에 인터뷰에서 망언을 해서 인지도가 매우 떨어졌다.
Pretty Woman의 줄리아 로버츠나 니콜 키드먼, 산드라 블록도 인지도 높아서 멋질 텐데, 역시 다들 너무 비싼 것이 문제.

. KCC
예전부터 외장재 중에 거의 국내 유일하게 광고를 했던 것 같다.
현대건설과 계열사라서 complement니까 set로 아주 잘 나가고 있겠지.
요즘은 트로이목마, 거북선을 테마로 전쟁에서 화공에도 타지 않는 걸로 나온다.
그리고 그 안에서 편하게 농구를 즐기는 스타들.

. 크라운 베이커리
역시 한국사람에게 케잌은 생일이나 기념일에 먹는 거니까 그런 것들을 많이 소재로 다룬다.
생일, 기념일, 크리스마스, 연인, 가족 등..
발렌타인 데이 같은 기념일이 많아져서 제과 업계와 함께 이득을 많이 보는 게 제빵 업종이다.
먹는 것을 special event로 승화시킨 점이 참 멋지다.
패스트푸드가 먹는 것을 enterment로 승화시킨 것과 견줄만 하다.

. 비스켓
롯데샌드나 여러 쿠키들이 요즘 정말 다양한 맛으로 승부하는 것 같다.
예전에는 땅콩버터맛, 딸기맛, 초코맛, 바닐라맛, 파인맛 정도 였는 데,
요즘은 색깔도 정말 멋지고 온갖 맛이 다 나오고 있다.
오렌지맛, 오미자맛, 산딸기맛, 망고맛, 포도맛, 두가지 맛 등..
나는 개인적으로 오렌지 맛이 좋다.
우유도 비스켓이랑 비슷한 과정을 밟는 것 같다.
처음에는 생우유만 팔았는 데, 요즘은 파생상품이 많다.
초코우유, 딸기우유, 바나나우유, DHA 우유, 소화 잘되는 우유, 고급우유, 칼슘우유, 고소한 우유, 담백한 우유, 저지방 우유, 셀레늄 첨가 우유 등.

2006년 1월 7일 토요일

국내 광고

우리 나라 광고 시장을 잡고 있는 것들을 보자.
(대략 50위권 내의 광고를 보면)

. 통신사, 휴대폰
가장 광고 많이 하는 것들이다.
SKT는 이미 1위라서 그런지 공격적이지 않다.
주로 기업 이미지를 좋게하는 공익광고성이다.
KT도 공기업이었으니 공익성을 좀 따라간다.
휴대폰은 삼성과 싸이언인데, 싸이언이 2위라서 역시 더 공격적이다.

. 전자제품들
역시나 다른 전자제품도 마찬가지.
mp3p, 소니 PSP, 디카.

. 통신 서비스
nate drive, 스트리밍 서비스 광고, 국제전화
울 나라는 하드웨어 강국이라 그런지 소프트웨어 선전은 하드웨어보다 역시 훨씬 약하다.

. 술, 음식
술 광고와 먹는 광고를 빼 놓을 수 없다.

. 옥션
옥션이 상당히 많이 광고하고 있다.
요즘 Gmarket이랑 경쟁되나보다.

. 금융권, 먹는 광고, 옷 광고
금융권은 보수적이라 별로 재미가 없다.
옷 광고는 고급스럽지만 역시 재미없게 만든다.
먹는 광고는 재미있지만 대부분 마진이 적어서 싼 모델을 많이 쓴다.

. 화장품 광고
최고의 여배우들이 나오지만 50위 안에는 들지 못하는 것 같다.
아무래도 대중성보다는 고급스러운 이미지 때문에 사람들이 쉽게 다가설 수는 없다. 거의 여신이나 여왕, 귀족급 이미지니까.

해외 광고 2

. 니베아
크림 광고인데, 요즘 핸드 크림은 예전처럼 단지 보습만 선전하는 게 아니라
나이든 여성을 타겟으로 해서 손이 고와야 젊어보인다고 광고를 한다.
사실 성형 수술로 얼굴은 잘 커버되지만 손은 혈관 때문에 잘 안됐었다.
그래서 요즘은 손혈관 성형 수술도 인기란다.

. 수족관
남자가 "하늘을 나는 펭귄을 보고 싶어."라는 말도 안되는 소원을 여자친구에게 빌자
코엑스 아쿠아리움처럼 유리터널이 있는 수족관으로 안내한다.

. 감기약
요즘은 주간용약이랑 야간용을 따로 판다.
주간용 2개, 야간용 1개해서 3개를 set로 만든다.
수면제 성분 함량을 조절한 것 같다.
약사나 제약사 직원들은 생각해 낼 수 없는 마케팅적 발상이라고 할만하다.
보수적인 제약분야마저도 마케팅과 소비자의 성향 파악을 통해 이런 것들을 개선할 수 있다.

. DHL
모든 골치아픈 물류 문제를 해결해 준다는 식.

. KFC
언제나 그렇듯 꼬마들에게 장난감껴주고 그림처럼 예쁘게 만들어서 판다.

. 마스카라
풍성한 볼륨. 그리고 마스카라를 한 여인을 보고 반하는 남성과 마지막 키스신. 전형적이다.

. 버튼 초코렛광고
버튼 초코렛들이 만화 캐릭터처럼 튀어 나온다.
만화경 효과를 내서 수없이 많이 나와서 먹어달라고 아우성이다.
잡아 먹히는 게 뭐가 그리 좋은 걸까? 패스트푸드든 과자든 그런게 참 많다. 생각해보면 잔인한 음식 광고의 세계

. 명품광고
소위 말하는 백화점 1층이나 자기들 매장에서만 파는 명품들도 외국 광고에는 등장한다. 알아두면 무시당하지는 않는 다. 무식하고 돈 많아서 그런거 사입고 가지고 다니는 사람들에게 무시당하면 괜히 기분 나쁜데, 이름만 알아둬도 가볍게 까줄 수 있다.

. 프린터
요즘 프린터들은 디카의 영향을 많이 받는 것 같다.
기록을 남긴다는 면에서 디카와 약간은 substitute가 된다.
반면에 포토 프린터는 디카와 complement가 된다.

. 칫솔
오랄비의 칫솔은 참 고급스럽다. 저가 생필품의 대명사인 칫솔을 예술과 과학의 경지로 끌어 올렸다고 할 수 있다.
전동칫솔, 초음파 칫솔 등 매우 다양하다.
그리고 최고의 멘트
'전문가의 선택', 'Brush like a dentist'

. 스포츠웨어
아디다스, 나이키 각자의 개성이 넘친다.
슈퍼 스포츠 스타들이 나와서 운동해준다.
천사와 악마가 그들의 운명을 가른다.
천사가 도우면 득점, 악마가 도우면 패배.
경쟁적인 면이 강해서 상대편 선수는 떨어지고 날아가고 불타고 밀려 넘어진다.

. 한국 물건 광고
우리나라 물건을 외국에서 광고하는 것도 상당히 색다르다.
전혀 다른 물건 같은 느낌을 준다.

. 다이어트 식품광고
뚱뚱해서 옷이 안 맞는 사람이 거울을 보고 한숨쉬다가 음식을 바꾼 후
효과를 봐서 웃으면서 멋지고 날씬한 옷을 입으며 외출을 한다.

. 햄 광고
독일은 역시 햄이 발달한 나라라서 인지, 크림 치즈처럼 발라먹는 크림 햄이 있는 모양이다.
슬라이스치즈처럼 슬라이싱된 햄도 상당히 출격적이었는 데, 역시 대단하다.

. 일본 휴대폰 광고
우리나라 e-commerse(K-merse)가 망한걸 모르나보다 휴대폰 결제 시스템 광고를 하고 있다.
우리보다 신용카드나 전자상거래에서 전자결제를 더 안하는 일본에서 과연 성공할 수 있을 까? 비관적일 것 같다.

. 콘돔, 성인채널광고
유럽은 우리나라보다 개방적이라서 이런 광고도 있는 것 같다.
하지만 선정적이거나 싼티나지 않다. 상당히 많이 생각해고 고급스럽게 만든다.