HTML5 支援 <video> 標籤,由瀏覽器直接播放影片,不需要透過 Flash Player。但因為 H.264 有一堆軟體專利是無法 royalty-free 使用的。
有人曾經建議 Mozilla 直接使用系統的 codec 避開這個問題,但 Mozilla 認為這種作法跟 ActiveX 一樣,直接把系統不安全的部份暴露在 Internet 上,當 codec 有漏洞時就會受到影響。(我覺得專利問題還是比較嚴重)
因為這些原因,Mozilla 選擇內建 Theora 而非使用 H.264。最早支援 video tag 的 Opera 也是選擇 Theora。
Google 與 Apple 手上都有與 H.264 相關的專利可以丟進專利池而取得免費使用權,所以 Google Chrome 以及 Safari 都是支援 H.264。
Update:如同 Azel 在 comment 所講的,Google 沒有專利丟到專利池內,而是購買授權。(參考 AVC/H.264 Licensors 與 AVC/H.264 Licensees 資訊)
除了專利問題外,有些人研究 H.264 與 Theora 在技術上到底哪個比較好,如果兩個差不多的話,沒有必要用 H.264 讓別人綁死。
在 OSNews 的「Comparing Theora to H264」裡講到有三篇測試文章。
最早的是「YouTube / Ogg/Theora comparison」這篇,這篇不是講 H.264,而是 YouTube 使用的 H.263。這篇文章之前有上過 Slashdot,但當時看過以後有個印象而已,因為他用的方法是肉眼,而非科學方法。雖然如此,還是很明顯可以看出來在 500Kbps 以下時 Theora 比 YouTube 的 H.263 好不少。
最近的兩篇分別是「Ogg vs H264 – Round One」以及「Video encoder comparison」,後面這篇是我第一次看到有人用科學方法 SSIM 計算壓縮前後的相似性。不管哪一篇,都可以主觀或客觀的看出來品質上 H.264 大勝 Theora,而壓與解的速度則是反過來。
不過下面的 comment 提到 Theora 目前真正在開發的不在 trunk 內,而是在其他 branch 下,另外 Theora 如果設定 bitrate,會是 CBR mode,品質會比 VBR mode 差。實際要比較每個 codec 最好的情況應該要跑 2-pass。
過幾天應該會有新的 report 出來,到時候再來看差異…
在 Simon Willison 那邊看到 Eric Lawrence 在 MSDN Blog 上的解釋:「Internet Explorer Cookie Internals (FAQ)」。Simon Willison 的文章在「Internet Explorer Cookie Internals (FAQ)」這篇內。
他們討論到 IE 到目前所有版本的 cookie 都不支援 max-age 參數,所以有個避免 MySQL master/slave replication lag 的技巧在 IE 上沒辦法用的很好:當寫入資料時 (例:使用者發表文章),server 會設定一組 30secs 的 cookie,當 web server 收到這個 cookie 時會用 MySQL master server。
workaround 不難做,本來是只有設定 cookie,現在把把 server timestamp 與 signature (用 HMAC) 都放到 cookie 後就可以了,當 web server 收到後可以驗證並且決定是否要用 master server。
其他的限制可以看一看留個印象,之後遇到時會比較有機會猜到…
在 Amazon CTO Werner Vogels 的 blog 上提到了 AWS SimpleDB 支援不同程度的 consistency:「Choosing Consistency」,在 James Hamilton 也對這件事情發表正面的意見:「I love eventual consistency but…」。正式的技術文件在「Amazon SimpleDB Consistency Enhancements」這邊可以查到。
Eventual consistency 以 CAP theorem 中的 Consistency 妥協,試著解決 scale 問題,但缺點是 stale read (可能會讀到舊資料),對要求比較嚴謹的子系統 (像是遊戲內的各種點數,身上帶的金幣之類的) 會很麻煩,而對於要求更嚴謹的系統 (像是商品搶購時的「剩餘數量」) 幾乎無法直接使用。
像是 Colin Percival 曾經解釋他得在 S3 與 SimpleDB 上做不少 workaround:「How Tarsnap uses Amazon Web Services」以確保資料正確性。
AWS SimpleDB 這次提供了新的功能,要求寫入時一定要等到 consistent 才 return,將 consistent 的權限放給上層 application 決定,開發者可以自己拿捏。
Linux kernel 2.6.33 是在 DRBD 進入 Kernel Git tree 之後 (去年 12 月左右,參考「We’re in!」這篇文章) 的下一個正式的 release:「Linux 2.6.33 released, first kernel with DRBD included」。
DRBD 是一套以 block-level replication 為基礎提昇可靠度的軟體,有時候為了方便解釋,也被稱為 Network RAID1,常搭配 Heartbeat 或是其後繼的 Pacemaker 偵測節點是否還活著,並在必要時自動切換。
由於 DRBD 已經出來很久了,而且又是以 GPLv2 釋出,早期有不少文件介紹如何使用 DRBD 達到 HA,算是一種已經被摸熟的方案。
另外是 FreeBSD 的 HAST Project 到一個階段,被 commit 到 -HEAD 了:「Please welcome HAST – Highly Avalable Storage.」,再加上 block-level replication 會需要 Filesystem 快速恢復的 SUJ (SU+J) 也在一月底放 source code 先讓自願者測試,一口氣補了 HA 領域兩塊重要的缺陷。
不過依照慣例,新東西都不太穩定… 玩玩還可以,如果是要跑 HA 的話等一兩個版本會比較好。
Comcast 在官方的 blog 上宣佈,開始提供有 DNSSEC 驗證功能的 DNS resolver:「DNSSEC」,如果要測試的人可以手動改到 75.75.75.75 & 75.75.76.76。
非 Comcast 用戶沒有辦法參與,丟 query 過去會收到:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 54496
;; flags: qr rd ra; QUERY: 0, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
在 OSNews 上看到的,Amazon 與微軟簽訂專利交叉授權協議:「Microsoft, Amazon Sign Patent Cross-Licensing Agreement」。微軟的公關稿在「Microsoft and Amazon.com Sign Patent Agreement」。
這次並非對等的交換,雙方除了交叉授權外,Amazon 還付了一筆錢給微軟。
不同於之前 Novell 的情況,有不少人猜測 Amazon 會跟微軟簽授權是因為 Amazon 發現他們所使用的某些技術踩到微軟的專利,而且發現難以避免。由於 Amazon 用了許多 open source 軟體與技術,更使得許多人對這個消息感到不愉快…
在 trace 某些網站的時候看到 Apache 送出這樣的 HTTP header 覺得奇怪:
X-Pad: avoid browser bug
用 Google 找了一些資料後發現是為了 workaround Netscape Navigator 2.x 到 4.0b2 的 bug 而做的:「Why is Apache sending a “X-Pad” header?」。
在 Revision 77941 可以看到這個 commit log,1997 年 4 月的事情…
年前 Amazon Web Services 發布了一個重要的功能:「Announcing Consolidated Billing for AWS Accounts」,這項功能提供了單一付款帳戶付多個帳號的費用,可以累計因為頻寬使用量而產生的 discount。
由於每個帳戶的 Access Key ID + Secret Access Key 就可以存取這個帳戶所有的 S3 檔案,在不同的 project 時分開不同的帳戶會比較理想。但這樣在計費時得分開算,同時帳單也變多。
也許在付費窗口單一化後會規劃非信用卡付款,對於用量非常大的企業應該會有幫助。
過年前以及過年期間頗懶散,超過一個禮拜沒更新 blog 了,一發文章居然是講 boardgame…
要介紹的 Dominion (皇輿爭霸) 這款遊戲,可以參考「[遊戲介紹]皇輿爭霸Dominion」這篇文章的介紹以及圖片,裡面有照片可以看到原來盒子的樣子。
這款遊戲是今年的台北國際書展時,表弟在書展會場買了一整組回來,除了原本的以外,還包括了兩組擴充版,總共三個大盒子,在過年期間嫌帶著三個盒子麻煩,就花了五個小時做手工藝…
首先,這是外觀,顯卡的盒子 XD

打開後裡面是長這樣:

依照每份卡片再做紙套並貼上標籤:

太墮落了… XD
在 Slashdot 上看到 Apache 1.3 釋出最後一個版本 1.3.42:「The Final Release of Apache HTTP Server 1.3」,之後只會有 critical security patch。
雖然 1.3 仍然被許多站台所使用 (像是 Facebook 才剛提到他們仍在使用 1.3 版),不過看起來 Apache 沒興趣同時維護 1.3、2.0、2.2。
另外一方面,lighttpd 也放出了 1.4.26rc2710 的消息,利用 security issue (CVE-2010-0295) 準備發佈 1.4.26,而非只有 patch,讓 community 感覺到有在動:「PRE-RELEASE: lighttpd 1.4.26rc1-r2710」。