« Previous : 1 : ... 17 : 18 : 19 : 20 : 21 : 22 : 23 : 24 : 25 : ... 45 : Next »

고래 이야기

지구상의 포유류 동물 중에는 토끼나 원숭이나 사자 같은 평범한(?) 놈만 있는 게 아니라 다음과 같은 이상한 하이브리드도 몇 종 있다.

  • 박쥐: 날개가 달렸으며, 이래뵈어도 자가비행이 가능한 유일한 포유류이다. 조류가 절대로 아니다. '박쥐의 알' 같은 걸 본 사람은 없을 것이다.
  • 오리너구리: 분명 새끼에게 젖을 주긴 하지만 난생이다. 그리고 이빨이 없고 부리가 달려 있다!

오리너구리의 경우 생긴 게 워낙 기괴한지라, 학계에 처음 보고되었을 때에 다른 학자들이 "어디서 합성(박제를..) 주작질이야"라는 핀잔과 함께 믿지 않을 정도였다. 현지(오스트레일리아)에서 생포된 개체가 확인된 뒤에야 존재가 완전히 인정되었다.

박쥐는 포유류와 조류의 하이브리드인데, 색깔도 시꺼멓고 어두컴컴 음침한 동굴에서 살기 때문에 인상이 그리 좋지 못하다. 동화에서는 무슨 카멜레온처럼 비겁한 회색분자 기회주의자로 묘사되었으며, 각종 아케이드 게임에서는 닿기만 해도 주인공에게 대미지를 주는 악랄한 몬스터 역할을 한다. (고인돌, 라이온 킹, 알라딘 등..)

이 외에 날치는 어류와 조류의 하이브리드처럼 생기긴 했다. 뭐, 본격적인 비행 능력을 갖춘 건 아니기 때문에 교통수단으로 치면 비행정· 수상기라기보다는 호버크래프트에 더 가깝다.
그리고 펭귄은 시꺼먼 색깔에다 날개인지 지느러미인지 모를 팔로 헤엄과 잠수까지 가능한 것이 특이한 조류이다.
뭐, 모든 동물들을 다 합쳐도 인간의 특이함에 비할 바는 못 되겠지만.. 뭐 일단은 이 글에서는 논외로 하겠다.

하늘과 땅 다음으로 물 속에는 고래가 저런 특이한 하이브리드에 속한다.
지느러미 달린 바다 생물임에도 불구하고 어류와는 달리 알이 아닌 새끼를 낳고 젖을 준다. 게다가 항온이고.. 무려 허파 기반의 공기 호흡을 하니 빼도 박도 못할 포유류이다. 다른 대형 어류들과는 달라도 너무 다르다.

이런 특이한 고래 중에서 (1) 대왕고래(흰긴수염고래)는 지구상에 존재하는 가장 거대하고 무거운 동물이다. 공룡처럼 이미 멸종한 옛날 지질 시대 생물까지 '다' 포함해도 이 바닥의 원톱이다!

  • 아프리카코끼리: 몸길이 6~7.5미터, 어깨높이 약 3미터, 몸무게 최대 6톤..;;
  • 기린: 몸길이 약 3미터, 뿔 끝까지 키가 약 8~9미터, 몸무게 약 1.5톤
  • 공룡 브라키오사우루스: 몸길이 약 25미터, 몸무게 약 50톤이었을 것으로 추정

사용자 삽입 이미지

대왕고래는 성체의 몸길이가 25~35미터에 달해서 거의 보잉 737 여객기 초기형의 길이에 맞먹는다. 무게는 150톤을 훌쩍 넘어서 대형 디젤 기관차 한 량보다 더 무겁다. 공룡은 몸길이야 뭐 화석을 보고 비교적 쉽게 계산할 수 있지만, 몸무게는 공룡과 가장 비슷한 악어의 부피 대 몸무게 비율을 토대로 추정한다고 한다.

사용자 삽입 이미지

(대왕고래는 뭔가 제일 고래처럼 생겨 있다. 이명에 걸맞게 턱 아래로 희고 긴 수염 같은 게 보인다.)

생물은 동물보다 식물이 더 크며, 동물 중에서는 포유류보다 파충류가, 육식보다는 초식 동물이 더 큰 편이다. 덩치 말고 생존력은 포유류가 파충류보다 더 뛰어나다.
먼저 체온. 항온동물인 포유류가 변온동물보다 훨씬 더 생존력이 강한지라, 더 척박하고 열악한 환경에서도 겨울잠 같은 거 잘 필요 없이 서식할 수 있다.

이 겨울잠을 영어로 hibernate(-ation)라고 하는데, 요즘은 컴퓨터의 최대 절전 모드를 가리킬 때도 이 말을 쓴다.
항온동물 중에도 겨울잠을 자는 놈이 일부 있긴 하나, 그래도 변온동물만치 체온이 확 떨어지고 가사(假死) 상태로 깊이 잠들지는 않는다.

파충류는 조금만 날씨가 추워져도 사람에게 저체온증이 찾아온 것처럼 동작이 둔해진다. 더구나 심장 구조도 불완전 2심실이어서 격렬하게 활동하다 보면 정맥피가 섞이고 몸이 경직되기 쉽다.
일례로 뱀을 계속 도구를 써서 긴장시키고 있으면 그 불완전한 심장 구조 때문에 피가 안 통해서 근육이 굳은 채로 삐끗거리게 된다고 한다. 땅꾼들은 뱀을 이렇게 긴장+stun 시켜서 잡는다.

그런데 체온 유지란 게 그냥 되는 게 아니어서 포유류는 털이나 땀 등 파충류보다 월등히 더 복잡한 메카니즘이 필요하다. 에너지 소비량이 많으며, 평소에 숨만 쉬고 가만히 지내더라도 많이 먹어야 된다. 그렇기 때문에 덩치가 한없이 커질 수가 없다. 공룡 같은 덩치가 포유류였다가는 제 몸 수습을 도저히 할 수 없게 된다.

그런 맥락에서 아프리카코끼리가 지금 여건상 육상 포유류가 가질 수 있는 덩치의 생물학적 한계치에 근접해 있다는 말을 언제 어디에선가 봤었다. 그 반면, 공룡은 제약이 덜한 파충류일 뿐만 아니라, 얘들이 활동하던 지질 시대급의 옛날에는 1년 내내 따뜻하고 환경 자체가 지금보다 더 좋기도 했으니 덩치가 더 커질 수 있었다.

조금 다른 분야의 얘기이다만, 플라나리아나 해면 같은 동물은 구조가 극도로 단순한 덕분에 몸을 여러 갈래로 쪼개도 살아남고 타의 추종을 불허하는 재생 능력을 자랑한다. 사람처럼 복잡한 생물은 손가락 하나만 잘려도 자동 재생은 엄두도 못 내거늘 말이다.
그 반면, 저렇게 너무 단순한 동물은 복잡한 물질대사와 상태 유지 능력도 전무한 관계로 사는 곳이 조금만 더러워지면 곧장 녹고 죽어 버린다. 파충류와 포유류 역시 생물학적 구조에 저런 식으로 일장일단이 있는 셈이다.

그리고 동물이 덩치가 더 커질 수 있는 환경을 하나 더 꼽자면 공기 중의 육지보다는 물 속이다. 외부로부터의 힘· 충격이나 온도 변화가 공기 중과는 비교할 수 없이 더디게 전달되기 때문이다.
물 자체의 부력도 있으니 고래 같이 크고 무거운 생물이 그 속에서 별 탈 없이 살 수 있다. 지구상의 교통수단들 중에 선박이 그 어떤 비행기나 육상 교통수단보다도 덩치가 훨씬 더 크고 무거울 수 있는 이유 역시 여기에 있다.

다만, 먼 옛날 지질 시대에 육지에서는 저렇게 큰 공룡이 활보했던 반면, 바다에는 지금의 대왕고래의 덩치를 능가하고 압도하는 해룡이 있었다는 증거가.. 딱히 검증 불가능한 도시전설 말고는 없다는 게 흥미로운 점이다.

고래는 물에서 살면서도 아가미가 아닌 공기 허파 호흡을 하기 때문에, 물 속에서 숨을 못 쉰다. 심지어 수면(?) 중에도 뇌를 반반씩 재우고 깨우면서 수면(!)으로 나왔다가 다시 들어가기를 반복해야 하는 불편한 인생을 산다. 악어가 물 마시러 온 육상 동물을 공격하여 잡아먹듯, 인간은 숨 쉬러 올라온 고래를 바다에서 손쉽게 잡는다.

고래가 물 밖에 내팽개쳐지면 얼마 못 살고 죽는 주 이유는.. 그냥 장기들이 엄청난 체중에 짓눌려서 숨을 못 쉬고 질식하기 때문이다. 엎드려 자던 신생아가 질식사하듯이 말이다.
피부 표면이 공기에 노출되고 건조해지는 것도 고래에게 좋을 건 없지만, 그래도 고래가 무슨 양서류도 아닌데 그것 때문에 피부 호흡을 못 해서 죽는 건 아니다.

사용자 삽입 이미지

(고래가 저런 아틀란티스인 같은 신체 구조는 아니라는 뜻... ㄲㄲㄲㄲㄲㄲ)

그런데 고래는 그 거구를 이끌고 시속 30km 이상의 고속으로 주행이 가능하며, 무엇보다도 숨을 참은 채로 잠수를 더럽게 잘한다.
모든 고래들이 전반적으로 잠수 능력이 우수하지만, 특히 (2) 향유고래는 어지간한 잠수함으로도 엄두를 못 낼 수심 2000m 아래로 잘도 내려간다. 그리고 1시간 반 가까이 숨을 참으며 잠수가 가능하다. 그 엄청난 수압을 극복하고 올라오는 과정에서도 인간 같은 잠수병 걱정 따위는 없다.

사용자 삽입 이미지

(향유고래는 앞부분이 직각형으로 툭 튀어나온 모습이다.)

인간은 맨몸으로 겨우 몇십 m만 잠수했다가도 올라올 때 시간 보면서, 마치 우주왕복선이 대기권으로 재돌입할 때처럼 조심해서 천천히 올라와야 되는데.. 고래는 기관지에 혈중 질소를 처리하는 장치가 갖춰져 있다고 한다. 아무렴, 산소 보충하러 빨리 수면으로 올라가야 하는데 저렇게 세월아 네월아 기다릴 수 없는 노릇일 것이다.

그러고 보니 잠수함· 잠수정 같은 기계들은 산소 조달 문제로 인해 수중에서는 내연기관을 가동할 수 없다! 거기서는 마치 월면차처럼 전기로만 동작해야 한다. 본인은 이 점에 대해서는 지금까지 한 번도 생각해 본 적이 없었다.
이 때문에 원자력 잠수함 급이 아닌 이상, 수중 기계는 활동 반경과 시간에 근본적으로 큰 제약을 받을 수밖에 없다.

그럼에도 불구하고 아가미도 안 달렸으면서 고래는 육중한 체력은 어디서 나는지 경이로움이 느껴진다.
또한, 산소는 그렇잖아도 물에 잘 안 녹는 기체여서 산소를 모을 때도 물 속에서 모을 정도인데, 거기에 있는 산소를 추출해 내는 어류들의 아가미도 대단하기는 마찬가지이다.

다음으로 고래 중에는.. (3) 범고래가 있다. 얘는 앞서 언급한 네임드급 고래만치 거대하지는 않지만 바다의 최상위 포식자· 사냥꾼이며 바다의 조폭 깡패이다.
정작 그 큰 대왕고래는 주 식량이 의외로 플랑크톤이나 크릴 같은 아주 작은 조무래기들이구만, 범고래는 타 물범이나 바다사자, 심지어 다른 상어나 돌고래를 사냥해서 잡아먹는다. 어떨 때는 배가 안 고픈데 별 이유 없이 재미삼아 공격하기도 하며, 먹이를 향해 육중한 덩치로 박치기도 하고 심지어 물 밖으로 던져서 죽이기도 한다.

그런데 이런 폭력적인 범고래가.. 사람은 이상하리만치 건드리지 않고 해친 사례가 없는 것이 아주 이색적이다. (다른 동물로 오인했거나, 스트레스를 잔뜩 받았거나 한 경우를 제외하고)

사용자 삽입 이미지

(범고래는 밋밋한 회색 위주인 타 고래들과 달리, 마치 펭귄처럼 흑백 구분이 명백하다. 그리고 눈 주변에 눈 흰자처럼 생긴 흰 무늬가 있는 게 특징이다.)

곰, 사자, 호랑이 같은 육지의 다른 맹수들이라든가, 어류 중의 깡패인 백상아리(죠스!!) 육상 공룡의 후신에 가장 근접한 파충류라고 여겨지는 악어 따위와 비교해서 생각해 보면 차이를 더욱 분명히 알 수 있다. 애초에 어류 중에는 피 냄새만 맡고도 흥분해서 몰려오는 놈들도 있지 않던가. 범고래뿐만 아니라 다른 고래들도 전반적으로 다 사람에게는 적대감이 없다시피하다.

코끼리가 다 아프리카코끼리 같은 게 아니며, 작은 건 거의 마소 정도밖에 안 되는 것도 있다. 그것처럼 고래 중에서도 작은 돌고래는 참치 정도 크기밖에 안 되는 것도 있다.
고래는 전반적으로 아주 똑똑하고 집단 유대의식이 강하다. 동료와 협력해서 인간이 설치한 장애물을 치우고 먹이를 차지할 줄 알며, 연구에 따르면 미래의 보상을 위해 현재의 작은 이익을 접을 줄도 안다.

거기에다 (4) 돌고래는 고래 중에서 제일 작은 축에 드는 놈이지만, 물 속에서 초음파를 이용해서 어지간한 유인원이나 앵무새 이상의 수준으로 상대방과 의사소통 능력이 있다고 여겨진다.

사용자 삽입 이미지

(돌고래는 타 고래들에 비해 덩치가 작고 주둥이가 툭 튀어나와 있다. 하지만 얘도 범고래에게만 밀릴 뿐, 체력과 공격력은 타 해양 생물들을 엄연히 능가하는 '갑'이다.)

고래가 반쯤 수면으로 나와서 물을 촤악 뿜는 건 잘 알다시피 호흡 때문이다. 그런데 주행 중에 저렇게(본문에서 범고래와 돌고래의 모습) 괜히 힘들게 도움닫기 점프까지 하는 건 나름 속도를 올리기 위해서라고 한다. 컴퓨터용 아케이드 게임이나 FPS에서도 점프를 하면서 가는 게 그냥 달리는 것보다 속도가 빠르지 않던가? ㅋㅋ

물론, 인간의 경우 달리기가 아니라 수영을 할 때는 얘기가 좀 달라진다. 인간은 수영 중에 저렇게까지 높이 점프를 할 능력이 없으니, 그냥 물에 완전히 잠겨서 잠영을 하는 게 자유형 따위보다 더 빠르다. 신체가 물과 부딪치면서 잃는 에너지가 만만찮은가 보다.
그러니 수영 경기에서 최단시간 기록만 강조하다 보면 수영 대회가 잠수-_- 대회로 바뀌어 버릴 공산이 크기 때문에 공식 경기에서는 잠영을 허용하는 시간에 한계가 걸려 있다.

이렇듯, 고래는 생물학적 특성이 비범하고, 크고 아름답고, 생태계의 최상위 랭킹이고, 똑똑하기까지 한데 한편으로 여느 맹수와 달리 사람에게 호의적이라는 점으로 인해, 인간에게 느껴지는 인상이 아주 좋은 편이다. 최소한 뱀이나 악어 같지는 않다.

그리고 성경을 보면 고래가 이렇게 독특한 건 다 이유가 있어 보인다.
창 1:21에서 "And God created great whales, and ..."라고 진술하면서 6일 창조 중 다섯째 날에 고래는 다른 수중 생물과는 좀 급이 다르게 따로 창조되었다고 언급하기 때문이다.
비록 문장 구조상 다르게 읽힐 여지도 있긴 하지만, 본인은 고래는 인간과 마찬가지로 6천여 년 전에 완전히 새로 등장한 종이라고 생각한다.

실러캔스야 아무래도 현 세상 이전의 지질 시대· 이전 세상에도 존재했다가 싹 멸종하고, 훗날 6천여 년 전에 6일 동안 그 종류대로 똑같이 '다시' 창조된 놈일 것이다.
하지만 고래는 인간과 마찬가지로 이전 세상에는 없었다가 현 세상에서 완전히 새롭게 등장했다. 근본적으로 뭔가 좀 new, fresh한 구석이 있다는 거다. 그렇기 때문에 특성이 기존 동물들과는 좀 다른 구석이 있는 거라고 추측해도 아귀가 맞지 않겠는가?

다만, 킹 제임스 성경 외의 다른 성경에서는 whale이라는 단어가 남아나질 못해 있다는 것도 생각할 점이다. 당장 저 창 1:21을 비롯해서 겔 32:2까지.. 오로지 KJV만이 요나를 잡아먹은 생물이 고래였다고 말한다(마 12:40). 이스터 '파스카'만큼이나 그리스어 '케토스'도 논란의 대상이다. 최종 권위가 없으면 신앙의 근간이 이렇게 혼란에 빠질 수밖에 없다.

정작 킹 제임스 성경이 '바다 괴물'이라고 말하고 있는 애 4:3은 타 성경에서 전부 승냥이, jackal 같은 육상 동물로 바뀌었다. 음.. 고래도 포유류이기 때문에 새끼에게 젖 줄 수 있는데..? 어쨌든 고래의 생물학적 특징과 성경 번역에서의 혼란이 오버랩되는 현상이 무척 흥미롭다.

