SIMD in JavaScript

SIMD in JavaScript」是 IntelMozilla 以及 Google 的計畫,希望在 EMCAScript 裡面增加規格,讓 EMCAScript 可以利用 CPU 的 SIMD 能力加速計算。

另外讓我想到的是 asm.js 也是用類似的技術想法 (做不同的方向),而且已經被 Firefox 22+ 以及 Google Chrome 28+ 支援了,效果相當好...

之後大家想要在 browser 上面做什麼事情,應該都會用類似的技術來做吧 (先檢測系統有沒有原生支援,沒有原生支援時用 plain javascript 模擬)。

用 RepoForge 擴充 AWS 自家的 AMI

AWS 自家的 AMI 看起來是 CentOS 之類改出來的,主力是 yum

但官方的 yum 缺了不少東西,所以就要靠 RepoForge 擴充了。

在 RepoForce 的 Using RepoForge 頁面上有說明要先裝他們家的套件,舉例來說,假設是 EL 6 (x86_64) 的話,就複製對應的 url 連結,然後叫 yum 裝:

yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

接下來就可以用 yum 裝官方沒有支援的軟體了...

GlobalSign 提供 Open Source 專案免費的 SSL Certificate

GlobalSign 提供 Open Source 專案免費的 SSL Certificate:「Free SSL Certificate for Open Source Projects」。

不過看了看需求還蠻龜毛的,不如自己花個 USD$10/year 還比較方便。如果不在意時間成本的話就申請吧,我猜實際上也不會有多少專案申請...

殺意甚濃的 PHP 相容方案:HippyVM

HippyVM 是透過 PyPy 的技術實做出來的 PHP 相容方案:

HippyVM is a reimplementation of the PHP language using PyPy technology.

而且宣稱電翻市場上所有對手:

Right now, HippyVM is 7.3x faster than stock PHP and 2x faster than HHVM, using a geometric mean.

GitHub 上的 hippyvm/hippyvm 可以看到目前的進展:

HippyVM right now works only on 64bit linux on x86 platform (this limitation is temporary though, the RPython toolchain supports 32 and 64 bit x86, ARMv6 and ARMv7 on windows, os x and linux).

目前還是 pre-release 版本,但這個逆襲的感覺好殺...

Heroku 創辦人 Adam Wiggins 寫的 The Twelve-Factor App

先前在看一些 open source 的 PaaS 文件時看到 Adam Wiggins (Heroku 的創辦人) 寫的「The Twelve-Factor App」。

裡面其實就是 Heroku 對上面跑的 app 的要求,以及 Heroku 在設計產品時的想法,所以跟 Heroku 業務沒有關係的部份也大多都沒寫到 :p

拿來參考與理解想法是 okay 的,但如果要完全照著上面的方法做就未必了。

HTTP/1.1 的更新

HTTP/1.1 源自十五年前 (1999 年 6 月) 所發佈的 RFC 2616,而十五年後被翻新了。

可以在 RFC 2616 的狀態資訊上看到「Obsoleted by: 7230, 7231, 7232, 7233, 7234, 7235」,把本來的 RFC 2616 拆開成幾份文件:

在「HTTP/1.1 just got a major update.」這篇文章裡面整理了一些改變,大多數都是相容於現在的使用習慣,另外把一些過時的預設行為拿掉。(像是預設 charset 為 ISO-8859-1)

找機會來重頭翻一下,以後就不是翻 RFC 2616 了...

Google 在 Chrome 內的 PGP:End-to-End

Google 前天發表了 Chrome 裡面的 PGP 實做套件:「Making end-to-end encryption easier to use」。

目前只放出了 source code,並沒有在 Chrome Web Store 上架,這點在網站上就直接說明了,他們目前認為目前沒有被足夠的人檢查過,所以請不要傳到 Chrome Web Store 上:

Since this is source, I could just build this and submit it to the Chrome Web Store

Please don’t do this.

The End-To-End team takes its responsibility to provide solid crypto very seriously, and we don’t want at-risk groups that may not be technically sophisticated — journalists, human-rights workers, et al — to rely on End-To-End until we feel it’s ready. Prematurely making End-To-End available could have very serious real world ramifications.

One of the reasons we are doing this source code release is precisely so that the community as a whole can help us make sure that we haven’t overlooked anything in our implementation of End-To-End.

Once we feel that End-To-End is ready, we will release it via the Chrome Web Store ourselves.

而為了鼓勵大家去找問題,雖然這是很新的軟體,但已經將 End-to-End 直接納入 Vulnerability Reward Program 裡:

And we mean it: our Vulnerability Reward Program offers financial awards for finding security bugs in Google code, including End-to-End.

不過傳統的方法還是會更可靠一些,畢竟 JavaScript 沒辦法很仔細控制記憶體內容,在放掉的記憶體空間內可能會包含某些未加密的資訊,甚至是 private key 的資訊。