노키아 S60 드디어 출시!

파이썬이 들어가는 것으로 그동안 관심을 모으고 있었던, Nokia의 S60 손전화가 드디어 출시되었다고 합니다. 지난 번 Euro Python에서 Guido가 노키아 담당자에게 출시가 되면 알려달라고 했더니, 메일로 소식을 알려 줬다고 그러는군요.:)

Bop Ippolitto가 찍은 스크린 샷

0412-s60python.jpg

흐흐 노키아 홈페이지에서 파이썬 기반으로 되어있는 SDK를 받을 수 있고, 물론 전화기에 들어가는 프로그램을 파이썬으로 작성할 수 있다고 합니다. 게다가 위의 스크린 샷처럼, 시리얼 케이블로 접속을 하면 파이썬 프롬프트가 뜨는 …. -ㅇ-;;;

우리나라에도 어서 나왔으면 좋겠군요.:)

Trac과 함께한 2주

회사에서 RoundUp을 잠시 쓴 적이 있습니다. 이게 제법 유명한 것이기는 하지만, 생각보다 너무 상태가 좀 그렇습니다;; 기본 기능에 너무 충실하다보니.. 이슈 트래커 외의 기능을 전혀 갖추고 있지 않고, 이슈 트래커 기능 자체가 단순한 듯 하면서도 복잡한데 속도가 또 엄청 느려서.. 오래 쓰기는 좀 그렇더군요.

그래서, 대체품으로 요즘 잘 나가는 오픈소스 프로젝트 관리 환경인 trac을 설치한지 이제 2주가 조금 넘어서고 있습니다. 2주동안 trac으로 프로젝트를 하면서 아주 즐거웠던 것을 생각해 보면, 사람을 기분 좋게 만들 수 있는 소프트웨어 중 하나임에는 분명한 것 같아서, 다른 분들도 써 보시라고 기능을 소개해 드립니다. 🙂

Trac

Trac은 subversion과 연계된 프로젝트 관리 도구입니다. 기본 이념이 minimalist를 표방하고 있기 때문에, 대부분의 기능이 돌아가기 위한 최소 스펙으로 구현이 되어 있습니다. 사실 디자인도 minimalist였으면 좀 거부감이 있었을텐데, 디자인은 아주 깔끔한 편입니다. 하여간 기본적으로 프로그램 전체가 파이썬으로 작성되어 있는데, CGI 모드와 tracd라는 전용 웹 서버 모드를 지원합니다. 저는 CGI 모드로 사용하고 있는데, 보통의 파이썬 CGI들이 엄청난 속도로 사용자들을 당혹케 하는 경향이 있지만, trac은 엄청나게 빠릅니다! 과연 이게 파이썬인가 믿기지 않을 정도입니다. 흐흐. 아무래도 C로 작성된 템플릿 라이브러리인 clearsilver를 깔고 있어서 그런게 아닌가 싶은데, 하여간 clearsilver외에도 sqlite를 DBMS로 사용하고, 저장소에 접근하기 위해서 python-subversion이 필요합니다.

문서 관리 및 대문 관리 – 위키

문서 관리 및 대문관리
전체보기

trac은 텍스트가 들어갈 수 있는 모든 부분에 위키 포매팅을 사용하고 있습니다. 즉, 위키 페이지를 문서화를 위해서 쓸 수 있을 뿐만 아니라, 이슈 트래커의 본문이나 심지어 subversion 커밋 로그에서도 위키 포매팅이 지원됩니다. 문법은 모인모인과 매우 비슷하기 때문에, 많은 사람들이 어렵지 않게 익힐 수 있게 되어 있습니다. 그리고 [리비전]이나 #이슈번호같은 형식의 빠른 링크를 지원하기 때문에 커밋 로그와 이슈, 위키 간의 아주 긴밀한 상호 링크가 가능합니다.

물론 위키에는 첨부파일 올리는 것이 가능해서, 문서 및 리소스 관리용으로 아주 유용합니다.

변경 사항 한 눈에 살펴보기 – 타임 라인 (시간 순 이력)

변경 사항 한 눈에 살펴보기
전체보기

