msgbartop
If it ain’t broke, fix it anyway
msgbarbottom

12 Sep 08 Death Star의 속은 비어있었다!

DeathStar1.jpg Google의 최신 자료에 따르면 Death Star의 중력 가속도는 3.5303614E-7으로서, 지구의 3.6E-8 배 밖에 안된다. 그런데 공식 자료에 따르면 Death Star는 직경이 120km로서 지구의 0.00942배 정도 된다. 표면 중력은 질량에 비례하고 반지름의 제곱에 반비례하므로 평균 밀도가 같다면 표면 중력은 반지름에 비례한다. Death Star의 평균 밀도가 지구와 같다면 표면 중력은 0.00942 x 9.8 m/sec^2 이 되어야 하지만 Google에 따르면 3.53E-7 밖에 안되므로 Death Star의 평균 밀도는 지구의 3.824E-6 배로서 비중이 2.11E-5 밖에 안된다.

스타워즈를 볼 때마다 그토록 큰 구조물이 어쩌면 저렇게 허술할 수 있을까 궁금했었는데, 이제 그 이유를 알 것 같다. Death Star의 내부는 텅 비어있었던 것이다. 하청업체에서 자재를 빼돌려서 그렇다고 하기엔 너무 밀도가 낮고, 처음부터 설계가 그렇게 된 것이 틀림없다. Death Star보다 훨씬 작은 크기로도 행성을 파괴할 수 있는 1E32 joule 의 수퍼레이저를 만들어낼 수 있었다는 것은 대단한 기술이 아닐 수 없으나 굳이 그렇게 크게 만든 것은 대부분의 제국들이 그렇듯이 통치하에 있는 다른 별들에게 공포감을 불러일으키기 위한 일종의 허풍이었던 모양이다.

06 Sep 08 Picasaweb의 얼굴 인식

picasaweb1.jpg
Picasa 3.0 beta의 발표와 함께 Picasaweb도 개편되었다. 가장 눈에 띄는 기능은 얼굴 인식. 시험해보니 물론 완벽하진 않지만 생각보다 잘된다 (아직 co.kr 서버에는 이 기능이 없고, picasaweb.com 으로 가서 설정에서 기능을 활성화시켜야 함). 특히 애기 얼굴은 개월수에 따라 꽤 달라지는데도 잘 인식한다. 이름 태깅은 gmail의 주소록과도 연계되어 있고 주소록에 없더라도 e-mail 주소를 입력할 수 있도록 되어 있어서 flickr와 비교할 때 부족했던 social networking 기능을 강화하려는 의도를 엿볼 수 있다.

02 Sep 08 Google Chrome, BrowserWars Episode 2

Google이 자체 브라우저를 만든다는 루머는 꽤 오래 전부터 있었지만, 이제 출시가 임박한 모양이다. 특징은 webkit에 기반한 오픈소스 브라우저이면서 각 탭과 플러그인을 프로세스로 분리하여 안정성과 보안 강화, 새로운 고성능 JavaScript 엔진, 웹기반 app에 최적화된 UI, 보안 강화, Google Gears 내장 등.

15 Aug 08 차에서 음악듣기 #3

#1: 차에서 아이팟으로 음악듣기
#2: 순정AV에 아이팟 연결하기

위의 두번째 방법으로 한동안 차에서 음악을 잘 듣고 있었는데, 얼마전부터 문제가 생겼다. 아이팟이 충전이 되지 않아 배터리가 다 방전되어버리는 것이었다. HomeDock Deluxe의 문제로 판단되었으나, 해외에서 직접 주문하여 하드웨어를 개조한 것이라 AS를 받을 수 없었다. 같은 제품을 다시 구입하긴 싫고, 찾아봐도 유사한 기능의 다른 제품도 없어서 이번엔 다른 방식을 사용해보기로 했다. Criteria는 다음과 같다:

  • 아이팟을 이용하거나 또는 iTunes의 음원 관리 방식을 그대로 사용할 수 있어야 한다.
  • 차 순정 오디오의 AV 입력을 이용해야 하므로 메뉴 브라우징과 음악 재생 화면이 비디오로 출력되어야 한다.

