원소가 0 아니면 1 두 종류밖에 없는 N*N 크기의 어느 정사각행렬 M(N)이 있다. N은 2의 거듭제곱 형태로만 가능하며, M(N)의 생성 규칙은 이러하다.

일단, 크기가 1인 M(1)은 그냥 {0} 하나뿐이다.
그 뒤, M(2*n)은 M(n)의 각 원소들에서 0과 1을 뒤바꾼 놈을 M(n)의 왼쪽과 위쪽, 그리고 좌측 상단에 총 3개 카피를 씌우는 형태로 생성된다. 그러므로 M(2)는

(1 1)
(1 0)

이 되며, 다음 M(4)는 쟤를 뒤바꾼 놈을 또 덧붙여서

(0 0 0 0)
(0 1 0 1)
(0 0 1 1)
(0 1 1 0)

이 된다. 생성 규칙이 이런 식이다.
이런 식으로 M(16), 더 나아가 M(256)을 그림으로 나타내면 이런 모양이 된다.

사용자 삽입 이미지

흐음. 무슨 프랙탈 같기도 하고..
이런 행렬은 고안자의 이름을 따서 Walsh 행렬이라고 부른다.
그런데, 모노크롬이나 16색을 어렵지 않게 접할 수 있던 옛날에 이런 무늬를 화면에다 깔아 놓으면 꽤 근사해 보였을 것 같다~!

이걸 갖고 더 재미있는 장난을 칠 수도 있다.
옛날옛적에 학교에서 전자· 컴공을 전공했던 분이라면 혹시 그레이 코드(gray code)라고 기억하는 분 계신가?
통상적인 2진법과 달리, 숫자가 1씩 증가할 때 언제나 1개의 비트만이 바뀌게 숫자를 특이하게 표현하는 방식이다. 즉, 01111이다가 10000으로 바뀌는 식의 격변이 없다는 것이다. 물론 이런 숫자 인코딩을 갖고 진지한 산술 연산을 할 수는 없지만, 다른 용도로 쓸모는 있다고 한다.

사용자 삽입 이미지

0 1 3 2 6 7 5 4 ...
난 저걸 봐도 비트를 flip하는 규칙 자체를 잘 모르겠다. 숫자가 커질수록 긴가민가 헷갈린다. 솔까말 이거 규칙을 찾는 걸로 IQ 테스트 문제를 내도 될 것 같다.
그런데 일반 숫자를 그에 상응하는 그레이 코드로 바꾸는 공식은 어이없을 정도로 간단하다. x^(x>>1), 다시 말해 자신의 절반값과 자신을 xor 하면 된다.

자, 여기서 끝이 아니다.
저 수열에서 각 숫자들을 구성하는 2진법 비트의 배열 순서를 뒤집어 보자. 10진법으로 치면 1024를 4201로 바꾸는 것과 같다.

비트를 shift나 rotate하는 게 아니라 reverse 하는 건 내가 알기로 왕도가 없다. 그냥 for문 돌려서 1비트씩 차근차근 처리하는 수밖에 없다. 마치 주어진 숫자를 2진법으로 표현했을 때 1의 개수를 구하는 것처럼 말이다.
비트 수가 고정돼 있고 속도가 무진장 빨라야 한다면 미리 계산된 테이블을 참조해야 할 것이다.

N=8이라면 비트 자릿수는 3일 테고.. 0 1 3 2는 2진법으로 각각 000, 001, 011, 010일 텐데,
이걸 뒤집으면 차례대로 000, 100, 110, 010.. 즉 0 4 6 2 ... 형태로 바뀐다. 이 정도면 완전 난수표 수준으로 숫자를 뒤섞은 거나 마찬가지로 보인다.

저 수열이 확보됐으면 그걸 토대로 기존 Walsh 행렬을 개조해 보자. 즉, 지금 줄 배열이 0 1 2 3 4..의 순인데, 그걸 0 4 6 2 ... 즉, 둘째 행(1)에다가 다섯째 행(4)을 집어넣고, 다음 행에다가 일곱째 행(6)을 넣는 식으로 순서를 바꾼다. 그러면..

사용자 삽입 이미지

이런 인상적인 모양의 무늬가 만들어진다. 이것도 크기별로 규칙성이 있다. 좌측 상단은 사각형이 큼직하고, 우측 하단으로 갈수록 픽셀이 조밀해진다.
얘는 여러 명칭으로 불리는데, 통상적으로는 Walsh 행렬의 Hadamard 변환이라고 불린다.
실제 저 행렬/테이블을 구하는 건 아무 프로그래밍 언어로나 10분이면 코딩 가능할 것이다. 참고로 비트 reverse 같은 난감한 동작 없이 저 행렬을 얻는 다른 계산법도 존재한다.

이런 무늬 행렬은 전자공학 신호 처리 쪽에서 쓰인다고는 하는데.. 난 그쪽을 전공하지 않아서 잘 모르겠다. 단지 0과 1만 갖고도 인간 두뇌의 잉여력이 얼마나 폭발할 수 있는지에 경이로움을 느낄 따름이다.

수 년 전에 디더링 패턴의 생성 규칙에 대해 글을 쓰고 나서 이런 재귀적인 무늬를 주제를 다룬 건 무척 오랜만이다. xor은 온갖 난수와 암호도 만들어 내는 이산수학과 정보 이론의 진수임이 틀림없어 보인다. 세상에 이런 게 있다는 걸 알게 됐다는 차원에서 간단히 글을 남기게 됐다.

(xor은 x-y 2차원 평면에다가 진리표를 나타냈을 때 0과 1 결과를 직선 하나로 단순 분류할 수 없는 유일한 연산이기도 하다. 일명 XOR 문제..;; 마치 특정 그래프에 대해 한붓그리기가 불가능한 것과 비슷한 인상을 주는데.. 과거에 한때는 퍼셉트론 무용론과 함께 AI 겨울을 야기한 이력이 있다.)

Posted by 사무엘

2020/06/09 08:35 2020/06/09 08:35
, , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1760

1. 법

내가 지금까지 살면서 작정하고 법을 찾아 본 건 다음 분야들이다. 다들 내 관심 분야 내지 생활 패턴과 직접적인 관계가 있는 것들이다.

  • 병특 하던 시절에 복무 관련 규정들: 이건 까딱 잘못하다 걸리면 편입이 취소되고 다시 군대로 끌려가는 문제이므로 제일 크리티컬했다. 그래도 이 법은 사회에서 '을'인 복무자에게 굉장히 유리하게 만들어져 있다. 일단 편입해 들어가면 회사가 아니라 복무자 자신이 티오(인원 배당)를 갖는다는 개념부터 시작해서 말이다.
  • 거리설교 관련: 주변에 민폐를 잘못 끼치면 경범죄에 걸려서 과태료를 물기 때문이다.
  • 캠핑과 야영 관련: 내가 자연 속에서 밤을 보내는 걸 좀 좋아해서 그렇다. 4개 정도의 법이 얽혀 있는데, 이에 대해서는 잠시 후에 더 자세히 다루도록 하겠다.
  • 자동차의 합법적인 크기와 무게 관련: 개인적인 관심사 때문이다. 도로교통법뿐만 아니라 도로법이던가 둘 이상의 법에서 중복 규정돼 있었던 걸로 기억한다.
  • 남북교류 협력에 관한 법률: 오래 전에 개인적으로 굉장히 특이한 경험을 한 게 있어서 그렇다. 덕분에 우리나라에 국가보안법 말고 이런 법도 있다는 걸 난생 처음으로 알게 됐다. 이에 대해서는 더 먼 미래에 기회가 되면 언급할 일이 있을 것이다.

법 하니까 더 떠오르는 생각으로는.. 우리나라는 사형 제도를 법적으로 완전히 폐지한 건 아닌데 그냥 집행만 무기한 안 하고 있다.
그리고 한반도 전체가 우리나라 영토이며 통일을 지향한다고 헌법에 명시는 해 놨지만.. 현실적으로는 그게 불가능한 지경이다. 애초에 6· 25 사변도 말은 휴전이라고 써 놨지만 사실상 종전이 됐고 휴전선이 국경선으로 굳어졌다. 이렇게 법과 현실이 서로 안 맞는 구석이 생겨 있는 게 느껴진다.

외국으로 가면.. 일본은 군대를 보유하는 것을 영원히 절대로 금지한다고 헌법에 명시돼 있지만, 자위대가 사실상 군대나 마찬가지이다. 이것도 법과 현실의 괴리라고 봐야 할까?
물론 저 헌법 때문에 일본은 자기네 무기를 해외로 수출하지 못하고 무조건 내수로만 소비해야 한다. 그리고 외국에 파병도 할 수 없다. 그러니 규제가 전혀 없는 건 아닌 것도 사실이다.

2. 취사· 야영을 할 수 없는 곳

구분 적용 대상 야영 금지 근거 위반 시 처벌
도시공원 및 녹지 등에 관한 법률 평지나 언덕, 산기슭 정도에 공원 형태로 조성된 녹지 제49조+동법 시행령 제50조 제56조, 10만원 이하 과태료
자연공원법 국-도-군립공원(주로 경치 좋은 산) 및 지질공원(공룡 화석, 지층, 운석..) 제27조 제86조, 200만원 이하 과태료
하천법 나라에서 지정한 국가하천 및 지방하천의 특정 구간 제46조 제98조, 300만원 이하 과태료
수도법 취수시설이 설치된 하천, 호수 등(상수원) 제7조 제83조, 2년 이하 징역 또는 2천만원 이하 벌금

  • 그러니 수락산은 산 중턱까지 민간 산장 휴게소가 들어서 있는 반면, 근처의 국립공원인 북한산은 그런 거 없고 등산로를 이탈하는 것, 계곡에 들어가는 것 몽땅 금지이다. 그 대신 북한산은 국가에서 관리하는 곳이다 보니 적당히 낮은 고도까지는 등산로가 아주 널찍하게 잘 닦였고, 화장실과 각종 표지판들도 충분히 갖춰져 있다.
    (하루 만에 완주가 불가능한 국립공원인 지리산은 지정된 구역에서만 야영을 할 수 있다. 반대로 말하면, 해가 떨어지기 전까지 야영 허용 구역에 반드시 도달해야 한다.)
  • 산보다는 강을 보호하려는 의지가 더 강하다. (위반 시의 처벌이 더 강함) 물론 현실에서는 낑낑대며 올라야 하는 산보다는 강이 접근성이 더 좋고 공간이 더 많고 야영하기도 더 쉽다.
  • 단순 공원보다는 특별한 공원에 대한 위반 처벌이 더 강하다. 그리고 단순 하천에 비해 상수원 하천은 뭐.. 처벌 수준을 교통 범죄에다 비유하면, 신호위반 속도위반이던 것이 음주운전으로 껑충 뛴 것과 비슷하다.
  • 4월부터 10월에 저녁 7시까지 제한적으로 허용되는 한강 공원의 텐트는 원래는 아예 안 되는데 예외적으로 봐주는 것에 가깝다. 위반 시의 과태료 100만원은 도시공원과 비교했을 때는 비현실적으로 높은 편이지만, 자연공원법이나 하천법보다는 낮게 잡힌 것이다. 저기는 1980년대 한강 종합 개발 사업의 산물일 뿐, 국립공원만치 대단한 곳은 아니니까..
    더구나 상수원도 아니다. 한강의 취수 마지노 선은 잠실대교 수중보이기 때문이다. 거기보다 하류 구간은 취수용으로 쓰이지 않는다.
  • 그냥 이름 없는 평범한 산의 정상에서 밤에 텐트 치고 자는 건 위의 법들 중 어느 것에도 걸리지 않기 때문에 가능하다. 잠만 자는 게 아니라 고기까지 구워 먹으려면 속 편하게 돈 내고 전용 캠핑장을 이용해야 할 것이다. 아니면 아예 멀리 해수욕장까지 가든가..

3. 민사와 형사

소송에서 민사 vs 형사, 경찰의 교통과 vs 강력과, 의료에서 당장 생명하고는 별 지장이 없는 과(성형) vs 직접 관련이 있는 과(외과)..
요것들이 다 심상이 서로 비슷한 관계인 것 같다.

가령, 누가 내 돈을 빌려 놓고는 기한 내에 갚지 않고 떼먹었다면 민사 소송을 걸어서 강제집행으로 돌려받는 게 순서이다. 사기죄로 엮어서 형사 소송까지 걸려면, 그 사람이 애시당초 돈을 갚을 생각이 없었고 단순 채무불이행 이상으로 매우 악의적으로 채권자를 물먹였다는 정황까지 입증해야 한다.

교통사고 가해자의 경우도 특례법 위반 여부, 고의성 여부, 피해 규모 등에 따라 보험사의 배상만으로 끝나는지 아니면 형사 처벌까지 받아서 콩밥 먹어야 하는지의 여부가 결정된다.

그리고..

  • '피고'는 민사에서만 쓰는 말이고 '피고인'은 형사에서만 쓰는 말이다. 다시 말해 '피고인'은 '피고'와 달리, 재판에서 패소했다간 전과자가 된다. 이걸 왜 구분하며 그것도 왜 하필 '人'짜의 여부로 구분하는지는 참 의아하게 느껴진다. 영어로는 둘 다 그냥 defendant 이다. 경우에 따라 민/형 구분을 위해 앞에 civil / criminal이 붙을 뿐..
  • 완전 생뚱맞은 bar이라는 단어에 변호사라는 뜻이 있는 게 의외이다. 미국에서 변호사 시험은 bar exam이라고 하고, ‘대한 변호사 협회’도 영어로 bar association이라고 부른다. 경찰을 police officer 대신 cop이라고 부르는 것과 비슷한 심상이려나?
  • 변호사와 판사는 민· 형사 소송에서 모두 등장하는 반면, 그럼 검사는 형사 말고 민사에서는 별 필요나 존재감이 없는 존재인 건가..??

4. 형벌의 분류

우리나라 법에 규정된 형벌은 방식을 보자면 재산형과 자유형으로 나뉜다. 자격상실· 정지는 명예형에 속하긴 하지만 형법상의 처분보다는 행정 처분에 더 가까워 보인다. 신체형(태형??)은 존재하지 않는다.

그 밖에 형벌을 '규모 내지 급'으로 나누면.. 경범죄급과 중범죄급으로 분류할 수 있다. 전자는 말 그대로 경범죄처벌법의 벌칙이 대부분이며 뒤끝이 없다. 빨간줄이 그인다거나 향후 몇 년 동안 범죄 기록이 조회된다거나 하지 않는다는 뜻이다. 검사가 개입해서 정식으로 기소하고 재판까지 열기에는 너무 자잘하고 사소하고 경미한 영역을 담당한다.

이것을 표로 분류하면 다음과 같다.

구분 재산형 자유형
경범죄 과료 (과태료,범칙금) 구류
중범죄 벌금 금고/징역

그런데 범칙금이라는 건 정체가 굉장히 모호한 것 같다. 과료나 벌금 같은 부류는 아닌 행정 처벌인데 굳이 과태료와 다른 명칭을 부여할 필요가 있는지 모르겠다.

5. 범죄 자체에 대한 중독

세상의 강력 범죄들은 우발적이건 계획적이건 대부분 돈 때문에, 또는 여러 방식의 뒤틀리고 비뚤어진 심성 때문에(자기가 무시 당하고 있다는 생각, 욱하는 감정 조절 실패, 너 죽고 나 죽자는 자포자기 등) 벌어진다.

물론, 그 정도 알량한 이유만으로 끔찍한 범죄가 정당화되는 건 아니기 때문에 범죄자는 그에 상응하는 형사 처벌을 받는다. 그런데 그 정도 이유나 목적조차 없이 범죄를 저지르는 것 자체만이 목적이고 오로지 거기서만 짜릿함과 쾌감을 느끼는 이상한 사람도 드물게나마 분야별로 있는 게 현실이다.

(1) 원한을 해소하거나 돈을 뺏거나 다른 범죄를 은폐하기 위해서가 아니라 그냥 살인 자체만을 즐기는 거라면 그냥 미친 싸이코패스 쾌락 살인마이다.
국내의 경우 옛날에 “살인을 더 할 수 없어서 우울하고 답답하다. 이럴 거면 날 빨리 사형 집행이나 해 주쇼”로 악명높았던 정 남규 정도가 이 등급일 것이다. 그 사람은 교도소에서 이제 남을 죽일 수는 없으니, 결국 자기 자신을 죽이는 것으로 최후를 맞이했다.

(2) 자기한테 당장 필요한 물건이 아니고 사흘 굶은 상태도 아닌데 남의 물건을 습관적으로 쓰윽~ 하는 건.. ‘도벽’이라고 말까지 만들어져 있다. 남에게 안 들키고 슬쩍이 성공하면 뭔가 아드레날린이 분비되기라도 하나 보다. 마치 도박 중독과 비슷하게 말이다.
손버릇이 나쁜 건 어린애부터 성인까지 의외로 나이를 가리지 않는다.

(3) 그리고 방화도 있다. 10여 년 전에 악명을 떨쳤던 울산 봉대산 불다람쥐 사건 기억하는 분 계신지? 2014년엔 우울증 기분 탓에 습관적으로 서울 대모산에서 산불을 낸 50대 주부가 검거되기도 했다. 야산이나 건물에 몰래 불을 질러서 활활 타는 걸 보고 그 자체만으로 후련함과 쾌감을 느끼는 극도로 위험한 연쇄방화범 부류도 있다.

