jQuery 1.4

jQuery 1.4 釋出了:「jQuery 1.4 Released」,同時 MediaTemple 贊助了 14 Days of jQuery 的活動,以 14 天徵文推廣 jQuery。

jQuery 1.4 除了增加大量的 API 以外 (參考「Version 1.4 – jQuery API」這個網頁的列表),又再次大幅改善效能 (這是重點,可以看到整篇介紹文章有一大半都是講效能的改進)。這些效能改進的方式有些在 John Resig 的 blog 有專門寫文章解釋過,像是「JavaScript Function Call Profiling」。

另外,jQuery.param() 支援 serialization 了... 可以把 js object 轉成像 foo[]=bar&foo[]=baz 這樣的字串,讓 web 端處理起來比較方便,不用特地丟 JSON object 進去再用 JSON decoder 解開。而 jQuery.JSONP 也終於可以指定 callback name 了...

這次也是火力展示...

Google 對中國政策的重大宣佈

三個小時前 (美西時間是 1/12 15:00PM) Google 在官方 blog 上宣佈了「A new approach to China」,內容包括了:

  • 偵測到有大量試著存取 Gmail 的帳戶,被試著存取的帳戶是與人權團體人物有關的。沒有指明是誰發動的,只說明不只 Google 被攻擊。
  • 不打算再繼續過濾 search result,就這點會在接下來幾個禮拜與中國政府商談,是否有辦法在合於中國法令的情況下給予使用者原始 search result。如果不成的話,會考慮關閉 Google.cn,甚至 Google 中國辦公室。(We have decided we are no longer willing to continue censoring our results on Google.cn, and so over the next few weeks we will be discussing with the Chinese government the basis on which we could operate an unfiltered search engine within the law, if at all. We recognize that this may well mean having to shut down Google.cn, and potentially our offices in China.)

這份新聞稿所提到的政策手腕很漂亮,如果以這樣的方式退出中國市場反而不會受到美國責難。

行動電話網路又出包了...

這陣子居然來好幾發...

首先是 GSM 網路 (俗稱的 2G) 用的 A5/1 實際被示範破解 (而非純粹就加密演算法本身攻擊):「Cellphone Encryption Code Is Divulged」,不過 A5/1 畢竟已經用了 20 年,在這些年來所找到可以加速破解的方式,使得所需的複雜度下降,再加上 FPGA 的幫助,以現在的能力要破 64bits key 比 A5/1 剛出現時相對容易許多。

有人破了 A5/1 後,目前 3G 在用的 A5/3 也出事了... 今天在 Slashdot 上看到 3G 網路所使用的 A5/3 找到 Related-key attack:「Second 3G GSM Cipher Cracked」,雖然不是 3G 網路的世界末日,不過開了第一比較大的洞 (以現有資源可以實做的洞) 就很痛啊... 接下來應該會想辦法轉到新的 cipher 上。

查了一下這次的洞是誰搞出來的:Orr Dunkelman (之前捅 AES-256 一刀後跑來捅這個)、Nathan Keller (在 2006 時捅過 A5/1),Adi Shamir (這個人還真是有活力)。

IPv4 位置近況

IPv4 不夠用是沒有話題時就會談的問題... 像是年底這陣子放假沒有話題,Slashdot 就在「At Current Rates, Only a Few More Years' Worth of IPv4 Addresses」這篇文章談到了這個問題,裡面是引用自 Ars Technica 的文章「A decade's worth of IPv4 addresses」,這篇文章宣稱 2010 會是 IPv4 的最後一年...

rms.twnic.net.tw 上面可以查到目前台灣拿到的 IP 資訊,像是以核發日期排序:「查詢功能-IPv4核發分配情形」。不過只看日期不太準,像是 139.175.0.0/16 這段歷史很久了,卻在 2009 年 5 月掛到新世紀資通,應該是遠傳內部在整合的關係。大宗的還是 HINET-NET (中華電信數據通信分公司)。

最近 HiNet 的 transparent proxy 異常...

HiNet 的 transparent proxy 主要是放在接國際線路的點上面,這兩個禮拜發現很不穩定,連帶會導致用 HiNet ADSL 的人會偶而連不上國外的網站...

第一個是國外網站,拿 AlexaTop Sites in Taiwan 的前 30 名來說,FacebookLive (Bing 反而上了 Akamai,這個後面談)、6waves (農場的公司)、Wikipedia (維基百科)、BaiduBadongoPlurk土豆Plus28 的伺服器因為沒有放台灣內,所以網站本體會不太順。

