2008년 9월 19일 금요일

wav file bit rate 구하기


bit rate = channel * data bit * sampling rate
bit rate는 위와 같이 구한다.
channel이라든가 data bit 등의 정보는 wave file의 header에 모두 들어있다.

만약 channel이 2이고, data bit가 16, sampling rate가 44100이라고 가정하면,
bit rate(초당 비트율)는 1,411,200이 된다.
즉, 초당 1,411,200bit만큼 file을 읽어 play를 한다는 소리가 되겠다.
이것을 byte로 환산하면 1,411,200/8 = 176,400byte가 된다.


1394에서 메세지는 정해진 주기에 맞춰 slot에 들어있는 값을 읽어오니까,
주기는 1/1000초로 주고 176.4byte씩 보내면 실시간으로 들어온다는 가정하에 buffering없이 음원을 출력할 수 있다.

허나, 이것을 주장했다가 "제너럴 하지 못하다" 라는 이유로 퇴짜맞았다:D

2008년 8월 8일 금요일

libstdc++.so: undefined reference to 불라불라

/opt/TMO-Linux/buildroot/build_i386/staging_dir/lib/gcc/i386-linux-uclibc/3.4.6/../../../../i386-linux-uclibc/lib/libstdc++.so: undefined reference to `__towupper_l'
/opt/TMO-Linux/buildroot/build_i386/staging_dir/lib/gcc/i386-linux-uclibc/3.4.6/../../../../i386-linux-uclibc/lib/libstdc++.so: undefined reference to `__freelocale'
/opt/TMO-Linux/buildroot/build_i386/staging_dir/lib/gcc/i386-linux-uclibc/3.4.6/../../../../i386-linux-uclibc/lib/libstdc++.so: undefined reference to `__wcscoll_l'
/opt/TMO-Linux/buildroot/build_i386/staging_dir/lib/gcc/i386-linux-uclibc/3.4.6/../../../../i386-linux-uclibc/lib/libstdc++.so: undefined reference to `__strcoll_l'
/opt/TMO-Linux/buildroot/build_i386/staging_dir/lib/gcc/i386-linux-uclibc/3.4.6/../../../../i386-linux-uclibc/lib/libstdc++.so: undefined reference to `__wcsftime_l'
/opt/TMO-Linux/buildroot/build_i386/staging_dir/lib/gcc/i386-linux-uclibc/3.4.6/../../../../i386-linux-uclibc/lib/libstdc++.so: undefined reference to `__strxfrm_l'
/opt/TMO-Linux/buildroot/build_i386/staging_dir/lib/gcc/i386-linux-uclibc/3.4.6/../../../../i386-linux-uclibc/lib/libstdc++.so: undefined reference to `__wctype_l'
/opt/TMO-Linux/buildroot/build_i386/staging_dir/lib/gcc/i386-linux-uclibc/3.4.6/../../../../i386-linux-uclibc/lib/libstdc++.so: undefined reference to `__iswctype_l'
/opt/TMO-Linux/buildroot/build_i386/staging_dir/lib/gcc/i386-linux-uclibc/3.4.6/../../../../i386-linux-uclibc/lib/libstdc++.so: undefined reference to `__nl_langinfo_l'
/opt/TMO-Linux/buildroot/build_i386/staging_dir/lib/gcc/i386-linux-uclibc/3.4.6/../../../../i386-linux-uclibc/lib/libstdc++.so: undefined reference to `__strtold_l'


요딴 식의 에러 해결법

GCC버전 upgrade. 4.2.X로

근데, GCC를 업그레이드 하면 옛날 소스가 안돌아 간다. 니미.ㅠ

2008년 8월 5일 화요일

grub login


오류라고 말하긴 뭐하지만,
무슨파일이 어떻게 바뀐건지 부팅이 되고난 후 login을 하는 부분에서 자꾸 password를 물어본다.
난 비밀번호 지정해 준적도 없고;ㅁ; 비밀번호가 뭔지도 모른단 말이다;ㅁ;

이를 해결하는 방법은 두 가지가 있다.


grub 명령어 kernel에 옵션으로 "single"을 주는 방법.
그러면 login없이 바로 부팅된다.

kernel /bzImage ... 어쩌고 저쩌고..... single


/etc/passwd 파일 수정.
이 파일을 열어보면, 맨 첫 번째 줄에
root:x:0:0:root:/root:/bin/sh 이라고 되있는 것이 보일 것이다.

여기서 'X'라는 것은 비밀번호가 어딘가 있다는 뜻이므로 이걸 삭제해 버리면 된다.
root::0:0:root:/root:/bin/sh

그럼 비밀번호 없이 login가능-_+)b

2008년 8월 4일 월요일

filesystem type is tftp, using whole disk


나를 몇 주간을 괴롭히고 몇 일간을 밤을 새우게 하고, 담배 무는 시간을 늘렸던 골칫덩이 에러-_-)!
filesystem type is tftp, using whole disk!!

.... 5분도 안되서 에러를 잡아주셔서 감사합니다만, 제가 너무 비참해지는군요.ㅠㅜ

원인은 방화벽이었다.
tftp에 방화벽이 설정되어 있어서 booting image를 받지 못했던 것.

실로 나를 좌절하게 만드는 에러가 아닐 수 없다.ㅠㅜ

한고비 넘겼다 싶었더니만, 이번엔 kernel panic이구나... 닝기미...



리눅스에서 윈도우 원격접속

리눅스에서 윈도우로 원격접속을 하려면 여러가지 방법이 있지만, 그 중에 rdesktop을 이용하는 것이 가장 일반적이다.

rdesktop으로 원격접속을 해보자.


1. install

rdesktop 다운로드
다운로드를 받고 압축을 푼다.

압축을 푼 디렉토리로 이동하여 다음 명령어를 수행한다.
$ ./configure (몇몇 패키지가 설치되어 있지 않다고 투덜대면 패키지를 설치하고 다시 한다.)
$ make
$ make install


2. 사용하기

위와 같은 방법으로 rdesktop을 설치하였다면 이제 사용하면 된다
$ rdesktop -a 16 -f  ipaddr

-a는 해상도 옵션(16bit을 의미)
-f는 fullscreen이다.

윈도우 화면이 뜰 것이다+_+!
와우.