讓Google告訴你世界上發生什麼有趣的事!


今天發現了一個新的iGoogle的gadget,叫做【What's Popular Around the World】。顧名思義,這個小工具會顯示目前在網路上熱門的事物,聽起來頗有趣,讓我們來看看!


你可以從這個網址來安裝這個小工具到你的iGoogle。
或是直接從瀏覽器上存取

安裝好之後,就會在iGoogle的頁面上看到這個工具。


這個工具總共蒐集三種種類的有趣事物,包括了【Video】、【image】和【stories】,你可以從獨立頁面中清楚的看到他的分類:


如果你很喜愛其中的一些內容的話,可以給加【加個分】,按一下連結旁邊向上的箭頭,就會在pops那邊加一分,並且它會把該篇內容放到【My pops】分類中:




另外你也可以自己增加自己有興趣的主題或圖片,只要在【My adds】裡面,輸入網址,它就會主動去抓網頁的內容,你可以針對主題、描述內容和要不要顯示姓名等三項選項來做修改:


據說這個小工具是根據【使用者的使用Google工具的紀錄】來找出每個人有興趣的東西。換句話說是有【個人化】的味道在裡面的喔。只是到底符不符合每個人的口味就見仁見智了吧XD

以下分享一下我的小工具找到有趣的圖:





大家不妨玩玩看囉!


Data granularity 資料細微度

Data granularity指的是資料被細分的程度。比如說一個地址的資料,如果呈現方式是:
  • 地址:新竹縣寶山鄉XX街XX號
那它的Data granularity就很低。

相反的,如果呈現方式是:
  • 縣市:新竹縣
  • 鄉鎮市:寶山鄉
  • 街/路:XX街
  • 其他:XX號
那相對的就是HIgh granularity。


收看不被允許的影片 - 解開youtube地區的限制!

我在【你對Youtube的網址瞭解多少?十個你必須要知道的祕密】中介紹了十個關於Youtube網址的秘密,沒想到引起熱烈迴響,真是始料未及,先感謝youtube為我帶來人氣...XD
在最後一個介紹的祕密中,我說【取消地區限制】的問題可以把網址從http://www.youtube.com/watch?v=somecode變成http://www.youtube.com/watch/v/somecode。就可以解決,的確我是參考別人網站這樣說的,自己的測試也只有試過別人網站給的網址,不過在大家的留言中看好像不是如此阿:



我自己根據@Maoke Jackson網友所給的網址測試的結果也是會出現【This video is not available in your country】的錯誤訊息,並且使用我的方法無法解決。在網路上認真的看了一些方法之後,稍微整理如下,希望對大家有幫助:

This video is not available in your country 這個訊息表示當初在上傳影片的人,對於能夠觀賞該部影片的權限做了限制,只允許某個地區的人才能看到,而youtube就是根據你的IP位置來判斷你目前的所在地區,如果沒有權限的話自然就看不到了。

網路上解決的方法頗多,大部分的方法是透過使用proxy伺服器來上網,如此一來就可以使用別的IP連到youtube了。如果不知道什麼是proxy伺服器的可以參考以下這篇:

想要找免費的Proxy Server請看重灌狂人這篇:

在這裡我並沒有使用掛proxy的方式,我覺得這個有點麻煩,並且會有安全上的考量。在逛了很多國外網站後,我發現了這個軟體 - Hotspot Shield。

下載好安裝之後你會發現右下角的常駐程式列多了一個盾牌形狀的圖示,那就是Hotspot Shield在運作了(綠色代表正常):


它會有三種狀態,綠色-正常;黃色-正常或斷線(可正常連線則可忽略);紅色-表示斷線,請重新連線

安裝好之後,只要能夠正常連線,正常來說就可以瀏覽那些被限制區域的youtube影片了!我自己嘗試的結果如下:



@Maoke Jackson網友提供的連結就可以正常瀏覽了!

在使用Hotspot Shield這個軟體時有幾個要注意的事情:

  • 必須使用DHCP自動指定IP,也就是如果你連線是有固定IP的,它會連不上去,因為Hotspot Shield是使用一個叫做Hotspot Shield Service,這個service必須依賴DHCP Client才可以正常運作,所以請使用自動取得IP位置。
  • Hotspot Shield會有廣告的問題。在Firefox中請安裝Adblock Plus,新增一條濾條件 anchofree.net。IE的話請把安全性調為高安全性