trac은 timeline이라는 독특한 페이지를 또 제공하고 있는데, 보통 위키에서는 RecentChanges로 페이지 이름이 붙는 것과 비슷한 역할을 합니다. timeline은 위키 페이지들의 변동사항 뿐만 아니라 커밋 로그나 이슈 트래커 변동사항까지 시간 순으로 볼 수 있도록 하고 있어서 전체의 변동 사항을 한 화면에 볼 수 있어서 흐름을 파악하기 아주 좋습니다.

진행 사항 단계별 파악! – 로드맵

진행 사항 단계별 파악!
전체보기

trac에서는 subversion 리비전과는 별도로 version과 milestone개념을 지원합니다. milestone을 따로 나눠 둠으로서 올라오는 이슈들 중에 각 마일스톤에서 해결되지 않은 것이 얼마나 남았는지, 얼마나 급한 것인지 한 눈에 알아볼 수 있도록 하고 있는데, 바로 그 상황을 볼 수 있는 곳이 Roadmap 메뉴입니다. Roadmap 메뉴는 컴포넌트별로 각 부분의 이슈들이 해결된 것이 얼마나 되는지 한 눈에 볼 수 있도록 예쁜 그래프로 표시해 줍니다.

버그 추적에는 필수~ 소스 둘러보기

버그 추적에는 필수~ 소스 둘러보기
전체보기

trac은 subversion과 아주 긴밀하게 연계가 되어 있기 때문에, 자체적으로 viewcvs같은 웹 인터페이스를 지원해 줍니다. 사실 이 기능은 trac의 주 기능도 아닌 편이긴 하지만, 오히려 viewcvs보다 기본적인 기능에는 아주 충실한 편이라서 거의 불편함이 없을 정도로 잘 만들어 두었습니다. annotate같은 기능이 빠진 것은 좀 아쉬운 편이지만, 리비전 지정한 채로 왔다갔다하기, 리비전 로그 보기, 소스 하이라이트 같은 것은 잘 지원되고 있으며 무엇보다 viewcvs보다 압도적으로 빠르다는 점이…. 흐흐

새로운 문제점 등록 – 티켓 올리기

새로운 문제점 등록 - 티켓 올리기
전체보기

trac에서는 다른 곳에서"issue"나"problem report"라고 부르는 것을 자체적인 용어로"ticket"이라고 부릅니다. 그게 통상적으로 사용되는 용어인지는 모르겠지만.. trac에서는 일관적으로 통일해서 티켓이라고 합;; trac의 ticket 등록은 최상위 메뉴에 있을 만큼 주요된 기능 중의 하나인데, 버그 등록자는 꼭 trac 안의 인증된 사용자일 필요 없이 자기 메일 주소를 쓸 수도 있기 때문에, 아무나 등록하게 할 수도 있습니다.

티켓을 등록할 때에는 위키 포매팅을 쓴 본문도 가능하며, 치명도, 우선순위, 컴포넌트, 버전, 마일스톤 같은 것들을 명시해 줄 수 있습니다. 물론, 티켓 올린 다음에 답글을 달면서 상태를 바꾸는 것도 당연히 지원 됩니다. 흐흐

등록된 티켓들을 검색 – 리포트

등록된 티켓들을 검색 - 리포트
전체보기

trac에서 report의 기본적인 용도는 등록된 티켓의 검색입니다. 티켓을 나열할 수 있는 갖가지 방법 들로 기본적으로 10개 정도를 제공해 주고 있습니다. (마일스톤별, 우선순위별, 담당자별, 해결되지 않은 문제들만 보기 등등..)

SQL이면 뭐든! – 사용자 지정 리포트

사용자 지정 리포트
전체보기

trac의 기본 목표를 정말 완벽히 실현하고 있는 곳이라면 바로 사용자 지정 리포트 부분입니다. 사실 위에서 언급한 리포트도 모두 기본으로 세팅되어 있다 뿐이지, 사용자 지정 리포트와는 구분이 없습니다. 모든 리포트는 SQL 퀴어리와 제목으로 구성되어 있습니다.즉, SQL 퀴어리만 수정해 주면 페이지가 동적으로 마구 바뀐다는 말씀! 기본적인 trac의 데이터베이스 스키마만 파악을 하면 아름다운 리포트 페이지들을 번거로운 HTML 템플릿 작업 없이 SQL 만으로도 만들 수 있습니다. 위의 스크린샷은 제가 그냥 샤샤샥~ 해서 만든 커밋 로그에서의 사용자 이름 순위입니다. 흐흐 정말 간단!

