7월 2일-4일, 2박 3일간 제주도에서 열리는 한국통신학회 하계학술대회 참석차
라고 쓰고 놀러 라고 읽는 여행을
다녀왔습니다.



역시 7월의 제주도는 환상의 섬, 그 자체였습니다.

사용자 삽입 이미지

내려가는 비행기 안.
가는 날(수요일) 날씨가 그다지 좋지 않아 걱정을 했었는데,
날씨덕에(?) 환상적인 구름쑈를 약 30분간 볼 수 있었습니다.
사용자 삽입 이미지

바로 이렇게!

사용자 삽입 이미지

사실은 저 적란운을 지나갈때 비행기가 매우 흔들립니다-_-..





그렇게 약 40분(청주->제주)을 날아가면, 환상의 섬 제주에 도착하게 되는데..


사용자 삽입 이미지

첫번째 도착한 곳은! 바로, 섬속의 섬 우도 입니다!




유명한 관광지는 작년 11월, 연구실 MT때 거의 다 가봤기에..
이번에는 우도만은 꼭 가보자는 마음으로 내려갔었지요.

사용자 삽입 이미지

우도엔 이런 곳도 있습니다.
겉으로 보기엔 그냥 해수욕장 같지만
사실은...

사용자 삽입 이미지

산호가 부서져서 해변을 이룬 산호해변 이지요.
실제로 보면 정말 신기합니다.





우도에서는 어머니 동창 분께서 직접 안내도 해주시고
맛있는 점심도 사주셨죠^_^
감사한 마음과 함께 아쉬운 발걸음을 뒤로하고
숙소가 있는 곳으로 이동을 했습니다.


사용자 삽입 이미지









숙소 앞에 해수욕장으로 같이 사진찍으러 가주시는 연구실의 도영이형.


사실 이곳은..
내가 어렸을적 매일같이 놀던 곳입니다.


여전히 아름다운 그 곳..






















사용자 삽입 이미지

짠!

사용자 삽입 이미지

요즘 해수욕장에선 이런 것도 한답니다.^_^

사용자 삽입 이미지

스쿠터 타고 여행하는
커플♡들도 상당히 많았고...

사용자 삽입 이미지

아이들과 같이 온 가족들도 상당히 눈에 띄었습니다.

위의 사진엔.. 몇 가족일까요?

사용자 삽입 이미지

이곳이 바로 제주의 해변!


사용자 삽입 이미지

여기서 사진찍으면.. 누가 어떻게 찍어도 바로 사진사 되는 거지요-

사용자 삽입 이미지

야호!


사용자 삽입 이미지

다행히 날씨가 도와주네요.
원본사진이 필요하신 분들은 말씀하시면 싼 값에 드리겠습니다 *-_-*



사용자 삽입 이미지

이건.. 학회에 참석했다는 인증샷-_-..



사용자 삽입 이미지











하지만 제주도에서 학회가 왠말이냐!!

끝나자마자 또 경치따라 나가주시는 센쓰~


























사용자 삽입 이미지

성수기가 아니기에.. 아직은 한가로운 제주의 바다.
에머랄드 빛 바다는 육지에선 절-_-대 볼 수 없는.. 풍경을 가져다 줍니다.
올해 여름에는 제주로 오세요^^

사용자 삽입 이미지

비행기에선 신선이 된 기분도 느껴볼 수 있습니다^_^


19년째 시험을 보고 있기는 하지만..
게다가 이번엔 두 과목 "-_-" 밖에 안듣기는 하지만..
정말 대전 I모 대학의 시험은 아스트랄하다.

영어로 강의해서 말하는 사람이나 듣는 사람이나 서로의 뜻을 다 표현하지/받지 못하는 것도 문제.
그렇다고 시험문제가 쉽게 나오는게 아닌 것도 문제.
정말 짜잘-_- 하고 왕 치사 빤스 같은 문제도 나온다.

