2016年7月29日 星期五

修改screen任務程序的名稱

參考《用screen操控終端機》用 screen -e^Ta 來開啟新的任務程序(session)。假設上面有三個sessions,用 screen -ls 看到分別叫做:
There are screens on:
    5422.pts-0.srv (Detached)
    5448.pts-1.srv (Detached)
2 Sockets in /var/run/screen/S-sb.

最前面顯示的數字代表process ID,中間粗體則是任務程序的名稱(session name),最後則是在跑 screen 這支程式的伺服器名稱。想要把第一個 screen 從 pts-0 改名叫做 runProgram,在上述detached模式下只要輸入:
  • screen -S pts-0 -X sessionname runProgram

若是已經在attached的模式下,也就是說已經在 screen 裡面,那就用下面的方法改名:
  • screen -r pts-1
  • Ctrl-t + : sessionname monitor
第一行指令是從detached模式變成attached模式,進入名叫pts-1的任務程序裡面
第二行輸入順序是同時按住Ctrl與t後放開,按冒號後鍵入sessionname monitor。意思是把 pts-1 這個任務程序改名叫做 monitor

如果一開始就要一個叫做 window 的screen任務程序,直接用 screen -e^Ta -S window 
以上作法參考《Set screen names with GNU screen [closed]》《Rename screen session》這兩篇文章

_EOF_

2016年7月28日 星期四

曾經出現的智人總數

現存的人類都屬於現代人、或叫智人(Homo Sapiens)這一種,也是人屬Homo)下面唯一倖存的物種,其他像是尼安德塔人海德堡人直立人等等人屬的物種都已經滅絕。根據Carl Haub 2011年發表在Population Reference Bureau(PRB)的文章《How Many People Have Ever Lived on Earth?》的估計:
  • 曾經出現在地球上智人的數目約莫是 1076 億
  • 1 A.D.的人口數約 3 億
  • 1800年的人口數超過 10 億
  • 2011年中的人口總數近 70 億
  • 2011年中的人口數約佔所有出現過的人數的6.5%

2016年7月27日 星期三

DRBL讓用戶端開機選擇特定系統核心

DRBL伺服器與用戶端可以分別使用不同的系統核心(kernel)。例如說用戶端有特殊硬體,需要將驅動程式給放到系統核心,這時候就必須要指定特別的系統核心給用戶端。參考DRBL官網FAQ《用戶端電腦如何使用DRBL server上的某個版本核心?使用下面指令:
  • /usr/sbin/mknic-nbi -a -k 2.4.22-1.2199.nptl 

用戶端重開機後用的核心就會是kernel-2.4.22-1.2199.npti了。至於說要怎樣設定不同的用戶端指定不同的系統核心還需要研究看看

_EOF_

2016年7月26日 星期二

DRBL用戶端開機啟動rc.local的服務

參考DRBL企鵝龍官網的文章《如何開啟client端的rsh服務?》,執行:
  • drbl-client-service rc.local on
等它跑完之後,所有的client端下次重新啟動就會執行rc.local了。

若是覺得設定每一台client的rc.local很麻煩,可以先到/tftpboot/nodes下面設定第一台192.168.9.1/etc/rc.local,以這個檔案作為模板拷貝到其他的機器上面
  • for i in {2..234}; do cp 192.168.9.1/etc/rc.local 192.168.9.$i/etc/rc.local; done
  • for i in {2..234}; do diff 192.168.9.1/etc/rc.local 192.168.9.$i/etc/rc.local; done
第一行指令是拷貝,第二行是確認是否檔案都一樣

_EOF_

2016年7月25日 星期一

執行級別(Run Level)

Linux或是類UNIX系統開機時,系統會去判定開機時的執行級別 runlevel。在不同的級別下,會啟動不一樣的服務。一般來說有7個級別0, 1, 2-5, 6, S,欲啟動的服務放在/etc下面的這些目錄(以下的說明參考bizpro寫的《Linux Pi的奇幻旅程(16)-大改造(續)》):
  • rc0.d:負責關機的運作
  • rc1.d:維修模式
  • rc2.d:多人文字模式, 沒有圖形界面
  • rc3.d:多人文字模式, 沒有圖形界面, 具有網路
  • rc4.d:保留未使用
  • rc5.d:圖形界面
  • rc6.d:負責重開機的運作
  • rcS.d:單人模式(single user mode)
