레이블이 컴퓨터인 게시물을 표시합니다. 모든 게시물 표시
레이블이 컴퓨터인 게시물을 표시합니다. 모든 게시물 표시

2007년 3월 14일 수요일

AspeCt-oriented C

개발에 도움을 줄 수 있는 도구이다. 개발하는 코드의 수정없이 실시간으로 각 함수의 호출을 감시 할 수 있다.
단, 컴파일은 다시 해야 한다.

기본 개념은 별도의 설정 파일을 통해 함수 호출 규칙을 감시하는 코드를 추가한다.
이 설정파일을 c 함수로 컴파일하고, 컴파일 결과를 원 바이너리와 link하여 함수 호출을 감시한다.

이것을 쓰면 함수 호출 과정을 자세히 추적할 수 있을 것 같다. 하지만, 아직 테스트 전이다.

URL은 http://research.msrg.utoronto.ca/ACC/WebHome이다.

다음은 간단한 예제이다.

C 코드

int main() {
printf("world");

}

ACC 코드

before(): execution(int main()) {
printf("Hello ");
}

after(): execution(int main()) {
printf(" from ACC ! \n");
}

Aspect Compile 과정

acc hello.acc world.m

최종 바이너리 생성

$ gcc hello.c world.c
$ ./a.out
Hello world from ACC !

2007년 3월 12일 월요일

Cairo 1.4.0 Release

3.6일, 2D graphic library인 cairo의 새버전이 1.4.0이 release 되었다.

이번 릴리즈는 주로 속도 최적화에 집중되어 개발 되었는데, 100 배 이상 속도 향상이 된 operation도 있다.
물론, 더 느려진 operation도 있는데, floating 연산이 fixed point 연산으로 대체되어 embedded 단말에서는 더 많은 속도 향상이 있을 것이라고 한다.

한번 받아서 테스트 해봐야 겠다.

PyCon 2007의 요약

영어가 짧아서 상세한 번역이 힘들다. 원문은 PyCon 2007 Wrapup을 참조한다.

다음과 같은 프로젝트가 관심 사항으로 떠 올랐다고 한다.
  • CPython
  • IronPython
  • Jython
  • Django
  • TurboGears
  • SQLAlchemy
  • IPython
  • Python Cheeseshop
개인적으로 관심 가는 것은 CPython, SQLAlchemy, IPython이다.
이중에 IPython의 경우 emacs의 python interpreter로 사용하고 있다.

2007년 3월 11일 일요일

Gentoo Linux에 대한 생각

Gentoo Linux를 2년째 사용하고 있다.
처음에는 이렇게 설치하기 힘든 배포판이 존재한다는 사실에 놀랐다.
하지만, gentoo를 사용하는 기간이 늘어나면서, 패키지 관리의 우수성에 감탄을 금치 못한다.
gentoo의 패키지 관리 시스템은 OpenBSD의 port 패키지 시스템을 모델로 작성된 것이라 들었다.

뭐 어쨌든 패키기 관리 시스템의 우수성은 타의 추종을 불허한다. 이 패키지 관리 시스템의 유일한 단점은 패키지 설치시 시간이 많이 걸린다는 것 말고는 없는 것 같다.

일단 gentoo 패키지 관리 시스템의 경우 다음과 같은 특성을 가진다.
  • 소스를 받아 컴파일하므로 시스템에 최적화된 바이너리를 생성할 수 있다.
  • 패키지 upgrade 개념은 존재하지만, 배포판 upgrade 개념이 존재하지 않는다. 단지 패키지 upgrade 만으로 항상 최신의 바이너리를 유지할 수 있다.
  • 이로 인해 의존성 문제가 거의 발생하지 않는다.
  • 패키지 update 속도가 굉장히 빠르다. 때문에, 원한다면 언제나 최신 소스 기반의 패키지를 유지할 수 있다. 단, 약간의 위험부담은 감수해야 한다.
이와 같은 장점으로 인해 적절한 관리만 된다면 배포판을 다시 설치할 이유가 거의 발생하지 않는다.
단, 리눅스에 대해 잘 알고 있는 사용자를 위한 배포판이다.

자신있다면 도전해 보라. 초기 역경을 극복하면 편안한 세상에 도달할 것이다.

2007년 3월 5일 월요일

WordPress.org 해킹 당하다.

