2010/09/25

COSCUP 2010 札記

COSCUP 2010 + GNOME.Asia 2010

這是我第一次參加 COSCUP,今年還與 GNOME.Asia 合辦,實在是非常豐富。
而且 COSCUP 團隊竟然還搞到中央研究院這種場地,it's freaking COOL!

*2010/08/14

開場演講是 HTML5 – More Web for More people,
講者是 Opera 的 CSO(Chief Standards Officer,首席網路標準長)Charles McCathieNevile。
其實我聽不是很懂,坐後排聲音很小,加上我英文也不是那麼好。
他曾在 W3C 制定網路標準,如 HTML、CSS 等,我想正是他在 Opera 擔任 CSO 的原因。
對於網頁設計師、網路程式師來說,他簡直就是衆神之一,因爲都得照他們訂的規則來玩。
當他談到 HTML5 在無障礙方面的設計時,我死命地用力聽。
我吃了不少無障礙的苦頭。
但對於他能從身障者的角度出發,設計能照顧到所有人的網頁規則,我真的很佩服。
這是真正的大愛。
無障礙設計對網頁設計師來說可能有點綁手綁腳,
可是如果有天我手腳或眼不便,而又需要上網時,我將會非常感謝製作無障礙網頁的人。
(延伸閱讀:http://www.ifanr.com/18070)

下一個 session 我其實很猶豫,我在想要不要去 Sahana Taiwan Development 那場,
因爲它可能會和我以後在氣象局的服役工作有關。
不過最後還是在國際會議廳坐滿了 HTML5 for Programmers 與 HTML5: Building the Next Generation Web Applications 這兩場。
當然,也因此錯過了 CSS3 新功能大補帖那場。

這兩場的講者分別是 Mike Smith 與 Eric Bidelman,
前者在 W3C 與 WHATWG(http://www.whatwg.org)負責 HTML5,
後者是 Google 工程師,Google Docs 是他幹的。
當然,我還是有聽沒有懂,不過他們介紹了兩個自己爲 HTML5 做的 demo 網站,都非常酷!
Slide 那個我之前有看過,另一個很適合做 HTML5 入門教程。
http://slides.html5rocks.com/
http://www.html5rocks.com/

中午免費的魚翅(魚排雞翅)便當後,是此次贊助商之一的 Nokia 來講 Meego。
其實 Qt 做出來的介面我還蠻喜歡的,有質感,場外也有 Nokia N900 給大家試用。
只是主講的 Nokia 技術經理張弛先生,有點貴氣逼人的味道。
他這個人讓我覺得很有距離感,而且商業氣息很濃厚。
我在猜,中國大陸現階段企業內管理階級的人是不是都這個態勢?

下午我選的場次是 Doxygen 程式說明文件產生器與 Gettext 網站多國語系製作。
講者分別是 Thinker(http://www.codemud.net/~thinker)與 Tsung(http://plog.longwin.com.tw)。

Thinker 使用他的一個專案 MadButterfly 當作例子,示範 Doxygen 怎麼運作。
附帶一提,MadButterfly 是一個非常酷的 SVG 專案(http://www.assembla.com/wiki/show/MadButterfly)。
簡單說,Doxygen 是一個輔助產生程式說明文件的工具。
使用前,先將 Doxygen 配置好,設定文字編碼(例如:utf-8)等參數。
在程式碼中進行註解時,只要引入 Doxygen 看得懂的區隔符號(例如:/*! 註解 */),
執行 doxygen 指令時,Doxygen 就會抓取這些內容產生有條不紊的 html 檔或 pdf 檔。
這種東西需要親手做過一次,就會馬上懂了。
詳細操作需要翻一下手冊(http://www.stack.nl/~dimitri/doxygen/manual.html)。

Gettext(http://zh.wikipedia.org/wiki/Gettext)是 GNU 一套常用的多語系製作工具。
會產生 .po 與 .mo 檔,前者是人類看得懂要翻譯內容的檔案,後者是編譯後的二進位檔。
其實我是今天聽講才知道 .po .mo 檔,因爲從沒參與過 Open Source 的翻譯工作 ...
簡單說,就是把需要翻譯的字詞抽取出來放到 .po ,人們編輯 .po 檔,把翻譯寫進去。
.po 檔完成後,再編譯成二進位的 .mo 檔,程式執行時照 Gettext 的規矩就可以取用了。
最後,Tsung 提了一個三分鐘就可以完成全網站多語系製作的方法:Google Translator。
我當下真是嚇一跳,是真的嚇一跳!一語驚醒夢中人!
雖然講者可能是半開玩笑,可是我真的覺得取用 Google 的輪子就好了!
The Big Picture 就把它用得很好。

之後我前往了 Processing – 專為設計師、建築師、藝術家設計的簡易又強大的數位藝術工具,以及自由軟體於互動技術。講者分別是沈聖博(http://arrowkey.net)與甘泰瑋(http://www.twkan.com)。

Processing 是一套底層爲 Java 的設計工具,它強調是數位藝術工具,
它使用起來有點像在寫 OpenGL,又像是寫 SVG,可是並不會那麼複雜,
且使用對像包括藝術家,不會有程式門檻,只要會英文,基本上就可以寫了。
它很明顯是一套玩弄數位影像的工具,一張很普通的圖片丟進去,可以有很藝術的變化。
聽起來有點像 photoshop 的濾鏡,只是它可以是動畫的。
另外講者自己設計的 slide 也很有趣,tag 在上面漂啊漂的,也是用 Processing 做的,
他有提供 code 出來(http://arrowkey.net/openCode/tagSlides/)。

互動技術談到擴增實境(Augmented Reality, AR),那是我研究所其他幾位同學的題目,
講者在做的是用 QR Codes 當作 AR 的辨識標記,自己寫了掃描讀取的工具。
他的作品還上過 SIGGRAPH,非常屌!
講者有許多筆記在他的部落格(http://jwill.pixnet.net/blog)。

接下來我跳了兩個 session,分別是以中文的名义融入开源世界與 Jetpack SDK。
講者是黃鵬(https://launchpad.net/~shawn-p-huang)與尤孝庭(http://blog.littleb.tc)。

黃鵬是個很了不起的傢伙!
Linux 底下許多許多許多許多許多的中文化都是他幹的。
我現在正在用來打字產生這篇文章的 ibus 輸入法平臺也是他寫。
(雖然在 KDE 與 Chrome 底下還有點毛病啦,哈。)
他在這場演講談了許多開源中文字型的故事,不過我聽過就忘啦!
現在中文字型我都是選用文泉微正黑體,Google Droid 在簡體中文的方面並不是很好。
我注意到他講話很溫吞、優雅,感覺像是老北京衚衕裡,住在三合院內的生活大師。
不知道他是不是北京人?

尤孝庭是臺灣的 Mozilla 親善大師,他做了些很有趣的 Firefox 套件(https://addons.mozilla.org/en-US/firefox/user/2627913)。
爲了玩 Voyage 那個套件,我還特地打開許久沒用的 Firefox,瀏覽一堆網站製作記錄。
他介紹的 Jetpack 是一套開發 Firefox 套件的 SDK,雖然我不大懂,不過這東西很酷!
你只要使用 HTML、CSS、Javascript 就可以瞬間爲自己寫一個 Firefox 外掛。
未來 Firefox 4 的外掛應該是以這個爲平臺,安裝或卸載外掛也不需重啓 Firefox。

晚餐大會提供了一大堆半徑爲 z,高爲 a 的圓柱體食物(pi*z*z*a),還有可樂。
當然,全部都是免費的。爽!free software,free food。

吃飽後在 Ubuntu 的 BOF(Birds Of a Feather)玩。
下午的我是 Programmer 我也想當 Musician 那場的講師張正一,他是 Ubuntu Studio 玩家。
他介紹了一套 drum machine 軟體:Hydrogen(http://www.hydrogen-music.org)。
他還現場表演打擊了一段,實在是非常的 rock!
Ubuntu Studio 真的很「工作室」,玩起來跟在做 3D 動畫沒兩樣(它也真的可以做 3D)。
會後我跑去問他些問題,因爲我也曾夢想有一套自己的爵士鼓,沒錢買鼓,敲電腦總行吧?
他拉我到場外從樂理開始聊起,哈哈!oh,my!
我說有一把吉他,可是不會彈。
他隨身竟然拿出一把烏克麗麗!開始從最基本的和弦爲我講起。
我真的很不好意思,他講得很認真,我這音痴只好努力地聽。

晚上回去的路上,同車除了我的音樂老師張正一,(笑)
還有 CrBoy(http://blog.crboy.net)與一位 COSCUP 工作人員。
我記得火車上,張魔法設計師正一還拿出烏克麗麗來彈小曲,真是太愜意了!
我一定得學好吉他。

我幾乎每次參加自由社群的活動都是扮演吃白食的角色。
沒啥貢獻,沒有能力,沒有東西可以分享 :-(
所以在 Ubuntu BOF 上,我只能掏錢買些貼紙,
小小些錢,希望社群能有些小小補,這是我目前力所能及了 ...

不過最近對宇宙、黑洞、大爆炸倒有些心得,不知道這種能不能分享,哈。

*2010/08/15

第二天的開場演講是 Road to GNOME 3,講者是 Brian Cameron。

Brian 是 GNOME 基金會的指導董事,現任職於 Oracle。
他 demo 了新一代 GNOME 的樣子(http://www.youtube.com/watch?v=oYOe9INyy88)。
好吧,我得老實說:我嚇到了。where is my application menu !? where is task bar !?
GNOME 3 應該算是 UI 上的大革命,真的很眩目。
但是我想,很多人應該跟我一樣,對於習慣新的革命性的東西,多少都會有點恐懼。
畢竟革命是需要破壞的,破壞原有的習慣、原有的流程。
其實看到 demo 畫面的當下,我馬上決定回家後要裝 KDE 起來用看看了。
我想先習慣一下,以後 GNOME 3 真的變這樣的時候,至少我還多一個選擇。
我後來發現,GNOME 3 的多個桌面其實就是 KDE 裡面 Activities 的概念。
說不定之後會很快習慣 GNOME 3,說不定習慣後會很有效率?who know.

Tea Break 後,我還是去了 GNOME 的 session。

Building and Using a Memory Profiler,講者 Holger Hans Peter Freyther。
完。全。聽。不。懂!
感覺是記憶體效能調校的事情,好像在教一些技巧,還是在做一些 hacks?
好像是講解怎麼去優化 GNOME 底下程式對記憶體的存取(?)

接着是 xPad – Building Simple Tablet OS with Gtk/WebKit,講者 Penk,陳品勳。
Penk 來頭可不小,他是 xPUD 的老爹(http://www.xpud.org)。
這場人突然爆多的,像是熱門院線片。
Penk 也沒有讓大家失望,除了預告新東西外,他整場真是活力滿滿。
雖然技術細節我還是聽不懂,可是這場真的很 party,damn happy!

The Culture of Sharing,講者 Sascha Pallenberg。
在談 Open Source 文化、心態、思想的事情。

App Engine 大爆料,講者葉平,是位物理學家,待過 NASA,目前在 Google 服務。
主要在分享這次 COSCUP 報名系統使用 Google App Engine 處理的小故事。
提醒大家,程式務必要記得做 exception 處理。

之後我聽了 The NoSQL Movement 與 Implementation of websocket server program。
講者分別是周立瑋與彭兆蔚。

NoSQL 那場講者講話也很優雅、緩慢,所以我差點睡着了。
他本來要介紹 Couch Database,可是前面鋪陳太久了,剛要開始提就結束了。
NoSQL 有點像在談雲計算時代的資料庫應該是怎麼樣的。
有篇文章可以參考一下:http://oss-tw.blogspot.com/2010/04/nosql.html
NoSQL 現在被解釋爲 Not Only SQL。

websocket 這場的彭兆蔚他很酷,他本來是臺大心理系的,自修考上了臺大資工所。
他擅長 Java,目前在資策會服務,開講前他好像酸了一下當前的瀏覽器大戰,哈。
我對這場的印象就是,websocket 像是 AJAX 的正式化了,就是文件中有它了。
從舊有的 Client 跟 Server 要哪些東西,Server 才給 Client 哪些東西;
變成只要 Client 告訴 Server 哪些是需要的, Server 主動推這些資訊給 Client。
但 websocket 的內容還是草案,講者也強調他現在都是根據 draft 在寫 websocket 程式。
我覺得它非常麻煩,head 裡面個很怪的密碼規則,而且還得 coder 自行處理加解密!
因爲一定有安全性問題,總不能隨便接收一個不知道是不是真的 Server 推來的檔案吧?
coder 得根據 websocket 的草案自行寫程式在 Server 端處理加解密問題。
我在想,這之後一定會 API 或人家弄好的標準工具,Apache 可能也會有大改版支援。
但講者直接點出,國外有草案就馬上在做新的東西了,我們不能總是等工具出來才創新!
真是有骨氣、有志氣、有才幹 ...
真羨慕。

之後回到國際會議廳,是一連串的 Cloud 相關技術與工具。
說起來我應該覺得熟悉才是,可我知道的跟議題相比,真是小巫見大巫了。
Building a Cloud Computing Platform by Using Open Source Software - Michael Pan
快速佈署叢集式的搜尋引擎(CrawlZilla) - 郭文傑
Yahoo Traffic Server, a Powerful Cloud Gatekeeper - Shih-Yong Wang
Solr on Cassandra - Gasol
這些都得多聽幾次才會有概念。

當然,我還有一些遺珠之憾:
Sahana Taiwan Development - 胡崇偉 Marr (中研院, 研究助理)
網頁設計師必備: CSS3 新功能大補帖 - 謝子斌 (Web Evangelist, Opera)
由馬鈴薯小子看軟體在地化 - 黃佑仁 Rock (台大資工)
Cloud Experience — from Google to Delta - 翟本喬 (台達電子, 資深處長)
Javascript in Linux Desktop - yurenju

好在每次 COSCUP 都有錄影和投影片備份:
http://plog.longwin.com.tw/my_note/2010/09/23/coscup-note-ppt-2010



這種活動真的是好康到極點!
但好康的東西背後總是會有一堆不求好康的人在默默付出。
每次 COSCUP 的籌備到舉辦是由一羣志工拚出來的,
這羣人到頭來可能還沒辦法好好聽完一場演講。
他們給我的感覺,很像學校社團在出服務隊的那種樣子。
我懂那種團隊間創造革命情感的過程。
敬你們一杯!