2007년 12월 4일 화요일

iMBC 인터넷 라디오 주소

다음 URL을 Window Mediaplayer의 "URL 열기"에 추가하면 된다.
어떤 계정의 로그인도 필요치 않다. 이 주소는 iMBC의 mini 프로그램을 Wireshark 프로그램으로 RTSP 프로토콜을 분석하여 추출한 결과이다.

이런 방법으로 다른 방송도 가능할 것으로 판단된다. 다음에 시간이 나면 하자.

FM4U
rtsp://minimbc.imbc.com/imbcmfm?JgFRSLjVxqkXhTKk4J0xywMVMfgZa1TcZWWX8jrI8BxeXH8roD2dgA==E

표준FM
rtsp://minimbc.imbc.com/imbcsfm?JgFRSLjVxqkXhTKk4J0xywMVMfgZa1TcZWWX8jrI8BxeXH8roDyUgg==E

DMB
rtsp://minimbc.imbc.com/imbcDMB?JgFRSLjVxqkXhTKk4J0xywMVMfgZa1TcZWWX8jrI8BxeXH8roDyUgg==E

흠... 로그인을 안하면 접속이 안되는 군요...

UINavigationBar의 Style

0인 경우 파란색 계열의 Bar
1인 경우 검정색 계열의 Bar
2인 경우 검정색 계열의 투명 Bar

2007년 11월 15일 목요일

iphone TextReader 개발

ipod touch용 TextReader를 만들었다. 일단 google groups에 올렸다.

설치 방법은 다음과 같다.

1. installer를 실행시키십시오.
2. 화면 하단의 "Sources" Tab을 선택하십시오.
3. Sources 화면 우측 상단에 "Edit" 버튼을 선택하십시오. 화면이 편집상태로 변경됩니다.
4. Sources 화면 좌측 상단에 "Add" 버튼을 선택하십시오.
5. Add Source 화면에 http://touch-programs.googlegroups.com/web/mizi.xml 를 입력하고, OK를 누르세요.
6. 이제 Install Tab에 "Mizi" Categories 가 추가되었습니다.
7. Mizi Category를 선택하여 TextReader를 설치하시면됩니다.
8. text 파일은 /var/root/Media/TXT 디렉토리에 추가하시면됩니다.

2007년 11월 1일 목요일

iphone 개발을 위한 참고 사이트

각종 API 문서가 있다.

http://www.cocoadev.com/index.pl?IPhoneRuntime

SDK는 다음 URL에서 찾을 수 있다.

http://code.google.com/p/iphone-dev/

2007년 9월 14일 금요일

sshfs 의 간단 사용법

ssh 프로토콜을 이용한 filesystem이다.

요즘 대부분의 리눅스 pc에는 ssh가 설치되어 있으므로 sshfs를 이용하여 다른 컴퓨터에 대한 접근을 자유롭게 할 수 있다.

사용법은 다음과 같다.


$ sshfs [TARGET] [LOCAL DIRECTORY]


$ fusermount -u [LOCAL DIRECTORY]

2007년 6월 29일 금요일

google의 모바일 서비스

google이 모바일 서비스를 시작했는데, 이놈이 또 멋지다.

기존의 home page를 google에서 필터링하여 모바일에 최적화된 홈페이지로 변형시켜 보여준다.

다음 내용에서 뒷 부분의 URL만 변경하면 해당 홈페이지를 모바일에서 불편 없이 볼 수 있다.
단, 반응 속도가 약간 느리다.

http://www.google.co.kr/gwt/n?u=http%3A%2F%2Fxmine.blogspot.com
------------------
%2F&hl=ko&mrestrict=xhtml&source=m&site=search

2007년 6월 7일 목요일

까르보나라 스파게티 만들기

네이버 동영상에서 까르보나라 스파게티 만드는 방법이 올라와서 정리해 본다.
  1. 올리브 오일을 두른다
  2. 베이컨을 볶는다. 후추를 약간 뿌려 준다.
  3. 면을 볶는다
  4. 크림을 넣는다.
  5. 계란 노른자를 넣는다. 넣으면서 잘 저어 준다.
  6. 소금 간을한다.

처음에 마늘을 볶아도 좋을 것 같다. 마늘은 통마늘을 눌러 으깨고 튀기 듯 볶는다.

버섯도 넣으면 좋을 듯...

2007년 5월 25일 금요일

FUSE의 arm 보드 테스트

FUSE를 arm target에서 테스트해봤다.