이제 grep은 번거롭다! – 검색

검색
전체보기

흐흐 또다른 trac의 진짜 매력 포인트. 바로 검색입니다. 이 검색은 위키 페이지나, 이슈 트래커 본문에서만 검색이 되는 것이 아니라, 커밋 로그나 각 수정사항(위키 페이지, 이슈 등)의 짧은 커멘트에서 까지도 검색이 되기 때문에, 사실상 프로젝트와 관련된 대부분의 곳에서 검색을 해 주기 때문에, 뭔가 특별한 함수가 언급된 모든 곳을 찾고 싶다~ 할 때 grep으로 찾으며 고생하지 않아도 됩니다.

피할 수 없다!

이미 오픈소스 커뮤니티 들을 둘러 보면 trac을 도입하고 있는 곳이 엄청난 속도로 불어나고 있으며 오픈소스가 아닌 부분에서도 굉장히 많이 사용되고 있는 것을 발견할 수 있습니다. 파이썬에는 전혀 관심 없었던 사람들이 갑자기 파이썬을 깔다가 패키지 패치를 올리기도 하고, bittorrent에 이어서 또 다른 파이썬의 프로모션 소프트웨어가 될 것 같은 예감..

컴퓨터 과학 교육에서의 실전 오픈소스 프로젝트

최근 python-dev에 올라온[WWW]한 강사의 메일에 따르면 다음 학기에 버클리에서 파이썬 수업이 하나 있는데, 단순히 파이썬 문법을 가르치고 끝나는 것이 아니라, 실제 파이썬 프로젝트에 올라와 있는 버그를 분석해서 버그 패치를 만들고 버그 패치가 실제로 적용되기까지 파이썬 개발자들과 토론도 하다가 적용되는 것까지 실습해 볼 예정이라고 합니다.

이 글을 올린 강사는 기존의 파이썬 개발자들이 흥미를 못 느껴서 고치지 않은 간단하거나 번잡한 문제들을 추천을 해 주면, 학생들에게 시켜볼 예정이라고 합니다. 사실 엄청나게 활발하게 일하던 사람이 몇달 열심히 활동하다가 갑자기 사라지는 것들은 아무래도 열정적인 개발자들의 상당수가 이미 익숙해져서 지루함이 느껴지는 작업들은 하기 싫어서 미루다보면 쌓여서 그런 면이 큰데, 아직 오픈소스 프로젝트에 실제 참여해 본 적이 없는 전공 저학년 학생들이라면, 배우면서 입문하는 과정이다보니, 숙련된 개발자들이 하기 힘든 지루한 작업도 할 수 있지 않을까 싶군요.. (그리고 학점도 달려 있고!:)) 그리고, 물론 허구헌날 며칠 밤 새서 크리스마스에도 실습실에 모여 밤새며 열심히 프로젝트해서 만들어 봐야 조교한테 보여주면 쓰레기가 돼 버리는 학교 프로젝트들을 하는 것보다, 진짜 오픈소스에 불과 몇 줄 안되는 패치라도 기여가 된다면, 보람도 있고 젊음을 낭비하는 느낌도 훨씬 적게 들 것 같아서 아주 좋은 아이디어 같습니다.:)

이에 대한 답변으로 파이썬 개발팀의 마틴이[WWW]자신의 경험을 얘기해 줬는데, 마틴도 비슷한 수업을 지금 진행하고 있다는군요. 아이러니컬하게도, 파이썬의 핵심 중의 핵심에 속하는 마틴의 수업을 듣는 학생들은 정작 PHP를 하고 있다고 합니다. (역시;;) PHP외에도 모질라 프로젝트에도 역시 관심을 가지는 학생들이 많아서, 그 두 프로젝트를 중점적으로 하고 있는 듯 한데, 아무래도 수업을 받는 학생일지라도, 자기가 관심이 있는 것을 하는게 능률이 훨씬 오르겠죠.. ;

