1. 색소폰 연주

아시다시피 본인은 Looking for you를 3천 번 들었다.
성경의 사무엘이 '사무엘아' 음성을 두 번 듣고 나서 세 번째 들은 뒤엔 출처를 공부한 뒤 들을 준비를 하고 잠자리에 누웠다. 네 번째 '사무엘아' 음성을 들은 뒤에야 하나님의 음성에 제대로 응답하게 됐다.

그것처럼 나도 새마을호에서 Looking for you를 두 번 듣고 나서 세 번째 들은 뒤엔 출처를 인터넷으로 검색했고, 다음엔 들을 준비를 하고 새마을호를 탔다. 네 번째 Looking for you가 흘러나왔을 때 나는 철도 안에서 거듭났고 철도를 내 개인의 교통수단으로 영접하는 놀라운 일이 벌어졌다.

그 뒤로 나는 Looking for you를 주선율, 주요 화음, 대략의 비트까지 다 청음 채보했다.
콩나물 대가리를 한땀 한땀 입력해 넣고 원곡과 대조하면서, 어느 기보가 원음에 더 근접한 정확한 기보인지를 고민하면서..
Looking for you 작곡자의 마음과 심정을 이해하는 자가훈련을 했다.

이 음악의 어느 부분이 나를 감화시켜서 나를 철덕으로 만들었는지, 왜 이런 결과가 야기될 수밖에 없는지를 연구했다.
그리고.. Looking for you의 주선율을 만든 악기 공부를 (잠깐 동안이지만) 시작했다.

사용자 삽입 이미지

작년 성탄절, 우리 교회 복음 전도 집회에서.
아, 교회에서 Looking for you 연주했다는 얘기는 아님. 오해 마시길..

2. 나의 등산 노트

사용자 삽입 이미지

조건부 서식이 있으니 올랐던 산들의 높이를 일목요연하게 파악할 수 있어서 매우 좋다.
이것도 중복 정보 없이 정규화가 잘된 구조로 구축하려면 산에 대한 테이블과 등산 세션과 관련된 테이블을 분리하긴 해야 하는데, 엑셀로 그것까지 하기에는 많이 귀찮지.

입산 지점에 최종적으로 어떤 교통수단을 이용해서 가서 어디로 하산했는지,
산 속에서 주로 본 게 무엇인지, 바깥 경치로 주로 무엇을 봤는지,
정상에는 무엇이 있었고 어떤 형태였는지, 산이 행정적으로 어떤 관리를 받고 있는지 같은 것을 일목요연하게 조회 가능하게 했다.

3. 코딩

그럼 이제 일상생활 얘기로 넘어가겠다.

사용자 삽입 이미지

(밝은 화면을 비추느라 명암차 때문에 주변이 어두워진 거지, 촬영 당시에 책상 주변은 실제로는 저 사진만치 어둡지 않았음)
화면이 미치도록 광활한 데스크톱 컴과,
눕든지 앉든지 편한 자세로 침대, 책상, 자동차 등 아무 데서나 사용 가능한 놋붉 컴 중
뭘로 코딩을 할지가 매우 고민된다. 일종의 행복한 고민.

참고로 노트북의 화면 전체와, 데스크톱 모니터의 오른쪽에 떠 있는 작은 프로그램 창하고 화면 크기(화소 수)가 동일하다. ㄲㄲㄲㄲㄲㄲㄲㄲ 미래의 리드미 문서를 작성하고 있는 날개셋 편집기의 화면임.
내가 지금까지 갖고 있던 그림과 동영상들이 화질이 얼마나 구린지를 까발리고 정죄하는 마법의 모니터다.

역시 프로그래머에게 화면이 큰 건 컴퓨터에게 램이 많은 것과 같다~! 정말 다다익선이다.
그도 그럴 것이 자꾸 창 전환이나 스크롤 하는 게(개발툴, 웹브라우저, 에디터, msdn 등등) 컴터로 치면 메모리 부족해서 하드디스크 스와핑 하는 것과 개념적으로 완전히 동일하기 때문이다.

