고전 게임 황금도끼에 대해서 아주 오래 전에 글을 쓴 적이 있었는데 또 내용을 첨언할 게 생겼다.
그 글은 이 블로그가 생기기도 전, 제로보드 시절에 썼던 글이니 시기로는 2009년이나 그 이전의 정말 옛날 글이다.

황금도끼는 오락실용 원판이 나온 이후로 다양한 플랫폼으로 이식되었다.
그 중 Mega Drive/Genesis 판(게임기용?)은 레벨을 좀 더 추가하고 Duel이라는 결투 모드를 넣는 등 게임 시스템에 변화를 좀 넣었는데, PC(도스)용 버전은 바로 이 버전에서 파생되어 나왔다. 원판이 1989년에 나왔고 PC용이 그 이듬해에 나왔다는 것은 페르시아의 왕자와 일치하는 내력이다.

Mega Drive/Genesis에서 추가되고 PC용에서도 도입된 결투 모드는 스토리(아케이드)를 따라 진행되는 정식 게임이 아니라, 주인공이 고정된 arena에서 정해진 적들과 PvP를 벌이는 일종의 대전 게임이다. 첫 레벨에서는 그냥 잡몹 한두 마리만 나오지만, 레벨이 올라갈수록 보스급 몬스터가 등장하면서 진행이 어려워진다.

결투 모드에서는 아케이드 때와는 달리 몹도 체력이 화면에 나온다. 정확히는 화면에 존재하는 모든 몹들의 체력의 합임. 덕분에 적을 얼마나 더 두들겨 패야 이번 레벨을 끝낼 수 있는지를 얼추 알 수 있다.

사용자 삽입 이미지

사실, MMORPG나 전략 시뮬, 아니면 아예 1:1 대전 액션 게임 같은 장르 말고 통상적인 액션/아케이드형 게임에서 내가 싸우고 있는 몹의 체력을 알 수 있는 게임은 별로 없다. 페르시아의 왕자는 적과 싸우는 것은 1:1 대전 컨셉을 표방했기 때문에 친절하게 적의 HP가 화면에 나오는 것일 테고, 황금도끼도 아케이드가 아닌 결투 모드에서는 그런 컨셉을 추구하여 적의 HP를 표시해 주는 것 같다.

단, PC용의 경우, 해골 두 마리가 등장하는 레벨 9 이상부터는 주인공과 몹들의 HP가 화면에 안 나오기 시작한다. 화면에 아무 정보도 표시되지 않으며, 이 덕분에 부하가 좀 줄어들어서 게임의 진행이 약간 빨라지기도 한다.

사용자 삽입 이미지

Mega Drive/Genesis 판에서는 레벨이 올라갈수록 날이 점점 어두워져서 밤이 되는 효과가 있으나, PC용은 그런 것도 없다. 아무튼...
그렇게 레벨 13까지 가면 빨간 기사와 빨간 뚱보에 잡몹 둘까지.. 총 4마리나 되는 몬스터가 나타난다.

사용자 삽입 이미지

그런데 문제는 이 레벨을 깬 다음이다. 무슨 파일이 없는지 다음 디스크를 넣으라는 메시지와 함께 게임 진행이 중단된다.
이건 뭐 취소할 수도 없고 프로그램을 종료할 수도 없다. 황금도끼를 돌리고 있는 도스 에뮬레이터를 강제 종료하는 수밖에 없다.

사용자 삽입 이미지

도대체 왜 이러는 것일까?
혹시 프로그램 배포에 문제가 있는 게 아닌가 싶어서 국내외 여러 곳에서 서로 다른 황금도끼 파일을 구해 봤지만, 파일 구성은 변한 게 없으며 레벨 13 이후에 저렇게 진행이 중단되는 건 여전했다.

그럼에도 불구하고 유튜브를 뒤져 보면, 황금도끼 PC판에서 레벨 13 이후에도 결투를 진행하는 플레이 동영상이 존재한다. 세상에! (☞ 링크 클릭. 2분 58초부터)
레벨 14는 아케이드 레벨 6의 보스인 Death Adder 주니어와 부하 해골 두 마리이며, 레벨 15는 아케이드 마지막 레벨의 최종 보스인 그 시커먼 Death Adder와 부하 해골 두 마리이다. 그리고 이게 결투의 마지막이다.

이 사람은 어떻게 해서 레벨 14와 15까지 잠금해제를 한 걸까?

결론부터 말하자면, 뜻밖에도 인터넷에 굴러다니는 황금도끼 배포본에 일부 파일이 누락됐거나 문제가 있는 건 아니다.
레벨 14~15의 리소스도 다 준비돼 있는데 프로그램 자체에 버그가 있어서 그걸 제대로 인식을 못 한 거라고 한다.
외국의 어느 리버스 엔지니어링/해커 팀에서 해당 프로그램을 기계어 코드를 일일이 분석하면서 디버깅한 끝에 그 버그가 무엇인지를 알아냈다. 이 문서를 참고하시라.

황금도끼 PC판은 gold.exe라는 실행 파일이 lzexe라는 과거의 16비트 도스용 실행 파일 압축기로 압축되어 있다.
그런데 저 글을 쓴 해커는 unlzexe가 있는 줄 모르고, 실행 파일 내부에 들어있는 압축 해독 루틴과 압축된 데이터를 읽고 따라가면서 그냥 근성으로 실행 파일의 로직을 추적했다고 한다.;; 8086 어셈블리와 도스 인터럽트 API에 통달한 사람이라면 최소한 80년대 이전생의 old timer일 텐데, unlzexe를 모르는 것도 신기하다만... 아무튼 괴수.

물론, 그 lzexe를 만든 사람도 괴물인 건 두 말할 나위가 없고 말이다. (ioccc 입상자이며, lzexe는 그가 겨우 고등학생일 때 만든 작품이다.. 쩝~)

자, 저 문서의 내용을 요약하면 이렇다.
문제의 원인은 레벨 14로 갈 때 프로그램이 잘못된 파일 이름을 요청한다고 한다. 파일 이름에 아스키 코드 4번 제어 문자가 들어있다고 하니 이는 명백한 오류이다.

역추적을 해 보면 드디어 레벨별로 소환할 몬스터 정보가 담긴 테이블에까지 도달하는데..
레벨 14와 15를 보면 비정상적인 값이 들어있다. 메모리의 내용을 강제로 일관성 있게 수정해 주니 놀랍게도 모든 결투 레벨이 정상적으로 진행된다.

이런 걸 찾아내다니 저 해커에게 경의를 표하는 바이다. 정말 안 되던 걸 되게 만든 사람이다.
SI가 가리키는 값을 보면 남자 여자 소형 잡몹은 따로 처리해 주는 게 없고, 0xA는 그 chicken leg 탈것이고 0xB+0x10은 붉은 용, 0xB+0x11은 푸른 용이다. 0x6은 대머리 보스, 0x3은 해골, 0x8은 칼 든 기사 보스, 그리고 0x7은 Death Adder의 스프라이트에 대응한다는 걸 알 수 있다.

저 메모리 테이블은 다행히 황금도끼의 실질적인 실행 파일에 해당하는 axe.dat에 고스란히 들어있다. unlzexe로 얘의 압축을 푼 뒤, 메모리를 패치하듯이 잘못된 값이 들어있는 부분(오프셋이 대략 0xFFxx대에 있음)을 고치면.. 레벨 14~15가 모두 잠금해제된 황금도끼를 즐길 수 있다~!

옛날에 게임 위저드 32를 이용해서 주인공의 HP를 강제로 늘리거나 심지어 값이 바뀌지 않는 무적 상태를 만들어 놓고 게임을 즐긴 적도 있다. HP 한 칸이 내부 HP 4에 대응하는 형태이기 때문에 비교적 쉽게 메모리 주소를 찾을 수 있었다.
지금도 그런 해킹 프로그램이 있다면 저 테이블을 메모리에서 찾아내서 결투 모드 버그 정도는 런타임 때 고칠 수 있을 듯하다.

디버깅을 할 줄 알면 이런 것도 다 가능하다는 걸 알 수 있었다.

Posted by 사무엘

2014/08/27 08:38 2014/08/27 08:38
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1000

본인은 여러 번 글을 통해 내 의견을 피력했듯이.. 대한민국의 건국/초대 대통령인 이 승만 박사를 매우 존경하며 그는 잘못한 것보다 잘한 것이 훨씬 더 많다고 주장한다. 우리나라는 지엽적인 병크나 비리에도 불구하고, 정말 기적적으로 건국되고 지켜지고 유지된 자랑스러운 나라이다.

김 구의 <백범일지>만 읽다가 이 승만의 <독립정신>도 접하고 나면, 정말 독자의 지성과 품격, 안목까지 한 단계 올라갈 수 있다. 그 꼬질꼬질하던 옛날 구한말에 벌써 자유 민주주의와 자유 시장 경제를 생각하고 한 나라의 이상향을 옳은 방향으로 생각한 사람이 있었다니. 사악한 공산주의자들의 흉계를 외교력으로 저지하고 나라의 반쪽이라도 붉게 물들지 않게 지켜 낸 것을 감사하게 된다.

이 박사에 대해서 독립 운동가 시절부터 말년에 이르기까지 악의적인 흠집과 필요 이상의 온갖 중상모략에 대해서 본인은 거의 대부분 실드가 있고 대응책이 있다. 임시정부 시절에 부린 똘끼라든가 친일파 등용(?) 정도는 얼마든지 해명 가능하다.

중국의 마오 쩌둥을 생각해 보자.
그는 잘못된 경제 정책으로 수천만 명의 인민을 굶겨 죽이고 그것도 모자라 대약진운동에 문화혁명 홍위병 등 온갖 삽질 개뻘짓을 자행하여.. 196, 70년대에 우리나라가 반사 이득으로 경제 도약을 할 기회까지 줬다. 6·25 때 일본이 덕을 본 것만큼이나 우리도 결과적으로는 중국의 삽질의 덕을 본 거나 마찬가지다.

그럼에도 불구하고 마오 쩌둥은 중국 내부에서 여전히 공7 과3 정도의 국부로 예우받고 있고, 심지어 국내에서도 마오 쩌둥 존경한다는 사람까지 있다. -_-;; 정신 좀 차리시길. 마오 쩌둥은 6·25 때 중공군 파병으로 인해 우리나라의 멸공 북진통일의 기회를 영원히 박탈해 버린 적장이다! 이 사실을 절대 잊지 말라.