해당 사이트가 해킹 당해 wordpress 2.1.1의 압축 파일이 변경되었다는 군요. 해당 사이트에서 급히 서비스를 차단하고 조사한 결과 wordpress.org의 서버중 하나에서 사용자 권한을 해커가 얻어서 파일을 수정했답니다.
때문에, wordpress 2.1.2를 새롭게 올려서 제공하고 있으니 업그레이드를 하랍니다.

흠.. 재밌군요.

2007년 3월 4일 일요일

MAC OSX Tiger

몇달전 1999년에 조립한 컴퓨터가 그 년한이 다 된듯하여 새롭게 맥미니를 구입하였다.
예전부터 맥이라는 운영체제를 사용하고픈 마음이 있었는데, 인텔 CPU를 사용하여 windows XP를 설치할 수 있다는 소리에 구입하였다. 혹자들은 맥미니에 windows xp를 설치하여 사용하는 것이 무슨 짓이냐라고 하는데, 우리나라 실정에 windows XP가 없으면 인터넷 뱅킹을 할 수 없으니 어쩌랴.

그동안은 맥을 사용하지 않고, XP만을 사용하였는데, 최근에 맥을 자주 사용하고 있다. 물론, 집사람 때문에 기본 부팅은 XP로 되어 있지만 말이다.

뭐 솔직히 응용 프로그램의 안정성 등은 xp와 다를바가 없는 것 같지만, 구석 구석 숨어 있는 다양한 효과들은 절로 감탄을 자아낸다.

비스타를 사용해 보지 않아 뭐라 말할 수 없지만, 굉장히 편한 운영체제 임이 분명하다.
리눅스를 업으로 하고 있으니 터미널 환경 또한 익숙하다.

따로 설치하여 사용중인 프로그램은 다음과 같다.

Camino - Web browser
Cyberduck - FTP/SFTP Client
Aquamacs Emacs - Text Editor
X Windows - X11 Window system
OpenOffice - Office 프로그램
VLC - Movie Player
xcode - compiler
aMule - P2P client

사용한지 얼마 되지 않아 따로 설치하여 사용중인 프로그램이 얼마 되지는 않다. 그러나 이정도로 일반적인 사용에 있어서는 크게 불편함을 모르겠다.

2007년 3월 3일 토요일

OAK Vocabulary

Firefox의 사전 addon 프로그램이다. 이전에는 backword를 사용했었는데, 이놈이 가끔 firefox가 오동작하게끔 만들어 최근에는 사용하지 않았다.

backword는 마우스 커서가 특정 단어에서 일정시간 이상 머무르면 자동으로 단어를 인터넷에서 검색하여 사용자에게 출력하도록 되어 있는데, 이 방법이 문제를 발생시키는 것 같다.

때문에, 사용자가 정확히 지정하는 경우에 단어를 검색할 수 있는 단어사전 프로그램을 찾았는데, 그것이 바로 OAK Vocabulary 프로그램이다.

난 empas를 나름대로 좋아하니깐 이를 기반으로 설정 과정을 설명한다.



이 프로그램의 설정은 조금 특이한데, 먼저 Dictionaries tab에서 한글 사전을 위한 URL 및 parser를 추가해야 한다.


Dictionary: Empas
charset: euc-kr
Search URL: http://alldic.empas.com/search/endic.html?z=C&
x=0&y=0&q=$$$$
Parser:
ret = getPartHtml(html, '<div class="td_engr">',
'<div','</div>','');
ret = ret.replace(/<\/script>/g, '');
ret = ret.replace(/<\!--.*?-->/g, '');




이제 설정은 끝났다. 설정 후 특정 단어에서 double click을 하면 다음과 같은 단어사전에 화면에 나타난다.



어떤가 쓸만하지 않은가?

Xfce4 배경화면 바꾸기

뭐 구글에 검색하면 바로 나오긴 하지만. 여기서도 간단히 메모 형태로 정리한다.

xfdesktop 프로그램이 singla USR1을 받으면, 배경 화면을 바꾸도록 정의한 것 같다.

때문에, terminal에서 간단하게 "killall -USR1 xfdesktop" 명령을 주면 배경이 바뀐다.

crontab -e 명령으로 다음 라인을 추가하면 5분에 한번씩 배경 화면이 바뀐다.

0,5,10,15,20,25,30,35,40,45,50,55 * * * * killall -USR1 xfdesktop