파이썬 기반의 OS – Unununium

“파이썬은 C로 되어있어서 뭐든 만들 수 있어~”

“그럼 운영체제도 만들 수 있어?”

“응 그럼, 가능 할꺼야. (…. 속으로는 의심을 한다..)

“설마.. (역시나 의심 한다..)

파이썬을 광고하는 장면에서 자주 있는 장면이었습니다. 아 이제 이런 말이 그다지 비현실적인 말이 아니라는 것을 증명해 줄 만한 프로젝트가 등장했군요. :) 바로 [WWW]Unununium 입니다.

굉장히 이상한 스펠의 이 단어는 대충 “운운우니움”정도로 읽으면 될 듯 합니다. 여기서 “ㅜ”들은 모두 moon에서의 “우~”같은 장음이기 때문에 읽는데 시간이 좀 걸립니다. 다 같이 따라해 보세요~ “운운우니움” ..;;;

이 운영체제는 기존의 운영체제들이 구현의 간편성, 엔지니어링 측면에서의 디자인을 기반으로 했기에, 사용자 측면에서의 여러 직관적이고 우아한 기능들을 제공해 주지 못하고 있는 것에 불만족을 느낀 저자가 뭐 이걸 좀 바꿔보겠다고 한 것인데, 파일시스템이 portalfs나 LUFS처럼 여러 프로토콜을 밑에 끼고 들어갈 수 있도록, 일반적인 통합을 이루고, 애플리케이션 프로세스들이 서로 완연한 상호작용으로 DCOM이나 bonobo같은 컴포넌트 이상의 상호 통합을 이룰 수 있도록 한다는군요. 그리고, OS 자체 Persistence를 지원해서 그냥 껐다 켜도 원래 OS 상태로 돌아가게 한다는데.. 뭐 대충 구현한다는 것은 어쨌거나 대체로 기존에 있는 기술이랑 비슷하긴 하네요 흐흐;;

그런데, 실제로 파이썬으로 다 하는 것은 아니고, 지금은 상당수가 어셈블리로 구현이 되어 있긴 한데, 그 위에 많은 부분을 파이썬으로 구현할 예정이라고 합니다. 그런데, 파이썬으로 구현하면 느리지 않겠느냐 하는 것에 대한 해결책은 파이썬이 느린 것은 언어 자체가 느린 것이 아니라, 구현이 느릴 뿐이니 자기가 파이썬을 빨리 해 보겠다는데.. 과연 그 네임 스페이스를 그대로 살린 채로 파이썬을 빠르게 할 수 있을 지는 의문입니다. ㅎㅎ;;;

빠른 시간 안에 큰 실적을 낼 것 같아 보이지는 않지만, 이런 ㅂㅌ 프로젝트가 하나 진행 되면 아무래도 부산물이 제법 나올 테니 그게 기대가 되는군요. ^^;;

KLDP CodeFest 장소 사전 답사

7월 17일,18일간 있을 [WWW]KLDPCodeFest를 준비하면서 준비팀원분들과 함께 미리 사전답사를 했습니다. 교육문화회관은 양재역에서 마을버스 8번 또는 셔틀버스를 타면 되긴 하는데, 마을버스를 탔더니 카드도 안된다고 삑삑대고 타는 곳도 잘 몰라서 좀 헤메기는 했는데.. 설명을 잘 하면 안 어렵게 갈 수 있을 것 같기도 하네요 –; 왜 이리 외딴곳에 회관을 지어놨는지.. 으흐;;

http://openlook.org/albums/codefest_location/DSCN1785.thumb.jpg

막상 가 보니까 이름에 비해 상당히 큰데, 예식장도 있고 스포츠센터도 딸려 있는 11층짜리 호텔이었습니다. 로비는 정작 공사중이긴 했지만;; :)