“비록 적장이지만 훌륭하다” 급의 다른 실드는? 내가 보기엔 글쎄...??
그리고 인간적으로 훌륭한 면모가 있다고 해서 당신은.. 히틀러까지는 아니더라도 도요토미 히데요시나 이토 히로부미 같은 사람을 존경하고 흠모하고 위인전에까지 선뜻 올리시겠는가? -_-;;

아무리 사람마다 가치관과 견해가 차이가 날 수 있다 해도, 마오 쩌둥은.. 한국인의 입장에서는 그 누가 보더라도 이 승만보다 더 존경할 만한 인물은 절대로 아니다. -_-;;;; 최소한 한강 다리 폭파 병크보다는 우리에게 훨씬 더 큰 해악을 끼친 인물이다.
저건 6·25 때 보도연맹인지 국민방위군 같은 거 일일이 다 끄집어내서 때리는 잣대와 동일한 잣대라고는 절대로 볼 수 없다. 내 말 틀렸나?

이런 잣대하고만 비교해 봐도 이 승만에 대한 잣대만 비정상적으로, 불순한 의도로 지나치게 가혹하다고밖에 보이지 않는다. “우리나라 걍 건국하지 말고 간판 내리고 김 일성 치하에서 통일 조국 이루며 살았어야 했다”가 아닌 이상.. 그 시절에 불가능했던 일을 못 이뤘다고 헛소리 하는 건 건전한 생각이 아니며 이성적인 판단도 아니다.

거듭 말하지만 난 이 승만을 미화, 우상화, 숭배 따위를 하지 않는다. 단지, 멀쩡한 애국자 초대 대통령에게 별 희한한 생트집 구실로 부관참시를 하고, 그냥 긍정적인 면모를 얘기만 하면 미화네 숭배네, 일베충 뉴라이트 수꼴 이 따위 헛소리를 해 대며, 저 사람 독재가 김 일성 독재와 똑같았다는 둥의 역사 왜곡, 능멸, 난도질을 하는 꼴을 보니 피거솟을 느끼며 그걸 극도로 혐오하여 반박할 뿐이다.

뭐 아무튼.
그렇다고 해서 이 승만이 대통령으로서 실책이 없는 건 당연히 아니며 잘못한 것도 적지 않다. 설령 아랫사람 부하 잘못이라고 해도, 그런 병신 같은 부하들을 통제를 못 하거나 인재 등용을 제대로 못 한 건 대통령의 책임이 없다고 할 수 없기 때문이다.

마치 노 무현 전대통령을.. 법조인으로서는 좋아하지만 그는 대통령 그릇이 아니었다고 비판하는 사람이 있듯, 이 승만도 외교 독립 운동가로서만 좋아하고 대통령으로서는 안 좋아하는 사람이 있다. 그 정도야 충분히 정당한 비판이고 이견이다. 그 사람이 외교를 잘한 것만치 내치를 잘하지는 못했다는 것은 나도 응당 동의하는 바다.

다만, 내가 주장하는 것은 이 승만의 정치적 과오는.. 최소한 누가 자꾸 헐뜯는 것처럼 절대 악의적이지는 않았다는 것이다. 도저히 어쩔 수 없는 과정에서 발생한 돌발행위나 과잉진압, 너무 위급하고 나라가 가난하고 열악해서.. 피아 식별도 안 되고 명령이 제대로 전달되 여건이 아니어서, 인재를 도무지 구할 수 없어서, 지금 뭐 아무것도 모르는 백성들을 대상으로 당장 뭐든지 다 보장하고 허용하기에는 빨갱이들의 거짓 선동이 너무 위험해서 등등등...으로 대부분~~ 실드가 쳐진다.

옛날에 했던 비유를 또 들겠다. Windows 95가 32비트 선점형 멀티태스킹 OS임에도 불구(자유 진영 민주주의)하고 도스와 16비트 코드가 섞인(구시대 악습, 친일 경찰 간부, 일부 자유 제약 등등) 불안정하고 BSOD가 만연한 이상한 제품으로 만들어졌던 건.. 그 당시 일반 “사용자들의 컴”이 Windows NT / OS/2를 도저히 돌릴 수 없는 환경이었고 도스 호환성을 도저히 외면할 수 없었기 때문이다. 다른 이유 없다. 지금 컴퓨터 환경을 갖고 옛날에 Win95를 만든 엔지니어를 욕하는 게 어디 말이나 되는 소리냐? 그것과 같은 맥락이다.

이 승만이 악의적이지 않았다는 건 차라리 햇볕 정책이 비록 실패이지만(북한 체제나 주민 인권 개선에 아무 도움도 안 됐고 우리 돈만 엄청나게 축났고, 도리어 그게 다 핵 개발로 돌아왔고.. -_-) 악의적이지는 않았다고 믿는 것보다는 100배 이상 훨~씬 더 쉽게 믿을 수 있다. 자, 더 흥분할 것 같으니, 개인의 정치색이 들어간 논쟁은 여기에서 커트하도록 하고.

본론으로 돌아오면, 잘 알다시피 북한의 갑작스러운 6·25 남침 때 우리나라 정부와 군대는 우왕좌왕 허둥대다가 영남 지방까지 밀려나면서 졸전을 거듭했다. UN군의 도움이 아니었으면 그때 대한민국이 지도에서 지워질 뻔했다. 그런데 이게 우리 입장에서는 꼭 도저히 예상할 수 없었던 사건이기만 한 건 아니었던 것 같다.

이 승만 대통령은 저 북한 빨갱이들이 조만간 전쟁을 일으킬 거라고 미국에다가 추가 군사 지원을 끊임없이 요청했지만 미국이 그 요구를 묵살하고 쟤들이 설마 그러겠느냐고 안이하게 대처한 것도 있었다. 또한 우리나라 군부 역시 대통령의 선견지명과는 반대로, 국지전에서 더 나아간 전면전 남침 조짐이 거듭 보고되는 걸 무시하고 태평하게 지내기도 했었다. (그렇게 안이하게 대처하다가 천하의 군사 강국 미국조차도 옛날에 진주만 기습 폭격을 당하고 9·11 테러를 당했듯이..)

개전 당시에 대통령 수뇌부가 서울을 너무 금방 포기해 버린 것, 국민들에겐 페이크를 치면서 마치 세월호 선장이 도망치듯이 먼저 피난을 가 버린 것 때문에 여론이 안 좋아졌다. 이건 오늘날까지 이 승만을 씹는 사람들이 단골로 꺼내는 레퍼토리이기도 하다.
그러나 이건 그렇게 쉽게 판단할 문제가 아니다.

A. 이 승만 대통령은 6월 27일 새벽에 측근들로부터 피난을 안 가면 안 되겠다는 보고를 받았으나, “난 국민을 버리고 서울을 떠날 수 없다”라고 완강하게 고집을 부렸다. 프란체스카와 측근들이 1시간 가까이 설득한 뒤에야 비로소 피난을 갔다.

B. 반대로 무초 대사가 26일 밤쯤에 대통령을 찾아가 벌써 서울을 버리고 떠나서는 안 된다고 1시간 가까이 설득했다. 그러나 “내가 잡혀서는 안 돼. 좀 안전하게 피난 가야겠어”라는 대통령의 말에 더 설득을 포기했다.


이 두 모순되는 이야기가 인터넷을 찾아보니 공존한다. 누가 무슨 얘기를 갖고 대통령을 1시간째 설득했다는 건지? 둘 다 책 인용이고 여러 군데에 동일한 형태로 복붙이 돼 있어서 신뢰도는 충분히 갖춘 source이다.

그런데, 내가 잠시 리서치를 한 바로는.. 교차검증이 잘 안 된다.
A 문헌에서는 무초 대사는.. 참모진이 이미 대전으로 내려간 뒤부터에나 등장하며, B 문헌은 반대로 A 정도의 디테일로 26~27일 사이의 대통령의 구체적인 전후 행적이 나와 있지 않다.
한밤에 국제 전화를 걸어서 “군사 지원이 필요하니, 자고 있는 맥아더를 깨워서라도 당장 불러 달라. 안 그러면 한국에 있는 수천 명의 미국인들이 한 명씩 죽을 줄 알아라” 이렇게 대통령이 협박조로 강하게 얘기한 것까지 포함해서 말이다. (맥아더는 그 당시 미국이 아닌 일본에 있었기 때문에 한국과 시차가 비슷함)

“A 사건에 의해서 피난이 결정된 뒤에 B에 기록된 대로 무초가 최후에 피난을 만류했다”.. 라고 퍼즐 조각을 끼워 맞추는 게 자연스러울 듯하지만, 그렇게 종합하기에는 A가 말하는 시간대가 너무 늦다.

설마 진짜로 B와 A가 나란히 시간 순으로 벌어진 걸까? 이 승만이 그렇게까지 우왕좌왕 변덕쟁이였을 것 같지는 않은데. (처음엔 피난 가기로 결심 → 무초와 싸우고 난 뒤 피난 안 가기로 슬그머니 마음을 고쳐먹음 → 다시 측근의 제안을 받아들여 피난)

참고로 이 승만에 대해 '덜 긍정적'으로 진술하는 B도 조 갑제 닷컴 같은 우파 논객 홈페이지에 소개되고 인용돼 있다.
또한, 엔하위키조차도 “여기에는 두 가지 설이 있는데”와 함께 A안과 B안을 모두 소개하고 있으니 이 정도면 혼란이 객관적으로 입증되어 있다고 봐야 할 것이다.

이런 이유로 인해 인터넷에서 사람들은.. 팩트가 아니라 이 승만에 대한 호불호에 따라서 각자 자기가 믿고 싶은 대로 A 또는 B를 미는 촌극이 벌어지고 있다. 나도 한때는 A 설만 있는 줄 알았으나, B도 신뢰도가 무시 못 할 수준이어 보인다.
이건 정치 성향이나 정치인 호불호 문제가 아니라 역사 팩트 문제이기 때문에 편견 없이 자료를 나중에 좀 더 조사해 봐야겠다. 어느 쪽이든 역사 왜곡과 조작이 부디 없기를.

Posted by 사무엘

2014/08/24 08:33 2014/08/24 08:33
, , ,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/999

1. WM_QUERYDRAGICON 메시지

제목에 언급돼 있는 저 메시지는 도대체 뭘 하는 물건일까?
얘는 20여 년 전에 Winows 95가 등장한 이래로 쓸 일이 사실상 전혀 없어진 잉여이다.

