므하하하. 저도 예비군복 받았습니다. 이제 며칠 남지 않았다는 느낌이 팍팍 드는군요. 친구가 아저씨랍니다. 우어어어아아구작작뿡. 아저씨라니. ⊃_⊂ 뿌엥 뿌엥.
훈련소에서는 그렇게 새 옷이 부러웠는데, 밖에 나오고 나니 새 옷도 별로군요. 크흐;;
혜식이의 열고 보는 세상
므하하하. 저도 예비군복 받았습니다. 이제 며칠 남지 않았다는 느낌이 팍팍 드는군요. 친구가 아저씨랍니다. 우어어어아아구작작뿡. 아저씨라니. ⊃_⊂ 뿌엥 뿌엥.
훈련소에서는 그렇게 새 옷이 부러웠는데, 밖에 나오고 나니 새 옷도 별로군요. 크흐;;
최고의 오픈소스 GUI IDE라고 누구나 인정할 수 있는 Eclipse를 처음 보고서는 파이썬에서도 swt를 쓰면 참 좋겠다는 생각을 했었는데, 생각지도 않은 것이 이뤄져버렸군요.
GCJ를 파이썬 확장에 도입한 거의 최초의 실용 바인딩인 PyLucene이 나온 뒤에, 사실 많은 사람들이 이런 저런 유명 자바 라이브러리에 대한 바인딩을 만들어보고자 했지만, swig도 지원되지 않고 그렇다고 온통 인터페이스와 클래스가 넘쳐나는 자바 라이브러리를 일일이 클래스 하나하나 다 바인딩 만들기도 엄청난 삽질이고 해서 실제로 많은 바인딩이 나오지는 못했습니다. 그래서, PySWT에서는 저자가 여러 시행착오끝에 PyQT에서 사용하는 C++용 파이썬 확장 모듈 제너레이터인 SIP를 고쳐서 자바 클래스로 파이썬 바인딩을 만드는 것을 만들어버렸다고 합니다. 으흐흐 -ㅇ-
일단은 swt 자체가 워낙 방대한 라이브러리이니 과연 이걸 이런 식으로 해도 별 무리가 없을지는 몇가지 시도가 더 있어봐야겠지만, 큰 자바 라이브러리들도 이제 쉽게 파이썬 모듈이 나올 수 있게 됐다는 점에서 큰 의미가 있을 듯합니다. 그리고, PyQt, PyGTK, wxPython등 크로스 플랫폼을 지원하는 파이썬 툴킷들이 모두 PSF 라이선스와 호환되지 않는다는 점에서 딱히 쓸 만한 것이 없었는데, 용량은 엄청 크지만서도 라이선스면에서나 완성도 면에서나 쓸만한 툴킷이 나왔다는 점에서는 반갑네요. 🙂
이제 distutils에 GCJ지원이 들어가는 것과, pyrex와 swig에 자바소스 긁기 지원이 들어갈 차례인건가요? 🙂
한동안 혼자 살다보니까, 대량생산된 가공식품들을 상당히 많이 먹게되는데, 그 영향인지 요새 20살때에 비해서 머리가 흐리멍텅해진 것 같은 느낌도 들고.. 주의 집중도 안 되고 뭐 그래서 책을 한번 읽어 봤습니다. 흐흐. 제목은 《과자, 내 아이를 해치는 달콤한 유혹》인데, 제목은 그냥 과자에 관한 책인 것같이 써 있는데, 사실은 과자에만 연관된 내용은 아니고, 현대 가공식품업 전반에 대한 비판을 하는 책입니다.
이 책은 우선 저자가 원래 제과회사 개발부에서 근무를 하다가 건강에 문제가 생겨서 그만두고 완전 배신을 하는 책입니다. 즉, 제과업체의 제조과정을 세세히 아는 사람이 성분을 정말로 알고 조사를 한 다음에 쓴 책이라, 다른 근거없는 주장을 하는 책 보다 읽음직한 책이군요.
이 책에서 타겟으로 하고 있는 것은 대량생산되고 있는 가공식품들에 대한 것입니다. 그러니까.. 뭔가 기본적으로 생각하는 어떤 과자는 나쁘고.. 햄은 나쁘고.. 소세지도 나쁘고.. 이런게 아니라 그냥 완전 가공식품 전체에 대해서 다루고 있습니다. 그래서 단원별로 이런 내용을 다루고 있습니다.
그런데, 저자가 워낙 데인 것이 많은지, 초반에는 너무 오바를 합니다. 경험을 쓰는 것 까지는 좋았는데, 너무 감정에 치우쳐서 했던 말을 계속하고 다른 말로 바꿔서 또 하고, 앞에서 주장한 것을 다른 근거로 또 하고.. 아흐. 동네 반상회 반장 연설도 아니고.. 앞부분에서는 또 너무 오바하는 바람에 침착한 설명이 빠져서 실험이나 논증의 헛점이 나올 수 있는 주장이 너무 연속적으로 많이 등장해서 읽기가 피로할 정도군용. 건강식품 전단지에 나올 만한 내용이랄까..;; 그렇지만, 책의 중반을 넘어서면서 저자가 자료 조사한 것이 붙었는지, 분노가 진정이 된 것인지 근거 설명도 잘 되고 있고, 논리 전개도 제대로 이뤄지고 있어서 읽기 매우 편해집니다. 앞부분과 뒷부분은 아무래도 다른 사람이 쓴 것이 아닐까.. -.-;;
음료들을 마실 때마다 성분표에 써 있는 방부제들을 보면 참 먹기가 껄적지근하고~ 정백당 안 좋다는 것도 이제 다 이해는 가지만.. 세상에 그런 것 안 먹고 살 생각을 하니 뭘 먹고 살아야할지.. (혼자 요리를 다 해먹자니 ㅠ.ㅠ)
오늘자 시사 매거진 2580에서는 얼마 전에 있었던, 스파이웨어를 통한 비밀번호 추출로 남의 계좌를 이체해버린 사건을 문제 삼아서, 국내 전자상거래/은행 보안의 문제점을 조명했습니다. 중간에 phpBB도 나오고 한텀도 나오고, 주변에서 보인 재미있는 것들이 많이 나오네요. 🙂
그렇지만, 데이터 전송 경로를 하드웨어에서 어디서 어디로 전송한다고 그림을 보여주거나 막 신비롭게 껌껌한데서 불꺼놓고 로그 보고 있다거나.. 뻔한 해커 영화의 시각이나 똑같이 표현을 했는데.. 정말 볼 때마다 새로워요. -_-;; 나도 불 끄고 코딩할까? -O-;
그런데, 여전히 2580에서는 마치 패스워드 보안은 정상적인 상황에서도 마구 남의 것을 볼 수 있고, 스파이웨어가 설치된 후에도 은행 솔루션 업체들이 어떻게 잘 노력을 하면 막을 수 있는데도 안 막고 있는 냥 얘기를 하고 있습니다. 그렇지만, 사실상 대부분의 윈도우 사용자가 커널레벨까지 조작을 할 수 있는 관리자 권한으로 사용한다는 점을 고려하면, 은행 프로그램들이 무슨 발악을 하더라도 소프트웨어적으로는 패스워드가 노출되지 않을 수가 없는 당연한 상황이라, 역사적으로 보더라도 항상 공격자가 이기는데 뭐 어떻게 막을 방법이 있겠어요? 흐흐..
결국, 이런 상황을 해결하려면, 외부 하드웨어의 도움을 빌거나, 역순해시를 사용한 일회용 패스워드를 사용해야 한다는 결론에 도달합니다. 즉, USB로 연결된 외부 카드 리더에서, 카드의 인증서를 읽어서 컴퓨터 측에서 요청한 자료를 싸인한 뒤에 결과 패킷을 보내준다던지.. 일회용 패스워드를 100개 은행에서 발급해 와서, 그걸 순서대로 하나씩 사용한다던지.. 흐흐.. 하여간, 얼른 소프트웨어적으로도 뭔가 해결할 수 있다는 환상을 버리고, 사회적인 방법이나 외부 하드웨어 장치의 도움을 법적으로 모든 금융/전자상거래에 의무화를 한다고 주장합니다! 물론, 스펙은 공개해서 독립적 구현도 충분히 진입할 수 있게.. 🙂
제가 다니고 있는 회사에서는 조엘식 분류에서 “사내 소프트웨어”에 들어가는, 중규모 솔루션을 주로 만듭니다. 고객사에서 원하는 대로 플랫폼도 바뀌고, 소스 1줄을 수정하려고 해도 고객사에 작업내역서를 보내고 승인받은 뒤에 직접 들어가서 작업을 해야하는데다가 일요일 새벽에만 작업이 가능한 곳도 있고, 문제가 생기면 손해배상도 들어오고 그러다보니, 아무래도 디펜던시가 우찌됐건간에 시스템 기본 라이브러리를 빼고는 모두 직접 옵션 조절해서 컴파일한 것을 깔게 됩니다. 리눅스에서만 돌던 소프트웨어를 갑자기 AIX에서 돌려보자고 하루 전에 연락이 오기도 하고 -_-; 하여간~ 흐흐
그냥 빌드해 놓고 그냥 tar을 들고 댕기던 시절에는, 빌드도 다 손으로 해야하다보니, 밤마다 자동빌드는 커녕, 업그레이드 한번 하려고 해도, 수시간씩 걸리고, 새 플랫폼이 나와도 포팅하는데 하루종일 별의 별 삽질을 다 하게 됩니다. 그래서, 상태를 좀 개선해 보고자 새로 하는 프로젝트에서는, POSIX 플랫폼이면 무난하게 돌아가는 형태의 빌드를 구성해 봤습니다. 흐흐흐.
처음엔 GNU make 기반의 makefile 문법으로 하려고 했었는데, GNU make에서는 for루프와, target 함수 같은 것을 제공하지 않아서, 아무래도 m4같은 것의 도움 없이는 10개 이상의 디펜던시가 있는 패키지를 모두 한꺼번에 빌드하는 게 꽤 힘들었습니다. 그래서 결국은 NetBSD pkgsrc에서 BSD make를 가져다가 자동 빌드하고 그걸로 프로젝트를 빌드하는 방식으로 바꿨는데.. 이러쿵 저러쿵 만들다 보니까 결국은 포트같이 돼 버렸습니다. 그러니까.. 으흐흐. 예를 들면 이렇게~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# Berkeley DB build # $Id: dep.bsddb.mk 864 2005-06-17 07:22:34Z perky $ NAME= bsddb FANCYNAME= BerkeleyDB VERSION= 4.3.28 SITE= http://downloads.sleepycat.com/ DISTFILE= db-${VERSION}.tar.gz SRCDIR= ${WRKDIR}/db-${VERSION}/build_unix CONFIGURE_SCRIPT=../dist/configure CONFIGURE_ARGS= \ --prefix=${PREFIX} \ --disable-cxx \ --disable-debug \ --disable-java --disable-mingw \ --disable-tcl --enable-static \ --disable-shared NO_INSTALL= yes .include "submodule.mk" |
요걸로 프로젝트를 매일 밤과 점심시간에 자동으로 빌드해서 에러가 나면 메일로 알려주도록 세팅해 두었습니다. 이제 기능을 좀 추가해서, 바이너리 인스톨러 스냅샷 만드는 것과 인스톨 스크립트로 자동으로 인스톨해서 유닛테스트 돌리는 것도 해보려고 합니당. 지금까지 만든 것은 여기에 올려 두었습니다. 디펜던시도 많고 플랫폼도 많은 내부 프로젝트 관리하는 분은 써 보세요. 🙂
주의: 이 글은 개인적인 해석이며 법적인 정확성을 보증하지 않습니다. 구체적인 저작권, 특허, 상표권에 대한 문제는 원문을 참조하세요.
어제 공개된 OpenSolaris
소스를 보다 보니, 생각보다 재미있고 뜯어 쓸만한 부분이 꽤 많이
있었습니다. 🙂 그래서, 이제 열심히 갖다가 썼는데 뒷통수 맞는
일이 없도록 라이선스인
CDDL (Common Development and Distribution License)을 자세히
읽어보았습니다.
CDDL은 우선 전체적으로 GPL같이 아주 딱딱하게 조절된 무서운
어조로 써 있지 않고, 그냥 통상적이고 상식적인 수준의 문장으로
되어 있어서 읽기가 편하다는 면에서는 좋군요. 분량도 애플 것에
비해서 짧고.. 🙂 우선, 첫 부분의 용어 정의 부분에서는 대부분
상식적인 용어와 비슷한데, 몇가지 다른 것이 있다면 이 정도가..
CDDL에서는 독특하게 최초 개발자(Initial Developer)와
기여자(Contributor)를 명시적으로 구분해서 권한을 따로 정의하고
있는데, 재라이선싱 권한 외에는 크게 다른 점은 없어보이는군요.
그리고, 다른 라이선스들 (특히 GPL)에서는 특허와 관련된 말들은
최대한 언급을 삼가하고 있는데, CDDL에서는 라이선스 하에 있는
소스를 작성한 모든 기여자들과 최초 개발자들 사이의 특허 문제까지도
명확하게 정의해서, 모호함을 없앴다는 점은 장점으로 꼽힐 수도
있겠습니다.
우선, BSDL과 GPL, Artistic License같은 오픈소스 라이선스 분파들을
서로 비교할 때 사용되는 여러가지 일반적인 특징은 배포, 수정, 판매
등의 다른 조건들은 비슷하지만 라이선스를 동의하는 조건이 조금씩 다른데,
CDDL에서는 이런 조건들을 걸고 있습니다.
그리고, 예전에 애플에서 한번 시도해서 문제가 되었던, 라이선스
개정시 조건도 같이 업그레이드라는 그런 것은 좀 더 자유롭게 되어서,
썬에서 라이선스를 개정하더라도, 처음 소프트웨어를 받을 당시의
CDDL 버전을 쓸 수 있습니다.
재배포를 하는 경우 반드시 소스코드를 배포해야 한다는 점에서,
BSD에서는 /usr/src/gnu/ 디렉토리에나 들어갈 만한 라이선스라
좀 섭섭하기는 하네요. 으흐흐. 그래도 뭐 썬도 먹고 살아야~ -O-
그동안 거의 베이퍼웨어 수준으로 뜸을 들이고 있던 OpenSolaris가 드디어 소스를 공개했군요. 타이틀 화면의 “열린”이 아주 멋있습니다. 🙂
bz2로 압축해서 44메가 정도되는 솔라리스 소스 중에서 가장 기대하고 있던 부분인 iconv소스를 얼른 쳐다 봤습니다. 🙂 솔라리스의 iconv는 다른 iconv와는 달리, 변환 루틴부분을 위한 별도의 언어를 정의한 뒤에, 그 소스를 C로 컴파일하는 구조로 되어있어서 확장에 매우 유리하게 되어있는데, 현재 아주 구리구리한 구조로 되어있는 FreeBSD iconv를 고치는데 이런 방향으로 해 보면 도움이 될 것 같습니다. 소스를 뒤져보니까 usr/src/cmd/geniconvtbl/ 안에 메타언어 컴파일러가 들어있고, libc 소스 안에 iconv가 들어있는 간단한 구조로 되어있는데, 소스 구성이나 레이아웃 등이 BSD와 크게 다르지 않은 편이라 앞으로 좋은 장난감이 될 것 같군요.
iconv외에도 gettext나 멀티바이트 API 같은 FreeBSD가 약한 부분들 뜯어다 쓰기에 요긴할 것 같은데.. 라이선스가 FreeBSD에서 섞일 수 있는 것으로 판단이 될지 좀 두고 봐야겠네요..
일본에서 여러 해 이어오고 있는 LightWeight Languages Weekend를 보면서, 우리나라도 따로따로 하면 썰렁한 언어들을 묶어서 뭔가 시너지가 날 수 있는 것 해 보면 좋겠다! 하고 생각해 오고 있었습니다. 요새 다른 분들도 가끔 그런 것 있으면 좋겠다 말씀도 하시고, 한국소프트웨어진흥원에서도 일정 수준 지원이 가능하다고 의견을 주셔서 슬슬 준비해볼까 하고 버스에서 곰곰히 생각해 보고 있습니다. 🙂
아무래도, 한국에서는 PHP의 시장 점유가 엄청나게 높은 편이니, LightWeight 언어라고 하더라도 PHP는 규모가 맞지 않아 포함하지 않는 것이 좋을 것같고, 멋진 친구 승범군이 운영하는 Squeak모임도 생각나고 해서, LightWeight보다는 기민한 언어(Agile Language)로 하면 어떨까 하고 생각이 났습니다. 흐흐 그래서, 대략 Python, Perl6/Parrot, Ruby가 기간이 되고, Squeak이나 Lua, Groovy 같은 약간 다른 성격의 언어들도 가능하다면 포함이 될 수 있으면 좋을 것 같습니다.
일단, 여러 언어가 모여서 행사를 하는 것이 시너지를 내기 위해서는, 일부 언어는 알고 있지만, 아직 자세히는 모르는 다른 언어들의 특징을 느껴볼 수 있도록 주제가 너무 특정 기술에 치우치거나 기초 문법에 치중한 것은 안 될것 같다는 생각이 듭니다. 그리고, 서로의 의견을 자유롭게 교환할 수 있도록 분야별 BoF 세션 (예를 들면, TwistedWeb/Nevow와 Ruby on Rails등을 주제로한 WWW BoF나, 각 언어 간의 메타클래스 특성을 활용 아이디어들을 교환하는 세션같은..)도 공식적으로 시간을 잡거나 PyCon에서 하는 것처럼 아무데나 복도에 퍼질러 앉아서 시간 가는 줄 모르고 토론하는 것도 좋을 것 같구요. 🙂
파이썬마을의 순식간에 뚝딱하는 세미나들하고는 좀 다르게 미리 스티어링 그룹도 구성을 하고, 각 세션들에 대해서는 Call for Paper를 통해 공개적으로 발표하실 분을 모집해서 알차게 꾸몄으면 하는 생각이 있습니다. 아직은 그냥 저 혼자 출퇴근길에 버스에서 생각하는 아이디어에 불과한데, 앞으로 다른 여러분들께 연락을 드려서 진행을 해봐야겠습니다~
ㄱ자 책상에 기대서 일하는 자세의 특성상 지난 몇년간 왼팔꿈치 주변 관절이 좀 삐걱댄다는 느낌은 좀 있어왔습니다. 그런데, 급기야 지난주부터는 팔 안쪽 근육이 막 뜨겁게 달아오르고, 출근하고 3시간 정도가 지나면 막 근육들이 땡겨서 키보드를 도저히 못 칠 지경에 이르러서.. 우일님의 추천으로 집 앞에 있는 신경통증전문 제통의원을 찾아갔습니다.
대충 간단한 진잔으로 여기저기 근육을 꾹~꾹~ 눌러보더니 근막염이라고 합니다. 흐흐. 사실 뭐 전날 약간 증상을 네이버kin에서 찾아보니까 근막염 비슷한 것 같기는 했는데.. 빙고~ 그래서 1시간 정도 물리치료를 받았는데, 찜질하고 안마를 받았습니다. 찜질은 별로 새로울 것은 없었는데, 전동 안마기는 TV에서 볼 때에는 저게 과연 간지럽히기나 할 수 있을까 했는데, 헛.. 그 진동이란..;; 제 세팅은 100~120Hz에 A,B 채널 모두 level 2였는데도 막 팔이 덜렁덜렁 거릴 정도로 안마가 되는군요.. 흐흐 신기~ level 끝까지 올렸다가는 완전 난리 나겠어요 -.-;;
물리치료 받는 도중에, 옆 치료실에서 나는 소리를 들었는데.. 근육에 주사맞는 아줌마의 “흐어어어어어~” 신음소리나.. 침맞으면서 계속 헉헉대는 아저씨나.. 여러모로 저 정도는 아니라 다행이구나 생각이 자주 들더군요. 으흐.. 역시 치료과목때문에, 할머니, 할아버지가 많이 계셨는데, 뭔가 자주 가면 엄살부리는 것 같은 느낌도 들고 그렇네요 ==;;;
하여간, 결국 약 처방도 받고 나왔습니다. 지난 번에 이비인후과에서 항생제를 잔뜩 주는 바람에 막 쓰러지고 고생한 경험이 있어서, 처방전을 우선 약국에 가기 전에 구글로 자세히 분석을 해 봤습니다. 처방 내용이 “에어탈정”이라는 비스테로이드성 소염진통제, “버클리정”이라는 골격근이완제, “가스모틴정”이라는 진경제가 나왔는데, 다행히도 심각한 부작용요인이나 항생제는 없더군요. 으흐흐~ 다행~ 그런데, 버클리정이라는 것은 왠지 BSD랑 친한 것 같아서, 이름을 찾아봤는데 인터넷에서도 정보가 막 사라지는 분위기이더니, 결국 약국에서도 없다고 해서 다른 회사의 근육이완제로 바꿔서 받았습니다. (꼭 항목이 딱 맞을 필요는 없는 모양 -ㅅ-;)
그래서 이제 밤이 되니까, 어제보다 훨씬 나아진 것이.. 기분이 좋군요. 🙂 내일부터는 왼팔도 그런대로 쓸 수 있을 것 같고… 신나네용 푸흐.. 자세를 똑바로 합시다.. ㅠ.ㅠ 이제 일자 책상으로 바꿔야지~
요새 여러모로 일이 많아서 좀 바빠서 메일을 통 못 읽다가, 밀린 CVS 메일을 보다보니 재미있는 게 여러개 있군요.. 🙂
구글 Summer of Code 프로젝트
구글 Summer of Code에 FreeBSD가 멘터로 활동할 여러가지 주제들이 목록으로 정리되어 올라왔습니다. Xen지원이나 BSD Installer 통합, CVSUp을 C로 재작성하는 일, UFS 저널링 지원 추가 같은 것들이 매우 흥미로워 보입니다. 🙂 저는 개인적으로는 BSD iconv를 유저랜드에 통합하고 kiconv에 DBCS/SBCS 외에 가변 바이트 지원을 추가하는 작업에 관심이 많은데 학생이 아니라 참가도 못하고~ 병특 끝나기 전이라 시간도 없을 것 같고~ 이히히;
WPA 클라이언트 베이스로
BSD 할아버지들 중에서 가장 활발한 활동을 하고 있는 샘 아저씨가 드디어 WPA 지원을 베이스에 넣었습니다. 🙂 이름은 wpa_supplicant입니당. EAP-TTLS까지도 언급이 되어 있는 걸 봐서 아직 써보지는 않았지만 매우 기대가 되는군요. 🙂
ISC dhclient에서 OpenBSD dhclient로 교체
FreeBSD에서 오랫동안 쓰던 ISC dhcpd에 포함되어 있는 dhclient를 이제 OpenBSD의 dhclient로 교체하였습니다. contrib이 아니라 그냥 베이스에 머지해버릴 정도로 강한 애착이.. 흐;
Kip Macy가 커미터로~
FreeBSD로 Xen을 포팅하는 작업을 오랫동안 열심히 추진하던 Kip Macy가 그동안 그 분야를 잘 아는 커미터가 없는 통에 커밋권한을 못 얻고 있다가 최근에 드디어 소스 커미터로 들어오게 되었습니다. 드디어 FreeBSD도 Xen의 문명 혜택을 받게 되겠군요. ^.^
므해해해