그동안 사실상 블루투스의 불모지였던 우리나라에도 슬슬 블루투스 사용이 늘어날 전망이다. 그동안 블루투스 헤드셋을 한번 써보고 싶었으나, SKT에는 구모델인 스카이 IM-6200 밖에 지원하는 폰이 없어 써보질 못하고 있었는데, SKT용으로도 곧 몇몇 모델이 나올 듯 하다. 그러던 참에, Skype를 써보게 되었다. Skype는 요즘 세계적으로 급속히 사용자를 늘려가고 있는 유명한 P2P VoIP 서비스. Kazaa에서 다듬어진, NAT와 방화벽을 뚫는 기술과 일반 유선 전화를 상회하는 통화 품질, 컴퓨터간 무료 통화 및 저렴한 일반 전화로의 통화 (우리나라 PC에서 미국의 일반 전화나 휴대폰으로 걸 때 분당 28원)등을 앞세워 다른 서비스를 압도하면서 VoIP의 대명사가 되어가고 있는 서비스이다. 이걸 위해 좀 쓸만한 헤드셋이 필요했는데, 기왕이면 나중에 휴대폰용으로도 쓸 수 있도록 블루투스 헤드셋을 사기로 했다.
우리나라에서 쉽게 살 수 있는 블루투스 헤드셋은 그다지 많지 않았는데, 마침 헤드셋 전문회사로 유명한 Plantronics의 제품을 팔고 있길래 그걸(M2500)로 하고, PC에 필요한 USB 블루투스 동글은 Mac도 지원한다고 하는 D-Link의 제품(DBT-120)을 구입했다. 그런데 사기전에 좀 알아보니 Windows XP SP2에서는 약간의 문제가 있는 듯 했다. PC에서
블루투스 헤드셋을 사용하려면 블루투스 드라이버가 “헤드셋 프로파일”을 지원해야 하는데, Windows XP SP2에서 기본으로 제공하는 드라이버는 이 기능을 지원하지도 않으면서 동글 제조사가 공급하는 드라이버 대신 항상 자기가 먼저 뜨는 문제였다. Skype의 사용자 게시판에 이를 해결하는 상세한 방법이 나와있는데, 대략 다음과 같이 하면 된다 (자세한 것은 원문을 참조).
MS의 끈질긴 드라이버는 동글을 다른 USB 포트에 꼽기만 해도 다시 살아나므로 위의 2, 3단계를 반복해야 한다.
문제점 몇가지:
- 전화기용의 핸즈프리 프로파일이 아니라 그냥 헤드셋 프로파일이기 때문에, 사용하기 전에 미리 연결을 해두면 항상 on 상태를 유지하면서 미세한 잡음과 함께 전력소모가 일반 대기상태보다 커진다.
- Plantronics M2500은 일단 제대로 착용하면 상당히 귀에 편했지만, 아직 익숙해지지 않아서인지 한손으로 쉽게 귀에 착용하긴 어려웠다. 나중에 핸드폰과 함께 사용하려 할 때 운전 도중에 착용하는 것은 좀 위험할 것 같다.
- D-Link DBT-120은 애플에서 내장 블루투스 외에 유일하게 지원하는 모델이긴 하지만, OS X의 헤드셋 프로파일을 사용하려면 DBT-120의 펌웨어를 OS X 전용 버전으로 업데이트해야 하고 그렇게 하면 Windows에서는 헤드셋 프로파일을 사용하지 못하게 된다. 결국 양쪽에 번갈아 끼워 사용할 수 없다는 것. 그다지 비싸진 않으므로 맥용으로 하나 따로 사도 되긴 하지만, 블루투스가 나온지 언제인데 왜 아직 이런 것도 해결이 안되었는지 이해가 안된다.
그렇긴 하지만, 두손이 자유롭고 선도 없는 상태에서 전화 통화를 할 수 있다는 점과 미국에 국내 휴대폰 요금보다도 훨씬 싼 가격으로 전화할 수 있다는 점은 큰 장점이 아닐 수 없다. 음질도 좋았고, 헤드셋의 마이크가 입에서 멀어 좀 걱정했는데 이것도 별 문제 없었다. 우선은 다음 주 JavaOne 출장 갔을 때 호텔에서 우리나라로 전화할 때 사용할 예정.


