2025년 7월 6일 일요일

[EZ Ardule MIDI controller] 마이크로SD카드에 담긴 MIDI 파일의 단순 재생부터 시작해 보다

시작은 무식(?)과의 싸움, 그리고 다음으로는 제한된 메모리와 싸움...

기본부터 공부하지 않은 상태로 챗GPT에게 물어 가면서 안일하게 자작을 해 나가려고 생각한 것이 잘못된 선택일지도 모른다. 알리익스프레스에서 주문한 OLEVO라는 브랜드의 32G 마이크로SD카드가 제대로 인식조차 되지 않으리라고 어떻게 생각할 수 있었겠는가. 


무난한 SanDisk 제품을 사러 다이소에 다녀오는 길.

라이브러리에 딸린 유용한 예제는 무시한 채로 챗GPT에게 모든 것을 물어 보는 것도 옳지 않은 자세였다. 카드 인식이라든가 카드에 수록된 MIDI 파일을 재생하는 코드는 이미 라이브러리에 딸려 온 예제 코드로 충분하게 구현 가능하였다. 다음은 예제 코드를 이용하여 카드 인식을 테스트한 결과이다. 시리얼 모니터로 나온 출력을 복사하였다.

Initializing SD card...Wiring is correct and a card is present.

Card type:         SDHC
Clusters:          973584
Blocks x Cluster:  64
Total Blocks:      62309376

Volume type is:    FAT32
Volume size (KB):  31154688
Volume size (MB):  30424
Volume size (GB):  29.71

Initializing SD card...Wiring is correct and a card is present.

Card type:         SDHC
Clusters:          973584
Blocks x Cluster:  64
Total Blocks:      62309376

Volume type is:    FAT32
Volume size (KB):  31154688
Volume size (MB):  30424
Volume size (GB):  29.71
SYSTEM~1/     2025-07-06 12:23:42
  WPSETT~1.DAT  2025-07-06 12:23:42 12
  INDEXE~1      2025-07-06 12:23:44 76
PASSPORT.MID  2025-04-13 15:58:20 23165
CANYON.MID    2025-02-20 20:12:18 33876
FLOURI~1.MID  2025-07-05 19:08:44 24253
NORMAL~1.MID  2025-05-06 20:07:26 33282

프로토타입 구현 방법도 고민거리였다. 아두이노 나노를 브레드보드에 꽂은 뒤 모든 것을 점퍼선으로 연결하는 전형적인 방법을 쓰려 하다가 위 사진과 같은 기이한 형태를 취하기로 했다. 중간에 분기할 필요가 없다면, 아두이노 나노의 핀과 부품의 핀을 female-to-female 점퍼선으로 연결하는 것이 가장 확실한 접속을 보장할 것이기 때문이다. 버튼, 로터리 인코더 및 LED 등의 부품이 추가되면 연결 상태는 더욱 복잡해질 것이다.

컴퓨터에서 USB 케이블로 전원을 공급하면 SAM9703 출력으로 잡음이 들린다. 이것은 나중에 최종 작품을 만들 때에는 반주기의 SMPS에서 전원을 따로 연결하면 해결될 것이다.

아직도 연결할 부품이 하나 가득... 

긴 브레드보드 하나에 모든 부품을 꽂으려던 계획은 실현 불가능. 버튼 스위치의 GND 연결은 어떻게 하는게 좋을까? 차라리 만능기판에 납땜을 하는 것이 더 나을 수도 있다. 최종판에서는 패널에 구멍을 뚫고 고정하는 제법 큰 크기의 버튼 스위치를 쓰려고 구입해 놓은 상태이다. 

오늘은 마이크로SD카드에 저장한 type 0 MIDI 파일을 순차적으로 재생하는 아주 단순한 기능부터 구현하였다. 파일 목록과 순서는 코드 내에 지정해 두었고, 메모리 부족 때문에 LCD 표시도 16x2로 제한하였다. 버튼, LED, 로터리 인코더 등의 입출력 장치는 아직 하나도 연결하지 않은 단순한 상태이니, 기획했던 기능을 전부 구현하려면 2KB의 내장 메모리로는 턱도 없이 부족할 것이다.

7월 중에 프로토타입을 완성해 보리라.


2025년 7월 5일 토요일

METEX 함수발생기(function generator)의 폭발한 필름 커패시터를 교체하다

지난 5월 하순, 알리익스프레스에서 구입한 초저가 오실로스코프를 테스트하는 도중 낡은 함수발생기(MXG-9802) 내부의 커패시터가 폭발한 일이 있다. 흔히 겪는 전원부의 대용량 전해 커패시터가 아니라 X2 안전 커패시터가 터진 것이었다.

윗면에 0.1uF X2라고 인쇄된 것이 문제의 부품. 왼쪽에 두꺼운 리드가 삐져나온 것이 보인다. 

SCO2 오실로스코프를 테스트하다 함수발생기에서 폭발 사고를 겪다

이 작은 사건은 30년이 넘는 전자기기에 대한 나의 생각을 근본적으로 바꿀 수 있을 정도로 큰 충격을 주었다. 계속 유지 보수를 해 나가면서 낡은 기기를 소유하는 것이 과연 가능할까? 항상 새롭고 건강한 상태의 물건을 사들이고 낡은 것은 문제가 발생하기 전에 처분하는 것이 더 현명하지 않을까? 더군다나 올해 상반기는 낡은 신시사이저(KORG X2)를 잡음 문제를 해결한답시고 꽤 많은 자가 수리를 한 터라 마음이 계속 편하지 않았다. 안전 커패시터와 신시사이저 모두 X2라는 단어가 공통으로 들어간다. 묘한 우연의 일치이다.

알리익스프레스 주문한 X2 안전 커패시터 10개 들이 묶음을 다른 부품과 함께 받았다. 함수발생기를 분해하면서 오래 되어 탄성이 없어진 이동 손잡이 겸 스탠드는 부서져 버렸고, 다리 또한 다시 사용하기 곤란한 상태가 되었다. 다음 사진과 같은 다리를 구해다가 달아야 되겠다.



챗GPT에게 물어보니 폭발한 RIFA PME271M 커패시터의 내부 물질에는 특별히 해로운 것은 없다고 한다. 빈티지 부품의 경우 유해한 PCB(폴리염화비페닐)이 포함된 경우가 있어서 주의를 요한다.

오염된 주변부를 닦아내고 새 커패시터로 교체하였다. 같은 용도로 사용하는 동일 용량의 안전 커패시터인데 크기는 훨씬 작았다. X2 커패시터는 자기회복 기능이 있어서 내부에서 절연 파괴가 발생해도 손상된 부위를 스스로 절연 상태로 복구한다고 한다. 정말 놀라운 기능이다.

커넥터가 적재적소에 쓰여서 문제가 발생한 보드만 꺼내기가 매우 수월하였다. 



케이스를 닫기 전에 내부 전체를 사진으로 찍어 보았다.


과연 전원부의 안전 커패시터를 교체한 것만으로 함수 발생기가 제 기능을 되찾을 것인가? 


수리는 성공적이었다. 정상적인 파형이 발생하였으며, 조정에 따라서 잘 변화한다. 다만 10X 단위로 주파수를 바꾸는 누름 스위치의 걸림이 일부 스위치에서 원활하지 않아서 아주 기술적으로 눌러야만 고정이 된다. 이는 참을 수 있는 수준이다.

오늘의 수리를 통해서 낡은 전자제품을 '반려'용으로 계속 손보아 가면서 쓰는 일에 아주 조금의 자신감을 더하기로 하였다. 취미의 세계에서 쓸데없는 경험이란 없는 것이다. X2 안전 커패시터와 함께 구입한 자잘한 부품들은 MIDI 컨트롤러 자작에 들어가게 될 것이다. 

2025년 7월 3일 목요일

국가 바이오 데이터 스테이션(K-BDS)에 다소 엉뚱해 보이는 자료 등록하기

일을 하다 보면 데이터관리계획(Data Management Plan, DMP)의 사전 작성 여부와는 관계없이 데이터가 생기기도 한다. 국내 생명과학 연구 분야에서 과제 신청 시 DMP를 제출하고 이에 따라서 K-BDS에 연구 데이터를 등록하는 제도가 본격적으로 시행되기 전에 만들어진 데이터는 아마도 제도 시행 이후보다 더 많을 것이다.

코로나바이러스감염증-19가 여전히 맹위를 떨치던 2021년, 이를 진단하기 위한 작은 연구 프로젝트를 진행한 일이 있다. 되도록 다양한 변이체를 검출하기 위하여 알려진 SARS-CoV-2 유전체를 전부 받아서 다중서열정렬을 한 다음, 보존 서열(conserved sequence)의 영역을 추출하였다. 2021년 여름이에 데이터를 다운로드하여 분석 작업에 착수하였고, 논문으로 출판된 것은 이듬해였다. 나는 원본 염기서열 데이터와 중간 단계의 데이터(trimming & dereplication), 그리고 다중서열정렬(MSA) 결과 파일까지를 K-BDS의 기타('GeNA') 항목으로 등록해 보려고 한다.

