2009年7月1日 星期三

Firefox Portable 3.5 Released

昨晚突然被 Mozilla.com 突襲,Firefox 3.5 已經釋出的,心中有了一些悔恨,要是早一點動手翻譯就好了。不過後來還是趕上了 PortableApps 的未班列車,提交了正/繁體中文的翻譯檔。目前 PortableApps 有提供正/繁體中文的 Firefox Portable 哦。

請參照 [Firefox Portable Localization]

2009年6月28日 星期日

Feuerfuchs Portable 3.0.11 無法上傳

家裡的網路比較慢,每一次都上傳到一半就 session timeout,好無奈,所以 Feuerfuchs Portable 3.0.11 就難產了。

EDIT: 後來我先把檔案上傳到學校空間,再從學校上傳檔案,繞過了這一個問題。

2009年5月2日 星期六

Feuerfuchs Portable now on Linux

我現在的主要工作平台轉移到 Ubuntu 了,
不過有時候,還是有 Firefox Portable 的需要,
可是我又不想要用 Wine 來模擬,
所以我寫了一個簡單的 BASH script ,
來代替 Feuerfuchs Portable Launcher。
(不過功能很陽春就是了)

目前只會視情況,
以 AllowMultiplyInstance 的形式開啟而已。

根據我的測試結果,
可以和 Windows 版的混用,
在 FAT32 上面可以跑。

2009年4月15日 星期三

Mozilla Firefox

最近,我改了一下我的 Mozilla Firefox 的使用習慣,
我把「當我要關閉多個分頁時警告我」這一個選項關掉了,
取而代之的是把「結束前清除隱私資料」、還有「清除前警告我」打開了。
然後,我把啟動時開啟,設成「還原前一個工作區段」。

不過,這樣有一個大缺點,
就是,清完隱私資料的時候,
首頁就會變成 blank 的了,
但是我又不想裝套件。

所以,
我自己修改了 nsSessionStore.js。
我總是很偑服可以看得懂 Firefox 的人,
一下是 C++ 一下是 Javascript 一下又是 XUL / XPCOM ...。

不管如何,
我還是寫出來了,
不過是 Dirty Hack,
首頁寫死是 www.google.com.tw。

http://rafb.net/p/YDDjn834.html

2009年3月21日 星期六

Java 的 package

Java 的程式碼有一個和 C++ namespace 很像的東西,叫作 package。不過和 namespace 不一樣的是一份程式碼只能有一個 package 指令,所以也只能屬於一個 package。

在寫程式的時候,如果要測試,請下以下的指令:

javac YourClass.java -d .

最後的 -d 是要 javac 自動把 class file 放到以 -d 為根目錄而對映的資料夾之中。如果用 . 當作參數,就是以原始碼所在的目錄為根目錄。我們的 java 的 package 指令是長這樣:

package test;

那產生出來的 class file 會放在 ./test/YourClass.class。注意,如果執行 javac 的時候,沒有加上 -d . 那,class file 不論 package 指令怎麼定義,就只會放在和原始碼相同的目錄。

如果要執行這一個 class ,就直接下

java test.YourClass

就可以了。注意,如果在 javac 沒有加上 -d . 的話,無論 java test.YourClass 或 java YourClass 都找不到你的 class。

最近正在學 Java,為文記之。

2009年3月13日 星期五

Exim4 與 Gmail

因為我想要寫一個程式來自動備份我的程式碼到 Gmail,所以我要能夠用 SMTP 把我的文字檔寄到我電子信箱的指令。

我一開始用了 mail,這一個指令是我在上計概的時候學到的。我稍微查了一下,mail 這一個指令是屬於 mailutils 這一個 package 的程式。於是我就興沖沖地把下面的指令打下去

sudo aptitude install mailutils

經過一陣安裝之後,我很高興地下了下面的指令來做測試。

mail -s "Test Subject" email.address@gmail.com << context

可是,我收信收了好久,都等不到,之後我開始亂玩,卻發現以下的錯誤訊息:
Mailing to remote domains not supported

