2017년 12월 13일 수요일

비트코인

비트 코인의 원리가 궁금해서 검색해보니 bitcoin.org에 한글로도 설명이 되어있고 창시자가 쓴 논문도 올라와있다. 좀 더 검색해보니 논문을 한글로 옮긴 것도 찾을 수 있었다. 칸 아카데미의 비트코인 강좌를 틀어놓고 곧 딴짓을 하다 꺼버렸다.

아마존에서 물건을 살까 하고 체크카드-외화통장-원화통장이 연결된 계좌에 한국돈 30만원을 집어넣고 외화통장의 잔고를 보니 잔고가 5천원 정도 줄어있다. 그렇지, 환전수수료를 제하고 받은 달러의 원화 가치를 따지니 그렇게 된 것이다.

환전수수료에 대해 검색하다, 항공마일리지를 어떻게 잘 모아서 잘 쓸 것인지를 주제로 하는 웹사이트를 발견하고 훑어보았다.

화폐의 역사에 대해서는 익히 들어서 아는 바이지만, 새삼스러운 의문이 들었다. 동전이나 지폐, 수표, 주식 같은 것들을 사람들이 선뜻 받아들이기가 쉽지 않았을 것 같다. 그런가하면 신용카드나 싸이월드의 도토리, 리니지 같은 게임 아이템의 현금 거래를 떠올려보면, 가상화폐의 미래를 비관할 수만은 없을 것 같기도 하다.

주식거래의 메커니즘을 완벽하게 이해하지 못해도 직접/간접 투자를 할 수 있듯, 가상화폐에 대해 잘 몰라도 투자를 하는 데에는 크게 문제가 없을 지도 모른다.

세상은 예나 지금이나 별다를 것이 없는 듯하면서도 자세히 들여다보면 너무나 빨리 변한다. 카페인 때문인지, 낮잠 때문인지, 미래에 대한 막연한 두려움 때문인지 몰라도, 어젠 잠이 잘 오지 않았다.

2017년 11월 29일 수요일

솔로샷3 구입

선주문한지 거의 2년만에 솔로샷3(Soloshot3)를 받았다. 솔로샷3는 동영상 촬영시 피사체를 추적함으로써 무인 자동 촬영을 가능하게 해주는 장비이다. 내가 구입한 것은 옵틱25(Optic25) 카메라가 포함된 세트이다.


사진의 왼쪽에 보이는 것이 본체(Base), 가운데가 태그(Tag), 오른쪽이 옵틱25 카메라이다.


솔로샷은 태그를 추적한다. 태그도 충전을 해야하며, 본체가 태그의 충전기 역할을 겸한다.


USB 전원을 연결하면 본체와 태그의 충전이 시작된다.


터치스크린 위쪽의 버튼을 눌러서 켜고, 와이파이를 잡는다.


업데이트 확인 중




안드로이드 OS를 사용함을 알 수 있다.


업데이트가 오래 걸린다.

업데이트를 기다리는 동안, 아이폰 앱스토어에서 솔로샷 앱을 설치하고 계정을 만들어둔다.

본체와 태그를 솔로샷 계정에 등록하고, 마이크로 SD 카드를 포맷하고 태그와 카메라를 업데이트하는 과정이 남아있다.


2017년 10월 13일 금요일

Windows 10에 Python 2.7 설치 시 DLL 오류 해결 방법

윈도우 10에 파이썬 2.7을 설치할 때, 설치에 필요한 DLL 파일을 실행할 수 없다는 메시지가 뜨며 실패하는 경우의 해결 방법을 설명한다.




윈도우 탐색기의 메뉴에서 보기 --> 옵션을 선택하고 <폴더 옵션> 창의 <보기> 탭에서 <숨김 파일, 폴더 및 드라이브 표시> 항목을 체크하고 <확인> 버튼을 클릭한다.



탐색기에서 사용자의 홈 폴더 아래의 AppData\Local로 이동하고, Temp 폴더를 오른쪽 클릭하여 <속성>을 선택하면 <Temp 속성> 창이 뜬다. <보안> 탭으로 이동한다.


