2006년 5월 31일 수요일

곤충채집

초등학생들은 방학이 되면 곤충채집 숙제가 나오곤 한다.
요즘도 나오는 지 모르겠다. 과연 어디서 그런 것들을 잡아올 수 있을 까?
나만해도 도시에서 태어나서 그런 거 수집하려고 해도
2개월간 풍뎅이 한 마리 이상은 잡지 못했다.

사실 내 사촌동생이 곤충채집을 많이 하고 있다.
취미라기보다는 고대에 있는 랩에서 알바로 하고 있으니,
professional하다고 할 수 있다.
(우리 학교에는 없는 순수과학쪽 랩이군. 미생물이나 DNA가 아닌 환경 생물학, 생태학)

학교 다닐 때 배운 지식을 동원해보면 포르말린과 각종 약품을 처리하고
핀셋을 꼽아서 곤충의 모양을 저장해둔다.

수만마리씩 잡고 보관하다보면 양이 장난이 아닐텐데,
차라리 3D visual data를 보관하는 편이 낫지 않을 까?
10년 안에 그렇게 하는 편이 더 나을 것 같아 보인다.

Stanford에서는 The digital Michelangelo Project를 하고 있는 데,
이탈리아에 있는 David상 같은 유명한 동상들을 0.1mm 간격으로
Laser scan하여 저장하는 것이다.
문화적인 가치도 있고 데이터의 일부를 공개해서 일반인도
거기 가지 않고 같은 데이터를 볼 수 있다.
원하는 어떤 각도에서든지 볼 수 있어서 일반적으로 볼 수 없는 뒷모습이나
위에서 내려다본 모습, 엄청나게 확대된 모습 등을
관찰자의 노력이나 status의 손상없이 볼 수 있다.
아무래도 플래시 터뜨리고, 인간이 가서 만지고 침튀기고 하면 좋지 않겠지.

곤충도 그렇게 데이터만 저장하는 편이 나을 것 같다.
어차피 곤충도 모양을 보려는 거지, 그 물질이 무엇으로 구성되어 있는 지는
부폐되거나 혹은 미이라처리하면서 모두 사라져 버릴테니까 말이다.

. 한계점
아직은 물론 곤충 스캔이 더 어렵다.
일단 팔다리도 가늘고 texture를 보존하기 쉽지 않다.
최소한 현미경 수준인 0.01mm까지는 스캔해야 되지 않을 까나?
그리고 날개 같은 것을 스캔하면 scattering이 심해서 원래 색을 보존하기 어렵다.

. 장점
공간을 크게 줄일 수 있다.
곤충이 부폐되는 것을 걱정하지 않아도 된다.
데이터를 효과적으로 공유할 수 있다.
데이터 관리도 쉽다. 각 3D data에 tag를 달면 된다.
날개 길이, 색의 평균치 등..
실험자의 개입없이 자동으로 측정할 수도 있다.

문제는 역시 예산. 정부에서 그런 곳에 돈을 쓸까나?
문화관광부든, 환경부든. 돈을 줘야 말이지.

Synchronizer

갈수록 삶의 리듬이 불규칙해지는 것 같다.
역시 대학생은 어쩔 수 없나보다.

초~고등학생이나 직장인들은 정해진 출퇴근 시간이 있으니까.
심지어 대학원생도 그렇고 말이다.

나의 삶을 동기적(synchronized)으로 만들어 주는 도구들 중 어떤 것은
남아 있고 어떤 것은 사라져 버렸다.


. Time synchronize 측면
  . 수면/각성
  가장 fundamental한 것인데, 이 학교 학부생 중에 그런 걸 지키는 사람은 없다.

  . 식사시간
  아침 안 먹은 지 벌써 5년 됐다.
  요즘 관건은 과연 점심을 거르지 않고 먹을 수 있느냐이다.
  11시 30분부터 30분 동안 룸메와 친한 친구들에게 돌아가며 전화를 걸어서
  그들 중 1~2명을 깨우고 세수 좀 하라고 말해주고
  점심 메뉴를 고르기 위해 협상을 해야 한다.
  협상 성공 확률은 30%쯤이다.

  . 출퇴근 시간
  기본적으로 이게 없다. 아무때나 나갔다가 들어올 수 있으니까.
  뭔가 하루 일과를 시작하고 끝내는 것이 불분명하다.
  작년처럼 도서관으로 출퇴근 할까보다.

  . 정보화
  컴퓨터 앞에서 무슨 일이든 할 수 있기 때문에 일과 휴식이 구별되지 않는 것 같다. 과연 나는 지금 뭘 하고 있는 거지?
  농부처럼 밭에서는 일을 하고 집에서는 쉴 수 없나?

  . TV
  TV처럼 매일, 매주 같은 시간대에 같은 것을 보여주는 media를 이용하고 있지
  않다.

. Culture synchronize 측면
  . TV
  다시 TV이다. 일반적인 사람들은 TV나 포탈의 main contents에 의해
  자신들의 문화적 동질성을 유지한다.
  학자들처럼 교과서와 논문만 보는 사람들은 문화적으로 소외될 수 밖에 없다.
  그날의 뉴스, 해외토픽, gossip.

  . 미국드라마
  미국 드라마만 너무 많이 봤더니, 과연 내가 한국사람인지 의심스러워 진다.
  점점 한국 사람들과는 동떨어진 사고를 하는 기분이 든다.
  서양의 학문을 하는 데는 도움이 되지만 한국 사회에서 사는 데는 도움이 안된다.
  동양도 아닌 서양도 아닌 30년짜리 압축 성장/변화의 세상에서 줄타기를 하기는 너무 힘들다.
  영어, 경제, 전공 수업시간에는 서양 사람이 되야 하고
  사람들과 대화를 하거나 술을 마실 때는 동양 사람이 되야 한다.

  . 또래 집단
  적절하게 관심 분야를 나눌 또래 집단의 규모가 너무 작다.
  '조기축구회', '동창회', '전우회' 뭐 이런 것처럼 말이다.
  사회의 바다에서 표류하고 있다.

2006년 5월 29일 월요일

중독

드라마 중독보다는 역시 운동중독이 나은 것 같다.
매일 수영장에 가고 싶을 때는 최소한 몸과 마음은 건강해졌는 데,
미국드라마 중독은 영어 실력이 약간 향상 되기는 하지만
몸, 마음이 너무 황폐화되고 있다.

아침에 눈을 떴는 데, 미국 드라마 대사 3종 세트가 번갈아가며 들리는 것도 참 괴롭다.;

잭 형 : "Tell me the name or I'll kill you." "Who is behind you?"
70's show : "What the hell is going on?" "I'll kick your ass."
4400 : "I'm a 4400."
sex and the city : "Gay or straight?"
desperate wives : "I'm so sorry." "She is murdered."

다들 험한 말들 밖에 없네.
한국 드라마가 사랑 이야기 밖에 없다면 미국 드라마는 모르는 사람이랑 자고, 총쏘고 사람 죽는 이야기 밖에 없다.
Friends만큼 건전한 드라마 어디 없나?

쇼핑

내게 쇼핑은 항상 까르푸 장보기 밖에 더 있나.
아무튼 주말에 까르푸에 몽땅 먹을 걸 사왔다.
냉장고가 있었다면 슬라이스 햄과 치즈도 사왔을 텐데.
식빵만 잔뜩 사오고보니 샌드위치 재료로는 질리는 땅콩버터만 발라먹게 됐다.

코미디 '미스터 빈'의 식단과 집보다 더 초라한게 나의 삶이군.
그 코미디를 볼 때는 '나도 저런 단순하고 조촐하게 아기자기하게 살 수 있을 까?'라고 항상 생각했었는 데.

아무튼 택시비도 2,200원씩 밖에 안들고
보름에 한 번쯤은 가줘도 경제적인 부담은 별로 없을 것 같다.
식빵 두 봉지만 사도 본전을 뽑을 수 있다.

1개월간 먹을 군것질거리를 모두 사와버린 기분이다.
특히 외국 식품 코너에서 natjun군은 파스타를 잔뜩사고
나는 초코렛류를 잔뜩 샀다.

까르푸의 놀라움은 언제나 가격이다.
1,400원짜리 포도주 - 더 이상 사지 않기로 했다. 포도주스보다 싼 포도주라니.
1,000원어치 요구르트 - 20개 샀는 데, 24시간만에 다 먹어버렸다.
회 - 같이 간 맴버가 회 맴버가 아니라서 안 사왔다.
식빵 - 룸메군이 좋아하니 큰 걸로 샀다.
쨈 - 1개월 내에 다 못 먹을 것 같아서 생략
초코렛 - 독일산 크리스마스 달력 초코렛도 살까 했는 데, 유통기한을 믿을 수 없어서.. 오뉴월에 크리스마스 버젼이라니.
파스타 - 알파벳 파스타, 언젠가 먹고 말꺼야. 신의 계시를 받아야할 그 날.
1,000원 양말 - 예쁜 거는 왜 다 '숙녀용'이라고 적혀있지. 젠장.
쉐이빙 크림, 치약, 면도기 - 사고 싶기는 한데, 지금 방에도 새 것들이 굴러다니고 있다. 까르푸에서 이런 거 사면 꼭 다 떨어지기도 전에 새 것을 사고 싶은 게 문제.


[영화]여교수의 은밀한 매력

연기 잘하는 문소리, 지진희가 주연이라 봤다.
전혀 무슨 내용인지 모르겠다.
문소리의 영화는 나와 맞지 않는 것 같다.
분명 연기는 엄청 잘하는 데, 오아시스 때부터 맘에 안 들었다.

지진희의 양아치겸, 교수 캐릭터가 코믹하게 그려졌으면 좋았을 텐데.
그리고 캐릭터들이 다들 너무 답답하다.
교수님들이라는 데, 너무 멍청하고 말도 잘 못한다. 권위적이기만 하다.

스토리 진행도 이상한 것 같다.
지진희와 문소리가 원래 어렸을 때부터 아는 사이었는 데,
왜 커서는 그냥 모른 척하지? 친구가 죽은 충격 때문인가?

그들이 연인관계라고 굳게 믿는 국어 교수(?)도 이해할 수 없고,
문소리의 지나친 히스테리도 맘에 안든다.

적당히 하다가 코믹 좀 더 넣고 해피엔딩으로 맺는 평범한 한국 영화로
만들었으면 차라리 낫지 않았을 까?
이 영화도 이해 안되는 걸보면 예술 영화인가보다.

[Drama]4400

Drama taken과 x-men을 합쳐 놓은 것 같은 내용이다.
50년 전 ~ 1년 전까지 각자 다른 장소에서 실종된 사람들이 한 번에 호숫가에 나타난다.
다들 불빛이 비춰지자 사라져서 혜성같은 물체가 지구에 다가오자 한 자리에 나타나게 된다.
자신들은 단지 순간적으로 장소가 바뀐 것이라고 생각하지만 시간은 엄청나게 흘러있다.
그리고 하나씩 드러나는 그들의 능력.

병에 걸린 것도 아니고 다들 외계인 같은 것에 대한 기억도 없지만
특별한 능력을 하나씩 가지게 된다.

예언능력, 사람을 살리고 죽이는 능력, 마음을 읽는 능력,
힘이 세진 사람, 다른 사람의 마음을 바꾸는 능력, 괴력, 초자연적인 능력 등..

그들을 악마라고 보고 폭탄을 설치하는 테러리스트도 있고
저널리스트들도 그들을 공격하기도 하고 동정하기도 한다.

한 편 그들 중 한 사업가는 그들을 모아서 큰 사업을 하려고 한다.
서로 도우면서 독립된 사회를 구성하고 그들의 능력으로 돈을 벌려고 노력한다.

Homeland security의 조사관들 역시 그들의 능력에 휘말리게 된다.
자신의 아들이 coma상태에 빠지고 조카는 초능력자가 되는 남자도 있고
(영화 taken에서도 공군 조사관으로 나온다.)
예언 능력을 가진 여자 애를 입양하기도 한다.

1950년대 한국전쟁에 주한미군 조종사로 참가했던 흑인 남자는
자신이 사랑했던 여인의 손녀를 우연히 만나게 되고 시간과 세대, 인종의 벽을
넘어 서로 사랑하게 된다.

X-men처럼 다들 평범해지고 싶어하고 남들에게 알려지고 싶어하지 않지만 세상은 그들을 그냥 놔두지 않는 다.

4,400명이나 되는 사람들이 있으니 온갖 종류의 사람들이 있다.
직업을 잃은 사람, 가족이 모두 죽거나 자신이 죽은 줄 알고 재혼해버린 사람,
연쇄 살인범, 그저 그런 사람들, 돈을 빌리고 수십년만에 갚아야 하는 사람 등..


2006년 5월 27일 토요일

기숙사

KAIST 기숙사가 1년간 모두 개조될 예정인 것 같다.
이번 주말에는 샤워장을 뜯어고치고
앞으로 1개월간 학부 기숙사 전체에 에어콘을 달기로 했다.
내년에는 모든 대학원 기숙사에 에어콘을 단다.
(지금은 신축만 에어콘이다.)
3년 전 아름관을 제외한 모든 학부 기숙사가 온돌이 됐다.

가구도 좋아지고 벽지도 화사해지고 점점 학교도 좋아지는 구나.

그래봤자 바깥 세상에 있는 좋은 집들만 못하지만
오래 살면서 점점 익숙해지고 있다.
화장실 불을 끄지 않아도 되고 샤워실이나 화장실을 스스로 청소할 필요도 없다.
공간도 예전에는 좁다고 생각했는 데, 이제는 물건도 이리저리 잘 집어넣고 잘 살고 있다.

처음에는 갑갑한 느낌이 참 많이 들었다.
부딪히고 무릎이 깨지고 다리가 꼬이고 그랬는 데.

궁동의 30만원짜리 원룸이나 연대 근처의 50만원짜리 원룸보다 KAIST 기숙사가 나은 것은 사실.
에어콘이 달리면 사계절 그렇다.

기숙사의 가난하고 그냥 주어지는 현실에 만족하는 나 자신이 그리 보지 좋은 것도 아니긴하군.
역시나 내 돈 벌어서 더 좋은 집에서 사는 게 제대로된 인생 아닐까?

[Movie]The world's fastest Indian - 스포일러

Burt Munro 할아버지가 40살된 1920년식 Indain 오토바이를 타고 달리는 영화다.
평생 오토바이 기록을 깨는 게 목표인 그는 대회 참가를 위해
전 재산을 털어서 고향 뉴질랜드 인디카글에서 지구 반대쪽은 미국 Bonneville salt falts까지 여행을 온다.

엄청난 거리와 고물 오토바이, 부족한 돈, 늙은 몸, 협심증에도 불구하고 그는 미국에 도착하게 된다.
수많은 사람의 도움으로 결국 경주에도 참가하게 되는 데.
그의 노력은 정말 눈물 겹다.

배에서는 음식을 만들어주고 설겆이를 하면서 뱃삯을 벌고
미국에서는 자동차를 고쳐주며 중고차 가격을 깎는 다.

사람들과 친해지면서 잠도 얻어자고 차가 고장날때마다 고친다.
미리 경주에 등록해둬야 참가할 수 있다는 것도 몰라서 당황하지만
오토바이 매니아들의 도움으로 참가할 수 있게 된다.

낙하산도 브레이크도 타이어도 자신의 심장도 모두 걱정이지만 결국 그는 해내고 만다.

영화에서는 안소니 홉킨스가 나오는 데, 마치 내 외할아버지를 보는 느낌이다.
하얀 백발에 동그란 몸매, 정말 똑같다.
여자들(할머니들)에게도 꽤 인기 있는 걸로 나와서 숙소를 구할 때는 전혀 어려움이 없다.

"그러다가 부딪혀서 죽으면 어쩌려고 그러세요? 걱정도 안되요?"
"40년간 탔지만 아직까지 이렇게 멀쩡하게 살아있잖아."
"오토바이를 타고 5분간 사는 인생은 다른 사람의 평생과도 바꿀 수 있어."

"다른 사람들처럼 평범하고 시시한 삶을 살고 싶지 않아."
"사람들은 늙은이들이 조용한 곳에서 조용히 죽기를 바라지."

"할아버지가 죽으면 어떻게 해요?"
"그건 그 때가서 이야기 하자꾸나."

http://www.imdb.com/title/tt0412080/
. The world's fastest racing course
  : Bonneville salt falts, Tooele County, Utah
  http://en.wikipedia.org/wiki/Bonneville_Salt_Flats
  . Salt lake
  . Speed week
  . Speedway
  http://en.wikipedia.org/wiki/Bonneville_Speedway
  http://en.wikipedia.org/wiki/Land_speed_record

. Burt Munro
  http://en.wikipedia.org/wiki/Burt_Munro

2006년 5월 23일 화요일

개그 언어학개론

