2017年12月27日 星期三

Vim使用的設定檔vimrc的位置

安裝好vim以後,其設定檔叫做vimrc。要知道這個設定檔位置,執行:
  • vim --version
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRNTIME/defaults.vim"

這邊就可以看到預設的檔案叫defaults.vim,代表在前面的檔案都沒有時後,才會吃這個檔。所以就慢慢找這些檔案,確認哪個是真的在使用的。以上的做法也可以在開啟vim以後,連按兩下Esc然後輸入
  • :version
以上文件參考《How to locate the vimrc file used by vim editor?》

_EOF_

2017年12月26日 星期二

Vim註解太暗的問題

在使用vim的時候,如果終端機背景顏色是黑色,那麼預設的註解會因為是深藍色太暗看不清楚。解決方案是調整配色:
  • :color desert   <= 這個配色可以看設定檔
  • :color industry <= 這個配色適合寫程式
或是把color desert放在設定檔案vimrc裡面也可以。以上解法參考Better colors so comments aren't dark blue in Vim?。至於可以用的配色,使用下面的指令去看:
  • ls /usr/share/vim/vim*/colors
另一種方式則是使用光棒突顯所在的那行,參考Vim用光棒顯示游標所在的那一

_EOF_

CentOS 7更新Nvidia驅動程式

之前根據《CentOS 7上安裝Nvidia驅動程式》後,經歷了數次CentOS 7系統自動更新。在最近一次更新後,就進不了圖形界面了。。更新方式很簡單,首先到Nvidia驅動程式下載網頁,下載最新的驅動程式,由於硬體一樣是Intel i7-930配Nvidia GTX 650,下載的驅動是:
  • NVIDIA-Linux-x86_64-387.34.run
用root登入後,依序執行下面指令:
  1. chmod +x NVIDIA-Linux-x86_64-387.34.run
  2. ./NVIDIA-Linux-x86_64-387.34.run
  3. systemctl enable gdm && reboot
藍色指令即是更新成387.34這個動程式,在命令列下,根據說明安裝來安裝(基本上就是統統都同意)。重新開機後,圖形界面就又回來了
注意!這個方式只適用系統本來就已經安裝的是Nvidia出的專屬驅動程式,如果是剛安裝安裝好的系統,請參考《CentOS 7上安裝Nvidia驅動程式》重新安裝專屬驅動程式

_EOF_

2017年12月22日 星期五

WD硬碟價格比較 2017年12月

PChome24h搜尋"WD 金標"、"WD 黑標"、"WD 藍標"得到的價格表:

價格
(TW$)
名稱容量
TB
快取
MB
TW$/TB轉速
RPM
MTBF
萬小時
保固
(年)
2990WD [藍標] 3TB 3.5吋桌上型硬碟
(WD30EZRZ)
3649975400?3
3990WD [藍標] 4TB 3.5吋桌上型硬碟
(WD40EZRZ)
4649985400?3
2228WD [藍標] 2TB 3.5吋桌上型硬碟
(WD20EZRZ)
26411145400?3
7090WD [藍標] 6TB 3.5吋桌上型硬碟
(WD60EZRZ)
66411825400?3
1378WD [藍標] 1TB 3.5吋桌上型硬碟
(WD10EZEX)
16413785400?3
9488WD【黑標】6TB 3.5吋電競硬碟
(WD6002FZWX)
612815817200?5
9900WD【金標】 6TB 3.5吋企業級硬碟
(WD6002FRYZ)
6128165072002505
16900WD【金標】10TB 3.5吋企業級硬碟
(WD101KRYZ)(氦氣)
10256169072002505
6890WD【金標】 4TB 3.5吋企業級硬碟
(WD4002FYYZ)
412817237200?5
6899WD【黑標】4TB 3.5吋電競硬碟
(WD4004FZWX)
412817257200?5
14000WD【金標】8TB 3.5吋企業級硬碟
(WD8003FRYZ)(氦氣)
8256175072002505
14000WD【金標】8TB 3.5吋企業級硬碟
(WD8002FRYZ)(氦氣)
8128175072002505
4249WD【黑標】2TB 3.5吋電競硬碟
(WD2003FZEX)
26421257200?5
4799WD【金標】2TB 3.5吋企業級硬碟
(WD2005FBYZ)
2128240072002505
以上根據每TB的價格做排序,最便宜的每TB已經跌破台幣一千

2017年12月21日 星期四

顏聖紘的系統分類學實務

顏聖紘教授為課程Practices of Systematic Research所開設的部落格。2009年6月開始寫,到目前2017年12月都還有在更新。此部落格是課程用的參考資料:
  •  系統分類學實務 (Practices of Systematic Research) (碩士班課程)
  •  系統生物學 (Systematic Biology) (大學部課程)