<편집> 버튼을 클릭하고, Everyone에 대하여 <모든 권한>의 <허용>에 체크한다. <보안 적용 오류> 메시지가 뜨면 <취소> 버튼을 클릭한다.


이제 파이썬 인스톨러를 다시 실행한다.

참고

2017년 9월 30일 토요일

라즈베리 파이 번역서 예제 테스트

라즈베리 파이 번역서의 교정이 진행 중이고, 나는 예제 코드 중에 아직 테스트를 하지 못했거나 실패했던 것들을 들여다보고 있다. 그 중에는 모듈이 없어서 테스트를 못한 것이 있어, 간단히 쇼핑을 했다. (지난 겨울의 쇼핑리스트)

쇼핑 리스트

가치창조기술



테스트

스테핑 모터(코드 10.2, 10.3)

지난번에 테스트했을 땐 EasyDriver에 모터 전원 공급하는 걸 빼먹었던 듯하다. 라즈베리 파이의 GPIO 5V 핀을 사용했더니 잘 된다.



8자리수 7 세그먼트 디스플레이 - MAX7219(코드 10.7)

알리에 주문한 것을 못 받아서 이번에 다시 샀다. 예제가 돌아가기는 하지만, 밝기 조절할 때 숫자가 제멋대로 바뀌어버리고, 100000회 카운트 결과가 100260으로 찍히는 문제가 있다. 전에 원고 검토해주신 분들과 상의해봤지만 정확한 원인은 모르겠고, 모듈의 하드웨어 버그로 짐작할 만한 특징이 보인다.


2017년 8월 30일 수요일

CRT 모니터

버려진 CRT 모니터(LGX17FS)를 주워왔다. 확인해보니 잘 작동한다.


책상에 올려두고, 넷북(S10-2)에 연결해서 사용하기로 했다. 화면 해상도는 1152 x 864가 적당하다.


화면비 4:3인 옛날 영상물을 틀어두니 잘 어울린다.



화면이 들어오지 않을 때 삐익소리가 나서 거슬리는데, 전원을 완전히 차단해야 소리가 나지 않는다. 그래서, 이 모니터와 넷북 전용으로 멀티탭을 하나 구입했다.

윈도우 미디어 플레이어는 자막을 표시할 때 영상의 크기가 줄어드는 문제가 있어서, 동영상 재생 프로그램을 추가로 설치하기로 했다. 몇 가지를 다운로드해서 테스트해보니 KMPlayer의 꽤 오래된 버전(2.9.3 1214)이 가볍게 잘 돌아간다.

2017년 8월 11일 금요일

Python에서 Switch Case

Python 언어에는 switch case 구문이 없다. 그와 관련한 질문이 올라온 것을 보고 궁금증이 생겨서 찾아보았다.

Proposal


집어 넣으려는 시도가 없지는 않았으나, 필요하지 않다고 생각하는 사람이 많은 모양이다.

DSL


꼭 필요하다면 Domain Specific Language를 만들 수도 있지 않을까하는 생각이 들긴 했지만, 너무 멀리 나가는 것 같다.


Package


혹시나 해서 찾아보니, 역시나 패키지가 있다.
간단히 테스트해보았다.

% pip3 install switch
% python3
>>> from switch import Switch
>>> x = 1
>>> with Switch(x) as case:
...     if case(1):
...         print('일')
...     if case(2):
...         print('이')
... 
일

2017년 7월 30일 일요일

수학 스터디 결과 보고

우분투 한국 커뮤니티의 정기 세미나에 처음으로 참석해서, 지난 수학 스터디에 대한 결과 보고를 했다.

슬라이드
https://www.slideshare.net/sk8erchoi/ss-78364156

영상

2017년 7월 27일 목요일

Hortonworks 실습

Hortonworks Sandbox(HDP)