요즘 언어학개론 시간이 거의 개그화 되고 있다.
엄청 따분한 통사론(형태소와 함께 불규칙스런 규칙의 향연) 같은 걸 하고 있는 데.
'합성', '파생'이 나오면서 질문이 쏟아지고 있다.

'라뽂기'는 합성인가요? 파생인가요?
'라면'은 한자어일까요?
음식이 특히 합성, 파생이 많단다.
'족발'은 뭐죠?
소의 발도 족발일까요? 우족이예요? 소족발이예요?

브라더스의 개그스런 질문으로 교수님을 웃겨서
수업 진도를 늦추는 데 성공했다.
좀만 더 늦추면 시험범위가 확 줄어들 것 같은 생각이 들어서 기쁘다.
나도 동참해줘야지.
역시 인문학 교수님들은 인정이 넘치는 면이 있다.
(영어, 불어 교수님은 제외)

언어학 개론 교수님은 전산언어학을 전공하셔서 프로그래머들도 많이 알고
공돌이 문화도 잘 아시는 모양이다. (심지어 남편분도 전산을 하신듯.)
프랑스에서 박사를 하셨는 지, 그랑제꼴 자랑도 좀 하고.

오늘

. 축제
오늘부터 3일간 축제다.
아직 플젝이 남아있지만 가벼운 수치플젝이니. 웃으면서 해주지.

별바라기 후배들은 닭꼬치를 판다는 데, 없어서 못 팔 지경이다.
굽는 속도보다도 빨리 팔리고, 재고가 바닥.
내가 닭을 안 먹어서 많이 팔아주지는 못하고 2개 밖에 못 사왔군.

올해 축제기간은 예전보다 덥지 않군.
예전에는 정말정말 더워서 생과일주스가 너무 잘 팔렸는 데.

갈수록 우리학교 사람들도 세련되지고 여러 조직들도 잘 구성되는 것 같다.
천막도 치고 훨씬 조직적으로 축제를 준비하고 있다.
전자과 Nyquist도 확실한 전통이 되고
CT 대학원의 전문가들도 축제에 참여하고 있다.
(경험과 연륜으로 무장한 프로들 아니던가.)

복학생과 대학원생에게는 딴 세상 이야기일지도.
그래도 밤 10시쯤 가서 주점쯤은 이용해 줄 수도 있겠지.

그리고 내일은 꼭 와플 사먹어야지.
길에서 파는 와플 고등학교 때 처음 먹어봤었다.
나는 와플이 좋아~

. 룸메
친구방에 끼어산 준룸메(semi-roomate) 생활을 3박 4일 하고 돌아왔다.
그 방이 더 익숙해져서 남의 컴퓨터에 앉아서 숙제도 하고 잠도자고..
오늘 정신차려서 드디어 내 방으로 복귀

. 축구
드디어 월드컵 철이다.
4년 후의 경기를 여전히 학부생의 입장에서 보게되다니 압박이다.
그 때 들었던 PL을 지금 또 듣고 있다는 사실도 황당..;
그 때 1학년이 이제 석1이라니.

오늘 경기 너무 loose했다. 다들 슬렁슬렁 박자가 많이 느린듯.

플젝 검사 맡으러 갔는 데, 랩에서도 축구를 보고 있었다.
(다정하게 교수님과 함께;;)
우리의 채점 조교님만이 쓸쓸하게 랩을 지키는 안습(안구에 습기차다)의 쓰나미(물밀듯 밀려오다.).


투표

이번에 무슨 투표 방식이 바뀐 것 같다.
친구꺼 잠시보니 도장을 6개나 찍어야 된다네.
(가, 나는 또 뭔지.)

지금까지 투표 딱 2번 했나?
지난 번 대선은 대전에서, 그리고 지방선거(?) 인가를.. 강남구에서 하고..
이번에도 부재자 인생이군.

지난 선거도 도장을 2개나 찍으라고 해서 헷갈렸는 데.

미국병

'세계화', '영어열풍', '유학열풍', '조기유학', '기러기 아빠',
'해외여행열풍', '인재유출', '미국드라마 인기', 'TOEFL, TOEIC'
이라고도 불리는 우리 사회는 미국병에 걸려있다.

아무튼 나도 미국병 중독 환자 중 하나다.
방학만 되면 나갈 수 없나 고민하고 책들도 영어로 써진 책들만 산다.
드라마도 미국 것만 보고 듣기도 영어만 하고 읽기도 영어만 한다.
대학원은 세미나도 영어로만 한다.

일본의 명치유신보다 더 한 것 같다.
완전히 문호를 개방하고 미국인이 되든지, 아니면 완전히 죽든지 하는 길 밖에
없어보인다.

심지어는 미국인들도 걱정을 하고 있어서
20세기는 미국의 시대이고 21세기는 아시아의 시대란다.
(MSRA에서 온 Dr. Shum도 'The world is flat.'이라는 책을 보고 그렇게 말했다.)
명치유신 때를 생각해봐도 얼른 문호를 개방하고 빨리 나가는 게 이득인지도 모르겠다. 그들의 압력을 영원히 막을 수 없다면 말이다.

제정신이 아니다. 다들 미쳤으니, 나도 같이 미쳐 돌아갈 수 밖에.
진로에 대한 해결책도.. 내가 가진 무슨 문제에 대한 해결책도
50%는 영어와 미국 때문이라는 생각이 든다.

CS, 경영, CT, 의학 대학원을 가서 공부를 하든, 논문을 읽든 쓰든,
어디서 장사를 하든 뭘 하든 말이다.

외국에 다녀온 사람이 아무리 많아져서 희소성이 줄더라도
희소성이 줄어든 만큼 보편성이 늘어나기 때문에 다녀 올 수 밖에 없다.
예전에는 특별한 사람이 되기 위해 나가야 했지만
이제는 살아남기 위해 나가야 된다.

바보

내 자신이 언제 바보가 되는 지 생각해봤다.
시험을 잘못 봣을 때, IQ 테스트 점수가 낮을 때, 남이 나를 놀렸을 때,
실수를 해서 넘어지거나 머리가 전봇대를 강타했을 때,
바보가 되는 것이 아니다.
그런 것들은 아주 일시적일 뿐이고 외향적일 뿐
내 자신은 그 전의 나보다 바보가 되지 않는 다.

자신감을 잃었을 때, 우울할 때, 화를 낼 때(지나치게 흥분할 때), 내 자신이 바보라고 생각할 때,
나는 바보가 된다.


비참함

중간고사가 엉망이 되거나 프로젝트가 망하면 비참해지기 마련이다.
사실 어제도 도저히 하루만에 프로젝트를 다 끝내거나 좋은 결과를 낼
시간이 안된다는 것을 깨달았다. (듀는 오늘)

그래서 침울해져 있었다. 하지만 되는 데 까지는 해야 한다는 생각이 들었다.
심지어 그 과목을 재수강을 하기로 결정했건, 상급학교로 진학하지 않기로
했건 그런 것은 중요하지 않다.

공부가 단지 학점을 잘 따서 다음 과정으로 가기위한 발판이라고 생각한다면 그렇게 해도 좋다.
물론 학교 공부는 그런 면도 많이 있지만 그 중의 일부는 (어떤 것이 될지는 모른다.) 세상에 나가서도 쓰일 것이고, 그것을 배우기 위해 우리가 개발했던 방법들과 삶의 자세들은 우리의 삶에 평생 영향을 끼칠 것이다.
솔직히 내가 학교에서 배운 대부분의 내용이 회사에서 필요없다는 것을 알았지만 여러가지 용도로 쓰이기도 한다.
수업시간에 배운 교양 같은 내용들은 업무에는 직접 필요는 없지만 사람들과 대화의 소재가 되기도 한다.
(예를 들자면, 솔직히 고구려가 나당연합군에게 망했건 말건 지금와서 상관은 없지만 우리는 드라마를 통해서 그것을 보면서 재미있어 하기도 하고 슬퍼하기도 하고 사람들과 가끔 대화로 주고 받기도 하면서 동질감을 느끼기도 한다.)

수업시간에 배운 수많은 지식들은 별 쓸모가 없었지만 그것들을 얻기 위해 메모, 필기법, 듣기법, 암기법, 학습법, 시간 관리법들은 많이 늘었다.

그리고 재수강을 한다고 치면 어차피 그거 다음번에 다시 들어야 되는 데,
정말도 수업을 2번 들어두면 이해력이 올라간다.
단지 시험을 한 번 더 보기위해 재수강을 치는 것과는 다르다.

모든 실패를 실패로만 두었을 때는 다음번에 전혀 도움이 안되지만
실패의 잔해 속에서도 그 때의 잘한 점, 잘못한 점을 찾아두고
잘한 것은 남기고, 쓸만한 것은 뒀다가 나중에 재활용하면
다음번 성공으로 가는 길은 더 수월해질 것이다.

좁게 말하자면 지금까지 중간고사와 플젝들의 성취도를 봤을 때,
A 학점을 받을 수 없는 과목이 있지만 그래도 B는 받아 가야지.

자신감

'자신감'이란 무엇일까?
자신의 생각과 결정을 합리화하는 능력이다.
불확실한 세계에서 최적의 결정은 가장 합리적이라고 생각되는 결정이다.
나중에 봤을 때, 그것은 최고가 아니었을 수는 있지만
그 당시의 정보로 그것이 최선이었음을 증명하는 것은 합리성이고
합리성은 자신감이라고 할 수 있다.

자신의 결정을 끊임없이 의심할 수는 있지만 불안해 해서는 안된다.
자신이 합리적이라고 생각하면 그것을 믿어야 한다.
자신감의 앞 쪽 절반은 이성의 영역이고 뒷 쪽 절반은 감성(믿음)의 영역이다.

2006년 5월 21일 일요일

여름

한 방에 여름이 되버렸다.
온도는 29도..
새벽 2시쯤 되면 시원한 바람이 불기는 하는 데,
아침이 되면 땀이 주르르 나면서 깬다.
예전보다 땀 흘리는 데 익숙해졌고, 따뜻한 것 좋아해서 잘 버티고 있긴하지만
점점 높아지는 습도는 견디기 힘들군.

다음 플젝으로..

기능이 80%쯤 된 것 같은 데, 이제 접어야 겠다.
다음 프로젝트가 있어서 마냥 이것만 할 수가 없다.;

. 이번 프로젝트에서 저주스러웠던 점들
  . Camera control에서 3일 삽질
  . 그린 물체가 이틀간 안 보임 - 장님 상태로 개발 불가.
    (도대체 어디에 그린거야?)
  . transporation matrix 곱셈
     (5개 곱했더니, 디버깅 불가능, 오타를 찾는 것 이외에 할 수 있는 짓이 없음.)

  . 기능을 하나 추가할 때마다 기존 기능들마저 동작하지 않는 것이 생김.
  기능들이 어떻게 독립적으로 동작하지 않을 수가 있지?
  OpenGL 내부 상태의 오묘함을 이해하지 못함.
  심지어 프로그램을 종료해도 일부 상태는 남아있는 듯함.
  완벽하게 초기화하고 기능을 on/off하는 것이 가능한가?

  . light, shading, texture의 삼중주
  세 기능이 얽혀있는 데, 최대 1.5개 이상 구현이 안된다.;
  light와 shading은 각각 잘되는 코드가 있는 데, 동시에 되지는 않는 다.
  texture는 운 좋으면 이상한 곳에 나타나고 대게는 색만 바뀐다.

  . 익숙하지 못한 개발 환경
  . Visual Studio가 좋기는 하지만 어떤 기능은 Unix 것이 익숙하다.
  . Vim을 여전히 쓰고 있다.
  . OpenGL API들을 다들 처음 써봐서 모르겠다.
  . Event driven 환경에는 test automation을 어떻게 해야 할까?

  . 버젼관리
  . Windows에서 어떻게 버젼관리해야 할지 몰라서 그냥 했더니
     과거에 잘 돌던 기능에 버그 생겨도 다시 찾을 수가 없다.

  . 방대한 크기
  . 내가 짜본 프로그램 중 가장 큰 프로그램이 되었다.
     머리 복잡해서 어떻게 돌아가는 지 나도 모르겠다.
  . 다음 번에 다시 짜면 PA #1, #2는 약간 더 깔끔해 질 것 같다.
     하지만 PA #3는 여전히 미궁.

 . 이번 플젝이 내게 안겨준 것
   . PA #1, #2 - 전공에 대한 자신감
   . PA #3 - 전공에 대한 다시 한 번의 좌절(일희일비)

플젝 80시간 째

플메(Project mate)방에서 2박 3일의 숙식을 마치고 돌아왔다.
그 방이 우리방보다 깔끔하고 쾌적하긴 한데, 역시 남의 방이니까.
친구꺼가 모니터로 훨씬 크고 좋은 데, 개발환경이 꽤 다르다.

정신차려서 밥 먹고 또 계속 해야지.

2006년 5월 20일 토요일

플젝 72시간 째

3일간 플젝 72시간 째라고 적어보지만 매일 12시간씩은 딴 짓 한 것 같다.
아무튼 CG플젝이 발목을 질질 잡고 있다.
특히 camera control로 48시간 삽질했다.
조교님께 물어보고 그냥 간단하게 짜는 건데. 괜히 복잡하게 짰다.
그리고 OpenGL은 이리 저리 상태들이 모두 openGL environment에 들어가 있으니
디버깅이 쉽지가 않다.
사실은 initialize를 잘 해주지 않아서 생긴 문제들이었다.
initialize해야 할 것이 꽤 많다.
OpenGL 쉽게 쓰게 해주는 C++ class source 없나 모르겠다.
WinAPI를 MFC로 싼 것처럼..
(내가 지금 만드는 게, 사실상 그런 일이다.)

이번에도 작은 기능 몇 개는 버려주고, 이제는 큰 것 하기로 했다.
다른 2개의 플젝은 어떻게 해야할지 모르겠네.
대학원 과목인데, B학점만 주시면 안될런지..

내 방에도 안 들어가고 친구방에서 계속 딩굴딩굴 플젝 중..
방에 가서 면도기라도 가져 올까보다.

점점 폐인이 되고 있다.
프로젝트의 나쁜 점은 제때 밥을 챙기먹지 않게 한다는 것이다.
숙제와는 달리 프로그래밍 코딩은 한 번 시작하면 밥 먹는 시간이나 잠자는 시간이 자꾸 미뤄진다.
머리 속에 context가 한 번 깨지면 다시 돌아오는 데, 오래 걸려서 그런 점도 있고
아무튼 자기 관리가 힘들다.

잠을 충분히 자고 친구와 함께 하니, 그래도 포기하고 드라마를 보는 일은 없군.

2006년 5월 19일 금요일

과자 - 리츠(Ritz) 브랜(Bran)

ritz : 부유한 귀족적인 스타일, 겉치레, 과시
bran : 밀기울, 겨, 왕겨

리츠 브랜이라는 크래커를 사먹었는 데, 생각보다 맛있는 것 같다.
크래커, 쿠키 전문기업인 미국 Nabisco사에서 만들었다.
http://en.wikipedia.org/wiki/Nabisco

다른 크래커들은 먹고 나면 입에 끼는 게 많기도 하고
텁텁한 편인데, 이건 그런게 적어서 좋다.
까칠까칠한 밀겨를 사용해서 만들었기 때문에 그런 것 같다.

예전에는 입자가 고우면서 건조한 쿠키가 많았는 데,
요즘은 이것처럼 입자가 아주 굵거나
촉촉한 쿠키처럼 수분함량이 높은 것이 많이 나오고 있다.
고객의 취향도 다양해지고 제조 공법이 발달하기 때문인가보다.
앞으로 자주 사먹어줘야지.

한 때는 프링글스도 좋아했었는 데, 너무 자극적이라서 요즘은 잘 안 먹는 다.
저가의 장수 브랜드로는 야채 크래커도 맛있다.
배고플 때는 다이제스티브 비스켓이 양도 많고 달아서 좋다.

2006년 5월 17일 수요일

음원 관리

. 음원 코드 관리
각각의 음악서비스나 mp3 파일의 tag마다 title이나 가수가 적혀있긴 하지만 매번 찾는 일 자체가 번거롭다.
음원을 표준적으로 관리해주는 코드 번호는 없을 까?

책은 국제표준도서번호(ISBN, International Standard Book Number, ISSN)이 있다.
음반은 음반협회에서 만든 표준 번호 같은 게 있을 듯 한데.
MS Media player나 winamp도 음악이 나오면 무슨 DB를 뒤지려고 하기도 한다.

아무튼 그런 코드가 있다면 사용자는 mp3파일의 list인 m3u처럼 그 표준 코드 list만 가지고 있다면
어떤 음악 서비스를 이용하든지, list를 다시 작성할 필요가 없이 쉽게 들을 수 있을 것 같다.