무식하게 혼자 3~5K급으로 해상도가 너무 높은 모니터 하나냐, 혹은 걍 2K 해상도급 모니터 듀얼/트리플 중 어느 게 더 좋을지는 잘 모르겠다. 제각기 장단점이 있어 보인다.
참고로 배(선박)와 DLL(Windows 파일..;; )은 작은 놈 여럿보다는 큰 놈 하나가 성능면에서 더 효율적이다.

일체형 PC는 간지나고 공간 덜 차지하고 지저분한 선 없이 콘센트 하나만 꽂으면 모니터 본체 스피커가 전부 OK이니 정말 좋긴 하다.
다만, 이렇게 한번 세팅된 이후로 부품 업그레이드가 어려울 것이고 발열 제어도 곤란하니 엔드급 게임은 무리일 것이다.

구조적으로 볼 때 철도 차량의 동력분산 / 동력집중의 차이와 비슷해 보인다. 일체형 PC가 동력집중이 아니라 분산식에 대응한다. 그리고 트렁크· 캐빈· 엔진룸 따위의 구분이 없는 원박스 형태의 자동차도 일체형 PC와 비슷한 컨셉이라 볼 수 있겠다. (공간 활용 최대, 그러나 정비가 어렵다는 점에서 비슷)

4. 시간 부족과 일정 압박

CPU 클럭 속도 향상의 병목은 발열이고, 자동차 속도 향상의 병목은 공기 저항이다. 스마트폰 성능 향상의 병목은 배터리 용량이다.
그리고 날개셋 한글 입력기 개발에서 최악의 병목은 잠으로 인한 시간 부족 되시겠다.
난 오랜 경험상 매일 6시간이 정말 마지노선이고 그 이하로는 도저히 못 줄이겠다. 결국은 낮에 졸음과 집중력 저하로 인해 밤에 안 잔 것 이상의 대가를 치르게 되더라. -_-;;

어지간한 고시 준비생만치 시간을 분초 단위로 쪼개며 살아도 시원찮을 판에 이래 가지고 날개셋 9.0은 언제 완성할 것이며 박사 졸업은 도대체 언제 하나..;;
늦게 자고 늦게 일어나는 것보다는 일찍 자고 일찍 일어나는 것 선호함. 눈 감았다 뜨면 그냥 6시간이 싹 워프되고 개운 가뿐하게 일어나긴 한다. 천성적으로 남 눈치 안 보고 앞날 걱정을 미리 안 하는 체질이어서 그런지 스트레스는 적게 받는 편. 불면증 같은 게 어떻게 존재하는지 이해를 못 한다.

단지 잠을 더 줄일 수가 없을 뿐임.
이것도 기초체력 문제인가..? 잠 적으신 분이 굉장히 부럽다.

5. 덕질

논문 쓸 '꺼리, 아이템'들을 만들어내는 활동은 재미있지만 (코딩, 시스템 구현, 실험 등등)
그걸로 온갖 형식 갖춰서 실제로 논문을 쓰는 건 꽤 성가시고 번거롭다. =_=;;
그래도.. 잔인한 주인이 무자비하게 내린 온갖 복잡한 재귀호출 뺑뺑이와 자질구레한 메모리 할당· 해제 요청들을 컴퓨터는 진짜 순식간에 전광석화처럼 해낸다.

소프트웨어의 추상화 계층이 올라가면 코드를 유지보수하고 확장하기는 편해지지만 컴퓨터의 입장에서는 뭘 하나 하려 해도 포인터가 가리키는 대로 메모리를 여러 단계 요리조리 따라가야 하고, 캐시 미스가 나면 더 느린 메모리에 갔다가 와야 된다.