번역 중인 데이터 과학 책에 호튼웍스 샌드박스가 소개되어 있다. 원서에서 사용한 것은 2.1과 2.3.2 버전인데, 지금은 HDP 2.6이 나와있다.
버추얼박스용 이미지를 받아서 돌려보니 호스트 시스템이 먹통이 된다. 호스트 시스템인 X230 노트북은 CPU가 2 코어이고, 구입할 때 메모리를 8GB로 업그레이드해서 지금까지 사용하던 것이다. 게스트 시스템에 할당된 메모리를 8GB에서 4GB로 줄이고, CPU도 50%만 사용하도록 설정을 변경했다. 그렇게 해서 Ambari와 Hive가 돌아가는 것은 확인했다. 그렇지만 pySpark에서 pandas를 사용하여 CSV 파일을 읽다보니 아무래도 시스템이 힘들어하는 것 같이 보였다.
뒤늦게 가이드를 찾아보니, HDP에서 각종 서비스를 구동하려면 가상 머신에 최소 8GB의 메모리를 할당해야 하므로, 호스트 시스템은 10GB이상이 필요하다고 한다.

X230 RAM 업그레이드


8GB 램(타무즈 DDR3 8G PC3-12800 CL11 1.35V)을 하나 사서 4GB와 바꾸어 달았다. 그래서 총 12GB의 메모리를 갖춘 시스템이 되었다.

2017년 6월 30일 금요일

정규화

기계 학습 쪽에서 'regularization'이라는 용어가 나와서 고민을 좀 했다. 이 단어는 '정규화' 또는 '일반화'라고 소개되어 있다.

'정규화'라고 하면 데이터베이스의 'normalization'이 떠오른다. 한편, '일반화'라고 하면 'generalization'이 떠오른다.

일단 '정규화'라고 해두었지만, 썩 맘에 들지 않는다.

2017년 6월 27일 화요일

필립스 FC6161 청소기 충전 독 자가수리

필립스 FC6161 청소기를 6년 정도 사용한 것 같다. 재작년에는 용산에 있는 배터리 전문 사설 수리점에 맡겨서 배터리를 교체하기도 했다.

이번에 충전이 되지 않는 문제가 생겨서, 혹시나 하고 충전 독을 분해해서 테스터를 가지고 전압을 측정해보았더니, 전원 어댑터가 고장난 것으로 보였다. 어댑터에 표시된 모델명을 가지고 알리익스프레스에서 검색을 해보니 7불 정도에 판매를 하고 있기에 주문을 했다(링크). 어댑터를 전기면도기와 공용으로 사용하는 것 같다.

3주만에 어댑터가 도착했다. 전기 인두를 이용해서, 충전회로에 납땜되어 있던 기존의 전선을 떼어내고, 새 어댑터를 연결했다. 충전 독을 다시 조립해서 테스트해보니 아주 잘 작동한다. 성공!

2017년 6월 10일 토요일

blanking

Raspberry Pi 문서에 나온 'blanking'이라는 단어의 뜻이 궁금해서 찾아보고 나름대로 정의를 내려보았다.

  1. 화면의 종횡비 차이로 인해 화면 좌우측 또는 상하측에 검게 표시되는 부분. '블랭킹 감소(reduced blanking)'이라고 할 때, 이 뜻으로 사용된 것이다.
  2. 화면 꺼짐: 전원 절약 등의 목적으로 화면이 꺼지는 것, 또는 채널이 바뀔 때 화면이 잠시 꺼지는 것.
  3. 귀선소거: 브라운관에서 retrace(한 라인의 주사가 끝난 뒤에 다음 라인의 첫 부분으로 이동)하는 동안 눈에 보이지 않도록 전압 레벨을 낮추는 것

다른 분야로 넘어가면 또 다른 뜻으로 쓰이는 모양이다.

참고

2017년 5월 23일 화요일

수학 스터디 1주차 과제 풀이

문제

(지학사 수학 II, 1-1 집합, p.35 실력 4번)

오른쪽 표는 혜진이네 반 학생 30명을 대상으로 놀이 공원에서 바이킹과 범퍼카를 탄 학생수를 조사하여 나타낸 것이다. 바이킹과 범퍼카 중에서 어느 것도 타지 않은 학생이 3명일 때, 바이킹만 탄 학생은 몇 명인지 구하여라.