마틴의 수업을 듣는 학생들은 실제로 진행에서 수업 3번째 시간부터 리뷰를 하기 시작했고, 36시간 이후에는 최종 리뷰를 하고, 곧 모질라가 코드 프리즈 기간이라 들어갈 수 없다는 이유를 설명할 정도가 됐다고 합니다. 그리고 그 이후에 코드 프리즈가 끝난 이후에는 실제로 반영이 되었고, 수업 프리젠테이션으로 그 과정을 설명하였다고 합니다.

하나 문제가 생길 수 있는 것은 아무래도 수업과 관계없는 사람들이 프로젝트에 많이 관여되어 있는 관계로 다른 개발자들이 학생들이 보고 있던 버그를 먼저 고쳐서 집어넣어 버리면, 힘이 빠져서 할 맛이 안 나지 않겠느냐 이런 문제를 지적하고 있는데, 아무래도 문서화쪽 버그만 열심히 잡으면 (또는 문서를 쓰면:)) 절대로 기존 파이썬 개발자들과 겹칠 일은 없지 않을까 싶군요. 크크크 (-_-;;;;) 그래도 코드 버그가 더 재미있는데 흐흐;;

하여간, 이런 식의 수업 진행은 정말로 재미있는 것 같습니다. 지난 번 7월의 코드페스트 1회 때 파이썬 버그데이를 한번 시도해본 적은 있었지만, 아무래도 평일 내내 회사 업무로 시달리던 사람들이 주말에 와서 하루 밤새면서 일하는 것은 생산성의 한계가 있어서 오히려 그냥 집에서 따로따로 몇시간 하는게 더 효과적일 정도였습니다. 그런데, 수업은 주요 일과중의 하나이고 한번만에 연속적으로 하고 끝나는 게 아니라 중간 중간 여유가 충분히 있으니까, 오픈소스 개발 과정을 생산적으로 배우기는 아주 좋은 방법이 아닐까 합니다.

저도 내년이면 3학년으로 복학하는데.. 졸업하기 전에 이런 수업 안 생기려나요.. –;;;

귀여운 파이썬 마스코트

pymascot

오늘 c.l.py에 Dimitri Tcaciuc이라는 사람이 그려서 올렸습니다. 아직 파이썬 공식 마스코트로 예쁜 것이 없어서 그려 봤다더군요. 흐흐. 대체로 반응은”파이썬은 뱀이 아니라 Monty Python’s Flying Circus에서 따 온 것인데 왜 자꾸 뱀을 그리냐”,”너무 귀여워서 파이썬이 장난감 언어(toy language)처럼 보이게 될까봐 걱정된다”,”반점들이 병걸린 뱀같다.”이런 반응이.. 흐흐

그렇지만 귀여운 것은 사실! -ㅇ-; 색깔만 입히면 괜찮겠군요.

그 답글 중에 가장 인상깊었던 것은

“아마 모든 캐릭터 셋에 이미 파이썬 로고가 들어 있을 것이다. 바로@..:)

파이썬 curses 툴킷 — Urwid

얼마 전에 trac을 깔고 돌아다니다가 trac 홈페이지에서[WWW]urwid라는 파이썬 기반의 curses 툴킷이 나온 것을 알게 되었습니다.:)

curses, slang 바인딩이 있기는 하지만, 그렇게 많이 쓰이고 있지 않고 혹시 쓰일 일이 있더라도 보통은 파이썬에서는 pebrot 처럼 그냥 만들어서 쓰고 그랬었지요. 아무래도 slang이나 curses 바인딩은 파이써닉하게 만들기가 힘들어서였을까요. 이제는 pebrot같은 curses 프로그램을 쉽게 파이썬스러운 코드로 만들 수 있게 되었군요 +_+

0412-urwid.jpg

게다가 한글도 잘 됩니다!. 많은 curses 기반 프로그램들에서 속썩이고 있는 입력창에서의 한글 커서 이동 문제나 입력하는 문제도 모두 해결된 듯이 보입니다. 게다가 예제 소스들을 보면 아주 다들 그냥 간단하게 각 위젯을 인스턴스 목록에만 넣어주면 표시해주고 그래서 curses 생짜 프로그래밍하고는 완전히 달라지는군요. newt안에 들어있는 snack 모듈처럼 생뚱망뚱한 클래스라서 클래스 해제 순서만 바뀌어도 죽거나 그러지도 않구요~

