Hide Menu Bar in Firefox 3.6

Firefox 3.6 開始可以隱藏 Menu Bar 了,所以這樣再搭配上 Tree Style Tab,整個可視範圍就大了起來!不過,也因為這樣,這次主打的 Pesonas 在這種環境下就顯得很無奈了,能妝點的範圍太有限了……。

My Firefox 3.6

接著等著看,HTML 5 能改變世界多少,看什麼時候會真的有 File API 的服務出來。

沒有動作的 ntpd

如果你和我一樣看 Clock Synchronization with NTP 這篇設定自家的 nptd 的,然後又在 ntp.conf 加上

restrict default ignore

你就有可能和我一樣,電腦都不會乖乖對時,用 ntpq -p 去查才發現全部 timeout 了。
這個時候你就必須考慮重新設定一下 restrict,再來看看 ntpq -p 有沒有消息了,像是這樣

*ns.cc.sinica.ed 140.109.7.5 2 u 194 1024 377 20.589 -1.374 0.186
+220-130-158-71. 220.130.158.50 2 u 227 1024 377 23.854 -3.935 0.216

對了,偶爾看一下 /var/db/ntp.drift,如果一直都是 0.00 的話也是不好的徵兆啊……

RHEL 與 yum

因為上頭說叫我接一個東西,結果這個 rpm require 可多了……
但是又不能用 yum 去連 RHN,那該怎麼辦呢?懶惰如我,只好把光碟整個 copy 下來,然後就在本地端(file:///home/hubert/RHEL-ISO/Server)開個 repo 啦。

首先去 /etc/yum.repos.d/ 加上一個 RHEL-Base.repo(名字隨便取的)

[rhel-media]
name=RHEL-$releasever – Media
baseurl=file:///home/hubert/RHEL-ISO/Server
gpgcheck=0
gpgkey=file:///home/hubert/RHEL-ISO/RPM-GPG-KEY-redhat-release

我忘記原本有沒有 rpmbuild 可以用了,不過我想你需要 rpmdev-setuptree 之類的東西幫你建 rpmbuild 和 .rpmmacros,沒有也無所謂,工人智慧無敵。

接著你就要乖乖自己 build SRPM 了,我還是沒有膽量直接拿 CentOS 的 rpm 來用

rpmbuild -bb dhcp.spec

接著

cp ../RPMS/x86_64/libdhcp* ~/RHEL-ISO/Server/
cd ~/RHEL-ISO/Server/
createrepo .
yum clean all
yum upgrade

createrepo 好像還是得從 rpm 裝,不過沒關係,至少之後有 yum 幫你作很多事情了。

btw,剛剛 JM 來關心我……,問為什麼我還不走 XD

CUE Sheet 與 CDDB protocol

昨天我說,也許有機會用 CUE 去 freedb 查詢專輯的 meta data,再順手加上 BOM 以及 UTF-8 編碼,不過看來是我太天真了。

根據 Cue sheet 以及 EAC and Cue Sheets 這兩篇文章的說明,我們根本無法從 CUE Sheet 得到整張專輯的「總時數」,而只能看到每一首歌的開始時間、Gap 等資訊,所以這樣推算起來,我們除了最後一首歌的時間之外,都可以從 CUE 檔得知。(題外話:INDEX 的格式是 1:60:60:75,非常不直覺)

CDDB protocol 在送出查詢時必須計算 discid(這有時候也會出現在 cue sheet 裡面),他的計算方式我就不贅述了,有興趣的可以去翻 Wikipedia 的 CDDB。但是 discid 並不是獨特的(Unique),所以在查詢的時候除了加上 discid 之外,還必須把專輯歌數、每一首歌的長度、專輯播放總時數帶進去,而這個 request 就能夠很快地查詢到對應的專輯名稱

cddb query discid ntrks off1 off2 … nsecs

之後再進一步查詢指定的曲目資訊

cddb read categ discid

所以沒有 nsecs (Total playing length of CD in seconds.),就沒有辦法送出一個有效的 CDDB request 了,所以就算了,我今天晚上就可以看 HBO 播的 Music and Lyrics,然後明天又要上班了(死)。

音樂格式的標籤(tag)與編碼

CDs

id3v1: ISO-8859-1
id3v2.3.0: ISO-8859-1, UTF-16 (with BOM)
id3v2.4.0: ISO-8859-1, UTF-16 (with or without BOM), UTF-8
APEv2: UTF-8
Vorbis comment: UTF-8

根據 ID3.org 的說明,目前對 ID3 tag 支援較廣的版本是 ID3v2.3.0,從這版開始,至少我們多了 UTF-16 的支援。但是那些只有 ID3v1 的 mp3 呢?這實在一個令人頭大的問題。

剛剛稍微找了一下,發現了「Linux下mp3标签乱码问题的分析和解决」與「对 mp3 乱码问题的分析和解决」這兩篇文章,他們也提供了幾種方法,可以把幫你把討厭的 ID3v1 標籤移除,加上支援 Unicode 的 ID3v2 和 APEv2。

那事情就這樣結束了嗎?並不完全是,許許多多的情況下我們會看見 ape 以及一個 cue 檔,這個 cue 檔紀錄歌曲名稱、長度、歌手等 meta data,但是這個 cue 檔也是另外一個編碼格式不明的灰色地帶。就算使用支援度相當好的 foobar2000 也不可免俗的會遇到這個問題,只要 foobar2000 讀取的 cue 檔沒有 BOM,他就會以 ISO-8859-1(還是 CP_ACP 啊)將相關的資訊存回去。這時候,只要乖乖的加上 BOM,一切就天下太平。

也許明天我該來寫一個簡單的程式,把 cue 檔的資訊拿去 freedb 查詢之後,以加上 BOM 的 UTF-8 格式存回去。

這也許是我為什麼喜歡用 FLAC 勝過其他的格式,FLAC 就很單純的使用 Vorbis Comment,沒有別的編碼方法,就是 UTF-8。要帶出門的話,直接丟進 iaudio 系列的隨身聽就好,以後移到別的系統也不會有問題。

不過,iaudio 的隨身聽還真是貴啊~~~~~。