오늘의 포트질~*

오늘은 엊그제 얘기했던 [FreshPorts]korean/gdick 을 포트에 집어넣었습니다. 흐물.. 이제 프비에서도 쉽게 사전을!

그 외에 잡다구리 주인 없는 포트들 파이썬 버젼 올라가면서 깨진 것들을 고쳤습니다. (자꾸 고치라고 메일 보내서 -.-)

  • [FreshPorts]graphics/py-opengl : tk8.4 지원이 안 들어가 있어서 tk8.3용으로 되어있는 헤더를 이름 바꿔서 써버림. -.-;

  • [FreshPorts]devel/fnorb: Makefile.pre.in에서 @DEFS@ 를 빼야 제대로 컴파일되는 문제.

  • [FreshPorts]biology/pymol: fnorb랑 같은 문제

  • [FreshPorts]devel/pybibliographer: fnorb랑 같은 문제

  • [FreshPorts]math/scigraphica: exec 안에 네스티드 스코프성 변수를 써버리는 바람에 2.3에서는 신택스 에러나서, eval로 바꿔버림.

뿡뿡 =3

오늘의 FreeBSD~!

<에헴>오늘의 간추린 FreeBSD 소식을 말씀드리겠습니다.</에헴> -;;

  • 며칠 전 포트에 dns와 polish 카테고리가 생기고, xfce4 가상 카테고리가 생겼습니다.

  • 드디어 /bin, /sbin을 동적 컴파일을 하는 DYNAMICROOT가 Gordon Tetlow의 작업으로 커밋되었습니다. WITH_DYNAMICROOT=yes를 make.conf에 넣고 make world하면 되는데, 요건 할 얘기는 많지만 내일의 블로그 거리를 남겨두기 위해 자세한 것은 내일;;; _-_

  • 오는 8월 24일 4.9 릴리즈를 위한 -STABLE 트리 Freeze에 들어갑니다. (9월말에 릴리즈 예정)

  • Colin Percival의 새로운 프로젝트로 binup 프로젝트가 교체되었습니다. 그동안 BSDi가 넘어간 이후에 중단되어 있었는데, 이제 앞으로는 혹시나 새로운 Colin의 프로젝트가 성공한다면, 보안성 있고, 빠르고, 적은 대역폭을 사용하는 바이너리 업데이터를 가질 수 있게 될 것입니다. :)

그리고.. 곁다리로 Python 소식 하나… Python 2.3.1이 9월 두째주 쯤에 릴리즈될 예정입니다. 이번 버전의 릴리즈 짜르(Czar)은 마침 9월 첫째주에 휴가인 py2exe와 ctypes로 유명한 Thomas Heller가 맡는 다는군요. 기대가 됩니다.! :D

xfce4로 이주하다.

갑자기 마음이 동해서, 오랫동안 함께했던 [WWW]KDE를 버리고 [WWW]xfce4로 이사해버렸습니다. 으흐흐.. 물론 이쁘기야 KDE가 좀 더 이쁘긴 하지만 -.-; KDE가 아무래도 리소스도 많이 먹고 요즘 쓰는 프로그램이 거의 다 GTK2기반인데다, KDE 트레이에 gtk 프로그램들을 도킹한 상태에서 kde 프로그램들이 도킹해버리면 X가 얼어버리는 이상한 사태가 벌어지는 바람에.. 요즘 뜨고 있는 xfce를 한번 깔아봤습니다.

흐흐 생각보다 아주 깔끔하고 속도도 빨라서, 앞으로 xfce를 쓰기로 마음 먹었습니다. ~.~;; xfce는 GTK+-2.0 기반으로 되어있어서 풍부한 GTK2 테마들을 쓸 수 있고, 환상의 한글 입력기 [WWW]imhangul을 쓸 수 있다는 점도 아주 마음에 들구요.. 단순한 디자인 때문에 리소스를 아주 적게 먹는다는 것도 아주 마음에 드는군요. 흐흐.. 그리고, 주요 개발자 중의 몇 명은 BSD라이센스파라서 몇몇 컴포넌트는 BSD라이센스로 되어있고, 코어쪽도 대체로 GPL이 아닌 LGPL로 되어있다는 점도 마음에 쏘옥 듭니다. 으후훗;;

