2015年9月24日 星期四

免費看美國影集、電影的軟體 - 爆米花時間 (Popcorn Time)

下載網址: https://popcorntime.io
開源專案網址: https://github.com/popcorn-official

從國外論壇看到這軟體, 可以正常使用.

據說是採用 bit torrent 的技術, 高清(HD), 且可以有英文字幕.

軟體介面有多國語言.



其它版本:
http://popcorn-time.se/

若需要支援中文字幕版本的軟體(非官方), 可從此下載:
http://1somethings.blogspot.tw/2014/05/popcorn-time_25.html

2015年9月22日 星期二

C 語言程式設計 - 除錯用巨集範例(print message for debugging)

這是一個可重複使用, 事先定義在 common header 中, 用來列印除錯訊息的範例.

主要是利用 __FILE__, __LINE__, __FUNCTION__ 等 compilier build-in 提供的資訊.
此時所有的 debug message 就不用再次(重覆)寫這幾個內容.

#define DBG_PRINTF_EN   (0)

#define DBG_PRINTF(fmt, ...)                                                            \
do {                                                                                    \
    if (DBG_PRINTF_EN)                                                                  \
        printf("%s:%d:%s(): " fmt, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__);    \
} while (0)


2015年9月21日 星期一

[教學] Subversion (svn) 如何將部份檔案標記為不提交(commit).

此範例以 bash (Shell) 為例:

定義一個名為 svn 的 bash function, 輸入指令:

$ svn() { if [[ $1 = "ci" ]]; then command svn ci `svn st | sed -e "/^--- Changelist 'ignore-on-commit'/,/^--- Changelist/d" | grep '^[ADMR]' | awk '{print $NF}'`; elif [[ $1 = "skip" ]]; then command svn cl 'ignore-on-commit' "${@:2}"; elif [[ $1 = "unskip" ]]; then command svn cl --remove "${@:2}"; else command svn "$@"; fi; }

當使用 svn ci 指令時, 會自動將 'ignore-on-commit' 此 changelist 中的檔案剃除.
此名稱是 SVN Tortoise 預設使用的名稱. 所以建議使用此 changelist 名單.

增加 [欲忽略的檔案] 到 'ignore-on-commit' 名單中:
$ svn skip FILENAME
或自行採用原生指令:
$ svn cl 'ignore-on-commit' FILENAME
A [ignore-on-commit] FILENAME

FILENAME 為欲忽略的檔案名稱.

反之, 欲取消忽略此檔案:
$ svn unskip FILENAME
或自行採用原生指令:
$ svn cl --remove FILENAME
D [ignore-on-commit] FILENAME


備註:
目前已知問題為, 當除了 'ignore-on-commit' 中的檔案以外, 沒有其他變動的檔案, 會視為想要 commit 'ignore-on-commit' 此名單中的所有檔案.

Shell: bash, tcsh, sh 的比較 (不同)

bash:
Linux 的使用者普遍使用的 shell, 網路上找到的 Linux script 或相關教程. 都是以 bash 為範本.

tcsh:
若你是個 C 語言的開發者, tcsh 的語法較為接近 C.

sh:
在各種 Unix-like 平台之間, 相容性最高的 shell, 若要寫一個通用的 script, 以 sh 最為理想.
(建議一定要瞭解 sh 的基本用法)

[參考網頁]

個人建議學 bash + sh. 參考網頁: https://web.fe.up.pt/~jmcruz/etc/unix/sh-vs-csh.html

2015年8月1日 星期六

冠詞的用法 (Using Articels)

主要參考出處: https://owl.english.purdue.edu/owl/resource/540/01/

冠詞(article)有兩種: 定冠詞(definite article) 與不定冠詞(indefinite article).

定冠詞指的是 the, 而不定冠詞指的是 a/an.

從詞性來分,主要差別在於 the 是修飾後面名詞,表達【限定某群體中的特定某一個/些】.
而 a/an 有兩類含義, 表達【一個(數量上)】或【非特定的某一個】。

例如:

"Let's read the book (我們來讀這本書吧)"
"Let's read a book (我們來讀一本書吧)"

大部分的專有名詞都不需要加定冠詞 (the).
特例部分:

  1. 河流、海洋、海域: 尼羅河(the Nile), 太平洋(the Pacific)
  2. 地球(世界)座標: 赤道(the Equator)、南北極 (the North/South Pole)
  3. 地理區域: 中東(the Middle East)、西方(the West)
  4. 沙漠、叢林、海灣、半島: 撒哈拉沙漠(the Sahara)

2015年6月21日 星期日

Linux 指令: find 尋找目錄或檔案

用檔名尋找

(預設區分檔案名稱英文大小寫)
find -name "檔案名稱"

(不區分檔案名稱英文大小寫)
find -iname "檔案名稱"

反向尋找(即不符合此名稱的檔案)
find -not -name "檔案名稱"

find -type 檔案類型
檔案類型有:
f: 一般檔案
d: 目錄
l: 連結
c: 字元裝置
b: 區塊裝置

指令格式:
     find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
     find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]