2016年2月20日 星期六

使用 VLC 動態調整字幕時間軸 (Sub sync: set bookmark first) @ Mac OS X 10.11.13

很多播放軟體都有提供延遲或增快字幕的播放機制,但很多都是預先要設定個秒數,不見得方便。最近使用 VLC 後,發現他有非常人性化的設置,當你要處理字幕跟影片的落差時,假設字幕跑得比較快,可以先用 Shift+J 快速鍵記錄某字幕出來的時間,接著當你聽到對應聲音的時間時,請用 Shift+H 記錄,接著再按 Shift + K 後,VLC 就自動幫你同步好了!實在方便啊,紀錄一下。

若字幕或聲音沒有都設置 bookmark 時,直接按 Shift + K 會得到:Sub sync: set bookmark first 訊息。

筆記:

  • Shift + H:定位 Audio 時間位置
  • Shift + J:定位 Subtitle 時間位置 
  • Shift + K:將 Audio 跟 Subtitle 時間同步

2016年2月18日 星期四

[Linux] 使用 find -ctime 刪除指定時間區間的檔案 @ Ubuntu 14.04

find -ctime 指令非常方便,例如找時間大於七天的資料:

$ find /path -ctime +7

所以要刪除七天以上的資料,的確可以靠上述完成,但如果有備份程式掛了沒產出時,豈不是會刪光資料?所以又有一招可以找最新七天內的資料:

$ find /path -ctime -7

因此,我就把自動清空指令改成:先判斷備份程式是否正常,正常的話,則刪除某段時期的資料。

連續動作:

$ sh -c  'files=`find /data/jenkins-backup -maxdepth 1 -ctime -7 | wc -l` && test $files -gt 20 && find /data/jenkins-backup -ctime +7 -delete '

而這段意思就是在處理 Jenkins 自動備份機制,因為一天會備份多次,所以用 20 個當作七天內至少要有 20 筆備份資料,當備份資料有正常產出時,在刪除大於七天內的資料。而採用 sh -c 的方式是可以埋在 crontab 中來做事,包含指定 sudo -u user 來限制不小心砍錯資料。

AWS 筆記 - Godaddy 續約憑證 (HTTPS/SSL) 以及 Load Balancer 憑證更新方式

AWS ELB Certificate

購買了每兩年更新一次的憑證服務,然而,憑證更新的原理是所有機器的憑證都會替換掉的。所幸更新憑證時,新舊憑證都會共存的,而 Godaddy 給予 90 天的區間來處理。

官方文件:https://tw.godaddy.com/help/ssl-864
您需要執行幾個步驟後方能續約 SSL,續約操作視憑證類型及網站託管地點而定。 即使您的 SSL 是自動續約,您也需要套用續約積分,並透過帳戶完成續約請求。
您可以在 90 天續約窗口期內購買及套用 SSL 續約: 過期前 60 天至過期後 30 天內。
例如,若您的憑證在 6 月 15 日過期,則您必須在 4 月 15 日至 7 月 15 日間購買並套用續約積分。
在您購買續約積分或您的 SSL 自動續約後,您必須將積分套用至即將過期的 SSL,並完成續約請求。 倘 SSL 過期且您沒有在 90 天續約窗口期內完成續約請求,則之前正常的網站會出現錯誤訊息。
先走一輪 Godaddy 設定:
  1. 在 https://certs.godaddy.com/cert 挑選要續約的憑證,可以看有效日期 
  2. 檢視狀態
  3. 狀態: 續約憑證 -> 點擊後則是一些簡易流程、送單
  4. 接著就只需等待,大概10分鐘內,可以在 https://certs.godaddy.com/cert 看到有效日期被拉長了
  5. 進去檢視憑證,接著下載新的憑證資料(以 Apache 來說,內容物就 gd_bundle-g2-g1.crt 和 yourdomain.crt 兩個檔案)
接著 AWS ELB 的設定:
  1. 在 EC2 -> Load Balancers -> 挑選指定 ELB
  2. 切換至 Listeners 分頁 -> SSL Certificate -> 點選 Change 就可以上傳新的憑證資料
若有其他 ELB ,則直接 Change 到新設定的即可。

2016年2月11日 星期四

How Much Did They Pay You To Give Up On Your Dreams?


最近這一兩年,同儕不外乎追求著數字上的卓越,彼此分享的資訊大概都補足了台灣、大陸和美商的價碼,就是一張冷冰冰的薪資年資梯度表罷了,然而,這段影片就常常出現在我的耳邊:他們到底付了多少錢,讓你放棄夢想?

幾天前和學弟聊了幾句,有的夢想只剩下到國外掙更多的數字,有些人接近了資方,除了替自己的福利爭取時才會轉換勞方心態外,冰冷冷的心態還是沒啥兩樣。到底人是為了熱情工作呢?還是為了未來?還是,就單純的數字?就像玩世紀帝國,不斷地挖礦、搶礦,砍樹種田等,結果從頭到尾就只是數字一直爬昇著,接著就 Game Over 了?

想想未來,想想最初的那一刻吧 :) 這世上一定有更多有趣的事可以追隨的,想不起當年的夢想也沒關係,再找下一個夢想吧!新年快樂!

2016年1月28日 星期四

Nginx 支援多網域 Access-Control-Allow-Origin 設定方式

原先 Access-Control-Allow-Origin 只能支援一個指定網域或 "*" 的設定,想要支持多網域設定時,就來用一下 nginx 的變數吧!

set $access_control_allow_origin "www.changyy.org";
if ($http_host ~ ^(.*\.changyy\.org)$ ) {
set $access_control_allow_origin $1;
}
if ($http_referer ~ ^(https*\:\/\/.*\.changyy\.org)\/ ) {
set $access_control_allow_origin $1;
}
add_header Access-Control-Allow-Origin $access_control_allow_origin;
add_header Access-Control-Allow-Methods "GET, OPTIONS, POST, HEAD, DELETE, PUT";
add_header Access-Control-Allow-Headers "Authorization, X-Requested-With, Content-Type, Origin, Accept";
add_header Access-Control-Allow-Credentials "true";
add_header Access-Control-Max-Age: 86400;


如此一來,只要是 *.changyy.org 的都可以支援啦!同理就可以用在多網域得設置。

若需要支援不同網域以及非預設的 web port ,則要把規則改成:

set $access_control_allow_origin "www.changyy.org";
if ($http_host ~ ^(.*\.changyy\.org(:[0-9]+)*)$ ) {
set $access_control_allow_origin $1;
}
if ($http_referer ~ ^(https*\:\/\/.*\.changyy\.org(:[0-9]+)*)\/ ) {
set $access_control_allow_origin $1;
}