iPod은 동영상을 재생할 때에만 비디오 신호를 출력하기 때문에 HomeDock Deluxe와 같은 제품을 이용하지 않으면 차의 AV 입력 방식에 직접 연결하여 메뉴를 TV 화면을 보면서 브라우징하거나 음악을 재생할 수 없다. 포터블 DivX 플레이어가 바로 이러한 기능을 지원하나 iTunes와 연동되지 않는다는 점이 문제였다. 그동안 모은 음원은 거의 대부분 DRM 없는 MP3 파일이었기 때문에 굳이 iPod이 아니더라도 음원의 재생 자체는 문제가 없었으나, iTunes로 관리하고 있는 메타DB나 플레이리스트를 사용할 수 없으면 음원 관리 방식이 다중화되고 불편해진다.

그래서 꽤 예전부터 생각만 하던 방식을 구현해보기로 했다. 이 방식은 폴더 방식의 플레이어에 MP3 파일을 넣고, 메타DB 방식의 브라우징 메뉴에 해당하는 서브 디렉토리와 M3U 파일을 자동 생성해서 이를 통해 원하는 방식으로 음악을 액세스하는 것이다. 폴더 방식의 MP3 플레이어에서는 한가지 방식으로 폴더를 관리하면 다른 방식으로는 접근할 수 없다. 예를 들어, 아티스트-앨범별로 2레벨의 디렉토리를 만드는 경우 장르나 작곡가, 또는 곡 제목에 의해 접근할 수는 없는 것이다. 그런데 MP3 플레이어가 M3U 파일을 지원하는 경우, 여러 접근 방식에 해당하는 디렉토리를 다 만들어놓고 마지막 레벨의 디렉토리에 실제 MP3 파일이 아니라 MP3 파일을 가리키는 M3U 파일을 만들어 놓는 방법으로, 용량이 큰 MP3 파일을 여러 벌 두지 않으면서 여러 경로에 의해 음악을 액세스하도록 할 수 있다.

iTunes의 라이브러리에 접근하는 것은 어렵지 않다. 윈도우스 버전의 경우, COM API와 XML 파일이 모두 애플에 의해 공식적으로 제공된다. 이를 이용하여 iTunes의 라이브러리 DB를 읽은 후 iPod와 동일하게

All Songs
Playlist
Artist - Album - Song
Album - Song
Genre - Artist - Album -Song
Composer - Album - Song

의 메뉴 체계에 따르는 디렉토리들을 생성하고, 마지막 레벨의 곡 리스트는 M3U 파일로 만들어내는 것은 간단할 것 같았다. 일단 Python을 사용하여 구현을 시작했다. win32com 덕분에 iTunes COM API를 사용하는 것은 매우 쉽다. 하지만 곧 두가지 문제에 부딪혔다.

  1. 메타 데이터의 유니코드 문제. 음원의 메타 정보에는 여러 언어의 문자가 사용된다. 예를 들어 Frédéric Chopin과 같이, 아티스트 이름에 umulaut가 있는 문자가 들어있는 경우는 흔하다. 이 이름으로 디렉토리를 만드는 것은 문제가 없는데, 문제는 M3U 파일에서 이 디렉토리 내의 MP3 파일의 경로를 표현하는 것이다. 우리나라의 DivX 플레이어는 유니코드를 지원하지 않는 M3U 파일을 KSC-5601로 간주하기 때문에 유니코드로 된 경로를 제대로 나타낼 수 없는 경우가 생긴다.
  2. 이건 기존 방법에서도 문제가 되었으나 포기했던 것인데, 아티스트나 앨범의 수가 많을 때 터치휠이 아닌 일반 리모컨으로 리스트의 아래 쪽까지 스크롤하기가 어렵다는 점.