이걸로 간단한 관리 콘솔 프로그램 아주 좋을 것 같습니다. 이히히. dselect같은 UI를 가진 포트 관리툴이나 한번 만들어볼까 생각도 –;

ko_KR.eucKR에서의 Vim 커서 이동 문제

올해 초 언젠가 부터 5에서 vim의 커서가 한글 위에서 제대로 안 움직이고, 신택스 하이라이트도 제대로 동작하지 않고 있습니다. 저는 그냥 이것 저것 해 보다가, LC_CTYPE=C로 하면 되는 것을 발견해서 우선 셸 스크립트로 감싸서 쓰고 있었지만.. 얼마전 코드 페스트에서 최준호님도 같은 문제에 고심하고 계신 것을 알고, 같이 옆에서 좀 뒤져 보았더니, 일본 사람들도 같은 문제가 있고 이미 여러가지 해결 방법을 찾고 있었던 것을 찾을 수 있었습니다.

자세히 읽어본 결과, FreeBSD의[FreeBSDMan]mblen함수는 EINVAL (incomplete multibyte sequence)를 발생시킬 때 이전에 들어온 글자를 저장하는 방식으로 되어 있습니다. 즉,[FreeBSDMan]iconv에서 커서를 안 넣은 상태 처럼 다음 바이트를 넣어 주면 진행을 할 수 있는 방법으로 구현되어 있는 상황입니다. 그러나 반면, 리눅스의 구현은 EINVAL이 리턴되는 상황이면 state도 변환되지 않고, 다음 바이트를 입력하는 상태가 아니라 이전 바이트와 다음 바이트를 묶어서 한꺼번에 날려야 하는 구현으로 되어 있습니다. 그런데, vim은 리눅스의 구현을 기준으로 그냥 mblen에 있는 state를 따로 생각하지 않고 항상 1바이트씩 mblen을 하도록 되어 있어서, FreeBSD에서는 state가 계속 왔다갔다 해서 생긴 문제이군용.

이 문제에 대해서, POSIX의[WWW]mblen에 대한 정의는 아무리 곱씹어 읽어보아도, EINVAL을 리턴하는 상황에서 state를 저장해야 할 지 아니면 그냥 무시해야할 지는 해석이 어렵군요. 우흑흑.

일단 이 vim문제를 해결하기 위한 여러가지 방법을 나열해 보자면,

  • FreeBSD mblen함수를 EINVAL을 리턴할 때 state를 저장하지 않도록 한다. (lib/libc/locale/euc.c 의 mbrtowc에서 return -2 위의 state 저장부분 삭제)

  • vim의 mbyte.c에서 mblen으로 다음 글자 계산하는 부분에서 mblen 들어가기 전에 항상 state를 초기화 해준다.

  • vim의 mbyte.c에서 mblen을 읽을 때 항상 MB_CUR_MAX 길이로 줘서, 최대한 길이를 계산할 수 있도록 한다.

각각의 방법 중 하나만 적용해도 되기는 하지만.. 나름대로 다 장단점이 있고, 표준에 완전히 맞는 것이 어느 것인지 매우 혼란스럽군요 -.-;; 그래서 생각한 다른 방법은..

  • vim에 utf-8처럼 euc 인코딩 루틴을 집어 넣어서 mblen 안 쓰게 한다.

흐.. -o- 고치는 방법은 다들 간단한데.. 어느 것이 제대로 된 것인지 알 수가 없어서… (아이고)

FreeSBIE 1.1 릴리스

FreeBSD를 기반으로 한 라이브CD 배포본인[WWW]FreeSBIE가 1.1을 릴리스했습니다. 이번 FreeSBIE 1.1은 FreeBSD 5.3을 기반으로 했으며, XFCE와 fluxbox를 지원합니다. 그리고 다른 라이브씨디들과 마찬가지로 이번 1.1부터는 인스톨러를 지원하기 시작했습니다. 그래서 총 4가지 방법을 지원하게 되었습니다.

  • tcsh 셸을 띄움

  • fluxbox를 띄움

  • xfce를 띄움 (불여우와 천둥새를 포함)

  • BSD Installer(dragonfly의 인스톨러입니다.)를 띄움