要注意一點:systematic biology與systems biology雖然都翻譯成系統生物學,但是兩者完全是不一樣的領域唷。前面的systematics代表的是系統分類學的意思,用來分類各式各樣部不同的生物;後面的systems意思應該是systems theory,用系統分析的概念來分析生物的現象。

_EOF_

2017年12月19日 星期二

Python程式執行出現SyntaxError: Non-ASCII character

在執行某個python script的時候出現下面的錯誤訊息
SyntaxError: Non-ASCII character '\xe8' in file 05.py on line 4, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
這是因為註解裡面包含中文,但確定此script是用UTF-8儲存的。參考了《PEP 263 -- Defining Python Source Code Encodings》一文,了解在程式最前面,#!/usr/bin/env 這一行後面要宣告這個script是以哪種編碼方式儲存,如下:
  • # -*- coding: utf-8 -*-
  • # -*- coding: latin-1 -*-
  • # -*- coding: iso-8859-15 -*-
  • # -*- coding: ascii -*-
這幾行代表分別是用utf-8, latin-1, iso-8859-15, ascii來編碼

_EOF_

2017年12月18日 星期一

DAS × NAS × SAN × iSCSI

儲存資料的方式有很多種,常見的如下:
  • DASDirect Attached Storage直接存取硬碟
    • 一台伺服器透過SATA或eSATA或NVMe或SCSI或光纖或HBA卡(Host Bus Adapter)直接連接儲存裝置,儲存裝置上面有許多硬碟
  • NASNetwork Attached Storage透過網路檔案系統存取硬碟
    • 一台伺服器上面放很多硬碟,使用乙太網路連接上網路
    • 伺服器與計算節點的連接方式為一般的乙太網路交換機(Ethernet switch)
    • 其他計算節點想要資料,需要用乙太網卡(Ethernet adapter)連接那台伺服器透過乙太網路來分享。分享的方式有Samba(SMB/CIFS/網路芳鄰)、NFS、AFS等
  • SANStorage Attachment NetworkFC-SAN透過光纖網路直接存取硬碟
    • 一台或多台儲存裝置,儲存裝置上面有許多硬碟,用FC-HBA卡透過光纖連上線
    • 計算節點與伺服器連接方式為光纖交換機(Fiber switch)
    • 其他計算節點也要有FC-HBA光纖卡,直接存取儲存裝置上的資料。在計算節點上面看到的就像是直接接硬碟在計算節點上
  • iSCSIInternet SCSIIP-SAN透過乙太網路直接存取硬碟
    • 一台或多台儲存裝置,儲存裝置上面有許多硬碟,用iSCSI HBA卡透過網路連上線
    • 計算節點與伺服器連接方式為支援iSCSI的網路交換機
    • 其他計算節點也要有iSCSI-HBA卡(RJ-45街頭),直接存取儲存裝置上的資料。在計算節點上面看到的就像是直接接硬碟在計算節點上
這張DAS、NAS和SAN的比較圖片說明的很清楚
或是What is the difference between SAN, NAS and DAS?裡面的圖片也很清楚

2017年12月16日 星期六

安裝生物影像分析軟體ImageJ

ImageJ是一套由NIH開發的開源影像處理軟體。安裝請到下載抓回來打開即可使用
官網進去有下面八大項:
  • Features:各種作業系統都可使用,開源,300多個巨集(Macros)可用,500多個插件(Plugins)可選。處理2048x2048只要0.1瞟(也就是4M pixels per seconds)。
    可以處理tiff, gif, jpeg, bmp, png, pgm, fits, ascii, dicom, 等格式。各種選取工具,影像加強工具等等
  • News:各種新加入的功能說明
  • Documentation:說明文件。安裝基本觀念、操作手冊、教學與範例、討論區、FAQsMacro Language都在這邊
  • Downloads:下載專區。支援Mac OS X, Linux, Windows,範例圖片原始碼也在這邊
  • Plugins:各種特殊功能個外掛都在這邊。
  • Developer Resources:給ImageJ的開發者用的區域
  • Mailing List:開發者討論與發問的地方
  • Links:各種與ImageJ相關的連結。其他影像軟體像是ImageJ2, Fiji, Bio7, icy, ...等基於ImageJ的軟體在這邊都可以看到
更多關於ImageJ請參考 阿簡生物筆記《生物影像處理分析軟體ImageJ》
_EOF_

2017年12月13日 星期三

Linux將硬碟從GPT分割變回MBR

雖說現在主流硬碟的分割方式為GPT,但如果遇到舊主機板,開機的硬碟還是要用MBR分割。在Linux上面如果有硬碟分割成GPT,可以用gdisk把分割轉回成MBR而且無損當中儲存的資料。參考《How to Convert GPT to MBR on Linux》的做法如下:
  1. 安裝gdisk
  2. sudo gdisk /dev/sdx
    這裡的sdx就是要將GPT轉到MBR的那個硬碟
  3. r,然後按Enter
    進入“recovery and transformation options (experts only)”
  4. g,然後按Enter
    做的事情為“convert GPT into MBR and exit”
  5. w,然後按Enter
    做的事情為“write the MBR partition table to disk and exit”
