날개셋 한글 입력기 7.9 -- 上

바야흐로 2015년 봄에 <날개셋> 한글 입력기 7.9를 내놓게 된 것을 기쁘게 생각한다. 번호가 9로 끝나는데 날짜가 마침 서울 지하철 9호선 2차 구간 개통일과 일치하는 것은 그냥 우연...;;치고는 절묘하다. ^^

이번 7.9는 이 프로그램의 개발 역사상 "한글 입력 체계" 카테고리에만 아이템이 제일 많이 추가된 버전이다. 지난 1월 이후로 중간 개발 근황글이 없다시피했는데, 근황글을 쓰는 것조차 시간이 아까울 정도로 지금까지 너무 바쁘게 지냈기 때문이다. 코딩, 글쓰기, 학교 과제, 회사일, 교회 서적 번역..
그래도 8.0까지 가는데 더는 지체할 수가 없어서 이번 7.9에서 한번 쉬었다 가고자 한다.

※ 새로운 날개셋문자: '글쇠 누름' 타입

IME란 기본적으로 특정 키보드 입력을 가로채어 그 대신 운영체제가 제시하는 다른 규격대로 조합/완성 문자열을 생성하여 보내는 프로그램이다. 그런데 발상을 전환하여, A라는 키보드 입력을 가로채어 그 대신 B라는 다른 키보드 입력을 생성하는 기능이 날개셋문자의 타입 차원에서 추가됐다. 여기에는 단타뿐만 아니라 간단히 Ctrl/Shift 조합도 포함될 수 있다.

<날개셋> 한글 입력기는 IME일 뿐 키매크로나 키보드 드라이버 훅킹 같은 걸 '지향'하지는 않는다. 하지만 새로운 날개셋문자 타입을 이용하면 A를 눌렀는데 화살표 키가 눌린다거나, 다른 뭘 눌렀는데 Ctrl+A가 눌린다거나 하는 간단한 치환 효과를 낼 수 있다. 프로그램의 활용 가능성이 더욱 높아지리라 기대한다.

GetMessageExtraInfo 함수가 이런 용도로 쓰인다는 걸 알 수 있었다. 즉, 사용자가 진짜로 누른 키 입력 메시지와, 프로그램이 인위로 생성한 키 입력 메시지를 구분하기 위해서다. 내가 인위로 생성한 키 메시지는 또 가로채지 않아야 하니까. 이는 The old new thing 블로그에도 언급되어 있다. 그리고 <날개셋> 한글 입력기가 개발 15년 만에 이 캐잉여 함수를 사용하는 프로그램의 반열에 올랐다. 경to_the축!

날개셋문자의 종류가 3.0 시절에는 5종류밖에 없던 것(일반, 세벌, 두벌, 특수글쇠, 상태 전이)이 이제는 10종류로, 정확히 두 배로 늘었다(중종-초, 종-초중, 다중 문자, 종성 두벌, 글쇠 누름). 그래서 이 참에 날개셋문자를 생성하는 대화상자도 이렇게 바뀌었다. 라디오 박스 목록 대신, 날개셋문자 기능들이 어떻게 분류되는지를 나무 계층 구조를 통해 알 수 있게 했다.

사용자 삽입 이미지

※ 글쇠 인식 관련 마이너 기능

앞서 언급한 '글쇠 누름' 날개셋문자를 추가하기 위해, 편집기, 외부 모듈, 입력 패드라는 모든 구현체에서 글쇠 인식 부분을 상당수 손질을 해야 했다. 그리고 이걸 수행하는 과정에서 뜻밖의 작업이 덤으로 행해졌는데..
화면 키보드에, 글쇠를 클릭해서 문자를 입력하는 통상적인 기능뿐만 아니라 역으로 사용자가 누른 키보드 글쇠를 화면에다 표시해 주는 기능을 드디어 추가했다. 화면 키보드를 우클릭하면 이걸 켜는 옵션을 볼 수 있다.

그리고 '글쇠 누름' 날개셋문자를 생성하는 UI를 구현하려다 보면 결국은 "입력하고자 하는 글쇠를 직접 눌러서 선택"하는 UI가 필요해진다.
이걸 구현하는 김에, 예전 고급 입력 스키마의 '고급 글쇠 인식 옵션' 대화상자에다가도 [...]버튼을 추가하여 대상 글쇠를 콤보 상자에서만 고르는 게 아니라 직접 눌러서 고르는 UI를 같이 추가했다.

※ 입력 스키마와 글쇠배열

(1) 글쇠 수식의 R 변수에다가 임의의 32비트 크기의 난수를 되돌리게 하는 옵션을 '고급 스키마'에 추가했다. 입력 동작을 non-deterministic하게 만드는 기능인데 굳이 '기본 스키마'가 갖춰야 할 기능이라 생각되지는 않아서 고급에다가만 넣었다. 'A'+R%26 이렇게 수식을 넣어 주면 A부터 Z까지 아무 알파벳이 임의로 입력되게 된다.
R 변수는 실제로 사용할 때만 값이 정해진다. 사용하지도 않는데 매번 무조건 난수값이 계산되고 사이클이 변하는 것은 아니다.

(2) 필요하다면 글쇠배열 수식의 전후에, 모든 글쇠에 대해 공통으로 실행할 수식을 지정할 수 있게 했다. 소문자로 된 사용자 정의 변수를 공통으로 초기화한다거나(전처리), 그리고 날개셋문자를 되돌릴 때 사용하는 변수값과 최종적으로 변경되어야 하는 변수값이 다를 때(후처리) 이 기능을 사용하면 된다.
물론 이런 전처리/수처리 수식을 사용할 정도이면 글쇠 수식이 정말 상황 의존적이고 복잡한 상황일 것이다. 한글 입력 순서를 자동으로 계산하는 기능은 그런 보조 수식은 고려하지 않고 동작한다.
지금까지 글쇠배열과 관련된 속성 숫자를 지정하는 입력란이 있었지만 사용하지는 않고 있었는데, 이제부터는 그 숫자를 이런 옵션을 저장하는 용도로 사용할 것이다.

(3) 글쇠배열 수식의 T 변수에는 기본 입력기가 만들어 내는 한글 조합의 오토마타 상태만 들어있었다. 그러나 옵션을 준 경우 고급 입력기가 만들어 내는 사용자 정의 조합의 상태 번호도 여기에 들어가고, 그 대신 이 조합의 타입 값이 C라는 변수에 들어가게 했다. 한글이면 1, 사용자 정의 조합이면 2이다. 하지만 고급 입력기의 사용자 정의 조합은 개념상 오토마타와 낱자 결합을 통합한 로직을 자체적으로 갖고 있기 때문에 글쇠배열이 조합 상태에 따라 조건부로 동작해야 할 일은 그리 많지 않을 것이다.

(4) 또한 옵션을 준 경우, 굳이 '상태 전이' 날개셋문자를 사용하지 않고 글쇠배열 수식에서 T 값을 변경하면 그걸로도 상태 전이 효과가 나게 했다. 이게 언제 유용한지는 좀 더 생각해서 입력 예제를 만들어 봐야 할 것 같다.

※ 입력 기능 추가

다음으로 문자 생성기 계층으로 넘어가면,
(1) '낱자 재결합' 텍스트 필터의 기능을 일부 수행하는 특수글쇠가 추가됐다. 기[ㅇ](종성 조합 중)을 [깅]으로 바꾼다거나, 저렇게 앞으로 가는 게 아니라 뒤로 결합을 하는 특수글쇠도 있다. 물론 이것은 조합이 끝난 옆의 글자를 변형하는 기능이기 때문에 TSF A급 구현체에서만 제대로 동작한다.

(2) 비록 이번 7.9에서 온전히 구현되지는 않았지만 곧 지원될 세벌식 지능형 동시치기 기능을 염두에 두고 음수 오토마타 지시자가 두 개가 새로 추가되었다.
지금 입력된 글쇠뿐만 아니라 직전의 글쇠까지 동시에 다음 글자로 옮기는 것, 그리고 지금 입력된 글쇠와 예전에 입력된 글쇠의 입력 순서를 바꾸는 것인데, 이와 비슷한 기능을 하는 특수글쇠도 같이 추가되었다.
앞으로 입력 스키마 차원에서 새로운 기능이 추가되면, 세벌식 글자판에서도 글쇠 입력 타이밍에 따라 도깨비불 비슷한 게 일어나면서 글자 재배치가 일어나는 동작을 볼 수 있을 것이다. 문자 생성기의 기존 기능을 이런 식으로 활용하는 것이다.

(3) 낱자 결합 규칙은 잘 알다시피 A + B = C의 형태인데 여기서 A, B, C는 모두 0이 아니어야 한다. 단지, A~C를 0인 것처럼 보이게 하는 가상 낱자 규칙만을 추가로 지정할 수 있을 뿐이다.
그런데 이번 버전에서는 그 금기를 깨고, 65530이라는 끄트머리의 reserved 낱자와 결합을 시도하는 경우 지금 낱자가 무조건 0으로 바뀌게 하는 예외를 추가했다.

이런 기능이 왜 필요한 것일까? 성분과 성분을 왔다갔다 하는 굉장히 기발한 입력 방식이 존재하기 때문이다. 그 예 중 하나는 김 민겸 님께서 고안한 입력 방식이다.
이걸 보면 "ㄱ → 그 → ㅋ", "ㄱ → 기 → 끼"라는 규칙이 있다. 모음 ㅡ가 한 번 입력되어 버렸는데 그때 또 ㅡ가 입력되면 그 뒤엔 모음은 0으로 깨끗이 초기화되고 초성만 ㅋ으로 바뀌어야 한다.

단순히 표시만 0으로 되는 가상 낱자여서는 곤란하다. ㅋ이나 ㄲ이 만들어진 뒤에 또 후속 모음이 입력되는 경우를 논리적으로 감당할 수 없기 때문이다.
이때 ㅡ 자리에는, 현재 초성으로 ㄱ이 입력되어 있는지를 점검한 후, ㄱ이 있다면 ㄱ을 ㅋ으로 바꾸는 초성을 입력함과 동시에 중성 자리에는 65530을 주면 된다. 이때는 오토마타도 초+중 상태이던 것을 초성 상태로 되돌리게 해야 한다.

<날개셋> 한글 입력기는 이런 것도 이제 이론적으로 수용 가능하게 되었다. 단, 이렇게 여러 낱자가 한꺼번에 변하는 변칙적인 입력 방식은 입력 순서 찾기 같은 자동화 기능의 혜택을 받을 수는 없다. ^^

※ 고급 입력기에 기능 추가 (특히 초성 지향 도깨비불)

온갖 복잡한 기능과 옵션을 동원해서 한글 한 글자를 조합하는 기능은 '기본 입력기'에 다 들어있다. '고급 입력기'가 하는 일은 비한글 문자도 조합을 잡는 걸 가능하게 해서 한글 조합과 혼용하는 것이다. 그리고 한글을 여러 한글로 풀거나 비한글 문자가 섞인 형태로 표현하는 것도 그런 기능에 포함된다.

(1) "한글 출력 치환"에서 "글자 치환" 기능은 지금까지 그냥 이 한글을 저 한글로 치환한다는 식의 테이블 기반 치환만 지원했다. 그러나 수천~수만 자의 한글을 치환해야 하고 치환 규칙이 뭔가 수식으로 표현이 가능하다면, 무엇을 무엇으로 치환할지를 A,B,C에 대한 수식으로도 깔끔하게 표현 가능하게 했다.
유니코드 PUA 영역에다가 여러 글자들을 배당해 놓고 그 글자를 마치 한글 입력하듯이 입력하고 싶다면, 이 출력 치환 기능을 이용하면 된다.