그 주된 이유로는 첫째, 그때부터 minimized icon이라는 개념 자체가 운영체제에서 완전히 없어졌기 때문이다.
95 이래로 바탕 화면에는 '내 컴퓨터'나 '휴지통' 같은 걸 제외하면, 바탕 화면이라는 디렉터리에 있는 파일들만이 표시된다. 자주 쓰는 프로그램의 바로가기 정도나 바탕 화면에 표시되며 그것들도 엄밀히 말해서는 그 디렉터리에 있는 파일의 일종인 것이다.

최소화된 프로그램은 작업 표시줄의 제목 말고는 화면에 아무것도 보이지 않는다. 시작 메뉴와 작업 표시줄을 구동하는 explorer 셸 자체가 죽었다면 최소화된 프로그램이 진짜로 제목 한 줄만 달랑 보이는 최소화 상태로 있을 수 있지만, 이건 운영체제가 완전 막장이 됐을 때에나 발생하는 상황이며, 그냥 그 제목 텍스트를 드래그하면 되지 별도의 드래그용 아이콘이 필요하지는 않다.

둘째로, WM_SETICON / WM_GETICON이 그나마 남아 있던 아이콘 관련 기능을 완벽하게 대체해 버렸기 때문이다.
클래스를 등록하던 시절에 대표 아이콘이 지정되지 않았던 윈도우라 하더라도 가끔은 외형에 별도의 custom 아이콘이 필요할 때가 있다. 대화상자 단독으로 달랑 실행되는 프로그램이 대표적인 예다. 대화상자는 윈도우 프로시저는 거의 언제나 우리가 지정한 custom 버전이 쓰이지만, 그 윈도우 자체의 클래스 등록은 우리가 한 게 아니기 때문이다.

Windows 3.x 시절에는 창의 아이콘이 표시될 때가 최소화됐을 때 정도밖에 없지만, 95부터는 창 제목 왼쪽의 시스템 메뉴가 있는 곳에 창의 아이콘이 언제나 표시되어 있다. 그렇기 때문에 클래스 아이콘과 다른 아이콘을 별도로 공급하는 것은 운영체제가 나중에 응용 프로그램에다가 메시지를 보내는 형태가 아니라, 응용 프로그램이 사전에 운영체제에다 메시지를 보내는 것으로 디자인이 바뀌었다. 그 변경의 산물이 바로 WM_SETICON. 이 아이콘이 대외적으로 표시되며 심지어 Alt+Tab을 누른 동안 프로그램 리스트에도 뜨게 된다.

그럼에도 불구하고 MSDN과 구글 따위를 뒤져 보면, 이 메시지에 대해서는 20년도 더 전에나 유효하던 낡은 설명만이 기계적으로 그대로 소개되어 있으며, 이 정보는 오늘날 outdated됐다는 말은 어디에도 없다. 심지어 Visual C++ 2012의 MFC 마법사에서 대화상자 기반 응용 프로그램을 만들면, CDialog(Ex)의 파생 클래스는 저 메시지에 대한 핸들러도 여전히 참 친절하게도 만들어 준다. 뭐지 이건..?

2. 잉여 WM_SIZE 파라메터

잉여 요소가 의외의 가까운 곳에 또 있다.
WM_SIZE야 Windows 프로그래머치고 모르는 사람이 있을 수가 없는데.. wParam에는 최소화/최대화와 관련된 부가 정보가 따라온다. 최소화되었다면 SIZE_MINIMIZED가, 최소화되었다면 SIZE_MAXIMIZED가 오며, 그 밖의 일반 상황에서는 SIZE_RESTORED (0)가 된다. 딱 이 정도만 알고 있으면 된다.

그런데
SIZE_MAXHIDE: Message is sent to all pop-up windows when some other window is maximized.
SIZE_MAXSHOW: Message is sent to all pop-up windows when some other window has been restored to its former size.

라고 문서화돼 있는 이 값이 온 걸 본 적 있으신 프로그래머는 한번 손 들어 보시길..
저 조건을 최대한 만들어서 디버거 붙이거나 Spy++로 확인해 봐도 저런 건 좀체 안 온다.
어떤 프로그램 창이 최대화됐거나 해제됐다고 해서 다른 프로그램 창에 저 메시지가 올 거라고 생각한다면 경기도 오산이다.

구글, MSDN 다 뒤져도.. 저 기계적인 설명 말고 다른 용례는 안 나온다. 외국의 포럼에서 딱 하나 질문이 올라온 게 있긴 한데, 딱히 답변 없다. (☞ 링크 클릭)

Windows 운영체제의 레거시들 분석에는 세계 톱급의 전문가라 할 수 있는 레이몬드 챈 아저씨의 블로그, MFC와 Windows GUI 프로그래밍에서 한 가닥 했던 Paul DiLascia 등.. 거기에 설명이 없으면 아무데도 없는 거다.;;
나도 진지하게 굉장히 궁금하다. 저 설명과 매크로 상수값은 그저 잉여인지를? WINE 같은 데서는 저게 실제로 구현돼 있을까?

Posted by 사무엘

2014/08/22 08:21 2014/08/22 08:21
,
Response
No Trackback , 4 Comments
RSS :
http://moogi.new21.org/tc/rss/response/998

1. 월턴 워커 중장 (1889~1950)

웨스트 포인트를 졸업한 뒤 1차 세계 대전과 2차 세계 대전에 모두 참전하고, 나중에 한국 전쟁에도 중장 계급으로 참전했다. 그가 세운 가장 큰 공은, 필사적으로 낙동강 전선을 사수함으로써 국군과 유엔군이 더는 물러나지 않게 하고 시간을 버는 데 성공한 것이다. “내가 여기서 죽는 한이 있어도 끝까지 코리아를 지키겠다.” 이게 성공한 덕분에 나중에 맥아더 장군의 인천 상륙 작전도 가능했다.

도저히 가능해 보이지 않은 임무에 사병들이 이의를 제기하자 워커의 옆에 있던 맥아더도 워커를 거들면서 “군대에는 민주주의가 없다”라고 “까라면 까”를 돌려서 표현했다는 일화가 전해진다.

그러나 워커 장군은 1950년 12월 23일, 불의의 교통사고로 목숨을 잃고 말았다. 지프를 타고 이동 중인데 맞은편에서 다른 군용차가 갑자기 중앙선을 넘어 돌진해 왔다. 그걸 피하려다 지프는 길 밖으로 굴러떨어져 뒤집혔고, 운전병과 장군은 모두 현장에서 즉사했다. (하긴, 한글학자 석인 정 태진도 6·25 중이던 1952년에 교통사고로 세상을 떠났었고..)

가해 차량도 군용차였기 때문에 이 승만 대통령이 나서서 그 차의 괘씸한 운전병을 총살형에 처하라고 명령을 내렸을 정도였다.
하긴, 저 때는 아직 즉결처분 제도가 있던 막장 시절이었다.
북한군의 갑작스러운 침략에 국군은 졸전에 후퇴를 거듭하면서 사기가 떨어지고 군 기강이 개판이 돼 있었다. 명령과 통솔이 안 먹히고 제대로 싸워 보지도 않고 부대가 와해되는 지경이다 보니.. 오죽했으면 정말 고육지책으로 윗사람이 자기 말 안 듣는 부하를 재판도 없이 초법적으로 응징할 권한을 줬었다. “내 명령이 있기 전에 멋대로 전선에서 후퇴하는 놈은 곧바로 총살이다!” 같은 식.

그랬는데 현실에서는.. 아 글쎄 사단장이 자기 기분 좀 나쁘다고, 훈시하는데 좀 몸을 움직였다고 사병을 제멋대로 총살하고, 도저히 실현 불가능한 명령을 수행 안 한다고 중대장이 소대장을 꼬투리 잡아 총살하는 지경이 벌어진 것이다. 무슨 보노의 삼류만화 패밀리 <아침조회> 편도 아니고..

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

이런 험악한 분위기 속에서 하물며 미군 장군을 교통사고로 죽게 한 운전병이 과연 목이 온전할 수 있었을까?

그러나 워커 장군의 유족들이 이 승만을 필사적으로 뜯어말렸고, 이건 고의가 아닌 실수로 인한 사고임이 밝혀지면서 해당 운전병은 징역 3년형으로 감형되었다고 한다.
그리고 즉결처분 제도는 부작용과 병폐가 너무 많기도 하고, 또 극약 처방이 아니면 지휘가 안 될 정도의 위기가 그럭저럭 해소도 된지라 이듬해인 1951년 7월에 완전히 폐지되었다.

'걷다'라는 동사에 -er이 붙은 walker이라는 단어를 본인은 레밍즈 게임에서 처음으로 봤던 듯하다. 특별한 작업이나 임무 없이 그저 좌우로 돌아다니기만 하는 보통 생쥐를 가리키고 있으면 저 명칭이 뜬다. 오늘날 서울 광장동에 조성된 '워커힐'이라는 지명과 호텔 상호는 저 워커 장군을 기려셔 명명되었다.

수 년 전엔 지인 초대를 받아 쉐라톤 워커힐 호텔에서 하루 투숙한 적이 있었는데, 시설도 호화롭고 산과 강이 어우러진 주변 경치도 굉장히 아름다웠던 걸로 기억한다.

2. 윌리엄 딘 소장 (1899~1981)

6· 25 개전 초기이던 7월 중순에 대전을 사수하는 전투를 지휘했던 분이다. 그러나 병력의 열세로 인해 궁극적으로는 대전을 내어주고 후퇴하게 되었는데, 그는 이 과정에서 길을 잘못 들어 대열에서 이탈하고 실종되었다.

그래서 미군은 특공대를 열차에 태우고 대전으로 다시 투입하여 그를 구출하려 했으나, 북한군의 맹렬한 공격으로 인해 이 작전은 성공하지 못했다. 이 작전에 자원하여 미카 129호 증기 기관차를 운전하다가 적진에서 총격을 받고 순직한 분이 바로 그 이름도 유명한 김 재현 기관사이다.

딘 소장은 참으로 놀랍고 한편으로 부끄럽게도, 한국인의 배신과 밀고를 몇 번 당하는 바람에 무려 투스타의 신분으로 북한군에게 포로로 잡혔었다. 평양에까지 끌려가기도 했지만 그나마 심각하게 험한 꼴을 당하지는 않았으며, 1953년 휴전 후에 포로 교환 차원에서 석방된 건 참으로 다행스러운 일이었다.

미국이 대인배인 건, 이런 천하의 배은망덕한 행위를 특별히 부각시키고 트집잡고 늘어지지 않았다는 점이다. 딘 소장은 자신을 밀고한 사람이 나중에 체포되었을 때도 그를 용서하고 감형을 탄원했다고 한다.
온갖 편파적인 선동질과 역사 왜곡, 시체 장사로 가득한 오늘날 좌익 매체들의 사악한 짓거리와는 참으로 비교되지 않을 수 없다.

