Vaio T70B 구입~!

므흐흐. 그동안 2.2kg 아이북 들고다니느라 어깨 아프고 허리 아프고, CPU는 오방 느리고.. 그래서 이제 가벼운 노트북으로 바꿨습니다. +_+ 오늘 도착![WWW]Vaio VGN-T70B입니당.

vaiot70b.jpg

아직 소니 코리아에서는 출시가 안 된 모델이라 일본에서 발매된 것을 샀더니만 키보드도 일본어에 처음 뜨는 윈도우 설치 화면도 다 일본어라 한자 찾아보느라 좀 고생은 했지만 –; 다행히 제어판에서 언어 설정을 바꿔주니 한국어로 나오는군요. 흐흐. 키 매핑도 좀 고쳐야할 듯 하네용..

일단 처음 느낌은 아, 역시 가볍구나! 1.3kg와 2.2kg의 차이란.. 흐흐.. 다른 바이오 서브 노트북 시리즈에 비하면 디자인은 좀 딸리는 분위기지만.. 그래도 뭐 상당히 뽀대 납니다; -O-

vaiot70b-1.jpg

이제 슬슬 하드 파티션을 나눠서 프비를 깔아야할 텐데 잘 깔릴지 모르겠네요~ +_+

CoreBlog로 이사 준비 중

그동안 1년 반 오픈룩에서 사용해 왔던 블로그 스크립트인 pyblosxom을 떠나 이제 새로 떠오르는 블로그 엔진인[WWW]coreblog로 이사하려고 준비 중입니다.

pyblosxom은 심플하고 간단한 철학으로 만들어진 것이긴 하지만, 아무래도 너무 심플해서 그냥 편히 쓰기엔 좀 확장성이 떨어지는 것도 있고.. 글이 많아지니 속도도 장난이 아니고.. 크롤러가 한 번 훑고 지나가면 거의 서버가 죽어버리는 문제도 있고 해서 –;;

coreblog는 우선, Zope기반으로 되어있고 템플릿은 DTML을 쓰고 있는 것이 특징입니다. 그런데, coreblog는 또한 일본 사람들이 주로 만든 것이라, UTF-8을 쓰는 것에도 크게 지장이 없어서, 별 문제 없이 한글은 쓸 수 있었습니다. (pyblosxom도 몇개의 패치가 필요했는데..) 그런데, 아직 완전히 국제화 된 것은 아니라서 메시지나 달력 같은 것을 지역화 하려면 스킨이나 소스를 일일이 패치해 줘야지만 가능한 듯이 보입니다. 조금씩 고치고는 있습니다. 흐흐

우선 원래 있던 블로그의 데이터를 그냥 버리기는 아까워서, 글 데이터, 첨부 데이터, 코멘트, 트랙백 중 글을 우선 간단한 스크립트를 짜서 이동해 봤습니다. Zope안으로 데이터를 들고 갈 방법도 묘연한데다, coreblog가 ZODB를 쓰다보니 따로 밖에서 접근할 만한 방법도 없고 해서 그냥 rss를 읽어와서 http 호출을 하는 방식으로 –;[WWW]모으는 스크립트[WWW]coreblog로 넣는 스크립트는<– 혹시 필요하시면 여기서 받아서 해 보세용. 흐흐;

그래서 일단 글을 채우기는 했는데, 첨부는 아무래도 손으로 옮겨야 할 것 같고, 코멘트와 트랙백을 슬슬 옮길 방법을 찾아 봐야 할 듯 합니다. –;; 흐흐.. 살짝 디자인도 바꿔서 빠르면 다음주 초에는 이제 미운 정이 듬뿍 든 pyblosxom을 떠나서 coreblog로~ 고고~~

현재 작업 중인 일부 사이트는http://openlook.org/blog.new/에서 보실 수 있습니다.:)(아무거나 누르면 혹시 에러날 수도 있으니 조심조심 –;)

