2013年3月10日 星期日

自助旅行的決策模型與資料收集

圖片來源:網路


前一陣子覺得遊記如果沒有寫的很完整,只是一些短短的見聞或感想似乎沒有必要寫出來,或是如果沒有寫的文情並茂,只是一堆流水帳和貼一堆照片和註解的文章似乎也是上不了檯面 ( 其實就是偷懶的藉口...Orz..)

但是這次去美國出差真的就受惠於許多部落客的分享文章(尤其可能是微不足道的小事),因為很多時候根本沒有辦法事先做功課,或是只能趁空檔安排個行程,這時候只要有網路能上網搜尋,就可以得到很多的幫助~\@o@/

所以想法一改變就覺得這次似乎有很多東西都值得寫..... (但是時間真的不夠用啊)

不過這倒是觸發我另外一些想法,關於自助旅行的人都怎麼收集資料,如何決定要去哪裡玩和怎麼玩?這一連串的決策過程往往就跟資料的收集過程有很大的關係,通常旅遊的資訊來源有幾個,在這邊簡單分類一下:
  • 部落客的遊記 
    • 優點:內容較為廣泛,只要能上網/能搜尋就很容易找到自己想要的資訊
    • 缺點:較為分散,需要倚賴搜尋技巧和時間,要注意時效性
  • 背包客棧的分享文/答問文 
    • 優點:較為集中,很容易找到/問到最新的資訊
    • 缺點:比較詳細的圖文資訊還是得連到外部Blog,論壇式討論很多廢話~:P
  • 旅遊書 / 雜誌
    • 優點:攜帶方便,不需要網路
    • 缺點:貴,資料較少,可能一整本只有幾頁你需要,資料的時效性也要注意
  • 旅遊景點/國家 官網 
    • 優點:資料集中有整理,能很快的抓到這個城市或國家的重點
    • 缺點: 對於景點介紹太...官方說法...過於美化~:P
  • 旅遊規劃網站  (參考與規劃行程)
    • 優點:可以參考別人的行程與玩法,懶人規劃法~
    • 缺點:行程不一定適合你,詳細資料還是得搭配Blog 來參考
  • Location based 導覽/推薦 APP
    • 優點:到當地如果都沒做功課臨時抱佛腳用~
    • 缺點: 一定要有網路,一旦出了國....就很不太好用了..

由上面所列出來的資料來源就可以發現,絕大部分都還是要靠鄉民分享的力量,不論是是寫Blog,在論壇上分享與討論,或者是在旅遊規劃網站分享旅遊行程,甚至現在很多旅遊書都是Bloger出的。

於是這就變成一個Feedback Loop,有人先分享他的旅遊見聞與紀錄,而這些資訊就成為大家資料收集的來源,然後根據這些資料規劃下一次旅行,藉由實地去旅行,又可以產生新的Feedback 和心得的資訊,讓下一個要去玩的人可以拿到最新的資料...




所以最後的結論就是,大家請不要害羞或是懶惰停止寫遊記或是分享的文章,你的文章可以造福下一個要去玩的人!!





2013年3月8日 星期五

各種 Distributed Log collection framework


Open Source 的迷人之處,同時也是最讓人頭痛的地方就是選擇太多,迫使我們常常必須在這麼多Solution中找出適合自己專案的來用,如果每個Solution 都有專門擅長的領域,或是使用的語言差異很大,那可能還好選擇,就怕是技術同質性高的東西。

舉例來說,以前就知道光是Message Queue (MQ) 就有很多種選擇,但是前一陣子去參加ApacheCon 居然又看到好幾種新的MQ專案,感覺同質性也非常高,雖說會要開發新的一定是為了要解決某種特殊問題,或是覺得舊的不夠用....不過沒花時間深入研究的話是根本比較不出來,所以到現在都還在頭痛中,到底該怎麼選擇...... (找機會再來整理一下各種MQ Solution )。

不過今天不是要談MQ是要談Distributed Log collection framework(DLCF),主要是看到了Treasure Data的這個投影片 "The Basic of Fluentd",裡面有針對幾個比較熱門的DLCF做比較,於是我就想是應該把這一陣子有看到的都整理一下了,因為選擇也越來越多了!!


