macOS 不能 push 到 bitbucket 解決方法

最近才開始使用 source tree 搭 bitbucket 來做 version control,遇到的都是 SSH 認證的問題。首先是要在 bitbucket 的設定加入自己電腦的 SSH key,再來就是要在電腦入的 ssh 加入 bitbucket 的 identity。第一點比較易做就不作筆記了,第二點就有一點點不太易找到原因,所以就記錄一下。

如果在 push 的時候出現以下錯誤:

[email protected]: PERMISSION DENIED (PUBLICKEY).

就有可能是 local 電腦的 ssh 未有加入 bitbucket 的 identity 所致。先到 terminal 試試連線:

$ ssh -Tv [email protected]

如果出現 “Permission denied (publickey).”,再執行以下指令:

$ ssh-add -l

如果沒有像 “4096 SHA256:….. {your-user-name}-Bitbucket (RSA)” 這樣的字串,那就要加入那個 identity。加入前請先確定你已經 generate 了 SSH-key 以及有用 OAuth 連結 bitbucket 的帳戶。

在 ~/.ssh 資料夾內,應該會有一個檔案叫 “{your-user-name}-Bitbucket”,然後用以下指令加入該檔:

$ ssh-add {your-user-name}-Bitbucket

加入後再用“ssh-add -l”看看有沒有這個 identity,有就代表成功了。最後可以再執行“ssh -Tv [email protected]”看看能否連線,當然直接再 push 也可以啦。

Mac OSX 音樂串流控制軟件 – Linn Kazoo

現在網絡播放應該是玩 CAS 入備的吧?把極佔位置的 Hi-Res 音樂檔放到 NAS,再利用手機 APP 選擇檔案播放,大概已是基本功能。像我本人就是這樣的配備:NAS 存放音樂檔 + Onkyo R-N855 網絡播放器。

在手機及 iPad 都用 Onkyo 的官方 App 及一個叫 Lumin 的 App 來控制播放音樂。但是,這類 APP 真的幾乎只有手機版本,PC/Mac 好像不多。找了好久,終於找到一個叫 Linn Kazoo 的軟件。

(閱讀全文…)

Google Drive File Stream – OSX

剛剛用 Google Drive File Stream,在安裝階段就預到麻煩…

在我的 MacBook Pro (10.14) 完全沒有問題,但是在 Mac Mini Server 2010 (10.13.6) 就有問題…

安裝沒有問題,打開程式時需要到偏好設定的安全性設定內允許執行 Google 程式也允許了,但 Google Dirve File Stream 就未曾成功連接過。Google 了好一陣子,連接失敗的解決辦法都是重啟 Finder 或重裝,但試了好久也未能成功…

正打算放棄的時候,才發現安全性設定內允許執行好像有些奇怪…無論怎樣按下「允許」都沒有移除該警告,於是改變 Google 搜尋的方向 — 如何 unblock。

果然就有答案…就是要把 System Integrity Protection 關上才行…

方法就是重新開機進入 Recovery Mode,在終端機執行 ‘csrutil disable’,然後重新開機即可!真的解決了問題!

找不回原出處在哪,只有那位發現此方法的用家的相片一張 (Click here),希望能幫到大家。

XLD 轉檔小貼士

近年開始聽 Hi-Res,也把手頭上一些 CD 重新 rip 成無損格式。在 Mac 上 rip CD 一般都是用 XLD 了,支援的格式最廣,因為有幾種除錯方法所以出來的質素也很好。

不過,它的缺點就是 tag 的資料庫不太齊全,尤其是日韓文歌。

經過一段時間,發現原來言些 tag 不一定要在 XLD 內填入,而是可以利用一下 iTunes 的資料庫。

方法非常簡單,先入碟,然後在 iTunes 選 CD,iTunes 會自動搜尋 tag。當在 iTunes 看到歌名等資料已經填好後,請先不要關掉 iTunes,打開 XLD,按 File -> Open Aduio CD,選擇你的 CD,然後就會見到資料已經㚂好了。

可是 Album Art 仍要自己找。

WKWebView

由於前陣子寫了個 iOS 的 app 是需要開啟網頁的,所以又接觸了 Webkit 相關的東東。由於 UIWebView 已經被列為古蹟,所以這次使用了 WKWebView。