Google Labs的新服務 - Google Similar Images 和 Google News Timeline


Google Labs一向都會推出許多Google用來【試水溫】的服務,今天來介紹兩個還蠻有趣且實用的新服務吧!

第一個是Google Similiar Images。從字面上大概就可以猜出他的用途,當你使用一個關鍵字來找圖的時候,如果那個關鍵字很容易分辨那就還好,但是當該關鍵字可能有很多意義的時候,找出來的結果就會很分歧了。利用Google Similiar Imagess可以幫助你找出相似的圖片,根據我測試的結果,準確性不敢說百分之百,但還是具有一定的水準喔!

比如說我現在下一個關鍵字【apple】:

我們可以看到回傳的結果包含了【蘋果公司及其產品】和【蘋果這種水果】兩種,然後我們可以發現縮圖下方都有一個【Similiar Images】的按鈕,我們點第一張圖看看:

可以看到回傳的結果都是和這個相關的縮圖。接著我們點選一個水果:

回傳的內容也是相當的準確。

中文也可以支援,大家可以自己玩玩看:)

第二項服務是Google News Timeline。主要的介面如下:


這項服務是從Google News和其他的News Sources擷取資料,並將這些新聞以【時間軸】的方式來呈現。只要你在搜尋框中指定關鍵字,它就會回傳該關鍵字的相關新聞,並且可以根據不同的時間區間來做呈現,包含了【日】、【週】、【月】、【年】和【十年】五種區間:



你也可以選擇要呈現的大小:


指定日期自然也是不可能缺少的功能:


這裡我用【07/05/1986】指定1986年7月5日當作日期也是可以的:


用時間軸做為呈現的方式不禁讓我想到Plurk...XD

【相關閱讀】


arg 和 arg max

最近在讀paper時看到了這個數學式子 y* = argmax f(t),想當初數學這麼爛的我一定不懂argmax是什麼,找了好一會兒才找到,記錄一下避免忘記 :)

  • y = f(t) 是一般常見的函式,代表給定一個t值,丟到f函式中會回傳一個值給y。
  • y = max f(t) 代表:y 是f(t)函式所有的值中最大的output。
  • y = arg max f(t) 代表:y 是f(t)函式中,會產生最大output的那個參數t。

看起來很模糊,舉個例子應該比較好理解:

假設有一個函式 f(t),t 的可能範圍是 {0,1,2},f(t=0) = 10 ; f(t=1) = 20 ; f(t=2) = 7,那分別對應的y如下:

  • y = max f(t)  = 20
  • y* = arg max f(t) = 1

這樣應該就很好理解了吧 :)


尋找藏在網站背後的資源!

平常我們在瀏覽器上打入網址,其實都是連到某個特定的電腦上去存取資源,背後的檔案的結構就跟資料夾一樣,也是用目錄的觀念在儲存的。只是我們一般大都是存取網頁檔案(html、htm...etc)。所以如果在這些機器的分享目錄中有其他額外的檔案,照道理我們也可以存取(只要沒有被保護的話)。這是什麼意思?我們先來看個例子,當一個網站沒有設定【首頁頁面】或【密碼保護】的話,它就會直接列出這個網站目錄下的所有資源:



在這裡我要分享如何在搜尋引擎中利用一些小技巧來找到不被保護的網站目錄,還可以輕輕鬆鬆的找到自己想要指定的檔案型態喔!以下你只要把列出來的字串放入搜尋引擎中,就可以輕輕鬆鬆找到隱藏在網站背後的資源囉!

  • -inurl(html|htm|php) intitle:”index of” +”last modified” +”parent directory” +description +size
上面這個搜尋字串會回傳所有相關的網頁目錄。比如說我要找和【台灣】有關的網頁目錄,只要在搜尋引擎中打入【台灣 -inurl(html|htm|php) intitle:”index of” +”last modified” +”parent directory” +description +size】就可以囉!

看起來好像這樣就夠了,但是你難道不想要找特定的檔案嗎?看下去囉!

  • -inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(wmv|avi)
