PCman 板


LINE

http://www.ithome.com.tw/itadm/article.php?c=67918 iT人甘苦談─穿著醫師袍的熱血電腦人:PCMan 文/陳思翰 2011-06-03 目前擔任北部某醫學中心內科住院醫師的洪任諭,他曾開發出家喻戶曉的PCMan軟體,且 在工作之餘,仍積極投入自由軟體開發 IT人物─洪任諭 http://www.ithome.com.tw/img/135/67918_1_1_l.jpg
內科住院醫師 ●出生年:1983年 ● 學經歷:陽明大學醫學系畢業,現任北部某醫學中心的內科住院醫師,任職時間約3年 ● 軟體作品:PCMan BBS系列軟體、新酷音輸入法Windows版、Firefox IE Tab套件、 Linux LXDE桌面系統   電子佈告欄(Bulletin Board System,以下簡稱為BBS)在網際網路剛發展時非常盛行, 但隨著時代的進步,網路呈現的方式越來越多,所以使用BBS的人也逐漸減少。不過,它 的影響力仍不可忽視,以臺灣最知名的BBS──PTT來講,使用人數每小時平均有13萬,而 同時連線最多可近15萬人,並且也造就了許多次文化。平常有上BBS習慣的人,幾乎都聽 過也使用過PCMan這套BBS連線軟體。而打造PCMan的作者,就是目前任職於北部某醫學中 心內科住院醫師的洪任諭。而除了知名的PCMan外,其實連下載次數超過3,000多萬的 Firefox IE Tab套件,也是他打造出來的軟體。 從沒上過電腦補習班,程式開發完全自修 洪任諭畢業於陽明大學醫學系,學業、工作繁忙的他,很難讓人想像,他的興趣竟然是程 式開發。而讓人更驚訝的是,他竟沒有上過任何補習班或相關課程,都是靠自修習得。而 他程式開發如此厲害,為何是念醫學系,而非資訊科系?洪任諭說,他覺得資訊科系整天 都要面對電腦,也較少接觸人群,他不喜歡這種感覺。除此之外,他認為醫學系能跨領域 ,與各種不同的專長結合,出路更廣。 洪任諭會接觸程式開發,是因為高二時家中買了電腦,而他覺得買來只打電動實在太浪費 了,所以開始想電腦還能做些什麼。而最簡單的方式,就是看電腦補習班傳單上的授課項 目,零零總總的一堆課程。他心想,不然自己也來學。但那些課程對於學生太過昂貴,所 以他選擇買書自修。 洪任諭第一次碰的程式語言為Quick Basic,可是當他看完書後發現業界沒有人用Quick Basic後,他就跑去改學C。他說,那時學C語言,頂多只是印出幾行字或星型符號,完全 不能理解它還能夠做些什麼。之後在學校的電腦課中,聽到老師說C語言能夠寫出像 Windows這類的程式,讓他覺得不可思議。 意外打造出PCMan連線軟體 洪任諭從對程式一無所知,到能夠獨立開發PCMan,其實中間過程都是誤打誤撞造成的。 在高二的時候,他的電腦處理器是Pentium II 266MHz,記憶體只有64MB。洪任諭說,那 時KKMan剛出來,他大多用它上BBS。不過,因為自己電腦硬體差,使用起來非常「卡」。 他某次跟同學聊天時抱怨說,如果自己會寫程式,要寫一套能讓自己電腦跑得順的連線軟 體。結果,後來這玩笑話就成真了。 開發PCMan這套軟體,其實並不是為了當初那句玩笑話。洪任諭說,他高三的時候開始學 C++,並且接觸Windows MFC(Microsoft Foundation Classes,微軟基礎類別庫)。那時 ,他對於MFC中的Socket Programming功能感到非常好奇。因為上面寫著,該功能只要輸 入IP位址與服務埠,就能連線到主機。 而洪任諭當時記得住的IP位址,就只有學校的BBS位址。輸入後,他收到BBS的歡迎訊息, 讓他嚇一跳。他心想,為什麼別人畫面是彩色,而自己的卻是黑白,並且只有一行字,還 有許多看不懂的指令。他問學校電腦老師,老師說那是Telnet通訊協定的RFC 854,可以 與對方主機進行溝通。 由於通訊協定RFC 854的參考文件為英文,而且因為文章複雜,使他難以閱讀。而跟同學 討論時,決定去用NetTerm這套連線軟體。該軟體除了能連線到BBS外,還能儲存成記錄檔 。而他就用NetTerm,一步一步研究每個指令進出的紀錄檔。洪任諭發現,每次資料送回 來,都是沒有經過解碼的16進位資料;而且這些資料中,夾雜在文字中間的英文指令,都 是RFC 854通訊協定。 他就照著操作取得的指令,透過Socket Programming傳到BBS主機。接著,第二個字串就 回傳過來,但這些字串沒有經過排版。他也好奇KKMan的連線畫面為何有彩色,他的軟體 卻沒有。而這些字串,字與字的中間有著許多看不懂的符號。他把這些符號濾掉後,剩下 的就跟KKMan的黑白畫面一樣。 後來,他才知道那些符號是彩色及控制游標符號的終端機指令。而這時候,洪任諭的C++ 基礎還沒學好,開發上卻先接觸MFC,結果導致許多功能使用上有問題。最後,他把程式 重寫了3、4次才有個雛形。 而他就這樣,每個功能都像尋寶似的,將KKMan能夠做而自己軟體卻沒有的功能,慢慢研 究並加上去。基本功能都建置完後,他才把分頁、選取文字之類的進階功能加入。並在升 大學那個暑假,正式推出第一版PCMan。他說,軟體當初取名為PCMan,並不是為了跟 KKMan打對臺。而PCMan這名字,是來自於洪任諭的BBS ID,而後面的Man只是湊巧相同而 已。 PCMan轉移到Linux後,順手開發了桌面系統LXDE 第一版PCMan推出後,因為大受好評,陸續有網友寄信,希望洪任諭加入不同的功能。而 他也曾經受到PTT站長的幫助,表示願意協助推廣PCMan。也因為這樣,使他開始著手將 PCMan轉移到不同平臺上。而這個原因,也造就了他另一個軟體大作──Linux LXDE桌面 系統。 當時,洪任諭只是為了開發Linux版的PCMan而接觸Linux。他不只不會上面的程式語言, 甚至沒接觸過這套作業系統。那時候,他透過wxWidgets(Windows and X widgets)跨平 臺函式庫重新改寫PCMan,原本以為在Linux上重新編譯就能使用。結果編譯完後,發現 PCMan不能使用,而且部分功能有問題。 洪任諭想,似乎只差臨門一腳就完成,索性就打開類別庫來修改Bug,結果發現裡面都是 GTK+(GIMP Toolkit)的圖形介面函式庫。後來,他為了修理編譯錯誤的部分而學習GTK 。而接觸GTK沒多久後,他發現似乎也不難。因此決定,與其修改出錯的部分,不如直接 用GTK重寫。也因為修改時大多是在Linux環境上,後來他也成為Linux使用者。 而LXDE的開發,純粹是因為洪任諭在使用Linux時,每次開GNOME的檔案管理員都要花上20 幾秒,他覺得開啟時間這麼久,其中一定有問題。後來,他就開發了輕巧、開啟速度快的 PCMan檔案管理程式。不過,後來推廣上屢遭挫折,一直無法增加使用人數。他那時想, 可能是因為使用者都習慣用桌面系統預設的檔案管理介面,所以推廣上較困難。 於是,洪任諭就找了幾個精通Linux的網友組成開發團隊,打造輕巧的Linux桌面系統。而 LXDE後來也受Linux使用者的擁載,且被Ubuntu的分支Lubuntu收錄。LXDE並無版本的差異 ,這是因為LXDE的基本精神是模組化的桌面系統,它是由許多獨立元件組合而成,且元件 間無相依性。使用者能視自己的需求,選擇元件使用。所以他們這個開發團隊,只會更新 元件版本。 程式開發需要學以致用,才能維持開發的熱情 洪任諭製造的軟體,大多都是因為練習程式語言,或是市面上缺乏自己想要的工具,才開 發出來的。以PCMan和LXDE來說,其實初衷都是來自於電腦硬體差、執行程式速度過慢, 而決定自己開發輕巧型的軟體來使用。 洪任諭為了確定軟體是否夠輕量化,到2007年之前,他釋出每一版PCMan之前,都會安裝 到自己的Pentium II電腦上驗證。只要執行時夠順暢,就代表該版本沒問題;如果較遲鈍 ,那就代表它程式碼可能有寫錯的地方。也因為這樣,每個版本的PCMan,使用上就是較 別的BBS連線軟體輕巧。 大多數人一定都好奇,洪任諭是如何讓自己的程式開發變得如此厲害?洪任諭說,在學習 程式開發時,千萬別自我設限,並且要學以致用,如此才能激起撰寫程式的熱情。 文⊙陳思翰 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.233.149.200
1F:推 chancewen:m(_ _)m 06/30 22:09
2F:推 kaoh08:拜神m(_ _)m 看來我的硬體還不夠差XD 07/30 21:20







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP