2006-04-26

很多事是學不完的

許多程式開發工具或是程式語言,我用了很長的一段時間,左圖那個 VB6,算算從3.0時代開始,我用超過10年了,我一直天真的以為,用了超過10年的工具,應該所有的功能都知道才對,其實不然。

如左圖所示,某一次寫一支 VB 程式時,一陣手忙腳亂再加上多個程式間切來切去之下,無意間我對著我的 Form 按下 Ctrl+V 之後,看到我的 Form 變成這付模樣,我的直覺是這大概是 VB 的 bug,所以我也很直覺地關掉 VB 再開一次,之後,我不死心,再度對著 Form 按Ctrl+V,發現出現一模一樣的現象,這應該就是我的問題了,但,從沒遇到這情況的我,還是不清楚這現象從何而來,我就 copy 了一張圖,然後對著 Form 再度按下 Ctrl+V,這下子,Form 的底圖換成了那張圖,這時我才知道這是因為我按下 ctrl+v 同時,也指定了 form 的 picture 的屬性,而,我之前 Ctrl+C 的是一個字串,上圖其實是五個中文字疊在一起的模樣,form 的 picture 屬性我用過,但是 Ctrl+C 一串字貼到 picture 屬性會變成什麼現象,我就不知道了,還造成我大驚小怪,還自以為用了10年工具應該要什麼都知道,真是慚愧。

Scott McNealy Steps Down as Sun CEO

剛閱讀了 Daniel Lyons 的 blog Don't Blame Scott,裏面提到 Sun 的 CEO, Scott McNealy 下台的事與Sun 的興衰,以及 Sun 的員工 Larry McVoy 早在 1994 就建議 Sun 開放 Solaris 原始碼的故事,裏面有一句話提到 Larry McVoy 講的話:
"If they had done what I suggested, I am 99% sure that Linux wouldn’t exist today."
身為 Linux 的愛好者,我倒覺得不見得這麼絕對。Linux 之所以成功(姑且稱 Linux 目前是成功的)當然有很多主客觀及內外在因素,其中有一點是肯定的,就是部分 Linux 愛好者,當初投入 Linux 陣營其實只是很單純地因為 Linux 夠開放以及為了反 Microsoft 而已,倒不見得是因為 Linux 有任何功能或是技術上的特點比 Microsoft 的同等級產品有多先進,Linux 上面跑的 XWindow 跟 Microsoft 的視窗介面比起來,效能如何?Microsoft 的 MSOffice 與 Linux 上面跑的 openoffice,效能差距如何,這些都影響使用者是否願意在這環境上面繼續用下去,但我們這些Linux 愛好者根本不在意這些,gtk 與 QT 例子,一個完全 open,一個把持在商業公司手上,二者的聲勢就有不同,因此,個人認為 Linux 受到歡迎關鍵在於 Linux 一開始就採取開放性的態度,不為任何一家商業公司所把持,並不在於 Linux 任何功能上有多先進於其他作業系統,也就是因為如此,Solaris 當年若也 open source,對我們來說,只是 open source OS 多了一項選擇,就像 BSD 系列一樣,有一定存在與使用的比率,但要完全打敗某一個 OS,應該是做不到的事。

2006-04-24

XCIN -> OXIM

在 Linux 環境 下,我使用 xcin 2.5.3 當輸入工具有好一陣子了,對我來說,不管是否有其他輸 入工具更好用,xcin 滿足了我之前對於輸入法的需求,我覺得夠用了,就一直用 到現在,只是後來發現,xcin 有二個功能還沒有跟上來,讓我開始有用其他輸入 工具的想法。一是 xcin 使用 PCF 字型,不是用 ttf 字型,而我使用的 PCF 字 型是 twmoe-kai,這套字型字數有限,很多字都沒有包含在裏面,像是"撐"與"瀞 "。第二個問題是,xcin 很多字打不出來,不過這點應該與第一點是一體兩面的問題。