(2) 그리고 "낱자 치환"에서 특별히 종성을 치환하는 기능은 지금까지 가상 낱자와 연계해서 ㄴ+ㅇ 같은 임시 상태를 표현하는 데 쓰이곤 했다. 이번 버전에서는 그걸 더 확장해서 "초성으로 먼저 나갔다가 다시 앞 글자 받침으로 들어가는" 도깨비불 현상을 구현하는 옵션을 추가했다. 다시 말해 "울 -> 우리"가 아니라, "하ㄴ -> 한ㄱ" 이런 식으로 입력이 진행된다는 뜻이다.

지금도 이미 모든 종성에 대해서 종성 A를 "빈 종성 + 초성 A"로 치환하는 종성 치환 규칙을 수동으로 집어넣으면 이런 동작을 구현할 수 있다. 하지만 이 기능은 지금 도깨비불 현상 예상 결과를 토대로 자동으로 구현해 주기 때문에 낱자 치환 기능의 옵션으로 들어간 것이다.

이렇게 종성까지도 초성을 먼저 추구하는 두벌식은, 초성조차 종성 형태로 먼저 입력되는 '종성 지향 두벌식'과는 성향에 관한 한 완전히 딴판이다. 그에 반해 수식을 이용해 초성에서는 초성, 종성에서는 종성 문맥으로 동작하는 일반적인 두벌식은 중도(?) 성향이고 말이다. <날개셋> 한글 입력기는 이런 두벌식의 세밀한 패러다임을 모두 잡아 냈다.

받침이 없는 글자가 받침이 있는 글자보다 더 많기 때문에 두벌식 자판의 도깨비불 현상은 "초성부터 먼저 표시했다가 다음에 종성으로 가는 형태가 원칙상 옳다"라고 주장하는 분이 계신다. 이런 방식은 도깨비불 현상 이질감이 약간 덜할지는 모르지만 조합 중인 한글의 글자 수가 잠시 둘로 늘어나며, 조합이 완성되었을 때의 글자 형태(한)와 조합 중일 때의 글자 형태가(하ㄴ) 달라지는 문제가 있다. 그러니 '선종성 후초성' 방식이 대세가 된 건 다 아무 이유 없이 그리 되지는 않은 듯하다. 이번 7.9 버전도 그 조합 중단 처리가 원활하지 못하기 때문에 이는 8.0에서 풀어야 할 숙제로 남기게 되었다.

※ 새로운 '허용 한글 범위' 기능

지금까지 '허용 한글 범위'로 선택할 수 있던 기능으로는 커널이 기본 제공하는 "KS X 1001 완성형 2350자"에 덧붙여 플러그 인이 제공하는 "한양 PUA 완성형 옛한글 5299자", 그리고 "한컴 2바이트 완조형 옛한글" 정도가 고작이었다. 2350자 테이블이야 날개셋 커널이 완성형 한글 글꼴을 지원하기 위해 어쩔 수 없이 갖추고 있는 것이고 그래서 허용 한글 범위 기능까지 완전 덤으로 제공하는 것이다. 나머지 legacy 기능들도 그냥 명분상으로 제공될 뿐이지 이 유니코드 5.2 천하통일 시대에 딱히 의미가 있다고 보기는 어렵다. '설정'을 눌러도 딱히 설정할 것 역시 없다.

그러나 7.9부터는 이 기능을 예전보다는 좀 더 창의적으로 활용할 수 있게 되었다.
(1) 고급 입력기와 연동하여 "글자 치환"이 존재하는 한글만 입력이 허용되게 하는 기능이 있었는데, 여기에 덧붙여 "낱자 치환"이 된 낱자의 다음 낱자부터는 입력되지 않게 하는 기능도 추가되었다.

좀 변칙적인 입력 방식 중에는 같은 글쇠를 눌렀는데 한글과 비한글 문자가 순환되는 형태인 것이 있다. 비한글도 내부적으로는 가상의 한글 낱자인데 단지 그걸 비한글 문자로 치환해서 출력하는 것일 뿐이다. 그래서, 정말로 한글 초성을 입력하고 있었다면 중성이나 종성으로 더 진행이 가능한 반면, 지금이 비한글 문자로 치환된 초성을 조합하는 상태라면 중성 같은 다음 성분이 현 글자에 붙지 않고 다음 글자로 떨어져 나가게 한다. 이런 기능이 '허용 한글 범위'와 연동이 가능하다는 것이다.

요컨대 한글과 비한글 문자를 섞어서 입력한다면 '낱자 치환'에다 제약을 걸면 되며, 한글을 그 자체로는 전혀 사용하지 않고 다른 문자를 입력하는 수단으로만 사용한다면 '글자 치환'에다 제약을 걸면 된다. 후자는 한글로 일본 문자를 입력하는 것이 대표적인 예인 것이다.

(2) 그리고 사용자가 지정한 UTF-16 방식의 텍스트 파일에 있는 한글만을 조합 허용하고 그렇지 않은 것은 불허하는 기능이 추가되었다. 이거 하나만 있으면 앞으로 '허용 한글 범위'에 데이터 기반의 새로운 기능이 더 추가될 여지 자체가 없을 것이다. 외장형 후보 변환 데이터와 더불어 <날개셋> 한글 입력기가 외부 데이터 파일을 참조하여 동작하는 경우가 하나 더 추가되었다.

예제로는 KS X 1001 2350자에다가 오늘날 완전히 공기 잉여화한 문자 집합인 KS X 1002 1930자를 합한 데이터를 제공하므로 이것을 불러다가 사용하면 된다. 여러 입력 항목들이 동일한 데이터 파일을 읽더라도 한 파일은 메모리가 한 번만 할당되는 정도의 처리는 다 돼 있다.
(下에서 계속됨)

Posted by 사무엘

2015/03/30 08:33 2015/03/30 08:33
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1078

퍼펙트란, 리듬 게임에서는 화살표 타이밍과 거의 동시에 정확하게 손발 동작을 잘 넣었을 때 받는 최상위 등급 판정이다.
FPS인 퀘이크 3 arena에서는 한 번도 죽지 않고 게임을 마쳤을 때 받는 상의 명칭이다.
뭔가 좋은 말이긴 한데, 정확하게 무엇이 좋거나 무엇을 성취했을 때 perfect가 되는지는 분야와 문맥에 따라 잘 분간할 필요가 있다.

perfect와 비슷한 좋은 형용사인 excellent를 생각해 보더라도,
이게 퀘이크 3 arena에서는 짧은 시간 동안 투 킬 이상을 달성했을 때 받는 판정인 반면,
버추어 파이터에서는 한 번도 맞지 않고 상대방을 이겼을 때 받는 판정이다.
모탈 컴뱃에서는 그게 또 이름이 달라서 flawless victory이다. 즉, 이런 용어들은 그야말로 정하기 나름인 것이다.

이런 맥락에서 볼 때, 성경이 말하는 perfect라는 것은..
굳이 인간이 도저히 도달할 수 없는 절대무오 넘사벽 언터쳐블, 신의 경지급의 완벽만을 의미하지는 않는 것 같다. 그런 뜻이라면 차라리 infallible이 더 적절하다.
또한 수학으로 비유하자면, 유리수는 제아무리 무한히 조밀하다고 해서 결코 실수만치 완비되어 있지는 못한 것과 비슷하다. 그런 게 사람과 하나님의 스케일의 차이인 건지도 모르겠다.

단지 어떤 주어진 환경, 문맥, scope에서 하나님이 제시한 목표나 기준을 오차 없이 달성해서 조건을 만족했다면 성경적으로 perfect가 된다.
특히 마음이 완전히 올바르다는 건 두 마음 딴생각 없이 순수한 것까지 포함한 개념일 것이다. 성경은 하나님은 회색분자를 굉장히 싫어하시니 말이다.
어떤 경우든, “내가 완전하니 너희도 완전하라”(마 5:48)라는 말씀이 무슨 “우리가 신들과 같이 되리라(창 3:5)” 같은 말을 하는 건 아닐 것이다.

그렇기 때문에 성경은 우리와 같은 죄인이던 노아나 욥도 perfect라고 평가한다. 그렇다고 해서 이 사람들이 무슨 천주교 성인 같은 급이라는 뜻이 아니다.
반대로 하나님이신 예수님조차 고난을 통해 완전하게 될 필요가 있었다고 성경은 히브리서에서 말한다.

아니 그럼, 인간이자 하나님이고 죄성 없이 처녀에게서 태어난 예수님이 그 전엔 품질 면에서 완전하지 못했고 무슨 결함이나 약점이 있기라도 했다는 뜻인가? 당연히 그런 뜻은 아니다.
성경의 하나님은 전지전능하긴 하지만 자신만의 이념과 성품, 질서가 있고 방향성이 있다. 그렇기 때문에 다른 건 마음대로 다 해도, 가령, 거짓말은 못 하신다고(딛 1:2) 돼 있다.

그렇게 부족할 것 없는 하나님께서 드디어 인간의 몸도 입어 보고 인간과 똑같은 관점에서 부족함, 연약함, 고난을 다 경험해 보고 십자가 퀘스트를 클리어 함으로써 그 방면에서 드디어 perfect 판정을 받았다는 게 성경의 판결이다.
이런 점에서 성경 자체만 해도... 그리스어/히브리어를 자국어로 번역한 성경이 완전할 수 있느냐 하는 질문에 대한 답은 최소한 두 관점에서 논의해야 할 것 같다.

KJV에 비해서는 예전의 제네바/비숍 등의 성경은 군더더기가 많고 번역의 질이 KJV만치 좋지는 못했을 것이다.
우리말 흠정역 성경만 해도 n-1판은 더 나중에 나온 n판에 비해서는 미묘한 오탈자나 실수가 더 많이 있었다.
심지어 KJV 자체도 비록 오늘날까지 내용의 변경은 없었을지언정, 1611년 초판은 인쇄공들의 실수로 인해 수십 군데의 typo들이 있었다.

그럼에도 불구하고 우리는 그런 옛날 성경들도 오늘날의 변개된 계보가 아닌 바른 계보에 속하는 좋은 성경이었으며,
그 당시에 권위를 부여하고 열심히 읽고 설교하고 가르치는 데 사용하기에 충분한 완전한 성경으로 사람과 하나님 모두에게서 역사적으로 인정받았다고 믿는다. 문맥을 분간을 잘 해야 된다.

그런 마이너한 옥의티는 그야말로 outlier일 뿐이지 본질적인 문제가 아니며, 현대에 벌어진 역본 변개 내지 성경 업데이트 드립과는 결코 같은 레벨이 아니기 때문이다.
대놓고 부패한 본문에서 번역된 개역성경에도 복음이 담겨 있고 이걸 읽고 구원받은 사람들로부터 한국 교회가 시작되었거늘, 하물며 바른 계보의 성경 번역본은 얼마나 더하겠느냐 말이다.

단지 성경 본문에 문제가 있으면 구원 이후 사람이 제대로 성장하기가 어렵고 개독안티들의 성경 공격에 대처하기가 더 어려워진다. 컴퓨터 소프트웨어로 치면 그럭저럭 돌아가고 결과물은 나오지만, 보안이 취약해서 악의적으로 조작된 데이터 파일에 자주 뻗는 정도의 문제가 생기는 꼴이다. 우리가 겨우 이런 약한 모습이나 보이려고 이 세상의 추세를 거스르고 또 거슬러서 예수쟁이가 된 건 아니지 않은가?

