很多意外的進步,常都是在不務正業,以及無心插柳當中,
陰錯陽差獲得的,不過成果並不是偶然,而是長期累積的結果。
平日累積的經驗和研究,可能毫無成果,看似白費,一無所獲,
但一旦等到了時機適當的時候,就能在短時間內立即展現出來。
PCMan BBS 連線軟體系列,堪稱地球上版本最多的 BBS 連線軟體
從主要的 PCMan Combo/Lite 系列,由 2001 年發展至今
已經演變成自由軟體,成為開放原始碼的 Open PCMan 專案
後來我還使用不同的開發工具和程式語言,重寫了好幾次,
這些支援各種平台的版本並不是用移植的,而是每次都是重寫。
反覆重寫一樣的程式,看似沒有太大意義,但是在這個過程中,
雖然沒做出什麼新東西,我學會了使用幾種不同的工具。
原本 2001 年的時候,我只是在學習 socket programming 而已
因為要測試連線,腦中又只記得學校 BBS 站的 IP,隨手輸進去
才意外發現,這樣程式竟然可以接收到 BBS 站的畫面,
這幾行隨手用來練習用的測試程式,最後變成了 PCMan 全系列。
http://pcman.openfoundry.org/
http://pcman.ptt.cc/index2.html (舊網址)
後來看到可跨平台的 wxWidgets (當時叫 wxWindows) 程式庫,
就有打算要嘗試使用看看,還在評估研究的時候,
幾個月後又看到有位網友真的用 wxWidgets,開發出了另一套
BBS 連線軟體 BBMan,證實了這件事情的可行性。
於是我也學著用 C++ 配 wxWidgets,重寫出 PCMan X,
可跨 Windows, Linux, 和 Mac OS X 三大主流平台,
這在當年可能是台灣第一個支援 Mac OS X 的 BBS 連線軟體,
本來計劃用這個取代原本的 PCMan,不過後來因為種種原因
現在已經廢棄不用,但我在其中學會了如何使用 wxWidgets
也因為這個原因,我才開始摸 Linux 下的程式設計,
也是這樣陰錯陽差變成 Linux 系統的使用者,一直用到今天
又是因為當時嘗試修正 wxWidgets Linux 版的中文輸入問題,
所以意外開始學 GTK+,到今天變成都改寫 Linux 下的軟體
http://pcmanx.sf.net/
因為自己本身變成了 Linux 的使用者,所以之後開發的軟體
都是以 GTK+ 進行,並且專門開發給 Linux/X11 使用。
所以就用 GTK+ 重寫出 PCMan X GTK+2,是目前 Linux 下
主要使用的版本,使用 C/C++ 搭配 GTK+ 2。
http://pcmanx.csie.net/
http://code.google.com/p/pcmanx-gtk2/
後來,意外看到 Firefox 瀏覽器外掛程式的文件,想到似乎
可以把 PCManX 的程式改寫,用外掛的方式塞進瀏覽器裡面
經過實驗之後,PCMan for Firefox 的外掛就產生了
這個版本是使用 C/C++ 搭配純 Win32 SDK/API 撰寫,
所以很小很快,但目前似乎和最新版 Firefox 有點相容性問題
http://pcmanmoz.mozdev.org/
(這個 BBS 外掛所引用的技術,後來被我用來開發知名的
IE Tab for Firefox 外掛程式,不過後來因為沒有空
又不再使用 Windows,我就沒有繼續參與開發,而讓另一位
合作的開發者 yuoo2k 維護後續的新版了。)
作為台灣地區第一個把 BBS 連線軟體塞進 Firefox 的人,
我當然是不會因此滿足,畢竟我是 Linux 使用者,
所以,幾個月後,Linux 版 的 PCMan X GTK+ 2,
在一些高手的協助下,也發展出可以塞進 Firefox 的外掛
變成可以內嵌到 Firefox。
http://pcmanx.csie.net/
在 2007 年初原最古老的 PCMan 系列開放程式碼,
變成 Open PCMan 專案,以自由軟體的新姿態重新出發。
在整合進網友貢獻的新功能之後,我就淡出沒再開發這些軟體了
平常的重心已經轉到醫療工作上,還有 Linux 平台
主要的心力投入在開發 Linux 上的 LXDE 桌面環境。
2009 年,有些熱心的網友重新活化了 Open PCMan 專案
為這個專案注入新血,並且由他們推出了 2009 年版。
也就是大家今天會在網站上下載到的版本。
2001 年開發了第一版 PCMan 軟體,到 2009 年完全淡出,
其實我還是會手癢的。 於是...在下班後稀有的閒暇時間,
還有中午飯後的休息時間,我又偷偷打開了編輯器,輸入了
一些簡單的程式碼。而這個無意間的舉動,又意外的,
衍生出一個新作品。
說意外也不全然是,我調查相關的技術,和翻閱相關文件
累積相關資訊也有幾個月了,不過本來還在觀望的...
這兩天我原本只是一時興起,想練習一下 Javascript,
因為這個廣泛被應用在網頁上的程式語言,現在正火紅
但是我其實從來沒有學過,也不太會用,加上我一直想要
學習怎樣用 Javascript語言,撰寫 Firefox 瀏覽器的
擴充套件。所以,在看過相關的教學文件之後,
也就是官方網站上的那個簡陋的 Hello World 範例,
我就開始動手,把在腦中勾勒已久的程式寫下。
三天內寫了九百行,很簡短,但是一個新的 BBS 連線軟體
初具雛形了。 這是最新的 PCMan for Firefox 擴充套件,
可以讓使用者在 Firefox 裡面開啟 telnet:// 上 BBS
這不是先前 PCMan plugin 的新版,這是完全 from scratch
用完全不同的程式語言,所重寫的新軟體。
PCMan for Firefox 現在是純 javascript 程式,
沒有夾帶 plugin 了! 目前功能還很簡陋,不過大致上可以用了
剛剛已經放上專案網站: http://code.google.com/p/pcmanfx/
在退出 PCMan 系列的開發兩年之後,很高興這個歷久不衰的
系列作品,又有了新的成員出現。
詳細介紹請看下篇。
4 則留言:
推「地球上」!
XD
我想 "推" 另一件:同一個人生,不同的實踐。
謝謝PCMAN,除了這個我不知道還有什麼能說...
你真的太強了!
PTT鄉民前來進香~
張貼留言