2012년 12월 26일 수요일

TEDXYouth 강연

용인외고 학생들이 주최하는 TEDxYouth@HAFS(2012년 12월 27일 개최)에 초청을 받았다. 주제는 "생명과 게놈: 더불어 사는 삶"이다.

홈페이지: http://www.tedxyouthhafs.net/home (2017년 8월 1일 현재 유효하지 않은 주소)
유튜브 링크: Life and Genome: Haeyoung Jeong at TEDxYouth@HAFS


2012년 12월 22일 토요일

나의 휴대폰 편력


어쩌다 보니 2012년 한해 동안에 무려 7개의 단말기(이 중에서 6대가 스마트폰)가 내 손을 거치고 있다. 실제로 구입한 것은 스마트폰만 무려 4개! 하지만 제대로 값을 치르고 산 것은 별로 많지 않으니 이에 대한 변명을 늘어놓아 보고자 한다. 모토로이를 2010년부터 2년간 써 오다가 느린 속도와 오동작을 도저히 참을 수 없어서 2년 약정으로 같은 회사의 아트릭스를 사게 되었다. 아트릭스 역시 2년 약정이었고, 모토로이의 2년 약정에서 두달이 남았기에 약간의 위약금을 물었었다. 정확한 기억은 나지 않지만 아마 34요금제를 쓰는 조건으로 아트릭스 구입 시에 기계값을 내지는 않았던 것 같다.

모토로이는 노리폰을 쓰던 딸에게 장난감 삼아 넘겼는데, 수시로 와이파이가 되질 않고 꺼지기 일쑤여서 배터리를 뺐다가 다시 끼고는 하는 딸의 모습이 안되어 보여서 결국 구입한지 얼마 안되는 아트릭스를 넘겨주었다. 당시 나는 스마트폰의 효용에 대해 다소 회의감을 갖고 있었고, 어쩌면 나보다는 아이들이 친구들과 소통(주로 카카오톡)하는데에 스마트폰이 더 필요할지도 모른다는 오판(?)을 하였었다. 아직 이에 대해서는 명확한 결론을 내리지 못한 상태이다. 대신 내가 딸아이의 노리폰을 얼마간 사용하였다. 문제는 아트릭스 할부금을 내기 위한 34 요금제를 노리폰으로는 도저히 소화할 수가 없었다는 것이다. 피처폰을 쓰게 되니 내가 스마트폰에서 가장 유용한 기능으로 생각하던 메일 체크를 안하게 되고, 남아 도는 데이터(100 Mb/월)가 너무 아깝게 느껴지게 된 것이다. 화면도 작고 전용의 모바일 브라우저 성능도 좋지 않았기에, 데이터 통신을 쓸 일이 더더군다나 적어진 것이었다.

이로부터 팔자에 없는 중고 휴대폰 편력이 시작된 것이다! 족쇄와 같은 34요금제를 알뜰히 쓰기 위해 값싼 스마트폰을 중고로 구하기로 결심하고 고통스런(!) 검색 끝에 옴니아팝을 중고 업자를 통해 구입하였다. 이를 약 한달 동안 사용하면서 지금은 구닥다리가 되긴 하였지만 윈도우 모바일 6.5라는 독특한 OS를 즐거이 체험하였다. 처남이 쓰다가 만 KT 쇼옴니아를 얻어다가 SKT USIM을 꽂아서 설정 변경 후 써 보기도 하였다. 옴니아팝에 비해 속도는 월등히 유리하였고 장대한 액정 화면도 마음에 들었다. 그러나 MMS가 되지 않는다는 치명적인 문제로 더 이상은 활용하기 어려웠다.

지금도 옴니아 시리즈에 대한 호기심은 여전히 갖고 있다. 옴니아팝은 모토로이와 더불어 멜론 평생 무료 이용이 된다는 장점이 있지만, 오리지널 옴니아에 비해서는 화면도 작고 많이 느리다. CPU는 옴니아2와 동일한 것으로 알지만, 다른 모든 면에서는 아쉬움이 많다. 옴니아팝은 매우 휴대성이 좋고 배터리가 오래 지속되는 장점이 있다. 아직도 중고 장터에서는 대리 기사들에게 옴니아2가 인기를 끌고 있는 듯.

낮은 사양의 단말기에서 윈도우 모바일 6.5는 2%가 아니라 10% 정도 부족한 것이 솔직한 느낌이었다. 그래서 옴니아팝은 멜론 유지용으로 놔 두기로 하고(모토로이로도 멜론 유지가 되지만 오늘 확인해 보니 이유도 없이 꺼져 있는 등 상태가 매우 좋지 않아서 탁상 시계 용도로도 마땅치 않았다), 보급형이기는 하나 가격 대비 성능이 좋다고 알려진 SKY 미라크를 중고로 구입하게 된 것이다.

어찌하다 보니 사실상의 미라크 박스 구성품을 짧은 기간 내에 두개나 구입하게 되었다. 앞으로 몇년 동안은 수리용으로 충분한 부품과 배터리까지 확보한 셈이다.

올해 구입한 중고 단말기는 총 3개. 구입에 든 비용은 각 3만원 내외이다. 기종은 두 종류이지만 특성이 명확해서 현역으로 쓰는 것을 빼고 나머지를 처분할 생각은 없다.

생각해 보면 옴니아팝은 거치지 않아도 될 단계였는지도 모른다. 아이폰 3G가 국내에 소개될 무렵, 삼성에 의해 호화판 스마트폰으로 화려하게 출시되었으나 약간은 삐뚤어진 마케팅 전략과 안정하지 못한 품질로 '옴레기'라는 불명예스런 이름을 얻기도 했던 단말기의 하위 모델(정확히 말하자면 옴니아팝은 옴레기라고 불릴만큼 많이 팔리지도 않았다)을 출시된지 거의 2년이 지난 지금에 구하게 된 것은 순전히 호기심 때문이기도 했다. 옴니아팝을 구한 뒤 인터페이스와 설정 방법이 안드로이드와 너무나 달라서 익숙해지는데 상당히 애를 먹었다. 그러나 빠른 속도나 웹 브라우징에 연연하지 않는다면 컴팩트한 전화기로서 충분한 이점이 있다고 생각한다. 하드웨어 버튼도 마음에 든다.

만약 모토로이가 오동작을 하지 않았더라면 나는 배터리만 새것으로 교체하여 아직까지 사용하고 있었을지도 모른다. 모토로이를 아직 사용하는 직장 동료가 있는 것으로 봐서는 내가 운이 없었던 편에 해당되는지도...

미라크는 2010년 10월 말에 출시된 단말기이다. 무려 600 MHz의 CPU를 갖고 있는(모토로이와 같다)... 이러한 스마트폰을 2012년 연말에 처음 구해서 '흠, 조금 굼뜨기는 해도 쓸만하군'이라는 평을 내릴 정도라면 내가 최신 성능의 제품에 얼마나 관심이 없는지를 여실히 보여주는 것 아니겠는가. 따라서 올 한해 동안 여러대의 스마트폰을 전전한 것은 돈이 많아서 사치를 부린 것이 아니라 일종의 고물(또는 골동품) 수집 취미 비슷한 것에서 연유한 것이라고 변명을 하는 바다.

휴대전화라는 것도 개인의 개성을 나타낼 수 있는 소품이라고 생각한다. 그러나 우리에게는 다양한 제품을 고를 자유가 없다. TV 프로에서 보여지는 얼굴만한 최신 스마트폰은 아마 죄다 협찬 제품일 것이고, 그 종류 역시 지극히 제한되어 있다. 국내 제조사 및 통신사에서는 시장이 협소해서 다양한 제품을 소개할 수 없다고 하는데, 과연 이게 타당한 변명일까? 다양성의 부재, 바로 내가 생각하는 우리 사회의 가장 큰 문제점이다.

퇴역한 모토로이 XT720


2010년 6월에 구입했으나 2년 약정을 채우지 못하고 아트릭스에 자리를 내어 준 모토로이. 모토로라의 스마트폰 사업부가 한국에서 곧 철수할 예정이라 감회가 새롭다. 매우 개성이 높은 제품이었고 HDMI 단자를 갖고 있는 등 장점도 많았지만 기본적으로 가용 메모리가 너무 적은 것이 문제였다. 특히 나의 경우에는 사진을 찍기만 하면 재부팅이 되는 현상이 있었다. 지금 생각해 보면 사진을 저장해야 하는 microSD 카드가 불량이었던 것으로 보인다. 또 다른 가장 심각한 문제는 올해 들어서 와이파이가 자꾸 끊어지는 현상이 발생하기 시작한 것이다. 조금 느린 것을 감수한다면 일반 통화 용도로는 문제가 없지만 와이파이가 되지 않으면 스마트폰이라고 할 수가 없지 않은가. 장난감으로나 쓰라고 초등생 딸에게 준 것은 지금 생각해 보면 잘 한 일이라고 느껴지지 않는다. 하도 험하게 써서 온통 상처가 났고, 더군다나 딸아이가 스마트폰에 빠져드는 계기가 되고 말았다. 금속 테두리가 조금씩 우그러질 정도였으니.

주섬주섬 물건들을 챙겨 보니까 구입시 액세서리가 하나도 빠지지 않고 다 남아 있다. 요즘도 모토로이나 옴니아가 멜론 평생 인증용으로 가끔 거래되는 모양인데, 과감히 팔아버릴까? 아니면 소장하고 있을까?

2012년 12월 17일 월요일

[SKY 미라크] 그러지 말았어야 했어...


중고 직거래로 구입한 미라크. 오른쪽 붉은 점선에서 보이는 부분을 액정 보호 필름이 들고 일어난 것이라 생각을 하고 다른 쪽부터 뜯기 시작. 그러나 이것은 본체 커버 자체에 붙어 있는 것이었다. 애초에 이 중고품에는 액정 보호 필름이 붙어 있지 않은 상태였던 것이다!!!

이것을 그대로 쓰려면 서비스 센터에 가서 케이스를 전면적으로 교체하는 것 말고는 방법이 없는데, 그러다 보면 상태가 좋은 중고품(박스 및 액세서리 포함)을 구입하는 것 이상의 돈이 들 수 있다는 것.

으흐흑... 옴니아 팝이나 그냥 쓰든지 아니면 좀 더 비싼 값을 주더라도 신동품을 구할 것을.

표면이 엉망이 되었지만 조금이라도 더 보호하자는 측면에서 액정 보호 필름을 붙였다. 터치 반응이 약간 덜 예민해진 것 같다는 생각이 든다.

2012년 12월 14일 금요일

이번에는 SKY 미라크!

이러다가 중고 휴대폰 수집이 새로운 취미로 자리잡을지도 모르겠다.

옴니아팝을 한달 조금 못되게 사용해 왔는데, 10% 정도 부족함을 항상 느끼고 있었다. 마감이나 기계적 품질이 우수하고 배터리 성능도 매우 좋지만, 전화+문자 메시지 그 이상의 기능에서 많은 아쉬움이 있었다.

가개통 박스 신품급의 출시 후 1-2년 정도 된 스마트폰을 다시 구해 보려다가 결국은 점심값 두어번 투자하는 셈으로 생각하고 검정색 중고 미라크를 직거래로 구입하였다. 윈도우 모바일에 익숙해지는데 상당한 시간이 소요되었었으나, 다시 안드로이드(진저브레드)로 돌아오니 훨씬 편한함을 느낀다. 상당히 사용감이 있고, 액정 보호 필름도 약간 찢어져 있지만, 새 보호지를 붙이기로 하였다.

물망에 올랐던 휴대폰은 옵티머스원, 엑스페리아 X-10 미니 프로, Wynn 폰 등이 있었다.

SKY의 제품을 쓰는 것은 이번이 처음이다. 터치감은 약간 둔하지만 꽤 잘 만들어진 단말기라는 생각이 든다. 손에 잡히는 느낌도 매우 좋다. 화면의 백색 균형이 약간 어색한데, 어쩌면 조명 수준을 약하게 두어서 그런지도 모른다. 배터리 성능이 그다지 좋지 않아서 약간 고민이 되기는 한다. 정품 배터리(신품)는 새로 사기에는 상당히 가격이 비싸기 때문이다. 중고 단말기를 사서 부가 악세사리를 하나 둘 모으기 시작하면 차라리 처음부터 박스 신품급 가개통폰을 사느니만 못한 일이 된다. 사무실에 충전 케이블이 있으니 자주 충전을 하는 전략으로 나가는 수밖에는.

2012년 12월 12일 수요일

헌혈, 사랑의 실천

연구소 나눔 행사의 일환으로 헌혈을 하게 되었다. 아주 오래 전, 32사단 훈련소에서 신병 교육을 받을 때(매우 추웠던 어느 해 1월) 헌혈을 한 이후로는 처음이다. 혹시 헌혈에 따른 부작용은 없는지 잠시 웹을 검색해 보니 의외로 적지 않은 후유증 케이스가 보고되고 있음을 알게 되었다. 일반인에게는 많이 알려져 있지 않지만, 주의할 사항을 충분히 숙지한다면 크게 우려할 만한 것은 아니었다.  예를 들어 헌혈 후 길을 걷다가 어지럼증이 발생하여 넘어져 크게 다치거나 심지어는 사망한 사례도 있었다고 한다. 컨디션이 좋을 때에 해야 하고, 헌혈 후 12시간 정도는 힘든 일을 하지 말아야 하며, 충분한 수분을 섭취해야 한다는 등의 주의사항을 충분히 읽은 다음 간단한 검사 후 헌혈에 들어갔다.

동네 한의원에서 부항 및 사혈을 최근에 받은 일이 있는데, 검사원은 직접 한의원에 전화를 걸어서 일회용 기구를 사용했는지를 확인하였다. 일회용 기구를 사용한 경우는 시술 후 삼이일정도 지나서 헌혈이 가능하고, 소독을 해서 재사용하는 기구를 썼다면 그보다 더 오랫동안 헌혈을 하지 못한다. 아마도 감염 위험이 있어서 그럴 것이다.

전혈을 뽑는 경우(성인 남성은 400 cc), 두달 간격으로 헌혈이 가능하고, 헌혈의 집에서 혈장만 뽑는 경우는 2주 후에 다시 할 수 있다고 한다. 솜씨 있게 바늘을 찔러 주어서 별 어려움 없이 전 과정을 끝냈다.

헌혈을 하게 된 계기는, 올 초에 간 이식 직전에 상태가 너무 좋지 않아서 운명을 달리한 처제가 생각났기 때문이었다. 대전에서 서둘러 서울의 병원으로 실려온 기증자(뇌사자)의 간은 결국 다른 수혜자를 찾아 떠났다. 기증자의 가족 역시 많은 고민을 했었을 것이다. 이렇게 아낌 없이 나누어 준 장기는 또 누군가의 생명을 구하는데 소중하게 쓰였을 것이고... 내가 지금 당장 나누어 줄 수 있는 장기는 없지만, 헌혈은 내 건강에 큰 영향을 주지 않으면서 남에게 베푸는 가장 작은 실천 아니겠는가.  헌혈을 하는 내 심경을 아내에게 문자 메시지로 보내면서, 눈시울이 뜨거워지는 것을 느꼈다.

의외로 연구소의 많은 가족이 참여하여 줄을 서서 헌혈을 할 정도였다. 마음 한편이 푸근했다.

2012년 12월 10일 월요일

탄방동 그랑삐아또의 불유쾌한 경험

일요일 저녁, 바이올린 연주회 연습을 늦게 마친 아이와 아내 이렇게 탄방동의 그랑삐아또를 찾았다. 결코 저렴한 곳은 아니지만 맛과 분위기에 만족하기에 일년에 한두번씩은 꾸준히 찾는 편이었다. 세가지 식사를 주문하고 기다리는 중이었다. 아이가 주문한 커틀렛의 수프가 먼저 나와서 이를 먹고 있는데 별안간 종업원이 와서 주문을 하였느냐고 묻는 것이다. 아니, 수프를 먹고 있는데다가 계산서까지 식탁에 올려져 있는데 이게 무슨 소리람.

커틀렛이 나왔는데 나이프를 갖다주지 않았다. 종업원을 불러서 부탁을 하니 몇개가 필요하냐고 묻는다. 커틀렛은 하나, 나머지는 파스타와 리조또인데 칼은 하나면 족하지 않은가. 평소에는 미리 갖다 주던 피클도 오늘은 보이지 않는다. 그러고 보니 주문을 받는 종업원도 너무 서투르다. 음식 이름을 잘 모르고 있다. 전에는 '봉'이라고 해도 봉골레임을 알아 들었는데, 오늘은 내가 짚어주는 메뉴판 위의 음식이름을 보고 따라 적는다. 지난번 모리화의 악몽이 떠올랐다. 누룽지탕을 주문했더니 그게 뭐냐고 되묻던...

나머지 음식이 너무 오랫동안 나오지 않는다. 아이는 자기 음식을 거의 다 먹어가고 있었다. 주문서에 찍힌 시간은 일곱시 26분 정도. 여덟시가 다 되어가는데도 아무런 소식이 없다. 손님이 많은 것도 아니었다. 2층의 홀은 크게 둘로 나뉘어 있는데, 한쪽 홀은 우리 가족만이 테이블을 차지하고 있었다. 종업원들은 너무나 여유있게 일을 한다. 몇번을 쳐다보면서 눈치를 주었지만 혹시 뭐가 부족하느냐고 와서 묻는 사람 하나 없었다.

아이는 자기가 주문을 한 음식을 다 먹었다. 도저히 안되겠다 싶어서 종업원을 불렀다. 왜 나머지 식사는 나오지 않느냐고. 혹시 주문이 안 들어간것 아니냐고. 총 삼인분의 가격이 찍힌 계산서가 식탁에 놓여 있는데 설마 그런 착오가 있으랴 생각했다. 그런데 우려는 사실이었다. 매니저인 듯한 직원이 와서 당황한듯 말을 꺼낸다. 주문을 보냈는데 주방의 전산시스템에는 나오질 않았다는 것이다. 대단히 죄송하지만 십분 정도만 기다려 주시면 즉시 음식을 내어 오겠다고 했다.

아니, 그러면 세 식구가 와서 겨우 음식 일인분을 놓고 삼십분이 넘게 있는 동안 종업원들은 뭘 했단 말인가? 그저 아이만 저녁을 먹이려고 온 구두쇠 가족으로 생각했단 말인가. 재촉을 할 수도 있었지만 최대한 기다려 보려고 했었는데, 꼬박 삼십분이 넘게 기다린 꼴은 뭐란 말인가. 종업원들이 모여있는 쪽은 몇번이고 바라보면서 눈치(?)를 주었었지만, 정작 찾아와서 무엇이 부족한지를 묻는 사람은 하나도 없었다.