또한, 미군을 구하기 위해 희생된 한국 철도인의 은혜를 미국은 끝까지 잊지 않았다. 여러 차례 미국의 높으신 분들이 고인에게 감사를 표했을 뿐만 아니라 2012년 6월 26일에는 고인에게 미국 국방부 특별 민간 봉사상(특별 공로 훈장)이 추서되었다.

전후에 딘 소장은 영예롭게 예편하였으며, 천수를 누리다 별세했다.

3. 조지 리비 중사 (1919~1950)

공병대 소속의 미군 병사로, 위의 김 재현 기관사와 매우 비슷한 시기와 장소(1950년 7월 19일)에서 전사한 분이다(이 사람은 7월 20일!). 대전 전투에서 딘 소장이 후퇴할 때 같은 그룹에 속해 있었던 셈이다.

그는 후퇴하는 과정에서도 끝까지 위험한 일(= 자기를 적군에게 노출하는)을 용감하게 도맡아 하고, 심지어 인간 총알받이 역할까지 하면서 적을 교란시키고 전우들의 탈출과 부상병 이송을 도왔다고 한다. 그리고 그 과정에서 결국 총알을 여러 발 맞고 과다출혈로 산화한다. 살아남은 전우들에 의해 그의 무용담이 알려지면서 그에게는 훈장도 일찌감치 추서되었다.

영문 위키백과에는 이 행적만 기재되어 있다. 그러나 우리나라에서는 그에 대해서 대전 전투 이전의 행적이 더 알려져 있는 듯하다. 북한군의 진격이 코앞에 임박한 위험한 상황에서, 파주의 임진강 위에 놓여 있던 어느 다리를 끊어서 진격을 저지했다고 한다.

파주시는 임진강 이북이 민통선으로 봉인된 형태인데, 장파리에 가 보면 국도 37호선과 민통선 지대를 연결하는 한 교차로가 '리비 사거리'라고 명명되어 있다. 본인은 작년에 이 길을 따라 들어가서 허 준 선생 묘소에 가 봤었다.
이것이 저 사람의 이름을 따서 지어졌다. 그리고 민통선 지대로 들어가는 다리가 바로 '리비교'이며, 이게 그 사람이 끊었던 다리를 훗날 복원한 것이지 싶다.

Posted by 사무엘

2014/08/19 08:20 2014/08/19 08:20
, , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/997

캡챠 이야기

요 근래부터 이 블로그에도 국내외 광고 스팸 댓글이 급증하고 있어서 대책이 좀 필요한 것 같다.
옛날에는 외국 발 스팸 트랙백이 아주 가끔 걸리는 듯했는데 요즘은 트랙백은 없고 그냥 닥치고 쓰레기 댓글뿐이다.
일단 영어만 들어있는 텍스트는 무조건 차단하고, 요주의 키워드와 IP는 블랙리스트로 등록해 추가로 차단하고 있는데도 가끔은 그런 필터를 통과한 놈들이 게시되곤 한다. 그런 건 내가 보이는 족족 수동으로 제거하는 중이다.

옛날에 제로보드 시절엔 비로그인 사용자가 댓글/답변을 올릴 때 캡챠를 입력하게 하는 플러그인 내지 소스 추가 패키지가 있어서 본인 역시 제로보드 게시판을 운영할 땐 그걸 유용하게 썼었다. PHP 코드만 돌아가는 게 아니라 리눅스용 실행 파일이 서버에서 실행되어 캡챠 이미지(PNG)를 실시간으로 생성해 냈다.
TextCube용으로도 그런 플러그인이 없을 리는 없겠지. 조만간 도입해야 할지도 모르겠다.

여기서 캡챠란 무엇인지 모르시는 분을 위해 설명하자면..
사용자가 서버로 보내는 게시물 내지 회원가입 신청이 봇/매크로/오토 같은 컴퓨터가 생성한 게 아니라 진짜 사람이 하는 게 맞음을 입증하기 위해, 사람만이 판독할 수 있게 비비 꼬아 놓은 랜덤하고 이상한 글자· 그림이 의미하는 값을 입력받는 인증 장치를 말한다.
gotcha!와 비슷한 어감 때문에 좀 얍삽하다는 심상이 느껴지는데, CAPTCHA는 나름 영단어 이니셜이다.

기계가 인식할 수 없는 이미지를 기계가 생성해 낼 수 있을까?
패턴인식 기술의 발달로 인해 어지간히 허술한 캡챠를 기계가 인식하여 뚫는 기술도 발달하고, 그에 맞서.. 진짜 사람조차 인식 못 할 정도로 난해하지 않으면서 적당히 기계만 엿먹이기에 충분할 정도로 어려운 캡챠를 생성하는 기술을 개발하는 것도 만만찮은 수준이다.

(첨언하자면, 오늘날은 무질서로부터 질서를 도로 찾아서 복구하는 기술이 매우 경이로운 수준이다.
물리적으로 어지간히 손상을 준 하드디스크로부터도 최대한 데이터를 복구해 낸다거나, 심각하게 BLUR된 이미지로부터도 놀라울 수준으로 원래 이미지를 복원한다거나. 캡챠를 뚫는 것도 그런 맥락에서 살펴볼 수 있을 듯하다.)

도스 시절에 '맥스'라는 유사 채팅 프로그램이 있었는데 혹시 기억하는 분 계시는지?
얼굴이 안 보이는 공간에서 어떤 사람이 상대방과 채팅을 했는데, 대화 상대가 패턴이 뻔한 '봇'이 아니라 진짜 사람이 맞는지를 같은 사람이 분간할 수 없었다면 그 대화를 생성한 AI는 '튜링 테스트'를 통과했다고 간주된다.
그런데 캡챠는 역으로 컴퓨터가 이 입력이 진짜 사람이 맞는지를 판단하는 것이므로, 일종의 '역방향 튜링 테스트'에 가까운 셈이다.

스팸 게시물을 막기 위해 도박, 성 등 여러 불건전한 분야의 금지어들을 지정해 놓은 게시판이 많다.
그런데 게시물에 금지어가 우연히 포함되었다고 해서 아무 설명도 없이 없이 글의 등록을 거부하면..
진짜 사람이 그런 거부를 당했을 때 그 사람을 굉장히 화나게 만들 수 있다.

또한 반대로 'xxx는 금지어입니다'라고 매번 친절하게 알려 주면.. 스패머들은 그 피드백 결과를 바탕으로 금지어만 교묘하게 피해가는 스팸 게시물을 만들어 뿌리게 된다. 이 역시 딜레마다.

따라서 둘을 절충하는 방법으로는...
일단은 캡챠 같은 거 없이 깔끔하게 글을 접수한 뒤,
본문이 금지어가 포함돼 있거나 특정 패턴을 만족하여 광고글로 의심되면... 그때는 금지어 같은 광고글 의심 판정 근거를 노출하는 대신, 가만히 캡챠만 좀 입력해 보라고 friendly하게 추가 요청을 하는 게 바람직하지 않은가 싶다. 한 마디로 말해 선패턴 후캡챠 전략인 것이다.

그게 익명 사용자에게 당장 깔끔한 첫인상을 주며,
사용자가 댓글을 올리지 않고 그냥 글을 읽기만 하는데도 복잡한 이미지 프로세싱이 필요한 캡챠를 매번 생성하는 것보다 서버 부담도 줄이는 일거양득 방법일 것이다.

특정 패턴이란 굳이 단어가 아니어도 되고 NLP 기술이 아니어도 된다. 지나치게 URL 링크가 많은 글, 특수문자가 한글과 너무 지저분하게 뒤죽박죽 섞여 있는 글만 찾아도 된다. 이 정도만 돼도 스패머가 제아무리 금지어 필터를 피하려고 잔머리를 굴린들 광고글 따위는 모조리 걸러낼 수 있다.

사이버 공간에서 이런 광고 댓글 스패머는 국제 민폐요 인터넷 트래픽을 좀먹는 공해덩어리 떨거지들이다.
하지만 겨우 얘네들 때문에 게시판을 회원만 글을 올릴 수 있게 바꾼다거나, 심지어 누가 올려 놓은 글은 관리자가 일일이 사전 검열(?)한 뒤에야 공개 게시한다거나 하는 건.. 빈대 잡으려다 초가삼간 다 불태우는 수준의 극단적인 짓일 것이다. 아무쪼록 인간과 기계의 경계를 허물기도 하고 강화하기도 하는 기술의 발달이 절실하다.

이미 널리 알려져 있기도 하겠지만, 캡챠로부터 유래된 재미있는 발상이 있다.
포털 사이트 같은 델 가입할 때, OCR 프로그램이 제대로 인식하지 못한 어떤 책 스캔 이미지 조각에 든 문자열을 캡챠하고 같이 입력하게 한다. 그래서 캡챠를 맞게 입력한 여러 사람들이 동일한 이미지 조각에 대해 일치하는 문자열을 입력했다면, 그 이미지에 담긴 텍스트는 그게 맞다고 데이터를 수집하는 것이다.

캡챠 타이핑과 동시에 real-world 캡챠도 같이 타이핑하여 전세계 네티즌들이 힘을 합쳐 문헌의 전산화(?)에 기여하게 하는 것이다. 일명 '리캡챠 프로젝트'라고 한다. 구글, 페이스북, 아마존 등 세계 유수의 사이트들이 리캡챠 엔진을 활용 중이라고 한다.

Posted by 사무엘

2014/08/16 08:22 2014/08/16 08:22
, ,
Response
No Trackback , 7 Comments
RSS :
http://moogi.new21.org/tc/rss/response/996

가끔은 컴퓨터라는 물건이 발명된 지가 아직 100년도 채 안 됐다는 게 도저히 믿어지지 않을 때가 있다. 세상을 이렇게 완전히 180도 뒤바꿔 놓은 기계가 역사가 그렇게도 짧다니! 그 내력이 최소한 전화기나 자동차의 역사 정도는 될 법도 해 보이지만 실제로는 그렇지 않다. 하긴, 텔레비전이 컴퓨터보다 약간 더 일찍 발명된 정도다.

오늘날의 컴퓨터와 비슷한 컨셉이라도 탑재된 물건이 최초로 등장한 시기는 아무리 일찍 잡아도 2차 세계 대전 이후이다. 전자식+2진법+튜링 완전+프로그램 내장형 같은 기본 중의 기본 단서만 추가해 줘도 시기는 더 늦어진다. 그리고 그것마저도 덩치와 성능은 오늘날 우리가 쓰는 노트북과 스마트폰하고는 차마 비할 바가 못 됨은 주지의 사실이다.

