慕凡(@ryudoawaru)'s blog

目前還沒想到

RubyConf Taiwan 2012回憶錄(上)

| Comments

其實活動都結束半年了, 不過還是寫一下紀錄好了, 本篇為準備期間的紀錄

緣起

其實在去年OSDC.tw 2012時就開始催促@ihower了, 不過大大當時表示等D3打完再說, 然後七月初Matz回覆了可出席的時間就決定開辦了

為何要辦在中研院之外?

原因很簡單, 因為本屆大會是「MDD」(Matz Driven Development), Matz只有12/7-8有空, 剛好當日中研院場地已滿, 就此成為北部近年來第一個離開中研院的程式語言年會, 以及台灣第一個飯店conf了

找場地的過程

我們都沒有在外面找這種等級場地的經驗, 因此就先在網路上瞎找一通, 列舉一些有去現場勘察過的場地如下

  1. 沃田旅店, 天母國際會議中心(即最後的會場)

    會在下面說明

  2. 某天大學的國際會議聽

    綜合條件其實是所有會場最優, 最接近中研院的, 問題是當承辦人員聽到要收門票後就宣稱他們只接受不收費活動, 只好作罷

  3. 台師大

    最便宜, 場地狀況普通, 但是交通位置極優而且有附會館可住宿, 附近也不缺吃喝的地方; 本來都已經要簽約了, 對方突然發現每週五固定被某綠色房仲包下來當員工訓練用就GG了

為何選了這個場地

這是一個老字號的會議場地, 前身是農會訓練中心因此有住宿的服務, 我們考慮的點如下:

  • 以非學校場地而言, 價格相對合理
  • 場地的高低差讓我驚豔, 有去過的人應該都可以感受到
  • 飯店, 外國會眾可直接住在場地樓上, 方便度滿點, 住宿費因為會議的關係還有額外折扣, 還有我們都覺得飯店conf很酷, 飯店也可以提供完整的餐飲服務, 不用自己去找廠商
  • 承上, 剛好當時正在由農訓中心改建為對外經營的旅館之過程中, 想說conf時剛好是旅館設備全新的狀態, 算是一個bonus
  • 個人長期在北投唸書, 算是在地人, 而且週邊有很多我熟悉的店, 不缺餐廳招待外國朋友
  • 地點不是在鬧區因此一開始會有些疑慮, 其實場地和捷運站的距離完全不比中研院遠

最後就8月左右就決定是這裡了

講者

離開中研院的關係, 預算變得十分吃緊, 邀請講者的部份就無法像前兩屆一樣邀請歐美講者, 但是在Matz大神的光環以及ihower前兩屆建立起來的口碑, 外國講者以及與會者都十分踴躍, 最後竟然有超過10國的與會者; 陣容方面由於Matz/ko_1/a_matsuda等等的真神們領銜之下, 和歪國的Ruby系Conf比起來一點也不遜色

Party

既然已經離開了中研院, 因此以往不方便舉辦的趴踢也不再是問題了; 剛好想到場地附近就有一間「天母黎舍BAR」, 去看了一下場地情況以及當場試喝了幾杯調酒後發現非常超值, 經過討論後就決定是它了.

贊助

靠著ihower的聲望以及前兩屆的口碑, 除了一直以來情義相挺的伙伴們之外, 也加入了一些外國贊助商; 另外也感謝台灣新浪作為媒體合作夥伴, 支援了一位專業的錄影師與設備.

攝影

以往國內的開源或程式語言年會多半都是採用攝影志工, 這次要嘗試不一樣的選擇; 由於以前某次賣身event的關係認識了超級攝影師, 同時也是前總統府攝影官的「徐聖淵」, 當然不是志工就意味著一筆額外的支出; 同時在幾位人選之中他也是最貴的一位(詳見此, 下次有單身正妹願意當攝影助理志工的話請務必跟我聯絡), 但基於共事期間的經驗, 在經過討論之後就拍板定案了.

錄影

一樣因為不在中研院, 會場本身也無提供相關服務與設備, 為了能把錄影的等級提升到接近confreaks的水準可說是費盡苦心, 因為我想要做出speaker和presentation是分割畫面的情形, 於是就想到用兩台DV分別拍攝再事後剪接合成的方式; 剛好平常自己家網站合作的美術dukecroc具有數年專業MV後製剪接的經驗, 於是就決定請他幫忙; 順帶一提的是中研院可是用了價值5x萬的設備在做即時多軌合成的; 另外在準備期間為了橋收音和攝影機擺放位置的問題來回去了很多次場地.

餐點

場所的飯店本身是農會經營的(前身為士林區農會訓練中心), 場地一般是提供合菜但是在我們的要求之下改成buffet, 菜色調整了幾次之後, 一個人一天的餐費達到的驚人的230; 點心的部份, 場地有固定的合作廠商, 該廠商也是天母地區的老字號, 品質是值得信賴的不過價格也很硬, 因此量的部份就不能太要求了.

