Sunday, March 23, 2014

일본, 전국에서 희귀 심해어가 잇따라 발견됨

일본 전국에서 희귀 심해어가 잇따라 밀려오고 있다.

전국 각지에서 심해어가 잇따라 밀려오고 있다. 19일 기타큐슈시 와카마츠구에서 심해어 산갈치가 포획되었고 이시카와현 노토반도 앞바다에서 거대한 아귀가 2마리나 포획되었다. 또한 이시카와현에서는 전날 엄청난 괭이갈매기가 떼죽음 당한 것이 발견되었고, 대왕오징어 등 특별한 해산물도 잇따라 밀려오고 있는 것이 발견되고 있다. 또한 큐슈와 시코쿠, 츄고쿠에서도 유사한 보고가 요번1~2개월에 급증. '환상의 물고기'라고 불리는 산갈치가 이미 10마리 이상이나 발견되었다.

source: http://www.japwar.com/bbs/board.php?bo_table=03&wr_id=314

해구형의 해구형 지진이 발생하기 전에 심해어가 밀려온다는 보고가 증가하는 것은 이미 잘 알려져 있긴 하지만, 이러한 가설이 과학적인 방식으로 검증된 적은 없다.


그럼에도 불구하고 일본의 주민들은 무척이나 두려워하고 있는 것으로 보인다. 왜냐하면, 현재 후쿠시마 발전소가 수습되지 않은 상태임을 고려한다면, 지진발생은 발전소의 상황을 더욱 악화시킬 것이 확실하기 때문이다. 지진이 일어나지 않기를 바란다.

Thursday, March 13, 2014

Blogger for Word?

Today, I found a plug-in for MS Word that provides off-line blogging. Considering the competitive relationship between Microsoft and Google, I was suspicious if this works well with blogger.com.
Figure 1. The original blog post I found. Source: http://buzz.blogger.com/bloggerforword-office.html
With hope of luck, I tried this plug-in, but this plug-in failed to start with Word 2003. I am not sure if this can work with different version of Word.

Sunday, January 12, 2014

My quotes to remember

음악가로서 나는 일생동안 완벽을 추구해 왔다. 완벽하게 작곡하려고 애썼지만 작품이 완성될 때마다 늘 아쉬움이 남았다. 그렇기 때문에 내게는 분명 한 번 더 도전해야 할 의무가 있다고 생각한다. - 주쎄페 베르디

Knowing is not enough; we must apply. willing is not enough; we must do. - Goethe.

Thursday, November 14, 2013

coding template for progressive save in matlab

며칠간 실행되는 대량의 계산을 수행중, 중간 결과를 저장하는 방법을 고안하였다. 'progressive save'라고 부른다. 이것은 컴퓨터가 예기치 않게 다운되는 사태로부터 중간 결과를 저장하기 위한 것이다. 

코드는 아래와 같다: 




Wednesday, November 6, 2013

kinsol - 해에 대한 constraints (구속조건)을 정의하는 방법

여기서는 kinsol-2.7.0을 기준으로 설명한다. kinsol의 예제 kinRobokin_dns.c를 살펴보면 다음과 같이 lower bound를 정의하는 것을 볼 수 있다.

(Line202) lb1 = l1 - 1.0 - x1; 

이것은 구속조건 l1 = 1.0 + x1 >= 0, 즉 x1 >= -1 을 정의하기 위해서 사용하는 구문이다. 

solver가 하는 일은 lb1을 0으로 만드는 것이기 때문에 l1과 x1은 어떤 값이라도 가질수 있고 그 결과 구속조건의 부여는 실패하게 된다고 생각하였다. 위 Line202의 구속조건이 의미를 가지기 위해서는 수학적으로 l1>=0 가 전제되어야만 한다. 

역시, 예제코드를 좀더 살펴보니 KinSetConstraints(kmem, constraints)함수에서 이러한 기능을 수행함을 알 수 있었다. 여기서 constraints는 구속조건들을 가지고 있는 벡터값인데, 그 요소들은 0,1,2,-1,-2의 값을 가질 수 있다. 

각 값들의 의미는 0 : 구속 없음, -1 : u <= 0, 1 : u >= 0, -2 : u < 0, 2 : u > 0 이다.

Sunday, October 20, 2013

vim buffer간 이동

vim고수들은 다들 알고 있는 내용이지만,

C-^

:b 탭

:b 파일이름일부분

요렇게 세개의 명령만으로 vim을 더 쉽게 사용할수 있다.

Monday, October 14, 2013

How to execute matlab code as background job on linux?

Matlab은 인터렉티브한 작업환경이다. 그러므로 Matlab은 백그라운드 실행을 가정하지 않는다. 이것은 리눅스같은 터미널 접속 기반의 작업환경에서는 단점이다. 하지만, 다음과 같은 솔루션이 존재한다. 몇번의 명령어 조합끝에 알아 내었음.

nohup matlab -nojvm -nodisplay -r "matlabcmd; exit"</dev/null 2>/dev/null 1>/dev/null & 

nohup은 터미널 접속이 종료되어도 계산을 계속.

matlabcmd뒤에 exit를 넣는 것은 matlabcmd가 종료된후 matlab을 종료.

"</dev/null"는 더미 입력이며, Matlab이 인터렉티브 환경에서 실행되고 있다고 속이는 역할을 한다. 이것이 가장 중요한 부분이 되겠다.

-nojvm 옵션을 주면 matlab이 JVM실행을 하지 않기 때문에 이득이 있을 수 있다. 하지만, matlabpool open / parfor등을 이용하는 경우에는 -nojvm옵션을 주면 안되는 것 같다. 그 이유는 모르겠지만, matlabpool을 이용한 병렬처리가 JVM에 종속적이기 때문인 것으로 생각된다.