첫번째 문제는 Frédéric 을 Fre’de’ric과 같은 식으로 변환하여 DivX 플레이어에 넣기로 했다. 다행히 검색해보니 유사한 코드를 찾을 수 있어서 약간만 수정하여 사용할 수 있었다. 두번째는 하나의 분류 기준(e.g. 아티스트)을 둘 이상의 서브 디렉토리 레벨로 나누는 것으로 해결했다. 내 iTunes 라이브러리에는 현재 127명의 아티스트가 있는데, 이를 한 디렉토리의 서브 디렉토리로 나열하면 예를 들어 Wagner나 Webber는 선택하기 어렵게 되지만아티스트 이름들을 알파벳 순서에 의해 10개 이내의 그룹으로 분류하고, 각 그룹에 해당하는 서브 디렉토리를 만든 후 다시 그 밑으로 아티스트 별 서브 디렉토리를 만드는 것이다.
이런 문제를 일반화시켜 해결하려다보니 생각보다 시간이 많이 걸렸으나, 일단 ver 1.0을 완성했다.

하드웨어로는 DViCO사의 TViX mini 2000 lite를 사용하기로 했다. 리모컨 연장 수신부를 포함, 자동차용 패키지를 제공하고 있고, M3U 파일의 지원 여부를 메뉴얼에서 미리 확인할 수 있었다. 예전에 노트북 HDD를 업그레이드하면서 떼어놓은 2.5″ HDD가 있었기에, 하드 없이 케이스만 있는 제품을 구입하면 되었다.

DSCF1278.JPG

DSCF1287.JPG

실제 MP3 파일을 복사하는 것을 제외하면 iTunes 라이브러리를 읽어 메뉴 폴더를 생성하는 데에 1분 남짓 소요되었는데, 좀 더 코드를 최적화할 여지가 있기는 하나 일단 크게 문제될 정도는 아니었다. 앨범 아트를 음원이 있는 디렉토리에 folder.jpg라는 이름으로 저장해두면 해당 음원이 재생될 때 배경화면으로 디스플레이가 되지만 곡 목록의 텍스트가 오버레이되어 지저분해 보여서 앨범 아트의 표시는 포기하기로 했다.

DSCF1270.JPG

DSCF1271.JPG

iPod처럼 최상위 메뉴에 전곡을 재생할 수 있는 m3u를 만들었는데, TViX mini 2000 lite의 경우 m3u 파일을 선택하면 목록만 읽어들이는 것이 아니라 목록에서 참조하는 모든 MP3파일을 먼저 확인한 후에야 재생을 시작할 수 있어서 천수백곡 정도의 내 라이브러리의 경우 이에 1분 이상 시간이 지체되었다. 그동안 전체 재생을 shuffle로 듣는 경우가 많았는데, 이런 식으로는 듣기가 어려울 것 같다. 그래도 플레이리스트를 선택한 후 이를 랜덤재생할 수 있는 것은 장점.

DSCF1273.JPG

아티스트, 앨범, 곡의 수에 따라 각각을 몇 레벨의 서브 디렉토리로 만들고 몇 개씩 grouping을 할 것인지가 쉽지 않은 문제였다. 일단 한 레벨에서 10개 이상의 서브디렉토리가 나오지 않도록 레벨의 수와 레벨 당 평균 서브디렉토리의 수를 결정한 후 가급적 이름이 많이 달라지는 부분에서 그룹이 나뉘도록 하는 알고리즘을 구현했다. 그룹 범위의 표현에서 “—”의 줄을 맞추고 싶었으나 TViX 플레이어가 variable width font를 사용하는 바람에 그렇게 하지 못했다 (물론 각 문자별 폭을 다 확인하면 구현 가능하겠지만…).

DSCF1281.JPG

예전에 AV 입력에 HomeDock Deluxe를 연결했을 때에도 볼륨을 꽤 많이 올려야 했었는데 TViX의 경우도 그랬다. 아무래도 내 차의 AV 입력이 감도가 낮은 듯 하다. 그래도 차량용 패키지에 포함된 DC-DC 컨버터에 의해 그라운드가 분리된 덕분인지 화이트노이즈나 험은 없었다.

26 Jul 08 아이팟 티셔츠

예전에 본사 (미국) 엔지니어를 만났을 때 그럴싸한 문구가 있는 티셔츠를 입고 있길래 어디서 샀냐고 물었더니 ThinkGeek에서 샀다고 해서 부러워했던 적이 있었다. 그 때 봤던 티셔츠 문구는 정확히 기억나지 않으나 ThinkGeek에서 파는 티셔츠는 예를 들면 아래와 같은 것이다 (이 블로그를 읽는 사람이라면 대부분 이해하지 않을런지?)