這到底是怎麼一回事?我百思不解,我不過是想要寄一封信,怎麼這麼困難?經過一番 Google 之後,我才知道要跑 sudo dpkg-reconfigure exim4-config。

跑完之後,就跟著這一篇〈Using Exim4 to send Messages through GMail〉去設定就可以用 mail 透過 SMTP 來寄信了。

2009年3月11日 星期三

Enlightenment Foundation Library

昨天晚上我去 TOSSUG 的聚會,去聽 WalkingIce 前輩對 Enlightenment Foundation Library 的介紹。介紹的主題有 Enlightenment 17/EFL 的現況,以及昨晚的重頭戲:EDJE,一個把 UI 和 Coding Logic 完全切割的設計。

看完介紹之後,對 Enlightenment Foundation Library 有一點心動。在很多方面 EFL 的設計都很前衛,感覺起來在技術上領先大多數我所知道的 Library,這也是在 1996 釋出的 Enlightenment 16 會讓人有 2003 年的感覺吧!(當然以現在的角度來看 E16 還算普通,可是回想一下 Windows 98 你就會知道在 1996 年 E16 是多麼的先進)

不過要用 EFL 還有一個大問題:他目前還是處於大量的開發階段,Commit 的次數仍然很多,API 也還不是很穩定,當然也不會有現成的 Debian Package,一定要從頭自己 build,這一點有一點麻煩,尤其是對我這種懶人而言。

不過如果有空,我一定會去玩玩看的!

2009年3月3日 星期二

又感冒了

上星期四晚上,睡覺前,很熱,所以我開電風扇睡覺,結果隔天被冷起床,附加喉嚨痛。本來以為是過敏,不以為意,想說喉嚨痛,多喝開水就會好了,週未也就沒有去看醫生。不過,星期日晚上回到台北,發現不對勁,我怎麼一直流鼻水,好像還有一點發燒,只好在第二天去看醫生。

不過拿回來的藥我想八成都是免疫抑制藥物,開了三種藥和上次的一模一樣,這一種小感冒的藥我都會開了,這叫久病成良醫嗎?

Feuerfuchs Portable 新網站

這幾天,我利用了週未,幫 Feuerfuchs Portable 做了一個新的網站,大概花了二天寫 CSS,半天寫一些很沒有意義的內容,還有把 Unstable 半年的 Feuerfuchs Portable 1.5.14.0 丟到 Testing 了。

大家可以去看看 http://feuerfuchsp.openfoundry.org

另,我又去看了 Firefox Portable 的 Launcher,我發現版號又變了...,最新到 1.6.2.0,又要去追版號了嗎?囧

2008年10月11日 星期六

[好消息] NSIS 的 GetParameters 的錯誤好像已經修複了

今天早上收信的時候,看到一封 SourceForge 信來的通知。我就心想:大概是 Bug Report 變成 Closed 了吧!結果沒有錯,真得是我的中文路徑 Bug Report 已經被 Review 了。NSIS 的專案管理員 Kichik 已經把我的修正加到 NSIS Code Base。不過我還沒有去測試,有空再說好了。

2008年8月27日 星期三

[抱怨] Openfoundry 的升級工作是完成了嗎?

台灣中央研究院資訊研究所的自由軟體鑄造場前一陣子在更新系統。經過一個小時的漫長更新,我發現 FTP 網頁上傳不能用了,其在讓我有些許不滿。

自由軟體鑄造場 Openfoundry 是一個中研院所提供的服務,其服務提供網頁空間、檔案空間、版本控制 (Version Control System)、專案管理等功能給予自由軟體開發者。性質相似的網站還有國外的 SourceForge、Google Code Project Hosting,這一種服務對於一些不願自己租用、維護伺服器的自由軟體開發者(包括我在內)可以說是一大福音。而 Openfoundry 又是國內少數對自由軟體有一定貢獻的學術單位,比起國內一大堆的 xx 自由軟體公司、xxx 電腦同業公會、xxxxx 促進會、oo 協會等拿經費卻不知用到哪的單位比較起來,Openfoundry 可以說是直接幫助自由軟體社群,有名如 PCMAN (BBS)、PortableApps-tw 等軟體也是使用 Openfoundry 來釋出檔案。