上面這個搜尋字串會回傳網站目錄中【wmv或avi】影片檔案的搜尋結果,這不就可以用來找影片了嗎?

同樣的,如果想要找mp3,自然就可以用這個:
  • -inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(wma|mp3)


如果你覺得這沒有什麼,一定要去親自試試看!保證你會挖到很多很有趣的東西。(這也告訴我們如果你有任何想要保護的資料,千萬不要放在網路這個公開的平台上,誰都不敢保證會安全,即使是有密碼保護)

你對Youtube的網址了解多少?十個你必須要知道的祕密

Youtube是什麼網站應該不用再多加介紹了(連我老爸老媽都會用它來看電視或聽歌,你就知道它有多紅),可是當你在Youtube上面看影片的時候,你對於它的【網址】了解多少呢?在這裡我要告訴你十個Youtube網址的小祕密,也許下次你在看影片的時候也可以試試看,會有意想不到的驚喜喔!廢話不多說,讓我們看下去!


  • 切換高品質影片
Youtube在日前提供了上傳高畫質影片的功能,你只要在撥放器中看到【HQ】的按鈕就代表他有提供高畫質的影片可以做切換。


有時候當他沒有顯示出【HQ】的按鈕,你又想要試試看搞不好會有意外的驚喜,這時候你可以在網址後面加上 &fmt=18 或 &fmt=22 的字串,前者代表 480*270 的高解析度,後者代表 1280 * 720 的更高解析度影片。像我們舉例的這部影片來看,將原來的網址加上 &fmt=18 之後,真的跑出較高解析度的影片了(網址變成:http://www.youtube.com/watch?v=1lUbdn2z8dc&feature=channel&fmt=18),至於&ftm=22則是沒有作用,代表並沒有1280*720解析度的影片可以提供。

  • 嵌入高畫質影片
如果你要嵌入(Embedded)影片道你的網頁或blog,你必須要修改一下嵌入的語法,在嵌入網址後面加上&ap=%2526fmt%3D18或&ap=%2526fmt%3D22,分別代表480*270和1280*720解析度的影片。

首先複製下面【嵌入】區塊中的html語法:

之後貼到網站或blog上時,把裡面有【影片網址】的後面都加上&ap=%2526fmt%3D18或&ap=%2526fmt%3D22就可以囉!

  • 從指定的時間點開始撥放
如果你想要從指定從第幾分地幾秒開始播放,有辦法做到嗎?沒問題!只要你在網址的後方加上#t=??m??s(??請代換為你要指定的時間,比如說你要指定從1分10秒開始播放,請加上#t=01m10s)就可以囉!

  • 取消內嵌播放影片的搜尋框
當你內嵌影片的時候,預設是這樣的效果:



撥放完畢之後把滑鼠移動到播放器上會跑出搜尋方框,如果想要取消的話可以在嵌入的網址上加入&showsearch=0就可以囉。效果如下:



  • 只嵌入部分的影片內容

你可以選擇只要嵌入幾分幾秒之後的影片內容,不需要整個影片重新開始讀取播放。只要在嵌入網址後加上 &start=秒數(比如說我要從30秒之後才開始嵌入,就加上&start=30)就可以了。效果如下:



  • 自動播放嵌入的影片
預設你嵌入的影片會在你按下【播放】之後才開始播,如果你想要他自動播放的話,你可以在嵌入網址後面加上&autoplay=1,它就會在讀網頁的時候自動play囉!效果如下:



  • 重複播放嵌入的影片
如果你想要不斷重播你嵌入的影片,記得在網址後面加上&loop=1,效果如下:



  • 取消推薦相關影片的功能
youtube在看完一部影片之後通常會推薦一些相關的影片,但有時候你可能只是想好好的看的電影或聽個歌,不想要有什麼推薦影片的功能,這時候你可以在嵌入網址後加上&rel=0,之後看到的人就不用猜半天了!推薦功能就如同下圖:



我看完影片之後youtube又推薦了另外兩部影片。加上&rel=0的效果如下:


  • 取消地區限制的問題
有些影片只能在某些地區才能夠看到,youtube是根據你的IP位置來判斷你的地區,這時候如果你想要看到某些被限制播放的影片時,就把網址從http://www.youtube.com/watch?v=somecode變成http://www.youtube.com/watch/v/somecode。
以例子的網址來看,就從http://www.youtube.com/watch?v=1lUbdn2z8dc&feature=channel變成http://www.youtube.com/watch/v/1lUbdn2z8dc就可以囉(記得把後面不相干的參數拿掉)。



以上就是youtube網址列的一些小技巧,你還有別的方法嗎?歡迎提出來討論 :)

