2018년 7월 29일 일요일

진공관 앰프 개선을 위한 다음 구상

SMPS(switching mode power supply)는 가정용 교류 전원에서 전자기기용 직류를 만들어내는 보편적인 장치로 자리잡았다. 노트북 컴퓨터, 휴대폰 충전기, 전화기, LED 등기구 등 직류 전원이 필요한 대부분의 기기는 효율이 좋고 경량인 SMPS를 사용한다. 220 V의 상용 전원을 트랜스포머를 이용하여 적절한 수준의 전압으로 낮추고 대형 캐패시터를 통해 평활을 하는 기존의 전원장치에 비해서는 훨씬 가볍고 열도 적게 발생한다. 다만 고급 오디오 기기에서 SMPS를 사용하는 것에 대해서는 아직 회의적인 시각이 많다고 한다. 왜냐하면 주파수가 매우 높은 스위칭 노이즈를 만들기 때문이다. 이 잡음이 가청 주파수를 훨씬 상회하는 것이라서 문제가 없다는 사람도 있고, 그렇지 않다는 사람도 있다.

이번에 Ebay에서 구입하여 배송을 기다리는 물품은 바로 진공관 앰프를 위한 SMPS이다. 가정용 교류 전원을 공급하면 250 V 0.12 A 및 6.3 V 4.5 A의 직류 전원을 공급한다. 제품의 이름에서 가리키듯이 6V6(위키피디아 Radiomuseum 오디오파트 자료실)정도의 싱글 엔디드 앰프에서 사용하기 적당한 수준이다.



매우 표준적인 6V6 SE 앰프인 소리전자 '돌쇠'의 회로도를 소개한다(링크). 여기에서 필요로하는 B+ 전압의 범위에 대략 잘 맞는다.


만약 이번에 만든 6N1 + 6P1 SE 앰프에 SMPS가 별다른 문제없이 쓰일 수 있다면 앰프의 크기와 무게를 줄이는데 크게 기여하게 될 것이다. B+ 전원과 히터용으로 크고 무거운 트랜스포머를 무려 두 개나 쓰고 있었는데, 이를 대체할 수만 있다면 알루미늄 덕트를 활용한 보다 작은 샤시를 꾸며서 앰프를 재조립하면 된다.

직접 감아서 만든 R-core 출력 트랜스포머(5 kOhm : 8 Ohm)도 부족한 점이 많다. 제이앨범의 개발자가 제시한 수치보다 실수로 훨씬 부족하게 에나멜선을 감았기 때문이다. 권선비는 25:1로 맞추었으나 감은 수가 부족하여 인덕턴스도 마찬가지로 낮게 나올 것으로 생각된다. 권장되는 권선 횟수는 보빈 하나에 대해서 1800:72인데 1차를 1050회 감고 말았다.

만약 내가 진공관 앰프를 하나 더 만들게 된다면 이번에는 푸시풀(PP) 타입으로 해 보고 싶다. SE냐 PP냐의 논란은 무척 오래 되었고 각자 나름대로의 장단점이 있다고 한다. 그러나 충분한 출력을 갖는 범용적인 용도라면 PP가 더 낫지 않을까 하는 생각이 든다. SE는 만들기 쉽고, 부품이 적게 들고, 진공관의 측정 수치가 같도록 맞추는 노력을 하지 않아도 되고, 특정 음악(예를 들어 소편성의 클래식 음악)에서 좀 더 '예쁜 소리'를 낸다고 한다. 그런데 인터넷에서 찾은 글을 보면 과거 진공관 앰프 전성시대의 대부분의 하이파이 오디오용 앰프는 PP였고 SE는 라디오나 TV 정도의 용도로만 쓰였는데 이상하게 최근에 들어서 SE 앰프의 인기가 높아졌다고 한다. 이러한 견해가 100% 옳은지는 경험이 적은 나는 잘 모르겠지만 모든 음악을 책상 앞에 설치한 스피커로부터 가깝게 들을 것은 아니니 현대의 저능률 스피커도 충분히 구동할 수 있는 PP 앰프에 조금 더 관심이 가고 있다. 같은 출력이라는 SE용 출력 트랜스보다 PP용 트랜스가 더 작아도 된다는 것도 내 마음을 움직이고 있다.

SE와 PP의 특성에 대한 자료를 인터넷에서 찾아보았다.

[유튜브] Harmomics: Even vs Odd / Valve vs Solid Sate Amp Sound
[실용오디오] Single ended와 Push pull 진공관 앰프의 장단점
[실용 오디오] 진공관 앰프는 싱글이 PP보다 음질이 우수하다는 것과 삼극관이 5극관보다 좋다는 것이 사실인지요?
[서병익 오디오 기술칼럼] 싱글 앰프와 푸시풀 앰프의 음질 특성
Single Ended vs. Push Pull: The Fight of the Century - Eddie Vaughn