Fluentd (It's like syslog,but uses JSON for log message)


官網:http://fluentd.org/
GitHub: https://github.com/fluent/fluentd

Scribe (Log collector for Facebook )-----> Calligraphus


GitHub: https://github.com/facebook/scribe
Wiki: https://github.com/facebook/scribe/wiki/Scribe-Overview

Ps. 在這篇投影片裡面有提到Facebook 打算從Scribe (C based) 換成 Calligraphus (Java Based)


Flume (Distributed log collector by Cloudera now in Apache)


官網:http://flume.apache.org/FlumeUserGuide.html
Wiki: https://cwiki.apache.org/FLUME/home.html
GitHub: https://github.com/cloudera/flume


Chukwa


官網:http://incubator.apache.org/chukwa/

BigStream (Streams is inspired by Chukwa)


官網:http://code.google.com/p/bigstreams/


logstash  (logstash is a tool for managing events and logs)


官網:http://logstash.net/


是不是很多!!為什麼大家都要來搞一套呢?光是Apache 就有兩三套....不過由Molliza 的案例應該就可以了解為什麼會有那麼多Log framework,話說在2010年初Molliza使用的技術是Flume + Hive,在這篇Molliza 的Blog Collecting and analyzing log data via Flume and Hive 裡面提到:
Chukwa, Scribe and Flume are headed in the right direction, but the final piece of puzzle of analyzing the data still remained unsolved, until few weeks back as we, at Mozilla, started integrating Flume with Hive.

不過呢,才到了2010年底, 內部就有不同的聲音了"Flume, Hive and realtime indexing via ElasticSearch",好還要在更好是吧~
Flume + Hive really solves our needs, but we would ideally like a solution that indexes our data and can be queried in real-time

所以這次ApacheCon 2013 Mozilla的人去演講的題目 "Firefox Crash Analysis Laura Thomson" 就是在講他們自己新開發的系統:

Socorro (A server for collecting, processing, and displaying crash reports from clients using the Breakpad libraries)


Wiki: https://wiki.mozilla.org/Socorro
GitHub: https://github.com/mozilla/socorro

主要的Use Case 就是如果Firefox 當機了,必須要知道以下資訊:怎麼當的,版本,那一個build?OS?channel,是新發現的問題還是舊的?

有興趣的人可以去這邊下載投影片來看


2013年3月3日 星期日

ApacheCon 2013 BarCamp 初體驗



這是我第一次參加barcamp,之前完全沒聽過,也不了解裡面的內容,所以在參加前還先上網研究了一下到底barcamp 都在做什麼,節錄規則如下:
  1. 你必須做關於 BarCamp部落格。
  2. 如果你想要介紹,你必須將你的主題以及名稱寫在簡報上。
  3. 自我介紹只講三個詞!請先想一下要用哪三個詞來表達自己關心的事情
  4. 不預先排定議程,也不僅僅來當個過客!
  5. 除非影響到其他人的說話時間,不然講者可以盡情地講!
  6. 第一次參加 Barcamp 的人們,請一定要講些東西

關於1,2,4,5都還ok,但是一看到3,6就有點峱峱的....

不過因為Apache  的 mini Barcamp有 Expedia 贊助自助霸和飲酒霸(啤酒和紅酒),衝著時食物就硬著頭皮上了!XDD

首先大會開始會有一個主持人 (主要是負責控制時間),然後大家亂哄哄的開始報名想要討論的題目,然後就會投票主持人幫忙記票和排時間,下圖紅色圈起來的就是會議議程表(很Agile 的fu),然後紅色頭髮那位就是主持人 (叫做Nóirín)~XD


最後排定了,幾個討論的題目,然後主持人就會依照上面的時間來提醒大家,然後再時間內大家都可以踴躍發言和分享。


看老外嘴砲討論真的還蠻有趣的,他們都還蠻喜歡針對嚴肅的議題做討論,然後問題和回答都很犀利,如果場景回到台灣,可能都是場面一片和諧,大家都不好意思說話,說的也都是場面話?(不過大陸人這點就比較像老外,問問題很不客氣的~:P)

對我印象最深刻的幾個議題:
  • GPL2 vs. Apache License v2 的比較
    • 為什麼越來越多專案轉移到Apache License
  • 怎麼看待individual contribution 和 company contributions
  • 討論政府是否可以像Open source這樣運行,同樣的Open source 在管理上面是否適用所謂民主的表決?

通常想發言的就會舉手,但是太溫和還是會被插話~:P


其實,除了少數幾個人比較踴躍發言外,大部分的人都鄉民一樣,拉板凳拿啤酒看好戲...XD



我大概是太累了眼殘...把PALE ALE...自動解讀成APPLE....想說蘋果口味啤酒一定要喝喝看,結果好難喝.....Orz..