초대 교회 성도들이 예수님이 자기 세대에 다시 재림할 거라고 믿었고,
중세에 잉글랜드/스코틀랜드 사람들이 교황이야말로 그(the) 적그리스도라고 믿었던 것과 같은 맥락이다.
그 시절과 그 식견에 계시의 분량이 그게 전부였을 때는 저 스케일로 믿고 양심대로 행한 것이 최선이고 perfect한 신앙이었을 테니까.

이렇듯, 아무리 성경을 문자적으로 믿고 축자 영감설을 믿는다고 해도, 성경의 보존과 완전성에 대해서는 아주 최소한의 추상적인 공통 layer는 존재한다고 보는 게 바람직해 보인다.

시내/바티칸 사본이 제아무리 몇백 년을 짱박혔다고 해도 그런 것이 하나님께서 섭리로 보존해 주신 성경 말씀은 아니다. 유다복음 도마복음이라든가, 전량 회수해서 폐기 처분했대도 누군가가 꿍쳐서 살아남은 사악한 성경(not이 실수로 누락되는 바람에 너는 간음할지니라=_=)이 무슨 하나님 말씀 보존 약속의 결과물은 아닌 것이다.
오히려 개개의 수명은 수십 년 남짓밖에 못 되었더라도 잡초처럼 필사되고 놀라운 내용 일치를 보여 온 다수 공인 본문과, KJV에 이르는 거시적인 영어 성경 계보라는 집합에 하나님의 말씀 보존 약속이 깃들어 있다고 보는 게 타당하다는 뜻이다.

Posted by 사무엘

2015/03/27 19:27 2015/03/27 19:27
, , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1077

오늘은 1980년대 후반~1990년대 초반에 개발되었던 비트맵 그래픽 에디터인 Image72와 Splash!를 소개하겠다.
이들은 닥터할로(원래 이름은 드로잉 할로라고 하는..) 나 딜럭스 페인트 같은 프로그램에 비해 인지도가 이상할 정도로 듣보잡인 것 같다.
진작부터 추억을 회상하는 글을 올리고 싶었으나, 정보가 넘쳐나는 구글과 잡학 지식의 보고인 위키백과를 검색해 봐도 나오는 정보가 너무 없었다.

이름뿐만이 아니라 제작사까지 같이 넣어 줘야 그나마 외국 사이트 위주로 몇 개가 뜨는데, 그래도 자료가 드물다.
국내에서는 운영자가 뭘 하는 어떤 분인지는 모르겠지만 dreamphp라는 사이트에서 그야말로 엄청난 양의 국내외 고전 소프트웨어 소개와 스크린샷 리스트가 있고 거기에 Image72와 Splash!도 나란히 소개돼 있다. 가히 고전 소프웨어 박물관이라고 해도 될 듯. (단, 소개와 스크린샷만 있지 프로그램의 다운로드는 제공 안 함)

본인은 초· 중딩 시절엔 컴퓨터가 256컬러를 표현하는 것만으로도 희열을 느끼곤 했다.
게다가 그래픽 에디터는 여타 분야의 프로그램과는 뭔가 다른 독특한 UI와 포스가 존재해 왔으니 말이다.
그런 프로그램들을 어른이 된 뒤 다시 접하니 마치 이산가족을 상봉한 듯한 느낌이다.

1. Image72

사용자 삽입 이미지

20여 년 전, 본인이 집에서 486 컴퓨터를 처음으로 접했을 때 그때 컴에 기본으로 깔려 있던 프로그램 중 하나였다.
나중에 알고 보니 얘는 메뉴가 없이 그저 검정 배경에 단순한 UI를 제공한다는 점에서는 닥터할로를 닮았다. 그리기 기능은 Windows의 그림판 같은 그저 그런 수준.

표준(?) 버전은 640*480 16색 VGA에서 실행되었다. 단색 버전과 심지어 Image256이라는 256색 SVGA 버전도 있다고는 하지만 그건 난 실물을 못 봤다.
또한, A4tech라는 제작사에 대해서도 현재는 알려진 게 없다. 다른 제품을 더 만든 게 있는지, 혹시 이 프로그램은 DOS 말고 다른 플랫폼 포팅도 됐는지 같은 것들. 단, 검색을 해 보니 미국이 아닌 타이완 국적의 기업이며 저 링크된 회사와 정체성이 동일한 회사가 맞는 것으로 보인다.

인터넷에서 존재감이 완전히 묻혀져 가는 Image72에 대해서 더 많은 정보를 알고 계신 분의 제보를 기다린다.

2. Splash!

사용자 삽입 이미지

얘는 320*200 저해상도에서 256색을 지원한 프로그램이다. 게임 말고 이런 그래픽 모드를 사용하는 프로그램은 드물었다.
개발사는 Spinnaker software. 지금도 있는 회사이긴 하나, 그때로부터 워낙 긴 시간이 흘렀다 보니 Splash!의 개발사와 동일한 곳인지 정확히는 모르겠다. (맞는 것 같긴 하다만)

우리가 놀랄 만한 점은, 이 프로그램은 1988년 12월에 출시되었다는 점이다.
VGA 그래픽 카드가 출시된 게 1987년이다. 그 정도로 까마득한 옛날에 VGA의 256색을 모두 활용하는 거의 초창기 프로그램이었기 때문에 Splash!는 출시 당시엔 굉장한 화제를 모았다. 당대의 컴퓨터 잡지들도 앞다퉈 소개할 정도였다고 한다. 마치 19세기나 20세기 초반에 만들어진 소수의 컬러 사진을 보는 듯한 느낌이다.

다만, 화면 해상도는 그렇다 쳐도 편집할 수 있는 그림의 크기도 화면의 크기를 넘어갈 수 없었던 걸로 기억한다. 그건 좀 아쉬운 점이다.

Splash!를 보니 다음으로, 팔레트 관련 추억을 좀 늘어놓고 글을 맺도록 하겠다.
컴퓨터의 그래픽 모드에서 256색은 2색/16색 같은 저색상도 아니고 하이/트루 같은 고색상도 아닌 딱 중간을 차지하는 독특한 모드이다. 1픽셀의 정보량이 딱 1바이트여서 프로그래밍이 쉬운 한편으로, 팔레트의 중요성이 가장 커진다. 어떤 색들을 선별해서 256개에다가 배당하느냐에 따라 해당 그래픽의 분위기가 싹 달라지곤 했다. 특히 게임들 말이다.

VGA 그래픽 카드가 모드 13h에서 기본 제공하는 256색 팔레트는 다음과 같았다. 기존 16색 이후로는 흑백 32단계와 고채도 원색 그러데이션이 잠시 나온 뒤, 형광/파스텔톤의 색이 3단계 명암으로 나열된다. 저 색깔띠 자체는 예쁘지만, 배색이 게임 같은 그래픽을 표시하는 데는 그리 적절하지 않은 것 같다.

사용자 삽입 이미지

유명한 VGA 팔레트로는 1990년대를 풍미한 명작 그래픽 편집기인 딜럭스 페인트가 제공한 팔레트가 있다. 나름 미술 전문가가 설계했다고 전해지는데 이 정도는 돼야 좀 알록달록 다채로운 색상을 쓸 수 있는 것 같다. 이 팔레트는 그대로 각종 게임들에서 많이 쓰였다.

사용자 삽입 이미지

요즘이야 웹 표준이라고 하면 HTML5를 떠올리지만, 지금으로부터 20년 전쯤만 해도 웹 그래픽에도 256색 디스플레이를 배려하여 web-safe한 표준 색상 규정이 있었다는 걸 기억하시는가?
RGB 각 축당 6단계 명암을 줘서 총 6^3 = 216개 색상이 나오니 그걸 순서대로 배당하고, 나머지 40개 색깔은 호환용이나 흑백 등 다른 용도로 비워 두는 것이다. 공교롭게도 51*n(n은 0이상 5이하, 이상 6단계)을 해 주면 n이 최대값 5일 때 성분값이 딱 255 최대값이 된다.

색깔을 그런 식으로 배당하는 게, 마치 유니코드에서 나눗셈/나머지 연산만으로 한글 자모 정보를 추출하듯이 원하는 RGB대역의 색깔 인덱스를 계산만으로 얻는 데 유리할 것이다.
차라리 VGA의 기본 256색 팔레트도 그렇게 원시적인 방식으로 색을 배당할 법도 한데 나름 파스텔톤 색깔띠를 만든 게 누구 머리에서 나온 발상인지는 잘 모르겠다.
아무튼, 오늘날 그래픽과 디스플레이 기술이 불과 20여 년 전에 비해 얼마나 까마득하게 발전했는지를 실감한다.

Posted by 사무엘

2015/03/24 19:39 2015/03/24 19:39
, , , ,
Response
No Trackback , 8 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1076

정치관이나 종교관을 논하기에 앞서, 그보다 이념이나 '색깔'이 덜한 나의 인생 철학, 원칙 같은 걸 글로 한데 정리해 본 적이 지금까지 없었던 것 같다.
내가 지지하는 원칙들을 한데 모아 보니 다음과 같다.

  • 세상에 공짜란 없다.
  • 심은 대로 거둔다. 일하지 않았으면 먹지를 말라. (장애인, 노약자는 물론 예외)
  • 일부러 선택한 가난은 가난이 아니다. (가난한 집에서 태어나서 가난한 게 아니라, 일부러 취업을 포기하고 공부를 더 계속하느라 궁핍하게 지내는 것 따위)
  • 절이 싫으면 중이 떠나라
  • 남이 하는 꼬라지가 불만이면, 니가 나서서 한번 해 보든가. ("대안 없는 비판"을 싫어함)
  • 니 자식이 흉악범에게 살해당했을 때에도 사형 반대할 텐가?
  • 니 아들이 남자가 좋다고 데리고 오는 일이 생겨도 동성애 합법화 찬성할 텐가?
  • 니가 스스로 위대한 인물이 되기 위한 노력은 안 하면서 왜 맨날 인물이 없다는 탓만 하는가? (안 창호)
  • 국가(혹은 교회든 무슨 집단이든)가 너에게 무엇을 해 줄 수 있을지를 기대하지 말고 니가 국가를 위해 무엇을 할지를 먼저 생각하라. (케네디)
  • 말과 행동이 일치하기를 기대하지는 않는다. 그건 나도 때로는 못 지킬 수도 있고, 예수님조차도 바리새인들에 대해 그들이 말하는 것만 본받고 행동은 따라하지 말라고(마 23:3) 분리를 명하셨다. 저놈들을 빌미로 같이 깽판 쳐도 된다고 그러시지 않았다.
    하지만 말과 말조차 일치 안 하고 판단 잣대에 일관성이 없는 건 완전 싫다. (마 11:18-19)

나의 인생 알고리즘이 어떠한지가 좀 읽혀지는가?
이런 것들을 다 황금률 --니가 남들로부터 대접받고 싶은 것만치 너도 남에게 해 줘라(마 7:12)-- 의 일부라고 볼 수 있는지는 모르겠다.

아마 논리학이나 철학에서 저런 사고방식을 일컫는 용어 같은 게 따로 있지 싶은데..
어쨌든 난 저런 단순한 사고방식을 큰 틀에서는 일단 상당히 합리적이라고 생각하며 지지한다.
저런 사고방식에 나보다 동조하지 않는 사람이 있다는 것도 알지만.. 그 사람은 그 사람 사정이고 내 사고방식은 저렇다.