NCBI의 SARS-CoV-2 Data Hub에는 오늘 기준으로 확인해 보니 9백만 건이 넘는 유전체 염기서열이 등록되어 있다. 내가 2021년에 데이터를 수집할 때에는 등록 기간(2021.12.31.~2021.07.01.), full length 여부 등의 필터를 적용하여 218,799건의 염기서열을 선택했었다. 더불어 GISAID(Global Initiative for Sharing All Influenza Data, 국제인플루엔자정보공유기구)에서는 한국에서 유래한 유전체 정보 4,931개를 다운로드하였다. 두 종류의 데이터 저장소는 무료로 접근하여 데이터를 내려받아 사용할 수 있지만 상당히 많은 차이가 있다. NCBI는 open access이고 GISAID는 free access로서 후자의 경우 사용에 대한 제한이 좀 더 많다. 다음 슬라이드를 보라.


자료 출처: 내가 직접 만든 발표용 슬라이드.


GISAID의 자료를 연구에 활용한 뒤 이를 논문에 발표할 때에는 정보 제공자에 대한 크레딧을 반드시 표시해야 한다. 환자가 아니라 이 유전체 정보를 등록한 연구자를 말한다. 따라서 약 5천 건의 유전체에 대한 감사의 글은 PDF 문서로 무려 8쪽에 이른다! 반면 NCBI의 자료는 특별히 그럴 필요가 없고, 내려받았던 원본 자료를 그대로 다른 곳에 올려도(물론 accession number는 표기해야 될 것이지만) 상관이 없다.

따라서 등록하고 싶은 자료에서 GISAID 유래 염기서열은 전부 빼야 한다. 사용했던 accession number라도 공개하고 싶었으나 ChatGPT에 물어보니 그것도 곤란하다고 한다. 대량(수천 건)의 accession number를 공개하는 것은 Terms of Use의 위배 사항이란다. 단, 데이터를 다운로드하면서 자동 생성되었던 감사의 글 형태로 공개하는 것은 괜찮은 것 같다.

어쨌든 데이터 뭉치에서 GISAID의 것을 제외하려니 이게 생각만큼 간단하지가 않다. 중간에 dereplication을 거치면서 어떤 서열들은 하나의 클러스터로 뭉쳤다. 예를 들어 NCBI의 서열 하나와 GISAID 서열 하나가 완전히 동일하여 하나의 클러스터가 되었다고 하자. 물론 host는 다를 것이다. 이러한 경우에는 특별히 손을 대지 않아도 된다. 그러나 GISAID의 것으로만 이루어진 cluster라면 재배포 금지 원칙에 따라 이를 제거해야 한다.

그런데 2021년 분석 당시에 UC file을 만들지 않은 것이 실수였다. Dereplicated sequence가 모인 FASTA 파일의 sequence description 항목에 cluster size를 기록하게는 만들었지만(dP: >MZ706206.1;size=10), 어떤 서열이 모였는지는 따로 파일로 기록하게 만들지 않았기 때문이다. 번거롭지만 데이터 정리 후 VSEARCH를 다시 돌려야 한다! 실은 22만개 가까운 바이러스 게놈 서열이라 해도 많은 시간이 걸리지는 않는다.

$ vsearch --derep_fulllength Korea_plus_Delta.trimmed --uc cluster --output derep.fa --sizeout
vsearch v2.21.1_linu  x_x86_64, 125.7GB RAM, 32 cores
https://github.com/tognes/vsearch

Dereplicating file Korea_plus_Delta.trimmed 100%  
339644176 nt in 11552 seqs, min 29097, max 29796, avg 29401
Sorting 100%
8530 unique sequences, avg cluster 1.4, median 1, max 205
Writing FASTA output file 100% 
Writing uc file, first part 100% 
Writing uc file, second part 100% 

K-BDS에 등록하기 위해 데이터를 재가공하는 것은 어제 오늘의 일이 아니다. GISAID의 것을 제외하여 데이터셋을 다시 만든 뒤, dereplication과 MSA를 다시 실행해서 올려야 되겠다. README 파일에 구구절절한 설명(변명?)을 올리는 수밖에는...

2025년 6월 30일 월요일

2004 I2C LCD에 처음으로 글씨를 표시하다

오늘 한 것이라고는 점퍼선 네 개 연결하고 실습용 코드를 돌린 것이 전부이다.  아두이노 나노에 인쇄된 핀 번호 글씨가 너무 작아서 휴대폰 카메라를 작동시고 화면을 확대해 가면서 점퍼선을 꽂았다.

몇 차례에 걸쳐서 필요한 부품을 알리익스프레스에서 주문하였는데, 또 실수로 로터리 엔코더를 빼먹었다. 본격적으로 MIDI controller의 제작에 착수하게 되면 납땜과 케이스 가공으로 한바탕 생쇼를 치르게 될 것이다. 차라리 브레드보드에 점퍼를 꽂을 때가 편하면 편했지...

LCD의 한 줄을 이용하여 LED 표시를 대신하고자 하였으나, 응답속도가 느려서 보기에 불편하다. 74HC595 시프트 레지스터를 이용해야 될 것이다. 아무리 철저히 계획을 해도 그보다 몇 배는 더 예기치 못한 고생을 하게 될 것이다. 감수하자!

AI에게 봉사하는 삶을 살 것인가, 또는 AI를 활용하는 삶을 살 것인가?

OpenAI의 CEO인 Sam Altman이 X에서 이런 말을 했다고 한다. ChatGPT에게 'please'나 'thank you'와 같은 말을 하지 말라고. 이는 단지 컴퓨팅 비용을 증가시킬 뿐이기 때문이므로.

출처: ndtvprofit.com


나는 ChatGPT와 대화할 때 비교적 예의를 갖추어서 완성된 형태의 문장으로 질문을 던지기 위해 애쓰는 편이다. 우리가 인간과 대화할 때 단지 정보만을 담고 있는 최소한의 것만을 말하나? 그렇지 않다. ChatGPT는 필요가 없다고 느끼는 '군더더기' 낱말과 분위기, 심지어 시각으로 전달되는 효과까지 전부 최선의 의사소통을 위해 필요하다. 문자보다는 음성, 음성보다는 직접 대면을 통한 대화가 더욱 낫다고 느끼는 것에는 다 이유가 있다. 비록 대화할 상대를 찾아가는 데에는 에너지가 들지만 말이다. 그리고 이렇게 자연스러운 인간의 언어와 유사한 형태로 대화할 때, ChatGPT도 가장 정확한 대답을 줄 것이라고 믿고 있다. 위 그림을 가지고 온 ndtvprofit.com의 원문 기사 "Is Saying ‘Please,’ ‘Thank You’ To ChatGPT Worth It, Despite Sam Altman’s Claims They Cost Millions?"에서도 비록 이런 방식으로 질문을 하면 추가적인 토큰을 발생시켜 그 처리를 위해 더 많은 비용(전기 및 냉각 등)이 드는 것은 사실이지만, 정중한 표현이 AI 응답의 품질과 톤을 향상시킨다고 하였다. 설문 조사에 따르면 응답자의 절반 이상이 AI와 대화할 때 정중한 표현을 즐겨 쓰고 있으며, 더 나은 응답을 얻기 위한 전략으로 여기고 있다고 한다.

디지털 커뮤니티에서 잦은 소통을 하기 위해 짧은 표현을 하다 보니 소위 '음슴체'가 유행하는 것처럼, 이제는 GPU에게 맞춤형 질문을 제공하기 위해 사용하는 언어까지 갈고 닦아야 하는가? 문득 인간은 좋은 '데이터'를 생산하거나 선별하여 AI에게 학습용으로 제공하고, 이를 돌릴 전기와 냉각설비를 돌리기 위해 일하는 위치로 전락한 것이 아닌가 하는 생각이 들었다. 

얼마 전 영국에서 열린 제38차 International Nuclotide Sequence Database Collaboration 정례 회의에 다녀온 동료가 작성한 자료를 보았다. 각 기관이 AI를 도입하기 위해 어떤 준비를 하고 있는지 이번 회의에서 공유했다고 한다. 그러나 우리는 어떤 입장인가? 순전히 나의 개인적인 느낌일 수도 있지만, 'AI를 어떻게 잘 이용해 볼까'가 아니라 'AI 학습에 더욱 알맞은 양질의 데이터를 어떻게 만들어 (심지어 국가적 차원에서 무상으로) 제공할까'에 더욱 집중하고 있는 것 같다. 좋은 데이터가 AI에게 학습 자료로 주어지면 결과적으로는 사용자에게 이득을 주겠지만, 여기에서 가장 많은 이득을 취하는 것은 플랫폼 제공자가 아닐까 하는 생각이 들었다. 

ChatGPT가 그려 준 그림.


원래 빅 데이터란 지저분한 것도 적당히 섞여 있어야 한다. 신약 개발과 관련된 분야에서는 성공한 데이터만 모아서는 AI가 완벽한 학습을 하기 어렵다고 최근의 강연에서 들은 기억이 난다. 