놀이 기구 학생 수
바이킹 22명
범퍼카 16명

풀이

(J 언어)

   u =: 30                NB. 혜진이네 반 학생 수
   a =: 22                NB. 바이킹을 탄 학생 수
   b =: 16                NB. 범퍼카를 탄 학생 수
   c =: 3                 NB. 어느 것도 타지 않은 학생 수
   (a_u_b =: u - c) - b   NB. 바이킹만 탄 학생 수
11

J 언어

수학 스터디에서 내가 사용할 언어로 J를 마음에 두고, 조사를 좀 해보았다.

  • Ken Iverson 박사가 1964년에 APL 언어의 뒤를 잇는 J와 K 언어를 개발했다. 수학자에 의한, 수학자를 위한 언어라 할 수 있다.
  • J는 오픈 소스, K는 한 카피에 백만 달러
  • 2016년에도 J/apl/K를 주제로 하는 밋업이 있었다.

한국 상황


읽을 거리

2017년 5월 18일 목요일

데이터 과학 개론서 번역, 수학 스터디, J 언어, USB-C 어댑터

번역


데이터 과학 개론서를 번역하고 있다. 데이터 과학을 전반적으로 소개하면서 Python, Elasticsearch, Neo4j 등을 사용하는 실습 예제도 제공하는 책이다.

라즈베리 파이 책을 번역했을 땐 전자공학 지식이 부족해서 검색도 많이 하고 책을 사서 보기도 했는데, 이번에는 통계와 데이터 마이닝, 언어학 분야에 생소한 용어가 많아서 검색을 많이 하고 있다(통계학 책도 한 권 샀다). 그나마, 몇 해 전에 edx.org에서 통계와 AI 과목을 듣기도 하고, 몇몇 스터디와 콘퍼런스에서 Big Data와 Deep Learning에 대해 주워들은 것들이 도움이 된다. 대학교에서 데이터마이닝 수업도 들었던 것 같은데, 그건 전혀 기억에 남아있지 않다.

이번 번역에는 OmegaT를 다시 사용하고 있고, 텍스트 파일로 최대한 번역을 한 뒤에, Word에 붙여넣으면서 교정과 예제 테스트를 할 생각이다.

수학 스터디


새로운 스터디가 시작됐다. 고등학생에게 수학을 배우고, 수학 문제를 컴퓨터 언어로 푸는 숙제를 하는 것이다.

J 언어


어떤 언어를 사용할까 생각하다가, 여러 언어로 보는 구구단 프로그램이라는 흥미로운 글을 발견했다. J 언어를 써볼까 한다.

Apple USB-C Digital AV 멀티포트 어댑터


지금까지는 스터디에 참석할 때 모니터 연결을 위해 Lenovo X230을 들고 다녔다. 요즘 번역 작업에 X230을 주로 사용하고 있기도 하고, 맥북의 휴대성이 더 좋기도 해서 USB-C Digital AV 멀티포트 어댑터를 구입했다.


2017년 3월 8일 수요일

레노버 넷북 자가수리

지난해 봄에 중고로 산 Lenovo S10-2 넷북에는 두 가지 하자가 있었다. 키보드가 작동하지 않고, USB 포트 세 개 중에 두 개가 망가져서 작동하지 않았다. 키보드는 일찌감치 부품을 사다가 수리했다.

USB 포트는 왼쪽에 하나, 오른쪽에 두 개가 있는데, 오른쪽 것들이 문제였다. USB 포트와 Wi-Fi on/off 스위치만을 위한 별도의 기판으로 이루어져 있으므로 그것만 사서 바꿔 달면 되지만, 그렇게 하면 멀쩡한 물건을 샀을 때보다 총비용이 더 많이 든다는 것이 문제였다.

얼마 전에는 전기인두를 사용해 USB 단자만 떼서 바꿔 달아볼까 했지만, 꿈쩍도 하지 않아서 실패했다.

