일제 강점기의 주요 사건들과 철도

1.
경부선이 개통하던 당시에는 지금의 서울 역이 있는 곳보다 더 북쪽에, 서울 중심과 더 가까우며 지금으로 치면 지하철 5호선 서대문 역과 가까운 곳에 경부선 서대문 역이 있었으며 이것이 그때의 진짜 서울 역이었다. 지금의 서울 역은 남대문 역이라고 불렸다.

그리고 유 관순 열사는 잘 알다시피 이화 학당을 다녔는데, 이화 학당은 지금의 이화여고가 있는 곳에 있었다.
이화여고는 서대문 역과 가깝다. 따라서 이화 학당 역시 그 시절엔 경부선 서울 역의 역세권에 있었으며, 유 관순은 경부선 열차를 타고 서울과 고향 천안을 수월하게 오갈 수 있었다.

서대문 역은 1919년 3월, 3·1 운동이 벌어지던 와중에 폐역되었으며, 남대문 역 이북으로는 서대문이 아닌 신촌으로 꺾는 드리프트 선로가 1920년 말에 뒤늦게 건설되었다. 그리고 우리가 다 아는 구 서울 역 건물은 1925년 9월에 완공되었다.

2.
농촌 운동가 최 용신 선생은 샘골 학원 주변으로 수인선 철도가 생기는 걸 보지 못하고 세상을 떠났으니 참 애석한 경우가 아닐 수 없다. (1935년 사망, 수인선은 1937년 개통. 약 2년 반 차이) 그래도 자기 지역으로 철도가 건설될 예정이라는 소식 정도는 듣지 않았나 싶기도 하다.

3.
1929년의 광주 항일 학생 운동의 배경에도 철도가 있다. 나주에서 광주 사이를 열차로 통학하던 한국인 학생과 일본인 학생 사이에 싸움이 붙은 것이기 때문이다. 구체적인 이유는 물론 일본인 학생이 한국인 여학생을 희롱했기 때문임. 이게 결국은 수십 명의 학생들이 엉겨붙은 패싸움으로 커져 버렸다.

오늘날의 관점에서 보자면 호남선 나주 역(광주보다 더 남쪽)과 광주 역을 오가는 열차란 상상하기 어렵다. 서울 방면에서 광주로 가는 열차는 있어도, 목포 방면에서 광주로 가는 열차는 없기 때문이다.
다만, 호남선은 몰라도 경전선 쪽은 지금까지 변화가 워낙 많았기 때문에 그때의 광주 역은 지금의 광주 역과는 다른 곳에 있었다. 그리고 광주 동쪽으로는 담양과 남원으로 가는 '전남선'이라는 철도가 부설되어 있었다. 이것도 참 상상하기 어려울 것이다.

전남선은 1944년에 일제의 전쟁 물자 공출로 인해 선로가 철거되었다. 대한민국 정부 하에서 광주 역은 다른 곳으로 이설되고 새로 건설된 경전선이 광주를 지나게 되었으나, 이마저도 선로가 남쪽 외곽으로 이설되면서 광주 역은 지금과 같은 낙동강 오리알이 된 것이다.

뭐 지금의 광주송정 역인 구 송정리 역이 호남선과 전남/경전선과의 환승역이었던 것은 예나 지금이나 변함이 없으며, 1929년에 다녔던 열차는 어떤 형태로든 호남선 남부와 전남/경전선을 직결하는 통근열차요, 지금으로 치면 광역전철뻘 되는 열차였던 것 같다.

그리고 여담으로, 대도시 중심부에 있지만 철도 선형상으로는 왠지 고립된 고자처럼 되었다는 점에서는 신촌과 광주 역이 서로 좀 비슷한 구석이 있다.

4.
끝으로, 조선어 학회 사건이 있다.
1942년 여름, 영생 여자 고등보통학교의 학생들이 방학을 맞이하여 집에 가러 열차를 탔다. 한 열차를 같이 탄 여학생들이 낄낄대며 한국어로 수다를 떨었는데, 하필 옆에 조선인 사복 형사가 타고 있었다.
때는 이미 창씨 개명에 조선어 사용 금지 등의 민족 말살 정책이 시행 중이던지라.. 일제의 앞잡이이던 그 형사는 “이것들이 황국 신민이면 신민답게 일본어를 쓸 것이지 왜 조선어를 쓰고 난리냐?”라고 꾸짖었다. 그 학생들은 우리끼리 얘기를 나누는 것일 뿐인데 웬 참견이냐는 식으로 대들었다. (상대방이 일제 끄나풀인지 처음엔 몰랐음)

이에 형사는 빡쳐서 다음 역에서 여학생들을 강제로 끌어내려 심문을 했고, 나중에는 일행 중에 제일 강하게 반항하던 박 영희라는 학생의 집에까지 쳐들어가서 옛 일기장을 압수했다. 그런데 거기에 “학교에서 국어(=일본어)를 썼다가 선생님에게서 꾸지람을 들었다”란 문장이 있는 걸 보고는...

국어를 썼으면 칭찬을 받아야지 왜 꾸지람이냐? 그 선생 누구야? 이거 악질 반동 새끼구만?” 취조를 한 끝에.. 옛 교사였던 한글학자 석인 정 태진 선생의 정체가 드러났다.
일제 고등 경찰은 이 사람이 소속되었던 조선어 학회까지 과격 무장 독립 운동 조직으로 날조하고 일망타진해서 성과 한 건 올리자는 생각을 하게 됐다. 이것이 바로 조선어 학회 사건이 벌어진 계기이다. 더 자세한 내력에 대해서는 별도의 글을 참고하시라.

난 옛날에는 한글, 국어 쪽으로만 관심이 있었는데 지금 이 사건을 다시 읽어 보니, 그 당시 영생여고보 학생들이 이용한 철도 노선은 함경선이었고 지금의 북한 치하에서는 평라선 구간이 되었다는 사실이 매우 깊이 와 닿는다. 아아~ 지금도 국토가 분단되지만 않았다면..!
철도교에 입문하고 나면, 일제 강점기 때 한반도에서 있었던 굵직한 사건들을 철도를 중심으로 다시 볼 줄 아는 안목이 생긴다.

안 중근 의사가 중국이 아닌 국내의 철도역 승강장에서 이토 히로부미를 저격하기라도 했다면 거기는 그야말로 철덕들의 성지가 되지 않았겠는가?
6·25 때도 군인· 경찰 말고 민간인 중에 가장 많이 순직한 사람들이 바로 철도인이다. 철도 사랑과 나라 사랑이 별개가 아닌 것에 자부심을 가져도 좋다.

Posted by 사무엘

2014/10/12 08:32 2014/10/12 08:32
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1017

흑백에서 컬러로 (2)

사진술과 관련하여 옛날에 비슷한 주제의 글을 하나 올린 적이 있었는데, 이와 관련하여 오랜만에 내용을 좀 보충하도록 하겠다.

1. 컬러로 복원한 흑백 사진

사실, 흑백 사진을 컬러 사진으로 '복원'한다는 개념은 엄밀히 말해 존재하지 않는다. 아예 없는 정보를 원래대로 재구성하는 건 타임머신을 타고 그 시절로 되돌아가지 않는 한 불가능하기 때문이다.
그 대신, 흑백 사진에다가 그럴싸하게 인위로 색을 입히는 과정만이 존재할 뿐이다.

이건 마치 가사를 하나 줘 놓고 멜로디를 붙여 보라는 주문 내지
외국어 텍스트를 줘 놓고 번역(특히 직역이 아닌 의역 형태로)을 하라는 주문과도 같기 때문에,
작업하는 사람마다 제각각의 느낌이 나는 작품이 나올 수 있다. 흑백 사진이 찍히던 당시에 원래 색상이 저랬으리라는 보장은 당연히 없다는 걸 잊지 말아야 한다.

그래도 외국의 한 예술가가 만들어 놓은 결과물은 꽤 그럴싸하다.
20세기 초· 중반을 살았던 옛날 사람들이 그렇게까지 까마득한 옛날을 산 것 같아 보이지 않는 효과가 난다.
그 옛날 모습을 시각적으로 느끼는 방법으로는 (1) 흑백 사진, (2) 컬러 그림 아니면 (3) 그 시절을 대충 재현해 놓은 실사 영화 정도가 다일 텐데 (4) 채색한 흑백 사진은 그 중간에 속하는 새로운 영역인 것 같다.