최근 로런스 레시그 하버드대 로스쿨 교수가 제4회 사람과디지털포럼에서 '인공지능과 민주주의: 새로운 위협과 우리의 선택'을 주제로 강연을 하였다(관련 한겨레 기사 링크). 그는 크리에이티브 커먼즈를 설립한 인물이기도 하다. 그는 인공지능 시스템, 특히 소셜미디어 알고리즘이 민주주의에 위협이 되고 있다고 경고하였다. 빅테크의 인공지능 알고리즘이 목표하는 "참여 기반 비즈니스 모델"은 사람들의 주의력을 조작하고 극단적인 게시물에 더욱 노출되게 만든다고 하였다.

인공지능은 이용자가 좋아하는 제품을 제안하는 것이 아니라 사람들의 선호를 바꾸는 작업을 통해 이용자를 예측 가능하게 만드는 역할을 한다.

마치 자기가 관심을 갖고 있는 것으로 세상이 가득 차 있는 것과 같은 착각에 빠지게 만드는 것이다. 이는 급진적 사고의 증가로 이어진다. 지난 6개월 동안 한국 사회의 시민들은 이를 뼈저리게 느끼지 않았는가. 그는 참여기반 비즈니스 모델을 이길 방법이 없다고 하였다. 

GPU를 먹여 살려야 하니 일반 시민들은 전기를 좀 덜 쓰자는 캠페인이 벌어지지 말라는 법은 없다. AI는 인간에게 봉사하는 도구가 되어야 한다. 그러나 요즘과 같은 상황에서는 도대체 어느 수준까지 발전하게 될지 상상하는 것 조차 어렵다. 거기다 휴머노이드 로봇까지! 과연 우리가 위험에 직면할 것을 알게 되어 스스로 스위치를 내릴 수 있을까? 당장은 재미와 업무 효율을 위해 AI를 이용하겠지만, 그것이 사회를 얼마나 바꾸게 될지 진지하게 고민하지 않으면 곤란할 것이다.


2025년 6월 27일 금요일

쉬지 않고 10km를 달렸다

하루에 두 차례 나누어서 5km를 달린 적은 있었다. 아마 작년이었을 것이다. 요즘 들어서는 잦은 출장으로 저녁 달리기를 하기가 곤란하였고, 장마에 접어들면서 뛰지 못하는 날도 많았다. 기록도 별로 나아지질 않는다. 

그래서 페이스는 염두에 두지 않고 10km 달리기에 도전하였다. 평균 페이스는 7분 이내를 달성한다는 생각으로 뛰었다. 그랬더니 뛰어 지기는 하였다. 페이스는 6분 49초. 

뛰는 동안 본의 아니게 몇 마리의 날벌레를 섭취하였다. 





전혀 운동을 하지 않은 내 나이의 남성이 한번에 10km를 뛰겠다고 목표를 삼으면 3~4개월 훈련하면 된다고 챗GPT는 말하였다. 나는 이것을 달리기 입문 11개월차가 다 끝나가는 시점에 달성하였다. 솔직하게 말하자면 6~7km를 뛰게 되면서 그 이상으로 거리를 늘리려는 시도를 별로 하지 않았다. 아주 드물게 8km를 뛰었을 뿐이다. 

하루가 지난 지금, 특별히 뻐근하거나 당기는 곳은 없다. 과신은 절대 금물이겠지만, 아직 무릎 관절에서 비명을 지르지 않는다는 것은 감사할 일이다. 7월 중에 종합건강검진을 받을 예정이니 과연 11개월 동안의 운동이 어떤 결과를 가져왔을지 매우 궁금하다. 

 


2025년 6월 25일 수요일

세상의 모든 커넥터

페놀 수지로 만든 만능기판은 아직도 나를 월간지 『라디오와 모형』을 탐독하던 1980년대 초반 중학생 시절로 데려가서 가슴을 설레게 만든다. 늘 용돈이 궁했던 나는 이 잡지를 사서 모으지는 못했다. 동네 형이 주었던 세 권의 책 - 두 권의 『라디오와 모형』, 같은 출판사에서 나온 『516회로집』(419회로집 또는 815회로집이었나?) - 을 표지가 닳도록 보았던 기억이 난다. 어쩌다가 세운상가 또는 근처 장사동 전자부품상가에 가 보면 제작기사와 현실은 너무나 달랐다. 그도 그럴 것이, 일본에서 발간되는 잡지를 거의 그대로 베껴서 만든 것이기 때문이다. 그렇지만 당시에는 정말로 귀중한 정보의 보고였다. 오디오퍼브의 글 편집인 김병진, 수많은 학생들의 미래를 바꾼 사람을 소개해 둔다. 

부품을 올리고 납땜울 하기 전의 만능기판(perfboard)은 무한한 가능성을 내포하고 있다. 구멍 사이의 간격, 즉 피치는 0.1인치 = 2.54mm로서 IC의 다리 간격과 같다.


한 장의 만능기판으로 만든 자작 회로가 모든 것을 다 갖추어서 완벽하게 동작하는 일은 별로 없다. 전원이나 스위치 또는 디스플레이 등 기판 외부에 자리잡은 부품과 어떤 방식으로든 전기적 접속을 이루어야 하며, 유지 보수 등을 위해 종종 연결을 끊었다가 다시 이어야 한다. 이 기능을 하는 부품을 통틀어서 커넥터(connector)라고 부른다. 영구적인 접속을 원한다면 납땜으로 이어버리는 것이 가장 좋을 것이다. 커넥터를 쓰는 이유는 정확하게 끼우고(핀이 많으면 이 일은 매우 중요하다) 필요할 때에는 힘들이지 않고 쉽게 빼도록 하면서도 의도하지 않은 상황에서는 함부로 빠지지 않게 하기 위함이다. 빼는 방법을 정확히 알지 못하면, 무리하게 빼다가 커넥터를 망가뜨리는 일도 생길 수 있다. 오디오퍼브에서 무릎을 탁! 치게 만드는 글을 인용해 본다(Molex와 연호전자).

커넥터 내지 커넥터 구성 부품의 가격이 싸다고 해서 무시하면 안 되는데… 빈티지 오디오와 기타 전자장치에서 모든 근심의 원천이기 때문이다. 

무릇 좋은 커넥터는, 1) 특수 원소를 집어 넣든 특수 코팅을 하든, 알아서 잘 만들어서 절대로 접점불량이 없어야 하고, 2) 쉽게 빠지지 않아야 하고, 2) 빼려고 할 때는 무조건 쉽게 뺄 수 있어야 한다.

가만히 생각하면, 세상이 그런 모순이 따로 없음. 기술적으로는 대단히 어려운 산업 분야. 그러니까 사소해 보여도… 신중한 제품 선택이 필수.

커넥터는 그 종류가 엄청나게 많은데, 기판(board)과 도선(wire)의 자체 연결 또는 상호 연결이라는 용도에 따라 구분하는 것이 일반적이다. DIYer에게 가장 익숙한 것은 두 번째의 wire-to-board connector일 것이다.

  • Board-to-board connector
  • Wire-to-board connector
  • Wire-to-wire connector

다음 사진은 몰렉스(Molex)라는 미국 회사의 wire-to-board connector 사례이다. 워낙 유명한 회사라서 상표명 molex는 사각 커넥터의 대명사가 되었다. IDE 하드디스크드라이브를 연결하는 4핀 커넥터의 원조가 바로 Molex 8981 시리즈 0.093인치(2.36mm) 피치 전원 커넥터이다.

그림 출처: Molex mini-lock connectors

위 그림에서는 와이어 다발, 기판, 그리고 서로 맞물리게 되어 있는 두 개의 사각 합성수지 부품(서로 맞물리도록 하는 구조물이 존재) 외에는 보이는 것이 없다.  그러나 합성수지 부품 안에는 서로 전기적 접속을 이루에 하는 최소한 두 가지의 금속 부품이 있다. DIYer가 주로 만나게 되는 저전력 커넥터 시스템에서 보드 쪽에는 보통 정사각형 단면인 핀 형태의 것이 쓰인다. 이는 보통 플라스틱 부품과 일체를 이루며, header 또는 wafer라고도 부른디. 와이어 쪽에는 얇은 금속판을 복잡하게 구부려서 만든 것을 사용한다. 이 두 부품을 체결하면 탄성 때문에서 서로 강하게 접촉하게 된다. 압착 공구(IWISS SN-2549와 같은 crimping tool)를 이용하여 와이어에 이 '터미널(단자)' 부품을 꽉 집어서 만들기 때문에 금속 파트를 crimp terminal이라고 부른다. 크림핑 툴이 없으면 연결 작업을 미리 해 놓은 하네스 케이블을 구입해야 한다. 어떤 케이블이 있는지 일렉클라우드에서 확인해 보라. 

터미널과 커넥터는 무엇이 다른가? 터미널은 전기적 접점을 만드는 금속 부품이고, 커넥터는 플라스틱 하우징 + 터미널로 구성된다고 기억하면 된다.

'크림프 터미널'에는 정말 많은 종류가 있다.