결과적으로 너무 느려서 쓸수가 없다. 약 60배 이상 느린데, 2 ~ 3배 정도 느리면 사용하려고 했으나 너무 느린 관계로 사용할 수 없을 것 같다.

고민이다.

2007년 5월 21일 월요일

Emacs의 Copy & Paste 문제 수정

emacs에서 블럭 복사한 것이 mozilla나 다른 응용 프로그램에 paste가 안되는 경우가 있다. 주로 C-space와 M-w 로 복사한 경우 그러한데, 이 경우 .emacs에 다음 코드를 추가하면 문제를 해결 할 수 있다.
(setq x-select-enable-clipboard t)

또, paste시 한글이 깨지는 문제가 발생하면 .emacs 파일에서 다음과 같은 구문을 찾아 주석처리한다.
;; (set-selection-coding-system 'utf-8)


단, 이 설정을 적용하는 경우 terminal과의 copy & paste가 이전보다 자유롭지 않다. gnome-terminal의 경우 ctrl+shift+c 를 통한 복사만이 emacs에서 사용이 가능하다.

2007년 5월 8일 화요일

git

리누스 토발즈에 의해 만들어진 새로운 version 관련 시스템이다.

기존의 cvs와 subversion 등에 비해 새로운 개념으로 동작하는데, 그 기능은 다음과 같다.
  • 기존 버전관리 시스템과는 달리 통일된 하나의 repository를 운영하지 않는다. 각각의 복사본이 온전한repository 기능을 제공한다.
  • 그러나, 기존의 버전관리 시스템 처럼 하나의 repository를 이용하도록 할 수도 있다.
  • 매우 빠르게 동작한다.
  • 최소한의 저장공간을 요구한다.
  • branch 관리가 편리하다.
  • cvs emulation 기능을 제공한다. 즉, 외부에서 cvs 프로토콜을 이용하여 git에 접근할 수 있다.
하지만, 제공되는 기능이 많고, 새로운 개념을 도입하고 있어, 기존 버전관리 시스템에 익숙한 사용자에게 조금 낮설게 느껴질 수도 있다.

사용상의 차이점은 다음과 같다.
  • 일반적인 add, remove, update, commit 등의 명령어는 local에서 모두 동작한다. local이 하나의 독립적인 repository이기 때문이다.
  • 외부의 다른 개발자가 소유하고 있는 repository와의 merge 하려면 push, pull 등의 별도의 명령어를 사용해야 한다.
이러한 git를 살펴본 이유는 직업의 특성상 여러 embedded 단말을 사용하는데, 각 단말마다 특성이 달라 그 특성을 매번 단일 repository에 merge하는 것이 큰 부담으로 다가왔기 때문이다.

때문에, main branch를 하나 유지하고, 각 단말별로 별도의 branch로 분기하여 사용하는 방법이 효과적일 것으로 판단된다.

git의 cvsserver

git repository를 cvs를 통해 접근하는 방법을 설명한다.

$ export CVSROOT=:ext:user@server:/var/git/project.git
$ export CVS_SERVER=git-cvsserver
$ cvs -d project-master master

project-master에는 적절한 이름을 지정하면 이름에 해당하는 디렉토리가 자동으로 생성되고 그 디렉토리로 checkout 한다.

2007년 4월 21일 토요일

GLS3

lucene의 검색기능과 linux usermode filesystem과의 결합이라고 생각된다. 좀더 자세한 것은 관련 문서를 살펴보아야 알 수 있을 것 같다.

하지만, 현재까지의 상황만을 보아도 만약 embedded 단말에 적용만 가능하다면 엄청난 기능을 제공할 것으로 판단된다.

다만, GPL이라 사용이 가능할지 모르겠다.

http://www.glscube.org

LUFS & FUSE

Linux User Mode Filesystem을 작성하기 위한 framework 이다.

다양한 예제가 존재하므로 참조할만 하다. 현재 작업중인 프로젝트에서 이 기술을 사용할 수 있기를 기대한다.

http://lufs.sourceforge.net/lufs/

그런데, 이놈의 프로젝트가 개발을 2003년 이후로 중단한 것 같다. 새로운 프로젝트 FUSE가 더 유력하다.

FUSE는 http://fuse.sourceforge.net/ 에서 참조하자.

LD_ASSUME_KERNEL

이 환경변수를 설정하여 NPTL이 아닌 linuxthread를 사용하게 할 수 있다. 그렇다고 디버깅이 더 편해지지는 않겠지만...

LD_ASSUME_KERNEL=2.2.5 or 2.4.1

2007년 4월 1일 일요일

ssh tunneling

ssh는 다양한 기능이 많은데, 그중에 하나가 tunneling 기능이다. 여기서 설명할 상황은 다음과 같다.

notebook 한대가 있는데, 이것은 사무실과 집 등 다양한 장소에서 사용이 가능하다. 그런데, 집에서 회사의 특정 server에 접속하려고 하는데, 이 server는 firewall 설정으로 인해 외부로 부터의 접속을 차단하고 있어, 접속할 수가 없다.
하지만, 나에게는 회사에 ssh 접속이 가능한 linux가 설치된 desktop이 있다.
이제, notebook에서 desktop을 거쳐 회사의 server에 ssh로 접속하는 방법에 대해 알아 보도록 하자.

간단히 요약하면 과정은 다음과 같다.
  • desktop에서 다음 명령을 실행하고, 접속을 계속 유지시킨다. (즉, 터미널 창을 닫지 말고 유지해야 한다.)
$ ssh -R 5000:server:22 desktop_user@desktop

이것은 desktop의 port 5000으로부터 수신되는 모든 packet을 server의 port 22로 전달하는 일을 하는 ssh 프로그램을 기동하는 것이다.
  • notebook에서 다음 명령을 실행하고, 접속을 계속 유지시킨다.
$ ssh -L 5000:server:22 desktop_user@desktop

이것은 notebook과 desktop 사이의 tunneling을 유지하는 ssh 프로그램을 기동하는 것이다. 이제 notebook의 port 5000으로 입력되는 모든 packet이 desktop port 5000으로 전달 되는 것과 같은 효과를 가진다.
이 방법은 5000 포트를 이용하여 desktop에 접속할 수 없는 경우에, ssh 연결을 통해 5000 포트를 이용하는 것과 같은 효과를 보인다.
  • 다음 명령을 이용하여 서버에 접속한다.
$ ssh server_user@localhost -p 5000

이제 localhost의 포트 5000에 접속을 하면, ssh에 의해 packet이 desktop에 전달 되고, 다시 desktop에서 server로 전달된다.

사실, 항상 ssh -L 옵션에 해당하는 명령을 실행하고 접속을 하기 때문에, 이 명령의 역할이 이 글에 나열된 것과 동일한지 확인치 못했다.

이것저것 확인하기 귀찮으면, 이 방법을 그대로 따라해도 된다. 또한, 5000 이라는 포트 번호만 바꿔 주면, MSN등의 다른 서비스에 대한 터널링도 가능하다. 이러한 터널링은 외부 접속이 차단된 어떤 단체 내부에서 차단된 서비스를 이용하고자 할때 외부에 서버를 설치하고, 터널링을 연결하는 경우에도 사용할 수 있다.

ssh의 경우 port 22번을 기본으로 사용하지만, 외부 서버의 설정을 바꾸면 80 포트와 같이 http를 위한 포트를 ssh로 사용할 수 있기 때문에, 거의 어떠한 경우에도 적용이 가능한 방법이다.

ssh keychain

내 컴퓨터에서 다른 컴퓨터로 ssh로 login을 할 때 매번 암호를 물어 보는게 귀찮은 경우 사용한다.
주로, cvs나 svn을 ssh를 이용하여 사용할 때 유용한데, cvs의 경우 update, commit 등 각 명령어 마다 ssh 암호를 물어 본다. 이건 아주 귀찮은 작업이다.

  • 먼저 사용중인 컴퓨터를 위한 공개키/개인키를 생성한다.
일단 키를 생성한다. 다음 명령어를 사용하여 진행한다.

$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/king/.ssh/id_dsa): (hit enter)
Enter passphrase (empty for no passphrase): (enter a passphrase)
Enter same passphrase again: (enter it again)
Your identification has been saved in /home/king/.ssh/id_dsa.
Your public key has been saved in /home/king/.ssh/id_dsa.pub.
The key fingerprint is:
a4:e7:f2:39:a7:eb:fd:f8:39:f1:f1:7b:fe:48:a1:09 king@blue
키는 $HOME/.ssh 디렉토리에 생성되며, id_dsa는 개인키이고, id_dsa.pub 는 공개키다.
  • 공개키를 접속하기를 원하는 컴퓨터에 등록한다.