단, 성경적으로 보자면 황금률만으로는 하나님 앞에서 의로워질 수 없다. 아무리 나쁜놈이라도 제 자식 위할 줄은 알고(눅 11:13), 겨우 저 정도 합리적인 사고방식은 그 어떤 불신자라도 딱히 믿음을 행사할 일 없이 가질 수 있기 때문이다(마 5:46-47).
하나님 역시 인간을 오로지 '심은 대로 거둔다', '병 주고 약 준다' 식으로만 기계적으로 대하지는 않았다. 그렇게만 대했다면 인간이 지금까지 남아날 수가 없었을 것이다.

내가 지지하는 것을 얘기했으니, 다음으로 다른 많은 사람들이 지지하는 편이지만 나는 종교 방면에서 별로 좋아하지 않고 지지하지 않는 사고방식을 몇 가지 소개하도록 하겠다. 예전에 블로그에다 글을 올린 적이 있는데 다시 한데 정리했다.

첫째, “그리스도인이 되기 전에 인간이 되라, 상식이 통하는 사람이 돼라” 같은 요지의 책망이나 권면을 좋아하지 않는다. 무슨 의도로 하는 말인지 취지는 물론 이해한다. 눈에 보이지 않는 아이템들을 이해시키기 위해 당장 눈에 보이는 아이템에서부터 남에게 실족거리를 주지 않아야 한다는 가르침 자체는 100% 성경적이며 본인 역시 아멘이다. 허나, 나 같았으면 우선순위까지 거론하면서 표현을 그런 식으로는 안 하겠다.

나는 종교와 관련해서는 신자나 불신자의 말단의 행실 같은 건 거의 감안하지 않았다. 행실로 치자면 나부터도 완전 개판이다. 나는 크리스천부터 되고 나서야 구제불능이던 행실이 차츰차츰 바로잡히고 상식도 조금씩 입력되어 온 사람이다. 안 그래도 기독교는 선행, 행실이 아니라 믿음을 강조하는 종교인데.. 저건 당장 자기가 대하는 게 불편하고 기분 나쁘다고 행실로 남의 크리스천 지위를 자체를 판단한다는 느낌이 든다. '나쁜 크리스천'이 아니라 아예 크리스천도 아니라는 식으로.

“나는 하나님/예수는 믿지만(사랑하지만 좋아하지만 등등) 교회는 믿지(역시 비슷한) 않는다” 부류의 말도 동일한 맥락에서 싫어함. 그건 불신자 개독안티라면 모를까 최소한 신자라는 사람의 입에서 나올 말은 아니다. -_-;; 그런 판단은 마치 어느 목사가 강단에서 설교를 하는데 타 종교에도 좋은 가르침이 많다고 공자 왈 맹자 왈 석가모니 왈 인용을 자꾸 하는 것과 비슷한 맥락으로 내 심기를 불편하게 만든다.

인간적으로 도덕적으로 좋은 종교 가르침이야 심지어 철도교에도 많이 있다! 내가 겨우 그런 수준의 가르침을 원하고 있었다면 예수님을 믿는다거나 금쪽같은 일요일 시간을 희생하여 교회에서 예배를 드리지 않았을 것이다. 성경 자체만 가르쳐도 모자랄 금쪽같은 시간 동안 목사가 왜 하필 그렇게 핀트가 어긋난 짓을 하냐는 거다.

둘째, “나는 당신의 사상에 동의하지 않습니다. 하지만 당신이 그 사상 때문에 박해를 받는다면 나도 당신의 말할 자유를 위해 같이 싸우겠습니다” 같은 일면 멋있어 보이고 대인배스러워 보이는 사고방식을 난 지지하지 않는다.
동성애자, 종북 세력, 사형 폐지론자들을 내가 직접 물리적으로 괴롭히고 해코지 하지는 않는다. 그러나 그들이 남에 의해 박해받거나 법대로 처벌받고 있을 때 그들의 말할 자유를 위해서는 난 죽어도 절대로 같이 싸우지 않을 것이다.

<나치가 그들을 덮쳤을 때> 같은 시도 마찬가지이다. 다른 분야의 이념이라면 인간적으로 협업할 수 있을지 모르나, 내 종교관, '신앙'이 타겟이라면... 나치가 나를 덮쳤을 때 나의 구제를 위해서 굳이 공산주의자나 유대인 같은 다른 불신자 그룹들의 인맥 빽 변론 실드가 필요하지 않다.
(물론, 대적들로부터도 행실이 의롭다는 증언을 받으면 이는 매우 영광스러운 일이겠지만, 그걸 처음부터 기대하지 않는다는 뜻이다.)

그 대신, 그럴 때 “너희가 마땅히 할 말을 성령님께서 바로 그 시각에 너희에게 가르치시리라” (마 10:19, 눅 12:11-12)라는 성경 말씀이 100배 이상 더 먼저 떠올라야 한다. 이게 레알 예수쟁이의 본분이 아니겠는가!

끝으로, 털어서 먼지 안 나는 사람 없으니 서로 일체의 판단이나 정죄를 하지 말고 퉁치자는 식으로 성경 말씀을 이상하게 적용하는 양비론 사고방식도 굉장히 싫어한다. '원수를 사랑하라'가 개인이 아니라 무슨 집단, 국가 차원에서 제도적으로 시행해야 하는 교리인 것처럼 생각하는 사람들도 노답. 오늘날이 정교일치가 가능하지 않고 초대 교회 시절 잠깐 이후로 사유재산 공유가 가능하지 않은 것만큼이나, 그런 것도 세상 정부에서는 결코 가능하지 않다. (절대적인 타락과 부정부패, 부작용 없이 실현되기가 불가능하다는 뜻)

뭔가 판단을 하고 선악을 따지고 드는 걸, 어디서 성경 몇 자 본 건 있어 가지고 무슨 바리새인인 양 치부하는 사고방식도 완전 질색임. 그런 핑계를 대는 애들치고 바리새인만도 못한 인간들이 수두룩하다. 바리새인은 그래도 유일신 신앙을 갖고 있고 내세와 부활이라도 믿었던 종교 꼴통들이다.

마태복음 7장을 예로 들자면, “판단을 하지 말라”처럼 들리는 1~2절 이후로.. “거짓 대언자를 조심하라. 열매로 그들을 알리라” 같은 명령이 동일한 chapter에서 버젓이 등장한다. 이건 영락없이 뭔가 남을 '판단해야만' 이행할 수 있는 명령이 아니면 무엇인가. 성경이 한 입으로 두 말을 하는 모순된 책이 아닌 이상, 이것은 서로 다른 context를 말하는 것이니 바르게 나눠서 분간해야만 한다.

성경을 알면 “닭이 먼저냐 달걀이 먼저냐” 같은 의문에 해답을 알게 되는 건 물론이고 세상에 왜 이렇게 비합리적이고 불공평한 일이 많은지, 필요악이라는 게 왜 등장했는지, 그것이 꼭 나에게 나쁘고 해만을 끼치는 것인지 등에 대해서도 답이 구해진다. 그래서 굳이 구원이고 영생이고 하늘나라고 그런 것까지 안 가더라도 당장 사람의 정신 건강에 굉~장히 긍정적인 영향을 끼친다.

의로운 사람, 약한 사람이 나쁜 사람에게 억울하게 죽임을 당하는 장면을 생각해 보자. 성경에서는 아예 극초반에 등장하는 아벨의 죽음이 대표적인 예이다.
이에 대한 성경의 진술은 “그가 죽었으나 믿음으로 여전히 말하고 있느니라.” (히 11:4)이다. “내게는 사는 것이 그리스도시요 죽는 것이 이득이니라.” (빌 1:21)도 있다. 그야말로 인간의 세속적인 사고방식을 아득하게 초월한 안드로메다 급이다. 정신승리이긴 한데, 그 근거가 아Q처럼 자기 자신의 알량한 근자감이 아니라 예수님이라는 차이가 있을 뿐이다.

그 반면, 세상의 불신자 작가가 만든 드라마나 영화 같은 매체들은.. “신이 있다면 왜 자꾸 불공평한 일이 벌어지는 걸까? 그 신은 전지전능하지 못하거나, 공의롭지 못하거나 혹은 both일 것이다. ㅋㅋ” 요런 반골 기질 메시지를 집어넣어서 사람의 믿음을 무너뜨리고 멘탈의 평형 상태를 깨뜨리는 쪽으로 간다.

“피해자 유족이 용서 안 한 가해자를 어떻게 신이 용서해?”처럼 성경 교리를 배배 틀고 왜곡하는 쪽으로 끌고 가는 것도 개인적으로 굉장히 불편하며, 꼴도 보기 싫다. 더 말하면 입만 아프겠지만, 아 글쎄 성경은 명백히 세상 공권력의 사형 집행을 지지한다니까요? 사형 반대하는 다른 종교인들이 잘못하고 있는 거지. -_-;;

기독교적인 관점을 찾자면 정말 볼 영화가 없으니, 차라리 종교색 같은 건 싹 배제하고 원초적인 권선징악 해피엔딩 액션만 추구한 영화가 마음에 든다. 그래서 내가 테이큰을 좋아한다. 이상하게 신 같은 거 끌어들일 필요 없이, 인간 흉기 특수요원이 악당들의 본거지를 다 통쾌하게 때려부수고 딸을 구해 내는 게 좋다.
그런 건 육신적이기는 해도 최소한 반성경적이지는 않다. 흉악범들을 제대로 못 잡아내고 처벌도 솜방망이 급으로 내리는 이 사회에 대해 경종을 울리고 일종의 카타르시스도 주니 말이다.

확실히 난 종교 쪽에 관해서는 아무래도 21세기에 보기 드문 못말리는 꼴통이긴 하다. ㅎㅎ
하지만 나는 이렇게 생각하는 것이 건전하며 내 양심에 진정한 자유를 준다고 생각한다.

Posted by 사무엘

2015/03/21 19:20 2015/03/21 19:20
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1075

X선, 의학 관련 생각

본인은 사진, 촬영, 영상 관련 기술의 발달사에 대해 관심이 많다. 깊게 잘 알지는 못하고 그냥 관심뿐이지만, 그래도 흑백 사진이 컬러로 바뀌고 영사기가 발명되고, 따로 변사가 붙을 정도이던 무성 영화가 컬러+소리가 가미된 진짜 영화로 바뀌어 간 과정이 흥미진진하지 않은가? 그래서 예전에 사진술에 대해서 글을 올린 적이 있기도 하다.

옛날에 카메라가 처음 발명되었을 때는 알다시피 자기 생얼 사진이 찍히는 것만으로도 자기 혼이 빠져나간다고 생각하고 사람들이 질겁을 했다.
그런데 하물며...
아담 이래로 인류 역사상 최초로, 멀쩡히 살아 있는 사람의 뼈가 사진으로 찍혀 나온 걸 목격한 당사자는 얼마나 기절초풍했을까?

사용자 삽입 이미지

X선, 일명 뢴트겐선이라는 것을 발견한 사람은 잘 알다시피 독일의 물리학자 뢴트겐이다.
그리고 위의 사진은 1895년, 뢴트겐이 자기 아내의 손을 찍은 사진이다. 정말 아내의 손이 맞음을 확인하기 위해 반지까지 낀 채로 사진을 찍었다.
뢴트겐 당사자조차 최초의 방사선 촬영을 도저히 믿을 수 없어서 혹시 자기가 환각, 헛것을 본 건 아닌지 엄청 의심하면서 번뇌와 고민을 거듭했다고 한다.

