스토리에 집중해야하는 윤소라의 소라소리 같은 팟캐스트를 들을 때도, 내용에 집중해야하건만 으레 그렇듯 난 딴 생각이 든다. 정확히는 내용을 따라가는 의식과, 또 다른 딴 생각 의식이 동시에 진행된다. 오늘 든 딴 생각은 이렇다. 소리는 귀로 감지하는 연속적인 공기의 진동일 뿐이지만, 인간이 내는 목소리는 전달하고자 하는 의미가 시간에 따라 실리게 되므로, 단순한 진동이 아닌 것이다. 귀는 소리의 주파수(20Hz~20kHz) 별로 감지하는 영역이 다르다고 알려져있는데, 어느 순간의 목소리는 여러 주파수가 섞여 있으며, 각 주파수는 귀의 다른 영역을 각각 자극하고, 귀에서는 각 부위가 동시에 정보를 받아 하나의 패턴을 이루며, 그것이 시간에 따라 연속적으로 변하는 것을 목소리라 한다.


이러한 시간에 따른 공기의 진동 변화에 감정이 실리고, 의미가 실린다. 그런 소리를 받아서 기존에 학습된 패턴중에 제일 큰 진동을 일으키는 패턴이 소리 회상이라는 과정을 통해서 의미를 부여받게 되고, 시간에 따라 부여되는 의미 열이 또하나의 패턴이 되어 또다른 의미 회상과정을 통해 말하는 사람이 전달하고자 하는 의도를 파악하게 된다. 여기서 소리회상과 의미회상은 전적으로 지금 만든 말이므로 크게 전문성에 구애받지 않기로 하자.


경험했다라는 것은, 과거 어느 때 대상을 인식한 적이 있는 것을 말한다. 사람은 결코 인식한 적이 없는 것을 회상해 낼 수 없다. 어떤 구체적인 경험이든 추상적인 심상이든 그것이 한 번 의식 속에서 자리를 잡은 과정이 있어야만 다시 회상할 수 있는 것이다. 그것은 모국어를 학습할 때도 마찬가지며, 눈으로 사물을 인식할 때도 마찬가지이고, 현대 물리의 비시각적인 개념에 대한 이해 조차 그러하다.


학습은 감독을 필요로 한다. 감독은 자신의 개념을 이미 선행된 경험을 다시 경험하는 자에게 의미를 부여해주는 행위이다. 또는 선행한 경험을 전달한 적이 없는 상황이라면, 가장 합리적인 해석을 선택하는 방향으로 스스로 감독해야한다.



저작자 표시 동일 조건 변경 허락
신고
이른바 유틸리티라는 프로그램들이 있다. 이것들은 간단한 기능만을 하는 프로그램들을 말하는데, 전통적인 Unix에는 정말이지 잡다한 유틸리티들이 있다.

예를 들면, "y" 라는 프로그램은 단지 화면에 y를 한 줄에 하나씩만 출력할 따름이며, "true" 라는 프로그램은 항상 정상종료만하는 프로그램, "false"라는 프로그램은 항상 오류 종료만하는 프로그램이다.

이런 유틸리티는 처음 나올때부터 조금씩 진화에 진화를 거듭하게 되고, 때에 따라 개발자가 중도 포기하면, 다른 사람이 이어가거나 아니면 아예 명령어 구문만 같은 다른 프로그램을 만들기도 한다.

따라서, 다양한 버전의 같은 일을 하는 유틸리티가 존재하는데, 그 중 GNU에서 다시 만들어 배포하는 유틸리티들에 대한 얘기를 해보고자 한다.

GNU에서 배포하는 것 들은 기본적으로 긴 옵션을 가지고 있다.
또 이들이 배포하는 것은 --version 과 --help 옵션을 항상가지고 있다.

그리고, 상당히 쓸모 없을 것 같은 이런 긴 옵션들이 너무나, 정말 많다. Linux의 man page에서 이들 옵션에 압도당할 수 있는데, 아마 대부분 그런 긴 옵션에 대해서 거부감을 가지고 자세히 읽지 않는 습관이 들었을 것이다. 이 옵션들은 같은 뜻의 한 글자 옵션이 있기도 하고, 없기도 하다.

내가 보기에 이들 옵션들은 해커기질이 있는 사람들이나 사용할 것 같은데, 예를들어:

grep --mmap -w HOJIN *.txt

라는 명령을 예로 들어 보자. 설명서를 보니 가능하면 메모리 매핑을 해서 파일을 열란다. 이런 확장된 옵션들이 가지고 있는 것은 우리에게 많은 상상력을 불어 넣어준다.

왜? 메모리 맵을 사용하여 열까? 검색할 때, 더 빠르다는 뜻인가? 또, 왜 "가능하면"인가? 메모리 맵이 안되는 파일도 있다는 말인가?

또 다른 옵션을 보자.

$ ls --full-time

-rw-rw-r-- 1 pynoos pynoos 311 2004-06-11 12:34:00.000000000 +0900 AUTHORS
-rw-rw-r-- 1 pynoos pynoos 5 2006-01-05 11:20:56.000000000 +0900 BUILD_NUMBER
-rw-rw-r-- 1 pynoos pynoos 57 2004-06-11 12:34:00.000000000 +0900 COPYING


--full-time 옵션은 ls 명령으로 하여금 시간을 아주 고정폭으로 출력해준다. 그런데 소수점 이하의 초단위가 모두 0 이다. full-time format이 원래 초 이하까지 보여주는 것일까? 아니면 file system에 따라서는 마이크로초까지 저장하는데 내가 사용하는 것만 유독 초까지만 저장되어서 그런 것일까?

위 질문들에 대한 답은 하지 않겠지만, 이와 같이 한번도 사용하지 않은 옵션들을 통해서 설계의 철학을 엿볼 수 있는 질문들을 던져보는 것은 사실 정*말* 중요한 습관 중의 하나이다.

아는 것과 보는 것만 가지고 상상할 수 있는 우리들에게 보는 것에 노출이 된다는 것은 상상을 통한 영역 확장의 좋은 길 아닌가...!

아무거나 보는 습관을 갖는 것이 경험을 통해 아는 것보다 천 배 중요하다.
신고

+ Recent posts