我選擇了 OXIM 來當我下一個輸入工具,在編譯 oxim 之前,需要滿足 libtabe 及 libchewing 的 dependency,我下載了 libtabe-0.2.6 回來編,至於 libchewing 的酷音輸入 法函式庫,我用不到,就把它給 disable 掉,裝起來之後,發現 oxim 有二點功 能很棒,一是 oxim 使用 ttf 字型,這也是我換輸入法最主要原因,也因為使用 ttf 字型,輸入中文時,選字視𥦬美觀多了。二是,我原本用 xcin 時,很多程式 都得在 zh_TW.Big5 的 locale 下執行,xcin 來輸入中文,現在換了 oxim 之 後,已經不需要這麼做,只需要指定 XMODIFIERS 的環境變數為 oxim,不管是在 那一個 locale 底下,都可以叫 oxim 出來,oxim 真是太強悍了。

oxim 好用是好用,不過我發現到了在某些應用程式下,原本 xcin 不會出問題, oxim 會出問題的情況,像是 openoffice,在輸入中文時,輸入過程的鍵盤動作, 都會讓 OOo 記憶下來,這造成很大的困擾,可以說這不解決,OOo 就無法搭配 oxim 輸入中文。

2006-04-18

The simpler, the better

剛看了一篇 Why Windows is less secure than Linux 的blog,裏面有二張很有趣的圖,分別是 apache
ISS服務一個 html 的 request 時,所進行的 system call,由這二張圖可以看出ISS在服務 html request 時,背後所進行的 system call 要比 apache 複雜許多,雖然程式寫得複不複雜也不見得就代表了什麼樣問題,充其量也只是愈複雜愈容易出錯而已,只是這二張圖讓我想起去年在修課時,課堂上所提及的"若是有一個模型可以解釋一個問題,這個模型愈簡單,那麼,這就愈會是一個好的模型",這句話與這二張圖有異曲同工之妙。

我自已也在寫程式,面對一個程式問題,在下手之前,我應該也要想想,有沒有任何解決這個問題的方法是最簡單的,而不是寫了一大串的程式才發現其實有更好更簡單的做法可以解決這問題。

2006-04-17

Blog, the 5th estate

古歐洲封建時代,社會分為3個階級,最高為教會,再來是貴族,最後是平民,這三個"階級",英文稱之為 estate。後來因為媒體的興起,扮演了批判社會的角色,影響力愈來愈大,儼然成為了一種勢力,英文更是稱媒體為 the 4th estate,中文稱之為"第四權"。

現在的社會,媒體的力量真的是很大,就拿國民黨榮譽主席連戰來說,一般人恐怕不太有機會能夠知道他每天都在做什麼,我們都得靠媒體(有時候是狗仔!)的報導才能知道他今天到了大陸的那些地方、在國共論壇裏的演說內容,以及和胡錦濤講了什麼話等等,而我們就會很自然而然地在我們的腦海中就留下這樣的印象,久而久之,我們就會以這樣的印象來判斷某個人,甚至在選舉的時候做出選擇或不選擇他的決定。

現在,靠著網路的發達,blog 這個俗稱"部落格"的玩意兒,也漸漸地形成一種文化,扮演了批評時事的角色,聽說光是美國地區的部落客(也就是 blogger,寫 blog 的人)就已經超過百萬人,這百萬人若是同時發表對某件事的評論,再透過網路的傳播,網友再對其回應,這形成的輿論就會很可怕了,其影響力不容小覷,也難怪英文已經稱 blog 為 the 5th estate(中文為"第五權")了。

2006-04-15

我使用 Linux 當 desktop 的原因

同事有一次跟我要一個文件,我確定那份文件在我的筆電裏面,但是忘了放那個目錄,所以我很自然地在 xterm 底下用 find/grep 找那份文件,同事看我操作 Linux 的方式,已經與大多數同事操作 Windows 不同,這時同事跟我說了一句話,"Neo,已經完全沒有人知道你在做什麼了",同事又問我:"為什麼你要用Linux 當 desktop",我想了一下,這似乎不是三言二語可以說得完的。