Posted by 사무엘

2018/05/17 08:31 2018/05/17 08:31
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1490

1. 계급 사회

군대라는 곳은 사회의 그 어느 조직보다도 상명하복 원칙을 따라 돌아가는 보수적인 계급 사회이다.
그런데 옛날 쌍팔년도 군대에서는 병 사이에서 단순히 고참의 갈굼과 구타· 가혹행위뿐만 아니라, 정상적인 군기· 기강과 반대되는 이상한 적폐도 있었다.

  • 병장들이 개기면서 초임 소위 장교를 길들인다거나.. (1994년엔 이것 때문에 무려 육사를 나온 장교가 항의의 뜻으로 무장 탈영을 벌이는 사고가 터지기도 함)
  • "나 간부다 임마" 한 마디에 초병이 어쩔 수 없이 간부들을 암구호 없이 들여보내 줬음. 그러다가 무장공비· 간첩까지 통과시켜 주는 일이 벌어지기도 했다.

저런 것에 비하면 말년병장이 이병 동기 코스프레를 하면서 고참들 뒷담화를 유도해서 어리버리한 신병을 골탕먹인다거나.. 20대 중반의 새파란 소대장이 "자네가 행보관/주임원사인가?"라고 지껄이다가 중대장/대대장에게 까인다거나.. 하는 것은 차라리 귀여운 사례라 하겠다.
오랫동안 알 만한 사람들 사이에서만 나돌던 아이템들이지만, 이젠 인터넷 매체를 통해 다 알려져 버린 지 오래다. 그러니 군대에 갓 입문한 병이나 소위라도 속거나 실수하는 일이 없을 것이다.

다음으로, 우리나라의 국군은 경영 효율과 위계질서상의 이유로 인해, 복무 조건과 관련하여 다음과 같은 제약 내지 특성이 있다.

  • 여군은 어떤 형태로든 병 복무가 허용되지 않는다. 비전투 병과도 예외가 아니다. 차라리 사관학교에 들어가면 여자 생도도 남자 생도와 동급의 혹독한 전투 훈련을 받은 뒤 장교로 임관하지만, 여군 병 같은 건 없다.
  • 또한, 남자도 한번 병으로 복무해서 만기 제대했다면 절대로 병으로 현역 복무를 다시 할 수 없다. 아무리 저출산 때문에 병역 자원이 부족하다 해도, 그리고 심지어 당사자가 원한다 해도 말이다.
    병이 군대에서 지위가 제일 낮은 계급이어서 그런 것도 있지만, 그 낮은 병이 짬만 지나치게 많이(?) 먹은 상태로 예비군도 아니고 현역병과 한데 섞여 있는 건 위계 질서상 문제가 되기 때문이다. 군대에서 말뚝 박으려면 최하 부사관으로 가야 한다.
  • 장교로 전역한 사람이 나중에 부사관으로 다시 군생활을 할 수는 있다. 하지만 이 경우, 장교 시절의 군번· 군적은 완전히 말소된다. 일개 중사가 "내가 소싯적에 대위였을 땐 말야" 이렇게 나대는 건 그리 보기 좋은 모습이 아니기 때문이다.

사관학교(특히 육사) 퇴교자의 경우.. 비록 장교가 되려다가 짤렸거나 스스로 뛰쳐나오긴 했지만, 한때 최정예 엘리트 장교 양성 코스를 경험했던 애들이다. 그러니 이런 출신인 병이나 부사관이 자대에 오면 기존 간부들이 이미 사전에 다 파악하고 예의주시한다고 하더라. 나이답지 않게 전투복이 이미 너덜너덜한 상태이고 남다른 연륜과 짬이 느껴질 테니 말이다.

원래 군대에서 병은 중졸 이상, 부사관은 고졸 이상의 학력을 가정하고 운용하는 계급이다. 장교만이 대졸 이상이다. 2차 세계 대전 당시에는 그토록 군국주의 전쟁광이던 나치 독일과 일제도 대학생은 재학 기간 중에 군 징집을 보류하고, 가능한 한 졸업 후 장교로 우선 선발했었다.
대학생이라는 건 학부만으로도 그 정도로 희소한 인재인데, 지금 우리나라는 징병제와 높은 교육열이 맞물리다 보니 대학생이 너무 흔해지고 병의 평균 학력이 너무 올라간 감이 있다.

2. 하이브리드형 인물들

세상에는 남들이 하나조차도 취득하거나 합격하기 어려운 면허· 자격· 학위를 둘 이상 주렁주렁 달고 다니는 괴수가 종종 있다.

  • 한 사람이 고시를 여러 개 붙었다거나.. (사법 시험 + 행정 + 외무)
  • 변호사 면허와 의사 면허를 동시에 소지했다거나..
  • 같은 변호사 안에서도 한국 변호사와 미국 변호사 면허를 동시에 소지..
  • 외국어를 네댓 개쯤을 모국어처럼 구사하거나..

이쯤 되면 분야를 불문하고 머리 싸움의 달인이요 공부 기계, 공부의 신이 아닌가 싶다. 평생 먹고 살 걱정 없이 떵떵거리며 살 수 있을 것이다. =_=
대학교에서 학사는 부전공· 복수 전공이나 심지어 전과· 편입(일반/학사)이 드문 일이 아니다. 특히 사관학교는 학사일정이 굉장히 빡세며 애초에 군사학을 포함해 학위가 두 개로 나오는 구조이다.

박사는 취득이 워낙 오래 걸리고 어렵기 때문에 명예박사가 아닌 이상 복수 소지가 사실상 없다. 한 분야에서 박사 졸업을 했다면 이젠 또 다른 학위를 수집(?)할 게 아니라 그 좁고 깊은 기존 바닥에서 계속해서 연구 경력을 더 쌓으면서 학력 인플레를 극복하고, 가방끈 길이에 걸맞은 취업을 준비해야 한다. 그래서 각종 연구소에는 교수를 꿈꾸는 포닥들이 드글거린다.

학사는 그냥 시험 점수와 평점이 중요한 과정이니, 졸업식 때도 성적 우수자에게 상을 주고 졸업장에 magna cum laude라고 이 사실을 기재한다.
박사는.. 이제 자기가 걸어다니는 프로 연구자이다. 시험 점수가 아니라 자기 학위논문의 제목과 주제가 스펙이요 간판 역할을 해야 한다.
저런 것에 비해 석사 학위 둘은 일부 교수나 능덕 중에 가끔 눈에 띄지만, 그렇게까지 레어한 아이템이 아닌 것 같다. 위치 자체가 좀 애매하니 말이다.

갑자기 군대와 관계 없어 보이는 얘기를 왜 길게 늘어놓았느냐 하면, 군 내부에서도 저런 짬뽕형 인물이 있기 때문이다. 마치 수륙 양용, 도로-레일 겸용 차량처럼 말이다. 병, 장교, 부사관(+군무원)을 다 경험한 것 정도만으로는 희소성이 부족하고,

  • 육군 병장, 공군 중사를 거쳐서 해군 장교(헐.. 나이에 안 걸렸나?)로.. 3군 3계급을 다 경험한 분도 있다..;;
  • 역사적 배경이 있었기 때문에 가능했겠지만 김 영옥 대령(1919-2005) 같은 분은 분명 한국인이고 6· 25 참전도 했지만.. 미군 장교 신분으로서 참전했다.
  • 하긴, 옛날에는 일본, 중공, 북한에 이어 남한으로 깃발을 바꾸면서 매번 군번을 새로 받았던 한국인 병사도 있었다. 워낙 혼란하던 시절을 살았으니..

3. 스포츠와의 비교, 그리고 실적

군인과 경찰은 하는 일이 완전히 같지는 않지만 제복 입고 무력을 행사하고 때로는 순직도 가능하다는 점에서 비슷하다. 그런데 신체 능력이 좋아야 한다는 점에서는 군인을 운동 선수에다가도 얼추 비유할 수 있다.

물론 군대 사격과 스포츠 사격은 서로 다르며, 군대의 총검술과 스포츠에서 다루는 격투기 무술도 관점이 동일하지 않다. 그래도 공통점이 있긴 하기 때문에 체대 출신이 군생활도 더 잘하는 편이다.

이 두 업종의 종사자들은 생업을 위해 무슨 연구 개발을 하거나 세일즈 마케팅을 하지는 않는다. 그럼 이들의 궁극적인 목표는 무엇일까?
세계 규모의 체육대회인 올림픽에서 우리나라 선수가 금메달을 받으면..
일단 포상금 명목으로 6천만 원이 일시불로 들어온다. 그리고 평생 연금이 매월 100만원씩 들어온다.

우리나라가 스포츠 인프라가 열악하고 인재 양성을 위한 국가 투자가 인색하네 마네 말이 많지만.. 그래도 일단 실적을 낸 사람에 대한 특혜는 세계에서 유례를 찾기 어려울 정도로 후하다. 우리나라는 그깟 메달에 연연하지 않는 생활 체육이라기보다는 여전히 금메달에 목숨 거는 개발도상국 소수정예 엘리트 체육 지향적이기 때문이다.

금전적인 포상만 있는 게 아니다. 미필 남자의 경우 군 완전 면제는 아니지만 꿈에도 그리던 병역특례 보충역 대체복무라는 엄청난 특권이 주어진다. 아시안게임에서는 반드시 금메달만 받아야 하지만 올림픽에서는 아무 메달이나 받으면 된다. 병역을 해결하려는 절박함 때문에 올림픽 경기서 마치 약 빤 것 같은 초인적인 퍼포먼스가 나온다니, 이를 합법적인 도핑에다 비유한 '면제로이드'라는 말까지 있다.

이렇듯, 운동 선수는 대회 성적이 자신의 존재를 증명하는 과정이다. 냉정하지만 이게 현실이다. 스포츠는 그 자체가 물리적으로 뭔가를 생산하는 활동이 아니기 때문에 그것만으로 먹고 사는 프로 선수는 국민 세금 지원이 아니면 대기업 후원이 있어야만 생계가 유지될 수 있다. 이런 프로의 세계에서 남의 돈이 헛되이 쓰이지 않았다는 것을 증명하는 방법은 결국 성적이 유일하다.

스포츠계와 마찬가지로 군대도 그 자체는 오로지 소비만 하는 집단이다. 생산을 하는 게 없다. 그렇다면 군대가 자신의 존재를 증명하는 가장 좋은 방법은 적군을 잡거나 저지해서 나라를 지켰다는 사실을 입증해 보이는 것이다. 옛날 전근대 시절로 치면 적군의 수급을 제출하는 것과 비슷하다.

일단 민간인은 수상한 걸 목격했을 때 신고만 정확하게 잘하면 된다. 이것만으로도 거물 월척을 낚는 데 성공할 경우 인생역전 급의 포상금을 받을 수 있다. 하지만 군인은 그런 신고를 받는 입장이며, 병사가 상부에게 그걸 보고하는 것까지는 군인이 원래 당연히 맡아야 하는 업무의 영역이다.

그렇기 때문에 병사가 포상금을 받는 조건은 지금까지 배운 대로 적군을 제압하고 실제로 사살 또는 생포까지 했을 때 성립한다. 적의 시신에서 아군의 총알이 박혀 있었고 정황상 그 총알을 누가 쐈다는 것이 밝혀진다면 이건 뭐.. 살인 사건의 범죄자가 밝혀지고 잡히는 것과는 차원이 다른 상황이 벌어진다.

이 방면으로 제일 유명한 사례는 1980년 3월 23일, 한강 서부 전선에서 경계 근무 중에 강 건너 침투하던 무장공비를 3명이나 사살한 황 중해 일병(그 당시.. 22세)과 그 부사수이다. 그는 1980년 물가로 1천만 원, 정말 집을 살 만한 액수의 포상금을 받았다.

어디 그 뿐이랴? 보통 전사· 순직했을 때에나 받는 1계급 특진을 살아서 받았으며, 6개월 사단장 휴가와 6개월 연대장 휴가를 연달아 받아서 남은 복무 기간 중에 무려 1년을 그냥 합법적으로 탱자탱자 놀았다. 그리고 휴가 떠날 때는 별들과 함께 헬기 타고 금의환향 했다!

그러고도 남는 것이, 이 병사의 상관들은 생판 누군지도 몰랐던 부하 한 명 덕분에 자기 근무 실적과 진급길까지 확 트였기 때문이다. 그러니 굽신굽신 할 수밖에.. 자기 부대에서 탈영 사고· 자살 사고가 터져서 간부들의 인생이 덩달아 꼬이는 것과는 정반대 상황을 생각하면 된다.

그 시절엔 탈북자들을 귀순 용사로 영웅시했던 것만큼이나, 반대로 적군을 사살한 아군이라면 이렇게까지 올림픽 금메달리스트 이상으로 띄워 줬다. "참 잘했어요"가 아니라, "참 잘 죽였어요~"다.
이런 일을 하라고 세금을 쳐묵쳐묵하고 있는 게 군대이며, 군대의 존재 의의를 제일 드라마틱하게 입증한 병사가 나왔으니 이렇게까지 넘치도록 포상을 해서 빨갱이 소탕에 대한 동기를 확실하게 부여했던 것이다.

대한민국 남자가 군대에서 전방 근무를 하다가 적을 실제로 마주치고 사살까지 하게 될 확률은 로또 급으로 한없이 낮다.
복권은 억대의 금액에 당첨되더라도 불로소득인 관계로 세금이 왕창 떼이기 때문에 당첨의 기쁨이 적지 않게 반감된다. 그 반면, 이런 포상금이나 현상금은 일체의 세금 공제 없이 액면가가 그대로 일시불로 입금된다! 마치 책에는 관세가 없는 것처럼 말이다.

하다못해 대회 상금 같은 것도 경우에 따라서는 세금을 약간이나마 떼고 입금되곤 하는데 국가에서 국방· 안보· 치안과 관련하여 직통으로 주는 상금은 세금 오버헤드가 없다. 학교 시험을 빠지더라도 공결은 유일하게 아무 페널티가 없듯이 말이다. 이것도 놀라운 면모가 아닐 수 없다.

1996년 강릉 무장공비 사건 때 무장공비를 사살한 병사에 대해서도 무슨 헬기 타고 금의환향급은 아니지만, 그래도 억소리 나는 액수의 포상금과 함께, 단순히 안보관 잘 외우고 사격 잘한 형식적인 포상휴가와는 차원이 다른 긴 포상휴가가 주어졌다고는 한다.

옛날에는 잘 알다시피 온통 반공 웅변 대회에다 "때려잡자 공산당" 그랬다. "무장공비의 말로(末路) -- 이 음흉한 악당은 결국 이렇게 되었습니다~ (대가리에 납덩이가 박혔습니다~ 고소하다 쌤통이다 꼴 좋다!)"라고 사살된 공비의 시체 사진을 모자이크도 없이 그대로 교보재로 삼아서 공개 전시까지 했다.

사용자 삽입 이미지

하지만 김 영삼 문민정부는 시기도 1990년대이고 그 정도로 살벌하던 분위기는 많이 사그러들었으니, 강릉 무장공비에 대해서도 민간인 신고자의 포상 말고 군인에 대한 포상은 많이 알려져 있지 않다.

사실, '남파 공작원' 같은 중립적인 명칭 말고 '무장공비'라는 단어부터가 '공산 비적'-- '떼를 지어서 살인· 약탈을 일삼는, 무장한 공산당 도둑놈 패거리'의 준말이다. (공작원의 '공'과 공비의 '공'은 한자가 완전히 다르다!) '북괴'에 필적하는 굉장한 멸칭인 셈인데, 저건 단순 멸칭이 아니라 놈들이 하는 짓을 정확하게 묘사하는 표현이기도 했다.

뭐 어쨌든, 무장공비를 사살했던 저 황 일병은 그 뒤로 말뚝 박아서 부사관으로 30년 가까이 더 복무하다가, 지난 2012년에 50대 중년의 나이로 상사 계급으로 전역했다고 한다. (☞ 관련 링크) 아무렴, 계급 특진도 전사해서 받는 것보다는 살아서 받는 게 더 나으며, 똑같이 국가로부터 예우받더라도 보상금보다는 포상금을 받는 게 더 나을 것이다.

이웃 나라 일본은 뭐랄까, 똥군기와 명예로운 죽음을 너무 미화하는 경향이 있어서 특진이라는 걸 전사자 말고는 아무에게도 부여하지 않고.. 항복이나 포로 체험을 금기· 죄악시해 왔다.
미국은 관행이 좀 다르다. 큰 공훈을 세운 군인(전사자 포함)에게 그야말로 천조국 스타일의 어마어마한 혜택이 뒤따르는 명예 훈장을 수여한다. 2차 세계 대전 도중에도 군인들 인권과 복지는 그 어느 나라보다도 더 뛰어났고 말이다.

다만, 계급 자체는 그렇게 기분 내키는 대로 함부로 건드리지 않는다. 오히려 전시에 불가피한 사정이 있어서 누구에게 높은 직책을 주느라 계급을 일시적으로 올렸다면, 전후에는 계급을 원래대로 되돌리기까지 했다.
본인이 보기에도 미국 스타일이 훨씬 더 합리적이어 보인다.

Posted by 사무엘

2018/05/14 08:28 2018/05/14 08:28
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1489

PC방 생각