참고로 사진이 찍힌 최초의 전쟁은 1850년대의 크림 전쟁이며, 1860년대의 미국 남부 전쟁도 사진이 전해진다. 물론 흑백. 그러나 이때는 노출 시간이 길었던 관계로 교전 중의 장면은 찍을 수 없었고, 전쟁이 끝난 뒤의 풍경이나 병사들이 작정하고 포즈를 취한 사진만을 찍을 수가 있었다.

2. 처음부터 컬러로 찍힌 고전 사진

우리나라에서는 196, 70년대의 박 정희 대통령 시절만 해도 컬러 사진을 찾기가 쉽지 않은 것 같다(없다는 얘기는 아님).
하지만 예전 글에서도 썼듯이 컬러 사진 자체는 생각보다 굉장히 일찍부터 존재했다. 박 정희가 아니라 이 승만 대통령도 컬러 사진이 존재하며 2차 세계 대전 시절의 히틀러· 에바 부부도 컬러 사진이 있다.

초창기의 컬러 사진으로 유명한 것은 지금으로부터 거의 100년 전에 제정 러시아 말기에 세르게이 프로쿠딘-고르스키라는 작가가 남긴 사진들이다.

단, 시대가 시대인지라 저 사람은 RGB별로 세 장의 풍경 사진을 찍어 놓기만 했지, 그걸 실제로 현상해서 컬러 사진이 완성된 걸 보지는 못하고 죽었다고 한다.
저 사진들은 원판을 토대로 훗날 합성해서 만들어 낸 이미지이니 이거야말로 '복원'이라는 표현이 말이 된다. 100년 전에 3원색 합성까지 완료된 컬러 사진 현물이 지금까지 저렇게 선명하게 전해져 온다는 뜻은 절대 아님. 그렇게 긴 시간이 흘렀으면 사진 자체가 누렇게 바래 버렸을 것이다.

후처리 과정을 거쳤다고 해도 그래도 흑백 사진 채색처럼 인위적인 해석이 가미된 것은 아니니 흥미진진하다. 저것은 그림도 아니고 재연이 아니라 진짜 100년 전의 사람과 풍경이었다니!
참고로 12번. '츄소봐니아 강' 사진에서 강물에 기름띠 같은 게 줄줄 보이는 이유는.. RGB별로 사진이 찍히는데 간격이 길어서 시시때때로 변하는 물결 모양으로 인한 불일치가 생겼기 때문이다.

1910~1911년이면 아문센과 스콧 일행이 남극에 갔던 시기와도 비슷한데 이때 남극의 모습이 컬러로 찍혔으면 어땠을까 싶다. 하지만 그 극지에 컬러 사진 촬영을 위한 막대한 양의 장비를 들고 다니기는 현실적으로 어려웠을 것이다.

한편, 글 주제와 직접적인 관계는 없지만, 사진 하니까 떠오르는 생각이 있어서 덧붙인다.
요즘처럼 영상 자료가 넘쳐나는 “seeing is believing” 시대에 실물이나 합성 사진이 아니고, 그렇다고 CG도 아닌 진짜 생그림으로 어떤 사건을 묘사했다고 하면.. 그건 십중팔구 뭔가 안 좋고 심각한 내용이다. 특히 인권 유린과 관계가 있는 것들이라는 걸 생각할 필요가 있다.

어린애가 자기를 성폭행한 가해자를 묘사했다거나, 탈북자들이 북한 정치범 수용소에 대해 증언한 것, 파륜궁 수련자에 대한 고문 장면 등.
사진을 남길 수 없는 곳에서 벌어지는 끔찍한 일들이고, 그렇다고 CG로 재구성을 하기에는 민망하고 돈도 안 되고 인권· 초상권이 침해되는 영역이니까.

물론, 난징 대학살이나 일본군 생체실험, 나치 수용소 같은 건 사진이 전해지긴 한다. 그건 그 집단이 정말 전부 맛이 가 있었으니까 가능한 일이고, 그나마 컬러 사진이 충분히 보급되기 전의 옛날 이야기이다. 인류 역사상 그런 일이 다시는 없어야 할 터이나 현실은 지구 어디선가 아직도 그런 일이 있는 듯하다.;

Posted by 사무엘

2014/10/10 08:17 2014/10/10 08:17
,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1016

회사 업무 때문에 구질구질한 재래식 Windows API 기반 네이티브 데스크톱 프로그램이 아니라 일련의 신문물들을 접할 일이 있었다. 바로 지금까지 말로만 듣던 Windows Phone 플랫폼 개발 때문이었다.

1. Windows 8.1

Windows 8로 넘어가면서 부팅부터 UEFI라는 기술이 도입되면서 뭐가 좀 바뀌었다. 운영체제를 다시 설치하려고 부팅 디스크 탐색 순서를 바꾸려고 해도 BIOS Setup에서 좀 번거로운 절차를 거쳐야 하게 되었다.

Windows Phone 에뮬레이터를 돌리려면 역시 BIOS Setup을 들어가서 기본적으로 꺼져 있는 CPU 가상화 기능을 켜야 하며, OS도 아무거나 쓰면 되는 게 아니라 8.1 Pro 이상급이 반드시 필요하다. Hyper-V 기능이 home급에서는 지원 안 되고 Pro나 엔터프라이즈 급 이상부터만 지원되기 때문이다.
Pro 이상에서만 지원되는 대표적인 기능이 바로 원격 데스크톱 서버 기능인데.. 그런 비슷한 기능이 하나 더 생긴 것이다.

요즘은 스마트폰 CPU도 PC와 별 차이 없을 정도로 굉장한 고사양이기 때문에 에뮬레이션을 위해서는 CPU 차원에서의 온갖 첨단 기능이 덩달아 필요해진 듯하다. 덕분에 이젠 가상 머신에서도 Windows Aero 효과가 돌아가는 세상이 되기도 했다.

Windows 8 이상의 그 각지고 단순해진 GUI를 보면, 비스타/7에 비해 퇴화한 것 같고 화면을 왜 저렇게 만들었나 싶은 생각이 처음에 들었다. Windows 8부터는 아시다시피 고전 테마가 없어지고 화면 scheme은 오로지 "표준 아니면 고대비"로 극도로 단순화됐다.
하지만 이젠 저것도 그럭저럭 적응이 돼 간다. 외형이 단순해진 대신, 단조로움을 덜기 위해 창틀의 색깔이 시시각각 변하는 기능이 생기기도 했고. ㅎㅎ

운영체제를 설치하는 중에 전체 화면에서 배경색이 서서히 알록달록하게 변하는 건, 마치 도스 시절 VGA mode 13h에서 전체 화면 게임 프로그램이 팔레트 스크롤을 하는 것 같은 느낌이 들었다.

2. Visual C++ 2013

외형이 별로 바뀐 게 없고 시간 간격도 2012에 비해 겨우 1년 차이밖에 안 나는지라 변화량을 만만하게 봤었는데, 실제로 써 보니 그렇게 만만하지는 않다. 아기자기한 기능들이 많이 강화되고 좋아졌다.

색깔 scheme이 하양과 검정 말고 '파랑'이 하나 더 생겼는데 파랑은 옛날의 우중충한 2010 분위기를 내는 스타일이어서 개인적으로는 비호감.
운영체제의 기본 컨트롤을 쓰는 게 아니라 모든 걸 자기가 직접 그린다는 특성상, 스크롤 바가 굉장히 똑똑해졌다. cursor가 속한 줄 위치가 스크롤 바에도 언제나 표시되어 나오고, 스크롤 중에 페이지 썸네일을 표시하는 기능도 있다.

옵션(프로젝트 옵션과 프로그램 옵션 모두) 대화상자가 드디어 크기 조절이 가능해졌으며, C++도 코딩 중의 자동 서식과 자동 완성 기능이 제법 강화되었다.

Visual Studio (C++ 포함)는 지난 2005 버전 때부터 Express라는 무료 버전이 정식으로 배포되고 있다. 그래서 예전에는 플랫폼 SDK(= 무료 배포)도 자체적으로 컴파일러를 포함하고 있었는데 그것까지 express 에디션으로 완전히 대체되었다. 상업용 버전과는 달리 2013 Express 버전은 Windows 8용 Metro/Phone 앱만 만들 수 있는 'for Windows' 에디션과, 예전의 재래식 native 프로그램만 만들 수 있는 'for Windows desktop' 에디션이 따로 나뉘었다.

3. C++/CX

