허니와 클로버

몇년만에 다 읽은건지 모르겠지만. 아무튼 허니와 클로버를 다 읽었다.

이정도라면 두고두고 다시 읽어볼만한 명작에 끼워야 할 것 같다.

랩뷰쓰다 화나는 점 정리

NI에 건의해봐야 택도 없을 거고. 데스노트에 적어둘 것도 아니고. 그러니 블로그에 적어둔다. 계속 추가될 듯.

1. 100% 마우스 사용.

2. 자료형 변환.

3. 화면이 커야 한다.

4. 그 결과, 매우 복잡해졌다.



if roifrom-roito < 0 then break 라는 조건문과





SET_ROI “+str(


roifrom/calibration)+”,”+str(


(


roifrom-roito)


/calibration) 이라는 문장을 만들기 위해 이 아이콘들을 다 갖다 배열하고 선을 이어야 한다. 알아보기도 어렵고, 처음에 배치하는 것 부터 문제가 시작된다.




5. 프로퍼티 노드를 복사해서 붙여넣기 하면 레퍼런스를 잊어먹는다. 망할.


6. 그래서 질질 끌고 가야 하는 애로사항이 있다.


7. 디버깅할 때 브레이크 포인트 주면 브레이크 포인트로 무조건 이동한다. 토글이 필요하다.


랩뷰는 어렵지 않다. 하다보면 짜증날 뿐이다.

Englishman In New York

“Englishman In New York” – Sting

I don’t drink coffee I take tea my dear 난 커피 말고 차를 마시지

I like my toast done on one side 토스트는 한쪽만 발라먹고

And you can hear it in my accent when I talk 내말을 들어보면 사투리가 들릴거야

I’m an Englishman in New York 난 뉴욕에 있는 영국인이거든

See me walking down Fifth Avenue 내가 5번가를 걸어갈때

A walking cane here at my side 지팡이 들고 가잖아

I take it everywhere I walk 어디든 지팡이를 들고 가지

I’m an Englishman in New York 난 뉴욕에 있는 영국인이거든

I’m an alien I’m a legal alien 난 외국인, 합법적인 외국인이지

I’m an Englishman in New York

I’m an alien I’m a legal alien

I’m an Englishman in New York

If, “Manners maketh man” as someone said 누가 “예절이 사람을 만들지”라고 하면

Then he’s the hero of the day 그는 영웅일거야

It takes a man to suffer ignorance and smile 무시로 상처받고 웃고

Be yourself no matter what they say 뭐라고 말하든 자신을 가져라

I’m an alien I’m a legal alien

I’m an Englishman in New York

I’m an alien I’m a legal alien

I’m an Englishman in New York

Modesty, propriety can lead to notoriety

You could end up as the only one

Gentleness, sobriety are rare in this society

At night a candle’s brighter than the sun

Takes more than combat gear to make a man

Takes more than a license for a gun

Confront your enemies, avoid them when you can

A gentleman will walk but never run

If, “Manners maketh man” as someone said

Then he’s the hero of the day

It takes a man to suffer ignorance and smile

Be yourself no matter what they say

I’m an alien I’m a legal alien

I’m an Englishman in New York

I’m an alien I’m a legal alien

I’m an Englishman in New York

랩뷰 지옥

나는 완벽한 프로그래밍 언어란 존재하지 않고, 만들려고 하는 프로그램을 가장 쉽고 빠르게 만들어 낼 수 있는 언어가 최고의 프로그래밍 언어라고 생각한다. 어쩌다보니 C, C++, VB.net, ASP, 매스매티카, 메이플, 매트랩, 파이썬, 랩뷰 등의 프로그래밍 언어들을 써 왔었다. 랩뷰는 인생에 쓸일이 없을 것이라 생각하고 일부러 안쓰려고 했는데 결국 그날이 오고야 말았다. 실험을 전공한 내가 잘못이지. 파이썬이 최악인 이유는 강제 들여쓰기와 암시적 형 지정때문이라고 생각했다. 뭐 어쩌다보니 지금 가장 자주 쓰는건 파이썬이기는 하지만. 하지만 아무래도 랩뷰를 내인생 최악의 언어로 바꿔야 할 것 같다. 일단 NI에서 제공하는 강력한 하드웨어 제어 기능과 연동되기 때문에 수많은 실험실에서 사용하고 수많은 상업 제품에서 널리 사용하고 있다는 부분은 다른 단점을 압도할 정도의 장점이기는 하다. 하지만 그 장점을 빼면, 프로그래밍 언어로서는 그다지 좋은 언어가 아니다.