翻譯主持人

本次的邀請講者都是日本來的大神, 找尋一位有日文流利而且適合當司儀的女性主持人就成了當務之急, 好運的是透過了以往賣身event的戰友介紹了超專業的Sho, 不但是國內某大設計系conf的日語口譯, 又是專業的網站與Mobile APP的PM, 可以說是非常適合的人選.

網站

在OSDC時就已經決定請四點設計贊助網站了, 關於設計概念的部份ihower完全交給老闆P董與老闆娘Polly決定, 在經過幾次跳tone後出現了現在這一版; 一看到就驚為天人, 看來在技術系conf使用墨水風格的應該也只有我們了吧!

準備的時間花費

五個月期間, 花在準備上的時間分佈大致如下:

  • 最多的是找sponsor以及與sponsor的溝通, 應該說大半時間都花在這裡
  • 和場地人員的溝通, 包括餐點等等
  • 次之是場地的準備, 因為不在中研院的關係這部份的工作變得比以前繁重許多, 由於前面所説的改建的關係, 像是電源以及擴音/錄音設備之類的都是在10月以後才完整ready; 前面也提到了為此多花了不少時間

Ruby Tuesday#22

| Comments

由於之前已經比較久沒辦的關係, 相信大家都悶了, 剛好這次找到了相當不錯的場地HDX Cafe, 加上兩位新人講者泰安大兜, 所以就決定要開辦Tuesday啦; 這個場地好的點在於:

  • 地點好, 在程式人的聖地天瓏書局的隔壁, 也就是以前儒林書局的位置; 會前會後都可以下去敗家
  • 場地大, 2F的場地兩邊加起來可以擠上100人都沒問題
  • 投影設備, 投影幕是移動式的所以到處都可以用
  • 餐點便宜, 包場的低消是120元, 飲料餐點的水準也比以前去過的不少場地要優, 除了正餐還有麵包/蛋糕, 整體來說很超值.
  • 可以待到10點, 其實他們是9:30收, 但包場可以到10點沒問題

講者的部份, 兩位新人的演出也非常精彩(和我第一次比真的是強很多), 會場氣氛也非常熱絡; 大家也都呆到快收攤才離開; 報到率近乎100%, 整個都很讓人感動, 希望能繼續辦下去, 謝謝大家!

Ruby,Sinatra and Websocket

| Comments

近半年來花了很多時間在研究Ruby上實作Websocket的方式, 現介紹簡單心得如下

Base Solution:

Ruby系的幾乎不出這兩種, 其中又以前者為大宗, 後者顯然在Ruby界不流行而且基本上沒在更新了, 然後想當然我也只會用EM

使用過的EM類Solution:

Sinatra-Websocket

最初的嘗試, 好處是整合性極高, 可以直接登記在Sinatra的route上以及共享一切Sinatra的設定, Application Server原則上只能用thin, 不過有致命性的memory leak問題, 簡單來說就是Thin會以為已經斷線的WS連線未斷線因此長久下去會在Thin的process上留著無數的連線進而吃掉大量記憶體, 而且作者沒有配合EM-Websocket改版, 因此被判定為不可用

直接用EM-Websocket當server

現在的解法, 優點是完全自訂, 同時也是缺點; 等於從0開始設定一個socket server, DB/model…等等的設定都要自己寫; 另外我還比較搞缸的寫了init script變成系統服務, 前端使用haproxy

負載能力

非常強, 只要處理掉系統的nofile設定的話, 單一行程可以吃到破萬連線不是問題, 不過以現在的EM架構要開多行程處理數萬連線的話, 如果沒有再上一層的pub/sub機制就得要用fork出多行程的方式, 這時就得考慮類似mutex lock的問題了

IE相容問題

web-socket-js可以解決你的問題, 不過如果你要用haproxy開前端的話就必需要自己設定flash socket policy file, 使用flash_policy_server 可手動開這個服務

實際的代碼與架構會在以後說明

Sinatra課程紀錄

| Comments

這次和龍哥一起合辦有心人的課程 其中的第二天是小弟主講Sinatra & Rack, 以下是講義分享

已將課程所用之原始碼放到Github

心得:

  • 這次準備過程還是很抖, 一開始因為發現了神奇的課程Understanding Rack因此想把這篇的大意放到教材中, 不過果然還是太難把這麼硬的東西表達出來啊….

  • 刺激的是除了前一天做講義到五點之外, 十點一起來還接到了公司的message得在緊急狀態之下10分鐘修了production code, 一下課又得繼續修 & Deploy…

  • 4/5發現竟然有四位學員fork了, 真是令人感動, 其中還有人抓到我的bug..xd