드디어 그 이름도 유명한 '요물'을 만져 보게 됐다. 처음에는 단순히 C++을 닷넷용으로 마개조한 Managed C++와 C++/CLI의 후신인줄로만 알았는데 그렇지 않다. C++/CX와 Windows RT API는.NET 내지 C++/CLI하고 무늬는 비슷하지만 내부 구조는 완전히 다르다.
예를 들어, 옛날의 C++/CLI에서는 일반 C++ 개체(new)와 관리되는 새로운(__gc new) 개체는 서로 has-a 관계조차도 맺을 수 없었다. 취급되는 방식이 서로 다른 개체를 다른 개체의 멤버로 가질 수 없었다는 뜻이다. C++/CX는 그런 제약이 없다.

.NET 그쪽 바닥은 전통적인 바이트코드 기반 런타임이지만 C++/CX는 엄연한 네이티브 코드 기반이다. 가장 큰 차이로 후자에는 garbage collector가 없다. ref new로 할당하는 ^ 라는 이상한 포인터가 있긴 하지만 얘는 내부적으로 그냥 레퍼런스 카운팅으로 관리될 뿐이다. .NET과 비슷한 API를 차용하고, C#에서 partial도 가져오고 델리게이트나 boxing 같은 것도 가져왔지만, 내부는 여전히 native라는 게 참 인상적이다. 게다가 이제 퇴물 신세가 됐나 싶던 COM 인터페이스까지 다시 끄집어냈다니!

Visual C++ 200x 시절에만 해도 이제 MS가 C++을 버렸네(특히 MFC!!), 네이티브 코드 시절이 끝났네, 심지어 Windows 차기 버전은 닷넷 같은 바이트코드 기반으로 완전히 새로 만들어진다네 하는 온갖 낭설이 떠돌았는데.. 201x로 와서는 그런 낭설이 완전히 불식된 듯한 느낌이다. MFC는 2008 feature pack 때부터 잘 알다시피 환골탈태하였으며, C++ 언어 자체도 C++11 같은 온갖 확장 규격에 힘입어 한없이 강력하고 복잡해졌다. 거기에다 Windows RT의 코드 기반도 네이티브 코드에 힘을 실어 줬으니 C++은 예나 지금이나 건재한 언어 인증을 하게 됐다.

이런 요물의 등장으로 인해 도리어 .NET의 위상이 굉장히 어중간해졌다. 비슷한 시기에 등장한 GDI+도 너무 금세 버림받고 낙동강 오리알 신세가 됐고 말이다. 얘는 이제 하드웨어 가속 지원도 못 받는다니, 안티앨리어싱이 되는 그래픽이 필요하다면 얄짤없이 Direct2D라도 새로 공부해야 하게 생겼다.

뭐 내부 메커니즘이야 어떻든, 네이티브 코드 C++에서도 delete 따질 필요 없이 new를 막 남발해도 된다는 게 무척 신기하며, 마치 자동차로 치면 수동을 몰다가 자동을 모는 듯한 느낌이다. 하지만 세상에 다 썼으면 반드시 반납을 해야 하는 리소스가 메모리만 있는 건 아닌데, 파일이나 다른 커널 오브젝트들은 어떻게 관리되며 생명 주기가 어떻게 되는지 궁금해질 때도 있다. 참고로, 레퍼런스 카운팅도 GC에 비해서 마냥 가볍고 편리하기만 한 물건은 아니며 약점이 있다.

Windows RT API들은 정말 복잡한 namespace와 클래스, 추상 계층들이 넘쳐난다. 지저분한 Windows API를 정말 허접하게 감싼 MFC 정도를 생각했다가 요즘 프레임워크들을 보면 입이 떡 벌어질 수밖에 없다.
멤버뿐만 아니라 클래스 자체에다가도 public 같은 접근성을 지정할 수 있으며, 더 상속이 안 되게 하는 sealed 속성을 줄 수 있다. 일반 C++에서는 허용되지만 C++/CX에서는 “무슨 클래스에서는 생성자가 public이어서는 안 된다, 데이터 멤버가 뭐여서는 안 된다”는 식의 까다로운 제약도 굉장히 많아서 처음엔 답답함을 느꼈다. (상속이라는 게 없는 언어에다가도 클래스를 제공할 수 있게 하기 위해 들어간 제약이라 함.)

이 기회에 delegate라는 게 뭔지도 다시 살펴보게 되었다. 선언 자체는 C++로 치면 함수 포인터 내지 멤버 함수 포인터에 대한 typedef를 선언하는 것과 비슷한 개념이며, 이놈의 인스턴스는 따로 new로 선언해야 한다. 그때 생성자에다가 다른 함수 명칭라든가 람다 함수를 집어넣어 주면 된다.
람다의 경우 this를 캡처로 주면 자연스럽게 멤버 함수도 대리자가 될 수 있으니 매우 유연하다. 물론 그 유연성은 성능 대가를 치르고 얻어진 것이겠지만 말이다.

Windows RT API에는 비동기적으로 행해지는 동작이 많으며, Concurrency Runtime 라이브러리와 밀접한 관계가 있다. 표준 C++ 라이브러리의 일부인 모양인데 create_task에다가 할 일들을 넣어 주고, 그 일이 반드시 다 끝난 뒤에 수행할 일은 저 함수의 리턴값에다가 .then 메소드를 호출하고 거기에다가 또 람다 형태로 넣으면 된다. 기본적으로 코딩 패턴이 그러하다.
.wait 메소드를 이용해서 동기화를 시켜도 되지만, 이 경우 Windows Phone은 UI 스레드까지 멈춰 버려서 데드락이 발생하는 듯하다. 참고로 C#의 경우 언어 차원에서 await이라는 전용 키워드가 존재한다고 함.

도대체 저 라이브러리는 어떻게 구현되었나? 소스 내부에 CreateThread, WaitForSingleObject 같은 Windows API라도 썼는지 궁금했지만.. 디버거로 내부 추적이 전혀 되지 않을 뿐더러 온갖 암호 같은 복잡한 템플릿은 도저히 분석 가능하지 않았다. 그래서 분석을 포기했다.
아무튼, C++은 람다 함수가 도입되어서 코드를 값으로 집어넣는 게 가능해지고, 이게 템플릿과도 결합하는 바람에 그야말로 예전의 C++에서는 상상도 할 수 없던 무궁무진한 활용이 가능해지긴 했다.

Windows RT 환경에서는 재래식 Windows API는 쓸 수 있는 것도 있고 그럴 수 없는 것도 있다. 이걸 일일이 다 분류하는 것도 마소의 엔지니어들의 입장에서는 엄청 고된 일이었겠다.
실행을 잠깐 멈추는 Sleep 함수도 누락되고 없기 때문에 Concurrency::wait를 써야 한다고 한다. 난 저걸 알기 전에는 이벤트 오브젝트를 만들어서 WaitForSingleObjectEx 함수를 쓰곤 했다.

끝으로, Windows RT의 C++/CX 환경은 네이티브 코드를 표방하는 관계로 재래식 static library와 DLL을 모두 만들어 쓸 수 있다. 단, 불가능하지는 않지만 static library의 경우 링커가 경고를 띄운다. 그건 오로지 같은 C++ 프로젝트에서만 활용 가능하니 재사용성이 크게 떨어지기 때문이라고.

RT 환경에서는 Windows Runtime Component라는 특수한 형태의 DLL을 만들어서 코드를 재사용하는 것이 권장되는 방법이다. Windows RT계의 COM 같은 물건인데, 그렇다고 COM 정도로 문법이 크게 제약되고 경직된 건 아니다. C#으로 표현 가능한 언어 요소들을 모두 표현할 수 있고, 아무래도 원시적인 인클루드와 라이브러리보다는 더 깔끔한 빌드/재사용 시스템인 듯하다.

이런 것들을 경험하고 나니 뭔가 미래에 갔다 온 듯한 느낌이었다.
XAML은 Win32 개발로 치면 rc 파일 같은 것이고
public ref class는 Win32에서 __declspec(dllexport) 같은 건가?

예나 지금이나 완전한 형태의 Windows 프로그램을 만들기 위해서는 무슨 언어든 문법 확장이 불가피했지만 지금은 더 체계적이고 조직적이고 더 노골적으로 하는 듯하다.
시대를 불문하고 불변인 자기만의 전문 영역이 있어야겠지만, 한편으로 최신 시대 조류도 놓치지 말고 따라갈 줄 알아야겠다는 생각이 새삼 들었다.

'독립 개발자 네트워크'를 운영하고 계신 깁뿔 님께서 오래 전에 Windows 8 개발 공부를 하면서 올려 놓으신 팁들을 이 기회에 뒤늦게나마 유용하게 활용했다.

