Python 2 與 Python 3 的相容性

前幾天 Python 2.7 正式釋出 (2010/07/03),預定是 Python 2 最後一個 major release,於是又有人再討論要怎麼寫出 Python 2 與 Python 3 都能夠跑的程式碼,以維持單一 codebase。

在「The real problem with Python 3 – no business case for conversion (was “I strongly dislike Python 3″)」這篇提到了一些語法及模組技巧 (基本上就是用 Python 2 與 Python 3 都可以跑的方式寫),以及當無法避免寫兩次時要怎麼做。

Python 3.0 釋出到現在也一年半了 (2008/12/03),Python 3.1 也一年了 (2009/06/27),而 Python 3.2 alpha1 預定在 8/7 發布… 該準備把現有的 code 丟進 Python 3 測試看看了。

Posted in Computer, Murmuring, Programming, Software | Leave a comment

AWS S3 的 Bucket Policy

以 Referer 決定是否可以存取的功能等了好久:「Amazon S3 Bucket Policies – Another Way to Protect Your Content」。

Bucket Policy 必須以 Amazon 自訂的語法設定條件,可以看某些 header 設定是否允許存取 S3 的物件,像是 User-agentReferer

不過看了文件,沒有 regular expression 可以用?只有 shell expression (支援 *? 而已),應該是夠用但感覺還是怪怪的…

Posted in AWS, Cloud, Computer, Murmuring, Network, Security, WWW | 1 Comment

Amazon Web Services (AWS) S3 可以透過 AWS Management Console 管理了…

大約是兩個禮拜前的消息了。

不過因為用到 Flash,所以使用 Flashblock 的人要把 console.aws.amazon.com 這個 site 加到白名單內 (頁面上沒出現 Flashblock 提供的 active button)。另外因為 flash policy 用到 port 843,所以連外 port 843 必須是通的。官方的公告可以參考「AWS Management Console adds support for Amazon S3」這篇。

不過這東西問題還不少,跑一跑就讓我的 Firefox 當掉… 無論如何,畢竟是多了一種選擇,如果要透過網頁管理 S3 內的資料,不用再透過第三方的網站處理,而是改由本來就存取的到的 Amazon 來提供,會比較放心一點。

Posted in AWS, Browser, Cloud, Computer, Murmuring, Network, Software, WWW | Leave a comment

Amazon CloudFront 支援 HTTPS 並且降價

Amazon CloudFront 宣佈支援 HTTPS,北美增加紐約 PoP,並降低單一 request 的費用:Amazon CloudFront: HTTPS Access, Another Edge Location, Price Reduction

HTTPS 的部份,因為 SSL Certification 是 *.cloudfront.net,所以不能使用自己的名稱 (CNAME 過去的那個名稱),否則在瀏覽器裡會出現警告視窗。像是 https://test.gslin.org/jquery-1.4.2.min.js 會出現警告視窗,但 https://d709c28ax59vf.cloudfront.net/jquery-1.4.2.min.js 則不會。

除此之外,可以設定只能透過 HTTPS 傳輸,如果透過 HTTP 則擋下來不讓他用。價錢部份,HTTP 的單一 reuqest 價錢則是降了 25%,而 HTTPS 的價錢剛好是原來 HTTP 的價錢。

另外一個比較意外的消息是,CloudFront 之前在紐約沒有 PoP,這次建好上線使用… 先前應該是透過 Newark, NJ 的 PoP 服務東岸北部?

Posted in AWS, CDN, Cloud, Computer, Murmuring, Network, Security, WWW | Leave a comment

WebM 以及 VP8 將成為下一代影音標準

經過這半個月的發展,看起來 WebM 以及 VP8 會是下一代影音的新標準。

去年 Mozilla (Firefox) 及 Opera 因為 H.264 的軟體專利問題而不願意支援 H.264,所以大家都很注目比較可能沒有專利問題的 Theora。這是基於 On2 Technologies 在 2001 年所 open source 的 VP3 而發展出來的。也因此大家對於是否可以用 Theora 取代 H.264 一直很有疑問 (參考二月時寫的「Theora 與 H.264 的畫質差異」)。

首先是 Google 在 2009 年八月的時候買下 On2 Technologies (在 2010 年 2 月的時候完成收購),有不少人希望 Google 可以授權 On2 在 2008 年所發表的 VP8 給大家使用,FSF 甚至利用 YouTube 的影響力,並且主動提供 VP8 格式的影片,大力推廣 VP8:「Open letter to Google: free VP8, and use it on YouTube」。