사용자가 '확인'을 누르거나 키보드를 하나 눌러서 화면에 글자 한 자가 찍힐 때까지 컴퓨터가 전자적으로 처리하는 일의 양이 도대체 얼마나 될까.
하물며 실존하지 않는 종이, 실존하지 않는 음악과 영상이 존재하는 것 같은 경험을 사람에게 제공하기 위해서 컴퓨터는 얼마나 많은 계산을 순식간에 해치우고 있을까?
프로그래머로서 이런 컴퓨터가 고맙고 대단하게 느껴질 때가 있다.

글자를 온통 배배 틀고 배경과 뒤섞어 놓은 일명 '캡챠'는 사람은 곧바로 알아보지만 컴퓨터가 알아보지 못하는 (걸 지향하는) 그림이다.
그러나 사람이 도무지 판독할 수 없는 랜덤 노이즈로 보이는 QR 코드 같은 건 컴퓨터가 곧바로 판독해 낸다.
예전에도 말했듯이 주석과 들여쓰기가 잘 된 코드와, IOCCC용 난독화 코드는 컴퓨터가 해석하는 데 아무런 차이가 없다.
이런 걸 생각해 봐도 사람과 기계는 근본적으로 특성이 달라도 이렇게 다르다는 걸 느낄 수 있다.

6. 컴퓨터 세팅

개인용 컴퓨터를 새로 지르거나 회사 같은 데서 내 업무용 컴터를 받았을 때 내가 기종을 불문하고 제일 먼저 하는 일은

  • 키보드 속도를 최고속으로 맞춘다. 보통 디폴트 값은 반복 속도가 늘 최고속에서 한 단계 낮은 걸로 돼 있는데.. 난 이게 최고속으로 돼 있지 않으면 답답하고 불편해서 못 쓴다. 키를 이 정도 시간 동안 눌렀으면 cursor나 선택 막대가 어느 정도로 이동해 있을 거라는 예상치와 기대치가 있기 때문이다. 지금 같은 '재입력/반복 키보드 속도 조절 체계'는 IBM PC AT 시절 이래로 변함없이 이어져 온 유구한 전통이다.
  • <날개셋> 한글 입력기를 설치한다. 내 홈페이지에 대외적으로 공개돼 있는 최신 버전이 아니라, 나 혼자만 갖고 있는 "개발 중"인 진짜 최신 버전이다. 한글을 내가 원하는 형태로 입력 가능하고 그 구닥다리 16*16 비트맵 폰트를 화면으로 좀 봐야 내가 심리적으로 안정된다.
  • Looking for you.mp3 복사해 넣는다. 음악 파일 중에서 묻지도 따지지도 않고 내가 무조건 제일 먼저 집어넣는 파일, 특히 사운드 테스트용으로 쓰는 파일은 답정너 looking for you이다. 이게 흘러나와야 내 개인용 컴퓨터라는 생각이 든다.

그나저나 노트북 내지 미니키보드들의 왼쪽 아래를 보면 Ctrl의 오른쪽에 Alt가 있는 것은 보장되지만 이것 말고 Fn, Win, 한자 키 같은 것은 생각보다 배치가 제멋대로이고 파편화가 심하다. 규격이 통일돼 있지 않다. 이것 때문에 한 키보드에 적응되고 나면 다른 키보드에서 modifier 키를 잘못 누르기 쉬워서 몹시 불편하다.

말이 나왔으니 하나 더.. 요즘 Windows 10은 사용자에게 선택의 여지를 안 주고 시도 때도 없이 강제 업데이트를 해서 꺼져야 할 때 바로 안 꺼지고, 켜져야 할 때 바로 안 켜지는 게 굉장히 싫다. 대규모 업데이트가 너무 잦고, 심지어 업데이트 후에 컴퓨터가 맛이 가는 것도 몇 번 겪어서 하기가 더욱 싫어진다. 그리고 컴퓨터를 오래 쓰고 나면 언제부턴가 시작 메뉴에서 앱들 검색이 제대로 동작하지 않기 시작한다. 나만 이러는 거 아니지?