Everybody loves screenshot, we’re no exception!

0308-xfce4-thumbnail.png

[WWW]전체보기

스크린샷 출연 프로그램: gnome-terminal, xchat2, liteamp, gaim, nabi(독 안에), mozilla(다른 데스크탑에;;)

msdosfs fun

요즘 윈도우 파티션에 들어있는 mp3들을 우찌 잘 들어볼 방법이 없을까. 이런 저런 고민을 하다가, msdosfs.ko를 libiconv.ko를 쓰게 하는 게 아무래도 구조상 무리라서 (현재 libiconv.ko는 CES가 제대로 지원될 수 없는 구조..) msdosfs.ko에 직접 UTF-8패치를 해보려고 시도를 해 봤습니다.

그래서, 이런 저런 닭짓끝에, 기본적인 인코딩/디코딩은 성공했는데.. 두둥.. 웬걸~ 글자가 앞쪽만 잘려서 나오는 겁니다. 으흐.. 이게 무슨 일이냐 해서 보니.. UTF-8 시퀀스가 유니코드 글자 개수만큼 바이트로 잘려서 나오는… 그러니까.. ‘한글’이라는 파일 이름은 ‘\xed\x95\x9c\xea\xb8\x80’ 인데, 이게 앞에 2바이트만 잘려서 ‘\xed\x95’가 되는 것.. 왜 그런지 여러모로 뒤져보니.. 이런! msdosfs.ko가 글자 길이를 그냥 원래 유니코드 시퀀스 길이로 계산해버리는.. 그러니, 사실상 256:256 컨버트가 가능한 ISO-8859 쓰는 녀석들만 msdosfs를 정상적으로 쓸 수 있다는.. 그런 구조로 되어있던 것이었습니다.

그래서, 제대로 계산하게 좀 패치를 했는데(좀 미심쩍은 부분이 있긴 했지만..), 또 웬걸~ 좀 파일 이름만 길어지면 또 뒤가 잘리는.. 그 문제는 이번에는 또 윈도우의 파일 시스템 구조 특성상 13글자 단위로 뒤에서부터 엔트리가 시작돼서.. 긴 파일 이름이 여러 슬롯으로 나뉜다는 것입니다. 그러니.. 결국 파일 이름이 좀 길어지면 13글자 단위로 쪼개서 뒷 블럭부터 변환이 일어나서.. 가변폭 인코딩인 UTF-8로서는 도저히 길이 계산을 할 방법이 없어진다는… 도식적으로 그려보자면 “1234567890123에헤라디여바람분다창문닫아라” 라는 파일이 있다면

  • ATTR_WIN95 엔트리: ‘라’를 들고 있고 WIN_CNT가 2

  • ATTR_WIN95 엔트리: ‘에헤라디여바람분다창문닫아’를 이름으로 들고 있고 WIN_CNT가 1

  • ATTR_WIN95 엔트리: ‘1234567890123’을 이름으로 들고 있고 WIN_CNT가 0

  • 일반 파일 엔트리: ‘123456~1 123’을 이름으로 들고 있음. (짧은 이름이 123456~1.123이 됨)