돈이 들더라도 고쳐야겠다는 생각이 들어, 결국 알리에서 부품을 구매해서 교체했다.


2017년 3월 3일 금요일

레트로 파이, 3.5mm-컴포지트 케이블 개조

번역


라즈베리 파이 책을 번역한 원고를 출판사에 보냈다.

레트로파이


시간 날 때 게임을 좀 해볼까하고, 레트로파이를 설치하고 게임 롬을 몇 개 넣어두었다. 알리 익스프레스에 주문해둔 게임패드가 도착하기를 기다리고 있다.



3.5mm 4극-컴포지트 변환 케이블 개조


3.5mm 4극-컴포지트 변환 케이블을 개조했다. 라즈베리 파이 2 또는 3을 브라운관 TV에 연결하는 데에 쓰기 위해서이다. 라즈베리 파이 1에는 HDMI 단자 외에 비디오 출력용 컴포지트 단자가 있지만(이어폰 단자는 음성 출력용), 라즈베리 파이 2 또는 3에는 컴포지트 단자 대신 3.5mm 4극 이어폰 단자를 통해 음성과 영상을 함께 출력하게 되어있다. 그런데, 가지고 있던 변환 케이블은 극성의 배열이 맞지 않아서 쓸 수가 없었다. 변환 케이블을 새로 구매하려고 봐둔 것이 있기는 했지만, 멀티미터와 전기인두를 갖고 있으니 써먹어야겠다는 생각이 들었다. TV의 음성 입력이 하나뿐이기 때문에 컴포지트 단자 중에서 흰색과 노란색만 연결하고, 빨간색은 빼고 만들었다.






참고





2017년 2월 16일 목요일

책상

두어달 전부터는 이웃집에서 내다버린 좌식 테이블을 주워서 책상 위에 얹어 쓰고 있다. 그 전에는 접이식 테이블의 다리가 책상 모서리에 불안하게 걸쳐있었지만, 이제는 안정감이 있다. 높이가 약간 높아져서, 모니터에 연결해서 쓰는 주작업용 노트북(X230)은 접어서 상 밑에 넣고 모니터는 상 위에 바로 올렸다. 키보드는 손목 아래 브라켓을 뗐다.
책꽂이에 억지로 끼워넣어서 쓰던 삼파장 스탠드를 벽에 걸었더니, 금이 가있던 목이 얼마 못 가 부러져버렸다. 요즘 몇 만원이면 스마트 LED 스탠드를 살 수 있지만, 멀쩡한(?) 물건을 버리기 싫어 글루건을 구입해서 수리했다.

2017년 2월 2일 목요일

DSO138 오실로스코프 키트

오실로스코프 DIY 키트(DSO138)를 조립했다. 칩들이 표면실장된 반조립 상태라 스루홀 납땜만 하면 되어, 지난번의 시계에 비해 오히려 만들기 쉬웠다. 다만, 저항의 색띠를 보고 분류하는 데에 시간이 좀 걸렸다. 맨눈으로 보기가 부담스러워, 휴대폰 카메라를 줌인해서 돋보기로 삼았다.

전원으로 9 V 어댑터를 사용하도록 되어있지만, 키트에 포함되어 있지 않다. 급한대로 건전지를 사서 썼더니, 처음에는 잘 동작하는 것 같다가 나중에는 화면이 하얗게 되며 동작 불능이 되었다.

1채널만 되는 간단한 제품이고, 측정 결과가 얼마나 정확한지도 잘 모르겠다. 가볍게 놀이하는 마음으로 쓰는 것이 좋을 것 같다. 같은 등급의 신제품인 DSO150을 포함하여 다양한 제품이 있으니 비교해보고 구입하는 것이 좋겠다.