PC방이란 게 우리나라의 경우 20여 년 전 IMF로 인해 늘어난 퇴직 중년층들의 창업 수요, 비슷한 시기에 보급된 인터넷 전용선 인프라, 그리고 스타크래프트 같은 초대박 게임 같은 요소들이 한데 맞물린 덕분에 크게 각광받았다.
그러나 2010년대부터는 고속 무선 인터넷 기반의 개인 노트북과 스마트폰의 보급으로 인해, 단순 인터넷 서핑을 위해서 커다란 데스크톱 PC, 그것도 공공 PC를 이용할 일은 사실상 없어졌다. 어지간한 게임도 폰으로 다 한다.

그럼 이제 PC방이라는 업종은 꿈도 희망도 없이 완전히 망했느냐..??
그건 또 아니다. 요즘도 아무 PC방이나 아무 때나 가 보면 손님들 생각보다 많다.
제아무리 모바일 게임이 인기를 끌고 폰에서도 3D 그래픽이 나온다 해도, 스마트폰이 넘보지 못할 기계 성능과 정교한 키보드· 마우스 컨트롤이 필요한 PC용 게임들도 부지기수이다. PC용 게임 개발사들도 절대로 그냥 놀고만 있지는 않다.

그리고 안 그래도 요즘 게임들은 혼자 하는 게 없으며 이윤 창출을 위해서는 온라인· 네트워크화가 필수인데, PC방은 여러 애들이 한데 모여서 다같이 최신 사양의 컴터를 쓰면서 팀플을 하기 좋다. 이런 게 집에서는 가능하지 않다. 오늘날 PC방은 게임 폐인(!)들 덕분에 그럭저럭 먹고 살고 있다고 해도 과언이 아니다.

다만, 그럭저럭 먹고 산다는 거지 PC방 산업은 엄연히 레드 오션이다. 창업 진입장벽이 꽤 낮은 축에 들어서 가게 간 출혈 경쟁이 난무하며, 이용 요금이 유지비 대비 지나치게 하향평준화된 감이 있다. 이래 갖고 대박은커녕 건물 임대료와 알바 인건비, PC 관리· 업그레이드 비용, 게임 개발사들에 지불하는 로얄티는 어찌 충당하겠나 싶은 생각이 들 정도이다.
요 몇 년 전부터 시행된 전면 금연 조치도 본인 같은 비흡연자에게야 환영할 일이지만, 골초 폐인 고객들을 맞이해야 장사가 되는 업주의 입장에서는 뒷목 잡을 일이었을지도 모르겠다.

결국 요즘 PC방들은 다른 방법으로 수익을 창출하기 위해.. 반쯤 식당으로 바뀌어 가고 있다.
겨우 과자 내지 컵라면 정도나 팔던 건 옛날 이야기이고, 김밥천국 수준으로 밥이 가미된 정식 식사나 온갖 기름진 야식류를 그 자리에서 주문해서 먹을 수 있다. 만화방은 자체 조리 음식보다는 배달 음식과 연계를 강화하는 식이었지 싶은데 PC방은.. 자체 조리 쪽이다. 이젠 PC방에서 담배 냄새가 사라진 대신 곳곳에서 음식 냄새가 자욱해지지는 않으려나 모르겠다.

옛날에는 PC방 요금에 몇백 원 단위도 있었던 걸로 기억한다만, 요즘은 물가가 물가이다 보니 1시간 1000원이 최소 단위인 듯하다. 그리고 햄버거 가게들과 마찬가지로 PC방도 자리 배당과 요금 지불 같은 단순 업무는 전부 기계화· 무인화가 됐다. 오랜만에 PC방을 다시 찾아가 보니 이런 풍경이 신기해 보였다.

개인적으로 PC방에서는 모든 가정이 구비하기에는 귀찮은 장비를 제공하여 소규모로 사용하는 요금을 받는 것도 필요하다고 생각한다. 스캐너라든가 뭔가 독특한 프린터 같은 거 말이다. 독특한 인쇄가 무슨 말이냐 하면, 고퀄 컬러 사진이라든가, 커다란 A3 용지 출력 같은 거. 그렇다고 전문 출력소를 찾아가기에는 너무 귀찮고 인쇄 분량이 적을 때 말이다.
이런 시스템이 잘 돼 있어서 인쇄 주문만 원격으로 내린 뒤, PC방에 들러서 PC 이용료 없이 인쇄비만 내고 결과를 찾아갈 수도 있으면 더 좋다.

물론 프린터를 구비한 PC방은 마치 세차 시설을 갖춘 주유소처럼, 이윤은 별로 안 나는데 장비의 유지 관리비만 더 들어서 귀찮은 상황이 발생할 수도 있다. 그리고 현실적으로 국내의 PC방들은 인쇄고 뭐고 그딴 거 필요 없이 게임 위주로만 돌아가고 있다는 것도 감안할 점이긴 하다.

뭐 아무튼, PC방은 게이머들의 수요 덕분에 2010년대에도 용케 살아남았다. 하지만 스마트폰과 개인 노트북, 무선 인터넷의 보급으로 인해 확실하게 없어져 버린 것들도 있다.
첫째, 전문적인 PC방 말고 버스 터미널, 지하철역 내부, 심지어 찜질방이나 열차(새마을· 무궁화호급) 카페 같은 곳에 어설프게 비치되어 있던 "비게임용" 공중 PC(인터넷 라운지)들은 전멸했다. 왜, 500원짜리 동전 넣고 10분인가 15분 동안 쓸 수 있던 유료 공중 PC들 말이다.

하다못해 재래식 공중전화는 군인이나 외국인들을 위해서라도 소수나마 필요하겠지만, 게임용이 아닌 그런 컴퓨터들은 이제 쓰는 사람이 없으며 수익보다 유지 보수 비용이 더 커졌을 것이다. (아, 다시 생각해 보니 공중전화가 필요할 정도일 사람은 긴급한 메일 확인을 위해서 이런 PC도 필요하긴 하겠다만.. 수요는 어차피 극소수일 것이다)
뭐, 전자기기 서비스 센터나 자동차 정비소 같은 데서 대기 고객의 편의를 위한 PC들은 예나 지금이나 남이 있지만 그건 애초부터 영리를 목적으로 운영되는 게 아니다.

옛날엔 종로3가 역 환승 통로 같은 곳에 의자도 없이 아예 선 채로 무료로 잠깐 사용하는 인터넷 연결 PC가 있었다. 하지만 요즘은 PC를 비치하느니 차라리 무선 인터넷 중계기나 스마트폰 고속 충전 단자를 설치하는 게 추세이다.

둘째, 그 다음으로.. 10여 년 전만 하더라도 매일 아침 지하철역 출입구에서 무료로 배부되던 찌라시들이 완전히 망하고 없어졌다. AM7이던가 Metro던가 이런 것들.
차라리 "교차로", "벼룩시장"처럼 처음부터 소규모 광고를 목적으로 무료로 배부되는 생활정보지들은 컴퓨터· 인터넷이나 지하철하고는 무관하게 존재해 왔다. 그런데 뭔가 연예· 스포츠 신문 같아 보이는 찌라시가 뭘로 어떻게 먹고 살려고 저렇게 무료로 뿌려지는지 개인적으로 좀 신기해 보였다.

뭐, 뉴스 기사의 분량과 퀄리티가 유료 종이 신문과 같은 급일 수는 없었겠지만, 거기에는 글과 광고만 있는 게 아니라 스도쿠 퍼즐 같은 것도 있고 연재 만화도 있었다.
승강장에서 지하철 기다리면서, 혹은 지하철 안에서 시간 때우기 용으로 괜찮기 때문에 집어가서 읽는 사람들이 제법 됐으며, 지하철 안에서는 "읽고 난 찌라시들은 선반 위에 놔두지 말고 제발 승강장 안의 수거함에다가 버려 주세요"라고 안내 방송이 지겹도록 나오곤 했다.

그런 찌라시들은 차내에 가만히 놔 두면 폐지 수집하는 어르신들이 알아서 잽싸게 가져가긴 했다. 그러니 청소 문제는 걱정할 필요가 없긴 했다만.. 거동이 불편한 노인이 높은 선반으로 팔을 무리해서 뻗느라 민폐가 발생하는 게 문제였다.

그랬는데.. 이제 시대가 바뀌어 사람들이 지하철 안에서는 DMB를 시청하고 스마트폰 게임을 한다. 그 무엇을 하건 요 손바닥만 한 기기에서 눈을 떼질 않는 시대가 됐다. 찌라시 따윈 이제 아오안. 그래서 저건 답이 없는 지경으로 전락하여 사라졌다.
참고로 본인은 예나 지금이나 지하철 안에서는 그냥 자거나 내 노트북 PC를 꺼내서 작업하거나 성경을 읽는 편이다. 그렇기 때문에 찌라시가 있던 시절에도 그걸 딱히 읽지는 않았었다.

Posted by 사무엘

2018/05/05 19:36 2018/05/05 19:36
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1486

시스템 복원

Windows에는 시스템 자신의 소프트웨어적인 유지 보수와 관련하여 (1) 업데이트와 (2) 시스템 복원이라는 두 기능을 제공한다. 전자는 프로그램을 최신 상태로 유지하는 기능으로, 개념적으로 미래로 나아가는 것에 대응한다. 후자는 그와 반대로 과거로 돌아가는 기능이다.

옛날에는 프로그램의 업데이트/패치라는 게 오프라인 상으로 동작하는 기능에 버그가 발견되어 고쳐졌거나, 아니면 작게나마 새로운 기능이 추가됐을 때 이를 반영하기 위해 시행되었다. 그러나 2000년대부터는 굳이 그런 게 아니라 '보안 취약점'을 수정하는 업데이트의 비중이 커졌다.

보안 취약점은 세상의 컴퓨터들이 인터넷에 한데 연결돼 있지 않거나 아주 제한된 시간 동안 잠시만 연결된다면 별로 심각한 문제가 아닐 것이다. 하지만 그렇지 않고 컴퓨터가 상시 네트워크에 연결되어 있으며 아무나 아무 컴퓨터로 패킷을 보낼 수 있고, 그 패킷이 해석하는 방식에 따라서 특정 지시를 수행하고 코드를 실행할 수 있기 때문에(편의라는 명목 하에) 보안 문제가 불거지는 것이다. 엑셀· 워드 문서가 그냥 데이터뿐만 아니라 매크로가 추가됨으로써 보안 위험이 커졌듯이 말이다.

이러면 최악의 경우 나도 모르는 사이에 악성 코드가 원격 조작으로 실행될 수 있으며, 내 컴퓨터에 있는 데이터와 내가 키보드로 입력하는 문자가 나의 동의 없이, 나도 모르는 사이에 내 컴퓨터 밖으로 새어 나갈 수 있다. 내 데이터가 날아가고 내 개인 정보가 유출될 수 있다. 내 컴퓨터가 주변의 컴퓨터로 악성 코드를 퍼뜨리는 좀비가 될지 모른다. 한 마디로 요약하면, 컴퓨터 시대에서 상상할 수 있는 모든 끔찍한 재앙이 벌어질 수 있다.

보안 업데이트는 프로그램의 그런 허점들을 막아 준다. 정적 분석 기술로 컴퓨터 프로그램이 취급하는 모든 데이터의 처리 양상을 원천적으로 분석해서 보안 취약점을 자동으로 찾아낼 수는 없다. 그러니 그때 그때 취약점이 발견되면 해당 소프트웨어의 제조사에서 패치와 업데이트를 내는 식으로 "사후 약방문" 식 대응이 어쩔 수 없이 통용된다.

소프트웨어는 굳이 새로운 기능을 추가하기 위해서가 아니라 지금의 현 상태를 안전하게 유지하기 위해서라도 계속해서 유지 보수를 해야 하고 업데이트를 해야 하는 반제품이 되었다. 첫 버전 출시를 한 것은 전반부 종료일 뿐이고, 그 다음부터가 후반부의 시작이다.

업데이트라는 게 평범한 기능 개선과 추가에 지나지 않는다면.. "난 그런 기능 없어도 지금 프로그램 쓰는 데 아무 불편 없어요" 이런 사용자는 굳이 업데이트를 받을 필요가 없다. 하지만 보안 업데이트는 마치 예방접종과 비슷한 구석이 있어서 내가 안 받으면 남에게 피해를 줄 수도 있다. 그렇기 때문에 모든 사용자들이 반드시 받을 필요가 있다. 일단은 말이다.

업데이트에 대한 얘기가 좀 길어졌는데, 다음으로 시스템 복원은 위급한 상황에서 굉장히 유용한 기능이다. 개발자의 입장에서 이런 기능은 구현하고 테스트· 디버깅 하는 게 굉장히 엄청나게 어려웠을 것이다.

본인의 경우 꽤 오래 전(거의 2009~2010년경.. Vista 시절), 언제부터인가 집 컴퓨터가 인쇄가 안 되기 시작했다.
프린터가 USB 포트 상으로 인식은 분명히 되고, 인쇄 명령을 내리면 프린터가 이를 받아서 예열 작업까지는 한다(레이저임).

그런데 그 후로 프린터는 아무 반응이 없이 인쇄가 전혀 진행되지 않으며, 도리어 인쇄를 내린 응용 프로그램만 응답 불능 상태에 빠진 채 멎어 버리는 것이었다.
멎은 프로그램은 CPU를 사용하지는 않으며, 다른 프로그램들은 정상 동작했다. 하지만 그 멎은 프로그램은 작업 관리자로 아무리 죽여도 사라지지 않았다.

하드웨어 문제라면 이거 프린터를 수리 받아야 하는데, 무슨 충격을 받은 것도 아니고 멀쩡한 프린터가 갑자기 고장 날 리가 없으니 무척 난감한 상황이었다.
만약 소프트웨어 문제라면 프린터 드라이버를 다시 설치하거나 최악의 경우 운영체제를 새로 설치해야 할 것이다. 최근에 부모님께서 내가 없는 동안 이 컴퓨터로 이것저것 ActiveX도 깔고 인쇄를 하긴 하셨는데 도대체 어쩌다가 프린터가 이렇게 됐는지 몰라 답답하기 그지없었다.

하지만 다행히 문제는 비교적 간단하게 해결할 수 있었다. 혹시나, 설마 해서 ‘시스템 복원’을 해 봤는데 이게 날 살렸다.
부모님께서 컴퓨터를 건드리기 전인, 약 1주일 전으로 복원을 시켰다. 그 사이에 컴퓨터에 생긴 변화는 운영체제 업데이트 몇 개가 자동으로 설치된 것 정도가 떠 있었다.

시스템 복원을 하고 나자 프린터는 거짓말처럼 인쇄가 되기 시작했다. 아까는 무엇 때문에 안 됐는지 모르겠지만, 어쨌든 시스템 복원 기능을 이용해서 만족스러운 결과를 잘 얻었다.
Vista보다 더 옛날, XP 시절에도 본인은 시스템 복원으로 여러 하드웨어/소프트웨어 문제를 딱 해결한 적이 있었다. 이런 기능이 없었으면 영락없이 운영체제를 재설치해야 했을 터이다. 물론 이제는 운영체제를 재설치할 일 자체가 거의 없어지다시피했지만 말이다.

이런 Windows 업데이트와 시스템 복원은 하는 일이 완전히 다르지만 그래도 서로 한데 맞물려서 돌아간다. 업데이트를 설치하는 것부터가 시스템 복원 지점을 만든 뒤 진행되기 때문이다.
이런 일이 있어서는 안 되겠지만, 업데이트를 설치한 뒤에 운영체제에 오히려 부작용이 발생할 수가 있다. 상태가 예전보다 나빠졌다면 시스템 복원을 실행해서 원상복구를 시킬 수 있다.

시스템 복원은 Windows 2000도 아니고 ME에서 첫 도입된 정말 얼마 안 되는 기능 중의 하나이다. 이 기능으로 인해 Windows는 평시에 차지하는 하드디스크 용량이 본격적으로 크게 늘어나기 시작했다.

본인은 가끔 갖고 놀 목적으로 Windows ME 가상 머신을 갖고 있다. 여차여차 하다 보니 하드의 파일 시스템을 FAT32가 아닌 FAT로 잡아 버려서, 주 파티션의 용량이 겨우 2GB가 됐다. 거기에다가 MS Office와 날개셋 정도만 설치하면 하드 용량을 딱 절반인 1GB 남짓 차지했는데..

그렇게 날개셋 한글 입력기를 테스트 하고 빌드 스냅샷을 설치하고 지우기를 반복했던 가상 머신은 나도 모르는 사이에 여유 공간이 갈수록 줄어들더니, 겨우 50~60MB 남짓밖에 안 남는 사태가 벌어졌다.
뜨악 하다가 정신을 차리고 시스템 복원 기능을 완전히 끄고 기존 스냅샷들을 모두 삭제한 뒤 재부팅을 하자.. 사라졌던 1GB 남짓한 공간이 다시 거짓말처럼 나타났다. 용량 쳐묵쳐묵의 범인은 시스템 복원 기능이었다.

얘는 마치 휴지통처럼 최대 몇백 MB까지만 공간을 사용하라고 옵션을 지정하는 게 분명히 있음에도 불구하고, 그걸 훨씬 더 초과하여 디스크를 잡아먹고 있었다. ME의 복원 기능만 그런 문제가 있었는지는 모르겠다.

오늘날의 Windows 10은 브랜드 이름과 주 버전은 이제 더 안 고치고, 찔끔찔끔 업데이트만으로 보안 패치와 서비스 팩, 버전업을 모두 겸하게끔 배포 방식을 바꿨다. 이제 날짜와 빌드 번호가 사실상 버전 번호가 된 셈이다.
그런데 시도 때도 없이 너무 자주 업데이트가 발생해서 CPU 잡아먹고, 시간이 흐를수록 하드디스크 용량 소모가 너무 심하며, 컴퓨터를 원하는 때에 제대로 끄지도 못하게 만드는 등 민폐가 너무 심하다.