이렇게 돼서.. 순서대로 파싱하려면 맨 끝에있는 ‘라’가 먼저 나와버리기 때문에, 현재 msdosfs.ko처럼 ATTR_WIN95 엔트리를 처리하면서 변환까지 같이 하는 구조에서는 가변폭 인코딩을 처리할 방법이 전혀 없습니다. 그래서 궁리를 좀 해보니, WIN95 길이의 최대길이인 256글자를 스택에 들고 있으면서 거기에 버퍼링을 해 뒀다가 그걸 한꺼번에 전체를 인코딩하는 방법 밖에는 없겠다 싶었습니다. 그래서 좀 찾아보니.. 으허허 역시 Apple Darwin에서는 벌써 그런 방법으로 고쳐놓았더군요. 그래서 결국은 FreeBSD의 win2unixfn 함수가 없어지고 getunicodefn이 msdosfs_conv에 들어가서, msdosfs_vnops에서는 win2unixfn으로 일일이 엔트리마다 변환해서 dp->d_name에 직접 쓰는 것이 아니라, getunicodefn으로 각 엔트리별 유니코드 스트링을 스택에 버퍼한 다음에 그걸 사용하는 것으로 되어있었습니다. 그런데, Darwin은 원래 파일시스템이 유니코드 기반이라 변환이 필요없지만, FreeBSD는 8bit byte sequence형태이므로 변환할 필요가 있기 때문에 Darwin것 그대로 수용은 불가능했지만, 그래도 뭔가 좀 빌려 쓰면 될 것 같네요.

음.. 그래서.. 결론은? 에.. 며칠 삽질 더 해야겠다는.. 크크;;

이렇게 하고 나면 뭐 거의 libiconv.ko에도 바로 붙을 수 있는 수준 –;;;;;

GDick for Win32

ddt님이 만드신 GTK+2용 사전 클라이언트 [WWW]GDick의 윈도우용 인스톨러를 만들었습니다. 흐흐흐. 사실 [WWW]SpamBayes가 그렇듯, 윈도우용 인스톨러가 나와야 쓰는 사람이 많아지는 것은 자명한 사실이라 –;;

0308-gdickwin32.png

[WWW]py2exe[WWW]NSIS를 사용해서 패키징했는데, 둘 다 아주 멋지게 쏙 되네요. :) 사전 자주 찾을 일이 있으신 분들은 한 번 시험을.. :)

다운로드 ==> http://openlook.org/distfiles/GDick-0.5.3.exe

이런 바보 -.-;;

어제랑 엊그제는 회사 일이 좀 바빠서 밤을 샜습니다. 요즘은 DynaWLAN이라는 윈도우용 무선랜 인증 클라이언트를 만들고 있어요. 현대기아자동차에 8월말까지 납품해야 하는거라.. … -_-;;

중간에 다른 사람 컴퓨터에서는 다 잘 되는데, 제 컴퓨터에서만 인증이 다 끝나고 DHCP로 IP를 받아오는 [WWW]IpRenewAddress라는 함수가 먹통이 되면서 “파일이 없습니다”에러가 나는 아주 희한한 현상을 만나면서.. 거의 6시간을 왜 안되나 왜 안되나 삽질을 복잡하게 하다가, 커널 디버거를 띄워볼까 하는 생각까지도 했는데 –;

결국 마지막으로 윈도우를 새로 깔아볼 까 하는 생각에 백업이나 해두려고 제어판을 둘러보는데… ……. 두두둥!! 서비스에서 DHCP Client서비스가 “사용 안 함”으로 체크되어 있…… 허허헉!!

뭔가 문제가 생기면 다음부터는 바닥부터 끝까지 구조를 그려놓고 한 번씩 짚어봐야겠습니다 –;

[경] 병역특례 2개월 단축! [축]

드디어, 어제 오후 2시에 있었던 임시국회 본회의에서 산업기능요원 특례가 2개월 줄었습니다.

꺄아아아~~~

[WWW]국회 병역법 개정안 내용에 따르면

구체적으로 살펴보면, 복무기간 단축 조항의 시행시기를 2003년 10월 1일로 함으로써 금년 10월 1일 입영하는 사람들부터 단축 혜택을 보도록 하였고(안 부칙 제1조) 복무중인 현역병 등에 대해 서는 특례를 규정하여 금년 9월 30일 이전에 입영 또는 소집․편 입되어 복무중인 자도 혜택을 받도록 하되 구체적인 기간은 국방 부장관이 정하도록 하였음(안 부칙 제6조).

.

공익근무요원

산업기능요원

전문연구요원

.

행정관서요원

예술체육요원

국제협력요원

현역

보충역

전문연구요원

현행

28월

36월

32월

36월

28월

5년

개정안