일단 다운로드! 이번 버전의 용량은 596MB인데, ftp 미러가 상당히 많지만 사실 ftp로는 받을 필요는 별로 없고[WWW]torrent 파일을 제공해 줍니다.[FreshPorts]net/py-bittorrent등의 bittorrent 클라이언트를 깔고 다운로드를 하면 되는데, 저는 350KB/s정도 속도로 꾸준히 받아지더군요. +_+ 역시 차세대 배포 미디어로의 bittorrent는 정말 최상입니다 만세!:)

우선, FreeSBIE로 부팅하면 인상적인것이 splashscreen_bmp.ko를 로딩하는 것이 부팅 과정 중의 상당수를 차지한다는 것인데, 꾸준히 기다려 보면 멋있는 BMP 화면보호기가 나옵니다. –; (역시 라이브 씨디는 뽀대..) 그리고 요즘 논란이 되고 있는 부트로더의 비스티가 컬러로 나옵니다. 므흐흐~

0412-freesbie-urwid.png

부트로더 이후의 화면은 일상적인 FreeBSD 부팅 화면과 매우 비슷하고, 그 다음에 이렇게 자동으로 네트워크 세팅과 하드웨어 드라이브 로드 부분이 나옵니다. 그 다음에는 키보드 맵 선택이 나오고 그 다음에 뭘로 띄울 것인지 물어보는 화면이 나옵니다.

여기서 xfce를 선택하면 상당히 미려해진 xfce를 볼 수 있는데, 기본 세팅이라 테마를 좀 조절했는지 전에 보던 xfce보다 좀 더 예쁘더군요. 흐흐:)

전체 보기

0412-freesbie-xfce.jpg

멋있어요♡ 이제 멋진 GUI 인스톨러만 나오면 되겠어요. 흐흐:)

BSD사용자라면 하나쯤은 꼭 구워두고 키보드 밑에 숨겨둬야할 필수품!

FreeBSD 소원 목록

거의 4년동안 개발브랜치였던 5가 이제 스테이블로 갔기에, 이제 슬슬 새로운 소원들이 나오기 시작했습니다. FreeBSD 5의 릴리스 엔지니어인 Scott Long이 앞으로 1년간 FreeBSD 6나 7에 새로 들어왔으면 하는 기능의 목록을 올렸는데 역시나 반응이 뜨겁습니다. +_+ 요즘 내부 개발자 메일링에서는 부트 화면에서 데몬을 없애야 종교적인 거부감을 갖고 있는 사람에게 나쁜 감정을 안 줄 수 있다고 투표도 하고 막 싸우고 있는데.. 그에 비해서 생산적인 토론 같군요.. 흐흐

