뭐 제가 스펙 볼 일은 아마도 없겠지만... MS 오피스 이진파일 포맷이 공개되었습니다.

http://www.microsoft.com/interop/docs/OfficeBinaryFormats.mspx

리버스 엔지니어링으로 이미 많이 알려져있지만, 스팩문서가 나왔으니, 오픈 오피스 등의 공개 프로그램에서 파일 호환성이 더 좋아질거 같네요.

Joel Spolsky의 블로그를 통해서 알게되었고, 파일포맷이 왜 이렇게 복잡한지에 대해서 설명하고 있습니다.

http://www.joelonsoftware.com/items/2008/02/19.html

이런 글은 잘 안올렸었지만 저도 어제 15000원 짜리 6000원에 주문했습니다.

단, 아래 링크를 통해서 가입해야 마일리지 5000원이 쌓인답니다.

http://www.morning365.com/member/member_article.asp?fromwhere=en_skt5000


저는 "소프트웨어 프로젝트에서의 리스크 관리"라는 책을 샀는데
정가 15000원에서, 20% 할인(3000원), 이책에 쿠폰이 제공되서 1000원 추가 할인,
마일리지 5000원 사용해서 총 9000원이 할인됐습니다. 그리고 한권도 무료배송을
해주네요. ^^

구글 리더 사용하면서 가장 불편했던 점이 검색이 안되는거였는데, 검색기능이 추가되었네요. 검색 전문 회사가 제공하는 서비스에 검색이 없었다니 좀 이상했죠...

그리고 다른 소식 하나, 아이팟 새 모델들이 나온다고 하네요.
아이폰에서 핸드폰 기능을 제거한 아이팟 터치가 꽤 괜찮아 보이네요.
아이팟 터치에서 pdf 볼수 있는 프로그램이 있다면 꽤 쓸만하겠네요...

굴직한 Virtualization 회사들의 소식입니다.


VMware가 2007년 8월 14일 상장했습니다. 상장한지 하루만에 78% 올라서 시가 총액이 $19 billion (약 19조원) 되었다고 하네요.

http://biz.yahoo.com/ap/070814/vmware_ipo.html?.v=22


창업한지 3년된 Xen-Source를 Citrix 에서 $500 million(약 500억원)에 인수했다고 합니다.

http://venturebeat.com/2007/08/15/citrix-acquires-xensource-for-500m-in-virtualization-frenzy/


VMware가 Virtualization 분야에선 아직 절대강자이긴 하지만, 금액은 많이 비교가 되네요...

OLPC라는 프로젝트에 대해 근래 많은 소식을 접할수 있습니다. 교육이 필요한 어려운 나라에 싸게 노트북을 제공하는 프로젝트 정도로만 생각했었는데, 기술적으로도 많은 고민을 한것 같네요. 구글 비디오에서 1시간 정도의 소개를 봤습니다.

http://1laptop1student.blogspot.com/2007/04/olpc-tech-talk-w-google.html

가격은 $175 로 정해졌다고 얼마전에 slashdot에 올라왔었습니다. 국가를 대상으로 파는거고, 원래는 개인에게는 안판다고 했었는데, $200에 판다는 뉴스도 있네요.

하드웨어를 보면, CPU는 AMD Geode 700MHz, 메모리는 256MB로 사양은 떨어집니다. 디스플레이가 좀 특이한데 듀얼모드입니다. 칼라모드는 일반적인 LCD와 같지만 해상도는 낮고, 흑백모드는 직사광선이 있는곳에서 볼수 있으며 해상도는 1200x900이고 전력소비가 매우 적다고 합니다. 흑백모드는 백라이트가 없기 때문에 어두운곳에서는 잘 안보입니다. 무선랜을 지원하는데 네트워크 인프라가 없는 낙후된 지역에서 원활한 네트워크가 가능하도록 무서랜은 컴퓨터를 끈상태에서도 동작할수 있다고 합니다. OLPC들로만 adhoc 네트워크가 원활히 유지되도록 신경을 쓴거 같네요. 크기는 좀 큰거 같지만, 무게는 1.5 Kg 이하일거라 합니다. 전력사용은 최대 일반 노트북의 10분의 1 수준이라고 합니다.

OS는 리눅스(FedoraCore) 기반이고, 그 위에 어플리케이션은 python으로 대부분 구현되었다고 합니다. Sugar라는 UI 라이브러리를 개발하였지만, 아직 UI는 개발중이라고 합니다. 전력 소모를 줄이기 위해서 사용하는 중에도 suspend 모드로 간다고 합니다. 이를 위해서 suspend 상태로 오가는 시간을 대폭 줄여 사용자가 인식하지 못하는 시간(100ms)으로 줄이려고 노력하고 있다고 합니다. 현재 200ms 정도 소요된다고 합니다.