게다가 업데이트 설치 후에 부팅이 안 되고 컴이 먹통이 되는 현상을 집과 회사에서 두 번씩이나 겪은 뒤부터 본인은 학을 떼 버렸다. 인터넷 연결망이 종량제 기반이니 니 멋대로 업데이트 받아서 설치하지도 말고 알리지도 말라고 레지스트리를 조작해서 넣었다.
Windows 10만 그런 게 아니라, 구닥다리 7을 굴리는 작업실 컴도.. 하는 일 없이 CPU 잡아먹으면서 열받고 팬을 돌아가게 만드는 주범이 update 서비스인 걸 보고는 이거 nProtect만 욕할 처지가 아니라는 걸 알게 됐다. 서비스 다 내리고 업데이트 따위 꺼 버렸다.

아무리 보안과 안전이 중요하다지만 나는 최소한의 보안 관념이 있고 내 컴퓨터 통제를 스스로 할 줄 알며, 대부분의 보안 결함은 여느 교통사고나 범죄 사건과 마찬가지로 정말 극단적이고 예외적인 막장 상황에서나 발생하는 것들이다. 위험이 너무 과장되고 부풀려진 면모가 있다. 그리고 이 정도의 횡포는 가성비를 따졌을 때 강제 업데이트를 justify하지 못한다는 결론을 내렸다.

컴퓨터 자원은 무한한 게 아니다. 아무쪼록 시스템의 안정성을 관리하는 기능들이 지금보다 자원을 좀 아껴 쓰고 민폐 안 끼치며 동작했으면 좋겠다는 생각이 들었다. 이상.

Posted by 사무엘

2018/04/28 08:30 2018/04/28 08:30
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1483

요즘은 좀 덜해진 감이 있지만 한때 마소에서는 자사의 운영체제인 Windows에 단순히 기술과 기능뿐만 아니라 감성을 담으려고 애쓰곤 했다. 애플 진영만 감성 마케팅을 한 게 아니라는 얘기이다.
이쪽으로 굉장히 신경을 많이 썼던 때는 크게 세 시즌으로 나뉜다. (1) 95, (2) XP, 그리고 그 다음 (3) Vista 정도 되겠다.

Windows 95는 그야말로 마소의 Windows 개발 역사상 가장 큰 격변을 이룬 작품이었다.
그러니 3.1 시절의 너무 식상했던 tada.wav를 대신하여, 참신하고 세련되고 오픈되고 모던한 이미지를 표현할 수 있게, Windows 95 부팅이 마치 미래로 가는 창문을 열어젖히기라도 한 인상을 줄 수 있는.. 그런 시작음을 외주를 줘서 개발하게 되었다.

그 유명한 "또르릉~ 띵~ 띵.." 95의 시작음을 작곡한 사람은 Brian Eno이다. 파일 이름부터가 참 거창하게 The Microsoft Sound였다.
다만, 정작 그 작곡자는 DOS고 Windows고 전혀 사용하지 않는 골수 Mac 유저였다는 것이 훗날 당사자의 회고 인터뷰를 통해 알려지기도 했다.;;

Windows 95는 누구나 듣는 시작음뿐만 아니라, 소수의 매니아만이 열어 보는 이스터 에그 화면에다가도 고유한 음악을 집어넣었다. 여기에 들어간 음악이 바로 그 유명한 Clouds이다. 이거 작곡자는 Brian Orr이니 또 다른 Brian이다. 단, 이건 길이와 용량 관계상 wav가 아니라 mid 포맷이다.

저 작곡자가 회고하기를, 작곡을 의뢰받을 때 컨셉으로 받은 키워드가 clouds, floating, peaceful이었다고 한다. Windows 95는 부팅 스플래시 화면부터가 파란 창공과 구름이었으니까..;; 그래서 그 컨셉에 맞게 멜로디를 써 넣은 결과물이 저 음악이라고 한다.
여느 음악 예제들과 마찬가지로 Windows\media 디렉터리에 있었다고는 하지만 본인은 얘는 Windows 95가 실제로 사용되던 시절에 PC에서 찾아서 들어 보지 못했다.

저거 이후로 마소의 제품에서 이스터 에그 재생 중에 그럴싸한 음악이 나온 경우는 Visual Basic 5~6의 이스터 에그가 유일했던 듯하다. 공교롭게도 저 이스터 에그도 파란 창공을 배경으로 정육면체 상자 4개가 뱅글뱅글 돌아가고 그 배경 위로 개발자 명단이 스크롤 되어 올라간다.

물론 이스터 에그라는 것도 2002년 이후로는 마소의 제품에서는 싹 자취를 감춰서 볼 수 없게 됐지만 말이다.
우리나라 지하철에다 비유하자면, 처음에 인테리어가 좀 독특하게 꾸며졌던 역들이 모두 안전을 이유로 스크린도어로 뒤덮이고 불연재 재질로 교체되어 미관이 예전보다 안 좋게 바뀐 것과 비슷해 보인다. 뭐 아무튼..

Windows NT 4라든가 98~ME 사이에서는 전자 악기 기반의 시작음들이 많이 쓰였으며 특히 chimes, chord, ding 같은 메시지 비프음도 다시 만들어졌다. 이것들은 다른 아티스트들의 작품이다.

그러다가 Windows XP는 프로그램의 시청각 요소가 완전히 쇄신했다. 이제 PC의 속도와 메모리가 충분해진 덕분에 9x 계열 커널이 수명을 다할 때가 됐고, 그리고 64비트와 멀티코어 CPU도 등장하다 보니 하드웨어가 큰 변화를 겪을 시기였다. 이 시기에 맞춰 마소에서는 OOBE (out-of-box experience)라는 말까지 만들어 내면서 새 운영체제로 '사용자에게 새롭고 특별한 경험을 선사하자'에 목숨을 걸었다. 굳이 Windows 2002 대신 XP라는 브랜드명까지 만들면서 말이다.

일단 피아노 소리 위주인 시작음, 비프음들은 다 Bill Brown이라는 작곡가가 작곡하고 오케스트라를 동원해서 연주했다. 그리고 (1) Tour를 실행했을 때 나오는 고퀄의 배경 음악들도 이 사람의 작품이다. 시퍼런 Luna 테마와 풀밭 사진뿐만 아니라 음악도 Windows XP를 뭔가 종합 예술 작품 같은 인상을 심어 주는 요인이다.

사실, Windows XP는 애초에 설치를 하다가 작업이 마무리되고 비디오/사운드 카드가 자동으로 잡히고 나면 간단한 애니메이션과 함께 (2) 몽환적인 분위기의 intro 음악이 나온다. 길이도 무려 5분 24초나 된다. 이걸 듣고서 강렬한 인상을 받은 사람이 많았을 것이다.

그런데 이 유명한 음악의 작곡자는 의외로 Bill Brown이 아니며, 정확하게 알려져 있지 않다. 인터넷 상으로는 Brian Eno가 작곡했다는 말이 많지만 저 사람은 공식적으로는 Windows 95 로고송 이후로 딱히 마소와 다시 작곡과 관련된 계약을 맺은 내역이 없다.

Susan Ciani라는 미국의 여성 작곡자를 지목하는 곳도 있으나, 이 역시 정확한 출처나 근거가 부족하다. 이 곡은 Windows XP의 정체성 그 자체로서 Tour 음악과 쌍벽을 이룬다고 해도 과언이 아닌데, 작곡자가 공식적으로 미상인 것이 무척 미심쩍게 여겨진다.

그 뒤, Windows Vista부터 도입된 "따단 따단" 그 4개 음표짜리 전자음 멜로디는 Robert Fripp이라는 사람이 작곡한 것으로 알려져 있다. 이때 이후로 마소에서는 운영체제의 음악에 큰 신경을 쓰지 않고 있다.
옛날에는 사용자가 선택한 테마에 따라 GUI의 색상과 글꼴, 각종 사운드가 싹 달라지게 하는 게 유행이었고 애초에 Windows와 Office, Visual Studio 제품들도 버전이 바뀔 때마다 프로그램 외형과 색상도 같이 바뀌던 시절이 있었거늘, 그마저도 2010년대 이후로는 약발이 다한 모양이다.

시작음처럼 운영체제나 프로그램의 구동과 함께 연주되는 음악 말고.. Windows\media 디렉터리에 예제로 제공되는 음악들도 버전별로 바뀌어 왔다.
Windows 3.1 시절에는 canyon과 passport라는 이름의 mid 파일이 있었다. 95와 그 이후까지 존속했는지는 기억이 확실치 않다.

98/2000쯤에는 '엘리제를 위하여'를 포함해 뜬금없이 클래식 음악의 미디 파일이 갑자기 쭈욱 추가되었던 걸로 본인은 기억하는데, 후대 버전에서는 몽땅 다시 사라졌다.
그 대신 ME와 XP에서는 그 당시의 최신 외국 가요 음반에서 발취한 샘플 wma 한두 곡이 잠시 들어갔다. 미디로는 town, flourish, onestop이 들어가서 오늘날 Windows 10에까지 전해져 내려오고 있다.

특히 onestop의 경우 마치 음악계의 the quick brown fox jumps over the lazy dog처럼.. 미디에 정의되어 있는 모든 악기들을 일부러 모두 동원하는 형태로 만들어졌으며, 구간별로 분위기가 오락가락 하면서 굉장히 괴랄한 흐름과 중독성을 자랑한다.
뭔가 RPG 게임의 BGM 같기도 하고.. "이 음악 들으니 문득 집 앞 편의점까지 희망찬 모험을 떠나고 싶어졌어!" 뭐 이런 말이 나올 정도라고 한다..;;

Posted by 사무엘

2018/03/31 08:34 2018/03/31 08:34
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1473

1. 도스 시절 명령어

도스에서 파일(과 디렉터리)을 다른 곳에 복사하는 명령은 copy이다. 얘는 명령 셸인 command.com이 자체 지원하는 내장 명령이다.
그런데 도스에는 copy의 일종의 강화 버전이라 할 수 있는 xcopy라는 것도 있으며, 이건 별도의 프로그램을 통해 실행되는 외부 명령이다.

xcopy는 일반 copy와 달리 (1) 서로 다른 드라이브 사이에 서브디렉터리까지 재귀적으로 통째로 복사하는 걸 지원했으며, (2) 복사에 사용하는 메모리 버퍼 크기가 더 크고, 여러 개의 파일을 한꺼번에 읽은 뒤(대략 수백 KB 정도 크기까지) 타겟에다 쓰는 걸 지원했다. xcopy의 전치사 X는 일반적으로 cross라고 발음되었다.

지금 생각해 보면 이 둘은 차별화 요소가 전혀 될 수 없으며 굳이 분리할 필요가 없다. 그냥 copy가 원래 (2)처럼 동작하면 되고, (1)은 /s 같은 옵션을 추가해서 지원하면 될 일이다.
하지만 옛날에 xcopy가 외부 명령으로 존재했던 이유는 겨우 그 정도 고급 복사 옵션/기능마저도 command.com에다 상시 집어넣고 있기에는 메모리가 부족하고 아까웠기 때문이다. 옛날에는 베이직 인터프리터가 Ready 출력할 메모리조차 아까워서 프롬프트를 Ok로 바꾼 시절이 있었다는 것 기억하시는가? (단 3바이트를 아끼려고!) 검색을 해 보니 xcopy는 1987년, MS-DOS 3.2에서 첫 도입됐다고 한다.

하긴, 옛날에는 다단계 디렉터리를 재귀적으로 탐색하면서 뭔가를 하는 일이 쉽지 않아서 외부 유틸리티를 많이 이용해야 했다. 파일 찾기는 말할 것도 없고, 지우는 것도 옛날에는 deltree라는 명령이 따로 있었지 싶다. 그건 지금은 del에 /s옵션으로 통합됐지만 말이다.
유닉스 계열 셸은 내장과 외장 명령어 구분이 어찌 되나 모르겠다. cp, mv, rm은 외부 프로그램인 것 같던데 설마 pwd, cd 이런 것들도 다 외부 프로그램이려나?

그리고 옛날에는 플로피 디스크(일명 디스켓)란 게 쓰여서 파일 시스템 차원에서 완전히 똑같은 디스크 복제를 해 주는 diskcopy라는 외부 명령이 있었다. 얘는 굳이 외부 명령으로 만들 거면 디스크 이미지 파일을 만들거나 이로부터 복제 디스크를 만드는 기능도 같이 있었으면 좋았을 거라는 아쉬움이 남는다.

1.2~1.44MB짜리 디스크를 단일 드라이브에서 복사하려면 source와 target 디스켓을 여러 번 갈아 끼워야 했는데.. Norton Utilities 같은 다른 유틸리티들은 EMS 및 XMS 메모리를 활용하여 한 번만 갈아 끼우고 바로 복사가 된다는 걸 장점으로 내세우곤 했다. 프로그램을 하나 설치하려 해도 "제품의 이제 1~N번 디스크를 넣고 아무 키나 누르세요" 이러던 참 아련한 옛날 추억이다.

2. 16비트 Windows의 실행 모드

예전에 언급한 바와 같이, 1990년대 초중반에 Windows라는 운영체제가 32비트 플랫폼으로 처음 갈아타던 시절에는 Win32 API라는 것의 구현체가 Windows NT, Windows 95, Windows 3.1+Win32s라는 세 계통으로 나뉘었다. NT가 가장 이상적인 레퍼런스 구현체이고, Win32s는 제일 허접하다.

그리고 그 중간의 95는 비록 NT처럼 스레드도 지원하고 도스로부터 많이 독립했다고는 하지만, 도스로부터 완전히 독립했다기보다는 도스를 내부적으로 흡수· 합병한 것에 가깝다. Windows NT의 마이너 축소판이라기보다는 Win32s가 각종 한계 없이 제대로 구현된 형태라고 보는 게 더 타당하다.

그런데 95 계통의 전신이라 할 수 있는 Windows 3.0이 나왔을 때에는 동일 제품· 단일 바이너리 하에서 실행 모드가 세 갈래로 나뉘었다. 바로 8086 리얼 모드, 286 표준 모드, 386 확장 모드이다.
Windows NT 4가 가장 많은 아키텍처를 지원하는 32비트 운영체제였다면, Windows 3.0 (3.1 말고)은 실행 모드가 가장 다양했던 16비트 도스용 운영 환경(?)이었다.

원래 Windows 1과 2에서는 리얼 모드밖에 존재하지 않았으며, Windows는 진짜 도스 위의 덧실행 껍데기 그 이상도 이하도 아니었다. 리얼 모드에서는 메모리가 기본 640K밖에 없었으며, 그 번거로운 16비트 Windows 3.x보다도 프로그래밍 환경이 더 열악했다.

그러다 Windows 2.0의 후속 버전으로 2.1은 286 표준 모드를 도입한 Windows/286과, 386 확장 모드의 전신인 Windows/386 이렇게 두 갈래로 나왔다. 사실, 16비트 80286 프로세서에도 보호 모드가 있긴 했지만 프로그래밍에 애로사항이 많았는지 그걸 사용한 프로그램은 매우 소수였으며 여전히 거의 봉인돼 있었다. 그냥 EMS/XMS 같은 규격으로 메모리를 수백 KB 남짓 더 사용할 수 있다는 것에 의미를 둬야 했다. 386 확장 모드도 첫 버전답게 문제가 많았으며, 2.11이 더 나와야 했다.

그러다가 Windows 3.0은 리얼, 286 표준, 386 확장을 모두 통합하여 출시됐다. 이때는 DPMI 규격도 갓 제정되었기 때문에 2.x 시절보다 보호 모드 지원도 더 개선되었다.
이때는 3.0에다가 멀티미디어 API가 최초로 추가된 확장팩이 나왔으며, 3.1은 네트워크 API가 추가된 Windows for Workgroup 3.11, 그리고 중국어 입출력 지원이 추가된 3.2 이런 식으로 기능 확장팩이 많던 시절이었다. 지금처럼 인터넷을 통한 업데이트가 가능한 시절도 아니었으니 말이다.

Windows 3.1에서는 리얼 모드가 삭제되고 win /2 또는 /3을 통해 286 표준 모드만 지원하지만, 이것은 성능이 굉장히 많이 열화된 모드였다. 그리고 Windows 95부터는 표준 모드도 빠져서 기술적으로 언제나 386 확장 모드로만 동작하는 형태가 됐다.

이렇듯, Windows 3.x는 비록 순수한 32비트 운영체제는 아니지만 보호 모드라든가 도스용 프로그램을 내부에서 구동할 때처럼 일부 기능에서 80386 이상 CPU가 제공하는 가상화 기능을 사용하기 때문에 결과적으로 32비트 CPU가 필요했다. 386 확장 모드가 지원하는 기능이 그런 것이었다.
이는 과거에 존재하던 PIF 편집기가 확장 모드에서는 표준 모드에 비해서 지원하는 옵션이 얼마나 더 다양해지는지를 보면 얼추 짐작 가능하다. 286 표준 모드에서는 요게 전부이던 옵션이..

사용자 삽입 이미지

386 확장 모드에서는 XMS뿐만 아니라 EMS 규격, 그리고 멀티태스킹 우선권 등 다양한 옵션들이 별도의 대화상자와 함께 추가되는 걸 알 수 있다.

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