그는 나중에 노벨 물리학상의 초대 수상자가 되었다(1901년).
이건 충분히 노벨 상 감인 업적이다. 해부를 하지 않고 신체의 내장과 뼈를 들여다보는 게 가능해졌으니 이는 의학계에 가히 혁신을 가져다 준 획기적인 발견이 아닐 수 없었다.

이것 덕분에 의학에 방사선과 내지 영상의학이라는 분야가 새로 생기게 됐다. 흉부 X선 촬영은 기초 건강 검진을 받을 때 아무 생각 없이 같이 받는 저렴한 검사 중 하나가 됐다. 놀라운 과학의 힘이다.
내과 치료 때는 아예 내시경을 집어넣어서 사진을 찍겠지만, 뼈가 부러졌는지 인대가 나갔는지 등을 판별하는 외과 치료 용도로는 X선이 가히 구세주가 아닌가 싶다.

그리고 이와 비슷한 맥락으로 짐을 일일이 열어 보지 않고도 내부를 들여다볼 수 있는 금속 탐지기 역시 세상의 보안과 인권을 크게 향상시켜 줬다.
단, 이게 20세기 초반부터 아주 일찍 상용화가 됐다면 일제 강점기 때 항일 독립운동가가 폭탄이나 총을 몰래 반입해서 의거를 일으키기도 훨씬 더 어려워졌지 싶다. X선 사진은커녕 생얼 사진조차 흔치 않은지라, 죽이고자 하는 일제 고위 관리의 얼굴도 알기 어려울 정도로 옛날이었으니 가능했던 일이다.

끝으로, 의학에 대한 원론적인 얘기를 하며 글을 맺겠다.
얼마 전엔 한의사에게도 X선 촬영을 허용하겠다는 말이 나와서 논란이 많았다.
현직 의료인들은 한의사 내지 한의학 쪽을 내가 막연히 생각하는 것보다 훨씬 더 싫어한다는 걸 알 수 있었다.

본인도 큰 줄기에서는 서양 의학을 지지한다. 어설픈 친환경 대체의학, 백신 음모론, 안전한 예방접종 그런 거 미는 진영을 별로 좋아하지 않는다. 그 사람들은 근대화 공업화 이전의 자연 환경과 위생 복지에 대해 너무 미화하고 지나치게 낙관하고 있다.

영아 사망률이 지금보다 넘사벽으로 높았고 어렸을 때 천연두 앓다가 목숨만 건진 곰보를 심심찮게 볼 수 있었으며, 죽은 형의 이름을 동생이 물려 쓰던 시절을 벌써 잊으셨는가? 그때로부터 시간이 뭐 얼마나 지났다고?
수돗물을 화학 약품으로 소독하고 너도 나도 백신을 맞은 덕분에 어렵게 퇴치한 전염병을 "이건 백신 없이도 어차피 자연스럽게 사라졌을 질병일 뿐이다" 이런 식으로 밀어붙이는 무식한 주장에는 할 말을 잃을 지경이다.

과학적 방법론으로 우주와 생명의 근원이 무엇인지, 사람이 죽으면 어디로 가는지 같은 걸 증명할 수는 없다. 그건 재연 가능하지 않으며 과학의 영역에 있지 않다.
그러나 지금 당장 살아 있는 사람을 대상으로 임상실험이 가능한 의학에 관한 한은, 투명하고 객관적인 과학적 방법론에 입각한 서양 의학이 지금까지 수많은 사람들의 생명을 구했으며, 온갖 사이비 돌팔이와 건강 관련 미신들로부터 사람들을 바르게 깨우쳐 줬다고 본인은 굳게 믿는다.

심지어 성경에도 이 주제와 관련된 진술이 있다.

  • 아사의 통치 제삼십구년에 그의 발에 병이 생겨 마침내 그의 병이 심히 중하게 되었으나 병이 있을 때에 그가 {주}께 구하지 아니하고 의사들에게 구하였더라. (대하 16:12. 의사를 찾은 걸 부정적으로 얘기함)
  • 더 이상 물만 마시지 말고 네 위장과 자주 있는 병을 위하여 포도즙을 조금 쓰라. (딤전 5:23. 인위적인 의학 처방을 긍정적으로 얘기함)

성경에 왜 이 두 구절이 동시에 존재하며 둘이 무슨 문맥에서 무엇을 말하는지를 바르게 분간할 줄 안다면, 질병 내지 치유와 관련된 온갖 교리적 오류에 빠질 일이 없을 것이다. 성경에서 그 많은 기적을 행한 엘리사도 나중에 병에 걸려 죽었다.

예수 믿는다고 해서 기도만 열심히 하면 공부 안 해도 학교 시험을 100점 맞을 수 있는 게 아니다. 병에 걸리기만 하면 다 마귀 탓이고 기도만 하면 다 낫는다는 식의 생각은 매우 잘못됐다.
위의 구절들도, 지금 병에 걸린 상황과 하나님에 대해서 어떤 생각을 했는지 자세와 믿음이 문제이지, 병원에 가느냐 안 가느냐가 본질적인 문제는 아닐 것이다.

Posted by 사무엘

2015/03/19 08:35 2015/03/19 08:35
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1074

지난 2월 설 연휴 기간에 본인은 가족 전체가 동남아로 가족 여행을 떠났다. 여행사를 통한 패키지 관광이다.
부모님이 퇴직하셨고 본인을 포함한 자녀들은 아직 미혼이니, 지금 같은 시기가 온 가족이 같이 여행을 떠나기에 적절하다고 여겨졌기 때문이다. 내가 마지막으로 외국 가는 비행기를 탄 지도 무려 6년이 돼 가고..
더 늦기 전에 여행기를 이제야 간단히 정리해서 올린다.

가족이 한꺼번에 움직인 덕분에, 지금까지 공항 철도나 리무진 버스로만 가던 인천 공항에 난생 처음으로 자가용을 끌고 가 봤다. 운전은 언제나 본인이 도맡아 했고. 시기가 시기이다 보니 공항의 장기 주차장엔 벌써부터 차들로 포화 직전이었는데, 가까스로 빈 자리를 하나 발견해서 차를 세웠다.

그렇게 기대를 품고 공항에 도착했으나, 베트남 항공 소속의 여객기가 정비 상태를 이유로 거의 10시간이 넘게 지연됐다. 관광 일정에 차질이 생기긴 했지만 어차피 이건 크리티컬한 업무를 목적으로 나가는 게 아니고 인천 공항은 안 그래도 내부 시설이 굉장히 좋은 공항이니, 출국 도장을 찍은 상태로 탑승동에서 이렇게 오래 지내고 있는 것도 나름 색다른 경험이었다.

항공사 측에서는 처음엔 기다리는 동안 밥이나 먹으라고 식권 정도를 내 줬으나, 지연이 길어지자 결국은 사람들을 버스에 태우고 도로 여객 터미널 입국장으로 보내서 출국 심사를 취소시키고 인근의 호텔에다 승객들을 보내 줬다. 저녁 식사까지 무료로 제공해 주고..;; 비행기 하나가 지연되는 바람에 승객들도 불편했지만 항공사 역시 손해를 굉장히 많이 봤지 싶다.

덕분에 현지 호텔을 구경하기 전에 운서동 공항 신도시 일대의 호텔부터 먼저 구경하게 됐다. 주변에 아파트 말고 전원 주택들은 전망이 참 좋아 보였다. 뭐, 본인이야 노트북 PC가 있으니 기다리는 동안 프로그램도 짜고 글도 쓰면서 시간을 허투루 보내지 않았다.

어쨌든, 이런 우여곡절 끝에 밤 비행기를 타고 먼저 베트남 북부의 하노이 공항에 도착했다. '하노이의 탑'의 원조 국가에 왔다니 감회가 새로웠다.
여기는 역사적으로 나름 프랑스를 이기고 미국까지 이긴 나라라고 자존심이 쩐다고 한다. 그리고 호치민을 정말 미치도록 숭상한다고.

베트남에서는 해안으로 건너가서 배를 타고 우리나라 제주도나 남해를 뺨치는 다도해와 동굴을 구경하고 맛있는 해물 요리를 먹었다.

사용자 삽입 이미지사용자 삽입 이미지

사용자 삽입 이미지
베트남 시가지의 모습. 우리나라는 택시가 기본적으로 2000cc급 중형인 반면, 여기는 경차가 주류이다.
하긴, 우리나라도 2, 30년 전에는 1500cc급도 안 되는 소형차인 포니가 택시로 제일 많이 굴러다니곤 했다.
그리고 이보다도 베트남엔 오토바이가 훨씬 더 많이 굴러다닌다.

사용자 삽입 이미지사용자 삽입 이미지

그리고 호치민 광장을 구경했다. 호치민 자체는 나름 인품을 갖춘 좋은 지도자였다고는 하지만, 그래도 여기는 어쩔 수 없는 사회/공산주의 국가이더라. 구소련이 망한 지가 언젠데 낫과 망치 깃발 실물을 볼 수가 있었다.

사용자 삽입 이미지사용자 삽입 이미지

그 뒤 약 1시간 반 동안 1000km남짓을 비행하여 캄보디아의 씨엠 립 공항에 도착했다.
이 공항으로 말할 것 같으면 비행기에서 내린 뒤, 브리지나 셔틀버스가 없이 승객들이 활주로를 직접 걸어서 여객 터미널로 들어가야 하는 공항이다. 철도역으로 치면 선로를 그대로 횡단해야 하는 시골 간이역 정도?

날씨는 베트남보다 더욱 더워져서 견디기 힘들었다. "여기가 위도가 몇 도이고 자전축이 몇 도 기울어져 있지? 서울과 비교했을 때 햇볕을 받는 각도의 cos 값이 얼마나 차이가 나지?" 같은 별 잡생각이 다 들 지경이었다.
여기는 입국 관리 공무원에게 공식적인 비자 발급 비용 외에도 대놓고 1$씩 뇌물을 줘야만 심사대를 빠져나갈 수 있었다. =_=;;

날씨도 더운데 앙코르 와트는 정말 핵심만 초스피드로 보고 돌아왔다. 요게 제일 먼저 만들어진 사원이고, 그야말로 캄보디아의 국기에도 그려져 있을 정도로 상징적인 유적이다. 캄보디아를 먹여 살리는 제1순위 관광 자원인데.. 이것도 처음 발견되었을 때와는 달리 굉장히 많이 파괴된 거라고 하니 참 안습하다.
서양 사람들은 처음엔 이걸 미개한(?) 동남아시아 사람이 만들었을 거라고 믿지 않았을 정도였다고 한다. 하지만 그렇다고 로마인의 후손이 만들었다고 우기기엔 표현되어 있는 종교관이 전혀 서양스럽지가 않은걸? -_-

사용자 삽입 이미지사용자 삽입 이미지

나무 뿌리와 뒤엉킨 이 유적지는 아까 것보다는 더 나중에 만들어졌다. 앙코르 제국도 여러 시즌이 있기 때문에..;;

사용자 삽입 이미지사용자 삽입 이미지

앙코르 와트 유적지는 굉장히 넓기 때문에 중간 중간엔 툭툭이를 타고 이동했다.

사용자 삽입 이미지

이런 유적지들이 처음에 만들어졌을 때는 얼마나 더 화려하고 웅장했을까 하는 생각이 든다.

사용자 삽입 이미지사용자 삽입 이미지

관광 도시인 씨엠 립은 6번 국도던가 외국인 관광객들이 주로 다니는 큰길만 벗어나면 곧장 그냥 황무지 깡촌이었다. 카누를 타고 돌아다니면서 서민들이 사는 수상 주택 단지를 구경하기도 했다. 이런 단지가 조성된 것에도 다 사연이 있다고 함.

