[JS] plurkable – lightweight jQuery plugin for your own Plurk widget

Demo載點與解說

好吧,我真的是過年太無聊才在那邊用 Javascript 寫一個輕量級的 plugin 讓你可以客制化自己的 widget,其實使用方式在 github 及 demo page 上面都寫的很詳細了,這邊就不多談(或是參考下面的 js code)。
https://gist.github.com/814690.js?file=gistfile1.js

現在開始愈來愈覺得 javascript 非常的 powerful,只要有 browser 就可以跟著老師帶你上天堂,也不用做什麼煩雜的設定,再加上自身對 JSON 格式的 support 及 browser 間內建的 functions 就可以很輕易的完成自己的需求,然後現在這幾年又出現了改變世界的 jQuery,更是把入門的門檻拉低了許多(至少解決了很多問題,雖然也產生了一些問題 xD),不過愈是如此,Javascript 就愈讓人覺得深不可測 …

而且現在又有許多好用的工具像是 PhoneGap 可以幫助我們來實作 mobile applications,而之後也會有許多的 desktop applications 可以用 Javascript 來實作,整個就是拉近了平台間的距離了呀。

ㄜ … 這篇應該是要介紹 plurkable ,但是我好像一直離題呀 … 管他的 xD ~ 祝大家新年快樂啦(????)

[Memo] 6lurk part – Pain

其實在做這整個專題的時候,我的壓力是非常大的,一邊要應付上面(和老師溝通、和 Yahoo 溝通、邀請 Plurk 團隊、報國科會…等)另一邊面還要催進度和組員溝通,同時自己又要負責寫整個專題的大架構以及另一位同學的子專題(雖然這部分我只花幾天就把他的東西做完了XD),說實在真的是只能用「累」來形容(我自己都不知道我這段日子是怎麼撐過來的,只知道消瘦了許多QQ)。

不過也因為後來壓力太大,我就開始把東西分給隊友做了XD,我覺得應該是我當初的那句話有刺激到隊友吧(我:「如果別人問你專題讓你學到什麼,那你會怎麼回答那個人呢?」 他:「…」),殊不知這其實是激將法進階用法,可以讓隊友心服口服的主動下海去做事,雖然那個時候他一定會覺得我很機車,不過至少從結果來看的話,這個專題才能夠有一個真正屬於他自己的東西吧。

雖然另外一位同學是身在曹營心在漢,人在資工想讀醫的典範,不過我還是要跨刀去做他專題的部分,雖然剛開始我們都很不能理解為什麼不好好了解一下「資訊」呢?甚至是在中途也發生了一個還蠻嚴重的衝突,不過還好這些風風雨雨都過去了。現在事後想想其實我還蠻釋懷的,因為他的關係,我不得不下海去了解last.fm API、Gdata API、Youtube API…等東西,然後試著把它們整合起來。其實專題做到最後面的時候,這一塊反而是我比較有興趣的,自己寫自己的播放器,整合last.fm API實作出自己的播放清單,第一次處理 window messaging 的問題(雖然最後還是靠很髒的 global variable…),真的學到很多,也很感謝他們讓我有這個學習的機會。

不過雖然如此,我就盡量安排一些比較煩心的事情請這位同學幫忙,至少我就不用再多操心這些額外的事情而且他也能為我們整個專題多付出一些貢獻,這樣我就很欣慰了。所以從他們兩個身上讓我學到了管理層的困難面,才不是什麼 Oral Programming 就可以打發了事的咧…因為真的,這個世界上最麻煩的是「人」,而不是做事情或是寫程式。所以也讓我從另一個角度思考,能夠盡量準時完成上層 assign 的事物其實對他們來說就是一種回報了,不要再讓他們操心更多事情而打亂了他們原本的步調,因為你要煩的事情「絕對沒有他們多」。

最後,很快的就來到了2010年的最後一天了,而 2011/01/07 就是專題的決戰時刻了,我們已經進入最後測試微調的部分了,也已經準備好了,那…

「Plurk 你們準備好了嗎?」

[Nonsense] words from Amir

剛看了一下「噗浪,玩出大生意(Plurk Your Brand , Plurk your Business)」,在文末技術長Amir與Jeremy有一段很棒的對話要記下來勉勵一下自己:

Q: 對於像你一樣很會寫程式的高手,你有什麼建議提供給他們?