noplace.jpg

물론 우리나라로 국제 주문할 수도 있겠지만 티셔츠 한장에 국제 우송료를 부담하면 배보다 배꼽이 클 것이다. 그래서 차라리 커스텀 디자인으로 1벌이라도 주문을 받아주는 곳이 있으려니 하고 찾아봤더니 어렵지 않게 한 곳을 찾을 수 있었다. 마켓프레스라는 곳인데, 동대문 옷가게의 온라인 샵이라기 보다는 웹2.0스러운 사이트이다. 여기서 시험적으로 주문해본 티셔츠:

DSCF1265-flipped.jpg

XL가 105~110이라고 표시되어 있었는데 실제로는 110 정도라서 내겐 좀 컸다는 점 외엔 옷감의 질도 괜찮았고 가격도 우송료 포함해서 19,000원으로 가격 대비 만족도가 높았다.

파워포인트로 디자인한 후 PNG로 업로드했고 터치휠까지 넣어볼까 하다가 배가 강조되어 보일까봐 생략. 타이틀은 애플의 iLife와는 전혀 관계없고 i’s box류의 엉터리 영어 (물론 사진은 거울 앞에서 찍은 후 좌우 반전한 것임).

24 May 08 정보통신 단자함으로 오디오 연결하기

우리 어머니는 PC로 음악을 들으신다 (우리 회사가 운영하는 멜론 서비스의 열성 사용자임! :) ). 그런데 얼마 전 새로 지은 집으로 이사를 하시면서 PC가 침실로 들어가게 되어 주 거주공간인 거실에서 음악을 듣기 어렵게 되었다. 유비퀴터스니 뭐니 해도 아직도 거실에서 합법적으로 온라인 음악을 듣는 것은 자동차에서 듣는 것 만큼이나 어렵다. 멜론이 SqueezeboxAirPort Express와 같은 디바이스들을 지원하는 것도 아니고 깨끗한 새 집의 문틈으로 또는 벽에 구멍을 뚫어 오디오 케이블을 연결할 수도 없고.

그래도 가족 CIO로서 뭔가 답을 찾아야겠기에 생각해낸 것이 요즘 새 집에는 모두 있는 정보통신 단자함을 이용하는 방법이었다. 흔히 현관 등에 있는 정보통신 단자함은 각 방의 RJ-45 콘센트와 CAT-5 케이블로 연결되어 있고 전화 1대만 이용하는 방이라면 3쌍의 twisted pair 케이블이 사용되지 않고 남아있다. 이 중에서 두쌍을 이용하면 라인 레벨의 오디오 신호를 보낼 수 있다. 어머니댁은 아직 PC를 한대밖에 사용하지 않고 있고 앞으로도 무선랜 공유기나 무선 전화기를 이용하면 기존에 설치된 CAT-5 케이블에서 두쌍의 케이블을 오디오에 할당하는 것은 문제가 없을 것으로 판단했다.

실제로 벽의 콘센트를 열어 확인해보니 이 집의 경우 링크된 문서와는 약간 달리 배선되어 있었으나 (전화선이 푸른색과 오렌지색) 크게 문제될 것은 없었다. CAT-5 케이블을 잘라 RCA잭과 연결하고, 단자함에서 두 방의 초록색, 갈색 단자를 각각 연결했다.

그런데 연결을 확인하다 보니 오디오가 연결이 안 됨은 물론, 전화마저 안되는 것이었다! 결국 KT 기사가 와서 확인해보니 단자에 선을 충분히 밀어 넣지 않은 것이 원인. 내가 부탁한대로 다시 연결해주면서 “해드리는거야 쉽지만 이런 식으로 사용하는 건 본적이 없다”고 의아해 하면서도 출장비도 받지 않았다.