Posted by 사무엘

2014/10/07 08:36 2014/10/07 08:36
, ,
Response
No Trackback , 6 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1015

디지털 카메라 이야기

디지털 카메라는 20세기 말~21세기 이래로 세상의 문화 풍조를 바꿔 놓은 혁신적인 물건임이 틀림없다.
그 전까지는 컴퓨터 화면에서 사진이라는 걸 접하기가 쉽지 않았다. 비디오 디스플레이 기술은 더 오래 전에 트루컬러급으로 발전했지만, 실사 사진을 얻는 방법은 TV 화면 수신이라든가 스캐너 정도밖에 없었기 때문이다.
그래서 뭔가 실사급의 그래픽을 자랑하는 게임이 상대적으로 더욱 신기하게 느껴지곤 했다.

그랬는데 지금은 정말 개나 소나 아무나 손쉽게 주변으로부터 사진을 얻을 수 있으며, 이를 혼자만 저장해 놓고 보는 게 아니라 인터넷을 통해 방방곡곡으로 알리고 퍼뜨릴 수 있게 됐다. 정지 사진으로도 모자라서 동영상까지 그 자그마한 기계로 가능하니 어지간한 소형 캠코더 역할까지 한다. 이로써 1인 미디어, UCC 같은 게 출현 가능해졌다. 그리고 필름 카메라와 카세트/VHS 같은 아날로그 시청각 매체는 급속히 퇴물로 전락했다.

말이 나왔으니 말인데, 동영상은 용량이 크고 통신 트래픽이 방대한 관계로 인터넷 상에 올릴 데가 마땅찮았다. 그래서 2000년대 초까지만 해도 동영상은 깨진 링크도 무진장 많았다. 그러나 유튜브 같은 전세계급 동영상 포털이 등장하면서 이마저도 옛말이 되었으니 참 격세지감이 아닐 수 없다.

인터넷에서 동영상을 하나 보려고 Media Player ActiveX 컨트롤을 까네 마네 하던 시절도 참 아련한 추억이 돼 간다. 플래시가 버전 7부터 flv 재생 기능이 추가된 것이 한 10여 년 남짓 전의 일인데, 이게 또 세상을 바꿔 놨다. 당장 유튜브가 이 기술을 기반으로 출현했으니 말이다.

본인이 최초로 사용해 본 디지털 카메라는 2002년인가 삼성 디지맥스라는 100만대 화소의 완전 초창기 골동품이다. 그때 이후로 디지털 카메라는 화소 수 증가 경쟁이 시작되었다. 수 년 뒤에 구입한 다음 카메라는 300만대의 화소에 간단한 무음 저품질 동영상 기능이 추가되었고, 그것 다음에 구입한 카메라는 이제 동영상까지도 그럭저럭 MPEG-2 급의 화질은 나오는 물건이 되었다.

이제는 어지간한 보급형 중저가 디카 급의 사진과 동영상은 카메라를 들고 다닐 필요도 없이 스마트폰만으로도 척척 만들어 내는 세상이 된 지 오래다. 그러니 종래의 디지털 카메라는 폰카로는 만들 수 없는 DSLR급의 고퀄 등급에서나 명맥을 유지하게 되었다. 사진 분야에는 워낙 전문가 매니아들이 많으며, 고성능과 저성능 장비의 퀄리티 차이도 충분히 크기 때문에 그 업계가 망할 일은 없을 것으로 보인다.

본인은 원래는 그런 분야에 전혀에 가깝게 관심이 없었지만, 그래도 철도 촬영 때문에 카메라와 사진 같은 쪽에 그래도 일말의 식견은 생겨 있다.
성능이 안 좋은 카메라는 다음과 같은 한계가 존재한다.

※ 시야

1. 아무래도 시야각이 사람 눈보다는 작은 관계로, 넓은 장면을 한번에 담기 어렵다. 본인은 미국 가서 그랜드 캐년을 보면서 이걸 절실히 느꼈다. 이래서 파노라마 사진이라는 테크닉이 존재하는구나!

2. 또한 사진의 가장자리로 갈수록 상이 둥글게 휜다. 본인은 철길을 촬영하면서 아래의 레일이 둥글게 휜 걸 보고 이런 현상을 느꼈는데, 초소형 몰래 카메라 같은 건 이런 현상이 더욱 심한 걸 볼 수 있다.
사진이라는 건 컴퓨터그래픽에서 다루는 것처럼 사물들이 딱 rotation, projection을 거쳐서 정확하게 2차원 평면에 그려지는 게 아니라 아무래도 0차원의 점에 속하는 렌즈가 빛을 모으는 형태이다 보니.. 중심에서 먼 곳일수록 휘는 게 불가피한 듯하다. 옛날에 브라운관 TV/모니터만 해도 평면을 만들어 내는 건 쉬운 일이 아니었다.

※ 빛을 모으기

3. 카메라의 본질이라 할 수 있는 빛을 모으는 기능은 기계가 사람의 눈보다는 확실히 부족하다.
그래서 야경, 밤하늘의 별 내지, 명암 윤곽까지 보이는 선명한 보름달을 찍으려면.. 어지간히 좋은 장비와 기술이 필요한 게 아닐 것이다. 노이즈를 감수하고라도 노출 시간도 굉장히 길게 잡아야 한다.

사실, 태양이나 목성, 토성 같은 천체의 사진은 실제로 사람이 우주 탐사선을 타고 밖으로 나간다고 해서 당장 그렇게 보이는 게 아니다. 태양의 경우 어마어마한 넘사벽급으로 광량을 줄여서 찍은 것이고, 반대로 외행성들은 칠흑같은 어둠 속에서 어마어마하게 빛을 모으고 또 모아서 보정하여 그런 이미지를 얻은 것이다.
광량을 그렇게 줄였기 때문에 태양이 그저 노랗게 보이고 흑점이 검게 보이는 것이다. 그렇지 않고 행성 관측하듯이 똑같은 광량으로 보면 태양은 흑점이고 뭐고 없이 그저 똑같이 맹렬한 흰 빛으로 보일 뿐이다. 그리고 눈이나 카메라는 곧바로 상한다.

4. 사진을 많이 찍어 본 분들은 이미 충분히 경험하셨겠지만,
디카는 집이나 교통수단 안에서 “내부와 창밖 외부를 동시에 균형 잡힌 명도로 찍기”가 몹시 어렵다! 어느 쪽에 focus를 주느냐에 따라 창밖이 너무 밝아지거나 내부가 너무 어두워지기 때문이다. 디카만 그런지 필카도 그런지는 잘 모르겠다.
이것을 사진 용어로는 '명암차'라고 하며, 좋은 카메라는 그 명암차의 dynamic range도 크다고 한다.

※ 흔들림 보정

5. 예기치 않은 흔들림 때문에 사진을 망치는 일 자체는 어쩔 수 없다. 허나, 이게 흔들린 사진이라는 걸 디카의 조그마한 preview 화면만으로는 확대해서 봐도 알기 어려운 경우가 많다.
그걸 애초에 알았으면 현장에서 촬영을 다시 했을 텐데, 출사를 다 끝내고 PC에서 사진을 큼직하게 확인한 뒤에야.. “에이 흔들렸잖아!” 이러는 일이 비일비재하다.

blur된 이미지를 복원하고 카메라 차원에서 흔들림 보정 기술까지 등장해 있으니 이 역시 장비에 돈을 많이 투자하면 극복 가능한 장벽이긴 하다. 패턴인식 기술을 동원해서 “이건 흔들린 걸로 의심되는 사진입니다”를 감지하는 것도 어떠려나 싶다.

.
.

이런 카메라의 특성을 알면, 사람의 눈이 얼마나 정교하고 대단한 신체 기관인지를 실감하게 된다.
바닥과 평행한 구도로 반듯하게 사진을 찍으려면 삼각대도 필요하고 이것저것 필요한 액세서리들도 추가된다.
또한, 정지 사진을 찍는 건 마치 사격과 비슷하다는 생각이 문득 든다. 셔터는 방아쇠이고, 격발 시 흔들림 현상이 없으려면 영점을 잘 잡아야 할 테니까.

Posted by 사무엘

2014/10/04 08:29 2014/10/04 08:29
,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1014

코딩 신선놀음 중

오랜만에 근황 겸 내 사진이나 좀 투척하겠다. 이제 날짜상으로는 여름이 다 갔다지만 난 여전히 낮과 밤에 반팔 차림이다.
사용자 삽입 이미지
확실히 북한산 맑은 공기를 주입해 주면 코딩이 잘 되는 거 같다.. ㅋㅋ
사용자 삽입 이미지
어느 전원 주택 2층 다락방에서의 신선놀음. 참고로 우리집 아님.

