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)、專案管理等功能給予自由軟體開發者。性質相似的網站還有國外的 SourceForgeGoogle 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