A: 不要放棄,要精通某件事情,一定得花上很長一段時間,差不多10年吧!即使是像莫札特這種天才也是用了13年才熬出頭的。寫程式就像做任何事一樣,需要的就是熱情而已。對我來說,這更像是一種習慣而非工作而已。在成為大師級人物之後,一定要這麼想。接著就是從一個有趣的專案開始,可能是做一款遊戲,一個網站,然後從PHP、Python這種語言開始做起!

加油。

[PHP] PlurkRssParser for plurk users

其實是自己太無聊想要為Hax4.in做一些小玩具,目前是Copy Plurk Widget的樣式來做出的頁面,而實際的展示可以在網誌旁邊的Widget列看到。其功能就是能夠整合多人的Plurk資訊並依時間先後排列,目前是整合了我們Hax4.in所有成員的資料。

附上在Github上的原始碼。

順便打個廣告吧,其實我們Hax4.in的網頁很早就寫好了,不過只是個雛型放出來而已,到時候會把我們寫過的一些玩具、視覺設計、案件資訊放出來,希望大家會喜歡:P

δ 2010/11/21 加入 feed.cache mechanism 並改變專案名稱為 PlurkRssParser

[News] Plurk Premium ?

昨天在做專題的時候,意外觀察到Plurk對於每一位使用者回傳的屬性中多了一項耐心尋味的屬性「is_premium」如下圖:

而我比對過我幾個月前建立的資料庫後發現,這個屬性很有可能是在近期Plurk主機做維修的時候所新增進去的。其實這件事情在之前Alvin(Plurk創辦人)演講的時候就有提到有關於Plurk可能的收費方式,他曾說到也許會讓有付費的「黃金會員」的噗在他的朋友們的時間軸上會出現一些加強視覺呈現的效果,加入一些個人化的特色來突顯帳號之間的差異性來區分付費及免費的使用者。

而我們觀察到類似的競爭對手ーTwitter其實近來也在推廣類似的 Promoted Accounts,能夠在不破壞使用者流覽經驗的時候又能從中置入贊助商廣告帳號的資訊來達到獲利。

twitter

比起Twitter,台灣的使用者仍比較偏好Plurk這種時間軸模式的微網誌服務,所以下一步Plurk會怎麼走,也是我們持續觀注的一個話題。

但不可否認的是,Plurk已經要開始從中獲利了,我們拭目以待吧。

[Research] Our next generation of Search Engines ?!

自從Google PageRank的論文出現之後,Google於搜尋引擎的市場就一直處於龍頭的地位,但是卻可以發現近期Google在Search Engine上的改良並沒有說特別的另人印象深刻,除了之前「社交資訊搜尋」及「改良介面後的圖片搜尋」這兩個服務還蠻有新意之外,似乎就只剩下頗具玩具性質的Google Instant而已。

特色沒什麼增加之外,不便性反而增加許多。而最近最讓我無法接受的就是Google Search的防洪機制,只要你多搜尋幾次同樣的關鍵字,就直接被導向到sorry.google.com…不知道是不是學網的問題,我很常遇到這個狀況,所以還要透過Yahoo的Search Engine才能找我想找的東西,真的是很不方便。

在傳統IR的時代之後,我們實驗室雖然是在做Search Engine,但是就立志要走和主流不同的方向,採用藍海策略以試圖在這片大海中找尋一盞明燈。「有用的創新」是我跟著老師這半年所學到的最重要的事情,也是實驗室研究的方向,如果我們想的是一個沒有用的點子,那我們不做,又如果我們做的是有用但是沒有創新的點子,我們還是不會讓步。我們只做有用又有創新的點子。

實驗室這一屆的專題生,也就是我和同學godChess,我們試著設計出專注於Plurk社交平台的Vertical Search Engine,所有的資料都是靠Spider從Plurk上抓下來的,完完全全只利用你在Plurk上提供的所有資訊(如個人資料或是噗的內容)而不依靠其他資訊,是一個完全信任於這個社交平台的搜尋引擎。

plurk

Image from Here

而有別於傳統搜尋引擎,我們提供給使用者搜尋的是「關係」而不是「關鍵字」,舉個例來說,你也許是一個很喜歡音樂的人,而你也想認識一些和你有同樣興趣的噗友,所以你就可以試著在Search Bar那邊輸入「音樂」這樣的關係,之後就會把分析過後,並符合該關係的噗友資訊提供給你,進一步把人與人之間的距離拉近,甚至是打破了虛擬與現實世界的界線。