26월

34월

30월

34월

26월

4년

그래서 병역법 39조가 다음과 같이 개정되었습니다.

第39條(專門硏究要員및 産業技能 要員의 服務) ①전문연구요원 및 산업기능요원은 해당 분야에 서 다음 각호의 구분에 의한 기 간동안 의무종사를 하여야 하며, 그 기간을 마친 때에는 공익근 무요원의 복무를 마친 것으로 본다. 이 경우 제37조제2호의 규정에 의한 전문연구요원의 경 우 박사학위과정의 수학기간은 의무종사기간에 산입하지 아니 한다.

  • 전문연구요원은 4년

  • 산업기능요원은 2년 10월. 다 만, 공익근무요원소집대상보충 역에서 편입된 산업기능요원은 2년 2월로 한다.

  • 만세!

    머리 염색 새로 하다☆

    0308-newhair.jpg

    이히히, 상쾌한 재충전 효과를 위해 머리를 새로 했습니다. 뭐 늘 하던 그 스타일 그대로지만;;; 므흐흐 그런데, 미용실의 에센스가 뭔가 특별한 것인지 냄새가 아주 좋습니다;; 다음에 가면 물어봐야지~~ * 아 그런데, 5년째가고 있는 [WWW]주노헤어 이대3호점에서 뭔가 행사를 하는 중인지, 행운권 비스무리한 것 응모하라고 해서 쓰기는 썼는데.. 뭔가 대단한 것 주는 것처럼 얘기하던데~ 막 파마약 같은 것 주는 것 아닌지 -.,-;;;

    위에 사진은 살이 꺼매서 머리색이 죽었기에, 머리만 하이라이트한 사진을 -.-..

    0308-hair.jpg

    한일동시채팅

    [WWW]인조이재팬을 보고 감명받은 게 참 많아서, 예전에 메일링리스트를 잠시 두개를 병행 운영하면 어떨까 생각하고 만들어보긴 했는데, 실제로 쓸 일이 없어서 묵혀두고 있었는데 흐흐..

    어제는 한 번 IRC를 자동번역으로 연결해 봤습니다. #autotr-ja 에서는 일본어로 말하고 #autotr-ko 에서는 한국어로 말하면, 서로 번역돼서 상대방 채널로 가는 것이지요.. 기존에 번역 코드는 만들어 둔 것이 있었기 때문에 (천리안 기반..) 별로 어렵지는 않았는데, 하여간 재미있었습니다~ 아직 진짜 일본인하고 얘기는 못 해봤지만;; _-_

    0308-autotranslation.png

    ( 위는 xchat win32로 일본어 채널을 iso-2022-jp로 쓰고 있고, 아래는 putty안에 irssi로 한국어 채널을 euc-kr로 접속하고 있는 것) — 요즘 win32 스크린샷이 유난히 많은 것은 회사에서 윈도우 기반 일만 하는 중이라 –;;

    Thanks a million!

    히히히 ~.~ [Blog]happyhacking/0308MonoCP949 패치 보낸 것이 어제 통과되어서 곧 모노 CVS에 들어갈 것이라고 합니다. Miguel이 직접 메일을 보내줬군요. (히히 너무 좋아서 자랑~;;;)

    IRC에도 보면 들어오는 사람마다 이름 불러 주며 인사하고, 그러면 사람들이 막 반갑게 패치도 주고 그러는 것으로 보아 역시 이 사람은 정말 엄청난 프로젝트 리더인 듯 ~.~ 모노 프로젝트가 괜히 진행이 빠른 게 아닌 듯 하군요.. 크크.. (자동 메일 스크립트로 1줄로 “뻑났으니 고치세요” 뭐 이런식으로 보내는 k모씨의 메일과 비교하면 –;) FreeBSD쪽에서는 코어팀 중에서 인간적으로 감명을 받을 만한 사람은 Peter Wemm 밖에 없었는데.. 훌륭한 오픈소스 프로젝트 리더가 되기 위한 조건들을 좀 생각해 보아야겠습니다. :)

    Thanks a million!