前一陣子,Openfoundry 發出了一則預告,表示伺服器即將更新,為此將會有二十四小時的停機,無法使用該站所提供的服務。我想這是好事,所以我也很樂意地等待。然而在更新完成之後,我發現網站空間再也不能修改了,這為我帶來不小的麻煩,因為系統升級,原本指向 http://rt.openfoundry.org/* 的所有連結都失效了。所以 Feuerfuchs Portable 3 Legacy Unstable 的下載頁面完全不能下載檔案。咳...

更讓我不滿的是,我寄信到 contact@openfoundry.org (Openfoundry 所提供的問題回報信箱),竟然連續被退件,最後一次寄出時,我仍等不到答案。或許我該考慮其他的服務供應者了。

__h.s.

ps.
FileZilla 的錯誤訊息:
指令: LIST
回應: 150 Opening ASCII mode data connection for file list
狀態: 伺服器未正確結束 TLS 連線
錯誤: Could not read from transfer socket: ECONNABORTED - Connection aborted
回應: 226 Transfer complete
錯誤: 無法取得目錄列表

2008年7月13日 星期日

Firefox Portable 視窗炸彈調查報告

Firefox Portable 的中文路徑怎麼又壞了?之前,還在想說不想管 Firefox Portable 的更新,把主力放到 Feuerfuchs Portable Wir 身上。不過前一陣子因為需要用 Firefox Portable,我懶得自己打包,所以我直接用 John T. Haller 前輩所打包的 Firefox Portable 3,結果很精彩地看到視窗炸彈,這下可好! OTZ

我本來還以為問題是新加入的程式碼所產生,不過看來看去,看不出所以然,我還有想過是不是二個 Launcher 的 Race Condition,不過似乎也不是。在看程式碼的途中陸陸續續找到一些小錯,不過都無傷大雅。

我迷失在一行又一行 Code 之間,毫無頭緒,也找不出 Solution。我一直在幽暗的 Source 裡面排徊,忖度著:這些程式碼之中一定有一些晦澀難以理解的錯誤。突然,有一道光照向我......,我似乎找到答案了。

接下來是一陣頭暈目眩。時光回到了二年前,這種感覺好熟悉。不,不可能,之前 Firefox Portable 的中文路徑不是早就修好了嗎?但是,擺在我眼前的事實讓我不得不接受。咳...,我發出了一聲長嘆。接下來又是一陣頭暈目眩,伴隨著一大堆髒話。

(消音)
!# $ %@ #$^$%&~ #~%$ #%^#@% #$^$%&$ #%^$#!@ $~@!$# @#%$#@^ @%#$@ %^$ #%$#@%^%^@#$% $@#% @#$ %@#$%@$#% @#%@#% $@# %@#$%@$ # %$@#% $

結果,我發現 Firefox Portable 3.0 的問題在於:GetParameters 函式又出事了,GetParameters 函式又被改成有問題的版本了(殘念)。不過我必需把責任釐清,這一次的問題出在 NSIS Team,和 John T. Haller 前輩無關,不過為了盡快修正,我已經發 Bug Report 和 Workaround 到 PortableApps。

問題是這樣的,不知道為什麼 NSIS 放在標準函式庫的 GetParameters 函式是有問題的版本,這個函式在處理 ASCII 字元的時候都可以處理得很好,不過處理中日韓表意字元的時候,就會出狀況。

而 John T. Haller 前輩依據 NSIS Manual 的建議,將原本自己寫得 GetParameters 改用標準函式庫中的版本,不過標準函式庫中的版本有問題,GetParameters 函式的回傳值根本就不對,所以 Firefox Portable 一直無法進入「授權頁、階段管理設定頁」,Firefox Portable 因而會一直自我執行(即視窗炸彈)。


