2010年1月30日 星期六

解決安裝 narwhal 的問題

在 ubuntu 安裝 narwhal 時遇到以下錯誤訊息:

org.mozilla.javascript.WrappedException: Wrapped java.lang.IllegalArgumentException: Bad language version: 180

搜尋網站找到了以下報告:
https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/255149

執行以下指令可以解決問題:
sudo rm /usr/lib/jvm/java-6-openjdk/jre/lib/rhino.jar

指令只是刪除一了指向 rhino 的連結,因此可以放心,並沒有真正刪除 rhino,只是使得 rhino.jar 不被自動加入 bootclasspath 中,導致無法使用 narwhal 自己的 rhino。

2010年1月10日 星期日

編譯 Webkit

我於是編譯 Webkit:

  1. 從 Webkit 網站下載是新的 tar ball。
  2. 執行 autogen.sh
  3. make

2010年1月9日 星期六

Webkit/Squirrefish/Nitro Extreme

我一直想找一個可以用於我的產品的 Scripting language 及 Virtual machine。我從 Python/Ruby/Lua/Parrot/LLVM/Forth/Scheme 一路看下來,最後看到 Javascript。在 Javascript 中我先看過了 Tracemonkey,今天又看了 Webkit 的 Squirrefish Extreme (Nitro)。

我想 Nitro 是個好選擇。我已經決定在人機界面使用 Javascript+Java了。在 interpreter 或是 motion 使用 javascript 也會是個好方法。而 Squirrefish 使用 direct threaded codes,這些概念我從 Forth 學過。Squirrefish 有 bytecodes ,這些 bytecodes 可以考慮用在 PLC。

這會是一個長期的學習工作。我甚至想開始一個 Squirrefish 和 Gobo Eiffel 結合,Gobo Eiffel 使用 Squirrefish 的 garbage collector 的計劃呢。