날 가까이에서 볼 수 있는 학교· 교회 등의 지인 한정으로나 의미가 있겠지만..
도대체 저 인간은 왜 어딜 가나 맨날 노트북 PC를 들고 다니고 게다가 인터넷조차 없이도 혼자 뭘 끄적거리는지 궁금하신 분들은 내 연구실을 오프라인 방문하는 걸 언제든지 환영한다. 장소가 따로 있는 게 아니라, 그냥 컴퓨터 펼쳐 놓고 작업하고 있는 곳이 어디든지 연구실.
내가 지금 한글 입력에서 관심사가 무엇이고 뭐가 고민인지를 코드와 함께 친절하게 알려 드리겠다.

Posted by 사무엘

2014/10/01 08:39 2014/10/01 08:39
,
Response
No Trackback , 3 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1013

동성애의 실상

다음은 오랫동안 게이로 살다가 수 년 전에 전향했다는 어떤 사람이 털어놓은 양심선언이다.

식성, 항문성교, 변실금, 곤지름, 찜방...
와.. ㅠ.ㅠ 정말 상상 이상으로 더럽고 혐오스럽고 충격적이고 끔찍하다..!
내 블로그를 구독하는 분들과도 한번쯤은 공유할 필요를 느껴서 부득이하게 이런 유쾌하지 못한 링크를 소개하게 되었다.

참고로 저건 종교적인 편견이나 훈계 같은 거 없다. 그냥 그 바닥의 실상만을 있는 그대로 까발려 놓은 것이니 누구라도 부담 없이 보시면 된다.
마치 알베르토 리베라의 게이 버전을 보는 듯한 느낌이다.

어찌 보면 당연한 말이지만, 동성애라고 해서 사람이 무슨 자웅동체처럼 행동한다거나 하는 게 아니다.
그들 사이에서도 남자 역할과 여자 역할이 있다. 그런데 동성끼리 이성 흉내를 내려다 보니 차마 입에 담기 민망한 추잡한 짓을 하게 된다.

게다가 이들은 평생 한 배우자(?)하고만 그러는 게 아니다. 게이바에서 서로 식성이 맞고 죽이 맞는 사람끼리 원나잇 스탠드를 하는데, 평생 수십~수백 명의 파트너를 만나서 그 짓을 한다.

“... 여기에 중독되면 그때부터는 동성애에서 빠져나오는 것은 거의 불가능합니다. ... 그 쾌감은 일반 남성들은 절대로 알 수 없습니다.”


으으.. 오싹... ㅠ.ㅠ
지금까지는 나도 그냥 장난조로 “ㅉㅉㅉ 세상에 많고 많은 예쁜 여자들을 놔 두고 같은 남자가 좋냐?” “짝! / 찰지구나” 이러면서 낄낄대기만 하고 넘어가는 편이었는데, 생각보다 심각하고 무서운 짓인 것 같다.

병맛 웹툰 작가 엉덩국은 <성 정체성을 깨달은 아이>라는 만화를 올려서 일약 스타덤에 올랐는데, 한편으로 게이에 대한 이미지를 왜곡했다는 질타를 받아서 다음과 같은 해명 만화도 올렸다.

“게이라고 해서 아무 남자나 좋아하고 밝히는 건 아니라는 거군요”라는 명제는 '식성'을 감안했을 때 확실히 '참'인 듯하다.
그러나 그 작가도 앞의 저 링크에 소개된 웹툰을 좀 일독을 했으면 싶다.

아무튼,
동성애의 커밍아웃이 아니라 음지에 가려져 있던 동성애자 바닥에 대한 과감한 커밍아웃이 하나 떡 올라오니, 이미지 수습을 위한 반박도 응당 올라왔다.
“모든 게이가 다 그러는 거 아니다, 저거는 게이 중에서도 아주 예외적이고 진짜 음란한 극소수 변태들의 예일 뿐이다.” 같은 식.
그러나 친절하게도 그에 대한 재반박까지 올라와 있다.

또한 동성애에 대해서 아무리 변명과 합리화를 늘어놓는다 한들, 다음과 같은 정말 근본적인 결말까지 반박이 가능할지는 의문이다. 동성애는 정말 마약 이상으로 사람의 인생을 파멸로 몰아넣는 마귀의 속임수임이 틀림없다.

“나이 든 동성애자들은 동성애 세계가 얼마나 무서운지 알고 있습니다.
젊음의 때가 가고 30대가 넘어 식성 경쟁에서 밀려나기 시작하면 동성애자들은 그 후로 절대 고독과 외로움 속에 평생을 살아야 합니다.
나이 든 동성애자는 서로 얘기 안 해도 누가 에이즈에 걸렸는지도 잘 압니다.
하지만 젊은 동성애자나 일반인에게 이런 것들을 말해 주지 않습니다.”


세상에는 “나는 당신의 사상에 동의하지 않습니다. 그러나 당신이 그것 때문에 박해를 받는다면 나도 당신의 말할 자유를 위해 당신과 함께 싸우겠습니다” 이런 사고방식으로 동성애자 운동을 성소수자(?)라고 지지하는 대인배 진보주의자들이 많다. 한번 동성애 세계가 어떤지 제대로 알기는 한 뒤에 같이 싸우든가 말든가 했으면 하는 바람이 있다.

사형 제도 논쟁을 할 때 “니 가족이나 애인을 죽인 흉악 범죄자한테도 사형 반대하겠냐?” 이렇게.. 틀린 말은 아니지만 좀 '거시기하게' 논리를 들이대는 사람이 있다. 게다가 일부 박애주의자 중에는 진짜로 “응, 그래도 반대할 거다”라고 대답하는 사람도 없지는 않다는 걸 감안해야 한다.

그런데 동성애는 어떨까? “니 아들이 나중에 남자를 데려와 놓고는 '아버지, 저는 이 남자가 좋습니다' 이래도 괜찮겠냐? 니 집 주변에 게이바가 잔뜩 있어도 애들을 안심하고 키우겠냐?” 이런 질문에 선뜻 “응!”이라고 기꺼이 대답할 사람은 얼마나 있을지 궁금하다. 아무리 멋있는 걸로 치장한다 해도 죄는 결국 죄일 수밖에 없다.

흔히 이성애자 중에서도 바람 피우고 간음 저지르는 인간들도 죄 짓는 건 마찬가지 아니냐는 식으로 퉁치려 드는 사람이 있다. 그런 식의 문란한 정도로 치자면 동성애자가 훨씬 더하다. 그리고 이성애자는 최소한 부끄러운 줄은 알고 몰래 그런다. 요즘 게이들처럼 퍼레이드를 하고 난장판을 벌이지는 않았다. 오죽했으면 옛날에 에어장도 도망쳐서 에어컨 실외기에 매달려 있다가 장렬히 최후를 맞이하지 않았는가?
성경에서도 다윗이 저지른 죄는 밧세바와의 간음이다. 차라리 그 정도면 양반이지, 요나단과 그 짓-_-을 한 것이었다면 얼마나 끔찍했을까? -_-;;

사실 우리나라나 미국 같은 자유 진영 국가에서는 지금도 저렇게 게이로 사는 데 아무 지장 없다.
그런데도 저 사람들이 저렇게 합법화에 뭐에 난리를 치는 이유는 단순히 '금지되지 않는' 수준이 아니라 권리를 보장받기 위해서이다.

그 정도까지 간다면 나는 이를 도저히 용납할 수 없다.
자기가 본성에 어긋나는 흉한 짓을 해서 병에 걸려 놓고는 그걸 전부 국민 세금으로 치료받는다면, 그건 음주운전 하다가 교통사고 낸 걸 아무 처벌도 없이 단순 실수 교통사고와 똑같이 보험으로 보상해 주는 것과 다를 게 무엇인가? 결국 그렇게 해서 증가한 보험료 부담은 고스란히 다른 모든 선량한 운전자들에게 돌아온다.

멀쩡한 국어사전의 '결혼' 뜻풀이도 뜯어고칠려고 하는 거 같던데 그것도 “난 절대 반댈세.” -_-;;;; '남자'와 '여자'이던 것을 '배우자'와 '파트너' 이 따위로 바꾸는 것 말이다.
이 세상을 악의 구렁텅이로 몰아넣으려는 세력들은 그런 인권 좋아하는 진보적인 성향을 아주 교묘하게 잘 이용해 먹을 줄 안다. 종북· 용공 사상 쪽도 그렇고 말이다. 내가 그래서 그런 성향을 매우 싫어하는 것이다.

