[작성자:] snowall

  • 휴가 끝

    슬픈건 휴가 기간이 너무 빨리 지나갔다는 것이고, 기쁜건 10일이라는 기간이 매우 빨리 지나갔다는 것이다.

    대전에서 서울 갈 때도 시간을 잘못 골라서 혼자 6시간 운전했는데, 서울에서 광주 내려올 때도 안막히는데 8시간 걸렸다. -_-;

    어딘가 여름 휴가를 제대로 보내고 온 느낌이랄까. 어딘가의 해변이라든가, 놀러갔다온 “느낌”

  • 쓰든가, 읽든가

    졸업논문 쓰느라 뭔가를 “써야 한다”는 압박을 갖고 “읽기”를 하다 보니, 머릿속에 논문 주제 생각으로만 가득 찼었다. 그러다가 이제 flush 시켜 버리고 나니 머릿속의 buffer가 텅 비어서 허무함이 든다.

    buffer overflow와 stack overflow는 걱정해야 하는 일이지만, 이런식으로 underflow가 발생하는 것도 아주 좋지는 않은 것 같다. 뭔가 쓰고 싶은데 쓰려고 하면 써지지 않고, 뭔가 읽고 싶은데 읽으려고 하면 읽혀지지 않는 중이다.

    그러니까, 뇌가 굉장히 흥분해서 차분히 뭔가를 할만한 정신이 없는 것 같다. 집필 또는 독서란 차분한 상태에서 해야 하는데 그렇지 못하다.

    이것은 스트레스를 받고 있는 상황인데 원인이 내부에 있는 경우이다.

    도덕경에 보면 최고의 덕은 덕에 마음을 두지 않으므로 덕이 따라온다고 하는데, 최고의 스트레스 해소법은 스트레스 해소에 마음을 두지 않는 것이 관건인 듯 싶다.

  • 동기화

    정보통신망에서 서로 통신을 하기 위해서 신호의 동기화가 중요하다. 다른 이름으로는 “초치기” 라고도 부르는 이 기술은 고등학교 학생들이 시험 볼 때 부정행위를 저지르기 위하여 사용하면서 유명해진 기술이다. 동기화에는 두가지가 있는데 하나는 클럭 동기화이고, 다른 하나는 글자 동기화이다.

    클럭 동기화는, 0과 1을 구별하기 위한 동기화이다.

    컴퓨터가 신호를 0과 1만을 이용해서 주고받는건 맞는데, 문제는 뭐가 0이고 뭐가 1인지도 가르쳐 줘야 한다는 것이다. 이걸 어떻게 하냐면, 신호를 보내는 쪽에서 계속 클럭 신호를 보내면 받는 쪽에서 클럭 속도를 조금씩 조절하면서 똑같이 들어올 때 까지 맞춰보는 것이다. 만화에도 나왔다 – “너의 공격패턴을 파악했다. 강약강강…” 뭐 이런거.

    이렇게 해서 클럭 동기화를 해 놓고 나면, 이제 그 다음은 글자 동기화이다.

    가령, 어느 순간에 다음과 같은 신호를 받았다고 하자.

    01011011101010100001010110101010110101010101010101010001010110101010

    이게 0과 1로 이루어진 신호인건 알겠고, 이제 이걸 8자리씩 끊어서 아스키 코드로 해석한 후, 글자로 바꾸면 되는데, 문제는 어디서부터 8자리씩 끊느냐이다. 언제부터 시작해야 하는지가 문제인데, 무려 8가지 가능성이 있는 것이다. 그리고 한번 틀리면 그 뒤로 전부 다 틀린다.

    그래서 시작할 때 동기화를 위해서 “동기”라는 문자를 보낸다. 뭐 “동기”라는 건 그 신호에 담긴 의미가 그렇다는 것이고.

    가령 “01001010”이 그런 의미를 담고 있다고 하자. 그럼 신호를 받는 쪽에서는, 계속 기다리면서 01001010이 연속적으로 들어올 때 까지 기다린다. 그리고 기다리다가 그 신호가 들어오면 그때부터 8자리씩 끊어서 해석을 시작한다.

    근데 뭐 이게 하다보면, “10100100”으로 들어오더라도 연속적으로 몇번 들어오면 동기 신호가 될 수도 있다. 그래서 그걸 방지하기 위해서 동기화 신호를 연속적으로 3번정도 보내고 그 다음부터 진짜 신호를 전송하기 시작한다.

    이제 독자들의 관심사는, 도대체 이게 초치기랑 무슨 관련인가 – 왜냐하면 성적은 잘 받으면 좋으니까 – 하는 의문이 들 것이다.

    초치기 테크닉은, 우선 클럭 동기화에서 시작한다. 시험장에 일반적으로 손목시계는 차고 들어갈 수 있으므로 미리 계획한 인원들이 시간을 초 단위로 모두 동일하게 맞춰놓는다. 이것이 바로 클럭 동기화이다.

    그 다음, 인원들 중 공부를 잘하는 인간이 미리 시험 문제를 빠르게 푼다. 한 10분에서 15분 정도.

    그리고 미리 약속해둔 시간 – 가령 시작 후 15분 부터 – 이 되면, 신호를 전달한다. 미리 풀어둔 그 사람은 시계를 보다가 적당한 시간에 헛기침을 하는데, 1초때 기침하면 1번, 2초때 기침하면 2번, 등등.

    이것이 곧 문자 동기화이다.

    하지만 완전 무결점인 방법은 완벽하기 때문에 발생하는 치명적인 단점이 있는데, 시험지 넘기는 시간까지 동기화 되어서, 시험지 넘길 때가 되면 초치기에 참가한 사람이 모두 동시에 시험지를 넘긴다는 점이다.

    나 고등학교 다닐 때, 3학년 선배들 중 어느 한 반에서, 반 전체가 이 방법으로 모의고사 풀다가, 시험지 넘길 때 모든 책상에서 “휘리리릭”하는 소리가 동시에 나는 바람에 걸렸다고 한다. -_-;

    아무튼. 이런식의 테크닉은 자연계에서도 나타나는데, 유전자가 단백질로 번역될 때 나타난다.

    유전자는 알다시피 염기 A, G, T, C로 이루어져 있다. 이 네가지가 어떤 순서로 나타나느냐에 따라 아미노산이 뭐가 오느냐가 결정된다. 근데 아미노산은 20종류고 염기는 4종류니까, 염기 1개가 아미노산 1개로 번역될 수는 없다.(비둘기집의 원리) 따라서, 대충 때려맞춰봐도 염기 3개가 모여 있어야 20종 중의 1개를 지정할 수 있을 것이다. 이 3개를 “부호의 단위”라는 의미로 코돈(Codon)이라고 부른다. 맛있는 돈까스집 이름이 아님에 주의하자.

    AGCTCGTCCTCGTATGACGTC…

    이런식으로 DNA염기가 배열되어 있다고 하자. 그럼, 도대체 어디서부터 번역을 시작해야 하는 걸까.

    그래서, “개시 코돈”이라는 것이 있다. 그것이 바로 AUG인데, AUG는 아미노산 중 메티오닌을 지정하면서 “시작”을 지정하기도 한다. 참고로, DNA의 T는 RNA의 U이다.

    위의 신호는 RNA로 전사되면서

    AGCUCGUCCUCGUAUGACGUC…

    이 된다. 참고로 DNA-RNA-아미노산 번역 과정에서 클럭 동기화는 자동으로 수행된다. A와 T(=U)가 서로 달라붙고 G와 C가 서로 달라붙기 때문에 저절로 잘 맞는다. A와 G사이에 C가 붙는다거나, 그렇게 되진 않는다.

    어쨌든, 번역기(=리보솜)는 RNA를 쭉 읽으면서 AUG가 나올때까지 그냥 보낸다. 그러다가 AUG가 나오면 거기에 메티오닌을 붙이고 번역을 시작한다. 이제 그 뒤로 계속해서 적당한 아미노산이 달라붙으면서 번역이 시작된다. 하지만, 여기서도 AUG가 오인받을 수도 있다. 그래서 AUG가 세번 정도는 나와 줘야 번역이 시작된다.

    여기서 흥미로운 것은, 자연이 선택한 신호 동기화 방법과 인간이 선택한 신호 동기화 방법과 컴퓨터에게 주어진 신호 동기화 방법이 거의 같다는 것이다. 매체(medium)는 다르지만 결국은 다 거기서 거기라는 걸까.

  • 좌빨 세력의 적화통일 음모가 수면으로 드러나다

    헐…


    http://www.mediatoday.co.kr/news/articleView.html?idxno=90096

    조선일보랑 뉴데일리에서 맨날 주장하던 빨갱이들이 이런식으로 북한 체제를 만들어서 밑바닥에서부터 적화통일을 해 나가는 거구나.

    조선일보랑 뉴데일리도 그럼 그럭저럭 정론직필인가…-_-;;

  • 매혹의 신체

    어째 섹스화된 몸에 이어서 몸에 관한 책만 읽고 있는 것 같지만 사실 난 모든 것에 관심이 많다.

    몸의 각 부분에 관한 재밌는 이야기들을 엮었다. 각각의 챕터들은 매우 잡다한 사실들의 묶음이다.

    눈, 코, 입, 등짝, 허리 등등 부터 성기, 머리카락까지 정말 몸을 세분화해서 각각의 부분에 대해 이야기를 적었다.

    오…정말? 수준의 이야기들도 있고, 이미 알던 내용들도 좀 있다.

    어쨌든 흥미로운 책이다.

  • 프랙털 이론과 금융시장

    프랙털이라는 말을 만든 전설의 그 만델브로트가 직접 쓴 금융시장과 프랙털 이론의 이해를 위한 책이다.

    원제는 “The misbehavior of markets”으로, “시장의 이상행동”인데 뭐 번역된 책은 제목이 그리 붙었다.

    프랙털 이론을 잘 모르더라도 쉽게 이해할 수 있고, 어느정도 배경 지식이 있으면 더 재미있게 읽을 수 있다.

    주식/선물/옵션/상품/가격 뭐 이런것들에 대해 이해하는 사람이라면 프랙털 이론으로 그것들을 어떻게 설명하는지 알 수 있고, 반대로 프랙털 이론에 대해 이해하는 사람이라면 주식 투자에 손댈까 말까 고민할 수 있을 것이다.

  • 인증, 문제

    타블로는 인증을 하고도 계속 의혹에서 벗어나지 못하고 있다. 내가 보기엔 그정도면 할만한건 다 했고 믿을만한 수준인 것 같은데…

    졸업한 학교 학적과 과장이랑 한 인터뷰도 위조할 수준이라면, 타블로는 연예인 하기보다는 위조 브로커로 성공하는게 더 좋지 않을까. -_-; 어쨌든 타블로의 학력 논란들은 말이 안되는 억지인 것 같다.

    어쨌든 이 문제는 타블로가 풀어 가야 할 문제니까 난 다른 문제를 생각해 봤다.

    요즘은 사람이 사람을 그다지 잘 믿는 시대가 아니라서 무슨 말을 하면 그 말이 진실인가 고민을 해 봐야 한다. 그 말의 신빙성을 담보할 수 있는 그럭저럭 확실한 방법은 그 말을 한 사람이 어떤 사람인가 찾아보는 것이다. 거짓말을 할 만한 사람인지, 그 분야의 전문가인지, 그런 것들이 지표가 될 수 있다. 그런데, 문제가 생겼다. 누군가가 계속해서 그 사람을 믿을 수 없는 사람이라고 주장한다. 이제 아무도 믿을 수 없게 되었다. A가 a라는 주장을 했는데 B가 a는 사실이 아니라고 한다. 이에 A는 B가 주장한 “a는 사실이 아니다”라는 주장이 사실이 아니라고 주장한다. 거짓말장이의 패러독스와 비슷한 것이 시작된다.

    일반적으로 거짓말장이의 패러독스는 자기 모순을 담고 있다. A가 “B는 거짓말장이다”라고 하고, B가 “A는 진실을 말하고 있다”라고 하는 경우가 그런 경우다. 이 경우, A는 진실을 말한 것도 아니고 거짓을 말한 것도 아니다. A가 진실이면 A가 거짓이고, A가 거짓이면 A가 진실이기 때문이다. 그런데, 앞에서 예로 들었던 것 처럼 둘 다 서로가 거짓이라고 주장한다면 그 경우에는 A와 B중에 누가 진실을 말하고 있는지는 모르더라도, 둘 중 한쪽만이 진실을 말하고 있다는 것은 분명하다.

    타블로의 문제는, 진실 공방이 일어나고 있는 부분이 개인의 정체성에 관한 부분이라는 점이다. 가령, 타블로가 음악을 하나 만들었는데 다른 작곡가의 음악을 표절했다는 주장이 제기되었다고 해 보자. 그 경우, 타블로가 표절을 했느냐 아니냐에 대한 시비는 붙겠지만 타블로가 누구인가에 대한 시비는 생기지 않는다. 개인의 정체성이 변하지는 않는다. 하지만 현재 타블로에 대해 의혹이 있는 부분은 그가 어떤 대학에서 졸업한 바로 그 사람인가에 대한 점이다.

    타블로는 내가 생각한 것에 대해 좋은 예가 되기 때문에 여기서 예로 들었을 뿐, 그의 학력 위조 논란에 어떤 주장을 할 생각은 없다. 물론 나는 개인적으로 타블로가 진실을 말하고 있다고 생각한다.

    여기서 생각해 보고 싶은 문제는, 과연 그렇게 개인의 정체성을 부정 당하고 있는 상황은 어떻게 대처해야 하는가이다. 다시 말해서, 누군가 나에게 “너는 누구냐?”라고 물어보았을 때, 내가 누구인가를 정확히 설명하고 내가 바로 내가 설명한 바로 그 사람이라는 것을 증명하기 위해서 어떤 것들이 필요한 것이냐이다.

    또한, 내가 증거를 내놓았을 때 “그거 가짜야”라고 계속해서 주장하는 사람들은 또한 도대체 어떻게 해야 하는가이다.

    간단히 말해서 내가 바로 그 사람이라는 것을 증명하기 위해서는 나를 의심하고 있는 상대방이 “나”에 대해서 알고 있는 사실과 나를 일치시켜야 한다. 대표적으로는 로그인 아이디와 그 암호가 있다. 상대는 나의 아이디와 암호를 알고 있고, 나는 거기에 올바른 대답을 했으므로 상대가 나를 확인할 수 있다. 하지만 아이디와 암호가 유출되었을 때 다른 사람이 나를 사칭할 수 있는 길이 차단되지 않는다. 은행에서는 그래서 공인인증서와 난수표를 사용한다. 그것을 사용하는 사람은 본인임을 확인할 수 있다고 믿는 것이다. 물론 자기 돈을 남에게 아무 조건 없이 빌려주는 사람은 없기 때문에 이 방법은 믿을만 하다. 하지만, 만약 공인인증서와 난수표와 그 암호가 모두 유출되었다면, 역시 다른 사람이 나를 사칭하는 것이 가능하다.

    타블로 논란에서는 학력증명서, 성적표, 졸업앨범 등이 문제가 되고 있다. 내가 A대학을 나왔다고 하자. 진짜 나왔냐고 물어본다면, 난 졸업 증명서를 떼어다가 줄 수 있다. 그런데 그 졸업 증명서가 위조되었다고 주장을 한다. 사실 그렇다고 하면, 어떤 증명서도 모두 위조할 수 있는 것이고 아무것도 믿을 수 없다. 종이로 된 증명서의 신뢰성을 이미 믿지 않는 상태에서, 위조되지 않았다는 것을 증명하려면 문제를 제기한 사람과 문제를 제기당한 사람이 함께 해당 기관에 가서 두 사람이 모두 확인하는 앞에서 신원을 조회하고 확인해야 한다.

    어쨌든.

    그런데 만약 그런 기록까지도 모두 조작되었다고 해 보자. 이쯤 되었으면 사실 신원 인증 체계는 완전히 무너진 상태이기 때문에 사회 구조 자체가 무너질 수도 있는 상황이다. 아무튼, 그렇게 되면 당시에 학교를 같이 다녔던 사람들을 찾아다니면서 자기가 그때 같이 다녔던 사람이라는 것을 확인하고, 그 사람들이 학교를 같이 다녔다는 것을 증명해야 한다. 하지만 다시 발생하는 문제는, 그 사람들이 그때 학교를 같이 다닌 바로 그 사람들이라는 건 어떻게 증명하는가이다. 앞에서 얘기한 똑같은 문제가 발생할 수도 있다.

    결국, 사실은 어떻게 하더라도 완벽한 증명은 있을 수 없다. 만약 이렇게까지 했는데도 믿을 수 없다면, 어쩌면, 그건 내가 알고 있는 내가 사실은 내가 아닐 수도 있다는 것이고, 그것은 내 기억이 가짜라는 것이다. 그런데 조작된 기억은 내가 어찌 할 수 있는 것이 아니다.

  • 맥OS/리눅스와 윈도우즈의 차이

    알다시피 맥OS와 리눅스에서는 터치패드에 손가락 2개를 올려놓고 움직이면 스크롤이 된다. 휠 대신 쓸 수 있다. 난 이게 윈도우즈에서는 안되는 줄 알고 있었다. 근데 시냅틱스 터치패드 드라이버 설정에 스크롤 기능을 손가락 2개를 이용해서 할 수 있는 옵션을 제공하고 있었다.

    오오…멋진데?

    하지만 감탄은 그걸로 끝. 윈도우즈에서 손가락 2개를 이용한 스크롤은 오직 스크롤만이 구현된 것이었다.

    맥OS와 리눅스는 뭐가 다른가 하면, 거긴 진짜로 휠 자체를 구현해 준다. 손가락 2개를 이용해서 움직이면 휠로 할 수 있는 모든 것을 할 수 있다.

    예를 들어, 컨트롤 키를 누르고 휠을 굴리는 것은 확대-축소 기능이 작동하는데, 윈도우즈에서는 컨트롤 키를 누르고 손가락 2개로 터치패드를 긁어봐야 아무 일도 일어나지 않는다. 맥OS랑 리눅스는 된다.

    구현 개념의 차이인 것 같다. 스크롤 기능이라는 측면에서는 동일하지만, 그 기능을 어떻게 구현하느냐에 따라서 누가 더 편리하게 느껴지느냐에 차이가 생긴다.

  • 안장점 찾기 – BSM

    안장점은 간단히 말해서 산의 능선이다. 정상에서 정상으로 갈 때 가장 편한 길은 능선을 타고 가는 것이다. 능선을 타고 가다보면, 능선이 정상은 아니기 때문에 내려갔다가 올라가게 되지만 그래도 다른 경로들 중에서는 가장 높기 때문에 덜 피곤하다.

    등산하는 사람들이 무조건 가까운 정상으로만 올라간다고 해 보자. 그럼 이쪽으로 가는 사람도 있고 저쪽으로 가는 사람이 있을 것이다. 그걸 Stability region이라고 한다.그럼 어떤 경계가 존재하는데, 그 정확히 그 경계 위에 있는 사람들은 어느쪽으로도 가지 않게 된다. 그러한 Stability region 사이의 경계를 Stability Boundary라고 부른다.

    이걸 찾아내는 알고리즘은 다음과 같다.

    두 극소값을 이미 알고 있다고 하고, 하나는 시작점, 하나는 도착점으로 한다.

    시작점에서 도착점으로 가는 직선을 그리고 그 직선 위에서 극대값을 찾는다.

    직선 위의 극대점에서, 직선 방향과 직교하는 공간에 있는 극소값을 찾는다.

    방금 찾은 극소값을 시작점으로 하여 처음부터 다시.

    이렇게 무한반복하면 안장점으로 수렴한다.


    참고 :



    Chandan
    K. Reddy and Hsiao-Dong Chiang, “A Stability Boundary based Method for
    Finding Saddle Points on Potential Energy Surfaces” Journal of
    Computational Biology, Vol. 13, No.3, pp. 745-766, April 2006.



    [pdf]