가격을 낮추는거에만 초점을 둔것이 아니라 정말 여러 사항들을 고려하고 있다는 생각이 들고, 그래서 많은 주목을 받고 있는거 같네요. 취지 또한 좋죠. 전세계 인구의 6분의 1 정도가 학습을 받지 못하는 어린 아이들이라고 합니다. 이러한 어린이들에게 교육 기회를 주자는 거죠.


LiveCD가 있어서 한번 구해서 돌려봤습니다. ^^

http://olpc.download.redhat.com/olpc/streams/sdk/build1/livecd/

아직 완성도가 떨어지고, UI가 너무 단순해서 좀 실망이긴 하지만, 아이들이 쓰기에는 괜찮을거 같네요. 저는 네트워크 인식이 되지 않아서 네트워크 기능은 테스트해보지 못했습니다.

아래가 부팅 후 처음 뜨는 로그인 창입니다. My Name에 이름을 적고, 사람모양을 누르면 색을 바꿀수 있습니다. 커서가 좀 엽기적으로 크네요.


로그인을 하면 아주 단순한 창이 뜨는데 마우스를 코너로 가져가면 테두리에 메뉴가 생깁니다. 밑에는 어플리케이션(activity) 리스트, 위에는 시스템메뉴(?)와 실행중인 어플리케이션이 나옵니다.

어플리케이션은 웹브라우저, RSS 리더, 그림판, 테트리스, 카메라, 계산기, 문서작성기, EToy, 음악 프로그램 등이 제공됩니다. EToy는 Squeak Smalltalk에서 제공하는 환경으로 아이들이 쉽고 재미있게 프로그래밍을 학습할수 있는 환경입니다. EToy는 squeakland에서 많은 정보를 얻을수 있습니다. 음악 프로그램은 Csound에 기반하여 여러악기를 연주할수있는 프로그램들로, 건반프로그램, 시퀀싱 프로그램, 악기를 만들수 있는 프로그램 등이 있습니다.

아래는 문서편집기를 실행한 화면입니다. 아주 기본적인 기능만 있으며, 가운데 창은 이미지를 삽입하기 위해서 파일을 선택하는 창이 뜬건데, GTK+ 기반의 인터페이스를 아직 안고친거 같네요. Sugar UI 라이브러리가 GTK+ 위에 구현되었고, GTK 위젯을 안쓰고 따로 구현한 캔버스만을 사용한다고 들었는데 아직 공통(common) 다이얼로그는 개발이 안되었나보네요. 글씨가 너무 작고 비율도 안맞아서 파일 고르기도 힘들더군요. 차차 나아지겠죠... 문서편집기 기능은 딱 꼭 필요한거만 있는거 같네요.


구글 비디오를 보고, 라이브 CD를 실행해보고 느끼는게 국제화에 대한 얘기가 전혀 없다는게 좀 의아하긴 하네요. 6개월의 개발 기간이 남았다고 하는데 6개월후에 어떤 모습으로 변해있을지 지켜봐야겠네요.


ClearType폰트가 정확히 뭔지 몰랐었는데, 회사에서 만든 프로그램이 IE7에서 문제가 있다고 해서 설치해봤습니다. IE7에 대해서 안좋은 말을 많이 들었지만, 인터페이스 깔끔하고, 무겁지도 않고 첫 느낌은 좋네요. 그리고 설치하면서 폰트가 ClearType으로 바뀌었는데 영문 폰트가 많이 예뻐졌네요.

ClearType은 PDA에서 Acrobat Reader나 CHMReader에서 사용해보긴했었는데 어떤 원리인지 몰랐었습니다. 요즘은 궁금증이 생기면 항상 위키피디아에 가봅니다. 네이버도 가끔 가지만 설명이 그렇게 정돈되어있진않죠. 하여튼 내용을 보니 LCD 화면의 특성을 이용해서 사람의 눈에 가독성이 좀더 좋게 하는 기술이네요. LCD의 픽셀 하나가 일반적으로 RGB의 세개의 긴 세로 픽셀로 구성되어 있다고 하는데 글자를 출력할때 픽셀단위가 아니라 이렇게 세개로 나눠진 서브픽셀 단위로 화면에 그려준다고 합니다. 색은 정확히 출력되지 않지만, 사람 눈에는 더 자연스럽게 보인다고 하네요. 제 느낌도 확실히 부드럽게 보이네요.