컴퓨터가 2차 세계 대전 이후의 산물이라는 건, 다시 말해 단군의 후손들이 역사상 컴퓨터라는 걸 접한 시기는 오로지 '대한민국' 시대가 유일하다는 뜻이다. 일제 강점기나 조선 시대엔 그런 거 없었다. 그러니, 세계의 컴퓨터 역사뿐만 아니라 그 컴퓨터를 처음으로 우리나라에 도입하고 전산망을 개설한 선구자들의 전설의 레전드를 공부해 보는 것도 전산/컴공 전공자이든 비전공자이든 흥미로운 경험이 될 것이다.

우리나라에는 이 분야의 거장으로 성 기수 박사(1934-), 전 길남 박사(1943-)가 있다. 난 성 박사는 고등학교 때 어느 인터넷 사이트를 통해 아주 아주 대단한 분이라고 우연히 알게 됐다. 전 박사는 알지도 못하다가 대학에 진학해서야 내가 다니는 학교의 학과에 소속돼 있는 만렙 명예교수 중의 한 분 정도로나 접하게 됐다.

두 분 다 업적이 워낙 전문적이고 비가시적인 곳에 있는지라 대중적으로 유명하지는 않다. (2011년 10월에 1주일 간격으로 나란히 세상을 떠났음에도 불구하고 스티브 잡스와 데니스 리치의 대외 인지도의 차이를 생각해 볼 것!)
그러나 굳이 따지자면 아무래도 전자보다는 후자가 약간 더 유명하다. 우리나라 인터넷의 아버지라고 최근에 웹툰도 올라왔고 이게 각종 SNS에 퍼날라지면서 반짝 뜨곤 했다. 독자 여러분에게도 일독을 권한다.

(1982년 5월 15일, 구미 전자 기술 연구소와 서울 대학교 사이에 국내 최초 원거리 컴퓨터 네트워크 교신에 성공. 이건 모뎀이냐 랜이냐 뭐냐? 무슨 물리 메커니즘으로? 으음...;;)

저분은 은퇴한 뒤에도 활발히 활동하고 계시고, 게다가 저 웹툰을 보고는 작가에게 고증 오류 피드백까지 친절하게 해 주셨다고 한다. 여담이지만, 저분의 배우자가 여성 운동가인 조한 혜정 교수라니 깜짝 놀랐다.

최근의 강연 내지 인터뷰에서 전 박사는 인터넷은 너무나 대중적으로 퍼진 만큼 앞으로는 좀 더 안전해져야 한다고 거듭 강조한 적이 있다. 안티바이러스 프로그램의 개발자로 유명한 카스퍼스키는 강력한 인터넷 규제와 신원 확인에 찬성하는 의견을 피력하는 사람인데 그것과도 비슷한 맥락인가 싶었다. 초창기에 인터넷의 각종 규격을 설계했던 엔지니어들은 이 비싼 통신 인프라가 어중이떠중이가 다 쓰는 보편적인 물건이 될 거라고는 감히 생각을 못 했었을 것이다. 그러니 보안보다는 성능과 효율을 훨씬 더 중요하게 생각할 수밖에 없었겠지.

난 전산학의 여러 분야 중에서도 네트워크, 보안 쪽은 제일 까막눈 문외한이다 보니..;; 저런 분을 보면 그냥 입 쩍 벌리고 대단하다는 말밖에 안 나온다.

그럼, 다음으로 성 기수 박사 얘기를 좀 하겠다.
이분도 완전 날고 기는 수재였으며 하버드 대학교에서 석· 박사를 3년 만에 뚝딱 마친 것은 오늘날까지도 유학생들 사이에 전설로 회자된다고 그런다. 원래 전공은 기계· 항공 공학 쪽이었으며 전자· 전산이 아니었다. NASA 같은 데에나 들어가서 우주선과 로켓 엔지니어가 됐을 분이 “아무래도 우리나라엔 컴퓨터가 필요하다”는 신념 하에 한국으로 돌아와 KIST 전산실 실장을 맡았다.

전 길남 박사가 라우터 등 인터넷 기술을 자체 개발하여 우리나라를 인터넷 대열에 합류시켰다면, 성 기수 박사는 그보다 옛날에 우리나라의 행정, 은행, 병원, 철도 등 각 분야의 시스템 전산화를 이끌었다. 전산학이라는 학문이 국내 학계에 제대로 정립조차 되기 전인 초창기에 하드웨어와 소프트웨어를 넘나들며 우리나라의 발전에 지대한 업적을 남긴 것이다. 워낙 옛날이기 때문에 구분이 별로 의미가 없었을지도 모르지만, 저분의 세부 관심사는 HW와 SW 중 어디에 가까웠을지가 궁금해진다.

2000년대 초반에 바둑 연구를 끝으로, 그 뒤부터는 저분은 언론에 보도되는 근황은 없이 조용히 노후를 보내고 계신 듯하다.

인터넷 검색을 하면 성 박사의 일대기를 곳곳에서 발견할 수 있다. 그런데 내 시선을 고정시키는 에피소드가 하나 있었다.
지금으로부터 40년도 더 전인 1970년, KIST 전산실에서 그의 주도하에 한글 전자 인쇄 장치를 개발해 냈다고 한다.
유니코드고 트루타입 글꼴이고 뭐고 하나도 없던 까마득한 옛날에 일종의 1세대 비스무리한 한글 기계화를 이룬 거라고 보면 되겠다.
그런데 여기서 벌써 한글 입력 방식에 대한 얘기가 나온다.

이 글을 읽을 때 유의해야 할 점은 다루는 시기가 굉장히 옛날이라는 점이고, 그럼에도 불구하고 논쟁의 대상이 흔히 생각하기 쉬운 기계식 타자기가 아니라 컴퓨터라는 점이다. 물론 시기가 시기이다 보니, 일반인이 간편하게 다룰 수 있는 오늘날의 개인용 소형 컴퓨터 얘기는 전혀 아니다. 저건 애초에 그런 범용(general-purpose) 컴퓨터도 아니다.

저 때보다 약간 전인 1969년 여름에 국가에서는 타자기용으로 네벌식 글자판을 표준으로 지정했다.
난 그 시절엔 두벌식이라는 게 전혀 없었고 그건 나중에 1980년대에 와서야 생긴 줄 알았다. 그런데 그건 아니고 그 이전부터 두벌식과 네벌식이 모두 있었던 듯하다. 사료를 모두 종합해서 고찰해 보면, 1969년에는 “타자기는 네벌식, 전자 기기는 두벌식”으로 표준이 제정됐고 나중에는 네벌식이 공식 폐기뒨 후 “기계식 타자기까지도 받침 글쇠를 넣어서 두벌식”으로 바뀐 것 같다.

또한 같은 두벌식이라 해도 그때의 두벌식은 오늘날의 '바지들고서' KSX5002 26키 배열하고는 차이가 있었을 수도 있으니까. 나의 역사 지식에 오류가 있다면 수정 지적을 환영하는 바이다.

아무튼, 성 기수 박사가 한글 전자 인쇄기를 개발하던 당시에 국가에서는 이미 네벌식과 두벌식을 밀고 있었다. 그리고 성 박사는 자신이 개발하는 기계에 들어가는 한글 입력 소프트웨어를 별다른 고민 없이 두벌식 기반으로 설계했다.
그분도 그렇게 타자기 따로, 컴퓨터 따로 식인 글자판 표준에는 문제가 있다고 판단했다. 그러나 “씁 어쩔 수 없지”였고, 그런 문제의식만으로 끝이었다.

기계식 타자기가 연극과 같다면 컴퓨터는 영화와 같은 매체이다. 기계식 타자기야 메커니즘이 복잡해서 어쩔 수 없지만, 컴퓨터에는 아무 제약이 없으니 글쇠배열은 가능한 한 간단할 수록 좋을 것이다. 자음의 초· 종성 구분은 컴퓨터 소프트웨어가 알아서 판단하게 하는 게 좋을 것이다. 사용자의 입장에서는 자동화가 되어서 좋고, 개발자의 입장에서는 오토마타 이론을 구현하면서 자신의 프로그래밍 실력을 과시할 수도 있어서 좋다..는 게, 컴퓨터쟁이가 한글 입력에 대해서 생각할 수 있는 딱 전형적인 의식 수준 그 이상도 그 이하도 아니지 않았을까?

그 시절, 공 병우 박사는 안 그래도 나라에서 자기의 세벌식 글자판을 외면한 것 때문에 심기가 불편했다. 그랬는데 마침 한글 전자 인쇄기에 네벌식 대신 두벌식 글자판이 들어간다고 하자 책임자인 성 박사를 자기 집에 초대해서 로비(?)까지 시도했다고 한다. 공 박사는 그 시절에 이미 그야말로 억만장자가 된 60대의 안과 의사였고, 성 박사는 30대 중후반으로 공 박사의 아들 연배인 파릇파릇한 공학자였다. 물론 전공은 다를지언정 두 분 다 대한민국 0.1% 이내에 드는 천재들인 건 주지의 사실이다.

공 박사는 고급 외제차를 몰고 성 박사를 데리러 홍릉 KIST를 직접 찾아갔다. 그리고 호화로운 자기 집에서 최고급 요리를 대접하면서 제안을 한 게.. “당신 같은 사람이 세벌식을 지지해 준다면 당신이 필요한 연구비는 내가 얼마든지 대 주겠소.”였다고. 여러분도 잘 아시잖는가. 공 박사는 기계덕후였으며 평생 젊은 프로그래머, 엔지니어들을 굉장히 좋아하셨다.

국가로부터 받는 예산만으로는 당장 연구실의 장비 내지 컴퓨터의 업그레이드조차 빠듯할 지경이었는데.. 그 제안에 성 박사가 귀가 솔깃해질 정도였다고 한다. 이거 뭐 “KIST에 공 병우 박사의 기증으로 슈퍼컴퓨터가 한 대 도입되었다” 같은 역사가 쓰여질 수도 있었다!

허나 설득은 잘 되지 않았던 것 같다. 공 박사의 입장에서 성 박사는 장래는 촉망되지만 한글이나 글자판에 대한 건전한(?) 소신이 없이 그냥 어용학자로 빠질 위험이 있는 인재로 보였을 것이다. 그리고 성 박사의 입장에서 공 박사는 그냥 자기 발명품만 꽉 껴안고 놓을 생각을 안 하는 고집쟁이 타자기 덕후로만 보였을 것이다. 늘어놓는 이야기가 서로 핀트가 안 맞았다.