찾아보니 나만 싫어하는 것이 아니었다.

Why I detest LabVIEW




http://stackoverflow.com/questions/372557/what-specific-features-of-labview-are-frustrating-to-you

위의 글에 내가 느끼는 문제점을 정말 똑같이(!) 짚어주고 있는데, 간단히 요약하자면 다음과 같다. (내 생각과 함께)

1. 스파게티 코드. 프로그램을 만들다 보면 스파게티 코드라는 말을 많이 하는데, 랩뷰 코드를 보면 진짜로 스파게티 코드가 뭔지 알 수 있다. 진짜 여기저기 선으로 도배되어 있는데, 차라리 텍스트 코드에서 페이지업-다운으로 찾아다니는 것이 더 낫지, 눈으로만 봐서는 도저히 따라갈 수가 없다. 만들때는 어떻게든 만들겠지만, 디버그 할 때 눈알이 뽑힐 것 같은 고통을 느낄 수 있다. 처음부터 버그가 없게 만들면 되겠지만, 그건 불가능한 일이다. 최소한 나한테는 불가능한 일이다.

2. 그림을 그려야 한다. 진짜로 그림을 그려야 한다. 빈공간이 없으면 옆으로 다 치워놓고 그려야 하고, 아님 옆으로 가서 그려야 한다. 물론 텍스트 코드에서도 빈공간을 만들어야 하긴 한다. 엔터 몇번 치면 되는 일이다. 랩뷰에서는 아이콘과 선들을 옆으로 치워야 한다. 컨트롤 키를 누르고 마우스 커서를 잡아끌면 빈공간이 나타나기는 하는데, 그럼 기존에 잘 정리해 두었던 코드가 엉망이 된다. 텍스트 코드에서는 엔터 두세번 쳤다고 해서 코드가 엉망이 되지는 않는다.

3. 조건문, 반복문 테스트. 한번만 실행시켜서 어떻게 되는지 보고 싶을때, 텍스트 코드 언어는 if문이나 for문이 있는 그 줄만 주석처리 해 버리고 돌리면 되는데 랩뷰에서는 밖으로 복사해놓고 전선 정리를 해 줘야 한다. 안하면 에러난다.

4. 느리다. 말할필요도 없이 C나 다른 언어에 비해서 느리다. 개발 속도가 빠르다는 장점이 있지만, 코드가 꼬일수록 고치기도 힘들어 진다는 점에서 바람직하지 않은 특징이라 성능에서 느린건 어떻게 할 수가 없다.

5. 의도하지 않은 병렬처리. 요즘 성능 향상을 위한 병렬처리가 각광을 받고 있지만, 기본적으로 컴퓨터는 순차처리가 기본이고 병렬화는 의도적으로 고민해야 하는 부분이다. 이게 왜 자동화되기 힘드냐 하면, 병렬처리할 때 서로 다른 루틴들이 처리되는 순서를 임의적으로 정해버리는 경우 프로그램 작동이 꼬일 수가 있기 때문이다. 특히, 랩뷰는 실험 장비들을 다루게 되는데 실험 장치들이 작동하는 순서가 달라지면 실험을 망칠 수도 있고 사고가 날 수도 있기 때문에 이런 부분을 방지하기 위해서 굉장히 노력을 많이 해야 한다.

6. 마우스 클릭. 개발을 해보면 알겠지만, 게임은 마우스로 하는게 편하지만 코딩을 마우스로 하는건 어려운 일이다. 빡친다.

7. 유료다. 물론 좋은 툴을 돈받고 파는건 당연한 일이고, 랩뷰도 나름의 장점이 있고 그만큼의 가치를 하니까 돈주고 사서 쓰는 것이다. 하지만 무료로 사용할 수 있는 프로그래밍 언어도 많은데 랩뷰는 사용하기 위해서 무조건 돈을 주고 사야 한다는 점에서 이건 명백한 단점이다.