我使用 Linux 當 desktop 的原因:
1,Linux 可以很簡潔,不佔空間:我使用 Slackware 10.2,系統裝完之後再把不要的 package 拿掉之後,整個 OS 只佔掉了我大約400mb的硬碟空間,這比起windows 動不動就佔掉幾G來說,小太多了。
2,Linux 因為 GPL 的特性,OS全部的細節都攤在你面前,你愛對它怎樣就怎樣:Linux 對我來說,完全沒有任何"黑盒子",我可以對它有100%的掌握,對於某些功能不滿意,我可以找到相對應的 source,改掉我不喜歡的地方、加上我想要的功能。這在 windows 根本做不到。
3,Linux 給了我一個很方便的 C/C++ 開發環境:Linux 有 GCC,在 x86 的效能上或許比不上 intel 自家的 compiler,但是它卻是大多數 GPL 程式碼 default的 compiler,任何 GPL 的程式,我都可以在 GCC 底下編譯起來玩,很方便。
4,Linux 底下大多數的應用程式不用錢,但品質已經超過或至少逼近 windows 同樣性質的程式:我在 Linux 環境下,常用 seamonkey、adobe reader、OpenOffice、gaim 等程式,回到 windows 環境,我一樣用這些程式,這與我在那個平台做事沒差別。
5,Linux 不受病毒侵襲:我常看同事為了病毒,不是一陣子就得重權 windows,不然就是裝一堆防毒軟體,把 windows 的效能搞得很差,我用 Linux 完全沒這困擾。
6,Linux 的 TCP/IP 完整,可以做很多網路服務:server 應用就不談了,我的 desktop Linux 也有把 iptables 開起來,把一些不必要封包擋在外頭,更提高了安全性。

這是我這麼多年來用 Linux 當 desktop 的理由,不過,比起這些,我覺得習慣應該才是 Linux 真正綁住我的原因,我已經很習慣 Linux 做事的方式,回去用 windows,只會綁手綁腳,OS的目的就是為了讓使用者更方便地使用硬體及軟體,Linux 讓我很方便地做到這一點,所以我用它。

2006-04-10

半強迫大眾使用 ETC?

我今天如同平常一般地經過國道三號七堵收費站回家,國道三號的七堵收費站只有7個車道,我想,當初在設計這個收費站時應該是考量到七堵是小站的關係,所以車道不用像樹林收費站那麼多,只是前一陣子因為 ETC 車道的關係,撥了二個車道出來,因此只剩下5個,不過也夠用了,但是我今天進站時,遠遠地就看到有二個非 ETC 的小型車車道的上方有個 X 的符號,剛看到的那一刻,想說,少掉二個,再怎麼樣也還有三個車道可以走,但是後來看到大家都擠到同一車道來,我才知道,原本非 ETC 車道的五個車道,分別是3個小型車回數票車道,一個現金車道,一個大型車車道,今天少掉了二個小型車車道之後,就只剩下一個車道,也難怪大家都跑到同一車道來,不知道這會不會是半強迫大家使用 ETC?

2006-04-06

狗仔文化之於台灣的價值

這幾天,城仲模的新聞鬧得沸沸揚揚,最新的結果是他主動辭去他的司法院副院長以及大法官的職務,我在這裏想要聊的,不是他該不該主動請辭,也不是去探究他是否說謊,這都太專業了,我也不想去探討為什麼他可以背著他太太搞外遇,那是他與他太太之間的事,我管不著,我想聊聊我對於狗仔文化之於台灣的價值。

根據報導,城仲模這件事會曝光,完全是某週刊去跟拍來的,當晚,某週刊還打電話給城仲模,向他確認跟拍到的人是否為他本人,原本城仲模否認有這回事,後來曝光之後,才又改口承認,其他媒體記者也是根據這本週刊去問城仲模,我好奇的是,在這個事件上,大家的焦點都放在城仲模及那個王姓女子身上、他的行為操守是否足以擔任司法院副院長這樣的職務,以及他這樣的行為是否符合社會大眾對於大法官的期待,而當城仲模講話前後矛盾的時候,大家都把該週刊拿出來當證據,彷彿若是沒有這本週刊的跟拍,其他的媒體也不會知道這件事。整個過程當中,我沒有聽到有人去討論為什麼狗仔隊可以去跟拍城仲模,什麼時候,狗仔文化在台灣居然也扮演了類似偵探的角色,從以前我們對狗仔的厭惡,到現在我們社會大眾得靠著狗仔來揭發一些事情時,我們似乎已能慢慢地接受狗仔文化,以及狗仔文化所給予台灣社會的價值。