我無言了!為何外國人寫得程式處理起中文常常會有問題呢?

2008年4月12日 星期六

我考到第一志願了!

先向大家宣告,我已經考上我的第一志願──臺大資工,也就是長達一年的浮潛可以結束了。當然最重要的一件事就是向鄉親父老報告我的 Feuerfuchs Portable Wir 計劃的進度。

Feuerfuchs Portable Wir,根據這一篇公告,將會用 wxWidgets (Unicode) 來實作,UPX 來進行程式壓縮。目前我的原型程式大概約 511Kb,不過是極度精簡的程式,連最簡單的 Launcher 都算不上,估計檔案的大小還會變大。

在寒假的時候,我已經在 OpenFoundry 註冊一個專案,做為未來發佈原始碼、新開發版的集中地。也因為有 OpenFoundry 的空間,未來我打算同時釋出有 (1)內建 Firefox、(2)只有 Launcher 二個版本的程式。

最後,附上專案網址 http://feuerfuchsp.openfoundry.org

_____hobbyscripter

2007年11月12日 星期一

觀戰有感

前一陣子 MozTW 的討論版戰事不斷,我對此有一些看法,故利用一些時間寫了這篇文章。

----------

聲明:這篇文章,不是寫給小白的。小白應該看看〈提問的智慧 〉。還有,當有兩個(或以上)人說您是小白,請接受事實,面對自己,再細讀〈提問的智慧 〉。

----------

文章開始前,我先引用一段話:
First they came...

When the Nazis came for the communists,
I remained silent;
I was not a communist.

When they locked up the social democrats,
I remained silent;
I was not a social democrat.

When they came for the trade unionists,
I did not speak out;
I was not a trade unionist.

When they came for the Jews,
I remained silent;
I wasn't a Jew.

When they came for me,
THERE WAS NO ONE LEFT TO SPEAK OUT.

-- by Martin Niemöller
這是德國詩人 Martin Niemöller 寫的一首詩,說明了:如果因為事不關己,就不採取行動,到時侯,當您是當事人的時侯,也不會有人為您說話。
(註:我只想強調 THERE WAS NO ONE LEFT TO SPEAK OUT,並無影射他人是納粹之意)

我想,事情的導火線就是某位網友因為各種理由,不斷惹惱許多前輩,連一些前來調解的前輩也被該網友點名,實在是讓人哭笑不得。而最近,擦槍走火,出現了趕人公投,正是我寫這篇文章的原因。

我的立場明確:我反對。(不過我沒有去投票,因為我認為這種票選根本不該舉行)


我想,一個理想、正常的民主社會,他們的公投一定有不能做的事。例如:您不能公投,要求郭台銘將其財產的一半捐出;您不能公投,要求處死某人;您不能公投,注銷某人的國藉。
國家是一個「擁有合法使用暴力的壟斷地位」的實體。
-- by Max Weber
我想,討論區也是一樣,管理員應該是刪除帳號權利的壟斷者。我認為,同是一個社群,除了管理員,誰也沒有趕人的權利。縱使那名網友再怎麼糟糕、無理,只要管理員不作為,他就有權利繼續留在這個社群。


再者,我必須說:一個巴掌打不響。MozTW 之所以會烽火連天,絕對不是該名網友一個人就能造成的。請想想,在該名網友發表(令人無言的)文章之後,您有沒有回文,您有沒有對罵?請再想想,您有沒有企圖以影射的方式嘲笑他?如果有,其實您也沒有立場罵該名網友。
你們中間誰是沒有罪的,誰就可以先拿石頭打她
-- by Jesus, 《約翰福音》第八章

我認為,如果您看到一些令您感到不快的文章,請不要回文,讓該篇文章沉入大海。請記得,回文就好比手動置頂,只會令更多人看到那篇文章,讓更多人不爽。如果該文章有違反法律或版規,我相信版主會處理。如果您真的忍不住,也請以回一篇文章為限,用辭以柔性規勸為主,不要陷入戰局。因為一但陷入戰局,情況很容易失控、擦槍走火。