물은 별로 깊지는 않지만 정말 처참하게 더럽기 때문에 저 물이 몸이나 옷에 묻는 일은 만들지 않는 게 좋다. 저런 데서 사람이 어떻게 1년 365일을 살 수 있나, 생계는 어떻게 꾸리며 위생 문제와 먹고 입는 문제는 어떻게 해결하는지 궁금했다.

사용자 삽입 이미지사용자 삽입 이미지

그리고 캄보디아라 하면 잊을 수 없는 건 일명 '폴 포트'라는 미치광이가 벌였던 킬링필드 학살극이다. 희생자의 유골을 안치해 놓은 어느 납골당을 방문하고 거기 적혀 있는 옛날 사진과 안내문을 보기도 했다.

어떤 나라가 힘이 없어서 남의 나라의 식민지가 되고 나중에 독립조차도 자기 힘으로 스스로 쟁취한 게 아니라면, 결국은 한 외세가 물러난 뒤에도 다른 외세들의 이념 각축장이 되고 파란만장 기구한 역사가 이어지는 건 남의 일만이 아닌 것 같다. 특히나 그런 와중에 공산주의는 단순히 억압받고 착취당하는 농민· 노동자(?)뿐만이 아니라 먹물깨나 먹은 지식인도 잘 현혹시키는 것으로 보인다.

그런데 결국 실현 불가능한 사상을 강제로 실현하려다 보니 인민들을 온통 바보 노예로 만들어야 하고 딴 생각 잡 생각을 못 하게 극도의 폭력과 공포로 통치를 해야 하고 종교도 말살하고 서로 감시와 밀고를 하게 만들어야 한다.
지도자의 우상화와 절대독재는 기본 중의 기본이다. 김 일성이고 호치민이고간에 자기 우상화를 하지 말라고 유언을 했어도 유언이 당연한 듯이 씹히는 이유는.. 그렇게 우상화를 해야만 공산주의 체제가 돌아갈 수 있기 때문이다.

공산주의가 매우 악한 사상인 이유는 "능력껏 벌어서 필요한 만큼/혹은 1/n만치 분배한다"라는 성선설을 제시해 놓고는 정작 그걸 실현하고 운영하는 방법은 철저하게 성악설에 기반을 두기 때문이다. 정직하게 필요악이라고 선을 긋는 것도 아니고, 애초에 성선설 따위는 없다. 인간의 본성에 대해서 성경적으로 고찰을 한 사람이라면 반공주의자가 될 수밖에 없으며 반공 때문에 불가피하게 벌어졌던 필요악이나 부조리를 보는 눈이 한결 관대해진다.

이런 것들을 보고 느꼈다.
귀국하고 나니 공항의 주차난은 더욱 심해져서 이중주차에, 도로변 주차까지 상태가 말이 아니었다. 다른 가족들이 수하물을 찾는 동안 본인은 먼저 밖으로 나가서 차를 여객 터미널로 가져왔다. 여객 터미널에서 장기 주차장까지는 수백 m 이상 떨어져 있으니까. 차는 깜빡 잊고 블랙박스를 켜 놓은 채로 추위 속에서 닷새 가까이 방치됐지만, 다행히 시동이 잘 걸렸다.

동일한 고속도로 구간에서 불과 1주일쯤 전에 짙은 안개 때문에 106중 추돌 사고가 발생했었지만, 지금은 안개고 뭐고 없이 도로는 한산하기 그지없었다. 이렇게 여행을 잘 마치고 돌아왔다.

Posted by 사무엘

2015/03/13 08:30 2015/03/13 08:30
, , ,
Response
No Trackback , 6 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1072

우리나라의 기독교 역사에서 성경 번역만큼이나 중요한 부분을 차지하는 것은 찬송가의 번역과 편찬이다.
그리고 한국 교회에서 쓰였던 찬송가 중에 역사적으로 꽤 중요한 물건으로는 <신증 복음가>가 있다.

지금은 장로교가 세력이 크지만 한국 땅에 기독교가 처음 전래되었을 때는 감리교가 대세였다. 그리고 감리교에서 좀 더 심화와 로컬라이징(?)을 거친 교파가 바로 성결교인데..
<신증 복음가>는 성결교 선교사가 세운 "동방 선교회"라는 단체에서 출간하였다. 시기는 1919년 4월, 한반도에서 3·1 운동이 벌어지던 때와 아주 비슷하다.

이 신증 복음가에서 처음으로 소개되어서 지금까지 교회에서 불리고 있는 찬송가들이 적지 않다. 그리고 거기에는 인제 와서 뭔가 출처를 추적할 수가 없는 짬뽕(?) 번역도 꽤 있다. 이 글에서는 몇 가지 예를 들도록 하겠다.

1. 그 참혹한 십자가에 주 달려 흘린 피

난 지금까지 확 꽂혀서 좋아하게 된 찬송가들이 대부분 구원 카테고리 쪽에 있었다. Wonderful grace of Jesus, 그리고 And can it be that I should gain까지. 그 뒤 최근에 주목하고 있는 곡은 바로 저것이다.
올해는 삼일절이 일요일과 겹치는데, 이런 날엔 신증 복음가 출신 찬송가를 부르는 게 아주 어울린다고 생각되어 본인은 거의 한 달 쯤 전부터 이 날 준비 찬송으로는 이걸 넣으려고 벼르고 있었다.

앞부분 멜로디는 <찬양하라 내 영혼아>에서 "내 속에 있는 것들아"와 닮았다. 계속 듣고 있으면.. 정말 애절하고 화사하고 우리를 죄에서 구원하는 예수님의 피에 대한 한없는 신뢰와 감격이 솟아나는 것 같다. 그래서 후렴에서는 "나 믿노라..!"가 나온다.

사용자 삽입 이미지

그런데 이 곡은 작사· 작곡자가 미상이다. 1919년 당시의 가사는 지금 가사와는 차이가 많았다.
다만, 가사가 There is a fountain filled with blood(샘물과 같은 보혈은 임마누엘 피로다)에서 모티브를 약간 딴 거라는 말은 있다.
1절에 '샘물'이라는 단어가 있고(1919년 가사는 '임마누엘') 2절에 '십자가에서 구원받은 강도' 얘기가 있으며 3절에 '어린양'이 나오는 것이 이 가설을 뒷받침한다.

나중에 1930년대에 다른 찬송가가 출간되면서 가사가 좀 바뀌었는데,
그때의 가사도 지금과는 여전히 차이가 좀 있어서 '그 참혹한' 대신 '그 수욕된'(수치스럽고 욕된)이라고 적혔고, '나 믿노라' 대신 '나는 믿소'라고 적혀 있었다.

후렴 절정부에 나오는 Lord, I believe!를 생각해 보자. 한국어 가사에서는 음절수 제약 때문에 '주'가 빠졌지만 1919년 수록 당시부터 이 곡의 설정상 영어 제목은 "주여 내가 믿나이다"였다. 이 표현은 명백히 성경에 근거를 두고 있다.
"주여, 내가 믿나이다. (나의 불신을 도와 주소서)"(막 9:24)라는 아이 아버지의 절박한 절규가 오버랩되기도 하고, 한편으로 선천성 맹인이 시력을 받은 후 예수님을 믿는(요 9:38) 장면도 떠오른다. (막 9:24.. KJV 이외의 성경에서는 '주여'라는 단어가 빠졌다는 건 차치하고라도..;;)

이 찬송가 가사는 그 심상에다가 예수님 영접을 절묘하게 오버랩 시켰다.
죄의 사슬, 죄의 형벌로부터 해방된 것에 감격하면서 대한 독립 만세를 외치듯이 이 찬양을 예배당에서 목놓아 불러 보자.
깨알같은 바람이지만, 난 3절 가사대로 영원한 새 나라에 모여서 금거문고보다는.. Looking for you를 흥얼거리고 싶다. 하늘나라에는 철도도 있고 새마을호 열차도 당연히 있을 것이다.

본인은 평소에 유튜브에서 다음 찬양 동영상을 즐겨 듣는다.
2절과 그 이후로 갈수록 알토 한 분의 나지막한 목소리가 유난히도 부각되어 들린다. 투개월의 김 예림 목소리처럼 독특하다!

2. 마귀들과 싸울지라 죄악 벗은 형제여

우리에게 친숙한 요것도 신증 복음가에서 처음 소개된 찬송 중 하나이다.
한국어 가사를 보면 영락없이, 딱 전형적인 '영적 전투와 승리' 카테고리이다. 그러나 본고장인 미국에서는 이 곡이 하드코어 전천년주의 종말+재림 가사가 붙은 찬송인 걸 아시는 분 계신가?

영어 가사는 "내 눈이 주님의 재림의 영광을 보았노라"로 시작하며, 예수님이 수많은 성도들과 함께 지상 재림을 하는 모습을 묘사한다.

Mine eyes have seen the glory of the coming of the Lord;
He is trampling out the vintage where the grapes of wrath are stored;
He hath loosed the fateful lightning of His terrible swift sword:
His truth is marching on.

Glory, glory, hallelujah! Glory, glory, hallelujah!
Glory, glory, hallelujah! His truth is marching on.


"진노의 포도즙 틀을 밟는다. 입에서 날카로운 검이 나온다." 이런 표현은 평소에 요한계시록을 문자 그대로 읽으면서(특히 19장) 성경적 종말론을 공부한 적이 없는 사람이라면 생소할 것이다.

기독교 음악 중에서 특별히 찬양보다 영적 노래에 가까운 범주라면 가사에 응당 성경 말씀과 직설적인 성경 교리를 담고 있어야 한다. 오늘날의 CCM이 영적으로 다 나쁘지는 않겠지만 CCM이 옛날 클래식 찬송가에 비해서 영성이 부족한 면모 중 하나가 교리가 노골적으로 담겨 있지 않다는 것이다. 그냥 "당신은 사랑받기 위해 태어난 사람" 같은 듣기 좋은 내용만 있지 대놓고 예수님의 피, 죄와 심판, 지옥, 재림 같은 원색적인 얘기를 점점 안 하는 것이 비단 설교 스타일뿐만 아니라 기독교 음악의 트렌드에까지 반영되고 있기 때문이다.

그런데 사실은 198, 90년대 이후의 CCM까지 갈 것도 없이 한국 교회의 찬송가는 클래식들부터가 영어 가사에 비해서 전반적으로 '찐한' 교리 표현의 수위가 좀 약하다. 여기에 대해서는 앞으로 또 내 블로그에서 다룰 기회가 있으면 언급을 할 것이다. 이런 점에서 볼 때, <마귀들과 싸울지라>의 영어 원판 가사는 본인에게 무척 인상적으로 보였다.
한국어 가사는 일본인 목사가 쓴 다른 찬송시를 번역한 것이라고 한다. 우리말 가사와 영문 가사가 같이 일치하는 건 후렴의 "영광 영광 할렐루야"밖에 없는 셈이다.

이 노래의 곡에 대해서도 사연이 많다. 원래 이 멜로디는 19세기에 미국에서 소방대원의 행진곡으로 만들어졌다. 그런데 멜로디가 적당히 경쾌하고 듣기 좋다 보니 이 곡은 여러 종류의 가사가 붙어서 다른 행진곡이나 군가 등으로도 애창되었다. 그랬는데 "이거, 곡 멜로디는 좋은데 가사가 영 좋지 않다. 뭔가 좋은 찬송시를 붙여서 부를 수는 없을까?"라는 생각을 한 어느 크리스천 작사자가 있었고, 성경을 묵상하다가 예수님의 재림을 동경하는 가사가 붙어서 저런 곡이 만들어진 거라고 한다.