3자 결투

얼마 전에 출퇴근 길에 읽었던 《쥐의 똥구멍을 꿰멘 여공》에 재미있는 수수께끼가 하나 있어서 그것을 이리저리 변형해 보면서 생각을 하고 즐기고 있습니다;; 으흐흐 이것 정말 오묘한.. ;;

원래 문제는 이렇게 되어 있습니다.

갑, 을, 병 세 사람이 탄알이 한 개씩 들어 있는 권총을 가지고 3자 결투를 벌인다고 하자.
병은 특급 사수라서 백발백중으로 과녁을 맞힌다. 을은 두번에 한 번 꼴로 과녁을 맞힌다.
갑은 셋 중에서 가장 사격 솜씨가 떨어져서 세 번에 한 번 꼴로 맞힌다. 이 3자 결투가 공정하게 이뤄
지기 위해서 갑이 가장 먼저 쏘고 그 다음에 을이 쏘고 그 다음에 병이 쏘기로 하면, 갑이 살아남을
확률을 최대로 높이기 위해서 해야할 일은 무엇일까?

이 문제의 답은 “허공에 대고 쏜다.”인데, 아 그래 세상은 확률론적으로도 바보처럼 살아야 하는거야 하고 머리에 생각이 짠~ 하고 지나가 버렸습니다. 킁;

그런데, 이걸 탄알이 많이 들어있고, 각각의 확률은 갑이 50%, 을이 75%, 병이 90% 로 하고 셋이 동시에 쏘게 되는 경우를 한 번 생각해 봤습니다. 그렇다면. 을의 첫번째 선택은 자기가 맞을 확률이 가장 높은 병을 쏘게 되는 것이 될 테고, 병의 선택은 아무래도 마찬가지 이유로 을을 쏘게 될 것입니다. 그렇게 되면 을이 1라운드에서 살아 남을 확률은 10%, 병은 25%가 되는데, 갑은 그럼 1라운드에서는 아무래도 병을 쏴야 겠지요. 그러면, 1라운드의 병이 살아남을 확률은 최종적으로는 25%*50%=12.5%가 되겠습니다. 이때 을은 죽고 병이 살아남았다고 하면, 병은 갑을 쏘고, 갑이 병을 쏘면 갑이 2라운드까지 죽을 확률은 12.5%*90%=11.25%이고, 을이 살고 병이 죽었을 때에는 10%*75%=7.5%가 돼서 둘 중 하나가 살아남았을 때를 모두 합치면 18.75%가 되고, 1라운드에서 둘 다 죽었을 때에는 90%*75%=67%가 돼서 갑이 2라운드까지 살 확률은 85.75%나 됩니다. 그렇지만, 병이나 을이 따로따로 살아남을 확률은 갑이 또 50%씩 쏘기 때문에 5%와 12.5%밖에 안 되는 것 같습니다. 흑흑. 아아 세상은 모나게 살면 안 되는 건가 -O-

이것 참 죄수의 딜레마 만큼이나 시뮬레이션을 해야 전략에 따른 결과가 나오겠지만.. 수가 적은 곳에서는 아무래도 그냥 묻혀 사는 것이 나은 듯도 합니다.. 하긴 로얄 럼블 같은 곳에서 보면 수가 많아도 항상 잘 하는 녀석들이 젤 먼저 협공 당하지만;; 음.. 아무래도 강자가 냉혹한 사회에서 살아남는 방법은 너그러운 마음과 원만한 사회 관계를 가져서 이런 상황을 안 만드는 것이 좋은 것일까요?

archivers/unalz 포트 추가

웹 디자이너들은 꼭 파일을 달라면 alz로 묶어서 줍니다. 이건 대체 풀 방법도 마땅찮고 윈도우에서도 XP에 내장된 셸 압축 프로그램으로도 안 되고 해서 참 짜증나기가 이루 말할 데가 없는데.. 흐흐 그래서 [FreshPorts]archivers/alz2zip 을 전에 한번 그냥 장난으로 만들었다가.. 오히려 그런 제대로 돌아가지도 않는 스크립트를 왜 포트에 넣었냐는 핀잔이나 ;; -ㅇ-