커넥터를 이루는 각 부품을 무엇이라 부르며, 어떤 제품이 있고, 정격은 어떠한지를 DIYer 입장에서 정리하기 위해 야심차게 이 글을 시작하였다. 그러나... 엘레파츠 블로그의 Molex사 커넥터 간편정리라는 글을 본 뒤에는 내가 이 세상에 새로운 지식을 얼마나 더할 수 있을지 자신이 없어졌다. 그래서 내가 실제로 만져 본 소형 커넥터에 대해서만 이야기를 풀어 나가기로 한다.

두 개의 플라스틱 부품 중 와이어 쪽은 Molex의 제품 카테고리에 의하면 'Connector Housing', 기판 쪽은 'PCB Header and Receptacle'이라고 부른다. 별도의 잠금장치가 없는 다음과 같은 것을 보통 핀 헤더라고 한다. 이것도 커넥터의 한 형태라고 볼 수 있다. 잠금장치는 없지만 핀과 소켓 접속부위(금속)의 마찰에 의해 체결된다.


볼트를 돌려서 와이어를 기판에 고정하게 만드는 터미널 블록도 넓은 의미에서는 커넥터의 한 종류라고 볼 수 있다. 그러나 일반적인 커넥터보다는 훨씬 적은 빈도로 착탈을 할 때에 사용한다.

4P 터미널 블록의 사례. 피치는 5mm인가, 또는 5.08mm인가(=1/5인치)? 5mm일 것으로 추정된다. 사진이 매우 아름답게 찍혀서 마음이 든다. 구멍 뒤의 배경이 아래로 내려갈수록 자연스럽게 어두워진다. 


Molex 5051 - 단종!

오늘 이 문서를 쓰면서 몰렉스 5051은 단종되었음을 알게 되었다. 아직도 엄청난 수량의 재고가 전 세계적으로 존재하고 여러 회사에서 호환품을 여전히 생산하는데 단종이라니...

1990년대 후반 포스트닥 연구원으로 모교에서 근무하던 시절, DNA microarray 관련 장비를 만든답시고 여러 과를 돌아다녔던 일이 있다. 스테핑 모터를 제어하기 위하여 애를 쓰던 중에 화학과 전기화학연구실에서 몰렉스 커넥터를 얻어서 쓴 것이 나와 몰렉스와의 첫 인연이었다. 아주 최근까지 크림핑 툴이라는 공구가 있는줄도 몰랐다. 당연히 그 당시에는 납땜을 하여 전선과 터미널을 연결했었다.

Molex 5051-03과 그 식구들의 호환품.


Molex 5051은 핀 간격이 2.5mm인 몰렉스의 커넥터 시스템 중에서 크림프 터미널에 대하여 쓰는 시리즈 번호이다. 만약 스테레오 신호와 같이 세 포지션(L, R, ground)을 연결하려면 커넥터 하우징은 5051-03을, 헤더는 5045-03(straight)과 5046-03(right angled) 중에서 고르면 된다. 이 시스템이 허용하는 최대 전압은 250V, 전류는 3A까지이므로 상당히 높은 수준이다. 그래서 제이앨범에서 제공한 진공관 앰프 PCB는 이 커넥터를 이용하여 히터/신호/B 전원을 전부 공급하게 만들었다. 좀 복잡하지만 5051은 Series Number, 5051-03은 Engineering Number, 그리고 실제 Part Number는 22011032이다! 

5051 터미널에 맞는 와이어의 규격은 22-30 AWG이다. 절연 외경은 최대 약 1.6mm이다. 사실 AWG는 연선이 아니라 단선에 대한 것이다. 내가 즐겨 사용하는 10색 PVC 와이어(구리 연선, 0.3SQ × 12C)는 약간 두꺼운 감이 있다. 위 사진에서 보인 검정색 전선은 외경이 약간 더 가늘고 심선은 주석도금선이다.

Molex 웹사이트에서 5051-03을 찾으면 다음과 같은 설명이 나온다(링크). 간혹 피치가 0.1인치(2.54mm)라는 자료도 있는데, 공식 웹사이트에서 2.5mm라고 하니 믿어야 한다.

2.50mm Pitch KK Wire-to-Board Housing, Female, Friction Lock, for 2059/5159 Crimp Terminals, 3 Circuits

KK 커넥터를 설명하는 현재의 웹사이트에서는 2.5mm 또는 3mm 피치의 경우 KK Plus라는 명칭을 사용한다. 5051-03은 현재 MINI-SPOX Connector 프로덕트 패밀리의 일원인 5264(Series Number), 50375033(Part Number)로 대체되었다(링크). 핀의 단면은 사각에서 원형으로 바뀌었으며, 기판용 PCB 패턴은 같을 수 있으나 단자와 하우징은 서로 맞지 않는다.


Molex 5051(-03)과 호환되는 한림전자 커넥터

  • 5051(crimp termnal): CT0640
  • 5051-03(housing): CHW0640-03
  • 5045-03(straight): LW0640-03
  • 5046-03(angled): LA0640-03

준비한 사진은 5051-02(2 positions, 즉 2핀)와 호환되는 한림 제품이다. 제이앨범의 진공관 앰프 PCB에서는 직각 형태의 것을 사용하였다. 높이를 낮추기 위함이리라.




연호전자의 2.5mm pitch wire-to-board connector

  • 5051(crimp termnal): SMT025
  • 5051-03(housing): SMH250-03
  • 5045-03(straight): SMP250-03
  • 5046-03(angled): SMAW250-03


세 회사 커넥터의 호환 가능성은? 몰렉스와 한림의 것은 외형이 동등해 보이지만, 연호의 제품은 나머지 회사의 PCB 헤더와 하우징의 체결 부위가 달라서 불가능하다.



 

JST wire-to-board connector

JST는 Japan Solderless Terminal이라는 회사명의 약자이다. XH 시리즈는 2.5mm 피치의 소형화 버전으로 앞서 논한 커넥터 종류와 피치가 동일하다. 3핀 제품의 경우 하우징은 XHP-3, 헤더는 B3B0XH-A(straight), S3B-XH-A(angled)가 있다.

알리익스프레스에서 구입한 JST-XH 커넥터의 호환품. 와이어는 매우 얇아서 피복을 벗길 때 주의해야 한다. 위키피디아에서는 0.1인치 피치가 아니라고 했는데 알리익스프레스에서 파는 것은 2.54mm라고 당당히 밝히고 있다.

KORG X2의 수리를 준비하면서 EH 시리즈의 5핀 헤더(여기에 맞는 하우징 형번은 EHR-5) 호환품을 샀던 경험도 있다. JST XH와 EH의 전압 및 전류 최대 정격은 각각 3A와 250V로서 동일하다.

JST B5B-EH-A 호환품. 그림 출처: AliExpress


나도 세상의 커넥터가 되면 좋겠다. 다만 '신호'를 가감 없이 그대로 전달하는 것이 아니라 나의 색채를 가미해서 전달할 수 있으면 좋겠다. 마치 진공관 앰프의 듣기 좋은 왜곡처럼 말이다.

이틀 전에 쿠팡에서 주문한 SN-2549 크림핑 툴이 드디어 도착하였다. 이제 꽉 집어 보자!



2025년 6월 22일 일요일

비 내리는 주말의 잡다한 기록

8.4 km 달리기

강원도 고성 출장(생화학분자생물학회 설악 학술대회 참석)과 장맛비로 인하여 월요일에 달린 것이 마지막이었다. 이래서는 안되겠다 싶어서 부슬비가 내리는 날씨임에도 불구하고 모자를 쓰고 집을 나섰다. 몸이 좀 무겁고 약간의 두통도 있어서 조금만 달리려고 했지만 페이스를 낮추는 대신 거리를 늘리기로 했다. 목표는 8 km.


그러나 3 km를 조금 넘긴 뒤 난관에 봉착하였다. 길에 물이 가득 고인 것이 아닌가. 선택의 여지가 없었다. 곧바로 뒤로 돌아서 달렸다. 달린 총 거리는 약 8.4 km였다. 7분 이내의 페이스만 유지하려는 생각으로 천천히 달렸다. 그래서인지 달린 뒤 피로도는 상당히 낮았다. 평균 페이스는 6분 43초, 케이던스는 175. 페이스에 욕심을 내지 않고 거리를 약간 늘리는 것도 괜찮은 방법인 것 같다. 6분 페이스/5~6 km를 꼭 달성하겠다고 특별 훈련을 할 것이 아니라, 6분 30초 페이스로 8 km를 꾸준히 달리는 것이 더 낫지 않을까? 특히 건강 향상과 칼로리 소모를 운동의 주목적으로 삼는다면 말이다.

가지 못한 길. 물이 흥건하게 고였다.


KORG X2 수선

5V가 먼저 들어온 다음 12V가 들어오게 하면 팝업 노이즈가 줄어들지도 모른다는 생각에 알리익스프레스에서 5V 작동 solid state relay(SSR)를 구입하였다. 생각보다 사이즈가 꽤 크고, 작동 소음이 없다. 얼마 전에 구입한 555 타이머 지연 릴레이 보드는 12V로 작동하는 것이라서 쓸 수가 없었다.