그 외에도 많은 단점들이 있다. 나도 교수님이 쓰라고 하니까 쓰는 것이지 아니면 거들떠보지도 않았을 언어다. 아니면 외주 맡기든가.

분홍자전거


분홍자전거 – 권진원




파란 하늘 닿을 듯 하얀 구름




언덕길에 풀잎처럼 가볍게 내려오네




그 아가씨






뒷자리엔 무지개 하나 가득




꽃 바구니




하얀 치마 흩날리며 내려오네




분홍 자전거






아이쿠 아가씨 조심해요 아가씨




그러다 넘어지면 어떡해요




조그만 시냇물 키가 큰 소나무




모두 그만 우-우당탕






그리 바삐 서둘러 어딜 가나




분홍 자전거




무지개를 타고서 하늘까지




그 아가씨






아이쿠 아가씨 조심해요 아가씨




그러다 넘어지면 어떡해요




조그만 시냇물 키가 큰 소나무




모두 그만 우-우당탕






그리 바삐 서둘러 어딜가나




분홍자전거




무지개를 타고서 하늘까지




그 아가씨






바람은 시원해 하늘은 드넓어




장미꽃처럼 빨갛게 물든 얼굴로






파란 하늘 닿을 듯 하얀 구름




언덕길엔




풀잎처럼 가볍게 내려오네




그 아가씨






라라라라 라라라라라 라라라라




무지개를 타고서




그 아가씨 분홍 자전거






우우우우 라라라라


















































































이건 뭐지



얘는 얼마나 대단하신 분이길래 이 프로그램들을 다 닫으라고 하는 것인가.

잘 모르는 사람들이 만들어 낸 정책을 최소한의 비용으로 맞추려는 업체가 힘을 합치면 나라가 개판이 된다.

학회 가서 챙기자

아는 사람에겐 필요없지만 모르면 곤란한, 대학원에 들어오는 사람들을 위한 학회에 가서 할 일들. 워낙 기초적인 것들이라 다들 아는 내용이겠지만.

학회를 다녀올 때는 미리 초록집을 살펴보고 어떤 것들을 들을지 계획을 세워서 다 듣자. 자기 전공분야랑 관련된 것을 챙겨서 듣는 것이 좋고, 비는 시간이 있으면 전공 분야가 아니더라도 이런저런 발표들을 들으면서 교양도 쌓고 아이디어도 얻는 것이 좋다. 포스터 발표도 가급적 다 돌아다니면서 최대한 많이 구경하고 다니자. 업체 전시회를 같이 한다면 업체 카탈로그도 받아두고. 발표를 들으면서 중요한 내용들은 기록하고, 특히 결과가 발표된 논문은 잘 적어두자. 언제 필요할지 모른다. 물론 초록집에 있는 저자 정보와 제목을 검색해보면 논문을 찾을 수 있겠지만.

발표를 들을 때마다 최소한 1개 이상의 질문거리를 생각해 두자. 자기 전공이 아니어도 적당한 질문을 할 수 있는 능력을 키우는 것이 좋다. 물론 자기 전공분야라면 많은 질문거리를 생각해 낼 수 있어야 한다.

자신이 발표를 했다면, 발표가 끝나고 주어지는 토론시간에 질문받은것과 대답한 내용을 잘 적어두자. 연구에 중요한 부분을 제공할 수도 있다.

포스터 발표를 했으면 포스터 옆에서 인증샷을 꼭 찍어두자. 곤란해 질 수도 있다.

국내를 가든 외국을 가든, 가서 받은 모든 것은 일단 소중하게 간직해 둔다. 영수증, 기념품, 초록집, 팸플릿, 명함, 카탈로그 등등. 언제 어떻게 써먹게 될지 아무도 모른다. 무조건 챙겨두는 것이 좋다. 특히, 외국 학회 출장 다녀온 출장 증빙을 위해서 별걸 다 제출해야 하는 경우도 있다. 비행기와 숙박 영수증을 포함해서 학회 등록 영수증, 가서 만난 사람의 명함, 초록집, 인증샷 등등.