도박 중독이나 알코올 중독처럼 살인, 절도, 방화도 중독이 있는 것 같다. 가해자는 범죄자와 정신병자라는 두 영역에 모두 걸쳐 있는 셈이다.
강간도 중범죄이며 변태 중독자가 없을 리가 없는 분야이다. 하지만 성욕은 식욕 수면욕 배설욕처럼 그나마 인간의 본성에 속하는 욕망이다. 이건 다른 범죄 중독과는 약간 다른 분야로 간주하여 이 글에서는 논외로 하겠다.

흉악범은 보통 누굴 죽이기 위해서, 아니면 다른 방법으로 살인을 이미 저지른 뒤에 증거를 은폐하기 위해서 불이나 물을 동원하는 경우가 있다. (현장 방화, 또는 자동차 째로 수장..)
하지만 피해자의 시신이 화재 현장에서 발견됐거나 물에서 건져졌다 하더라도.. 현대의 법의학 기술은 사람이 진짜로 화재로 인해 죽었거나 익사했는지, 아니면 다른 방법으로 이미 죽은 뒤에 거기에 놓인 것인지 정도는 아주 간단히 정확하게 판별해 낸다. 폐에서 검출된 이물질이라든가 시신 표면의 다른 상처들을 보면 된다.

또한 시신에서 옷을 벗기거나 다른 옷을 강제로 입히는 것은 생각보다 부자연스럽고 꽤 힘든 일이다. 그렇기 때문에 자발적인 탈의와 환복인지 아니면 죽은 후에 그렇게 된 건인지도 판별 가능하다고 한다. 옛날에 나치 독일이 유대인들을 가스실에서 학살할 때 샤워를 시킨다고 거짓말을 한 이유도 시신에서 옷을 일일이 벗기는 수고를 덜기 위해서였다. -_-

Posted by 사무엘

2020/06/06 08:32 2020/06/06 08:32
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1759

1. SUV

자가용 자동차 중에서 SUV는 실용성을 강조한 외형이어서 그런지 덩치가 커도 사치스럽다는 느낌이 덜 들며, 반대로 작아도 싸구려 느낌이 덜 드는 것 같다. 비슷한 배기량이나 가격의 세단 승용차와 비교했을 때 상대적으로 그렇다는 뜻이다.
한 마디로 SUV는 차량이 차주의 부와 지위라는 편견과 연결된 정도가 덜하다. 그래서 굉장히 무난한 느낌을 준다.

SUV는 동급의 세단 승용차보다 길이가 짧고 높이는 높고 바퀴가 더 크다. 객실과 트렁크의 구분이 없고, 뒷좌석을 접어서 공간을 더 낼 수도 있다. 자전거를 접지 않고 그대로 실을 수도 있어서 좋다.

2. 친환경 모델

친환경 동력원을 주류로 미는 SUV가 조금씩 출시되고 있는 게 흥미롭다.
이게 무슨 말이냐 하면.. 휘발유 내지 디젤 모델이 주류로 먼저 나온 뒤에 같은 차체를 기반으로 하이브리드나 전기차 모델이 덤으로 나온 형태가 아니라는 것이다.

현대 ‘코나’는 전기 내지 하이브리드가 덤으로 출시된 경우이다. 그러나 기아 ‘니로’(Niro)는 처음부터 휘발유 하이브리드 또는 전기 모델로만 나와서 친환경 차량임을 처음부터 굉장히 강조했다.

그 뒤 현대에서는 자기 주특기를 살려서 수소 연료전지 기반 전기 SUV인 ‘넥쏘’를 내놓았다. 수소 엔진으로 일렉시티 버스밖에 안 만드는 줄 알았더니 드디어 더 작은 차량까지 만들기 시작한 게 흥미롭다.
얼마 전에 넥쏘가 달리는 모습을 우연히 볼 수 있었다. 자동차가 VVVF 전동차 구동음과 이렇게 비슷한 소리를 내는 모습은 난생 처음이었다. 매우 신기했다.

순수 전기차는 배터리에 의존하는 비중이 매우 크다 보니, 제조를 위해 자동차 회사의 고유 기술보다는 화학 회사의 기술에 대한 의존도가 더 올라간다. 이는 기존 자동차 회사의 입장에서도 자존심이 상하는 일이니 이것 때문에 현대가 미래의 밥줄을 유지하기 위해 수소차를 일찍부터 연구 개발한 게 아닌가 싶다.

다만, 천연가스만 해도 액화하는 게 장난이 아니게 까다롭고 어렵거늘 그것보다 통제가 더 안 되고 온도늘 더 낮춰야 하는 수소는 뭐.. 아직 갈 길이 멀다.
액체 수소는 우주 로켓의 2단 이상의 엔진에서 연료로 쓰이는 편인데, 수소 연료 전지는 그렇게 수소를 고온 고압(?)에서 태우고 폭발시키는 엔진과는 본질적으로 완전히 다른 물건이다. 연료 전지는 물리 반응이 아니라 화학 반응만으로 에너지를 얻기 때문이다.

로켓이 아닌 자동차 수준에서는 수소를 직접 태우는 방식보다는 연료 전지 방식이 더 실용성이 있다고 여겨진다.

3. 버튼

2000년대부터 자동차에는 전통적인 열쇠 대신 버튼식 시동 장치가 등장했다. 열쇠가 굳이 스위치에 꽂힐 필요 없이, 열쇠가 차내에 있기만 하면 된다. 그 상태로 브레이크를 밟으면서 ON/OFF 버튼을 누르면 시동이 걸린다. (브레이크를 안 밟으면 단순 ON/OFF만 전환)

그 뒤 2010년대 후반부터는 신기하게도 변속기도 버튼식으로 서서히 바뀌어 간다. 자동 변속기 차량의 특성 중 하나가 P와 D를 오갈 때 불가피· 불필요하게 후진등 램프가 잠시 깜빡이는 것이었는데.. 이런 아마추어 같은 특성도 역사 속으로 사라질 것이다.
그래도 재래식 열쇠와 시동 스위치, 그리고 심지어 수동 변속기도 완전 깡그리 멸종한 건 아니며 최하위 모델의 깡통 사양에서는 남아 있는 듯하다.

4. 자동 변속기 차량이 시동이 꺼질 수 있는가?

올해 초에는 나름 비싼 고급 준대형 SUV인 팰리세이드가 산길에서 전복 사고가 난 것이 자동차 커뮤니티에서 논란을 일으켰다. 처음에 운전자의 주장은 급발진을 수습하기 위해서 불가피하게 차량을 전복시켰다는 것이지만 블랙박스 영상을 보니 그게 아니고 그냥 개인의 운전 미숙 때문이었다.

당사자가 정말로 그런 말을 했는지 의구심이 드는 무개념 김여사 발언(거기 직원 3명을 짜르고, 사고를 겪은 나에게 위자료와 함께 제네시스 G80을 보상으로 달라??? ㄲㄲ)은 무척 병맛이지만, 문제의 핵심은 차가 전진 중일 때 실수로 후진 기어를 넣었을 때 차가 어떻게 동작하는 게 바람직하냐 하는 것으로 귀착되었다.

수동 변속기 차량이 기어를 잘못 넣어서 엔진에 과부하가 걸려 시동이 꺼지는 건 흔한 현상이다. 자동 변속기는 그런 현상이 없어서 좋다. 그런데 같은 방향의 고단 저단이 아니라 아예 엔진과 변속기의 진행 방향이 엇갈려 버리면 어떻게 될까?

예전에 영화 타이타닉을 보니 빙산과의 충돌 위기 때문에 배를 필사적으로 감속할 때는 엔진을 역추진 시키고 피스톤이 아예 반대 방향으로 돌기도 했더라만.. 걔는 증기 기관 외연 기관이다. 요즘 자동차 엔진은 피스톤의 회전 방향이 반대가 됐다가는 큰일 난다.

자동 변속기는 고/저단 변속을 잘못 했다고 시동이 꺼질 일이 없는 게 장점인데 그게 아예 전진과 후진조차 잘못 지정된 것까지도 감안해서 동작할 필요가 있는가?
개인적으로는 그것까지 감안할 필요는 없다고 생각한다. 하지만 외국의 다른 차들이 다 그걸 감안해서 동작한다면, 국산차도 제품 경쟁력과 운전자의 안전을 위해 그런 솔루션을 도입할 필요가 있어 보인다.

요즘 차들은 신호 대기 정차 중일 때 N 상태를 자동으로 흉내 내고, 심지어 시동까지 잠시 꺼 주는(ISG) 기능까지 도입돼 있다. 그런데 신호 대기가 아니라 내리막에서 변속 잘못으로 인해 시동이 꺼지는 건 차의 변속기는 보호해 주겠지만 탑승자까지 보호해 줄 수는 없을 것이다. 차 시동이 꺼지면서 브레이크의 제동력도 공급이 중단되기 때문이다. 바퀴로 동력 공급을 끊은 중립으로라도 유지돼야지..

그리고 그런 안전 장치가 있건 없건, 운전할 때 전· 후진 변속은 차가 완전히 선 상태에서 해야 안전하다는 것은 예나 지금이나 변함없는 철칙이다.

5. 통신 장치

(1) 그러고 보니 1990년대 승용차들은 라디오를 틀 때면 차 뒤쪽에서 길쭉한 안테나가 무슨 삼단봉처럼 쓰윽 올라가고, 라디오를 끄면 안테나가 다시 내려갔던 것 같다. 그러나 요즘 자동차는 기술이 좋아졌는지.. 그런 길쭉한 작대기가 아니라 뒤에 상어 지느러미 같은 짤막한 안테나로 끝이다. 자동차용이다 보니 안테나도 공기 저항을 최소화하는 형태로 디자인됐다.

(2) 터널 안에는 라디오의 음질이 AM/FM별로 어찌 됐더라..?? 아무래도 음질은 FM이 더 좋았다. 인공위성으로 송출되는 텔레비전은 화면이 나오지 않았고 말이다.

(3) 옛날에는 버스에서 텔레비전이 비치되어서 비디오 테이프가 아닌 전파 수신 영상을 시청하는 게 굉장히 신기한 일이었지만 지금은 아시다시피 넘쳐나는 게 디지털 영상이고 전혀 신기한 일이 아니다. 하지만 스마트폰으로 정작 아날로그 라디오를 청취할 수는 없고.. 굳이 라디오를 들으려면 인터넷 데이터를 써서 강제로 디지털로 바뀐 신호를 들어야 한다.

(4) 블랙박스도 스마트폰 같은 타 기기와 연계해서 날짜 시각 동기화 기능 정도는 있어야 할 것 같다. 사고가 발생한 시각을 기록해야 하는데 이건 결코 사소한 일이 아니기 때문이다. 블랙박스는 근본적으로 순정품이 쓰이지 않고 통신 기능도 없는 폐쇄적인 기기이다 보니 21세기답지 않게 사람이 불편하게 수동으로 날짜 시각을 맞춰 줘야 한다.

6. 자동차의 공기 필터

코로나바이러스 때문에 요즘 사람들은 외출할 때 마스크를 끼는 게 무조건적인 필수가 됐다. 오토바이를 탈 때 헬멧을 쓰는 것처럼 말이다. 그리고 공공장소에 들어갈 때 체온 측정을 하는 건 음주 측정을 하는 것과 비슷하게 됐다.

그 전에는 마스크라는 건 가끔씩 중공 발 중금속 미세먼지가 너무 짙어졌을 때 호흡기를 미세먼지로부터 보호하기 위해 착용하는 물건이었다(입력 차단). 즉, 그 마스크는 나를 위해 필요한 것이었으며, 끼지 않으면 자기가 손해였다. 그리고 공기가 상대적으로 맑은 실내에서는 마스크를 벗어도 됐다.

그러나 코로나바이러스의 확산을 방지하기 위해 착용하는 마스크는 미세먼지 마스크와는 용도가 완전히 정반대이다. 이건 이미 감염돼 있을지 모르는 사람의 날숨과 타액 비말(미세한 물방울)이 퍼지는 것을 막는 역할을 한다. 한 마디로 출력 차단용이다.

그러니 이제는 공공장소에서 마스크를 쓰지 않으면 자기가 남에게 민폐를 끼치게 된다. 그리고 원칙대로라면 실내에서도 써야 하며, 주변에 사람이 없거나 충분히 멀리 떨어진 곳에서만 벗을 수 있다.

한편, 자동차는 기계이니 사람처럼 바이러스에 감염되지는 않지만.. 공기가 미세먼지 불순물 때문에 탁한 것은 사람뿐만 아니라 자동차에게도 절대로 좋지 않다.
에어컨이나 히터를 틀었을 때 퀴퀴한 냄새가 나면 사람들은 공기 필터를 교환할 때가 됐다고 생각하게 된다. 그런데 자동차에 공기 필터라는 건 두 종류가 있다. 흔히 생각하는 객실(cabin)용 공기 필터뿐만 아니라 엔진으로 들어가는 공기를 거르는 필터도 있기 때문이다.

엔진용 공기 필터는 우리 생각보다 자동차의 수명에 기여하는 것이 많으며 매우 중요한 부품이다. 사람이 끼는 ‘미세먼지 마스크’의 자동차 버전과 정확하게 일치한다.
흙먼지 등의 불순물이 많이 낀 공기가 실린더 안으로 들어가면 전부 불순물 찌꺼기가 돼서 배출되지 않고 남는다. 그래서 엔진을 더럽히고 출력과 연비를 깎아먹고 온갖 탈을 일으킨다. 사람으로 치면 호흡기와 순환기에 질병이 생기는 것과 같다.

환경이 위생적이지 못했던 옛날에는 사람들의 평균 수명이 지금보다 매우 짧았다. 자동차도 안전 벨트나 안전 유리가 없던 시절에는 비포장 도로에서 정말 어처구니없을 정도의 저속 주행 중에 사고가 났는데도 탑승자의 사망· 중상이 속출했다.

그리고 그것처럼.. 초창기에 공기 필터가 없던 시절에는 엔진의 고장이 지금보다 훨씬 더 잦았다. 한 2~3000km 정도만 구르고 나면 엔진 내부가 끔찍하게 더러워져서 진지한 정비 없이는 더 운행을 할 수 없었다고 한다. 그러던 게 공기 필터가 도입되면서 엔진 수명이 비약적으로 향상되었다.

이런 식으로 자동차 기술이 발달해 왔다. 그렇잖아도 자동차의 동력원이 외연 기관(증기)에서 내연 기관(휘발유/디젤)으로 바뀌면서 효율과 성능이 크게 향상됐지만, 엔진의 내부 구조가 훨씬 더 복잡해지고 연료와 공기에 대해 요구하는 민감도도 크게 올라갔다. 아무거나 대충 집어넣어서 불 때서 물만 끓이면 되던 시절을 생각해서는 곤란할 것이다.

이런 경향은 자동차에 더 정교하고 복잡한 연료 분사 기술과 배기가스 정화 기술이 도입될수록 더 커지고 있다. 이런 이유로 인해 자동차에는 공기 필터뿐만 아니라 연료 필터라는 것도 진작부터 존재한다. 그리고 모든 필터들은 마치 엔진오일처럼 소모품이다.

7. 자동차의 이상 징후

자동차가 오랫동안 정비를 받지 않으면 주행 중에 여러 형태로 외형적인 이상 징후가 나타난다.
예를 들어 방향지시등 램프가 일부 고장 나면 내부의 전기 저항이 줄면서 깜빡거리는 주기가 몹시 짧아진다. 일부 버스나 트럭이 그런 상태가 된 것을 본인은 몇 번 본 적이 있다.

  • 배터리에 이상이 없는데도 가끔씩 시동이 잘 안 걸리거나 건 뒤에도 자동차가 부르르 떨리고 회전수가 불안정하다면.. 점화 플러그가 수명이 다 된 것이다.
  • 급브레이크가 아닌데 제동 중에 하이톤의 ‘끼익~’ 소리가 들리기 시작하는 건 브레이크 패드가 오늘 내일 하는 상태라는 뜻이다. 저런 소리가 안 나야 정상이다.
  • 공회전 중에 ‘두두두두.. 드드드드~’ 소리가 깊고 강렬하게 들리는 것은 노킹 현상이며 이건 심각한 문제이다. 조속히 엔진 정비를 받아야 한다.

그것 말고도 엔진 작동 중에 주기적으로 하이톤의 ‘휙휙휙.. 끌끌끌..’ 소리가 들리는 것은 팬 벨트의 상태가 좋지 않다는 뜻이다.

자동차 엔진의 회전력은 바퀴 구동축에만 걸려 있는 게 아니라 배터리 발전기, 냉각수 순환 펌프, 에어컨 압축기, 브레이크와 파워 스티어링 등과도 몽땅 연결돼 있다. 그래서 엔진을 돌리는 건 생각보다 몹시 빡센(?) 일이며, 시동을 끄면 엔진은 관성이고 뭐고 없이 회전이 순식간에 멈춰 버린다.