另外再來是 CDN 的問題。除了台灣有節點的 CDN 以外,其他都會受到影響,也就是說,除了 Akamai 以及 CDNetworks 以外都會受到影響。這也使得我們家得把 HiNet 使用者改指到 Akamai 與台固。比較明顯的是樂多Twitter 與 Plurk 的圖片使用 CloudFront

第三個問題是使用者自己調整設定後造成的,最近比較常見的設定是 Google 提供的 DNS 服務,分別是 8.8.8.88.8.4.4。理論上這兩組 server 都是用 Google 台灣機房的服務,但是 Akamai 沒有辦法判斷使用者的 ISP (他只能判斷出是台灣 Google 來的 query),所以不能導到台灣任何一個 PoP (因為台灣的量比較少,要降低成本的一個方向是改談 local service),所以用 Google DNS 的人,會被導到香港的 PoP,於是就會經過 HiNet transparent proxy。

這是用 8.8.8.8 查 Facebook CDN 的結果,拿 IP trace 可以發現在香港:

;; ANSWER SECTION:
static.ak.fbcdn.net.    7196    IN      CNAME   static.ak.facebook.com.edgesuite.net.
static.ak.facebook.com.edgesuite.net. 21596 IN CNAME a749.g.akamai.net.
a749.g.akamai.net.      16      IN      A       63.150.131.187
a749.g.akamai.net.      16      IN      A       63.150.131.171

zonble 提到的「If you found that you cannot see any images on Facebook」的問題應該屬於這類。

把預設瀏覽器換成 Google Chrome (beta)

先前看到 Google Chrome 上有人寫了 Adblock 的新聞,結果仔細看發現他把阻擋規則寫在程式裡面,而不是像 Firefox 上的 Adblock Plus 那樣,接受外部的檔案定時更新,感覺就... 非常不好 XD

這兩天無意間又去逛到 Google Chrome Extensions,看到有另外一個 AdThwart,直接支援現有 Adblock Plus 的列表,馬上就把系統的 Google Chrome 換成 beta 版,裝上 AdThwart...

接下來得花一段時間適應了... 速度快好多不太習慣 XD

4K sector size

Slashdot 上看到硬碟已經開始往 4K sector size 走了:「HDD Manufacturers Moving To 4096-byte Sectors」。

會開始討論主要是因為 WD 開始販售 4K sector size 的硬碟,許多維護 Filesystem code 的開發人員也因此比較注意到這個問題。

前幾天在 FreeBSD 的 mailing list 上也看到類似的討論「File system blocks alignment」,以目前可以調整的參數觀察,如果 block size 沒有切齊,會使得效率降低不少 (猜測是因為 read-modify-write),其他作業系統的 Filesystem 也有類似的情況。

2010Q1 應該會看到更多使用 4K sector size 的硬碟。

從 MediaTemple 搬家

MediaTemple 搬出來了,搬到 SharkSpace

今年年初的時候 (翻了信件,1/31) 開始用 MediaTemple 的 Grid Service,費用是 USD$20/month,在 hosting 這塊算是高的。當時會用 MediaTemple 想的是「花錢解決事情」就好,不過這一年來感覺不太值得,以 USD$20/month 的品質來說,database 掛掉的機率高了些,加上這陣子 MediaTemple 爆發 security issue (參考「Media Temple Security Issues」、「Media Temple Hacked」),花些時間到 Web Hosting Talk 上研究有什麼 shared hosting 價錢比較低 (有活動在跑的),如果掛掉的話還不會那麼心痛 XD

在 Web Hosting Talk 上翻了一下,看到 SharkSpace 有 50% off 的 coupon 特價 (50offlife),以我的用量需要 Hammerhead 的方案,折扣後大約是 USD$4.5/month (年繳),而且還蠻受好評的。我需要的 SSH access 也沒問題 (要另外申請,需要傳真或是掃描身份文件,我是掃描護照後 submit ticket 夾檔給對方),而且有美西主機可以用,從台灣過去大約 135ms 左右。後台則是 cPanel

接下來就是把網站搬進去,大概就這樣...

jQuery 改用 Google Closure Compiler

othree 在 irc 上提到的... 依照「Commit 3fd62eae9df3159fc238a515bb748140a942313d to jquery's jquery」這個 commit 的說明,jQuery 將使用 Google Closure Compiler,取代 YUICompressor 壓縮 jQuery:

Switched from using YUI Compressor to Google Compiler. Minified and Gzipped filesize reduced to 22,839 bytes from 26,169 bytes (13% decrease in filesize). Sizzle copyright was merged into the main header (since it's removed automatically). Still passes all unit tests.

下個版本就可以看到了。