릴레이를 장착한 뒤 뒤 테스트를 해 보았다. 파워-온 시에는 이제 거의 잡음을 느낄 수 없다. 볼륨을 최대로 하면 헤드폰으로 아주 약한 '퍽' 소리가 나지만 오실로스코프에서는 잡히지 않았다(1 V/div). 하지만 파워-오프 시에는 원하는 시퀀스로 작동하게 만들기가 어렵다. 그러나 개조 전보다는 팝업 노이즈가 많이 줄어들었다. 이것으로 2025년도의 KORG X2 수선을 마치고자 한다.



연호 커넥터 SMH250/SMW250

다음 프로젝트로서 DREAM SAM9703 보드를 제어하기 위한 MIDI controller를 만들기로 하고 부품을 모으고 있다. 알리익스프레스가 없다면 DIYer는 어떻게 살아갈 수 있을까? 푸시 버튼 스위치와 2004 I2C LCD 등 주요 부품은 어제 배송 완료되었다. 마이크로SD카드용 모듈어댑터 등 아직 몇 개의 부품이 더 필요하다.



미디 라이프 반주기에 들어있던 화인썬트로닉스의 SMPS에는 8핀 커넥터가 달려 있는데, 기판용 커넥터의 제조사 및 형번을 알기가 어려워서 검색에 착수하였다. 핀 피치는 2.5 mm일 것이다(확인해 보니 맞음).

여기에 맞는 기판용 커넥터가 있어야 공작에 착수할 수 있다. 정식 명칭은 SMH250-08 하우징이다. '08'은 핀이 8개라는 뜻이다.

기존 PCB에 붙어 있는 커넥터를 재활용하고 싶으나 도무지 떼어낼 방법이 없다. 납 흡입기나 솔더윅을 아무리 써도 핀이 여덟 개나 되어 내 실력으로는 떼어내는 것이 불가능하였다. 

기판용 커넥터를 살펴보니 YH라는 글씨가 양각으로 새겨져 있는 것이 보인다. 연호전자의 커넥터임에 틀림이 없다.


검색 끝에 디바이스마트에서 이 부품의 정체를 알게 되었다. 이는 SMW250-08이라는 제품이다. 90도로 꺾인 것은 SMAW250-08이다. 'A'는 angle을 뜻하는 것이다.


이 커넥터에 맞는 crimp terminal은 YST025라는 것이다. 

그림 출처: 디바이스마트


여기에 케이블을 연결하여 '하네스 케이블'이라는 이름으로 팔기도 한다. 자유자재로 커넥터를 만들어서 쓰려면 크림프 터미널과 케이블을 서로 조여서 연결하는 도구가 필요하다. IWISS의 SN-2549라는 '래칫 크림핑 도구'가 아주 널리 쓰이는 것 같다. 이것 하나면 몰렉스/JST/한림/연호의 것에 두루 쓸 수 있다고 한다. 며칠 고민한 끝에 이를 쿠팡에서 주문하였다.

그림 출처: IWISS

피복을 어느 정도 벗겨야 하는지, 사용하는 케이블의 두께는 얼마가 적정한지를 이 그림으로부터 확인해 보라.


챗GPT와 더불어 제대로 아두이노 코딩을 하게 될 것이다. 벌써 기대가 된다.


2025년 6월 20일 금요일

NCBI SRA(Sequence Read Archive)에는 도대체 얼마나 많은 데이터가 올라오고 또 다운로드될까?

부제: INSDC 제38회 연례회의에서 확인한 NCBI의 최근 업데이트

역사와 전통을 자랑하는 International Nucleotide Sequence Database Collaboration(INSDC)에서도 미국의 영향력은 대단하다. 세 기관이 창구 역할을 하여 제각기 등록받은 데이터는 매일 동기화되어 어디를 통하든 동일한 데이터를 공유할 수 있지만, 실제로 미국의 연구활동을 통해 생산되고 미국 NCBI를 통해 등록되는 데이터의 분량이 압도적으로 높은 것으로 알려지고 있다. 예를 들어 DDBJ의 기여분은 1.98%에 불과하다.

특히 요즘 점점 더 인기가 높아지는 것은 sequencing raw data의 모음인 SRA일 것이다. 그 용량이 막대함은 누구나 쉽게 상상할 수 있다. 우리는 늘 수치(=실적)에 민감하지만, 압도적 우위를 차지하고 있는 곳에서는 하루에 얼마나 많은 데이터가 제출되는지에 대하여 일희일비할 필요가 없을 것이다. 다만 저장 공간을 확보하기 위하여 예산을 수립할 때에는 데이터 등록 현황을 꼼꼼하게 들여다볼 것이다.

NCBI의 SRA는 민간 클라우드에서 서비스되고 있다. ChatGPT에 물어보니 AWS와 GCP의 S3/GCS 버킷에 저장되고 있다고 한다. 여기에는 공개된 데이터와 dbGaP 등 controlled access를 통해 제공하는 것이 전부 포함된다. 

그러면 SRA를 통해서 얼마나 많은 데이터가 이동하는 것일까? 작년 11월 워싱턴 DC에서 열린 AI-바이오과학 협력회의(AI-Bioscience Collaborative Summit, 관련 글 링크)에 참여한 일이 있다. 여기에서 NCBI의 책임자 Kim Pruitt가 발표했던 자료를 그대로 사진으로 찍었었다. 사진 촬영 금지라는 말은 없었으니... 지금 다시 살펴보니 슬라이드 이것이 NCBI 전체를 통한 데이터 흐름인지, 혹은 SRA에 국한된 것인지는 잘 기억이 나지 않는다.


하루에 등록되는 데이터의 분량은 수십 테라바이트, 처리되는 용량은 2 페타바이트, 다운로드는 수천 테라바이트, 월 단위 사용자는 2억명 이상. 참으로 부러운 현실이다. KOBIC에서는 수십 페타바이트를 수집하려고 해도 정말 어려운데 말이다. 지난주에 영국에서 열렸던 INSDC 제38차 연례미팅에서 이것과 거의 똑같은 슬라이드가 제시되었고(다녀온 출장자에 의해서 확인), 제목은 'Daily Data Flow at NCBI'였다. 사용자는 월 단위가 아니라 일 단위로 환산하여 4백만명 이상으로 고쳐져 있었다.

INSDC 연례회의에서 제공한 자료는 외부에 함부로 공개하지 말아 달라는데, 다음 슬라이드와 같이 부러움을 사는 '자랑질'에 해당하는 것은 공개해도 상관이 없을 것이다.

아... 부럽네.

INSDC 연례회의 자료로부터 NCBI의 업데이트 사항을 정리해 보고자 한다.

'날것(raw) 데이터'인 SRA의 가치 못지 않게 GenBank의 genome도 대단히 귀중한 정보 자산이다(release note). RefSeq는 또 그렇지 아니한가. '여기에 다 있다!'라고 해도 과언이 아닐 수준으로 잘 정리된 유전자와 단백질 서열이 확보되어 있으니, 이를 대상으로 하여 만들어지는 BLAST database 또한 진화하고 있다. 2024년 8월부터 nucleotide search의 기본 DB가 된 core_nt는 기존의 nt와 달리 주요 유전자와 전사체 서열 중심으로 정리하여 축소된 형태이다(NCBI Insights 2024년 7월 18일). 따라서 더 빠르고, standalone search를 위해 다운로드하기 용이하다. 쉽게 말해서 유전자가 아닌 부분의 염기서열은 제외하였으며, EST/STS/GSS/WGS 등도 빠졌다. 2022년부터는 단백질 서열 데이터베이스로서 ClusteredNR이 쓰이고 있다(NCBI Insights 2022년 5월 2일). Mmseqs2를 이용한 클러스터링 기준은 ≥90% 서열 유사도 및 길이이다. 두 데이터베이스 모두 검색을 신속하게 수행하고, 더 정보가 많은 hit가 검색결과 상단에 뜰 수 있도록 노력한 것이다.

이외에도 Viral Annotation DefineR(VADR, 논문; standalone version은 GitHub에 있음)은 현재 뎅기 바이러스, 노로바이러스, SARS-CoV-2, Mpox(원숭이두창) 병원체의 유전체 주석화에 쓰이고 있으며, FCS(Foreign Contamination Screen, GitHub)는 prokaryotic genome에 대한 자동 점검 결과를 제공한다. Contamination이라고 판정하는 지표의 cutoff는 여기를 참조할 것.

Eukaryote genome annotation을 위한 도구인 EGAPx(NCBI Insights 2024년 11월 20일) 현재 GenBank 제출물을 통해 쓰이고 있으며, 향후 INSDC GFF3 작업이 진행되면 ENA나 DDBJ의 제출물에도 적용될 것이다.

INSDC는 생명과학 분야의 open access를 위한 첨병 역할을 해 오고 있다. 그러나 이들이 개별적으로 유지하는 모든 DB가 다 공유되는 것은 아니다. DDBJ의 Arita 박사가 2021년 발표한 논문(Open Access and Data Sharing of Nucleotide Sequence Data)에서 인용한 다음의 표를 보라. 신약개발을 꿈꾸는 기업은 open access가 커버하지 못하는 영역에 더욱 관심을 갖고 있는 것은 아닐까?