Windows 95 역시 순수 32비트 프로그램이 아니면 도스용 프로그램에 대해서만 제대로 된 가상 머신과 선점형 멀티태스킹을 지원했다. 16비트 Windows 프로그램을 강제 종료하면 운영체제와 얽혀 있는 스레드 동기화 오브젝트 같은 것이 얼어붙으면서 시스템의 안정성에 심각한 문제가 발생하곤 했다.

LimitEmsPages 이런 함수는 32비트가 아니라 이미 Windows 3.x 시절부터 deprecated돼 있었는데, 아마 리얼 모드 시절의 잔재이지 싶다.
Windows 1~2.x용 실행 파일은 후대 Windows와 실행 파일 포맷은 동일하지만(NE) 내부의 플래그로 구분되어 있어서 3.x에서 실행하면 "제대로 실행되지 않을 수 있음" 경고가 뜨곤 했다. 요컨대 Windows의 역사를 살펴보면, 16비트에서 32비트로 넘어갈 때만치 큰 변화는 아니지만, 같은 16비트 안에서도 1~2.x와 3.x 사이에 보호 모드가 도입되기 전과 후에는 기술적으로 나름 변화와 단절이 있었다고 볼 수 있다.

3. 외주로 제작되었던 보조 프로그램과 게임

Windows에 내장돼 있는 기본 프로그램들 중에는 마소에서 직접 만들지 않은 외주 프로그램도 있다. Windows 95 시절에 잠깐 있었던 하이퍼터미널이라는 터미널 접속 프로그램이 대표적인 예로, 스플래시 화면이라든가 각종 UI 외형이 대놓고 기존 마소 프로그램과는 어울리지 않아서 마소 자체 개발이 아니라는 걸 알 수 있었다.

또한 게임 중에서도 Windows XP에까지 제공되었던 3D 핀볼(시네마트로닉스 개발, 맥시스 유통)은 외부 프로그램이었으며, Vista/7 시절에 그래픽이 쇄신했던 지뢰찾기 등의 기본 게임들도 외주였다(Oberon games).

그런데 더 옛날에 Windows 3.1의 내장 프로그램들을 보면, 굉장히 단순하게 생겼고 이 정도면 자체 제작했을 법도 한 프로그램이 About 대화상자를 보면 외주인 경우가 은근히 더 있었다. 게다가 아래의 목록에서 보다시피 제작자/제작사가 프로그램마다 완전 제각각이었다.

  • 계산기: Kraig Brockschmidt
  • 터미널: Future Soft Engineering 사
  • 레코더: Softbridge 사
  • 지뢰찾기: Robert Donner & Curt Johnson
  • 카드놀이: Wes Cherry

그러니 Vista/7 이전에 제공되던 기본 게임들도 알고 보니 외주였던 셈이다. 특히 지뢰찾기는 Windows 1.0부터 3.0까지 존재하던 Reversi(일명 오델로)를 대체할 목적으로 3.1에서 처음 선보였던 게임이기도 하다.
레코더의 경우 Windows의 역사상 거의 전무후무하게 존재하던 키보드· 마우스 매크로 유틸리티인데 95와 그 이후로는 결코 재등장하지 않았으니 희소성이 크다.

물론 이것들 말고 프로그램 관리자, 파일 관리자, 제어판이라든가 간판 앱인 문서 작성기(오늘날의 워드패드)와 페인트(오늘날의 그림판)은 외주가 아니라 내부 자체 제작이다.

4. 색깔의 미묘한 차이

말이 나왔으니 옛날 추억 회상을 더 해 보자면,
컴퓨터의 주메모리가 아니라 비디오 메모리가 딱 1MB이던 시절에는 Windows 3.1의 비디오 모드를 (1) 꼴랑 640*480 저해상도인 대신에 트루컬러, (2) 800*600에서 적당하게 하이 컬러, 아니면 (3) 1024*768에서 256색.. 셋 중 하나로 골라 쓰는 재미(?)가 있었다.

그리고 Windows 3.1은 원래는 우리에게 익숙한 짙은 파란색으로 윈도우의 굵은 틀을 표현했지만, 하이 컬러 이상부터는 어인 일인지 은은한 하늘색으로 색깔을 바꿔 표시했다. 왜 무슨 근거로 색깔을 바꿨는지는 모르겠지만 개인적으로 아주 신기하게 느껴졌었다.

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

그 이전 3.0은 슈퍼 VGA나 트루컬러로 진입할 일이 있긴 있었는지, 그래픽 드라이버가 개발되거나 3.1 것과 호환되긴 했는지에 대해 본인은 아는 바가 없으며, 이에 대해서 회의적이다.

Posted by 사무엘

2018/03/04 08:30 2018/03/04 08:30
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1464

오늘은 1980년대 후반부터 1990년대 중반 사이의 기간에 마소에서 '도움말, 튜토리얼, tour, intro, guide' 장르에 속하는 프로그램을 개발한 것들을 좀 회상하고자 한다.
요즘 튜토리얼이라 하면 컴퓨터 게임에서 본게임을 수행하기 전에 기본적인 조작법을 익히는 싱글 플레이어 미션 정도를 가리킨다. 툼 레이더로 치면 Lara's home이 대표적인 예이다.

하지만 1980년대에는 게임 정도가 아니라 컴퓨터라는 괴상한 기계 자체에 익숙하지 않은 사람이 아주 많았다. '컴맹'이라는 단어 기억하시는가? 1992년에만 해도 '키출판사'라는 곳에서는 <저는 컴퓨터를 하나도 모르는데요>라는 컴퓨터 입문서를 하나 잘 만들어서 전국 서점에서 베스트셀러 자리를 수 년간 석권하며 초대박을 쳤었다.
그런 시절엔 일반인들을 대상으로 컴퓨터에 대한 두려움을 없애고 컴퓨터 입문을 도와 주는 프로그램도 나올 필요가 있었다. 특정 프로그램의 사용법뿐만 아니라 키보드 타자 내지 심지어 마우스 같은 사치품(?)을 다루는 방법도 사용자가 익혀야 했다.

마소에서는 오래 전부터 뭔가 인터랙티브한 학습/데모 소프트웨어를 만드는 것에 남다른 신경을 썼던 것 같다. 그도 그럴 것이, 이거 학습을 잘 시켜야 컴퓨터 사용자를 늘리고 잠재적인 자기 고객도 확보할 수 있을 테니까 말이다.

그리고 사실은 방대한 운영체제나 Office 솔루션의 '설치 프로그램'도 단계별로 뭔가가 진행된다는 점에서 UI 구조가 반쯤은 이런 데모 프로그램과 비슷하다. 그러니 마소에서 1990년대에 '마법사'라는 UI 요소를 만들어 냈고 두 개념을 합쳐 '설치 마법사'라는 말까지 만든 것이지 싶다. (다만, 비슷한 시기에 도입했던 '길잡이 clippy'는 너무 과잉 오버 사족으로 여겨져서 오래 못 가고 망했다만..)

아무튼.. 마소에서 지극히 초창기에 만들었던 학습 프로그램의 원조로 본인은 QuickBasic 4.5에 들어있던 (1) QuickBasic express를 기억한다. 실행 파일은 learn.com이고, qbcbt.ctx/scn/sob, 그리고 bx.pgm이라고 내부 구조를 알기 어려운 코드/데이터 복합 보조 파일을 추가로 사용한다.
이들 파일들을 다 합해 봤자 크기는 100K가 채 되지 않으며, 압축된 것도 아니어서 얼추 내부 문자열 같은 건 그대로 확인 가능하다. 그래도 프로그램을 실행해 보면 저 작은 크기가 믿어지지 않을 정도로 학습 컨텐츠가 많이 들어있다.

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

화면은 16색 텍스트 모드에서 아스키 아트를 최대한 창의적으로 활용해서 화려하게 꾸몄다. 무려 열차를 그렸으며, 프로그램을 실제로 돌려 보면 연기가 뿜어져 나오고 기관차의 구동축이 움직이며 선로가 가로 스크롤을 하기 때문에 열차가 진짜 달리는 것처럼 보인다. 프로그램 이름에도 BASIC만 빼면 Quick, express 온통 이런 단어들이니 얼마나 스피디한 느낌이 나겠는가? 말 그대로 '퀵베이직 특급· 고속· 급행열차'인 셈이다.

물론, 아스키 128번 이후 문자를 이용한 아스키 아트는 2바이트 단위의 동아시아 문자 코드와는 상극이니 이런 프로그램은 한글화 따위는 절대 불가능했을 것이다. 아니면 아스키 아트들을 2바이트 특수문자 기반으로 완전히 마개조 재창조 초월번역을 해야 할 텐데, 일본은 몰라도 그 당시 한국 마소에서 그런 용자짓을 할 여유와 능력, 재량이 있었으리라 여겨지지는 않는다.

마소에서는 이런 부류의 프로그램에 대해 내부적으로 이미 CBT(computer-based training)이라는 용어를 쓰기 시작했다.
뭐 본격적으로 프로그래밍 언어를 가르치는 것도 아니고, 전적으로 컴맹 왕초보를 위해서 QuickBasic을 구동하고 프로그램을 불러오고 실행하는 것까지만 설명하는 튜토리얼을 상당한 덕력을 담아서 굉장한 고퀄로 만든 것이다.
화차 그림에 쓰인 주의사항 보이시는가? 아주 대단한 선심이라도 쓰는 듯 "주목: 이런 지식은 아무 데서나 알려주는 거 아니야!" 이런 드립까지 친다.

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

열기: "자, 디스크에 저장된 프로그램을 불러오는 걸 실습해 보시겠습니다."
저장: "짜잔~! 프로그램이 final.bas라는 이름으로 저장됐습니다."

문장들의 문체가 전반적으로 은근히 재치 있고 익살스럽기 때문에, 한국어의 사무적인 해요체 합쇼체로 번역하기에는 너무 무겁고 길이도 너무 길다.
저건 그야말로 디스크와 파일에 대한 개념도 아직 부족해서 하드디스크에 몇백 GB짜리 사진을 저장하면 컴퓨터의 무게가 물리적으로 증가할 것처럼 생각하는 왕초짜를 위한 설명이다..;; C언어라면 몰라도(저 때는 마소에서 아직 C++ 컴파일러를 개발하지 않았던 시절) 베이직만은 그야말로 왕초보라도 접근 가능한 대중적인 프로그래밍 툴로 만들려는 빌 게이츠의 야심이 담긴 것 같다.

사용자 삽입 이미지

다 끝나고 나면 이 프로그램이 가르쳐 준 lesson의 핵심 요약을 요렇게 쭉~~ 늘어놓아 준다. 잊어버릴까 봐 종이에다 프린트 명령까지 제공하는 배려를 했다.
사실, 영어권에서 뭔가 개념원리 학습 자료를 만들어 놓은 걸 보면 참 대단하고 부러움이 느껴질 때가 많다. 기본기를 탄탄하게 다지는 게 느껴지기 때문이다.

가령, 컴퓨터 쪽은 아니지만 무려 1930년대에 GM사에서 영업사원들(이미 기계공학을 전공한 엔지니어들 말고) 교육용으로 변속기의 원리를 설명해 놓은 필름을 보면.. 매체의 기술 수준 말고, 강의 자체는 기본적인 물리 법칙부터 시작해서 공학적인 응용에 이르기까지.. 지금 봐도 나무랄 데 없는 고퀄이다. 저렇게 기본기와 실용주의에 충실한 교육이 쌓이고 쌓인 덕분에 미국이 과학 기술 선진국이 된 게 아닌가 싶다.

사용자 삽입 이미지

다 끝나고 나면 다시 열차 그림과 함께 엔딩 화면이 나타나는데..
이번에는 시작 화면과는 달리 화차가 텅 비었고 아무 짐도 실려 있지 않다. 아하.. 이런 차이를 담았구나!!
난 그걸 전혀 눈치 채지 못했는데.. 이번에 스크린샷을 찍기 위해 프로그램을 오랜만에 다시 돌려 보면서 차이를 알게 됐다.

QuickBasic은 시대를 풍미했던 명작이고, 지금도 고전 레트로 레거시 프로그래밍 장난감으로서 외국에 매니아 커뮤니티가 있다.
그런데 QuickBasic의 인지도에 비해 이 자습서 프로그램은 존재감이 너무 묻히고 있는 것 같다. QuickBasic learn.com, Express 등 내가 생각하는 모든 관련 키워드들을 조합해서 검색해도 스크린샷 한 장 뜨는 게 없기 때문이다.

게다가 learn.com은 어찌 된 이유인지 도스박스에서 안 돌아가고 시스템이 뻗는다(0.72 기준). 이것 때문에 더욱 접근이 어려웠다. VMware 같은 다른 가상화 유틸에서 돌려야 했다.

QuickBasic 말고 자습서로서 가장 유명한 건 아마 (2) Windows 3.1의 자습서이지 싶다. '프로그램 관리자'의 도움말 메뉴에 당당히 등재돼 있기 때문에 쉽게 접근 가능하다. PC 환경의 판도를 도스에서 Windows로 완전히 뒤바꾸기 위해서는 사용자에게 기본적인 마우스 사용법을 가르치고 Windows의 기본 UI 요소들을 다루는 일에 익숙하게 하는 것이 반드시 필요했기 때문이다.

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

이 자습서야 검색을 해 보면 스크린샷과 동영상들이 이미 넘쳐나니 이곳에서 미주알고주알 자세히 설명할 필요는 없을 것이다.
이런 식으로 고해상도(?) 화면에서 16색+도트 노가다로 깔끔하게 파스텔톤 그림을 그려 놓은 화풍을 개인적으로 좋아했다. 문자 때문에 고해상도가 필요했던 일본 게임들의 그림체도 이런 형태이긴 했다.

사용자 삽입 이미지

'파일-열기' 명령을 내려서 기존 문서를 불러오는 실습은 QuickBasic 자습서와 Windows 자습서에 공통으로 존재한다.

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

그 밖에 창 제목을 마우스로 드래그 해서 창의 위치를 옮기는 것, 그리고 라디오· 체크· 콤보 등 기본 GUI 요소들을 실습하는 것도 있다.

사실은 (3) Windows 95에도 자습서가 있다.
1990년대 중후반은 컴퓨터의 기본 조작에 익숙하지 않은 세대에 대한 고려가 여전히 필요한 시기였으며, Windows 95가 3.1에 비해 UI 요소가 바뀐 것도 워낙 많았기 때문에 시작 메뉴, 작업 표시줄, 폴더 같은 것에 대한 학습이 필요했다. 이때는 Windows 95 사용 관련 컴퓨터 서적도 정말 많이 출간됐었다.

단, 95의 자습서는 모든 컴퓨터에 기본으로 깔리지 않았으며, 운영체제를 설치할 때 사용자가 수동으로 자습서를 직접 골라야 했다. 그리고 구동하는 방법도 내 기억으로 도움말 어딘가에 숨겨져 있었고 메뉴에서 바로 선택 가능하지 않았다. 그렇기 때문에 3.1의 자습서보다는 훨씬 덜 알려져 있다.

내 기억이 맞다면 95의 자습서는 Visual Basic으로 개발되었지 싶다. 외부 링크로 소개를 대신하고자 한다.
그 당시 Windows 95의 비주얼 컨셉은 푸른 창공, 하늘과 구름이었다. 제품 패키지 박스와 부팅 스플래시 화면부터가 그렇고, 이스터 에그에 내장되었던 음악도 clouds.mid였으니.. 그러니 자습서에도 경비행기 그림이 있는 게 수긍이 간다.

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

그리고 끝으로.. 이거야말로 정말 오래된 기억에만 의지해서 회상하는 것이지만..
MS Word 중에서 16비트 Windows를 지원하는 마지막 버전이었던 (4) 6.0 역시 자습서를 내장하고 있었다.
구체적으로 무슨 내용이었는지는 기억이 안 나지만... Windows 3.1 자습서와 같은 엔진 기반으로 추정되고 비슷한 톤의 흰색 계열 화면이었다. 하지만 Windows 자습서와는 분명 다른 내용이었고, 배경 그림에 그 당시 Word 특유의 만년필 그림이 있긴 했다.

이 역시 내가 구글링 능력이 부족해서인지, 아니면 진짜로 역사 속으로 묻혀 버려서 그런지 인터넷 상으로는 자습서의 장면이나 동영상을 구할 수 없다.
16비트 시절 회상은 이 정도까지 하겠다.
사실, 도스박스로도 Windows 3.1 정도는 돌릴 수 있다. 이것도 0.6x대의 구버전에서는 안 되다가 후대 버전에서 가능해진 것이다.

도스박스는 여느 가상화 툴처럼 디스크 이미지를 별도로 만들 필요 없이, 기존 파일 시스템의 디렉터리를 곧장 mount 해서 쓰면 되는 게 참 편하다.
Windows 95까지도 돌린다고는 하지만, 그 정도부터는 아무래도 하드웨어 가상화의 도움을 받는 VMware 같은 더 정교한 가상화 프로그램의 도움이 필요할 것이다.
도스박스에서 Windows 3.1을 설치하면 다 좋은데, 프로그램 그룹의 수집과 생성이 왜 자동으로 되지 않는지가 의문이다. 프로그램 관리자가 기본 프로그램, 보조 프로그램 같은 그룹이 아무것도 없는 채로 시작된다.

한편, Windows 95부터는 부팅 직후에 간단한 welcome 프로그램을 실행하던 관행이 있었다.

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