이런 부하가 걸려 있는 회전축을 1m 길이 기준 수십 kg의 토크로 분당 수천 회 회전시키는 것이 자동차 엔진의 위력이다. 그리고 엔진 브레이크는 바로 이런 부하를 이용해서 차의 속력을 줄이는 테크닉이다.

팬 벨트는 차를 직접 굴러가게 하는 구동축을 제외하고 엔진의 힘이 필요한 다른 모든 기계에다 동력을 전해 주는 매체이다. 여기에는 차내에 전기를 공급하는 발전기도 포함된다.
그런데 이게 끊어지면 에어컨이 안 나오거나 브레이크가 제대로 동작하지 않거나 잠시 후 배터리가 방전되거나 엔진이 과열되거나.. 아무튼 상상할 수 있는 모든 재앙이 발생하면서 차는 더 주행할 수 없게 된다. 엔진 오일만치 자주는 아니지만 점화 플러그나 브레이크액, 배터리, 타이어와 얼추 비슷한 주기로 점검하고 교환할 필요가 있다.

변속기 중에서는 CVT가 팬 벨트와 같은 재질은 물론 아니지만 푸시벨트라는 벨트 비슷하게 생긴 부품이 핵심 매체이다. 수동 변속기는 톱니바퀴이고 자동 변속기는 토크 컨버터와 오일인 것처럼 말이다.

Posted by 사무엘

2020/06/03 08:35 2020/06/03 08:35
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1758

1. 종이, 현금, 베리칩

옛날에는 컴퓨터와 인터넷의 발달 덕분에 사무 자동화(OA)라는 말이 등장하고 재택 근무, 그리고 종이 없는 사무실이 대세가 될 거라는 전망이 나왔었다.
2020년대가 된 지금 생각해 보면, 기업의 분위기가 그 정도로 파격적으로 바뀌지는 않았다. 또한 많은 서류와 문건들이 전산화되긴 했지만 그래도 그와 별개로 종이는 여전히 건재하며, 소모가 오히려 더 늘었다고 한다.

다만, 그런 종이 말고 현금은 옛날에 비해 확실히 보기 힘들어진 것 같다. 카드로도 모자라서 스마트폰으로 금전 거래가 곧장 되니 평소에 아예 지갑조차 갖고 다니지 않는 사람이 늘고 있다.

그런 신분증과 카드 따위가 궁극적으로는 신체 내부에 통째로 이식될 것이고, 그것이 짐승의 수 666에 이마의 표 베리칩이 될 것이고 어쩌구...는 이미 1980년대 정보화 시대 운운할 때부터 일각에서 많이 떠들던 사항이었다. 바코드 음모론하고 같이 덩달아서 말이다.

글쎄, 저것들이 정말로 신체에까지 들어갈까? 난 단정적으로 예측하지는 못하겠지만 좀 회의적이다.
물론 난 과거에 "블로그가 있는데 굳이 SNS가 필요할까? 디지털 카메라를 쓰면 되지 왜 휴대전화에다가 어설프게 카메라를 달아?" 이랬을 정도로 극도로 고지식한 사람이기 때문에 미래를 보는 안목은 별로 없다. 그러니 내 예측이 딱히 믿을 건 못 되겠지만, 난 겨우 저런 게 성경이 말하는 짐승의 표라고 생각하지 않으며, 그게 실제로 등장할 가능성도 별로 높게 평가하지 않는다.

2. 삐삐와 팩스

난 지금은 주류에서 밀려난 1990년대의 과도기적 문명의 이기(?)들 중에 삐삐와 팩시밀리는 제대로 접한 적이 없다.
삐삐는 그 당시에도 좀 노는 애들(?)은 10대 나이에도 썼던 것 같은데 본인에게는 해당사항이 없는 물건이었다.

팩스는 그 시절에 직장 생활을 안 했으면 더욱 접할 일이 없고.. 요즘은 스캐너, 프린터, 복사기 복합기가 많지만 그 시절에 사무용 복합기에는 프린터와 팩스 복합기도 응당 포함돼 있었다. 아래아한글 도스용에는 문서를 팩스 발송용으로 인쇄하는 기능이 전화번호부 기능과 연계하여 존재했었다.

일본에서는 가정에도 팩스가 많이 보급돼 있었다고 하지만 한국은 그렇지 않아서 어디로 팩스를 보내려면 동사무소 같은 데라도 가야 했다. 요즘이야 이메일로 pdf를 보내면 끝이지만.. 전화선 기반의 올드 아날로그 레거시인 팩스도 마치 모스 부호 전신· 전보만큼이나 완전히 없어지지는 않고 있다.

3. 과거의 문명의 이기

(1) 요즘은 군대 내무반에서조차 에어컨이 설치된다고 하지만, 본인은 학교 교실과 기숙사 수준에서 딱히 에어컨 구경을 못 하고 학창 시절을 마쳤다. 교실 천장에서 뱅글뱅글 돌아가던 천장 설치형 선풍기의 기억이 지금도 선하다.
다만, 혼자서 대중교통을 활발히 이용한 것은 21세기의 대학교 입학 이후이다. 버스와 열차, 지하철 따위에는 모두 에어컨이 장착되어 있었다.

(2) 대학교 기숙사의 경우, 내가 딱 졸업하고 난 뒤 이듬해부터 조금씩 에어컨이 설치됐다고 들었다. 그리고 10Mbps이던 네트워크 속도가 연구실부터 100으로 증속됐는데, 이 역시 기숙사에는 본인이 졸업한 뒤부터 소급 적용되었다.

(3) 본인은 컬러 레이저 프린터라는 걸 가정에서 실물로 보는 날이 올 거라고 감히 생각하지 않았었다. 1990년대까지만 해도 레이저라는 단어가 들어가는 기계들이 얼마나 비쌌던가? 레이저 프린터, CD writer 따위.. 그랬는데 2000년대 이후부터 이것들이 경이로울 정도로 가격이 내려가고 흔한 물건이 됐다.

4. 컴퓨터 하드웨어와 소프트웨어 공간의 확장

21세기에 들어서면서..

  • 유니코드 문자 영역은 16비트 공간이 부족해져서 대략 21비트 남짓한 크기의 확장 평면이 등장했다. 확장 평면 영역에서 가장 주목받고 있는 문자는 한자와 이모지이다.
  • 컴퓨터 메모리는 4GB라는 32비트 공간이 부족해졌고 64비트 CPU로 물갈이됐다.
  • 인터넷 주소는 역시 IPv4라는 약 40억 개에 달하는 32비트 공간이 부족해져서 이를 대체하는 128비트짜리 IPv6가 등장했다. 하지만 IPv6는 등장한 지 10여 년이 지난 지금도 PC에서는 보급이 더디며(그냥 공유기로 기존 주소를 유동적으로 쪼개서 쓰는 편법..), 모바일에서나 주로 쓰이는 중이다.

IPv6의 도입은 마치 유니코드의 도입만큼이나 매우 fundamental한 변화이며, 15년쯤 전의 x64 CPU와 비슷한 물건처럼 느껴진다. IPv6의 지원을 위해 재래식 소켓 API에서 각종 구조체나 함수가 바뀐 부분들은 마치 64비트 지원을 위해 PE 실행 파일 포맷의 각종 필드가 확장된 것, Windows API가 일부 확장된 것을 보는 것과 비슷해 보인다. "님하의 브라우저는 HTML5를 모두 지원합니까?" 테스트 사이트가 있는 것처럼 "님하의 컴퓨터와 인터넷 서비스 사업자는 IPv6을 지원합니까?" 테스트 사이트도 있다.

IPv4 시절엔 주소를 구성하는 숫자를 무조건 10진법으로 적었던 반면, IPv6에서는 그런 것 없고 16진법으로 적는다.;; 그런데 원래 포트 번호를 구분할 때 쓰던 콜론을 왜 주소 번호의 구분자에다가 도입해서 괜히 사람 헷갈리게 만들었는지 모르겠다.

약간 분야가 다르긴 하지만 사람이 직접 취급하는 번호인 자동차 번호나 휴대전화 번호도 공간이 부족해서 난리이다. 자동차 번호의 경우, 자가용 승용차에 지역 표기가 생략되면서 공간이 더욱 부족해졌는데, 결국 앞자리 번호가 3자리로 확장되기에 이르렀다.
휴대전화 번호는 일명 국번이라고 불렸던 앞자리 번호가 진작부터 4자리였지만, 접두사가 010으로 몽땅 통합되면서 공간이 더욱 부족해져 있다.

5. 인터넷 속도와 동영상의 화질 향상

오늘날은 컴퓨터의 속도가 1990년대만치 급격하게 빨라지고 있지는 않지만.. 인터넷은 무선화 후에도 무슨 약을 빨고 이렇게 속도가 사기적으로 빨라져 왔는지 경악할 지경이다. 물론 이런 속도는 로컬 말단에 있는 컴퓨터의 CPU, 램, 디스크의 속도도 받쳐 준 덕분에 실현 가능해진 것이다.

인터넷의 발달 덕분에 요즘 노트북들은 광학 드라이브를 기본 장착하지 않고 있는데, 심지어 유선 이더넷 단자조차 생략하는 추세이다. 그냥 무선 와이파이만으로 충분하다고.. 요즘 승용차들이 스페어 타이어를 생략하는 것과 비슷한 현상 같다.

가로 해상도가 1000을 넘어가는 고화질 동영상을 인터넷에서 실시간으로 보는 날이 올 줄 감히 상상할 수 있었을까??
게다가 요즘은 해상도만 올라간 게 아니라 초당 프레임 수까지 모니터의 주사율에 근접하는 60hz에 달하는 동영상도 올라오고 있는데.. 화면이 아주 자연스럽고 부드러운 게 곧바로 티가 난다. 심리적으로 좋은 인상을 준다.

사운드에다 비유하면 해상도가 올라가는 건 단위 시간당 sampling rate가 올라가는 것이고, 프레임 수가 올라가는 건 샘플링의 정밀도 자체가 겨우 8비트이던 것이 16비트나 그 이상으로 올라간 것과 비슷하다고 하겠다.
옛날에 아날로그 필름 기반의 영화는 100여 년 전에 정해졌던 초당 24프레임을 벗어난 적이 있었다는 얘기를 난 들어 본 적이 없다.

6. 켈빈의 빗나간 추측들

오늘날 '켈빈 경(남작?)'이라고 불리는 윌리엄 톰슨(1824-1907)은 전기와 열역학 쪽으로 많은 업적을 남긴 영국의 수리물리학자이다. 절대온도의 단위인 켈빈(K)이 바로 이 사람 이름에서 유래되었다. 본명이 아닌 작위의 이름이 단위 이름이 된 것이다.

그런데 이 사람은 훗날 과학 기술의 발전으로 인해 오류 내지 단견으로 판명된 비관적인(?) 어록을 유난히 많이 남긴 것으로도 유명하다. 아마 제일 유명한 건 "공기보다 무거우면서 하늘을 나는 기계라는 건 절대로 존재 불가능하다"이지 싶은데, 알고 보니 그게 전부가 아니다.

왕년에 맬서스라는 사람이 인류가 앞으로 식량 부족에 허덕일 거라고 예상했었는데, 켈빈 경은 아예 인류가 산소 부족으로 인해 멸망할 거라고 예상했었다. 그리고 물리학이라는 학문은 이제 나올 게 다 나왔기 때문에 앞으로 실험 측정값의 소수점 아래를 다듬는 보정밖에 할 일이 없을 거라고 말하기도 했다.

산소 부족은 그렇다 치더라도(..;;) 나머지 어록들은 딱 20세기 초에 비행기가 발명되고 양자역학이란 게 태동하면서 전부 버로우 타게 됐다. 마치 생물학이 분자생물학이란 게 등장하면서.. 예전처럼 생물들 생태를 관찰하고 종류 분류나 하던 시절하고는 완전히 딴판의 학문으로 변모했듯이 말이다.

나중에 비행기나 텔레비전이나 컴퓨터에 대해서도 발전 전망과 활용 가능성에 대해 굉장한 단견(..)을 남긴 유명인사들이 등장했지만 켈빈은 그런 것까지 보지는 못하고 세상을 떠났다. 그러니 그런 것 관련 어록은 없다.
아, 비행기의 경우, 아까 같은 존재 가능성 말고.. 그 다음으로 "그게 군사용으로 도대체 무슨 쓸모가 있냐" 같은 거 말이다.

그렇게 단견을 남긴 사람들도 그 시절에는 다 왕창 똑똑하고 자기 분야에서는 전문가인 사람들이었다.
하지만 켈빈은 여느 과학자 이상으로 유난히도 "내가 나루토를 보고 있는데 느낀 게... 우린 안 될 거야 아마" 스러운 포스가 느껴진다.;; =_=;;

7. 창작물

지금까지는 인류가 이룩한 무시무시한 기술 문명에 대한 회고와 찬사 위주로 글을 썼는데, 그럼 다음으로 그 기술을 기반으로 인류가 만들어 낸 각종 문화 컨텐츠에 대해서 생각을 해 보겠다. 영화, 게임, 음반 같은 것 말이다.
과학 기술에 대해 이제 나올 거 다 나왔다는 회의적인 전망이 나돌았던 것만큼이나, 일각에서는 문화 컨텐츠에 대해서도 그 이상으로 이제 나올 것 다 나왔다는 회의론을 제기한다.

본인은 그 관점에 어느 정도 조심스럽게 동의한다.
1990년대, 그리고 길어야 2000년대까지가 뭔가 중흥기였고, 그때 이후로는 분야 불문하고 이렇다 할 명작이란 게 나오지 않는 듯이 보이기 때문이다. 그냥 기존 명작 히트작의 리메이크만 할 뿐이다.

게임은 딱 세기말에 나왔던 스타(RTS), 둠과 퀘이크(FPS)를 능가할 작품은 나올 것 같지 않고 이젠 나올 수도 없어 보인다. 그 장르 자체가 많이 쇠락했으며, 고인물 썩은물이 됐다.

SEGA, id, 블리자드 등 어느 개발사들을 살펴봐도 8-90년대를 풍미했던 왕년의 스타 개발자가 2010년대 이후까지 계속해서 스타인 경우는 없다. 특히 요즘 블리자드가 이렇게도 많이 망가지고 몰락할 줄은 몰랐고 개인적으로 놀랐다.
이 업계는 그만큼 기술의 상향 평준화 속도와 컨텐츠의 소모 속도가 너무 빨라서 가히 개발자의 무덤이 된 것 같다. 이 교착 상태를 어찌 돌파할지 게임 개발사의 경영자들의 고민이 클 것 같다.

앞으로 타이타닉, 라이온 킹, 태극기 휘날리며 같은 급의 명작 영화가 또 나올 가능성이 있을까? 여명의 눈동자, 태조 왕 건 같은 명작 드라마가 또 나올 수 있을까?
특별히 우리나라는 2000년대가 국산 영화의 중흥기였다고 일컬어진다. 그리고 일반 음반은 잘 모르겠지만 CCM 분야는 딱 90년대가 중흥기였다. 디즈니 애니메이션도 1990년대가 완전 리즈 시절이었고(미녀와 야수, 알라딘, 라이온 킹..)..

이런 거 저런 거 다 따져 보면, 1800년대 말~1900년대 초에 유럽이 과학 기술의 눈부신 발전 덕분에 빅토리아 시대니, 벨 에포크, 스팀펑크 세계관이 하는 말이 나돌았는데.. 그로부터 100년 뒤인 1900년대 말~2000년대 초에 대해서도 비슷한 향수와 회상이 나올 수 있을 것 같다. 약간 옛날인 1980년대에 대한 회상은 이미 ‘쿵 퓨리’가 너무 병맛스럽게 해 놓았고 말이다.

8. 미래에 대한 불가지론

난 내가 태어나서 지금까지 직접 겪었던 사건들 중 가장 임팩트 있었던 것, 사람들의 고정관념과 생활 방식을 송두리째 바꿔 놓아서 never be the same again이라는 타이틀이 아깝지 않은 것은 다음 셋이라고 본다.

  • IMF(1997~98): 정리해고, 구조조정, 노숙자.. 더 이상의 자세한 설명은 생략한다.
  • 9· 11 테러(2001): 온통 장밋빛 꿈으로 가득하던 21세기가 이렇게 시작될 줄 누가 예상했겠나? 그 뒤 이라크 전쟁, 전세계적으로 급격히 강화된 항공 보안..
  • 코로나바이러스(2020): 올림픽 연기, 오프라인 예배 반토막.. 가히 전무후무하다.

저 셋보다는 임팩트가 덜하지만 개인적으로 굉장히 인상적이라고 느꼈던 사건들은 2010년대에 있었다.

  • 일본 천황과 로마 교황의 이례적인 생전 퇴위 선언: 20세기 히로히토(쇼와)의 존재감을 능가하는 천황이라든가, 요한 바오로 2세의 임팩트를 능가하는 교황은 앞으로 글쎄.. 가까운 미래엔 나오지 않을 것 같다.
  • 대한민국의 대통령 선거 시기를 거의 30여 년 만에 처음으로 바꿔 버린 대통령 탄핵 소추 파면 사건
  • 2차 세계 대전 이후 거의 처음으로 강대국들의 군사력을 한데 단결시켰던 ISIL 집단. 그래도 얘들은 허세 부리던 것과 달리 다행히 다 소탕· 토벌된 모양이다.