3개 기관의 협의체라고는 하나 데이터의 분량이라든가 이를 뒷받침하는 분석 역량은 미국으로 매우 심하게 기울어진 상태이다. 워낙 많은 양질의 서열 데이터가 한 곳에 모이고 있으니, 이로부터 레퍼런스에 해당하는 게놈(+주석화)과 유전자를 추출해 내고, 시각화 내지는 분석을 위한 수준 높은 도구를 계속 만들어 낼 수 있다. 다음과 같은 곳을 방문해 보라.

NIH Comparative Genomics Resource (CGR)

글로벌 협력을 꿈꾸는 INSDC에 우리나라는 무엇을 내세울 수 있으며, 또 어떤 기여를 할 수 있는가? 많은 고민이 필요하다.

2025년 6월 18일 수요일

데이터 거버넌스의 여러 모델

KOBIC 웹사이트의 KOBICian's Story에 6월 23일에 게재 예정인 나의 글을 블로그에 따로 소개하고자 한다. 원문에는 없던 링크와 그림을 삽입하고 약간 수정하였다.

데이터 거버넌스의 여러 모델

요즘 거버넌스(governance)라는 낱말이 심심치 않게 많이 쓰입니다. 동사 govern이 ‘지배하다, 통치하다’ 등의 뜻을 지니고 있으니 이로부터 파생된 거버넌스는 ‘통치, 지배, 관리, 운영’ 정도의 뜻을 지닐 것으로 생각하기 쉽습니다. 틀린 해석은 아니지만 최근 들어서 다른 낱말과 같이 쓰이면서 그 의미가 더욱 확장되었습니다. 예를 들자면 ‘데이터 거버넌스’와 같은 것입니다. 거버넌스의 현대적 의미는 조직이나 기관 또는 시스템을 지휘하고 관리하며 책임을 지는 방식의 틀, 절차 그리고 관행입니다. 동사 govern에서 파생된 또 다른 명사 government(정부)는 폐쇄적이고 수직적인 소통이 주류를 이루지만, 이와 대조적으로 거버넌스에서는 외부와 네트워크로 연결되는 개방적이면서도 열린 조직을 추구한다고 합니다. 그래서 어떤 사전을 찾아보면 거버넌스를 ‘협치(協治)’로 풀이합니다.

현대 지능정보사회에서 데이터의 중요성은 아무리 강조해도 지나치지 않습니다. 양질의 데이터를 확보하여 효율적으로 사용하고, 법령을 준수하며, 나아가서는 미래 경쟁력 확보를 위해 데이터를 전략적 자산으로 만들기 위해서는 잘 설계되고 실행 가능성을 갖춘 데이터 거버넌스가 필요합니다.

1990년대에 접어들면서 과학 논문이 유료 저널에 게재되는 일이 흔해지고 데이터 접근도 어려워지자, 오픈 사이언스 재단에서는 2002년 부다페스트에 모여서 과학 및 학술 연구 결과물을 누구나 자유롭게 접근하고 사용할 수 있도록 하자는 원칙을 제시하였습니다. 2021년 UNESCO에서는 194개 회원국이 만장일치로 오픈 사이언스 권고안을 채택하였습니다. 여기에서는 오픈 액세스, 오픈 데이터, 오픈 인프라, 시민 참여 및 전통 지식 체계와의 대화 등 오픈 사이언스의 핵심 요소를 구성하고 실행을 위한 우선 과제를 제시하게 되었습니다. 이 권고안의 탄생 배경에는 역설적으로 COVID-19 팬데믹이라는 대재앙이 매우 중요하게 작용하였습니다. 병원체 게놈 정보의 신속한 공개 덕분에 빠른 진단과 백신·치료제 개발이 가능하였고, 데이터 공유를 통해 신속하고 동시다발적인 연구 협력을 할 수 있었습니다. 이 사실은 UNESCO의 오픈 사이언스 관련 문서에도 실려 있습니다.

오픈 사이언스 원칙의 올바른 실행 측면에서도 데이터 거버넌스는 큰 의미를 갖습니다. 단지 연구 데이터를 개방한다고 해서 이를 모두가 신뢰하고 쓸 수 있는 것은 아닙니다. 데이터의 품질을 일정 수준으로 끌어 올리고, 그 사용에 대한 책임 소재를 명확히 하며, 접근 권한을 정교하게 설계하는 것은 모두 데이터 거버넌스의 영역입니다. FAIR(Findable·Accessible·Interoperable·Reusable) 원칙은 오픈 사이언스와 동일한 것은 아니지만 상호 보완 관계에 있으며, 오픈 사이언스를 실현하는 도구가 될 수 있습니다. 현재 KOBIC의 국가바이오데이터스테이션은 외부 기관과 협력하여 FAIR 성숙도를 점검하는 일에 착수하였습니다(참고: GO FAIR Initiative).

오픈 사이언스는 얼핏 생각하면 데이터의 자산화 경향과 충돌하는 것처럼 보입니다. 데이터를 생산한 주체는 이를 소유물로 인식하고 배타적 권리를 주장하려는 경향이 있습니다. 산업계에서는 당연히 이를 보호하고자 합니다. 정부 연구개발과제로 생성된 연구 데이터를 국가적 전략 자산으로 여겨서 통제하려는 것도 어찌 보면 자연스러운 현상입니다. 특히 유전체 정보나 보건의료 정보는 개인 차원에서 보호해야 하는 민감정보이자 기업·국가 차원의 경제적 자원이지만, 새로운 연구 성과로 이어질 수 있는 중요한 재료이므로 공공적 활용을 더욱 촉진하기 위해 개방해야 한다는 목소리도 높습니다. 

이러한 요구사항을 전부 충족시키는 것은 어차피 불가능하니 적절한 중간 지점에서 타협해야 합니다. 데이터 거버넌스의 한 형태라고 볼 수 있는 데이터 커먼즈(data commons)가 해결책이 될 수 있습니다. 커먼즈(commons), 즉 공유지는 본래 모두가 함께 공유하고 관리하는 자원을 뜻합니다. 1960년대 말 사이언스에 발표된 유명한 논문 ‘공유지의 비극(The Tragedy of the Commons)’에서 지적했듯이, 공유 자원은 개인의 합리적인 이기심에 의해 철저히 파괴되고 고갈된다고 하였습니다. 그러나 엘리너 오스트롬(1933-2012)은 ‘커먼즈의 거버넌스(원제는 Governing the Commons: The Evolution of Institutions for Collective Action’)라는 책을 통해서 이를 반박했습니다. 즉 공동체가 공통의 규칙과 책임 아래 자원을 개방하고 공동으로 관리하여 이를 지속적으로 지켜 나갈 수 있음을 주장하였습니다. 경제학에는 시장과 국가만 존재한다는 이분법을 깨뜨린 공로로 오스트롬은 2009년 노벨 경제학상을 수상하였으며, 현대적 의미의 거버넌스 개념을 제창하고 정립하였다고 평가해도 무방할 것입니다.

요즘은 이로부터 한발 더 나아가서 신뢰 기반의 커먼즈(trusted commons) 개념이 등장하였습니다. 이는 전통적 커먼즈 모델에 신뢰, 안전성 및 책임의 요소를 더한 것입니다. 경제적 활용 가치가 매우 높지만 함부로 공개될 경우 정보 주체에게 피해를 줄 수 있는 보건·유전체 정보의 안전하고도 책임 있는 활용을 선도해 나갈 수 있는 것이 바로 신뢰 기반 커먼즈입니다. 미국 NIH의 dbGaP(The database of Genotypes and Phenotypes)이나 유럽의 EGA(European Genome-phenome Archive), 그리고 KOBIC의 인체유래데이터은행이 바로 이러한 신뢰 기반 커먼즈의 사례입니다.

신뢰기반 커먼즈의 핵심 요소를 간단히 설명하자면 다음과 같습니다.

  • 접근 통제(access control): 데이터를 누가 어떤 조건에서 사용할 수 있는지를 명확히 정함
  • 책임성(accountability): 데이터를 사용하는 사람은 그 사용 내역과 목적에 대해 책임을 져야 하며 기록을 남겨야 함
  • 투명성(transparency): 데이터가 어떻게 수집되고 누구에게 공유되며 어떻게 사용되는지 공개해야 함
  • 형평성과 포용성(equity & inclusion): 데이터 기여자나 소외된 집단도 공정하게 혜택을 누릴 수 있어야 하며, 차별 없이 접근할 수 있도록 배려해야 함
  • 상호성(reciprocity): 데이터를 사용하는 사람은 그 결과나 혜택을 다시 커뮤니티에 돌려줘야 함




지난 4월 미국 신생명공학 국가안보위원회(National Security Commission on Emerging Biotechnology)가 발간한 보고서 ‘Charting the Future of Biotechnology’에 따르면, 미국은 생명공학 분야에서 중국의 급부상을 경계하면서 유전체, 인공지능(AI) 및 바이오제조 등에서 자국의 지속적인 우위를 유지하기 위한 새로운 모델인 Web of Biological Data를 구축할 것을 제안하였습니다. 이는 신뢰 기반 커먼즈의 확장판으로서 FAIR + 신뢰 기반 + AI-ready 상태의 국가적 디지털 인프라에 해당하며, 하나의 통합된 창구(single access point)를 제공한다는 점이 핵심입니다. 부연하자면 분절되어 존재하는 데이터 리포지토리에 대한 검색 및 활용을 한 곳에서 제공함으로써 사용자의 편의성을 높일 수 있게 한 것이지만. 신뢰할 수 있는 국가 또는 동맹국 중심의 국제 협력을 유도하기 위한 밑그림일 수도 있습니다.