打造清爽快速的電腦使用環境 - Fences + Chrome

在使用電腦的時候,我們都希望能夠快速的存取自己想要的服務或檔案,最好是能夠信手拈來、隨傳隨到。今天我要介紹使用Fences+Chrome來打造自己快速存取各種服務的方式,根據我自己使用長久下來的感覺,的確是相當的方便、有效率喔!


Fences是一個用來【群組化桌面圖示】的軟體,Fences的中文意思是【柵欄】,意思就像把相同類型的icon群組在一起,並且透過區塊來做分隔。先來看一下Fences的效果,下圖中用紅色框起來的就是一個Fence:


Fences可以在下面的連結下載(必須安裝.NET Framework 2.0以上版本):


在安裝好Fences之後,你會看到你的桌面好像建立起許多的收納盒,它會自動的幫你把相同屬性的圖示蒐集在一起,並且建立一個個的區域、分門別類的把圖示放到它應該在的位置。

你可以任意的對每個Fence區塊進行拖曳、調整大小、更改名字等等的動作。或是在該區塊上按右鍵,就會出現對應的選項可以修改,包括了【Lock Fences】(鎖定區塊使其不能移動)、【Edit Fences】(進入編輯區塊的模式)、【Rename Fences】(更改區塊的名稱)...等等功能。


在Edit Fences中有許多可以調整的參數:


  • 你可以選擇要如何對齊你的Fences區塊,或是要自訂也可以:



  • 每一個Fences區塊的顏色也可以做變更:



  • Fences提供了一個【Quick-hide】的功能,你可以在桌面上連點滑鼠左鍵兩下,它會自動的把Fences區塊隱藏起來,在這裡就可以選擇要不要啟動這樣的功能。


預設如果你啟動了Quick-Hide的功能,在你連點滑鼠左鍵兩下的時候他會把所有的Fences區塊都隱藏起來,但是你也可以針對個別的區塊做設定。只要你把【Exclude this fence from quick-hide】按鈕給打勾,這個Fence區塊就不會被隱藏囉

像我的習慣是把【待處理資料】這個區塊給排除在Quick-Hide的功能之外,也就是說,平常我的桌面可能有很多區塊,但是當我開始要認真工作、只想要聚焦在【待處理資料】這個區塊的圖示的時候,我只要在桌面上連點兩下,就會變成下面這樣的情況:


如此一來我就可以專心的處理我現在手邊必須要完成的工作了。

下面將介紹Google Chrome如何和Fences做結合,打造一個清爽又快速的電腦操作環境!

我們都知道Chrome有一個【建立應用程式捷徑】的功能,位置就在下圖:


這個功能相當的好用!它會把你現在的網頁變成一個捷徑,你可以選擇放在桌面、開始功能表或快速啟動列。假設我現在正在瀏覽【聯合新聞網】,然後我選擇建立應用程式捷徑的功能之後,它會詢問你要在哪個位置建立,我們當然是選擇桌面


之後你會發現桌面上多了一個捷徑,點開之後就是聯合新聞網的網頁了!


這樣有什麼用呢?用途可大了,你可以利用這個功能,把自己常用的服務或每天必定會瀏覽的頁面建立一個捷徑,利用Chrome開啟網頁飛快的特性,馬上存取自己想要的服務。以我的例子來看,我建立了一個【每日必開】的Fences區塊,裡面是我每天一定會去瀏覽的網頁,一個頁面只做一件事情,簡單又快速,馬上就可以存取到我想要的服務,方便!加上Chrome有針對JavaScript做優化的動作,在存取需要大量js的網頁時(Ex : GMail、Plurk),速度更是快。


