Categories
General

EPGrab,把 DVB 數位電視的 EPG 電子節目表輸出成 XMLTV 格式

EPGrab,是我拿 tv_grab_dvb 來改的一個小程式,算是對自己想過的〈不曉得有沒有辦法推 XMLTV 讓電視台廣為採用〉的一個起步。我修正了幾個地方,讓多位元組字元可以正常顯示。

根據 DVB 標準規範 EN 300 468,以及《台灣數位電視相關影音技術規範》,台灣(代碼 0x14)的 DVB 資訊文字編碼,很可能一開始就被誤讀,之後便一路錯下去,很多自由軟體、開放源碼軟體的實作都用 Big5,實則應該是「採用 Unicode/UTF16-BE 編碼 (encoding),ISO10646 字集 (character set),但是至少應該能夠顯示 Big5 有收錄的字」。包括 LinuxTV dvb-apps, Me-TV, Kaffeine 等,都弄錯了,或曾經弄錯。

tv_grab_dvb 的情況則更微妙,作者除了同樣弄錯台灣的編碼,亦沒有考慮到多位元組字元的情況,而使用 strlen() 函式去偵測節目資訊的字串長度,遇到 0x00 開頭的字元編碼,就直接掛了。我只好把這個問題修掉,否則此程式幾乎在台灣無用武之地。

基礎設施有了,接下來是拿輸出的 XMLTV 檔案來玩…。

Categories
General

[Daily Digest] 2013-07-02

Online resources:

Murmurs:

  • 為什麼重新做起老掉牙的「網摘」?因為警覺到「靠山山倒,靠自己最好」(Thanks Google Reader)。
  • 跟同事聊起去打擊場練球的事,首先要找一隻合手的球棒。
Categories
General

袂曉泅水,莫嫌卵葩太重

這一篇是寫給兩位學妹、學弟的。

我第一次用 Ruby on Rails (以下簡稱 Rails)是在碩士班做團體作業的時候,那是一個卜小蝶老師的 IR 課裡大概都會做到的,資料庫檢索系統的簡單作業。我因為大學、碩士班都上到了卜老師的課,所以這個作業好像就做了兩次吧。人老了,記憶力實在不好。

碩士班這次的作業,我就想拿當時正紅的 Rails 來玩看看。我就只看 [Ruby on Rails Guides] 並上網查詢其它補充資料而已,沒有什麼奇書,沒有什麼祕籍。我認為官方文件就是最好的入門文件。

那作業,我邊看 guides 邊依樣畫葫蘆,寫好了還有空亂套 script.aculo.us 玩 JavaScript 效果搞笑,最後再套上一個 Ferret 搜尋引擎,搞定。

老師問我這個用多久時間做的,我好像才花了不到兩天吧,因為太快了,所以其她組員還急忙跟老師說我是開玩笑的。

喵的,誰在跟妳們開玩笑啊!!!? ( `Д´)/

那時候我對網站資料庫程式設計的所知,不會比妳你多多少。所以,站在同樣的起跑點上,妳你不會學得比我慢吧?不會真的因為沒有一台 Mac 就拖得經年累月學不起來吧?

難道 Heroku 的 stack 是用 Mac 嗎?Sqale 的 stack 是用 Mac 嗎?

真有心想學,竹篙鬬菜刀,Windows 上跑個 VirtualBox 裝 Ubuntu、甚至直接在 Windows 上用 RailsInstaller,再自己想個小型規模的網站資料庫題目,就可以起步了。

重點是,學得 Rails 如何運作,以及從開發過程中帶出來「如何做出一個合用的網站」的那種心領神會,好嗎?