銀行 (信用卡) 的最新優惠消息...

已經好幾次遇到「根本不知道有哪些優惠」的情況了,去找 feed 沒幾家有做,只好自己做一個來生 Atom feed:「Useful Feeds」。

網站的程式碼放在 GitHub 上,要改的人可以開 ticket 或是直接 fork + pull-request,目前還有很多地方需要修正 (像是 Atom feed validator 問題)。

出了信用卡的以外,之後如果有遇到需要加的功能會再加上去...

Ubuntu 10.10 amd64 版

把桌機換成 Ubuntu 10.10 Desktop amd64 版,比以以前有一堆東西要自己設定,裝好到現在還沒遇到問題,本來預期的問題也都隨著時間而解決了:

  • Linux amd64 下 rmvb 的支援,不論是內建的 Totem 還是 smplayer 都沒問題,而且 smplayer 還可以加速播放 (聲音頻率不會跑掉),跟之前在 Windows 下用 KMPlayer 的模式一樣...
  • Linux amd64 下 Flash Player 的支援也已經 okay 了,目前版本也已經是 10.2,該有的都有了...

繼續研究...

DNS Prefetch 的利弊

Simon Willison 轉了一篇文章,提到某個網站用 meta tag 關掉 DNS Prefetch 後,每個月省下 USD$1600:「DNS Prefetching Implications」。

會這麼貴的主要原因在於 DNS Prefetch 是利用「浪費資源」加速,設計上本來就不需要很快的反應時間,所以不應該讓他上昂貴的 Anycast-based DNS service。更何況 Anycast-based DNS service 應該是在整個系統都 tune 到極致後,壓榨最後一丁點效能的武器...

自己架設 DNS server,或是透過 Domain Registar and/or Hosting 公司代管,效果其實都不差。如果想要測試 Anycast-based DNS service,除了 Route53 可以玩看看以外,EasyDNS 也有提供平價的服務 (而且可以是 slave server),要測試的人可以測看看...

所有的手機應用程式都應該要上 SSL (另一個說法,HTTPS)

這是實際用過一堆手機程式後的感想 XD

不覺得直接在捷運台北車站放一個 SSID 與某些公開讓大家免費使用的 Wifi,就可以收集到很多東西嗎...?

另外要注意的是很多便宜的 SSL Certificate 是沒有辦法過 AndroidiPhone 內建瀏覽器的認證的,要買之前先試著找 Demo Site 測試看看會比較保險。據說大多數的 wildcard ssl 都可以過認證,不過這也只是路邊聽來的,測過才是王道...

奇怪,我記得之前有看到有一張表格是列出手機上瀏覽器支援的情況,一時間要找卻找不到了...

Pinboard (書籤網站) 被 Yahoo! Sunset 影響的情況...

雖然現在跑到台東玩,不過還是趁著在民宿休息的時候來寫一些東西好了...

剛剛看到 Pinboard 寫了一篇關於去年 12 月時 Yahoo! 內部簡報被流出時 (參考去年寫的「Yahoo! 要關閉 Delicious」) 所帶來的流量,以及對他們的影響:「Anatomy of a Crushing」。

裡面包括了架構,兩台 DigitalOne 的 server 當作主力,以及一台 ServerBeach 的 server 當作 slave (看起來是順便當作異地備份以及一些雜物服務):

另外也提到了 MySQL 的 varchar index 的老問題...

非 root 環境下的 App::perlbrew 與 App::cpanminus

跟 gugod 討論後發現我之前所寫的方式有問題,所以重寫一篇...

首先是安裝 App::perlbrew 的方式:

wget --no-check-certificate http://xrl.us/perlbrew
chmod a+x perlbrew
./perlbrew install
./perlbrew init

這樣在自己的目錄下就會有 perlbrew 了,接下來是設定環境變數:

source ~/perl5/perlbrew/etc/cshrc # (for csh/tcsh)
source ~/perl5/perlbrew/etc/bashrc # (for bash)

並將自己的 ~/.cshrc 或是 ~/.bashrc 裡加入上面的 source 指令。

原來下載的 perlbrew 就可以砍掉了,然後把 Perl 5.12.3 的環境建好:

rm perlbrew
perlbrew install perl-5.12.3
perlbrew switch perl-5.12.3

接著是用 App::cpanminus (standalone) 安裝 App::cpanminus (套件):

wget --no-check-certificate -O cpanm http://cpanmin.us/
chmod a+x cpanm
./cpanm -n App::cpanminus

然後一樣把下載下來的 cpanm 砍掉:

rm cpanm

這樣可以在不碰到「CPAN」這個大模組的情況下,把基本的系統裝好...

用 JSONView 看 JSON 資料...

之前是用 Force Content-Type 強制把 application/json 轉成 text/plain 然後直接看原始輸出的 JSON document。但如果遇到 JSON 很長一串的時候 (把空白及換行抽掉),看起來就很麻煩...

Firefox 上的 JSONView 可以同時處理 application/json 會跳出下載頁,以及排版的問題。以「emma.pixnet.cc/album/elements?set_id=15345490&user=nico」這個 JSON 輸出來說,這樣就好讀很多:

不過會把 url 轉成可點選連結的功能好像關不掉...

App::perlbrew 另外的裝法

Update:這篇內容有問題,請參考「非 root 環境下的 App::perlbrew 與 App::cpanminus」這篇新的說明。

App::perlbrew 的說明,在系統已經有 Perl 的情況下,不需要先用 CPAN 裝 App::perlbrew,可以直接抓 App::perlbrew 的執行檔:

wget --no-check-certificate http://xrl.us/perlbrew 或是
curl http://xrl.us/perlbrew > perlbrew

其中 wget 要加上 --no-check-certificate 是因為檔案實際是放在 GitHub 上,而 GitHub 目前是強制 HTTPS。

接下來直接執行 perlbrew 相關的指令,通常就是:

chmod 755 perlbrew
./perlbrew init
./perlbrew install perl-5.12.3
./perlbrew switch perl-5.12.3

後面的就跟之前提到的一樣了。這樣要建立自己的 Perl 環境就更簡單了...

window 的 hashchange (onhashchange) 事件

hashchange 是 HTML5 event,紀錄一下目前支援的情況:

目前 IE6/IE7 常見的模擬方式是透過 hidden iframe 做類似的效果...

另外在偵測瀏覽器是否有支援 hashchange 可以利用「Detecting event support without browser sniffing」這篇說明的方式偵測是否有支援特定的 event,可以避免使用 browser sniffing。

Linode 總算是去申請 IPv6 位置了...

有人在 Linode 的 forum 上提到 Linode 去申請了 IPv6 位置:「NET6-2600-3C00-1」,一個超大的 /30 耶...

不過 Linode 的 staff 也出來說,目前還沒有 ETA,請大家再等等... 再等幾個月看看吧?有 native IPv6 總是比較痛快...