願 MozTW 討論區和平之日長長久久!

_____hobbyscripter

2007年8月17日 星期五

[嘴泡] 論中文編碼 1

網路上這一類的文章已經很多了,不過我還是很想再桶一刀。

現在仍有不少人深受不良中文內碼的荼毒,其中,最讓人想要公幹的就是 BIG 5,它之所以最為人所公幹,只是因為它是最廣為流傳的爛編碼。因為種種無聊的因素──例如:有人想要在歷史上留名﹝即使是臭名也無坊﹞,讓這一個差勁的編碼,在中文電腦世界稱霸多年。

有些人也許會說 BIG 5 當時設計時,根本沒有考慮這麼多,它的設計者很務實,抱持「先求有、後求好」的心態,所以有很多問題﹝例如:和 ASCII 衝碼﹞是當初沒考慮到的。

但這根本是鬼扯!

早在 BIG 5 之前,就早已存在著 CCCII 這一個相當先進的編碼,尤其它的特殊的編碼方式,使得異體字之間可以保有一定的關係,這是連現在大多數的編碼都做不到的。

就結論來說,BIG 5 是垃圾!它之所以稱霸天下,只是因為一些政治因素。

如果說 BIG 5 是垃圾,則 Unicode 中日韓表意文字區就是一個垃圾堆!完全繼承 BIG 5 隨意收字,隨意排字的特點。Unicode 是怎麼確立「一丨亅丿丶」這幾個字的先後順序的?我真的很想知道。有些人說,等到所有程式改用 Unicode 中文處理就不再是問題了。我想,這最多也只能拖一點時間擺了!

但很可惜的是根據謝清俊教授的說法,自從張仲陶教授去逝之後,CCCII 便不再維護了,甚為可惜!

﹝未完,待續﹞

__________h.s.

2007年7月28日 星期六

[練習] Security Wipe -- 檔案安全刪除

這個程式(Security Wipe)是為了 Feuerfuchs Portable Wir 所作的準備,目的是在練習如何安全的刪除檔案,使得邏輯層面的救援軟體,無法還原出原來的檔案。

這個程式,大部分都是使用標準函式庫,只有在刪除檔案的系統呼叫,使用了 Windows API。所以應該可以很容易的移植到各個平台。

這個程式的工作原理是透過不斷重複寫入無意義的資料來達到抹除資料的目的。它首先會將資料做一次「反轉」的工作(Logical Not,~)。然後,依序填入 0x00 與 0xFF 這兩個字元。最後在填入亂數若干次。

目前使用 R-Studio 與 FinalData 是還原不出來的。(可以看到檔案,可以還原,但是還原出來的都是亂碼)

目前設計上還是有一些小瑕疵,所以要正常使用這個程式的話,您的記憶體 (RAM) + 虛擬記憶體(Swap) 要夠大才行。

您可以在下面的連結下載到檔案: 下載 (hosted by Live-Share.com)。

Regards,
__________h.s.

P.S.
  1. 這個程式仍在發展中,如果有需要在測試以外的用途使用,我會建議您改用 Eraser。
  2. Security Wipe 是我的獨立創作,以 BSD 授權,歡迎大家使用,惟不為使用本程式產生的任何後果做保證。

2007年7月23日 星期一

[嘴泡] Feuerfuchs Portable 重寫版本的計畫

繼續潛水,繼續嘴泡 ing....

新的 Feuerfuchs Portable Launcher 的開發代號: Wir。
(如果不是方案三勝出的話,才有這個計畫)