. 서비스, 클라이언트 독립
스트리밍 서비스와 client, 검색서비스가 독립되면 얼마나 더 편할 까.
즉, 스트리밍은 A,B,C사의 서버에서 받는 데,
위에서 말한 음원 코드 list는 D사의 검색 서비스에서 받고
client는 내가 원하는 것을 맘대로 썼으면 좋겠다.

Jukeon, Winamp, Bug ActiveX 등.. 이것 저것 다 깔기도 너무 귀찮고 각 서비스마다 없는 곡들이 다르다.
라디오는 한 대만 사면 세상 모든 라디오 방송국의 채널을 다 들을 수 있는 데,
스트리밍은 회사마다 다른 소프트웨어를 깔아야 되다니.
문제는 완전 경쟁시장이 되버려서 서비스 기업들에서는 당연히 싫어할듯.
iTunes가 완전 독점이 되기를 기다리는 게 나을 까?

2006년 5월 16일 화요일

플젝 모드

3년 전에는 정말 아무것도 몰랐던 것 같다.
문제에 부딪치면 도무지 헤쳐나갈 수가 없었다.

요즘은 그래도 대충 돌아가는 것은 알기도 하고
뭘 찾아봐야 할지 아니까.

"It's just matter of time."(시간 문제일 뿐.) 이라고 생각하는 일이 많다.
물론 시간은 소중한 거니까 잘 써야 되지만.

바꿔말하면 예전에는 시간이 부족하지 않았다.
그냥 모르는 건 모르는 거라서 웬만큼 바둥거려도 알 수가 없었다.
요즘은 대강 이해는 다 되는 데, 뭔가 하면 시간이 부족하다는 게
뭔지 점점 느껴지는 것 같다.

2006년 5월 15일 월요일

[C++]static const member variable initialize

. static const member variable initialize
class A
{
  public:
  static const int m_n = 10;
  int alpha[m_n];


};

int main()
{
  A a;
  a.alpha[0] = 1;

  return 0;
}

. 참고
http://publib.boulder.ibm.com/infocenter/macxhelp/v6v81/index.jsp?topic=/com.ibm.vacpp6m.doc/language/ref/clrc13cplr038.htm
http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=/com.ibm.xlcpp8l.doc/language/ref/cplr038.htm

꽃가루

요즘 꽃가루가 한창 날리고 있다.
황사가 간 뒤로 오히려 노란색 먼지가 더 많이 쌓여서
뭔가 했더니 송화가루(소나무 가루)란다.

고등학교 생물수업시간에 분필가루나 밀가루처럼 생긴 것을 처음 봤었다.
지분 채취 같은 용도로도 쓰인다.
1주일쯤 전 비가 올 때까지 정말로 엄청나게 많아서
비가 온 후로 온 세상이 누렇게 뒤덮혀버렸다.
디스커버리나 National Geography에서도 엄청난 소나무 숲에서
바람에 따라 날리는 송화가루가 정말 장관이던데.

그 뒤로는 KAIST 학부 근처에 온통 향기(꽃향기 같은)가 나고 있다.
포플러 나무의 눈송이 같은 하얀 가루도 날리고 있다.
벚꽃이 시각적으로 멋있었다면 요즘은 후각을 멋지게 자극하고 있다.

벗꽃 -> 황사 -> 큰 비 -> 무성하고 윤기나는 녹색 잎들 -> 송화가루 -> 향기 + 포플러

꿈 2

나는 꿈을 꾸면 짧은 장면이 계속 반복된다.
대략 3초 ~ 20초 가랑되는 scene인 경우가 많다.

적게는 3번에서 많게는 30번까지 반복된다.
주로 독감에 걸렸을 때나 심리적으로 불안할 때 반복횟수가 늘어난다.

예를 들자면 영화 'Minority Report'에서 예언자들이 꾸는 것과 비슷하다.
순서도 엉망이고 반복된다.
그리고 반복될때마다 초기 조건은 같지만 약간씩 바뀐다.
나의 몸부림이 장면에 약간의 영향을 준다.
내 자아는 좀 더 많은 변화를 주기위해 매번 안간힘을 쓰지만
시간이 너무 짧고 나의 움직임이나 시야는 제한되어 있는 경우가 많아서
특정한 boundary를 벗어나지 못한다.
아무리 열심히 걸어도 20m이상 못가고 얼굴을 돌리려고 해도 30도 이상 안 돌아간다.

반지의 제왕이나 삼국지처럼 스펙타클한 꿈을 한 번 꿔야 할텐데

2006년 5월 14일 일요일

[음악]서양음악사(classic, 클래식)

유명한 곡들(내가 들어본 곡)
. 비발디 - 사계
. 쇼팽 - 에뛰드 연습곡, 강아지 왈츠
. 드보르작 - 유모레스크
. 헨델 - 사라방드, 울게하소서, 할렐루야
. 바흐 - 아베마리아, G선상의 아리아, 브란덴부르크 협주곡, 미뉴엣
. 하이든 - 놀람교향곡
. 모차르트 - 터키행진곡, K.550, 레퀴엄, 돈 지오바니, 피가로의 결혼
. 베토벤 - 운명, 영웅, 월광, 합창, 환희의 송가
. 베를리오즈 - 환상교향곡
. 슈베르트 - 숭어, 겨울나그네, 미완성 교향곡
. 비제 - 카르멘<하바네라>, 아를르의 여인
. 롯시니 - 세빌리아의 이발사
. 요한 스트라우스 - 아름답고 푸른 도나우
. 무소르크스키 - 전람회의 풍경
. 드뷔시 - 베르가마스크 모음곡, 목신의 오후
. 차이코프스키 - 백조의 호수, 호두까기 인형
. 브람즈 - 헝가리 무곡
. 파헬벨 - 캐논
. 라벨 - 볼레로
. 거쉰 - 랩소디인 블루
. 바그너 - 트리스탄과 이졸데, 탄호이저, 로엔그린, 발퀴레
. 그리그 - 페르퀸트 모음곡
. 스메타나 - 나의 조국, 팔려간 신부
. 무소르그스키 - 전람회의 그림
. 림스키-코르사코프 - 왕벌의 비행
. 라흐마니노프 - 보칼리제

이렇게 일일히 적어두는 이유는 듣고 싶은 곡을 찾으려고 해도 찾기가 힘들어서.
음악 실력은 꽝이라 머리 속에 작곡가나 곡명이 쉽게 떠오르지 않는 다.
그리고 듣던 곡이 아니면 귀에 익숙하지 않아서 못 듣겠다.

----------------------------------------------------
. 바로크 음악 baroque
  . 비발디 Vivaldi Antonio
  . 헨델 Georg Friedrich Hndel
  . 바흐 Bach Johann Sebastian
. 고전파 음악 古典派音樂
  . 하이든Haydn Franz Joseph
  . 모차르트 Mozart Wolfgang Amadeus
  . 베토벤Beethoven Ludwig van
. 낭만파 음악 전기
  . 베버 Weber Carl Maria von
  . 쇼팽
  . 멘델스존 Mendelssohn
  . 슈만 Robert Alexander Schumann
  . 슈베르트Schubert Franz Peter
  . 베를리오즈 Berlioz Louis Hector
  . 리스트 Liszt Franz von
. 낭만파 음악 후기
  .  바그너 wagner Wilhelm Richard
  . 브루크너 Bruckner Anton
  . 베르디Verdi Giuseppe
  . 비제Bizet Georges
. 국민악파 음악
  . 글린카Glinka Mikhail Ivanovich
  . 보로딘Aleksandr Porfir evich Borodin
  . 무소르크스키Modest Petrovich Musorgskii
  . 시벨리우스 Sibelius Jean
. 근대 음악
  . 드뷔시Debussy Claude Achille
  . 라벨Ravel Maurice Joseph
  . 쇤베르크 Arnold Sch*nberg
  . 바르토크
. 현대 음악
  . 스트라빈스키
  . 힌데미트Hindemith Paul
  . 쇼스타코비치Shostakovich Dimitri Dimitrievich

냄비근성과 전문화

많은 사람들이 "한국인은 냄비근성이야."라고 말한다.
하지만 나는 냄비근성이라는 것을 믿지 않는 다.
한국 사람들은 다른 선진국과 비교해서 정치, 경제에도 관심이 많은 편이고
일반상식도 꽤 훌륭하다고 생각한다.

다만 모든 사람이 같은 생각을 하고 많은 생각을 해야해서 전문적이지 못한 것 같다.
예를 들자면, 1,000만명이 1년에 하루 환경문제를 걱정해주는 것은
환경문제에 별 도움이 안된다.
매년 하루 그 문제를 소개하는 수준에서 그치고 만다.

차라리 1만명의 사람이 1년 내내 지속적인 관심을 가져주는 편이 낫다.
그리고 나머지 999만명의 사람은 각자 자신이 관심을 가져야할 999개의 주제들에 집중하면 된다.
그런식으로 환경, 경제, 정치, 육아, 인권, 노동, 통일 ... 수많은 문제들을
전문가 집단(꼭 전공을 했다기보다는 관심이 있는 시민단체들과 함께)이
그것들을 각자 관리해 주는 편이 낫다.

대한민국 사회가 사람이 1만명 밖에 안사는 작은 도시 국가라면
모두가 같은 생각을 해서 하나씩 문제를 각개격파하는 게 나을 지도 모르지만
대한민국은 4,000만명이 넘는 큰 사회다.
1만명 정도의 규모로 각자 자신의 관심을 정하는 것이 좋다.

이렇게 전문가 집단이 생기면 각자 이익(금전적이든, 비금전적(환경, 인권등)이든 )을 대변할 수 있게 되고 정치인들도 변하게 된다.
사실 정치인들이 얄팍하고 인기에 영합하는 짓을 하는 이유는 그들이 멍청하다기보다는 대중의 관심사가 얄팍하고 인기에 편승하는 냄비적 비전문화 때문이다.
다들 각자 관심사가 명확하고 문제를 깊게 이해하고 있다면 정치인들도
각각의 이익집단과 그들이 다루는 문제에 맞춰서 좋은 공약, 정책, 법안을 제시하게 될 것이다.

드라마 Westwing을 보면 수많은 전문가들과 함께 머리를 맡대고 고민하거나
그들에게 문제를 위임하는 대통령, 대통령 후보 등.. 정치인들을 볼 수 있다.
우리도 그렇게 사회가 변한다면 많은 이익집단, 전문가 집단이 생길 것이고
그들이 정치인과 직접 대면하는 통로인 로비스트들도 생길 것이다.
로비스트라고 하면 뇌물을 주고 받는 나쁜 사람으로 비쳐지지만
4,000만명이 각자 이해부족으로 떠드는 것보다는
그 문제를 잘 이해하는 사람들이 정치인과 대면을 하는 편이 낫다.
4,000만명의 대단위 직접 민주주의는 불가능하지만
1만명의 이익집단이라면 민주적으로 가장 헌신적이고 문제를 잘 이해하는 사람을
대변인, 로비스트로 키울 수 있다.

정치인들은 target marketing을 할 수 있어서 좋고
시민들도 정치인들의 target이 되도록 각자 전문적인 힘을 키워야 한다.
현재 한국 정치인들이 모두 똑같아 보이는 것은 target marketing이 불가능한
대중들 때문이다. 모두 너무나 많은 이슈에 대한 얕은 이해 밖에 없으니
general하게 두리뭉실하게 이야기 할 수 밖에 없다.

사람들은 전문가들에 대한 오해로 그들이 공부를 많이 하고
무조건 똑똑한 사람이라고만 생각한다.
하지만 전문가라는 것은 각자 자신의 분야에 탁월한 뿐만 아니라
각자의 분야에 가장 많은 시간을 쏟은 사람이다.

어떤 사람이 반드시 머리가 명석해서 (상위 1%라서) 전문가가 되는 것이 아니라
자신의 관심사에 맞춰서 그것에 오랫동안 집중에서 다른 사람들보다
더 잘 알고 있는 것이다.
일반적인 사람들도 각자 관심분야에 집중할 수 있게 시간을 준다면 다들 전문가가 될 수 있다.

냄비 근성의 문제는 사람들이 세상에 대한 관심의 부족이 아닌 전문화의 부족일 뿐이다.

[음악]현영 - 누나의 꿈

"누나누나의"
"누나누나예"
라고 검색어를 치니 바로 나오네.

루마니아어 원곡은 'dragostea din tei- o-zone' - Simone(시모네)이다.
솔직히 원곡이 훨씬 좋다.
현영이 리메크에서 부른 이 노래는 듣고 있으면 웃기다.
(비웃음의 웃음은 아니고 코믹함의 웃음)
딱 현영의 수준에 맞춰서 부른 것 같아서 말이지.
리듬은 거의 보존했지만 깊이와 음악성을 상실한 느낌이다.
Sampling 512KBps 짜리와 56KBps 음악의 차이쯤 된다고나 할까?

그래도 뭐 현영은 사실 전문가수라기보다는  쇼프로 전문 출연자 + 개그걸이니까

[음악]Matrix Reloaded OST

Matrix I, III OST는 귀에 거슬려서 못 듣겠는 데,
Matrix II OST만은 맘에 든다. ㅎㅎ

I~III편 중 사실 II편이 가장 기대도 많이 했었고 재미있기도 하다.

Linkin Park - Session
Rob Dougan - Chateau(French로 castle(성)이라는 뜻)

이 두 곡이 가장 맘에 든다.
예고편에서 많이 들어서 친근해진 때문일지도.

이 OST는 듣고 있으면 NFS 같은 racing game을 하는 기분이다.
춤추는 클럽이나 나이트에서도 많이 틀어주지 않았을 까 싶다.
신나서 뭔가 잘 되기는 하는 데,
1시간 이상 들으면 heartbeat이 너무 빨라지고
체력 소모가 심하니까 오래 듣지는 않는 다.
(스팀팩 마린이냐?)

[음악]괜찮은 노래들

나의 드라마 섭취량과 음악 섭취량을 생각해봤는 데,
대략 반비례하는 것 같다.(대체제:substitute)

남의 눈치 보지 않고 놀 때는 드라마를 주로보고
눈치가 좀 보이는 상황에서는 음악을 듣는 다.
(드라마, 음악 둘 다 허용 안되는 환경은 지옥인 것 같고
그런 곳에서는 공부하거나 일하고 싶지 않을 것 같다.)

아무튼 최근 들어서 조낸 놀다가 플젝을 하려고 하니
드라마를 같이 볼 수는 없고 음악을 들어야 겠다는 생각이 들었다.

. 기분 좋아지는 노래(네이버 추천)
Hilary Duff - Why Not
(Hilary Duff 노래들은 대부분 발랄하다.
Hilary Duff는 노래에 맞춰서 10대 영화도 많이 찍는 것 같다.)
Wonders - That thing you do
A-Teens - Upside down
Westlief - Uptown Girl
Aqua - Babie Girl
LMNT - Juliet
Clazziquai - Sweety
Voices of Korea/Japan(브라운 아이즈) - Let's get together Now
(2002년 월드컵 기념으로 한국, 일본 공동음반인데, Ein이 엄청 좋아한다.)

자우림 - 사랑의 병원으로 놀러오세요.
자우림 - 하하하쏭
이윤지 - Happy days
박혜경 - 빨간운동화
박혜경 - 안녕
박혜경 - 그녀를믿지마세요
박혜경 - 동화
Loveholic(러브홀릭) - 놀러와 (영화 싱글즈)
Loveholic(러브홀릭) - 녹슨열쇠
Boa - Milky Way
주얼리 - 바보야
네미시스 - 솜사탕
케로로 중사(일본어 버젼이 더 좋은 것 같은 데, 한국어 버젼 밖에 없군.)


아는 곡이 많지는 않지만 중국 노래들이나 중국악기에 가까운 곡도 좋아한다.
중학교 때 무협지, 무협영화 같은 거 좋아하던데서 온 거겠지.

. 중국 노래들
동방불패2 '소홍진'
무간도 '피유망적시광'

. 중국 악기를 사용한 노래들
이승환 '당부' - 중국 악기인 이호(얼후)를 씀.
이승환 '그대가 그대를'
이승환 '이젠 쉼'
이승환 '그대는 모릅니다'
이수영 '얼마나 좋을까'

. 이호(얼후)
http://100.naver.com/100.nhn?docid=128750
우리나라 해금과 비슷함.

2006년 5월 13일 토요일

High-dynamic range - contrast

컴퓨터가 생성하는 영상들은 주로 번쩍거리고 속도를 빠르지만 contrast가 떨어진다.
그래서 현실 세계의 이미지를 high-dynamic range라고 부른다.
전자장치가 자연의 색은 32bit쯤으로 거의 비슷하게 표현하는 데, contrast는 아직도 부족하다고 한다.

아무튼 이 용어를 배우게된 뒤로 현실의 세계를 더 경외롭게 바라보게 됐다.
잔디밭을 걷고 풍성한 나무들과 숲을 헤치고 갈 때마다
자연의 high resolution과 high contrast에 감동받고 있다.