성 박사는 공 박사로부터 융숭한 대접을 받고 세벌식 한영 타자기를 한 대 선물로까지 받았지만, 세벌식 같은 덴 애착이 별로 안 갔으며 그건 곧 그걸 갖고 싶어하는 다른 후배에게 줘 버렸다고 한다. 그리고 두 '박사'간의 만남은 그걸로 끝이었다. 저 사이트의 글도 “성 기수의 결정은 결과적으로 반공병우파의 손을 들어 준 셈이 되어 버렸다.”라고 씁쓸하게 끝난다.

그래. 하버드에서 3년 만에 박사 학위를 받은 공돌이라고 해도 그 옛날에 타자기와 컴퓨터의 글자판 통일 가능성을 생각할 수는 없었을 것이다. 글자판 일체형 직결식 글꼴이 항공· 기계 분야하고 관계가 있지는 않잖아.

물론 공 박사도 의사 겸 의학자일 뿐, 언어학이나 타이포그래피를 체계적으로 공부해서 그 분야에 학위가 있지는 않은 건 마찬가지다. 그러나 이 분야의 식견에 관한 한은 더 옛날부터 이 극로 선생으로부터 감화를 받아서 한글덕후로 개조가 끝나 있던 공 박사가 더 앞서 있었다. (그러고 보니 이 글에서 덕후 타이틀만 무려 3개가 나왔군.. -_-)

그럼에도 불구하고 저 사이트의 글에서는 꼭 공 박사가 성 박사를 무슨 불의한 일에 접대로 유혹하고 매수라도 하려 한 것처럼 묘사되어 있어서 좀 유감스럽다. 다른 사람들이 보면 오해하겠다.
이거 무슨... “통일교를 공인해 주면 내 사재로 IMF 빚 다 갚아 주겠다”도 아니고.. 뭐냐?

Posted by 사무엘

2014/08/13 08:35 2014/08/13 08:35
, , , , , , , ,
Response
No Trackback , 4 Comments
RSS :
http://moogi.new21.org/tc/rss/response/995

십계명 해설

흐음, 지금까지 내가 블로그에 십계명 자체를 분석한 글을 올린 적이 없었구나.

십계명은 하나님께서 모세에게 주신 법으로, 성경에서 출애굽기 20장에 처음으로 등장하고 나중에 신명기 5장에서 재탕된다.
십계명은 곰곰이 뜯어 보면 굉장히 잘 만든 법 체계이다.
각각의 아이템들이 다 죄라는 vector space에서 서로 일차독립을 이루는 벡터를 구성하고 있다. 쉽게 말해 인간이 지을 수 있는 죄(색깔)를 서로 독립된 분야(R, G, B??)별로 잘 망라했다는 뜻이다.

십계명의 속성을 쪼개 보면 이러하다.

I. 하나님 관련

1. 하나님 외에 다른 신을 섬기지 말라
2. 형상: 하나님을 잘못된 방식으로, 혹은 하나님 아닌 것을 하나님이라고 우기면서 섬기지 말라.
3. 하나님의 이름을 헛되이 일컫지 말라

신앙 정체성을 국가 정체성에다 비유하자면, 2와 1은 각각 내란죄-외환죄 정도에 대응하는 굉장한 중죄이다. 천주교의 십계명은 1과 2를 한데 뭉뚱그려서 '반역죄' 정도로 취급하는 듯한데, 본인의 입장에서는 신념상 이를 인정하지 않는다.
출애굽기에 나오는 금송아지 사건만 해도.. 이스라엘 백성이 대놓고 주 하나님을 버리고 다른 신을 섬기러 떨어져 나간 사건이 아니었다. 단지 금송아지를 하나님이라고 간주하고 얘에게 경배했을 뿐이다.

3은 한국어는 딱히 그리 심한 게 없지만, 심심하면 Oh my God! Goddamn! Jesus! 이런 신성모독적인 감탄사를 남발하는 게 정확하게 해당한다. 성경이 말하는 그 심각하고 끔찍한 문자적인 지옥은 안 믿으면서, What the hell.. 이런 저주를 가벼이 입에 달고 다니는 것도 포함해서 말이다.

II. 약간 특이한 구석이 있는 중간 계명

4. 안식일을 거룩히 지키라: “어떤 나쁜 짓을 하지 말라” 패턴이 아니라, “신이 정해 준 휴일엔 욕심 부리지 말고 조바심 내지 말고 반드시 쉬어라”라는 점에서 독특하다. 지금 쉬느라 생산성이 저하되는 것은 하나님이 유· 무형으로 나중에 다 보상해 주겠다고 약속했으니 이 계명을 지키려면 역시나 믿음이 필요하다. 안식일을 지키는 것도 보통일이 아닌 게, 딱 이 날을 노려서 적의 침략을 받기라도 하면 어떡할 참인가? (당장 우리나라의 6·25 전쟁만 해도 북한군이 일요일에 딱 맞춰 쳐들어왔었다!).

물론 안식일은 유대인의 표적이기 때문에 이 계명은 신약 크리스천에게 문자적으로 적용되지는 않는 유일한 계명이다. 이걸 주일 지키는 것에다 적용하는 건, 마치 열역학 제2법칙을 들이대면서 진화론을 반박하는 것만큼이나 4계명을 굉장히 간접적으로 영적으로 적용한 귀결이다.

5. 부모를 공경하라: 사람 관련이긴 하되, 그냥 일반인 타인이 아니라 자신에게 하나님 같은 역할을 수행하는 특별한 사람에 대한 계명이다. 성경의 하나님은 패륜죄를 굉장히 싫어하신다. (출 21:15,17; 레 20:9; 특히 압권은 신 21:18-21)
안 지켰을 때 채찍만 가혹한 게 아니라, 지켰을 때 이 땅에서 장수할 거라는 당근까지 문맥에서 직접적으로 주어진 유일한 계명임.

III. 사람 관련

6. 살인하지 말라: 물리적인 폭력으로 지을 수 있는 죄 중에서 단연 1위. 하나님의 법은 “ '살인하지 말라'를 어기는 자를 반드시 죽일지니라”이다. 물론 여기서 말하는 살인은 흉계를 품고 남을 고의로 죽이는 것을 말한다. 고의성 없는 과실치사나 정당방위, 전쟁 등은 해당되지 않음.
7. 간음하지 말라: 꼭 물리적인 폭력을 동원하지 않아도 사람 몸에다 쉽게 지을 수 있고 자기 자신의 몸까지 실질적으로 더럽힐 수 있는 심각한 죄이다. 간음은 성경에서 영적인 의미도 매우 크다.

8. 도둑질하지 말라: 남의 것을 속여 빼앗는 모든 행위에 대한 철퇴이다. 이건 “세상에 공짜는 없다”, “일하지 않으면 먹지도 말라”, 황금률 등 인생의 기본 원칙을 위반하는 죄이다.

9. 거짓 증언하지 말라: 거짓말에 대한 철퇴이긴 한데, 일단 이 문맥이 가장 좁은 범위에서 말하는 것은 판결을 굽게 하는 법적 위증을 하지 말라는 얘기이다. 이건 그야말로 입만 뻥긋함으로써 지을 수 있는 죄이다.
10. 탐내지 말라: 이제는 입을 움직일 필요조차 없이 마음과 생각만으로 지을 수 있는 죄가 십계명의 대미를 장식한다. 이것은 인간을 다른 무수히 많은 죄들로 끌어들인 죄이며 스스로 완벽을 자처하던 사도 바울을 떡실신시킨 죄이기도 하다.

십계명은 신약 그리스도인들에게도 매우 유익하며, 제4를 제외하면 문자 그대로 지켜야 할 규범이다.
그러나 크리스천의 행실을 하도 강조하다 보니, 십계명을 평생 지켜야 구원이 유지된다거나 하는 말도 안 되는 율법주의 농간에는 속지 마시길 바란다.

이 자리에서 또 구약 율법과 신약 복음의 조화를 논하기에는 시간과 지면이 매우 부족하니, 결론만 간단히 말하겠다. 구약 성경에 나온 하나님의 법은 “나 이렇게 외형적인 법을 딱 맞춰 지켰어요. 나 잘했죠? 이 정도면 내 힘으로 칭의와 구원이 가능하겠죠?”라고 으스대라고 있는 게 절대로 아니다.
성경은 십계명이, 아니 하나님의 법 전체가 다음과 같은 두 개의 추상적인 계명에 그대로 요약되어 있다고 말한다.

너는 네 마음을 다하고 혼을 다하고 생각을 다하여 [주] 네 하나님을 사랑하라.
너는 네 이웃을 네 자신과 같이 사랑하라. (롬 13:9)

Posted by 사무엘

2014/08/10 08:34 2014/08/10 08:34
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/994

예전에도 몇 차례 얘기했듯이 비주얼 C++은 지금까지 내 인생에서 가장 재미있는 장난감이요, 친구요, 자아실현 매체요, 생계 수단 역할을 톡톡이 해 왔다.

비주얼 C++은 여느 프로그래밍 툴과는 다르게 뭐랄까, standalone, independent이고 자가생성이 가능하다. 쉽게 말해서 비주얼 C++ 자신과 같은 레벨의 컴파일러/런타임/IDE 같은 프로그램을 비주얼 C++로 또 만들 수 있다는 뜻이다. 실제로 마소에서 비주얼 C++은 이전 버전의 비주얼 C++로 만들고 있기도 하고. 이렇듯, 이 툴은 가장 배우기 어렵지만 가장 강력하고 군더더기 없는 프로그램을 만들 수 있다.

2014년 현재, 난 한 컴퓨터에 다음과 같은 세 버전을 깔아 놓는다. 제각기 필요와 쓸모가 있기 때문이다.

1. 2003

  • 2010에서 새로 도입된 Help Viewer가 완전 거지 같아서.. 단순 윈도 API나 MFC 레퍼런스를 조회하는 덴 200x 구버전 document explorer 기반의 msdn이 짱이다. (1) 색인이 처음에 뜨는 데 시간이 너무 오래 걸리는 것, (2) 가끔 목차/색인을 클릭해도 해당 항목 문서가 안 나타나는 것--정확히는 수 초 뒤에 한참 뒤에 뜸.. 이 두 버그 때문에 학을 뗐다. (단, 2012 이후의 Help Viewer 2.0은 불편하던 게 좀 개선된 거 같기도 하고..)
  • 2003은 MFC가 지금처럼 말도 안 되게 bloat되기 전이며, 굉장한 legacy 운영체제에도 돌아가는 바이너리를 만들 수 있는 버전이다. <날개셋> 타자연습을 여전히 10년 전의 구닥다리 컴파일러로 빌드하는 이유가 이것 때문이다.
  • 다만 2003은 IDE가 빌드 내지 리소스 편집 중에 잘 뻗는 편이고(불안정!) Vista 이후 OS에서는 일부 기능이 충돌도 함. 조심해서 써야 한다.