預計會有以下功能:
  • GUI-Toolkit: wxWidgets 或 FLTK
  • File-System-Library: wxWidgets 或 自己來
  • RDF-Parser
  • 中文路徑(Firefox 1.0.x 的支援未定、Mozilla Calendar 支援確定取消)
  • 增加一個 Feuerfuchs Portable 工具列
  • 提供強制關閉 firefox.exe 的功能(避免尚未關閉完全)
  • 可以使用「精靈」來配置 Feuerfuchs Portable
  • 使用 Binary Based 的設定檔規格(加快啟動速度)
  • FeuerfuchsPortable.ini 仍會向下相容
  • 提供「複製到硬碟」然後「打包、存回隨身碟」的功能
  • 提供資料安全刪除(未定)
  • 很有可能會用 UPX 壓縮
  • 多國語言支援
至於授權方面,
我很想用 BSD,
新的軟體的所有程式碼,
我會自己獨立創作,
不過因為我不是在 Cleanroom (我曾經改寫過 Firefox Portable Launcher)所以我不知道可不可以不用 GPL。(煩惱 ing...)

Regards,
__________h.s.

2007年5月18日 星期五

Open JDK Avaiable

Sun 把 Java VM 開放出來了。您可以在 OpenJDK 網站中找到所有開放出來的程式碼。

其中好像有和 Java Applet 有關的程式碼。
可是卻找不到和 Netspace Plug-in API 有關係的程式碼,
是我太笨了嗎?

還是是屬於「Sun 沒有權限開放的程式碼」?

(BTW, 那幾個和 Java Applet 有關的檔案,我也都看不懂,想要 Movable JavaVM with Firefox,看來還是需要高手出馬)

(ps. 看頂尖高手寫的程式碼,真得會有自卑感,咳!)


__________h.s.

2007年4月8日 星期日

我該不會夢遊把您的私人訊息刪了吧!

我該不會夢遊把您的私人訊息刪了吧!我看著 MozTW 論壇 的私人訊息收件夾,並不斷的這麼想著!
今天,我去 Gmail 收信,發現 2007.04.07 也就是前天,我有一封私人訊息。我前往 MozTW 論壇 的私人訊息收件夾收信,結果我發現最新的一則訊息是 2007.01.26 收到的「已收信件」。於是我開始擔心了!會不會是我昨天太累,趴在電腦桌上睡覺時,忽然跳起來,夢遊?

不會吧,我想。不過因為我確實有「夢遊」的前例,所以如果您於 2007.04.07 有發私人訊息給我的話,拜託,請再發給我一次 (表情符號: <O>),謝謝!

還有,如果您是主動刪除的話,請來信通知一下,謝謝囉!

Regards,
__________h.s.

2007年2月22日 星期四

Firefox Portable + JVM Movable 可行性分析

  • 聲明 1: 為何本文使用 JVM Movable 而非 Java Portable?因為 Java 本身是一個可移植 (Portable) 的語言,而不是指 SUN JRE(JVM)。
  • 聲明 2: Mozilla, Firefox 為 Mozilla Fund./Co. 的註冊商標;Firefox Portable, OpenOffice.org Portable, PortableApps 為 John T. Haller 的註冊商標;SUN, Java 為 SUN Co. 的註冊商標。謹此聲明。

在拜讀 某A 前輩的文章: OpenOffice.org Portable 非公式正體中文版: OO.o Portable 2.1 Pre-Release 的新功能 後,發現 JRE(JVM) 竟然是可攜帶的!驚喜之餘,聯想到了這篇文章: Portable Firefox問題 (請問可否不用在電腦安裝 java 而執行 java 元件呢?)。到底 Firefox Portable + JVM Movable 可不可行?

若是以前,我會回答很「官方」的答案: 不行。(參: Firefox Portable: Known Issues,因為要更動很多 registry) 。

當然,透過「暫時寫入、事後抹除」技巧,的確能模擬出 Sun JRE(JVM) 已經安裝過的狀態,但是: 風險過大,搞不好,可能影響到原有的 Sun JRE(JVM) ;而且,我們可能需要 admin 權限。然而對於許多 Firefox/Feuerfuchs Portable 使用者而言,是不可能有 admin 權限。