注意!MBR分割的硬碟應該不能夠超過3TB,所以這招只能夠用在容量比較小的硬碟上面。此外,雖然我這樣做的時候資料沒有消失,但記得還是要先備份

2017年12月12日 星期二

Fedora 20將開機硬碟放到RAID-1

某機器系統是Fedora 20(Heisenbug)都安裝在一個硬碟/dev/sda上,分割區是:
  • /dev/sda6:掛載到/
  • /dev/sda1:掛載到/boot
  • /dev/sda7:掛載到/home
現在想把此開機碟做成RAID-1,而此RAID-1由/dev/sdc與/dev/sdd兩個硬碟組成。步驟與《Ubuntu 16.04將開機硬碟變成RAID-1》一樣的指令請參考前一篇,在Fedora上面不同的指令用紅色標記

2017年12月11日 星期一

圍棋複雜度 vs. 蛋白質序列組合數

圍棋標準棋盤為19*19,上面總共有361個點,每個點可以是黑是白或是空的,所以整體圍棋的複雜度會是:
  • $ 3^{361} ≈ 1.74 * 10^{172} $
對於一條由胺基酸組成的蛋白質,可以想像成一條串珠,每個珠子有20種組合(氨基酸有20種)。在蛋白質資料庫裡面,最常出現的長度是150與200,所以這兩者的序列組合度會是:
  • 長度150個氨基酸的蛋白質:$ 20^{150} ≈ 1.43 * 10^{195} $
  • 長度200個氨基酸的蛋白質:$ 20^{200} ≈ 1.61 * 10^{260} $
可以知道一般的蛋白質序列的組合數大於圍棋複雜度

參考資料

_EOF_

2017年12月10日 星期日

Here string <<< 命令列直接輸出

前面提過可以用 << here document從命令列直接產生檔案,但這個方法最終還要給一個檔案結束的標記。如果用here string <<< 的話,就直接輸出結果,下面幾個指令都是把輸入的字串小寫改成大寫:
  • echo "one two three" | tr a-z A-Z
  • tr a-z A-Z <<< 'one two three'
  • tr a-z A-Z <<< "one two three"
這邊的 <<< 就是所謂的here string。若是要把這個字串存到檔案aFile裡面,輸入:
  • tr a-z A-Z <<< 'one two three' > aFile
  • tr a-z A-Z <<< 'one two three' >> aFile
這裡 > 代表產生新檔案,而代表 >> 的是附加到檔案後面。
Here string可以視為pipe | 的另外一種寫法,從後方輸入

2017年12月9日 星期六

Here document << 命令列直接生成檔案

在命令列之下想要直接將鍵盤輸入的內容存成檔案,這個時候可以用Here document來做。例如說在設定XClock的顏色一文中,需要增加一些設定到~/.Xresource的檔案,這時候可以直接在命令列依序輸入下面的指令:
  1. cat >> ~/.Xresource << _END_
  2. XClock*update: 1
  3. XClock*geometry: 210x210+1020+12
  4. XClock*foreground: #fbfbfb
  5. XClock*background: #000018
  6. XClock.Clock.majorColor: rgba:f0/f0/19/ff
  7. XClock.Clock.minorColor: rgba:a0/c0/f0/ff
  8. XClock.Clock.hourColor:  rgba:c9/66/11/ff
  9. XClock.Clock.minuteColor: rgba:00/82/9f/ff
  10. XClock.Clock.secondColor: rgba:50/93/30/ff
  11. _END_
第1行的 << 代表產生一個here document,前面的 >> 代表將下面綠色的內容附加到~/.Xresource檔案後面。第1行與第11行指令裡面的 _END_ 則是代表當輸入的內容看到的時候,就結束產生這個here document。
若是希望蓋過內容而不是附加到檔案後面,那麼則是要將 >> 改成 > 既可。

_EOF_

2017年12月8日 星期五

用 < 讓檔案直接變成標準輸入

下面三行指令代表的意思是一樣的:
  1. grep phobia /usr/share/dict/words
  2. grep phobia < /usr/share/dict/words
  3. cat /usr/share/dict/words | grep phobia

2017年12月7日 星期四

Clonezilla做在GPT分割的硬碟上

