Yahoo! Open Hack Day 2009參賽心得

其實在比賽完當天或是隔天就應該寫心得了,但為了準備學校的報告一直到今天才有空寫文章記錄一下今年的比賽心得。

得獎的那一刻,心中冒出的第一個想法:「原來我還是有能力得獎的」,會有這樣的想法主要是因為就讀碩士班以來總是忙碌於各種外務,不再像過去大學時代一樣總是熱衷於各種比賽,我一度以為自己已經喪失了在外面比賽得獎、獲得評審肯定的能力,不過最終運氣算是挺不錯的,這是碩班以來第二次參加比賽(事實上第一次就是去年的Yahoo! Open Hack Day),這次比起去年算是認真了一點,果然也有了不錯的回報。

我要感謝 @dlackty 以及 @pirrer 分別在UI以及idea、企劃、簡報上的許多幫忙,使得我們三個人可以各司其職在短短的時間內產出大量的程式碼來做出一個可展示的雛型;我要感謝Ruby on Rails、Git、Heroku,因為沒有這些技術的支持,我跟 @dlackty 的程式碼大概無法這麼快地產出並且整合。

相較於去年以為真的是到會場之後開始24小時拼命寫程式,今年我們事先碰面討論了兩次概念,並且在比賽當週先確定有哪些API可以用、該怎麼用,比賽當天主要的工作就是把UI、程式功能、API整合起來,當然計畫趕不上變化,有許多事先沒想到的細節紛紛冒出來,原本以為可以當天晚上開始準備簡報內容、錄製demo,也是到隔天早上十點才開始進行。

這次我覺得算是盡力了,畢竟我在三點準備就寢的時候突然覺得「我應該奮戰到最後一刻,否則我會後悔」,於是我決定直接出門趕到會場,加上了幾個重要的功能並且改掉了幾個bug(原本是有打算當天公開網址的XD),很久沒這麼努力,說實在還滿爽的!

我們的作品或許會在不久的將來悄悄上線,提供一些實用的小功能讓有需要的人使用,只是個小品,但希望能對網路上的某些人有幫助、有些貢獻。:)

此外,這次做的主題跟搜尋有關(我們得到的獎項名稱為Best Search Hack),過去從來沒想過自己會做出跟搜尋有關的產品,沒想到實際接觸之後發現還挺有趣,而且還有許多值得研究的議題可以探討(此時就要安慰自己:或許論文可以派上用場?XD)

上面都是個人內心想法,下面稍微談一下對於比賽的想法:

  1. 場地比去年棒(去年我坐在圓桌,三個人的電腦都放在桌上時空間不好調整)
  2. 網路比去年快(不過後來好像有斷掉一段時間?)
  3. 去年的食物似乎供應量跟多樣性都比今年高(不過也有可能是因為去年花在吃東西的時間比寫程式多)
  4. 我比較喜歡去年的dancer(純粹個人喜好)
  5. 音樂沒有去年那麼激昂(今年還算滿平衡的)
  6. 國外針對這次活動lap dance的看法,我個人是沒什麼意見,有人覺得這是台灣文化、有人覺得這是物化女性、有人覺得跟活動精神無關,好像都有道理,但我大概是太專心寫程式了,我只希望明年還能有Yahoo! Open Hack Day,我應該還會再參加吧!XD(我去年是第一隊,今年還是第一隊,明年搞不好也會是第一隊)

如何設定Facebook粉絲專頁的簡短網址?

Facebook在2009年6月推出Facebook Username的功能,可以讓您的Facebook網址從原本以流水號呈現的方式,轉換為您個人設定的英文姓名或您喜歡的網路暱稱。

例如我原本的個人檔案網址為:http://www.facebook.com/profile.php?id=505498299,設定後則會變成http://www.facebook.com/yiru.lin,變得簡潔、好記許多。

而Facebook Pages同樣也可以在達成特定條件後(目前的條件為您的粉絲專頁擁有超過25名粉絲,即可設定粉絲專頁的網址),設定專屬於您的粉絲專頁的短網址。

以本blog為例,本來的專屬頁面網址是:http://www.facebook.com/pages/Cyberpunk/92373989976,設定完成之後會變成http://www.facebook.com/punk.tw,是不是簡短許多呢?以下為還不知道如何設定的朋友簡單介紹一下如何設定。

  1. 首先請先到http://www.facebook.com/username ,會看到如下頁面:image
  2. 點選下面「替你管理的粉絲專頁設定獨有的用戶名」:
    image 
  3. 選取您想要命名的粉絲專頁後就可以開始輸入:
    image 