건물 안이 상당히 복잡한 구조라서 위치를 찾아가기가 상당히 힘든데, 어디 혼자 나왔다가 길 잃어버리기 딱 십상이라.. 되도록이면 혼자 안 돌아다니는 게 좋을듯~; 방은 넓이도 적당하고 괜찮은 듯 하네요. 대여료가 상당히 돼서 그런지, 앞에 뜨거운 물 나오는 급수대도 있어서 좋은 것 같고.. (;;)

사진을 [WWW]갤러리에 올려 놨습니다. 미리 가실 분들은 구경해 보세용~. 그리고, 행사 중에 재미있는 이벤트가 몇개 있을 예정입니다. KLDP BBS에서 하는 상당히 ㅂㅌ스러운 죠리퐁 놀이 같은 것을 오프라인에서 재현해 볼 예정이고, bzflag대회도 하면서 상품도 아론키보드 같은 게 걸릴 예정입니다. :) 많이 많이 참가해 주세요~ 에헤헤.

CJKCodecs 1.1 진행상황

파이썬 2.4a1 릴리스에 반영될 버전인 CJKCodecs 1.1 작업을 띄엄띄엄 생각나면 하고 있습니다. 흐흐. (이제 마비노기도 가입했으니 언제 끝날지는 –;; )

CJKCodecs 1.1에서는 당초 JIS X 0213:2004 지원만 넣으려던 계획에서 좀 확장을 해서, CNS 11643 1번 평면부터 7번 평면까지를 모두 넣어서 EUC-TW와 ISO-2022-CN을 지원하고, 홍콩자치구의 BIG5HKSCS를 지원할 예정입니다. 지금 CNS11643, HKSCS 매핑과 EUC-TW, BIG5HKSCS 인코딩 구현은 모두 끝났고, ISO-2022-CN와 JIS X 0213:2004는 아직 구현이 안 됐습니다. CNS11643 매핑은 소스 파일이 총 920KB이고 바이너리로 340KB인데.. 이건 CJKCodecs의 대만을 제외한 다른 한,중,일 3개국 매핑을 모두 합친 것보다 많은 것이라, 이제 앞으로 대만 사람들을 보면 눈을 한번쯤 흘겨줄 겁니다. HKSCS는 BIG5에 그냥 덧씌운 캐릭터셋인데, 일부 C6~C8까지는 BIG5와 겹치기도 합니다. 요건 매핑 소스가 140KB, 바이너리가 80KB정도 나와서 홍콩에는 계속 좋은 감정을 가질 수 있게 되었습니다. ;; (앞으로 혹시나 홍콩할매귀신을 만나서 “왜 CJKCodecs에서 HKSCS지원 안 해주는 거야 으흐흐흐~~ 잡아먹을테다~~”하는 상황을 피하게 돼서 다행입니다;;)

이번에 정리 작업을 하면서 전에 올렸던 글에서 처럼 바이너리를 정리했는데, 그 뿐만 아니라, 아예 코덱 파일을 모두 나라별로 1개씩으로 합쳐버렸고, ISO-2022도 각 나라별 모듈에서 따로 떼내어서, 기존에 500라인짜리 매크로 파일로 떡칠이 되어있던 소스를 간편한 함수 포인터 기반 소스로 바꾸었습니다. 아주 상쾌합니다. 이히히 :) 결과적으로 파일 개수가 1.0.3에 비해 1/3로 줄었습니다.

그러나, HKSCS와 CNS11643 매핑의 등장으로 타볼 용량은 상당히 늘었는데, tar.bz2가 예전엔 400KB정도였는데 이제는 780KB입니다. 아무래도 이렇게 갑자기 불면 미국애들 눈치를 많이 봐야하기때매.. 파이썬에 넣을 때는 CNS11643매핑은 빼고 넣으려고 생각하고 있습니다. 구글에서 검색해봐도 파이썬에서 euc-tw 안 된다고 투덜대는 사람이 없는 걸로 봐서는 필요도 없는데 괜히 수백KB 덧붙이면서 싸울 필요는 없을 것 같아서 ^^;;

PgAdmin3