하여간 [WWW]unalz라는 유틸리티가 포터블하도록 POSIX에서도 컴파일 가능하게 포팅되었다고 하기에, (게다가 BSD라이센스로) 밤샘 도중에 잠시 짬을 내서 포트로 만들어서 넣었습니다. [FreshPorts]archivers/unalz 흐흐 별로 복잡한 alz는 안 해봤지만 전에 디자이너한테 받은 alz는 잘 풀리는군요; -O-

그리고 이제 별로 alz2zip은 쓸모가 없어져서 지웠습니당~

《쥐의 똥구멍을 꿰멘 여공》 중에서..

“”” 네 적을 사랑하라. 그것이 적의 신경을 거스르는 가장 훌륭한 방법이다.

— 86p, 〈충고〉

배우들은 불의에 맞서 분노하는 시늉을 할 줄 알기에 사람들의 존경을 받고, 사랑하는 시늉을 해서 사람들의 굄을 받으며, 행복한 모습을 연기할 줄 알기에 사람들의 부러움을 산다. 배우들은 이제 모든 직업에 침투하고 있다.

1980년 미국의 대통령 선거에서 로널드 레이건이 당선된 것은 배우들이 지배하는 세상이 도래하고 있음을 보여 주는 결정적인 사건이었다. 고명(高明)한 사상이라든가 통치 능력 따위는 쓸모가 없어지고, 연설문을 작성하기 위한 전문가들을 거느리고 카메라 앞에서 멋진 연기를 하는 것이 더 중요한 세상이 온 것이다.

사실, 현대의 대다수 민주주의 국가에서 유권자들은 더이상 정강 정책에 따라서 후보를 선택하지 않는다.(누구나 선거 공약이 종당엔 공약(空約)이 되고 말리라는 것은 뻔히 알고 있다. 현대 국가의 문제를 해결하기 위해 모든 정당과 정파의 지혜를 다 합쳐도 모자란다는 것을 느끼고 있기 때문이다). 그 대신, 유권자들은 생김새와 미소, 음성, 옷맵시, 인터뷰할 때의 격식을 차리지 않는 태도, 재치 있는 언변 따위로 후보자를 선택한다.

직업의 모든 분야에서 배우 같은 사람들이 불가항력적으로 우위를 점해 가고 있다. 연기를 잘 하는 화가는 단색의 화폭을 갖다 놓고도 예술 작품이라고 설득할 수 있고, 연기력 좋은 가수는 시원찮은 목소리를 가지고도 그럴듯한 뮤직 비디오를 만들어 낸다. 한마디로, 배우들이 세상을 좌지우지하고 있다. 문제는, 이렇게 배우들이 우위를 차지하다 보니, 내용보다는 형식이 더 중요해지고 겉치레가 실속을 압도하는 상황이 벌어진다는 데에 있다. 사람들은 이제 무엇을 말하는가에는 별로 주의를 기울이지 않는다. 그보다는, 어떻게 말하는지, 말할 때 눈길을 어디에 두는지, 넥타이와 웃옷 호주머니에 꽂힌 장식 손수건이 잘 어울리는지 따위를 보는 것으로 만족한다.

그리하여, 좋은 생각을 가지고 있으면서도 그것을 제시할 줄 모르는 사람들은 토론에서 점차 배제되어 가고 있다. 문제의 심각성은 바로 거기에 있다.

— 96p, 〈미래는 배우들의 것이다〉 “””

요즘 밤샘->외근->집에서 잠만 자고->또외근->밤샘 이런 루프를 돌고 있어서 시간이 전혀 안 나는군요. 흐흑. 메일 읽을 시간도 없고 엉엉. ㅠ.ㅠ