너무나 기분이 상해서 아이가 먹은 것은 그동안 적립한 포인트로 계산하겠으니 그냥 가기로 했다. 죄송하다면서 커틀렛 값은 받지 않겠노라고 했지만, 원래 그랑삐아또가 이런 곳이 아니었는데 왜 이렇게 서비스 정신이 예전같지 않은지 의아하기만 했다.

여러 식당을 가 보지만, 한결같은 곳이 있는가 하면 도저히 희망이 없어 보이는 곳도 있다. 반면에 경영진이 바뀐 듯 어수선하고 철학이 잡혀있지 않은 곳도 있다. 간판은 그대로인데 분위기가 너무나 달라져 있는 곳(특히 인력), 이런 곳은 정말 좋은 점수를 주기 어렵다. 손님이 불편을 느끼지 않게 정성을 다하는 식당을 운영하기가 이렇게 힘이 드는 것인지...

2012년 11월 25일 일요일

옴니아팝과 쇼옴니아

옴니아 박물관을 차릴 것도 아닌데, 이번에는 처남이 쓰던 쇼옴니아(SPH-M8400)를 얻어 가지고 왔다. 아래 사진에서 왼쪽은 옴니아팝(SCH-M720, SKT), 그리고 오른쪽이 "쇼옴니아(SPH-M8400, KT)". 




쇼옴니아라는 이름은 별칭이고, 한번도 이 이름으로 공식적으로 마케팅되지는 못했다고 한다. 옴니아팝은 기본적으로 옴니아2와 CPU가 동일하나, 화면과 기타 하드웨어에서는 엄청난 차이가 있다. 아몰레드 대화면인것은 물론이고 같은 감압식 터치의 느낌도 옴니아팝과는 비교가 되지 않는다.

KT 전용 단말기이지만  SKT 유심을 꽂아서 음성통화와 단문 메시지는 가능하다. APN(Access Point Name) 설정을 고치면 3G 데이터 통신까지는 가능하나 MMS는 불가능하다. 많은 단말기가 타사 USIM을 쓰더라도 설정 변경을 통해 3G 데이터 통신과 MMS 수발신이 가능한 것이 현실인데, KT 단말기를 SKT 통신망에서 쓰려면 기기에 따라 약간의 제한이 따른다. 비난의 화살은 SKT에게로...

APN 설정을 고치는 방법을 알아내느라 무척 애를 먹었다.  안드로이드 단말기에 대해서는 정보가 많이 나와 있지만 윈도우 모바일에 대해서는 그렇지가 않다. 다음의 사이트는 SKT 공식 블로그에서 제공하는 방법인데, 옴니아 계열과는 환경이 조금 달라서 큰 도움이 되지는 않았다.

[HTC HD2] 데이터 통신 및 MMS 세팅방법

검색에 검색을 거듭한 결과 네이버를 통해서 APN 설정을 변경하는 동영상이 발견하여 이를 참조하였다.

통신사에서 제공하는 기본 프로그램이 많이 설치되어 있으나 자사 통신망이나 와이브로가 아니면 쓸모가 없는 것이 많았다. 기껏 좋은 단말기를 만들어 놓고도 이렇게 폐쇄적인 정책을 쓰고 있다는 것이 안타까왔다. SKT에서는 MMS 수발신에서 보편적인 표준을 지키지 않음으로 인해 타사 단말기 사용 시 기능상 제한을 감수해야 하고, KT에서는 타사의 통신망을 이용하는 경우 무용지물인 전용 앱을 하나 가득 설치해 놓고...

MMS가 안되더라도 다른 측면에서는 옴니아팝에 비해 유리하기에 한번 써 볼까 했으나, 웹 브라우저를 통해 멜론을 접속했을 때 제대로 음악이 나오질 않았다. 타사 유심을 끼워 쓰려고 이 고생을 하느니 차라리 그냥 옴니아팝을 쓰리라.

[삼일이 지난 후]

만약 SKT에 유심변경이력을 관리하는 직원이 있다면, 대전에 왠 미친X이 하나 생겼다고 생각할지도 모르겠다 :)  하루에도 몇번씩 칩을 바꿔끼워 가면서 어느 단말기를 쓸까하고 고민하고 있으니까. 2009년 말에 제조가 되었으니 벌써 삼년이나 지난 스마트폰인 셈이다. 악명 높았던 옴니아 계열이지만, 바탕화면을 삼성 투데이에서 윈도우 기본값으로 해 두면 그런대로 수월하게 돌아간다. MMS와 멜론에서 아쉬움이 있지만, 오래된 KT 단말기에 SKT 유심을 꽂아서 이렇게라도 쓸 수 있다는게 어디인가?

[또 하루가 지난 후]

쇼옴니아가 좋은 점은 화면이 크고 카메라 작동이 즉각적이라는 점이다. 셔터를 누르면 실제 찍히는 순간까지의 랙이 그렇게 크지 않다. 옴니아팝은 상당히 뜸을 들인다. 이번 달에는 약정한 데이터를 거의 다 소진한 관계로 와이파이와 3G 환경에서의 인터넷 활용에 대한 테스트를 좀 더 과감하게 하지를 못하고 있다.

2012년 11월 21일 수요일

옴니아팝(WM 6.5)에 iPhoneToday 설치


박물관에 보내면 어울릴만한 구형 휴대폰이 재미난 장난감이 되고 말았다. 윈도우 모바일을 쓰는 재미 중 하나는 사용자 입맛에 맞게 커스터마이즈를 하기가 매우 용이하다는 것이다. 아니, WM을 쓰는 거의 유일한 보람이라고 해야 되려나? 아무튼 아이폰투데이라는 프로젝트가 있다는 것을 알게 되었고, 이를 옴니아팝에 맞게 적용한 사례가 있어서 설치를 한번 해 보았다.

옴니아팝을 위한 아이폰투데이 설정

WM 6.5가 마이크로소프트로부터 더 이상 공식 지원을 받지 않는 이상, 아이폰투데이의 공식 최종판도 1.5.4(2010년 8월)에 머물러 있는 상태이다. 아무런 금전적 보상도 없었을 것이 뻔한데, 개발자들의 열정에 늦게나마 박수를 보낸다! 앞으로는 티타늄 테마와 삼성 위젯플러스, 그리고 아이폰투데이 중에서 기분 내키는 대로 골라서 쓰면 되겠다.

아직도 티타늄 테마와 벌집 메뉴, 그리고 삼성 메뉴가 헛갈리는 나를 위해서 좋은 정보 링크를 하나 남겨 둔다.

Windows Mobile 6.5 - 티타늄 테마와 벌집 시작메뉴

그리고 유용 어플과 레지스트리 수정 팁에 관한 2009년도 뽐뿌 포스팅을 하나 소개한다.

웹을 뒤져 보니 SPB mobile shell이라는 탁월한 앱이 존재한다. 체험판을 받아서 잠시 써 보았는데 매우 괜찮다. 단, 15달러에 육박하는 가격이 문제다.

[아직까지 해결하지 못한 문제]

  1. 오페라 모바일 v.10을 새로 설치하였지만, 기존의 버전 v.9를 덮어쓰지 못하고 공존을 하고 있는 상황이다. 
  2. 메뉴 편집의 어려움: 기본으로 나타나는 네 칸의 메뉴(나의 메뉴, 인터넷, 멀티미디어, 그리고 오피스)는 창의 이름을 바꿀 수 있고, 프로그램 아이콘을 지울 수 있지만, 이때 사라지는 프로그램은 단지 [더 보기] 카테고리로 내려갈 뿐이다. Resco 탐색기를 잘못 건드려서 Application Data의 shortcut이 생기고 말았는데 이것을 도대체 어떻게 제거해야 할지 모르겠다. 메뉴 설정 파일이 어딘가 숨어 있지 않을까? 한참을 뒤적거리다가 겨우 찾아냈다. 파일 탐색기에서 \Windows\시작 메뉴\프로그램\ 아래에 Application Data의 바로가기가 남아 있었다. 이를 지우니 OK.

[추가 사항]

삼성 모바일 홈페이지에서 사전 앱을 받아서 설치하였으며, 구글과 네이버의 지도 앱도 *.CAB file을 구해서 설치하였다.USIM 칩을 인식하지 못해서 재부팅을 하는 경우를 종종 보게 되는데, 이게 바로 윈도우 폰의 문제점인 것일까? 전화 통화를 하는 도중에 아직 낭패를 당한 적은 없지만...

2012년 11월 20일 화요일

옴니아팝, WM 6.5로 업그레이드를 하고 나서

좀 더 휴대전화기에 가까운 모습을 갖추게 되었다. 업그레이드 전에는 터치펜으로 꾹꾹 눌러야만 하는 '포켓PC'같은 느낌이 더 강하게 들었었다. 티타늄 테마로 설정을 바꾸니 그런대로 봐줄 만하다. 기본으로 설치된 많은 응용프로그램들이 더 이상 지원되지 않아 무용지물이 된 것은 매우 안타까운 일이다. 예를 들어 WM 6.5용 Marketplace나 Microsoft My Phone 등이 그러하다.

Opera 브라우저는 홈 페이지에 가서 최신의 Opera Mini와 Opera Mobile 10으로 바꾸었다. 티타늄 첫 화면에서 연결되는 브라우저는 새로 설치한 Opera Mobile로 바꾸지 못하는 것일까? 방법이 분명히 있을 것이다. Wi-Fi를 통한 인터넷 접속이 좀 느린데, 하드웨어 스펙 문제인지 아니면 사무실의 네트웍 환경 문제인지는 아직 모르겠다.

중고폰이라서 배터리가 그렇게 오래 가지 못하는 것은 어쩔 도리가 없다. 삼성 정품 배터리는 너무 비싸고, Coral이라는 상표의 호환 배터리가 있던데 평이 나쁘지 않은 듯.

아이패드와 안드로이드폰에서는 사진을 찍으면 구글플러스쪽으로 자동 업로드를 시킬 수 있었는데, 윈도우 모바일에서는 기대하기 어렵다. 리눅스 머신에 케이블을 연결했을 때 외장 메모리가 제대로 인식되는 정도로 감사할 일이다. ActiveSync로 메일이나 주소록, 스케쥴을 동기화하도록 설정해 두었지만 이는 무선 환경에 국한된 일이고, USB cable로 컴퓨터를 직접 연결할 시에는 용량이 큰 파일 전송만 되면 만족한다.

며칠 동안 사용을 해 보니 왜 감압식 터치화면이 결국 경쟁에서 밀리게 되었는지 이해가 된다^^ PDA나 휴대용 카드 결제기와 같이 세밀한 터치가 필요한 경우 감압식 터치펜으로 입력하는 것이 필요하지만, 휴대전화기는 조금 다르다. WQVGA(240x400)라는 3인치형 작은 화면에서는 어차피 손가락을 이용한 정전식 터치는 무리이다.

WM 6.5 업그레이드는 필수라는 생각이 든다. 단, 6.1에 비해 전력 소모가 조금 더 많을지도 모르겠지만 아직 확인은 하지 못하였다.

새로운 환경에 적응하기가 쉽지는 않았다... 대신 통화 품질은 그동안 사용해 온 어떤 휴대전화보다도 우수하다.

VirtualBox 4.2 설치

버전 4.1을 쓰고 있는데, 며칠 전부터 새 버전인 4.2가 나왔다는 창이 자꾸 뜨는 것이었다. 다운로드 링크를 클릭하여 패키지를 받은 뒤 설치를 시도하면 4.1과 충돌한다는 오류 메시지가 나타난다. 원래 알아서 업그레이드를 해 주어야 하는 것 아닌가? 시냅틱 패키지 관리자에서 이전 버전을 조심스럽게 지우고, 4.2를 설치하니 익스텐션 팩까지 알아서 업데이트를 해 주었다.

새 버전에서 가상머신(윈도우 7)을 실행하였다. 특별한 문제 없이 잘 실행이 되고 있다.

리눅스를 메인 데스크탑으로 쓰고 있기에, HWP로 첨부된 문서가 메일로 오면 정말 짜증이 난다. 이것 하나 때문에 가상머신을 켜야 하다니... 이러한 현실을 이해할 수 밖에 없는 것이, 대부분의 문서는 수신인이 이를 읽어보고 수정을 하길 바라는 의도로 보내지기 때문이다. PDF로는 편집이 쉽지 않으니까.  ODT인가 하는 공개형 다큐먼트 포맷이 있는 것으로 아는데, 문서의 내용보다는 형식을 중요시하는 국내 사정에서는 아직 발을 붙이기 어려울 것이다. 여기에서 형식이란 서론-본론-결론과 같은 내용 구성의 형식이 아니라, 화면 혹은 종이에 인쇄했을 때 외형적으로 얼마나 그럴싸해 보이느냐(글꼴, 줄간격, 그림 배치 등)에 관한 것이다.

형식보다 내용을 중요시하는 시대가 되어야 하는데, 이제는 더욱 비주얼의 중요성을 강조하는 세상이 되어가고 있다. 논리적으로 잘 쓴 글보다는 그림을 곁들인 파워포인트 한 장이 더 호소력이 있는 세상이 되고 말았으니!

보고 자료와 이력서는 점점 두꺼워지는데, 사람들 간의 소통은 몇 십 바이트의 단문으로 매개되고 있다. 쓰잘데 없는 사이트의 포스팅에 달리는 의미없는 덧글들 'ㅋㅋㅋㅋㅋㅋㅋ' 'ㅎㅎㅎㅎㅎㅎㅎ'... 양극화는 바로 이런 사회적 현실을 일컫기에 매우 적절한 낱말이다.

[VirtualBox 4.2 업데이트 후기]
전에는 한/영 키를 누르면 언어 전환이 잘 되었는데, 업데이트 후에는 Shift+Space를 눌러야만 전환된다. 왜 이렇게 되었지?

2012년 11월 17일 토요일

옴니아팝 하루 사용기


안드로이드 단말기와 iOS 제품을 사용한 경험을 바탕으로 이야기한다면, 거의 삼년전에 출시된 윈도우 모바일 6.1 단말기가 상당히 생소하고 다소 불편함은 너무나 당연하다. 게다가 정전식도 아닌 감압식 화면이라 입력도 그다지 편하지 않다. Kies에서 버전 6.5로 업그레이드를 하기 위해 무척 노력했으나 실패! 다운로드를 다 끝내고 폰으로 보낸다는 화면이 뜨지만 상태바가 진행되지를 않는다. 나중에 서비스 센터에 가서  해결하기로 하고...

한달 정도 지나면 메모리 관리도 슬슬 필요하고 초기화도 종종 해 줘야 할지도 모른다. 이제 겨우 하루가 지났을 뿐이고, 아직까지는 별 문제는 없다. 윈도우 모바일이란 환경은 휴대폰이라기 보다는 작은 컴퓨터와 같은 느낌을 준다. 화려함과 편의성은 좀 떨어지지만(윈도우 8은 물론 훨씬 나아졌을 것이다) 좀 더 세밀한 곳에서 기기를 설정하는 잔재미가 있다. 그 대신 늘 손에 끼고서 웹질을 하기는 좀 불편하지만, 이는 오히려 내가 바라는 바다.

세밀한 터치가 필요한 인터페이스라서 정전식 손가락 터치가 어차피 어울리지 않는다. 삼성이 입혀놓은 인터페이스와 윈도우 모바일 자체의 인터페이스를 구별하는 것이 조금 힘들었다. 지금은 윈도우용 화면으로 바꾸어 놓은 상태이다.

최첨단 보일러를 다들 쓰는데 이제 나 혼자 장작을 때겠다고 고집하는 것으로 비유하면 될까? 어쨌든 재미는 있다.

2012년 11월 15일 목요일

중고 옴니아팝 구입기

스마트폰이 없어도 세상을 영리하게 사는데에는 큰 문제가 없을 것으로 생각했었다. 이러한 신념이 그다지 오래 가지 못하게 된 가장 큰 이유는 피처폰만으로는 34요금제를 알뜰하게 사용할 방법이 없기 때문이었다. 모토롤라 아트릭스를 딸아이에게 넘겼지만 24개월 약정 기간 동안 34요금제를 유지해야만 한다. 확정기변을 하고 맞번호 변경과 맞기기 변경 등 몇가지 복잡한 과정을 거치면 스마트폰을 쓰고 있는 다른 식구에게 34요금제를 떠넘기는 것이 가능하기는 하다. 그러나 이 과정이 너무 복잡해서 이해하기도 어렵고, 막상 출장을 가 보니 3G 데이터 통신을 이용한 이메일 확인이 매우 요긴하였다.

디지털 카메라, 자전거, 휴대폰 등 새로운 '장난감'을 살 일이 생길때마다 정보를 알아보고 고르는 과정은 너무나 힘들다. 성능과 가격을 놓고 수도 없이 저울질을 하고, 인터넷에서 사용기를 검색해 보면서 혹시 알려진 문제가 없는지 파악한다. 싸고 좋은 것은 없다고, 돈이나 많으면 충분한 성능에 만족하면서 오랫동안 사용 가능한 좋은 제품을 사겠지만, 현실은 그렇지가 못하다. 이런 핑계로 눈이 아프도록 검색창을 매달리게 된다. 솔직히 고백하건대, 이런 '연구'과정이 힘은 들면서도 사실 이를 즐기고 있는지도 모른다.

오늘 현재까지 나의 임시(?) 휴대폰은 노리폰이다. 작고 가볍다는 것이 휴대용 기기에서는 얼마나 큰 미덕인지를 알게 해 주었다. 아트릭스의 예에서도 그랬듯이, 한번 세팅을 해 놓은 다음에는 스마트폰에 대해 많은 공부를 하지 않았다. 전화와 문자 메시지, 이메일 푸쉬 알림 기능이 충실하면서 사용이 편리한 작은 중고 스마트폰을 찾게 된 것이다.

물망에 오른 것은 옴니아팝, 엑스페리아 X10 미니 프로, 그리고 갤럭시 에이스였다. 옴니아팝은 대충 3-6만원, 나머지는 개통 이력만 있는 사실상 신품이 12만원대이다. 어제 아침까지만 해도 개성이 넘치는 엑스페리아 X10 미니 프로로 거의 마음이 굳어져 가는 듯 했으나, 결국은 3만원짜리 옴니아팝으로 결정을 지었다. 이것 말고도 옥션에서 물건을 주문했다 취소를 하고, 네이버 중고장터에 올라온 물건을 사겠다고 연락을 했다가 취소하는 등 소심한 나는 몇번이나 판단을 내리지 못하고 우왕좌왕했었다. 용돈을 좀 모아놓은 것이 있었지만, 10만원이 넘는 돈을 쓴다는 것이 왜 이렇게 어려운지... 최종 결정을 내리게 된 옴니아팝은 워낙 가격이 싸기 때문에 만약 구입해서 실망을 한다 해도 식사 두어번 한 셈으로 생각하면 큰 무리가 없으리라 판단하였다. 윈도우 폰은 절대 쓰지 말라는 말을 듣기는 했지만, 며칠간 사용해 본 뒤 버려야 되겠다고 결심을 한다고 해도 구입에 들인 돈 때문에 크게 속이 쓰리지는 않을 것 같았다.