이렇듯, 동성애는 해롭지 않고 중립적이며 '취존'의 영역에 들어올 수 있는 그런 성향이 절대로 아니다. 이성애의 범주 안에 들기는 하는 죄악하고는 '레베루'가 다르다. 이 글이 나의 종교색이 전혀 가미되지 않았다고 볼 수는 없겠지만, 굳이 성경 같은 걸 배제하고 보더라도 동성애는 망국병이고 절대로 합법화되어서는 안 된다.
게이 커밍아웃을 일베충-_- 커밍아웃보다 더 부끄러움 없이 떳떳하게 할 수 있다는 건.. 아무리 생각해도 제정신 정상인 분위기는 아니다. 그래서 내가 구태여 이런 글까지 올리게 됐다.

사족을 덧붙이자면.. 그러고 보니 성경 역본도 NIV는 고린도전서에서 게이들을 전부 까는 내용을.. homosexual offender이라고 바꿔 놓기도 했다. 게이 중에서도 offender라는 일부만이 잘못된다는 뉘앙스가 들어가게 한 것이다. 변명과 합리화는 늘 이런 식이다. 이에 대한 자세한 사항은 본인이 옛날에 쓴 <음란한 성경은 가라> 글을 참고하시라.

Posted by 사무엘

2014/09/25 08:35 2014/09/25 08:35
,
Response
No Trackback , 10 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1011

미국의 지질학자 클레어 패터슨 (1922-1995).
굉장히 유명한 업적을 둘 남긴 것치고는 대중적으로 굉장히 덜 알려진 사람이다. 단, 과학사 내지 과학과 사회 윤리 이런 쪽에 관심이 있는 분이라면 이미 이름을 들어 보셨을 것이다. 그는,

(1) 방사성 원소 측정법을 이용해서 지구의 나이가 45.n억 년임을 당시로서는 획기적인 정확도로 규명하였다. 이 연도는 오늘날까지 중등학교 과학 시간에도 가르쳐지고 있으며, 그로부터 수십 년이 흐른 지금까지도 이보다 더 정확한 값은 나오지 않았다. 쉽게 말해 이 분야에 끝판왕 급의 업적을 남겼다.

(2) 그리고, 자동차 유연휘발유에 첨가되는 테트라에틸납 성분이 대기 중의 납 농도를 증가시켜 사람의 건강을 치명적으로 해친다는 것을 규명하였으며, 전세계적으로 유연휘발유를 퇴출시키는 데 큰 공헌을 했다.

young earth creationism을 주장하는 진영(지구의 나이가 6천 년..!)에서는 별로 좋아하지 않을 연구를 하던 중에 지구와 인류를 구한 업적을 이뤘다는 게 참 특이하다.

조금이라도 오차가 있어서는 안 되는 실험 결과가 자꾸 어긋나는 게 이상해서 조사를 해 보니..
“공기 중의 미세한 납 성분이 실험 진행을 방해하고 있다 → 이거 아무래도 자동차 배기가스 때문인 거 같다 → 이건 사람 건강에도 치명적이다” 순의 발견까지 하게 된 것이다.

물론 그의 행적은 유연휘발유를 제조· 판매하던 당대의 업계 종사자들로부터는 미움도 많이 받았다. 당연히 “저건 일반적인 빈도를 벗어나지 않는 산업재해일 뿐이며 딱히 유연휘발유가 해로워서 그런 건 아니다” 식으로 실드를 치고 치부를 은폐하려 노력했을 것이다.

우리나라의 경우 이런 국제 추세에 맞춰 1987년 7월부터 무연 휘발유가 첫 도입되었으며, 1993년 1월부터는 유연 휘발유의 유통이 전면 금지되었다. 1987년 7월이면 민주화 항쟁에 새마을호 전후동력형 디젤 동차 도입 같은 굵직한 사건이 있었는데 바로 그 시기에 무연 휘발유까지 등장한 거구나!

그래서 그 과도기에는 주유소에 유연 휘발유/무연 휘발유 구분이 따로 있었고, 새로 생산된 차들은 반드시 무연 휘발유만 넣어야 한다는 안내문 스티커가 붙곤 했다. 본인은 그 시절을 기억하고 있다.

다시 패터슨 아저씨 이야기로 돌아오면,
지질학에서는 “지금으로부터 대략 6500만 년 전에 공룡이 멸종했다” 같은 식으로 맨날 'n년 전'이라는 말을 쓴다.
그때 '전'의 기준이 되는 지질학적 기준 시기는 “1950년 1월 1일”이라고 학계에서 정식으로 정했다. 방사선 원소 측정법이 정착하고 지구의 나이가 저런 식으로 규명된 때가 1950년대이기도 해서 말이다.

영어로는 before present를 줄여서 65 million years BP 이런 식으로 쓰는데, 이는 1950년으로부터 6500만 년 전이라는 뜻이다. 저 때가 컴퓨터의 유닉스 연대기의 기준인 1970년만큼이나 나름 학문적인 의미가 큰 해인 셈이다.

난 예전에도 글로 썼듯이 지구와 우주의 나이는 장구히 길고, 인류와 현존하는 생명체들의 내력만 6천여 년 남짓이라고 믿는다. 간극 하나만 설정하면 과학 얘기와 문자적인 6일 창조 성경 교리가 싹 깔끔하게 풀린다. 이건 어거지가 아니라 성경 자체가 교리적으로 그런 간극을 지지하고 있다. 6일 창조가 창조의 전부가 결코 아니기 때문이다.

과학 쪽으로든 성경 쪽으로든 젊은 우주/지구를 믿지 않는 진영에서는 창조 과학회를 굉장히 싫어하는 경향이 있다. 전자야 두 말할 나위도 없이 과학적인 연구 방법론도 모르는 사이비 유사과학이라고 까고, 후자 진영은 성경 말씀을 어줍잖은 과학으로 풀어서 교만한 짓거리를 한다고 깐다.

본인은 내 견해와 다르다고 해서 창조 과학회를 필요 이상으로 싫어하거나 매도하지는 않는다. 6천여 년 전에 6일 만에 모든 게 끝났다는 식으로 믿으면 뒤끝 없고 뭔가 기독교스럽고 깔끔해 보이긴 한다. 아담이 마치 성인 형태로 곧바로 창조되었듯이, 지구와 우주도 겉보기로만 오래 된 듯이 보이는 것일 뿐이라고 합리화를 해 버리면 뭐 답이 없다. 더 논쟁을 할 수가 없다.

단지 본인은 지구와 우주는 아담과 같은 부류는 아니라고 믿는다. 수많은 화석과 지층이 노아의 홍수만으로는 도저히 생겨날 수 없고, 지구 지형과 각종 천체가 수억~수십억 년이라는 장구한 기간 동안 생성되고 소멸된 증거가 명백히 존재하는데 하나님이 다른 것도 아니고 그걸 왜 훼이크를 칠 필요가 있는 걸까?

그런 직감에 근거하여 본인은 과학과 신앙의 관점에서 가장 합리적이라고 여겨지는 걸 믿는다. 가령, 오래 전에 멸종하여 화석이 된 고생대 실러캔스는 옛 세상에서 있었던 놈이고, 오늘날 발견된 실러캔스들은 6일 창조 때 이미 있던 그 종류대로(after his kind) 다시 만들어진 놈이라는 식이다. 단지 인류는 아담이 최초이며, 소위 유인원들은 아예 원숭이이거나 아니면 실제로는 인간도 원숭이도 아닌 다른 생물인 것이다.

끝으로 여담이지만, 클레어 패터슨은 이름만 보고는 여자로 오인받기도 할 정도였다고 한다. 여배우 클레어 데인즈의 철자하고는 글자 하나 차이이다. Clair / Claire 옛날 영화 <로미오와 줄리엣>이 문득 떠오르는구나!

Posted by 사무엘

2014/09/22 19:37 2014/09/22 19:37
,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1010

예전에 에디트 컨트롤에 대해서 글을 한번 쓴 적이 있었는데 그것들 말고도 또 재미있는 이야깃거리가 많아서 글을 추가로 올리게 됐다.