이렇듯, 성경의 각 책만큼이나 찬송가도 각 곡들이 작사· 작곡· 번역된 과정이 독특한 게 많다. 그런 것들을 알고 부르면 재미있다. 지금은 인터넷 검색만 하면 이런 정보들은 정말 금방 쉽게 얻을 수 있기도 하고 말이다.
이런 맥락에서, 작년 봄에 세월호 침몰이라는 국가적인 대참사가 벌어졌을 때는 It is well with my soul(내 평생에 가는 길 순탄하여 / 내 영혼 평안해)라는 찬송이 잠시 주목을 받기도 했다. 이거 작사자도 선박 사고로 처자식을 잃은 와중에 하늘로부터 오는 평안을 되찾고 가사를 썼기 때문이다.

* 그리고 몇 가지 별로 중요하지 않은 사실은..

  • 본인은 지금 다니는 교회에서 찬양 인도자이다. 비록 기악이든 성악이든 음악을 전공한 이력은 전혀 없지만 찬송은 그냥 의욕 있게 크고 기계적으로 정확하게만 부르면 장땡이니까..
  • 본인은 킹 제임스 진영에 들어가기 전에 고향에서는 성결교 출신이다.

Posted by 사무엘

2015/03/10 08:27 2015/03/10 08:27
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1071

이번에 소개하는 세 개의 고전 게임들은 다음과 같은 공통점이 있다.
  • 지금으로부터 무려 30년도 더 전에 만들어진 엄청난 옛날 물건이다. 나이가 본인과 맞먹는다~!
  • 게임기(오락기 포함)이 아닌 PC용이다. 그래서 비주얼이 겨우 4색 CGA로 맞춰져 있는지라 당대의 게임기용 게임들보다는 그래픽이 다소 초라해 보인다.
  • 본인은 옛날에 컴퓨터 학원에서 구경했던 적이 있다. 그런 인연이 있기 때문에 이렇게 내 블로그에다 소개도 하는 것이다.
  • 개인 작품이다.
  • 프로그램은 롬/카트리지 이미지 따위가 아니라 COM 파일 하나로 존재한다. 그래서 도스박스 정도의 에뮬레이터에서 간단히 실행 가능하다.
  • 딱히 이렇다 할 엔딩이 없다. 단지 인간이 도저히 감당할 수 없을 정도로 게임 진행이 점점 더 빨라지고 어려워질 뿐이다.
  • PC용이지만 그래도 여전히 게임기용 게임을 표방하는지, 실행을 종료하는 명령도 없다.
  • 오늘날은 다들 '리메이크' 작품이 나와 있다. 특히 모바일용으로. 게임 목표와 방식은 동일하지만 그래픽과 사운드를 월등히 더 고퀄로 끌어올려서 말이다.

"아~ 이거! 그때 그랬지" 하면서 공감하는 old-timer들이 많이 계시기를 기대하며 글을 시작하겠다.

1. Paratroopers (1982)

우리는 화면 하단 중앙의 포탑의 각도를 좌우 화살표로 조종할 수 있다. 하늘 위로는 헬리콥터들이 수시로 드나드는데 총알을 맞혀서 떨어뜨려야 한다. 총알을 한 발 쏠 때마다 점수를 1 잃지만 목표물을 맞히면 그보다 더 많은 수의 점수를 얻는다. 단, 0점이라도 총알 보급 자체는 무한임.

사용자 삽입 이미지

가끔은 헬리콥터에서 낙하산을 탄 군인이 떨어지는데 얘는 반드시 쏴 죽여야 한다. 좌나 우 한 방향에 군인이 4명이 생기면 이 군인은 포탑 위로 기어 올라와서 포탑을 부수며 이로써 게임이 끝난다.
또한 주기적으로 헬리콥터 대신 제트기가 날아오면서 폭탄을 일직선으로 투하하는데, 이 폭탄도 요격해야 한다. 안 그러면 포탑은 폭탄에 맞아 박살 난다. 폭탄을 요격했을 때의 점수가 가장 높다.

재미있는 것은 사람의 경우 사람 자체가 아니라 낙하산만 맞히는 게 가능하다는 점이다. 그러면 그 사람은 땅바닥으로 운지-_-하는데, 아래에 다른 사람이 있다면 그 사람도 같이 죽는다. 이것이 포탑 아래에 이미 내려간 군인을 제거하는 유일한 방법이다.

나름 아기자기한 요소가 여기저기 담겼고 상당히 재미있는 시간 죽이기용 게임이다.
다만 실제로 게임을 해 보면 조작이 굉장히 불편하다는 게 아쉬운 점이다. 폭탄 요격도 생각보다 잘 안 돼서 첫 제트기 씬 때 죽어 버리는 경우가 허다하다.
포탑이 돌아가는 속도, 총알이 날아가는 속도도 그리 빠른 편이 아니어서 군인들이 좌우로 사정없이 떨어질 때 신속하게 대응하기 어렵다.

이 게임의 개발자는 폴란드계 미국인인 Greg Kuperberg인데.. 이 사람은 1967년생이다. 즉, 저 게임을 중3~고1쯤 되는 나이일 때 어셈블리어를 혼자 뚝딱거리며 만들었다는 뜻이다. 그리고 이 글에서는 소개하지 않지만, 저 사람은 비슷한 시기에 이것과 비슷한 타입의 다른 게임도 여럿 개발한 경력이 있다.

10대 중반의 나이에 엄청난 프로그램을 개발한 괴수야 이 세상에 한둘만 있는 건 아니니, 이것만으로는 그렇게까지 대단한 이야기가 아닐 수 있다. 하지만 저 사람은 좀 더 무서운 가정사와 내력이 있는데, 바로 부모가 모두 영문 위키백과에 등재되어 있을 정도로 저명한 수학자이다. (대학교 수학과 교수) 그리고 저 사람 자신도 나중에 미국의 유수의 명문대에서 박사 학위를 받은 뒤 나중에 수학과 교수가 되었고, 수학은 아니지만 물리학과 교수인 여자와 결혼했다.

이 정도면 우리나라의 홍 성대 씨에 맞먹는 수학 명문 가문이 아닐 수 없다.
수학 덕후가 만든 덕분에 헬리콥터나 대포가 박살날 때 날아가는 파티클들의 모양과 움직임이 상당히 고퀄이었던 건지도 모르겠다. 다시 말하지만 저건 중삐리~고삐리 급 애가 만든 게임이다.

2. Bouncing Babies (1984)

화면의 왼쪽엔 5층짜리 건물이 온통 불길에 휩싸여 있으며, 미처 지상으로 대피를 못 한 어린 아기들이 수시로 창문에서 떨어진다. 그리고 당신은 안전 낙하용 매트를 든 2인조 구급대원이다. 아기는 한번 매트에 떨어지면 오른쪽으로 세 번 통통 튀는데, 이때도 아기를 매트로 받아서 구급차가 있는 데까지 안전하게 보내야 한다. 게임 진행이 하도 엽기적이어서 머리에서 잊혀지지가 않는다. (걍 구급차를 좀 더 건물에 가까이 주차시켜 놓지 그래..?? 같은 건 묻지 말자..ㅋ)

사용자 삽입 이미지

게임의 기술 수준은 그렇게 높지 않다. 건물의 불은 불꽃 애니메이션이 있는 것도 아니고 그냥 무작위로 불 스프라이트를 xor 연산한 것이 나타났다가 사라지기를 주기적으로 반복하는데, 그래도 기술적인 단순함에 비해 불 같은 느낌이 살짝은 난다. 색깔을 나타내는 숫자의 한 비트만을 xor시킨 것으로 보인다.

또한 구급대는 일체의 스프라이트가 존재하지 않으며, 좌우 화살표를 누를 때마다 좌중우 세 위치 중 하나로 곧바로 워프할 뿐이다. 이 정도 게임은 걍 GWBASIC으로도 만들 수 있지 않을까 싶을 정도.

그리고 그런 의심이 더욱 강하게 드는 이유가 뭐냐 하면.. 이 프로그램은 실행 직후에 불, 아기, 구급대 같은 그래픽만 화면에 잠깐 나타났다가 사라지기 때문이다.
도스 시절의 BASIC 프로그래머라면 이건 화면에 그려진 그래픽 내용을 버퍼에다 저장하는 GET 명령을 호출하는 준비 과정과 유사함을 눈치 챌 수 있을 것이다.

난이도가 올라가서, 한 아기가 완전히 구급차로 가기 전에 또 5층에서 아기가 떨어지기 시작하면 구급대는 그야말로 좌우로 축지법을 써야 하게 된다. 옛날 도스용 라이온 킹 게임의 스테이지 중간 보너스 게임으로 있던 Bug Toss와 비슷한 방식이다.

게임 화면에서 고개를 좀 갸웃거리게 하는 것은.. 잔기를 표시한 방식이다.
저 게임에서 미스는 두 말할 나위 없이, 떨어지는 아기를 하나라도 놓쳐서 땅에 떨어뜨리는 것이다. 그런 사고를 낼 때마다 잔기가 하나씩 줄어들며, 모든 잔기가 떨어지면 게임 오버가 된다.

그런데 게임에서는 그 잔기를 아기 모양으로 표시해 놓았다. 아기 모양은 차라리 한 스테이지당 구해야 하는 아기의 수를 나타내고, 스테이지가 진행될수록 그 남은 수가 줄어들게 하는 게 자연스럽지 않을까? 아기 모양으로 "허용되는 미스의 수"를 표기한 건 좀 직관적이지 못해 보인다.

물론 나도 말은 그렇게 했지만 근본적으로 아기를 떨어뜨린다고 해서 저 구급대원이 당장 다치거나 죽는 건 아니기 때문에, 이런 게임 체계에서는 뭔가 다른 대안을 떠올리기도 쉽지 않아 보인다.

뭐, 이런 게임도 있다 싶어서 소개해 보았다.
개발자는 Dave Baskin이라고 알려져 있으나, 동명이인이 많을 뿐만 아니라 직접적으로 이 게임과 프로필이 연결되어 있는 사람을 찾지 못해서 개발자가 지금은 뭘 하고 있는지 알기가 어렵다.

3. Alley Cat (1983)

그리고 그 이름도 유명한 Alley Cat. 얘는 게임 자체와 개발자 모두에 대해서 본인이 이미 심층분석을 한 적이 있기 때문에 이 글에서 또 상세히 다루지는 않겠다.

비슷한 시기에 나온 위의 두 게임과 비교해 보니 Alley Cat이 당시로서는 창의적인 명작 대작이었는지가 실감이 가지 않는가? (비록 Alley Cat은 전적으로 1인 기획은 아니었고, 다른 사람이 만들던 것을 Bill Williams가 물려받은 형태이지만)
다른 게임에 비해 얘는 일단 길거리, 집안, 최종 보스 퀘스트 등 현실 세계과 초현실 세계를 드나들면서 장면 내지 컨텐츠 자체가 엄청 많이 존재한다.

예전 글에도 적혀 있듯, 이 게임의 개발자는 훗날 게임 업계를 은퇴한 뒤 신학을 시작했다. 그러나 유전병을 갖고 있던 게 도져서 30대 후반의 나이로 세상을 떠났다. 생년과 몰년이 pkzip의 개발자인 필립 카츠와 비슷해서 비교된다는 점까지 언급한 바 있다.