2. 2010

  • 닷넷 이래로 Visual Studio가 기본 제공하던 msi 설치/배포 프로젝트 기능이 2012에서 갑자기 없어져 버린 관계로, 2010을 도저히 제거할 수가 없게 됐다. 대체품이라는 InstallShield 번들 에디션은 어마어마한 덩치와 복잡한 사용법 때문에 곧바로 gg 치고 언인스톨해 버렸다.
  • 또한 <날개셋> 한글 입력기는 빌드와 관련된 특이한 이슈 때문에 2012가 아닌 2010 컴파일러 툴체인을 사용하고 있다.
  • 다만, 2010은 IDE의 비주얼이 역대 VC++ 역사상 제일 구리고 우중충 칙칙하고 안 좋았다. -_-;;

3. 2012

난 201x가 다음과 같은 점에서 마음에 든다. (1) 크게 강화된 인텔리센스 엔진 (2) 람다 같은 C++ 최신 문법 (3) 빌드나 리소스 편집 중에 IDE가 이제 거의 뻗지 않음
2012는 이를 바탕으로 2010보다 훨씬 더 깔끔한 GUI에, 신택스 컬러링도 훨씬 더 강화되어 몹시 마음에 든다. 몇 가지 크리티컬만 없었으면 2012가 2010을 완전히 대체할 수도 있었을 텐데. ㅜ.ㅜ
다만 2012 얘만 꼭 남겨 둘 이유 역시 없기 때문에 이것보다 더 최신 버전이 나오면 그걸로 대체할 수도 있다. 즉, 2012는 2003/2010과는 달리 고정 보존 상태는 아니다.

위와는 달리, 보존 대상에서 제외되고 안 쓰는 버전은 다음과 같다.

1. 6.0

VC6은 그야말로 개발툴계의 IE6이나 마찬가지다. 출시 시기는 다르지만 공교롭게도 버전 번호도 동일하고 말이다. IE가 윈도 비스타의 출시 지연 때문에 6 이후로 5년 가까이 버전업이 없었다면, VC는 닷넷이 첫 개발되느라 4년 가까이 6 이후로 버전업이 없었다. 그 뒤 지나치게 오랫동안 현역을 뛰어 왔다.

웹 개발자들이 제발 IE6 좀 퇴출시키자고 캠페인 하는 것만큼이나 PC 클라이언트 개발자들은 업계에서 VC6 좀 퇴출시키자고 캠페인이라도 해야 할 판이다. 단지, IE는 모든 PC 사용자들이 쓰는 웹브라우저인 반면, VC는 극소수 프로그래머만이 쓰는 개발툴이라는 점이 다르다.

VC6은 이제 해도 해도 너무하다 싶을 정도로 심하게 후지고 낡았다. IDE가 IME-aware하지도 않고, 특히 한글 윈도에서는 기본 글꼴이 윈도 3.1 스타일의 완전 추레한 System으로 나옴! 인텔리센스는 지금에 비하면 완전 안습 크리 수준이고. 최신 C++ 표준이나 멀티코어 같은 건 아웃 오브 안중이다.

VC6이 아니면 도저히 빌드시킬 수 없는 비표준 코드가 이미 수십만 줄 이상 작성되어 버려서 도저히 수습을 못 할 지경이 된, 한 20년 묵은 불가피한 프로젝트가 아니라면 아직까지 VC6을 고집할 이유란 없어야 정상일 것이다. for문 변수 scope 정도는 후대의 컴파일러로도 옵션을 바꿔서 수용시킬 수 있을 텐데.

굳이 장점을 찾자면, VC6은 생성되는 바이너리가 운영체제의 MSVCRT와 MFC42를 직통 지원한다는 점이 매우 유리하다. 그러나 이것도 어차피 64비트는 지원 안 하기 때문에 장점이 반쪽짜리 이하로 의미를 크게 상실한다.

2. 2005

MS 오피스 2003이 아닌 독자 GUI 비주얼을 선택한 첫 버전 되시겠다. (VC 2005가 오피스 2003 같은 시퍼런 비주얼 기반이었다면? 상상만 해도 ㅎㅎ)
난 얘는 일단 sp1과 운영체제 패치를 설치하는 시간이 2005 자체를 설치하는 데 걸리는 시간보다 더 길어서 인상이 매우 안 좋다. 게다가 CRT/MFC DLL 배포 방식도 구리게 바뀌었고. 장점은 어차피 (1) 2003이나(msdn 등) (2) 이후 버전(64비트 지원 등)에 다 포함돼 있기 때문에 굳이 얘가 필요하진 않다. out.

3. 2008

2005보다는 훨씬 더 괜찮은 물건이고 쓸 만하다. 그리고 은은한 연보라색 톤(비스타/7 기준)의 IDE 외형은 역대 버전들 중 가장 깔끔하고 괜찮았다고 생각한다.
200x 중에서는 가장 훌륭했지만, 역시 얘만 보존해야 할 필요는 존재하지 않는다. 플러스 팩의 등장과 함께 MFC가 완전 bloatware로 바뀌어 버렸고, CRT/MFC DLL 배포 방식은 여전히 아쉬운 점이다.

위의 두 카테고리 말고 본인이 special case로 예우하는 골동품 버전이 있는데, 그건 6.0보다도 더 옛날 버전인 4.2이다. mfc42의 원조인 바로 그 버전이다.
본인이 난생 처음으로 구경한 비주얼 C++ 버전이어서 애착이 간다.

Posted by 사무엘

2014/08/07 08:28 2014/08/07 08:28
, , ,
Response
No Trackback , 5 Comments
RSS :
http://moogi.new21.org/tc/rss/response/993

헷갈리는 개념들 Q&A

어찌 보면 이런 것들을 인제야 깨우친 본인의 무식-_-을 인증하는 아이템들인지도 모르겠는데, 뭐 그냥 재미로 나열해 보았다. 서로 제각기 다른 분야들이다.

1. 스플래시 데미지 + 타격 데미지?

공격이라는 게 존재하는 거의 모든 게임에는.. 그냥 목표물에만 총알의 운동량을 박아 넣는다는 설정인 일반 데미지가 있고, 그에 덧붙여 발사체가 폭발 후 파편을 터뜨려서 주변에 추가적인 데미지까지 입히는 스플래시 데미지가 있다.

난 폭탄을 직통으로 맞은 놈은 데미지가 100, 그리고 폭심지로부터 멀어질수록 데미지는 1/n 내지 1/n^2 등등으로 감소.. 이런 모델만 생각하곤 했다. 스타로 치면 리버나 시즈 탱크, 혹은 핵의 스플래시 데미지 계산 방식처럼 말이다.
그러나 둠 내지 퀘이크 같은 FPS 게임은 로켓 런처의 경우, 로켓을 맞은 것 자체에 대한 타격 데미지를 스플래시 데미지와는 별개로 계산한다. 로켓을 직통으로 맞으면 맞은 데미지 100에다가 파편 스플래시 데미지 100을 추가로 받아서 200을 먹으며, 주변에 있던 놈들은 폭심지로부터의 거리에 따라 100 이하의 데미지를 받는 것이다.

그리고 전통적으로 보스급 대형 몬스터들은 스플래시 데미지를 받지 않아서 로켓 공격을 사실상 절반씩밖에 먹지 않았다. 반대로 플레이어에게도 스플래시 데미지를 받지 않게 하는 파워업 아이템이 꼭 있곤 했다. (퀘이크 3 Arena의 Battle Suit처럼.)

제자리에 가만히 있던 수류탄의 폭발을 직통으로 당한 것이라면 스플래시만 있는 게 맞다. 그러나 로켓 런처의 경우 총알보다는 느리지만 그래도 총알보다 더 크고 무거운 로켓을 맞은 것이니 이놈 자체의 운동량부터 타격 데미지로 치는 것이 가만히 생각해 보니 더 합리적이긴 해 보인다. 지금까지 이런 생각을 안 하고 있었다.

로켓 점프는 스플래시 데미지만으로 점프를 하는 것이다. 게임에서는 구현 가능하지 않지만 로켓을 바닥이 아니라 내 배에다 대고 쐈다면 그건 타격 데미지와 스플래시를 이중으로 받는 것일 테고.

2. 자동차 직진과 후진 평행주차의 차이

평행주차는 주차 중에서도 꽤 어려운 스킬이지만, 정식 주차장이 아닌 길가에다 적당히 차를 세울 때는 반드시 할 줄 알아야 하는 스킬이다.
평행주차는 주차 지점을 지나친 뒤 후진으로 진입했다가 마지막에 핸들을 확 꺾어서 집어넣는 게 정석이다. 그런데 본인은 왜 하필 후진인지를 뭔가 수학적인 증명 수준으로 이해를 잘 못 했다. 후진으로 가능한 것은 전진으로도 똑같이 가능하지 않은가? 평행주차는 왜 전진이 후진보다 어려우며 공간이 더 많이 필요한 걸까?

그래서 머리에다 종이를 펴고 그림을 그려 보고서야 원리를 이해하기 시작했다.
핸들을 완전히 90도로 꺾을 수 있다면 후진 방식은 차 뒷부분부터 주차 지점에 박아 넣은 뒤, 앞부분은 앞바퀴의 회전을 통해 추가 공간 없이도 쏙 집어넣을 수 있다.

그러나 전진 방식은 핸들을 많이 꺾는다고 해서 차를 집어넣는 게 가능치 않으며, 회전 후에 차가 완전히 평행한 방향을 복원할 때까지 추가적인 주행 공간이 필요하다. 구조적으로 더 어려울 수밖에 없게 된다.
또한 발상을 반대로 바꿔서 생각해도 된다. 평행 주차되어 있던 곳에서 차가 “빠져나갈 때는” 전진이 아주 유리한 반면 후진은 완전 어렵다는 걸 알 수 있다.

전진과 후진으로 모두 수월하게 방향을 틀 수 있고 평행 주차가 가능하려면 앞바퀴와 뒷바퀴가 모두 조향 가능해야 한다. 비좁은 실내에서 작업하는 걸 염두에 두고 만들어진 지게차 정도나 이런 조건을 만족한다.