생성된 공개키 id_dsa.pub 파일을 Target의 $HOME/.ssh/authorized_keys 에 추가한다.
추가 방법은 다음과 같다.

$ scp $HOME/.ssh/id_dsa.pub user@target:~/.ssh
$ ssh user@target
$ cat .ssh/id_dsa.pub >> .ssh/authorized_keys
이제 접속을 하면 조금 다른 인증 과정을 거친다. 키를 만들때 등록한 암호를 통하여 접속하게 된다.

$ ssh user@target
Enter passphrase for key '/home/king/.ssh/id_dsa':

여기까지의 결과는 일반적인 접속 방식과 크게 다를 바가 없다. 하지만, 생성된 키를 keychain을 통해 관리하게 되면 상황이 달라진다.
  • keychain을 이용하여 키를 관리하도록 한다.
먼저 keychain을 설치한다. 사실 진실로 키를 관리하는 것은 ssh-agent 라는 놈이다. 이놈이 키를 관리하지만, 이러한 관리에 도움을 주는 도구가 keychain이다.
keychain을 사용하면, session 형태의 관리를 지원하므로, 한번의 설정으로 접속시 물어보는 암호 확인 절차를 생략할 수 있다.

다음과 같은 명령으로 keychain을 실행한다.

$ /usr/bin/keychain id_dsa
Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL

* Initializing /home/king/.keychain/blue-sh file...
* Initializing /home/king/.keychain/blue-csh file...
* Initializing /home/king/.keychain/blue-fish file...
* Starting ssh-agent
* Initializing /home/king/.keychain/blue-sh-gpg file...
* Initializing /home/king/.keychain/blue-csh-gpg file...
* Initializing /home/king/.keychain/blue-fish-gpg file...
* Starting gpg-agent
* Error: Failed to start gpg-agent
* Adding 1 ssh key(s)...
Enter passphrase for /home/king/.ssh/id_dsa: (enter a passphrase)

$ source $HOME/.keychain/tal-sh
$ ssh user@target

이 명령어 중에 keychain을 실행 시키는 명령은 단 한번만 실행하면 되고, tal-sh를 실행 시키는 과정은 .bashrc 에 등록하여 매번 shell이 동작할 때 마다 해 주어야 하는 작업이다.

keychain이 동작시 생성되는 환경 변수를 $HOME/.keychain 디렉토리에 저장한다. 이 환경 변수를 설정하면 암호 확인 없이 target에 접속할 수 있게 된다.

때문에, .bashrc에 다음과 같은 간단한 명령을 추가하는 것이 좋다.

if [ -f $HOME/.keychain/tal-sh ]; then
source $HOME/.keychain/tal-sh
fi

더불어 keychain을 간단히 다음과 같이 등록하여 사용해도 좋다.

keychain() {
/usr/bin/keychain id_dsa
source $HOME/.keychain/tal-sh
}

2007년 3월 22일 목요일

tango

tango
icon을 전문적으로 만드는 오픈 프로젝트. 이런 프로젝트도 있었네. 재밌군.

2007년 3월 20일 화요일

ethereal -> Wireshark

최고의 네트워크 패킷 분석 도구이다.
네트워크 패킷을 분석하여 type 별로 분류해 주며, 동시에 이미 알려전 packet의 경우 분석도 해준다.

아직까지 이보다 더 뛰어난 분석 도구는 본적이 없다. 일전에 mms 프로토콜 분석을 위해 사용한 적이 있는데, 이름을 자꾸 잊어서 기록 차원에서 적는다.

이름이 바뀌었다는군요. 새로운 이름은 Wireshark 입니다.

2007년 3월 16일 금요일

크게 다치다.

자전거를 타고 퇴근길이었다. 지하철 공사중인 사거리를 신호 확인후 진행하다가 갑자기 앞바퀴가 공사장의 틈새로 빠져들면서 안면부를 심하게 다쳤다.
일단 사거리에서 사고가 난 것이라, 위치를 급히 이탈하였으며, 집사람에게 전화하여 데리러 오라고 하여 영동 세브란드 병원의 응급실로 급히 이동하였다.
일단 입안쪽으로 심하게 찢어져서 여러바늘 꿰맸고, 안면부도 심하게 긁혀서 여러날 통원치료를 받아야 한다고 한다.
이걸 지하철 공사에 소송을 할 수 있을지 없을지 고민이다.
현재도 안면부가 심하게 부워서 밥을 제대로 먹지 못하고 있는 상황이다.
변호사에게 알아 봐야겠다.

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월 8일 목요일

모바일 단말 USB ethernet 자동 연결

USB ethernet을 지원하는 단말이 linux에 연결 되었을 때 이를 자동으로 연결하기 위해서 hotplug를 이용하는 방법에 대한 메모.

/etc/hotplug/net.agent 파일에서 "case $ACTION in" 이전에 다음의 내용을 추가한다.