這就是現在我的桌面,非常條理分明,而且我可以很快速的存取我想要的服務,心動了嗎?趕快來試試看這兩個軟體結合的威力囉!


【相關閱讀】

用完即丟的E-Mail - GuerrillaMail.com

相信每個人都擁有一個或一個以上的E-Mail帳號,不管是GMail、Yahoo Mail或Hotmail,這些電子郵件帳號除了平時收發信件之外,另外一個重要的功能作為使用各大公司所提供的服務的帳號。

這裡我介紹一個使用期限只有一小時的免費電子郵件服務-GuerrillaMail.com。連進去之後可以看到網頁的介面十分簡單,沒有什麼多餘的選項,你只要點選【Get Temporary e-Mail】的選項,它就會直接給你一個免費的e-mail帳號,或是你也可以自己決定想要的名稱,打在下方的輸入方框中即可:



取得免費的帳號之後,你就會看到下方有倒數計時的時間表,告訴你這個E-mail帳戶還有多久之後就會失效,如果你想要延長使用的時間,他也很貼心的提供了【Give me full one hour again】的功能,點一下時間就會重新開始計算:



那你可能會問:我要到哪裡去收發信件呢?

答案很簡單,直接從網頁上就可以囉!網頁的下方有一個Reload的按鈕,如果你寄信到這個信箱,經過大約兩分鐘左右按一下Reload的按鈕,它就會直接在網頁上顯示你收到的信件,是不是很方便呢?


你可能會問:那我要這樣的服務做什麼?帳號難記又馬上就過期,沒用嘛!其實不然,你想想看,現在網路上的服務這麼多,有很多服務都是需要請你填寫電子郵件信箱的,在不確定這個服務你喜不喜歡之前,貿然填入自己常用的E-mail,萬一之後不喜歡不想用了,大不了不上去就是了,但是對方可是可以不斷寄送廣告信或推廣信件來煩你的!重要的電子郵件信箱不就被塞爆了嗎?如果你只是想要玩玩看某種服務,或是遇到不速之客和你要E-mail,不妨讓GuerrillaMail來助你一臂之力!


Plurk成功與否?談網路服務的使用族群

今天聽到交大的朋友說:【我身邊的朋友如果不是資訊相關科系的,根本沒有聽過Plurk或twitter。】

無心插柳柳成蔭。這句話引起我很大的興趣,到底我們平常在使用的這些網路服務,是不是都是一些重複的族群?Plurk這個從2008年開始火紅到現在的服務,在台灣算不算成功?

想當初我也是從twitter開始使用這一類的微網誌服務,原因無他:
(1) 某些朋友有在玩
(2) 很輕鬆就可以留言
(3) 蠻有趣

從自己的使用經驗可以看出,這一類新興型態的網路服務,其實還是不脫【社群】和【分享】的兩個核心概念。經由字數限制,我們只能使用一百出頭個字數來表達當下想要說的話,並且透過加入好友的功能來追蹤朋友的留言或其他有你有興趣的網路用戶。其簡單且有趣的操作介面,讓人可以在快速的表達自己想要說的話,又不會像blog需要想標題、想內容這樣的負擔,自然就紅起來了。

其實要說plurk在台灣成不成功,拿無名或youtube來比較其實是不太公平的。首先他們的服務型態不同,無名本身是台灣最早的blog service provider,自然有先行者優勢,而且現在整合了yahoo的資源之後,可以提供的服務還包括了其他許多的服務,不能和plurk相提並論;youtube是全球知名的影音平台,功能性本來就強上plurk許多(連我爸媽都知道要上youtube看節目...)。

回到plurk的話題上,其實和plurk是主打twitter的族群,從這個觀點來看的話它在台灣可以說是蠻成功的了。Twitter是在全球都很紅的網站,不過plurk在台灣的火紅程度的確有過之而無不及,就拿2008年Google Trend的關鍵字趨勢圖來看,plurk有長江後浪推前浪的趨勢啊!雖然光光從一個面向來看也許不是很準,不過多少可以嗅出plurk在台灣火熱的程度。如果還不信,不妨看看brian整理出來的【Plurk噗浪百大名人總整理】,從裡面可以看出已經有不少的政治人物、出版界、藝人、blog名人或商家在plurk上面做口碑、宣傳等等的活動,不要忘了這僅僅是個一年左右的服務,有這樣的成績的確稱得上是厲害。