* 그나저나 옛날에는 마우스가 없어도 조이스틱은 있었는지.. 그 시절엔 조이스틱을 어느 포트에다 연결해서 어떻게 썼는지 참 궁금해진다.
도스용 고전 게임들 중에서도 조이스틱을 지원 안 하는 물건은 거의 없다시피했기 때문이다.

Posted by 사무엘

2015/03/05 08:31 2015/03/05 08:31
, , ,
Response
No Trackback , 6 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1069

1.
먼 옛날, 윈도 98을 쓰다가 2000으로 갈아탔을 때, 난생 처음으로 Windows NT 계열을 구경하고서 굉장히 놀랐던 기억이 지금도 선하다.

NT 계열은 일단 마의 리소스 퍼센티지 제약이 없었으며, 말로만 듣던 2바이트 문자열 기반의 유니코드 API가 잘 지원되었다. 이 둘은 매우 크게 다가온 아이템이다.
작업 관리자가 9x 계열에 비해서는 넘사벽급으로 잘 만들어져 있었고, 도스창이 아닌 정식 명령 프롬프트가 제공되었다. 이 외에도 EXE/DLL 내부의 리소스를 수정하는 API가 사용 가능한 것도 좋았다. (9x 계열은 16비트 바이너리의 리소스만 고칠 수 있었음)

윈도 95/98에서는 못 보던 파일은 ntoskrnl.exe, csrss.exe, lsass.exe, ntdll.dll, hal.dll, ntvdm.exe, svchost.exe 등이다.
그 반면, 윈도 9x의 잔재이던 파일은 msgsvr32.exe, win386.swp, system.dat, user.dat, winoa386.mod, *.vxd, win.com 같은 것이다.

윈도우 2000/XP부터는 NT 커널 덕분에 주기적으로 재부팅을 할 필요가 없어졌다.
하지만, 주기적으로 재설치도 거의 할 필요가 없어진 건 Vista 이상인 듯하다. XP는 이 범주에까지 넣기에는 좀 2% 부족한 구석이 있었다.

2.
과거에 Windows 9x 시리즈와 Windows NT는 구조적으로 여러 차이가 있었지만, 프로그래머의 관점에서 중요한 특징 중 하나는 '이식성'이었다.
NT는 하드웨어에 종속적인 계층이 철저히 분리되어 설계되었으며 커널이 대부분 어셈블리가 아니라 C/C++이라는 '고급 언어'로 작성되었다. 마치 유닉스처럼. 덕분에 인텔 x86뿐만 아니라 90년대 당시로서는 MIPS, Alpha 등 다양한 아키텍처용 윈도 NT가 나오기도 했다.

NT는 설계 차원에서 특정 하드웨어의 특성에 맞는 '타협'을 별로 안 하고 추상화 계층이 많이 존재하다 보니 깔끔함, 안정성, 범용성 등 많은 장점을 얻을 수 있었다. 게다가 그 시절에 벌써 유니코드를 염두에 두고 wide string을 기본적으로 사용하기 시작한 건 상당한 선견지명이다. 물론 그 대신 시스템 요구 사항이 당연히 1990년대의 가정용 PC가 도저히 범접할 수 없을 정도로 높았다. 메모리와 속도 모두.

이런 NT와는 달리, Windows 95는 이상이 아닌 현실을 추구하였다. 도스와 윈도 3.1을 돌릴 수 있는 정도의 램 한 자릿수 MB대 똥컴을 타겟으로 하여 Win32 API를 최대한 많이 구겨 넣었다. 이 과정에서 지금은 당연시되고 있는 유니코드 API조차도 메모리를 필요 이상으로 많이 잡아먹는 다고 판단되어 과감히 짤려 나갔다.

9x 커널의 소스에는 도스 레거시를 비롯해 오로지 x86 CPU에만 최적화된 쑤제 어셈블리 코드가 난무하였다. 그렇게까지 극도로 최적화를 하고 성능을 짜내야만 메모리 사용량을 1K라도 줄일 수 있을 테니 말이다. 9x는 NT보다 배고픈 운영체제인 것이다. 그럼에도 불구하고 OS/2를 PC 환경에서 완전히 몰아내고 Windows 천하통일을 이루는 데 기여한 일등공신은 NT가 아니라 95였음이 부인할 수 없는 사실이다.

OS/2를 개발하던 마소의 엔지니어들이 떨어져 나가서 따로 만든 게 NT라고는 하지만, OS/2 자체는 NT 같은 이식성 있는 형태라기보다는 9x에 더 가까운 어셈블리 최적화 컨셉이었다고 한다. OS/2는 NT 뺨치는 수준의 앞서 나간 최첨단 운영체제이긴 했지만, 내부 구조가 이식성보다는 역시나 x86에 너무 종속적이었다는 뜻. 그래서 다른 아키텍처로 이식은커녕, 같은 x86 컴에서 가상화 소프트웨어로도 돌리기가 곤란할 정도라고 한다.
(그래도 지금은 x86에서 맥 OS X 해킨토시까지 돌리는 세상이 됐는데 설마 OS/2를 못 돌리나 싶다.)

3.
더 옛날, 도스 시절에는 뭔가 새로운 하드웨어를 사용하려면 램 상주 프로그램을 덕지덕지 실행해 놔야 해서 몹시 불편했다. CD롬조차도!

  • 사운드: sound / unsound (굉장한 옛날 유물. 왠지 '불건전하다!'가 생각 나는 건 기분 탓. ㅋㅋㅋ)
  • 그래픽: simcga, msherc (이것도 옛날 유물. msherc의 경우, QuickBasic에도 포함돼 있었다.)
  • 마우스: mouse (단, 윈도 3.x는 별도의 램상주 드라이버 없이도 마우스를 스스로 인식하여 실행되었음!)
  • CD롬: mscdex (기본 메모리를 상당히 많이 차지했음)

아마 USB 포트가 도스 시절에 도입됐다면, 이걸 인식시켜 주는 램 상주 프로그램도 당연히 필요했을 것이다.
아, 텍스트 모드에서 한글을 구동해 주는 프로그램도 빼먹을 수 없다. hbios / mshbios(윈도 95) 같은 것.
그 외에 화면 캡처나 게임 위저드 같은 램 상주 유틸리티는 하드웨어 인식보다는 편의 기능 분야에 속한다.

요즘은 환경변수 같은 건 PATH에서나 제일 많이 쓰이고, C/C++ 프로그래머에게는 컴파일러의 동작에 필요한 include 및 라이브러리 디렉터리를 지정할 때나 쓰이는 게 고작이다.
하지만 옛날에 사운드 블래스터라는 사운드 카드가 있던 시절에는 기본 IRQ 번호던가 뭔가도 환경변수에다 지정해 놓곤 했으며, 각종 게임의 환경설정 프로그램에는 사운드 종류와 그런 세부 정보도 입력을 받곤 했다.

이것도 정말 까마득한 옛날 얘기가 됐다.
도스용 프로그램들에는 파일 메뉴에 '도스 나들이(DOS Shell)' 기능이 있던 시절이니까 말이다.
운영체제가 이렇게 방대하고 권한이 커지면서 상당수의 유틸리티들은 의미를 퇴색했으며, 전문화된 고급 셸 아니면(토탈 커맨더 같은) 더 전문적인 유지보수 유틸리티(노턴 고스트?) 내지 안티바이러스/보안 쪽으로 업종을 세분화· 전환하는 게 불가피해졌다.

4.
태초에 도스는 검은 화면에 흰 프롬프트밖에 없었을 뿐만 아니라 명령어를 입력하는 환경도 굉장히 자비심이 없었다.
삽입/삭제 모드 같은 개념이 없을 뿐만 아니라, 애초에 이미 입력된 글자를 지우지 않고서는 앞 글자로 cursor를 옮기는 것 자체가 불가능했다. 즉, 왼쪽 화살표만 눌러도 마치 bksp를 누른 것처럼 앞글자가 지워지면서 cursor가 앞으로 이동했다.

명령 히스토리는 직전의 딱 한 단계만 지원했다. F1~F3을 눌러서 직전 명령을 한 글자씩 복구하거나 첫 n 글자 또는 전체를 한꺼번에 불러오곤 했다. 그 시절을 혹시 기억하는 분이 계시는지?

그나마 doskey.com이라고 아마 도스 3~4쯤에서 추가된 걸로 추정되는 외부 명령 램 상주 유틸리티를 실행하면 위/아래 화살표로 히스토리가 가능하고 좌우 cursor 이동이 자유롭게 가능해졌다. 지금은 너무 당연하게 여겨지는 기능이 옛날에는 별도의 프로그램을 통해서만 접근 가능한 액세서리 기능이었던 것이다.

윈도 NT의 명령 프롬프트는 기본적으로 이 모드인 듯한데, 그런데 tab을 눌러서 파일/디렉터리 이름을 자동 완성하는 기능은 윈도 XP에서 처음으로 추가되었다. 세상에, NT4와 2000 시절까지만 해도 이런 기능이 없었으며, tab을 누르면 그냥 문자적인 탭이 그대로 삽입되곤 했다.

단, 기능 추가만 있는 건 아니다. 윈도 XP까지는 탐색기에서 파일이나 디렉터리를 명령 프롬프트에다 drag & drop을 하면 그 이름을 자동으로 삽입해 주는 기능이 있었는데 아마 윈도 Vista부터는 그 기능이 의도적으로 삭제되었다. 보안 때문에 취해진 조치라고 하는데 이런 편리한 기능에 도대체 무슨 보안 문제가 있는지는 나로서는 알 길이 없다.

명령 프롬프트를 전체 화면으로 실행하는 기능 역시 Vista에서부터 삭제되었다. 딱히 별 의미가 없어지기도 했으니.
어디 이 뿐이랴. 2000까지만 해도, 콘솔창 내용을 마우스로 긁는 '빠른 편집' 모드는 곧장 사용 가능했던 반면 XP부터는 먼저 속성 창을 거쳐서 강제로 켜야만 사용 가능하게 바뀌었다. 이건 보안 이유 때문은 아니고, 마우스를 지원하는 도스용 프로그램과의 호환 때문에 취해진 조치라고 한다.

제아무리 도스 기반이 아닌 NT 계열의 명령 프롬프트라 해도, 문자 인코딩부터가 2바이트 ANSI 코드 페이지와 여전히 얽혀 있고 도스의 흔적을 완전히 걷어내지는 못한 듯하다. 그래도 64비트부터는 16비트 코드 자체가 이제 지원되지 않는데 더 좀 걷어내도 되지 않나 싶다.
기존 명령 프롬프트보다 더 강력한 대체제라고 일컬어지는 PowerShell이라는 물건이 있긴 하나, 본인은 그런 게 있다는 것만 알고 이게 특별히 장점이 무엇인지는 알지 못한다.

아 그리고. 지긋지긋한 Terminal 내지 굴림체 말고 Consolas 내지 Courier, Lucida Console 같은 글꼴을 좀 쓰고 싶은데 Wndows는 공식적으로는 명령 프롬프트의 글꼴을 자유자재로 바꾸는 방법을 제공하지 않는다. 마치 uxtheme을 해금/탈옥시키듯이 레지스트리를 조작해서 글꼴을 바꾸는 방법이 인터넷에 있긴 한가 본데 본인은 성공하지 못했다.

Posted by 사무엘

2015/03/02 19:28 2015/03/02 19:28
, , ,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1068


블로그 이미지

그런즉 이제 애호박, 단호박, 늙은호박 이 셋은 항상 있으나, 그 중에 제일은 늙은호박이니라.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2015/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Site Stats

Total hits:
3936846
Today:
1262
Yesterday:
4175