XP에서 이 페이지로 가면 IE7과는 별개로 ClearType 폰트를 사용할수 있도록 변경할수 있습니다. XP에는 아쉽게도 한글 ClearType은 포함되어 있지 않으며, Vista에서는 한글 ClearType 폰트도 포함되어 있다고합니다. 또한, XP에서는 pivot한 상태의 LCD 모니터를 지원하지 않는다고 합니다. (피봇한 상태에서는 가로로 서브픽셀이 구성되므로 그리는 방법이 달라지겠죠.) PocketPC(PDA)와 Vista에서는 pivot을 지원한다고 하네요.

얼마전에 IDC에서 Linux를 설치했었는데 폰트가 영 아니여서 이상하다 했었는데 그게 ClearType 폰트였나봅니다. CRT 모니터에서는 어색해 보이더군요. freetype에서 지원하나봅니다.

좀 의외의 소식인데, BitTorrent Inc.에서 μTorrent를 인수했다고 하네요. BitTorrent가 python으로 되어 있어서 리소스를 많이 차지하고, 하나의 클라이언트당 하나의 파일묶음 밖에 지원이 안됩니다. 그래서, 다른  여러 bittorrent 클라이언트를 깔아보고 정착한게 μTorrent입니다. 리소스도 적게 먹고 꼭 필요한 기능은 다 들어있어서 요즘도 잘 사용하고 있습니다.

μTorrent에서 앞쪽에 μ는 "뮤"로 읽거나 마이크로 정도로 읽어주면 될듯하고, 이름처럼 정말 가볐습니다. 1명의 개발자가 개발한 프로그램인데 아쉽게도 소스는 공개하지 않았습니다. 하지만 사용자 커뮤니티로부터의 의견을 열심히 들어서 지속적으로 좋아지고 있는것 같네요.

근데 왜 BitTorrent에서 μTorrent를 인수했는지 의문이 드네요. 가볍게 돌아가고, 잘 짜여진 소스가 탐난건지 사용자 커뮤니티를 노린건지... python이 embedded 장비에는 적합하지 않아서라는 생각도 드네요. 아마도  μTorrent는 C나 C++로 되어있겠죠. 하여튼 slashdot 댓글들을 보면 걱정하는 목소리가 많군요. BitTorrent가 RIAA나 MPAA 말을 어느정도 들어주기 때문에, μTorrent에 불법적인 자료를 필터링하는 기술이 들어갈거라는 얘기들이 있습니다.

저는 μTorrent 소스가 공개될지가 궁금하네요...

한글문제는 mp3에 포함된 ID3 태그를 UTF-8로 바꾸니 해결이 됐습니다. 하지만, mp3 파일 다운로드할 경우 winamp 5.21에서는 한글이 제대로 표시안되는 문제가 있네요. 그리고 폰트가 좀 작네요... ID3 태그 편집은 유닉스에 있는 mp3info 라는 툴을 이용해서 했습니다. (FreeBSD: /usr/ports/audio/mp3info)



해결방법 찾다가 플래시에서 첫프레임에

System.useCodepage = true;

을 넣어주면 OS 디폴트 코드페이지를 이용한다고 하는데, 테스트해본 결과, 태그는 원래와 같은 형태로 깨져서 나왔습니다. 플래시 6이상에서는 UTF-8이 기본이고 위에처럼 지정해주면 OS의 코드페이지를 따라간다고 한다. [참고 URL]

99년에 플래시를 약간 배워서 데모할때 사용했었는데 너무 많이 변해서 뭐가뭔지 모르겠네요. --; actionscript 소스를 좀 보니 많이 좋아지긴 했네요.


예전에 만들었다가 버려졌던 홈페이지를 복구했습니다.

생각보다 나름 괜찮네요 *^^* 그전에 올렸던 글중 괜찮을걸 찾아서 현재 블로그로 옮기는 작업을 해야겠습니다. 근데 Wiki 링크나 음악 파일등은 복구가 안되었습니다. 링크가 mix1009.sarang.net으로 되어있었는데 도메인 업데이트 할 방법이 없는거 같네요. 서버 이전으로 아이피가 바뀌었거든요. 혹시 sarang.net 도메인 업데이트 방법 아시면 알려주시길...

옛날 홈페이지는 http://mix1009.net:18080/ 입니다. 옛날 Zope/python 버전을 돌리기 때문 문제가 좀 있긴 하네요..

올린 글들 날짜를 보니 너무 오래 잠수했었네요.


컴퓨터와의 인연

기타 2006/10/13 01:23

제가 컴퓨터와 가까와진 얘기를 하려합니다.

얼마전에 구글 비디오에서 컴퓨터 언어에 대한 여러가지 비디오를 찾다가 오래된 Smalltalk 비디오를 찾았습니다. 정확한 연도는 기억나지 않지만 아마 83년이나 84년 정도가 아닐까 생각되네요. "Bits & Bytes" 라는 TV 프로그램에 나왔던 내용이였습니다.

