2013年4月9日 星期二

修改 windows 下的 gvim 預設語系為 unicode

因為要在windows/linux間切換使用dropbox的文字資料...
big5 與 unicode 的問題一直很麻煩, 所以找了網路上的解決方法


修改安裝目錄下的 _vimrc 這個檔案.

let $LANG="zh_TW.UTF-8"
set langmenu=zh_tw.utf-8
set encoding=utf8

"reload menu with UTF-8 encoding
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim

2013年4月2日 星期二

R 的 debug 介紹

這是我在念博士班(2009)時整理的一些中文介紹,  懶得再重新修改了...
給有興趣的人參考囉...
基本上, 我現在最常用的就只有browser(), 我是覺得學了這個就夠用了....^^
有空再來重新檢視過內容~~

PDF: debuggingR

2013年3月13日 星期三

修改 linux 下 vim 的配色~~

在linux下的預設vim配色真的會看到眼睛瞎掉...
那個註解是深藍色的, 怎麼看得清楚啊啊啊!!!
由於機器只有我一個人用, 就直接改/etc/vim/vimrc這個檔案了...
加上這個指令來配色(我比較喜歡)

colorscheme desert

結果如下
至於有那些可以選, 參考/usr/share/vim/vim73/colors 就可以啦...

2013年3月11日 星期一

DVD 轉檔給平板用!!

網路上找到的資源, 作個筆記..
公司的電腦是 linux, 所以只紀錄 linux 的操作流程, 其他參考原始出處!!

  1. sudo apt-add-repository ppa:stebbins/handbrake-releases
  2. sudo apt-get update
  3. sudo apt-get install handbrake-cli handbrake-gtk
Source: http://blog.lyhdev.com/2011/09/handbrake-mac-os-x-ubuntu-linux-dvd.html

2013年2月3日 星期日

常用的linux指令整理~~

要抓http的某個檔案可以用wget, 但是如果要抓某個資料夾下的所有檔案加上一些參數也可以辦到...
% wget -r <網頁目錄> -nd -P <存放路徑> -A <想要的檔案>
這些參數是縮寫, 代表意義如下: -r(--recursive), -nd(--no-directories), -P(--directory-prefix), -A(--accept)
想要的檔案可以同時放好幾個, 比方說我想要抓*.dat, *.png, 可以用"dat, png"來篩選!!

2013年1月31日 星期四

利用R的Rmpi來做平行化運算..

筆電Toshiba Satellite C640, Linux Mint 13

速度, 本來需要578.18 secs, 加上平行化後只需209.99 secs.


R 程式碼
rm(list=ls())
library(snow)
myfun <- function(ii) {
    set.seed(ii*100)
    ret = mean(rnorm(10000))
    ret
}
cluster = makeCluster(4,type="MPI")

### Normal
tt0 = Sys.time()
aa = sapply(1:100000,myfun)
tt1 = Sys.time()
bb = parSapply(cluster,1:100000,myfun)
tt2 = Sys.time()

stopCluster(cluster)

cat(sprintf(" - %.4f, %.4f\n",difftime(tt1,tt0,units="secs"),difftime(tt2,tt1,units="secs")))

在unix上安裝自己的R

工作站的R是舊版的2.13.2


  1. 到CRAN下載R的source code
    $ wget http://cran.csie.ntu.edu.tw/src/base/R-2/R-2.15.2.tar.gz
  2. 解壓縮到暫存目錄後, 先用./configure來客制化, 比如我把R裝載~/software/R-2.15.2下面
    $ ./configure --with-x --prefix=/home/u00yhh00/software/R-2.15.2 --enable-R-shlib
  3. 接下來就是一連串的等待時間了, 利用make & make install來安裝
    $ make & make install
  4. 修改自己目錄下的.bashrc這個檔案, 設定路徑
    export PATH=/home/u00yhh00/software/R-2.15.2/bin:PATH
  5. 重新登入, 或者是下source指令
    $ source .bashrc
  6. 已經成功更新到2.15.2囉...

2013年1月27日 星期日

Linux的無線網路問題(筆電)

公司的一台Toshiba Satellite C640筆電, 想來灌灌linux...
但是~~~一台沒有實體wifi開關的機器居然跟我說

"Wireless is disable by hardware switch"!!!

這是哪招啊....(/‵Д′)/~ ╧╧

找到一篇網路上的文章(原文)
居然說把電池拔掉30秒鐘, 在開機就好了~~~
就好了!!就好了!!就好了!!就好了!!就好了!!就好了!!就好了!!就好了!!就好了!!就好了!!就好了!!就好了!!就好了!!就好了!!就好了!!就好了!!

2013年1月20日 星期日

MATLAB vs. R

MATLAB與R都是矩陣運算的程式語言, 各有優缺點...
這是這兩種語言的一些function說明與比較, 在R官方網頁可以下載~
http://cran.r-project.org/doc/contrib/Hiebeler-matlabR.pdf

2013年1月18日 星期五

vim小筆記

分割視窗
:split filename      - 水平分割
:vsplit filename     - 垂直分割
"Ctrl+w" x 2         - 兩個視窗彼此切換

2013年1月17日 星期四

修改matlab的複製貼上快捷鍵

最近又跑回來用matlab了, 還真有點不太習慣!!
第1件很奇怪的狀況是 copy/paste 的組合鍵不見了....
本來是Ctrl+C, Ctrl+V, 現在變成另外一種組合...
查了一下goolge, 發現這是Emacs Default Sets與Windows Default Sets這兩派的問題...
只要到Preferences | Keyboard | Shortcuts下, 把Emacs改成Windows就可以了...
我的matlab版本是2012b linux version, 想必windows的應該也是差不多吧...

Reference: http://www.mathworks.com/support/solutions/en/data/1-A38RTS/index.html?product=SL&solution=1-A38RTS

2013年1月10日 星期四

將遠端伺服器的GUI傳回本機client

由於要跑matlab, 但是又只有server端才有安裝..
勢必要連線到遠端跑程式, 再把圖形結果擷取下來...
但是要怎樣秀出X11 windows的畫面呢, 下面用X11 Forwarding的方法來達成..

[Linux]
  1. 修改client端的 /etc/ssh/ssh_config 這個檔案, 找到下面文字並修改成 X11Forward yes.
  2. 利用ssh連線到server, 例如: ssh -X user@hostname.
  3. 鍵入 echo $DISPLAY, 看是否會出現類似 localhost:10.0 這樣的訊息.
  4. 測試一下吧, 鍵入 xclock& 看會不會出現小時鐘.


所以現在可以跑matlab程式囉!!





資料來源:
http://www.techotopia.com/index.php/Displaying_Ubuntu_Linux_Applications_Remotely_(X11_Forwarding)

2013年1月9日 星期三

[R] 交互對談指令

其實是一個小技巧, 因為某人是程式白癡, 我又不可能幫他跑所有可能組合...
所以只能把程式丟給他跑, 為了要讓介面人性化一點, 決定要用"交談式"的參數輸入~~

舉例來說, 下面的小函數就可以由使用者決定一個方陣的大小...
只要把這個code給copy/paste到R去, 就可以用demo()來跑程式了...


demo <- font="font" function="function">
    cat(" - Please input the size of matrix: ")
    n = readLines(n=1)
    n = as.numeric(n)
    mat = matrix(1,ncol=n,nrow=n)
    print(mat)
}

> demo()
 - Please input the size of matrix: 3
     [,1] [,2] [,3]
[1,]    1    1    1
[2,]    1    1    1
[3,]    1    1    1