Mundane SF Manifesto (”현실적인 SF 선언” 정도로 번역되나?) – Slashdot으로부터.
나는 hard SF를 좋아한다. 그렇다고 해서 위의 사이트에서 주장하는 것처럼 FTL(Faster Than Light: 초광속)이나 평행 우주, 시간 여행이나 지적 외계인과의 접촉의 가능성을 SF에서 배제해야 한다고 생각하지 않는다. 물론 아인시타인이 상대성 이론에서 초광속 비행의 가능성을 부정했지만, 그는 불확정성 이론도 믿지 않았었다. 시간 여행이 불가능해보이지만 , E=mC^2를 모르는 사람에겐 항성이 수십억년동안 빛나는 것도 불가능하다. 우주의 90%가 도대체 어떤 물질인지 (아니면 물질이 아닌지) 조차도 모르고, 모든 사람의 머릿속마다 들어 있는 것처럼 보이는 자의식이 뭔지도 모르는데, 왜 굳이 소설에서까지 지금 알려진 과학으로 상상력을 제한하려들까.
나는 우주선이 지나가면 소리가 나고, 모든 별의 중력이 대충 비슷하고, 외계인들이 모두 인간형으로 생겼고 영어를 할 수 있다는 것까지는 참을 수 있다. 그런 것까지 따지면 별로 볼 영화가 없으니까. 또 그런 것을 너무 사실대로 그리자면 재미가 없거나 영화 스토리를 만드는 것이 너무 어렵다는 것을 아니까. 그리고 SF에서도 결국 중요한 것은 과학적 사실성보다는 잘 짜여진 스토리이니까. 하지만 도저히 참을 수 없는 것은, 지구를 구하기 위해 건들거리는 유전 굴착 기사들을 며칠만의 훈련으로 우주에 보내고, 자기 아버지가 조금 전에 죽었는데 애인이 살아왔다고 환호하는 그런 영화들이다. 또는 지구인은 항상 옳고 외계인은 (앞선 문명에도 불구하고) 생각이 짧고 충동적이어서 지구인의 훈시를 듣고서야 자기네끼리 평화롭게 사는 법을 알게 된다던가, 우주선에 선원에 수백 수천명이 있는데도 항상 위험한 일에 선장과 측근 몇 명이 앞장서고 일이 터지면 그 중에서 단역들만 죽는데 그들의 죽음에는 그다지 신경쓰지도 않는 그런 영화들이다. 다시 말해 SF에서 S를 배제하고 보더라도 엉성한 그런 영화들이다.
내가 좋아하는 타입의 SF는 비록 FTL같은 중요한 몇가지에 대해선 그냥 믿어주길 바라지만 나머지 디테일을 사실적으로 묘사해서 “이 정도 노력했으니 더 이상 따지지 말고 스토리에나 신경써라”라고 하는 류이다. Hard SF와 팬터지의 경계를 명확히 구분하긴 어렵지만 굳이 내 기준으로 나눠보자면 스타트렉이나, 재밌게 보긴 했지만 스타워즈는 이 경계선 밖에 있는 영화이고, 안쪽에 있는 영화는 2001 스페이스 오딧세이(당연!), 컨택트, 딥 임팩트등이다. 경계선에 아슬아슬하게 걸치는 영화가 바빌론 5 정도? 이번 War of the Worlds도 “신경 쓰이지 않을 정도만 그럴싸”했으면 좋겠다.
왜들 이리 다닥 다닥 붙어서 싸우는 걸까?

스타워즈 에피소드 3: “시스의 복수”

스타쉽 트루퍼스

바빌론 5: “In the Beginning”