요즘 회사에서 하는 일에서 갑자기 PostgreSQL을 쓰게 돼서 pgsql 관련 문서를 읽고 있습니다. 흐흐. 생각보다 기능도 괜찮고.. MySQL을 쓰면서 이딴거 왜 버클리 DB나 ZODB같은 것 안 쓰고 왜 굳이 SQL로 어렵고 복잡하게 쓰나 생각했는데, 역시 PostgreSQL 매뉴얼을 보고 나니 RDBMS의 R이 중요한거구나 생각이 들면서 이제 RDBMS를 무시하지 않기로 했습니다. 으흐흐;;

SQL은 MySQL에서도 거의 쿼리 문법을 몰라서 phpMyAdmin같은 툴을 썼었는데, pgsql용으로는 좋은게 뭐가 있나~ 찾아 보다보니, [FreshPorts]databases/phppgadmin[FreshPorts]databases/pgadmin3 가 눈에 띄었는데, phpPgAdmin은 phpMyAdmin과는 좀 다른 투박한 인터페이스에 좀 불편하기는 했지만 우선 기능은 잘 된다는 것에 만족했습니다. 그런데, pgadmin3는 뭔가 엄청나게 무거운 wxGTK2를 달고 들어가는 것이 뭔가 멋있어보여서.. (..) 한번 시도를 해 봤습니다.

0406-pgadmin3.jpg

전체 화면

으흐.. 역시 멋있기는 하지만.. 그러나 저 화면이 나오기 까지.. 프로그램을 실행시키고 나서 하드가 드르르륵한 시간이 10분…. 10초가 아닙니다;; 그래도 512MB라고 나름대로 램이 충분하다고 자부심을 가지고 있었건만.. pgadmin3는 뜨자마자 바로 570MB정도를 할당하는데다.. RSS도 기본으로 400MB는… 스왑을 1GB잡았는데 40%까지 벅차오르는 이 감동스런 top 화면이란.. 흐흐;; 잽싸게 vmware, gdesklets, gdick 등등 메모리 많이 먹는 것은 모두 다 내려 봤지만.. 그래도 스왑이 200MB가 들어있어서 이거 완전히 마우스만 움직이면 하드 드르르르륵하는 상황이..

성능 외에 인터페이스 자체는 그런대로.. 만족스러운 것 같긴 했지만, 아무래도 메모리 문제 때문에 충격을 받은 게 심각해서인지, phpPgAdmin보다 훨씬 불편했습니다. (안 쓸 이유를 찾기 위해 짜냄..;; )

내일은 pgaccess를 한번 해 봐야겠네요 으흐흐 :)

FreeBSD 포트 작은 세미나

오는 7월 1일 (목요일) 오후 8시에 신촌에 있는 토즈 아트레온점에서 [WWW]FreeBSD 포트 작은 세미나를 합니다. 흐흐 요즘 파이썬 마을에서도 자주 하고 맛 들렸군요~ :)

이번 작은 세미나에서는

  • 포트 만들기 (유형에 따라)

  • 포트 업데이트하기

  • 포트 고치기

  • PR보내기

  • 포트 동네 관습

에 대해서 해 보려고 합니다. 뒷풀이에서는 KLDP Codefest때 Ports/pkgsrc 세션을 할지에 대해서 얘기도 하고.. BSD 관련 오프모임은 정말 오랜만이니까 재미있지 않을까 합니다. BSD 포럼에 꼭 신청하시고 오세요~ :)

SPF (Sender Policy Framework)

얼마 전에 FreeBSD.org에서 SPF 정보를 도메인에 등록하면서, 이제 몇몇 호스트에서 SPF 정책에 맞지 않는 메일을 거부하기 시작했습니다.