그래서 요즘은 출퇴근하면서 지난번에 읽었던 《나무》에서 베르나르 베르베르에 대한 호감이 생겨서, 이번에는 1993년에 나왔다가 2003년에 증보된 베르베르의 상식 사전인 《쥐의 똥구멍을 꿰멘 여공》을 읽고 있습니다. 흐흐.. 재미있네요.. 또 회의하러 가야해서 이만 –;

커널 정도야 파이썬으로!

1974년, 운영체제를 만드는데 처음으로 고급언어 C가 사용되다.

2000년, 막 파이썬 붐이 일고 있던 리눅스코리아 사무실에서 나온 말, “야 이거 파이썬으로 운영체제 만들어도 되겠는걸!”

2001년, 뜬금없이 나타난 파격적인 “나름대로” 파이썬 기반 배포본 Gentoo Linux

2004년, 정말로 파이썬으로 운영체제를 만들고 있는 Unununium

이런 사건이 계속되면서, 뭔가 끝에 다가오는 느낌!

최근에 comp.lang.python에서는 [WWW]파이썬으로 리눅스 커널을 다시 쓰기라는 글이 올라와서 한참 왁자지껄했습니다. 이정도면 그냥 지나가겠는데, 오늘은 freebsd-current 메일링 리스트에서 노익장 커미터 중의 한 명인 줄리언 일리셔씨가 [WWW]커널 프레임워크라는 메일에서 C로 맨날 커널을 구현할라니 ㅂㅌ같은(aberrant) 레퍼런스 모델이나 계속 쓰고 있고, 여기저기서 반복된 똑같은 자료구조나 구현하고 있다고 신세 한탄을 하며, 이제 CPU들도 다 기가급인데 초고급 언어 (예를 들면 파이썬 같은..) 를 이용하면 정말 간단하게 해결될 것인데 하고 있군요. 흐흐.

그래요. 얼마전까지만해도 C++로 커널 만드는 것 조차, 느리지 않느냐! 쓸데없는 VM이나 런타임이 덕지덕지 붙지 않느냐! 하고 막 논란이 되고 그랬는데, 이제 여기저기서 초고급 언어를 쓰면 좋겠다 하고 잠시 꿈을 꿔 보는 사람도 있고, 진짜로 그런 짓을 해 보는 사람도 있고.. 아직은 좀 혼란스럽지만, Sun에서 Java로 데스크탑도 만드는 걸 보면 영 먼 얘기도 아닌 것 같습니다. 흐흐;

파이썬 2.4b1 릴리스

대망의 파이썬 2.4 첫 베타 릴리스인 2.4b1이 한국시간으로는 오늘 자정 12시에 릴리스 되었습니다. 2.4b1 부터는 이제 베타 릴리스라서, 기능의 추가나 기존 기능의 작동 방식 변경이 없고, 버그나 외부 인터페이스를 바꾸지 않는 향상, 명백한 결함에 대해서만 수정이 가해지게 됩니다. 2.4b1은 거의 1달 반만에 나온만큼 2.4a3에서 많이 바뀌었는데요, 대충 이런 것들이 바뀌었습니다.

  • lukem씨가 수개월동안 패치를 업데이트해 왔던 재시작 가능 시그널 문제가 해결되었습니다.

  • -m 명령행 옵션을 줘서 뒤에 모듈 이름만 주면 sys.path에서 찾아서 실행하는 기능이 추가되었습니다. (논란이 많았지만 결국은 추가 됐습니다. 흐흐;)

  • 바이트코드 옵티마이저가 터플 묶음을 단체로 상수로 취급합니다.

  • 새로운 subprocess 모듈이 추가되었습니다. 이 모듈은 os.system이나 os.popen의 느리고 복잡한 버전인데, viewcvs에 들어있는 popen.py와 비슷하게 구현되어있지만 좀 더 포터블하고 복잡하게 되어있습니다.

  • re.findall re.finditer도 다른 re모듈 함수들처럼 플래그를 받을 수 있도록 바뀌었습니다.

  • UTF-8과 UTF-16 내장 스트림 코덱들이 이제 완전한 stateful 상태로 동작할 수 있게 되었습니다. stateful코덱이 별도로 C로 구현된 것이 들어간 것인데, 다른 것들은 여전히 안 고쳐졌기 때문에, 멀티바이트 stateful 인코딩 중에 cjkcodecs에서 지원하는 것이나 utf-8, utf-16이 아닌 것들은 여전히 stateful 디코딩이 지원되지 않습니다. (뭐가 있는지는 안 찾아봐서;;)

  • httplib이 IPv6를 지원합니다.

  • DarwinPorts를 위해 /opt/local 을 prefix로 쓰는 라이브러리들을 인식하게 되었습니다.