삼성전자 옴니아팝 공식 홈페이지

삼성 옴니아 시리즈에 얽힌 영욕의 역사를 찬찬히 찾아서 읽어 보았다. 한때 아이폰의 대항마를 자처하면 꽤 많은 사용자를 확보했지만, 삼성이 안드로이드를 주력 OS로 삼으면서 사후 지원에 성의를 보이지 않게 되고, 이에 따라 소비자들의 원성이 빗발쳤던 것으로 기억한다. 그러나 옴니아 시리즈의 보급형 모델인 옴니아팝에 대해서는 그렇게 나쁜 의견들은 의외로 별로 없다. 아마 사용자도 적고, 옴니아2와 CPU 등 주요 하드웨어는 같지만 겉으로 드러나는 부분이 일반 피처폰과 구별이 안될 정도로 소박하기에, 기능을 극한으로 밀어부치면서 쓰는 사람이 많지 않았었던 듯. "스마트폰인지 알아보는 사람이 없다"라는 간혹 보이는 푸념이 오히려 나에게는 재미있게 느껴진다. 화면도 작고, 감압식인데다가 3.5파이 이어폰 단자도 없고 게다가 윈도우 모바일이 OS인 휴대폰. 재미있게도 윈도우 모바일이 나의 호기심을 자극했다. 스타일러스 없이 쓰기가 어려운 기존 옴니아의 한계를 극복하기 위해 피처폰의 햅틱 UI를 탑재하고 있다는 것, 화면이 작은 대신 배터리가 오래 간다는 것, 외형이 작다는 것 등 얼리 어댑터들은 고개를 돌릴만한 특징들이 나를 자극하고 있는 것이다. 멜론 평생 무료라는 조건도 고려해볼 요소가 된다. 서랍 속에서 쉬고 있는 모토로이도 마찬가지 조건이지만, 한달에 한 번 유심을 바꾸어 끼워서 연장을 한다는 것은 번거로운 일이 아닐 수 없다.

======

글을 작성하고 하루가 지났다. 3만원짜리 옴니아팝이 우체국 택배를 통해 배달되었다. 안드로이드와는 사뭇 다른 인터페이스가 매우 흥미로왔다. 딱 3만원의 가격 수준에 맞게 적당히 낡은 상태였고 전원이 꺼졌을 때 오른쪽 아래 귀퉁이의 액정 색이 약간 다른 것이 신경이 쓰였다. 유심을 끼우고 이것 저것을 만져보는 과정에서 문제의 귀퉁이가 터치입력이 되지 않는 것을 알았다! 천지인 키패드를 펼쳐 놓으면 백스페이스 위치를 아무리 눌러도 글자는 지워지지 않고 그 바로 곁은 줄바꿈이 입력된다. 메모장을 열어놓고 화면 전체를 색칠하듯 긁어 보았다. 역시 오른쪽 아래 모서리 영역은 입력이 되지 않는다. 허허... 역시 3만원짜리란 별 수 없구나. 다시 포장하여 반품 신청을 하였다.

그러면 처음부터 관심을 가졌던 엑스페리아 X10 미니 프로 혹은 갤럭시 에이스를 살 것인가? 구입을 결심하고 버추얼 박스로 실행하고 있는 윈도우 7에서 G마켓을 접속한 뒤 상품을 고르고 나서 아무리 결제를 하려도 해도 진행이 잘 되지 않는다(가끔 이런 오동작을 보인다). 돈을 많이 쓰지 말라는 신의 계시인가? 컴퓨터를 옮겨서라도 결제를 하려다가, 조금 더 생각을 해 보기로 했다.

비록 반품을 위해 다시 포장을 해 놓았지만, 옴니아팝의 첫인상은 신선했다. 감압식 터치 스크린도 나쁘지 않았다. 이를 한번 꼭 써 보고픈 생각이 머리를 떠나지 않는 것이다. 잘 뒤져보면 박스 신품 수준의 것도 팔리고 있지만, 이것도 10만원이 넘는다. 어떻게 할까? 최종 결론은, 구매자평이 조금 좋은 판매업자의 사이트로부터 무려 45,000원짜리(!) 옴니아팝을 주문하는 것.

과연 현명한 판단을 했는지는 내일 알 수 있다. 만일 이번에도 문제가 있는 기기가 온다면, 생각을 완전히 바꾸어야 되겠다. 돈이 좀 들더라도 신품에 가까운 물건을 사는 것이 나을지도...

2012년 11월 10일 토요일

여러 휴대폰을 전전하면서

잠시 노리폰을 쓰고 있는 상황에서 2박 3일간의 출장을 가게 되었다. 갤럭시탭 7인치에 블루투스 이어셋을 가지고 출장길에 올랐다. 학회장 안에서는 와이파이가 그런대로 잡히는 상황이라 아이패드를 무난히 쓸 수 있었고, 덩달아 가져간 넷북을 사용하여 VPN으로 필요한 업무를 처리하기도 했다. 그러나 이동 중에 이메일을 확인하거나, 숙소에서 무료한 시간을 보낼 때에는 갤럭시탭의 3G 통신이 매우 요긴하였다. 한달 동안 기본으로 쓸 수 있는 100 Mb 중에서 80 Mb를 3일만에 다 쓰고 말았다.

갤럭시탭은 휴대폰으로 기능이 특별히 뒤떨어지지는 않지만, 휴대가 불편하다는 것이 가장 큰 단점이다. 블루투스 이어셋을 끼고 있다가 왜 보청기를 끼고 있느냐는 오해를 받기도 했고... 모토롤라 아트릭스를 구입하기 전, 잠시 갤럭시탭을 휴대전화로 쓴 적이 있었다. 그러나 가방을 따로 챙기기도 불편하고, 늘 갖고 다니기도 불편하였다.

과연 노리폰이 대안이 될 수 있을까? 이 단말기로 한번도 와이파이를 통한 인터넷 접속에 성공한 일이 없다.  신호는 잘 잡히지만, 메뉴에서 웹서핑을 실행하면 오페라 웹 브라우저가 뜨다 말고는 3G로 연결이 되는 것이다. 오늘은 이 문제를 해결해 보고자 삼성전자 서비스 센터를 가 보았다. 해결책은 의외로 간단했는데, **7955 + NATE를 눌러서 전용 모바일 브라우저를 다운받으면 된다는 것이다. 작년 중반쯤 오페라 브라우저와 무슨 계약이 만료되었는지는 모르겠지만.

노리폰에서 와이파이로 인터넷 접속이 되면서 신세계가 열렸는가? 그건 아니었다. 접속을 할때마다 인증을 거쳐야 하고(가끔 인증에 실패하기도 한다), 생각보다 매우 느리다. 그리고 가장 활용성이 높은 지메일을 원활하게 쓸 만한 상황이 아니다. 화면 조작도 불편하다.

다시 고민에 빠지게 되었다. 스마트폰이 없어도 살 수 있다고 호기롭게 피처폰에 유심을 꽂았지만, 약정으로 묶인 34 요금을 소화하려면 피처폰으로는 소용이 없는 것이다. 스마트폰을 쓰는 식구에게 요금제를 넘기는 것이 가능은 하지만 상당히 번거롭다. 어느새 나는 중고 스마트폰 사이트를 뒤지고 있었다...

저렴한 중고 공기계는 옴니아팝이 전부이다. 말도 많고 탈도 많았던 윈도우 모바일 폰이다. 심지어 옴레기라고까지 불리던... 새로운 OS로서 호기심은 가지만, 아직은 잘 모르겠다. 잘하면 쇼옴니아를 하나 구할 수도 있을 것 같다. 타사의 유심을 꽂아서 사용이 가능한데, MMS는 원칙적으로 안되는 것으로 알고 있다. 구글을 뒤져보니 이를 가능하게 만드는 방법이 있다고도 하고, 심지어는 안드로이드를 설치할 수도 있단다.

http://konatamoe.tistory.com/447

어휴 골치야... 왜 이런 걸로 시간을 낭비하고 있어야 하는거지?

2012년 11월 1일 목요일

HP mini 5101 넷북의 귀환

수리를 위해 오랫동안 나를 떠나 있었던 HP mini 5101이 드디어 돌아왔다. 윈도우7으로는 너무 느려서 xubuntu를 곁들여 설치해 보았다. 아이패드와 나란히 켜 보니 화면 해상도가 너무 떨어진다.


2012년도 다 지나가고 있는 지금, 이 넷북의 활용도가 얼마나 높을지 낙관하기 어렵다. 아이패드와 비교하여 나은 점이 있다면 윈도우가 돌아가고 있다는 것, 그리고 물리적인 키보드가 있다는 것 정도이다. 출시된 것은 2009년 여름이고 실제 구입한 것은 아마 그해 겨울이나 혹은 다음해 초였을 것이다. 처음 구입 당시에는 오픈수세가 설치되었었다(관련 링크). 4셀 배터리는 너무 빨리 소모모되어서 나중에 추가로 6셀 배터리를 장착한 상태이다.

윈도우7의 기본 설정으로는 너무 글씨가 작아서 약간 키워 놓았다. 오히려 리눅스로 부팅해 놓으니 글씨가 눈에 더 잘 들어온다. 아이패드도 사용 경험이 꽤 쌓이다 보니 화면 터치 키보드도 과히 불편하지 않다. 다만 특수 문자를 입력하거나, 글자 단위로 커서를 옮기는 것이 나쁠 뿐. 화살표 키가 없는 것에 대해 불만을 토로하는 글을 적지 않게 보았다.

출시 당시에는 나름대로 프리미엄급(?) 비즈니스 넷북을 표방했던 제품이다. 이미 3년이 지나버린 지금은 아톰 CPU로 돌아가는 느리고 불편한 저급 노트북이 되어 버렸다. 아마 최신 스마트폰보다 못한 두뇌를 갖고 있는지도... 그렇지만 아직 퇴역을 시키기에는 아까운 물건이다. 합리적인 활용 방안을 찾아 보도록 하자.

노리폰의 변신

마이크로SD 카드를 끼우고 케이스를 입혔다. 공교롭게도 아이패드의 커버와 같은 하늘색 계열이다. 모토로이는 멜론 평생무료용으로 사용할 생각이다. 모토로이에 들어있던 외장 메모리에 에러가 발생하여 더 이상 쓰기 곤란한 상태라 약간 용량이 작은 마이크로 SD 카드를 하나 더 구입한다는 것이 실수로 그만 표준 크기의 SD 카드를 사고 말았다. 환불을 요청할까 하다가 그냥 쓰기로 하고, 승용차의 네비게이션을 업데이트하는데 활용하였다. 요즘 컴퓨터는 메모리 카드를 꽂는 슬롯이 보편적으로 갖추어져 있으므로, 외장 메모리로서 활용하는데 문제가 없다.
크기가 매우 작은 편이라서 휴대하기가 매우 편하다. Wi-Fi 신호가 잡히기는 하는데 웹 연결은 아직까지 성공하지 못하였다. 이 부분은 왜 그런지 아직도 이해가 가지 않는다. 전화를 끊은 직후 화면을 잘못 건드려 영상통화를 걸어버리는 실수를 몇 번 하였다. 

스마트폰에 자리를 내어 주기에는 아직 아까운 단말기이다.

FASTQ file QC 및 전처리기

제12차 KOBIC 차세대 생명정보학 교육의 내용을 되새기기 위해 FASTQ file QC 및 전처리기에 대한 지식을 정리해 보기로 한다. 2일차 강의인 de novo assembly를 열심히 진행해 준 정원형 박사께 감사를...

나는 거의 모든 작업을 CLC Genomics Workbench에서 실시하고 있으므로, 어쩌면 공개형 소프트웨어를 일부러 찾아서 시험해 볼 필요성이 별로 없는지도 모르겠다. 그러나 상호 비교를 통해 부족한 점을 찾아내고 각 프로그램의 특성을 이해하는 것도 바람직하다고 생각한다.

QC용 프로그램은 말 그대로 시퀀싱 결과물이 얼마나 양호한지에 대한 그림이나 보고서를 생성해 주는 역할을 한다. 예전에는 염기 서열 위치에 따른 quality의 box plot을 보여 주는 정도였는데, 요즘은 매우 다양한 수치를 제공한다. 이에 따른 용어도 매우 세련되어졌다. 'per base sequence quality', 'per sequence quality scores', 'per base GC content' 등...

전처리(preprocessing) 프로그램은 de novo assembler나 reference mapping program에 바로 투입할 수 있는 양질의 read를 선별하거나(filtering) 혹은 low-quality/adapter sequence를 제거해 주는(trimming or clipping) 기능을 한다.

내가 가장 먼저 접한 프로그램은 FASTX-Toolkit이다. 설치는 약간 까다로운 편이고(libgtextutils를 미리 설치해야 한다거나), quality encoding을 자동적으로 검출하여 해결해주지 않는다. QC와 관련한 가장 핵심적인 프로그램은 fastx_quality_stat인데, FASTQ file을 입력물로 받아서 텍스트 형태의 리포트를 만든다. 이를 재료로 이용하여 quality box plot을 그리면 된다.

문제는 phred 33으로 인코딩된 최근의 Illumina fastq file을 입력하면 에러가 난다는 것.


$ fastx_quality_stats -i 2962_1.fastq -o report.txt
fastx_quality_stats: Invalid quality score value (char '/' ord 47 quality value -17) on line 4

최신 버전인 0.0.13을 기준으로 보면 소스코드(src/libfastx/fastx_args.c)에서 fastq_ascii_quality_offset의 값을 64에서 33으로 수정하면 된다. 하지만 이렇게 하면 phred 64로 인코딩된 옛날 데이터 파일을 다루지 못하게 된다. 구글링을 통해 알아낸 바에 의하면 fastx_quality_stats 실행 시 -Q 33 혹은 -Q 64 옵션으로 quality encoding을 바꿀 수 있다고 한다. 불행한 현실은 이러한 노하우가 매뉴얼에는 나와있지 않다는 것. 최근의 프로그램들은 인코딩을 자동으로 검출해 주는데 말이다.

KOBIC 강좌를 통해 알게 된 첫번째 프로그램은 FastQC이다. 다양한 플롯을 제공하고, 처리 속도도 빠르며, quality encoding도 자동으로 검출해 준다. 단, 전처리 기능은 없는 것으로 보인다.

KOBIC 강좌를 통해 알게 된 두번째 프로그램은 prinseq이다. html file로 매우 훌륭한 리포트를 만들어 준다. 그러나 사전에 설치해야 할 Perl module이 많고, 더욱 치명적인 현실은 실행 속도가 느려도 너무 느리다는 것.

마지막으로 소개할 것은 내가 가끔 사용하고 있고, 또 작년 5-6차 교육에서 내가 미생물유전체해독 강의를 하면서 실습용으로도 사용한 바 있었던 SolexaQA이다(기억을 더듬어 보니 Fastx-Toolkit도 소개했었다). 이 프로그램은 입력 파일을 포맷을 자동으로 인지하며, DynamicTrim.pl과 LengthSort.pl 스크립트를 통해서 트리밍된 서열을 출력하게 된다.  리포트 생성을 하려면 R과 matrix2png가 설치되어 있어야 한다. 

그러면 SolexaQA를 활용하여 paired end read의 trimming을 실시하는 예를 들어 보겠다. (SolexaQA의 진정한 가치는 tile에 따른 quality를 보여준다는 것인데, 이는 Illumina 장비를 직접 다루는 사람이 아니라면 크게 관심을 보일 내용이 아니므로 여기에서는 건너뛰기로 한다). 안타깝게도 quality trimming 전략에 대해서는 좋은 자료가 매우 적다. quality score라는 것은 마치 언덕을 올라갔다 내려오듯 nucleotide position에 따라 평탄하게 변하는 것이 아니므로, phred score(or quality value) 얼마를 기준으로 자른다고 쉽게 이야기할 수 있는 것이 아니다. 가장 합리적인 quality trimming 전략은 modified Mott algorithm인데, phred documentation에 실린 글이 거의 원전인 것으로 생각된다. 왜냐하면 이보다 더 오래된 문서를 발견하지 못했으므로.

    The modified Mott trimming algorithm, which is used to calculate the
    trimming information for the '-trim_alt' option and the phd files,
    uses base error probabilities calculated from the phred quality
    values. For each base it subtracts the base error probability from an
    error probability cutoff value (0.05 by default, and changed using
    the '-trim_cutoff' option) to form the base score. Then it finds the
    highest scoring segment of the sequence where the segment score is
    the sum of the segment base scores (the score can have non-negative
    values only). The algorithm requires a minimum segment length, which
    is set to 20 bases.

간단히 설명하자면 이러하다. 기준 error(보통 5%, 즉, 0.05)에서 각 염기의 basecalling error를 뺀 뒤 이를 주변부와 더해 나간다. quality가 좋은 영역에서는 error의 합이 주변으로 확장할수록 커지겠지만, quality가 떨어지면 합산한 수치가 점차 줄어든다. 이 값이 최대가 되는 subsequence의 위치를 trimming position으로 삼는다는 것이다. DynamicTrim.pl에서 BWA (-b option) trimming 방법이라고 설명한 것은 바로 이것과 동등한 것이라고 생각된다. 매우 빠른 read aligner인 BWA에서 구현한 trimming algorithm이기에 이렇게 부르는 것 같다.

perl DynamicTrim.pl -b K-BC_1.fastq K-BC_2.fastq 
Info: Using default quality cutoff of P = 0.05 (change with -p or -h flag)
Automatic format detection: Sanger FASTQ format
Info: K-BC_1.fastq.trimmed: mean segment length = 96.0, median segment length = 101
Automatic format detection: Sanger FASTQ format
Info: K-BC_2.fastq.trimmed: mean segment length = 94.0, median segment length = 101

에혀~ 무진장 느리다. 결과가 나온뒤 게시를 하려 했으나, 성급한 나는 미리 게시부터 한다! -b option 없이 기본 트리밍 조건으로 하면 훨씬 빨리 끝난다. 아무튼 두 개의 paired end sequence file로부터 .trim이라는 확장자가 달린 새로운 파일이 생긴다. 이 파일을 열어 보면 서열의 길이가 제각각이고, 또 어떤 것은 헤더만 남고 염기 서열이 전혀 없는 것도 있다. 이제 LengthSort.pl을 사용하여 일정 길이 이상의 것만 필터링하되, pair가 깨진 것과 그렇지 않은 것을 따로 추려내 보자.

perl LengthSort.pl K-BC_1.fastq.trimmed K-BC_2.fastq.trimmed -l 51
(샘플로 사용한 파일이 바뀌었음을 유의할 것. 이 글을 쓰는 현재 -b option으로 시작한 DynamicTrim이 아직도 끝나지 않았기 때문이다)