幾年前,壹週刊及蘋果日報要在台發行的時候,我還記得那時候有一些討論是關於狗仔文化若是來台灣,台灣的藝人或是名人的隱私將不保,有些藝人還站出來反對狗仔文化,看起來,經過這次的事件,台灣社會還真的不能沒有狗仔。

2006-04-05

在職專班考試

前幾天去參加某學校的在職專班考試,這已經是我這個月的第三次考試了,有那麼一點心力交瘁的感覺,利用業餘時間來唸書與利用課餘時間來工作,同樣都很辛苦,這樣二頭燒的生活,我已經過好多年了。

我報考的這所學校與其他學校有二點不一樣,第一個是他們的筆試與口試同一天舉行,這讓我覺得非常方便且非常省事,不用再考過筆試之後再等口試通知,"等待"一直都是一件令我很討厭的事。第二點不同的是在職專班的筆試是與碩士一般生一起舉行,也是為這個樣子,當天早上路上真的很塞,考試時間開始了,我還沒到學校,這是我考過這麼多試以來,第一次沒在考試時間準時進入考場。

口試的時候,我發現口試委員問的問題,大部分圍繞在三個重點,第一針對我的工作及學經歷背景,了解我之前非本科系的學歷是否有把握且足夠應付未來入學之後另一個領域的課業,第二針對我提出來的研究計劃,詢問可行性及我是否做過類似的研究或是實驗,以確定此研究計劃是可行的,第三針對我的研究計劃,詢問該校有那位老師可以給予我相關的指導以及我想從該位指導老師身上得到什麼樣幫助。針對第二項及第三項問題,我覺得口試委員倒是有認真在口試,而不是很片面地看我的大學成績,這也令我對該校有了不一樣的想法,我甚至覺得,若是我的第一志願沒有考上,我會很願意把這所學校當我的第二志願。

由於今年抱著一定要唸在職專班的心態來考試,所以,我一次報了三所學校,不管最後考上那所學校,我都一定會去報到,也一定會去唸,唸了之後,真的發現沒興趣再看要如何解決,這次,我不要再像以前那樣輕言放棄了。

我一直都認為唸書本身所能得到的直接收穫與工作是無關的,當然,學歷除外,所以我選擇唸在職專班來補足我的碩士學歷,這也是我唸在職專班最主要的目標,在資訊業界工作這麼久,還是得有個本科系的學歷,以後要做其他相關的事也方便,例如教學、顧問等等。

不過也由於在等以及準備其他學校的複試通知,手邊一些自已要完成的軟體計劃也就暫時擱置,對我來說,在等待的同時,實在也沒有心思去想其他的事。只是我倒蠻希望唸在職在職專班的同時,能得到一些其他的收穫,像是學校的資源、認識不同領域的同學、觀念上面的 input 等等,若是能透過唸在職專班得到這些收穫,那麼,不管我最後申請到那所學校,這整個過程當然都會是值得的。

2006-03-31

撐的藝術與入境隨俗的重要性

去年我修了台科大的資料探勘課程,到了期末考試時,老師說,有些題目就算不會寫,也不要整題就直接空白在那邊,儘量把你知道的,與題目要問的有相關的不管是公式或是名詞寫上去,這樣我要給同情分數也才會有個依據,你總不能整題空白在那裏還要我給你題目的一半分數。然後那次期末考,我照作了,的確,有些題目我也得到了我"應得"的同情分數,這點當學生或許都知道也或許都會這樣做的原則,以前的我似乎怎麼學都學不會。