95 때는 '알고 계십니까' 팁을 출력했지만 98과 2000에서는 인터넷 연결, 제품 등록 같은 걸 안내하는 것으로 프로그램의 실행 형태가 바뀌었고, ME와 XP부터는 이런 게 없어졌다.
2000년대 ME/XP 시기에는 컴퓨터의 기본 사용법을 가르치는 클래식한 자습서는 사라졌지만, Windows의 새 기능을 소개하는 데모는 플래시 내지 HTA (HTML application) 형태로 잠시 존재했다.
특히 XP에 내장돼 있던 플래시 기반의 "새 기능 투어"는 굉장한 퀄리티였다. 비록 한글화되지 않았으며, 이런 관행 역시 Vista와 그 이후부터는 역사 속으로 사라졌지만 말이다.

사용자 삽입 이미지

그럼 이제 프로그래머의 직업병을 발휘하여, 이런 자습서 내지 튜토리얼 프로그램들을 만드는 과정은 어떠할까 생각해 보고 글을 맺겠다.
웹이나 플래시는 처음부터 멀티미디어 컨텐츠를 표시하는 데 최적화된 저작도구 내지 플랫폼이라 치지만, EXE 기반의 전통적인 데모 내지 자습서· CBT 프로그램은 어떤 방법론을 동원하여 만들었을까?

순차적인 절차대로 진행되는 프로그램을 이벤트 드리븐 방식으로 개조하는 건 만만찮은 작업이기 때문이다. 쉽게 말해 과거의 터보 C/파스칼에 존재하던 BGIDEMO 예제처럼 순차적으로 일괄적으로 그래픽 데모가 진행되는 프로그램을 Windows용으로 짜는 걸 생각해 보자. 간편하게 자기가 원하는 타이밍 때 그림을 그리고 마는 게 아니라, 운영체제로부터 그림을 그리라는 요청을 받았을 때에만 그림을 그려야 한다.

그러니, 지금은 어느 데모의 그래픽을 출력할 차례인지 내부적인 진행 상태를 추상화해서 잘 관리해야 한다. 그리고 애니메이션이나 끊임없는 그리기 작업은 스레드나 타이머 같은 완전히 다른 방법론을 동원해서 해야 한다.

더 세부적으로 들어가면.. 자습서 프로그램은 그 특성상 학습 대상 프로그램이 실행된 가상의 화면을 표시할 일이 많고 심지어 그 가상의 화면에서 사용자가 창을 조작하는 것을 흉내까지 내야 할 때가 있다.
모든 그림들을 무식하게 비트맵 이미지로 때려박는 건 공간 효율과 유지 보수(일부 컨텐츠가 수정되었을 때, 화면 해상도가 변경됐을 때 등) 관점에서 별로 좋지 못하다.

저런 건 진짜 윈도우를 생성한 뒤에 서브클래싱 같은 customization으로 내가 원하는 형태로만 동작하게 제약을 추가하는 식으로 구현할 수도 있고, 아니면 윈도우 그림만 가짜로 그린 뒤에, 창의 이동과 크기 조절, 메뉴 표시 같은 당장 학습에 필요한 이벤트에만 임기응변으로 반응하게 만들 수도 있다. Windows 자습서는 정황상 대부분의 UI는 후자 방식으로 구현된 것으로 보이지만.. 이건 좀 어설프고 삽질스러워 보이는 면모가 있다.

당신이 Visual Basic의 짝퉁 개발툴을 직접 개발한다고 생각해 보자. VB의 디자인 모드에서 떡 나타나 있는 폼의 '윈도우 프로시저'는 어떻게 구현되어 있을지가 궁금하지 않은가? 평소에는 클라이언트 영역에 일정 간격으로 격자 도트가 찍혀 있을 것이고, 자신의 위치나 크기가 바뀌면 폼의 정보가 수정된다. 자기에게 놓인 차일드 컨트롤을 클릭하면 크기 조절을 위한 8개 모서리가 주변에 표시되며, 이걸 더블 클릭하면 해당 컨트롤에 대한 이벤트 핸들러 코드를 편집하는 창이 뜬다.

자습서 창 내부에서 특정 윈도우의 외형과 동작을 구현하는 일도 이런 것과 비슷한 차원일 것이다. 어떤 물건이긴 한데, 실물이 아니라 뭔가 영화 촬영용 소품과 비슷한 격의 물건을 갖다놓는 격이 된다.
'짝퉁'을 만드는 식으로 접근하는 방법론이 한계에 달했는지, 나중에 마소에서는 실제 프로그램이 돌아가는 상태에서 그때 그때 도움말이 응용 프로그램으로부터 신호를 받아 인터랙티브한 형태로 출력되는 모델을 고안하게 되었다.

그래서 오죽했으면 윈도우 훅 중에서도 WH_CBT라는 게 있다. 어떤 프로그램이 내부에서 창을 생성하거나 없애고, 포커스가 바뀌고 창의 크기를 조절하는 것.. 자습서는 학습 대상 프로그램에서 요런 특정 동작만 감지하면서 상황에 맞는 도움말을 출력하거나 지시를 사용자에게 내릴 수 있다. 이런 간단한 용도라면 굳이 모든 메시지를 통째로 훔쳐보는 무거운 다른 훅을 설치할 필요 없이 저것만 사용하면 된다.

이런 훅을 사용한 아주 모범적인 사례가 있다. 바로 HTML 도움말인 CHM 말고, Windows XP까지 지원되었던 재래식 HLP 파일을 생성하는 (5) 오리지널 Help Workshop 툴을 보면.. 도움말 프로젝트를 생성하는 요령을 설명하는 traning card라는 자습서 세션이 있었다. 전용 자습서가 거창하게 뜨는 게 아니라, 화면 옆에 아주 자그마한 도움말 창만 추가로 뜬 뒤, 도움말이 시키는 대로 실제로 프로젝트를 만들고 프로그램을 사용하면서 기능을 익힐 수 있었다.

사용자 삽입 이미지

물론 지금이야 HLP 도움말 자체가 폐기되었으며, 이런 식의 도움말 디자인 패러다임 역시 완전히 한물 가고 역사 속으로 사라졌다는 것은 아쉬운 점이다. Help Workshop에 이런 간소화판 자습서 튜토리얼이 존재했다는 것도 오늘날 인터넷에서는 흔적을 거의 찾을 수 없다.

Posted by 사무엘

2018/01/10 08:33 2018/01/10 08:33
, , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1446

1.
과거 2010년대 초에는 제로보드 4를 쓰지 말자, IE6을 쓰지 말자, ActiveX를 퇴출시키자 이런 운동이 벌어졌다. 그때는 같은 PC 안에서 Windows에 종속되지 말고 맥, 리눅스까지 잘 지원하는 웹 표준을 지키자는 게 아젠다였다.

그러다가 2010년대 중반부터는 구시대 관행들이 추가적으로 없어지는 게 눈에 띈다. 웹 상으로 주민 등록 번호 13자리 전체를 수집하는 게 금지되었으며, 기술적으로는 영원불변할 것만 같던 플래시마저 웹에서 퇴출 수순을 밟고 있다. 이건 PC 운영체제 간의 연동이 아니라, PC와 모바일이라는 상이한 플랫폼 간의 연동이 아젠다이다. (플래시 없이 현란한 광고 애니메이션은 어째 만드나 싶다.)

사실, 기술과 이론만 따지자면야 모바일에서도 플래시를 지원하지 못할 이유는 없다. 그러나 플래시는 근본적으로 현란한 벡터 애니메이션을 출력하려고 만들어진 물건이니 설계 이념이 딱히 화면 작고 전력 소비에 민감한 모바일과는 친화적이지 않다. 기기와 무관한 접근성의 보장이라는 웹 표준과도 어울리지 않는다.

더구나 플래시도 따지고 보면 그 본질은 3rd-party plug in이고 IE의 용어로 표현하자면 ActiveX의 일종이긴 했다. 플래시를 집어넣을 때 쓰는 태그가 여느 ActiveX 컨트롤을 집어넣을 때 사용하는 태그와 다를 바 없다. 다만, 얘는 독보적으로 너무 유명하고 널리 쓰이다 보니 타 ActiveX와는 지위가 다른 예외적인 물건으로 취급되어 왔을 뿐이다.

그러니, 좀 웹 표준을 어겨도 PC에서는 큰 문제가 되지 않던 것이 완전히 차원이 다른 컴퓨팅 환경인 모바일에서는 더욱 부각되게 되었다. 거기에다 보안 문제도 불거지고, 또 모종의 이유로 인해 아이폰 제조사인 애플과 플래시의 제조사인 어도비가 사이가 나빠지는 악재까지 겹치면서 플래시는 인터넷에서 퇴물로 전락했다. 급속도로 몰락의 길을 가게 됐다.

플래시가 독자적으로 제공하던 고급 기능들은 그냥 웹브라우저가 직통으로 지원하는 HTML5 표준으로 몽땅 이동했다. 인터랙티브하게 싹 나타났다가 사라지는 웹사이트 메뉴, 인터랙티브한 게임, 간단한 이미지 편집 등등이 몽땅 말이다.
Chrome 브라우저의 경우 플래시는 자동 실행은 개뿔 물 건너 갔으며, 사용자가 수동으로 켜 줘야만 실행되는 legacy가 됐다. 음.. 예전에 흑역사로 사라졌던 MS Office의 길잡이를 보는 듯한 느낌이다. 웹 환경이 이렇게 변할 줄이야..

2.
인터넷 IPv4 주소 고갈과 주소 할당 중단은(이미 2011년의 일임!) 마치 유니코드에서 BMP 영역의 고갈과 비슷한 성격의 현상 같다.
결국 요즘 사람들은 대부분 공유기를 사용해서 인터넷을 하고 고정 IP라는 개념이 사실상 없어졌는데,
공인 IP와 사설 IP가 따로 노는 것 때문에 계층이 좀 헷갈리고 복잡해지고 골치 아파진 것도 있다. 이건 마치 분당선 서현 역이 지하철 출구 번호(안)와 백화점 출구 번호(밖)가 서로 완전히 따로 놀아서 위치 식별이 어려운 것과 비슷한 양상이다.

초기에 설계되었던 공인 IP 주소 영역들을 보면 class A~C 이런 거 말고도 공유기를 위한 영역을 따로 떼어 놓은 게 있는데.. 이게 유니코드로 치면 UTF-16에 존재하는 surrogate와 개념상 정확하게 일치한다. (처음엔 유니코드에 UCS2만 있었지 UTF-16 같은 게 있지는 않았듯이, IP 주소도 처음부터 공유기 영역에 있지는 않았었다.)
아니, 애초에 유니코드가 없던 시절에 지원 글자 수를 늘리려고 사용하던 multibyte, lead byte, tail byte 따위와도 비슷한 개념이라 볼 수 있다.
또는 16비트 시절의 far pointer하고도 비슷하고 말이다.

결국 32비트, 64비트, IPv6처럼 본질적으로 더 우월하고 넉넉하고 나은 것, 완전한 것이 오기 전에 컴퓨터에서 불완전한 것으로 임시땜빵을 하는 방법은 분야를 불문하고 방법론이 다 비슷해 보인다~!

3.
예전에 PC에서는 ICQ, MSN, 그리고 국내 한정으로 네이트온 같은 온라인 메신저가 있었다. 얘들은 시대가 시대이다 보니 PC 전용이었는데, 2010년대 들어서는 다들 망하고 스카이프만이 MS에 인수되어 살아 있는 듯하다.
2010년대에는 카카오톡이 스마트폰 앱과 PC 통합으로 메신저 시장을 사실상 평정했다. PC는 사람이 기계가 있는 곳으로 가서 기계의 전원을 넣어야만 쓸 수 있는 반면, 스마트폰은 365일 24시간 내내 켜져 있으며 사람이 늘 들고 다닌다. 이런 결정적인 차이로 인해 카카오톡은 과거의 메신저와는 달리, 자기 상태를 표시하는 기능이 없다~! (available, away, out to lunch 같은)

카카오톡은 PC용이 있기 때문에 PC와 모바일을 지원한다.
한편, SNS 웹사이트로 출발한 페이스북도 메신저 기능이 있으니, 모바일과 '웹'을 지원하는 셈이다.
예전에 잠시 있었던 Google Talk은 PC용 프로그램, 모바일용 앱에다가 gmail 같은 Google 계열 사이트에서 실시간 대화도 지원하여 드물게 PC, 모바일, 웹을 모두 커버했던 걸로 기억한다.
이렇게 애플리케이션들이 실행 양상이 다양해지고 있는 게 흥미롭다.

그리고 2010년대부터는 웹 자체도 사용자 상호작용과 반응성이 워낙 좋아진 관계로 PC용 네이티브 프로그램까지는 몰라도 모바일 앱의 정체성을 크게 위협하고 있다..
물론 기기의 물리적인 기능에 아주 특화된 기능이라든가 방대한 게임 같은 건 모바일 기기에서 직통으로 돌아가는 프로그램이 필요하겠지만, 단순 서버와의 교신과 정보 공유, 조회, 열람이 목적이면 웹 페이지와 자바스크립트 자체를 그냥 기계와 운영체제를 초월한 통합 GUI 플랫폼으로 쓰지 말라는 법이 없게 되는 셈이다.

순수 웹 애플리케이션은 서버 주소만 알려주면 앱스토어 심사 같은 것도 필요 없고 곧장 배포가 가능하다. 웹 전체를 검열하는 빅 브라더 같은 건 세상에 존재하지 않으니 말이다.
그러나 웹을 기반으로 안드로이드와 iOS를 모두 통합하고, 부분적으로 각 모바일 플랫폼에 종속적인 코드를 끌어다 쓸 수 있는 형태인 '하이브리드' 앱이 있다. 그리고 그런 걸 만들어 주는 프레임워크도 있다. qt가 PC에서 Windows/리눅스/macOS 통합이라면, 아이오닉 같은 모바일 프레임워크는 안드로이드/iOS 통합인 셈이다.

'아이오닉'은 하이브리드 자동차의 이름이기도 한데 컴퓨터에서도 나름 하이브리드 모바일 프레임워크의 이름이구나(비록 영어 철자는 차이가 있지만). 디스크와 드럼(브레이크 vs 메모리 기술), 엑셀(자동차 이름 vs 스프레드시트 이름)처럼 들린다.

4.
웹은 기계와 CPU 아키텍처에 구애받지 않는 정말 universal한 프로그래밍 환경이다. 그 누구도 처음에 상상하는 것조차 쉽지 않았다.
인터넷에서 다른 형태의 프로토콜로 제공되는 서비스들도 거의 다 웹이 몽땅 독식해 버렸다. 글과 그림과 하이퍼링크만 있는 문서에 불과하던 웹은 한 2, 30년쯤 전의 옛날 얘기이고, 지금은 이게 그냥 인터넷의 알파와 오메가요, 문서와 코드의 짬뽕인 광활한 프로그래밍 환경이다. 그러니 웹 프로그래밍을 하나 잘 공부해 놓으면 그야말로 모든 기계에서 똑같은 결과가 나오는 프로그래밍 스킬을 얻게 된다.

웹이 그런 공룡 같은 거대한 환경으로 발전하는 과정에서 브라우저, 언어 등 각종 규격들이 찢어졌다가 표준화된 과정도 살펴보면 참으로 격세지감이 느껴지는 한편으로, 인간 사는 바닥은 어디든 다 정치와 밥그릇 싸움, 돈지랄이 있구나 하는 병맛스러움이 느껴진다.

HTML4의 지저분함을 참다못해 1990년대 말에 엄격한 XHTML이 제정되었지만, 결국 망하고 HTML5가 다시 옛날 관행 기반에서 제정된 건.. 1990년대 말에 IA64가 너무 과격한 변화를 추구하다가 망하고 기존 x86 호환성을 유지한 amd64로 64비트 컴퓨팅의 판도가 기운 것과 비슷해 보인다. 시기도 서로 비슷한 편이다.

또한 Windows 10이 2015년 가을에 나온 첫 판이 지금까지 그대로 유지되고 있는 게 절대 아니듯, HTML5도 보아하니 한번 정하고 영원히 고정이 아니라 찔끔찔끔 계속 뭔가 추가되고 있긴 한 모양이다. 그렇기 때문에 전통적인 ACID 테스트 말고 또 2017년 현재까지 만점을 받은 브라우저가 전혀 없는 다른 HTML5 점수 테스트 사이트도 있다.

한편으로 HTML4 이래로 무려 15년 가까이 뒤에야 HTML5가 제정되고 HTML이 급격히 발전하고 있는 건 C++98 내지 C++03 이후로 C++이 2000년대에 정체돼 있다가.. C++1x 이후로 C++이 함수형 패러다임도 받아들이고 네이티브 코드 생성 언어가 갑자기 약 빤 듯이 발전하고 있는 양상과 비슷해 보인다.

웹이 MS Office 문서라면 자바스크립트는 VBA 매크로와도 같은 물건이다. 그리고 내가 HTML, CSS, JS를 삼권분립과 비슷한 구도라고도 비유한 바 있다. 게임 개발에다 비유해도 기획자, 디자이너, 개발자에 착착 잘 대응하는 것 같다.
아 그래..! 옛날에는 이런 스크립트 자체가 단일화되지 않아서 HTML 주석 안에다가 스크립트 코드를 몰래 집어넣어야 했다. 마치 프레임만큼이나 "이 웹페이지를 제대로 표시하려면 자바스크립트를 지원하는 브라우저가 필요합니다" 이런 말이 출력되도록 참 기괴하게 HTML 문서를 작성했었다. 이거 도대체 언젯적 얘기냐..;;