독서 기록 - <허리 아래 고민에 답변 드립니다> 외 두 권

기록적인 더위로 전국이 마치 용광로에 들어가 있는듯한 나날이 계속되고 있다. 온대지방 대한민국에서 섭씨 37도라니. 주간 날씨 예보를 봐도 나아지기는커녕 다음 주는 더 더워질 것이라고 한다. 집에 에어콘을 설치한 이래 이렇게 자주 작동하는 것도 처음이다. 이런 날씨에는 집에 틀어박혀서 책을 읽는 것이 즐거움이다. 요즘 들어서 바뀐 독서 습관이 있다면 2 주 간격으로 다섯 권씩의 책을 빌려오면서 꼭 소설을 하나씩은 보려고 노력한다는 점이다. 실용서와 자연과학·사회과학 서적만 너무 편식하던 습관에서 벗어나서 정보의 습득보다는 '읽는 즐거움' 자체를 좀 더 누리려는 것이다.


허리 아래 고민에 답해 드립니다

우에노 지즈코 지음 | 송태욱 옮김. 인생의 고민은 대부분 허리 아래에서 온다고 한다. 일본 아사히신문의 상담란 문답을 엮은 책.

더 나은 사람들의 역사

아리 투루넨 지음 | 최성욱 옮김. "성공과 오만이 만들어낸 갑질사회의 흥망사".

지팡이 대신 권총을 든 노인(소설)

원제: Don't ever get old.
대니얼 프리드먼 저 | 박산호 역. 스웨덴 작가 요나스 요나손의 <창문 넘어 도망친 100세 노인>을 연상하게 하는 번역본 제목은 원제를 너무 앞서간 느낌이다. 전직 경찰인 87세의 버크 샤츠는 활동은 눈부시다. 믿을 것은 권총 한 자루뿐. 꽤 거친 장면을 묘사하는 범죄 소설이다. 서평은 좋은 편인데 과연 최종적으로 응징을 당하는 범죄자가 이렇게 많은 살인을 저지를 필요가 있었는지는 의문스럽다. 주인공 버크 샤츠는 유대인으로서 2차 대전 당시 포로 수용소의 책임자였던 나치 친위대 소속의 지글러로부터 폭행을 당한 바 있다. 친구가 임종하면서 죽은줄로만 알았던 지글러가 나치의 황금을 빼돌려서 달아났다는 사실을 실토하였고, '데킬라'라는 별명의 손자와 함께 이를 찾는 모험을 나선다.

샤츠? 나치? 유태인? 7월에 읽었던 로맹 가리의 소설 <징기스 콘의 춤>(독서 기록 링크)에서도 비슷한 이야기가 전개된다. 1인칭 시점으로 진행되는 이 소설의 주인공 전직 유대인 희극배우 콘은 SS 대원 샤츠에게 총살을 당한 뒤 '유령'이 되어 줄곧 그와 함께 한다. 두 소설에서 공교롭게도 주요 인물의 이름이 같다. 물론 그것은 국문으로 썼을 때 그런 것이고, 원어로는 어떤지 모르겠다.
 
사실은 오늘 이 책들을 전부 반납하고 또 한 무더기의 책을 빌려왔다. 기자 출신 소설가 장강명이 한국에서 소설가를 발굴하는 독특한 시스템인 문학상 제도를 비판하고 그 대안을 제시한 르포 <당선, 합격, 계급>을 다 읽었으나 이 책에 대한 독서 기록은 다음번 포스트로 미루려고 한다. 매우 인상깊게 읽었던 소설 <한국이 싫어서>가 바로 장강명의 2015년 발표작이었다.

2018년 7월 26일 목요일

Pairwise SNP distance의 계산 방법에 관하여

[1] Pairwise SNP difference와 [2] pairwise SNP distance 중 어느 것이 맞는 용어일까? R에서 어떤 데이터 매트릭스의 row 사이의 거리(distance)를 계산하는 것은 흔히 있는 일이다. 내가 알기로는 이때에 특별히 단위는 정의되지 않는다. 만약 pairwise SNP distance의 단위를 basepair로 나타낸다면, [1]과 [2]는 같은 의미가 될 것이다.