現在的外接硬碟許多都已經超過3TB,若用《製作硬碟開機的Clonezilla Live》來製作硬碟開機的Clonezilla,在分割此外接硬碟時就需要用到GPT分割,要注意到幾件事情:
  1. 分割硬碟不能夠使用fdisk指令,要改用gdisk或是gparted等指令
  2. 由於用GPT分割,故使用BIOS開機的舊主機板(BIOS-based computer)將無法使用這樣做出來的Clonezilla
  3. GPT分割的第一個磁區,沒有Windows FAT32可以選,取代的則是要選EFI System Partition(gdisk的internal code會是0xef)。也就是說用gdisk分割後,把第一個磁區指定成EFI partition,跳出以後再用mkfs.vfat來將此分割區格式化成為FAT32格式
  4. 在用mkfs.vfat -F 32 /dev/sdc1 做格式化的時候,可能會出現錯誤訊息"WARNING: Not enough clusters for a 32 bit FAT"。解決方式可以測試下面兩個指令:
剩下的安裝Clonezilla部分就參考《製作硬碟開機的Clonezilla Live》。由於是GPT分割,且第一個磁區分割成EFI System Partition,所以上文裡面Step 3中使用makboo.sh那個script不需要執行,uEFI自然就會去讀取那個分割區來用Clonezilla開機了~

_EOF_

2017年12月6日 星期三

Tommy 碎碎念

在找一些Linux問題解法的時候,找到這個網站『Tommy Wu's blog』。版主的碎碎念從2002年就開始了(¡也真是古老!),裡面有許多架站時遇到的問題與解法。
  • Tommy 碎碎念:就是主要的網站
  • Tommy 簡介:台大數學系,寫程式是興趣也是工作,以前在懇懋科技(Phitech)、後來轉職到Link2Support

2017年12月5日 星期二

阿旺的Linux開竅手冊

網站提供許多基本與進階的Linux操作,如果覺得鳥哥vbird寫的Linux教學太雜,可以看這個網站。內容分成三大部分:
  1. 基礎篇:Linux的基礎操作
    1. 認識Linux:Linux歷史的介紹。有提到UNIX, minix, Linux之間的關係。另外有圖示說明Linux操作系統如何工作或與硬體溝通
    2. 安裝Linux:有介紹如何安裝Linxu在VirtualBox上面
    3. 了解文字介面: 基本指令列的操作
    4. 檔案/目錄/路徑:檔案與目錄的操作。另外管線pipeline與重新導向I/O redirection也在這邊有介紹
    5. 檔案操作/權限:基本檔案操作cp, mv, rm, ln的使用,還有rename大量更改檔案名稱
    6. vi文字編輯器:圖形化說明命令模式(CMD-line mode)、一般模式(Normal mode)、插入模式(Insert mode)之間的操作
    7. 檔案壓縮/搜尋:介紹指令來操作gz, bz2, z, zip與tar的使用。在找檔案方面有type, which, whereis, find等的使用

2017年12月4日 星期一

用MacPorts安裝軟體

MacPorts是一套第三方套件管理系統,從BSD的ports弄到Macintosh上,使用方法如下:
  1. port search KEYWORD
  2. port search PACKAGE
  3. port variants PACKAGE
  4. port deps PACKAGE
  5. port info PACKAGE
  6. sudo port install PACKAGE 
  7. port content PACKAGE
  8. port dependents PACKAGE
  9. port rdependents PACKAGE
上面的指令,藍色的是安裝軟體之前紅色為安裝指令綠色的是安裝之後,綠色的指令在還沒有安裝軟體之前是看不到任何相關的資訊的

2017年12月3日 星期日

Karabiner Element改變鍵盤佈局

《用Karabiner改變Mac的鍵盤佈局》簡單介紹了Karabiner-Element這個keyboard remapping程式。但其設定檔放置位置與以前不一樣(上一版的Karabiner的設定檔案放在/Applications/Karabiner.app/Contents/Resources/private.xml),但新版的Karabiner-Element將設定檔案放在 ~/.config/karabiner/ 下面,目錄結構如下
  • karabiner
    • assets
      • complex_modifications
        • xxxxxxx.json
    • karabiner.json 

簡單說明上面藍色與綠色兩個json檔案:

2017年12月2日 星期六

PyMOL用Trackpad操縱分子

Macintosh筆電的觸控板(Trackpad)要移動分子有下面幾個方法:
  • 左鍵(left click, button1)並在觸控板上滑動:轉動分子
  • option-左鍵並在觸控板上滑動:移動分子
  • 右鍵(right click, button2)並在觸控板上滑動:縮放分子
這邊要注意的是,右鍵的部分必須要去Preferences > TTrackpad裡面把Secondary click改成"Click in bottom right corner",這樣按住觸控板右下角才能夠用另外一隻手指頭滑動來縮放分子。
其他要用到中鍵(middle click, button3)的功能就必須要用軟體修改,最方便的方式應該是 fn-左鍵 = 中鍵,以前的Karabiner可以這樣做,但改版成Karabiner-Element以後設定方式改變還需要研究一下如何設定

_EOF_