SimpleCDN

SimpleCDN 是最近看到的一個 service,就實際的情況看起來,他不是真正的 CDN,不過他的價位還算 okay,而且有免費的 15 credits (也就是 USD$15) 可以玩。

SimpleCDN 主要有三種模式,第一種是 Pay Per File,也就是對檔案付一次費用就可以一直下載。第二種是第一種的加強,強調會自動處理抓取檔案並收取費用。第三種是 Reverse Proxy 模式,收費是 0.07 credits/GB。

第三種模式跟 GigaWebAMP 其實很接近,不過 SimpleCDN 的好處在於依照使用的量計費,不像 WebAMP 是每天有固定的量可以讓你用。速度上,從 HiNet 過去幾乎都是透過 PAIXHE 進去,速度還不錯。

不過缺點是價錢比 WebAMP 貴,另外因為要走國際線路,連線速度會比 WebAMP 慢。(不過... 這倒未必 XD)

另外一個不會使用 SimpleCDN 的考量是 Pay Per File 的部份,我覺得這個模式天生就做不起來啊...

FreeBSD 上的 MySQL 6.0

年初的時候 MySQL 6.0 把 libevent 匯入 source tree 裡,用 libevent 處理 connection pooling (之前似乎是 poll?)。

FreeBSD 剛把 MySQL 6.0 納入 ports 裡 (databases/mysql60-server),可以用 WITH_THREAD_POOL=yes 把這個功能打開。

理論上,使用 libevent 後在 Web 端用 persistent connect 連 MySQL 應該不會影響到效能。

附上年初時看到的資料:MySQL 6.0, Libevent

頻寬

剛剛翻了一下 TWNIC 的資料發現 HiNet 今年對美國的頻寬加的非常快,第一季 34Gbps,第二季 47Gbps,第三季 57Gbps,不過據說之前是「加了一條就滿一條」,不知道這幾次一直補到底夠不夠用 XD

另外也看得出幾個 ISP 快做不下去了... 頻寬一直減少。

Perl on Google App Engine

Python 是第一個可以在 Google App Engine (GAE) 上執行的程式語言,而下一個很有可能是 Perl

Brad Fitzpatrick 在他的 Blog 上說,他被 GAE team 允許對外公佈「我可以使用 20% 的時間開發 Perl on GAE」:Perl on App Engine

這是 GAE 支援其他程式語言的消息中,第一個被正式公開的。在 Brad Fitzpatrick 的文章裡面有一些藍圖,關於他大概會怎麼做的想法。我們應該可以期待他認真起來的戰鬥力 :p

PS:Brad Fitzpatrick 是 LiveJournal 的創辦人、memcached 的作者、OpenID 的制定人。

WordPress 輸出 Extended RSS (Export) 時的問題

WordPress 有自己的輸出格式可以當作備份檔使用,但輸出的檔案並不是正確的 XML,要做很多處理。

  • 首先他並不保證是 UTF-8 valid,所以要強制轉成 UTF-8 valid。在 PHP 裡可以用 $str = iconv('UTF-8', 'UTF-8', $str); 處理。除此之外,還要把某些特殊字元處理掉:$str = preg_replace('/[\x00-\x08\x0b\x0d-\x1f]/', '', $str);
  • 使用了 <excerpt:encoded> 但卻沒有在開頭定義 xmlns:excerpt。如果需要用到 excerpt:encoded 可以硬轉成 content:excerpt 處理;如果不需要,可以直接拿掉:$str = preg_replace('/<excerpt:encoded>.*?<\/excerpt:encoded>/', '', $str);。
  • wp:meta_value 沒有 encode 過,所以像 & 這類的字元會因為沒有 encode 而造成 XML library 抱怨,如果沒有使用到這些欄位,可以照上面的方法拿掉。如果有用到的話可以拿 htmlspecialchars() 處理後加回去。

把這三件事情處理完後似乎可以解決 WordPress 輸出的 Extended RSS 不合法的問題,用 PHP DOM 也不會跳錯誤訊息了。

其中第三個很明顯是 bug,晚點確認是 WordPress 問題並生出 patch 後得去開 ticket 修正。第二個也很嚴重,但是這個問題已經有人提出來,一直沒解:「WordPress Import Fix for Post Excerpts」,得去 ticket system 上檢查是不是有被提出來討論過。

PHP 5.3 將會有 Lambda Function 與 Closure

剛剛從「php: rfc: closures」這篇看到 PHP 5.3 將會有 Lambda Function 與 Closure 可以用:Request for Comments: Lambda functions and closures

寫習慣 Perlsort {...} keys %hash; 這類 code 後,在 PHP 裡面一直覺得很彆腳,有 Lambda Function 與 Closure 後可以解決不少問題...