上個月 Google I/O 2010 的時候,Google 公開 WebM Project,其中包括了 VP8 的使用權,並且提供免費的專利使用權。雖然有些人對於 VP8 還是覺得不夠好 (像是「The first in-depth technical analysis of VP8」這篇分析),但由於 Mozilla、Opera、Google 在當天都已經宣佈會支援 WebM,微軟也宣佈會在 IE9 內支援 WebM 檔案格式 (至於 VP8 codec 則是在系統內安裝),所以 WebM 很快就變成大家注目的焦點,而在 ffmpeg 的 mailing list 上也很快就有人把將 libvpx 整合到 ffmpeg 內。

接下來看看能不能更直接將 WebM 直接納入 HTML5 的 spec 內…

Posted in Browser, Computer, Firefox, GoogleChrome, IE, Movie, Murmuring, Network, Opera, Recreation, Safari, Software, Television, WWW | 2 Comments

Amazon S3 的分級儲存以及 RDS 跨區 Replication

Amazon Web Services 上星期公佈了 S3 不同等級的服務:「Announcing Amazon S3 Reduced Redundancy Storage」。

先前 S3 的系統是設計成一年內有 99.999999999% (1-10-11) Durability,這是靠比較高的 replication 數量,以及將資料放在不同機房。而 RRS (Reduced Redundancy Storage) 則是放在單一機房內,replication 數量也比標準的 S3 少,所以成本會比較低,但資料的可靠度也會比較低,只有 99.99% (1-10-4)。

這個新的設計對於比較不重要的資料 (尤其是可以從原始資料再運算得到的,像是縮圖) 可以考慮丟到 RRS。在前 50TB 的部份是標準儲存 2/3 的價錢。

另外 RDS 的部份則是支援跨區 replication 了,可以藉由這種方式提昇一部分的服務可靠度:「Announcing Multi-AZ Deployments for Amazon RDS」。

Posted in AWS, Cloud, Computer, Database, Murmuring, MySQL, Network, Software | Leave a comment

Amazon Web Services 亞洲區設點新加坡

四月底的時候 Amazon 宣佈 Amazon Web Services 在亞洲區選擇新加坡為其第一個進入的點:「Announcing the AWS Asia Pacific (Singapore) Region」。

以 latency 看,速度比美西的點好很多,主要還是貴在頻寬的費用上,不過有些 ISP 還是會繞去美國再回來,速度就變差了…

Posted in AWS, Cloud, Computer, Murmuring, Network | 1 Comment

Firefox 的 DirectWrite

終於從沒網路的地方出來了… 兩個禮拜多沒更新 Firefox (3.7,Minefield 版),這次一更新就發現 GDI++ 失效了,看了一下,似乎是因為 Adblock Plus 把問題修掉並且推出新版的關係?

考慮到美觀與速度之間的妥協,還是把 DirectWrite 關掉…

Posted in Browser, Computer, Firefox, Murmuring, Network, Software | Leave a comment

GCC 4.5.0 以及 ClangBSD

GCC 4.5.0 前幾天公告釋出:「GCC 4.5.0 Released」,而另外一邊以 clang 取代 FreeBSD 系統內 GCC 的計畫 ClangBSD 也開始徵求測試者了:「[CFT]: ClangBSD is selfhosting, we need testers now」。

目前 ClangBSD 可以在 i386 以及 amd64 上編譯 bootable-kernel 以及 world (目前的 -CURRENT 版本),平常在用 -CURRENT 的人除了上面那篇 mailing list 上的說明外,在「Building FreeBSD with clang/llvm」也有介紹更多關於要怎麼把整個系統切換過去的細節。

FreeBSD 要換掉系統內 GCC 的計畫又往前跨了一步…

Posted in Computer, FreeBSD, Murmuring, OS, Programming, Software | 1 Comment

Amazon 的 ELB 支援 Sticky Sessions

Amazon Web Services 大約十天前對 ELB 加上了新功能:「New Elastic Load Balancing Feature: Sticky Sessions」,這個功能想要做到同一個 session 所發出的 request 都導到同一台 server 上。以「Elastic Load Balancing with Sticky Sessions」這篇的說明來看,看起來是 Cookie-based。這在商業 load balancer 上是很常看到的功能,後端的 web server 幾乎不用修改就可以維持同一個 session 都導到同一台 server 上。

另外常見的作法是把 session 資料放到 NFS 或是 memcached 上,這樣跨機器也沒問題。

Posted in AWS, Cloud, Computer, Murmuring, Network, WWW | Leave a comment