결과는? XYZ.trimmed.paired1, XYZ.trimmed.paired2, XYZ.trimmed.single, XYZ.trimmed.discard의 4개 파일이 새로 만들어진다. 설명은 필요가 없을 것이다.


<종합 평가>
  • 간편한 QC report의 생성은? FastQC
  • FASTQ/FASTA 서열의 다양한 조작을 하려면? Fastx-Toolkit
  • Trimming
  • 그러나 뭐니뭐니해도 CLC Genomics Workbench만큼 간편하고 빠른 솔루션이 없다. 돈만 있으면... 이것이 진리다! FastQC를 제외하면 나머지 프로그램들은 CPU를 달랑 하나만 사용하여 작업을 한다. 그러다 보니 시간이 매우 오래 걸린다. CLC는 올해 업데이트된 버전에서는 graphical QC reporting 기능이 매우 화려해졌다.

2012년 10월 31일 수요일

[R-project] rep() 함수 활용

KOBIC이 주최하는 제12차 차세대 생명정보학 교육에 참석 중이다. 김상철 박사가 강의하는 R 강좌를 올해 들어 두번째 듣고 있다. 자기의 데이터를 가지고 실제 코딩을 해 봐야 실력이 늘 텐데, 게으름에 차일피일 미루다 보니 좀처럼 잘 되지 않는다.

아직도 R의 기본적인 문법을 가지고 헤매는 상태이다. Perl과 달리 R은 기본적으로 벡터 형태의 데이터를 다루고 있어서 Perl처럼 반복문을 많이 쓰지 않아도 된다. 그러려면 rep() 함수를 잘 이해해야 하는데, 이것이 생초보자에게 첫번째 좌절을 안겨주는 관문이 된다. 이건 지극히 개인적인 경험이므로 다른 사람은 어떤지 모르겠다.

이 포스팅은 내 기억을 정리하기 위한 것이지 일반적인 R의 강좌를 쓰고자 함이 아니니 혹시 그런 이유로 이 블로그에 들르신 분은 과감히 [뒤로가기] 버튼을 눌러 주시길...

 아주 간단한 rep()의 예제를 보자.


> rep("A", 4)
[1] "A" "A" "A" "A"

앞의 인수로 주어진 데이터를 뒤의 인수에서 지정한 회수만큼 단순히 반복하는 것이다. 만약 반복하고자 하는 인수가 벡터라면 어떻게 될까?

> x=("A", "B", "C")
> rep(x, 3)
[1] "A" "B" "C" "A" "B" "C" "A" "B" "C"


전체 엘리먼트에 대해서 두번째 인수만큼 반복하는 것이다.

그럼 이번에는 좀 더 복잡한 사례를 들어 보겠다. 1 1 1 1 2 2 2 2 3 3 3 3을 출력하고 싶다면?


> rep(c(1, 2, 3), c(4, 4, 4))
[1] 1 1 1 2 2 2 3 3 3

또는 다음과 같이 두번째 인수를 간략하게 표현할 수도 있다.


> rep(1:3, rep(4,3))
 [1] 1 1 1 1 2 2 2 2 3 3 3 3



이상은 두번째 인수도 벡터로 주어지는 경우이다. 두 인수는 각각 벡터이고, length가 같아야 한다. 첫번째 인수 벡터의 각 원소에 대하여 반복하는 회수를 두번째 벡터에서 결정하는 것이다. 조금 더 복잡한 사례를 들어 보자. 1 2  2 3 3 3 4 4 4 5 5 5 5 5은 다음과 같이 표현 가능하다.

> rep(1:5, 1:5)
 [1] 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5

이제야 조금 알겠다...


2012년 10월 28일 일요일

[Perl programming] map() 함수

map-sort-map 함수를 사용한 배열 처리 기법(Schwartzian transformation)을 가끔 사용하면서도, map의 정확한 사용법을 잘 모르고 있었다. map 함수는 인수로 주어진 배열의 모든 원소에 대하여 작업을 수행한 뒤, 그 결과로 이루어진 새로운 배열을 출력하는 기능을 한다. 다음과 같이 strain 명칭을 원소로 갖고 있는 배열이 있다고 하자.

@org = qw(K-12 BL21 str.168);

각 organism들이 갖고 있는 유전자의 수는 %num이라는 해쉬에 들어있다고 가정하자. 즉 다음과 같이 각 organism의 유전자 수를 반환할 수 있다.

$num{'K-12'} = 4600;

이제 유전자의 수를 한 줄에 프린트하려고 한다. 각 값은 tab으로 구분을 하되, @org 배열에 들어 있는 순서를 따르고 싶다. foreach를 사용한 고전적인 방법을 따른다면,

foreach (@org) {
    print $num{$_}, "\t";
}
print "\n";

이렇게 하면 마지막 값 뒤에 tab이 남는 부작용이 생긴다. 다음과 같이 임시 배열을 사용하면 조금 나아지긴 하지만, 코드가 너무 길어진다.

foreach (@org) {
    push @temp, $num{$_};
}
print join "\t", @temp;
print "\n";


 map function을 쓰면 다음과 같이 간결해진다.

print join ( "\t", map $num{$_}, @orgs) . "\n";

2012년 10월 20일 토요일

대전시민천문대에 대한 쓴소리

초등생 딸아이가 오랜만에 천문대에 가 보고 싶다고 하여 아내와 함께 셋이서 대전시민천문대를 찾았다. 일년에 몇 번씩은 들르는 곳이었지만 이번 방문은 상당히 오랜만이라서 나름대로의 기대를 갖고 갔다. 그러나 그동안의 방문 중에서 가장 성의 없고 불친절한 태도에 많은 실망을 하고 말았다.

시민천문대의 설립 목적은 무엇일까? 비록 도심에 위치하여 광공해때문에 많은 별을 보기 어려운 입지에 있지만, 일반 시민들이 천문학에 대해 쉽고 편하게 다가가도록 시설과 서비스를 제공하는 것이 아닐까? 입장료를 직접 받지는 않지만 아마 적은 예산이나마 시에서 지원을 하는 것일게다. 그러나 어제 관람객을 맞는 운영자의 태도는 빨리 문 닫고 집에 가고 싶은 주인의식 없는 점원의 그것과 다를 것이 없었다. 이들에게는 손님이 많이 찾아와 봐야 귀찮고 번거롭기만 할 뿐이다.

먼저 관측실 이야기부터 하자. 아마 이곳에서 생전 처음 본격적인 망원경을 접하는 사람도 많을 것이다. 망원경의 원리를 기초부터 설명하기는 곤란하겠지만, 최소한 오늘 관측 대상은 무어라고 설명이라도 해 주어야 하지 않을까. 안내인이 하는 설명이라는 것은 고작 "날씨가 좋지 않아 밝은 별 위주로 맞추어 놓았습니다. 둘러보시고 궁금한거 있으시면 질문하세요"가 전부였다. 초점이 흐트러져있다고 하자 누가 또 건드렸냐는듯 짜증스러운 태도와 함께.

더욱 가관인 것은 천체투영관에서였다. 동영상을 먼저 상영한 다음 별자리를 보여준다고 했다. 그러나 영상은 나오지 않고, 오디오도 처음부터가 아니라 볼륨 조절을 어떻게 했는지 모르겠지만 중간부터 들리기 시작했다. 그나마 영상은 한참동안 나오지 않은 채로 오디오만 재생하다가 안내인은 그냥 별자리 설명으로 넘어가겠다고 하였다.

플라네타리움 시설이 있는 천체투영관을 방문하는 사람은 대부분 어린이나 초보자이다. 최소한 동서남북 방위가 어떻게 되고, 낮에도 밤과 똑같이 많은 별이 있으나 밝은 태양때문에 보이질 않고, 천체는 하루에 한번 일주 운동을 한다는 설명 정도는 하고 가을 별자리로 넘어가야 하는 것 아닌가. 레이저 포인터는 너무 어두워서 어디를 가리키는지 알 수가 없고, 심한 사투리(이건 어쩔 수 없다고 치자), 성의 없는 설명 등... 대중 앞에서 효과적인 말하기를 하는 것은 분명 중요한 일이다. 그러나 중요한 것은 말하기 기술보다 자신의 지식을 전달하려는 정성과 태도이다. 이번 안내인은 모든 것이 부족해 보였다.

대전시민천문대의 재정 상태가 어떤지는 모르겠지만, 아마 모든 시정이 그러하듯 넉넉하지는 않을 것이다. 시설물을 간신히 유지 보수하는 것만으로도 부족하고, 근무하는 사람들이 보람을 갖고 관람객을 정성스럽게 안내하려는 마음이 도저히 나지 않는 수준의 보수를 받고 열악하게 근무하는지도 모르겠다. 또 사람을 직접 대하는 일이 얼마나 스트레스가 쌓이는 일인지도 잘 안다. 장애인 차량만 올라올 수 있게 만든 진입로를 통제하고, 비싼 망원경을 잘못 건드리지 않도록 아이들을 잘 지도하는 등 나름대로의 애로가 있을 것이다. 그러나 이 일을 통해 시민들과 그 자녀들이 하늘과 천체에 대한 관심을 갖고 아마추어 천문학자로 입문하는 저변이 늘어난다면 그것이 곧 보람 아니겠는가?

"운영 예산은 부족하고 관람객은 너무 많아서 힘들어 죽겠어요" 혹시 이런 태도를 갖고 있는 것은 아닌지?

몇년 전, 아름다운 배경음악을 나지막하게 깔고 성시경씨 비슷한 그윽한 목소리로 낭만적인 별자리 설명을 하던 안내원이 기억난다. 차라리 몇몇 동호인을 모아서 자원본사 형식으로 다만 몇회라도 별자리 설명을 하게 만든다면 비록 기계 조작 등 전문성에서는 조금 떨어지겠지만 충분한 열정으로 관람객을 즐겁게 해 줄 수 있을 것이다. 물론 이런 시도를 이미 해 보았을지도 모르는 일이다.

시민천문대 근무자들은 "내가 왜 여기에서 근무하고 있는가? 나의 미션은 무엇인가?"하는 생각을 해 보고 다시 초심으로 돌아갔으면 한다. 우리는 사설 천문대를 공짜로 쓰고 있는 것은 아닐 것이다. 분명 우리의 세금이 들어가고 있을 것이다.

2012년 10월 19일 금요일

삼성 피처폰 - 노리폰


딸아이가 쓰다가 버린(?) 피처폰. 10-20대 여성을 겨냥하여 출시되었던 작고 아기자기한 휴대폰이다. 과연 내가 스마트폰을 가지고 얼마나 스마트하게 살고 있나? 전화기는 영리하게(smart) 진화했지만 이를 쓰는 나는 더 dumb해진 것이 아닐까? 

중간고사 준비를 하다가도 친구와 쉴 새 없이 카카오톡을 날리는 딸아이를 보면서, 어쩌면 저 세대들에게 스마트폰이 더 필요한지도 모르겠다는 생각이 들었다. 사실 아이패드가 생기면서 스마트폰의 활용 빈도는 많이 줄어들었다.

새로운 실험으로서, 서랍 속에서 잠자고 있던 노리폰에 유심칩을 꽂았다. 아직 한가지 문제가 있는데, Wi-Fi가 잡히기는 하는데 정작 인터넷 연결은 되지를 않는다는 것이다. 이미 초기화를 한번 하고 펌웨어 업그레이드를 하였기에 설정 상의 문제라고는 생각되지 않는다. 하드웨어 불량일지도 모르겠다.

그러나 단순하게 살기 위해 일부러 피처폰을 사용하기로 한 이상(100% 결심을 한 것은 아니지만), 무선인터넷에 미련을 가질 필요가 무엇이 있는가? 생각해 보면 휴대폰으로 이메일을 처리해야 한다는 것은 지나친 강박증일지도 모른다. 이메일이란 batch 처리를 위한 것이라고 나는 믿는다. 이메일을 보내 놓고 두어 시간 만에 응답을 하기를 바란다는 것은 지나치다. 외근 중에도 항시 이메일을 확인하고 답장을 할 수 있으리라 기대한다는 것도 마찬가지다.

결국 모두가(아니, 대부분의 사람이) 스마트폰을 이미 사용하고 있고, 또 이를 통해 즉시 이메일 응답을 할 수 있을 것으로 기대하고 있는 것이 현실이기에, 일반 휴대전화를 쓰는 사람은 경쟁에 뒤쳐지는 것일까? 그렇지는 않다고 생각한다.

휴대폰 없이는 동네 수퍼마켓에 우유 한 팩을 사러 나가지도 못할 정도라면 문제가 있다. 왜 상시적으로 인터넷을 접속할 수 있는 환경이 되어야 한다고 생각하는가? 내비게이션이 없으면 운전을 목적지를 찾아가지 못하라는 법이 있는가? 

자신의 판단력을 믿고, 상황을 믿고, 인간적인 소통을 즐기도록 하자. 스마트 기기는 생활을 편리하게 보조해 주는 수단이라는 점을 잊지 말아야 한다. 동료들과 같이 간 커피숍에서 다들 스마트폰을 꺼내 화면을 바라보고 또 문지르고 있다. 바로 앞에 있는 사람이 더 중요하지 않을까?

노리폰은 의외로 쓸만하다. 화면 해상도가 다소 낮고 밝기가 자동 조정되지 않는다는 점만 제외하면. 서비스 센터에 가서 4,500원을 주고 좀더 남성스런(?) 배터리 커버로 바꾸어 볼 생각도 하고 있다. 현재는 분홍색이다 :)

화성으로 DNA sequencer를 보내자!

GenomeWeb에서 보내는 The Daily Scan을 보다가 재미있는 뉴스를 발견했다. 유명한 크레이그 벤터와 Ion Torrent의 설립자인 조나단 로스버그가 화성에 DNA 염기서열 해독장치를 보내고 싶어한다는 것이다. 우주인을 훈련시켜서 화성까지 보내려면 아직 기술적으로 해결할 일도 많고 비용도 엄청나게 든다. 몇 년이 걸릴 우주 비행에 자원할 사람도 흔치 않을 것이다. 차라리 DNA sequencer를 비롯한 소규모 '실험실'을 보내서 화성에 존재할지도 모르는 미생물을 탐사한 뒤 그 결과물을 지구로 전송한다는 아이디어이다. 현재 Ion Torrent 사는 자사의 PGM을 보내고 싶어하는 것으로 보인다. 이 프로젝트는 NASA가 지원하고 있으며, 명칭은 SETG(Search for Extra-terrestrial Genomes)이다.

안타깝게도 이러한 아이디어를 오래전부터 갖고 있었던 Gary Ruvkun은 이 프로젝트에서 언급되고 있지 않다고 하였다.

화성은 생명체 존재의 가능성으로 인류의 호기심을 계속 자극해 왔었다. 비록 환경은 지구에 비해서 훨씬 열악하지만, 미생물이 생존하고 있을 가능성은 매우 크다. 이들이 지구상의 생명체와 마찬가지로 4개의 염기와 20종의 아미노산을 공통적인 building block으로 쓰고 있을지는 아무도 모른다. 대책 없이 이들 생명체를 지구로 가져오게 되면 어떤 일이 벌어질지 누구도 예측하기 어렵다. 차라리 현지로 실험장치를 보내서 DNA 염기서열을 읽는 것이 안전할 것이다. 단, 지구의 PCR 방법으로 그들의 핵산이 증폭 가능하다는 가정 하에서 말이다.

화성에 세균이 산다면! 참으로 낭만적인 생각이다. 단, 이를 증명하기 위해 천문학적인 연구비가 든다는 것이 문제일 것이다.


기사 원문: The Alien Genome

2012년 10월 16일 화요일

MicrobeDB

미생물 유전체를 늘 다루면서 GenBank file이나 tab-delimited file에서 필요한 정보를 추출하기 위해 매번 Perl 스크립트를 짜는 것을 번거롭게 생각하고 있었다. BioPerl을 같이 사용하기에 많은 수고를 덜 수는 있지만, 반복적인 일을 매번 새롭게 하는 것도 능률이 오르지 않는 노릇이다.

Bioinformatics 저널에 MicrobeDB라는 local database에 대한 논문이 실렸다. NCBI 또는 GenBank format의 사용자 데이터를 자동 다운로드하여 MySQL DB로 유지하고 이를 편하게 사용할 수 있는 API까지 포함되어 있다.

MicrobeDB: a locally maintainable database of microbial genomic sequences. Bioinformatics 2012 28:1947. 

논문에 나온 구절을 인용해 보자.

We propose a minimalistic system that is easy to set up, requires minimal administration for automatic update, focusing on a lab based setting where unpublished genomes can be easily added, and allowing individual users to work with an unchanging snapshot of genomes from a given download date.

다운로드는 다음 사이트에서.

https://github.com/mlangill/microbedb/

원래는 GBrowse의 데이터베이스를 조작해서 필요한 일을 해 볼까 하는 생각을 갖고 있었지만 막상 실행에 옮기지는 못하고 있었다. 내 용도에 딱 맞는 도구가 나와 준 것이 다행스럽다.

2012년 10월 12일 금요일

컴퓨터와 씨름하며 보낸 일주일

두 대의 컴퓨터, 그리고 리눅스 배포판이 담긴 CD/DVD-ROM 6장. 창고로 들어가 버릴 수도 있었던 컴퓨터를 잘 살려냈다. 온갖 배포판을 전전한 끝에 Fedora 17과 Xubuntu 12.04로 잘 마무리가 되었다. 역시 리눅스를 제대로 쓰려면, 데스크탑 환경에서 주무르는 것이 가장 확실하고 또 실력도 확실하게 느는 것 같다. 업무용 프로그램을 쓰기 위해 ssh로 접속해서 CLI 모드로만 작업을 하다 보면 한글 설정이나 멀티미디어 등 사용자의 편의를 위해 간과할 수 없는 기능들을 등한시하게 된다.

많은 사람들의 노력으로 예전보다는 훨씬 편하게 리눅스를 쓰게 되었다. 정말 고마운 일이다. 사무실은 마스커레이딩과 공유기를 이용한 좀 복잡한 네트웍 구성을 갖고 있는데, 이것 역시 공부하는데 큰 도움이 되고 있다. 시험용으로 잠시 조립해 놓은 컴퓨터를 인터넷에 연결하기 위해 전산실에 요청해서 IP 주소를 받지 않을 필요도 없고...

구입한지 4-5년이 된 Core2 Duo E6750(2.66 GHz), E7200(2.53GHz) CPU를 장착한 컴퓨터가 리눅스 덕분에 다시 활용될 수 있다니 이 어찌 기쁘지 않겠는가? 더군다나 그중 하나는 만 10년이 된 케이스 안에 재조립한 것이다. 이 케이스는 투알라틴 셀러론 1GB로 꾸며졌던 컴퓨터였다. 이 보드와 CPU는 아직 작동이 잘 되는 상태이다. 이제 이것을 가지고 할 수 있는 일은 별로 없지만. 두 장의 PCI 랜카드, 100 GB가 안되는 IDE 하드 디스크 몇 개... 심심할 때 가끔 전원이나 연결해서 돌려 볼 일이다.