早在我當兵的時代,那時也就有類似這樣的習俗流傳著,有一次,遇到要做裝檢,若是完全照著裝檢的規格來走的話,以我們當時連隊準備的程度與速度,是無法通過檢查的,那時,要通過裝檢有很多種方法可以用,其中一種方法是去外面買一件一樣的裝備來受檢,不過,我們還是決定要用自已的裝備來受檢,也就是決定"撐撐看",後來居然也還是過了,這當時要是連撐都不想,想說反正也來不及準備而直接不理會的話,恐怕下場會很慘。換個角度來想,檢查設備的人,看你裝備雖然不及格,但是你有受檢的誠意,也儘量做了,就給個同情分數讓你過。回到前面講的,有異曲同工的道理。

前一陣子申請了某校的在職專班,因為自已的一時疏乎,資料郵寄的日期到了,我的審查表件卻還沒送出去,本來想說學校作業應該都是一板一眼的,又是以郵戳為憑,這下子看起來就只有放棄的份,不過後來我還是決定再"撐"一下,硬是隔天把表件寄出去,後來,該校還是讓我報名了,若我當初沒這麼做,那就連報名的機會都沒有。

回到我修課的例子,我認為除了"撐"之外,還有一點點所謂"入境隨俗"的意義在裏面,這指的是當大環境如此且大家都這麼做,而你不這麼做的時候,你就會變很與大家格格不入。我以前曾經待過一家公司,本來的工作內容是針對公司的產品進行相關的技術開發與技術支援,但公司的產品大多數並不是自已的產品,而是代理別人的產品,也因為這樣,公司大多數員工的工作性質是屬於業務推廣類,業務推廣的工作就免不了要在外面跑,而我當時的工作卻與他們不同,我不需要在外面跑,久而久之,其他人就會覺得我是與大多數人不一樣的,我就會變得很奇怪,就不入境隨俗了,這是個別公司或是部門文化的不同。當然我可以選擇換個環境工作或是生活,但在這個環境下,就得某種程度地入境隨俗,你才會與大家一樣,也才能夠在某個環境當中生存下來。

2006-03-20

Linux環境下,不得不用的幾套 windows 字型

我平常工作的環境是 Slackware Linux 10.2,裏面預設的幾套 ttf 字型除了自己裝的 fireflysung 之外,就是 bitstream vera sans, bitstream vera serif 與utopia 了,這幾套字型的美觀與否我就不評論了,畢竟那是見人見智,最大的問題大概要算是與其他文件的相容性問題,我這裏所指的文件相容性是其他人收到你的文件之後,是否他看到的文件外貌與你給這份文件的外貌是一致的,例如,由於工作的關係,我常常需要做簡報,也常常拿到原廠給我的簡報檔,然後修改成為我自已的簡報檔,同樣字型大小下,不同字型對於文件的外觀也會有影響,例如,這一頁滿滿的英文 odp 文件,我若是用 18 號字體,然後用 fireflysung 字型,這時候切換成 bitstream vera sans,同樣18號字體下,這頁原本剛好塞滿一整頁的odp 文件,就硬是會超過一頁,這就跟我當初所預期的效果不同,若是這份文件我需要轉移給其他人看,這問題就會產生許多不預期的結果。

後來,我從我自已的 windows2000 裏面把三套ttf字型copy到我 Linux 環境底下用,我 copy 了 arial, courier, 及 times new roman,現在,不管是我做簡報檔或是把文件寫在 OOo writer 裏面,匯出成 MS office 格式再給同事或是自已用,格式都可確保不會因為字型的因素而無法達到我當初想給這份文件的效果,而且,我從原廠給我的許多 word 或是 ppt 文件中看來,大部分的文件都離不開這三套字型。

看來,在 Linux 環境下,這幾套 windows 字型還真的是不得不用。

2006-03-15

nfs 與 xhost 讓我工作更有效率