3. 스포츠 사격과 군대 사격

군대 미필자나 여성분들은 잘 모르실 수도 있으니 설명하자면..
군대 사격이 거리가 더 멀고 큰 표적을 쏜다. 스포츠 사격 종목은 수십m대이지 무슨 250m씩이나 되는 거리를 쏘지는 않는다.
스포츠 사격은 가까운 대신 정밀도도 상상을 초월한다. 양궁만 해도 과녁이 얼마나 작은데, 격발이 더 쉬운 총으로는 그야말로 정말 코딱지만 한 표적을 명중시켜야 국제 스포츠로서 밸런스가 유지될 정도다.

그리고 스포츠 사격에서 사용되는 총기는 권총이든 라이플이든 정밀도 향상에 왕창 최적화돼 있다. 반동을 최소화하려고 총이 굉장히 무거우며--군대 돌격소총의 2배 이상--, 방아쇠도 아주 아주 살짝만 건드려 줘도 바로 격발된다. 스포츠용 총이 무슨 행군시의 무게를 고려한다거나 할 필요는 없으니까. 그리고 총의 살상력 내지 대인저지력은 아무래도 군인용 총만치 강하지는 않다.

영점 잡는 건 두 부류의 총으로 각각 어떻게 하는지는 잘 모르겠지만, 여러 정황상 군대에서의 저격수 내지 특등사수가 스포츠 사격 메달리스트하고는 완벽하게 호환되지 않는다고 보는 게 타당하다. 서로 지향하는 바가 다르니까 말이다. 스포츠 사격에 무슨 조준경을 쓰고 탄환 궤도 오차 보정을 해서 수백~1km 밖의 목표물을 맞히는 게 있지는 않다.

4. 스웨덴과 덴마크

북유럽에 서로 가깝다면 가까이 있는 나라이며 3글자짜리 이름에 '덴'자가 있다는 공통점 때문에.. 난 두 나라가 정말 지독하게 헷갈리고 분간하기 어려웠다. 사실, 폴란드와 핀란드의 차이도 지금까지도 잘 모르겠고. -_-

일단 스웨덴은 노르웨이와 접해 있는 큼직한 왕국이며, 스톡홀름 증후군의 본산지이다.
그리고 철덕들에게 친숙한 서울 지하철 5호선의 인버터를 제작한 ABB 사가 스웨덴 국적이기도 하다. (더 정확히는 스웨덴의 Asea와 스위스의 Brown Boveri가 합병하여 ABB라고..)
자동차 제조사 VOLVO가 스웨덴에서 출발한 기업이며, 또한 다이너마이트를 발명한 알프레드 노벨이 스웨덴 출신임.

다음으로 덴마크는 그 밑에 있는 아주 작은 나라이다. 수도는 코펜하겐 되시겠다. 본토는 아주 작지만 그린란드가 덴마크령이다.
덴마크 하면 유명한 사람은 동화 작가인 안데르센이다. 그리고 프로그래밍 언어 분야에서 전세계를 평정한 괴수 컴퓨터 과학자가 두 명이나 미국이 아닌 덴마크 사람인 것은 상당히 의미심장한 일이다.

한 명은 C++ 언어를 고안한 Bjarne Stroustrup (1950~)으로, 더 설명이 필요하지 않을 것이다.
다른 한 명은 Anders Hejlsberg (1960~)로, 왕년에 볼랜드에서 터보 파스칼과 델파이를 개발했다가, 마이크로소프트로 이직한 뒤에는 C# 언어를 설계하고 관리하고 있는 브레인이다.

5. 오르막과 단순 하중의 차이

자전거를 타는데 단순히 뒤에 짐을 많이 싣는 것하고, 짐은 없지만 오르막을 오르는 것 둘 중 “어느 게 더 힘들까? 이걸 정량적으로 수식으로 나타내는 방법은 없을까?”를 생각한 적이 있었다. 자동차로 치면 어느 게 연료가 더 많이 드느냐 하는 것이다.

당장 바퀴와 지면 사이의 마찰계수부터 시작해서 생각해야 할 개념이 많을 것이나, 그래도 중· 고등학교 수준의 고전역학 지식으로도 어느 정도 답이 나올 것이다.
뒤에 백수십 kg 정도 되는 수레를 끌고 가든, 1~2도 정도의 오르막을 오르든 똑같이 힘이 더 많이 필요하고 출발이 더 어려워지는 건 마찬가지이다.
그래도 단순히 하중만 많이 실린 것은 일단 가속을 한 후에는 어느 정도 관성의 덕을 볼 수도 있으며 크게 힘든 게 없다.

그에 반해 오르막은.. 끊임없이 페달을 밟아 줘야 한다. 안 그러면 서 버리는 정도가 아니라 자전거가 뒤로 밀려난다. 단순히 무거운 하중이 걸린 차원이 아니라, 누군가가 약하게나마 뒤쪽으로 페달을 역으로 꾸준히 밟고 있다고 봐야 한다.
그러니 주행하는 거리가 길어질수록 짐보다는 오르막이 확실히 더 큰 장애물이 될 듯하다.

이것과 비슷한 맥락으로, 사진을 찍을 때 대상 물체를 크게 찍기 위해 줌을 당기는 것하고, 그냥 대상에게 가까이 가는 것하고 차이가 무엇인지도 생각한 적이 있었다.
피사체가 단순히 2차원적인 형상일 뿐이라고 생각한다면 둘은 동일하게 피사체를 확대하는 효과를 낸다.
그러나 당연한 말이지만, zoom을 당기는 것은 주변 배경의 원근감을 동일하게 내 주지는 않는다. 그런 차이가 있다. 이것도 오르막과 하중의 차이와 비슷한 맥락인 걸까? ㅎㅎ

6. 럭비와 미식축구의 차이?

스포츠에 완전 문외한이고 관심이 없는 본인으로서는, 둘 다 얼굴에 무슨 펜싱 선수 같은 보호구를 쓰고 손과 발을 모두 동원해서 갈색의 타원형 공을 향해 미친 듯이 쫓아다니는 구기 종목으로밖에 보이지 않는다.
하지만 둘은 규칙이나 체계가 많이 다르다고 한다. 얘는 더 자세한 설명은 패스.. ㅋㅋ

Posted by 사무엘

2014/08/04 08:20 2014/08/04 08:20
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/992

1. 지하철에서 “대형” 화재가 발생했을 때는 차라리 선로로 대피하는 게 낫다

화재 현장에서 목숨을 잃는 사람들은 소사보다는 질식사가 훨씬 더 많다는 게 상식이다.
일반적으로는 깊은 지하가 빛도 안 들어오고 산소도 부족해서 생존에 불리한 게 사실이지만, 지하철은 말 그대로 지하에 뚫린 길이다. 지하가 길이 더 없는 막다른 던전이 아니라는 큰 차이가 있다.

유독가스는 위로 굉장히 빠르게 잘 퍼진다. 대구 지하철 화재 참사 때도, 발상을 전환하여 앗싸리 선로로 대피해서 멀찌기 인접역까지 걸어 간 후 거기서 지상으로 빠져나온 소수의 사람들은 다 별다른 부상 없이 멀쩡히 살아 나왔다.
그 반면, 대부분의 다른 사람들은 당장 지상과 더 가까워 보이는 화재 발생 당역의 출구를 통해 나가려 했으며, 그 결과는 좋지 못했다. 살아서 빠져나가지 못하거나, 생존하더라도 유독가스 흡입으로 인해 몸이 상했다. 후자가 더 안전할 것 같은데 결과는 정반대였던 것이다.

특히나 지하 n층 이하의 매우 깊은 역이라면 정말로 무리해서 지상으로 빠져나갈 생각일랑은 버리고 선로로 대피하는 게 더 훨씬 더 안전할 것이다. 선로가 단선 쌍굴이라면 통행하기가 좀 무섭겠지만, 그래도 지하철에서 그 정도 사고가 났다면 어차피 근처 열차들은 안전 장치 내지 사령부로부터의 지시를 받고 멈추니 열차에 치일 걱정은 안 해도 된다. 단, 요즘은 스크린도어가 역설적으로 이런 선로 탈출에 악재로 작용할 가능성이 있다.

2. 구명조끼는 탈출 후에 부풀려라

육상 교통수단과는 달리 비행기나 배는 사고가 났을 때 사망, 부상뿐만 아니라 실종이 있을 수 있다. 그래서 탑승 전에 신분증으로 탑승객의 신원을 일일이 확인한다.
또한 얘들은 추락이나 침몰로 인해 동체가 수면에 떨어질 수 있다. 안전벨트와 산소 마스크는 비행기에만 있지만, 구명조끼는 두 교통수단이 공통으로 갖추고 있다.

비행기나 배의 위급 상황에서 구명조끼를 잘 착용하는 것까지는 좋으나, 거기에다 공기를 주입해서 부력을 만드는 건 아무리 위급한 상황이라도 해당 동체를 탈출하여 밖에 나온 뒤에 해야 한다.

이미 물에 빠져서 내부에 물이 들어오기 시작한 배나 비행기를 탈출하기 위해서는 일시적으로 잠수를 해야 할 수도 있는데, 너무 일찍 공기를 집어넣으면 이것 때문에 동체에서 탈출도 못 하고 거기서 갇혀 죽을 수도 있기 때문이다.
이것은 1996년의 에티오피아 항공 961편 피랍 사건과 최근의 세월호 침몰 사고에서도 실제로 일어났던 일이다. 선실에서 숨진 채 발견된 사람들이 부풀어 오른 구명조끼를 입고 있던 것은 바르게 행동한 것이 아니었다.

저 비행기 피랍 사건도 마찬가지다. 동반 자살을 유도하던 테러리스트 때문에 비행기는 연료가 고갈되어 추락했다. 기장은 필사적인 노력으로 기체를 바다 위에 최대한 안전하게 착수시켰으며, 적절한 대처를 한 공로를 인정받아 나중에 상까지 받았다고 한다. 그러나 170여 명의 승객과 승무원 중 목숨을 부지한 사람은 50명에 그쳤는데, 사망자들은 구명조끼를 기내에서 미리 부풀리는 바람에 침수되고 있는 동체에 갇혀서 최후를 맞이한 경우가 적지 않았다고 한다.

Posted by 사무엘

2014/07/30 08:34 2014/07/30 08:34
, , ,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/990

« Previous : 1 : ... 124 : 125 : 126 : 127 : 128 : 129 : 130 : 131 : 132 : ... 215 : Next »

블로그 이미지

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

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2024/05   »
      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:
2688073
Today:
1165
Yesterday:
1383