저는 이제 마비노기도 끊었으니까 (;;) 다시 재미있는 파이썬질로 돌아가야겠습니다. 이히 ^^

오늘 FreeBSD 5.3 브랜칭

오늘 드디어 [WWW]FreeBSD 5.3의 릴리스 브랜치가 찍힙니다. 이름은 RELENG_5_3인데, 그동안 몇가지 지연되고 있던 MFC들이 완료되어서 오늘 10월 16일 오후 6시 (한국시간)에 약 1시간 정도 브랜칭 작업을 할 듯 합니다. 아직도 5.3 릴리스를 위한 이슈가 몇가지 있는데, [FreeBSDMan]accept 의 레이스 컨티션 문제, [FreeBSDMan]if_de 의 너무 느린 속도, proc0의 스왑이 너무 느린 문제 같은 것들이 릴리스 전에 해결되어야 한다고 합니다. 공식적인 스케줄로는 RELENG_5_3 브랜칭이 10월 7일이었는데 오늘 약 9일정도 지연되었으니 아무래도 최종 릴리스도 그정도 밀린 10월 말쯤에 FreeBSD 5 최초의 안정판 릴리스인 5.3이 최종 릴리스가 될 것 같군요.. :)

구글 애드센스에 차단당한 M군과의 인터뷰

애드센스 한국어 오픈이 2주일 째에 접어들면서 한국 특유의 상부상조 클릭류 (저도 잘못 Y.Y) 의 어뷰즈에 대해서 슬슬 대책을 세우고 있는 듯 합니다. 염장 홈페이지인 http://pmy.lv/ 를 운영하는 뭉고군이 애드센스에서 차단 당했다고 하는데, 인터뷰를.. 흐흐

퍼키군

오오.. 뭉고군 홈페이지에는 애드센스가 달린 지 얼마 안 됐는데 어쩌다가 차단 당했나요?

뭉고군

내가 클릭 많이했거든요 -; 그래도 돈이 올라가길래 다른 광고는 클릭했음 ㅡ.,ㅡ 엉엉

퍼키군

이야.. 혼자 많이 클릭해도 차단을 당하는군요! ㅋㅋ 차단 직전에는 얼마까지 모으셨나요?

뭉고군

30달러 정도요. 내 30달러 ㅜㅜ

퍼키군

아.. 차단 당하면 어떤 메시지가 올 지 정말 궁금한데요. 어떻게 되나요?

뭉고군

구글의 모니터링 결과, 귀하의 웹 페이지에서 부정한 광고 클릭이 발견되었습니다. 이로인해 귀하의 구글 AdSense 계정이 비활성화되었습니다. 이 조치는 구글 AdWords 광고주의 관계를 보호하기 위하여 취해졌음을 양해해 주시기 바랍니다. .. 메일이 와요. ㅜㅜ

퍼키군

아.. 한화로 3만원이 훨씬 넘는 돈인데. 황금거위를 잡은 꼴이 됐군요. 혹시 같은 광고를 계속 클릭 하셨나요?

뭉고군