當然從不同的角度來看,在台灣,無名本身的流量還是遠超過plurk和twitter,使用無名小站服務的人還是很多,雖然對於它有很多批評的聲浪,不過還是不得不佩服無名吸引人潮的實力。


從不同的角度來看就更明顯了,如果把尺度放到全世界的區域,就可以看出twitter的威力了。


回到使用族群的問題上,使用Plurk的族群,可能還是集中在重度網路使用者上。我這裡指的重度網路使用者,並不是要電腦多強多厲害的geeks,或是一定要擁有一個資工/資科/資管/資X頭銜的學生,我指的是喜好使用網路服務使用網路當作工作/溝通主要工具的人或是利用網路發聲的知名部落客。這些在plurk推出之前就在網路上的族群,對於新的網路服務接受程度大,並且社交圈也有很大的比例都集中在網路上,如今有了這個好用簡單的發聲平台,自然會有一應百諾的效果,加上名人身分加持,大家看到許多有名的部落客或名人都在用這些服務,自然不會錯過。如果說為什麼在使用plurk服務的那些人都是固定族群的話,不如想想社群的原點,不就是同性質的人會互相吸引嗎?

從這裡又可以延伸到,當我們在設計網路或是推出一個新的服務的時候,首先要考量的點就是【使用族群】,誰是你的Target Customer?誰要來買你的帳?你這個服務推出主打的族群是誰?這好像又是另外一個話題了....。


GMail支援影音即時預覽、插入圖片功能

GMail一直不斷的透過【Labs(實驗室)】來推出新的功能來增加它的吸引力。不久之前GMail又推出了幾個新功能,一一介紹如下:

(1) 直接預覽【youtube】、【Flickr】和【Picasa】的信內連結。


在GMail中你可以直接插入Youtube、Flickr和Picasa等等影片或照片的連結。如果你啟用了這三個功能,之後在你收到信的時候就可以直接進行預覽的動作:




(2) 信件中插入圖片

GMail以後可以支援插入圖片到信件中了!到【Labs】去啟用Inserting Images的功能:
之後在信中要插入圖片就直接按下小按鈕就可以了 !特別的是如果你點到圖片上還可以自己設定大小就好。

Java 產生不重覆亂數

Lab的人要我給他一個產生不重覆亂數的方法,下面是兩種方式,第一種很慢,速度是O(n^2)被幹詰到死XDD

Java要產生亂數很簡單,只要呼叫Random類別就可以了,不過如果想要不重覆的亂數,有一些小方法可以用,這裡提供兩種方法:

(1) 暴力比對法
這個getRan方法會接收一個整數,表示你要取得亂數的範圍,丟進去100表示你要取0~99之間的亂數



這個方法接收一個整數,表示你要取得亂數的最大範圍,呼叫 generateDuplicateRan(100) 則會回傳一個長度100的整數陣列,裡面就是0~99不重覆的整數。寫的方式很直覺,第一個for loop跑100次,每塞一個值就會去比對之前在陣列中的數字,如果相同就移除。缺點就是要產生大量亂數的時候很慢,因為有兩層for loop,速度是n^2,如果只是要少量亂數的人可以參考。

(2) Collection移出法
第二種方法就快多了,尤其在產生大量亂數的時候更為明顯。分成三個部分來解釋:
  • 產生一個ArrayList,並且利用for loop塞值進去,你想要產生0~99的亂數,就丟100進去,他就會依序把0~99塞到ArrayList裡面。
  • 這個部份就是trick所在,裡用Collection的remove method,隨機的取index,並且移出,直到ArrayList的size = 0。因為本來在ArrayList裡面的數字就沒有重複(用for loop塞的),所以隨機取出的值也不會重複。

  • 最後一個部份就是去呼叫上面的方法並且宣告一個array來接收上面產生的亂數。


[UPDATE 2009/04/07]
強者我同學bluesway寫了一個比我快的版本(我也沒有覺得我的很快啦...),用的資料結構是Hash,大家可以參考XD