원래 Scott Long의 의견과 다른 사람들의 80개 정도 되는 답변의 양상을 대충 요약해 보면,

  • 키보드 멀티플렉서: 현재 FreeBSD에서는 동시에 키보드를 1개밖에 쓸 수 없습니다. 따라서, PS/2 키보드를 기본으로 커널에서 설정해 놓았으면 USB키보드는 원격에서 kbdcontrol로 바꿔주지 않으면 못쓰는 난감한 일이 있는데, 키보드 멀티플렉서를 넣어서 여러개의 키보드를 동시에 쓸 수 있도록 하자는 의견입니다. 이 의견에 대해서는 역시나 또 multi-kiosk 환경을 위해서 그냥 여러개를 따로따로 쓸 수도 있게도 해야한다는 답변도 있고.. 이미 들어와 있는데 완성이 안 돼있다는 얘기도 있고.. NetBSD의 wscons를 훔쳐오자는 사람도 있군요. 흐흐. 어떻게 되던 키보드 멀티플렉서는 정말 꼭 있어야 할 기능일 듯 합니다 -o-;

  • 새로운 인스톨러: FreeBSD 인스톨러인 sysinstall은 93년에 처음 나왔을 당시 선풍적인 인기를 끌어, 다른 대부분의 오픈소스 배포본들에게 강한 영향을 주었지만, 현재로써는 FreeBSD 인스톨러의 확장이 어려운 구조나 10년여 쌓인 문제들 때문에, 싹 새로 안 만들고서는 해결되기 어려운 국제화 문제 같은 것들이 난감합니다.

    DragonFlyBSD에서는 1.0부터 새로운 인스톨러를 선보이고 있습니다. 이 인스톨러에서는 sysinstall과 비슷한 curses기반의 환경과, 인스톨러가 웹서버를 띄워서 CGI로 원격의 웹 브라우저에서 설치를 하는 방법을 제공하고 있는데, 많은 사람들이 이에 감동하고 있군요..:)

    여기에 대한 다른 사람들의 의견은 역시나 sysinstall이 최고다 더 뜯어 고치지 마라 이런 말도 있고,DragonFlyBSD의 인스톨러도 국제화 지원 안 하기는 마찬가지 아니냐는 의견도 있고, X 기반의 쌔끈한 GUI 인스톨러도 있으면 좋겠다는 의견도 있습니다. 흐흐;

    아예 인스톨러는 anaconda처럼 스크립트 언어 기반으로 작성되어야 다양한 환경에 맞춰서 쉽게 인스톨러를 고칠 수 있지 않을까 싶군요.

  • PCI Express 지원: FreeBSD는 자체 PCI Express 지원이 아직 없어서 PCI-X 카드를 끼우더라도 호환성 모드로만 동작하게 됩니다. 따라서, 기가비트 네트워크 같은 것에서 많은 불이익을 당할 수가 있는데, Scott는 PCI-X지원을 다음 릴리스에서 꼭 넣었으면 하는 듯 합니다.

  • 저널링 파일 시스템: 그동안 BSD동네에서는 우리도 저널링 하자! 하는 사람들에 대해서 softupdate를 개선하면 저널링 충분히 따라 잡을 수 있다는 사람들에게 완전히 압도돼서 저널링 얘기도 못 꺼내고, JFS, XFS 등으로 포팅한다고 선언한 사람들은 몇년이 지나도 소식도 없고 ReiserFS만 근근히 최근에 나왔죠. Scott은 UFS에 저널링을 넣던지, 아니면 GPL이 아닌 다른 저널링 파일시스템들을 찾아봐서 넣었으면 좋겠다라고 합니다.

  • 클러스터 파일 시스템: 최근에RedHat이 대표적인 SAN업체인 Sistina를 합병하면서 GFS를 다시 오픈소스로 풀었는데, 이런 종류의 소스들을 참조해서 FreeBSD 자체에 클러스터 파일 시스템을 넣자고 하고 있습니다. 이게 들어가게되면 아무래도 야후같은 대형 호스팅 업체들에서 호스팅할 컨텐트들을 일일이 동기화하거나 NFS같은 구리구리한 파일 시스템에서 서비스할 필요가 없어지고, SAN 장비에도 FreeBSD가 본격적으로 도입되겠지용.

    Kris는 맨날 패키지 빌드해서 다른데로 옮겨댕기기 귀찮다. 클러스터 파일 시스템이 지원되면 패키지 빌더들을 모두 묶어버리면 진짜 좋겠다 이런 의견을 올렸고, 다른 사람들은 OpenAFS가 이미 충분히 좋은데 다른 것을 굳이 또 만들 필요가 있겠느냐라고 주장하지만, Garrett은 AFS는 클러스터링에 적합한 컨커런시 모델이 아니라 그냥 분산을 해 줄 뿐이라고 그러는군요.

  • CAM 보완, iSCSI 지원 추가: 현재의 CAM은 너무 parallel-SCSI에 치중되어 있어서, parallel-SCSI에나 통하는 코드들이 CAM에 몰아 들어가 있어서 다른 서브레이어의 버스들이 상대적으로 더러운 방법을 쓰고 있다고 합니다. 그래서, CAM을 좀 중립적이고 깔끔한 소스로 개선하고, iSCSI지원을 별도로 추가하면 좋겠다고 합니다.