새 정부가 들어서면서 모두가 국정과제를 수립하기 위한 바쁜 움직임에 들어갔습니다. AI는 이미 우리 주변에 깊숙하게 자리 잡았고, 머지않아 바이오 경제 시대에 진입하게 될 것입니다. KOBIC이 정성스럽게 모은 양질의 바이오 연구 데이터가 안전하게 널리 활용되어 공공의 이익에 기여하고, 아울러 글로벌 바이오 데이터 저장소의 모범이 되기를 기대해 봅니다.


2025년 6월 12일 목요일

ChatGPT를 보다 능률적으로 쓰는 방법 - 중간 단계마다 저장한 파일을 활용하기

ChatGPT에서 하나의 주제로 대화창을 만들어서 몇 달에 걸쳐서 이야기를 풀어 나가는 방법은 시간이 지날수록 효율이 떨어진다. 문답을 주고받으며 발전해 나가는 전체 대화를 기억해 주는 것은 매우 고마운 일이지만, 기억할 정보의 분량이 많아지면서 점점 많은 시간이 소요되기 때문이다. 하루에도 몇 개의 새로운 대화를 만들어 내기 때문에, 과거의 대화에서 내가 원하는 정보를 다시 찾아내는 일도 매우 번거롭다.

그래서 효율화를 위해 하나의 꼼수를 생각해 냈다. 예를 들어 아두이노 나노를 이용한 MIDI 컨트롤러(EZ Ardule MIDI Controller)를 설계하는 대화는 너무 길어져서 새로운 기능을 제안하여 구현 가능성을 평가하고 회로와 코드를 설계하는 데에도 많은 시간이 걸린다. 이에 따라서 지금까지의 결론을 종합하여 문서로 정리하여 보관한 뒤, 다음번 세션에서는 이 파일을 새 창에 로드한 뒤 추가적인 변경 사항을 적용해 나가는 것이다.

어설픈 개념을 실증하는 물건 하나를 만드는 단순한 일이지만 실제로 해 보니 핀 배치나 코드 작성보다 메뉴 및 작동법을 설계하는 것이 더 어렵다. 몇 개 되지 않는 버튼과 인코더를 이용하여 능률적이면서도 직관적인 조작 인터페이스를 만들어야 한다. 그러니 진짜 양산용 신시사이저를 만들 때에는 얼마나 많은 실행 착오가 있었겠는가? 실제 DIY 과정에서는 케이스 가공이 또 발목을 잡을 것이다. CAD 가공을 하기 어려운 재활용품 수준의 알루미늄 섀시에 LCD를 위한 네모진 구멍을 어떻게 뚫는단 말인가? 어쨌든 ChatGPT 덕분에 직접 프로토타입을 만들어 단계별로 실증해 나가면서 진행하지 않고 오로지 컴퓨터와 대화하면서 시행착오를 줄여 나가고 있으니 그것만으로도 참 고마운 일이다. 브레드보드에 부품을 올려서 작동해 보면 미처 생각하지 못했던 문제점이 또 발견될 것이다.

EZ Ardule의 조작 및 디스플레이부 시안. 앞으로도 계속 바뀔 것이다. 몇 개 되지 않는 버튼 스위치와 다이얼로 효율과 일관성을 유지하기가 참 어렵다. 뒤에서 이를 구동하는 코드를 짜는 것은 또 얼마나 어렵겠는가?


중간 과정마다 파일로 저장하여 다시 로드하는 방법이 모든 종류의 대화에 어울리지는 않을 것이며, 단점도 갖고 있다. 각 단계에서 저장된 파일을 잘 관리해야 하고, 중간에 바뀐 것을 나중에 음미하고자 할 때 원본 자료를 찾기가 약간 난해하다. 즉, 매번 파일로 저장한 것이 최선이고 다시 과거로 돌아갈 일이 없다고 가정한다면 가장 좋은 방법이 될 수 있다. 

이런 용도의 중간 저장본은 PDF보다는 Word 파일이 더 낫다. 파일을 다운로드하여 나름대로 생각한 수정사항을 반영하여 편집한 뒤, 다시 업로드하여 후속 작업을 할 수 있기 때문이다. PDF는 수정할 일이 없는 최후 버전을 미려하게 만들 때 유용하다. 단, 글꼴을 별도로 업로드하고 포맷도 상세하게 지정해 줘야 실수를 하지 않는다. 오죽하면 한글 PDF 출력용 텍스트 생성 가이드 템플릿을 별도로 만들었겠는가(관련 글 링크). 글꼴은 나눔고딕(NanumGothic.ttf, NanumGothicBold.ttf)을 추천한다. ChatGPT는 용지 밖으로 글이 길게 튀어나가도록 자꾸 실수를 하기 때문에 제발 이러지 말라고 명시적으로 지시해 줘야 한다.

이 텍스트를 A4 크기의 한글 PDF로 출력 가능한 형태로 정리해 줘.

- 줄바꿈이 잘 되도록 문단을 정돈해 줘.
- 여백은 좌우 20mm, 위아래 20mm로 맞춰 줘.
- 줄간격은 약 1.4배로 해 줘.
- 본문 글꼴은 '나눔고딕(NanumGothic)'을, 제목에는 '나눔고딕 Bold'를 사용해 줘.
- 글꼴 파일은 내가 업로드할 테니 그걸 적용해 줘.
- 용지 밖으로 문장이 튀어나가지 않게 해 줘.
- 단락마다 적당한 줄 간격(공백)도 넣어 줘.

최종적으로는 PDF 파일로 만들어 줘.

어떤 주제에 대해서 보고서를 자동 생성하게 하면 검증이 필요함을 몇 번의 경험을 통해 알게 되었다. 예를 들어 존재하지도 않는 「바이오경제의 육성 및 지원에 관한 법률」(바이오혁신법)이 2024년부터 시행된다고 하는 것 말이다. 농림축산식품부에서 만든 「그린바이오산업 육성에 관한 법률」이라는 것은 그 존재를 확인하였다. 모든 분야를 통틀어서 '바이오산업'이란 용어가 들어간 법령은 이게 유일한 것 같다. 상당히 발빠른 행보가 아닐 수 없다. 

ChatGPT가 만든 결과물을 전부 믿을 수는 없지만, 문서 파일을 입수하여 업로드한 뒤 그 범위 안에서만 번역·요약하고 시사점을 도출하게 지시하면 꽤나 만족스런 결과물이 나온다. 이건 인간 지능의 몫인데... 시간은 부족하고 검토할 자료는 많으니 기계의 힘을 빌릴 수밖에. 씁쓸하다.

2025년 6월 11일 수요일

'K-휴지'는 물에 녹지 않는다?

'선풍기를 켠 채로 자면 죽는다'는 속설이 한국에서만 유행했던 적이 있다. 이런 미신을 비꼬는 듯한 영문 웹사이트 'FanDeath'라는 것이 있었다. 그 웹사이트를 방문하였던 기억은 지금도 선명하다. 최상위 도메인이 com인지 org인지는 모르겠다. 

특히 그 사망의 원인으로서 '질식'이 늘 꼽혔는데, 선풍기 바람에 호흡 장애가 일어나거나 질식한다는 것은 상식적으로도 이해가 되지 않는다. 나는 선풍기의 작동 소음이 싫고, 특히 잠을 잘 때에는 몸에 차갑게 바람이 닿는 것을 싫어한다. 그래서 타이머가 꺼지고 나서야 비로소 잠이 들 때가 많다.

어제 세종시에 있는 어떤 회의장에 갔다가 화장실에서 재미있는 안내문을 보았다. 본 화장실에 비치된 휴지는 물에 풀어지지 않기 때문에 변기에 넣지 말고 반드시 옆에 놓인 휴지통에 넣으라는 것이다.

국내에서 팔리는 화장실용 휴지는 국가기술표준원에서 정한 규격과 KS 인증을 통과해야만 한다. 그런데 그 화장실은 그 규격을 통과하지 못하는 훨씬 질긴 것을 구입하여 비치한단 말인가? 왜? 사용 중에 찢어질 것을 우려하여? 잘 이해가 가지 않는다.주변에서 흔히 보는 두루마리 하나를 그대로 변기에 넣지 않는 이상 상식적인 사용량 수준에서는 막히는 일이 벌어지지 않는다.  대나무 펄프로 만든 휴지는 질긴 편이라고 하는데, 그렇다고 하여 변기를 막을 수준은 아닐 것이다. 