要查詢系統當前的執行級別,任選下面兩個指令
  • runlevel
  • who -r
而預設的run level則是存放在/etc/inittab裡面。在檔案最前面幾行看到
  • id:2:initdefault
意思就是預設啟動的run level是2,會去執行/etc/rc2.d裡面的服務。在這個資料夾中的服務都是用symbolic link連結到/etc/init.d/下面的服務,分成下面兩類:
  • S開頭:啟動服務,根據S後面接的數字由小而大依序啟動
  • K開頭:關閉服務,根據K後面接的數字由大而小依序關閉

2016年7月22日 星期五

介電質(Dieletrics)

介電質,用來形容可以減弱電力場的絕緣物。例如說,二氧化鈦(Titanium Dioxide、防曬化妝品、修正液與修正帶裡面的那個白白的成分)就是一種介電質。如果把點電荷放在二氧化鈦的兩邊,套用下面的公式設定介電常數$\varepsilon=110$,則兩個點電荷之間靜電力會比在真空中$\varepsilon=1$小上百倍。
$$ \left |F  \right |=\frac{1}{4 \pi \varepsilon} \frac{\left | q_1q_2 \right |}{r^2} $$
想像介電質像是一個盾牌一樣,會把射出來的電力場給減弱。減弱的原理是,當介電物質感應到電場的時候,會在內部自動生成反抗電場,所以會將減弱穿過去的電場強度。不同物質有不同的方式來產生反抗電場,參考維基上寫的《各種介電質的電極化機制》。反抗的強度可用介電常數(dieletric constant)來量化。參閱CLIPPER CONTROLS上面的《Dieletric Constant Values》,二氧化鈦的介電係數是 110.00。更多關於介電物質如何影響庫倫靜電力可以參照下面由AK LECTURES發布的影片《Dieletrics and Dieletric Constant》


2016年7月21日 星期四

在MacDown輸入公式

