일요일, 6월 29, 2008
Wall E Trailer
로봇이 사랑이라는 감정을 발현(?) 시켜나간다는 줄거리가 연구 주제와
관련 있는 이야기이기도 하지만 무었보다 Pixar의 작품이라는거!!!
Wall E Trailer Page
토요일, 6월 28, 2008
Bill Gates retired
뭐 욕도 많이 먹었지만 그만큼 한 일이 많고 영향력이 컸기 때문에 욕을 많이 먹었겠죠?
저도 프로젝트 땜에 페도라 설치하고 사용해 보기도 했는데
환경의 익숙함이라던가, 지금 까지 축적된 개인/연구 자료가 모두 windows 베이스로
이루어진 점 등 때문에 쉽사리 OS를 바꿀 수 있을 것 같지는 않습니다.
올 초 CES2008에서 빌게이츠의 은퇴를 예고 하며 키노트에서 공개 되었던 영상입니다.
빌게이츠가 은퇴하면 뭘 할까를 재밌게 보여주는데 제이지, 보노등 등장하는
다양한 유명인사들도 볼 거리입니다.
-사족으로 우리 유명인사나 존경할 만한 직업을 가진 분들도 좀 유머감각을 갖추었으면
해요.. 코미디 프로에서 좀 희화화 했다고 직능단체가 발끈 하는 거 보면 좀 짠해요-
어쨌던 위의 동영상의 농담들과는 달리 자선 사업에 집중한다는 군요..
예전에 세계 최대 규모의 자선단체라는 얘기를 들은 것 같은데...후덜덜 돈짱입니다.ㅋㅋ
Bill and Melinda Gates Foundation
지금은 구글,애플 등에게 위협을 받고는 있지만 역시 Computing industry에서 가장 큰
영향력을 가진 사람의 은퇴 소식이니 만큼 여기 저기서 재미있는 자료들을 내놓고 있습니다.
1. 빌 게이츠의 10대 히트 상품 fron Endgadget
미디어 센터와 엑박을 제외하면 캐공감...^^
특히 마우스는 하드웨어 전문회사 마이크로 소프트라는 감탄과 비꼼이 섞인
명성의 상징과 같은 제품..^^
2. 빌 게이츠 Timeline from Gizmodo
컴퓨터라는 것을 만지기 시작한게 87년 부터 인데 dos에서 basic 코드 깨작거리다가
친구 집에서 windows라는 걸 보고 신기해 했던 기억이 나는군요..
그나저나 아직 52살에 불구하기 때문에 앞으로 어떤 사건들을 보여줄지 심히 궁금해 집니다.
-사족으로 그렇다고 최근에 무슨 대한민국의 International advisory board 어쩌구에
빌 게이츠가 참여하는게 대단하다고 생각지는 않아요. 즉 빌 게이츠도 별 대단한 일을 하고자
참석한 것도 아니고, 끌어들인 정부쪽도 뭐 대단한 일을 한게 아니라는 거죠.
MS가 거의 전부를 잡고 있는 시장인데 그정도 이름 걸어주는 거야 서비스로 해줘야죠..
암튼 우리나라에서는 MS를 좀 밀어낼 필요가 있다고 봐요-
Gates without Microsoft
빌게이츠는 19살에 마이크로 소프트를 시작했는데 31살에 난 뭐하고 있나 하는 자괴감이
밀려오는군요..^^
일요일, 6월 22, 2008
BMW 컨셉카 GINA
첨엔 에이 말도 안되지라고 생각했는데
설명을 듣고 보니 그럴싸 한데다 오히려 장점도 많은것 같다.
Fabric 재질로 차의 외피를 씌우면
핸드폰 케이스 바꾸 듯이 색이나 디자인도 자기 맘대로 쉽게 바꿀 수 있을 것이고
차의 외형도 훨씬 유연하게 외부 환경에 대응할 수 있을 것 같다.
속도에 따라 공기역학적으로 효율적이도록 외형을 변형시킨다던가 등등..
외부의 충격에 약하며 쉽게 손상을 입을 것이라는게 걱정이긴 한데
누가 긁으면 오히려 손쉽게 싼 가격으로 외형을 바꿔버릴 수 있으므로
별 문제가 안될 것 같기도 하다.
아마도 안전성과 내장재의 보호가 큰 관건이 아닐까 한다.
토요일, 6월 21, 2008
Visual Studio 6.0에서 STL의 Memory Leak 해결
가변형의 메모리 구조를 이용하기 위해 C++의 STL을 처음 사용해 보는 과정에서
Visual Studio 6.0에서는 STL이 문제가 많다는 것을 알게 되었다.
혹자는 자신의 블로그에서 VS6.0에서 STL을 사용하는 사람은 도시락을 싸가지고 다니며 말리고 싶다고 할정도...
VS 2005 이후로 STL이 안정화 되었다고는 하나 테스트 해보지는 않았다.
결정적 이유는 이미 코드가 너무 거대해져 버린것..-_-;;
거기다 뽀대좀 내보겠다고 사용한 상용 GUI 라이브러리 부터 시작해서 XML parser에 이르기 까지
VS2005 이후 버전에 호환되지 않는다는 문제가 섣부른 버전 업그레이드를 망설이게 했다.
그렇다고 STL을 포기하자니, 중요한 알고리즘부를 몽땅 들어내야 하는 더 큰 문제가 있었다.
초기에 leak 체크를 하지 않고 좋다구나 하고 코딩한 죄다....T_T
그리하여 '어차피 코드, 인간이 만든 구조물에 해결 방법이 없는 것은 없다!' 라는 일념으로 웹을 뒤지고
이리저리 테스트를 통해 leak을 해결할 방법을 찾은 듯하다.
그래서 VS6.0에서 STL을 사용하는데 주의점을 기록해 두고자 한다.
1. Leak의 원인이 되는 clear() 의 오동작
STL의 메모리 해제를 위해 제공되는 함수가 clear()함수인데 이것이 제대로 기능을 하지 않는 듯하다.
여러 자료에서 새로운 instance를 생성하고 이것과 swap하는 방법을 추천하는데, vector에는 이것이
잘 동작하지만, map에는 잘 동작하지 않는다.
그리하여 찾아 낸것이 새로운 instance를 반드시 NULL로 초기화 해주고 이것과 swap을 해야 한다는
것이다.
예를 들어 vector<int> vTest과 map<int,float> mTest가 있을 때
반드시 vTest.swap(vector<int>(NULL)) 과 mTest.swap(map<int,float>(NULL,NULL)) 과 같은식으로
메모리를 해제해 주어야 leak이 발생하지 않는다.
2. Hash map의 iterator
Userdefined type의 object를 map에서 사용할 때에는 iterator를 사용하기 위해서는 instance간에
크기 비교가 가능하도록 method를 만들어 주어야 한다.
예를 들어 map<CTransKey,float>에서 CTransKey에는 operator<가 반드시 정의되어야 한다.
class CTransKey
{
public:
CTransKey();
CTransKey(CState& s0,CAction& a0,CState& s1);
CTransKey(const char* s0, const char* a0,const char* s1);
virtual ~CTransKey();bool operator==(const CTransKey& k);
friend bool operator< (const CTransKey& k1,const CTransKey& k2);CState CurState;
CAction CurAction;
CState NextState;};
bool operator< (const CTransKey& k1,const CTransKey& k2);