December 25, 2007
Gtk+/Cairo 倒影效果展示
早上醒來,想到又要處理一些無聊事情,心情不佳,索性就玩玩視覺效果。最近規劃要推出新版的 SCIM-chewing,那麼就拿 [
新酷音輸入法] 的候選字視窗來開刀,以下展示在 Gtk+ widget 中透過 Cairo 增加倒影的視覺效果,快照如下:

靈感來自 MacOS X 簡報常見的特效,只不過在 gtk+/X11 上以 redirect widget 的方式,改由 Cairo 重繪其 context。技巧在於事先以 Cairo 撰寫必要的視覺操作,如設定 clip-region、取得 context、設定轉置矩陣,以及重繪 RGBA。最後,在 main loop 前註冊 "expose-event" 到該 callback function。
由 jserv 發表於
09:22 AM
|
迴響 (3)
美國行動通訊業 Verizon 走向開放?
美國行動通訊業龍頭 [
Verizon] (是的,正是與 Google 結盟的那家) 過去的惡行,可說是罄竹難書,之前敝人多次關於通訊領域的演講,不免拿來痛批一番,比方說本月的 [
Linux 走入電信通訊領域 -- OpenMoko 帶來的新革命],不過,看來情況將有改觀。
依據電子工程專輯的新聞 [
走向開放 Verizon 將撼動美國行動通訊業?],[
Verizon] 顯然受到多方的競爭壓力,此舉是否為了討好 FCC 對於 700MHz 頻譜拍賣活動的開放性要求,就不得而之,但其影響是相當正面的。正如長期呼籲給予蜂巢式網路更多開放性的 Tim Wu 教授對此表示:
「產業板塊開始移動,而若 Verizon 採取行動,必將撼動無線產業的基礎。」
可預見的範圍,Apple iPhone 與 AT&T 的結盟關係勢必得因此也走向開放。
現在可見的,仍僅發言人的一面之詞,未來有許多可能性,但絕對是很值得關注的重大議題,如今,消費者的權益與應用程式的開發可望獲得大幅的改觀。
由 jserv 發表於
07:49 AM
|
迴響 (0)
新的 QNX 網路堆疊奠基於 NetBSD 實做
之前的 blog [
QNX Neutrino 重裝上陣] 提到業界赫赫有名的 [
QNX] 公司,開放存取其 [
QNX Neutrino] microkernel RTOS 的原始程式碼,並透過新建立的 [
Foundry27] 導入社群互動模式的發展,日前在 [
Networking project] 宣佈以下重大訊息:
The Networking project manages the development of protocols, protocol stacks and reference drivers that are part of the QNX® Neutrino® Realtime Operating System. The project includes a newly developed IP stack, associated utilities and applications. As compared to the currently shipping version of the stack (io-net), this stack (io-pkt) provides:
- Close adherence to the NetBSD architecture / code base ( currently NetBSD 4.0)
- Eases porting of newer stack releases / features
- Similar driver model / API allows easy porting (using a porting library) of existing NetBSD drivers to io-pkt
- 802.11 framework for full WiFi support
- Adhoc
- Infrastructure client
- Infrastructure access point (where hardware allows)
- Faster receive performance due to an optimized threading model
此舉成功整合日前甫釋出的 NetBSD 4.0,得以享用其 threading model 與高品質的 networking stack 實做,最重要的是,帶來豐富的 device driver 支援,擺脫以往 QNX 令人詬病的硬體支援不足問題。
過往,[
QNX Neutrino] microkernel 採用 io-net 作為 networking stack,而現在引入以 NetBSD 4 為基礎的 io-pkt 後,前者就只做相容性的維護,具體的原始程式碼資訊可參考 wiki [
Networking Source]。整體來說,QNX 拉近與 Free Software / Open Source software 開發的鴻溝 (如一直欠缺的 WiFi/802.11 stack),並能保持一貫優秀的效能表現,於技術,或於市場策略來說,都是很好的切入。
由 jserv 發表於
07:26 AM
|
迴響 (0)
工作桌一瞥
前文 [
jserv's 概況與合作機會] 對這幾年的工作給予簡要的介紹,也承蒙諸位先進的指教。比較有趣的是,偶爾會收到類似以下的來信:
「黃兄,小弟對您的 XXX 項目很有興趣,可否排個時間參觀貴 Lab 呢?」
前一句關於技術方面,當然有很大的討論空間,這裡就不詳談,反而是後一句真是讓我頗感愧疚,因為往往只能回答:「涉及客戶權益,謝絕參觀」。但,事實上,只要把手稿收拾起來即可,真正的問題是,連個像樣的陳設都沒有,還好這幾個月弄了工作桌,順手拍了幾張快照:(click to enlarge)

(軟硬體與天線設計的參考書籍、用於修身養性的書法習作、小工具、開發板等)

(最近閱讀的書刊,包含百讀不厭的鐵人本)

(文具與工具,像是素描筆、毛筆、螺絲起子、焊槍、裝飾品等)
照片未涵蓋的部份就是一堆電腦、硬體元件,以及滿地的書籍,待整理好後一併拍照。作為一個「實驗室」,實在略嫌寒酸,不便開放參觀呀。
由 jserv 發表於
03:36 AM
|
迴響 (5)
December 24, 2007
悲戚歌司《雨夜花》
不知為何,對閩南話不熟稔的我,對閩南歌曲總是情有獨衷,無奈對發音遣字沒啥概念,多半僅能應著旋律罷了。
午夜試著撰寫上週研讀《明史》的心得,因追溯典故而開電腦,卻因此記下 [
別了,台北],心情甚是沈重,然,內湖住所外頭也下雨,不時可聞雨夜淅瀝聲,怎不惘然?依稀,耳畔似乎縈繞著閩南語歌曲《雨夜花》:
雨夜花 雨夜花 受風雨吹落地
無人看見 每日怨嗟 花謝落土不再回
花落土 花落土 有誰人倘看顧
無情風雨 誤阮前途 花蕊哪落欲如何
雨無情 雨無情 無想阮的前程
並無看顧 軟弱心性 乎阮前途失光明
雨水滴 雨水滴 引阮入受難池
怎樣乎阮 離葉離枝 永遠無人倘看見
旋律將盡時,心頭又好似有一把利刀刺入,急促地訴說李清照〈聲聲慢〉前十四個淒厲至極的字眼:「尋尋覓覓,冷冷清清,淒淒慘慘戚戚」。1934 年,在古倫美亞唱片服務的周添旺先生,在酒家耳聞一位淪落風塵的酒家女訴說其悲慘故事,將原本兒歌《春天》的旋律,改填悲涼的歌詞《雨夜花》,這背後的故事,即是純潔質樸的鄉下女孩離鄉背井到台北,與男子相愛並論及婚嫁,可嘆男方卻是薄情郎,女子自覺無顏回鄉,心碎至此,流落於台北的酒家...
被無情風雨吹落的花朵,隨後受人踐踏,此等遭遇,能不為凋零殘敗的花朵、在雨夜中獨自顫抖而感心酸惋惜嗎?而我,腦際中揮之不去的「雨」、「夜」、「花」等景象...
由 jserv 發表於
10:12 AM
|
迴響 (2)
演講:投資自己 -- 三十歲前學好自由軟體
應台東大學之邀,本週五 (Dec 28) 將於該校 [
資工週活動] 中,給予一場演講,主旨是分享自由軟體跟產業現況,讓大家了解未來這方面的偏重和出路,讓同學們與外國開發者進行交流,題目則定為「投資自己 -- 三十歲前學好自由軟體」。
以前只要時間配合允許,往往不放過聽演講的機會,舉凡政治、人文、科技,到投資理財的範疇,稍有接觸,這次有機會反過來作分享,姑且就取個比較勢利的標題,當然,學習自由軟體永遠不嫌晚,這裡的「三十歲」不過只是為了配合學校學生的年紀罷了。什麼叫做「學習自由軟體」呢?在我看來,不只要作個自由軟體的「消費者」,更要學習當「製造者」,並融入於生活或工作之中。
去年赴靜宜大學 [
演講:IT產業與數學] 與今年在中正大學 [
演講:Linux 與消費性電子產品],不管是台上或台下,都遇到若干有趣的問題,不消說,就是圍繞在所謂的「前途」與「出路」等議題上,恰好今年在中正大學的演講後緊接著是電資學院的座談會,邀請各方業界人士探討這個多數人關注的議題,當時我利用機會,提及「學習自由軟體」與對自身的影響,不過限於時間,僅草草帶過。
此次在台東大學的演講,則針對前述議題作出發,簡介如何貢獻一己所長、投入自由軟體開發,並思量可能哪些新機會,畢竟「施比受有福」。特別在千禧年後,網路泡沫化對許多人產生衝擊,可見原本磨刀霍霍準備一展所長者,卻黯然抱怨產業日趨封閉、缺乏機會,更遑論如何在碩博士學歷者滿街跑的今日,得以脫穎而出,該是如何可惜。其實,哪怕只是作個砲灰,多少都會有價值,在自由軟體中亦然,因為這是一個開放且可累積技術經驗的環境,更是最佳的試金石,爾後結合特定的商業模式,當然大有可為。
本次演講時間訂於週五下午一時三十分,地點於台東校區 T602,細節請參考 [
台東大學自由軟體推廣活動 & TWDebCamp2007],配合 Debian Taiwan 的 [
TWDebCamp2007] 活動,歡迎各位朋友蒞臨指教,謝謝!
由 jserv 發表於
09:25 AM
|
迴響 (3)
別了,台北
週六去台中為娜娜慶生,我倆很久沒得如此促膝談心,除分享近況外,也提到未來的規劃,其中包含我決定離開台北的打算。
四年多前,時值規劃退伍生涯而猶疑不決,整理了約莫八個工作機會,地點分佈於新竹科學園區、台北縣,以及台北市,也利用部隊假期排定面試行程。原本認為台北市的機會是最低的,畢竟習慣於花蓮淨土的我,一下子要到此處工作生活,應有「台北居大不易」之感。不料,在搭乘計程車到內湖科學園區的路上,偶見綠草如茵的山坡、樸實的房舍、與四通八達的交通幹道,一旁則是高度對比的科學園區,心想既能投入科技研發,也能享有非刻板印象中繁忙且擁擠的台北市區,實在是好地方,於是,與主管面試的過程中,相談甚歡,不時還瞭望不遠的內湖小山,就此決定下來。
公司對我相當好,不僅給予中上的工作待遇,還提供宿舍,同事兼室友 cnoize 前輩也很照顧我,免除我對環境陌生的恐懼。工作之餘,除了陪家人或 ct 外,就喜歡在內湖漫遊,常徒步抱著書刊,徒步至東湖、南港、或汐止,疲倦時則返回位於高級住宅區的宿舍,環境頗寬敞舒適,每每靈感豐沛,於是寄情於 hacking 或涉獵文史哲,有時還能品嚐到 ct 親手烹飪的佳餚,好不快活。後來,工作與人際關係都有不小的變化,但我仍寄居於台北內湖,獨處的時間變多,面對情感的空缺,則以大量的工作壓抑自我,做了幾個專案、接了若干個委託的案子、合夥開公司、跨足更多的技術領域、繼續投入 free software 開發、...,要不就飲酒宿醉,極為病態。認識 Ally 讓我有些改變,不過也只是一時的,終至分離,仍在瀕臨身心不適的苦楚與莫須有的麻痺中,尋求平衡點,至此,內湖的一景一物,反成為最佳之寄情所在。
這幾年,同一個時間內永遠會有許多未結案的專案或產品設計在進行,每每有顧此失彼之憾,但鮮少思考改進之策,反而只是一味燃燒自己的青春與精力,除了履歷表因此新增琳瑯滿目的經歷外,就只換得旁人給予的虛名與恭維罷了,回想初衷,不過就是怕自己閒下來會胡思亂想,至少作點事情,對這個社會作點表示,無奈如此,豈不可笑?煩悶之際,騎著淑女車漫遊台北地區,是種迥異於工作壓抑的極佳感受,即便筋骨頓感疲憊,也不失有如三島由紀夫在〈太陽與鐵〉中正面且純實的美妙,腳踏實地與逆向爬坡對我而言,都是反省自身的機會。同時,騎淑女車穿越台北街道的車流間,也算是對篤行環保信念的考驗,好幾次在吸入過多廢氣,在烈陽照射下,頗有昏眩感,但還是苦撐到目的地,我只盼望得以因此降低廢棄物排放與斟酌使用能源。無論是因為騎車或工作,搞得滿頭灰時,靜下來聆聽自然的旋律,頗有洗滌人心的效果,就算是在台北也是,只要願意調整自身的頻率即可。
本月回台灣後,利用休假空檔,在台北繞了幾圈,不乏昔日幽會、離首告別、休憩旅遊、... 等地,佇然良久,脫口吟唱弘一大師的〈送別〉一曲:
長亭外,古道邊,芳草碧連天。
晚風拂柳笛聲殘,夕陽山外山。
天之涯、地之角,知交半零落。
一瓢濁酒盡餘歡,今宵別夢寒。
回程路過住所附近,ct 其實就租屋於隔壁的巷子上,但如今,只能用詩作〈最遙遠的距離〉來形容此等關係吧:我們如此靠近,卻又如此遙遠,或許,距離是殘酷的,但也是美麗的源泉;分別是殘酷的,但也是永恆的標記。
這半年內,時常受到健康與精神的煎熬,更別提難以償還的人情債,不自覺就陷入迷惘的深淵,好幾次淚水不能控制地奪眶,頗有倦意,也難以承受此負荷,是啊,我何其無用?或許,渺小如我者,終究還是有些夢想,人生因此而有價值,正如 Purple 跟我提過的廣告詞「未來是創造出來的,夢想的曙光永遠耀眼」,心有慼慼焉,不過,換個環境,或許對我可能有幫助。是此,我已決定在半年內,要離開台北,具體的細節尚待規劃 (只要不在台北的全職工作都可接受),至少,是時候了,我該離開這傷心地。
巷口的捷運在四年前即在施工,看來我是等不到通車之時,或許內湖捷運竣工後,對我又是個陌生的環境,如今我的離去,不禁憶及某人的簽名檔:
我沒有勇氣承受,等不到你的失落。
沒有勇氣注視你遠去的步伐,也沒有能耐笑著祝福。
所以,不打擾才是最好的選擇。
陌生人,再見了...
嗯,別了,陌生的台北。
由 jserv 發表於
01:42 AM
|
迴響 (5)
December 23, 2007
在 Debian Sarge 上運作 NetBSD
在 2003 年的 BSDcon 上,筑波大學的 Hideki Eiraku 發表論文 [
Running BSD Kernels as User Processes by Partial Emulation and Rewriting of Machine Instructions],以相當巧妙的方式實做了 x86 上精簡的虛擬機器,手法除了仿效 UML (User-Mode Linux) 的 syscall redirection 外,還以編譯時期的 machine instruction rewriting 途徑達到此系統模擬的效果,隨後此成果以 GNU GPLv2 發表,即 [
LilyVM],支援 Linux 與 NetBSD 作為 host,以及 Linux / FreeBSD / NetBSD 作為 guest OS。
在 Debian GNU/Linux 3.1 (Sarge) / IA32 的測試,大部分功能可運作,測試環境:
$ uname -a
Linux people 2.6.12-vs2.0 #1 SMP Tue Aug 30 10:44:14 CST 2005 i686 GNU/Linux
啟動 NetBSD 1.6.1:
$ ./start-netbsd
startkernel
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 1.6.1 (a.PROF) #38: Wed Dec 8 14:04:39 JST 2004
cpu0: Intel Pentium 4 (686-class), 2793.37 MHz
cpu0: L2 cache 1 MB 64b/line 8-way
cpu0: features 201d
cpu0: features 201d
total memory = 65148 KB
avail memory = 58628 KB
using 839 buffers containing 3356 KB of memory
mainbus0 (root)
isa0 at mainbus0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns8250 or ns16450, no fifo
com0: console
#00000010##A021E337##A040CFE0##00000000#FPE
npx0 at isa0 port 0xf0-0xff: using exception 16
biomask ffef netmask ffef ttymask ffef
md0: using 192 MB image file
Profiling kernel, textsize=1323040 [a0100000..a0243020]
boot device:
root on md0a dumps on md0b
root file system type: ffs
No SYSEMU patch.
Sun Dec 23 11:42:55 UTC 2007
Starting file system checks:
/dev/rmd0a: file system is clean; not checking
Setting tty flags.
Setting sysctl variables:
Starting network.
Hostname: user-level-netbsd
NIS domainname: localdomain
IPv6 mode: host
Configuring network interfaces: vmn0.
add net default: gateway 10.255.255.255
Adding interface aliases:
Building databases...
kvm_mkdb: machdep.booted_kernel: sysctl() failed with No such file or directory:
No such file or directory
Starting syslogd.
Checking for core dump...
savecore: /dev/wd0a: Device not configured
Dec 23 11:42:58 user-level-netbsd savecore: /dev/wd0a: Device not configured
Mounting all filesystems...
Clearing /tmp.
Creating a.out runtime link editor directory cache.
Checking quotas: done.
/etc/rc: WARNING: No swap space configured!
Starting virecover.
starting local daemons:.
Updating motd.
Starting inetd.
Starting cron.
Sun Dec 23 11:43:00 UTC 2007
NetBSD/i386 (user-level-netbsd) (console)
login:
登入後關閉系統:
login: root
Last login: Sun Dec 23 11:40:39 2007 on console
Dec 23 11:43:07 user-level-netbsd login: ROOT LOGIN (root) ON console
Dec 23 11:43:07 user-level-netbsd login: ROOT LOGIN (root) ON console
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
NetBSD 1.6.1 (a.PROF) #38: Wed Dec 8 14:04:39 JST 2004
Welcome to NetBSD!
You have new mail.
Terminal type is vt100.
We recommend creating a non-root account and using su(1) for root access.
user-level-netbsd# poweroff
Dec 23 11:43:15 user-level-netbsd poweroff: powered off by root
Dec 23 11:43:15 user-level-netbsd syslogd: Exiting on signal 15
Dec 23 11:43:15 user-level-netbsd syslogd: Exiting on signal 15
syncing disks... done
The operating system has halted.
Please press any key to reboot.
rebooting...
注意:[
LilyVM] 的 wiki [
Bugs] 記載了現有實做上的限制。
由 jserv 發表於
08:03 PM
|
迴響 (0)
December 16, 2007
「 Linux 走入電信通訊領域 -- OpenMoko 帶來的新革命」簡報上線
昨天應 [
2007 酷!學園 群英會] 之邀,給予演講 [
當 Linux 走入電信通訊領域 -- OpenMoko 帶來的新革命],簡報已上線,請參考 [
openmoko-brief-2007.pdf]。正如簡報檔名所提示的,事實上昨天探討的內容其實只限於 openmoko 在 2007 年的進展,適逢年底,所以做了簡要的回顧,而 openmoko 內部最近做了很大的方向調整,則會是明年的重頭戲,這裡就先賣個關子。
感謝與會指教的朋友及熱心的工作人員,今年「酷!學園」群英會活動很順利地舉辦,同時也傳達了所謂 "Device 2.0" 與 Embedded 的重要訊息。
由 jserv 發表於
07:05 PM
|
迴響 (2)
December 09, 2007
博愛情懷
因故到大陸蘇州出差,接連的挫折讓我感到灰心,又,氣溫驟降,了無外出散心的念頭,索性就在台幹宿舍靜養。暫時將工作拋於腦後,打開許久未讀的 mailing-list 文章、隨手翻閱書籍,終有倦意,入睡前,打開蘇州電視台,不經意瞥見一則新聞報導,竟使睡意全消,兩淚垂流而激動著。
新聞報導的地點正是這幾周出差所在,也就是蘇州工業園區,[
博愛學校] 在此設立,迥異於其他林立的冰冷冷工廠,是個充滿溫情的所在。令我愧疚的是,乍看此報導,原以為是中共媒體一貫的「樣板新聞」,就在手按遙控器即將轉台的瞬間,一個個腦癱患兒努力在此學習的景象,怎不叫我這個遇到一點挫折即灰心的「健全人」無地自容呢?很難想像,簡單的行走、攀爬樓梯、開口言語、... 等我們再熟悉不過的動作,這些腦癱患兒得花上數個月,甚至長達數年不斷努力,才能有一絲突破。[
博愛學校] 梁兵校長開辦這所專門的腦癱教育學校,動機即是讓更多的腦癱患兒實現自食其力生存,她說:「這些孩子或許沒辦法活得健康,但至少得活得快樂」,透過康復訓練,孩子們有機會慢慢矯正自身的行為反應;透過教育,孩子可獲得知識,得以自力更生,這些最低限度的能力,背後可是多少艱辛?
手腳健全的我,大概能感受到這些腦癱患兒渴望自立的念頭。或許是自己發育較慢、行為能力低,一直到了三歲還不會說話、行走,更對一般幼童易認的符號沒有反應,自小被貼上「低能兒」的標籤,但,摯愛的雙親沒放棄任何機會,不斷教育、鼓勵著我,終究,我稍稍能在人海中尋覓一席立足之地。一直相信,這些孩子也只是需要多點關懷,但充其量,自己所作是何其自私,僅是捐出部份收益給社福機構,卻無法對這些孩子作正面接觸。
曾經,試過一次,去作社會服務,照顧一些智能障礙的孩子,當然情況比 [
博愛學校] 好多了,但兒時的負面記憶總是映射於這些無辜的稚嫩臉龐上... 逃避著,轉化僅存的情感於銀行 ATM 裡頭的匯款紀錄,藉此消弭心中的罪惡感。博愛學校本質上屬於民辦性質,資金來源依賴靠社會捐贈,裡面的二十多位老師不僅得作教育,更得以無比的付出作護理的工作,工作量極大,又沒有週末休假,可說是全憑愛心投入這偉大的事業。梁校長表示,自從腦癱康復專業展開以來,許多有腦癱患兒的家庭從孩子一降生就注定了不幸,雙親不乏步上絕路而釀成家庭悲劇,所以她格外強調,康復學校存在的最大意義在於幫助家長樹立繼續生活的信心。一位接受訪問的母親說:「我沒有資格放棄孩子,孩子是無辜的,他們無法選擇健康或殘疾,這些多半是大人的責任 (遺傳)」,而許多家長在博愛學校看到這些原本在被遺棄邊緣的孩子,慢慢從翻滾、到一點一瞪地站立,或學會說話、認字,都會泣不成聲,而我也在新聞報導中,瞥見奮力咬字背出唐詩的腦癱患兒之際,淚水不聽使喚地留著,我這個低能兒能背誦出唐詩時,是經歷多少苦楚,而這些孩童不啻吃了無數倍的苦頭呢?
或許這一切都如梁校長所說:「看到家長悲喜交加的淚水,就彷彿看到了一個即將破碎的家庭慢慢癒合的希望。」目前,[
博愛學校] 常有社會人士捐贈物資關心,或自願前來擔任義工,衷心期盼這些原本不幸的孩童,得以獲得社會的關心,進而習知自力更生的能力,有機會創造幸福的人生。
前幾天,十二月五日,是聯合國提倡的「世界弱能人士日」,身為人,皆有惻隱之心,應該心存博愛情懷。
由 jserv 發表於
11:28 PM
|
迴響 (3)