Linux2010. 1. 11. 09:42
fork-exec로 실행한 프로그램의 리턴값을 받는 방법이다.
예를 들어 mount를 쉘에서 실행하고 그 결과값을 받고 싶을때 사용한다.

#include <sys/types.h>
#include <sys/wait.h>

WEXITSTATUS
(status)
    returns the exit status of the child. This consists of the least significant 16-8 bits of the status argument that the child specified in a call to exit() or _exit() or as the argument for a return statement in main(). This macro should only be employed if WIFEXITED returned true.

[링크 : http://linux.die.net/man/2/waitpid]

[링크 : http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/2/waitpid]
Posted by 구차니
아이디어!2010. 1. 10. 20:38
친구녀석에게 물어보니 상당부분 논문으로도 나온 내용이라는데서 기운이 피식~ OTL



아무튼,
인간은 주파수 성분이 높은 데이터를 좋아한다.
예를들어, 대리석 벽을 보는 것과 단색으로 페인트 칠해진 벽중에 어느것에 더 많은 시선을 주고
어떠한 정보를 파악하려고 시간을 소비할까? 라는 의미이다.

대리석은 여러가지 색상들이 혼합되어 있어, 주파수로 따지면 상당히 높은 주파수이다.
그에 반해 단색 페인트 벽은 주파수가 1이다.(1가지 색 / 공간)
물론 의미가 없는 패턴이므로 사람이 이러한 벽에 관심을 주는 시간은 상당히 짧겠지만
그러한 시간 속에서도, 사람은 어떠한 반복되는 문양을 찾으려고 하게된다.

반복 = 주파수 = FFT 가 떠올랐다.

문자인식에 있어서도, 공간을 분할하는데 주파수로 파악을 하면
문자 하나의 위치를 파악하는데 사용할수도 있을것 같고,
반복되는 이미지가 존재하는지를 파악하는데도 사용할수 있을것 같고,
이미지 내에서 유사하거나 동일한 이미지가 존재하는지 파악하는데도 사용할수 있을것 같다.


그리고, 부가적으로 영상에 있어 처리 우선순위를 정하는데도 상당한 도움이 될 것 같다.
사람들이 어떤 의미를 주기 위해서는 색상의 변화가 생긴다.
글씨를 쓰거나 어떤 의미를 지닌 그림을 그리거나, 모두 공간 내에서 색상이 변화한다(= 주파수가 높다)

모든 이미지를 검색하기 보다는
1차 적으로 FFT 연산을 통해(아니.. FFT가 더 높을지도?) 특정 블럭의 주파수가 1인 부분을 분리하고
블럭들을 모아 여러개의 패턴이 반복되거나 공간대비 낮은 주파수의 패턴을 검출을 한다.
그리고 아주 높은 부분은 OCR로 돌리거나(문자로 간주) 너무 높을 경우 무시한다.(대리석 벽과 같이 의미없는 반복)

음.. FFT가 비록 부동소수점 연산으로 인해 상당히 CPU를 많이 사용하는 연산이었지만
HW 가속을 받을수 있게 된 현재에서는 영상인식에 있어 FFT를 전면적으로 도입하느것도 나쁘지는 않을듯 하다.


최소한, 판단에 '주파수' 라는 변수를 하나더 추가함으로서
전처리에 드는 CPU 파워 이상의 처리량을 줄일수 있지 않을까?

'아이디어!' 카테고리의 다른 글

휠체어 탑재차량  (2) 2010.05.10
스테레오 카메라의 다른 효용  (0) 2010.03.13
투명종이 / 방수종이  (0) 2009.12.05
파동, 파장, 주파수, 색상  (0) 2009.11.30
도로공사 통제 요령  (0) 2009.11.15
Posted by 구차니
개소리 왈왈/독서2010. 1. 10. 11:02
바이오스피어2는 바이오스피어1(지구/생명권)과 독립된 생태계를 만들어
독립적인 생명을 유지해나갈수 있는(물/식량 등) 폐쇄 생태계를 만드는 실험이다.


이 프로젝트에 대한 책을 보면서(실은 가이아 이론 빌리러 갔다가 바이오스피어2 책이 눈에 띄었다)
떠오른건 가이아 이론. 물론 이 프로젝트에 가이아 가설의 공동 저자(러브록 말고!)가 참여하기도 했다는데
이 때문인지, 상당부분 가이아 이론을 실험하는 느낌이 들었다.

물론 지구내에서 완전 밀폐된(저 큰 구조물이 우주왕복선 보다 더 밀폐가 잘되어 있다니!)
구조체에서 외부로 부터 유입은 전기와 태양 뿐이었지만
지구내에서 이뤄진 실험이라 biosphere2의 독립 가이아 보다는 지구의 가이아에 영향을 받지 않았을까
하는 조금의 아쉬운 생각이 들었다. 물론 우주로 저 큰 실험동을 옮기거나 바로 다른 행성으로 보낼수는 없기 때문에
선택된 방법이긴 했겠지만 말이다.

예전 1990년대 과학동아를 보면서 많이 접했던 것이긴 하지만,
이러한 책이 실험이 끝난지 거의 20년만에 나왔다는건 조금 의아하기까지 하다(원서 기준 15년)



인간실험 : 바이오스피어2, 2년 20분


프로젝트 - 1991년 부터 2년간
원서 - 2006년 출판
번역판 - 2008년 출판

[링크 : http://en.wikipedia.org/wiki/Biosphere_2]
[링크 : http://www.b2science.org/]
Posted by 구차니
'사진학 강의' 책을 본면서 읽은거 정리

DX 코드(DX encoding)
필름옆에 있는 은박과 검은색의 마킹부분.
이부분을 통해서 카메라에서 자동으로 인식하여 ISO를 설정하기도 한다.


[링크 : http://en.wikipedia.org/wiki/DX_encoding]


비넷팅(Vignetting)
비넷팅은 로모 카메라 처럼 사진 외곽이 검게 둥근 원형테를 이루는 듯한 현상이다.
원래 좋은건 아니라지만, 그래도 로모 분위기에 이 녀석이 한 역활을 하니 ^^;

[링크 : http://www.dcinside.com/graphic-info/vignetting.htm]
[링크 : http://en.wikipedia.org/wiki/Vignetting]


ISO (감광도)
ISO는 International Organization for Standardization의 약자이며,
필름의 경우 ISO 5800:1987 표준을, 디지털 카메라의 경우 ISO 12232:1998 표준을 따른다.
(wikipedia에 링크는 있으나 iso 공식 문서로 돈이 든다 ㄱ-)
ISO 값은 선형적으로 증가하며, DIN 값은 로그적으로 증가한다.
ISO 200은 ISO 100에 비해 감도(감광속도)가 2배(1스탑 ?) 높다.(사진학 강의 한글번역 9판 82p)

[링크 : http://ko.wikipedia.org/wiki/감광_속도]
[링크 : http://en.wikipedia.org/wiki/Film_speed]


ISO / ANSI / DIN
ISO 는 원래 표준화 조직이다. 카메라(필름/광학) 계열에서는 감광도로 쓰이지만..
아무튼 표준화 기구로서 세계/미국/독일 표준화 기구가 있다.

[링크 : http://en.wikipedia.org/wiki/International_Organization_for_Standardization] ISO (국제표준)
[링크 : http://en.wikipedia.org/wiki/American_Standards_Association]  ASA -> ANSI (미국 표준)
[링크 : http://en.wikipedia.org/wiki/DIN] DIN - Deutsches Institut für Normung (독일 표준)


stop(스탑)
스텝이라고 말하기도 하지만, 원래는 스탑이다.
초기의 카메라들은 금속판에 구멍을 뚫어(일종의 핀홀 카메라?) 조리개로 사용했는데
이 금속을 '스톱(stop)' 이라고 불렀다고 한다. (사진학 강의 한글번역 9판 24p)
+1 스톱은 빛의 양이 2배가 되는 것이며
-1 스톱은 빛의 양이 1/2배가 되는 것이다. (사진학 강의 한글번역 9판 18p)

[링크 : http://en.wikipedia.org/wiki/F-stop]


조리개(aperture)
조리개는 f 값(f number) 으로 불리며 일반적으로 조리개는 2스탑 단위로 제조된다.
그리고 8단계 이상의 스탑을 지닌 렌즈는 드문편 이라고 한다.
즉, 카메라의 사용가능한 조리개가 아래와 같은 경우 f/1.4와 f/2는 1스탑 차이이고, 2배의 밝기 차이가 있다.
(2배씩 차이나는 조리개를 풀 스탑 조리개라고 한다.)


f/1.4 f/2
f/2.8 f/4
f/5.6 f/8
f/11 f/16
f/22

조리개 값을 보면 2,4,8,16 그리고 1.4/2.8/5.6/11/22 로 서로 2배의 값의 차이가 나고
1.4와 2는 log의 차이이다. 각각의 숫자는 대략 root 2(대략 1.4)를 곱하면 맞아들어간다.

[링크 : http://en.wikipedia.org/wiki/Aperture]


음.. 밝기가 2배씩 되는건 ISO, f 값, 그리고 셔터속도(노출시간) 세가지이다.
등가노출 원리에 의해서  f값과 셔터속도는 서로 영향을 받으며,
f값이 1스탑 내려가면 셔터속도는 2배 길어진다.(그러면 심도는 깊어짐)
이러한 것들이 스탑으로 묶이는지는 알 수 없지만, 2배 차이라는 점은 웬지 모를 묘한 느낌이 든다.

'이론 관련 > 사진 광학 관련' 카테고리의 다른 글

소니 디카에서 이미지가 보이지 않을 경우  (0) 2010.06.06
노달 포인트 - Nodal Point  (4) 2010.05.27
색수차 - aberration  (0) 2010.01.03
디옵터(Diopter)  (0) 2010.01.03
사진학 강의  (16) 2009.12.27
Posted by 구차니
개소리 왈왈2010. 1. 9. 16:10
영화들을 보면, 인류가 우주로 뻗어 나가는 내용들이 많다.
머.. 아래 적게될 내용은 어쩌면 가이낙스 작품인 '건버스터'와 유사할수도 있다.



간혹 인간의 활동을 세포 수준에서 상상해 볼때가 있다.
근육의 확장과 수축을 통한 인간이라는 유기체 수준에서의 운동
근육세포와 다른 세포들의 차이점은 모르겠지만,
모든 세포에는 똑같은 전기적 자극이 흐를테고 조금더 많이 통하고 주로 통하는 곳이 신경이 되는 걸꺼고
조금더 많이 수축하고 늘어나는게 근육세포일테지만,

그 세포수준에서 외부의 자극 - 여기서는 전기가 되겠지만 - 에 의해서 움츠러 들고 늘어나는 수준의 행동이
유기체 수준에서 보여질때는 잡거나 던지거나 이런식으로 해석이 되는게 아닐까

세포수준에서 볼수 있는건 바로 옆 세포 정도?
광학탐지보다는 우주를 탐험하는데에는 X-ray등의 고주파 성분을 사용하지만
어떻게 되었던 인류에게는 매우 먼 거리일지라도, 정말 먼걸까? 라는 의문이 든다.

세포내부 넘어서, 분자 원자 수준으로 가면 그런게 아닐까?
원자 수준에서는 옆에 원자들과 멀리 떨어져있지만,
원자에서 관측해봤자 시야각제한도 있고, 멀어져봤다 옆에 세포까지 관측하기도 버겁지 않을까?

아무튼 각설하고,
인류가 다른 우주로 넘어가서까지 활동할 수 있을진 모르겠지만,
그렇게 된다면 지금의 인류와는 다른 정신적 진화로 과분하게 살지 않고
착해질지 아닐지는 모르겠지만, 지금대로라면 과연~? 이라는 생각이 든다.

현생 인류가 다른 우주에 까지 가서 자원을 채취하게 되면
(머.. 이 내용들은 영화 '아바타'를 보고 책 '가이아'를 읽고 나서 이전의 경험인 애니메이션 '건버스터'를 보고 느낀점이다)
그 우주의 자원도 소모하고 다른 곳으로 가고. 인류가 전 우주에 우글우글하는
또 다른 암(cancer)이 되지 않을까? 라는 생각이 든다.

문득, 이런 생각을 넘어서 SETI 프로젝트의 효용마저도 의구심이 든다.
정신적으로 진화를 하게 되면 가이아와의 조화를 이루며 이렇게 무리한 바벨탑을 만들어가며
우주를 휘젓고 다닐만한 '인간형' 유기생명체를 우주적 수준의 '가이아'가 만들어 내지 않을것 같다.

우리가 인지가능한 우주에서 살아있는 인간형 유기생명체는 우리뿐만이 아닐까.
우리보다 큰 인간형 생명체는 실은 우리가 살고있는 우주가 아닐까. 단지 너무 커서 우리가 관측할수 없을뿐이고
그렇고 그런게 아닐까~

'개소리 왈왈' 카테고리의 다른 글

일하기 싫어 뻘짓 2  (4) 2010.01.14
일하기 싫어 뻘짓  (0) 2010.01.13
아이폰과 함꼐 하는 재미없는 인터넷 생활!  (2) 2010.01.09
겨울 이상 한파와 가이아  (2) 2010.01.05
SixSense - 증강현실  (6) 2010.01.04
Posted by 구차니
개소리 왈왈2010. 1. 9. 15:50
RSS에 아이폰 어플 소개만 잔뜩 올라와서 읽을게 없다 ㅠ.ㅠ
하나 사야하나? ㄱ-





핸드폰 기능을 제외한 아이폰의 기능을
아이팟 다음세대로 출시하면 하나 사고 싶긴한데 -ㅁ-!

'개소리 왈왈' 카테고리의 다른 글

일하기 싫어 뻘짓  (0) 2010.01.13
암과 우주, 생명체  (2) 2010.01.09
겨울 이상 한파와 가이아  (2) 2010.01.05
SixSense - 증강현실  (6) 2010.01.04
올 한해도 후회하는 삶을 살도록 노력합시다!  (7) 2010.01.01
Posted by 구차니
눈길에서 자전거 타면
일단 스릴이 넘친다!

뒷바퀴가 드리프~~~트



근데... 내 자전거는 앞뒤 브레이크가 바뀌어있다.
즉, 오른쪽이 뒷브레이크고 왼쪽이 앞브레이크다.

근데... 오늘 자전거 타면서 까먹었.. OTL
덕분에 자전거 타다가 좌우를 잘못 잡아서 한바퀴 헤까닥 할뻔했다.
그래도 역시 겨울에는 눈길에 자전거? ㅋㅋㅋ




아무튼 자전거 타고 강동구립 송파도서관을 갔다왔다.
천호역에서 있는건 강동구립 해공도서관용 대여/반납이라고 한다.
흐음.. 토요일마다 가서 빌리는것도 귀찮은데 해공으로 바꿀가 -ㅁ-

'개소리 왈왈 > 자전거' 카테고리의 다른 글

한강공원 - 잠실  (13) 2010.04.08
자전거 여행(?)  (7) 2010.03.22
한강공원 - 자전거 가격과 경험의 권력화?  (2) 2009.10.19
돈쓸일은 혼자오지 않는다.  (12) 2009.07.28
아놔 이런 십슬레이션!  (6) 2009.07.26
Posted by 구차니
Linux2010. 1. 8. 16:26
# mount -t ntfs-3g

머.. 이런식으로 실행하면 자동으로 mount.ntfs-3g 라는 파일을 찾아서 실행을 한다.
처음에는 오 졸라 신기해!!! 하면서 뻘짓으로 ..

make 과정중에 나온 intall-exec-hook 인줄 알고 파고 들었다가 웬걸 ㄱ-
아무튼 install-exec-hook은 설치후 trigger 식으로 실행해주는 루틴을 의미할 뿐,
execution hook 이랑은 연관이 없다. (젠장 된장 미네랄!)
[링크 : http://wiki.kldp.org/wiki.php/DocbookSgml/Autotools-KLDP]

아무튼, linux kernel utils 를 검색해서 mount.c 를 열어보니 busybox와는 다른 확연한 차이가 있었다.
일단 exec() 패밀리와 fork()를 사용하는 루틴의 존재유무

util-linux-2.12r/mount/mount.c

static int
check_special_mountprog(const char *spec, const char *node, const char *type,
			int flags, char *extra_opts, int *status) {
  char mountprog[120];
  struct stat statbuf;
  int res;

  if (!external_allowed)
      return 0;

  if (type && strlen(type) < 100) {
       sprintf(mountprog, "/sbin/mount.%s", type);
       if (stat(mountprog, &statbuf) == 0) {
	    res = fork();
	    if (res == 0) {
		 const char *oo, *mountargs[10];
		 int i = 0;

		 setuid(getuid());
		 setgid(getgid());
		 oo = fix_opts_string (flags, extra_opts, NULL);
		 mountargs[i++] = mountprog;
		 mountargs[i++] = spec;
		 mountargs[i++] = node;
		 if (nomtab)
		      mountargs[i++] = "-n";
		 if (verbose)
		      mountargs[i++] = "-v";
		 if (oo && *oo) {
		      mountargs[i++] = "-o";
		      mountargs[i++] = oo;
		 }
		 mountargs[i] = NULL;
		 execv(mountprog, (char **) mountargs);
		 exit(1);	/* exec failed */
	    } else if (res != -1) {
		 int st;
		 wait(&st);
		 *status = (WIFEXITED(st) ? WEXITSTATUS(st) : EX_SYSERR);
		 return 1;
	    } else {
	    	 int errsv = errno;
		 error(_("mount: cannot fork: %s"), strerror(errsv));
	    }
       }
  }
  return 0;
}

위에 소스에서 보면

sprintf(mountprog, "/sbin/mount.%s", type);
res = fork();
execv(mountprog, (char **) mountargs);

mount -t ntfs 는 mount.ntfs 로
mount -t cifs 는 mount.cifs 로

-t type 으로 받은 인자를 이용하여 실행을 넘겨준다.



결론 : busybox에서는 mount 소스가 많이 간략화 되어있으므로
         표준 mount 파일에서 지원하는 mount.type 실행치환 기능을 지원하지 않는다.

[링크 : ftp://ftp.kernel.org/pub/linux/utils/util-linux/] 리눅스용 mount.c
[링크 : http://www.koders.com/c/fid840A8124E3B838F1EC7B690C35A7A6F9BF10277B.aspx] busybox용 mount.c

'Linux' 카테고리의 다른 글

linux에 연결된 HDD의 IO 상태보기  (0) 2010.01.11
fork-exec 종료시 리턴값  (0) 2010.01.11
ntfs-3g 크로스 컴파일 하기 (ntfs-3g cross compile)  (0) 2010.01.07
FUSE 넌 머냐?  (0) 2010.01.07
ntfs-3g at Tuxera  (0) 2010.01.06
Posted by 구차니
이럴때는 서버관리자 관한으로
회사를 쉬게하고 한 3일 동안 서버 재설치 및 파일 정리만 하고 싶다.




실은.. 일하기가 싫어 -ㅁ-
서버는 맛이 갈뿐이고
쓸데없이 서버만 세대고
합치면 두개면 충분할꺼 같은데 ㅠ.ㅠ

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

출근일기 - 20100113  (2) 2010.01.13
퇴근일기 - 20100111  (4) 2010.01.12
폭설 주의보인데.. 출근해야해?  (8) 2010.01.04
새해 복많이 받으세요!  (4) 2010.01.01
퇴근일기 - 20091222  (0) 2009.12.23
Posted by 구차니
Microsoft2010. 1. 7. 15:12
올리 디버거로 추적하는 글 보면.. 정말 토나온다 라고 할정도의...
어마어마한 배배배 꼬아놓은 코드로 바꾸어준다.
[링크 : http://window31.com/48]

themida와 armadillo
무서운 녀석이군..

[링크 : http://www.oreans.com/themida.php]
[링크 : http://www.siliconrealms.com/software-passport-armadillo.html]


2011.01.05 추가

'Microsoft' 카테고리의 다른 글

lsass.exe 바이러스!?!??!?!  (2) 2011.05.24
ISA Server  (0) 2011.05.23
windows embeded  (4) 2010.10.06
Windows server 2008 R2 + Hyper-V  (0) 2010.09.24
무료기술서적 - Inside C#  (0) 2009.05.17
Posted by 구차니