아뇨. 다른 광고는 클릭해도 되는 줄 알고.. ㅜㅜ

퍼키군

그렇다면, 아무래도 자기가 아니라, 남의 광고라도 맘에 안 드는 사람이 있다면 그 사람 광고를 마구 눌러서 차단당하게 만들 수 있을텐데, 과연 그럴까요?

뭉고군

네 그러면 비활성화 될지도 몰라요 -_-; 이제 제 홈페이지에는 광고가 뜨지도 않아요 –; 돈 잘버는 사람에게 다른사람이 열라 클릭하면 비활성화 대뿌고 –;

퍼키군

예.. 소식 전해주셔서 감사합니다. 앞으로 언젠가는 풀리길 –;

흐흐.. 다들 조심하시기 바랍니다;;;; -O-

기수법 독립적 부동소수점 연산

1987년에 나온 IEEE/ANSI 표준인 IEEE854 기수법 독립적 부동소수점 연산 (Radix-independent Floating-Point Arithmentic)을 구현한 [WWW]decimal 모듈은 파이썬 2.4에 들어온 모듈 중에 단연 가장 많은 관심을 받고 있고 기대가 되는 모듈입니다. 웹에서 찾아 보니까 IEEE854가 생각보다 많은 곳에서 이미 지원되고 있었는데 GNU libc에서도 몇개가 검색이 되는 걸로 봐서는 GNU libc에서도 지원이 되고 있는 것 같이 보입니다. (FreeBSD에서는 아직..)

이미 수학 연산을 많이 하시는 분이면 아시겠지만 저는 처음 들었는데, IEEE854는 IEEE754의 보완한 미래형 판(이라고 하기엔 좀 나온지 오래된;)이라고 할 수 있는데, IEEE854 스펙을 모두 지원하면 IEEE754도 지원할 수 있으니 수퍼셋이라고 봐도 될 듯 합니다. [WWW]IEEE854-1987 표준은 스펙이 아주 간단히 나와있는데, 주요 특징으로는 다음과 같은 것이 있습니다.

  • 2진법, 10진법 지원

  • 연산되면 예외를 발생시키는 Signaling NaN과 그냥 NaN으로 만들어 버리는 Quite NaN 지원

  • 정밀도 아래의 값을 다룰 방식 (올림, 내림, 반올림, 반내림 등등)

  • 예외 처리

  • 트랩 핸들러

사실 IEEE754는 구체적으로 본 적이 없어서 트랩 핸들러 같은 것까지 지원이 되는지는 잘 모르겠지만, 하여간 정말 멋지긴 합니다. 흐흐 그동안 파이썬에서 0.3+0.3했는데 왜 0.6이 안 되나요 하는 질문을 하면 “아이고 그건 원래 그런거예요.” 하는 뻘쭘하기가 그지 없는 그런 말로 대답을 해 줘야 했는데, (CP4E를 표방하는 언어가 2진법으로 소수쓰는 방법까지 이해를 하라는 건 –;) 하여간 IEEE854의 10진법 표기를 쓰게 되면 프로그래머나 비프로그래머 모두 쉽게 이해할 수 있는 0.3+0.3=0.6이 되는 즐거운 세상이 올 것 같군용.

파이썬에서는 IBM에서 Rexx언어를 위해 만든 [WWW]범용 10진 연산 스펙을 기준으로 해서 구현이 되어있는데, 순수 파이썬으로 무려 3천라인이 넘는 구현이 되어있습니다;; 앞으로는 아무래도 파이썬 2.5나 2.6에서 set이 그랬던 것처럼 빌트인 타입으로 들어오게 될 것 같은데, 제 욕심으로는 아무래도 파이썬 3k에서는 스트링은 모두 유니코드로, 숫자형은 모두 Decimal와 int를 통합한 형태로 됐으면 하는 바람입니다. 0.3+0.3이 0.6이 되는 그 세상을 위해 –;;