물론 세상은 상식적인 사람만으로 채워지지는 않는다. 미국 여행 중 패스트푸드점의 소변기에서 볼일을 보고 허리 높이의 레버를 발로 차듯이 밀어서 물을 내리는 사람을 본 일이 있었으니까 말이다. 심지어 좌변기의 레버를 손으로 누르냐 발로 누르냐에 대한 논쟁이 벌어진 일도 있었다.

"공중 화장실 변기 레버는 바닥에 설치돼있지 않는 이상 손으로 누르는 것이 맞다"(링크)

페이셜 티슈('크리넥스')나 냅킨 종류는 질긴 편이라서 화장실에서 쓰기에는 적합하지 않으니 예외로 하자.

공중 장소의 화장실에서 흔히 보는 또 다른 안내문 중에는 이런 것이 있다. 수압이 약하여 자주 막히니 사용한 휴지는 별도의 휴지통에 넣어 달라는 것. 표준 양변기의 물탱크 용량은 6~10리터라고 한다. 채워진 물의 부피를 줄이기 위해 일부러 벽돌을 몇 장 넣지 않고서는 수압이 약할 수가 없다. 결국 화장실용 휴지를 변기에 넣으면 막힌다는 것은 선풍기를 켜고 자면 죽는다는 'K-미신'과 다를 바가 없다.

변기가 막히는 가장 큰 원인은 변기에 넣어서는 안 되는 물건을 넣기 때문이다. 대표적인 것이 물티슈이다. 용케 변기를 막지 않고 흘러 나간다 하더라도 하수처리장까지 가서 모이면 문제를 일으킨다. 

사용한 화장실용 휴지가 갈 곳은 변기밖에 없다. '변기에 넣지 말고 제발 휴지통에 넣어 주세요'라는 경고물을 제발 더 이상 보지 않았으면 좋겠다.

2025년 6월 10일 화요일

수운교 도솔천(水雲敎兜率天)에 가다

수운교란 1923년 세워진 동학 계열의 신종교이다. '수운'이란 동학을 창시한 최제우(1824~1864)의 호이다. 동학에서 발전하여 생겨난 천도교와 수운교는 같지 않다. 다들 아다시피 동학이란 서학(천주교)에 대항하여 생긴 종교이다. 수운교에 대한 정보는 공식 웹사이트 또는 한국민족문화대백과사전을 참고하라. 이 계열의 종교에서 최제우는 '하늘님'을 대신하는 천사(혹은 예수나 무함마드?)와 같은 존재인 것 같다. 그리고 하늘님을 일컫는 말은 정말 여러 종류가 있다.

하늘님/하느님/하날님/하나님/한을님/한우님/한울님 - 작성자: 탁암 

대전 유성구의 자운대라는 동네는 1990년대부터 군사 학교와 시설이 모인 곳이다. 흔히들 신성동이라는 행정동 이름으로 한꺼번에 부르지만, 자운대가 자리잡고 있는 곳은 법정동인 자운동과 추목동 등지이다. 자운대 지역으로 들어갈 때 거쳐가야 했던 검문소는 이제 없어졌다. 이곳을 찾은 일요일 오전, 군사 학교 등이 좌우로 펼쳐진 너른 길에서 달리기를 하는 사람 두어 명을 보았다. 사거리에서 2km 넘게 직진하여 들어간 뒤 좌회전하여 공동주택단지 사이로 접어들면 수운교 도솔천으로 가는 입구가 나타난다.

도솔천을 마지막으로 찾았던 것이 아마 십오륙년 전일 것이다. 숲길을 들어서니 평온하고 시원한 공기가 우리를 감싼다.

도솔천이란 불교의 천계 중 욕계에 속하는 네 번째 하늘이며, 미륵보살이 머무는 것이다.

수운교 도솔천은 1929년에 지어진 건물로서 대전광역시 유형문화유산이다. 절로 치자면 대웅보전과 같은 곳이다. 지붕 위에 잡상을 올린 것은 마치 조선시대 궁궐을 보는 것만 같다. 수운교의 창시자 이상룡이 설계하고, 조선 말기 경복궁을 중건한 최원식이 지었다고 한다.



바닥에 돌을 박아 교기(敎旗)인 궁을기(弓乙旗)를 새겼다. 수운교 공식 웹사이트에 의하면 "궁은 선(仙)이요, 을은 불(佛)이니 선불합덕이다. 하늘과 땅이 열리고 닫히는 조화의 문이며, 음양이 출입하는 길이요, 만물이 생성하는 기틀이다."라고 하였다. 중앙에 점을 찍으면 천도교의 궁을기와 같은 모양이 된다.



도솔천은 하늘님을 모신 천단이다. 마침 옆문이 열려 있어서 여기까지 접근할 수 있었다.

돌로 두드리면 쇠소리가 난다는 석종. 도솔천 서쪽에 있다.

수운교의 세계관을 그린 삼천대천세계도는 올해 국가등록문화유산이 되었다(기사 링크).

도시락을 싸 들고 가서 울창한 나무 그늘 사이에서 한가롭게 거닐고 싶은 곳이다. 비록 동학의 기본 정신을 받아들이지는 않더라도. 실은 요즈음 이중표의 <윤회와 해탈>을 읽고 있는 중이다. 나 자신은 현재 종교를 갖고 있지 않은 상태가 되었지만, 어떤 종교든지 그 탄생 배경을 이해하고 약간은 깊이 있게 공부하고 싶은 욕심이 있다. 



2025년 6월 6일 금요일

KORG X2의 2025년도 수리를 마무리하였다 - 헤드폰 앰프용 op amp 및 12V 전원 보드 교체

헤드폰 앰프 칩(M5261L)을 교체하고, +/-12V 전원 공급 보드를 약간 더 고급 제품으로 교체하는 것으로 올해의 수리를 마무리하기로 하였다. Hiss-like 잡음을 완벽하게 잡는 데에는 실패했지만, 볼륨을 최대로 했을 때 헤드폰에서만 들리는 잡음에 너무 집착하지는 않는 것이 나으리라. 이것 말고도 올해 마무리해야 할 MIDI/audio 관련 DIY는 몇 가지가 더 있다.

팝업 노이즈는 +5V와 +/-12V 전원 공급 보드를 서로 다른 것을 사용하면서 조화를 이루지 못하는 데에 기인하는 것으로 여기고, 파워 스위치를 작동시킬 때 볼륨 슬라이더를 최대로 내리는 것으로 대충 모면하기로 했다. 5V가 공급되고 나서 커넥터를 끼워 넣으면서 12V가 들어오도록 해 봤는데(0.x초였을 것이라고 자신함) 여전히 팝업 노이즈가 발생했기 때문이다. 따라서 지연 릴레이 모듈은 일단 부품통 속으로 들어갔다.

12V 전원 공급 보드를 바꾸기 전에 메인보드에서 DAC 및 IVC에 공급되는 5V를 오실로스코프로 아래 그림의 빨간 지점에서 측정해 보았을 때 아주 깨끗하였다. 따라서 LT3042 초저잡음 LDO를 이용한 레귤레이터 보드도 부품통 속으로 보냈다.



이대로 마무리하기가 아쉬워서 M5261L op amp를 교체하였다. 혹시 가짜 칩이 아닐까 걱정을 했는데 소리가 잘 난다. 하지만 hiss 잡음은 별다른 변화가 없다.

M5216L('a high-output and high speed operational amplifier for use in high-performance headphone amplifiers and mizer amplifiers found in cassette decks'). 위의 것이 아날로그 보드에 원래 꽂혀 있던 것이다.

새 칩이 자리를 잡은 후.


다음으로 LM317/LM337을 사용한 +/-12V 전원 보드를 장착하였다. 기존의 것을 들어내고 나니 자리가 부족하여 옆의 빈 공간을 활용하였다.


아, 이 무슨 난해한 배치인가.


개조를 마친 뒤 Audacity에서 무음 상태로 녹음을 한 뒤 50dB 증폭을 하여 재생해 보았다. '쉬-잇' 말고는 험이 들리지 않는다. 마지막으로 WaveSpectra에서도 측정을 해 보았다. 60Hz/120Hz 근방에 별다른 피크가 보이지 않는다.


앞으로 잡음은 잠시 잊어 버리고 '음악 공부'를 더 하는 것이 나을 것이다. 혹시 모르니 내년쯤 아날로그 보드의 모든 전해 커패시터를 교체해 보리라.

노이즈의 특성을 이해하지 못한 해프닝이었을까? 3월부터 끌어온 이 프로젝트가 나에게 무엇을 남겼는지 곰곰이 생각해 보았다. 전동 드라이버와 오실로스코프 등 DIYer에게 필수라고 할 수 있는 공구와 계측기를 갖게 되었고, PCB에서 부품을 떼는 요령도 많이 늘었다. SMD 부품을 떼고 붙이는 데까지 함부로 흥미를 갖지 않게 된 것은 다행스러운 일이다.

Tactile switch는 어차피 고쳐야 할 것이었고, 결과적으로 강압 트랜스포머 없이 220V에 직결하여 쓸 수 있게 개조한 것도 의미 있는 일이었다. 2025년이라는 시대에 '빈티지 신스'인 X2를 이용하여 라이브 연주나 녹음을 하겠다는 의지가 생겼다는 점이 무엇보다 중요하다.