Scott의 희망사항들에 덧붙여서 Poul-Henning도 몇가지를 더 올렸는데 이런 것들이 있습니다.

  • 온라인/오프라인 미디어에 더 많은 글을: FreeBSD와 관련된 글을 보다 많은 미디어에 게제해서 좀 더 뜬것처럼 보이자! 이런 .. 흐흐;

  • 학교에서 FreeBSD로 많은 것을: 현재 대부분의 대학 OS 수업은 Linux와 Windows의 구조를 기반으로 되어있습니다. 좀 더 많은 수업에 FreeBSD를 쓸 수 있게 하고, OS와는 큰 관계가 없는 과학/수학 연산 분야에서도 FreeBSD를 많이 쓰도록 하면 좋겠~

  • PR 다루는 사람이 많아지도록: 현재는 PR을 다루는 사람의 수도 아주 적고, 포트가 아니면 그나마 몇달동안 답변이 안 달리는 경우도 많은데 PR에 답해서 어려움을 느끼는 사용자들을 대해 주는 것도 중요!

  • www.freebsd.org 페이지를 좀 더 동적이고 재미있게: 현재 FreeBSD 홈페이지 대문은 몇년째 큰 변화 없이 그냥 릴리스 번호나 올라가고 있는데, 첫 화면에서 최근 변화를 쭈욱 볼 수 있고 좀 더 재미있게 해서 자주 방문할 수 있또록 하자는..

  • BSDcon에 많은 사람들을 참여시킴: 미니 컨퍼런스도 많이 마련하고 해서, 현재 리눅스 유저 그룹들에 비해 압도적으로 적은 컨퍼런스 수를 늘리자 하는 의견입니다.

  • FreeBSD 재단의 연구 지원: FreeBSD 재단에서 연구/코딩의 재정적 지원을 해 줘서 개발자들이 3,6,12개월동안 따로 돈을 안 벌고도 자기가 하고 싶은 분야에 대해서 집중적으로 노력을 쏟을 수 있도록 해 주자는..

Poul-Henning은 사회적인 위시 리스트를 많이 쏟아냈군요. 흐흐. 대체로 그 이후의 의견들은 GUI 인스톨러가 나오면 툴킷은 뭐를 쓸 것이냐, 비디오 카드를 못 잡으면 어떻게 할 것이냐.. FreeSBIE를 기반으로 하면 FreeBSD에서도 쉽게 X띄우고 GUI인스톨러를 띄울 수 있다.. 이런 뻔히 예상되는 전개가 나오고 있습니다. ;;

그래도 이제 5가 릴리스된 덕분에, 이런 희망도 얘기해 보고 좋군요.:)중간에 나온 얘기 중에서는 suspend-to-disk 즉 윈도우 용어로는 hibernate기능도 참 중요해 보입니다. 흐흐.. 저는 아무래도 국제화쪽에서 BSD iconv가 베이스에 들어가는 게 가장 필요해 보입니다. –; 복학하면 꼭 해야징 -ㅇ-;

파이썬 2.4 파이널 릴리스

동아시아 사람들이라면 누구나 기다렸을 파이썬 2.4가 드디어 정식 릴리스가 되었습니다.:)

다운로드는[WWW]여기에서 하실 수 있고, FreeBSD 포트는 레포카피를 해야 하기 때문에, 재수가 좋으면 모레 정도면[FreshPorts]lang/python을 업데이트하고 2.3을 lang/python23 으로 몰아낼 수 있을 듯 합니다. (요새 레포카피 요청을 안 해봐서 레포카피가 금방 되는지는 잘 모르겠;)

흐흐 지금까지 뭐 지겹게 많이 들으셨겠지만 파이썬 2.4의 주요 변경점을 간단히 요약해 보자면,

  • 빨라짐(list, tuple 등의 기본적인 것들이 최적화가 되어서 2.3에 비해 15~20%정도 기본적으로 빨라졌음.)

  • 펑션 데코레이터 등장 (@xxx)

  • None이 상수로 변경

  • sets빌트인 타입의 등장! (엄청 좋습니다! 꺄아~)

  • int, long의 통합 (이제 int에서 비트 연산을 해서 넘치면 자동으로 long으로 변환)

  • 서지원님이 구현하신 제너레이터 익스프레션 등장 sum(x for x in range(5))

  • 역 이터레이터 등장 (reversed)

  • decimal 모듈 들어옴. (이제 0.3+0.3이 0.6이 아니라고 걱정할 필요가 없습니다!)

  • CJKCodecs가 표준 파이썬 안으로 들어감.

  • heapq 모듈이 C로 재구현되면서 약 10배정도 빨라짐.

  • profile 모듈이 이제 확장 모듈의 함수들도 프로파일링 가능.

  • 셸 스크립트식의 스트링 대체를 위한 string.Template 등장.

이 외에도 여러가지 변경사항이 더 있는데, 자세한 것은 amk의[WWW]What’s New in Python 2.4를 참조하세용.

:)