Serenity (예고편)
가설 – 레이저 등 전자기파를 이용하는 무기는 에너지 보호막이나 약간의 장갑으로 너무 쉽게 방어가 되기 때문에 실제로 질량을 가진 미사일이나 레일건 등의 무기를 사용해야 하는데, 광속보다 느린 이들 무기를 멀리서 쏘면 자동 방어 시스템이 중간에 요격하거나 회절시켜 버리기 때문에 충분히 근접해서 공격해야 한다. 그러다 보니 다들 다닥 다닥 붙어서 싸우게 된다.
물론 실제로는 화면에 우주선 한대만 크게 나오고 나머진 대충 점으로만 보인다면 재미가 없기 때문이겠지만, 그래도 까다로운 관객을 위해 적절한 이유(변명?)가 한번쯤은 제시될 법도 한데, 아직까지 그런 설명이 나온 영화는 본 기억이 없다.
AJAX등 최근의 여러 기술에도 불구하고, 웹 애플리케이션은 아직도 로컬 애플리케이션에 비해 “user experience” (이걸 우리나라 말로는 뭐라고 해야 어감이 살까? 그냥 “사용자 경험”?)이 떨어지는 것이 사실이다. 이 블로그에서 저자는 그 이유로
등의 이유를 들고 있다. 이 중에서 첫번째는 물론 동의할 수 있는 이유이지만 두번째와 세번째는 로컬 애플리케이션을 사용하지 않는 이유는 못된다.
내 경우, 가장 많이 사용하는 웹 애플리케이션이 Bloglines와 GMail인데, 나더러 SharpReader나 Outlook [Express] 대신 이걸 사용하는 이유를 들라고 하면,
물론 웹 애플리케이션의 user experience가 예전에 비해 많이 나아졌다는 것도 한가지 이유이긴 하다. 그렇긴 하지만 웹 애플리케이션의 여전한 단점은
아직 대외적으로 공개할 수는 없지만, 우리 회사에선 로컬 애플리케이션의 기능을 웹 방식으로 쓸 수 있게 해주는 기술을 개발하고 있다 (Microsoft의 Avalon과 유사한 점이 있으나 휴대폰/Java 대상). 두 방식의 장점은 취하고 단점은 배제하자는 (어쩌면 너무 이상적인) 목표를 위해 팀원들과 함께 머리를 싸매고 있다. 요즘 시작할 때마다 몇 M씩 파일을 자동으로 다운로드해서 통째로 새로 설치해버리는 애플리케이션들을 보고 있자면 이걸 피하기 위해 정교한 기술을 개발하고 있는 것이 좀 허망하게 느껴질 때도 있기는 하지만…
Wired Magazine이 예측했듯이, 애플이 인텔 프로세서를 채택하면서 기존 PowerPC 애플리케이션에 대한 해결책으로 제시한 Rosetta는 Transitive의 QuickTransit에 기반한 것으로 드러났다. 과연 QuickTransit이 기존의 다른 방식에 비해 얼마나 효율적인 에뮬레이션을 수행할 수 있을지는 물론 최종 제품을 봐야 알 수 있겠지만, 레지스터의 수가 더 적은 인텔 프로세서로 PowerPC를 에뮬레이션하기 위해서는 명령어를 1:1로 번역하는 방식으로는 실용적인 수준의 성능을 얻기 어려웠을 것이고 QuickTransit과 같이 블럭 단위로 코드를 변환하는 기술이 필요했을 것이다.
news.com의 기사에서도 언급하고 있듯이, 새로운 에뮬레이션 기술이나 제품이 나올 때마다 네이티브에 근접하는 성능을 자랑하지만 실제와는 거리가 있었고 실용적으로 많이 쓰이기 보다는 최소한의 호환성 보장이나 고객들에게 “우리는 기존 애플리케이션을 지원한다”라고 생색내기 위한 목적이 더 컸던 것 같다. 하지만 에뮬레이션 기술이 단지 구 플랫폼의 애플리케이션과의 호환성을 지원하는 데에만 유용한 것은 아니다. 비록 상업적으로 실패했지만 Transmeta의 경우와 같이 새로운 아키텍쳐의 CPU를 가능하게 한 경우도 있고, Java의 경우와 같이 기존 플랫폼과의 호환성이 아닌 현재의 플랫폼간의 호환성을 얻기 위해 새로운 가상 머신을 이용하는 것도 에뮬레이션의 한 부류로 볼 수도 있다. 보다 더 흥미로운 경우는 .NET인데, 사실상 인텔이라는 하나의 플랫폼만을 지원하는 윈도우스에서 굳이 가상 머신을 사용하는 이유는 무엇이었을까?
마이크로소프트가 .NET에서 가상 머신을 사용하는 이유에 대해선 물론 여러가지 이유가 있겠지만, 내 생각에 가장 큰 이유는 기존 하드웨어 방식의 (real) CPU가 제공하는 기능이 인터넷 시대의 요구사항을 만족하지 못하기 때문이다. 굳이 거창하게 X Internet의 개념을 얘기하지 않더라도 ActiveX와 스파이웨어가 범람하는 현실을 볼 때 실제 CPU에서 제공하는 단순한 메모리 보호 기능이나 권한 관리 기능만 갖고는 다운로드받은 코드를 실행하는 것이 너무나도 위험하기 때문에 보다 정교한 실행 권한 제어를 위해서는 가상 머신을 사용할 수 밖에 없다. AJAX와 같이 스크립트를 이용하는 방법에는 한계가 있을 수 밖에 없기 때문에 Rich Internet을 위해선 Avalon/XAML과 같은 새로운 대안이 나올 수 밖에 없고 이를 위해선 가상 머신이 필수적인 것이다.