그래도 가장 큰 문제는,
이런걸 다 풀고 꼭 만점가까이 맞는 사람들이 있다는거.

아놔;


맨날 시험공부만 하나봐-_-..

요즘 일 때문에 ns-2 (네트워크 시뮬레이터) 를 아주 자세히 들여다보고 있다.

그 중, 모바일 노드를 생성하는 부분에서 사소하게 보이는(?) 버그를 발견했는데,
참 이상하게도, 이게 몇 년째 고쳐지지 않고 있다는 사실이 놀라워 이렇게 소심하게 고발(!) 하고자 한다.

다음은 mobilenode.cc 파일의 MobileNode::command() 메소드의 일부분이다.

===
1:        } else if(argc == 3) {
2:               if(strcmp(argv[1], "addif") == 0) {
3:                         WiredPhy* phyp = (WiredPhy*)TclObject::lookup(argv[2]);
4:                         if(phyp == 0)
5:                                return TCL_ERROR;
6:                         phyp->insertnode(&ifhead_);
7:                         phyp->setnode(this);
8:                         return TCL_OK;
9:                } else if (strcmp(argv[1], "setsleeptime") == 0) {
10:                        energy_model()->afe()->set_sleeptime(atof(argv[2]));
11:                        energy_model()->afe()->set_sleepseed(atof(argv[2]));
12:                        return TCL_OK;
13:                } else if (strcmp(argv[1], "setenergy") == 0) {
14:                        energy_model()->setenergy(atof(argv[2]));
15:                        return TCL_OK;
16:                } else if (strcmp(argv[1], "settalive") == 0) {
17:                        energy_model()->max_inroute_time() = atof(argv[2]);
18:                        return TCL_OK;
19:                } else if (strcmp(argv[1], "maxttl") == 0) {
20:                        energy_model()->maxttl() = atoi(argv[2]);
21:                        return TCL_OK;
22:                } else if(strcmp(argv[1], "radius") == 0) {
23:                        radius_ = strtod(argv[2],NULL);
24:                        return TCL_OK;
25:                } else if(strcmp(argv[1], "random-motion") == 0) {
26:                        random_motion_ = atoi(argv[2]);
27:                        return TCL_OK;
28:                } else if(strcmp(argv[1], "addif") == 0) {
29:                        WirelessPhy *n = (WirelessPhy*)
30:                                TclObject::lookup(argv[2]);
31:                        if(n == 0)
32:                                return TCL_ERROR;
33:                        n->insertnode(&ifhead_);
34:                        n->setnode(this);
35:                        return TCL_OK;

아주 자세히 보면, addif 라는 command가 두번 선언되어 있다.
즉, 28번째 줄의 addif 명령은 전혀 실행될 수 없음을 뜻한다.

이게 뭔가!

처음엔, ns-2를 만드는 애들이 뭔가 생각이 있겠지.. 싶었는데
다음의 링크를 찾아보니 그런것도 아니었다.
http://www.isi.edu/nsnam/archive/ns-users/webarch/2001/msg06098.html


On Wed, 12 Dec 2001,
Yes, you are right. Thanks for the bug report. We'll update the code and
post a patch.

--Padma



고치겠다고 답변한지가 무려 7년 전!!
꾸엑~ 이제 좀 고쳐봅시다~

이것 땜에 몇 시간 찾아헤맸나 몰라-


 

얼마전 실수로 교내에서 사용할 수 있는 v3agent 라는 프로그램을 깔았다.

나는 당연히 이 프로그램이 백신이겠거니.. 했지만,
실상은 그렇지가 않아보였다.

어딜봐도 이 프로그램이 바이러스를 잡는 모습은 보이지 않았고,
인터넷을 하고 있을때 실시간으로 악성코드를 잡는 모습도 보이지 않았다.

그래서 지우려고 하니까 다음과 같은 메시지가 나온다.

사용자 삽입 이미지


이건 뭐-_-..
까는 건 네 맘대로 깔지만 함부로 지우진 못하지롱~ 하는 것도 아니고...

이걸 관정하는 부서에 전화를 걸어보니..
곧 도입될 어쩌고 시스템은 반드시 이 프로그램이 있어야 한단다.
그러면서 비밀번호는 안가르쳐 준다.
허허-


포맷해버릴까..

아는 사람은 다 알다시피,
나는 작년에 한국전자통신연구원(http://www.etri.re.kr) 에서 1년동안 있었다.
석사과정의 학생으로.

그곳에서는 홈네트워크에 촛점을 맞춘 IEEE 802.15 계열의 무선네트워크 장비를 개발했다.

우리 팀은 늘 일이 많았다.
기본적으로 하드웨어 장비(홈서버)를 만들고, 디버깅하고, 기본적인 소프트웨어(펌웨어)를 올려서 다른 팀에 넘겨줘야 하는 위치에 있었으므로, 항상 바쁘게 돌아갔다.

덕분에 나도 혼자서 완전히 한 파트를 개발하는 일을 맡게되었고
모르는 것이 많아서 고생을 좀 하긴했지만 그래도 새로운 것을 알아가는 재미에 열심히 일을 했었다.

사실 '일'을 열심히 했지 내가 한 일을 세상에 알리는 작업은 등한시했다.
특허를 쓴다던지, 논문을 쓴다던지.
심지어 DataSheet 는 항상 끼고살았어도 논문은 별로 보지 못했다.

그렇게 그렇게..
나는 그냥 일을 하다가 1년의 시간을 보내게 되었고,
'제대로 된' 석사생활을 하고자 다시 '학교'의 문을 두드리게 되었다.



이곳 ICU에서도 사실은 비슷한 일을 한다.
홈네트워크는 아니지만, 비슷한 성격을 갖는 무선네트워크 장비를 개발하고,
또한 IEEE 802.15 계열을 연구한다.

하지만 작년과의 큰 차이점 두 가지는,
연구에 앞서 이 연구가 '학문적'으로 연구할만한 가치가 있는 지를 판단하는 프로세스가 들어간다는 점과,
Mentor의 여부라 할 수 있다.


Mentor...
작년에는 사실 내 일에 대해 물어볼 사람이 아무도 없었다.
팀원 분 대부분은 광통신을 연구하신 분이었고, 무선통신에 대해서는 전공자가 없었다.
즉, 내가 맡은 부분은 그냥 내가 처음부터 끝까지 찾아가면서 해야하는 상황이었다.

하지만 이곳 연구실은 모두 무선통신에 대해 연구하는 형들이 있고,
아침 9시부터 새벽 2~3시까지 항상 같은 방에 앉아서..
주 7일동안 같이 생활하는 형들이 있다.

모르는 것이 있으면 물어볼 사람이 있다는 것.
내가 생각한 것이 맞는지 같이 토론할 사람이 있다는 것.
이것은 아주 작은 것 하나라도 완전히 다른 결과를 가져올 수 있다는 것을 새삼 깨닫고 있다.


왜 이런 생각이 났느냐 하면...
요새 하고 있는 연구 중에,
우연히 작년에 내가 했던 부분과 겹치는 것이 있었다.

그 부분을 다시 보던 순간, 작년에 내가 있던 팀에서 썼던 특허가 생각이 났고..
그 특허를 살펴보니, 조금 더 발전시키면 정말 괜찮은 아이디어가 될 수도 있었다는 것을 알았다.

이미 과거의 일이 되었으니 지금와서 어찌 할 수 있는 것은 아니겠지만,
참 아쉽다.

아이디어 하나를 놓쳤다는 것에 대한 아쉬움은 전혀 없지만
일이 너무 많아서 진짜 '연구'를 할 수 없었던 우리나라 최고의 IT연구소의 환경.

자기의 전공이 아닌부분까지 공부해가면서 연구를 하고,
결국 더 큰 발견으로 가는 길이 막히는 우리나라 IT연구의 환경 등
이래저래 참 아쉬운게 많다.


내가 만약 석사생활을 마치고 우리 팀에 배속되었더라면,
작년에 맡았던 그 일은..
정말 재밌게 잘 했을 것 같다.


에고, 작년 1년은 얻은 것, 잃은 것 보다 아쉬움이 참 많이 남는 해 인가보다.


사용자 삽입 이미지
요즘 연구실에서 한창 진행 중인 프로젝트로,
위치인식 프로젝트가 있다.

위치인식이라는 단어는 사실 역사가 매우 오래되었으나, 조금 다른 것이 있다면 Physical Layer (HW에 해당하는 부분)에서 가장 최신의 기술을 사용한다는 것이다.

올해 3월에야 표준화가 완료되서 아직 제대로 된 하드웨어 칩도 나오지 않은 상태라면, 얼마나 최신인지 감이 온다.

사진의 이 칩은 표준화가 되기도 전에, 표준이 될 방식을 사용해서 만든 칩이다 (아쉽게도 표준으로 채택은 안되었지만).

우리는 이 칩을 사용하는 Development Kit 을 이용해서 최신의 위치인식 기술을 개발하려 한다.

문제는, 2.400 ~ 2.485 GHz 대역의 범위를 사용하는 이 칩이, 별다른 Medium Access Control을 하지 않는다는 것.

조금 더 쉽게 말하면,
1차원이 교차하는 교차로에 신호등이 없다라고 할까?

그냥 DevKit 에서 제공하는 프로그램만 쓴다면 '아무런' 문제가 발생하지 않겠지만,
조금이나마 재밌는 '무언가'를 하려고 하면 아주 큰 문제가 발생하게 된다.

A와 B가 통신을 하고 있는데, 신호등이 없으니 내가 무작정 껴든다. 그럼 A와 B의 통신은 깨지게 되고, 덩달아 나도 깨져서 통신을 할 수 없다.

왜, 이런 것을 구현해 놓지 않았을까.
구현해 놓았다 할지라도 Customer에게 제공되는 부분에서는 가려져서 안보일 수도 있겠다.

여하튼..
신호등이 없어서 통신이 깨지고 안깨지건 간에,
내가 MAC Protocol을 개발해야 할 처지에 놓여있다.

우리에게 DevKit을 주면서 연구해달라고 했던 모 기업에서도 이 부분은 회사 간 파트너십이 체결되어야 하므로 시일이 걸릴 뿐만 아니라 가격도 너무 비싸서 힘들다 라는 반응이다.

대강 돌아갈 수준은 뭐 한 두달 안에 만들 수 있겠지만서도,
그러면 찜찜해서 이거 원...

회의를 마치고 돌아와서 차근차근 데이터시트(Data Sheet)를 살펴보았다.
늘 그렇듯 이 문서에는 어느 레지스터에 무슨 값을 쓰면 무슨 일이 일어난다 정도 만이 기술되어 있는데,

이것만 보고 MAC Protocol을 연구. 기술. 구현하라는 것은 사실..
워드프로세서 정도의 프로그램의 소스코드를 통째로 주면서,
해당 소스코드의 주석을 일단 다 떼어내고
사용된 함수와 변수를 랜덤하게 섞어놓고
다시 워드프로세서를 만들어라 정도의 난이도라 생각할 수 있다.

흠.. '재미있겠다' 라고 생각하면 사실 한없이 재미있는 부분일 수도 있겠다.
허나, '삽질 좀 하겠다' 라고 생각하면.. 공중에 떠다니는 시그널을 잡아서 제대로 가는지 확인해 볼 수도 없고.. 참 난감하다.

며칠 이것때문에 생각이 좀 많아질 것 같다.