결국 우여곡절 끝에 연결은 성공, 침실 PC의 line out을 거실에 있는 액티브 스피커에 연결할 수 있었다. 유일한 문제는 하나의 line-out에 침실과 거실의 스피커가 동시에 연결되어 있는 상황에서 PC가 꺼지면 출력이 high impedance가 되면서 ground loop에 의한 험이 발생한다는 점. 물론 스피커도 꺼버리면 되기는 하지만, 10K 정도의 저항을 line-out에 병렬로 연결하면 되지 않을까 생각하는데, 저항 두개를 사러 나가야 하나?

_MG_0103-1.JPG

IMG_0015-1.JPG

23 May 08 “고객님의 휴면계좌 현황을 알려드립니다”

한 은행으로부터 “고객님의 휴면계좌 현황을 알려드립니다”라는 메일을 받았다. 그런데 그 메일을 열어보려 하니 firefox에서는 안되고 또 뭔가 보안솔루션을 설치해야 한다고 한다. 그래도 은행 사이트에서 로그인하는 것보다는 덜 귀찮으려니 생각하고 IE로 열어보려 하니, ActiveX가 뭔 프로그램을 시스템 디렉토리에 설치까지 하느라 숱한 보안 경고가 떠서 결국 보안을 한동안 해제할 수 밖에 없었다. 그런데 그렇게 힘들게 열어본 메일의 내용에는 정작 내 휴면계좌에 대한 내용은 전혀 없고 “1년 이상 거래가 없는 통장이 있으니 지점을 방문해달라. 계좌번호는 정보 보호를 위해 전화로도 알려줄 수 없다”는 것이 다였다.

메일이나 전화로 정보를 알려줄 수 없는 것은 법률이건 다른 이유 때문에 그럴 수 있으리라 생각한다. 하지만 기껏 그런 계좌가 있다는 사실을, 그것도 이미 메일 제목에서 다 드러났는데 나머지 일반적인 안내를 굳이 보안 솔루션으로 암호화해서 보내야 하나? ActiveX에 의존하는 소위 “보안 솔루션”이 오히려 온라인 보안을 해치고 있다는 얘기는 지난 번에 했지만, 보안이 필요하지도 않은데 이렇게 쓸데없이 ActiveX를 남발하거나 주민등록번호를 온갖 곳에 입력해야 하는 경우가 점점 더 늘고 있다.

일차적인 책임은 내용을 잘 알지도 못하면서 아마도 몇 몇 보안 솔루션 업체의 로비에 넘어가서 쓸데없는 규정과 정책을 남발하는 당국에 있을 것이고, 그 다음으론 굳이 필요하지도 않은 부분까지 이런 기술을 생각없이 적용하는 은행등의 IT 부서(또는 누가되었건 보안 솔루션 적용을 결정하고 지시한 사람)에게 책임이 있을테고, 마지막으로 자사 이익만을 위해 인터넷 전체의 건전성에 대한 고민 없이 이런 “솔루션”을 하나라도 더 팔기 위해 노력하는 회사들에게 책임이 있을 것이다. 정부, 은행, 솔루션사 모두 결정권자는 아마도 기술은 제대로 모르고 자기 실적이나 책임 회피만을 생각하는 사람들이겠지만 이들이 결합하면 그 영향력은 마이크로소프트도 못 당할만큼 강하다 (Vista가 아직도 어려움을 겪는 것을 보라). 그 밑에서들 일하는, 내용을 제대로 아는, 기술자들은 제발 좀 목소리를 내 줬으면 좋겠다.

06 Apr 08 가족 블로그

앞으로 가족 관련 내용은 주은이와 주하네에 올립니다.

05 Apr 08 블랙잭 GSM 로밍, DST