아무리 어떤 동영상에서 멋지게 나무를 만들어도
오늘처럼 날씨 좋은 날 바깥에 나가서 햇빛이 충분이 비춰지고
반사되는 나뭇잎의 윤기찬란한 초록색은 표현할 수가 없다.

'가상과 현실의 차이는 resolution의 차이에 불과하다.'라고
어떤 사람이 말했다지만
솔직히 기술이 아무리 발전해도 가상이 현실을 따라오기는 힘들 것이다.
그렇게되면 그건 현실이지 가상이 아니다.

아무튼 방에서 가상세계만 보고 살다가 가끔 나가서 보는 현실은 너무나 멋지다.
정말 신(god)은 어떻게 이렇게 멋진 세상을 만들 수 있었을 까.


요즘은 꿈을 잘 안 꾸는 편이긴 하지만 며칠 전에도 꿈을 꿨다.
친구와 이야기하면서 느낀 건데, 내 꿈은 항상 주제가 분명치 않다.

어떤 친구들은 탄탄한 스토리의 이야기가 전개되는 데 말이다.
스토리도 길고 총천연색의 화려한 배경과 캐스팅,
생생하고 고증된 복장과 사실적인 느낌.
피를 보면 피비린내가 나고 칼을 보면 등골이 오싹한 그런
오감이 동원되는 꿈.

반면에 내 꿈은 색이 4가지 이상 등장하지 않은 것 같다.
스토리도 토막토막나서 20초 이상 일관되지 않다.
누군가 등장할 것 같아서 쫓아가면 공간이 distortion되면서
전혀 다른 이야기가 된다.
화면도 상당히 어둡다. 거의 배경은 없거나 밤이라서 검은 색으로 처리된다.
내 꿈은 대부분 시공간이 밤이다.

몇 발자국만 걸어가면 검은색 배경이 나를 덮치고 모든 물체를 검은 안개 속으로 삼켜버린다.
나는 visualization 능력과 story 구성 능력이 모두 떨어지는 사람인가보다.

사진과 키

키 작은 게 자랑은 아니지만 가끔 장점이 될 때도 있다.
결혼식을 포함한 모든 단체 사진에서 앞줄에서 찍을 수 있다.
사람들이 아무렇게나 몰려와서 찍는 사진에는 파묻혀서 안 보이지만
한국 사회는 단체 사진을 찍을 때 항상 키순서를 고려해서 줄을 세운다.

결혼식 사진을 찍을 때는 신랑 옆에 서는 경우도 많다.
얼굴이 friendly하면서 (최소한 위화감이 없는 얼굴)
신랑보다 약간 작은 사람이 옆에서야 신량이 주인공임이 부각되니까.
사실은 그래서 결혼식을 가면 별로 친하지 않은 신랑이라도
가까운 곳에서는 경우가 많다.
(렌즈의 왜곡이 적은 가운데 부근으로 주로..)

키가 너무 커서 모든 단체 사진에서 가장 뒤에 서야하는 친구들보다는 오히려 낫지 않을 까?


통학

내게 가장 행복한 시간을 꼽자면
아침에 일어나서 샤워를 마치고 수업을 들어가는 시간인 것 같다.
시간이 촉박하면 좀 압박이긴 하지만 걸음을 제촉한다고 해서
줄어드는 것은 심장과 심리적 과부하에 의한 수명일뿐
이동시간은 아닌 것 같다.

아무튼 그런 편한 마음을 가지고,
아침 샤워 후의 가뿐한 마음과 맑은 하늘과 따뜻한 햇살과
시원한 바람이 모두 있는 그 곳을 10분간 걸어가는 게 좋다.

내 인생의 근원적인 비관론을 잠시 씻어버리는 데,
물샤워와 햇빛샤워의 이중 treatment만한 게 없다.
다만 유효기간이 3시간이라는 게 흠이다.
3시간 지나면 normal state가 되고 24시간 후에는 다시 ground(depressed) state가 된다.

수업을 들으러간다는 사실 자체가 좋다기보다는
그것을 빌미로 잔디밭을 걸을 수 있고, 운동도 조금되고 햇빛도 쬘 수 있다는 거지.


오늘

원래는 집에 가려고 아침부터 일찍 일어나서
제일 나아보이는 옷도 입고 집에 전화까지 했는 데,
방금 다시 전화해서 그냥 못 가겠다고 했다.
올해 처음으로 집에가는 거였는 데,
CG 플젝이 2개를 열흘뒤까지 내야 한다고 생각하니
그냥 눈앞이 캄캄해지고 말았다.
사실 정확히 얼마나 걸릴지 모르겠는 데,
괜히 집에 가자니 겁이 난다.
하루라도 공부를 하지 않으면 겁이난다.
그럴 때는 진짜 공부를 하거나 드라마를 보면서 두려움을 잊으려고 하는 데,
최근에는 주로 드라마를 보는 걸로 그걸 미뤄왔다.

아무튼 드라마는 근본적 해결책이 아니니..
지난 주에 드라마를 보지 말고 집에 갔어야 했다.

집에 가서 마음 고생하느니 그냥 여기 있기로 했다.
부모님을 실망시켜드린 또 다른 죄책감이 있기는 하지만..
100만년만에 집에가는 자식을 위해 맛있는 것도 해놓고, 과일도 사놨다는 데.
오늘, 외할아버지 생신이기도 하다. 가면 부모님께 자랑거리도 되고 할텐데.

Term project같은 경우는 spec이 딱 정해진 것도 아니라서 더 그렇다.
대학원생들이 왜 수업시간이 제일 행복한지 알 것 같다.
그 시간들은 필수불가결한 시간이고 정해진 것에 따라 움직이면 되니까
고민하지 않아도 되고 그대로 시간을 쓰면 된다.

오전에는 CG랩 세미나를 들어갔다.
여전히 뭔소린지는 하나도 못 알아듣겠다.
그건 뭐 석사 1년차들도 마찬가지 일테니
(그들과 나, 모두 CG수업을 현재 듣고 있는 것 외에 사전지식이 없다.)
대학원을 미리 체험하는 셈치자.
'음, 저 신기한 학부생은 왜 이런 토요일 오전 달콤한 늦잠의 시간에
이런 걸 들으러 오는 걸까?'
라고 생각할 듯 하지만 그래도 그냥 듣기로 했다.

이틀만 드라마 끊고 플젝해야지.

cf.
요즘 석사들은 논문 듀가 2주 밖에 안남아서 다들 미칠듯 바쁜 것 같다.
대략 남은 1주간 구현을 마치고, 다음 1주간은 writing을 하는 듯.
지금 새로운 것을 생각하거나 효율성을 올리는 것은 미친짓이고
졸업을 위해서는 robustness와 defence를 위한 연습을 해야 하는 시기란다.
박사생들은 논문 리뷰로 바쁘다. 한창 1~2월에 낸 논문들이 accept, reject되고
다른 사람들 것도 평가해 주느라.
SIGGraph, Eurograph, Pacific graph 순 인 듯.
(우연인지 모르겠지만 학회 수준과 일정도 일치하는 것 같다.)

Gogh

내가 이름을 외우고 있는 유일한 화가인것 같다.
Google에서 적당히 화가 이름을 하나 치려고 했는 데,
다른 이름은 도무지 생각이 나지 않는 다.
"램브란트(Rembrandt)", "고갱(Paul Gauguin)"은 spell을 모르겠고
"피카소(Pablo Ruiz Picasso)"는 s가 1개인지, 2개인지 헷갈린다.

Vincent van Gogh
오타없이 fullname을 칠 수 있는 유일한 화가군.
아주 맘에 든다.

http://www.vangoghgallery.com/
CG 공부를 하기로 맘 먹었으니,
취미(?)로 미술 감상을 해볼 생각이다.
조금씩 공부해 나가면 되겠지.


2006년 5월 12일 금요일

문자 문화(Text vs Image)

나는 완전히 문자 문화적 인간인듯한데,
세상은 벌써 Image 중심으로 넘어가 버렸다.
그래서 그런지 세상과는 좀 소외된 기분이다.

한국인답지 않게 구술적이지도 않고 이미지(2차 구술문화)적이지도 않다니.
진중권 교수님이 유학했다는 독일이나 미국으로 이민가야 할까?

해결과 해소

해결 : solve
해소 : ?

비트겐 슈타인은 이렇게 말했다.
"철학적 문제는 해결되는 것이 아니라 해소되는 것이다."

이 문맥에서 저 단어들을 빌려서 내 자신을 표현해보자면
내가 공부를 하는 방식이나 지적 호기심을 해결하는 것도 비슷한 것 같다.
더 이상 궁금하지 않거나 적당하다고 생각되는 수준까지
공부를 해야 마음도 편하고 학습도 잘된다.

어떤 사람들처럼 단순하게 숙제를 해결했기 때문에 기쁘다거나
점수가 잘 나와서 기쁜 것이 아니라
그것을 내가 적절히 이해했기 때문에 지적인 갈증이 해소되어서
기쁜 것이다.

[드라마]Lost - 220

Lost 220까지 봤다.
치과의사 할아버지의 말처럼 다들 구조의 노력을 별로 안하는 것 같다.
뗏목도 만들기도 했지만 그보다 쉬운 SOS 글을 해변에 먼저
만들어 두는 게 쉽지 않았을 까?

서양사람들이라 각자의 의견을 존중하고 사행활이 보호되는 건 좋은 데,
communication이 부족한 것 같다.
다들 매주 1번 쯤은 모여서 반상회를 하는 게 좋지 않을 까.
커다랗게 요새라도 하나 만들면 그들이 와도 무섭지도 않을 텐데.

다만 그렇게되면 자연스럽게 리더도 생기고 권력 다툼이 좀 생긴다는 게
문제긴하다. 저런 곳에서 사람들이 모여있으면 불만이 쌓이니까.
그래도 일단은 공동의 적은 'them'이 있으니까.
서로 도울 필요가 있다. 그들의 탓으로 좀 돌려서 정치적 안정도 도모하고 말이다.

SOS팀은 SOS 신호보내는 법을 연구하고(치과의사 할아버지, 이라크 군인)
뗏목팀은 뗏목을 만들고(마이클)
과일 채집, 고기잡이도 몇 명이 하고(Jin)
농사팀도 하나 있어서 텃밭도 좀 가꾸고(Sun)
탐험하면서 지도도 계속 만들면 좋을 텐데.
다들 탐험은 하는 데, 지도는 안 만드는 것 같다.

그 초단파 라디오가 있으면 방송을 듣다보면 시보가 나올텐데,
그 시보와 그곳의 해의 위치를 비교하면 경도를 알 수 있다.
그리고 북극성의 위치를 보고 위도도 추정가능하다.
다이나마이트 만들다가 과학교사가 죽어버린 건 아쉬운데,
그 사람이 그 정도는 사람들에게 알려줄 수도 있지 않았을 까.

신부 아저씨도 한 명 있는 데, 다들 기독교 쪽 신앙에 가까울 듯하니
교회를 지으면서 사람들의 믿음을 모으는 것도 나쁜 생각은 아닌 듯하다.
집도 나무로 안 짓는 판에 교회를 나무로 짓는 건 너무 오래 걸려보이지만
교회에서 예배 후에 반상회 같은 모임이 자연스럽게 되겠지.

사회가 잘 정비되면 경비도 강화되면 그들과 협상도 가능할 텐데.
의사 아저씨말처럼 군대를 키워서 정벌을 하든지;
직접 싸워서 다 죽는 것보다는 아무래도 무력으로 위협만 하고
평화조약을 맺는 게 나을 것 같다.
나중에 구조되면 뭔가 돈 모아서 섬 이용료(전세비용)이라도 좀 주든지.

마이클은 안달루시아와 헐리의 그녀를 죽인거지?
(헐리의 그녀에게 총을 쏜건 실수같다.)
그들에게 세뇌되었거나 아들을 구하기 위해 사람을 죽이기로 약속한 걸까?

108분마다 숫자 입력하는 건 안 하는 게 나을 것 같다.
지난 번에도 입력을 안해서 문이 내려지면서 뭔가 지도가 보인 것 같다.
아시다시피 무협지를 보면 문이 내려지고 무공비급이 나오지 않던가.
(이연결 주연의 영화 '의천도룡기' 참고)
108, Darma(달마), 내려지는 문. 헤치에 대해 설명하는 동양인 필름.
정말 동양적이군.

예쁜 여자들을 둘 이나 죽이다니. 이런 나쁜 마이클.
헐리가 이제 폭주하지 않을 까?
뚱보라서 아무도 자신을 좋아하지 않는 다고 좌절하다가 100만년만에
그녀를 만났는 데, 이렇게 되다니.

신부아저씨는 예전부터 보면 외모가 너무 'them'같다.
옷도 잘 안 입고 도끼나 몽둥이만 들고다니고 머리도 제일 안 감잖아.
(흑인이라 그렇게 보는 나의 편견일까?)

2006년 5월 11일 목요일

[Song]Knocking on heaven's door

영화 'Knocking on heaven's door'도 있고
영화 '내 여자친구를 소개합니다.' (전지현 주연)에서 쓰이는 곡이기도 하다.

Knocking on heaven's door
= 천국의 문을 두드림

표현이 참 재미있는 것 같다.
(죽는 걸 이렇게 낭만적으로 표현한걸가?)
곧 죽어서 천국에 가기 위해 문을 두드리는 걸까?


스팸, 조회수

스팸 댓글이 하루에 20개씩 달리기 시작해서
며칠간 지우다가 금칙어를 추가하게 됐다.
IP로 막을 수는 없는 것 같다. 랜덤하다.
Tatter tools 다음 버젼은 스팸도 좀 막아준다는 데, 기다려야 겠다.

영어 이름, 영어 코멘트, 영어 site인 듯 하다.
광고 목적이거나 Google rank를 올리려는 script인듯.

조회수가 500이 넘어버렸다.
평소에 10~40쯤이었던 걸로 기억하는 데,
allblog에 올린 이후로 폭주하고 있다.
대부분 검색 엔진(yahoo, google, daum)이 방문하는 건지도 모르겠다.
허수 사용자라니 이런..
Matrix 속에서 가상현실에 농락당하는 기분이다.

MP3P - IXING TM-S2

룸메가 mp3p를 샀다.
근데 평가는 왜 내가 하는 거지. ㅋㅋ

. 용량 : 1GB
. 배터리 사용시간 : 15시간(1GB짜리 mp3가 모두 player될 정도의 시간)
. 크기 : 요즘 나오는 아주 얇은 휴대폰만 하다. (7mm)
. 기능 : mp3, wma, movie 재생기능
. 가격 : 9.9만원
. 충전 : 핸드폰 충전기(집, 자동차, 편의점에서 충전가능)
. UI : 한글로 제목 잘 나옴, 디렉토리 관리됨.
. FM 라디오 지원, USB 2.0, Text viewer
. Play list
. Firmware Upgrade

. 기타 : 2G, 4G 제품도 있음.
http://www.ixing.co.kr/
http://dnshop.daum.net/front/product/ProductDetail?CID=D24001&PID=D258_000001&CACHE

. 컨텐츠
우영은 역시 나보다 노래를 많이 알고 있다.
일본 노래도 꽤 많이 들어 있군.

룸메꺼 뺏어서 들으니 탐나는 군.
근데 사서는 안될 것 같다.
밖에서 음악을 별로 안 듣는 편이라서 말이지.
나는 걸어다닐 때는 음악을 안 듣는 다. 주변을 감상하는 걸 더 좋아하니까.
그리고 내가 mp3p를 사지 않는 또 하나의 이유는 선곡 능력이 없어서
어떻게 골라서 집어 넣어야 할지 잘 모른다.;

방황

요즘은 뭔가 방황하지 않는 것 같다.
(시간 나면 맨날 미국드라마를 봐서 그런거 아닐까?)

보통 방황할 때는 이런 짓들을 하곤 했다.
. mp3를 틀어놓고 끊임없이 노래를 바꾼다.
  어떤 노래를 들어도 만족스럽지 않다. 5초마다 skip, skip..
. msn에서 대화할만한 사람을 찾아본다.
  List를 3번 정도 훑어본다.
. 키보드를 맘대로 두드린다.
  의미없이 마우스를 누르고 화면 위아래로 돌아다닌다.