[WWW]SPF는 기존에 From헤더를 그대로 믿어버리는 메일의 특성상, 요즘 특히 많이 발생하고 있는 보낸 사람 조작해서 스팸 보내기를 막기 위한 여러 정책을 설정하는 것인데, 그 중에 가장 독특한 것은 도메인의 TXT 에 기록된 정보를 토대로 진짜 From헤더에 적힌 주소에서 맞게 왔는지 확인하는 것이군요. 즉, SPF 없이는 메일에 보낸 사람을 xxx@yyy.org 라고 썼다면, yyy.org에서 진짜 보냈는지 여부에 상관 없이 xxx@yyy.org라고 보냈다고 사용자에게 최종적인 배달을 해 주지만, 이제 SPF를 받는 측의 SMTP 서버나 MDA에서 처리를 해 주면, 진짜로 거기서 보냈는지 확인을 한 다음에 통과시켜주기 때문에, 아무데서나 내 메일 주소로 보낸 척 하는 것을 막을 수 있는 효과를 얻게 됩니다.

지금 freebsd.org는 spf1헤더로 ipv4 주소를 제한하고 있는데, SPF를 지원하는 SMTP 서버로 받는 경우에, 216.136.204.119를 거치지 않은 메일의 헤더에 @FreeBSD.org 에서 보냈다고 돼 있으면 잘못된 메일이라고 튕겨내는 것입니다.

흐흐.. 뭐 엄청나게 교묘해지는 스팸/웜 들로 인해 이제 메일 서버들도 별 짓을 다 해야하게 되는군요.. 오늘은 웬 관악경찰서에서 보냈다는 메일을 받았는데, 한참을 자세히 보니까 메일 헤더에 User-Agent도 없고 SMTP 서버도 전혀 안 거치고 직접 전송을 한데다, 보낸 주소도 하나로 ADSL인 걸로 봐서 스팸으로 …. (이제 스패머들이 경찰 사칭까지..)

흐흐 근데 이제 저도 gmail 사용자라서~~ 스팸 걱정은 안 할랍니다 -ㅇ-;;

A4용지로 2CD 재킷 만들기

[WWW]BSD포럼에서 [WWW]cjh님이 올리신 팁을 보고 저도 A4용지로 2CD 재킷을 만들어 봤습니다. :)

집에서 만들어 본 CD 자켓 :)

0406-2cd.jpg