또한, 웹 프로그래밍에 스크립트는 클라이언트 쪽만 있는 게 아니라 서버 쪽도 있다. 클라이언트는 처리가 빠른 대신 대외적으로 프로그램 소스 코드가 몽땅 공개돼야 한다. (뭐, 난독화는 가능하지만) 서버 쪽은 소스가 노출되지 않지만 데이터 입출력에 서버와 네트워크 트래픽을 감수해야 한다. 이것도 컴퓨터 한 대에서만 돌아가는 프로그램을 만들 때에는 고려할 필요가 없는 흥미로운 면모이다.

이런 와중에 마소는 20여 년 전 1990년대 중반에 Bob이라든가 MSN 이런 거 만들면서 좀 삽질을 했었다. Windows 95를 만들어서 개인용 PC의 운영체제는 자기 뜻대로 세계정복을 했지만, 인터넷까지 자기 서비스만으로 호락호락 세계를 정복할 수 있으리라 생각했던 건 큰 오판이었다. 그래서 잘 알다시피 IE를 수단과 방법을 가리지 않고 운영체제에다 끼워넣어서 웹 브라우저의 전면무료화 관행을 정착시켜 버리기도 했다. 하지만 IE 자체는 경쟁 브라우저와 모바일 환경 때문에 세계정복까지는 이루지 못했다.

또한 마소는 2000년대 말에 와서는 PC에 너무 안주하고 모바일 환경에 대해서도 대수롭지 않게 예상하다가 스마트폰 플랫폼의 주도권을 안드로이드와 iOS에 완전히 뺏겨 버렸다. 그 시기에 LG전자가 피처폰에 안주하다가 지금 같은 처지가 된 것과 비슷한 실수이다.
그런데 2000년대 중후반엔 나조차도 솔직히 말해 사고의 구조가 "그냥 디카 쓰면 되지 폰에다가 카메라를 왜 얹어?" 이러던 수준이었다. 어지간한 전문가라도 스마트폰이 이렇게 뜨고, 그 스마트폰 OS를 오픈소스로 전세계에 뿌려 버리는 괴수 용자 대인배가 등장할 거라고는 예상할 수 없었다.

즉, <미래로 가는 길> 같은 베스트셀러 책을 이미 1990년대 중반에 썼던 천하의 빌 게이츠조차도 웹과 모바일에 대한 전망이 다 적중하지는 못했다. 뭐, "손가락 끝으로 모든 정보를" 같은 큰 그림이야 물론 적중했지만, 그런 기술이 언제나 자기가 원하는 형태로 보급되고 마소 주도적으로 이뤄지지는 않았다는 것이다.

그나저나, IA64 하니까 떠오르는데.. 소프트웨어 업계에서는 2000년 가을쯤 Windows ME와 아래아한글 워디안도 비슷하게 세기말의 흑역사 삽질을 좀 했다는 공통점이 있다.

Posted by 사무엘

2017/12/17 08:31 2017/12/17 08:31
, , ,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1438

1. Windows 부팅

Windows 8 내지 10부터던가.. 요즘 Windows에서는 예전까지 오랫동안 쓰이던 통상적인 부팅 전 F8 메뉴가 사라졌다. 하긴, 메뉴가 여럿 있긴 했지만 고르는 건 안전 모드(F5) 또는 네트워크 되는 안전 모드 둘 중 하나밖에 없긴 했다.
그 대신, 부팅 후에 컴을 팩토리 리셋 초기화시키는 메뉴가 곧장 들어간 것은 일단 꽤 유용하며, F8을 눌러야 할 필요를 이걸로 상당수 대체하긴 했다.

하지만 뭐가 꼬여서 애초에 부팅이 안 되고 있을 때는 이 기능에 접근할 수 없어서 더 불편해졌다. 부팅 전의 OS 재설치 및 복구 UI는 사용자가 특정 글쇠를 눌렀을 때 바로 뜨는 게 아니라, 수차례 컴퓨터를 혹사시키면서 부팅이 실패한 것을 얘들이 인지했을 때에 그제서야 슬그머니 띄워 준다. 로직을 왜 이런 식으로 만들었나 모르겠다.

전에도 얘기했듯이, 본인은 업데이트를 받은 뒤에 운영체제가 꼬이고 커널 패닉 뜨는 걸 몇 번 겪은 뒤부터는 진절머리가 나서 업데이트 받는 걸 레지스트리까지 조작해서 강제로 끊어 버렸다. 지금 네트워크는 유료 종량제이니 니 멋대로 함부로 업데이트 받아서 설치하지 말라고 말이다.

CPU와 메모리와 네트웍 트래픽 잡아먹고 하드디스크 용량 잡아먹고, 컴퓨터를 꺼야 할 때 바로 곧이곧대로 꺼지질 않고.. 민폐가 너무 심한 데다, 그런 민폐가 시도 때도 없이 너무 자주 발생하고.. 설치 후에도 뭐가 크게 달라지고 좋아지기는커녕 저런 부작용만 있으니 이 상황에서 누가 업데이트 꼬박꼬박 받고 싶은 마음이 들겠는가?

그거 안 하고도 내 컴은 악성 코드고 뭐고 지금까지 보안 문제 같은 건 하나도 없었다. 이러다가 업데이트에 대해서조차도 현대 서양 의학 불신, 백신 불신 같은 이상한 풍조가 생기지는 않으려나 모르겠다만.. 브라우저를 선택할 권리 운운하면서 웹 표준 외치는 것만큼이나, 필요하지 않은 업데이트를 안 받거나 원하는 타이밍에만 받을 권리도 좀 보장됐으면 좋겠다.

2. 바이오스

뭐, 이건 운영체제 얘기였고 그 전에 롬에 탑재된 컴퓨터 고유의 소프트웨어 계층을 일명 BIOS라고 부른다. 이것도 2010년대에 와서는 UEFI라는 새로운 규격으로 바뀌었다.
운영체제 부팅 전에 BIOS 셋업(CMOS 셋업이라고도 불렀던 듯..)을 들어가려면 ESC, F2, F10, Del 이런 글쇠를 죽어라고 누르곤 했는데, 이 글쇠도 좀 Ctrl+Alt+Del 재부팅처럼 통일이 됐으면 하는 생각이 든다. 바이오스는 어차피 만드는 업체도 피닉스나 아메리칸 메가트렌드 요렇게 아주 소수이지 않던가?

살면서 BIOS setup으로 들어가야 하는 상황은 몇 년에 한 번꼴로 운영체제 변경· 재설치를 위해 부팅 매체 선택 순서를 변경할 때.. 혹은 하이퍼-V 가상화 같은 옵션을 켜고 끌 때 정도이지 싶다. 살다가 병원이나 법원, 경찰서, 주민센터 같은 델 들르는 빈도와 비슷한 격이다.

옛날에는 컴퓨터를 켠 직후에 숫자가 쫘르륵 올라가면서 주 메모리 테스트를 하는 게 관행이었는데 그 광경도 참 오래 전에 사라졌다. 램의 용량이 수백 MB 수준으로 넘어간 시기, 대략 21세기 초쯤부터 없어진 것 같다. 글쎄, 카운트만 안 보여줄 뿐, 내부적으로 여전히 테스트는 하는 걸 수도 있음.

그리고 요즘 컴퓨터는 바이오스 셋업 화면도 텍스트가 아닌 그래픽 모드로 바뀌었고 마우스가 지원된다. 저기는 한글화의 영원한 불모지라고 여겨졌는데 이젠 그것도 아니다. 마소처럼 11172자 완성형 글립을 다 때려박은 게 아니라 이야기체 같은 8*4*4 조합형 비트맵 글꼴을 쓴 것도 있어 더욱 반갑다.

바이오스 차원에서 하드디스크에 predefined type이 40몇 가지 정도 있던 시절도 있었는데.. 안 변하는 것 같아도 이 바닥도 하드웨어의 발전을 따라서 많이 변하고 있다.
그나저나 애플 제조 컴퓨터들은 바이오스 계층도 자체 개발인 거겠지? (켠 직후에 흰 화면에 빵~~! 소리, 그리고 alt 눌러서 부트캠프 동작..)

3. 글꼴

수 년 전부터 개인적으로 '감지'는 했던 현상인데, 어떤 컴퓨터는 글꼴 대화상자를 열어 보면 황당하게도 Times New Roman이나 Courier New 같은 필수 기본 글꼴이 목록에서 빠져 있고 선택 가능하지 않았다. 물론 그 컴퓨터에 실제로는 해당 글꼴이 멀쩡하게 잘만 설치돼 있다.
게다가 더 황당하게도 MS Word 같은 프로그램에서는 그 글꼴을 선택할 수 있었고 메모장이나 워드패드에서만 안 나왔다. 내 경험상 이건 컴퓨터마다 케바케로 발생하는 듯하고 Windows 7 이상 2010년대부터 종종 보였다.

처음엔 글꼴 목록에 영향을 끼치는 악성 코드가 있기라도 한지 의심을 했다. 하지만 알고 보니 이 현상에 대한 해답이 따로 있었다.
"제어판-글꼴-글꼴 설정"으로 들어가서 "언어 설정에 따라 글꼴 숨기기" 옵션을 끄면 사라졌던 Times, Courier 같은 글꼴을 다시 선택할 수 있다. (Designed for your language settings)

Windows 7부터 등장한 옵션은 맞아 보인다. 그런데 멀쩡한 글꼴을 선택할 수 없게 만드는 옵션은 대관절 도대체 왜 도입됐는지 모르겠다. 그런 옵션을 굳이 넣을 거면 글꼴 선택 대화상자 내부에다가 넣거나 show all 같은 버튼이라도 넣어야지 왜 제어판 깊숙한 곳에다가 짱박아 놓았는지도 알 길이 없다.

4. PNG

한때 GIF라는 그림 파일 포맷이 있어서 웹에서 정말 많이 쓰였다. 압축률 좋고 투명색과 애니메이션, progressive 렌더링 같은 독보적인 장점 기능이 많았다. 그러나 GIF는 내부의 압축 알고리즘에 특허가 걸려 있어서 아무나 활용하기가 곤란했다.

물론 이미 만들어진 그림 파일을 보기만 하는 사용자 입장에서는 제약이 걸리는 게 전혀 없고, GIF 파일을 생성하거나 디코딩하는 프로그램을 상업용 제품에다 직접 얹는 제조사의 입장에서 로얄티 같은 게 들었던 것 같다. 휴대용 MP3이나 WMA 재생기를 만들 때처럼 말이다. 전자는 프라운호퍼 연구소에, 후자는 마소에 특허든 저작권이든 뭐든 걸려 있다.

그래도 이 특허는 저작권 자체의 보장 기간(70년)보다는 기간이 훨씬 짧았던 모양이다. 2005년경에 특허가 풀리긴 했다. 그러나 gif는 트루컬러를 지원하지 못한 채 256색에서 발전이 멈춰 버렸기 때문에, 오늘날은 대체제인 PNG에 밀려 서서히 사장되는 중이다. 웹에서 사진용 손실 압축은 JPG가, 그 밖의 범용적인 비손실 이미지는 PNG가 시장을 나란히 양분하는 중이다.

PNG는 GIF보다 압축률이 더 좋고 트루컬러도 지원하며, 단순 color key 기반 투명보다 더 발전한 알파채널도 지원한다. 심지어 고화질 아이콘을 저장하는 컨테이너로도 이용되고 있다.
그러니 GIF의 대체물이 되기에 손색이 없다. 다만, 알파 채널은 1990년대 PNG의 첫 버전과 동시에 등장한 게 아니라 나중에 추가된 확장 규격이기라도 한지, 제대로 지원하는 프로그램이 여전히 적어서 아쉽다.

또한 PNG도 애니메이션 기능은 없다. APNG라는 규격이 있기는 하지만 웹 표준이 아니기 때문에 파이어폭스 같은 극소수의 브라우저 말고는 지원하지 않는다. 플래시가 없어지고 브라우저 자체의 동영상 코덱 규격조차 표준화가 논의되고 있는 와중에 애니메이션용 이미지도 더 늦기 전에 표준이 마련되고 모든 브라우저들이 지원해 줘야 하지 않나 생각이 든다. 하긴 옛날에는 동영상도 코덱 파편화가 무진장 심해서 '통합 코덱' 이러면서 혼란이 말도 아니긴 했었다.

5. high DPI 관련

Windows에서 high DPI 지원 정책은 한번 만들어 놓은 걸로 끝이 아니고 버전을 거듭할수록 마개조를 거듭하고 있다. 심지어 같은 Windows 10에서도 새 업데이트에서는 새 기능이 들어갔다.

8.1에서인가 그때부터 per-monitor high DPI이라는 게 도입된 걸로도 모자라서 이제는 아예 스레드별로 high DPI-aware 여부를 지정하고 그걸 on-the-fly로 변경하는 기능까지 추가됐다.
DPI의 변경은 너무 파격적인 변화여서 원래는 재부팅이 필요했으며, Windows Vista 시절에는 믿어지지 않지만 관리자 권한까지 필요하던 작업이었다. 그리고 어차피 제대로 대비가 돼 있는 유연한 프로그램도 매우 드물기 때문에 변경이 권장되지 않기도 했다.

그랬는데 그게 그래픽 카드의 성능 발달 덕분에 실시간 변경이 가능한 기능으로 서서히 바뀌어 간다. 그래도 마소는 레거시 호환성에도 목숨을 거는 곳이니, DPI 변화의 대비가 안 돼 있는 레거시 프로그램은 그냥 가상화 샌드박스빨로 통째로 속이고 말이다. Windows의 역사상 동일 기능이 위상이 이렇게 드라마틱하게 변한 다른 예는 찾기 어려울 것이다.
원래 화면 해상도나 색깔수를 바꾸는 것조차 먼 옛날에 Windows 3.x 시절에는 재부팅이 필요한 작업이었지만 9x/NT부터는 실시간 변경이 가능해졌지 않던가? DPI 변경도 그렇게 바뀌었다.

그도 그럴 것이, high DPI라는 게 원래는 시력 나쁜 사람을 위한 장애인 접근성에 가까운 잉여 기능이었다. 하지만 21세기에 모니터의 해상도가 급격히 올라가면서 이건 모든 사람에게 필요한 편의 기능이 됐다.

이 점에서 high DPI는 마치 자동차의 자동 변속기와도 비슷한 구석이 있다. 원래 자동 변속기 전용 면허는 왼발용 페달, 오른손용 다기능 스위치, 시청각 장애인용 볼록 거울처럼 장애인의 운전을 위한 여러 면허 조건 중 하나였다. 자동 변속기가 운전하기가 훨씬 더 쉬우니 장애인에게도 더 유리하니까 말이다. 그랬는데 자동 변속기가 워낙 대중화되고 나니 자동 전용 면허만은 1997년부터 일반인도 취득 가능하게 바뀐 것이다.

원래 화면 확대 배율이 기본값인 동시에 최소값일 때의 DPI 값은 96이었다. 이건 사실상 하드코딩된 채 쓰여 온 값인데, 언제부턴가 Windows SDK 헤더 파일을 보니 요게 USER_DEFAULT_SCREEN_DPI 라는 상수 명칭으로 추가되었다. 마치 마우스 휠의 기준값인 WHEEL_DELTA (120)과 성격이 비슷해 보이는데, 아무튼 GetDeviceCaps(hDC, LOGPIXELSX)의 리턴값과 저 96의 비율을 계산하면 확대 배율을 얻을 수 있다.

그런데 Windows가 존재하는 한 LOGPIXELSX와 LOGPIXELSY의 값이 서로 달라질 일은 설마 없겠지..?
모니터가 일부러 종횡비가 더 큰 와이드 화면으로(4:3 → 16:9) 바뀐 와중에, 논리적인 화면 종횡비를 또 보정해야 하는 건 옛날 CGA 640*200이나 허큘리스 720*348 해상도 시절 이래로 이제 없으리라 여겨진다.

옛날에는 멀티 모니터조차 예견을 못 하고 WM_CONTEXTMENU 메시지에서 마우스 클릭이 아닌 키보드 글쇠는 x, y 좌표가 모두 -1인 것으로 구분하게 스펙을 설계한 적이 있었는데.. 그때와 지금은 참 격세지감이다.
또한, 해상도 차이가 많이 나는 모니터를 둘 이상 연결해서 사용할 때를 대비해서, 이제는 두 모니터가 DPI 설정이 서로 다른 것까지 다 지원해야 한다. 그러니 high DPI를 제대로 지원하는 일이 더욱 복잡해진 것이다.

6. 네트워크가 안 될 때

집에서는 이런 현상이 없는데 회사에서는 가끔씩 멀쩡히 랜선이 꽂혀 있는데도 유선 인터넷이 안 되는 경우가 있다. 이때는 ipconfig /renew를 해 주면 문제가 해결되는 편이다.
때로는 /release도 해야 하고, 한번은 '설정'(제어판 말고)으로 들어가서 네트워크 관련 메뉴 맨 아래의 '전면 초기화'+재부팅까지 한 뒤에야 문제가 해결된 적이 있었다. 그 당시에 무엇이 정확하게 문제였는지 나로서는 알 길이 없지만, 아마 공유기 쪽 문제인 듯하다.

7. USB 메모리 관련