不想看到大量的遊戲動態更新?試試看Facebook Lite輕量版

image

我自認不是個Facebook重度使用者(?),使用上的需求通常只有用到幾個主要功能:觀看朋友的狀態更新、新照片、看看朋友分享的網址,前陣子因為心理測驗、開心農場這類遊戲開始火紅,每次一登入就會看到大量來自各種Facebook應用程式的訊息更新,有時候反而會漏看了滿多朋友的狀態更新。

面對這種狀況,有兩種解決方式:

  1. 調整位於首頁的群組清單:
    將您希望看到的群組或動態類型拉到第一個,往後登入Facebook會預設顯示第一個群組的內容。調整的方式是在清單的最下面按「更多」,清單展開後便可以直接拖曳群組的順序。
    以下圖為例,我目前預設為「近況更新」,因此登入之後只會看到朋友的近況,包括動態更新、相片、影音分享以及連結分享等各種內容。(當然,若您將某個群組或是特定應用程式拉到第一個位置,往後登入預設就會看到該群組的更新內容)image
  2. 第二個方式是前陣子跟@dlackty聊天中嘗試出來的,你可以嘗試使用Facebook Lite版。如何進入Facebook Lite版呢?將您的Facebook語系設定調整為英文版,(10月7日更新)目前Facebook Lite已經支援所有語言,直接連結到http://lite.facebook.com/ 其實就這麼簡單XD,如果您是中文版,會被導入Facebook標準版。

image
Facebook Lite的版面很乾淨, 只會顯示您朋友的狀態更新(心情、照片、影片上傳等),特別是照片的頁面,您可以看到如上圖的紅色框框:該相簿的留言是集中在畫面的右邊顯示的,這點對於瀏覽相簿是很棒的一種體驗,整個畫面只有跟相簿有關的資訊,沒有廣告。(不過也不能怪Facebook,多數人在用的標準版還是要賺廣告費的)。

使用Google Chart API繪製方程式

Another undocumented Google Chart API

前陣子Google Docs中開始可以使用Tex的語法讓學生、研究人員可以在Google文件中編輯方程式,而這些方程式的呈現方式其實是用Google Chart API所繪製的(看來Google Chart API沒說的秘密還真多,不過這個在Google主要產品之一出現的內容,應該不難發現,所以似乎也算步上什麼秘密?)。

上圖便是用Google Chart API所繪製的方程式,使用方法很簡單:

http://chart.apis.google.com/chart?cht=tx&chs=1×0&chf=bg,s,FFFFFF00&chco=000000&chl=f(x)=\int_{-\infty}^x%20e^{-t^2}dt

將上面的網址最後的chl參數代換成您想要的方程式即可。當然如果您希望方程式有點顏色,您可以修改chco參數,至於其他參數我就不太清楚用途了。(身為研究生,我只是單純想在論文裡面告訴老師我用了什麼方程式啊~XD謎之聲:研究生直接用LaTex寫就好啦!)

您可以在Google搜尋tex online或latex online,可以找到幾個好用的線上編輯器(當然您也可以直接使用Google Docs),倘若您的網站或是應用程式需要呈現大量的數學方程式,這應該是個不錯的工具。

Google Chart API沒說的秘密(Undocumented Google Chart API)

有持續在關心Google技術發展的朋友應該會發現,近來Google API文件中文版越來越完整,例如Google App Engine、Google Maps甚至是本篇的主題Google Chart API幾乎都有完整的中文版文件(而且非常貼心的是,繁體中文版與簡體中文版是不同的,有依照語言習慣、專有名詞進行翻譯)。

今天要談的是所謂Undocumented Google Chart API,也就是官方文件裡沒提到的秘密,總共有下列幾種:

  1. 帶有外框的文字圖片(Chart Type for text with outline), 本文一開頭的圖片便是使用Google Chart API所產生的文字圖片
  2. 地圖指標(Chart Type for map pins),可以用來放在Google Maps或是其他網站上的icon使用。
  3. 對話方塊(Chart type for information bubbles,應該翻譯成資訊氣球、資訊泡泡?)
  4. 便利貼(Chart types for sticky notes),這邊可以注意到字型比較接近新細明體,不如上圖中的文字飽滿,顯然某些中文字型的支援度是分開處理的。

這些圖片的參數在下面的連結裡面都有非常詳細的解說,就不在此贅述,使用時也請注意畢竟是非正式的版本,很有可能會修改甚至移除該服務,若要用來在您的產品上應用請小心;另外是中文字型的處理,效果在某些時候不是特別好,如果要大量使用可能要先評估。

References