整理 MP3 ID3 tag

之前有整埋 MP3 的 ID3 tag,以下是我的小分享。

如果要整理 MP3 檔的 ID3 tag 的話,可以用 Mp3tag。在設定頁,揀選 Tags | Mpeg,在 Write 部分只剔選 ID3v2,而下面就只揀選 ID3v2.3 UTF-16。而在 Remove 部分則剔選 ID3v1 及 APE。這樣就應該不會再有亂碼。

如果要移除其他 tag(例如歌詞、iTunes 遺留下來的 tag),可以在 Mp3tag 的檔案欄的項目按右鍵,然後點選 Extended tags。歌詞的 tag 是 UNSYNCEDLYRICS

iTunes 都可以整理 MP3 的 ID3 tag,但預設是不會將 tag 的改動寫回 MP3 檔內,如果沒有特別處理過的話在其他 player(例如電話)播放就未必見到改動過的 ID3 tag。

如果要補回專輯的 cover art 的話,除了 Google image search 之外,iTunes Store 本身都有提供大量 cover art。除了用 iTunes 來自動補回 cover art 之外,也可以用 iTunes Artwork Finder。只需揀選 Album,輸入專輯名並選擇 iTunes Store 地區就可以開始搜尋。網站會提供 600 px 和 1500 px 的圖像。只需右鍵複製再在 Mp3tag 的 Cover 欄右鍵貼上就能替歌曲補回 cover art。

Inline CSS

最近需要寫一個發送 email 的 program。如果要用 HTML 的話,最好都是找到現成的 HTML email framework。(例如 Zurb 的 Ink,其他的可以參考 Responsive Email Resources 網站)因為 HTML email 和平時做網頁分別很大,例如:

  • CSS 要 inline,<style> 並不是全部 email client 都能支援
  • 排版要用 <table>
  • 圖片視乎需要當成附件,Base64 未必能被 email client 支援
    但設計 email 時如果要寫 inline style 是非常難寫,所以都是用工具轉。我試過用 Gulpgulp-inline-cssgulp-inline,效果不錯。

    Read More

OnePlus One + Xperia Z2

最近發現我的 Xperia ion 有時候會誤以為耳機還插在電話,結果電話不會響。隔一段時間後重啟又會變回正常。加上 ion 因為少 RAM 而經常自己 kill app,最後決定換部新的電話。

之前一直都想換電話,在上年 10 月中的時候收到訂購 OnePlus One 的邀請,買了一部 64 GB Sandstone Black。後來發現不太合意,收機當晚就決定退貨。後來買了 Sony Xperia Z2。

Read More

Data.One 的行車速度圖

香港政府的 Data.One 有提供運輸署的行車速度圖 XML 資料。資料以線條為單位,表示路段的行車速度。雖然它有提供 Excel 格式的路段起點和終點座標和其他基本資料,但郤沒有提供地圖示意各路段是對應那條實際的道路。而且座標系統是使用政府測量用的 HK80 而非一般網上地圖 API 的十進制 WGS84 座標。如果想使用這些資料的話,就要先將 HK80 座標轉為 WGS84,然後將點和線畫在地圖上,再對比實際的道路才能知道各條線所代表的道路。

我已經將行車速度圖 Excel 內的點轉成 WGS84 座標,而且做了個 KML 檔案標示各點和線。KML 檔可以用 Google Earth 開啟。(KML 內的物件已超出 Google Maps My Place 匯入 KML 檔的上限,所以要用 Google Earth 開啟。)

行車速度圖的路段

ThinkPad 死電池

在大學買的 ThinkPad X230 已經用了兩年(2012 年 8 月購入),但就先後壞了兩次電池。第一次壞是在 2014 年 2 月(一年半),用了 72 個 cycle 的電池突然不能充電和放電,Power Manager 顯示為 poor condition。由於電池只有一年保養,所以到 Lenovo 維修中心買新電池。但新電池未夠半年就有問題。