한 bacterial species에 속하는 균주 수십개의 유전체를 일루미나 플랫폼으로 시퀀싱했다고 하자. 이어서 나서 균주 사이의 유전적 거리 혹은 상관관계를 알기 위해서 SNP를 이용한 후속 분석을 계획한다고 가정하자. 가장 적당한 방법은 최적의 reference genome sequence를 선정하여 이를 NCBI 등에서 입수한 뒤, 여기에 raw sequencing read를 매핑한 다음 SNP을 발굴하는 것이다. 즉 모든 샘플에 대해서 i) read mapping과 ii) reference에 대한 SNP 발굴이라는 작업을 반복해야 한다. 이러한 일련의 작업을 수행하는 매우 편리한 도구로서 나는 요즘 Torsten Seemann의 snippy(GitHub 링크)를 즐겨 사용한다. Raw sequencing read는 없고 sample의 contig sequence만 존재한다면 매릴랜드 대학에서 개발한 Harvest suite(링크)가 적절할 것이다. Snippy도 contig를 input로 받을 수 있지만, 250 bp 길이의 single end read를 contig로부터 만들어서 mapping을 하는 간접적인 방법을 사용한다.

오늘의 글에서는 snippy를 사용한 SNP 발굴 및 샘플 사이의 비교에 관한 사항을 정리하고자 한다. 먼저 reference genome sequence에 sequencing read를 매핑하는 단계부터 검토해 보자. 다음 그림은 이해를 돕기 위하여 그린 것이다. 검정으로 표시된 reference 위에 3 종의 샘플에서 유래한 sequencing read를 매핑하였다. Reference genome coordinate를 기준으로 하여 read가 붙어서 alignment가 생성된 곳을 파랑색 상자로 표시하였다. 회색 상자는 인접한 샘플을 1:1로 비교하여 얻어지는 공통적인 alignment block을 표시한 것이다. 각 샘플마다 차이가 존재하므로 mapping이 된 곳은 당연히 서로 이어지지 않는 여러 개의 상자로 나타날 것이다. block C는 모든 샘플에서 공통적으로 존재하는 영역을 의미한다. 단, 각 파랑색 블록이 실제로 해당 샘플의 유전체 내에서도 이러한 순서로 존재한다고 보장할 수는 없다는 점을 유의해야 한다. 왜냐하면 샘플의 유전체에서 얼마든지 inversion 등이 일어날 수 있기 때문이다. 게다가 recombination에 의해서 더욱 복잡하게 문제가 꼬이는 것은 오늘의 글에서는 다루지 않는다.



Snippy는 각 샘플(sequence reads)에 대해서 각각 실행해야 한다. 다음은 하나의 샘플에 대한 분석 사례이다. 결과 파일은 --outdir 로 지정한 디렉토리 안에 저장된다. 이는 어디까지는 reference와 sample 1번 사이의 1:1 비교에 해당한다.

snippy --cpus 16 --outdir sample1 --R1 sample1_1.fastq --R2 sample2_2.fastq
그 다음으로 할 일은 무엇일까? 모든 샘플에서 계산된 SNP table을 다 불러들여서 SNP alignment를 만드는 것이다. 출력 파일의 포맷은 nexus fasta phylip maf clustalw 등이므로 이를 이용하여 phylogenetic tree를 작성하면 된다. SNP alignment를 만드는 프로그램은 snippy 패키지를 구성하는 프로그램 중 하나인 snippy-core이다. 다시 위의 그림으로 돌아가보자. 각 샘플 read가 reference 위에 매핑하는 곳은 완벽하게 겹치지 않는다. snippy-core는 공통적인 alignment, 즉 core site로부터 염기서열을 뽑아내는 것이다.
snippy-core --prefix core sample1 sample2 sample3...
Core site 안에서도 모든 샘플이 동일한 염기를 갖는 monomorphic site가 있는가 하면 일부 샘플만 다른 polymophic or variant site도 있다. snippy-core로 만들어진 core.aln에서 각 샘플 유래 서열의 길이를 측정해 보면 당연히 그 reference genome sequence의 크기에 훨씬 못미친다. 그런데 결과물 중에 core.full.aln이는 것도 보인다. 이것은 무엇인가? Reference sequence의 크기와 동일한 alignment로서 align이 되지 않은 영역, 즉 zero coverage region or deleted region을 '-'으로 채운 것이다. 위 그림을 기준으로 설명하자면 빨강 블록을 연결하는 두꺼운 회색수평선을 '-'으로 채웠음을 의미한다. 실제로 full alignment 파일을 열어보면 ATGC와 '-' 이외의 문자도 보일 것이다. 이것 때문인지는 모르겠으나 core.full.aln을 FastTree로 처리하여 tree를 그리면 간혹 이상한 그림이 나오기도 한다. core.full.aln에 수록된 다양한 문자형태에 대한 설명은 snippy 웹사이트에서 가져온 설명으로 대체한다.
  • 대문자: same as the reference
  • 소문자: different from the reference
  • -: zero coverage in this sample or a deletion relative to the reference
  • N: low coverage in this sample (based on --mincov)
  • X: masked region of reference (from --mask)
  • n: heterozygous site in the sample (has GT=0/1/ in smps.raw.vcf)