所以到目前為止 (2007/2/22),
「官方」的答案是: 不行。
但現在,我的答案好像不這麼肯定了。

那 OpenOffice.org Portable + JVM Movable 是怎麼做到的?在讀到該分消息,震驚之餘,我去下載了 OpenOffice.org Portable (Beta),閱讀其中程式碼,發現: 能這樣做,是因為
OpenOffice.org 設計「良好」,只要將 JRE(JVM) 放置的目錄提供給 OpenOffice.org,剩下的交給 OpenOffice.org 處理。

然而,Mozilla Firefox 卻不同!

Mozilla Firefox 使用的是 SUN JRE(JVM) 提供的 Java Plug-in。Mozilla Firefox 的工作僅止於找出 SUN Java Plug-in,剩下的,讓 SUN Java Plug-in 去弄。而 SUN Java Plug-in
似乎是利用 Registry 來尋找 JRE(JVM) 所放置的目錄。

這下問題,又回到原點了: Registry Hack!
有解決方法嗎?
目前,最有可能的方法是: 重新實做 Java Plug-in。
可能嗎?

很有可能,至少一開始,我是這樣認為的!

障礙列表:
  1. Mozilla Firefox 去找電腦中已經安裝的 Java Plug-in,造成衝突。
  2. 重新實做 Java Plug-in
其中第一點,很容易就可以克服: [MozillaZine: Plugin scanning]。只要把 plugin.scan.SunJRE 值設為 100000,如此一來 JRE(JVM) 至少要出到第 100000 版才有可能會產生衝突。然而第二點,就不是哪麼容易了。

先談談 Mozilla Firefox 的 JVM Framework。您可以在下面的列表找的相關資料:
  1. Open JVM Integration (Mozilla Project)
  2. OJI之介紹與實作 (.doc) by 陳正哲
再看看 SUN 對於 Open JVM Integration 的「看法」:
Since Netscape 7 has been widely adopted, we decided to stop building OJI plugin for Netscape 6.x in JDK release.
所以,顯然的,上面的兩篇有點舊,其使用的介面可能與 JVM 最新版本不太一樣。

再談談 SUN Java Plug-in 的相關資料:
  1. README: JDK Builds
  2. JDK 7 Documentation: Deployment: Java Plug-in
全都沒有講到和 Java Plug-in 怎麼和 JVM 運作(至少我都看不太出來)。
到目前為止,可以用的資料,好像只有「稍舊」的 OJI。

我又把腦筋動到 Java 的「開放原始碼」。
而我從 OpenJDK 的 Mailing List Archive 中找到這一封信。
信上說 Java Plug-in 的原始碼尚未於 OpenJDK 計畫中公佈,
但我也得知: 可以在 JDK 6 的原始碼中找到
非 Windows 版本的 Java Plug-in。
(但我不知道從何找起)
而這句話又讓我想起,README: JDK Builds 的一句話:
NOTE: The Java Plug-in product for Windows cannot be built from the Community Source Release.
看到之後,心就涼了一半。
只好期待 SUN 最後還是會把 Java Plug-in 加入到 OpenJDK 計畫中。

不過,除了 SUN 的 Java Plug-in 以外,我還看到了一個東西: gcjwebplugin。這個計畫目前已經被整並到 GNU Classpath 計畫。目標是製作一個 Java Plug-in。雖然我看不太懂程式碼,不過
好像和 JVM 的種類無關,也許可以從中取得靈感以及相關的介面。

如果有前輩,能重新實做 Java Plug-in 或者 SUN 釋出 Java Plug-in 再略加改寫 (改成以其他方式取得 JRE(JVM) 的位置) ,應該就可以達成 Firefox/Feuerfuchs Portable + JVM Movable。

__________h.s.

後記:
這個議題好像蠻常被提起,而我也蠻有興趣的 (雖然我不使用 Java Applet,而且目前沒有能力) ,所以略加紀錄。希望能供有興趣的前輩參考。