1.
Windows의 에디트 컨트롤에는 ES_AUTOHSCROLL, ES_AUTOVSCROLL이라는 옵션이 있어서 이 옵션이 없으면 에디트 컨트롤은 가로나 세로로 스크롤이 되지 않는다. 그리고 스크롤만 안 되는 게 아니라 지금 화면 영역을 벗어나는 크기로는 텍스트가 입력 자체가 전혀 되지 않게 된다. 가령, 가변폭 글꼴을 쓴다면 W는 몇 개 입력 못 하지만 i는 꽤 많이 집어넣을 수 있다.

차라리 W든 i든 글자 수 자체에 대한 제약을 거는 거라면 모를까, 저런 제약 기능이 실생활에서 쓸 일이 있는지는 본인은 좀 회의적이다. 한 줄짜리 에디트 컨트롤이 메모리 상의 글자 수도 아니고 픽셀 길이가 초과했는데 스크롤이 안 되는 경우는 거의 찾을 수 없기 때문이다. (물론, 글자 수에 제약을 거는 방법은 EM_SETLIMITTEXT라고 방법이 따로 있긴 하다)

2.
에디트 컨트롤은 잘 알다시피 자체적으로 Ctrl+C, X, V 글쇠를 처리하여 텍스트에 대한 Copy/Cut/Paste 기능을 제공한다. 그런데 운영체제나 프로그램에 따라서는 "텍스트 전체 선택"을 의미하는 Ctrl+A도 지원되는 것 같기도 하고 안 되는 것 같기도 하다. 도대체 어찌 된 일일까?

실상은 이러하다. 내가 여러 조건을 달리하여 실험을 해 보니, 공용 컨트롤 6.0이 제공하는 새로운 에디트 컨트롤만이 single-line 방식에 한해서 Ctrl+A도 자체 처리한다. 나머지 일반 에디트나 multi-line 에디트는 아마 호환성 차원에서 이를 지원하지 않는다.

물론, 응용 프로그램이 Ctrl+A를 액셀러레이터에다 등록해서 자체적으로 에디트 컨트롤에다가 EM_SETSEL(0, -1)을 날려 준다면 어디서나 Ctrl+A가 동작하게 된다. 컨트롤이 아니라 그 컨트롤을 사용하는 응용 프로그램이 직접 Ctrl+A를 구현한 대표적인 예는 바로 메모장이다.

3.
에디트 컨트롤은 자신이 키보드 포커스를 받으면 텍스트 전체를 선택해 놓는다. 사용자가 기존 텍스트를 완전히 무시하고 입력을 새로 시작할지, 아니면 기존 입력을 그대로 유지하거나 살짝만 고칠지를 선택 가능하게 하자는 차원에서이다.
그런데 대화상자에서 굳이 tab 키로 포커스를 바꿨을 때뿐만이 아니라 Alt+? 액셀러레이터를 눌렀을 때도 이 동작이 일어나며, 심지어 지금 포커스를 받고 있는 동일한 컨트롤을 Alt+?로 다시 선택했을 때도 동일한 동작이 일어난다. 이것은 WM_SETFOCUS나 WM_KILLFOCUS하고는 관계가 없는 동작인데 어떻게 이런 일이 가능할까?

정답은 에디트 컨트롤이 WM_GETDLGCODE 메시지에 대해서 DLGC_HASSETSEL 비트 플래그를 되돌리기 때문이다.
대화상자는 자기 밑에 있는 컨트롤들에 대해서 이런 세부적인 메시지를 보내어 정보를 파악하는데, 저 플래그가 있는 컨트롤은 문자열 입력란으로 간주하여 액셀러레이터 키를 받았을 때도 EM_SETSEL 메시지를 보내 준다. 저 플래그만 쓰면, 운영체제의 표준 에디트 컨트롤이 아니어도 똑같은 동작을 하는 컨트롤을 얼마든지 만들 수 있다. <날개셋> 한글 입력기의 자체 에디트 컨트롤도 당연히 이 방식을 따랐다.

Posted by 사무엘

2014/09/20 08:38 2014/09/20 08:38
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1009

정치범 수용소의 참상 같은 것보다는 덜 심각한 분위기로 비교적 부담 없이 볼 수 있는 자료들이다.

1. KBS 박 진희 북한 전문 기자

작년 말에 북한에서 장 성택 노동당 행정부장이 권좌에서 쫓겨나고 숙청당하던 당시에, 아주 이색적인 기자가 TV 전파를 타서 눈길을 끌었다.

박 진희 기자는 북한에서 태어나고 자랐지만 훗날 탈북하고, 일본을 거쳐서 2008년에 우리나라에 들어왔다고 한다. 빡세게 교정 훈련을 받았다고는 하지만 여전히 구수한 평양 사투리가 아주 신기하며 인상적이다.
정치범 수용소 출신인 강 철환, 그리고 김일성 대학 출신인 주 성하 씨는 신문 기자인 반면 저 사람은 방송 기자이다. 게다가 여성. 이런 경우는 최초이다.

이 사람을 개인적으로 인터뷰한 기사도 있으니 일독을 권한다.

2. 김 정일 사망 발표

그 당시 TV에서 한동안 모습을 안 비추는 것 같던 리 춘히 아나운서가 검은 상복을 입고 완전 슬픈 표정으로 나타났다.
“위대한 령도자 뽀그리우스 동지께서 2011년 12월 17일 8시 30분에 현지지도의 길에서 급병으로 서거하셨다는 것을 가장 비통한 심정으로 알린다. ㅠ.ㅠ”

17년 전에 김 일성이 죽었을 때도 보도 스타일이 저랬는가 궁금하다.... 가 아니라 당연히 그때도 온갖 미사여구로 혹부리우스의 죽음을 미화하고 애도하고 난리가 났었다.

3. 북한 관광을 온 외국인

굉장히 흥미로운 자료이다. 저 외국인들은 북한을 방문한 건 둘째치고라도 어떻게 이 정도 퀄리티의 영상을 녹화해 갈 수 있었는지 궁금하다. 아마 몰래 북한 정부에다 달러를 엄청 많이 줬지 싶다.

도착하자마자 북한 출신의 통역 가이드가 붙는다. 외국인이 North Korea라고 말하자 가이드는 곧바로 DPRK라고 표현을 교정한다. 아시다시피 북한에서는 자기 나라를 가리킬 때 '북'과 '한'이라는 형태소를 모두 싫어하기 때문이다.
쟤들은 김 일성 동상 앞에 헌화와 참배-_-를 한 뒤 전쟁 박물관과 심지어 판문점까지 관광을 한다. (2011년이라 아직 김 정일 동상은 없던 시절.) 북한의 위치에서 휴전선 이남의 태극기를 바라보는 장면은 마치 달에서 지구를 보는 것만큼이나 굉장히 흥미롭다. 국내 매체에서는 좀체 볼 수 없는 시점이니 말이다.

4. 3차 핵실험 보도

“조선 중앙 통신사 보도! 제 3차 지하 핵시험을 성공적으로 진행!”
저 봐라.. 핵실험 한번 했다고 앵커는 펄럭이는 인공기를 배경으로 눈 부릅뜨고 목에 힘 주고 얼마나 의기양양하게 포고를 하는가? 병맛스러워 보이기도 하지만 한편으로는, 북한 용어를 빌리자면 참 '기백 넘치는'(?) 말투가 아닐 수 없다.
실제로 저 뉴스 보도 중에도 “우주를 정복한 그 정신 그 기백으로”라는 표현이 있다.

저런 북한 특유의 호전적인 웅변· 선동 말투는 한반도의 공산주의자들이 진작부터 개발해서 써먹어 왔지 싶다. 북한은 순수한 의미의 공산주의 국가는 아니지만, 공산주의자들이 사용한 온갖 추악한 거짓 선동 전술은 여전히 그대로 활용하고 있는 건 변함없기 때문이다.

Posted by 사무엘

2014/09/18 08:27 2014/09/18 08:27
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1008

1. 잡설: 개발 후기

늘 느끼는 거지만 코딩 작업은 머리를 짜내고 멘탈을 갈아넣을수록, 그 투입한 input에 비례해서 output은 늘 좋게 나온다.
이런 식의 개발 작업 살생부를 만들어 놓고, list에서 체크 표시가 하나씩 늘어 가는 게 내 인생의 기쁨이었다. 그럼 내가 마치 무슨 암살자가 된 듯한 느낌이랄까. 해치운 아이템들은 체크 표시를 하고 목록에서 지운다.

사용자 삽입 이미지

이제 자꾸 살생부에 살생 대상 아이템이 추가되지는 않았으면 좋겠다. 나도 이제 다른 연구도 하고 연애도 하고 결혼도 좀 해야지? ㄲㄲ