다음으로 알아볼 것은 snp-sites(GitHub 논문)라는 유틸리티이다. 이것은 multi-FASTA alignment에서 SNP를 추출하는 도구로서 snippy의 구동을 위해 꼭 필요하다. 논문을 보면 snippy의 개발자인 Torsten Seemann이 공저자로 포함되어 있기도 하다. snippy-core가 만들어낸 core.aln을 snp-sites로 처리하면 monomorphic site가 제거되는 것으로 이해하면 될 것이다.

마지막으로 오늘의 주제인 snp-dists(GitHub 링크)에 이르렀다. 이 유틸리티 역시 Torsten Seemann의 작품이다. 3 개의 sample에 대한 SNP 분석을 했다는 것은 reference에 대한 sample의 SNP 분포를 알아냈다는 뜻이다. 그러면 sample 1번과 sample 2번을 비교했을 때 SNP의 분포는 어떻게 되는가? 엄밀하게 말하자면 여기에는 두 가지 방법이 있다. 첫번째는 위 그림에서 공통적으로 존재하는 alignment(맨 아래의 빨강색 박스)를 이용하는 것으로서 snp-dists도 이에 해당한다. 다시말해서 core.aln 파일에서 샘플 사이의 모든 pairwise SNP를 재계산하는 것이다.

두번째 방법은 내가 실제로 어제 사용한 방법이었는데 결론적으로 말해서 바람직하지는 않은 것으로 여겨진다. 모든 샘플에 대해서 snippy를 다 실행해 둔 다음, 결과 디렉토리를 전부 두 개씩 짝을 지어서(Perl의 Algorithm::Combinatorics를 사용함) snippy-core를 돌린 것이다. 사용한 샘플의 수가 98개이니 여기에서 2 개씩을 모두 조합하면 C(98, 2) = 4753 개의 command line에 해당하는 snippy-core를 실행한 셈이다. 얼마든지 parallel하게 실행할 수 있는 일이었지만 아주 단순하게 순차적으로 command line을 실행하면서 분석이 끝나기를 기다렸다. '과연 이렇게 하는 게 맞는 것일까?'하는 의구심과 함께... 화면으로 출력되는 standard error를 파일로 리다이렉션한 뒤 다음 라인을 전부 찾아내어 parsing을 하였다.
[14:46:48] Found 3568 core SNPs from 6612 variant sites.
 내가 원하는 것은 matrix를 만드는 것이 아니었다. 98 개의 샘플(strain)은 몇 개의 clade로 나눌 수 있는데, 동일 clade에 속하는 strain 간의 SNP distance가 다른 clade에 속하는 것과의 비교에서 나온 수치보다 현격하게 적다는 것을 보이는 것이 목적이었다. 지리한 계산이 다 끝나고 요즘 쓰고 있는 논문에 해당 수치를 기입하고 나서야 snps-dists라는 유틸리티를 발견하게 되었다. 이것에 core.aln(FASTA) 파일만 input으로 제공하니 순식간에 SNP distance matrix를 작성하였다. 98개의 snippy 결과 디렉토리를 두 개씩 전부 조합한 command line을 만들어서 훨씬 많은 시간이 걸려서 4700회가 넘는 snippy-core를 실행했던 내 자신이 한심하게 느껴졌다.

그러면 snp-dists가 만든 매트릭스는 실제 어떻게 생겼나? ooffice --calc로 파일을 열어보았다. 그런데 각 셀에 적힌 수치가 snippy-core 수작업으로 계산한 것보다 약간 작다. 왜 그럴까? 그 이유를 곰곰이 생각해 보았다. 다시 위의 그림으로 돌아가자. 스크롤하기가 불편하니 아래에 다시 불러다 놓고 글을 마저 적도록 하겠다.


snp-dists는 alignment file을 입력물로 사용한다. 이는 위 그림에서 맨 아래쪽의 빨강 박스를 기준으로 작동한다는 것을 의미한다. 즉 모든 샘플에서 공통적으로 mapping된 영역에 대해서만 pairwise SNP distance를 계산한다는 것이다. 그러면 내가 어제 했던 '비능률적인 방법'은 어떻게 돌아가는 것인가? sample_1과 sample_2의 SNP 분석물 1:1 비교를 생각해 보자. 위 그림에서 두 샘플의 read alignment 중 공통적인 영역, 즉 회색으로 표시된 부분에서 SNP를 찾아낸 것이다. 당연히 빨강 박스에서 찾아낸 것보다 더 많은 SNP가 발견되었다. 그 다음으로 sample_2와 sample_3의 snippy 결과를 snippy_core로 처리한 경우를 생각해 보자. 마찬가지로 두 샘플 사이를 연결하는 회색 영역에서 SNP를 찾은 것이다. 