“인간이 달에 갔다가 돌아오는 건 소설 속에서나 가능할 뿐 현실에서는 불가능하다” 같은 말은 반박되었다. 그러나 “21세기쯤에 인류는 달이나 화성에 우주 식민지를 건설해 있을 것이다”는 아직까지도 이뤄지지 않았으며, 이거야말로 소설에서나 가능한 요원한 일이다.
그것처럼 세상일은 정말 알 수 없고 인간은 한 치 앞날을 내다볼 수 없는 것 같다. 198, 90년대에 2020년을 배경으로 설정하고 소설을 썼던 사람들, 세기말에 온갖 종말 음모론을 주장했던 정치 진영 종교 진영들이 이런 상황을 과연 예상할 수 있었겠는가?

앞으로 또 무슨 기막힌 과학 연구 성과가 나오고 무슨 발명품이 등장할지, 코로나바이러스의 기세가 궁극적으로 어찌 될지, 북한 김 정은이 언제 죽을지, 도쿄 올림픽이 내년에라도 개최 가능할지 아니면 질질 끌다가 결국 제일 안습하게 취소로 귀착될지, 그것도 나로서는 알 수 없다.

세상에는 신이 존재하는지 여부를 인간이 알 수 없다는 견해를 골자로 하는 '불가지론'이라는 종교관이 있다.
뭐, 본인이야 성경을 믿기 때문에 유신론이냐 무신론이냐를 두고 고민하지는 않는다. 단지, 한 가지 확실한 것은 미래에 일어날 일이야말로 확실하게 불가지론이 성립하는 영역인 듯하다.

그러니 세상 소식에 너무 연연하지 말고, "말세다 말세"라든가 "요즘 젊은것들은 말야" 같은 말을 함부로 내뱉지 말고(저런 말은 무려 몇천 년 전부터 나돌았던 드립!) 그 대신,
"이 또한 지나가리라", "아 맞아, 지금 생각해 보면 아무것도 아닌데 그땐 정말 그랬어. 세상이 다 끝나는 줄로만 알았어~!" 같은 영원의 관점에서 큰 그림을 떠올리며 사는 자세가 필요해 보인다. 성경적인 기독교 세계관은 그런 관점의 형성에 도움을 줄 것이다.

Posted by 사무엘

2020/05/31 08:33 2020/05/31 08:33
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1757

오랜만에 날개셋 한글 입력기와 타자연습의 새 버전이 나왔다.
한글 입력기의 32비트 배포 패키지가 드디어 날개셋 타자연습보다도 덩치가 더 커졌다.
타자연습이야 게임의 리소스와 MFC 라이브러리의 오버헤드 때문에 큰 편이었는데 입력기는 정말 순수하게 내가 작성한 코드와 내가 준비한 데이터만으로 덩치가 이렇게 커졌다.

날개셋 한글 입력기라는 걸 만들어 온 게 고3과 대학 시절 이래로 어언 20년이 됐다. 내 인생의 20대, 30대 나이와 함께했다.
한글 입력기뿐만 아니라 한글 글꼴도 새로운 걸 만들고 싶은 게 있는데 입력기만 너무 오래 끌었다. 그래도 덕분에 옛날에 도저히 상상하지 못했던 방향으로 입력기를 더 발전시키기도 했다. 10.0을 찍고 나니까 이제는 너무 터무니없이 거창한 것 말고는 프로그램을 만들 만치 충분히 다 만들었다는 생각이 든다.

1. 조합 안에 조합 생성 입력 도구에 문자열 자동 완성

지난번 개발 근황글에서 짤막하게 언급한 바와 같이, 이번 10.0 버전에서는 '조합 안에 조합 생성' 입력 도구에 후보 문자열의 뒷부분 자동 완성 기능이 추가되었다. 이 입력 도구가 수행하는 기능이 무엇인지를 감안한다면 진작에 들어갔어야 할 기능인데 다소 늦은 감이 있다. (이 입력 도구가 처음 도입된 건 2년 전의 9.3부터!!)

자동 완성 단축키는 tab/shift+tab 계열, 또는 ctrl+space 이렇게 두 종류이다. Windows와 유닉스 계열의 명령 프롬프트에서 경로/파일을 자동 완성해 주는 tab 키, 그리고 Visual Studio 개발툴에서 명칭을 자동 완성해 주는 ctrl+space 이들의 동작에서 모티브를 따서 다음과 같은 형태로 동작이 구현되었다.

후보 목록에 다음과 같은 문자열이 있고, 사용자가 a 또는 aa까지 입력했다고 치자.

aabbccccc
aabbdd
aabbddee

이 상태에서 ctrl+space를 누르면 후보 목록들의 공통 접두사인 aabb까지가 자동 완성된다. 이런 공통 접두사가 없는 상태에서 또 ctrl+space가 들어오면 그냥 맨 앞 또는 선택막대가 가 있는 문자열이 자동 완성된다.
물론 aabb 상태에서 d를 수동으로 입력한 뒤 ctrl+space를 누르면 dd와 ddee가 순서대로 완성된다. 즉, ctrl+space의 관점은 순차적인 진행, 전진이다.

그 반면, aa까지 친 상태에서 tab을 누르면 곧바로 맨 앞 항목인 aabbccccc가 자동 완성된다. 또 tab을 누르면 aabbdd, aabbddee의 순으로 순환하게 된다. shift+tab은 역순으로 순환한다.
tab/shift+tab의 결과로 인해 입력 중인 문자열이 달라지고 후보 목록의 내용이 달라질 수 있다. 그 상태에서 ctrl+space를 눌러서 추가적인 전진을 할 수도 있다.

그리고 후보 목록은 알파벳 순서뿐만 아니라 타자 길이가 짧은 것도 우선시해서 출력되는 반면, 이 tab 순환은 전전으로 사전 순으로만 진행된다.

사실, 날개셋 한글 입력기에서 기본으로 제공하는 영단어나 한자 새김 입력 정도만으로는 자동 완성 기능이 그렇게 막 유용하게 느껴지지는 않을 수도 있다. 자동 완성을 하느니 후보 목록에 n순위로 뜬 항목을 번호로 곧장 선택하는 게 더 빠르기 때문이다. 그래도 이 입력 도구에서도 명령 프롬프트(터미널)나 개발툴 에디터 같은 정도의 최소한의 편의 기능은 있어야겠다는 논리적 당위성 때문에 이 기능이 구현되었다.

참고로 자동 완성은 '새김으로 한자' 또는 '영단어' 입력일 때만 가능하다. '한글 단어를 한자로' 변환은 유일하게 자동 완성 기능이 전혀 지원되지 않는다. 입력한 한글보다 더 긴 길이의 한자어를 제시하는 동작이 없는 관계로, 자동 완성이라는 걸 제공할 여지가 없기 때문이다.

2. 한자 관련: 한글 독음 표시

UI에서 한자의 훈과 음을 표시할 때, 호환용 한자(독음의 바리에이션)에 대해서는 원래 한자의 음이 같이 병기되게 했다. '요'뿐만 아니라 '이, 인, 여, 노, 난, 열' 같은 글자에 대해서도 재미있는 결과를 볼 수 있다. 한국어의 두음법칙이 생각보다 까다롭다는 걸 느끼게 될 것이다.

사용자 삽입 이미지

그러므로 외국 사이트 같은 데서 한자를 입력할 때는... 이 글자보다는 가능한 한 {}로 둘러싸여 있는 음에서 동일 모양의 글자를 찾아 입력하는 것이 권장된다. 호환용 한자는 마치 UTF-8 텍스트의 BOM만큼이나 장기적으로는 사용이 권장되지 않는 deprecated 요소이기 때문이다.

물론 현실적으로는 이미 잔뜩 구축된 호환용 한자들과 기존 한글 IME들의 동작을 무시할 수 없을 것이고, 컴퓨터 소프트웨어들이 호환용 한자들을 알아서 정규화해서 처리해야 할 것이다.
먼 옛날 KS X 1001 상용 한자에서 서로 다른 독음에 대해서 똑같은 한자를 중복 배당한 것부터가 편법이고 원죄이긴 하지만... 그 시절에는 그렇게라도 해서 한자에 담긴 독음 정보를 보존해야 할 필요 또한 있었다.

그런데 金의 경우 도대체 왜 '성 김'이 본가이고 '쇠 금'이 호환용 한자로 연결되었는지, 不도 왜 '부'가 본가이고 '불'이 호환용인지는 나로서는 알 길이 없다. 날개셋은 별다른 이유 없이 그냥 마소의 데이터를 따르고 있을 뿐이다. 따지고 보면 '가'에 대해서 家부터 먼저 시작하는 마소 특유의 한자 빈도수 데이터부터가 출처가 무척 궁금해진다.

3. 부수로 한자 입력

(1) '부수로 한자 입력' 도구가 "한중일 통합 한자 확장 B, C, D"에 있는 U+20000 ~ U+2B81D 사이의 약 47000자에 달하는 한자들의 부수까지 추가로 조회해서 입력할 수 있게 했다. 단, 우클릭 메뉴에서 옵션을 선택해야 한다.

사용자 삽입 이미지

독음으로 한자를 입력하는 건 기본적으로 4888 상용 한자만 가능하고, 편집기 계층에 있는 '확장 한자 옵션'을 선택하면 BMP 영역 것까지 모두 가능해진다.
그 반면, 부수로 한자 입력은 기본적으로 BMP 영역이 가능하고, 별도의 옵션을 선택하면 확장 평면 것까지 사용 가능해진다.

날개셋 한글 입력기에서 확장 평면 한자는 짙은 초록색으로 표시된다. 지금까지는 이 색깔을 볼 일이 거의 없었지만 앞으로 "부수로 한자 입력 도구"에서 이 색깔을 적극적으로 볼 수 있을 것이다. 용 룡(龍) 자가 4개 붙은 그 극악의 64획짜리 한자(U+2A6A5)도 드디어 입력할 수 있다.

물론 확장 평면 한자들은 날개셋 한글 입력기 엔진이 공식 지원하는 한자는 아니다. 그렇기 때문에 이 한자들은 훈과 음 정보가 전혀 제공되지 않는다.
내가 보아하니 저 많은 확장 평면 한자들은 출처가 대체로 옛 문헌들인 것 같다. 기괴한 모양의 글자들이 많이 눈에 띄지만, 그렇다고 간체자 스타일의 획이 그려진 글자는 딱히 보이지 않기 때문이다.

내가 듣기로 CJK 확장 한자가 벌써 E, F, G에까지 도달했다고 하는데 도대체 아직까지 추가할 게 무엇이 있는지 궁금하다..;; 그래도 처음으로 확장 평면이란 걸 개척하면서 무려 4만 자가 넘게 한꺼번에 추가됐던 확장 B가 존재감이 압도적이다. C와 그 이후 영역들은 B보다는 규모가 훨씬 작으며, 수백~수천 자씩만 추가되고 있으니 말이다.

한중일 통합 한자 확장 E, F, G 따위도 데이터가 공개돼 있으니 지원할 수는 있다. 하지만 이들 영역은 당장 Windows 10에서도 글꼴이 기본 제공되지 않아서 글자가 제대로 표시되지 않으니, 내 프로그램에서도 지원할 필요를 아직 느끼지 않는다. 날개셋 한글 입력기는 한글 입력이 전문이지 굳이 이런 '부가적인 기능'을 운영체제보다 더 앞서 지원할 필요는 없을 것이다.

다만, 나중에 데이터 파일만 업데이트 하면 프로그램 코드를 수정하지 않아도 D 이후의 확장 영역을 추가로 지원할 수 있게 준비는 시켜 놓았다. 지원하는 확장 한자의 전체 개수를 하드코딩해 놓지 않고 파일로부터 값을 런타임으로 얻는 변수 형태로 처리했다는 뜻이다.

말이 나왔으니 말인데, 이모지 문자표도 이번 기회에 데이터 파일을 수정하면 동물, 자연, 음식, 활동 같은 카테고리까지 확장 가능하게 구조를 수정했다. 이모지도 마치 한자처럼 새로운 게 계속 추가되고 있는 영역이니 말이다.
이모지 문자표 내지 입력기를 제대로 만들려면.. 얼굴 이모지에서 피부색 바리에이션을 선택하는 UI도 들어가야 한다. 하지만 그건 현재 그냥 생략하고 있다.

(2) 확장 한자 지원 얘기가 좀 길어졌다만, 깨알 같은 변화가 하나 더 있다.
현재 얘는 부수를 클릭했을 때 보다시피 근처의 총획수가 동일한 부수들이 빨간색으로 표시되는 기능이 진작부터 존재했다. 그런데 현재 선택된 부수와 동일한 부수 소속인 글자들은 획수와 무관하게 하늘색으로 더 먼저 구분되어 표시되게 했다. 예를 들어 己를 선택했다면 巳와 已, 田을 선택했다면 由, 申, 甲, 그리고 4획의 王을 선택했다면 5획의 玉도 같이 말이다.

사용자 삽입 이미지

(왼쪽에 하늘색으로 흩어져서 표시된 그물 망 제부수자들을 볼 것)
적용해 보니 굉장히 편리하다. 이런 동작을 왜 지금까지 생각을 못 하고 있었나 모르겠다. 간체자까지 생각하면 획수가 다른 동일 부수 바리에이션이 더 많이 존재한다.
이 기회에 오리지널 제부수자보다 획수가 적은 제부수자들의 획수가 잘못 기재되어 있던 것들도 바로잡았다. 15년~20년 전 유니코드 DB에는 데이터가 잘못돼 있었던 것 같다.

그나저나 같은 한자의 획수 세는 방식도 절대 고정불변이 아니라 한국 중국이 서로 차이가 있다는 걸 알 수 있었다. 특히 1획으로 볼지 2획으로 볼지 굉장히 모호한 획 말이다.
중국이 대체로 획수를 더 적게 세는 쪽으로 바뀐 것 같다. 다시 말하지만 간체자로 형태가 완전히 바뀐 것 말고 동일한 한자가 말이다.

4. 허용 한글 범위 제약 기능 관련

(1) '현대 한글만 허용'이라는 간단한 기능이 추가됐다. 현대 한글 자모는 미완성 한글 형태라도 입력을 허용하지만, 초중종 중 어디라도 옛한글이 포함된 채로 두 성분 이상 결합하는 것은 허용하지 않는다. 옛한글 낱자는 단독으로만 입력과 결합을 허용한다. 언뜻 보기에 간단하지만 기존 오토마타나 다른 제약 기능을 이용해서 쉽게 구현 가능하지 않다고 여겨져서 이것만 직통으로 수행하는 기능을 추가했다.

(2) '지정된 파일에 들어있는 한글' 기능에 지금처럼 데이터를 파일 경로로 지정하는 외장형뿐만 아니라, 데이터 자체를 직접 갖고 있는 내장형으로도 동작하는 옵션을 추가했다. 그래서 이름도 '지정된 파일' 대신 더 범용적인 '지정된 데이터'로 바꿨다.
입력을 허용하는 한글의 수가 수십~수백 자 수준으로 아주 적거나 "현대한글 + 아주 소규모의 옛한글" 이런 식이어서 데이터가 작다면.. 번거롭게 외부 파일을 준비할 필요 없이 내장형이 더 나은 선택이 될 것이다.

사용자 삽입 이미지

5. 편집기의 색상 구성표

편집기에서 텍스트 편집창의 색상을 설정하는 UI에.. 다음과 같이 다양한 색상 구성표들이 추가되었다.

사용자 삽입 이미지

흑백, 호박색, 터미널 이렇게 어두운 그룹은 과거에 흑백 모니터를 사용하던 경험을 고스란히 재현해 줄 것이다. 날개셋 편집기는 그렇잖아도 옛날 추억의 한글 글꼴들을 한데 구경할 수 있는 프로그램인데, 색깔까지 복고풍 configuration을 제공하는 것은 나름 의미 있는 일이 될 것이다.

도스용 에디터, 칠판, 아래아한글 1.x 색상은 오래 전부터 제공되고 있었다. 외국에서는 아래아한글이 인지도가 없으니 영문 명칭은 무의미한 HWP 1.x 대신 그냥 시원한 바다색 Ocean이라고 바꿨다.

그리고 밝은 그룹인 레몬, 연보라, 베이지는 쌩 white보다 눈부심이 덜하고 편하기 때문에 역시 쓸모가 있을 것이다. 요 색깔들은 macOS의 터미널에서 제공되는 색상을 차용한 것이다.
이런 색상들을 간단히 가져와서 쓸 수 있는 것은 날개셋 편집기의 활용성에 긍정적인 기여를 할 것이다.

6. 외부 모듈에 보정 옵션 추가

바로 며칠 전에 어느 사용자께서 날개셋 한글 입력기가 Windows Terminal이라는 메트로 앱에서 조합 중인 글자가 자꾸 덧나면서(ㄱ가ㄴ나ㄷ다 같은..) 제대로 동작하지 않는다는 버그 신고를 하셨다.
이미 존재하는 보정 기능으로는 “ㄱ가나다”까지는 바로잡을 수 있지만 첫 글자가 덧나는 것은 막을 수 없었다.