2012년 10월 10일 수요일

우분투 12.10 -> 페도라 17

영원한 삽질 중...

유니티 환경도 나름대로 쓸 만하다고 생각하고 있는데, 자꾸 Shuttle에서 마우스와 키보드가 멈추는 현상이 발생한다. 비스타를 쓰던 당시와 유사한 상황이다.

OS를 바꾸어 보는 삽질(?)을 한번 더 하기로 하였다. OpenSUSE, Linux Mint, Fedora 등 세가지를 번갈이 깔아 보면서 한글 설정이 가장 편한 것으로 결정하기로 하였다. 최종적으로는 Fedora로 낙찰. 설마 OS를 바꾼다고 해서 마우스 작동 장애가 해결이 되지는 않겠지만...

그런데 최초 설치 단계에서 한글 키보드를 설정하지 않았더니 나중에 이만저만 번거로운 것이 아니었다. 인터넷을 뒤져서 해결하려다가 결국은 재설치!

PCLinuxOS와 리눅스 민트에 계속 관심이 간다. 마우스/키보드가 불안정한 문제만 없다면 이제 조금 손에 익숙해진 우분투도 나쁘지 않은데 말이다. 언젠가는 PCLinuxOS나 Linux Mint를 설치해서 써 보련다. 단, 한 시간도 안되는 경험이었지만 KDE는 조금 무겁게 돌아간다는 느낌이 든다. 나중에 필요하게 될지도 모르니 우분투와 리눅스 민트에서 언어를 설정하는 방법에 대한 글이 있어서 링크를 걸어 둔다.


[리눅스 민트 12 & 우분투 11.10] 언어설정 변경하기 + 한글 입력 설정(nabi 설치 및 설정)


페도라를 깔아도 마우스가 멈추는 현상은 여전히 발생할지도 모른다. 그때에는 정말 이 컴퓨터를 퇴출시켜야지...


놀랍다! 우분투 12.10에서는 몇 번씩 마우스가 멈추고는 했었는데 페도라 17에서는 아직까지도 몇 시간째 쌩쌩하게 돌아가고 있다.

2012년 10월 9일 화요일

삽질은 영원하다 - SSH를 이용한 그놈 데스크탑 실행

리눅스 머신이 하나 더 생기니까 설정을 위해 건드릴 부분도 많아졌다. 이 장비에 대형 모니터가 연결되어 있으므로, 다른 머신의 화면 출력을 이쪽으로 보내기 위해 많은 '삽질'을 하는 중이다. 원격 데스크톱 기능을 이용하여 리모트 머신의 화면 또는 리모트 머신의 가상머신 화면을 대형 모니터로 보내는 것까지는 무난히 성공하였다.

다음의 도전 과제는 SSH를 이용한 Gnome Desktop의 실행이다.


  1. Ctrl + Alt + F2를 눌러서 콘솔 화면을 연 뒤 로그인한다.
  2. xinit -- :1을 실행한다. Xterm 하나만이 뜬 아주 심플한 X window의 화면이 나온다.
  3. ssh -X -C <접속할 remote machine의 IP wnth>
  4. gnome-session 실행

xinit 명령 실행을 할 때 콜론(:) 뒤에 오는 디스플레이 번호에 주의해야 한다. :0은 이미 로컬 컴퓨터에서 쓰고 있으므로, 순차적으로 증가시켜야 한다. ssh 명령줄에서 user ID를 넣지 않은 것은 원격 머신과 로컬 머신의 계정명이 동일하기 때문이다.

이렇게 하면 원격 머신의 그놈 데스크탑 화면이 로컬 머신에 고스란히 뜬다. 원격이 CentOS 6.3인 경우 아주 완벽하게 작동한다. 문제는, 바로 옆에 있는 BioLinux 6(우분투 10.04 LTS)이다. 처음에는 화면이 뜨기는 하는데 화면이 위아래가 뒤집어져 나오는 것이다! 나와 똑같은 문제를 겪는 사람이 다른 나라에도 있었다.


그놈 데스크탑의 효과 기능을 끄니까 이문제는 해결되었다. 그런데 화면이 어딘가 좀 이상하다. nabi가 보이지 않는다. BioLinux 머신 자체에서는 로그인과 동시에 패널에 나비가 실행 중임을 알리는 표시가 뜨며, 한/영 전환도 잘 되고 있다. 그런데 원격으로 연 데스크탑에서는 자동 실행이 안된다. 터미널 창을 열어서 nabi를 실행시켜 보면 트레이에 표시가 되기는 하나 한글 입력이 되지 않는다.

여기서 또 의문점이 생긴다. BioLinux 쪽에서는 gnome-session-properties를 실행하여 시작 프로그램의 목록을 열어 보아도 nabi는 없다. 그런데 어떻게 자동 실행이 되고 있는거지? 아, 모르겠다...

2012년 10월 8일 월요일

원격 데스크탑으로 가상머신 불러오기

집에서 쫓겨난(?) Shuttle XPC SG335G(Core2 Duo E7200 @ 2.53 GHz, 메모리 2GB)와 다른 박사님이 쓰시던 것을 넘겨 받은 LG 플래트론 32인치 모니터. 이것으로 무엇을 할 것인가? 모니터는 사무실에서 회의를 할 때 자료를 펼쳐놓는 용도로 쓰면 되겠고, 이를 구동할 컴퓨터로 Shuttle을 사용하기로 했다. 비스타를 4년간 이 컴퓨터에서 쓰면서 하도 불안정함을 많이 겪어온 터라, 적당한 리눅스 데스크탑을 깔기로 하였다.

아침에 이를 들고 나와서 PCLinuxOS를 먼저 설치해 보았다. KDE를 기반으로 해 보았는데, 한글 사용이 썩 편하지 않았다. 사용자가 추가적으로 할 일이 많아 보였다. 다음으로는 OpenSUSE 최신 버전을 설치해 보았는데, 인터페이스가 영 허름하고 업데이트 사이트가 너무 멀어서(바꿀 수는 있겠지만) 패키지 다운로드가 원활하지 않아 결국 약간 내키지 않는 마음으로 우분투 12.04 LTS 64비트 버전을 깔았다. 32비트 모니터와는 RGB cable로 연결하였다. 모니터측에는 일반적으로 사용하는 DVI 단자가 없고 HDMI 단자와 RGB 단자만 있는 형태이다. Shuttle에도 HDMI 출력이 있지만, 이를 통해 연결하려면 HDMI 케이블을 사야만 한다. Shuttle의 비디오 출력을 RGB로 뽑아내기 위해 케이스를 열어서 메인보드의 점퍼 설정을 바꾸었다.

OS 설치와 업데이트는 일사천리.

자, 만약 PPT file을 이 32인치 모니터에서 보려면? LibreOffice로 열든지, 혹은 PDF로 전환하여 보면 될 것이다. 이런 뻔한 방법 말고, 바로 옆에 있는 Ubuntu 내의 VirtualBox(윈도우7)의 MS 오피스에서 연 다음 화면 출력을 이 모니터에서 볼 수 없을까?

처음에는 원격 컴퓨터를 SSH로 접속하여(-X -C option) 원격의 X application을 실행하듯이  VirtualBox를 실행하면 될 것으로 생각했으나 잘 되지 않았다. VirtualBox의 매뉴얼을 잘 읽어보니 원격 디스플레이와 관련한 솔루션이 보이기 시작하였다. 지금껏 원격 데스크탑 혹은 원격 디스플레이를 제대로 써 본 일이 없어서, 약간의 공부를 해야만 했다. 먼저 VirtualBox 설정에서 '디스플레이->원격 디스플레이'로 들어간 뒤 '서버 사용하기'를 체크했다. 그 다음엔 뭘 해야 하지? 오늘 설치한 우분트 클라이언트에서 rdesktop이라는 것을 실행하면 된다고 한다. 사실 이 일을 하기 직전까지 서버쪽에서 가상 머신을 먼저 켜 놓아야 한다는 것도 몰랐다^^