공씨디는 늘 케이크 벌크로 사다보니, 항상 재킷이 모자랐는데, 뭐 신경써서 줘야 하는 경우에야 주얼 케이스 전에 사다 놓은 것에 주지만;; 보통은

  • 휴지로 싸서 준다.

  • 대충 아무 종이로 약봉투처럼 접는다.

  • 책 사이에 끼워서 갖고 가서 대충 CD 만 준다.

  • 등등 그다지 서로 안 좋은(?) 방법을 사용해 왔었지요.. 실~로 시작하는 책을 보면 선물은 포장을 제대로 안 할 바에야 그냥 안 주는게 낫다는 말도 있고 한데.. 흐흐 뭐 자켓이 없으니~~ 그런데 역시 인간이라면 응용을 해야하는 것이었군요. [WWW]종이 접기로 간단하게 A4 용지로 2CD 자켓을 만들어버리다니 .. 감동입니다.~ 훌쩍

    그래 친구들아 앞으로는 자켓을 만들어서 주마.. :)

    시간나면 자켓을 접은 뒤에 본을 떠서 미리 원하는 글자를 제 위치에 프린트할 수 있는 틀을 만들어 봐야겠군요.

    플래닛 파이썬

    예전에 파이썬 블로그 모음집? 뭐 비슷한 길쭉한 이름으로 제공되던 서비스가 드디어, 유행에 맞춰서 [WWW]플래닛 파이썬으로 도메인을 샀군요. :) 엄청나게 많은 피드들이 들어가 있는데, “플래닛 파이썬 한국”도 얼른 만들어서 sanxiyn님이 혼자만 좋은 것 알고 있지 못하도록 해야겠습니다. ^^^;;;

    (나도 영어 공부해서 영어로 블로그 써 볼까;;;;;; )

    슈렉 2!

    0406-shrek2.jpg

    으흐흐. 요즘 집이 가까우니 메가박스 가는 데 맛들려서.. 4주 연속.. ^^^;; 오늘은 《슈렉2》를 봤습니다. TV에서 광고도 엄청나게 나왔지만, 아 역시 전편에 비해 손색 없는 아주 즐거운 영화로군요~ :)

    《슈렉2》에서 엄청난 인기를 얻고 있는 “장화신은 고양이 (Puss in Boots)”는 뭔가 소문으로 들었을 때와는 사뭇 다른 이미지였는데, 으흐흐 귀여운 척할 때는 온 극장 안의 여자들이 다들 거의 애견센터 쇼윈도 앞에서 소리 지르듯 그런데, 아 정말 나도 고양이나 한 마리 (?) ;; 장화신은 고양이의 대사 중에서는 “I hate Mondays.”가 젤 기억에 남는군요.;;

    퍼키의 개인적인《슈렉2》에서 받은 좋은 인상은 아무래도 “꽃미남”들이 다들 머리가 크고 네모나다는.. 아 나도 머리 큰 건 제법 하는데 ^ㅂ^;;

    KLDP CodeFest

    지난 주 토요일에 있었던 [WWW]KLDPConf는 아주 재미있었습니다. (사실 강의는 거의 끝날 무렵 가서 못 들었지만 ^^^;;) 특히 Wine개발자인 Mark는 한국어도 잘 하고 성격도 참 즐거운 분이라 같이 얘기하기 아주 유쾌했습니다.

    KLDPConf 뒷풀이에서 예전에 KLDP BBS에서 논의되었던 Hackathon에 대해 얘기를 나누었는데, 공식 명칭은 권순선님의 제안으로 만장일치(;;;)로 [WWW]KLDP CodeFest로 결정되었습니다. Hackathon은 아무래도 발음하기도 힘들고 Codefest 뭔가 화려해 보이는 기분도 있고 해서 아주 좋네요~ (만족 만족~)

    우선은 예상 참가자를 40명정도로 해서 4~5명 단위로 8~10개 정도의 그룹으로 묶어서 활동하기로 했습니다. 원래 Hackathon들은 자유 주제에 그룹이 따로 미리 묶이지는 않지만, 아무래도 KLDP에서 하는 경우에는 전부 같은 프로젝트에서 일하던 사람도 아니고, 관심사가 매우 다르기 때문에, 현장에서 자유롭게 그룹이 왔다갔다 하는 건 시간 상으로나 여러모로 위험할 것 같은 것 같네요. 우선은 그룹이 제가 맡은 “파이썬 버그 잡이” 그룹과, [WWW]류창우님의 “데비안 인스톨러” 그룹, 방준영님의 “NetBSD 번역” 그룹 정도가 확정 되었고, 나머지는 추후에 계속 공모될 예정입니다.

    “파이썬 버그 잡이” 그룹에서는 몇 주 전쯤에 [WWW]FreeNode에서 열렸던 Python Bug Day의 한국식 오프라인 버전으로 다시 해 보려고 하는데, [WWW]파이썬 버그 트래커에 올라온 것 중 10개 정도를 미리 정해서, 현장에서 버그 분석, 패치, 리뷰, 커밋 까지 모두 해결해버리려고 합니다. 커밋 메시지에 KDLP Codefest에서 했다고 적으면.. :)

    사실은 그 외에 FreeBSD 포트도 사실 리뷰를 옆에서 해 주는 사람이 있으면 간단한 것은 1시간에 2개 정도씩은 배우면서도 만들 수 있기 때문에, 그동안 포트됐으면 좋겠다 싶은 소프트웨어를 마음에 품고 있던 분들은 해도 괜찮을 것 같긴 한데.. FreeBSD 포트에 관심있는 분들이 워낙 적은 국내 현실 상 어렵지 않을까 하긴 하는군요. 흐~~;;

    아무튼, 7월 17일-18일 정말 기대가 됩니다. 잘 되면 2, 3회 계속 하면 지역화한 hackathon으로 뭔가 slashdot에도 오를 수 있지 않을까 생각을 한 번 해 봅니다. –;;