我有一台 compaq E500, P3 700, 512MB ram 筆記型電腦,是我平常工作用的機器,家裏及公司是有其他更快的機器可以用,但是這筆電裏面裝了一大堆公司及個人的資料,我又需要常常到客戶端做簡報,所以,雖然這筆電舊了點,效能差了點,我還是得在這上面工作。不過,由於我使用 Linux 作業系統的關係,Linux 有很多有用的工具讓我雖然得在這筆電上面工作,公司及家裏其他的 Linux 機器還是能夠提供它們的資源讓我使用,這其中,我覺得 nfs 及 xhost 讓我工作更有效率。

我是這樣做的,我的 Linux 有二個 partition,一個裝系統,另一個放與系統無關的各種資料,包含我所有的 email,接著我把這個資料碟用 nfs 整個 export 給我公司及家裏的 ip,這樣一來,不管是在家裏或是在公司,我都能夠用更快速的電腦來處理資料或是收發 email,處理過的資料及 browser 的所有 cache 也能夠回存到這台筆電上面來,不需要任何額外的處理。

再接著,為了能夠讓我不管在家裏或是在公司一樣在這台筆電的鍵盤及LCD上面工作,不要再移來移去,若是在公司,我就 xhost 到公司的另外一台 Linux 機器,然後在那台機器上面執行程式,我最常跑的就是 OpenOffice 及 seamonkey,這時候,跑該程式需要的資源都來自那台機器,但是,seamonkey 收下來的 email 及所有 browser cache 就透過 nfs 回存到我的筆電上面來,這樣,我用較快的機器跑我需要的程式,而資料也不會到處都存一份。

目前遇到的唯一問題就是中文輸入,現在還找不到方式可以中文輸入到遠端的程式裏面去,若是這也能做到,那工作就更有效率了。

2006-03-09

Follow your dreams!

剛剛看完商業週刊對於Mark Shuttleworth的報導,心中的感動,讓我放下了手邊正在進行的 Linux porting工作,上來寫這篇blog。讓我最為感動及震憾的一句話是:
最重要,最有趣的事,永遠排在第一位。

報導指出,Mark 在大三時,在實驗室看到當時第一代的瀏覽器Mosaic,從南非可以直接連接到遠方的資料,他覺得世界會因此改變,後來,他開了一家公司,花了三年半的時間,開發保障交易安全的軟體,後來被網路認證公司Verisign買下來,他因此致富,他也是全球第二位自費登上太空的人,有人問他,在太空中感覺如何?他引用達文西的話回答:
回到地面,你將終生仰望天空。

以前的我覺得要能夠放下一切去追求自已想要的東西,是需要多麼大的勇氣與決心,自已想要做某件事的時候,常常想的問題是,"要是失敗了,退路是什麼?","有沒有其他兩全其美的方法可以不需要花這麼大的代價",現在看了 Mark 的例子,我想,我會馬上進行我之前所擬定的軟體開發計劃,不管成敗如何,至少當我以後回顧往事時,在這件事情上面,我不會有任何的遺撼,不會到時候問我自已:"要是我當初這樣做就好了",我要 follow my dreams.

2006-03-04

Xorg 7.0 installation notes

xextproto,
xproto,
liblbxutil,
xf86driproto,
libdrm,
glproto,
randrproto,
renderproto,
printproto,
libXdmcp,
fixesproto,
damageproto,
xcmiscproto,
xterns,
xf86miscproto,
xf86vidmodeproto,
xf86bigfontproto,
scrnsaverproto,
bigreqsproto,
resourceproto,
fontsproto,
inputproto,
xf86dgaproto,
videoproto,
compositeproto,
trapproto,
libICE,
libSM,
libXau,
kbproto,
libX11,
libXt,
recordproto,
xineramaproto,
evieext,
libxkbfile,
libXext,
fontcacheproto,
libXfontcacne,
libfontenc,
libXfont,
libxkbui,
libXxf86misc,
libXxf86vm,
libXmu,
libXpm,
libXaw,
makedepend,
libXi,
MesaLib,
MesaGLUT,
freetype2,
libXfont,
libXrender,
dmxproto,
libdmx,
libXtst,
libXres,
xorg-server --with-mesa-source=...,
rgb,
fontconfig,
libXft,
xf86-video-nv,
libXxf86dga,
xf86-input-mouse,
xf86-input-keyboard,
libXinerama,
font-util,
bdftopcf,
mkfontdir,
font-misc-misc,
font-xfree86-type1,
font-micro-misc,
xbitmaps,
xsetroot,
xsetmode,
xauth,
rgb,
libXp,
xset,
iceauth,

