下載網址: 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月24日 星期四
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)
主要是利用 __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)
標籤:
C,
Debugging,
Programming
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' 此名單中的所有檔案.
定義一個名為 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' 此名單中的所有檔案.
標籤:
bash,
Linux,
Subversion,
svn
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
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).
特例部分:
冠詞(article)有兩種: 定冠詞(definite article) 與不定冠詞(indefinite article).
定冠詞指的是 the, 而不定冠詞指的是 a/an.
從詞性來分,主要差別在於 the 是修飾後面名詞,表達【限定某群體中的特定某一個/些】.
而 a/an 有兩類含義, 表達【一個(數量上)】或【非特定的某一個】。
例如:
"Let's read the book (我們來讀這本書吧)"
"Let's read a book (我們來讀一本書吧)"
大部分的專有名詞都不需要加定冠詞 (the).
特例部分:
- 河流、海洋、海域: 尼羅河(the Nile), 太平洋(the Pacific)
- 地球(世界)座標: 赤道(the Equator)、南北極 (the North/South Pole)
- 地理區域: 中東(the Middle East)、西方(the West)
- 沙漠、叢林、海灣、半島: 撒哈拉沙漠(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]
(預設區分檔案名稱英文大小寫)
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]
訂閱:
文章 (Atom)