2019年2月27日 星期三

Mac讓CapsLock按鍵變成輸入法轉換

鍵盤上Caps Lock的按鍵並不常使用到,卻佔了鍵盤上一個很大的位置。在Mac上可以用Karabiner Element這支程式來將其變成輸入法轉換。做法是新增一個檔案 ~/.config/karabiner/assets/complex_modifications/CapsLock_to_InputChange.json,如下:

2019年2月26日 星期二

Windows檔案總管固定檢視方式

想要改掉Windows 10檔案總管預設的檢視設定,步驟如下:
  1. 開啟任何一個資料夾
  2. "檔案"分頁 > "選項"按鈕 (點下去)
  3. "檢視"分頁 > "套用到資料夾"按鈕 (點下去)
  4. "您是否要將所有這個類型的資料夾比照這個資料夾的檢視設定" >是 
  5. 按下"確定"離開

_EOF_

2019年2月22日 星期五

Windows 10透過SSH掛載遠端資料夾

想要掛載遠端主機的資料夾,除了遠端主機架設Samba讓客戶端可以直接用網路芳鄰來掛載資夾,另外一種方式則是使用sshfs。此法遠端主機只要有架設SSH服務即可。在Windows系統中此方法可以用Dokan + sshfs for Windows來達成:
  • Dokan:通稱fuse for Windows,用來弄出一個虛擬硬碟
  • WinSSHFS:Windows版本的sshfs,使用SSH與遠端機器連線,將遠端的資料夾掛載到本地端的虛擬硬碟上面

2019年2月21日 星期四

SSH config設定登入主機與帳號

有台想要遠端登入的主機:
  • IP:192.168.77.88
  • 登入帳號:ooo
一般的登入方式是輸入下面的指令:
  • ssh ooo@192.168.77.88

2019年2月20日 星期三

不只是終端機的MobaXterm

Windows上面的終端機使用的是Windows本身的指令,沒有辦法使用UNIX-like系統上的指令像是grep, sed, awk...等。MobaXterm這個終端機免費版提供下面的功能:
  • 多視窗終端機:可執行UNIX-like的指令與Bash Shell script
  • X Server:可以把遠端X Windows的圖形介面接回來使用
  • SSH客戶端:可以使用ssh加密連線到遠端伺服器
    • 遠端連線後,會有sftp可以上傳與下載檔案
    • 搭配X11 forwording可以把遠端的圖形介面顯示在本地端
  • 網路工具組:
    • 列出目前機器上面開的port
    • 掃描某個網段上面的機器
    • 掃描某台機器上面所有的port
    • 抓取網路上面的封包
MobaXterm就像是裝在Windows上面的一個小的虛擬UNIX-like系統,但是可以直接操作Windows上面的檔案

2019年2月19日 星期二

基因變異對於致病性的分類

對於基因變異對於某種疾病的致病性,可以根據AMCG (American College of Medical Genetics and Genomics)與AMP (Association for Molecular Pathology) 的建議分成五類:
  • Pathogenic:致病
  • Likely pathogenic:可能致病
  • Uncertain significance:不明確
  • Likely benign:可能良性
  • Benign:良性

2019年2月14日 星期四

Linux修改date指令顯示的時區

在Linux看系統的時間指令是date,但有時候會出現美國東部時間EST。要暫時顯示台灣時區的話,可以用下面的指令:
  • TZ=Asia/Taipei date
上面的TZ是time zone的意思,後面接的是地區。地區列表則是參考 /usr/share/zoneinfo 下面的資料夾與檔案。若是要永久將時區改成台灣地區,那麼使用下面的指令:
  • cd /etc && ln -s ../usr/share/zoneinfo/Asia/Taipei localtime
若沒有管理者權限,那就修改個人的環境變數。以Bash為例,修改~/.bashrc
  • export TZ=Asia/Taipei
這樣登入以後直接打date就會顯示台灣時區

參考資料

_EOF_

2019年2月13日 星期三

while read搭配pipe要注意變數值的傳遞

當Bash使用while read來讀檔案的時候,若是用到pipe (|)直接傳送結果給while read,要注意後面的while read部分會在另外一個shell裡面執行;故在while read迴圈裡面改變變數的數值並不會導致原始script裡面的變數值,這點要很小心

2019年2月12日 星期二

Windows上用Anaconda安裝Python3.x

使用Anaconda來安裝Python 3.x過程如同安裝Python 2.x,差別只在於官方網站下載的時候選用Python 3.x Installer。
安裝完以後Python 2.x和Python 3.x會放在不同的資料夾裡面,不會互相干擾到

2019年2月11日 星期一

Windows上用Anaconda安裝Python2.x

前面關於安裝Python2的文章:
安裝完以後,執行Python需要用到難用的Windows命令列。下面改採用anaconda安裝,內建有Spyder編譯器與Jupyter notebook,分別是圖形開發介面與網頁版開發介面。使用起來比較方便。安裝請依照下面的步驟:
  1. 到anaconda官方網頁下載,對於64位元的Windows選擇如下
    Windows > Python 2.7 > 64-Bit Graphical Installer (560.6 MB) 
  2. 點兩下 Anaconda2-2018.12-Windows-x86_64.exe

2019年2月8日 星期五

iptables顯示所有NAT規則

要看當前系統上面iptables的規則會用指令
  • iptables -L
但這樣只會看到一般的規則,若是有做NAT,上述的指令看不到。想要看到iptables裡面的NAT table規則,要加上下面的參數:
  • iptables -t nat -L

2019年2月7日 星期四

CRLF line terminators

因為Linux和Windows對純文字文件的換行方式不同:
  • Linux用:\n
  • Windows用:/r/n
所以若是用Windows來編寫Shell腳本,會造成程式在執行時可能會出現下面的錯誤:
  • No such file or director
  • command not found line x

判斷一個Shell腳本是Linux還是Windows,可以用file

2019年2月6日 星期三

顯示硬碟某分割區的檔案系統

在還沒掛載硬碟(這邊以/dev/sda為例子)之前想要知道分割區(partition)的檔案系統(file system)是那一種,可以用下面兩個指令來做:
  • sudo lsblk -f /dev/sda2
  • sudo file -s /dev/sda

2019年2月5日 星期二

簡介汽車懸吊系統

汽車的懸吊系統用處有兩個:一是讓乘客感到更加舒適、另一個則是讓車輪能夠好好地貼著地面維持操控性。這兩者有很多時候並無法同時滿足,必須要就使用方式來作權衡。

汽車的懸吊系統根據輪子對路面的反應會不會交互相影響分成非獨立懸吊(Dependent suspension)與獨立式(Independent suspension)。以下介紹汽車常見的懸吊系統:
  • 非獨立懸吊:前輪(或是後輪)對路面反應會互相影響,比較常見的有
  • 獨立懸吊:輪子之間對路面的反應不會交互影響

參考資料

_EOF_

2019年2月1日 星期五

安裝R套件遇到LC_XXX failed, using "C"

在Mac上面安裝某些R套件的時候,出現下面的錯誤訊息

During startup - Warning messages:
1: Setting LC_CTYPE failed, using "C"
2: Setting LC_COLLATE failed, using "C"
3: Setting LC_TIME failed, using "C"
4: Setting LC_MESSAGES failed, using "C"
5: Setting LC_PAPER failed, using "C"

解法是在~/.Rprofile裡面加入這一行
  • Sys.setenv(LANG="en_US.UTF-8")