엄밀히 따지자면 이 프로그램도 IME로부터의 문자 입력 접수에 제대로 대응하지 못하고 버그가 있다. 조합을 끊어서 전하든 기존 조합을 늘이고 옮겨서 전하든 겉으로 드러나는 결과는 아무 차이가 없는 게 맞는데.. 한편으로는 마소 IME는 괜찮은데 또 내 프로그램만 저러는 이유는 알 길이 없다.;;
이 때문에 프로그램과 통신하는 방식에 옵션이 하나 더 추가됐다.

예전부터 있었던 A 방식과 B 방식은 “연속 입력”에 대해서 기본 방식 또는 대체 방식을 지정하는 것이었다.
이번 10.0에서는 “최초 입력”에 대한 방식도 세분화됐다. Windows Terminal의 오동작을 해결하려면 두 입력에 대해 모두 “대체 방식”을 선택하면 된다.

사용자 삽입 이미지

7. 타자연습과 세벌식 파워업

입력기는 그야말로 0.1 이상으로 굉장히 많은 것이 바뀐 반면, 타자연습은 작년 여름에 나온 3.9 이후로 바뀐 것이 거의 없다. 입력기 10.0과 함께 타자연습도 4.0으로 같이 올라가면 참 좋았겠지만, 도저히 그럴 수 없어서 타자연습은 3.91이 됐다.

타자연습과 세벌식 파워업은 딱 한 가지... 무조건 주 모니터에서 창이 뜨는 게 아니라 자신을 실행시킨 GUI의 모니터를 기준으로 뜨도록 수정된 것이 전부이다.
지난 2017년~18년 사이엔 이들 프로그램이 고해상도 dpi를 제대로 지원하도록 수정되곤 했는데, 그 다음으로 multi-모니터를 제대로 지원하도록 수정이.. 참 굉장히 늦게=_=;; 행해졌다.

이상이다.
컴퓨터라는 기계가 있고 한글 같은 문자, 알파벳만치 마냥 단순하고 가볍지 않으면서 한자만치 무겁지도 않고 조합을 글자 단위로만 만들면 되는 단순한 문자가 있을 때.. 이런 문자의 입력을 위해 존재할 수 있는 모든 아이디어를 담을 수 있고 모든 형태로 실현 가능한 소프트웨어--이것이 지금까지 날개셋 한글 입력기의 개발 목표였다.

이제 앞으로는 날개셋 한글 입력기에 치명적인 버그 수정이나 자잘한 기능 추가 같은 유지보수 말고.. 기상천외한 기능이 새로 추가된다거나 프로그램 내부 구조가 바뀐다거나 하는 변화는 당분간 없지 싶다.
2020년대부터는 한국어/한글 정보 처리 쪽으로든, 철도 쪽으로든 내 인생이라는 연극의 다음 장, 다음 막이 진행됐으면 좋겠다.

지금까지 긴 세월 동안 날개셋 한글 입력기를 변함없이 사용하고 성원해 주신 분들께 감사드린다.
말을 이렇게 써 놓으니 내가 무슨 시한부 인생이라도 살고 있고 앞으로 날개셋 개발 다시는 안 할 것 같은 느낌도 든다만.. 이런 글 올려 놓고는 또 두어 달 뒤에 언제 그랬냐는 듯이 10.01 정도는 또 자잘한 버그 수정과 개선 명목으로 또 나올 수도 있다. ㅎㅎ

Posted by 사무엘

2020/05/28 08:35 2020/05/28 08:35
Response
No Trackback , 3 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1756

서울과 고향 주변의 공원 풍경

1. 청담 도로 공원

서울의 올림픽대로에서 한강과 탄천이 딱 합류하는 구간.. 그렇다고 강변은 아니고 상행과 하행 도로의 사이 공간에는 '청담 도로 공원'이라는 자그마한 정원과 산책로가 있다.
이게 운전자들에게는 휴게소 역할을 한다. 차가 없더라도 인근 주민은 굴다리를 통해 여기로 드나들 수 있다.
단, 올림픽대로에서는 종합운동장 방면에서만 진출입 가능하고 김포공항 방면에서는 접근할 수 없다.

사용자 삽입 이미지
(공원에 있는 정자의 2층으로 올라가서 찍은 풍경임)

이 공원은 1980년대 5공 시절에 진행되었던 '한강 종합 개발 사업'의 완료를 기념하기 위해 만들어졌다. 그래서 내부에는 이를 기리는 기념비가 있다.
본인은 대한뉴스 영상을 보다가 이런 곳이 있다는 걸 우연히 발견하고는 개인적으로 찾아가 봤다.

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

한강 종합 개발 사업은 의외로 위키에 단독 항목이 개설돼 있지 않고 인지도나 존재감이 별로 없다.
새마을 운동이나 경부 고속도로가 박통의 상징이라면, 전대갈 시절 토목 공사의 상징은 이거나 마찬가지인데도 말이다.

이전의 박통 때는 한강에서 각종 섬이 메워지고(난지도, 뚝섬..?), 교량들이 잔뜩 건설되고 팔당댐이 만들어지고 잠실 쪽의 선형이 바뀌는 등, 치수 사업과 강남권의 개발을 염두에 둔 개발이 진행됐다.
그 뒤 전대갈에 와서는 한강 바닥을 더 파서 수심을 더 올리고 주변에 시멘트 제방을 쌓았다. 그리고 그 당시에 고수부지 내지 둔치라고 불린 한강 공원이라는 것을 곳곳에 조성했다.

또한 강변북로의 남쪽 버전 명목으로, 서쪽의 김포 공항과 동쪽의 잠실 경기장을 직선으로 잇는 자동차 전용 도로인 올림픽대로를 건설했다. 이는 두 말할 나위 없이 올림픽을 대비하기 위해서였다.

쉽게 말해 지금 우리가 아는 한강의 모습이 이때 얼추 완성됐다고 생각하면 된다.
그 전에는 한강 강변도 무슨 바닷가처럼 온통 모래 뻘밭이고 홍수가 나면 수시로 범람하고.. 선형이 더 무질서하고 제멋대로이고 지금보다 자잘한 하중도도 더 많이 있었다. 먼 과거에는 사람들이 별 부담 없이 한강물에 뛰어들어 물놀이도 했지만 가까운 과거에는 지금보다 물이 훨씬 더 더러워지기도 했다.

사용자 삽입 이미지

뭐 그렇다.
전대갈 각하... 나쁜놈이기만 한 줄 알았는데 세상엔 전대갈보다 훨씬 더 나쁜놈들도 많아서 돈과 권력을 쥐고 떵떵거리고 있음을 실감하며 지낸다. 내가 오죽했으면 몇 년 사이에 생각이 이렇게 바뀌었다.
그러니 전대갈 각하 정도면 만수무강하시면서 그런 나쁜 간첩 반역자들을 계속해서 도발하고 어그로를 끌어 줬으면 좋겠다. "나한테 당해 보지도 안 해 놓고 말이야" 라고 조롱도 좀 해 주시고..

"아이가 살면 너도 살고 아이가 죽으면 너도 죽는다." 담화에다가.. 살인 없이 강간 재범 누범만으로 가정파괴범 명목으로 사형 집행을 해서 사회 정의를 실현했던 그 강렬한 포스를 나는 두고두고 기억하고 칭송할 것이다. 이런 건 서 정주 시인이 지은 오글거리는 송시에도 언급돼 있지 않은 것 같다.;;

2. 이촌 한강 공원

현재 한강 공원에는 4월부터 10월까지, 아침 9시부터 저녁 7시까지 일부 구간에 한해 풀밭에서 텐트를 치고 놀 수 있다. 이건 2019년 봄부터 시행되기 시작한 정책이다.
아마 2010년도 중반인가 텐트가 처음 허용됐을 때는 밤 9시까지 허용이었고, 11월부터 3월 기간에도 저녁 6시까지는 텐트를 칠 수 있었다. 그러던 것이 규제가 더 강화된 것이다.

사용자 삽입 이미지

게다가 올해는 코로나바이러스의 전파를 예방한다는 구실로 4월까지도 계속해서 텐트가 금지되어서 개인적으로 답답했다.
그러다가 5월이 돼서야 사회적 거리 두기 정책이 완화되고 텐트도 허용되기 시작했다. 그래서 본인도 2020년 이래로 처음으로 한강 공원에서 텐트를 치고, 오랜만에 ‘한강면’도 시식하며 지내 봤다.

사용자 삽입 이미지

이 날은 봄비가 내리다가 그친 상태였다. 아직 하늘이 흐리지만 선선하고 나들이 하기에 아주 좋은 날씨였다.

그나저나 몇 년 전까지만 해도 한강면은 은박지 그릇에 담겨 나왔다. 뜨겁기 때문에 다른 마분지 같은 걸 덧대어서 쥐어야 했는데 요즘은 방열 방수 성능이 뛰어난 동그란 종이 그릇으로 바뀌었다. 이런 것 기술도 발달하는 게 느껴진다.

3. 포항 송도 해수욕장

5월 황금연휴 때 고향을 방문해서는 포항 죽도시장을 찾아가서 회를 먹고, 근처의 송도 해수욕장을 방문했다. 단, 이 날도 하필 흐리고 비가 내려서 맑은 풍경은 구경하지 못했다.

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

‘송도’라는 이름의 해수욕장이 부산뿐만 아니라 포항에도 있다.
포항 송도 해수욕장은 과거에 피서지로 굉장한 인기를 누렸지만 수질 악화와 모래 유실 문제로 인해 2007년부터 사람의 입수가 금지되고 그냥 산책용 해변 공원으로 전락했던 이력도 있다. 그러다가 복원 공사를 거쳐서 2012년부터 재개장 했다고 한다.

송도 해수욕장에서는 저 멀리 포항제철 공장이라고 해야 하나 부두가 보인다.
여기 말고 또 포항 시가지에서 비교적 가까운 해수욕장으로는 더 북쪽의 ‘영일대’ 해수욕장이 있다.

사용자 삽입 이미지

송도 해수욕장의 중앙 입구에는 자유의 여신상..이 아니라 “평화의 여신상”이라는 석고상이 세워져 있다. 처음 봤을 땐 굉장히 인상적이었다.

검색해 보니 이건 무려 1968년 7월부터 건립되어 세워져 있었다고 한다. 그런데 누가 왜 무슨 사연이 있어서 무엇을 모티브로 따서 이런 걸 만들었는지가 전혀 나와 있지 않다. 게다가 원래 있던 동상은 너무 낡아서 폐기 처분했고, 지금 것은 2015년에 다시 만든 것이다.

저 여인은 나체..는 아니고, 수영복이나 레오타드를 걸친 모습인 듯하다. 옛날 사진을 보면 한때는 저 월계수 가지가 사라지고 없던 적도 있었다.

4. 경주 황성 공원

작년 가을 추석 때 풍경 사진을 올린 적이 있었지만 이번에도 재탕한다. 여기는 경주 최고의 쉼터인 것 같다. 딱히 신라 시대 유물과 관계가 없고 산이나 강변도 아닌 넓은 부지가 어떻게 숲과 공원으로 조성되었는지 궁금할 따름이다.

사용자 삽입 이미지
 산책로를 조금만 벗어나면 짱박힐 곳이 많다. 개인적으로 여기 으슥한 곳에 들어가서 돗자리 깔고 침낭 덮고 노숙을 해 봤다. 이곳은 이른 새벽부터 산책과 운동을 하러 오는 사람들이 즐비하니, 노숙을 할 거면 눈에 안 띄게 잘 짱박혀야 한다.

서울의 청계천, 중랑천, 한강 공원만큼이나 여기도 북천과 형산강을 따라 자전거 도로와 넓은 풀밭(고수부지? 둔치?)가 만들어져 있다. 특히 형산강 둔치의 풀밭은 정말 넓고 주차도 걱정 없어서.. 본인이 언젠가 저기서 텐트 치고 야영을 할 거라고 단단히 작정을 한 상태이다.

이상. 공원 답사만으로 또 긴 글이 완성됐다.

Posted by 사무엘

2020/05/25 19:33 2020/05/25 19:33
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1755

신명조(바탕체) 이야기

바탕체, 명조라고 불리는 한글 서체는 우리가 책의 본문에서 수십 년 동안 무수히 접해 온 친숙한 글꼴이다. 요즘이야 맑은 고딕, 함초롬바탕, 나눔명조 같은 여러 본문용 글꼴 때문에 존재감이 작아지긴 했지만, 그래도 화면보다 더 보수적인 출판물에서는 어떤 형태로든(신명, 윤디자인, 산돌 등) 오리지널 명조가 여전히 본좌이다.

명조도 다 같은 명조가 아니다. 모니터나 프린터의 해상도가 낮고 컴퓨터의 메모리가 부족하던 시절에는 획 모서리의 세리프만 어설프게 흉내 내고 전반적인 자형은 굉장히 투박하고 엉성한 야메 명조밖에 볼 수 없었다. 그런 한계가 없어지면서 디자이너의 아날로그 원도와 별 차이 없는 미려한 명조체를 볼 수 있게 됐다.

1. 한글

PC에서는 아래아한글 2.x(전문용)와 Windows 95를 통해 한양 시스템 신명조가 가장 널리 퍼졌었다.
1993년에는 아래아한글 2.1이 출시되었는데, 이때는 한양 시스템뿐만 아니라 휴먼 컴퓨터에서 개발한 서체들이 대거 도입되었다. 그 중 '휴먼옛체'는 워낙 개성 넘치고 큰 인기를 끌었던 서체이며..

사용자 삽입 이미지

휴먼샘체, 팸체, 안상수체처럼 한글에 가변폭 글꼴이 등장한 것도 굉장히 파격적이었다. 1990년대에는 안상수체 같은 글꼴이 꽤 참신한 미래지향(?) 서체라고 각광받아서 간판이나 책 제목에 종종 쓰이곤 했다.
이런 것들을 PC에서 저렴한 가격으로 최초로 선보였던 아래아한글은 실로 대단한 일을 해냈었다. 비록 그 시절 물가로 거의 30만 원에 육박했던 전문용 에디션 한정이었지만 말이다.

이런 서체들에 비해, '휴먼명조, 휴먼고딕'은 아무래도 기존의 신명조, 중고딕(한양 서체)과 외관상 거의 분간이 안 되니 존재감이 미미했다. 그래도 한양 서체와 휴먼 서체는 완전히 똑같지는 않았으며, 미세하게 차이점이 있었다.

사용자 삽입 이미지

굳이 따지자면 휴먼명조가 한양 신명조보다 '약간 덜' 미려하고 완성도가 낮았다. 하지만 어차피 깨알같은 본문용 글자의 크기와 해상도에서 그 차이는 일반인에게 거의 분간되지 않는 미미한 수준이었다.
그러면서 휴먼명조는 그 대신 크기가 더 작고 래스터라이즈 부담이 더 적으며 저해상도 출력에도 더 최적화돼 있었다. 그래서 위의 그림에서도 작은 크기에서 휴먼명조의 '명, 조, 맥' 같은 글자가 한양보다 미세하게나마 더 깔끔하고 획이 균일하다.

애초에 한양 신명조는 한 글자씩 일일이 그린 완성형으로 2350자밖에 표현할 수 없는 반면, 휴먼명조는 조합형 구조여서 한글 11172자 전체를 표현할 수 있었다. 똠 햏 뷁 같은 글자를 표현하려면 싫어도 휴먼명조를 써야 했다.
이 정도면 그 당시에 휴먼명조의 존재가 충분히 가치가 있었을 것이다. 휴먼명조만 해도 Windows 3.1 시절의 투박한 바탕체(큐닉스..)에 비하면 훨씬 더 미려하고 외형과 성능을 모두 잡았었다.

그런데 1994년의 딱 아래아한글 2.5 (+ 어쩌면 그 다음 3.0까지도)에서는 어찌된 영문인지 한양 신명조가 아예 빠져 버리고, '신명조'를 고르건 '휴먼명조'를 고르건 무조건 '휴먼명조'가 선택되곤 했다. 즉, 목록상으로는 두 글꼴이 모두 있지만 둘의 차이는 나지 않는 것이다.

둘은 외형도 비슷하고 모든 글자들의 폭도 어차피 동일하니 일반인들이야 이런 일이 있었다는 걸 모를 것이다. 그 시절에 왜 그랬는지는 지금도 의문이다.
그러다가 나중에 한양 신명조와 휴먼명조는 다시 구분이 생겨서 오늘에 이르고 있다. 단지, 한양 신명조가 잠시 누락된 적이 있었던 것은 본인의 기억에 확실하게 남아 있는 역사 팩트이다....라고 썼는데,

오, 인터넷을 뒤져 보니 물증이 있다.
아래아한글 2.5의 예제 문서를 열어 놓은 스크린샷이 굴러다니는데, 저 때는 아예 대놓고 '휴먼명조 = 신명조'라고 쓰여 있다! 내 기억이 맞았다.

사용자 삽입 이미지

2. 영문

신명조에는 한글뿐만 아니라 그와 어울리는 영문 서체도 있다. 아래아한글에서 신명조, 그리고 Windows가 깔린 컴퓨터에서 '바탕'만 고르면 볼 수 있는 그 익숙한 서체 말이다.

그런데 얘는 미국 같은 영어권 국가에서 즐겨 쓰이는 서체는 아닌 것 같다. 걔네들은 책 본문은 Times Roman이 압도적인 본좌이며, 거기에다 Bookman, Century, Palantino (Book antiqua와 아주 비슷)가 가끔 꼽사리로 끼는 정도다. 그럼 '영문 신명조'는 원조가 무엇일까?