rdesktop으로 연결을 하니 오! 화면이 뜬다. 그런데 일부가 가려진다. 이를 어떻게 하여 전체화면 모드로 쓸 것인가... 우분투에 설치된 프로그램 중에 리미너' 원격 데스크탑 클라이언트가 있다. 터미널 창을 열 필요도 없었고, 그저 마우스 클릭 몇번으로 프로그램을 찾아서 설정을 해 주었다. 그리고는 실행... 도대체 리미너'(맨 뒤에 '가 찍혀 있다)의 철자가 뭔지 궁금해서 구글을 뒤져보니 remmina였다.



오, 세상에! 전체 화면 모드로 윈도우 가상머신을 드디어 띄웠다! 정말 이런게 되는구나!! 좀 더 꼼수를 부린다면, 클라이언트에 USB를 꽂았을 때 서버측의 가상머신이 이를 인식하게 하는 방법도 있을 것이다. 이제 완벽한 회의실 기능을 갖추었다...

2012년 10월 5일 금요일

구글 익히기


검색 엔진에서 출발한 구글이 점점 다양한 서비스를 내놓고 있다. 요즘 들어서 PICASA 웹 앨범과 [구글+]에 조금씩 맛을 들이고 있는 중이다. 특히 구글+의 경우는 페이스북이나 트위터처럼 주의력을 분산시키는 서비스가 아닌지 의심이 들어서 잠시 탈퇴를 한 일이 있었으나, 최근 다시 가입해서 조금씩 사용법을 익히고 있다.

개인적인 생각이기는 하지만, 특히 구글+의 여러 서비스들은 처음에는 쉽게 감이 잡히질 않는다. 나도 이런 상태로 일년이 넘게 그냥 지내 왔었으니까. 이제서야 스트림이 무엇인지, 서클이 뭔지, 사진은 어떻게 공개를 하는지 등의 개념을 잡아가고 있는 중이다.

내 구글+ 사이트 주소를 URL 형식으로는 어떻게 나타내는지 알아내는 것도 쉽지 않았다. 소위 구글+ 단축주소(Google+ URL shortener) 서비스가 여럿 존재하는데, 이 중에서 실제 구글이 공식적으로 지원하는 것이 무엇인지 찾아내는 것도 쉽지 않았다. 이를 알아가는 과정에서 유독 한 사람의 글이 검색 엔진에 자주 랭크되는 것을 알게 되었다. 소위 구글 전문가로서 2012년도에는 책까지 낸 분의 글이었다.

그런데 "한국구글사용자그룹"이라는 모임까지 있는 것을 보고는 의아하게 생각하지 않을 수가 없었다. 구글을 통해서 서로 소통을 하고 공통 관심사를 논하다가 번개 모임을 가질 수도 있겠지만, 구글의 활용 자체를 위한 오프라인 모임이 있다니?

이야기가 잠시 딴 길로 샜는데, 아무튼 이 분의 자료에서는 구글+의 단축 주소를 제공하는 사이트로서 gplus.to를 소개하고 있다. 자기가 원하는 별명(nick name)을 이용한 단축주소를 제공한다는 것은 좋지만, 아무리 둘러보아도 구글에서 공식적으로 제공하는 서비스는 아니었다. 이런 서비스가 먼저 나온 뒤에 비로소 구글에서 단축주소를 제공하기 시작했는지도 모르겠다.

현재 구글이 제공하는 공식적인 URL shortener는 goo.gl이다.

구글+의 내 주소는 이러하다.

긴 주소 https://plus.google.com/u/0/114395991498966838571/posts
짧은 주소(공식) https://goo.gl/ZKq4B
짧은 주소(비공식) http://gplus.to/HaeyoungJeong

한국 인터넷 포탈의 거대 공룡이 되어가고 있는 네이버가 점점 싫어지면서 다른 방식으로 인터넷 세계와 소통할 방법을 찾고 있었는데, 서비스의 참신성이나 기능 및 개방성 등의 모든 면에서 구글이 우월함을 점점 느끼고 있다. 그렇다면, 늦어도 연말 이전에는 완전한 이동이 가능할 것으로 본다. 단, 네이버에 있는 블로그 자료들은 어떻게 할 것인가? 온라인 상의 기록으로서 그냥 놔 둘 것인가, 아니면 네이버를 반대하는 입장을 명확히 하기 위해 완전히 삭제할 것인가?

2012년 10월 3일 수요일

새 컴퓨터를 주문하면서

집에서 사용할 새로운 컴퓨터를 막 온라인으로 주문하였다. 걸핏하면 꺼지고, 재부팅이 원활하지 않고, 블루스크린을 토해내며, 갑자기 키보드와 마우스가 먹통이 되는 것을 이제 더 이상 참을 수가 없다. 이미 4년을 사용했으니 새로 바꿀 때도 되었다고 생각한다. 사실 지금껏 사용한 셔틀 베어본은 구입 때부터 문제가 많았다. 게다가 비스타를 사용한 것이 더 문제였는지도 모른다.

컴퓨터 구입에 드는 절대적인 금액은 거의 비슷하거나 조금씩 낮아지고 있다. 물가 상승률을 고려하면 정말 더 많은 혜택을 보는 것이다. 기술은 정말 대단한 속도로 발전하고 있다.

이제 두번째로 구입하는 Dell 제품이다. 전반적으로 만족하고 있다. 사용하던 셔틀은 적당한 리눅스 데스크탑이나 깔아서 활용하자.

2012년 9월 29일 토요일

데스크탑 리눅스는 죽었는가?

우분투 안에 다시 다른 버전의 우분투를 설치해 두고, 이만하면 참 쓰기 편해졌다고 생각하면서 구글에서 글들을 찾아 읽던 도중 다소 암울한 분위기의 글을 접하게 되었다.

"데스크탑 리눅스는 죽었다"

리눅스를 커널까지만 제한하여 볼 것인가, 유저 인터페이스를 포함하여 응용프로그램 전반을 통틀어서 일컬을 것인가에 따라 이 글이 주는 의미는 다르다. 최소한 리눅스 재단에서는 초기의 정신에 맞게 자유로움에 입각하여 커널을 개발, 배포하고 있다. 문제는 사용자 인터페이스와 배포판이 너무나 다양하게 존재하고 있고, 써드파티 개발자들이 힘겹게 뭔가를 만들어 놓으면 또 육개월만에 새로운 삽질(?)을 시작해야 한다. 예전보다 많이 편리해졌다고는 하나, 특히 데스크탑 리눅스가 가야할 길은 아직도 멀고, 점유율 1%의 벽을 여전히 넘지 못하고 있다. 서버쪽은 모르겠지만, 데스크탑 리눅스는 도무지 수익을 내기 어려운 현실인 것이다.

이제 겨우 우분투에서 데스크탑 리눅스의 새로운 가능성을 감지하고 익숙해지려고 노력하는 중인데, 만약 캐노니컬의 재정이 악화되어 더 이상 우분투를 쓰지 못하게 되는 날이 올까? 그러면 다시 밋밋한 CentOS로 돌아가서 가상머신 내의 윈도우즈로 모든 작업을 해야 하나? 아니면 서버는 리눅스 서버는 따로 두고 다시 예전처럼 윈도우 PC에서 Xmanager로 연결하여 사용해야 하나?

개발자도 살고, 회사도 적정 수익을 내고, 일반 사용자도 만족할 수 있는 그런 생태계가 데스크톱 리눅스에서도 실현된다면 얼마나 좋을까? 자유와 오픈소스라는 고유한 철학을 계속 지켜나가는 것도 중요하겠지만,  집단의 규모가 일정 이상이 되면 자발적 참여만으로 문제가 다 해결되지 않는다. 가벼운 마음으로 관심을 갖는 사람들에게 '터미널 창은 필수이고 gcc로 뭔가 컴파일을 해야 해..."하는 진입 장벽을 만들 수는 없지 않은가. 모두가 알아서 삽질을 하고 고쳐나가는 시스템은 자발적인 소수만으로 집단이 운영될 때 통하는 이야기일 것이다.

물론 많은 리눅스 관련 회사들은 데스크탑 시장에 대해서 나보다는 더 심각하게 고민을 하고 또 해결 방안을 찾기 위해 고민하고 있을 것이다...

2012년 9월 28일 금요일

우분투 안에 우분투 설치

우분우 최신 버전의 인터페이스는 10.x 버전과 많이 다르다. 그놈 데스크탑 환경은 Unity로 바뀌었고, 편리하게 이용하려면 발상의 전환을 필요로 하는 것 같다.



이 환경을 언젠가는 익혀야 할 것이다. 현재 데스크탑으로 쓰는 우분투 10.04 기반의 바이오리눅스가 영원할 리도 없지 않은가? 12.04는 처음 나온 직후에는 불안정한 요소가 다소 있었지만, 12.04.1은 어느 수준으로 안정화되었을 것으로 판단하였다. 이에 따라서 VirtualBox에 윈도우 7에 이은 두번째의 가상 머신으로서 우분투 12.04.1을 설치하였다. 화면 해상도는 게스트 확장을 설치한 이후에 실제 모니터에 맞게 맞출 수 있었다.

터미널 창의 개념이 아예 없어져 버린 것일까? 호스트의 HDD에 접근하려면 어떻게 하였었더라? 활용팁을 기록해 나가면서 새로운 마음으로 공부를 하자. CentOS는 서버와 공식 연구 업무용으로 손색이 없지만, 데스크탑 용도로는 조금 불편하고 심심한 것은 사실이니까.

2012년 9월 25일 화요일

VirtualBox를 옮기기가 왜 이렇게 어려운가(I/O cache 문제)

바이오리눅스 6.0(우분투) 환경에서 VirtualBox로 윈도우7을 구동하고 있다. ext4 파일시스템에 가상머신을 만들어 사용하면 부팅을 할 때마다 계속 경고 메시지가 나온다.

The host I/O cache for at least one controller is disabled and the medium '/home/hyjeong/VirtualBox VMs/Win7 VM/Win7 VM.vdi' for this VM is located on an ext4 partition. There is a known Linux kernel bug which can lead to the corruption of the virtual disk image under these conditions.

Either enable the host I/O cache permanently in the VM settings or put the disk image and the snapshot folder onto a different file system.

The host I/O cache will now be enabled for this medium.



VM을 ext4로 포맷된 두번째 HDD로 옮기면 달라질까 싶어서 방법을 여러가지로 알아 보았으나 도무지 잘 모르겠다! 가상 머신을 이동하는 것이 생각만큼 쉽지 않다. 구글을 위져보니 설정에서 host cache를 enable로 체크하면 된다는 글(여기)을 보고 그대로 따라해 보니까 비로소 더 이상의 에러가 나오지 않게 되었다. 좀 더 상세히 설명한다면, VirtualBox 관리자에서 설정->저장소를 택하면 IDE 컨트롤러와 SATA 컨트롤러가 보이는데, 후자에서 '호스트 I/O 캐시 사용하기'가 체크되어 있지 않았기에 이를 클릭하여 체크 상태로 만드는 것으로 해결이 되었다.

그런데 이러한 조치가 문제를 원론적으로 해결한 것인지, 혹은 임시방편인지는 아직 잘 모르겠다... 사실 이 문제는 버추얼박스를 처음 쓸 때부터 접했던 것이라 항상 찜찜하게 생각하고 있었다.

결론을 내리자면, ext3 파일시스템으로 가상머신 이미지(?)를 옮기지 않고도 이 문제는 해결 되었다.

아이패드/안드로이드폰으로 사진 찍어 올리기

아이패드 후면의 사진기는 5백만 화소에 지나지 않는 소박한 성능을 보유하고 있지만, 촬영 즉시 대화면으로 사진을 볼 수 있다는 것이 매력이다. 더군다나 레티나 디스플레이의 섬세한 화면은 일반 액정 모니터에서 대하던 화질과는 매우 다르다.  웹에 직접 올릴 목적이라면, 일단 디지털 카메라로 찍어서 리사이즈 등의 작업을 거친 뒤 컴퓨터에 연결하는 것보다는 아이패드로 촬영하여 최소한의 후작업을 하여 와이파이 환경이 있는 곳에서 올리는 것이 가장 바람직할 것이다.

그렇다면 사진을 등록하고 또 필요에 따라서는 공개하는 웹 앨범 서비스로는 무엇이 가장 좋을까? 구글 사용자로서 picasa가 가장 적당할 것이다. picasa는 웹 앨범이자 공유 사이트이기도 하고, PC 환경에서 이미지를 편집하고 organize하는 동시에 웹 앨범에 업로드하는 도구이기도 하다. 한 가지 아쉬운 점은 리눅스에서는 picasa 프로그램을 설치하지 못하므로, 오로지 웹 환경에서만 접근해야 한다.

사실 구글이 내놓은 여러 응용 프로그램들의 환경에 아직 익숙하지 못하다. 구글 프로필, 구글 플러스, 피카사... 이런 것들이 서로 어떻게 연결되고 있는지 아직 감을 잡지 못하고 있다. 그나마 확실하게 그 기능을 이해하여 잘 활용하고 있는 것은 지메일, 구글 드라이브, 그리고 캘린더 정도이다. 사진을 어떻게 올리고 앨범은 어떻게 구성하고 또 공유는 어떻게 설정하는지에 대해 소상하게 이해하지 못하고 있다. 특히 공유에도 몇 가지의 단계가 있어서 이를 제대로 이해하지 못하면 지극히 개인적인 사진을 전세계에 공개해 버리는 실수를 범할 수 있다.

아이패드 환경에서 사진을 관리하고 또 picasa 등의 웹 앨범에 올리는 기능을 하는 앱이 꽤 많이 공개되어 있는데, 대부분은 유료이다. 어제 picflick이란 앱의 무료 버전을 받아서 시험을 해 보는 중이다. 공부할 것이 꽤 많다. 먼저 "앨범"의 정의부터 확실해 내려야 할 듯.

그런데 조금 수고를 들여 검색을 해 보니까 picflick과 같은 제3의 프로그램이 별로 필요하지 않다는 것을 알게 되었다. Google+를 안드로이드 기기나 아이패드에 설치한 뒤 자동업로드(와이파이 환경에서만 작동하도록 설정 가능)를 활성화시키니 휴대기기에서 새로 찍은 사진은 자동으로 Google+의 "자동 업로드"에 올라오게 된다. 이는 기본적으로 공유하기 전까지는 자신에게만 공개가 되며, 앨범으로 보낼 수도 있다. 매우 지능적이다. 큰 사진의 경우 해상도는 자동으로 2048x2048로 조정되고, 용량에는 한계가 없는 듯.





2012년 9월 20일 목요일

아이패드에 MIDI 키보드 콘트롤러 연결

GarageBand를 드디어 구입하다. 왜 이것이 최고의 앱이라는 평을 듣는지 알 것도 같다. 별다른 설명 없이도 사용 가능한 직관적이고도 단순명료한 인터페이스, 나름 괜찮은 음질, 그리고 문자 그대로 '스마트'한 기타 플레이어...

캐비넷 속에서 오랫동안 잠자고 있었던 CME U-Key(49건반)를 꺼내어 전원 어댑터를 연결한 뒤, 카메라 연결킷을 경유하여 USB 케이블을 연결하였다. 일반 PC에 연결한 소프트 신스라면 MIDI 입출력을 조정해 줘야 되겠지만, 연결과 GarageBand의 실행만으로 OK! 소리가 난다, 소리가!

아이패드와 더불어 구입한 것은 몇 개의 앱과 카메라 연결킷밖에 없다. 워낙 갖고 있던 자잘한 장비가 많아서 이리저리 연결하여 다양한 가능성을 모색해 볼 수 있었다.

2012년 9월 18일 화요일

Dropbox를 쓸 수 없다니...

Dropbox의 폴더가 며칠 전부터 동기화가 되지 않고 있다. 국정원 보안 지침에 따라서 연구소 전산정보센터에서 사이트를 막은 것으로 생각된다. 보안이 중요한 것은 아무리 강조해도 지나침이 없지만, 모바일 오피스 시대를 열어가는 이 시대에 이렇게 규제 일변도로 나아가도 될까?

[ZDNet Korea] 국정원과 방통위의 황당한 클라우드 이야기
[ETNEWS] 한국 IT 신기술 'STOP' 시킨 범인은 "국정원?"

국정원의 우려처럼, 클라우드 서비스는 정말 국가 사이버안보에 대한 위협 요소일까? 이는 교통사고가 걱정되니 자동차를 전부 없애고 걸어다니자는 것과 무엇이 다를까?

2012년 9월 16일 일요일

아이패드에 일렉기타 연결하기


IK Multimedia의 iRig나 심스뮤직의 i-ROCK을 사용하면 아이패드에 일렉기타를 연결하여 AmpliTube 등의 프로그램을 즐길 수 있다. 내가 지금껏 아이패드를 위해 구입한 악세사리는 오직 카메라 연결킷이 유일하다. 여기에 베링거 USB audio interface를 연결하는 것이 가능하다는 말을 듣고 시도를 해 보았다.

나에게는 최저가 오디오 인터페이스인 UCA200이 있다. 헤드폰 연결을 위한 단자조차 없기에, RCA 오디오 출력 단자에 연결하는 Y-cable(female)을 이용하여 이어폰을 연결하고 있다. 별도의 증폭이 이루어지지 않으니 음량이 부족한 면이 있다.

기타는 액티브 DI box를 통해 UCA200에 연결한 뒤, 카메라 연결 킷에 꽂았다. 앱스토어에서 AmpliTube Free를 다운로드하여 작동을 시켜 보았다. 소리는 아이패드의 스피커나 이어폰으로 나오지 않고 UCA200을 통해서만 나온다. AmpliTube Free에 기본적으로 들어 있는 StompBox는 너무 적다. 사용자 등록을 하면 Free distortion만 하나 추가할 수 있을 뿐.... 추가로 구입하려면 몇 달러 씩은 소요된다. PC 버전의 AmpliTube에서 이펙터를 추가 구입하는 비용보다는 많이 싼 편이다. 아이패드용 AmpliTube 앱 정식버전은 $19.99이다.

일렉기타->DI box->UCA200->아이패드로 연결하면 작동은 잘 되는데 연결하는 것이 너무 많고 무거우며 거추장스럽다. 저 시커면 LDB-101 DI box는 아예 금속 덩어리 아니던가!

iRig를 더욱 단순화시킨 국산 제품인 i-Cable이라는 것도 있다.

http://www.zound.co.kr/shop/shopdetail.html?branduid=207030

UCA200을 랩탑에 연결하여 AmpliTube Free PC 버전을 작동시키는 경우, 드라이버가 자동으로 올라오지 않아서 제어판에서 작업을 해야 하는 경우가 많았다. 게다가 전용 드라이버와 ASIO4ALL이 함께 깔려 있으면 더욱 신경을 써 줘야 한다. 아이패드의 경우는 꽂기만 해도 단박에 작동을 하니까 상당히 편하다.

i-Cable/i-ROCK은 25,000원 정도의 가격에 팔리고 있다. 하나 살까? 차이점이 있다면 UCA200은 자체적인 Analog-to-digital converter를 통해서 신호가 아이패드로 들어간다는 점이고, 케이블 형식의 인터페이스는 아날로그 신호가 아이패드로 들어가서(헤드세트 잭을 통해서 들어가므로) 비로소 디지털로 전환된다는 점이다.

UCA200의 단점은... 케이블이 너무 길어!

[2012년 9월 17일 추가 작성] 카메라 연결킷을 통해 아무 USB DAC이나 연결한다고 다 작동이 되는 것이 아니었다. 플랜트로닉스의 USB 헤드셋을 연결해 보았으나 이번에는 소리가 헤드셋을 통해 나는 것이 아니라 아이패드의 내장 스피커를 통해 흘러나온다.

2012년 9월 15일 토요일

아이패드로 블로그에 글 쓰기

아이패드의 웹 브라우저(사파리 또는 크롬)로 네이버 블로그에 접속한 다음 글을 작성해 보니 사진을 올릴 수가 없다. 앱스토어에서 네이버 블로그 앱을 찾아 보았지만 아이폰용 앱밖에 없어서 아이패드의 너른 화면을 제대로 쓰지를 못한다.

아이패드는 화면의 해상도가 충분히 높기 때문에 PC 버전의 웹 화면을 그대로 뿌려도 되겠지만 글 작성이나 파일 업로드를 위한 액티브X, 그리고 플래시 때문에 현실적인 제약이 있다. 또 어떤 웹 페이지는 모바일 페이지로만 접속이 되는 것 같기도 하고.

스마트폰과 PC의 중간쯤 되는 위치라서 간혹 어정쩡한 위치에 자리매김을 하는 듯. 되도록이면 웹 페이지는 접속하는 환경에 따라 너무 달라지지 않는 것이 좋을 것이다. 단, 화면이 작은 스마트폰은 선택의 여지가 별로 없을 것이다.

스마트폰으로 찍은 사진을 블루투스를 이용하여 아이패드로 보내는 기능이 혹시 없는지 찾아 봐야 되겠다.

2012년 9월 5일 수요일

Facebook의 폐해

현재 나는 페이스북을 사용하지 않고 있다. 잠깐 사용한 적이 있기는 한데, 그 이유는 무슨 특별한 계기나 직접적인 관심이 있어서가 아니었다. 서울대 천 모 교수님이 페이스북을 처음 사용하시면서, 실수로 이메일 주소록에 있던 모든 사람들에게 친구 초대의 메일을 뿌리게 만든 것이 화근이었다. 그래서 조금씩 페이스북을 사용하다가 밀려드는 메일 푸시에 지쳐가기 시작했고(메일 알림 기능만을 해제할 수도 있었겠지만) 결국은 완전히 탈퇴하고 말았다.

그 이후 페이스북이나 트위터처럼 정신을 산란스럽게 하는 서비스를 완전히 잊고 있었는데, 오늘 하루 동안 나와 친구가 되기를 희망하는 사람이 있다는 메일이 두 개 날아왔다. 여기에서 두 가지 의문점이 생겼다. 첫째, 나는 페이스북을 완전히 탈퇴했다고 믿고 있는데, 어떻게 내 메일 주소로 연락이 온 것일까? 두번째, 정말 상대방이 나를 친구로 추가하기 위해 선택을 한 것일까? 두 메일 중 하나는 아들로부터 온 것이니, 오늘 학교에서 돌아오면 물어볼 생각이다.

아무리 생각을 해 봐도 내 프로필이 탈퇴 이후에도 페이스북에 남아 있었던 것으로 보인다

친구 안내 메일의 끝부분에는 이런 메일을 앞으로 받지 않으려면 unsubscribe를 하라는 안내와 링크가 붙어 있다. 일단은 다시 탈퇴를 해 본다.


2012년 9월 4일 화요일

Office2 HD 구입

아이패드용의 두번째 유료 앱으로서 Office2 HD를 구입하였다. iWork 패키지가 정답일 수도 있겠지만, 가격이 좀 부담스럽다. MS Office 파일과의 호환성도 좋은 편이고, 가격도 저렴하다. 사이즈가 큰 파일은 튕겨낸다는 보고가 있기는 하다.

영문이지만 도움말도 충분히 지원된다. 이 앱에서 지원하는 기능들이 iWork에도 그대로 있는지는 잘 모르겠다. 가령 와이파이를 통해 PC에서 아이패드의 로컬 파일을 꺼내오는 기능 같은 것.

구글 드라이브나 드롭박스는 잘 지원하고 있는데, iCloud와는 어떻게 연동되는지를 모르겠다. 아니, 정확히 말해서 내가 iCloud를 제대로 이해하고 있는지에 대해서도 자신이 없다. 다큐먼트나 프레젠테이션 파일 저장소로서 iCloud를 쓸 수 있다는 것인가? 그렇다면 iWork만 이것이 가능한 것일까, 아니면 Office2 HD도 그렇다는 뜻일까?

iCloud 문서의 특징은 여러 기기에서 동기화를 해 준다는 것이지, 단순한 저장공간으로서의  의미는 아닌 것으로 보이는데... 아, 잘 모르겠다.

Google+ 일단 해지..그러나 곧 재가입

더 이상 사생활이 없는 사회라고 하는데, 나는 세상을 거꾸로 살고 있는 것인가?

구글 플러스(이하 g+이라 하겠다)의 여러 서비스들에 아직 적응을 하기 어렵고, 친구를 만들고 공유를 하고... 이런 것들이 부담스러워서 일단은 해지를 하고 말았다.

g+을 해지하면 웹 앨범을 사용하는 것도 불편해지는 것으로 보이는데... 아니, 조금 더 심각하게 생각을 해보자. 가족이나 일상의 사진을 공개된 장소에 올리는 것이 정말 올바른 것인지, 혹은 안전한 것인지도 고민을 해 봐야 되겠다.

공개 프로필을 만드는 것은 나도 찬성을 하는 바이다. 하지만 행아웃이나 서클 같은 서비스는 아직 익숙하지가 않다. 페이스북도 초기에 조금 하다가 말았고, 트위터는 전혀 하지 않는다. 나의 목적에 가장 잘 맞는 서비스는 무엇일지...

g+의 이름은 영문으로 해야 될까, 아니면 국문으로 해야 될까? 조금 더 고민을 해 본 다음에 결정하도록 하자.

[2012년 10월 5일 업데이트]

구글+에 재가입하여 조금씩 활동 범위를 넓혀 나가고 있다. 처음에는 이 시스템이 어떻게 돌아가는 것인지 이해하기 어려웠는데, 이제서야 조금 알 것 같다.

2012년 8월 30일 목요일

안드로이드폰과 아이패드, 그리고 우분투

같이 사용하기에는 매우 이질적인 요소들이다. MS 윈도우를 사용한다면 조금은 더 나을지도  모르는 일이다. 애플의 모바일기기를 동기화시키는데 필요한 PC용 프로그램이 존재하니까. 대부분의 연구 관련 업무는 우분투에서 하고 있으며, 한/글이나 오피스 작업을 할 때에만 버츄얼박스로 윈도우를 구동시키고 있다. 그나마 드롭박스는 리눅스용 클라이언트가 있어서 불편함을 덜어주고 있다.

요즘은 네이버 블로그 포스팅이 조금씩 줄어드는 것 같다. 구글의 서비스에서 사진을 정리하면서, 정말 직관적이고 편리하다는 것을 느낀다. 웹 브라우저 안에서 그렇게 다양한 조작을 하면서 ActiveX 하나 없이 이렇게 매끄럽게 할 수 있다니! 네이버는 어떤가? 왜 제어판의 프로그램 리스트를 보면 왜 이렇게 거추장스러운 프로그램을 많이 깔아야 하는 것인가? 

아직 구글의 서비스들을 완벽하게 이해하고 있지는 못하다. 사진을 태그한다는 것은 무슨 의미인지, 왜 크롬에서 구글 서비스들을 한 화면에 늘어놓고 있을 때 구글 블로거는 왜 나타나지 않는 것인지... 

탈옥을 하지 않은 상태에서는 파일 하나도 맘대로 복사하지 못하는 아이패드, 뭐든지 알아서 해야 하는 리눅스... 덕분에 공부는 많이 하고 있다. 어렵사리 무선인터넷 환경도 구축하였고, 구글의 개인 및 그룹명 캘린더를 아이패드에 동기화하는 것까지 성공하였다. 이제는 구글의 주소록을 아이패드로 가져오는 방법을 알아볼 차례인데, 지메일에서 메일을 보내기 되므로 아직은 그다지 절실하지는 않다. 

다음에는 또 무엇을?

영문으로 이름쓰기

한국인으로서 영문으로 이름(성명)을 쓰려면 다음과 같은 두 가지의 문제가 있다.

1. 한국어 발음을 어떻게 정확하게 영문으로 옮길 것인가.
2. 성과 이름의 순서는 어떻게 하는 것이 옳은가.
3. 다음절의 경우 떼어서 쓸 것인가, 붙여서 쓸 것인가, 혹은 하이픈(-)을 넣을 것인가? 하이픈을 넣는 경우 뒤에 오는 음절의 첫글자는 대문자 혹은 소문자로 할 것인가?

1은 정말 어려운 문제이다. 우리 글이 비록 표음문자로서 적지 못할 소리가 없다고는 하지만, 꼭 그런것만은 아니다. 현재 통용되는 로마자 표기법은 다음의 사이트에서 참조할 수 있다.

http://www.korean.go.kr/09_new/dic/rule/rule_roman_0101.jsp (국립국어원)

이를 그대로 따른다면 내 이름의 '영'은 yeong으로 적어야 한다. 그러나 Park이나 Lee와 같이 실제로 국어 발음과 차이가 있지만 이와 비슷한 영어 단어가 있는 경우 그것을 그대로 쓰는 경우가 적지 않다. 그래서 나는 습관적으로 young으로 적고 있다. Lee라고 적지 않고 Yi라고 하는 것이 자존심을 지키는 일일까? 잘 모르겠다. 영어만을 놓고 본다면, 우리말의 '어'나 '으'에 정확히 해당하는 모음이 없다는 것이 문제다. 그러니 '서'씨를 표기 표준안에 따라 'Seo'로 표기한다면 영미인은 '세오' 비슷하게 발음할 것이다. 차선책으로 'Suh'도 있지만, 이는 '어'도 아니고 '아'도 아니라서 실제 한국에서 통용되는 발음과 차이가 있다.

특히 국어에서는 ㄱ,ㄷ,ㅈ 등이 처음에 오는 경우 무성음이 되므로 영미인에게는 '푸산(부산)'이나 '태전(대전)'으로 들리게 된다. 하지만 최근의 표준안에서는 이를 표기에 인정하지 않기로 하였으므로, 과거 Pusan으로 표기되던 부산은 Busan이 되었다. 상황이 이러하니 부산 국제 영화제는 영문 약자로는 여전히 PIFF이다. 또 우리의 'ㅅ' 발음은 영어의 s와 완전히 동등한 것도 아니니...

(요즘 느끼는 것인데, '수'나 '스'처음 받침이 없는 파열음이 앞에 나오는 국어 발음의 경우 모음을 거의 소리내지 않는 경우가 많은 것 같다. 평소 습관대로 '수박'을 빨리 발음해 보라. 아기들에게 말을 가르칠 때처럼 한 음절씩 또렷하게 발음하는 것 말고. 아마 '우' 모음은 거의 소리내지 않고 'ㅅ박'처럼 말하고 있을 것이다)

2번 역시 쉽지 않은 문제. 서양의 관습에 따라 성을 나중에 적는 것이 일반적이지만, 언론에 오르내리는 유명인의 경우 동양의 관습대로 성을 먼저 표기하는 경우도 다반사이다. 이를 명확히 하려면 Jeong, Haeyoung과 같이 성을 앞에 쓰고 쉼표를 찍거나, Haeyoung JEONG과 같이 성 전체를 대문자로 쓰는 방법이 있을 수 있다. 아니면 유명인이 일단 되고 나면, 동양식으로 성을 먼저 적는 권세를 누릴 수 있으리라.

3은 또 어떻게 해야 하는가? Haeyoung인가, Hae Young인가, Hae-Young인가, Hae-young인가? 두번째 방식으로 표기하는 사람이 꽤 많은데, 이는 서양인에게 Young을 미들 네임으로 혼동하게 만들 여지가 있다. 국립국어원의 규정을 따르자면 Hae-young이 맞는 것처럼 보인다(제3장 표기상의 유의점 제2항). 그러나 제2항에서 규정한 것은 '발음상 혼동의 우려가 있을 때에는 음절 사이에 붙임표(-)를 쓸 수 있다'라는 것이다. '중앙'을 Jungang으로 표기해 놓으면 '준강'으로 발음할 수도 있는데, 이를 Jung-ang으로 하면 명확해진다. Jung-Ang은 옳지 않은 듯. 따라서 혼동할 우려가 없는 내 이름의 경우 Haeyoung이 가장 좋은 표기법이다.

생각나는 대로 적다보니 좀 길어졌다. 언어는 생물과 같아서 계속 변하는데, 대중의 발음 현실이 변하는 속도를 글로 적는 규정은 따라가질 못한다. 현실은 받아들이되, 혼란을 초래할 정도로 표준이 변해서는 안될 것이다. 이러한 국내의 변화와 더불어 타 언어로 국어를 표현할 일도 점점 많아지고 있으니 정신을 바짝 차리고 옳은 '말글살이'를 하기 위해 노력해야 할 것이다.

2012년 8월 28일 화요일

리눅스를 이용하여 인터넷 공유하기

네트워크 어댑터가 2장 달린 컴퓨터라면 여러 가지의 일을 할 수 있다. 그 중 대표적인 것이 인터넷을 공유하는 것이다. 꽤 오래전 iptables가 나오기 전, ipchains를 이용하여 제한된 공식 IP 주소를 가지고 회사 내부의 컴퓨터를 외부 인터넷에 연결하도록 만든 적이 있었다. 기억이 정확하지는 않지만 아마도 알파 프로세서가 달린 컴퓨터를 이용했던 것 같다.

이제는 사양이 좀 뒤떨어지긴 했지만, 그래도 Xeon CPU가 달린 '서버' 보드를 쓰면서 내장되어 있는 네트워크 어댑터를 단 한장만 쓰고 있다니 이 어찌 부끄럽지 않은가! 기억을 더듬고 구글에 의존하면서 인터넷을 공유하는 방법을 알아보자.

우선 가장 간단한 환경에서 시작한다. 공식 IP 주소가 할당된 리눅스 컴퓨터가 있고(eth0), 여기에 네트워크 어댑터가 하나 더 있다고 가정하자(eth1). 그리고 인터넷 공유에 사용할 클라이언트 PC는 단 한대 뿐이라고 하자. 그러면 클라이언트 PC에 사설 IP를 부여한 뒤 이것과 리눅스 서버의 eth1을 크로스케이블로 연결한다. 그리고 리눅스 측에서 관리자 권한으로 다음과 같이 입력한다. 사실 여기서 보인 예제는 너무나 단순하다. 모름지기 방화벽이라면, 관리자의 입맛에 맞게 세부적인 설정을 할 줄 알아야 한다!


# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -P FORWARD DROP
# iptables -A FORWARD -o eth0 -j ACCEPT
# iptables -A FORWARD -o eth1 -j ACCEPT
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# ifconfig eth1 192.168.0.1 up

파랑색으로 표시한 첫번째와 마지막 줄에 대해서만 간단히 부연 설명을 하도록 하자. 정확히 말하자면 '인터넷 공유'는 리눅스의 현대적인 커널에 포함된 Netfilter subsystem이 담당하는 방화벽(firewall)기능 중의 일부에 지나지 않는다. 리눅스에서는 iptables가 이 기능을 하는데, 우분투에서는 이를 좀 더 편하게 설정하기 위해 ufw라는 유틸리티를 제공한다. 나는 iptables에 조금 더 친숙하므로, 이를 대상으로 설명하도록 하겠다.  첫번째 줄에 해당하는 것은 /etc/sysctl.conf 파일에서 다음 줄을 찾아 코멘트를 제거한 뒤 sudo sysctl -p 명령으로 설정을 적용하는 것으로 대신할 수 있다.

net.ipv4.ip_forward=1

마지막 줄은 일반적인 네트워크 카드 설정 메뉴에서 IP 주소를 부여하듯이 하면 된다. 아마 게이트웨이는 설정하지 않아도 될 것이다.

클라이언트 PC에서는

IP 주소: 192.168.0.2
서브넷 마스크: 255.255.255.0
게이트웨이: 192.168.0.1
DNS 서버: 환경에 맞는 것으로

이렇게만 해 두면 일단은 클라이언트 PC에서 인터넷을 사용할 수 있다. 하지만 여기에는 몇 가지 문제점이 따른다.

  1. 리눅스 서버를 껐다가 켜면 iptables 설정을 다시 해야 한다(변명: 실제로 서버측을 재부팅해 보았는데 여전히 클라이언트측에서는 인터넷 공유가 되고 있다. iptables 설정을 셧다운시에 자동으로 저장했다가 재부팅 시 다시 적용하도록 이미 셋업되어 있는 것으로 보인다)
  2. 클라이언트를 여러 대 쓰려면 사설 IP 주소를 어떻게 배정해야 할지 생각을 해야 한다(DHCP 서버 사용 - 수십대의 클라이언트 PC를 물릴 것이 아니므로, 그다지 절실하지는 않다).
그러면 각 상황별로 어떻게 하면 되는지 알아보도록 하자... 구글링을 하는 것도 좋지만, 우분투 support page의 공식 문서를 참조하는 것이 가장 확실한 방법이다. 나는 지금 우분투 서버 가이드(PDF file)를 읽고 있는 중이다.

iptables를 이용한 masquerading

'인터넷 공유(internet connection sharing)'라는 쉬운 표현을 썼지만, IP masquerading이 정확한 표현이다. IP masquerading은 외부에서 도달할 수 없는(non-routable) IP 주소를 갖는 사설 머신이 masqueraing을 제공하는 장비를 통해 외부 인터넷으로 접속하게 해 주는 것이라고 설명할 수 있다. 이를 가능하게 하려면, 내부에서 나오는 소스의 패킷을 변조(!)하여 마치 masquerading을 제공하는 장비로부터 나오는 것처럼 만들어야 하고, 다시 외부에서 들어오는 패킷에 대해 마찬가지의 수정을 가해서 이를 요청했던 사설 장비로 다시 되돌아가게 해야 한다.

기본 개념에 대해 설명하자면, 그 깊이는 이루 헤아리기 어렵다. "패킷"의 개념은 대충 이해하고 있다. 네크워크 상에서 전송될 내용물을 일정하게 자른 뒤, 최종 목적지(주소라고 해 두자)를 헤더에 적어 놓은 것을 패킷이라고 보면 된다. 그러면 체인은 무엇인가? 패킷들이 지나게 될 통로라고 하면 될까? 정책(ACCEPT, DENY, DROP)은 특정 체인을 지나가는 패킷에게 실제로 가해지는 동작으로서 이해하기는 쉽다. 체인에는 PREROUTING, INPUT, FORWARD, OUTPUT, 그리고 POSTROUTING의 다섯 가지가 있다. 위키피디아의 iptables 항목을 아무리 읽어 보아도 체인에 대한 설명은 잘 이해가 가지 않는다. 그러나 다행스러운 것은, 우분투 문서는 이론보다는 실전 예제 중심으로 되어 있다는 것. 위키피디아의 체인에 대한 설명 부분을 그냥 복사해 왔다. 두고 두고 반복하여 읽으면서 음미하도록 하자.


  • “PREROUTING”: Packets will enter this chain before a routing decision is made.
  • “INPUT”: Packet is going to be locally delivered. (N.B.: It does not have anything to do with processes having a socket open. Local delivery is controlled by the “local-delivery” routing table: `ip route show table local`.)
  • “FORWARD”: All packets that have been routed and were not for local delivery will traverse this chain.
  • “OUTPUT”: Packets sent from the machine itself will be visiting this chain.
  • “POSTROUTING”: Routing decision has been made. Packets enter this chain just before handing them off to the hardware.

윈도우 클라이언트가 접속할 내부 사설 IP를 192.168.0.0/24라고 가정하자. 그러면 다음과 같은 단일 iptables rule로 마스커레이딩이 가능하다. eth0은 외부로 향하는 네크워크 어댑터이다. 혹시 네트워크/호스트 ID의 표현 방법, 서브넷 나누는 방법 등의 사항이 궁금하면 Linux Network Configuration 페이지를 참조하자. 나도 아직 완벽하게 이해하고 있지 못하다^^

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

재부팅시에도 이를 적용하려면 /etc/rc.local에 이 내용을 기록해 두면 된다. 단. /sbin/iptables라고 full path를 지정하지 않았더니 실행을 하지 못하는 띨띨함을 보였다! 또는 iptables-save와 iptables-restore 명령을 잘 쓰면 되겠다.

다음 내용은 아직 완벽하게 이해하지 못했다.

Also, each chain in the filter table (the default table, and where most or all packet filtering occurs) has a default policy of ACCEPT, but if you are creating a firewall in addition to a gateway device, you may have set the policies to DROP or REJECT, in which case your masqueraded traffic needs to be allowed through the FORWARD chain for the above rule to work:

sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT
sudo iptables -A FORWARD -d 192.168.0.0/16 -m state --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT

The above commands will allow all connections from your local network to the Internet and all traffic related to those connections to return to the machine that initiated them.

* 참조한 사이트: 우분투 서버 가이드, http://www.yolinux.com/TUTORIALS/LinuxTutorialIptablesNetworkGateway.html

2012년 8월 4일 토요일

통계의 기본 개념을 잘 설명한 유용한 사이트

스마트폰을 뒤적거리다가 우연히 발견하게 된 사이트이다.

품질공학 강좌(Taguchi methods)

타구찌 법(Taguchi methods)라는 품질공학 기법을 소개하는 사이트인데, 제 6편에서 통계의 기초에 대한 내용을 매우 명쾌하게 설명해 주고 있어서 소개하고자 한다. 내가 종종 들추어보는 Biostatistics 책의 서문에서도 "이 책은 오로지 sample mean에 대한 내용을 다루고 있다"고 하지 않았던가? sample mean으로부터 모집단의 특성을 유추하고자 하는 것, 이것이 바로 통계를 공부하고 활용하는 중요 목적 중 하나이다. 이를 위해 기본 개념을 확실하게 다져 두는 것이 중요한 것이다.

2012년 8월 3일 금요일

가설 검정의 기본-모평균에 대한 가설 검정

[미리 밝히는 글] 이 글은 대학을 졸업한지 20년이 넘었지만 아직도 통계에 대한 기본 개념이 부족한 본인의 무지를 일깨우기 위해 다시 공부를 한다는 자세로 작성하고 있는 것이다. 따라서 오류나 잘못 설명된 부분이 있을 수 있다. 혹시 인터넷 서핑 중에 이 글을 발견한 독자가 있으시다면, 그저 수학적 지식이 부족한 전통적인 생물학자가 작성한 에세이 정도로 생각해 주시길.

보통의 기초 통계학 교과서에서는 점추정, 구간 추정에 대한 설명이 나온 뒤 바로 가설 검정에 관한 부분이 이어진다. 종이에 종 모양의 그림을 그리고 수직선을 몇 개 그은 뒤 여기가 기각역이고 유의수준이 어쩌고... 기계적으로 암기하고 단순한 문제를 풀 수는 있다. 그런데 진정한 이해가 뒷받침되지 않으니 내 의식은 20년이 넘게 무지와 몰이해의 늪을 헤매고 있는 듯하다. 정말 부끄러운 일이 아닐 수 없다.

가설 검정의 이론에 대한 설명은 여러 가지 방법이 가능하다. 내가 갖고 있는 기초 통계학 책만 해도 대여섯권은 될 터이니. 이 글에서는 UC Berkeley의 Steve Selvin이 지은 BIOSTATISTICS: How It Works (Pearson 2004)의 187쪽부터 나오는 부분을 공부하면서 느낀 바를 요약하고자 한다.

통계적 가설(statistical hypothesis)을 아주 단순하게 정의한다면, sampled variable의 확률 분포에 대해 짐작하는 것을 의미하다. 예를 들자면 이런 것이다. "특정한 관찰값을 나오게 한 모집단의 평균값은 얼마이다" 이런... 여기에서 그리스 알파벳을 어떻게 적어야 하는 거지.

일반적으로 가설 검정은 귀무가설 H0과 대립가설 H1 중 하나를 고르는 과정이 된다. 물론 이 과정에는 오류가 있을 수 있다. H0가 옳은데도 기각하게 되는 것을 Type I error 혹은 false positive error라 한다. 반대로, H1이 옳은데도 이를 받아들이지 않는 오류를 Type II error 혹은 false negative error라 부른다. 그러면 무엇을 귀무가설로 설정할 것인가? 현재까지의 일반적인 믿음을 귀무가설로 하는 것이 정석이다. 예를 들어 고혈압 치료제의 효능을 검사하는 경우를 생각해 보자. 약을 투여한 사람에 대해서 혈압을 측정했더니 어떤 평균값이 얻어졌다고 하자. 이때의 귀무 가설은, 이들의 혈압은 투여하지 않은 상태의 평균치와 같다는 것이 귀무 가설이된다. 이 고혈압 환자의 수축기 평균 혈압은 140 mmHg이었다. 그런데 이들 중 20명을 취해서 약을 투여한 뒤 다시 혈압을 재어 평균을 내니 134가 나왔다고 하자. 분명 134는 140과 다른 수치이다. 그러나 모평균이 140인 집단에서 20명을 취하여 아무런 조치를 취하지 않은 상태에서 혈압을 재면 random variation에 의해 134라는 값이 나올 가능성은 얼마든지 있다. 따라서 이러한 차이는 약물에 의한 것이 아니라 정상적인 확률 분포에서 있을 수 있는 일이 벌어진 것이라고 결론을 내린다면, 결국 귀무 가설을 기각하지 못하는 것이다. 이번에는 약물 투여군의 평균 수축기 혈압이 131이라고 해 보자. 알려진 모평균보다는 좀 더 멀어졌다. 만약 이 표본 평균이 모평균에 비해 점점 멀어진다면, 이러한 차이는 확률 분포에 의해 자연스럽게 일어졌다고 보기는 점점 어려워진다. 차라리 약물투여군의 평균 혈압(모평균)이 아예 낮아졌다고 보는 것이 더 타당하게 된다. 이렇듯 알려진 모평균과 실제 측정한 표본평균 사이의 차이가 얼마나 멀어지면 귀무가설을 기각하는 것이 타당할까? 이에 대한 기준을 제시하는 것이 바로 유의수준(1%나 5%와 같은 확률로 주어짐)이고, 귀무가설을 기각할 수 있는 측정값의 경계가 되는 값이 바로 critical value(임계값)이다.

유의수준이란, 귀무가설이 참인데도 불구하고 대립가설을 채택하게 될 확률이다. 즉 유의수준이란 Type I error가 발생할 확률을 의미하며, 1 - (유의수준) = (신뢰도)이다. 다시 한 번 위의 예제를 들어 설명해 보자. 이 고혈압 환자의 평균 수축기 혈압은 140이고, 정규분포를 한다고 가정하면 이론적으로는 30이나 350과 같은 극단적인 수치가 나올 가능성이 있다. 그러나 이런 값이 나올 가능성은 매우 낮다. 100번에 1번(쉽게 말해 1%) 나올 정도로 모평균에서 먼 값이 나온다면, 차라리 모평균 자체가 다르다고 가정하는 것이 낫다. 여기서의 1%가 바로 유의수준이 되는 것이다.

여기서 또 부끄러운 고백을 아니할 수 없다. 가설 검정 문제에서 표본 평균이 항상 나오게 되므로, 나는 그동안 표본 평균으로부터 모평균이 포함될 신뢰구간을 구해 놓고서는 귀무가설에서의 모평균이 이 구간내에 있는지 혹은 바깥에 있는지를 가지고 가설을 검정하려고 했었다. 그런데 지금 와서 기초 통계 교과서를 살펴보면 이런 방식으로 접근하는 것이 보이지 않는다. 아마도 대부분의 교과서에서 신뢰구간 다음에 가설 검정이 나오기 때문에 이런 오해를 하게 된 것 같다. 이러한 방식의 풀이가 수학적으로 정말 맞는지를 증명할 실력은 되지 않는다. 일단은 잘못된(?) 믿음을 버리고, 일반적인 풀이의 방법으로 되돌아가도록 하자.

그러면 다시 Selvin의 책 190쪽에 나온 예제로 돌아가 보도록 하자. 어떤 집단의 혈압 모평균이 130 mm Hg이고 분산은 400으로 알려져 있다. 새로운 약을 투여했더니 16명의 무작위 표본으로부터 평균 120 mm Hg의 혈압 측정값을 얻을 수 있었다. 이 약은 정말로 혈압을 낮추는 효과가 있을까?

H0 : 혈압은 여전히 130이다(약물의 효과가 없다)
H1 : 혈압은 120이다(130보다 낮다).

표본평균이 130에 충분히 가깝다면 귀무가설을 채택해야 하고, 상당히 멀다면(130보다 상당히 작다면) 대립가설을 채택해야 한다. 그렇다면 가까운 정도를 정의해야 할 것이다. 첫번째 과정에서는 귀무가설을 기각시킬 수 있는 표본 평균의 값 c를 결정해야 한다. 이때 모든 c의 범위를 기각역이라고 한다. 본 예제에서는 표본평균 < c 이면 귀무가설을 기각하도록 하는 c를 구해야 한다. 임계치는 Type I error가 충분히 작아지도록 만드는 값으로부터 결정한다.


(흐유, 한컴오피스 한/글에서 수식 입력하느라 힘들었다) 위의 식에서 c의 값을 계산할 수 있다. 실제 계산을 해 보면 c = 121.8이다. 만일 표본평균이 이보다 작으면, 귀무가설은 기간한다. 단측검정 혹은 양측검정의 여부는 대립가설의 형태에 따라 정해진다. 

Type I error의 확률에 기반하여 기각역을 결정했다면, 다음으로는 Type II error를 생각해 보도록 하자. Type II error는 어떤 경우에 발생하는가? 모평균이 변해서 이에 따라 표본평균도 다르게 나왔는데, 이를 random variation에 의해 차이가 발생했다고 생각하고 귀무가설을 그대로 인정한다면 바로 Type II error를 범하게 되는 것이다. 

2012년 8월 2일 목요일

통계는 어렵다?

참 이상한 일이다. 대학과 대학원때 각각 3학점씩 하는 [확률과 통계] 과정을 두 번이나 수강하였고, 전부 A학점을 받은 것으로 기억하는데도, 왜 biodata의 분석에 써먹을 정도의 기본 개념이 남아있지 않은 것일까? 단순한 망각일까, 시험 문제 풀이는 겨우 했지만 제대로 된 개념을 결국은 잡지 못한 것일까, 아니면 실제 데이터를 가지고 충분한 연습을 하지 않았기 때문일까? KOBIC에서 열리는 제10차 차세대 생명정보학 교육 워크샵을 수강하면서, 그나마 실낱과 같이 남아있는 용어들의 정의에 대한 기억을 되살릴 수 있음을 감사하고 있다.

KRIBB에 와서도 부족한 개념을 보충하기 위해 KAIST 산업공학과 채경철 교수님의 통계학 수업을 잠시 청강한 적이 있다. 한 학기를 제대로 채우지 못했지만, 이 과정을 통해서 남긴 가장 중요한 '개념'은 "확률변수란 표본점에 실수를 대응시키는 함수"라는 것이다. 변수라는 이름이 붙어 있기에 오해를 하기 쉬운데, 실제 일어날 수 있는 모든 이벤트라는 정의구역에 대해 '실수'를 대응시키는 함수이다. 쉬운 예를 들자면, 20마리의 실험용 생쥐에 독성 물질을  주사하여 테스트하는 경우를 생각해 보자. 어떤 물질을 투여했을때 죽은 쥐의 수가 바로 확률 변수의 한 예에 해당한다.

확률변수가 함수라는 개념을 확실히 갖고 있지 않으면, P(X=x)라는 표기를 이해하기 어렵다. 그냥 p(x)라고 하면 되는 것 아닌가? 그렇지 않다. X는 확률 변수(함수)이고, 이 함수의 값이 x(즉 X = x)일 경우에 해당하는 확률을 P(X=x)로 표시하는 것이다. 만약 이 확률변수가 f(x)라는 분포함수를 갖고 있다면, P(X=x) = f(x)라고 표시할 수 있겠다. 오늘 UNIST 남덕우 교수의 강의에 따르면 확률에서 대문자는 변수요, 소문자는 상수라고 하였다. 예외가 하나 있는데, 그것은 N(모집단의 크기)과 n(표본의 크기)이다.

다음으로 이해하기 어려운 것은 표본 표준편차를 구할 때 표본 크기(n)가 아니라 n - 1로 나누는 것이다. 이것은 어느 기초 통계학 책에서나 충분히 설명을 하고 있으니 걱정할 것은 없다.

부끄러운 이야기지만 아직까지도 나를 혼동스럽게 하는 것은 가설 검정과 구간 추정 부분이다. 양측 검정과 단측 검정을 각각 어떤 경우에 해야 하는지도 아직 혼동할 정도이니... 정답을 먼저 이야기하자면 대립가설이 어떤 형태냐에 따라 달라지게 된다.

우선 중요한 숫자 몇 가지만 기억하도록 하자. 정규분포에서 평균을 중심으로 하여 +/-1 표준편차 이내의 구간에는 전체 데이터의 68.3%가 존재한다. +/- 2 표준편차에는 95.4%,  +/- 3 표준편차 내에는 99.7%가 존재한다. 이를 68-95-99.7 법칙이라 한다.

자, 그러면 표본평균에서 추정한 모평균의 신뢰구간을 생각해 보자. 표본의 수가 충분히 크면, 모집단이 어떤 분포를 따르든 상관없이 표본평균은 정규분포를 따르게 된다. 이론적으로  정규분포는 극단에 치우친 어떤 값도 가질 수 있지만, 평균에서 지나치게 멀리 떨어진 값이 나올 확률은 매우 적어진다. 따라서 이러한 극단의 값이 나오게 된다면(기각역에 포함될 경우) 차라리 평균의 위치를 옮기는 것이 더 타당하게 된다.  그러면 도대체 평균에서 얼마나 멀어야 극단으로 정의할 것인가? 이를 정의하는 것이 바로 신뢰도와 오차율(alpha)이다.

신뢰구간은 매우 정확하게 이해해야 한다. 모평균은 이미 결정되어 있는 숫자이다. 신뢰구간은 한 번의 표본추출(표본 크기가 1이라는 뜻이 아니다!!)에서 얻은 표본 평균에서 계산으로 얻어진다. 표본 평균은 매번 다르게 나오므로, 신뢰구간의 모습도 매번 달라질 수 밖에 없다. 표본 추출을 100번해서 모평균의 구간을 추정했더니, 그중 95번은 신뢰구간 안에 실제 모평균이 들어가게 된다 - 이것이 바로 95% 신뢰구간의 정확한 의미이다.

2012년 8월 1일 수요일

[Perl programming #2] substr() 함수 알뜰하게 사용하기

스트링 형태로 저장된 염기 혹은 단백질 서열을 60 문자마다 깨끗하게 줄바꿈을 하여 FASTA format으로 출력할 일이 아주 많다. BioPerl을 쓰면 되지만, 일부러 sequence object를 선언하여 쓰기에는 너무 번거롭다. 그동안 내가 사용한 코드는 스트링을 낱자로 하나하나 분해하여(split() 사용) 60개가 맞는지 센 다음에 출력하는, 그야말로 원시적인 것이었다. 작동하는데는 문제가 없으나, 여기에 공개하기에는 너무나 부끄러운 코드이다. 어제 Python 교육을 받으면서 머리를 스쳐가는 것이 있어서 다음과 같이 응용해 보았다.

$orig = 'AGCTAGGC...';
while ($orig) {
    print substr $orig, 0, $width;
    print "\n";
    $orig = substr $orig, $width;
}

대단히 간결하고 명확하지 않은가? while 구문을 이렇게 활용할 수 있을 것으로는 생각하지 못했다. 짧고, 읽기 쉽고, 능률적인 코딩 습관은 항상 추구해야 할 바라고 생각한다. 물론 한 가지의 목적을 달성하기 위하여 여러가지 해법이 있을 수 있다는 것인 Perl의 철학이지만, 조금만 생각을 더 하고 궁리를 해 보면 훨씬 능률적인 작업을 할 수 있음을 알아야 한다.

substr() 함수의 다양한 사용법은 여기에서...

http://perldoc.perl.org/functions/substr.html

아직 다 끝난 것이 아니다. substr()는 lvalue로 쓸 수 있다는 것. 이는 등호(=)의 왼쪽에 올 수 있음을 의미하는 것이다. 일반적인 함수라면 반환된 값을 내어 놓고, 이를 등호 왼쪽에 오는 변수에 저장하게 된다. substr()도 마찬가지이다. 인수로 주어진 스트링 내부의 지정된 부분을 끊어서 왼쪽의 변수에 자정하는 것이다.

$var = my_func(..)

substr()를 등호 왼쪽에 쓰게 되면, 얘기가 달라진다. substr()을 예로 든다면, 인수로 지정된 변수 내의 특정 위치를 오른쪽 변수에 저장된 값으로 바꿔친다는 것이다. 위에서 보인 샘플 코드를 더욱 단순하게 만들 여지가 있다는 것이다.

그런데 아무리 궁리를 해도 답이 안나온다^^ 위의 코드가 가장 간단한 코드일지도 모르겠다.

2012년 7월 31일 화요일

Python 공부하기

KOBIC에서 주최하는 제10회 차세대 생명정보학 교육 워크샵에서 이틀째 날을 보내고 있다. 어제의 리눅스 기초에 이어서 오늘은 파이썬 프로그래밍이다. Perl로 굳어진 사고 체계에 파이썬을 끼워 넣는 것은 쉽지 않다. 내장 함수를 써야 하나, 메쏘드를 써야 하나? 변수명 앞에 $ 혹은 @가 붙지 않으니 이것이 예약어인지 타당한 변수명인지 알 수가 없다.

Mutable sequence를 다루고 조작하는 방법은 매우 인상적이다. 원래 파이썬에 관심을 갖게 된 것은 남들이 만들어 둔 스크립트를 이용할 때 설정 등의 문제로 에러가 난 것을 다루기 위한 가벼운 마음으로 시작한 것인데, Perl로는 하기 어려운(사실 불가능한 것이 있으리라고는 생각하지 않지만) 작업을 능률적으로 하는데 도움을 줄 것으로 보인다. 어쩌면 파이썬과 Perl을 비교하면서 Perl에 대한 사랑이 더 깊어질지도^^

인실리코젠의 김형용씨가 강의와 실습을 진행하느라 하루 종일 수고를 하고 있다.

2012년 7월 12일 목요일

[Perl programming #1] my()를 이용한 변수 선언

[들어가는 글]

펄(Perl)을 업무에 활용한지도 꼭 12년째가 되어 간다. 내가 펄을 처음으로 공부하면서 접한 교재는 인터넷에서 찾아서 인쇄한 Russell Quong의 "Perl in 20 pages" version 2000c와 "Robert's Perl Tutorial Version 4.1.1"이다. 이 문서들이 아직도 인터넷 공간에 살아 있는지는 모르겠다. Univ. of Washington의 Phred/Phrap/Consed에 포함되어있는 스크립트가 조금씩 펄 스크립트 작성 실력을 키우면서 정말 큰 도움이 되었던 재료들이었다. 이제는 [펄 쿡북]을 참조하면서 필요한 부분은 그때마다 참조하고 있지만, 알고리즘이나 데이터 구조에 대한 깊이 있는 지식 없이 그저 필요한 기능만 구현하는데 집중하다 보니 항상 아쉬움이 많았다. 이러한 아쉬움을 달래고자, 조금 더 진지하게 펄을 공부해 보기로 하였다. 지금부터 내가 추구하는 것은 깔끔하고, 문법적으로 정확하며, 읽기 쉽고, 재사용이 가능한 펄 코드를 짜는 것이다.

[변수 초기화]

나에게는 아주 나쁜 버릇이 있다. 변수를 선언하는데 매우 불성실하다는 것이다. use strict나 my()라고 몇 자 더 치는 것을 게을리하여 오류가 난 코드를 고치는데 무척 애를 먹기도 한다. 변수명을 잘못 기입하면 오류의 원인을 찾기가 매우 어렵다.

#!/usr/bin/perl

use strict;
use warnings;

이렇게 스크립트를 시작하는 것과,

#!/usr/bin/perl -w

use strict;

이렇게 쓰는 것은 본질적으로 같(을 것이)다.

use strict 디렉티브를 사용하면, 모든 변수는 my()를 써서 선언해야 한다. 변수의 선언과 초기화는 다르다. 괄호를 언제 써야 하는가? 다음의 사례를 보라.

my $foo;  # 이것은 선언만 하는 것
my $foo = 123; # 선언과 초기화를 동시에
my ($foo, $bar); # 여러 변수를 한번에 선언

초기화하지 않은 변수가 갖는 값은 undef이다. 그러나 이는 $var eq undef 처럼 비교할 수 있는 것이 아니다. 그리고 undef는 엄연히 말하자면 null character 혹은 숫자로서의 0과는 다르다.

변수의 선언과 초기화가 다르다는 것을 다음의 스크립트에서 확인해 보자.


#!/usr/bin/perl

use strict;
use warnings;

my $foo;

if (defined $foo) {
    print 'Var $foo is defined!', "\n";
} else {
    print 'Var $foo is not defined!', "\n";
}

2012년 7월 9일 월요일

Consed 23.0와 DISPLAY 문제

3개월만의 포스팅이다. 주로 네이버 블로그(http://jeong_0449.blog.me/)에 글을 올리고 있고, 최근에는 genoglobe.com 및 genoglobe.net이라는 도메인을 구입하여 여기에도 글을 쓰고 있으니 당연히 구글 블로거는 소홀해질 수 밖에...

올해에는 consed version 22.0과 23.0이 근소한 시간차를 두고 발표되었다. 대부분의 성능 개선은 version 22.0에서 이루어졌고, 사소한 bug의 수정과 BamView의 성능 개선이 있었다고 한다. 22.0부터는 installConsed.perl이라는 친절한 설치 스크립트까지 포함되었다. mktrace, phd2fasta 및 454 데이터 관련 바이너리를 알아서 컴파일하여 설치해 주는 것으로 보인다. Consed의 home은 여전히 /usr/local/genome이다.

만약 consed_linux64bit를 실행시키는데 libstdc++.so.5가 없다는 에러 메시지가 나오면, compat-libstdc++-33 패키지를 설치하면 된다.

consed 22.0 or later와는 직접 관계가 있는 일인지 혹은 아닌지 잘 모르겠지만, CentOS 6.2가 설치된 컴퓨터에 consed를 깔고 이를 다른 컴퓨터에서 접속하여 실행하려고 하면 꼭 다음과 같은 에러가 난다. 다른 리눅스 서버에서 ssh -X로 접속하든, 혹은 윈도우 컴퓨터에서 Xmanager로 접속하든 같은 문제가 발생한다.

 CentOS 5.x이나 우분투에서는 절대로 아무런 문제 없이 실행이 된다.


[hyjeong@proton edit_dir]$ consed
no ~/consedrc file so no user resources will be used--that's ok
no consedrc file so no project-specific resources--that's ok
couldn't open readOrder.txt--that's ok
_X11TransSocketINETConnect() can't get address for localhost:6015: Name or service not known
Error: Can't open display: localhost:15.0

처음에는 이것이 Xmanager의 문제인줄 알고 넷사랑 컴퓨터에 질문을 하기도 했었다. 오늘에서야 부분적인 답을 알게 되었다. 

export DISPLAY=127.0.0.1:15.0

이렇게 한 다음에 consed를 실행하면 된다. consed가 설치된 컴퓨터에서 localhost의 위치를 찾지 못해서 생기는 문제라고 하는데, 왜 이런 문제가 발생하는지는 도무지 알 길이 없다. 게다가 이래가지고는 consed를 한번 실행해서 접속시마다 바뀌는 스크린 번호를 에러 메시지와 함께 알기 전에는 DISPLAY 변수를 설정하지 못한다. 

/etc/hosts내에서 localhost가 잘못 정의된 것일까? CentOS 6.2를 설치한 직후의 상태는 다음과 같고, 다른 host를 추가한 것 이외에는 건드린 것이 없다.

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

어쩌면 consed 프로그램이 /etc/hosts 파일을 제대로 파악하지 못하는지도 모른다는 생각이 들었다. /etc/hosts를 다음과 같이 심플하게 변경해 보았다.

127.0.0.1   localhost

그랬더니... 잘 되네? 서버 컴퓨터의 OS를 CentOS 6.2로 업그레이드한 뒤 몇달간 골머리를 앓게 했던 문제를 이렇게 허무하게 해결하다니...

2012년 4월 6일 금요일

CentOS - LVM 설정

LVM 설정을 처음으로 시도해 본다. 기존의 하드 디스크 드라이브에 있는 정보를 지우지 않고도 LVM 설정이 되는지가 가장 궁금하다. 안전을 위해 2개의 HDD(각 1 TB)에 수록된 파일을 새로 장착한 2 TB HDD에 복사해 놓은 다음, 1 TB HDD 2개를 묶어 보도록 하겠다.

physical volume과 volume group, 그리고 logical volume에 대한 올바른 이해가 필요하다. physical volume이란 우리가 잘 알고 있는 /dev/sda1, /dev/sdb2와 같은 실제적인 하드디스크 파티션을 의미한다. 처음에는 잘 이해를 하지 못했었는데, 가이드를 여러번 째려보니(?) 이제 슬슬 이해가 가려고 한다.

LVM 설정을 위한 초보자 가이드를 보면 fdisk를 해서 파티션의 시스템 ID를 Linux(83)에서 Linux LVM(8e)로 바꾸어야 하는 것으로 나온다. 그렇다면 당연히 데이터는 날아갈 것으로 보이는데... 참고할만한 사이트 두어 개를 소개해 본다.

http://www.howtoforge.com/linux_lvm
http://www.centos.org/docs/5/html/5.2/pdf/Deployment_Guide.pdf

이와 같이 CLI를 이용할 수도 있고, 아니면 GUI 도구인 system-config-lvm을 쓸 수도 있다. 백업을 위해 열심히 복사를 하는 도중에 한번 system-config-lvm을 실행하여 보았다.


여기서 Initialize Entity를 누르면 아마도 fdisk를 거쳐서 Linux LVM을 시스템 ID로 하는 파티션을 만들게 될 것이다.

데이터를 복사하느라 오늘 중에는 LVM 설정을 하기 힘들겠다.... 오늘은 일단 퇴근!

(왜 인터넷 익스플로러에서 그림을 삽입하니까 줄간격이 막 벌어지고 그림이 원하는 곳으로 가지 않는 등 난리를 피우는가? 결국 파이어폭스에서 글을 마무리하고 말았다!)

2012년 3월 28일 수요일

2년만에 글을 올리다

대부분의 블로그 활동은 네이버에서 하고 있으므로, 구글 블로그는 상대적으로 소홀이 취급하고 있다. 그러나 사용자가 많은 반면 네이버에서 검색하여 얻어지는 정보의 질은 지나치게 상업적이고 폐쇄적이라는 생각이 들고 있다. 나도 별로 좋아하지 않는 조선일보지만, 최근 네이버의 오픈 마켓 진출을 둘러싼 시의적절한 기사를 읽고 크게 공감하게 되었다.

비정한 포식자가 되어버린 국내 인터넷 포탈

네이버 블로그에서의 활동을 점차 줄이고 구글로 옮기는 것을 심각하게 고려하는 중이다.