저항 색띠

  • 100 kΩ = 1갈 0검 0검 * 1kΩ주 - 3ea
  • 1.8 MΩ = 1갈 8회 0검 * 10kΩ노
  • 200 kΩ = 2빨 0검 0검 * 1kΩ주
  • 2 MΩ = 2빨 0검 0검 * 10kΩ노
  • 20 kΩ = 2빨 0검 0검 * 100Ω빨
  • 300 Ω = 3주 0검 0검 * 1Ω검
  • 180 Ω = 1갈 8회 0검 * 1Ω검 - 2 ea
  • 120 Ω = 1갈 2빨 0검 * 1Ω검 - 3ea
  • 1 kΩ = 1갈 0검 0검 * 10Ω갈 - 3ea
  • 3 kΩ = 3주 0검 0검 * 10Ω갈
  • 150 Ω = 1갈 5녹 0검 * 1Ω검
  • 1.5 kΩ = 1갈 5녹 0검 * 10Ω갈
  • 470 Ω = 4노 7보 0검 * 1Ω검 - 2ea
  • 10 kΩ = 1갈 0검 0검 * 100Ω빨 - 2 ea


커패시터 번호
  • 330 pF: 331
  • 3 pF: 3
  • 1 pF: 1
  • 0.1 μF = 100,000 pF: 104
  • 120 pF: 121
  • 22 pF: 22

2017년 1월 27일 금요일

LED 시계 키트

전자 부품들과 함께 구입해둔 LED 시계 키트를 조립했다. 전자 회로에 대한 흥미가 생겨서 한번 도전해본 것이기도 하고, 오실로스코프 키트를 조립하기 전에 몸풀기(?) 용도로 선택한 것이기도 하다.


부품이 많은 줄 알고는 있었지만, 막상 받아보면 엄두가 나지 않는다. 설명서는 들어있지 않고, 판매자가 올려둔 파일을 다운로드해서 봐야 한다. 부품 목록과 실제 받은 것을 대조하니, 수량이 많은 LED와 칩 저항, 커패시터는 여분이 있고, 코인 배터리가 누락된 것 외에는 빠짐없이 들어있었다.


표면실장은 처음이라, 남땝하는 영상을 찾아서 보고 시작했다. 몇번 하다보니 익숙해졌는데, 조립을 마치고 테스트해보니 LED의 1/3 정도가 불이 들어오지 않았다. 멀티미터도 없고, 있더라도 쓸 줄을 모르니 난감했다. 회로도를 보니 여러 개의 LED가 한 갈래에 묶여있는 형태인 것을 알 수 있었고, 트랜지스터의 납땜이 올바르지 않은 것이 문제의 원인일 것으로 짐작했다.


트랜지스터의 다리 세 개 중에 두 개만 붙어있으므로 열을 가해서 어렵지 않게 떼어낼 수 있었고, 다시 자리를 잘 잡아서 붙였다. 그렇게 두 개의 트랜지스터를 다시 붙이고 전원을 넣으니 LED가 모두 켜졌다.


케이스를 씌워서 마무리. 조립을 마치니 아침이 되었다.

침실에 갖다놓고 한숨 자고 일어나니 온도가 28도로 표시되는데, 체감 온도보다는 많이 높다. 난방이 되는 바닥에 가까이 두어서(온도계의 위치가 바닥에서 약 40cm) 영향을 받은 것 같다.

2017년 1월 26일 목요일

GPS 모듈 테스트

AliExpress에서 구입한 GPS 모듈(NEO-6M)을 라즈베리 파이에 연결하여 테스트해보았다.
상품 설명은 새것이라고 되어있지만, 물건을 받아보니 스티커와 안테나가 깨끗하지 않아 중고품 같은 느낌이 들었다. 접점은 깨끗하고, 핀이 붙어있지 않다.


우선, 동봉된 핀을 납땜해서 붙였다. 전기 인두를 쓰는 김에, 다른 부품들도 핀을 붙였다.


테스트를 해보니 실내에서는 신호가 잘 잡히지 않는다. 휴대폰 충전하는 외장 배터리에 연결해서 베란다에서 다시 테스트했다.


$ sudo apt install gpsd-clients
$ sudo systemctl stop serial-getty@ttyAMA0    # RPi 3에서 필요
$ sudo gpsmon /dev/ttyAMA0



참고