어렸을때 아버지 일로 미국에서 몇년간 생활했었습니다. 어떻게 "Bits & Bytes"를 보게 되었는지는 정확하게 모르겠지만 당시 아버지께서도 컴퓨터에 관심이 많으셨던거 같습니다. 당시 녹화도 해서 봤었고, 아직까지 인상적으로 남는건 로고 언어, TI 컴퓨터의 음성합성, 그리고 위 링크에서 볼수있는 스몰토크 등이네요. 그리고 신기술인 8인치짜리 CD도 신기한 내용중 하나였습니다. 컴퓨터 전문가인 여자분과 컴퓨터에 대해서 전혀 모르던 빌리 아저씨가 등장하는데, 여러가지 새로운 기술이나 주제에 대해서 설명하고 간단한 걸 빌리 아저씨가 배워보는 내용으로, 컴퓨터에 대해서 아무것도 몰랐던 제게 아주 큰 흥미를 줬었습니다.

미국에 별 준비없이 가서 영어도 안되고, 공부에 흥미도 없었습니다. 하지만, 도서실 옆쪽에 있는 컴퓨터들에는 관심이 갖죠. PET 컴퓨터로 Commodore에서 나온 모니터,본체,키보드가 일체형으로 된 컴퓨터였고, 베이직언어가 롬에 포함되어있었으며, 저장장치로 카세트테이프를 사용했습니다. 카세트테이프는 일반음악 카세트 테이프를 사용했었으며, 베이직 프로그램을 저장하고 불러들일수 있었습니다. 프로그램 하나 로드 하는데 꽤나 걸렸던걸로 기억합니다. 당시 형이 저보다도 훨씬 관심이 많았던거 같고, 학교 끝나고 도서실에 남아서 베이직으로 "scramble"이라는 프로그램을 형이 짰었습니다. scramble은 영어 단어의 문자들을 섞어서 제시하면 원래 단어를 맞추는 게임인데, 그 프로그램은 섞인 단어도 프로그램에 포함되어서, 저는 단어를 맞추기 힘들었지만, 프로그램을 짠 형은 아주 쉽게 맞췄었습니다 ^^.

얼마후 집에 역사적인(?) Commodore 64를 Radio Shack에서 사왔고, 주로 오락기로 활용됐지만, 호기심에 베이직과 여러가지 잔기술(peek,poke)을 배웠습니다. Z80 기반인 C-64는 sprite가 하드웨어적으로 지원되서 게임같은거 만들기 편했고, 3가지 화음을 동시에 낼수있는 사운드가 지원됐었습니다. 그냥 베이직으로는 한계가 있어서 거금을 모아서 "Graphics Basic"이라는 툴을 사서 몇가지 게임을 제작했었습니다. Sprite를 이용해서 미로를 통과하는 게임과 갤러그처럼 비행기 조정해서 나쁜놈 맞추는 게임이었는데, 대단한건 아니지만 프로그래밍의 매력을 느낄수 있었던 기회였죠. 당시 베이직에 한계를 느껴 어셈블리를 배우려다가 포기했었습니다.

몇년후 한국에 돌아와서 C-64가 운명을 달리한 후에는 컴퓨터를 접할 기회가 없었고, 제가 고3때 형이 컴퓨터를 구입해 DOS를 처음 접했었습니다. 사실 DOS는 몰랐고 NC만 알았었죠 --;

대학에서는 컴퓨터에 대해서 배워보고 싶어서 "전자통신공학과"에 가게됐는데, 제가 생각했던 컴퓨터와는 좀 거리가 있었습니다. 다행히 과내에 있는 학회에서 소프트웨어에 관련된 것을 많이 습득할수 있었습니다. (상영이형, 병주형, 진석이형 고맙습니다:)
1~2학년 때는 주로 OS쪽에 대한 공부를 많이 했었고, 3학년때부터는 몇가지 프로그램을 만들어보면서 프로그래밍 언어에 관심을 갖게됐습니다. 아래는 대학교때 몇가지 개인 프로젝트로 학회전시회때 출품했던 프로그램입니다.

  • Mod4X: 리눅스에서 Tcl/Tk 이용해서 s3m이라는 음악 플레이어 UI frontend
  • 신경망을 이용한 기타 음높이 인식 (리눅스)

지금 보니, 주요 관심사인 음악과 컴퓨터가 접목을 했었네요.

뭐 이렇게 시작하여, 전공하고는 약간 틀린 프로그래밍이 직업이 되었답니다. 전공에서 배운 지식을 그대로는 활용하지는 못해도, 전산 전공한 사람들에 비해 전체 시스템을 보는 관점은 틀려서 도움이 될때도 많은거 같습니다.