이상에서 열거한 두 가지 방법 중에서 어느 것이 옳은가? 나도 모른다. 사용하기에 편한 방법을 찾으라면 당연히 snp-dists이다. 모든 샘플에 공통적으로 존재하는 영역에 대해서만 SNP를 추출하여 그 숫자를 계산하므로 보다 객관적일 것이라는 생각도 든다. 하지만 샘플 대 샘플의 1:1 비교라는 측면에 집중한다면 내가 실행했던 다소 비능률적인 방법도 나름대로 타당하다고 생각한다. 특정 샘플의 쌍에서만 존재하는 공통 alignment 영역(위 그림에서 초록색으로 표시한 부분)에도 주의를 기울인다는 것이 이 방법의 중요한 특징이다. 이 영역은 core.aln에서는 당연히 취급되지 않는다.

2018년 7월 25일 수요일

독서 기록 - 스스로 치유하는 뇌(The brain's way of healing)

기록에 남을만한 뜨거운 날씨가 연일 계속되고 있다. 예년에 비하면 훨씬 자주 에어콘을 틀어서 다음달 전기요금이 심히 걱정이 된다. 그렇다고 해도 독서는 멈출 수 없다. 이번에 빌려온 책 중에서 가장 분량이 많으면서도 강한 인상을 남긴 책이라서 별도의 블로그 기록으로 남기고자 한다.

먼저 의학의 아버지인 히포크라테스(기원전 460-375)가 회복에 관하여 남긴 말을 가지고 글을 시작하련다.
수명은 짧고, 의술은 길며, 기회는 순식간에 지나가고, 경험은 의심스럽고, 판단은 어렵다. 의사는 자신이 해야 할 일을 하는 것은 물론이요, 환자, 간병인, 외적 여건도 맡은 바 일을 하도록 만들어야 한다.



  • <스스로 치유하는 뇌(The brain's way of healing)>
  • 부제: 신경가소성 임상연구를 통해 밝혀낸 놀라운 발견과 회복 이야기
  • 노먼 도이지 지음 | 장호연 옮김
흔히 뇌(혹은 신경)는 한번 손상을 입으면 다시 회복되지 않는 것이 정설로 되어있다. 상처가 아물고 부러진 뼈가 붙는 일반적인 치유 과정이 신경세포에는 없다는 뜻이다. 요즘 줄기세포를 이용하여 질환을 치료하려는 움직임이 있지만, 신경줄기세포가 원하는 위치에 들어가서(특히 그곳이 뇌 속이라면?) 분화하기를 기대하는 것은 대단히 어렵다. 이 책의 저자인 노먼 도이지는 여러 나라를 다니면서 외상성 뇌 손상, 척수 손상, 뇌졸중, 근긴장 이상, 파킨슨병, 학습장애에 해당하는 질환을 앓는 사람에게 새로운 임상 신경가소적 기법(신경가소성: neuroplasticity)을 적용하여 정상에 가깝게 치유한 많은 사례들을 발굴하여 소개하고 있다. 이 중에서 어떤 것은 대체의학으로 여겨지는 방법에 의존하는 것도 있고, 구 소련에서 개발되어 서구에는 아직 소개되지 않은 것들도 있다.

저자가 소개하는 치유 사례들은 일반화여 적용하기가 아직은 어려운, 대단히 이례적인 일화에 불과하다고 비판할 수도 있다. 그러나 저자는 에필로그(547쪽)에서 다음과 같이 말한다.
라마찬드란은 이렇게 설명한다. "신경학에서는 시간의 검증을 견뎌낸 주요 발견들의 대부분이 사실상 한 건의 병력과 입증에 바탕을 두고 이루어졌다고 해도 지나치치 않다." 우리는 폭발 사고로 쇠막대가 전두엽을 관통한 철도 논동자 피니어스 게이지(위키피디아 영문 국문)를 통해 전두엽의 기능에 대해 알게 되었다...HM이라는 환자를 통해서는 기억에 대해 배웠다.  
사용하지 않으면 뇌는 퇴화한다. 만약 뇌졸중으로 한 팔을 쓰지 못하게 되었다고 가정하자. 마비된 팔을 움직이려고 반복적으로 노력하다 안 되면, 작동하지 않는다고 '학습'한 뇌는 정상적인 팔만 사용하게 된다고 한다. 멀쩡한 팔에 깁스를 하여 쓰지 못하게 만들고 마비된 팔을 강도 놓게 점증적으로 훈련하면 심지어 수십년이 지나서도 기능이 돌아오기도 한다는 것이다. 다시말해서 남은 신경세포는 재배선을 통해서 원래 상태와 가까운 기능을 하게 된다는 것이다. 이를 위해서는 운동과 적절한 시각적·청각적 자극이 대단히 중요하다.

이번 책을 통해서 알게된 모세 펠덴크라이스(Moshe Feldenkrais, 1904-1984)의 재활요법도 놀라웠다. 유도의 철학에 입각해 정신과 육체의 상관성을 파악하여 의사들도 포기한 부상을 스스로 회복시키게 되었다는 것이다(국내 기사 링크).

치료용으로 쓰이는 저강도 레이저(FDA에서는 2002년 승인)를 머리가 아닌 목과 척추 아래쪽에 쏘여서 뇌손상을 치료한다는 것도 획기적인 일이다. 텔아비브 대학의 Shimon Rochkind와 Uri Oron은 저강도 레이저가 손상된 말초신경 및 중추신경의 재생을 촉진한다는 선구적인 연구를 진행하였다. 심지어 패혈증에 걸린 환자의 정맥에 광섬유를 삽입하여 632 nm 파장의 레이저를 쏘였더니 백혈구가 극적으로 감소하고 이제까지 듣지 않던 항생제가 듣기 시작하여 회복했다는 사례도 있다. 서양에는 지금도 알려져있지 않지만, 러시아 연구자 Meshalkin과 Sergievskii가 저강도 레이저를 혈액에 조사하는 치료를 소개한 뒤 카자흐스탄에서는 수술에서 흔하게 사용된다고 한다.

PoNS®라는 이름으로 알려진 휴대용 신경조절 자극기(Portable Neuromodulation Stimulator)도 흥미롭다. 353쪽을 보면 위스콘신-매디슨 대학의 한 연구소에서 입에 넣으면 다발성경화증 증상에 도움이 되는 장비를 개발했다는 것으로 PoNS의 소개를 시작한다. 책에서 소개한 개발자의 이름을 구글링하여 2010년도의 기사를 찾았다("Healing the brain through the tongue" 링크). 사이트를 방문하면 책에서도 소개된 Ron Husmann이 이 기계를 물고 있는 사진을 볼 수 있다. 왜 하필이면 '혀'인가? 혀는 몸에서 가장 예민한 기관 중 하나로서 뇌 전체를 활성화하는 지름길이기 때문이다. PoNS는 현재 Helius Medical Technologies에서 임상 시험이 진행 중이라고 한다.

이외에도 블로그에 전부 담기 어려운 다양한 신경가소성 이용 치유법의 사례를 소개하고 있다. 이 책을 읽으면서 서양식 의학의 사고방식에 젖어서 약물을 사용하고, 잘라내고, '나 자신 이외의 것'에사 문제의 원인을 찾는 것이 아니라 모든 것이 전부 연결되어 있다는 통합적인 시각에서 자가 치유의 가능성을 모색하는 것이 중요함을 알게 되었다. 새로운 발견은 늘 저항을 낳는다. 토마스 쿤이 주장했듯이 정상 과학(normal science)가 수립되면 새로운 주장의 등장을 억누른다.

Bruce West는 이라는 책에서 과학자를 도약자(leaper-새로운 패러다임을 만들어 나머지 사람들을 뛰어넘음), 모색자(creeper-기존의 모델로 예측되지만 아직 확립되지 않은 분야의 잠재적 발견을 탐구), 전수자(sleeper-자신과 남들이 앞서 배운 것을 다음 세데로 넘겨주고, 지식을 조직화하고 범주화함), 그리고 수호자(keeper-잘 설명된 현상의 실험들을 개선하고, 다듬고, 기존의 패러다임 내에서 세세한 사항들을 보강함)로 나누었다. 대부분의 과학 활동은 패러다임 안에서 정상 과학에 대하여 작업하는 뒤쪽 세 유형의 과학자에 의해서 이루어진다. 저자는 의학에도 이러한 유형이 존재하며 혁신이 수용되는 방식에 영향력을 행사한다고 하였다. 나는 이 네 가지의 유형 중에서 어떤 과학자인가?

2018년 7월 19일 목요일

AliExpress에서 주문한 물건의 뒤늦은 배송

이 부품의 이름은 직경 6 mm의 축을 끼울 수 있는 Rigid Flange Coupling이다. 발음은 '커플링'이지만 커플이 나누어 끼는 반지를 뜻하는 것은 물론 아니다. 두 축을 연결하여 회전 동력을 전달하는 용도의 기계 요소이다. 원래는 출력 트랜스 권선기를 만들기 위해 주문한 것인데 너무 오랫동안 오질 않아서 다른 방법으로 회전판을 고정하고 말았다. 5월 23일에 주문을 한 것이 7월 19일에 왔으니 거의 두 달이 걸렸다. 총 17 차례의 AliExpress 구매 이력(최초는 2014년) 중에서 가장 늦은 배송이다. 그래도 다행인 것은 단 한 번도 물품이 오지 않은 적은 없었다. 전부 DIY를 위한 전자 혹은 기계쪽 부품이었다.


역시 AliExpress에서 지난 3월 무작정 진공관 앰프 보드를 구입하면서 즐겁고도 고단한 자작의 길을 지금까지 걸어왔다. 공구에 손을 다치거나 고압에 감전이 되는 일도 다반사였다. R-코어를 사용하여 출력트랜스(싱글)를 직접 감았다는 것도 처음에는 기대하지 않았던 수확이었다. 이렇게 완성한 앰프는 실제 음악감상을 하기에 충분한 수준의 음질을 제공하지만 문제는 컴퓨터 케이스를 개조하여 만든 섀시가 너무 허름하고 지나치게 크다는 것이다.

R-코어를 고정하는 방법을 고안하고 아울러서 좀 더 아름다운 섀시를 가공하여 재조립을 하는 것을 올 하반기의 목표로 잡았다. 강기동 박사님의 웹사이트(My Audio Lab)에서 본 사진이 힌트를 제공할 것으로 기대한다. 배관용 새들과 긴 볼트를 이용하면 갭을 사이에 둔 코어 반쪽씩을 고정하는 것이 가능하다. 이렇게 조립한 트랜스를 섀시에 움직이지 않고 고정하는 방법은 그 다음 숙제이다. 가능하다면 신호 발생기와 오실로스코프를 이용하여 주파수 특성과 출력을 측정하는 방법까지 익히고 싶다.

출처 http://www.my-audiolab.com/KDK_Column/63164




2018년 7월 18일 수요일

[하루에 한 R] 텍스트에 색깔 입히기

R에서 colors() 함수를 실행시키면 총 657 개의 색깔 단어가 나타난다. "black", "yellowgreen"과 같이 영단어로 표현 가능한 색상이 657 가지라는 뜻이다. RGB 또는 hex code를 사용하면 더 많은 종류의 색깔을 표현할 수 있다. 다음 PDF 파일을 컬러프린터로 인쇄하여 책상 옆에 붙여두면 쓸모가 많을 것이다. 우리식 콩글리시 표현으로는 '컨닝페이퍼'에 해당한다.

R colors cheatsheet (PDF 파일)
R Colors by Name (PDF 파일)
R Color Tables 색상표를 만드는 R 코드 소개(일단 실행해 보는 것을 추천!)
[참고용] 256 Colors - Cheat sheet

수만 가지의 색을 모니터 혹은 이미지 파일로 표현할 수는 있지만 텍스트에 입힐 수 있는 색은 한정적이다. 다음의 예를 보자.

노랑 글씨  노랑 바탕 위의 검정 글씨

왼쪽은 글자 자체를 노란색으로 쓴 것이다. 뭐가 있다는 것은 알겠는데 마우스로 긁어서 반전을 시키지 전에는 무슨 정보를 담고 있는지 알 수가 없다. 그러므로 실제 텍스트에 색을 입혀서 미리 확인을 해 보는 것이 좋을 것이다. 이를 위해서 사용할 수 있는 매우 적당한 함수가 있으니 그것이 바로 textplot()이다.

R colors 자료에서 스무 개 정도의 색상 단어를 뽑은 뒤 다음의 코드를 실행하여 실제로 표현해 보았다. 실제로 바꿀 것은 cols 벡터와 ncol 파라미터뿐이다.

cols = c("red","aquamarine3","blue","brown","cadetblue",
         "chartreuse","chocolate","darkgoldenrod","darkmagenta","darkgreen",
"khaki4","grey","black","cyan","purple",
"yellowgreen","firebrick","hotpink4","limegreen","salmon3")
mat = cbind(name=cols, t(col2rgb(cols)), hex=col2hex(cols))
textplot(mat,col.data=matrix(cols, nrow=length(cols), byrow=FALSE, ncol=5))

결과를 보자.

왠지 탁하고 칙칙한 느낌이 들지 않는가? 나의 색상 선택 센스가 영 꽝이라는 것을 알겠다. 미적 감각이라는 것은 타고 나야 하는 것이라서 훈련으로 나아지는 데에는 한계가 있다.

My analog life - 기계식 손목시계, 만년필, 진공관 앰프

오늘 아침에 찍은 사무실 책상위의 모습이다.


필름을 사용하는 카메라까지 곁들이면 더욱 완벽한 조합일 것이다. 장식장 안에 몇 대의 카메라와 교환용 렌즈가 있지만 마지막으로 필름을 넣어본 것이 언제인지 모르겠다. 사진과 관련한 생태계가 너무나 크게 변해서 이제는 필름을 구하기도, 현상하기도 어려워졌다. 반면 진공관은 아직도 NOS(new old stock) 상태의 것을 구할 수 있고 심지어 인기있는 관은 아직도 만들어지고 있다.

아이패드를 처음 갖게 되던 시절, 이를 늘 들고다니면서 업무 및 일상에 관련한 기록을 할 수 있게 되리라 생각했었다. 에버노트와 드롭박스를 깔아서 사무실에서 아주 쉽게 파일을 공유하여 어디를 가든 쉽게 열어보고 작업을 할 수 있던 시절이 잠깐 있었다. 그러나 보안 이슈가 불거지면서 공공기관에서는 클라우드 서비스를 쓰는 것이 막히고 말았다. 그러나 더욱 중요한 이유는 이러한 기기를 일상적으로 쓰는 생활이 몸에 잘 배지 않는다는 것이다. 이메일 확인이나 잠깐씩 필요한 검색은 스마트폰으로 충분하고, 출장을 갈 때에는 아예 노트북 컴퓨터를 들고 가게 되니 말이다. 아이패드는 집에서 유튜브를 들을 때에만 가끔 사용하며, 평소에는 다이어리에 손으로 쓰는 글씨를 더 선호한다. 그래서 아직도 만년필을 쓰고 있다.

지금 쓰는 파커 벡터 스탠다드는 서랍에 남은 잉크 카트리지를 다 소모할 때까지만 쓰려고 생각 중인데 하루에 글씨를 쓰는 양이 그다지 많지 않아서 그 날이 언제 올지는 도저히 모르겠다. 내 손에는 참 맞지 앉는 만년필임에도 불구하고 워낙 오래 쓰다보니 이젠 그런대로 익숙해졌다.

작년 11월에 구입한 파커 IM 프리미엄 배큐매틱 핑크(블로그 링크)는 너무나 쉽게 잉크가 말라서 며칠간 쓰다가 포기하고 세척하여 책상 서랍 속에 잘 넣어두었다. 서울 을지로에 있다는 만년필 연구소에 한번 보내볼까?

요즘 관심을 갖는 만년필은 모나미의 153 네오 만년필이다. 소비자가격은 25,000원 정도? 화사하고 가벼운 본체의 색깔과 잉크 카트리지의 다양함이 큰 무기인 것으로 보인다. 모나미의 베스트셀러 필기구인 153 볼펜의 정신을 계승했다고나 할까. 입문용 만년필의 최강자인 라미 사파리와 경쟁해서 이겼으면 하는 것이 개인적인 바람이다. 가격과 품질면에서 3천원 정도에 팔리는 '프레피'와 경쟁할 위치는 절대로 아니다. 프레피와 경쟁해야 할 제품은 '올리카'. 실제 구입하여 사용한 경험으로는 닙이 약간 거칠다.

모나미 153 네오 만년필

오늘 언급한 아날로그 라이프용 아이템 중에서 가장 사치를 부릴 수 있는 것은 기계식 손목시계(주로 오토매틱 와인딩)이다. 가격의 상한선은 상상을 초월하지만, 의외로 싼 오토매틱 시계도 많다. 스마트폰 때문에 시계를 한번도 찬 적이 없는 사람을 간혹 보게 된다. 이와 반대로 최첨단 전자기기인 스마트 워치를 착용하는 사람도 주변에 적지 않다. 이삼일 차지 않으면 시간을 다시 맞추어야 하고 시각을 알려주는 것 이외에는 아무런 기능이 없는 '불편한 물건'임에도 불구하고 국내의 고급 시계 시장은 해마다 성장하기만 한다. 내가 즐겨서 차는 기계식(오토매틱 와인딩) 시계는 일제 오리엔트의 저가 라인인 three star(혹은 tristar, 삼성이네...)의 모델이다. 순전히 인체의 움직임을 동력으로 하여 태엽이 저절로 감긴다는 것이 묘한 일체감을 준다. 손목을 흔들 때 로터가 가볍게 돌아가는 느낌이 좋다. 남자라면 당연히 강렬한 인상의 다이버 시계에 끌리지만 손목이 굵지 않아서 요즘 추세의 큰 시계를 어울리게 차는 것은 어렵다.

진공관 앰프에 입문한 것은 2014년 설 무렵이었다. 올해 봄부터 약 반년이 지난 지금까지는 남이 만든 것이 아니라 내가 직접 만드는 진공관 앰프에 푹 빠져있었다. 그 덕분에 집과 사무실 모두 몇 개의 앰프를 놓고서 골라서 들을 수 있는 환경을 갖추게 되었다.

모든 것을 자동화된 장치(혹은 서비스)에 맡기지 않고 내가 직접 할 수 있는 여지가 있다는 것, 그것이 아날로그의 진면목이 아니겠는가?