지난 몇 주동안 소문으로 떠돌던 애플의 인텔 CPU 채택설이 결국 사실로 드러났다. 사진은 WWDC 2005 키노트의 한 장면. 스티브 잡스가 그동안의 소문이 사실임을 인정하는 순간인데, 누가 봐도 인텔의 로고를 패러디한 것이 재치있다 (참고로 이 사진은 640×360, 약 500~600Kbps의 H.264 스트림을 캡쳐한 것. 이번 WWDC부터 이 포맷으로 스트리밍하는 듯하다). 아래 사진은 자기네 회사가 나와있는 위성 사진을 보여주면서 “바로 여기서 비밀리에 인텔 버전의 OS X를 개발해왔다”고 너스레를 떠는 스티브 잡스.

사실 그런 소문을 듣고도 사실이 아닐 것이라고 생각했었는데, 플랫폼을 바꾸는 비용과 위험에 비해 얻는 성능 향상의 폭이 너무 작기 때문이었다. 지난 번의 68K에서 PowerPC로의 변경은 CPU의 성능 차이가 워낙 컸기 때문에 새로운 플랫폼에서 에뮬레이션만으로도 이전 플랫폼의 성능을 초과할 수 있었지만, Pentium과 PowerPC의 성능 차이가 그렇게까지 크지 않고 특히 Altivec을 그렇게 에뮬레이션할 수는 없을 것이었기 때문에 근거없는 소문일 것이라고 생각했었다. 만약에 바꾼다면 부담이 상대적으로 적고 멀티미디어 성능 향상이 더 크게 기대되는 Cell 프로세서가 아닐까 했었는데… 아뭏튼 스티브 잡스에 의하면 내년도 로드맵상 인텔 프로세서의 MIPS per watt가 PowerPC의 그것보다 5배가 크다고 하니, 인텔의 신병기가 있는 듯도 하다.
키노트에서도 언급되었듯이, 이번의 플랫폼 변경은 맥으로선 세번째이다. MS의 윈도우스 역시 3.x에서 95/98, 또 NT계열로 몇번의 변화를 겪기는 했지만, CPU를 다른 아키텍쳐로 바꾼 적은 한번도 없었고 윈도우스의 아키텍쳐 변경도 항상 호환성을 최우선으로 하여 Longhorn에서 DOS 프로그램이 아직 실행될 정도인 것이 비하면 맥의 경우는 플랫폼 변경에 훨씬 과감하고 호환성 유지에 대해서도 MS만큼 집착하지 않는 것 같다. 한마디로 따라올 사람들만 따라오라는 것. “How Microsoft Lost the API War”에서 Joel Spolsky는 요즘의 MS가 예전만큼 호환성을 중시하지 않는다고 얘기하고 있지만 그 글을 읽고나면 역설적으로 그동안 MS가 호환성에 얼마나 집착했었는지 알 수 있다. 그 결과 10년전의 프로그램도 거의 다 돌릴 수 있는 호환성을 확보했으나 동시에 개발 속도의 저하와 bloatware를 초래했다. 사람들이 애플리케이션의 업그레이드도 예전만큼 자주 하지 않게 되었다는 것도 소프트웨어 업계 전체로 볼 때 또하나의 부작용 (물론 소비자 입장에선 좋은 것이지만).
애플의 경우엔 (Linux도 마찬가지지만) 하드웨어나 애플리케이션의 업그레이드를 강제하는 OS의 업그레이드에 더 과감했고 이는 자사의 하드웨어만을 대상으로 한다는 점과 함께 MS에 비해 훨씬 적은 개발 인력으로도 경쟁력있는 OS를 키워나갈 수 있게 하는 원인으로 작용했다. 1년마다 $125씩 내야 하는 OS 업그레이드를 불평없이 따라준 열성적인 추종자들이 있었다는 점도 과감한 업그레이드를 할 수 있었던 한가지 요소. 그런 점에서 스티브 잡스의 RDF는 애플에게 매우 소중한 자산이 아닐 수 없다.
애플의 이번 도박에도 사람들이 따라줄지는 앞으로 두고봐야겠지만, 나는 돈이 좀 들더라도 고칠 것은 고쳐나가는 플랫폼이 더 좋다. 도대체가 보안을 최우선으로 하겠다고 선언하고 몇년이 지나도 인터넷도 맘놓고 쓸 수 없는 플랫폼, 설치하고 나면 스스로 이 제품은 보안이 취약하니 별도 제품을 추가로 구입 설치하라고 권장하는 플랫폼을 어떻게 믿고 쓸 수 있겠는가? 인텔의 CEO가 보안 위험을 피하려면 맥을 사라고 했던 것은 결국 이번 애플의 인텔 CPU 채택 선언을 염두에 둔 발언이었음이 거의 분명해지기는 했지만, 여전히 공감이 가는 얘기다. 다만 우리나라에서 윈도우즈가 아닌 OS로도 인터넷을 제대로 쓸 수 있게만 된다면.