新電池在用了幾個月後就錯估電量。當電量剩餘約三分之一時,Windows 和 ThinkVantage Power Manager 就會突然提示電量只有 6%。如果不在幾分鐘內插上電源電腦就會自動關機。試過校正電池電量,但過了一段時間又會打回原形,於事又要到維修中心一趟。這次因為電池保養未完,所以直接換了電池。新電池大約可以用到三個多小時,不知這次壽命如何。三粿電池的芯都是用 SANYO,但之前兩粿的電池品質都有問題。

除了主電池之外,底板的電池用了一年多就沒電。一般桌上電腦的底板電池用了五六年才會用完,底板電池用了一年多就用完簡直離譜。另外,它的 Windows recovery media 也是有問題的。買機後馬上用 USB 手指做了一個 recovery media,後來用這個 USB 手指做系統還原時發現有錯誤,結果要拿去維修中心重裝系統。

ThinkPad 的品質差原來都不是新鮮事,原來前幾年發生過 ThinkPad E420「主板門」事件。雖然 E 系不是原 IBM 系列,但都可以見到 Lenovo 的品質問題不是個別事件。日後再買電腦都應該不會再考慮 Lenovo。

DevDocs

如果用 Mac 來寫程式的話,相信都有聽過一個 app 叫 Dash。它是一個離線閱讀 API 文件的工具。如果是用 Windows 或者 Linux 的話,有一個類似的 app 叫 Zeal,這個更加是免費的。

但如果不想安裝軟件的話,可以用 DevDocs。只需要在左下角點選「Select documentation」,選擇需要查閱的 API。之後就可以在左上角的搜尋欄搜尋 API。這些軟件的好處就是將不同的 API 文件整合在一處,無需到各個 library/framework 網站查閱。而 DevDocs 還會將不同的文件套上統一式樣,界面更加清新。

如果找不到所需的文件,還可以到他們的 Trello 提議和投票。

Android Studio 0.5.2 + ActionBarCompat 在 Android 2.3 設備死 app

最近開始轉用 Android Studio 寫 Android app。昨日升級到 0.5.2 時發現 gradle.xml 和另外兩個 .iml 檔案的路徑都被改為絕對路徑,而非先前的 $PROJECT_DIR$$MODULE_DIR$。Google 過似乎還未有解決方法,現在惟有不 commit 這幾個檔案。

另一個問題是在 Android 2.3 的設備運行用了 ActionBarCompat 的 app 會「彈 app」。只要你的 activity 有 action overflow 的話,當按動設備的 Menu 掣時,activity 就會自行結束。但在 logcat 就不覺有 exception 的 stack trace。Google 過之後就發現原來新版 Android Studio 所附帶的 Gradle 用了新的 PNG cruncher 會令到 Android 2.3 死機。目前的解決方法是使用舊版 PNG cruncher。

Read More

ConEmu

最近開始用了一些需要用 command 執行的工具(Grunt 和 PHPUnit),發現一個可以支援顏色顯示的 console 會比較方便。ConEmu 是一個在 Windows 上使用而且有分頁功能的 console,和 Mac 的 iTerm 有點相似。它的特色就是可以讓你自由地設定各項細節。由字型、字體大小到啟動時開啟那一個目錄都能設定到。它除了可以調用 Windows 的 Command Prompt (cmd.exe) 之外,還可以調用 PowerShell、Bash 等等的 shell。如果用 Bash 的話可以用 Git 提供的版本,這個版本可以支援基本的 Bash 指令,用來執行 PHP CLI 程式、Grunt、PHPUnit 都有顏色顯示。

在 ConEmu 內使用 Git Bash

ConEmu 的基本設定可以參考 scotch.io《Get a Functional and Sleek Console in Windows》,內有介紹如何設定一個使用 Git Bash 的 Task(即是設定檔之類的東西)和介面