그래서 인터넷을 뒤져서 이더넷 유선 랜도 데이터 요금이 부과되는 네트워크라고 속이는 레지스트리 패치를 적용시켰다. 그래야 운영체제가 제멋대로 깽판을 안 부린다. 제아무리 보안 업데이트도 인터넷 패킷 종량제 앞에서는 깨갱 할 수밖에 없으니까.

7. 삼각형의 오심을 그리는 프로그램

작년이니 엄청 옛날에 이미 작업된 사항이긴 한데, 막 중요한 건 아니어서 이제야 여기서 공지를 하게 됐다. 홈페이지의 '옛날 자료실'에 올라와 있는 '삼각형 오심을 그리는 프로그램'이 거의 10여 년 만에 기능이 크게 추가되고 보강됐다. 수학 강사인 교회 지인의 제안으로 행해진 작업이다.

삼각형의 오심이야 간단한 기하 알고리즘으로 (1) 두 직선의 교점과 (2) 두 변이 이루는 각을 이등분하는 변만 구할 줄 알면 컴퓨터로 아주 쉽게 구할 수 있다. 삼각형은 2차원 평면도형 중 가장 간단한 물건인데 얘의 모양에다 중심이라는 의미를 부여하는 방법도 이렇게 다양하다는 걸 알게 된다.

구체적인 개선 사항은 해당 웹페이지에도 나와 있지만, '구점원'이라는 걸 그리는 걸 추가했다. 삼각형 세 변들에 대해 변의 중점으로만 이뤄진 작은 삼각형의 외심원을 구한 것인데, 이게 또 방점과 접하고 수심을 지나기도 하는 등 기하학적인 의미가 장난이 아니다. 이걸 제6심이라고도 볼 수 있을지는 모르겠다.

그리고 내심을 제외한 수심, 구점원 중심, 무게중심, 외심 이렇게 네 점은 언제나 한 직선상에 있다는 게 보장된다..;; 이 오일러 직선을 그리는 기능도 추가했다.
또한 삼각형의 꼭지점만 마우스로 끌어서 이동시키는 게 아니라 삼각형 내부를 끌면 삼각형이 통째로 움직이게 했다. 한 점이 삼각형의 내부에 있는지 판별하는 건 세 점의 방향성 판별 공식을 이용해서 구현 가능하다.

웹브라우저에서 윤곽선 폰트 에디터까지 구동하는 세상인데 이런 간단한 그림을 그리는 프로그램쯤은 이제 플래시조차 필요 없고 HTML+(JS)로 다 만들 수 있을 것이다. 엔드 유저의 관점에서는 EXE 형태의 프로그램이 점점 필요 없어지고 있긴 한데, 일단 내가 아는 skill은 C++과 Windows API이니 저렇게 간다. GDI 말고 다른 API를 동원해서 선들을 안티앨리어싱도 좀 시킬 걸 하는 아쉬움도 남는다. 완벽하게 만들려고 욕심 부리면 뭐 한도 끝도 없다.

Posted by 사무엘

2017/02/26 19:33 2017/02/26 19:33
, , , ,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1332

Trackback URL : http://moogi.new21.org/tc/trackback/1332

Comments List

  1. 2017/02/28 10:37 # M/D Reply Permalink

    왜 여친얘기는없죠

    1. 사무엘 2017/02/28 14:36 # M/D Permalink

      헉, 돌직구를 맞았군요~~ ㅠㅠ (그런데 누구신가요?)

Leave a comment
« Previous : 1 : ... 938 : 939 : 940 : 941 : 942 : 943 : 944 : 945 : 946 : ... 2131 : Next »

블로그 이미지

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

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

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

Site Stats

Total hits:
2632578
Today:
1130
Yesterday:
1314