2006-03-02

"安裝在此電腦上面的 Windows 並非正版"!

今天我從同事的 Windows XP 上面看到這張開機時的畫面,上面寫著"安裝在此電腦上面的 Windows 並非正版",我聽同事說,除了登出時會有這個訊息之外,其他操作都還正常,之前一直聽說微軟會針對 windows 非正版使用者會做出一些動作,包括前一陣子傳出來的會透過使用者線上更新時,windows 會主動傳一些資訊出去給微軟,不過這點被台灣微軟否認了。我是覺得,就算 Windows 真的傳一些註冊資訊回微軟總部,而這當中不包含使用者個人資訊,用以檢查使用者所使用的 Windows 是否為正版軟體,然後進而拒絕提供服務給盜版使用者的話,也算是剛好而已,畢竟你使用的是微軟公司用來賣錢的軟體產品。我認為,現在只是一個訊息,或許再過一陣子就會是線上服務不得更新(現在好像盜版的 WindowsXP 已經無法更新了?),再過一陣子可能就是 Windows 操作不正常,卡這個當那個的,就只因為使用的不是正版 Windows,而這些都是有可能發生的。
解決的方法?支持正版軟體請購買原版,或是,盡早投入 Linux 的懷抱吧!

2006-02-24

VB6.0 與 unicode

手邊在維護的用 VB 寫的系統最近遇到程式需要支援 unicode 的問題,找了一些資料並做了一些測試後,發現問題可以解決,但是有一些地方需要修改。

根本的問題在於VB有些物件(像是 label, text 等)使用 big5 碼,而 big5 碼只包含了中文字型中常用字,只要有任何字超過這個範圍,就無法用 big5碼來表示,所以後來才會有所謂的 unicode 的出現。

1,前端程式:VB6.0 裏面的 label, text 使用 big5 碼,所以有些字無法顯示,微軟早就發現這個問題,所以後來有了 microsoft forms 2.0 的出現來解決這個問題(如圖所示):,使用 microsoft forms 2.0 的物件,就能夠在上面顯示 unicode(如圖所示):,左邊是傳統 text,右邊是 fm2.dll物件。

2,後端資料庫:後端資料庫同樣存在這個問題,要存取 unicode 文字,有二個步驟,第一個步驟是在定義資料庫時,要用 nchar 或是 nvarchar 來取代原本的char 及 varchar(所圖所示):。第二個步驟是存入資料時,需加上 'N'符號,才能正常存入unicode(如圖所示):
3,VB程式與資料庫的溝通:如前所述,VB 程式的 SQL 命令也得加上 'N' 符號才能正常存入 unicode,只是,vb6.0 的 form 本身也只吃 big5 碼,所以連 form 才得換成 fm2.dll 的 form,有了這些的配合,才能從
VB 前端程式存取 unicode 資料。

2006-02-15

Linux 環境下,更 lightweight 的 window manager

在 Linux 環境下,以前我都是用 fvwm2 當我的 window manager,用它的原因是我嫌其他知名的 window manager 像是 gnome, KDE 等都太痴肥,太耗系統資源,尤其對我的 P3-700, 512mb RAM 的 compaq 筆電來說更是如此。而最近發現還有另一個 window manager 所需要的資源更少,叫做 twm,用 pmap 看它 的記憶体消耗狀況,只用掉 768kb 的 ram,比 fvwm2 還少,資源消耗少,視窗介面運行起來也相對就愈有效率,用這種視窗介面,OS總算是還給我 PC 應該有的速度,我當場把fvwm2 換成 twm,上面那張圖是我的 screenshot。

用這種相對上較不知名的 window manager,每次做 presentation 時,總是給台下的聽眾一種不一樣的視覺,誰說用Linux的視窗介面只能夠是Gnome或是KDE。