사용자 삽입 이미지

본인이 실물을 직접 보지는 못했지만 과거에 미국에서 여권을 발급받으면 이렇게.. “미합중국 여권만 있으면 (지구상에 못 가는 곳이 없고) 세계가 몽땅 님하의 것입니다!”라는 캐간지 안내문이 딸려 나왔다.
그런데 저렇게 천조국의 위상을 자랑하는 문구의 서체가 통상적인 유럽풍이 전혀 아니고 완전 빼박 한국 신명조 바탕인 적이 있다는 게 난 너무 신기했다. 바로 저거 말이다. 기울여 쓴 게 이탤릭도 아니고 오블리크다.. 설마 진짜 '바탕'을 써서 인쇄한 걸까? (지금은 딴 서체로 바뀐 듯함.)

사용자 삽입 이미지

그리고 한 1990년대 초반까지 옛날 미국 컴퓨터 잡지 같은 출판물을 보면 이런 신명조 풍의 서체를 생각보다 자주 볼 수 있었다.
본문 기사보다는 저렇게 광고 문구에 더 많았던 것 같다. 위의 그림은 잡지 제목은 기억 안 나고 워드퍼펙트가 Windows용으로 처음 출시됐다는 광고이니 시기가 대충 짐작이 될 것이다.

영미권에도 저런 서체가 분명 있긴 했다는 것이다. 그러니 저게 한글 신명조와 pair가 되기도 했고 말이다.
저건 누가 만든 무슨 이름의 서체일까? 본인은 아직 정보가 없고 궁금하다.
그 흔해빠진 명조 하나 갖고도 얘기할 게 생각보다 많이 있었던 셈이다.

Posted by 사무엘

2020/05/23 08:33 2020/05/23 08:33
, , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1754

1. life 생명 or 삶

life라는 영어 단어는 잘 알다시피 생명· 목숨뿐만 아니라 삶· 인생이라는 뜻까지 포함하고 있다. 마치 heart의 의미가 심장에서 더 나아가 마음도 되는 것처럼 말이다.

"동사 live vs 명사 life"는 한국어로 치면 "그리다 vs 그림"과 비슷한 호응 관계인데, 같은 맥락에서 "살다 vs 삶, 일생, (한)살이"가 대응한다고 보면 정확하다.
그러고 보니 옛날에는 "배추흰나비의 한살이"처럼 '한살이'라는 단어도 있었는데 요즘도 쓰이나 모르겠다. 사전을 찾아 보니 아예 곤충의 일생 변태 과정만을 일컫는 전문 용어처럼 기재돼 있네..

생명을 갖고 있는 동안 누리게 되는 것이 삶· 인생이니 둘은 분명 별개의 개념은 아니다. 하지만 이들은 그래도 동일 개념을 서로 다른 관점에서 접근한 용어임이 틀림없다.
본인의 언어 직관이 크게 어긋나지 않는다면, 일반적으로 목숨· 생명은 '하나'뿐이라고 말하고(개체, 개수), 인생은 '한 번'뿐이라고 말하는 경향이 있어 보인다(기간, 횟수).

기독교는 사후 세계와 혼의 불멸을 가르친다. 그렇기 때문에 하늘 아니면 지옥에서 시작되는 life after death라는 말도 있다. life가 오로지 이 세상에서의 생물학적 생명만을 가리키는 건 아니기 때문에 저런 용어가 모순으로 빠지지 않을 수 있다.

잠 4:23 issues of life를 좀 의학· 생물학적인 편견을 갖고 접근하면 지금 흠정역 성경 번역처럼 '생명의 근원'이라는 뜻이 들어온다. 그러나 인문· 사회학적 편견을 갖고 접근하면 '인생의 온갖 얘깃거리 이슈들'...;;이라는 뜻도 들어오게 된다. 뭐, 그래도 저건 다의어 관계이지, 무슨 동물 염소와 원소 염소 같은 동음이의어까지는 아니겠다.

약 4:14에서 말하는 '한낱 수증기나 다름없는 너희 life'도 그런 중의성을 지닌다. 일단 저기 문맥은 "실컷 잘 먹고 잘 살아도 죽어 버리면 말짱 헛일이다"라는 마 16:26, 눅 12:19-20과 비슷하다. 혼과 직접 대응하는 건 생명이지만, 정말 수증기· 이슬처럼 짧고 덧없다는 것을 강조하는 대상으로는 인생이 적합해 보인다.

사람이 예수 믿고 구원받으면 거듭나고 새로운 life를 얻는다고 하는데.. 이와 관련해서도 흥미로운 대조를 이루는 찬송가 쌍이 존재한다.
하나는 그 유명한 “나 이제 주님의 새 생명 얻은 몸”이다. 얘는 life를 생명· 목숨이라고 봤다. 작사자는 <부름 받아 나선 이 몸>의 작사자이기도 한 이 호운이며.. 작곡자는 오빠 생각, 제헌절 노래 등의 작곡자이고 포항제철 초대 회장과는 동명이인인 박 태준이다.

다른 하나는 “주님 품에 새 생활 하네”(John W. Peterson)이다. 얘는 아까 전자와 달리 외국곡 번역인데, 가사 내용을 보니 어째 life의 대응으로 '생활'이 쓰였다. 두 곡 다 과거의 죄악된 삶을 청산했다는 말과, "옛 것은 지나고 새 피조물이 되었다"(고후 5:17) 인용이 들어있다.
하지만 전자는 관점이 관점이어서 멜로디가 좀 웅장하고 감격스럽고 씩씩한 느낌인 반면, 후자는 그 뒤의 지속적인 생활(지구력)을 강조해서 그런지 평안하고 조용한 분위기이다. 흥미로운 차이점이다.

2. 순우리말

뭍(육지 land), 얼개(structure), 고장(기계 고장 말고, 지역 region), 연모(도구), 까닭(이유), 미련하다, 미쁘다...
내가 초딩 꼬맹이였을 때 책에서 봤던 단어들인데, 21세기에 태어난 애들은 저런 단어를 들어 본 적이 있을까?
이런 식으로 안 쓰이고 사라지는 순우리말이 좀 더 있는 것 같다. 멸종 위기 동물처럼..

한국어에서 '짜장'은 짜장면의 재료가 아니라.. 원래 지금으로 치면 'indeed, 레알'에 가까운 부사였다! {... 그것은 짜장 그 손에 넘는 짓이니, “아 웬 궐련은 이래.” 하고 슬쩍 눙치며, “성냥 있겠나?” 일부러 불까지 거 대게 하였다.} 김 유정의 소설 <만무방>(1935) 중에서..
하지만 이제 짜장은 '자장면'의 현실화 표기로 바뀌었다. 부사 '짜장'은 '바이'(전혀 never)만큼이나 사어가 된 셈이다.

'물매'는... 내 기억이 맞다면 정말 의외로.. 정석 책에서 한번 본 적이 있다. 그런데 그걸로 끝.. 다시는 출판물에서 저 단어를 접하지 못했다.
안 그래도 일본 책 베꼈다는 논란이 있는 교재에서 만약 그 의혹이 사실이라면, 그래도 번역 로컬라이징은 최소한의 신경을 썼다는 뜻이 되겠다.

참고로 '거리'도 순우리말은 street이고 한자어는 distance이다. 뭐, '거리'는 멸종 위기는 아니다.
'구조'는 structure과 rescue 모두 한자어임.
한편, '지레', '도르래' 같은 물리 장치는 어째 한자어 없이 순우리말이 정착해 있다.

3. 땀

발명가 토머스 에디슨이 남긴 말 중에 “천재는 99%의 노력과 1%의 영감으로 이뤄진다”가 있다.
이 말의 진짜 의미가 대외적으로 심하게 왜곡됐다는 식으로 얘기가 많은데.. 이 글에서는 그런 뉘앙스 말고 단어와 관련된 얘기만 좀 늘어놓도록 하겠다.
위의 말의 영어 원문은 1% inspiration과 99% perspiration이라고 한다. 즉, 1%가 99%보다 먼저 언급되며, 후자도 직접적인 의미는 노오오력이라기보다는 땀이다. (뭐, 그 말이 그 말이긴 하지만)

또한, 한국어 번역으로는 전혀 느낄 수 없지만 두 단어가 -spiration이라는 라임을 형성하고 있는 것이 매우 인상적이다. 땀이라 하면 sweat밖에 모르는 본인 같은 사람에게 perspiration은 좀 생소한 단어이다.

말이 나온 김에 관련 썰을 좀 더 풀자면..

  • : ‘포카리스웨트’는 마치 애니콜처럼 영어권 본토인이 들으면 고개를 갸웃거리게 하는 작명이라고 한다. 맑고 시원한 이온 음료의 이름에다가 하필 더럽고 찝찝한 느낌이 드는 땀이라는 단어를 넣었으니 말이다. 교회의 이름이 누룩 교회, 소프트웨어 개발사의 이름이 버그 소프트, 블루스크린 시스템즈인 것과 비슷하지 않을까? ㅡ,.ㅡ;;
  • 영감: 내가 지금까지 들은 영감이라는 단어를 들은 곳은 (1) 저 에디슨의 격언, (2) '개그만화 보기 좋은 날'에서 우사미짱이 눈깔 모양이 변하면서 쿠마키치를 범죄 용의자로 잡아내는 영감, 그리고 (3) 딤후 3:16이 말하는 성경의 영감 정도이다. ㄲㄲㄲㄲ

4. 영어 어휘

다음으로, 영어에서 좀 므흣하게 느끼는 면모를 개인적으로 발견한 걸 더 나열하자면 다음과 같다.

  • 학창 시절 이래로 지금까지 한 번도 진지하게 생각한 적이 없었는데.. toward와 towards의 차이는 과연 뭘까? 신기하다. 하는 일은 거의 같고 어감상의 차이만 존재하며, 비슷한 예로는 upstair / upstairs 쌍도 있다! 마치 한국어에서 도트와 닷이 나뉘는 것 같은 현상이 영어에서 저런 게 아닐까 싶다.
  • gold는 그 자체가 금속 명사와 금색/금 재질이라는 형용사가 되지만, golden이라는 말이 또 따로 있다. silver는 그렇지 않은데 말이다. 황금도끼 고전 게임이 golden이라는 단어를 크게 대중화시켰다. 방향에도 east+ern, north+ern 같은 형용사 바리에이션 쌍이 존재하는 게 인상적이다.
  • behalf, sake 같은 단어는 for the sake of, for one's sake 이런 식으로만 쓰이는 게 한국어 문법 용어로 표현하자면 영어의 의존명사나 다름없는 물건으로 보인다.
  • shall은 뭐.. should/will과 비교했을 때 고어체로 치부되면서 거의 죽어가는 게 확실하고.. 현재로서는 shall I/we 같은 의문문에서나 쓰이는 불완전동사처럼 돼 간다.
  • behind는 '바하인드'라고 읽히는 경우가 굉장히 잦은 것 같은데 사전에 딱히 반영돼 있지는 않아 보인다. 정관사 the는 굳이 모음이 아니어도 '더'가 아닌 '디'라고 읽는 경우가 많다.
    다른 언어를 공부해 보면 영어처럼 정관사가 더/디 바리에이션 정도밖에 없는 건 굉장히 단순하고 쉬운 양반이란 걸 알 수 있다.

5. company

영어로 '기업, 회사'를 나타내는 단어 company는 "빵(pany) 을 함께 나누다(com-)"라는 어원에서 유래되었다는 것..
알 만한 분들은 아실 것이다. 월트 디즈니 컴퍼니, 이스트 인디아 컴퍼니 등..

쉽게 말해 저 com은.. 공산주의를 가리키는 코뮤니스트, 베트'콩',
경성 '콤'그룹(일제 말기 때 만들어졌던 공산주의 성향 항일 비밀결사 단체) 할 때 그 '콤'과도 같은 어원이다.

난 컴퍼니의 어원이 저렇다는 것을 먼 옛날에 오 성식 생활영어 교재에서 처음 접했다.
'빵'은 포르투갈어에서 유래된 단어이며, 저분이 원래 외대 포르투갈어 전공 출신이기도 하니 어원이 더욱 쉽게 눈에 들어왔지 싶다.
지금처럼 지식과 정보가 인터넷으로 넘쳐나지 않던 옛날엔 그런 소소한 팁이나 유래 잡학, 외국 경험담도 희귀했었다.

상표명인 '꼼빠니아'는 동일 어원의 단어를 스페인어식으로 읽은 것인데, 회사뿐만 아니라 영어로 companion에 가까운 '동반자'라는 뜻도 있다. 저 상표가 의도한 의미는 '동반자'이다.

성경에 행 2:42,46을 보면 회사가 아니라 초대 교회 지체들이 company의 정의에 완벽하게 부합하게 한 빵을 떼어서 같이 나눠 먹었다고 나온다. 본문의 주변 문맥을 보면, 이때는 공교롭게도 교회도 일면 사회· 공산주의스럽게 재산을 전부 한데 공유하던 시절이었다. 다만, 이건 체제 전복 혁명 과업, 인민 해방 이러는 흉악한 공산주의와는 아무 상관 없는 사건이었다.

아무튼, 인류 역사에서 회사· 기업이라는 조직의 첫 시작과 취지· 이념은 교회나 공산주의 만만찮게 "함께 빵을 나누는 조직"이었다. ㅎㅎ 한국어의 '식구'와 비슷한 개념이다.

6. 세부적으로 구분하는 것과 구분하지 않는 것

  • give vs 줘/내놔: 강도가 피해자를 털 때는 "돈 내놔"라고 하지, "돈 줘"라고는 절대로 말하지 않는다. 전자는 더 적극적으로 강압적으로 빼앗겠다는 뉘앙스가 담겨 있다.
  • wear vs 입다 쓰다 신다 끼다 착용하다: 흠.. 더 이상의 자세한 설명은 생략한다.
  • : 한국어로는 다 똑같지만 영어로는 먹는 독 poison과 동물에게 물려서 주입된 독 venom을 구분해서 표현한다. 그리고 화상을 입어도 불에 데이는 burn과 물에 데이는 scald를 구분해서 표현한다.

7. 외래어

집에서 바깥과의 경계가 벽이 아닌 난간으로 구성돼 있고, 장판이 아닌 타일이 깔려 있고 집안이라기보다는 반쯤 바깥인 그 공간을 우리는 무엇이라고 부르는가?
베란다와 발코니가 정말 별 구분 없이 섞여 쓰이는 것 같다. 원래는 둘은 어묵과 오뎅만큼이나 서로 다른 개념을 가리키는데 말이다. 발코니가 더 영어에 충실한 단어이지만 개인적으로는 베란다가 더 자주 들었고 더 친숙하다.

하긴, 가방· 담배· 구두조차도 원래는 외래어라는 게 놀랍기 그지없다. 껌은 영어 어원이 분명하니 외래어라는 인식이 있지만, 비슷한 단어인 빵은 외래어라는 인식이 우리의 기억 속에서 상대적으로 덜하다. 이렇게 생각하면 외래어라는 것도 의외로 별것 아니고 정하기 나름인 개념일 뿐인 건지도 모르겠다.

8. 틀리기 쉬운, 혹은 틀린 채로 굳어져 버린 외래어 표기

  • algorithm: 어쩌다가 '-듬'이 '-즘'이라고 바뀌어 버렸는지 모르겠다. 음악 용어 리듬을... 리즘이라고 부르지는 않는데..
  • basic: 원어 발음엔 Z 소리가 전혀 들어있지 않다. 스펠링 그대로 '-식'이 맞는데 현실에서는 '-직'으로 굳어져 버린 것 같다.
  • message, sausage: 스펠링이 A여서 좀 혼동의 여지가 있어 보인다만.. '-세-'가 절대 아니고 '-시-'가 맞다. 메시지, 소시지.
  • super-: 원어 발음엔 반모음이 들어있지 않다. 슈퍼마켓, 슈퍼맨..이 아니라 원래는 그냥 수퍼마켓, 수퍼맨이 맞는데 저건 흠..
    비슷한 예로 비젼이 아니라 비전, 캡쳐가 아니라 캡처, 쥬스가 아니라 주스(juice), 죠스가 아니라 조스(jaws)이다.

자음이 ㅈ 소리로 바뀌는 구개음화라는 건 한국어에만 존재하는 현상은 아니다. 일본어는 더해서 TR 소리조차 츄리닝 츄레라 같은 식으로 바뀌어 왔다.
쿵 퓨리에서 히틀러가 "전화기 내놔" 이럴 때 give me the phone을 "더 폰"이 아니라 "저(ze!!) 폰"이라고 발음하던 게 생각난다. ㅋ

Posted by 사무엘

2020/05/20 08:35 2020/05/20 08:35
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1753

Windows에는 우리가 생각하는 것보다 훨씬 더 세밀한 UI 옵션들이 가득하다.
사용자의 취향과 컴퓨터의 성능을 고려하여 처음에는 옵션으로 도입됐다가 나중에는 그냥 '답정너 무조건 적용'이나 다름없게 바뀐 옵션의 대표적인 예는 "마우스로 창의 위치나 크기를 변경하는 것을 즉시 반영"이 있다.

마우스가 움직일 때마다 큼직한 창을 매번 다시 그리는 건 198, 90년대의 PC 사양으로 감당하기에는 계산량과 부하가 버거운 작업이었다. 그래서 처음에는 XOR 연산으로 그려진 반전 윤곽선만 마우스 궤적을 따라 그려 주다가 왼쪽 버튼이 떼어졌을 때 실제로 반영하는 형태로 move/resize 기능이 구현되었다. 이 동작을 기억하는 분도 계실 것이다.
그러다가 Windows 95에 와서야.. 그것도 Microsoft Plus!라는 확장팩을 설치한 뒤에 '즉시 반영'이 옵션 형태로 추가됐다.

그리고.. Windows XP에서는 타이핑을 시작했을 때 마우스 포인터를 화면에서 잠시 감춰 주는 자잘한 옵션이 추가되었다. 이건 딱히 성능하고 관계가 있는 옵션은 아니다만.. 텍스트 편집 기능을 자체 구현한 프로그램이라면 운영체제 차원에서 저 옵션이 켜졌는지 여부를 확인해서 저 동작을 지원해 줘야 할 것이다.

운영체제 제어판의 프로그래밍 버전 역할을 담당하는 함수는 SystemParametersInfo이다. SPI_GETMOUSEVANISH를 주면 포인터 숨기기 옵션이 켜졌는지 여부를 알 수 있다. 저 함수가 제공하는 거의 100가지가 넘는 옵션 상수들을 살펴보면 Windows의 UI의 변천 내력을 알 수 있다.
그리고 오늘 이 글에서 논하려 하는 것은 바로 그런 자잘한 UI 옵션 중의 하나인 UI state이다.

마소에서는 사용자에게 온갖 정보를 표시하는 것뿐만 아니라, 불필요한 정보를 가능한 한 숨기고 꼭 필요할 때만 표시하는 것에도 많은 관심을 갖고 연구한 듯하다.
그래서 사용자가 키보드 타이핑을 할 때는 마우스 포인터를 숨기고, 반대로 마우스를 주로 사용하는 것으로 보일 때는 키보드 조작과 관련된 시각 요소들을 숨기는 게 낫겠다는 생각을 하게 됐다.

키보드 조작과 관련된 시각 요소라니? 두 종류가 있다. 하나는 메뉴나 대화상자에서 Alt 단축키를 나타내는 글자 밑의 밑줄이고.. 다른 하나는 현재 키보드 포커스를 나타내는 점선 사각형이다.

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

이런 것들은 없는 게 시각적으로 깔끔하며, 사실 맥OS에는 저런 게 전혀 존재하지 않는다. 하지만.. 걔네들도 키보드 조작에 도움을 주는 정보이니 하루아침에 싹 없애 버릴 수는 없다.
그러니 절충안은.. 일단 숨겼다가 필요할 때만 표시하는 것으로 귀착된다.

하긴, 메모장이나 날개셋 편집기처럼 운영체제의 표준 메뉴를 사용하는 프로그램들을 살펴보면.. "파일(F) 편집(E)" 같은 항목에서 F, E에 쳐진 밑줄도 평소엔 보이지 않다가 사용자가 Alt를 눌렀을 때에만 표시되는 걸 볼 수 있다. 뭐, 요즘은 아예 메뉴가 통째로 보이지 않다가 사용자가 Alt를 눌렀을 때만 표시되는 프로그램도 있지만 말이다.

그리고 아래아한글은 대화상자의 단축키들이 Alt를 누르고 있는 동안만 잠깐 보이고, Alt에서 손을 떼는 순간 사라진다.
MS Office 프로그램은 문서 편집 화면에서 Alt를 단독으로 눌렀다가 떼면 리본의 기능들에 할당된 단축키들이 표시되는데, 이건 대화상자보다는 메뉴의 단축키 동작을 흉내 낸 것에 가깝다.

UI state는 저런 것들과 완전히 같지는 않지만 비슷한 상태와 동작을 다룬다.
Windows에서 돌아가는 모든 윈도우들은 UI state라는 숫자 형태의 속성을 갖는다. 이걸 얻어 오려면 자기 윈도우에 대해서 WM_QUERYUISTATE 메시지를 보내면 된다. 그럼 운영체제가 답변해 준다(wParam, lParam 없음. 리턴값만 확인하면 됨). 딱히 우리가 customize할 필요가 없는 메시지이니, SendMessage 대신 그냥 DefWindowProc에다가 바로 줘 버려도 된다.

리턴값은 비트 플래그 형태이다. 포커스 테두리를 그리지 말 것을 지정하는 UISF_HIDEFOCUS (1), 그리고 단축키 밑줄을 그리지 말 것을 지정하는 UISF_HIDEACCEL (2)를 살펴보면 된다.
Windows XP부터는 UISF_ACTIVE (4)라는 것도 추가됐다고 하지만 개인적으로는 의미나 용도를 전혀 모르겠다. “A control should be drawn in the style used for active controls.”라는 설명만 봐서는 이해가 잘...

static/label 컨트롤은 자체적인 포커스가 없으니 Alt 단축키 밑줄만 신경 쓰면 될 것이고, 아이템을 표시하는 리스트박스, 트리 컨트롤 같은 물건은 포커스 테두리만 신경 쓰면 될 것이다.
그에 비해 버튼(push, radio, checkbox 모두)은 단축키 밑줄과 포커스 테두리를 모두 관리해야 할 것이다. 반대로 에디트 컨트롤은 저런 걸 신경 쓸 필요가 전혀 없을 것이고..

포커스 테두리야 DrawFocusRect 함수를 이용하면 간편하게 그릴 수 있고, &가 섞인 문자열에 대해서 단축키 밑줄을 같이 그리거나 생략하거나(DT_HIDEPREFIX) 심지어 단축키 밑줄만(DT_PREFIXONLY) 그리는 건 DrawText의 여러 플래그들을 사용해서 간편히 구현 가능하다.

그런데 사용자가 대화상자에서 alt나 tab(포커스 테두리) 같은 글쇠를 누르면 그 대화상자 내부의 컨트롤 윈도우들은 감춰 놨던 보조 요소들을 표시하도록 UI state가 바뀌게 된다. tab은 포커스 테두리만 건드리지만 alt는 포커스 테두리와 단축글쇠 밑줄을 모두 건드린다. 한번 표시된 보조 요소들은 다시 숨겨지지 않는다.

이렇게 UI 상태가 바뀌었음을 나타내는 메시지는 바로 WM_UPDATEUISTATE이다. 얘는 우리가 생성하는 게 아니라 운영체제가 보내 주는 메시지이다. 어떤 플래그가 켜지거나(UIS_SET) 꺼졌는지(UIS_CLEAR)를 wParam 값을 통해 알 수 있으니 자세한 사항은 검색해서 구체적인 스펙을 찾아보면 된다.

이 메시지를 DefWindowProc에다가 넘겨 주면 우리 윈도우의 UI state값이 그렇게 변경되며, 동일 메시지가 우리의 child 윈도우들로 전파된다. 다시 말해 WM_QUERYUISTATE의 리턴값은 WM_UPDATEUISTATE를 DefWindowProc에다 요청하기 전과 후가 서로 달라진다는 것이다.
이 메시지를 받았을 때 우리 윈도우가 해야 할 일은, 우리 윈도우의 외형 중에서 그런 UI state의 영향을 받는 게 있는 경우 해당 부분을 다시 그리는 것이 전부이다. 해당사항 없으면 그냥 무시하면 된다.

alt와 tab이야 대화상자에서의 공통 단축글쇠이다. 이때 윈도우의 UI state를 변경하는 것은 IsDialogMessage 함수가 알아서 처리하는 것이라고 쉽게 유추할 수 있다.
그것 말고 우리 윈도우 내부에서도 자체적으로 UI state를 변경해 줘야 할 때가 있다. 사용자가 화살표 키 같은 걸 눌렀을 때 말이다. 이때는 WM_CHANGEUISTATE라는 메시지를 나 자신에게 보내면 된다. wParam에다가는 WM_UPDATEUISTATE와 동일한 스타일로 변경된 플래그를 주도록 한다.

DefWindowProc에서는 이 메시지를 부모 윈도우로 보낸 뒤, 최상위 윈도우에서는 메시지를 WM_UPDATEUISTATE로 바꿔서 자식들로 다시 전파한다. 이런 절차를 거쳐서 대화상자에 있는 모든 윈도우들의 UI state가 동기화된다.

지금까지 얘기했던 것들을 정리하면 이렇게 요약된다.
UI state를 인식해서 동작하는 컨트롤을 직접 구현하고 싶은 경우, WM_QUERYUISTATE를 호출하면 자신의 UI state 값을 얻을 수 있다. 그리고 WM_UPDATEUISTATE가 왔을 때 적절히 화면을 다시 표시하면 된다. 그리고 자기 자신이 UI state를 변경하고 싶은 경우, WM_CHANGEUISTATE를 보내면 된다.

모든 윈도우 메시지들은 DefWindowProc으로 가도록 하면 된다.
대화상자의 경우, 마우스 클릭으로 명령을 내려서 연 경우 저런 보조 요소들이 숨겨진 상태로 시작하며, 그렇지 않고 키보드로 열었다면 이들이 표시되어 있다.

이런 UI state 변경 메시지들과 관련 기능들은 Windows 2000에서 최초로 도입됐다. 9x/ME/NT4 시절에는 존재하지 않았다는 뜻이다. layered window, 마우스 포인터 아래의 그림자, fade out되며 사라지는 메뉴도 다들 2000에서 도입된 기능이다. 2000이 XP 같은 테마는 없었지만 그래도 소소하게 바뀐게 많다는 걸 알 수 있다.

이런 동작은 SystemParametersInfo(SPI_GETKEYBOARDCUES)에 값이 설정돼 있을 때만 행해진다. 제어판에서는 "Alt 키를 누를 때까지 키보드 탐색에 사용할 문자 숨기기"라는 이름의 옵션으로 존재한다. 이게 꺼져 있으면 UI state는 언제나 0으로 고정되며, WM_UPDATEUISTATE 같은 메시지가 오지 않는다.
처음에는 얘의 명칭이 SPI_GETMENUUNDERLINES이었다. 하지만 보다시피 단축키 밑줄뿐만 아니라 포커스 테두리 같은 요소도 추가되면서 명칭이 더 범용적인 'keyboard cue'라고 수정되었다.

이 기능 내지 API와 관련된 본인의 생각을 두 가지 정도 첨언하고 글을 맺도록 하겠다.

1.
라틴 알파벳처럼 음소 풀어쓰기 형태이고 키보드 글쇠와 글자가 일대일 대응하는 문자라면.. 간단하게 해당 문자를 곧장 단축글쇠로 지정해서 아래에 밑줄을 쳐 주면 된다. 하지만 한글· 한자 같은 문자는 그렇지 못하기 때문에 문자열 뒤에 단축글쇠를 별도로 추가해 줘야 한다. 파일(F) 편집(E)처럼 말이다.

이런 환경에서는 단축글쇠를 숨기려면 밑줄만 숨기는 게 아니라 (F), (E)를 통째로 감춰 버리는 게 훨씬 나을 것이다. 하지만 이건 문자열의 내용과 길이를 통째로 변경해야 하니 좀 난감할 수도 있다. 단축글쇠 영역이 기존 UI 문자열의 폭을 건드리지 않도록 별도로 돌출된 툴팁 같은 데다 표시해야 할 것이다.

2.
지금까지 글을 읽은 분이라면 눈치 채시겠지만,
UI state라는 건 앞서 언급했던 라벨, 버튼, 리스트 같은 공용 컨트롤이나 그에 준하는 물건을 새로 구현하지 않는 한.. 프로그래머가 접하거나 신경 쓸 일이 거의 없는 개념이다.
한 대화상자 아래에서 컨트롤들이 UI state가 제각각 달라야 할 일도 없고, 사용자가 WM_***UISTATE 메시지를 DefWindowProc에다가 전달하지 않고 동작을 override해야 할 일도 없다.

사용 패턴이 뻔히 정해져 있고 자주 쓰일 일도 없음에도 불구하고 관련 메시지가 안 그래도 공간이 부족한 시스템 메시지 영역에 3개나 들어가 있는 건 개인적으로 생각하기에 좀 낭비인 것 같다.
UI state는 그냥 GetWindowLongPtr 함수로(GWL_UISTATE) 얻게 해도 되고, WM_CHANGEUISTATE는 메시지 대신 함수가 담당하게 했어도 될 것 같다. 아니면 그 메시지조차도 SetWindowLongPtr로 대체하고 말이다.

내가 보기에 메시지 형태가 꼭 필요한 건 WM_UPDATEUISTATE뿐인 것 같다.

Posted by 사무엘

2020/05/17 08:32 2020/05/17 08:32
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1752

1. 에러 메시지의 친근성

먼 옛날 도스 시절에는 명령 프롬프트에서 파일 이름이나 명령을 잘못 입력하면 갖가지 에러 메시지들을 볼 수 있었다. 제일 흔한 건 Bad command or file name... 아무말이나 입력하고 엔터 누르면 볼 수 있으니 말이다.
오늘날 Windows의 명령 프롬프트에서 XXXX is not recognized as an internal or external command, operable program or batch file이라고 정말 길고 정황하게 나오는 그 메시지가 옛날에는 저렇게 간결하고 무뚝뚝하게 나왔던 것이다. bad가 뭐냐 도대체.. ㅡ,.ㅡ;;

유닉스 계열만 해도 XXX: command not found 내지 XXX: no such file or directory로 나뉘어 있으나.. 도스는 그 특성상 파일 실행과 명령의 구분이 없는 관계로, 단일 메시지에 파일과 명령을 모두 포함해야 했던 것이다.
그런데.. 그렇게 문장 한 줄만 뜨고 아무 뒤끝 없이 프롬프트로 돌아오는 에러와 달리.. 어떤 에러는 Abort? Retry? Ignore? 이러면서 사용자를 물고 늘어지고 놔 주질 않았다. 이게 초딩 시절엔 굉장히 무섭고 강압적으로 느껴졌다.

이런 무서운 에러는 디스켓과 관련해서 자주 볼 수 있었다. 드라이브에 디스켓을 넣지 않은 상태에서 A: 같은 드라이브 변경을 시도했거나.. 아니면 디스켓 파일을 복사하던 중에 오류가 발생했을 때도 저런 사태가 벌어졌다. 디스크 에러와 데이터 에러라는 게 있었는데, 둘의 차이는 지금 생각해 봐도 오리무중이다.

사용자 삽입 이미지

위의 그림은 도스/Windows 9x vs 오늘날 NT 계열 Windows에서 각각 디스크 없이 FDD 드라이브 전환을 시도했을 때의 에러 메시지의 모습이다.
아 옛날에는 ignore이 아니라 fail이었구나... 아무튼 저런 차이가 있었다는 것이다.
옛날에는 디스켓이 거의 복불복 지뢰밭 수준으로 오류가 잦았으며, 일반 프로그램이 파일을 읽고 쓰다가 지뢰를 밟지 않도록 주기적으로 표면 검사를 해서 bad sector 기입을 해 주는 게 필수이기도 했다.

사실, 시스템 전체의 관점에서는 에러가 이런 식으로 발생하는 게 효율적이다. 무작정 실패 판정만 내리고 끝나는 게 아니라 말 그대로 디스켓을 집어넣을 기회를 다시 준다거나, 오류를 무시하고 일단 더 진행한다거나.. 그러는 게 더 유도리가 있으며, 사용자 친화적이기까지 하다. 사용자가 모든 경황을 아는 전문가라면 말이다.

하지만 초보자의 입장에서는 저런 말이 뜨면 뭘 해야 할지를 모르고, 그냥 다 끄고 명령을 내리기 이전 상황으로나 돌아가고 싶을 것이다. 그런데 저놈의 메시지는 Ctrl+C고 ESC고 뭘 눌러도 없어지질 않고.. UI 측면에서 좀 미스인 건 사실이다.

게다가 말들이 표현이 아주 세고 기계적이고 부정적이다. Abort는 무슨 약속 예약 취소 같은 걸 넘어서 하던 걸 다 때려치우고 철회, 중단한다는 뜻이다. 오죽했으면 낙태라는 뜻까지 있다. Ignore도.. 무시, 묵살, '씹기', 생까기 같은.. 절대로 좋은 어감이 아니다.

물론 어떤 장애물에 부딪혀서 일이 진행되지 않았을 때, 그냥 포기하거나, 한번 더 시도하거나, 그 장애물을 일단 제끼고 넘어가는.. 세 가지 방법 중 하나로 의사결정을 하는 것은 일상생활에서 존재하며 필요하다.
DOS가 없어지고 Windows로 바뀐 오늘날까지도 본인이 프로그래머로서 저 패턴의 메시지를 보는 것은 디버깅 중인 프로그램이 뻗었을 때.. 더 구체적으로는 assertion failure가 났을 때이다. Retry가 디버거 실행과 연결된다.