학회에 다녀와서 출장보고서를 작성해야 하는 경우도 있으므로 출장보고서에 뭘 적어야 하는지 미리 알아둔 다음 학회에서 최소한 그 분량은 채울 수 있을 정도로 발표를 듣고 와야 한다.

남는 시간에 관광을 다니거나, 아님 발표 안듣고 관광을 다니는 것은 전적으로 연구실의 분위기를 파악한 다음 하게 되는 개인의 선택이다. 어쨌든 최소한 뭔가 남는 것은 있어야 하고, 만약 너무 심하게 놀다가 걸리면 출장비를 토해내야 하는 경우도 있으므로 학회 갔으면 제대로 듣고 오자.

LPCSTR

윈도우즈용 랩뷰에서 윈도우즈용으로 컴파일된 DLL 파일을 불러올 때 LPCSTR 같은 키워드의 정의를 물어보는 일이 있는데, MSDN에 다 나와 있다.

typedef const char* LPCSTR;

이렇게 정의되어 있다.

랩뷰에서 “뭔지 모르겠는데, 좀 알려달라”고 하면 짜증내지 말고 preprocessor definition 을 써주는 곳에다가

LPCSTR = const char*

이렇게 써주면 된다. 여러개 써야 할 때는 세미콜론;으로 구분해주면 된다.


http://msdn.microsoft.com/en-us/library/cc230350.aspx


이런건 개인 위키에 적어야 할 것 같은데…

하나 만들어야 하나.

apache2 업데이트에서 pydio 문제 발생시

apache2를 업데이트 했더니 pydio가 맛이 갔다.

아니, 그 전에 일단 apache2가 맛이 가서. mcrypt를 다시 설치해 주고, json을 설치해주고, 아차피 설정 파일에서 lockfile을 mutex를 쓰도록 고쳐주고, 그랬더니 잘 된다.


http://stackoverflow.com/questions/18239405/php-fatal-error-call-to-undefined-function-json-decode


http://askubuntu.com/questions/368515/upgraded-to-ubuntu-13-10-apache-not-able-to-start




위의 두 링크를 참고함.

높으신 분들의 삽질

카카오톡을 감청하겠다는 소식이 들려온다. 아무래도 윗분들 중에는 인터넷의 속성에 대해서 아는 사람이 아무도 없는 것 같다.

댓글에 실명제 적용을 했더니 우리나라 동영상 사이트들 다 죽고 유튜브로 가고


카카오톡 감청을 하게 되면, 이거 까딱하면 카카오톡이 망할수도 있는 상황이다. 이미 많이 성장해버린 카카오톡이기 때문에 완전히 망하지는 않겠지만, 사회관계망 서비스라는 것이 그렇듯 어느 순간 훅 갈 수도 있다.

이메일 감청을 하니 구글메일을 쓰고, 사실 그것도 여의치 않으면 그걸 다시 암호화해서 주고받을 수도 있다.

게임 중독을 막겠다고 만든 법 때문에 국내 게임 회사들은 다들 해외진출을 노리거나 망해가고 있다.

인터넷은 법으로 막을 수 있는 도구가 아니다. 예전에는 통신수단이 전화밖에 없으므로 전화를 도청하면 내용을 알 수 있었고, 통신사를 장악했을 때에는 문자메시지를 검열할 수 있었다. 그러나 인터넷으로는 불가능하다. 내용을 암호화 해서 전달할 수 있고, 발신자와 수신자를 익명으로 처리할 수도 있으며, 내용을 흩어서 뿌렸다가 받을 수도 있고, 국내법의 적용을 받지 않는 영역을 통해서 통신을 할 수도 있다. 이걸 막겠다고 생각하는 것 자체가 멍청하다는 뜻이다.

몇년 안에 우리나라 IT업체들은 거의 다 사라질 것이고, 해외에서 제공하는 서비스만이 살아남을 것 같다. 네이버 정도가 남아서 뭘 운영하겠지만. 나조차도 지난 10년간 네이버에서 의미있는 것을 검색해본적이 없다. 아예 시도하지도 않으며, 가끔 시험삼아서 검색을 해보더라도 아무런 정보를 얻을 수 없다.


우리나라에는 아무것도 남지 않을 것이다.