OSDC.TW 2008 第一天我是中午才到的。在技術方面,大多數的題目都已經在網路上看過資料研究過,沒有什麼特別的感想,不過可以感覺到有些講者可能因為經驗與時間的關係,有些重要的地方都沒講清楚。
先是我們自己家介紹的 Berkeley DB,jnlin 沒有提到為何要避免使用 LEFT JOIN 的原因,然後在測試的部份數據也少說明了很多東西。
另外 Vivek Ratan 講 Hadoop 的部份,有些地方沒有講清楚,像是要怎麼因應 Namenode 故障時的處理 (在「Metadata Disk Failure」這邊的說明可以參考)。另外我回來查了以後發現跑 Hadoop 後,所需要的時間變成原來的 66%,而不是效率變成原來的 66%,所以我在台下問了一個笨問題…
第一天結束後倒是到樓下的咖啡廳聊了很久,儘講些有的沒的…
都是小圖,看不清楚的可以點回 Flickr 的頁面看到大圖。
我不曉得依照這個規則是怎麼算出比彎彎還要高分:(原出處:部落格觀察貼紙各式說明)

下面這張是依照「Page 總分」排序,彎彎在第九名,第七名是 Gene,第八名是 Wildcat,第十三名是 askareiko,剛好是部落格觀察的「GAW」,這個「排行榜」的公信力大家自己心中應該有數。

Google 新的翻譯引擎終於上線了:Google’s New Translations。
李開復在交大時就有提到以網頁的文字提昇翻譯的品質,當時他是以中文作為說明的背景,說明當 Google 網頁所儲存的量愈來愈大的時候,翻譯的準確度會愈來愈高,現在終於看到這個理論的產品上線了。
不過還是有蠻多好笑 (而且奇怪 XD) 的翻譯…
事先說明:我是 Pixnet 的技術顧問,在這篇文章裡提到的這項服務與 Pixnet 以及 Pixnet 競爭對手有關。
網址:http://sn.hasname.com/。
前陣子看到「玩WARM人脈搜尋網 竟抓到劈腿男」這篇文章後,我第一個想法是「這個東西也能當研究?」,如果連這種幹壞事的事情都要教授指導才能研究的話… (後面三千字省略)
我在思考了一下整個架構後,似乎沒有技術上的問題,至於 Similiarity (好友相似度) 的部份,在 IRC 上跟 lwhsu 討論過後也已經知道方向在哪裡,就跳下去寫,看看要寫多久。Social Network Search in Taiwan 這個網站就是這樣的產物。
目前只做了無名小站的部份 (先跑一陣子看看),未來希望能再加上其他站台。另外有打算直接開放 API (預定是 JSON 與 SOAP) 以及 feed (應該還是會用 RSS 2.0)。
以下補充一些題外話。
以我個人的習慣,系統當然還是 FreeBSD + Apache (不是 lighttpd) + MySQL + PHP 組成的 (FAMP 架構),整個 code 都進 Subversion,但是有做一些特殊的設定 (post-commit hook),使得我 commit 進去的時候就會自動更新。這個部份可以參考 Wiki 上的範例:Subversion。
MySQL 的部份是跑 5.1。在考慮之後 reading (query) 的量會比較大,所以採用 MyISAM 作為底層。目前這邊沒什麼技術可言,把 my-huge.cnf 裡與 replication 有關項目關閉,放到 /usr/local/etc/my.cnf 就可以了。
Crawler 當然還是用 Perl 寫 (畢竟用 Perl 分析網頁已經寫得很順手了),底層是透過 ParallelUserAgent 抓,不然在國外連線速度太慢。另外因為有 Y! Apache 999 的關係,有故意用了一些方法避開,但這樣也造成更新會比較慢,看目前首頁上的資訊應該也看得出來 (「已統計人數」指的是有 ID 但還沒去抓取這個帳號的好友資料,「已經取得資料」則是指抓取過的)。程式一開始是從 wretch 開始跑,看起來可以長很大…
最後是實際寫程式的時候發現 PHP 上最好用的 “C” (MVC 裡的 “Controller”) 是交給 Apache 用 mod_rewrite 做… (真無奈)
另外套了一些 jQuery 與 jQuery UI 的東西上去玩,雖然文件寫的不是很清楚 (我去翻了程式碼才知道要怎麼用),但整體上來說還是相當不錯呢… 另外 YUI 的 CSS 也試著用了一些,不過之後可能會用其他家的吧 XD
呃… 這個關燈是真的關燈。
在舊金山地區的人如果連上 Google 首頁 看到像這樣的樣子,請不要以為是 Google 被入侵或是四月一號到了,這是 Google 的 Lights Out San Francisco 計畫:

這個計畫希望舊金山地區的使用者在星期六當地的晚上八點到九點把電燈關掉。
事先說明:我是 Pixnet 的技術顧問。
補一些 Yahoo! + 無名小站 濫用市場地位、排除其他搜尋引擎 ? 這篇的內容。依照 HTTP header 所寫,robots.txt 最後修改日期是 8/23:
Last-Modified: Thu, 23 Aug 2007 07:33:09 GMT
另外在 Google Blog Search 則是從 9/21 停止 index:Google 網誌搜尋:site:www.wretch.cc。
本來想找 Wayback Machine,結果發現 robots.txt 的資料也已經消失了,暫時想不到有什麼其他的服務有保留。
在 Official Google Blog 上公佈了 Google Trends 將每日更新的消息。
舊版的 Google Trends 約一個月更新一次,主要是查詢「歷史走向」。新版改為每日更新後,總算是可以看到比較即時的資料了。暫時沒想到要怎麼用…
Update:有人翻譯出來了,SEO專業術語剖析:你真的看得懂SEO術語嗎?。
對於搞 SEO (Search Engine Optimization,搜尋引擎最佳化) 業者的謊言,在這邊看到一張表格,將這些謊言對應到事實,寫的超棒啊 XD:SEO Speak Translated: The Real SEO Glossary。
也許應該找個時間翻出來…
這篇是延續 幫 Pixnet 做 Fulltext Search 這篇所寫的,這項功能 Pixnet 已經放出來了:[公告] 新增網誌搜尋(Beta)。
最後收尾的階段有一些地雷要注意:
- Xapian 對大的 Database 更新會很慢。一開始我是對單一 Database 更新,結果更新的速度跟不上條目修改的速度 XD
- 所以,我跟 far 稍微提過以後,決定用空間換取時間,以 ArticleID 拆開,一萬為一個單位把 Xapian Database 切成 n 個 DB 放在 NetApp 上,更新時是對這些小資料庫更新,最後再跑 xapian-compact 合併。這樣就跟的上速度了:三十萬篇大約需要兩個小時的更新 + 六個小時的合併。
- 有一天心情不好 (原因就不提了),決定把 xapian-compact 的
-m 拿掉 (multipass,官方建議當你有許多 DB 要合併時,使用這個參數「通常」會比較快),結果莫名其妙把合併的時間省到 40mins… (當場就把「靠腰」罵出來了)
最後,把本來是用 standalone 的版本換成 lighttpd + FastCGI 版,理論上就不會出現因為後端搜尋伺服器沒跑起來,而使得前端出現 0 result 的情況了… (汗)
PS:因為當初做的時候有得到 far 的同意,所以等到我閒一點之後,我會用 BSD license 放出來…