而目前整個計畫已經進行到40%左右了,大約能夠在十二月完工,到時候再釋出網站連結來請有帳號的噗友來做個壓力測試吧,希望你們會喜歡:)。

[News] How Twitter Can Help You Quit Smoking

原文 from TechCrunch

剛剛在看TechCrunch的時候發現了這一篇還蠻新的文章,就翻譯一下順便分享給大家。(內文會參雜部分個人意見

From TechCrunch

在星期六的紐約時報中,有一名記者Brian Stelter發表了一個他利用Twitter來當做減肥工具的小故事,並同時設立一個@briansteler25的帳號用來記錄他的減肥及飲食計畫。

我知道我沒辦法一個人減肥,所以我需要一個能夠支持、鼓勵我的小天地。 from Brian Stelter

結果?他減了75磅。這有點太扯了,不知道他是怎麼減的,經過高精度儀器計算,1磅 = 0.45359237公斤。幹,是我數學太好還是計算機壞了,「75 * 0.45359237 = 34.0194277 公斤!!」,以這個成績來看,有了Twitter,連媚登X都可以關門了,真扯。

先不論他花多久做到的,我們先繼續看。

在我的生日派對上,我覺得抽15年的菸已經夠多了,該是把菸丟了。一開始我還不太敢把這件事情推到Twitter上,主要是一開始因為尼古丁戒斷症候群讓我感到非常難過,但是到了第三天的時候,我已經集滿足夠的勇氣來讓我打倒它了。

結果在那天之後,我收到超多人的支持。我就像是Stelter,如果我就這樣拾起香菸而不是我的iPhone的話(因為作者都靠著一直Tweet來讓自己不要抽菸,就像我一直喝飲料一樣(?)),我就會讓那些支持我的人難過。

from TechCrunch

所以接下來當我進入了想要抽菸的紅色警界,例如和朋友去參加派對或是穿過機場的大門(?),我就會瘋狂Tweet或是使用尼古丁貼片來克制我抽菸的慾望,避免改變了我原本堅定的決心呀呀呀(Stuck to someone’s guns)。

我喜愛抽菸的程度就像是Stelter喜愛吃Dunkin’的甜甜圈一樣吧,但是當我看到Chris Sacca(下)和Troy Holden的推(上),就讓我在衝去買一包香菸前再次慎重的思考了一次,無論我現在是多麼的想抽呀呀呀。

from TechCrunch

我沒辦法一個人戒掉抽菸,我需要一個能夠激勵我的地方。

首先,為什麼人會暴食或是狂抽菸呢,依我個人的經驗呀(是作者不是我!!),是因為他們想要被注意或是被安撫。如果我們可以利用在Twitter上朋友給予支持的力量來取代那些不健康的行為所帶來的短暫快樂,那Twitter就是一個很棒的工具,可以讓你在有效的管控你對事物的「癮頭」。

雖然利用Twitter上的朋友來當作支持你堅持在某件事物上的這種想法,就像是Twitter這個網站本身一樣的新穎,但是我已經聽過許多無數利用Twitter來達到目標的例子,如一位叫Laura Fitton的女性朋友就用Twitter來確保她每天都有做瑜珈,還有另一位Paul Carr和它成功戒酒的故事。

【評】

其實社交網站可以說是兩面刀,一面是讓你可以很輕易的和人群黏在一起,但是相對的也會從中讓你受到許多的傷害。網路是沒有距離的,只要簡單的一個Click,每個人都可以變成好朋友,但是,比起那些在真實世界由自己打造出來的人脈,這種虛假的關係能帶給自己多少益處?

以我個人在做微網誌相關的專題時,我就有發現一個現象,其實這類型的網站隱藏著一種「多數暴力」的哲學,只要是知名或是交友廣闊的微網誌客,都能有很高的回覆率(在『噗浪玩出大生意』這本書中有講到好友、粉絲數與回覆率之間的關係,但是我忘記這個確切數字,我記得不到10%),但是相對於一些比較不善於交友的使用者來說,沒有任何人的回覆比考試零分還讓人傷痛

但相反來說,如果我們能像這篇文章中的那些故事人物善用這股力量,真的就會有推波助瀾的效用。因為一個人出門不一定會帶菸帶酒,但是一定會帶錢包、鎖匙和「手機」,如果能夠再搭上最近很紅的App Market及行動上網的優惠方案,那這種社交網站就能帶動你戒癮的決心,哪怕是在你快撐不下去的時候,你朋友也會打手機來罵你,好讓你支持下去。

所以如果有各種奇奇怪怪癮頭的朋友們,不要去上什麼戒斷班,那些太浪費時間也浪費錢了,還不如現在就走向離你家最近的電信業者辦個行動上網及一支智慧型手機吧,XD。

(默…我應該要去行銷部門才行)

[閒聊] 專題

最近真的是愈來愈忙了,要忙專題還要趕作業出來,而我們這次的專題的基礎是在「六度分離理論」上面,而Plurk是我們實作用的舞台。昨天又看到Alvin(Plurk創辦人)的噗說他3/16號會來成大演講!!!!真是太屌了,如果明天他有空檔的話,希望可以把我們的專題的計畫案給他翻閱一下,給我們一些建議和方向。

說不定順利的話,一年後的噗友就會發現Plurk上面多了這個新玩具了(!?),開開玩笑,如果是真的就好了XD~

話又說回來,我現在有點少更新文章,不是因為「我都沒用電腦」,而是因為「我一直都在用電腦」,囧!!,忙到沒時間寫一些好玩的東西上來分享給大家玩,下次一定會改進XD

[PHP] Shark 改版

目前shark計畫正在做大規模的改版(加入了sharkCore Class及模組抽換),不過因為機器人的需求各式各樣,所以想要利用大家的能力來收集一些已經寫好的規則並整合至shark內。以我自己為例,我目前做了「對特定關鍵字的噗做一次性回覆」這個規則(可能的應用如「小籤籤的抽籤功能」「占卜功能」「食我機器人」…等),允許使用者自行定義關鍵字、Qualifier、還有回應、以及回應用的Qualifier,另外在03/06的時候我又做好了一個「在特定時間發噗」的規則(相關的應用如「定時亂喇賽來維持karma」「定時發自訂的消息」…等),可以一次定義多時段的發噗內容,例如說我可以在每天十二點問大家吃飯沒,同時每一小時會發出天氣預報。

同時也實作了三種方法來抓取「回應」的內容,你可以把回應的內容放在網路上以檔案的形式呈現,或是你也可以為你的網站設立一個API的接口,透過HTTP的方式去讀你網站的資料(例如你的網站是有關於美食的,你就可以提供一個接口給shark連結,即時提供一些存在於你網站內的美食資訊給使用者),另外一種就是讀取本機已寫好的檔案,而最後一種就是以變數的方式直接設定回應的內容。有一點要補充的就是目前回應的資料都是以JSON的格式來設定

如果你有意願幫忙加入一些有趣的機器人規則的話(像是來個人工智慧的機器人,或是定時發噗之類的),麻煩參考一下我在github的資料並參考我簡介頁面的信箱來信。

另外就是,因為我還在學習團隊合作的方法,所以可能在寫法或是想法上有一些較主觀的成份在,歡迎大家給我一些建議與意見,讓我也能和大家一起學習,感謝。

[PHP] optimization for shortening the API calls

最近為了降低API calls,所以在Shark內加入了一個Method可以讓使用者自行依自己的需要來延遲整個程式的執行:

http://gist.github.com/309735.js?file=gistfile1.php

參數是所需延遲的秒數,0就是不延遲。

雖然這裡沒有什麼技術上的難度,講白點就是丟給sleep()去跑而已,但是我想討論的是它所造成的影響。先看一下下面的統計圖:



2/14和2/15是平常的情況,所謂的平常就是用無窮迴圈去跑Bot,只算「登入」和「基本檢查」這幾個動作,而已,就會拉高整個呼叫API的情況,非常的跨張,這就是為什麼北極冰山快融化完的關係,因為大家只要寄個信給Plurk官方就可以突破原先50000次的限制,要怎麼用就怎麼用,非常爽快。

但是再看看2/18和2/19的時候,這是我讓Shark加入了延遲的動作,我記得是設3秒鐘,夠誇張吧,直接下降到23000的次數了,你連寫信去Plurk的動作都省下來了,還有27000次讓你做別的事情,這樣不是很開心嗎!? (大約下降了78%..),真是從小處著手,就有很大的改變呢…(忘了說,使用者很難感受到機器人回覆plurks的時間差,一樣很快)

所以麻煩大家不要一直用「while(true)」或是「for(;;)」這樣子的東西,要用的話至少也要加個中止條件或是延遲,不僅可以減少系統資源的開銷,還可以保護北極熊不會因此死光…