USB 메모리를 꽂아 쓰다 보면.. 분명히 작업을 마쳤고 관련 프로그램들을 다 종료한 뒤, 메모리를 빼려고 하는데 안전하게 분리가 안 된다고 운영체제가 꼬장을 부려서 난감해지는 경우가 있다.
Windows 2000 시절에만 해도 USB 메모리를 무단으로 뽑으면 경고 메시지가 나왔지만, 그게 그렇게까지 위험하지는 않고 괜히 사용자를 불안하게 만들 필요는 없다고 판단되었는지 XP와 그 이후부터는 경고 메시지가 사라졌다. 그러나 그렇다고 해서 무단 분리가 전혀 위험하지 않다는 얘기는 아니다.

USB 메모리를 분리하는 명령은 시스템 트레이에만 있는 게 아니라 의외로 해당 드라이브의 셸 우클릭 메뉴에도 존재한다. 마치 CD롬 드라이브의 우클릭 메뉴에 '디스크 꺼내기' 명령이 있는 것처럼 USB 메모리 드라이브도 우클릭하면 'eject'가 있으며, 이 명령을 이용해서 분리하면 트레이 메뉴 명령보다 성공률도 더 높다고 그런다.

경험상 macOS는 지금까지 쓰면서 USB 메모리 제거가 바로 안 되는 경우를 거의 못 본 거 같다.
그런데 pkg 파일을 열어서 설치하는데.. USB 메모리의 것을 바로 여니까.. insert the "(null)" disc to continue installation 이러면서 설치가 제대로 되지 않았다.
저건 %s 포맷 문자열에다가 null 포인터를 주기라도 했는지 메시지의 형태도 비정상일 뿐만 아니라, 배포 패키지 파일이 깨지고 문제가 있을 때에나 나타날 법한 메시지이다.

하지만 파일이 실제로 깨진 건 전혀 아니었으며, pkg 파일을 하드디스크에다 복사한 뒤에 설치하니까 아무 문제 없이 됐다.
왜 저런 현상이 있는지는 잘 모르겠다.

8. USB가 없던 시절의 컴퓨터 단자

그러고 보니 먼 옛날에.. USB 포트가 없던 시절에는 컴퓨터에 주변기기를 인식시키는 용도로 직렬 포트와 병렬 포트라는 게 있었다.
정확하게 뭐가 직렬 내지 병렬이어서 이런 명칭이 붙었고 서로 어떤 장단점이 있는지 잘 모르겠다. 라디오에 AM과 FM, 인터넷 프로토콜에 TCP와 UDP처럼 일장일단이 있는 관계가 아닌가 생각된다.

직렬 포트는 COMn 이런 이름이 붙어서 주로 마우스나 모뎀이 연결되었다. 그리고 병렬 포트는 LPTn 이런 이름과 함께 프린터나 스캐너 같은 기기가 연결되었으며, 과거에 쓰이던 하드웨어 방식 불법 복사 방지 장치 '락'도 대체로 병렬 포트에다 꽂는 형태였던 것 같다.

으음.. 그럼 외장 하드는 어디에다 꽂았지? 옛날에 하드 디스크끼리 꽂아서 데이터를 복사하는 건 정말 아무나 할 수 있는 일이 아니었다.;;
꽂고 나서는 바이오스 설정을 들어가서 이게 무슨 기기인지 설정을 수동으로 해 줘야 했다. plug and play 그런 건 없었다. 코덱이 너무 난무해서 동영상 보는 데 애로사항이 꽃폈고, 유니코드가 없어서 문자 인코딩이 어느 장단에 맞춰 춤을 춰야 할지 알 수 없던 그런 열악하던 시절의 추억이다.

Posted by 사무엘

2017/11/09 08:37 2017/11/09 08:37
,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1425

본인은 평소에는 15년 넘게 개발하고 있는 날개셋 한글 입력기의 개발에 대부분의 역량이 집중되기 때문에 타 유명 프로그래머 고수들에 비해 타 플랫폼· 언어· 최신 프로그래밍 기술에 대한 개인적인 관심은 덜한 편이다. 뭐, 자주 언급을 안 할 뿐이지 직장에서는 아무래도 갑님이 시키는 대로 해야 하니, 무엇이건 업무와 생존에 필요한 최소한의 맛보기 정도는 한다. 다만 그런 생소한 분야는 본인이 특장점이 없이 그냥 여느 평범한 프로그래머 A, B의 역량과 다를 바 없다.

먼 옛날에 Windows API와 MFC, Visual C++를 처음으로 공부할 때 그러했고, macOS나 안드로이드 개발을 처음으로 익힐 때도 마찬가지이다. 코드와 리소스가 어떤 방식으로 연결되는지 감을 잡는 게 참 어려웠다. 이건 그야말로 프로그래밍 언어뿐만 아니라 각 플랫폼별 바이너리 실행 파일(DLL/EXE)의 구조, 개발툴의 기능에 대한 총체적인 이해가 필요한 부분이니까 말이다.

그래도 리소스(대표적으로 대화상자/화면 레이아웃)의 기술을 위해 XML을 쓰는 요즘 플랫폼에 비해, Win32 API의 rc 파일은 정말 구닥다리이구나 싶은 생각이 든다. 뭐, resource.h와 R.java처럼 개념상 일말의 공통점이 발견되는 것도 있다(개발툴이 자동으로 생성해 주는 리소스 ID 리스트).

또한 안드로이드의 경우, 굉장한 뒷북이긴 하다만 Eclair니 Froyo니 하던 시절과 비교했을 때 개발 환경이 몇 년 사이에 정말 엄청나게 달라져 있었다. 여전히 이클립스를 쓰는가 했더니 Android Studio라고 전용 개발툴로 진작에 갈아탔으며, 무엇보다 에뮬레이터도 x86과 arm이라는 엄청난 CPU 구조 차이를 어떻게 극복했는지 속도가 꽤 빨라졌다.
그도 그럴 것이 그 구글 내부에서 안드로이드 OS에만 달라붙어 있는 세계구급 날고 기는 프로그래머 엔지니어들이 도대체 얼마나 되며, 이들이 매일 생산하는 코드의 양은 또 얼마나 될까?

2010년대 이후에나 등장한 IDE가 copyright이 왜 엄청 옛날인 2000부터 시작하는지 궁금해서 검색을 해 봤더니.. 이건 그 옛날부터 개발되어 온 타 회사의 IDE를(이클립스 말고) Google이 인수해서 자체적으로 발전시킨 것이어서 그렇다고 한다. 으음..

이럴 때마다 늘 드는 생각인데, 새로운 문물이나 지식을 아주 빨리빨리 잘 익히고 남에게 가르치는 것까지 가능할 정도로 머리가 좋은 사람들이 개인적으로 굉장히 부럽다. 난 굳이 말하자면 애초에 남이 안 하는 짓을 골라서 하는 일에 일가견이 있다. 그래서 정보 올림피아드도 공모 부문에서만 입상하고, 코딩과 논문으로 그럭저럭 지금까지 지내 왔다.
그게 아니라 남과 똑같은 조건에서 뭔가를 빨리 달달 외우고 응용하는 능력이라면 본인은 남들 평균보다 못하면 못하지 결코 뛰어나지는 않다.

컴퓨터 쪽에 우글거리는 수많은 고수 괴수들 중에.. 김 상형 님이라고 한때 winapi.co.kr 이라는 사이트를 운영했고 지금은 '소프트웨어 공학'을 일본어 스타일로 축약한 '소엔'이라는 사이트로 여러 유용한 프로그램 개발 정보를 무료로 공유 중인 대인배가 계신다.
사이트 이름에서 유추할 수 있듯 한때 이분의 전문 분야는 Windows API였다. 텍스트 에디터를 그냥 C++만으로 혼자서 처음부터 끝까지 다 만들었고, 그 테크닉을 소스까지 통째로 책을 출간한 바 있다..;;

한 분야의 기술만 통달하기에도 벅찬데 이분은 안드로이드, HTML, 자바스크립트 등 온갖 분야를 다 탐독해서 책을 쓰고 학원 강사로 뛰고 있다.
그냥 위에서 내려오는 회사 업무나 감당하기 위해서 여러 기술들을 찔끔찔끔 서바이벌 수준으로 익히는 게 아니다. 그야말로 남을 가르치고 책을 쓸 정도로 전문가가 되기 위해서 혼자서 도대체 공부를 어떤 방식으로 얼마나 한 걸까? 비결이 궁금해지지 않을 수 없다.

이렇게 강의와 저술만으로 먹고 사는 데 지장 없는 분들은 굳이 회사 들어가서 조직에 매일 필요가 없다. 물론 프리랜서는 월급쟁이보다야 소득이 훨씬 불안정하고 복불복이 심하다. 보통은 자기 친구들에게도 "걍 회사에서 월급 받으며 지내는 게 짱이야, 아무리 엿같은 동료나 상사가 있더라도 어지간해서는 거기서 절대로 뛰쳐나올 생각 마라" 이렇게 권유를 할 정도라고는 하지만..
이것도 자기 하기 나름이다. 엄청난 능력자라면 을임에도 불구하고 여러 기업들을 상대로 갑질을 하면서 자유롭고 편하게 일을 할 수도 있을 것이다.

그리고 컴퓨터가 나왔으니 영어도 빠질 수 없다.
지금보다 자료 접근성이 훨씬 열악했던 옛날에 독학으로 이를 악물고 영어를 마스터해서 198, 90년대에 이미 유명 영어 교재의 저자로 등극한 사람들이 참 대단하다는 생각이 든다.
최 은경 어린이 영어, 오 성식 생활 영어/pops English, 김 인환, 정 철 ... 그리고 최근에는 Arrow English로 유명한 최 재봉 이런 분들.

난 무슨 영문과 교수나 영어 교사, CNN 리포터-_-;; 이런 거 지향하는 게 아닌 이상, 국내에서 영어 때문에 스트레스 받을 일은 없는.. "반도 토박이치고는 뭐 그럭저럭 하네" 딱 그 정도까지만 영어가 된다. 자막 없이 영화를 다 알아듣거나, 토익 만점 이런 경지는 아니다. 그리고 그마저도 나이는 자꾸 먹고 있는데 영어를 당장 쓸 일은 없으니 감이 점점 쇠퇴-_-하는 중이다.
도무지 들리지가 않는 것, 그리고 아무리 머리를 짜내도 독해 속도를 도저히 더 올릴 수 없는 건 그냥 내 머리의 한계인 것 같다.

영어를 잘하려면 뭐 영어식 사고방식과 어순 감각을 익혀야 되고 무슨 발상의 전환을 해야 하고.. 이런 것들은 그냥 기초가 없고 첫 단추부터 완전 잘못 끼운 생짜 영어 포기자한테는 꽤 유효한 조언일지 모른다. 영어 점수 2~30점을 6~70점으로 올리는 데는 도움이 될 것이다.

하지만 90점을 95점으로 올리는 건 무리임. 저런 기초적인 문법과 어순 감각은 이미 다 갖춰져 있고, 거기서 상위권에서 최상위권으로 가려면 그냥 닥치고 영어라는 빅데이터에 수시로 많이 노출돼서 감을 유지하는 것밖에 답이 없다. 외국 어학 연수는 개나 소나 아무나 가는 게 아니라 딱 이 정도 기초가 갖춰진 애들이 가야지 효과가 높아진다.

그런데, 저런 여러 영어 전문가들이 공통으로 말하는 영어 마스터 비결은.. 학창 시절에 영어 교과서 텍스트들을 몽땅 통째로 암송· 암기했다는 것이다. 사실 인간의 언어에는 굉장히 무작위하고 arbitrary하고, 그냥 문맥이 곧 용례를 결정하는 그런 정보가 많다. 암송· 암기는 학습자에게 괴로운 과정이긴 하지만 그래도 그거 효력은 확실한가 보다.
나도 테이큰의 전화 통화 대사 40초 분량은 통째로 줄줄 외우고 있긴 하다만.. -_- I don't know who you are ... I will find you. And I will kill you. 같은 거.. 그런데 영어를 잘하려면 그런 거 암기를 더 많이 해야 한다.

일본은 개개의 국민들이 다 영어를 못 하더라도 국가 차원에서 번역을 엄청 많이 잘 해 놨다고 그런다. 하지만 우리나라는 모든 국민들이 다 영어를 잘하는 것도 아니고, 번역을 깔끔하게 잘한 것도 아니니 뭔가 문제가 있어 보인다.

끝으로, 어려운 과목의 끝판왕인 수학이 있다. 수학은 영어와 달리 유행을 별로 안 탄다. 한편으로는 노력한 만큼 그대로 결과가 나오는 참 정직한 과목 같으면서도, 한편으로는 타고난 머리 지능빨을 타니 불공평한 면모가 느껴지기도 하는 과목이다.
수학에는 '정석' 책 하나로 그야말로 억만장자가 되고 우리나라에서 최고로 성공한 사람이 있다. 물론 이분 역시 머리가 공부벌레 괴수급이었으며, 굳이 책 안 쓰고 학원과 과외 강사료만으로도 그 옛날에, 겨우 20대 나이로도 왕창 잘나갔을 정도로.. 비범했다.

그런 정석의 저자가 말하는 수학 잘하는 비결은.. 수학은 처음에 느리고 시간이 걸리더라도 직접 계산해 보고 손으로 일일이 쓰면서 감을 익혀야 한다는 것이다. 그런 감이 생겨 있지 않은 사람이 눈으로만 보고 넘어가서는, 그리고 덥석 해설과 풀이를 봐서는 진짜배기 수학 실력이 절대 늘 수 없다고.. 참 너무 원론적이고 당연한 조언을 한다. 그건 게임으로 치면 그냥 무한 맵에 치트키 쓰는 것이나 마찬가지니까.

그리고 저 말을 프로그래밍에다가 적용하자면.. 일일이 직접 코딩해 보고 돌려 봐야 실력이 는다는 말과 일맥상통한다. 그 점은 본인 역시 적극 동의한다.
아무 감도 없는 사람이라면 노가다 코딩이라도 해 봐야 된다. 그런 경험을 많이 해 봐야 노가다 코딩을 왜 '노가다'라고 부르는지 그것부터 좀 알게 된다.

개발자, 프로그래머로 먹고 살려면 솔까말 트리 구조 순회 같은 재귀호출을 스택 배열로 직접 구현하기, 포인터 조작으로 연결 리스트의 원소 배열을 역순으로 바꿔치기 정도는 머릿속에서 로직이 어느 정도 암산이 돼야 하고, 굳이 컴퓨터가 없이 화이트보드 앞에서도 의사코드를 쓱쓱 적을 수 있어야 하지 않는가?

사실, 유수의 IT 업체들이 학-석사 급의 엔지니어를 뽑을 때 코딩 면접도 딱 이 정도 수준의 난이도가 나온다. 무슨 "B+ 트리를 구현하시오, 동영상 압축 알고리즘의 모든 과정을 설명하시오"가 아니다. 그리고 크고 유명하고 재정 넉넉한 기업일수록 당장 현업에서 쓰이는 HTML5니 자바스크립트니 언어 문법 지식보다는 저런 미래의 잠재성과 응용력, 새로운 기술을 더 본다. 능력 함수에서 현재의 f(x) 값보다 도함수 f'(x)를 말이다.

다시 말해, 최신 자바스크립트나 HTML5 API 지식이 필요하지 않으니까 당장 그런 걸 모르는 사람도 OK 하고 뽑는 게 아니다.
오히려 그 반대로.. 하나도 모르는 상태로 입사했더라도 현업에서 그런 것쯤은 30분 만에 즉석에서 공부하고 숙달될 능력이 있으니까 뽑는다는 뜻이다. 요구 사항이 훨씬 더 고차원적이다.

컴공과 수학의 관계는 어떨까? 물론 완벽하게 동치는 아니다. 기하 알고리즘을 구현하고 있는데 삼각형 넓이나 세 점의 방향을 구하는 공식, 3차원 공간에서 두 벡터에 대한 나머지 기저를 구하는 세부적인 외적 공식 같은 거야 당연히 까먹을 수 있다. 하지만 기억이 안 나면 당장 검색이라도 할 수 있으면 아무 문제될 것 없다.

단지, 수학은 그렇게 문제를 쓱쓱 풀어 나갔던 경험, 단 한 가지 경우라도 놓쳐서는 안 되고 논리적으로 완벽해야 한다는 그 관념이 나중에 프로그램을 짜는 데 낯설지 않은 정신적 자산으로 작용할 수 있다고 본다.
물론 그런 관념이 오로지 반드시 학창 시절의 수학 문제 풀이를 통해서만 형성될 수 있다는 건 아니겠지만 말이다. 기본적인 머리가 있고 필요를 느끼면 결국은 나중에 다른 경로를 통해서라도 적응은 하게 돼 있다.

어휴.. 나도 말은 이렇게 써 놨지만.. 당장 어떻게 풀어야 할지 모르는 어려운 문제를 대면하면 이게 도대체 지금까지 수업 시간에 배웠던 기본 수학 공식이나 법칙과 무슨 관계가 있고 무엇부터 적용해야 할지 막막한 게 많다. 맨날 이런 기억과 경험만 쌓이다 보면 그 누구라도 수학이 싫어질 수밖에 없고 수학을 포기할 수밖에 없을 것이다.. -_-;; 세상에는 나랑 나이 차이도 별로 안 나던 시절에 그런 문제를 생각해 내고 '만든' 사람도 있구만.. 참 자괴감이 든다~!!

Posted by 사무엘

2017/10/22 19:35 2017/10/22 19:35
, , , ,
Response
No Trackback , 4 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1419

« Previous : 1 : ... 17 : 18 : 19 : 20 : 21 : 22 : 23 : 24 : 25 : ... 45 : Next »

블로그 이미지

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

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2024/11   »
          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

Site Stats

Total hits:
2993474
Today:
211
Yesterday:
2274