Posted by 每特17劃 on 2023-07-07

嚮往、偶然、與貴人

2005 年 3 月前後,我在研究如何在 Linux 純文字模式下輸入 Unicode 中文。 當時的我算是第一次真正實戰寫程式,沒什麼開發經驗, 於是進入問題的深水區後,我很快就迷失在一堆:

locale, char, short, long, uint32, wchar, …

等等混雜交錯的 C 語言資料結構中。傳進去的字元資料,轉來轉去都是不規則的怪獸字。 卡關了好一陣子,真不知道能不能克服還是放棄。

同一時期的背景是,我每週都固定會參加 TOSSUG 聚會。 那時候的 TOSSUG 地點是在新體育館的迴廊咖啡,成員主要是 Open Source & Linux 愛好者。 因爲 Linux 愛好者在當時還是少數小衆,所以我在某次活動偶然得知有這聚會時,就決定要參加,每次必參加。 在大學最後的一學期,準備考試的枯燥生活中,每週二晚上成了我最期待的時光之一。

在 TOSSUG 聚會,偶爾會出現一些 Open Source 的開發者,而居士先生(thhsieh)也是其中之一。 居士先生在 i18n 有許多卓越的貢獻,例如當時主流的中文輸入法 XCIN , CLE 計劃, zh_TW.Big5 locale, … 他出現的時候,常常是坐在咖啡廳的一個角落,安靜地作着自己的事,較少跟大家熱烈交談跟聊天。

那天被程式問題困擾的我,幸運的遇上那天剛好有出現的居士先生。 於是我鼓起勇氣上前去請教他。 可能我也爲這個問題悶很久了,也顧不了發問的邏輯清不清楚,就一股腦地把自己遇到的問題,以及在 C 語言的 wchar , multi-bytes string 的苦惱訴苦了一遍。

居士先生很有風度地聽完了我的問題,稍沉默了一下,然後緩緩的說了一段話:

你要不要改用 iconv 試試?
其實 wchar, mb string 這些,連我們自己在 i18n 的開發者都很少用了...

聽到這段話的當下,猶如一語驚醒夢中人。 當晚我回到住所後,就馬上着手修改程式,然後苦惱許久的難關就真的打通了!!! 當時的記錄還留着: Iterm’s work 每次回想起來都還是覺得很感動。

這段程式的修改研究,後來慢慢發展成一系列的 patch ,而後成爲了 UCIMF 專案。 雖然專案最終沒有長久持續下去,但每次回顧這段往事時,都不自覺會再回想到那啓發的瞬間。

有時不禁會想,若不是有那段話的提示,會不會我就卡在那裏而放棄了,也不會有後來的故事了? 若不是有 TOSSUG 這個聚會的存在,我們這羣人會在這裏交流跟相遇嗎? 而,若不是當時每週持續出席,我會不會就錯失了關鍵的巧遇的那天?

回顧起來,總覺得這段機遇充滿了巧合與幸運。不知該如何形容,若用一句話來描寫的話,大概就是:

嚮往、偶然、與貴人

Reference