블랙잭은 WCDMA 외에도 GSM을 지원하므로 임대폰 없이 로밍되는 지역이 무척 많기는 하나, 미국에 출장가서 써보니 몇가지 문제가 있었다.

  • 미국 네트웍 커버리지가 안좋다는 거야 뭐 다 아는 사실이지만, 로밍되는 네트웍이 접속되었다 끊겼다를 반복하니 그 때마다 블랙잭에서 메시지도 뜨고 네트웍을 잘 잡지 못하는 문제도 있었다. 로밍 설정을 수동으로 AT&T로 설정하니 문제는 해결.
  • GSM으로 연결되어 있으면 설령 WiFi가 연결되어 있어도 오페라 브라우저가 동작하지 않는다. 호텔의 WiFi를 이용하려면 일단 웹브라우저에서 확인을 해줘야 하는데, 이게 안되어서 아웃룩 sync도 안되었다. 대신 IE와 오페라 미니는 별 문제없이 동작했다.
  • 로밍 네트웍에 접속될 때마다 네트웍으로부터 현재 시간을 받아오는데, 작년부터 바뀐 daylight saving 기간이 블랙잭에는 반영되어 있지 않아서 현지 시간과 한시간의 오차가 생겼다. 수동으로 수정해도 엘리베이터만 타고 나오면 다시 재설정. 삼성에 문의했더니 하루만에 답변이 왔는데 펌웨어를 수정하는건 아니고 MS의 관련 사이트를 알려줘서 업데이트를 받아 패치할 수 있었다.
  • 한국에 다시 돌아오니 SKT 망을 못잡는다. 로밍을 수동에서 자동으로 다시 설정하니 연결이 되긴 했는데, 화면에 “완료”라고 표시되는 왼쪽 소프트키를 눌러서는 설정이 바뀌지 않고 반드시 “OK” 버튼을 눌러야 해서 몇 분동안 헤맸다.
  • 블랙잭의 문제는 아니지만, 국내에서 데이터 정액제로 맘놓고 무선 이메일 사용하다가 출장가서 하루종일 메일을 사용 못하니 무척 답답했다. 온갖 최신 무선 기술을 선보이는 쇼에서 퍼블릭 WiFi 조차도 제공해주지 않는다니.

29 Mar 08 순정AV에 아이팟 연결하기

얼마전부터 회사에서 리스한 차를 타게 되어 더 이상 기존 방법으로 차에서 아이팟으로 음악을 들을 수 없게 되었다. 다행히 이 차는 AV aux 입력이 있기는 하나, 비디오 시그날이 있어야만 aux 입력을 사용할 수 있어 아이팟을 그대로 연결할 수는 없었다.

뭔가 방법이 있으리라 생각하고 찾아보니, 거실에서 TV에 아이팟을 연결하여 아이팟의 라이브러리를 TV와 리모콘으로 액세스할 수 있는 제품이 있었다.

HDX_n_action_3.jpg

홈페이지에서 해외주문도 받기에 바로 주문해서 며칠만에 제품은 받았는데, 차에 설치하는 것이 문제였다. 콘솔박스에 설치하려고 하니 그 자체로도 아이팟을 꽂으면 높이가 너무 높은데다 자동차의 전원을 220V AC로 바꾸는 인버터도 기왕이면 콘솔박스에 넣고 싶었기에 개조를 해야했다. 케이스를 이쪽 저쪽 잘라 아이팟을 눕혀달고 리모컨 센서를 외부로 뽑아 헤드유닛 옆에 부착했다.

DSCF0811.JPG

DSCF0805.JPG

DSCF0809.JPG

HomeDock Deluxe는 10V 입력을 받기 때문에 자동차의 12V를 그대로 정전압으로 감압만 해서 넣을까 하다가, 그라운드 루프가 생길 것 같아 대신 비효율적이지만 인버터와 전원 어댑터를 연결했는데, 덕분에 잡음 없이 깨끗한 소리를 들을 수 있었다.

장점:

  • 순정 오디오에 손을 대지 않는다.
  • 아이팟과 거의 같은 UI를 큰 모니터로 볼 수 있다 (MP3 태그의 한글도 잘 나온다!).
  • 음질이 좋다 (다른 입력보다 상대적으로 볼륨이 좀 작았는데, 이건 내가 MP3Gain을 사용하기 때문).
  • 리모컨 센서 외에 외부로 보이는 것이 없다.

단점:

  • 시동 걸 때마다 리모컨으로 HomeDock을 켠 후에야 aux입력을 선택할 수 있다.
  • 비디오 화질이 좀 안좋다.
  • 차가 움직이기 시작하면 화면이 안나온다 (순정 AV의 안전기능). 이건 해결하는 방법이 있는 것으로 알고 있지만, 화면이 안나와도 리모컨은 동작하므로 크게 불편하진 않을 듯.