. 휴대폰에서 최근 통화상대와 문자메시지를 전부 다시 확인한다.
. 인터넷에서 아무 곳이나 돌아다닌다.
  하지만 글을 집중해서 읽지는 못하고 계속 다른 글로 넘어간다.`

[Numerical Analysis] Ch.5

. Differential Egns
  . Ordinary Differential Equation(ODE)
  . http://en.wikipedia.org/wiki/ODE
  . http://en.wikipedia.org/wiki/Numerical_ordinary_differential_equations
   . A ODE is an equation containing a dependent function y(t) and its derivatives and possibly the independent variable t

. First order equation : F(y, y', t) = 0
. Second order equation : F(y, y', y'', t) = 0
. Linear : y', y''의 계수가 상수
. Nonlinear : y, y''의 계수가 변수
. Analytical하게는 linear, nonlinear가 중요하지만
  Numerical하게는 linear, nonlinear가 계산하는 데 별 차이가 없다.

. Initial Coditions
  . These are conditions that y must satisfy at a given point usually t = 0

. 3-body problem
  . http://en.wikipedia.org/wiki/3-body_problem
  . We can't solve it.
  . ex) solar system
  . 가장 좋은 방법을 써도 2억년 전 과거의 행성의 위치를 알기 어렵다.

. Initial Value Problem(IVP)
  . http://en.wikipedia.org/wiki/Initial_value_problem
  . t가 특정한 점에서 y, y' 값 등이 모두 주어진다.

. Boundary Value Problem(BVP)
  . http://en.wikipedia.org/wiki/Boundary_value_problem
  . y(t0), y(t1)의 t0, t1 boundary에서 값이 주어진다.

. Analytical하게는 IVP, BVP가 별 차이가 없지만
  Numerical하게는 계산하는 방식에 차이가 있다.

. 풀기
. y' = A
  y = Ax + B
  단순히 적분만 하면 된다.

. y'' = A
  y = Ax^2 + Bx +C
  단순히 적분만 2번 하면 된다.

. Linear 2nd order Eans
  g(x)y'' + f(x)y' + h(x)y = 0
  with constant coefficients
  y'' + by' + cy = 0
  a, b : given constants

  y = e^(alpha*t)로 놓고 푼다.
  y' = alpha * e^(alpha*t)
  y'' = alpha^2 * e^(alpha*t)

  e^(alpha*t)(alpha^2+a*alpha+b) = 0
  alpha = 1/2*(-a+-sqrt(a^2-4b)) = alpha1, alpha2 (근의 공식)
  http://en.wikipedia.org/wiki/Quadratic_equation

. Three Cases
  . 근이 두 실근일 때(distint real)
   a^2 - 4b > 0
   y = A*e^alpha1*t + B*e^alpha2*t

  . 근이 허근일 때(imaginary)
   a^2 - 4b < 0
   a^2 - 4b = -beta^2
   y = e^(-1/2*a*t) * (A*e^(1/2*beta*i*t) + A*e^(-1/2*beta*i*t))
   e^(i*theta) = cos(theta) + i*sin(theta)
   y = e^(-1/2*a*t) * (C1*cos(1/2*beta*t) + C2*sin(1/2*beta*t))

  . 근이 중근일 때(multiple)
   a^2 - 4b = 0
   y = A*e^alpha1*t + B*t*e^alpha2*t

[영화]D-war 예고편

http://www.imdb.com/title/tt0372873/
심형래씨가 영구아트무비를 세우고 만들고 있는 영화다.
예고편을 봤을 때 CG는 93년 나온 Jurassic Park(쥬라기공원) 1편 쯤 될 것 같다.

그리고 스토리나 화면은 98년 나온 Godzilla쯤.
사실 용가리든 D-war든 Godzilla와 다를 게 별로 없어보인다.

반지의 제왕 비슷하게 crowd animation 좀 해서 공성전도 있긴 한데,
사실 우리 나라 지형 산악지형이고 지금 남아있는 성도 별로 없는 데,
1~2층짜리 전통가옥 부시는 게 별로 멋있을 것 같지 않다.
동양 캐릭터(스님, 포도청 병졸 등..)와 서양 Knight 같은 캐릭터가 서로 싸우는 것도 너무 말도 안된다.
차라리 완전 서양식으로 하든지, 아니면 다 동양식으로 하든지.
story가 너무 빈약한 것 같다.

탱크, 헬리콥터도 장난감 티가 너무 나고 미국 군인들도 좀 어리버리하다.

2006년 5월 10일 수요일

[드라마]70's show - 610

정신없이 매일 보고 있다.
서양에는 정말 존대말이 별로 없나보다.
Eric이 아버지를 부를 때 "father", "daddy"가 아닌 "Red"라고 바로 이름을
부르는 일도 많다.
(물론 Eric이 개념없이 아버지에게 대드는 것도 사실이지만)

Eric은 starwars 광팬이라 자신을 제다이라고 생각한다.
action figure, lego 등 모든 것을 수집하고 애지중지 한다.

Kitty 아줌마는 술을 너무 좋아해서 집안에 술이 수십병씩 발견된다.
흥분하면 자신도 모르게 술을 마시고 기분이 헤롱헤롱 좋아진다.
가끔은 Red가 약을 먹여서 기분 좋게 만들어 버린다.

Red 아저씨는 2차세계대전, 한국전에 참전한 것 같다.
베트남전 등.. 전쟁 얘기를 즐겨하고 군대에 다녀오지 않은 남자들을
비꼬기 일수다.
"당신이 화장실에서 화장지 쓰는 동안, 나는 한국 해안에서 조개로 밑을 닦았어."
"케네디는 공산주의자이고 닉슨이 최고"
"뭐야, 지금 공산당 아기를 입양이라도 하자는 건가?"

페즈는 외국인이라 차별도 꽤 받는 다.
결국 Eric의 누나와 결혼해서 그린카드를 얻는 다.
처음에는 여자친구도 없었지만 한 번 사귄 이후로는
예쁜 여자들을 많이 사귀고 있다.
서비스가 불친절하기로 소문난 교통국에서 일하고 있다.
다른 공무원들처럼 자신도 매우 불친절하다.
한 때 옆에서 일하는 공무원과 사귀었다.

재키는 집안에 돈이 많고 사립학교에 다녔었다.
아빠는 뇌물수수 혐의로 감옥에 가고 엄마는 멕시코로 도망갔다.
치어리더인데 공주병이 심하다.
"공부는 ugly people들이나 하는 거야."

재키와 켈소는 자신들을 뺀 모든 친구들은 ugly people이고
자신들은 celebrate라고 생각한다.

켈소는 요즘 자신이 임신시킨 도서관 사서와 사귀고 있다.
그래서 돈도 벌고 카리스마 있는 유니폼을 입는 경찰관이 되려고 한다.

. KAHLUA Milk
KAHLUA라는 술은 우유에 타서 마시는 데, 커피맛이 난다.
이 편에서도 Kitty가 음식에 Kahlua를 너무 많이 넣어버렸다.
Kitty 아줌마는 요리를 매우 좋아한다.
요리 비밀을 알려주지 않는 옆집 아줌마를 매우 싫어한다.

. 나라들
South Park에서도 그렇듯, 이런 시니컬한 드라마들에서
보통 따분한 나라를 비교할 때는 Canada를 언급하는 일이 많다.
무질서한 나라를 비교할 때는 Maxico와 비교한다.
가난한 나라를 비교할 때는 Africa나 China.
악의 소굴로는 Russia나 North korea.
낭만적이거나 운명적인 romance를 들 때는 주로 France

[언어학개론]한글과 입력시스템

. 입력방식
  . 음성언어 : 음성인식
  . 문자언어 : 필기인식, 버튼 입력
   . 필기인식 - 한글의 경우, 영어보다 인식률이 낮다.
     26개가 아닌 1만개의 pattern이 필요하고 글자가 복잡하게 생겼다.
     (물론 중국어보다는 훨씬 낫다.)
   . 버튼 입력
     . 키보드 - 두벌식, 세벌식
     . 키패드 - 12개의 키, 천지인, 이지한글 등.

. 한글오토마타
  . KAIST 최광무 교수님 석사논문

. 키보드
. 두벌식
  왼손 - 자음
  오른손 - 모음
  도깨비불 현상 - 초성, 종성이 구별되지 않음.
  90%이상 쓰는 국가 표준

. 세벌식
  왼쪽 - 종성
  가운데 - 중성
  오른쪽 - 초성
  공병우 박사가 제안
  두벌식과 하드웨어는 같다.
  모아치기 가능
  균형적으로 손을 사용
  두벌식보다 빠르고 오타가 적음

. QWERTY
  타자기 typebar 꼬임을 막기위한 배치

. DVORAK
  qwerty를 개선, 복수표준

. 영문 - 원천적으로 모아치기 불가능

. 일문
  . 히라가나를 자판에 1:1배치 - 50개의 글자라 shift를 너무 자주씀
  . 발음대로 로마자 입력
   . spacebar를 누르면 변환
   . 한자는 dictionary가 자동으로 떠서 고름.

. 중문 - 일문과 비슷

. Dictionary 방식의 문제점
  dictionary를 관리하고 update해야 한다.
  신조어의 등장이나 빈도수 변화를 따라가기 어렵다.
  사람마다 빈도수가 다를 수 있다.
  하지만 좋은 사전을 갖추면 꽤 smart한 방식이다.

. 휴대폰
  . 글자당 클릭수
  . 입력 규칙의 단순성 - 쉽게 배울 수 있는 것
  . 손가락의 이동거리(동선)

. Error detection
  . 가방 - 가ㅏㅇ(ㅂ를 빼먹은 것이 쉽게 드러남)
  . 자판 - 자ㅏㄴ(ㅍ를 빼먹은 것이 쉽게 드러남)
  . keyboard - keyborad (a, r이 바뀐것이 잘 보이지 않음.)
  . transformation - transfomation (r이 빠진것이 잘 보이지 않음.)

. 참고
MS windows XP 확장입력기 ? 필기인식
MS windows XP Japanese IME
ezTrans XP 일한 번역기
한글 모아쓰기 오토마타, KAIST 전산학과, 최광무
세벌식 사랑 모임 - http://kyg.pe.kr/3key/
한글문화원 - http://moonhwawon.ye.ro/
휴대폰 한글 입력 UI 유형 ? 호남대학교 고갑천
http://en.wikipedia.org/wiki/Qwerty
http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard
An Introduction to Formal language and Automata

[언어학개론]한글의 기원

. 과연 한글은 세종대왕이 만들었는 가?
집현전 학자들은 꾸준히 반대 상소를 올렸다.
결국 국사교과서는 잘못된 것이다.
세종대왕이 만든 이후 그들은 주석을 달고(훈민정음 해례본) 교육용 교제를 만드는 일만 했다.

. 그럼 누구와 만들었는 가?
세종대왕은 왕족 측근들을 동원해서 만든 것으로 보인다.

. 정말 그들이 처음부터 만들었는 가?
한단고기(위서 논란이 있지만)와 많은 역사서들을 보면
원래 우리나라에는 고조선 시대부터 한글과 비슷한 글자가 있었고
그것을 정리해서 세종대왕이 반포한 것으로 보인다.
(이두, 향찰 외에도 한글과 비슷한 글자가 있었다.)
세종대왕의 업적은 창제가 아니라 정리, 반포가 되어야 한다.

. 발성기관
발성기관을 본따서 만드는 것은 가능한가?
조선시대 해부학 수준으로 봤을 때 어렵다.
아무리 입안을 자세히 봐도 해부전에는 알 수가 없다.
조선은 유교 사상과 한의학때문에 해부학이 엄격하게 금해지고 있다.
조선 중기 이후에서야 처음으로 해부가 시작된다.
독살시에도 주로 외부를 보고 판별하였고
종기를 째기는 것보다 더 깊히 째거나 장기를 관찰하지는 않았다.
알려진 바처럼 허준이 동의보감을 쓰기위해 해부를 했다는 것도 허구다.

. 외국의 비슷한 문자들
일본의 신대문자가 비슷하다는 주장 - 일본인들이 100년전 조작한 것으로 보인다.
인도의 문자와 비슷하다는 주장 - 비슷해보이지만 언어적 연관성이 전혀 없다.

[언어학개론]문장부호, 한글 풀어쓰기

오늘은 조별 발표를 했는 데,
한 조는 문장부호를 열심히 설명했고
다른 조는 한글 풀어쓰기를 다뤘다.

. 문장부호
맞춤법 부록에나 나오는 꽤나 사소한 문제라고 볼 수도 있는 데,
아무튼 연구가 부족한 편이란다.
11세기 한문을 독해할 때부터 사용했다는 군.
생각보다 역사가 긴 것 같다.
주로 문단 나누기, 제목, 소제목 분리, 독해를 위한 보조선 등으로 쓰이다가
19세기 후반 서양언어에서 !, ? 등 오늘날의 문장 부호를 도입했다.
한국어는 어미변화가 잘되는 편이니까 !, ?가 없어도 사실
의문문, 감탄문을 표현하는 데 지장이 없다.
그래서 서양의 언어처럼 문장부호가 발달하지 못했다고 한다.

. 풀어쓰기
. 1911년 주시경 선생, 1946년 최현배 선생
세상 대부분 언어들이 풀어쓰기를 하니 우리도 그렇게 하자.

. 1970년대 타자기, 신문조판
타자기나 신문조판에서 한글은 매우 다루기 어렵다.
풀어쓰기를 하면 24개로 되는 데, 모아쓰려면 1만개의 글자판이 있어야 한다.
Automata가 매우 단순해 진다.
하지만 컴퓨터의 발달로 이미 그런 것들은 극복되었다.

. 검색엔진
풀어쓰기를 하면 검색엔진에서 어미 변화에 무관하게 query를 던질 수 있고
결과도 더 괜찮게 얻을 수 있지 않을 까?
조합형 encoding으로 처리해서 검색 엔진 내부에서 얼마든지 처리 가능하다.

. Encoding
24글자면 되니 ASCII에서 잘 끼워넣을 수도 있을 것 같다.
하지만 UNICODE를 쓰는 것이 internationalization, localization에 더 적합하다.

. 문법의 일관성
풀어쓰기를 하면 문법의 예외상황이 줄어든다.

. 외계어
초등학생들이 좋아하는 외계어도 사실 풀어쓰기의 일종이다.
'ㅋㅋㅋ'도 표준어가 될 수 있다.

. 전통
수백년간 써온 한국어와 과연 같을 까?

. 로마자 mapping
그럴바에는 차라리 로마자에 mapping 시켜버리자.
ㅣ-> I 등으로 비슷하게 생긴 것끼리 하든지, 음가를 보고 하든지.

. Font
풀어쓰기를 하면 font 개발이 쉬워진다.

. 줄여쓰기
ㅇ, ㅡ는 음가가 없는 글자들로써 placeholder이다.
풀어쓰기에서는 그것들을 안 써도 된다.

. 단점들
세벌식 모아치기가 안된다.
한글의 구성원리를 포기하는 것이 된다.
ㅔ와 ㅓㅣ의 구별이 어렵다.
한국어 문법을 너무 많이 바꾸게 된다.
사람들이 읽는 데 익숙하지 않다.

Final Fantasy XIII(FFXIII)

사실 final fantasy는 한 번도 play해본 적이 없다.
전직룸메 정모군이나 주모군(not me) 등.. 일부 일본게임 매니아들이 즐기는 걸 잠깐 구경해봤을 뿐.
동영상이 멋진걸로 유명하다.

스토리도 사실 잘 모르겠지만 대충 미소녀와 미소년 주인공이 나와서
위기에 처한 소녀를 구출하는 소년이 주내용인 것 같다.
(시리즈마다 좀 다르다고 한다.)
공주, 왕자 놀이하면서 무도회 장면도 나오고 데이트를 즐기고 있으면
갑자기 적이 나와서 그들의 연예 사업을 방해하는 등..

이번 시리즈의 예고편에서는 기차 안에서인지 무슨 hallway에서
총을 마구쏘는 적들과 싸운다.

예전부터 그랬지만 갈수록 주인공 얼굴이나 머리카락을 표현하는 게
나아지고 있는 것 같다.
FFX 쯤에서는 머리카락도 꽤 굵게 처리한 것 같은 데,
이제는 가닥들도 보이고 얼굴도 훨씬 섬세하다.

예전 시리즈들을 보면
친구들이 같이 나와서 싸움을 도와주기도 하고
네 발 달린 짐승을 타기도 하고
무슨 우주선 같은 게 있어서 그걸 집(혹은 본부)로 삼기도 한다.
얼음판 위에서도 싸우고 도망도 치고
소녀가 소년에게 마법을 통해서 힘을 보태주기도 한다.

주인공은 일본인과 서양인의 혼혈쯤 되게 생겼고
주변인물들은 완전 서양인인데,
다들 서양의 언어가 아닌 일본어를 쓰는 것도 생각해보면 웃기다.
물론 일본에서 만들었으니 그렇지만 서양사람들이 보면 얼마나 웃길까?
인종이 언어를 결정하는 것은 아니지만 그냥 신기하다.

한국어를 잘하는 외국인을 봐도 더빙한 것처럼 웃긴데,
사실 우리 옆집 아저씨와 다른 목소리는 아니다.
언어에 따라 목소리톤이 다르게 나는 데, 그들도 국어를 배우면 우리랑 비슷하다.

FFXII(12)의 주인공들은 너무 어리게 설정된 듯.
10~12살짜리 얼굴은 그래도 영웅으로는 너무 어린 것 같다.
18~20살 쯤은 되야 뭔가 진지하고 혈기 넘쳐보이지.

[PL]Ch.8- Control in Sequential Languages

. Spaghetti Code
  . Fortran
  . Assembly와 거의 1:1로 mapping된다.
  . CONTINUE statement
     . 아무일도 하지 않고 goto의 label로만 사용함.
  . GOTO를 매우 남발하고 있어서 코드 읽기가 어렵다.
  . block내로 뛰어드는 일도 가능(과거 변수값 재활용 등)

. Structured Control
  . GOTO는 이해하기 어렵기 때문에 다른 것을 PL이 제공해보자
  . Dijkstra - "Goto considered hamful"
  . Control flow(structure jumps)
  . if then else end
  . while do end
  . for { }
  . case
  . Can't jump into the middle of a block
  . Activation Record 처리에 명확한 답이 없고 이상해지므로 compiler가 배제함

. Exceptions
  . Purpose
  . Jump out of a block or function invocation
     . Block내에서 문제를 해결할 수 없을 때 밖으로 나간다.  
     . 여러 단계의 block을 한번에 나간다.(non-local goto와 비슷)
  . Pass data as part of the jump
     . 벗어날 때 parameter를 jump
  . Return to a program point that was set up to continue the computation
     . 정해진 곳으로 return

  . Memory Management
  . Unnecessary activation record may be deallocated

  . raise = throw = abort part = jump
  . handler = catch

  . Static scope와 dynamic scope
  . variable은 static scope가 이해하기 쉽지만
     handler는 dynamic scope가 더 의미가 있다.
  . Static scope로 하게되면 library작성자나 callee가 결정해야 하는 데
     dynamic scope로 하면 library user나 caller가 뭘 할지 정할 수 있다.

  . ML : handle이 pattern match, type이 아닌 다른 특별한 것으로 취급됨
  . C++ : 어떤 type이든 throw하고 type에 따라 handle

  ex) overflow일 때
  . Numerator는 0, Denominator는 1을 return

  ex) Computing the inverse of a matrix
  . determinant가 0이 아닐 때만 inverse가 존재한다.
  . determinant를 먼저 구해 볼수도 있지만 inverse만큼 cost가 크다.
  . 따라서 inverse를 구하는 중간에 determinant가 0이면 raise exception
 
  . Exception은 언제 쓰나?
  . Error conditions에 쓴다.
  . Efficiency를 위해 쓴다.
     ex) short-circuit
     ex) 많은 값을 곱할 때
         . 중간 값이 0이면 더 이상 계산하지 않아도 된다.
         . 심지어 마지막 원소가 0이라도 stack pop시간을 아껴준다.

  . Typing
  . Exception은 무슨 type으로 할까?
     ML에서는 그냥 아무 type(type variable)이 되게 한다.

  . Resource allocation
  . Stack은 그냥 pop한다.
  . Heap은 ML에서는 garbage collector가 챙긴다.
     C에서는 user의 책임이다.
  . Lock, Thread등에서는 문제가 매우 골치아프다.
     (잘 챙기든지, 포기하든지 알아서해라.)

. Continuation
  . http://en.wikipedia.org/wiki/Continuation
  . 현재 value를 바탕으로 remaining work를 기록해둠.
  . Program optimization등에 이용됨.
  . upcall
  . callback
  http://en.wikipedia.org/wiki/Callback_%28computer_science%29
  . the rest of the computation to be performed after it.
  . Continuation으로 error(exception) handling도 가능하다.

. CPS(continuation-passing-style)
  . http://en.wikipedia.org/wiki/Continuation-passing_style
  . control이 continuation이라는 형식으로 통해 explicit하게 pass됨
  . k(Kappa) : continuation argument

. continuation-passing-form
  . function이나 operation이 continuation으로 pass되는 것
  . return 할 필요가 없다.
  . tail call과도 관련 지을 수 있다.
  . ex) fact(9)에서
  fact(8)의 continuation : lx.9*x
  fact(7)의 continuation : ly.(lx.9*x) (8*y)
  fact(6)의 continuation : lz.(ly.(lx.9*x) (8*y)) (7*z)
  . initial continuation : the identity function

. TCO(Tail call optimization)
  . http://en.wikipedia.org/wiki/Tail_call_optimization
  . Recursive call을 iterative로 바꿀 general한 방법은 없다.

2006년 5월 9일 화요일

Nature

My interest in natural phenomena is increasing.
Becasue Daejon is less developed than Seoul.
And CG is emulation(imitation) of natural phenomena.

I can hear frogs' cry after last heavy rain.
Precisely, narrow-mouth frog(맹꽁이).

Today's weather is good.
The sky is blue and shiny.
The wind is cool and fresh.
Trees are full of shiny green leaves.
Not just green, but brilliant green.
It dazzles my eyes.

Two days ago, It was not that good.
It was wet and hot.
It was typical monsoon climate.
It was higher than 20'C degree.
Now everybody wear half-sleeves.

When I was a kid, I can hardly recognize natural phenomena.
But, now I can.
Because I choose and clean my cloth by myself.
I control room temporature, buy fan, organize everything for myself.

[CG]2006.5.9. MS Research Asia - Harry Shum

. 오늘 소개한 논문 2편
Yin Li, Jian Sun, Chi-Keung Tang and Heung-Yeung Shum. Lazy Snapping. SIGGRAPH 2004. (ACM Transaction on Graphics)  (Video 19M)
http://research.microsoft.com/research/pubs/view.aspx?pubid=1266
http://research.microsoft.com/~jiansun/papers/LazySnapping_SIGGRAPH04.pdf
http://research.microsoft.com/~jiansun/videos/ImageCompletion_tiny.wmv

Jian Sun, Lu Yuan, Jiaya Jia and Heung-Yeung Shum. Image Completion with Structure Propagation. SIGGRAPH 2005 (Video 56M).
http://research.microsoft.com/~jiansun/papers/ImageCompletion_SIGGRAPH05.pdf

. 참석자
신성용, 좌경룡, 홍세준, 최성희, 한환수, 김진수 교수님을 포함한
10여명의 CS 교수님들과 터만홀을 가득 채운 학생들.

. 관련 분야
Signal processing, Image processing, Computer Vision, Computer Graphics

. MSRA 소개
1998년 베이징에 설립, 200여명의 researchers, 2,000명의 intern students.
거기 있는 유명한 사람들 : SGI 설립자, IBM Deepblue 설계자 등..
주로 computer Graphics관련 분야를 집중적으로 연구함.
(UI, Digital Media, Digital Entertainment, Networking and systems, searching and mining)
중국 학생이 70%이상, official language는 english
2005년 Siggraph에 9편, SIGIR에 12편이 실림.
(전체 논문의 10%에 해당하는 엄청난 양임.)
World's hottest lab 등으로 잡지에 소개됨.

. TTG(Technology Transfor Group) : Parachut group
  Research를 product로 바꿈.                                  

. Dr. Harry Shum
CMU Robotics 전공, 4년전 신성용 교수님초대로 KAIST 방문
Managing Director MSRA(1999~2006)

. Prior, Context and Interactive Computer Vision
  완전 자동이 아니라 약간 step back해서 User의 입력을 약간 받아서
  쉽게 feedback해주고 잘 해보자.

. IBM : Image Based Modeling

. Lazy Snapping
Just draw two lines
In line와 out line만 그리면 됨.
Red line : What you want
Blue line : What you don't want
Lazy : 부지런하게 모든 boundary를 그리지 않고 선만 대충 그음.
Interactive Graph Cut

Divide and Conquer : Input -> Coarse Boundary -> Refine Boundary
Stroke Drawing <-> Graph cut Algorithm
Graph cut problem -> Per-Pixel Graph cut 대신 Pre-segmentation first
Energy Minimization E(x) = E1(Xi) + lE2(Xi, Xj)
E1 : difference
E2 : Similarity

Noting new algorithm, Present New system.

. 논문 잘 쓰는 법
Write -> Intoducting, Abstract, Summary -> Title
Good title is short title => 2 words, end with ing

. Image completion
Small Missing : Pixel-level, PDE based
Large Missing : how?
Curve-based : BP(Belief propagation) Algorithm
Our Motivation : Missing salient structures, fill-in
Abstract window, curve - a few curves - human specify that.
Structures completion befor texture complete
Fragment-based Image completion, Image Repairing, object Removal

Node Energy, Coherence Energy => Dynamic Programming
Graph Labeling, discretize nodes
Decouple Image into two part

Multiple Intersecting Curves
Loopy Belief Propagation
Tour Into pictures도 쉽게 가능

사진을 2장 찍은 것이 아니라 object를 지우고 그 부분을 메꿈.
자세히 비교하면 이상할 수도 있지만 결과 사진만 보면 매우 그럴듯 함.
걸리적거리는 사람이나 물체를 깔끔하게 지워버릴 수 있다.
Boundary를 바꾸고 싶을 때 가리고 새로 그리기만 하면 된다.

. 감상
마치 무슨 마법이나 장난을 보는 것 같다.
이런 신기한 툴이라면 누구나 써보고 싶어할만한 것 같다.
연구자나 사용자 모두 직관적이고 매우 재미있어할 수 밖에 없겠다.

지겨운 algorithm이나 math가 이런 멋진 결과들을 가져오다니.


2006년 5월 7일 일요일

[드라마]Lost

꽤 많은 이야기가 얽혀있다.
등장인물들의 집안 일들이 하나씩 언급되는 데,
많은 사람들의 이야기가 여기저기서 겹친다.

그리고 많은 수수께끼들.
. 고장난 비행기에서 살아난 사람들 - 앞쪽 사람들과 뒷쪽 사람들
. 무인도의 그들 - 가끔 사람들을 죽이거나 잡아간다. 비행기 탑승자 명단도 가지고 있다.
. 숫자의 비밀 - 로또 당첨, 벙커 등에 적힌 번호가 모두 같다.
. 벙커 - 이상한 동양 회사에서 만든 벙커와 알 수 없는 임무.
. 무인도의 검은 연기 - 폭발이 나고 사람들을 다치게 한다.
. 무인도의 맹수들 - 곰 등..
. 마약상의 비행기
. 배에서 난파된 프랑스 여인 - 20년간 갖혀 있었다.
. 초자연적 현상들
  . 로크의 다리가 고쳐짐.
. 과거에 난파되어 왔다가 죽은 사람들
  . 꽤 자주 발견된다.

[미국드라마]70's show

http://www.imdb.com/find?s=all&q=70%27s+show
제목은 70년대 쇼인데, 배경이 70년대이다.
실제로는 요즘 연재되고 있는 데, 배경을 70년대로 설정한 것뿐
실제로 70년대에 찍은 드라마는 아니다.

그래서 대사들이 들어보면 매우 웃기다.

주인공, 에릭(Eric Forman)이라는 키크고 매우 마른 나약한 청년.

아버지는 한국전에 참전한 해병이었는 데, 매우 보수적이라서 닉슨을 지지한다. 자식들에게 절대 사랑한다라고 말하지 않고 시니컬하다.
가장 좋아하는 말은 "Kick your ass", "Go to hell", "What the hell".
쇼핑몰을 운영하고 있다.
여자같은 남자나 게이 같은 것을 제일 싫어한다.
나약한 아들인 에릭에게 매일 화를 낸다.

엄마(Kitty Forman)는 간호사인데, 요리를 좋아하는 전형적인 미국 주부. 매우 감정적이다.
하지만 술이 들어가면 딴 사람이 된다.
(프랜즈에서는 피비의 동생과 결혼한 나이든 여자로 나온다.)

에릭의 여자친구, 도나는 매우 등치가 커서 사람들에게 놀림을 당하기도 한다. 그래서 에릭이 여자역할을 하고 도나가 남자 역할을 할 때도 있다.

하이드(Steven Hyde)는 어려서 부모를 잃고 (혹은 어디로 도망가버렸든지)
에릭의 지하실에서 얻혀산다. 하지만 재치있고 매우 똑똑하고 사업수완이 좋다.
친구들을 비꼬고 놀려먹으면서 돈도 많이 번다.

페즈는 남미에서 온 교환학생, 여자친구가 없어서 슬퍼하는 데,
취향도 특이하다. 가끔 정말 예쁜 여자친구를 사귀기도 한다.
발음이 특이해서 사람들이 못 알아 듣기도 하는 데, 단어의 의미를 맘대로 해석해서 유머가 되기도 한다.

도나의 아버지는 옆집에 사는 데, 폭탄급인물. 빨간 머리에 지저분하고 친구도 없다. 지능도 좀 낮은 사람으로 나오는 듯.

켈소는 등장인물 중에 가장 멍청하지만 여자들에게 인기가 아주 많다.
여자 친구 재키는 공주병.

레오라는 이름으로 나오는 히피 아저씨는 항상 약간 취한듯한 모습이다.
넋이 나가있는 데, 정신세계가 이상하다.

에릭의 누나는 로리인데, 헤픈 여자로 나온다. 사람들 모두 누나를 대놓고 놀린다.
다들 에릭의 지하실에서 대마초를 피는 장면이 매회 중간에 나온다.
중간에 아버지에게 걸리기도 하는 데, 대충 얼버무리고 넘어간다.
70년대 히피 문화와 함께 그런 일이 꽤 흔했나보다.

디스코라든지, 롤러장, 새로 생기는 쇼핑몰 등.. 이 배경이 되곤 한다.

[영화]Startrek Insurrection, Nemesis - 소포일러

First Contact보는 김에 몰아서 봐버렸다.
First contact보다 영어가 clear하게 이해되지는 않는 데,
아무튼 정리해보면.

. Insurrection
문명이 고도화되지 않은 어떤 종족들이 자신들의 행성에서 살고 있다.
사실 그들은 기술력이 뛰어난데, 기술을 남용하다가 은하계가 폭파된
후로는 기술을 쓰지 않고 그냥 농경사회에 머무르기로 결정했다.
젊음을 유지해주는 입자가 많은 행성이라서 늙지도 않고 수십년간
기술을 익히고 수백년간 살아간다.

그러던 중 클로킹 상태로 그들을 관찰하던 federation측에서는
그들의 행성을 접수하기로 마음먹는 다.
비슷한 행성을 만들어서 그들을 강제 이주시키고
그 행성의 자원(늙지않게 해주는 입자)을 이용해서 더 많은
federation 시민들을 돕겠다는 생각.

피카드는 그 행성 사람들의 편에서서 이주를 막는 다.
아무리 인류에 도움이 된다고 하더라도 그들의 자유를
강제로 침해할 수는 없다는 생각이다.
그러던 중 여인과 사랑에 빠지기도 한다.

피카드와 사랑에 빠지는 여인으로 나오는 배우는 Donna Murphy.
스타트랙에 나오는 여배우들은 스타일이 다들 비슷한 것 같다.
백인에 쌍커풀이 진하고 주로 눈을 보고 뽑는 듯.
의사(Dr. Beverly Crusher) 로 나오는 Gates McFadden도 그렇고
심리상담가(Deanna Troi)로 나오는 Marina Sirtis도 그렇다.

Data는 기계라서 호기심도 매우 많고 순진한 편인데,
(나중에 사기치는 걸 많이 배워서 적들을 속이기도 하지만)
마지막 장면에서 첫 장면처럼 아이들과 함께 짚단 속에서 튀어나오는 게
참 웃기다.

. Nemesis

제목처럼 적들이 자신과 거의 비슷한 모습을 하고 있다.
보통 Nemesis는 숙적이라고 변역되기도 하는 데,
자신과 거의 비슷한 능력과 모습과 생각을 하는 적을 뜻한다.
Twins, clone, mirror image 같은 식으로 작품들에 등장한다.

여기서도 피카드 선장의 DNA를 복제한 대머리 젊은이가 적으로 나오는 데,
피카드와 달리 어린 시절을 매우 비참하게 감옥에서 보낸다.
피카드도 사실 젊었을 때 꽤나 오만한 사람이었다.
하지만 지금은 개과천선(?)하여 온화한 사람이 되었다.
그래서 그 젊은이를 설득하기 위해 노력을 많이 한다.

결국 노력은 실패하고 그와의 대결은 피할 수가 없다.
그리고 그는 완벽한 것이 아니어서 살기위해서는 피카드의 유전자가 필요하다.

피카드와 함께 Data의 형제도 등장한다.
Data를 만들기 직전에 만든 prototype 로봇인데,
Data처럼 경험이 많지 않아서 좀 더 어벙하다.
그 로봇도 사실 nemesis의 작전이었는 데,
그것을 역이용해서 data가 직접 그들의 배로 잠입해 들어간다.

First Contact에서 싸울 때도 그렇고 Data는 위장, 잠입 업무에
많이 동원된다. 상대방에게 넘어간 척 하고는 다시 돌아오는 등..
로봇이라서 충성심이 없고 정해진 로직으로만 움직일 꺼라고 생각하는 적들 덕분에 언제나 많은 일을 한다.

[Program]MSN&Yahoo Message Archive Viewer 1.6

FakeWebcam이라는 웃기는 회사에서 만들었다.
MSN을 이용한 툴을 만드는 회사인 것 같다.
이건 그냥 msn 대화 내용을 보여주는 툴이다.

msn 사용자 -> 친구 -> 날짜별로 나눠서 보여준다.
(msn이 창을 한 번 닫고 다시 열면 seperator가 저장되나보다.)

몇 가지 더 있었으면 하는 기능은 통계를 내서 graphical하게 보여줬으면 좋겠다.

다른 프로그램들도 신기한 게 몇 개 있다.

webcam이 없는 컴퓨터에서 webcam이 있는 것처럼 에뮬레이션하고
webcam 대신 동영상을 틀어서 다른 msn 사용자에게 전송하는 프로그램.

화면 내용을 그대로 recording하는 프로그램 등..

2006년 5월 6일 토요일

MSN log analyzer

내 컴퓨터에 있는 log 중에 가장 쓸만한 게 뭐가 있나 생각해 봤다.
시스템 관련 로그들은 Network분야에서 수없이 연구하고 있으니
내가 따로 하지 않아도 된다.
좋은 분석기들이 이미 많이 있을 것이다.

그런데 MSN log analyzer는 하나도 찾을 수가 없다.
sourceforge에서 "msn log"라고 치면 하나도 안나온다.
freshmeat에서 "msn log"라고 치면 messanger sniffer(메시지를 훔쳐보는 일종의 해킹툴)나 monitor(network 관리자가 activity를 check하는 툴)만 나온다.

MSN log 정보는 상당히 가치있는 정보인데,
왜 분석툴은 하나도 없는 걸까?

내가 최근에 누구랑 말을 가장 많이 하는 지만 봐도
누구랑 친한지, 누구랑은 요즘 뜸해졌는 지, 쉽게 알텐데.

Log 분석에서 더 나아가 msn client에 직접 붙이면
친구들이 언제 on-off인지도 추적가능하다.
어떤 친구는 주중에 잘 들어오고 어떤 친구는 주말에 잘 들어오고
낮시간, 밤시간, 아침시간..
각자 잘 들어오는 시간들을 logging해두면
언제 대화를 걸기 적절한지 추정할 수도 있다.
사람들은 대개 규칙적으로 살기 마련이니까.
Off-line일 때 무작정 그 사람을 기다리는 것보다
과거의 history를 보고 언제쯤 on-line일 가능성이 높은 지 추정할 수 있다.
------------------------
내가 하나 만들어도 되지만, 역시 너무 귀찮다.

------------------------
MSN을 이용하는 프로그램의 종류

http://www.freedownloadscenter.com/Best/msn-log-history.html
. Sniffer
ShadowIMSniffer 4.01 
MSN Chat Monitor 2.8.1114 

. MSN 여러개 띄우기
MSN Polygamy 7.5 1.0

. Archive
msn archive decoder and viewer 1.0
Belkasoft Universal IM History Extractor Pro 2.01
Universal IM History decoder 1.2 

. Contents를 추가하는 프로그램
MSN Content Adder 2.0 
MSN Content Magic2.0 2.0
MSN CE/DP Stealer 2.0  - 다른 사람의 emoticon 빼돌리기
MSN Winks Installer 1.2.2 
Messenger Jump! MSN Content Installer 1.10 
MSN Emoticons Installer 1.2 
MSN Display Pictures Creator 1.1 

User Interface

언어학 개론 발표 준비를 하고 있다.
중간고사 대신 하는 발표인데,
우리는 한글 입력에 관한 부분을 발표할 예정이다.

준비하면서 드는 생각인데, 역시나 전산학의 화두는 interface가 될 것 같다.
네트웍 세상이 되면 processing power 같은 것은 별 문제가 되지 않는 다.

현재는 키보드로 입력하고 있지만 그것은 그렇다고 치고
모바일 장비에서 정보를 입력할 방법이 별로 없다.

주로 생각되는 방법들은 음성인식이나 필기인식, 카메라로 찍기(Vision).
모바일도 충분히 processing power가 되는 데, 크기가 워낙 작아서
user의 입력을 효과적으로 받을 수가 없다.

. 음성인식
사실 가장 좋은 방법인 듯 한데, 인식률이 잘 안 올라가는 것 같다.
완벽하게 되면 거의 키보드랑 같아질텐데.

. 필기인식
주로 필기인식이라고 하면 타블렛 같은 곳에 스타일러스 팬으로 적는 것들인데
그렇게 해서는 자연스러운 질감을 주지 못할 것 같다.
스크린은 최대한 종이 질감을 흉내내게 하고
입력은 차라리 타블렛으로 받기 보다는 펜에 자이로 센서를 이용하는 편이 낫지 않을 까?
(자이로 센서는 디바이스 크기의 제약이 없다.)
아니면 유저들이 허공에 글씨 쓰는 법을 연습하든지 말이다.
사실 일반적인 사람들이 종이에 글씨를 쓰기에도 수년간의 연습이 필요한 것처럼
허공에 글쓰는 방법도 잘 개발하고 거기에 맡는 언어나 동작, 폰트를 잘 개발하면 가능할 것 같기도 하다.

. 카메라로 찍기(vision)
주로 vision 분야에서 연구되고 있는 데, 뭐든 잘 찍어서 사진이나 동영상이 되면 거기와 관련된 정보를 잘 검색하는 식으로 해야 되지 않을 까?
요즘 디카도 많이 보급되는 데, 사실 문자 중심의 웹을 대체 한다기 보다는
사진, 동영상 자료가 위치, 시각 정보와 함께 수없이 많이 쌓이다보면
나름대로 유사도 검색 같은 방법을 통해서 나름대로 의미를 찾겠지.

동영상 검색, 이미지 검색 영역은 기존의 문자 중심의 검색 전문가들(IR, DB 전공자들)보다는
vision이나 CG 전문가들이 개척해야 할 영역인 것 같다.

. 자동완성 기능
입력을 돕는 기능들도 좋을 것 같다.
입력 속도를 빠르게 하기 위해 최소의 정보만 입력하면 추천단어를 주거나 자동완성을 시켜주는 거다.
주로 속기법 등에서 시작된 방법인데, 요즘 인기가 많다.
실시간으로 사전을 검색하면서 가장 그럴듯한만한 완성된 단어들을 보여주는 거다.

2006년 5월 3일 수요일

[PL]Ch.7 - block-structured language and stack storage

. Fortran
  . recursive call이 불가능하다.

. caller : 함수를 부르는 측
. callee : 불린 측

. In-line block
  . function, procedure와 달리 block내에 block이 있어서 자연스럽게 그 block이 수행됨.
  . most simple block(가장 단순한 형태의 block)

. Nested function declaration
  . function내에서 function을 선언하는 것
  . C, C++에서는 지원하지 않는 다.
  (C++에서 Nested class는 지원함)

. Block
  . begin, end marker로 표시되는 프로그램 조각(a region of program text)
  . block의 시작마다 variable declaration이 있다.
  Memory allocation도 한다.
  . block의 끝마다 local variable을 없애고 memory를 deallocation시켜 memory를 아낀다.
  . nesting되야하고 partially overlap은 안된다.
  (if, for 등 모든 것들이 그렇다.)
  . 각 block은 Activation Record를 가진다.

. block의 종류
  . In-line block
  . function
  . procedure

. scope : 변수가 visible한 영역
. lifetime : 변수의 수명(allocation에서 deallocation사이)
. scope와 lifetime은 약간 다르다.
. a hole in the scope
  . lifetime이 expire되지 않았지만 scope상에서 가려져서 visbiel하지 않음.

. variable
  . local variable : 현재 block내에 선언됨
  . global variable : 현재 block 바깥에 선언됨
  . global variable은 항상 어떤 block의 local variable이다.

. scoping
  . global variable의 위치를 결정하는 문제
  . static scoping
  . 가장 가까운 block의 variable을 이용
  . Access Link를 따라가서 변수를 찾음.
  . Access link를 몇 단계 따라갈지는 compiler가 정해줌.
  . 최근 언어들이 채택하고 있음.

  . dynamic scoping
  . 가장 가까운 AR의 variable을 이용.
  . runtime에 일일히 stack frame을 뒤져 variable이 있는 지 확인함.
  . LISP이 채택한 방식

. AR(Activation Record, Stack frame)의 구성요소
  . Control link(CL)
  . Access link(AL)
  . Return address(RA)
  . Return value address(RVA)
  . Parameter
  . local variable
  . Intermediate result(Temporary storage)

. 그 외의 구성요소
  . Program Counter(PC)
  . Environment Pointer(EP)
  . Stack Pointer(SP)

. Control Link = Dynamic link
  . stack frame의 previous frame을 가리킨다.

. Access Link = static link
  . parent block을 가리킨다.
  . parent가 recursive call이었을 때는 가장 최근의 parent를 가리킨다.
  . (lexical scope에 따라 가리킨다.)
  . C는 nested function declaration이 안되므로 AL이 필요없다.
  (AL이 모두 global scope을 가리킬 것이므로)
  . 예상 시험문제 : 다음 프로그램을 보고 CL, AL 등을 연결하세요.

. Return address
  . call이 끝나면 돌아갈 주소(caller의 주소)

. Return value address
  . return시 value을 넣어 줄 곳

. Parameter
  . caller로 부터 넘어온 value

. Intermediate result
  . compiler가 복잡한 expression의 중간 결과를 임의로 저장한 것.
  . temporary value를 저장한다.

. Program Counter(PC)
  . 현재 code상에서 어느 줄을 수행하고 있는 지 나타낸다.

. environment pointer(frame pointer, EP, FP)
  . current stack(run-time stack), 새 activation record(AR)을 가리킨다.
  . 항상 index register에 넣어두기로 약속했다.

. stack pointer(SP)
  . stack의 top을 가리킴

. 사실 stack은 linked list처럼 생겼다.
  . previous node에 해당하는 것을 control link가 가지고 있다.
  . 그럼 왜 linked list가 아닌 stack이라는 이름으로 부를까?
  . linked list는 중간 원소를 없애거나 추가하기도 하지만
  . stack은 항상 top에서만 추가, 삭제를 한다.(LIFO)
  . 따라서 우리의 경우에는 top만 바꾸므로 stack으로 구현한다.

. 새 stack을 allocation(push)하는 instruction
  . M(SP) <- EP
  . EP <- SP
  . SP <- SP + sizeof(AR)

. stack을 deallocation(pop)하는 instruction
  . SP <- EP
  . EP <- M(EP)

. Parameter passing
  . formal parameter
  . declaration시 자리를 차지하는 것(place holder)
  . actual parameter
  . function call시 쓰이는 expression
 
  . call-by-value
  . actual parameter를 evaluation 한 후 r-value(value, contents fo address)를 복사한다.
  . Object가 클 때 비효율(inefficient)적이다.

  . call-by-reference
  . variable의 l-value(memory address)를 넘긴다.
  . object가 아주 작을 때(fit directly on stack) 비효율적이다.
  . 문제점 - parameter가 constant이거나 expression이면 이상해 진다.
  . aliasing이 생겨서 분석이 어렵다.
  . 해결책
     1. call-by-reference를 안쓴다.
     2. 그냥 내버려둔다. (User의 책임이다.)
     3. PL을 잘 design하여 compiler시 error를 낸다.

. Aliasing
  . 2개 이상의 name이 같은 object나 location을 가리킬 때

. Compiler의 중요한 임무
  . variable의 위치를 알아야 함.
  . 위치 : 어느 block(which block)인가 + 몇 번째인가(dispx, displacement x)

. caller가 할 일(AR 만들기)
  1. EP를 새 AR로 set
  2. RA set(자신의 현재 PC)
  . callee의 RA 위치 : EP + sizeof(caller's AR) + 2
  3. Actual parameter set
  . Actual parameter와 formal parameter의 순서는 동일하다.
  4. callee로 jump

. EP + sizeof(AR) = SP

. AR의 위치가 고정적인 이유
  . 그렇게 해야 caller가 callee를 부르고 여러 값들을 정확하게 넘길 수 있다.
  . CL, AL, RA, RVA, parameter의 크기는 고정적이고 compiler가 알아낼 수 있다.
  (caller가 아는 것들, 알아야 되는 것들)
  . 그 다음에 local variable, temporary 등 caller가 몰라도 되는 것을 적는 다.

. function and procedure(공통점과 차이점)
  . function : value를 return한다.(expression이다.)
  . procedure : value를 return하지 않는 다.(statement이다.)
  . 공통점 : side effect가 있다.
  . 거의 비슷하므로 대충 쓰기로 한다.

. Tail call
  . Return시 부른 function의 값을 바꾸지 않고 return하는 것
  (without any further computation)

. Tail recursive call
  . 자기 자신을 tail call하는 것
  . Optimization
  . set return value address to that of caller
  . control link도 더 위로 돌리자.
  . 결국 caller는 자신의 AR을 pop하고 overwrite하면 된다.
  . conclusion : iteravion loop와 같아 진다.

. Recursive call은 iterative로 바꿀 수 있지만 쉽지 않다.
  하지만 tail recursive call의 경우는 automatic하게 할 수 있다.

. AL 결정하기
  . caller가 형제 block을 call할 때는 자신의 Al를 callee의 AL에도 적는 다.
  . in-line block일 때는 AL과 CL이 같다.
  . 삼촌을 부를 때는 아버지의 AL을 set한다.
  . 아버지, 할아버지, 삼촌 이런 정보는 static structure이므로 compiler가 모두 안다.

. first-class function
  . http://en.wikipedia.org/wiki/Closure_%28computer_science%29
  . declared within any scope
  . passed as arguments to other functions
  . stored in data structures
  . returned as the values of other functions

  . functional programming을 구현하기 위해 필요하다.
  . higher-order function을 구현하기 위해 필요하다.

. closure
  . http://en.wikipedia.org/wiki/Closure_%28computer_science%29
  . a function created by a program at run time
  . (env, code) : activation record와 function code를 가리킨다.
  . function을 넘길 때 closure로 넘긴다.
  . C언어에서는 nested function declaration이 안되므로 closure가 필요없다.

. downward funarg problem
  . function argument로 function을 넘길 때
  . closure로 해결된다.
  . 다행히도 가리키는 Access Link는 항상 stack의 윗쪽을 향하므로 별 문제가 안된다.

. upward funarg problem
  . = upward fun-result problem
  . function의 return value로 function을 넘길 때
  . closure를 써야하고 stack도 바꿔야 한다.
  . stack discipline fails

. Garbage collection
  . Stack discipline이 깨지면 explicit deallocation이 힘들다.
  . 쓰이는 지, 안 쓰이는 지 garbage collection으로 판단한다.
  . Lisp, Scheme은 nested function declaration, higher-order function 때문에 garbage colection이 거의 필수이지는 C는 그렇지 않다.

. Language feature와 implementation construct의 관계
  . Block - Activation record with local memory
  . Nested blocks - Control link
  . functions and procedures - return address, return-result address
  . function with static scope - access link
  . function as arguments and results - closures
  . functions returned from nested scope - failure of stack deallocation order for activation records


2006년 5월 2일 화요일

암환자

암환자의 심리상태를 describe하는 4단계가 있다.
1. 충격, 불안, 부정기
2. 반응성 우울기
3. 낙관기
4. 종교, 철학으로 귀의기

꼭 암환자만 그러는 건 아닌 것 같다.
나도 인생을 살면서 항상 심리상태가 저런 식이라고 생각한다.
금주의 토픽은 '유학'이었는 데,
어드미션 포스팅과 excel을 이용한 재수강시 내 학점 변화를 simulation해보니 결론은 "가능성 낮음"인 것 같다.
이리저리 머리 굴리니 괜히 불안하고 우울해하다가
방에서 좀 마음을 가다듬으니 차분해 지는 군.;
(철학적 귀의를...)

처음 회사에서 일을 시작할 때도 그렇고..
뭔가 낯선 환경이나 조건은 항상 불안하고 사람을 우울하게 만들 수도 있곤 한데, 뭐 익숙해지면 다 받아들일 수 있다.

100년도 못 사는 불치병 인생에 내가 할 수 없는 것 리스트에
한가지 항목이 추가된들 뭐가 다르랴.
(내가 할 수 있는 것 리스트와 내가 할 수 없는 것 리스트 모두 entry가 countable infinit 쯤 될텐데 뭘..;)

참고)
심리적 안정을 위한 방법
. 호흡조절법
. 점진적 근육이완법 - 근육에 긴장을 주고 10초간 유지한 후 서서히 이완
. 이미지 유도법
. 회상요법

오늘

오늘은 비몽사몽 전화를 받고 깼다.
문경이 형이 프린트 하고 싶은 게 있다고 해서.
대량 프린트는 주로 전산동 1층 텀실에 있는 빠르고 종이도 공짜인
레이저 프린터를 이용하지만 컬러로 몇장 뽑을 때는 내꺼 잉크젯을 쓴다.

전화 못 받았으면 큰일날 뻔했다.
헤롱헤롱 하고 있는 데, 아침 9시 수치해석 시험이었다.
지난번과 비슷한 난이도 였는 데,
첫번째 문제랑 마지막 문제가 생각보다 유도가 잘 안되서 좀 애먹다가,
뭐 아는 선에서 마무리 지었다.
그런데 나와서 생각해보니 더 쉬운 문제를 틀린 것 같다.
중학생 때 많이 실수하던, 상수 몇 개 빼먹기. 난이도도 중1수준이었다. 그 문제..

아무튼 그렇게 마쳐주고 텀실에서 뭔가 하면서 시간을 보냈다.
(가볍게 수치해석 복습과 반성을..)

그리고 4시에는 CG term project 발표
역시나 너무 오래된 논문을 고른 것 같다.
우리 조만 20년 넘은 주제로 골랐다.
"그거는 이미 상업화 된지 오래됐고 더 할 것도 없어."
너무 오래된 주제라서 연구할 것도 없고 앞으로는 그 주제는 빼기로 했다.

다른 분도 같은 주제로 골랐는 데, 교수님이 바꾸라고 하셨다.
주제가 겹치면 안된다고 해서 피본 사람들이 좀 있었다. 다들 TClab 사람들이 전문가적 입장에서 양보를 당했다.

다들 뭔가 심오하고 학구적이고 어려운 주제들을 골랐다.
TC, CG, GC, VR, AI랩 사람들이 가득해서 다들 자신들의 원래
연구분야와 비슷한 것들이라고들 한다.
(딴 조들도 다들 쉬운 거 고를 줄 알았는 데.)
대학원에서 그렇게 어려운 것을 해야 하다니 꽤 머리 아플 것 같다.
(겨울학기에 듣던 CG랩 세미나 주제들이랑 다들 똑같고, 더 어려워 보이는 것도 보인듯.)

늙은 나이에 학부생이라고 제일 쉬운 주제 잡았는 데,
다른 조들에게 미안하기도 하고 교수님도 별로 좋은 점수 주지 않을 것 같다.

[CG]CG Term project 발표정리 - 2006.5.2

. 조원 : (주한별, Linda), (김지혜, 이춘석 tclab)
. Color2gray : Salience-Preserving color removal
  . gray로 바꾸면 intensity만 남아 안 보이게 되는 것이 있다.
  (Intensity가 같고 chrominance만 다른 경우)
  . Intensity를 희생하더라도 차이가 구분되게 한다.
  . Chrominance difference -> luminance
  . f(g) = sigma((i,j) in k, ((gi - gj) - dij)^2)
  . d : chrominance difference
  . f(g)를 minimize하는 g를 찾으면 된다.(optimization)
  . 색, 인지과학이용.(human visual sensitivity)

. 조원 : (김윤영 tclab)
. Feature Preserving Regular Remeshing
  . surface remeshing : 3D mesh를 remesh해서 다시 3D로 만듬.
  . mesh : polygon으로 정의된 연결 집합
  . Regular remeshing
  . Regular remesh : 모든 vertex가 같은 valence를 가짐.
  . Valence : vertex에 연결된 edge의 수
  . Connectivity가 좋다. 압축률이 좋다.
  . Goal : feature를 잘 보존하면서 remesh
  . Segmentation : 3D를 자름
  . Parameterization : 3D를 2D에 펼침 => feature preserving
  . least square conformal Map => regular remeshing

  . Parameterization
  . 각도 보존(Conformal map, angle-preserving)
  . 경위도 보존
  . 넓이 보존
  . Contribution - 기존방법의 단접 - 삼각형이 매우 찌그러짐.

. 조원 : 공내진
. Fast bilateral filtering for the display of high-dynamic range
  . HDR : High-dynamic-range
  . device들보다 인간이 보는 contrast range가 훨씬 넓다.
  따라서 완벽하게 표현하지 못한다.
  . 선형으로 변환하면 대비가 분명하지 않다.
  . 영화가 너무 어두울 때
  . 밝은 것(오랜노출)부터 어두운 것(짧은 노출)순으로 16장을 찍고 합쳐서 만든다.
  . Tone reproduction problem : contrast를 잘 맞추기
  = Tone mapping operator 찾기
  . Anisotropic diffusion : 가까운 pixel의 영향을 더 많이 받음.
  . Bilateral filter : contrast를 잘 변환

  . bilateral : 쌍방의, 좌우 양측의
  . anisotropic : directionally dependent
  . have different characteristic in different direction
  . ex) polarising lens, polaroid sunglasses

  . isotropic : directionally independent
  . diffusion : spotaneous spreading of matter, heat or momentum

  . layes
  . base layer : operation을 함
  . Detail layer : 보존
  . Color layer : 안씀

  . Bilateral mask
  . f : 관심 pixel의 주변만 봄
  . g : edge에서는 intensity가 달라지는 속성을 이용,
         너무 intensity가 커지면 중단.

. 조원 : (최영남 AI, 김효실 GC), (양형진)
. A new voronoi based surface reconstruction algorithm
  . Laser scan으로 물체를 sampleing하여 point를 얻음.
  . Surface reconstruction : surface 위의 점을 sampling하고
  그것을 다시 construct해서 surface를 만듬.

  . Delaunay triangle : 점들을 이어 삼각형으로 만듬.
  . edge property : 어느 삼각형의 외접원도 그 세 점 외에 다른 점을 포함하지 않음.
  . http://www.ics.uci.edu/~eppstein/gina/delaunay.html

  . Mesh : simple element로 discretization

  . Voronoi diagram : R^d를 point로 cell로 나눔. (decomposition)
  . closest point에 의해 분할되는 공간

  . Medial Axis
  . voronoi diagram의 edge의 boundary
  . tree-like skeleton
  . continuous cousin of the Voronoi diagram
  . http://www.cs.utexas.edu/users/amenta/powercrust/tools.html#mat
 
  . Power crust
  . Medial axis transform을 이용한 3D surface reconstruction algorithm

  . Clakrson's hull
  . n-d Delaunay triangulation을 위한 Exact arighmetic을 해준다.

  . Geodesic distance와 euclidean distance가 다른 것을 구별하기 위해
  axis를 사용한다.

. Surface reconstruction algorithm
  . CGAL library 이용
  . Improve : handling sharp edge
  . Compression 해보기

. 조원 : 유상욱
. Realistic 3D face construction
  . Final fantasy : Model의 사진을 기반으로 만듬
  . 사진 + camera parameter
  . 3D face Model construction - 사용자가 feature point 추가가능
  . Image Texturing
  . Virtual Boundary
  . Matching
  . Embedding
  . Smoothing

. 조원 : 서원필(VR), 이용준
. Sequential Point trees
  . Point based rendering (삼각형이 아닌 point cloud를 이용하자.)
  . Inefficient when all vertices are rendered
  . Hole problem
  . Qsplat - Octree처럼 공간을 나눔
  . tree라서 array보다 느리다.
  . CPU + GPU를 모두 쓰므로 bottleneck이 있다.

. 조원 : 이지현
. Making paper craft toys from meshes using strip-based approximate unfolding
  . Paper craft
  . Unfolding : Mesh -> 전개도

  . 기존의 방법
  . Unrealistic to assemble
  . simplify-smoothness 보존
  . Triangle strip : 언제나 unfold가능, loop도 ㅣㅇㅆ을 수 있음.
  . Zonal region : 띠를 만듬.

. 조원 : (주현성, 이지원), (이정환 CG)
. Particle system
  . 20년이 넘어 이미 모두 상업화됨.
  . Research topic이 없음.
  . 최초의 motion blur 작품(streaks of lights)

. Digital Photography of flash and no-flash image pairs
  . flash : High-frequency, red-eye, harsh shadow
  . No-flash : Ambient illumination, noise
  . 동일한 카메라 위치에서 찍은 두 사진을 합성하고 장점만 취해 더 좋은 이미지를 얻는 다.

. Art-based rendering of fur, grass and trees

. Stanford computer Graphics Laboratory
http://www-graphics.stanford.edu/
-> Data archives
The digital michelangelo project의 일환으로 status scanner가 있어서
데이터가 많음 point set sample data를 얻을 수 있음.
Bunny, Lion, Happy Buddha, Dragon, Lucy 등이 있다.

[NA]Numerical Analysis, Ch.3.5 ~ 4

3.5. Parametric curves
. x(t), y(t)에 대해 각각 풀면 된다.
. Bezier curve : guide point 2개를 이용하여 cubic Hermite를 푼다.
  . Hermite를 위한 x'(t), y'(t)는 guide point를 이용한 numerical difference formula를 이용한다.
  . Guide point의 부호가 반대이므로 주의
. (x0, y0), guide point1, guide point2, (x1, y1)

4. Numerical Differentiation and Integration
4.1. Forward difference formula
  f'(x) = 1/h * (f(x+h) - f(x))
. backward difference formula
  f'(x) = 1/h * (f(x) - f(x-h))

. centered formula
  f(x+h), f(x-h), f(x) 등이 symmetric(대칭적)으로 들어간다.

. n-th order : 에러 term이 h의 h-th order이면 된다.
  . 1th order : h*f''(x) + 등..
  . 2th order : h^2*f''(x) +  등..

. 식 유도 방법
  방법1) Lagrange를 이용한 후 미분한다. - 책에 소개된 방법
  x0 ~ xn의 점을 이용하여 n-th lagrange interpolation을 이용하면
  (n+1)-point formula가 된다.

  방법2) Taylor series를 이용한 후 error order를 잘 소거하는 방향으로 더하거나 뺀다.
  - 수업시간과 시험에 나오는 방법
 
4.2. Richardson's Extrapolation(R.E)
  . Low-order formula를 잘 이용해서 high-accuracy를 구하는 방법
  . function evaluation보다 사칙연산의 cost가 훨씬 적다고 가정한다.
  . h -> h/2 등으로 step size를 줄이면서 계산
  (연습 문제에서는 h/3 씩 줄이기도 함.)
  . M = N(h) + k1h + k2h^2 + k3h^3 + k4h^4 +
  . M : 참값
  . N(h) : 근사식
  . N1(h), N1(h/2)을 이용하여 N2(h)를 만듬.
  . N1(h/(2^n))이 있으면 Nn(h)까지 만들 수 있음.
  . Simple averaging process

4.3. Numerical Integration
  . Quadrature = Integration = Numerical Integration
  . Quadrature은 integration의 옛날 이름이다.
  . Deviation은 역사가 몇백년이지만 Integration은 역사가 수천년이다.

  . Trapezoidal Rule(TR, T.R)
  . first Lagrange Polymial로 유도가능
  . h/2 * (f(a) + f(b))
  . h = (b-a)
  . error : h^3/12*f''(x)

  . Simpson's Rule(SR, S.R)
  . second Lagrange Polymial로 유도가능
  . h/3 * (f(a) + f((a+b)/2) + f(b))
  . h = (b-a)/2
  . error : h^5/90*f(4)(x)

  . Degree of accuracy = precision
  . Undetermined coefficient와 관련있다.
  . degree가 k이면 각 degree polynomial에서 formula가 정확하다.
  . Trapezoidal Rule은 1, Simpson's Rule은 3이다.
  . TR은 1차식, SR은 3차식에 대해 각각 exact solution을 준다.

  . Undetermined coefficient
  . 구간이 -1, 1처럼 숫자일때는 c0, c1이 1/2, 1/2 같은 수로 나오지만
     x0, x1일 때는 c0 = c1 = (x1-x0)/2로 나온다. (test2에서 내가 실수한 문제)

  . Newton-Cotes formulas
  . TR, SR의 일반식, lagrange를 이용.
  . Open Newton-Cotes formulas
  . boundary a,b가 포함됨
  . closed Newton-Cotes formulas
  . boundary a,b가 포함 안됨

4.4 Composite Numerical Integration
  . High-order는 oscillatory nature가 있으므로 piece-wise로 한다.

  . Composite Trapezoidal Rule(CTR, C.T.R)
  . error : (b-a)*h^2/12*f''(x)

  . Composite Simpson's Rule(CSR, C.S.R)
  . error : (b-a)*h^4/180*f(4)(x)

4.5 Romberg Integration
  . Composite Trapezoidal Rule + Richardson's Extrapolation
  . R1,1 = TR
  . R2,1 = 1/2(R1,1 + h * 1개)
  . R3,1 = 1/2(R1,1 + h/2 * 2개)
  . R4,1 = 1/2(R1,1 + h/2 * 4개)

  . R1,1, R1,2 => R2,2 (R2,1은 없으므로 주의 항상 k>=j)
  . Rk,2 = Rk,1, Rk-1, 1을 이용해서 구한다.
  . Rk,j = Rk,j-1 + (Rk,j-1 - Rk-1,j-1)/(4^(j-1)-1)

  . Rk, j : k : h를 1/2씩 줄인다, j : RE의 항
  . Rn, n : TR일때 h^(2*n)의 accuracy(order)를 가진다.

4.6 Adaptive Quadrature Methods
  . 1/2, 1/4로 step을 줄여 계산하고 값의 오차가 큰 경우 그 구간은 다시 1/2로 나눈다.
  . 오차가 만족스럽거나 구간이 충분이 좁을 때까지 반씩 나누면서 연산을 계속한다.
  . 변화량이 큰 구간은 잘게 쪼개고, 변화가 없는 구간은 적게 쪼개는 계산법.

4.7 Gaussian Quadrature
  . 구간을 잘 쪼게거나 하는 것이 아니라 구간의 boundary의 점이 아닌
  가운데 있는 점들을 선택해보자. 어떤 것이 optimal point일까?
  (choose the points for evaluation in an optimal)
. Gaussian Quadrature
  . http://en.wikipedia.org/wiki/Gaussian_quadrature
  . Newton-Cotes formulas의 error term은 n+1 derivative로 정의되므로
  polynomial of degree n에 대해서는 exact하다.
  . Newton-Cotes formulas : equally spaced points 사용
  . composite시 편하지만 accuracy가 떨어진다.
  . Optimal placement를 해보자.

  . Undetermined Coefficient constant를 구하는 방법으로
  c1, c2, ..., cn, x1, x2, ..., xn을 구한다.

. Legnedre polynomials
  . P0(x) = 1
  . P1(x) = x
  . P2(x) = x^2 - 1/3
  . P3(x) = x^3 - 3/5x
  . Monic polynomial : have leading coefficient 1
  . Orthogonal polynomials
  . intgral(-1 to 1, P(x)Pn(x)dx) = 0 where P(x) is a polynomial of degree less than n.
  . xi를 알면, xi를 lagrange interpolate한 후 -1 to 1으로 적분하면 ci를 구할 수 있다.

. Multiple Integrals
  . Region이 rectangle일 때
   x축에 대해서 한 번 계산하고 y축에 대해서 또 계산하면 된다.

. Improper Integral
  . I = int(a..b, f(x))
  . lim x->a, f(x) = inf
  . a에서 diverge하지만 area는 converge한다고 가정하자.
  . TR, SR 등 기존의 방법은 사용할 수 없다.
   왜냐하면 f(a) = inf 이기 때문에 값이 inf(nan : not a number)로 나온다.
  . Gaussian Quadrature는 가능할 수도 있다. (f(a)를 얻지 않으므로)
   하지만 운이 좋을 때 뿐이고 값이 커지면 이상해 질 수 있다.

  . int(a..b, 1/(x-a)^p) = (b-a)^(1-p)/(1-p) (0<p<1 iff converge)
  . f(x) = g(x)/(x-a)^p로 쓸 수 있으면
  . P4(x) = 4th taylor Polynomial of f(x)
  . P4(x) = g(a) + (x-a)g'(a) + 1/2*(x-a)^2*g''(a) + 1/6*(x-a)^3*g'''(a)
           + 1/24*(x-a)^4*g''''(a)
  . int(a..b, f(x))
   = int(a..b, g(x)/(x-a)^p)
   = int(a..b, (g(x)-P4(x))/(x-a)^p) + int(a..b, (P4(x))/(x-a)^p)
  . G(x) = (g(x)-P4(x))/(x-a)^p  (a<x<=b)
        = 0  (x = a)
  . int(a..b, (P4(x))/(x-a)^p) 부분은 CSR로 푼다.

  . Why 4th taylor Polynomial?
   . CSR과 P4(4)의 error term의 order를 같게 맞추기 위해서이다.
   . 5th order로 같아진다.