if [ x"$INTERFACE" = xusb0 ]; then
ifconfig usb0 192.168.0.1 netmask 255.255.255.0
exit 1
fi

이 조건문은 INTERFACE가 usb0 인 경우에 동작하도록 작성한 것이다. INTERFACE는 환경에 따라 다를 수 있는데, 확인 방법은 USB 연결 후에 "ifconfig -a" 명령으로 확인할 수 있다.

2007년 3월 6일 화요일

pthread 사용법 [1]

pthread를 사용하는 방법에 대해 쉽게 설명하고자 한다.
이 글은 thread가 무엇인지 기본적인 사항을 알고 있는 사람을 대상으로 한다.

pthread는 다음의 두가지 함수를 그 시작과 끝으로 한다.

#include

int pthread_create(pthread_t *thread,
const pthread_attr_t *attr,
void *(*start_routine)(void*), void *arg);
int pthread_join(pthread_t thread, void **value_ptr);


pthread_create () 함수는 thread를 생성하기 위한 함수이다. 이 함수에서 가장 중요한 매개변수는 thread과 start_routine, arg 이다.
  • thread는 생성된 thread에 접근하기 위한 handle을 반환한다.
  • start_routine은 thread의 main 함수를 지정한다.
  • arg는 main 함수에 전달할 값이다.

pthread_join () 함수는 종료된 thread의 자원을 회수하는 역할을 한다. 함수가 호출되는 시점에서 thread가 종료될 때까지 대기한다.
  • thread는 thread에 대한 handle 값이다.
  • value_ptr은 thread가 종료할 때 pthread_exit () 함수를 호출하여 설정한 값을 가져온다.
간단한 사용방법은 다음과 같다.

2007년 3월 5일 월요일

C/C++ 을 위한 garbage callector

쓸만해 보이는 garbage callector (이하 GC)이다. Inkscape를 조사하다가 알게 되었다.
GC가 하는 일은 사용되지 않는 메모리를 자동으로 회수하여 재사용할 수 있도록 하는 메모리 관리 시스템을 말한다. 어떻게 C/C++에서 사용되지 않는 메모리를 자동으로 확인할 수 있는지 그 방법이 궁금하지만 다음에 시간이 나면 조사해 보도록 하자.

여기를 참조하고, 다음은 사용예제이다. 예제를 봐도 쓸만해 보이긴 하다.

#include "gc.h"
#include
#include

int main()
{
int i;

GC_INIT(); /* Optional on Linux/X86; see below. */
for (i = 0; i < p =" (int" q =" (int" p ="="" p =" (int" 100000 ="="" size =" %d\n">

메모 차원에서 글을 남긴다.

Inkscape

Inkscape는 SVG 저작도구이다. 일단 screenshot으로만 봐도 대단해 보인다. adobe의 flash에 대항할 수있는 SVG를 기반으로하는 저작도구라는데 많은 점수를 주고 싶다.

동적인 SVG 저작 기능도 갖추고 있는지 모르겠다. 만약 그렇다면, 이제 효과적인 SVG player만 확보된다면 flash player와 대적할 수 있지 않을까?
open source 산물로만 flash player에 대항할 수 있는 솔루션이 확보 될 수 있기를 희망한다.

메모 차원에서 글을 남긴다.

URL은 Inkscape이다.


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

2007년 3월 2일 금요일

강원랜드에 가다.

강원 랜드에 갔었다.

3월 1일 삼일절날 아침 6시에 서울에서 출발하여, 강원랜드에 9시 30분에 도착, 10시 20분 쯤 도착하였다.
이렇게 많은 사람들이 도박을 하는지 처음 알았다.
25만원을 가지고가 6만원을 잃었다.
Big Wheel이라는 게임을해서 15만원을 읽고, Black Jack을 하여 9만원을 만회하였다.

다시는 갈곳이 못된다. 하루종일 신경쓰면서 게임을 해야하는 상황을 이해하지도 적응하지도 못하겠다.

그런 상황을 즐기는 사람들이 이해되지 않는다.

다시는 가지 말아야지...

2007년 3월 1일 목요일

새로운 블로그를 만들다.

이전에는 업무에 사용하고 있는 컴에 블로그를 운영하다가, 시스템 업그레이드를 하면서 모든 데이터를 날려 먹었다.
이에 공개 블로그 사이트가 더 안전하게 데이터를 관리할 수 있다는 생각에 이곳에 블로그를 만들었다.
개인적으로 폐쇄적인 네이버가 싫다.