基於這個原因,所以就利用 WKWebView 做了一個簡單的瀏覽器,只有最基本的瀏覽功能。

要使用 WKWebView,要先導入 Webkit framework。

import WebKit

在 view controller 內建立一個 WKWebView 物件,以及一個 UIView 作顯示用途。

@IBOutlet var webviewView: UIView!
var webview: WKWebView!

於 viewDidLoad 內進行初始化。

webview = WKWebView(frame: .zero)
webviewView.addSubview(webview)

載入網頁。

let tURL = URL("https://www.google.com")
webview.load(URLRequest(url: tURL))

(閱讀全文…)

SwiftSocket

很久以前就想找一個簡單易用的 socket library,最近終於找到一個叫 SwiftSocket 的 library,是以 Swift 寫成的簡易 socket library。

使用方法亦很簡單,首先建立一個 TCPClient object,然後使用 connect() 方法連接。比較特別的地方是它是返回一個 “Result” object 來表示連接成功與否。

let client = TCPClient(address: “www.apple.com”, port: 80)
switch client.connect(timeout: 1) {

case .success:

// Do something

case .failure(let error):

print(error)

}

(閱讀全文…)

筆記:字幕制作(Mac)

早幾日試下整字幕,暫時都仲係用緊 ass 同 srt 為主,而制作工具 Mac 上面似乎冇乜選擇,Google 左一輪,好多都死曬,得返 iMovie 同 Aegisub。雖然鄰國果個唔記得咩名既軟件好正,由加字幕到內嵌可以一手包辦,但你懂的,所以我試都冇試直接放棄佢。

iMovie 雖然可以用黎加字幕但彈性好低,始終都係要用專門既軟件,Aegisub 就係淨返既選擇。

由於我都唔係太熟字幕既野,我都係好簡單咁喺唔同時間加字幕,上邊加下邊加,完全冇問題。佢應該仲可以打斜果啲,但我冇試過喇。佢係跨平台免費軟件,使用者體驗比較差係意料中事。

做好字幕後將佢 Export 做 ass 檔,然後就要將佢同 MP4 burn 埋一齊。

呢樣野好多軟件都要收錢,咁我就試可唔可以用 vlc 將 MKV 既顯示結果轉做 MP4。

咁就先將 MP4 同字幕檔打包做 MKV 先,用既係 MKVToolNix,好簡單易用,加曬啲嘢入去就比到個 MKV 你。

返去 vlc,可能設定有問題,試左一輪都出唔到個有字幕既 MP4,就算得,佢都唔識用我指定既字型,都係冇用。

結果就搵到個叫 MP4Tools 既軟件,可以將 MKV 轉做 MP4 再將字幕 burn 埋上去。佢係 shareware,唔註冊就用唔曬所有功能,但都足夠做我要既野。

實驗結果:

bilibili Down

最近開始學 Swift,第一個作品既題目就係「如何下載 bilibili 的視頻」。

唔想睇廢話請按此

一如所料 Swift 的確比 Objective-C 易學,但又不會因而削弱功能。基本上 Objective-C 做到嘅嘢 Swift 都可以做到。語法亦比較簡單而睇,非常適合入門新手。而好似我咁有啲經驗既都可以學吓,我覺得用 Swift 可以比用 Objective-C 花更少時間去 code 同一樣嘢。

講返「如何下載 bilibili 的視頻」。

經過一輪研究,bilibili 網頁播放器其實會透過一個 API 去拎條片既位置。而呢個 API 就會比返一個 JSON (之前係 XML,好彩我做到最後測試佢就轉做 JSON,唔係就九成唔會改)比播放器,入面就有齊我想要既嘢。問題就係點樣使用呢個 API。

個 API 其實就唔可以就咁用,因為佢有一堆 key 呀 id 呀咁嘅嘢要黎做認證之類。要砌返出黎都幾煩,要分析 HTML,佢個網一改動過就有可能失效。於是我就用最懶嘅方法:WebKit

WebKit 有個好偉大嘅功能,就係佢每 load 一樣嘢都會比個通知你。於是就係用呢個功能去監察住佢幾時 load 果個 API,咁就省去自己砌既麻煩。而代價就係要用多啲時間同 memory…Any肥,總之拎到就得啦…XD

結果大概用左一個星期就一面學 Swift 一面寫咗出黎。

完成品在