使用MacDown編寫Markdown格式的文件,去偏好設定(Preferences)裡面找到Rendering頁面,打開TeX-like math syntax(見下圖)就可以用LaTeX格式輸入公式
更多細節直接參考MacDown的文件
引用的方式有下面兩種方式:
  • 行內使用:$...$ 或 \\(...\\)
  • 自行一行:\\[...\\[ 或兩個錢字號包起來
公式輸入方式參考《在Blogspot輸入公式》


_EOF_

2016年7月20日 星期三

用Xmgrace將資料轉成直方圖

下圖是某個分子模擬後,計算root-mean-square distance(RMSD)隨時間的變化圖
橫軸是時間(單位為奈秒),縱軸是RMSD(單位是奈米)。從上圖可以知道RMSD約莫都在0.2 nm左右,但現在想要知道其分佈的樣子,依照下面順序操作:

  1. 選單 Data > Transformation > Histogram
  2. 選擇資料點放在source區域,點選後會反白,destination區域則都不要選。由圖的的data叫做G0.S0[2][20001],意思是說總共有20001個點
  3. 選擇縱軸(這邊是RMSD)的start與stop,當成直方圖的起點與終點。這邊參考上圖的縱軸,設定 0與 0.3
  4. 選擇直方圖總共要出現多少跟柱子(bin),在這邊設定30個,意思就是在 0 與 0.3 之間有30個區間
  5. 點 Apply 套用,再按 Close 關閉此選單
  6. 選單 Data > Data set operations...
  7. 點一開始的資料,用右鍵選單的 Hide 隱藏原始資料
  8. 按 AS 自動調整大小(autoscale)
完成後會出現下圖,另外記得要調整橫軸與縱軸的說明文字
可以看到RMSD集中在 0.18~0.21 nm,也就是1.8~2.1 Å之間。
以上的操作方式參考《Grace tips and tricks》

_EOF_

網路小額購物不能夠免開發票了

根據財政部令:修正「統一發票使用辦法」,修正了現行條文:
  • 現行條文:營業人每筆銷售 額與銷項稅額合計未滿 新臺幣五十元之交易, 除買受人要求者外,得 免逐筆開立統一發票。但應於每日營業終了時 ,按其總金額彙開一張統一發票,註明「彙開 」字樣,並應在當期統 一發票明細表備考欄註明「按日彙開」字樣, 以供查核。
    營業人使用收銀機開立統一發票或使用收銀機收據代替逐筆開立統一發票者,不適用前 項規定
  • 修正條文:營業人每筆銷售 額與銷項稅額合計未滿 新臺幣五十元之交易, 除買受人要求者外,得 免逐筆開立統一發票。 但應於每日營業終了時 ,按其總金額彙開一張 統一發票,註明「彙開 」字樣,並應在當期統 一發票明細表備考欄註 明「按日彙開」字樣, 以供查核。
    營業人以網際網路或其他電子方式開立電子發票、使用收銀機開立統一發票或使用收銀 機收據代替逐筆開立統 一發票者,不適用前項 規定。
此修正命令是發布日施行,故從今年7月15日以後在網路上面買東西,價值不到50塊的產品商家也必須要開發票唷~
維基百科上說統一發票是1951年元旦開始實施,構想者叫任顯群(任內推動了統一發票與愛國獎券),私下的生活也很精彩與驚險(參閱管仁健寫的《台灣烏龍版的《羅馬假期》

_EOF_

2016年7月19日 星期二

在Blogspot輸入公式

前面提到《在Blogspot顯示公式》已經說明可以用$\LaTeX$來輸入公式,所以說必須要先熟悉$\LaTeX$的語法。可以直接到SHARELATEX這個網站來找相關輸入方式,或是用codecogs提供的方程式編輯工具,點選出想要的公式後會顯示$\LaTeX$ code長什麼樣子。

舉例說兩個粒子之間的Lennard-Jones potential
$$ V_{LJ}=\varepsilon\left [ \left (  \frac{r_{m}}{r} \right )^{12} - 2\left (  \frac{r_{m}}{r} \right )^{6} \right ]  $$
在這邊$\varepsilon$不是介電常數,而是平衡位置的時候的potential energy;$r_{m}$則是此Lennard-Jones potential能量最低點的時候兩個粒子的距離,$r$是兩個粒子之間的距離。
這個公式的$\LaTeX$碼則是V_{LJ}=\varepsilon\left [ \left (  \frac{r_{m}}{r} \right )^{12} - 2\left (  \frac{r_{m}}{r} \right )^{6} \right ]

另一個例子是某個點電荷的electric potential
$$ V_{E}=\frac{1}{4 \pi \varepsilon} \frac{\left | Q \right |}{r} $$
這邊$\varepsilon$是所在環境的介電常數,$Q$是點電荷的電量,$r$是距離此點電荷的距離。
這個公式的$\LaTeX$碼則是V_{E}=\frac{1}{4 \pi \varepsilon} \frac{\left | Q \right |}{r}

_EOF_

2016年7月18日 星期一

在Blogspot顯示公式


這邊介紹MathJax,使用$\LaTeX$輸入語法來輸入公式,最終顯示在網頁上面。 方法如下:
  • 開啟Blogger的控制面板 > 選"範本" > 點"編輯HTML"
  • 將下面程式碼輸入放到<head>這一行後面
  • 點"儲存範本"
程式碼來自Matthew Leingang對《How to use LaTeX on blogspot?》的回應
注意!! 上述的方法會讓文章內的錢字號出現顯示錯誤,解決方案看最下面的更新部分

2016年7月15日 星期五

用Linux將光碟片轉成ISO檔

前面有介紹過《用Mac將光碟片轉成ISO檔》,這邊介紹如何用Linux做,這邊是用Ubuntu gnome 14.04的系統為例子:
  1. 開啟終端機(Ctrl-Alt-t)
  2. mount
  3. umount /dev/sr0
  4. dd if=/dev/sr0 of=/tmp/image.iso
  5. eject

2016年7月14日 星期四

用Mac將光碟片轉成ISO檔

許多新的筆電已經不再附上光碟機,但許多軟體或是韌體依舊是存放在光碟片上面。為了要安裝軟體與韌體,必須要把光碟片轉成ISO檔案。參考不來恩寫的《免裝軟體,在 Mac 將光碟內容製作成 ISO 光碟映像檔》,可分成下面幾步:
  1. 開啟終端機(Terminal)
  2. diskutil list
  3. diskutil unmountDisk /dev/diskN
  4. dd if=/dev/diskN of=~/Desktop/image.iso
  5. diskutil eject diskN
依序介紹每個指令的意思:

2016年7月13日 星期三

甜甜的蛋白質

糖會甜是因為味蕾上面有特別的甜味感應器,專門感應是否有吃到糖。但除了糖以外,還有幾種分子可以刺激甜味感應器,包含了阿斯巴甜(aspartame)、與各種甜蛋白質(sweet-tasting proteins)。在非洲的植物上發現了下列幾種比糖要甜成千上萬倍的蛋白質:

2016年7月12日 星期二

Mac上的Skype沒有回應

電腦蓋上休眠再打開後就又不行了。這次的系統是El capitan(10.11),skype版本是 7.29。先把skype更新到7.31,從沒有回應變成無法登入。想到之前也有發生過兩次這種事情:

但這次用二月那招還不夠,還要順便移除:
  • Library/Application Support/Skype
  • Library/Caches/com.skype.skype
  • Library/Preferences/com.skype.skype.plist
  • Library/Saved Application State/com.skype.skype.savedState

移除後重開才恢復正常。以上幾個檔案應該也不用全部都移除,只是不想要一個一個慢慢測試,才一次通通都殺乾淨重來。猜想可能是休眠的時候skype沒有把一些相關資料寫入,造成後來再次登入時不同步,所以才無法啟動。

_EOF_

2016年7月11日 星期一

移除圖片的alpha channel

Alpha channel指的是儲存圖片每個像素(pixel)的資料結構內,用來儲存透明度(transparency)資訊的部分。例如說用32-bit來儲存一個像素,裡面會有4個8-bit channels,前面三個分別給紅綠藍RGB存放資訊,最後一個8-bit channel則是所謂的alpha channel,以上參考Vangie Beal寫的《alpha channel》。下面文章介紹如何移除圖片的alpha channel

2016年7月8日 星期五

GROMACS選取某些原子成為一群

在分析分子模擬產生的軌跡檔(trajectory file)時,有時候只會想要看某幾個特定原子在結構上面相對的位置,這時候就必須要自己選取感興趣的原子。在GROMACS-5.1.2裡面用下面的指令:
  • gmx make_ndx -f md.tpr -o md.ndx
檔案md.tpr是跑模擬時會用到的輸入檔案,包含了模擬的設定、每個原子的座標軸等等(讀取這些設定參考《看GROMACS的binary files的內容》);檔案md.ndx則是設定完成後儲存的index file。上述指令輸入後,會進入make_ndx這隻程式的交談式環境中,首先會跳出目前儲存在md.tpr裡面的不同原子組成的群:
  • System:整個系統裡面所有的原子
  • Protein:系統內組成蛋白質的原子
  • Protein-H:組成的蛋白質的原子,除了H atom以外
  • C-alpha:蛋白質主鏈上的C-alpha atom
  • Backbone:應該蛋白質主鏈上的N、C-alpha、C這三個原子
  • MainChain:應該是蛋白質主鏈上的所有原子
  • MainChain+Cb:上面的再加上C-beta atom
  • MainChain+H
  • SideChain:組成蛋白質支鏈上的原子    
  • SideChain-H:組成蛋白質支鏈上的原子,除了H atom以外
  • Prot-Masses      
  • non-Protein       
  • Other                   
  • Water:水分子     
  • SOL:溶液分子,通常就是水分子        
  • non-Water  
  • Ion:系統中的離子                  
  • Water_and_ions:水與離子
大約會有上面這幾群,要注意-H的意思是減掉H atom

2016年7月7日 星期四

行星齒輪組(Epicyclic Gearing)

行星齒輪組也稱作planetary gear,外觀上很明顯的可以看到外部齒輪圍繞著中心齒輪轉而得名,是個古老的機械傳動系統。一個最簡單的行星齒輪組由內而外可以分成四個部分:
  • 太陽齒輪(sun gear):位於齒輪組的中央
  • 行星齒輪(planet gears):繞著太陽齒輪,轉動軸在此稱行星轉軸
  • 行星架(carrier):行星轉軸安裝在這個架子上,架子本身也可以旋轉
  • 外齒圈(ring gear或annular gear):最外面那一環,也可以旋轉

這四個部分,除了行星齒輪以外的三者的轉動軸都在中央。雖然三者個轉軸一樣,但是可以用不同的方式接出來,所以可以個別決定要轉或是不轉。整個行星齒輪組的組合方式請見下方Karol Ozimy發布的影片:

2016年7月6日 星期三

readline:在指令列快速移動游標

使用終端機連線伺服器時,進去會是指令列模式。遇到指令很長,用左右鍵移動游標就會是痛苦的事情。參考《How to navigate long commands faster?》《Is there any way in OS X Terminal to move the cursor word by word?》,在此介紹一些鍵盤快速鍵來移動游標:
  • Ctrl-a:移動到指令列最前面
  • Ctrl-e:移動到指令列最後面
  • Alt-b:往後跳一個字(在Mac終端機用 Alt-右)
  • Ctrl-f:往前跳一個字(在Mac終端機用 Alt-左)
  • Ctrl-u:刪除游標之前所有的字
  • Ctrl-k:刪除游標之後所有的字
  • Ctrl-w:刪除前面一個字
  • Alt-d:刪除後面一個字(在Mac終端機內無法使用)

這些快速移動游標其實是由GNU Readline library所提供,更多相關的快速組合鍵參考Alan Skorkin寫的《Bash Shortcuts For Maximum Productivity》。裡面還有介紹Bash Band (!) Commands,對鍵盤指令愛好者很有用。

_EOF_

2016年7月5日 星期二

Xmgrace關閉autoscale後直接出圖

使用xmgrace在畫xy散佈圖的時候,他會自動根據裡面數值的分佈情形調整座標軸的範圍。但有時候要一次出許多圖片,希望能夠固定座標軸範圍的時候,可用下面的參數:
  • xmgrace -autoscale none -world xmin ymin xmax ymax data.xvg
  • xmgrace -autoscale x -world xmin ymin xmax ymax data.xvg
  • xmgrace -autoscale y -world xmin ymin xmax ymax data.xvg
上面的xmin ymin xmax ymax是數字,代表座標軸的範圍,預設是 0 0 1 1。注意要這邊一定要用到-autoscale none(或是x y,不然xmgrace就不會理會設定好的座標軸範圍。以上參考handyfloss寫的《Disabling autoscale in a Xmgrace agr file》

若要指定輸出的圖片的檔名,用 -printfile 這個參數,沒有指定會與data.xvg同檔名,只是副檔名不一樣;要直接輸出圖片而不預覽則用-hardcopy
  • xmgrace -printfile xxx.png data.xvg
  • xmgrace -hardcopy data.xvg
  • xmgrace -printfile xxx.png -hardcopy data.xvg
第一個指令指定印出來的檔名叫 xxx.png,但不會直接印而是會先預覽
第二個指令則是直接印出來,至於支援的圖片格式用 xmgrace -version 來看
第三個指令直接把 data.xvg 印到 xxx.png 這個檔案裡面而不再預覽

2016年7月4日 星期一

用find找最近使用過的檔案

想要找到家目錄下面,最近6天內使用過的shell script檔案(結尾是.sh):
  1. cd ~
  2. find . -name "*.sh" -atime -6
  3. find . -name "*.sh" -atime -6 -printf "%T+\t%p\n" | sort
上述指令的意義如下

2016年7月1日 星期五

Vim分割視窗


使用Vim編輯程式碼的時候,有時需要上下參閱前後文,這時候可以分割視窗。使用方法是在一般模式下同時按Ctrl與w,然後按s或v:
  • Ctrl-w + s:分割成上下兩個視窗
  • Ctrl-w + v:分割成左右兩個視窗(分割線是vertical)
第一行是將視窗分割成上下兩個;第二行則是將視窗分割成左右兩個
在每個分割視窗內轉換則是在一般模式下: