What have you found for these years?

2012-12-20

rubyconf.tw/2012 二三事唔 (0)

拖稿了非常久,因為覺得最近事情(還是)很多,沒辦法好好認真靜下心,
連 guildwars2 也可能有兩個禮拜沒打了!居然連 conference 結束了
都還沒空打,這真是沒天理呀。再另一方面則是這兩天右手異常痠痛,
很勉強地寫寫程式,要寫遊記更覺得煩悶呀。

不過總之我現在想趕快把這個交代掉,接下來才能安心寫程式和打 gw2 XD
全篇大概會分兩部分,前半段先講比較多人會想看的 conference 心得,
後半段講我自己的一些心情,從決定開始投稿到結束這段時間的歷程。




*

第一天的議程,很不幸的,在我之前的 talk 都沒機會聽到,因為還在家裡
趕著做投影片呀 :( 聽說那幾場都還不錯,錯過感覺真的很可惜。更無言的是,
信上說要提早三十分鐘到,我還在想說怎麼可能那麼晚到嘛。結果事實是我確實
差不多正好在三十分鐘前到 O_o

一見到 ihower 他就說他緊張了一下,真抱歉|||b 不過也幸好立刻就決定搭
計程車,不然連三十分鐘前到都沒辦法了。另一方面,雖然有這三十分鐘,其實
我也沒辦法做什麼事。緊張的情緒並沒辦法讓我好好聽 nomadcoder 在講什麼,
看著自己的投影片想演練也不太有辦法,更何況三十分鐘不太夠。來會場之前,
有稍微在心中跑過一次,看了看時間,差不多正好就是五十分鐘。

小插曲大概是好像前兩個原本要講中文的 talk(離題一下,基本上除了專有名詞
外,我盡量避免中英文夾雜。但我真的不知道中文應該怎麼稱呼 talk 或 meeting,
不管是演講或是開會我都覺得太過..嚴肅了?在還不知道怎麼用中文稱呼比較好時,
只好繼續先用英文),後來因為某些原因變成講英文。

老實講,如果我英文的聽和說有那麼好的話,我想我會認真考慮換成英文。不過
這麼突然,講這個主題我本來就不甚有信心了,講英文擔心會講得更慘。雖然我在
公司的預講確實真的是講英文啦 O_o 講得應該也還好,雖然有的地方有點卡。
另一個對我來說很重要的考量是,原本行程上就是寫這是一個講中文的議程,
我也不太想臨時改變語言。我個人還是認為應該是有不少人本來就想聽中文的,
我不太希望片面地(不與聽眾協商之下)改變這樣的行程。



*

講完後,老實講也沒完全鬆一口氣的感覺。就好像憋尿或是憋糞太久,一下放出去後,
身體的器官還沒辦法完全鬆懈下來。另一方面,由於睡得很少,又吃得很少,只喝了
一瓶豆漿。每次我不太想吃東西時,就會喝一瓶豆漿,因為不難下嚥,又有飽足感。

不過隨著時間慢慢過去,確實有漸漸放鬆的感覺。只可惜真的是很累,所以也沒什麼
精神好好聽別人在講什麼。因為不太想吃東西,聽說很好吃的下午茶也沒吃到,有點可惜。
這時候不免就會想到上次 FLOLAC 向上的狀況。我還沒那麼誇張就是了 XD
事實上我需要準備的也沒他多,需要講的時間也遠遠少很多。

另一方面,有趣的是,根據我過去的經驗,通常最緊張的時候其實是等其他人講完,
自己要上場前的那段時間。實際開始前,腦袋就會變得有些空白,而實際開始時,
沒有意外的話會很專注在自己在講的事上,不太會注意到其他的事情。我想這也是
為什麼我完全沒注意到一開始麥克風太小聲。但不好意思,我真的不想把麥克風
靠我嘴巴太近,一方面是覺得有點噁心,另一方面是直對麥克風講的話,很容易會
噴麥。與其噴麥,我覺得寧可小聲一點。同樣是聽不懂,至少聽起來不會難過,
也比較不傷麥克風....。

剛講完時,心裡想著回去要寫一篇檢討文,不過現在早就忘記我是想檢討什麼了,哈哈。
我想想,有一點是我覺得講太快了,內容畢竟還是有點太多。雖然時間剛剛好抓在 50 分,
但塞這麼滿似乎不是好事。雖然反過來是說塞這麼滿居然可以正好抓在 50 分,好像也
滿厲害的。畢竟我是有看表,但只看了兩、三次吧。時間能抓得好的話,內容也比較容易
調整,無論如何都是需要的。

內容上的問題的話,大概是中間和後面講得太快。中間講得快其實有點原因,因為
很複雜,加上我擔心講不完,因此有些自己當場不是很確定的事,就沒細講了。
我想要講得順,很重要一個條件是自己必須非常熟悉自己要講的事。能講出來的大概
只有自己了解的 10% 以下。沒有了解到夠多的話,就只能亂扯一通或是卡在那裡。
一旦自己了解的夠多,其實要在台上臨場發揮或什麼,都是不難的。

這點我在大一解釋自己的作業時,其實就發現了。我從來就不是個擅長表達的人,
但是講自己熟悉的東西時,很自然就會冒出很多話可以解釋。我想這次之所以搞成這樣,
最大的原因也是因為自己並還沒有那個能耐講這個主題。花了非常多時間在看別人的
程式驗證自己的想法,深怕自己講錯。這才真的是準備這個 talk 花最多時間的地方。

回過頭來,我想安排的配置大概是這樣。前半段講非常簡單基礎的東西,希望讓寫過
程式的人都能夠聽懂。同時釐清一些我覺得不少人會有的錯誤觀念。

中間則是非常複雜的各種情況分析。這個要當場聽懂,我個人覺得不是很容易。其實
講起來並不困難,但是如果不跟聽眾互相討論的話,每個人的理解方向和基礎知識都
不同,要聽懂並不是那麼容易。在公司預講的時候,這邊花了非常非常多的時間在「討論」。
大家是聽懂了,但實際在 conference 時哪有這種機會? XD

最後一段則是希望講點比較實際的東西,真正在跑的 server 是長什麼樣子?這部份,
我個人認為並不難理解,因為就只是一些整理,看過去就好了。當然如果要仔細把使用上的
情況都放進去解釋的話,那其實有很多可以講。我原本是有打算講,但很明顯時間不夠,
連投影片都沒辦法做完,因此就整個拿掉了。

也就是說,真正難的應該是中間的部份。前面只是介紹而已,最後則是整理。因此我希望
沒什麼基礎的人可以聽聽前面,而有基礎的人可以多理解最後的整理,真正熟的人就可以
看中間那段我的理解,互相驗證一下。

最後的結果似乎是有不少人聽不懂,不過其實也沒差啦,我只覺得好累,反正結束了,
我也不能多做什麼了 XD 也很感謝發問的朋友,讓場面不要太冷。

Achievement Unlocked:
The only Chinese speaker in 1st of rubyconf.tw/2012



*

Akira Matsuda 講的東西我好像之前看過投影片,就沒特別感興趣。功能介紹這種東西
我個人其實覺得滿無聊的。那個 Qlobe 害我以為他是 Yusuke Endoh, 後來知道時
失望了一下。

lightning talk 完全沒在聽,真抱歉,太累了。另一方面,有一位日本人來問我投影片
裡 fibers 的程式是不是寫錯了?他說他是 fibers 的 API 設計者,我很高興這件事,
所以除了解釋投影片上不是完整程式外,也說了一些其他我希望可以有的事情。他說要討論
一下才能決定需不需要加。

討論還滿愉快的,雖然感覺語言溝通不是很順利,有時候會跑出日文 XDD 但很多關鍵字
真的是只要講到了,他就懂了。這讓我好感動呀。近年我常常有一個小困擾,就是聽得懂
我在說什麼的人真的很少。能這樣稍微提一下對方就懂了,還是在語言不是很通的情況下,
只能用真的很感動來形容呀 XD

他問我會不會去 official party, 我說大概不會,因為太累了。他說那我們明天用
laptop 再仔細討論。

後來跟其他人吃晚餐,才知道原來他就是 ko1 呀 XDDDDDDDD
難怪,真抱歉我太不會認人了 XD

翌日,也沒成功討論到。所以是在吃完晚餐後,才找到機會稍微講了一下話。他說可以
email 給他,於是就是那篇很顯然寫太長的那個:
2222. 12-09 Regarding Fibers

anyway, 我現在已經進入很多事我講完就好的狀態了,有沒有回應是其次。當初向 ET Blue
解釋一些東西,我覺得他有聽懂後,也覺得那這樣就好了,talk 可以不用講了 XDDDDDD
當然這只是開玩笑的,不過那時候真的有這種感覺。不知不覺,對很多事情的要求都變得
很渺小,盡量把對於外界的依靠降到最低。

再後來則是感謝 ihower 的邀約,才在週一跟 ko1 有機會聊那一個小時。這邊當然不贅述了:
2223. 12-13 與 ko1 的一些聊天內容
2224. 12-14 與 ko1 的一些聊天內容 (2)

那天也滿妙的。我提早到,所以就想說在附近逛一逛。看到墊腳石(應該是吧?)書店,就想說
在書店殺時間也滿不錯的,很久沒逛書店了。在一樓晃著晃著,結果 ko1 就出現在眼前 XD
我猜他大概也是提早到,也是看到書店就進來晃晃,結果這麼巧正好就迎面相遇 XD

於是就跟他在書店邊晃邊閒聊,聊一些漫畫、小說、和一些其他的書。上次看到他在 twitter
上說很多漫畫的中文翻譯名,我還以為他是同道中人看了不少,不過好像又沒很熟的樣子。
似乎只是想知道那些日本的東西,有哪些在台灣也有,被翻譯成什麼樣子。一些文學作品他好像
也沒很熟。當然我也不熟啦,只是以為他很有興趣。

現在印象比較深的是他說《告白》他不敢看,覺得太驚悚了 XD 還比個抖動害怕的樣子 XD
小說我沒看過不知道,不過我覺得電影確實還算滿好看的,儘管我個人是不太看驚悚片。

日本書(包含許多漫畫)看得差不多後,我們就到樓下,然後一出店門就看到大夥兒在外面 XD

老實講我覺得 ko1 還滿可愛的 XD



*

時間拉回 conference 第二天。這次很早睡,養足了精神一早就過去了。第一場 Freedom
講 smalltalk 和 ruby vm, 讓我想起以前為了講 rubinius 畫的一張圖:
在其中一篇裡啦,我也沒注意到原來我寫過這麼多篇,標題還正好一樣,害我搞混 XD
597. 2008-12-03 ruby object model
603. 2008-12-04 ruby object model (2)
769. 2009-03-10 ruby object model (0)
771. 2009-03-11 ruby object model (1)

第二場 ko1 講了一些 ruby vm 內部的實作。其實還滿趣味的 XD 答案永遠是更多的那個。
Ruby 2.0 VN 也很好笑 XDDD 中間還變裝。很可惜投影片內容很多,很多都沒時間講到。

第三場 Hiroshi SHIBATA 講了一些 tDiary 的東西,我覺得這也是個很典型的日本用
ruby 的方式跟其他國家不同的狀況。感覺在裡面可以看到不少我剛學 ruby 時看到的東西,
但從來沒真的用過,因為其他國家的人不用那些東西 :o 事實上我也不太確定 $SAFE 跟
taint 要怎麼用比較好。jruby 的說法一直是 $SAFE 檢查很不安全,因為那就像是
fine-grained locking 一樣,是個需要小心照顧又容易遺漏的東西。taint 也是個
很難使用的東西。我記得 ramaze 作者好像曾經享用 taint, 但最後還是放棄了。

(btw, 我還是不喜歡 speakerdeck. 之前是畫面捲動不是很方便,現在是覺得畫面閃爍嚴重)


第四場 Gosuke Miyashita 講的遠出乎我的期待!因為像這種講公司產品的 talk, 往往
會很無聊,只講一些表面上的東西。不過這場講了不少技術細節,不,不是細節,是架構,
但這種東西本來就應該講架構而不是更細的東西。在 nginx 上跑 lua 控制 application
server 感覺還滿不錯的。

第五場 Richard Lee 臨時從中文改講英文 XD 不過講得慢慢的又很清楚,相信非常好懂。
第六場 thegiive 也是從中文改講英文。不過由於我沒在管 server 了,沒啥興趣..。
第七場 Joseph Ku 講 ruby motion. 講得很好,效果不錯。
第八場 Eddie 講追蹤 ruby 的 source code. 後來小蟹問我會不會去看 ruby source,
我說會啊,當你需要知道一些行為細節時,看 source 還是最快的方式。另一方面,如果要
寫 c extension, 基本上幾乎可以說是一定要看。雖然我得承認 readline_buffer 其實
大抵上是隨便亂寫的,沒怎麼特別看 source. 開 debugger 時就會爛掉... XD

lightning talks 方面,ryudoawaru 試了各種 concurrency 的方式跑大資料處理,
滿有趣的結果。Von 講 goliath. 那時本來想說要跟他在行前討論一下,結果最後沒有
時間... orz

中間沒什麼印象了,請見諒 O_o YC Ling 用很清楚的圖表講解了 fork 跟 copy-on-write,
還有如果說 resque 可以由一個 master fork 出 50 個 worker processes, 那效能
似乎還是可以接受。不過我還是打算直接換 sidekiq 啦,試用之後再說。

shelling 的 live demo 出事,但卻意外有笑果,不知道為什麼 XDDD 澤清的真抱歉,
我每次聽到 rails 相關的東西,都聽不太進去...。



*

第二天回程時,我太冒失了,差點以為錢包掉在計程車上!非常感謝 @aar0ntw 和另一位
抱歉我不知道名字 @@ 很巧妙的,錢包正好是卡在我的背包上面。其實我連雨傘都忘記了,
也是 aar0ntw 幫我拿的 orz

那時候惶恐到腦袋一片空白,生平還沒掉過錢包,要是真的掉了,完全不知道怎麼處理。
結果在我真的開始面對現實前,就找回來了。那時候我只是絕望地想回頭看看計程車會不會
開回來而已... 而正好我一轉頭,就被看到錢包卡在我背包上 XD


雖然我心得似乎是講得很草率,不過確實是玩得很愉快,感謝大家!

--
決定把其他的放在下一篇,已經太長了。

0 retries:

Post a Comment

All texts are licensed under CC Attribution 3.0