Windows 2000/ME에서는 Abort/Retry/Ignore(중단/다시 시도/무시 MB_ABORTRETRYIGNORE) 대신, Cancel/Try again/Continue(취소/다시 시도/계속 MB_CANCELTRYCONTINUE)라고 말이 다소 부드럽게 바뀐 메시지 박스가 등장했다. 기존의 표현이 바뀌지는 않았으며, 새로운 플래그를 사용하는 프로그램에서만 새로운 표현을 볼 수 있다. 사실, A/R/I라는 단축키가 도스 시절 이래로 아주 익숙하며, 새로운 표현은 CTC로 이니셜이 겹치기도 하니 말을 일괄적으로 변경해 버리는 건 좀 부담스럽기도 했을 것이다.

그런데 MessageBox의 리턴값까지도 IDRETRY와 별도로 IDTRYAGAIN을 추가하고 IDIGNORE뿐만 아니라 IDCONTINUE도.. 이름뿐만 아니라 값까지 서로 별개로 추가해 버린 것은 의외이다. 두 쌍은 용도가 완전히 동일한데도 말이다.
참고로 MessageBox의 후신격인 TaskDialog에는 표준 버튼으로 '재시도 try again'만이 도입되었고, ignoer/continue는 포함되지 않았다. 기존의 확인/닫기/취소 등으로 보편적인 의사결정은 다 표현할 수 있다고 간주한 듯하다.

지금이야 Cancel/Try again/Continue가 첫 등장한 지도 20년 가까이 지났다. 컴퓨터 대신 PC, 디바이스라고 하고 응용 프로그램도 그냥 앱이라고 하는 세상이다. 게다가 이제는 전통적으로 무뚝뚝함과 충격과 공포 그 자체이던 패닉 BSOD화면에도 이모티콘과 한글 메시지가 표시되는 세상이 됐다. press any key의 번역은 "... 누르십시오" 대신 "... 누르세요"로 바뀌었다. 여러 모로 격식이 없어지고 말이 친근하게 바뀌고 있는 것 같다.

하지만 C/C++ 프로그램의 디버그 빌드에서 assertion failure가 났을 때, 무식한 A/R/I 메시지박스와 함께 "Press Retry to debug this application"이 뜨던 건.. 깔끔한 task dialog로 바뀌는 날이 올지 모르겠다.
end user는 볼 일 없고 어차피 개발자들이나 보는 메시지이니 아무도 신경 안 쓰려나? =_=

2. 반응성과 존재감

어떤 소프트웨어가 인터페이스 내지 반응성 관점에서 사용자에게 좋은 인상을 주려면 자잘하게 뻗는다거나 화면 잔상이 생기는 버그가 없어야 하고, 키· 마우스 입력에 대한 반응이 신속해야 할 것이다. 반응성을 보장하기 위해 필요하다면 스레드 같은 것도 적절하게 활용해야 한다. 어지간해서는 5초 이상 반응이 없어서 '응답 없음' 판정을 받는 일이 없어야 한다.

마우스로 창 크기를 변경했을 때 너무 굼뜬다거나, 화면 전체가 지워져서 번쩍거리면서 그려진다거나 하지도 않아야 한다. 새로 그리는 게 시간이 너무 오래 걸리는 게 있으면, 스크롤 내지 크기 변경 중에는 뼈대만 간략하게 그렸다가 키보드· 마우스 버튼이 놓였을 때 다시 그려도 좋다.

그런데.. 이런 것들과 반대로, 눈에 보이지 않고 백그라운드에서만 몰래 돌아가는 프로그램에도 지켜야 할 덕목이 있다.
사용자가 직접 명령을 내려서 실행된 게 아닌 서비스, 업데이트 체크 같은 부류의 프로그램이라면 정말 절대적으로 사용자의 눈에 띄지 않아야 한다.

컴퓨터의 성능을 떨어뜨리는 티를 절대 내지 말아야 한다.
요즘 컴터는 코어가 많으니 한 프로그램이 코어 하나를 다 점유한다고 해서 당장 속도가 느려지지는 않는다. 하지만 컴터를 열받게 할 수 있고 배터리 소모를 증가시킬 수 있고, 냉각팬이 쓸데없이 돌아가게 만들 수 있다. 특히 노트북에서 말이다.

업데이트를 받더라도 무슨 당장 안 받으면 컴퓨터가 악성 코드에 감염되어 박살나기라도 하는 울트라 초특급 필수가 아니라면 아주 쉬엄쉬엄 찔끔찔끔 받도록 하고, 네트웍 상태가 안 좋아서 발생하는 딜레이가 UI의 딜레이나 CPU 쳐묵 대기 상태로 절대로 이어지지 않게 해야 한다.

이는 음악회에서 넘돌이 넘순이(페이지 터너..;;)가 연주자보다 더 돋보여서는 안 되고, 무슨 집회에서 통역사가 연사보다 더 돋보이지 말아야 하는 것과도 같은 이치이다.
인터넷 연결이 안 된 곳에서 Windows Update 서비스라든가, 구글 크롬 브라우저의 software report tool이 도대체 뭔 짓을 하느라 CPU 코어를 다 쓰면서 날뛰고 있었나 모르겠다. 현재로서는 요 둘이 내 블랙리스트에 올라 있다.

컴퓨터 프로그램은 n초 이상 응답이 없으면 저렇게 다운 의심 판정을 받게 되고, 운전자는 교차로에서 파란불 신호를 받고도 n초 이상 응답 없이 움직이지 않으면 뒷차로부터 경적 세례를 받고 욕 먹게 된다. 개인적으로는 이게 서로 비슷한 양상의 현상인 것 같다.

3. 이식성

로터스 1-2-3, dBase III+ 같은 프로그램은 한때 시대를 풍미했던 명품 업무용 소프트웨어였다. 하지만 도스에서 Windows로 넘어가는 변화를 따라가지 못하고 그대로 도태해서 사라졌다.

내가 듣기로는 이 두 프로그램은 긴 짬밥답게 주요 코드가 쑤제 어셈블리어로 한땀 한땀 작성됐다고 한다. 덕분에 1980년대에 컴퓨터가 느리고 비싸던 시절에는 잘 최적화돼서 쌩쌩 돌아갔겠지만, 훗날 이 코드는 구조 확장이나 유지 보수가 도저히 안 되는 지경에 이르렀다고 한다. 특히 dBase가 말이다.

이래 가지고는 Windows로 포팅은 물론이고 같은 도스에서 32비트로 갈아타는 것조차도 쉽지 않았을 것이다. 현재의 하드웨어에서 돌아가지만 시간이 그 상태 그대로 멈춰 버린 코드는 그야말로 오늘만 사는 죽은 코드나 다름없다.

운영체제 중에서 Windows 9x야 저사양 똥컴 x86만 겨냥한 특이한 변종이니 어셈블리어 최적화가 없으면 안 됐고.. OS/2도 잘 만들어진 32비트 OS이긴 하지만 이식성이 부족했다. 훗날 64비트니 ARM이니에 전혀 대처하지 못하고 그대로 묻혀 버렸다.

그러나 유닉스처럼 C/C++을 처음부터 주력으로 사용한 Windows NT는 비록 처음에 나왔을 때는 너무 무겁고 느리다고 욕 먹었을지언정, 결국 여러 아키텍처들을 거쳐 오늘날까지 천수를 누리는 운영체제 커널이 됐다. 미래를 대비한 것에 대한 보상을 받은 것이다.

이런 게 이식성의 힘이다. 다만, 이 2020년대에는 이제 x86 계열과 ARM 계열 말고 또 획기적으로 새로운 컴퓨터 아키텍처가 설마 등장할 일이 있을까 싶다. ARM은 전력 효율이 x86이 범접할 수 없을 정도로 좋긴 하지만, 그렇다고 x86을 완전히 대체할 정도로 범용적인 성능이 좋은 건 아니다. 그러니 결국 이 두 아키텍처가 64비트 형태로 끝까지 갈 것 같다.

4. Windows와 맥이 추구한 가치의 차이

과거에 비해 텃새랄까 격차가 많이 줄긴 했지만 그래도 사과가 그려진 맥OS 컴퓨터는 예술, 출판, 디자인 업계에서 오늘날까지도 Windows보다 강세이다. UI 비주얼이 간지 날 뿐만 아니라, 같은 글꼴을 써도 글자의 렌더링이 정말 고퀄인 것을 부인할 수 없다.
그런데 그 분야 말고 게임은.. 특히 모바일용 말고 PC용은 맥 진영이 절대 범접하지 못할 정도로 Windows가 강세이다.

물론 게임은 애초에 특정 업계 종사자만 쓰는 업무용 생산성 앱이 아니며, Windows는 게임을 즐기는 end user 고객의 점유율이 압도적으로 높은 운영체제이다.
오늘날의 결과만 놓고 보면 저런 점유율이 당연히 저절로 이뤄진 것 같지만 사실은 그렇지 않았다. 먼 옛날에 IBM 호환 PC라는 물건은 동시대의 다른 컴퓨터들에 비해 사용자의 눈과 귀를 현혹시키는 기술에는 그렇게 관심을 두지 않았었기 때문이다.

지금으로서는 믿어지지 않지만 한때 Windows 같은 멀티태스킹에 하드웨어 추상화가 갖춰진 복잡한 환경에서 현란한 게임은 어림도 없는 일이었다. 그렇기 때문에 1990년대 중반까지만 해도 PC용 게임은 하드웨어 자원의 독점이 가능한 도스용으로만 나왔다.

그리고 90년대 중반, Windows 95는 바로 이런 배경에서 출시되었다.
빌 게이츠는 가히 목숨을 걸고 Windows를 게임과 멀티미디어에 최적화된 홈 엔터테인먼트 운영체제로 만들려고 애썼다. 구닥다리 WinG로는 성이 안 차고 OpenGL은 그 시절엔 아직 업무용에다 NT의 전유물이었으니.. 거기서도 하드웨어 직통 액세스가 가능한 DirectX를 만들고 게임 개발을 위해 물심양면 지원을 했다. Doom을 만들어 냈던 이드 소프트웨어를 인수할 생각까지 했던 것도 유명한 일화이다.

이런 마소 진영에 비해, 맥은 클래식 시절이건 OS X의 개발 초창기이건 잡스 아저씨가 저렇게 게임에 눈독을 들였다거나, Doom을 자기 맥OS에서 꼭 구동하고 말겠다고 나선 적이 없다. 빌처럼 가정 소비자들의 취향을 저격하는 방법, 시장에서 팔리는 제품을 만드는 방법을 기를 쓰고 연구하기보다는 그냥 자신의 천재적인 감과 괴팍· 고상한 취향을 따라 제품을 만들었다. 다수의 보편적인 소비자보다는 소수의 골수 매니아 애플빠를 양성하는 노선을 추구한 듯하다.

5. 설치/배포 패키지

Windows Installer (msi)라는 기술이 개발된 게 20여 년 전 1999~2000년 사이의 일이다.
소프트웨어의 설치와 제거라는 게 '파일 열기/저장 대화상자'만큼이나 응용 프로그램들이 공통으로 요청하고 수행하는 기능이니, 이를 위한 공통의 API를 정의하고 만든 것은 일면 바람직한 일이다.

하지만 얘는 2009~2010년 정도까지 버전업이 되었다가 그 뒤부터는 이렇다 할 변화가 없는 것 같다. 2010년대부터는 마소에서도 Office나 Visual Studio 같은 제품을 배포할 때 msi를 사용하지 않는다. 또 자신들만의 독자적인 설치/제거 시스템을 개발하기라도 한 것 같다.

통상적인 배포 패키지 시스템이라면 프로그램의 구성요소들을 세부적으로 나눠서 지금 당장은 사용자가 원하는 부분만 설치하고, 설치하지 않은 기능은 나중에 언제든지 추가 설치 가능하게 되어 있다.
그런데 2010년대 이후의 배포 패키지 시스템이라면 적어도 두 가지 요소를 반드시 지원해야 할 것 같다.

(1) 먼저, 웹을 통한 설치이다. 지금 로컬 installer 실행 파일에 내장된 데이터가 아니라 지정된 주소를 통해 서버로부터 데이터를 받아서 설치하는 것이다.

그리고 (2) 요즘 프로그램들의 거의 필수 기능이 된 최신 버전 체크 및 자동 업데이트와의 연계이다. 현재 버전과 최신 버전을 비교하여 부분만 자동 업데이트가 가능한지 판단하고, 꼭 바뀌어야 하는 분량만큼만 다운로드를 한다.
설치 후에 마이너 버전이 바뀐 것은 '프로그램 추가/제거' 목록에도 당연히 반영된다.

Windows Installer가 웹 연계 내지 자동 업데이트까지 고려하여 개발되었는지 잘은 모르겠지만 내가 알기로 그 정도까지는 아니지 싶다.
통합된 API가 없으니 Visual Studio고 아래아한글이고 다 독자적인 설치 및 업데이트 시스템을 구축하고 있는데.. 업데이트를 시켜 보면 프로그램뿐만 아니라 설치 관리자 자체부터 업데이트 하는 경우가 굉장히 잦다.

저건 뭐 한번 만들어 놓고 나면 버전 체크, 파일 설치 등등 끝.. 처음에 한번 안정적으로 잘 만들어 놨으면 바뀔 일이 없어야 하는 시스템이지 않은가? 그런데 뭐 이리 자주 바뀌나 모르겠다. 그리고 궁극적으로는 이런 분야도 운영체제 차원에서의 통합 솔루션이 나와야 할 것 같다.
그나저나 10~20여 년 전에 시대를 풍미한 배포 패키지이던 InstallShield는 요즘도 잘 먹고 살고 있는지 모르겠다.

6. 각종 약관 동의 화면

웹사이트에서 회원 가입을 할 때나 응용 프로그램을 처음 설치할 때는 사용자에게 뭔가 법적으로 동의를 구하는 계약 안내문이 표시되는 것이 관례이다. 사용자가 그 내용에 대해 명시적으로 yes라고 동의 의사를 밝혀야만 다음 단계로 넘어갈 수 있다.

응용 프로그램을 설치하는 경우라면 안내문의 내용은 주로 저작권과 관련된 것이다. 마소에서는 이 안내문의 명칭을 EULA(end-user license agreement)라고 붙인 것으로 잘 알려져 있다. 상업용 소프트웨어에는 불법 복제 금지와 관련된 경고문이 으레 들어가지만 그것 말고도 해킹이나 리버스 엔지니어링 금지 같은 조항도 있다.
한편으로 웹사이트 회원 가입이라면 개인 정보 수집 정책과 관련된 내용이 꼭 포함된다.

아울러, 요즘은 응용 프로그램도 사용권 계약과는 별개로 사용자의 사용 패턴 데이터나 오류 정보를 수집해서 개발사 서버로 보내도 되겠는지 동의를 구하기도 한다. 이걸로 사용자 개인을 식별하는 건 절대로 아니니 안심하라고 하면서.. 물론 이건 동의하지 않아도 프로그램을 설치하거나 사용하는 데는 지장이 없다.

이런 약관이나 법적 주의사항 고지 문구는 너무 비현실적인 상황까지 일일이 어려운 단어와 장황한 문장으로 미주알고주알 열거하면서 길고 딱딱하고 재미없는 걸로 악명 높다.
뭐 이건 온갖 애매한 상황까지 철저하게 논리적으로 방어해서 갑 쪽의 법적 책임을 최대한 피하기 위해 말이 그런 식으로 만들어진 것이다. 계약서는 아니지만.. 망토 하나를 만들어도 소송을 피하기 위해 “주의: 이걸 목에다 두르고 옥상에서 뛰어내리지 마시오” 경고문까지 들어가는 게 세상 돌아가는 이치이지 않은가?

그런데 말이 하도 재미없으니 갑이나 을이나 텍스트를 꼼꼼히 제대로 읽지 않는 건 마찬가지 같다. 그러니 한 10여 년 전이었나? “본 약관이 해지되는 순간 뼈와 살이 분리됩니다”던가? 개드립이 들어간 약관이 복붙 되어서 여러 웹사이트들에서 그대로 쓰인 게 뉴스에까지 방영되곤 했다.

약관과 관련된 말이 좀 길어졌는데..
본인이 이걸 표시하는 소프트웨어 UI와 관련해서 굉장히 큰 불만을 품고 있는 건.. 아니, 이건 나만의 불만도 분명 아닐 것이다.
안 그래도 재미없고 귀찮아서 안 읽는 긴 약관을 너무 작은 크기의 텍스트 셀에다가 집어넣고는 창의 크기 조절도 안 되게 해 놓으면.. 사용자는 읽고 싶은 생각이 더욱 멀리 달아날 것이다. 그렇지 않겠는가?

쪼금 생각을 한 곳에서는 약관을 plain text가 아니라 서식을 적용한 텍스트로 제공하고, 인쇄 기능 정도는 갖다놓았다. 하지만 이걸 인쇄까지 해서 보는 사람도 과연 얼마나 될까?
그냥 화면에서 창 크기 조절과 본문 검색 정도만 가능하게 하는 게 제일 좋아 보인다.

Posted by 사무엘

2020/05/14 08:36 2020/05/14 08:36
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1751

« Previous : 1 : 2 : 3 : 4 : 5 : 6 : 7 : ... 166 : Next »

블로그 이미지

철도를 명절 때에나 떠오르는 4대 교통수단 중 하나로만 아는 것은, 예수님을 사대성인· 성인군자 중 하나로만 아는 것과 같다.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2020/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:
1420587
Today:
378
Yesterday:
546