테트리스에는 수직 작대기가 있고 퀘이크 3 Arena에는 레일건이 있으며, 카트라이더에는 니트로 부스터와 드리프트가 있다.
그렇다면 프로그래밍에서 그런 카타르시스와 중독성을 선사하는 요소가 무엇일까? 바로, 공통된 코드 패턴을 한 클래스나 함수로 뽑아내고, 여러 클래스들 중에서도 공통된 요소를 템플릿이나 기반 클래스로 뽑아낼 때가 아닐까 싶다.
같은 기능을 더 적은 시간과 메모리로 수행하는 방법을 찾아내는 것도 좋긴 하지만, 본인은 그런 성능 최적화보다도 복잡함에서 질서를 찾아낼 때가 더 즐겁다. 프로그래밍이라는 건 정말로 극도의 복잡도를 제어하는 지적 노동이기 때문이다.

예전에도 했던 말이 또 반복되는 듯하지만, 한글 입력 패러다임의 관점에서 봤을 때 세벌식은 한글 본연의 성능을 올리고 최적화하는 데 적합하다. 그 반면 두벌식은 직관적이지 못하기 때문에 자동화 처리를 위한 프로그래밍의 관점에서 도전적인 과제가 많다.
두벌식에서는 세벌식처럼 초성 글쇠는 반드시 초성으로, 종성 글쇠는 반드시 종성으로 일대일, 필요충분관계로 대응하는 게 아니다. 문맥에 따라서 종성 글쇠가 초성 역할을 할 수 있고, 공유 옵션을 사용하면 초성의 결합 규칙이 종성을 조합하는 데 쓰일 수 있다.

이런 요소들 하나하나가 입력 순서 재연 알고리즘이나 각종 특수글쇠 조작을 꽤 복잡하게 만든다.
현재 한글 입력 스택에서 "초성만 지워라, 종성만 남겨라" 같은 명령을 수행하는데 세벌식은 초중종 직관적으로 대응해서 테이블이 3개만 있으면 되는 게, 두벌식은 저런 추가적인 상황을 고려하느라 4개가 되고 여러 예외 처리가 또 추가된다. 그래도 두벌식도 초성부용종성 원리에 따라 엄연히 한글을 활용하는 방식 중 하나이고, 속도와 능률보다는 글쇠 수가 더 중요한 환경에서는 의미가 있으니, 이 역시 단군의 후손들이 보유한 지적 재산이다. 단지 세벌식을 적용할 필요가 없는 곳에서 2순위로 적용되어야 할 방식일 뿐이다.

이번 7.5 이후로도 후속 개발 작업은 또 지체없이 계속된다. 최소한 내년 초까지 거의 7.8~8.0 정도에 도달할 때까지는.
난 지금까지 남들 안 하는 짓만 골라서 하면서 살아 왔으며 이것을 가능하게 해 주는 것이 '자유'라고 굳게 믿는 사람이다. 나는 자유를 극도로 사랑한다. 내가 정치적으로 북한에 대해 매우 민감한 것도 이 때문이다. 다른 사람들은 어느 환경에서나 머리 잘 굴려서 알아서 적응 잘 하고 요직을 잘 찾아갈지 모르겠지만, 난 자유가 없는 곳에서는 1분 1초도 못 견딘다. “자유가 아니면 죽음을 달라”라는 말을 적극 이해한다.

2. 공지: 늘 최신 버전을 사용할 것을 권장

내 한글 입력기는 자동 업데이트 기능이 없다 보니..
내게 메일로 버그나 오동작 문의를 하는 사용자 중엔 나로서는 상상도 못 할 까마득한 구버전을 사용하고 있는 경우가 종종 있었다.
그 문제는 이미 옛날 옛적에 해결되어 있기 때문에 그냥 최신 버전 업데이트만 해도 저절로 없어지는 경우가 90% 이상까지는 아니지만 그래도 과반은 됐다.

지난 여름엔 무려 4년 가까이 전에 만들어진 골동품인 5.8 버전을 쓰시던 분을 7.4로, 6.x도 건너뛰고 가히 시간 워프를 시켜 드렸다.

나도 강제 자동 업데이트 같은 걸 무진장 귀찮아하는 타입이고, 구버전의 이미 있는 기능만을 만족하고 잘 쓰고 있는 사용자에게 새 버전을 강요할 생각은 전혀 없다.
하지만 구버전에서 명백하게 불만족스러운 문제가 있다면.. 그 경우라면 최신 버전을 살펴보려는 노력을 사용자가 먼저 해야 하지 않겠는가? ㅎㅎ

<날개셋> 한글 입력기는 버전이 올라가면서 뭐 "종성 두벌식", 초종 공유 낱자 결합 규칙, 사용자 정의 후보 데이터, 특수 도깨비불 알고리즘 등등
헤비 유저들만 사용하는 안드로메다급의 복잡한 고급 기능만 추가되는 게 아니라.. 당장 사용자에게 와닿는 외부 모듈의 안정성 같은 것도 꾸준히 눈에 띌 정도로 개선되고 있다.

그렇기 때문에 굳이 모든 기능을 사용하지 않는 사용자라도 어지간해서는 반드시 최신 버전을 써야만 굳이 겪을 필요가 없는 버그 때문에 골치 아파할 일이 줄어든다.
그런데.. IME는 간단히 EXE 하나만 종료한다고 바로 구동을 중지하고 쉽게 업데이트가 가능한 물건이 아니며, 여러 모로 기술적으로 번거로운 요소가 있어서.. 내 프로그램은 부득이 자동 업데이트 같은 건 제공하지 않고 있다. 사용자가 스스로 내 홈페이지를 찾아와서 새 버전을 설치해야 한다.

3. 잡설: 날개셋 한글 입력기와 관련된 팩트들

이 프로그램의 연구 개발과 관련된 활동은 개발자의 대학교 학· 석사 시절에 일부 학점과 졸업 논문을 책임졌다. 그리고 정보 올림피아드를 포함한 소프트웨어 공모전 입상은 덤.

2014년 8월 현재 작업 중인 프로그램의 전체 코드는 6만 7천 줄 정도이지만, 개발자의 특이한 코딩 스타일을 감안했을 때 실제로는 10만 줄을 훨씬 넘는 분량일 것이라 추측되고 있다. (한 줄에 여러 statement를 100칼럼씩 꼭꼭 채워 집어넣기)

이 프로그램이 취급하는 모든 숫자들은 정수이다. 부동소수점 연산은 전혀 존재하지 않는다.

이 프로그램을 구성하는 모든 기계어 코드들은 100% 1인 자작이다. 내부에 타인의 작업물이나 오픈소스 프로젝트 같은 걸 인용한 것은 전혀 없다. 수식 해석, XML 파싱 등등도 전부 자체 제작이다.

이 프로그램은 웹브라우저조차 없는 Windows 95 / NT4 (물론 32비트 에디션 기준) 초창기 판에서도 바로 실행과 사용이 가능할 정도로 특수하게 빌드되었으며 API 최적화가 정밀하게 돼 있다.
한글이 굳이 최신판 컴퓨터과 OS에서야 활용 가능할 정도로 무겁고 복잡한 문자가 아니기 때문에, 이를 활용하는 프로그램도 최대한 가볍게 만들어졌다. 특히 편집기는 마치 기계식 타자기를 컴퓨터로 옮겨 놓은 듯한 아주 작고 가벼운 프로그램이 컨셉이다.

그러면서도 64비트 Windows 7/8이 제공하는 최신 문자 입력 프로토콜도 완벽하게 지원한다.

이 프로그램의 개발 목표는 한글로 무슨 공허한 마술을 부리거나 세계 정복을 하는 게 아니라, 그냥 지금 한글로 당연히 할 수 있는 모든 기술적 가능성을 열어 놓는 것이다. 그 당연한 일이 지금까지 별로 가능하지 않았기 때문에..;;

이 프로그램은 국내에서는 주로 (1) 세벌식 관련 고급 기능, (2) Shift+Space로 한영 전환, (3) 옛한글 처리 (4) 한글과 여타 외국/특수 문자 병행 입력의 목적으로 사용되나, 외국에서는 오로지 (5) 한글 로마자 입력 방식 때문에 입에서 입으로 소문이 퍼지며 사용되고 있다.

Posted by 사무엘

2014/09/15 08:23 2014/09/15 08:23
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1007

« Previous : 1 : ... 138 : 139 : 140 : 141 : 142 : 143 : 144 : 145 : 146 : ... 230 : Next »

블로그 이미지

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

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2026/08   »
            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:
4001096
Today:
1272
Yesterday:
6203