2009年8月13日星期四

Google Caffeine 與新一代 Google File System (GFS)



前文"Caffeine : Google 搜尋即將使用更新架構"提過, Caffeine Update主要在抓取、索引、評等三大更新, 而這個更新的最底層GFS (Google File System)就是此次更新最重要的元素

我們在"Google資料中心的秘密"提過Google與其他廠商的不同在於整體架構都是客製化, 包括了GFS/BigTable/MapReduce

以往單一的Master Node已經使用多年, 但是已經開始出現瓶頸, 現在這個Caffeine就是在Multiple Master Nodes新架構上

theRegister的文章"Google File System II: Dawn of the Multiplying Master Nodes"就指出:
The trouble - at least for applications that require low latency - is that there's only one master. "One GFS shortcoming that this immediately exposed had to do with the original single-master design," Quinlan says. "A single point of failure may not have been a disaster for batch-oriented applications, but it was certainly unacceptable for latency-sensitive applications, such as video serving."

也就是單一Master Node的設計已經不太符合即時快速的需求

theRegister文章也指出, 除了反應時間的問題外, 單一Master Node對於File Count也有限制:
The other issue is that Google's single master can handle only a limited number of files. The master node stores the metadata describing the files spread across the chunkservers, and that metadata can't be any larger than the master's memory. In other words, there's a finite number of files a master can accommodate.

透過分散式Master與分散式Slave, Master Node所能儲存的metadata就能無限制的增加, 並且透過將Chunks由64MB降低為1MB, 每個Slave Node儲存較小的檔案, 如此讓空間更精簡以因應未來十年的需求

那既然分散式Master比較優秀, 為何當時Google會決定單一Master呢? 負責GFS的總工程師Sean Quinlan表示, 因為單一Master對於設計上比較簡單:
The decision to go with a single master was actually one of the very first decisions, mostly just to simplify the overall design problem. That is, building a distributed master right from the outset was deemed too difficult and would take too much time. Also, by going with the single-master approach, the engineers were able to simplify a lot of problems. Having a central place to control replication and garbage collection and many other activities was definitely simpler than handling it all on a distributed basis. So the decision was made to centralize that in one machine.

所以本次Caffeine Update, 其實架構上的變化比資料上的變化更重要, 如果架構變成分散式Master Nodes成功, 那麼再來可以玩的就更多了, 資料量更大、相關度更高、評等參考資料更多 .... 接著資料的變化就會慢慢出來了

如果有興趣探討更多關於新一代GFS, 可以參考ACM的"GFS: Evolution on Fast-forward"

標籤: ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2009年6月18日星期四

The Functional Web : 舊瓶新酒是否會變出新思維?




這期的IEEE ComputeringNow有篇報導, Steve Vinoski談到網路程式的趨勢The Functional Web, 也就是以Functional Programming來架構網路程式 ... 什麼是Functional Programming? 什麼是The Functional Web? 哪些是舊把戲? 哪些是新思維?

先來談談Functional Programming (FP)...

對於網路世代來說, FP是老得不能再老的東西了, 我們可以翻譯成函式編程, 也就是相對於Imperative Programming(指令式編程)

這兩個有何差異? 對於Imperative Programming(指令式編程)來說, 不同的狀態(state)下, 相同的表示法可能有不同的結果, 用白話來說就是你問我餓不餓? 我回答說不餓, 但是可能我一個小時後的回答是很餓...

而Functional Programming就是不管狀態如何, 只要輸入相同就會有相同的結果, 例如Hungry-Function(who,when), 只要輸入Who跟When相同, 就可以得到同樣的結果

所以Imperative Programming也可以來完成Functional Programming的目的, 只是語法會比較複雜, 所以談到FP, 有假的FP, 也有純種的FP

Steve Vinoski談的FP就是指真的是為了functional而來的程式語言, 用這種FP來架構的就叫The Functional Web

哪些是假的FP? 大概你叫得出來的都是, 如C, C++, JAVA, Python 諸如此類 ... 哪些是真的FP? 也有很多, Steve Vinoski只提到一個 --- Scala, 並且用在Lift架構上

你從最簡單的"Hello World"就可以知道, Scala的精簡程度, 而Lift是一個Framework, 你也可以從Lift Demo來看看長什麼樣子

所以雖然Functional Programming與The Functional Web都不是新概念, 但是卻有新長相, Steve Vinoski的The Functional Web有些Cloud Computing跟SOA的味道, 也有現今流行的Mashup的意味

不過筆者還沒真正使用, 不敢亂下斷語, 後續再評論了, 若有人先一步使用了, 也歡迎提供您的意見來交流!

參考資料:
Welcome to the Functional Web
Scala and Lift


標籤: , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2009年4月27日星期一

CLEVR 與 Autostitch : 環場處理與自動接圖



在做影像處理的人最頭痛的就是大圖的處理,尤其需要把一張大於掃瞄器範圍的紙張掃瞄時, 常在接圖時焦頭爛額, 或是需要把相片進行環場處理時也是花很多時間, 這裡介紹兩個好用的工具, 讓你接圖或環場快速完成...

AutoStitch


AutoStitch可以讓你分區掃瞄, 然後將分區掃瞄的結果自動合成一張完整的大圖, 如果你掃瞄的過程細緻的話, 根本看不出來是合成的

CLEVR



CleVR可以讓你的靜態照片, 合成一張虛擬環場效果如下圖:




標籤: , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2009年4月15日星期三

MgMaps : 使用手機或PDA離線瀏覽Google Map (之4)



最近因要到香港開會, 因此又重新使用gMapMaker來下載地圖到手機的Mgmaps軟體上, 結果去年已經下載到熟練不行的操作, 竟然無法把Google Map的香港地圖down下來, 檔案竟然是空的! 第一個反應是: Google Map修改了取圖的語法了, 到底如何解決Google Map在手機離線使用問題呢? 請往下看了 ...

在之前文章"使用手機或PDA離線瀏覽Google Map", 大多已經說過, 唯一有變化的是gMapMaker程式有更新版, 來抓取變動過的Google Map

這是新版的gMapMaker, 以下是新版gMapMaker畫面


這個版本修正了Proxy使用的方式, 以及讀取Google Map的語法

所以整個使用方式沒有改變, 只需下載新的gMapMaker即可使用了

標籤: , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2009年4月14日星期二

如何移除Conflicker (DownAdup)病毒?


在前面文章已經報導過GhostNet病毒的威力, 這個病毒又稱Conflicker或Downadup, 其變種成多種不同型態的惡性病毒, 會竊取機密資料並遙控受害電腦, 萬一中毒應如何解除呢?

如果你的電腦無法連上各種防毒公司網站或Microsoft Update, 那就肯定中毒了, 以下是解毒方式:

先解除被斷線的問題

(1) 由開始->執行->輸入cmd 按Enter進到DOS模式
(2) 輸入指令 net stop dnscache , 按下Enter
(3) 關閉DOS模式
這時應該已經可以連到防毒軟體公司

然後下載解毒軟體

http://www.symantec.com/content/en/us/global/removal_tool/threat_writeups/d.exe

關閉所有執行中的程式或視窗, 並確定你的電腦沒有自動回朔設定

執行解毒軟體

解完後會有報告產生

重新開機

更新Microsoft Patch MS08-067 (或整個Microsoft Update)

當然最後要把所有在該電腦用過的帳密都更改

標籤: , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2009年4月13日星期一

Matt Cutts 回答 Canonicalization Tag 問題

我們在文章提過"Canonical link element : 標準鏈結元素", Matt也在日前針對這個問題再次說明






有人問:

Does the new canonicalization tag make it safe to add tracking arguments to some of my internal links without fear that Google will split the quality signals between the two addresses?

當我使用canonicalization tag後, Google是否會分別評估頁面品質?


以下是另外的訪談:


總之使用Canonicalization Tag可讓search engine不必去處理根本是相同內容的不同URL, 因此如果你有類似example.com與www.example.com的問題, 應該儘速使用Canonicalization Tag來宣告, 讓search engine更有效率

參考:Matt Cutts Answers Canonicalization Tag Question

標籤: , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2009年4月3日星期五

Google server uncloaked : 谷歌伺服器大公開



上圖是Google最早的server, 雖然壯觀但是還是有點像用資源回收的方式拼湊起來的, 每個空間幾乎都塞滿了線路跟零件, 為的是增加資料中心的容量, 現在Google公開了最新的神秘伺服器...

下圖是早期Google server更詳細的圖, 點選可看大圖


下圖是最新的伺服器及資料中心


詳細說明資料可看這裡:
(英文) CNet: Google uncloaks once-secret server
(中文) ZDNet: Google神秘伺服器大公開

上面已經談過的內容, 我們就不再贅言

我們在"Google資料中心的秘密"談過, Google的神秘面紗包括了: (1)軟體 (2)硬體 (3)叢集平行處理機置

因此這次公開硬體的規格, 其實只是在宣誓他們的領先地位, 不會有被模仿的疑慮 (要模仿也搞不來吧), 而這次的內幕公開, 大概會讓技嘉主機板股票漲停個幾天

Google的伺服器為2U, 說實在一般來說, 2U最為詬病的是散熱問題(零件擠在一起且沒有導風空間), 因此Google其實沒說完全

雖然我們看圖, 電源供應器是在機殼外部, 且配有專利電池, 但是沒看到機殼內部零件的散熱機制, 因此應該有其他奧妙之處

"該公司的資料中心核心是由標準1AAA貨櫃組成,每個貨櫃裡有1160台伺服器,每座資料中心都有好幾個貨櫃"

這個貨櫃的內部如何做散熱才是真正省錢的秘密, 1160台2U的伺服器, 所發出的熱是非常可怕的, 光是冷氣絕對無法應付散熱, 貨櫃應該有特殊的空氣循環, 而且就Google精算的考量, 其冷氣的使用應該不是一般機房的設計方式

看了這些資料, 真佩服Google....不是佩服他們的硬體, 而是佩服他們只公開你模仿不來的, 可以借鏡的資料從來不提, 而且其精準程度, 難怪是Google !

標籤: , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2009年2月26日星期四

Canonical link element : 標準鏈結元素


Google, Yahoo!, Microsoft Live在二月12宣佈支援標準鏈結元素(Canonical link element), 目的在解決內容重覆的問題, 啥是標準鏈結元素? 網頁內容重覆又會造成啥問題?

如上圖簡單解釋標準鏈結元素, 眾多不同的外部連結可能都進到一個相同的網頁

如:
http://www.domain.com/index.html
http://www.domain.com
http://domain.com
http://www.domain.com/index.html?sessionid=hfjsklahdf7678234681
...等等

以上Link對於搜尋引擎來說, 可能都視為不同的URL

造成這種情況, 可能是無意也可能是故意, 但是這樣會造成搜尋引擎浪費時間與空間在做同樣的事情

標準鏈結元素(Canonical link element)就是要解決這個問題

如果這些URL內有以下這個宣告, 也就是Canonical link element
< link rel="Canonical" href="http://www.domain.com/index.html" >

告訴所有由不同URL進入的搜尋引擎, "http://www.domain.com/index.html"是這個URL的統一標準進入點

如此一來搜尋引擎就只需index一份資料

但是這個標準鏈結元素(Canonical link element)宣告, 對於一般blogger來說, 並沒有太大意義, 因為blogger並無法自己去宣告, 這個完全控制在blogger framework或CMS(Content Management System)上, 所幸陸續這些系統會把標準鏈結元素加入他們的系統中

以下是Matt Cutts對於Canonical link element的解釋


相關訊息:
http://www.mattcutts.com/blog/canonical-link-tag/
http://www.webpronews.com/topnews/2009/02/25/googles-matt-cutts-on-canonical-again
http://www.bretteleben.de/lang-en/joomla/canonical-url-modul.html
http://seoblogspot.com/canonical-url-tag-most-important-advancement-seo-practices-sitemaps
http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html
http://blogs.msdn.com/webmaster/archive/2009/02/12/partnering-to-help-solve-duplicate-content-issues.aspx
http://ysearchblog.com/2009/02/12/fighting-duplication-adding-more-arrows-to-your-quiver/

標籤: , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年9月17日星期三

SEO : inception date的意義

所謂inception的意思是初始, inception date就是初始日期, 一個網頁文件的初始日期對SERP(Search Engine Results Page)的影響在前文已經討論過, 我們現在來看看Google如何決定網頁文件的inception date ...

根據Google的專利文件US 7,346,839 B2的說明, inception date由好幾個方式來決定

(1)由搜尋引擎抓到該網頁文件的日期
(2)由該網頁文件所在domain之註冊日期
(3)該網頁文件被其他網頁文件關聯的日期
(4)由儲存該網頁文件的伺服器time stamp

找出以上日期後, 依最早的日期或經演算法判定該網頁文件之初始日期, 這個日期就會影響該網頁文件的評分, 新網頁文件有10個backlink, 會比十年前的網頁文件具有100個backlink來得好 ... 但是也有可能會有例外

什麼時候會出現例外? 當演算法由初始日期與backlink的計算中, 發現異常數字時, 會將之歸類為spam, 這個時候就會降低原本的評分

而什麼是異常數字? search engine會由正常的網頁文件中的inception date與backlink, 算出一個參考值, 如果某網頁文件的backlink成長率超出一個範圍, 就是異常, 至於正常成長率是多少? 超出的範圍是多少? 這個資料並沒有揭露, 但是我們可以由幾個方式了解

(1)一些PR同等級而且值得信賴的網頁的backlink平均成長率
(2)自己網頁的成長率曲線 (參考)

由他站的成長曲線可以知道曲度(slope), 由自己網頁的成長曲線可以知道是否平滑, 如果往上成長的曲度合理並且平滑, 大致就沒麼問題, 但是一定會有被誤判的情況, 不過如果時間拉長, 以上的計算不失為蠻精準的演算法


標籤: , , , , , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年9月16日星期二

SEO : SERP的影響公式探討

在之前文章"Query Deserves Freshness (QDF) : 由內容新鮮度談SERP"談到時間因素會對SERP (Search Engine Results Page)有所影響, 到底是怎麼個影響法呢? 我們由Google的專利資料中來研究一下 ...

第一個公式:


其中
H: History-adjusted link score
L: Link score given to the document (也就是PageRank U.S. Pat.No. 6285999)
F: elapsed time measured from the inception date associated with the document
(詳細關於inception date, 後續再來談)

由以上的公式可以知道, 剛開始link score會放大, 然後慢慢以平滑曲線遞減
L=5, F=1, H=10.47
L=5, F=2, H=8.30
L=5, F=3, H=7.15
L=5, F=4, H=6.42
...
L=5, F=59, H=2.80
L=5, F=60, H=2.79

但是某些SERP data set的average date並無太大差異的情況下, 新產生的網頁就未必有優秀的SERP,所以你會看到某些查詢結果幾乎不太變動, 但某些查詢結果卻一日數變, 就是這個因素

第二個公式:


其中
U: Update score
f: a function, such as a sum or weighted sum
UF: Update frequency score
UA: Update amount score

也就是網頁的更新頻率與更新量會來決定U, 同樣的如果SERP data set的average date-of-change並無太大差異的情況下, 以上公式就不會去影響SERP

至於search engine如何知道哪個網頁有更新呢? 更新量如何呢? 基本上search engine不可能把所有頁面都全部cache, 某些頁面就以signature來判斷(例如在頁頭抓一個字,頁中抓一個字,頁尾抓一個字,如此就能產生該頁面的signature), 當signature變動時, 就知道本頁已經update

至於update amount就可以用多個signature來判斷, 例如一個頁面中的10個signature有3個已經變動, 就比10個signature中有2個變動有較多的update amount, 當然不一定精準, 但平均而言差異不大

所以根據你下的關鍵字所產生的SERP, 其特性到底是哪個種類?

是否會因時間而影響? 如果不會的話, 新網頁就很難打破這個SERP

是否會因更新頻率與更新量而影響? 如果不會的話, 你再如何時常更新也於事無補

因此瞭解了以上的公式, 對您網頁的SEO多少有些助益

標籤: , , , , , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年9月5日星期五

SEO for Dummies : SEO白癡手冊

許多經營部落格的人, 常常剛開始充滿熱情, 但寫到最後因為幾乎沒有人看而退出江湖, 其中不乏有許多精彩內容的部落格, 為何沒有人看? 因為經營部落格的方式錯誤, 並且沒有做到基本的SEO (Search Engine Optimization)

這篇文章來談談以非技術觀點下, 您可以輕易運用的SEO方式, 因為連白癡都看得懂, 故名為"SEO for Dummies : SEO白癡手冊", 所以沒有任何特別誣蔑的意涵 ...

由於本篇文章定位為入門, 所以必須把SEO先做最簡單的解釋

SEO(Search Engine Optimization)就是指運用一些方式, 把您的網頁調整成搜尋引擎喜歡的方式, 一但被搜尋引擎喜歡以後, 就比較容易被網友找到, 當然流量就會增加

談到流量, 我們先談談網友到訪您的部落格的三種方式 :

(1)在瀏覽軟體打入您部落格的網址, 或由他們的"我的最愛"進入您的部落格
(2)透過別人的網頁上的連結, 點選後進入您的部落格
(3)透過搜尋引擎打入您部落格的名稱或關鍵字, 由搜尋引擎連到您的部落格

另外一種是搜尋引擎或網路機器人, 透過指令式方式進入您的部落格, 這點與本文無關, 我們就不談

因此以上三種方式就決定了您的部落格的流量

所以建議剛剛成立部落格的人, 最好先使用大型入口網站的部落格服務, 等流量到達一個程度後, 再另外擁有自己網址(註一)的部落格 (如本站 : http://www.dns.com.tw/blog), 這樣才能累積自己網址的信用度(註二)

(註一:以上姑且以網址代替網域名稱, 以方便入門者瞭解)
(註二:所謂信用度就是搜尋引擎信任您的部落格網址的程度, 當擁有自己網址, 這個信用度才屬於您的)

為何要先使用大型入口網站的部落格服務? 因為您的部落格文章至少會出現在他們網頁(如最新部落格文章...), 也就藉由上面三種流量來源的(2), 會漸漸增加您的流量, 而您的內容如果不錯, 被別人收入他的"我的最愛", 就有了(1)的流量

所以內容不錯以後, (1)(2)的流量就會自然產生

但是上面三種流量來源的(3), 就必須靠自己的調整了, 這個調整的動作就是在做SEO

哪些動作要做呢? 整理如下:

(1)談大家可能有興趣, 但是經過網路搜尋後, 大家比較少談的主題
這點困難度稍高, 但如果能就自己專業範圍內, 盡量比別人早一步談這個主題, 可以建立權威性, 並且內容新鮮度高, 可以容易被搜尋到, 如果有興趣看細節, 詳細內容在: "Query Deserves Freshness (QDF) : 由內容新鮮度談SERP"

(2)最重要的關鍵字一定要出現在"主題(title)"上, 並且如果長度允許, 最好中英文都有, 如本篇的主題:"SEO for Dummies : SEO白癡手冊"

(3)在內文中, 認為有可能可當關鍵字的字串, 以<h1>...</h1>, <h2>...</h2>等tag夾起來, 會顯示如下

SEO for Dummies : SEO白癡手冊

... 但是不要用得太離譜

(4)使用Social bookmark (如funP, Hemidemi ...), 把您的文章自我推薦上去

(5)將您的部落格網址推薦到DMOZ, Google Directory, Yahoo Directory

(6)與朋友較優質的部落格互相交換連結
與其他網站交換連結時必須慎重, 因為根據Google的判定, Bad page會連到Good page, 但是Good page不會連到Bad page, 因此如果您連到一個被Google判定為Bad page的話, 您也會被受到牽連

(7)使用其他的社交網路工具 (如部落格觀察...)

(8)使用PageRank checker貼紙, 可以隨時觀察自己部落格的頁面PR值變化, 當有不錯PR值時, 可以適度在該頁面增加連到自己其他相關內容 (但是如果內容是八竿子打不著的就不必了)

關於PageRank (PR) 如果有興趣可以參考 : Pagerank 演算法研究

(9)使用Counter (如http://www.shinystat.com/), 可以觀察詳細的流量狀況, 或稍微進階者可以使用Google Webmaster管理員工具

(10)Anchor link策略
不管建立Forward link(往別人頁面的連結)或Backlink(連回自己頁面的連結), 在建立連結時最忌諱使用以下的樣子:

<A Href="http://www.dns.com.tw">這一篇可以參考</A>

因為以上"這一篇可以參考"這個字串, 與連往的站台一點都不相關, 這個字串就好像向搜尋引擎介紹一樣, 這個介紹詞就成了此互連網頁的關聯, 不管是Forward link或Backlink都要仔細編輯這個字串

(11)使用NoFollow
在一個頁面中雖然可以有無數的Forward link(往別人頁面的連結), Google也都可以抓到, 但是一個頁面的Forward link最好在數目100以下, 並且如果您不希望Google把某些Forward link也算下去, 您可以使用如下的語法

<A Href="http://www.yahoo.com" rel="NoFollow">Yahoo</A>

減少一個頁面中的Forward link數目, 可以防止被不必要的頁面去瓜分評分

當然以上的方式如果要效果明顯, 前提是您的部落格或網站必須要有好的內容, 如果沒有好的內容, 神仙都沒辦法 (之前文章有提到過 : "網路行銷/網路營銷 -- 內容為王"), 但是除了有好的內容外, 如果能夠依照上述方式好好調整, 相信對於流量會有不錯的改善

以上盡量以比較淺顯的方式, 來說明如何讓不懂技術的人來進行SEO, 如果有任何意見或建議, 歡迎多多指教啦 ...

標籤: , , , , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年8月29日星期五

Semantic Ranking : Search Engine 的另一扇窗

由前文"Pagerank 演算法研究"與"SERP v.s. PageRank : PR值與搜尋排前的關係", 我們瞭解了影響網路搜尋結果的幾個因素

但是網頁的互相連結並無法表示支持的程度, 目前PageRank計算一概以均分的方式, 而網頁互相連結也無法表示網頁間的關聯, 如科技類的網頁A連接到科技類的網頁B, 對於網頁的重要度評比, 當然應該比生活類的網頁C連接到科技類的網頁B要來的重要

而使用網頁結構與keyword的關聯性來產生SERP的結果, 也有可能出現錯誤的狀況, 比如keyword為"SERP PageRank" 與 "PageRank SERP", 就可能產生不同的SERP結果, 同義與相近詞也無法透過搜尋有效率的尋找

這些都是由於PageRank與SERP目前都尚未真正融入Semantic語意技術, 沒有語意技術實在很難以分析這麼多看似不相關的資料 ...

"Context-Aware Semantic Association Ranking", "Ranking Complex Relationships on the Semantic Web", "Ontology-Driven Semantic Ranking for Natural Language Disambiguation in the OntoNL Framework" ... 等等文章就提出了Semantic Ranking的概念, 希望以語意的關聯來建立網頁間的關係, 如果您希望看更多訊息, 可以用"semantic ranking"去進行搜尋

什麼是Semantic Ranking? 就是用語意技術去評比網頁, 當您下一個關鍵字, 網頁就可以用semantic ranking的大小來依序顯示, 不像現在只是純粹比對字串

當網頁間存在Semantic Connectivity (語意連接性) 或Semantic Similarity (語意相似性), 就是存在Semantic Association (語意關聯性)

例如: 當網頁A的內容討論車子的性能, 網頁B的內容討論重型機車的性能, 網頁C的內容討論BMW汽車的性能, 網頁D的內容討論寶馬汽車的性能, 則網頁A-C,A-D互相具有Semantic Connectivity, 網頁C,D互相具有Semantic Similarity, 而網頁B則可透過另外網頁與網頁A產生另外一個Semantic Connectivity

不過可惜的是以舊有的網頁語法, 如果沒有使用RDF (Resource Description Framework), 比較困難建立這些關係, 如何在既有的HTML語法下, 或簡化使用RDF的方式來改善PageRank與SERP是Search engine的一個困難的難題

如果這個問題可以解決的話, Search engine的市場就可能重新洗牌, SEO的方式可能就全面改觀了, 拭目以待吧 ...

標籤: , , , , , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

SERP v.s. PageRank : PR值與搜尋排前的關係

許多搞SEO (Search Engine Optimization) 的人一定都有一個困惑:為什麼許多搜尋結果, 反而PR值低的會排在前面?

在前文"SERP : Search Engine Results Page"已經提到, PR值與SERP不一定成正比, 也許您會問 : 那花那麼多功夫把PR值提高, 不是白費功夫了嗎? 有那麼多的backlink不也是如夢一場了嗎?

大家真的都被Google耍弄了嗎? 事實真像如何呢? 繼續往下看就能解開您的疑惑了 ...

首先解釋一下, 我們由前文"Pagerank 演算法研究"知道, PR值完全看有多少網頁投票給您, 這些投票給您的網頁其本身的質量與該頁的連結數目決定了您的PR值, 這個值跟keyword無關 (真的無關嗎?我們後續會來研究)

而SERP主要由哪些因素決定呢?

(1)keyword在您頁面的密度相關性
(2)您頁面被Google index的時間
(3)PR值

在說明以上因素之前, 我先用近日文章的SERP來說明:

"WREL : Wireless Resonant Energy Link 未來的無線電力傳輸"
2008.08.28刊登, 於2008.08.28被Google index
在Google search以"Wireless Resonant Energy Link"為keyword, SERP=第一頁位置5, 中文SERP=第一頁位置1

"DPR : Dynamic Physical Rendering 未來的變形金剛"
2008.08.28刊登, 於2008.08.28被Google index
在Google search以"Dynamic Physical Rendering"為keyword, SERP=第一頁位置7, 中文SERP=第一頁位置1

"PageRank, BrowseRank, AlexaRank"
2008.08.26刊登, 於2008.08.26被Google index
在Google search以"BrowseRank"為keyword, SERP=第一頁位置2, 中文SERP=第一頁位置1

"使用手機或PDA離線瀏覽Google Map"
2008.08.12刊登, 於2008.08.12被Google index
在Google search以"mgmaps"為keyword, SERP=第一頁位置4, 中文SERP=第一頁位置2

(以上資料可能會因時間等因素而顯示不同結果)

由以上例子看, 為什麼這麼新的網頁能夠有優秀的SERP? 因為該文就是以keyword為title或tag, 談的內容就是keyword完全相關的

在以上提的SERP三個主要決定因素中, (1)是最重要的, 其次是(2), 最後是(3)

除此之外, 據觀察結果, 還可能與TrustRank有關係, 不過這點尚無法詳細證明, 但根據一份PageRank/SERP統計資料顯示結論: SERP與PR有關, 但隨著時間PR會逐漸減少對SERP的影響

因此如果您看到某些頁面的PR比較低, 但SERP比您的頁面好, 原因就是: keyword比較有關連或被index的時間比您早

Google處理SERP的方式, 以上面的觀察來看, 其實是很符合使用者需求的, 因為網路上不斷出現新的優秀內容, 如果光是以PR順序來顯示資料, 也許根本找不到要的資料, 況且目前一堆黑帽SEO, 不符合網頁的PR值也很多, 因此Google把PR的影響遞減, 其方向大致沒什麼問題

另外由以上的觀察, 也覺得台灣在新科技相關的研究內容實在少得可憐, 提到DPR(Dynamic Physical Rendering)的中文內容竟然屈指可數, 不過就因為如此, 只要您能夠在內容與結構上好好耕耘 (如本站一系列的SEO探討文章所說的), 您的高品質內容也會有出頭的一天, 其他亂七八糟的黑帽SEO就忘了他吧 ...

標籤: , , , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年8月28日星期四

DPR : Dynamic Physical Rendering 未來的變形金剛



前陣子的變形金剛系列電影造成不小的轟動, 擁有變形金剛(Transformers)是許多小孩子的夢想, 連已經是歐吉桑的人可能都很想偷偷買一個來玩, 現在Intel的DPR技術(Dynamic Physical Rendering)可以說是變形金剛的終極技術, 不只是變形, 而且是塑造出可能想像的擬真物件 ...

這個DPR技術是Intel與卡內基美倫大學 (Carnegie Mellon University)合作的一個專案, 研發出一種材料可以用來任意塑形, 他們把這種材料暱稱為pario (其基本元素為catom - claytronics atom), 利用pario可以作出真實可動的立體物件, 並且跟真的物件無法分辨, 而且這個複製物可以與真實物件同步動作, 因此以後打電話不只可以看到對方影像, 還可以跟對方來個真實的擁抱, 當該材料複製後還可以再利用來變形成另外的物件

所以可能以後舉辦奧運時, 選手在奧運場比賽, 您可以不出國也可以看到一模一樣的擬真選手的現場表演, 而且這個擬真選手可以任意的resize, 也就是您可以用十分之一的比例, 俯視整個棒球比賽 ... 這真是太棒啦

這個研究專案是於2002年的研討會上, 卡內基美倫大學的教授Seth Goldstein與Intel研究室的Todd Mowry兩人討論出來的主意, Mowry想要改善視訊會議 (video conferencing), 而Goldstein正在研究奈米技術(nano technology), 剛好這兩種技術結合後就變成DPR ...

這個可塑的材料catom (claytronics atom), 都具有Computation、Motion、Power、Communications的能力, 如果這個研究能夠問世, 將可以用在醫療/運動/娛樂/通訊 ... 等等用途上

以下是Dynamic Physical Rendering的介紹影片 (From YouTube.com)



標籤: , , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年8月26日星期二

SERP : Search Engine Results Page

前幾篇文章談了一堆關於Ranking的技術, 最後也就是最重要的就是SERP (Search Engine Results Page), 不管您的PageRank, TrustRank ... 等等指標多好, 如果使用者在搜尋時無法出現在前幾頁, 也就是有較好的SERP的話, 所有的指標都只是白費功夫, 空有好的內容, 但搜尋引擎並不認識你, 可說是非常可惜的事情, 如何才能夠讓您的網頁有優秀的SERP表現呢?

SERP與keyword及網頁結構關係最密切, 而高的PageRank不能保證有好的SERP, 高的流量也不能保證有好的SERP, 如果能夠有好的內容再加上優秀的SERP, 那才是網站成功的保證

當使用者下了一個keyword, 哪些重要因素影響SERP的結果呢?

(1)網頁title

例如本文章的重點在談SERP, 而title就是"SERP : Search Engine Results Page"
如果您的內容無法表現在title tag上, 當然SERP就無法有好的表現, 這也就是上次談到: SEO 三大建議, 希望能夠使用blog結構的原因, 因為可以不需額外功夫就讓內容的title顯示出來

(2)網頁meta data

meta data中的keyword, 與內容中的heading處理, 也可以讓search engine特別注意, 這個在上文Semantic HTML也提到過, 使用正確的tag, 可以讓search engine瞭解您的內容

(3)網址與目錄

如果您的網址或目錄中含有keyword, 如http://www.serp.com/serp-pagerank/serp.html, 如此也可以讓您針對SERP這個keyword有較好的結果, 並且就網址後綴來說, 一般org/net/com 也比ccTLD (Country Code Top Level Domain, 如org.tw/net.tw/com.tw)要好

(4)網頁內容

當然在您文章的內容一定要出現該keyword, 並且真的就是關於該keyword的文章, 否則使用者找到您的網頁也就沒啥意思了

(5)Refresh rate

什麼是Refresh rate? 就是您網站的更新頻繁度, 如果您的網站內容時常更新, 除了能夠讓search engine加快抓取頻率外, 也能夠讓SERP有更好的結果

也許有人會問:到底search engine會多久來抓我的資料? 除了使用http://www.google.com/webmasters/可以讓您上傳sitemap來告知之外, search engine也會自動根據您更新頻繁度來修正抓資料的頻率, 也就是如果每次search engine來抓資料都發現您已經更新, 他會修正縮短抓資料的區間, 如果來抓資料時發現您的網站沒有更新, 則放慢抓資料的區間

因此當您的網頁如果已經被indexing後, 並且您的網站屬於Trust那個區塊, 其實search engine抓資料的頻率有很大因素決定在您手上

標籤: , , , , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

TrustRank, PageRank, SERP

許多站長常常問一個問題 : 為何我的網頁已經建置很久了, 但一直沒被Google index? 另外一個問題也常常被問到 : 為何許多PageRank值比我低的網頁, 搜尋時出現在我的網頁前面?

第一個問題的答案是 : TrustRank, 而第二個問題的答案是 : SERP (Search Engine Result Page)與PageRank不一定成正比

本部落格的網頁最快約10~30分鐘就會被Google抓走, 最慢也在一天內就被Google抓走, 原因是TrustRank

什麼是TrustRank? 詳細資料請看 : Combating Web Spam with TrustRank

由於全球的網頁數目太龐大, 因此Google的Sandbox, TrustBox技術會將網頁區分為兩大區塊-被排除的區塊(Sandbox)與信任的區塊(TrustBox)

哪些網站會被信任? 被Dmoz list的網站, 被Social bookmark熱門推薦的網站, 被TrustRank/PageRank高的網站所連結的網站 ... 這篇文章也提到一些成為TrustBox區塊的方式

另兩篇文章 : What is Google TrustRank (TR)?, The Social Side Of Trustrank 也提出許多提高TrustRank的方式, 本站之前的文章也都提到過

當TrustRank較好時才會快速被抓取, 被抓取後才可能有好的SERP, SERP就與網頁結構有很大的關係, 但是真正決定SERP的因素, 現在還是只能由結果來猜測, 尚無真正能夠證明哪些因素來決定SERP (SERP的研究倒是不錯的研究題目)

不過不管如何, 研究了一堆PageRank, TrustRank, SERP ... 之後, 其實最重要的還是老話一句 - 內容與結構! 就把一些指標暫時放一邊, 好好研究如何產生好的內容與正確使用Semantic HTML比較實在吧!

標籤: , , , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

PageRank, BrowseRank, AlexaRank

在八月初的SIGIR (Special Interest Group on Information Retrieval)研討會上, 出現了BrowseRank: Letting Web Users Vote for Page Importance

這個微軟研究中心的BrowseRank演算法, 大抵是想跟Google的PageRank一別苗頭, 到底這個BrowseRank是否能夠比PageRank來得好呢? 我們來研究一下

大略瀏覽了上述的論文, 發現BrowseRank只是Page-level的AlexaRank, 他的data set來自於瀏覽軟體的使用者資料, AlexaRank由Alexa toolbar所得到的資料來分析, 而BrowseRank由微軟的IE所得到的資料來分析

AlexaRank只是Domain-level ranking, BrowseRank比較仔細一些, 進到Page-level Ranking, Website-level Ranking, 而PageRank是透過link-analysis來取得頁面的重要度

論文題目說: Letting Web Users Vote for Page Importance, 其實是值得商確的, 網友到訪了一個網頁, 未必就認為該頁是重要的, 可能看完後幹聲連連 ...

因此我們可以粗略的說AlexaRank標示了網域的熱門度, BrowseRank標示了網頁/網站的熱門度, PageRank標示了網頁的重要度

到底哪個比較精準, 就牽涉到幾個問題:

(1)比較熱門的網站是否就比較重要?
(2)link數目多就代表比較重要?
(3)不同階層的使用者, 熱門度如何參考?
(4)廣度網站與深度網站, 熱門度如何參考?

當然上面問題沒有正確答案, 學術研究的網站一般不能跟入口網站比熱門度(AlexaRank與BrowseRank), 而新興網站一般不能與歷史悠久的網站比重要度(PageRank), 但是也可能會有例外 (而且例外還不少)

所以也很難去比較AlexaRank,PageRank,BrowseRank到底哪個好, 後續有更多資料再來分享啦...

標籤: , , , , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年8月25日星期一

Pagerank 演算法研究

Larry Page在1996年間發明了Pagerank的演算法, 爾後又與Sergey Brin在Stanford發表了"The Anatomy of a Large-Scale Hypertextual Web Search Engine", 這個Web Search Engine就是現在使用的Google, Pagerank詳細內容到1998年才發表, 並且直到2001年才取得專利

Page Rank公式如下



(以上公式圖形由http://www.sitmo.com/latex/產生)

以上d指damping factor, 其值在0~1, 一般設為0.85
PR(Vi)為Vi這個頁面的PR值
In(Vi)為連進Vi這個頁面的link數目
Out(Vj)為Vj這個頁面連出去的link數目

也就是說如果有3個頁面A,B,C

A如果連到B,C
B如果連到C

如果A的PR=4
則PR(B)=(1-0.85) + 0.85 * 4/2 = 1.85

而PR(C)=(1-0.85) + 0.85 * (4/2 + 1.85) = 3.4225

B,C會平均繼承A的PR值, 但C會單獨繼承B的PR值

Pagerank是一種link-analysis algorithm, 是根據citation analysis而來, 原本使用在學術期刊論文被引用次數的技術

在Pagerank之後, 1999年Kleinberg發表了HITS algorithm(Hyperlink-Induced Topic Search), HITS決定兩個值: authority value & hub value, 並且是在query time計算, 而不是像Pagerank是在indexing time計算, Teoma就是使用HITS (目前被Ask.com收購)

相對於link-analysis algorithm的content-analysis algorithm, 於另外文章再討論

不管是Pagerank或是HITS, 都是iterative ranking algorithm, 非常耗費演算時間及資源, 因此許多研究者提出了不同的方式來加速計算時間:

1999年 Efficient Computation of PageRank(Haveliwala and et al.)

2002年 Pagerank Computation and the Structure of the Web:Experiments and Algorithms(Arasu and et al.)

2002年 I/O Efficient Techniques for Computing PageRank(Chen and et al.)

2003年 Scaling Personalized Web Search(Jeh and et al.)

2003年 Exploiting the Block Structure of the Web for Computing PageRank (Kamvar and et al.)

2003年 Extrapolation Methods for Accelerating PageRank Computations (Kamvar and et al.)

2004年 Parallel PageRank computation on a gigabit PC cluster (Manaskasemsak and et al.)

2006年 Parallel adaptive technique for computing PageRank (Rungsawang and et al.)

2007年 Improvement of Pagerank for Focused Crawler (Yuan and et al.)

但是不管怎麼加速演算法, 其iterative ranking algorithm的特性不會改變, 但可能會加入content-analysis algorithm的一些特性來走向semantic web

而Pagerank公式內的Out(Vj), 使得一些做SEO的人注意到HTML中的nofollow特性, 來進行一些link quality的改善

深入探討:
PageRank Algorithm : 別說你懂PR演算法

相關訊息:
什麼是PageRank Hijack?
善用PageRank指標提升企業競爭力
Google Analytics & PageRank
SERP vs PageRank : PR值與搜尋排前的關係

標籤: , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年8月20日星期三

網路行銷/網路營銷 : SEO 三大建議

在許多網站上可以看到諸如: "如何快速提升Pagerank", "Pagerank 7的快速捷徑" ...等等的文章或影片, 但是仔細去看這些網站的Pagerank竟然都是低於3或甚至降到0, 他們教您購買軟體, 他們教您快速增加backlink, 他們教您如何以短短幾分鐘的作業去提升PR值, 但是經事實證明, 不但無法達成目的, 還可能造成反效果, 在本篇文章中, 我們很誠實的告訴您真正被Google認可的方式 ...


在前幾篇文章已經提出許多觀念, 您可以去回顧一下:

Internet大破譯(五): 看不見的網路行銷戰場
善用PageRank指標提升企業競爭力
搜尋引擎的運作背後
網路行銷 : SEO 五大要素
網路行銷 : SEO 十大守則
網路行銷/網路營銷 -- 內容為王

除了以上一些觀點之外, 我們再提供三項實務的建議, 當然這些不管是五大要素, 十大守則, 或是三大建議, 最後回歸的都是 Content (內容), 沒有價值的內容創造不出有價值的網站

但是有價值的網站需要讓search engine瞭解, 並讓讀者可以搜尋到您的內容, 這也是所有搜尋引擎希望所有webmaster能夠協助的地方: 在search engine還不夠智慧的情況下, 讓search eninge能夠真正反應讀者想要尋找的內容

哪三項實務的建議呢?

(1)建立部落格

以目前的網頁結構來說, blog是最適合search engine抓資料的, 因為tag/category/publish date等等要素, 讓文章與文章之間會自然產生關聯, 這些關聯會讓片段的文章形成一串互相有關的內容, 這些關聯可以讓search engine知道如何index這些片段, 也可以讓讀者去一層層找到需要的資料, 因此如果您的網站沒有blog的結構, 應該盡快構思如果組織您的內容去建立有價值的blog

(2)善用網路社交工具

什麼是網路社交工具? network bookmark (網路書籤)就是一個例子, 建立部落格後僅是在您的內容上建立關聯, 而使用網路書籤可以讓blog間串聯起來, 並且讓更多人來看到您的內容, 並且網路書籤的tag可以將這些關係標準化, search engine可以很輕易的index相關內容

(3)使用Semantic HTML

什麼是Semantic HTML? 根據wikipedia的Semantic HTML解釋, Semantic HTML不是一般webmaster能夠瞭解的, 但是有另外一篇比較淺顯的說明您可以參考: Writing Semantic HTML

Semantic HTML的目的就是讓您的內容可以清楚呈現給search engine, 因為search engine並不瞭解您的內容, 但是透過HTML tag, 他可以知道這段文字是屬於哪個類別

總而言之, 其實以上三大建議, 是希望您的網站在結構關聯上, 能夠替search engine做更清楚的描述, 如此一來search engine瞭解您的網站, 也同時讓讀者知道搜尋到的是否是需要的內容

真正的Search Engine Optimization (SEO)是在協助search engine, 而不是在欺騙search engine


許多人都說做SEO要偷偷做, 不要讓search engine知道您的作法, 其實只要是正確的SEO作業, search engine反而是鼓勵的, 因為您可以改善他們的搜尋效能

在內容上提升, 在結構與關聯上修正, 才是真正在進行SEO, 請大家光明正大的進行, 如此一來才可以讓讀者找到需要的資料而不是一堆不相干的垃圾

標籤: , , , , , , , , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年8月19日星期二

SEO : 搜尋引擎無法索引Flash檔案?


以往大家都認為盡量不要使用Flash, 因為Flash檔案文字內容無法被搜尋引擎抓取, 但是這種情況已經會逐漸改善, 根據Adobe的SWF說明資料, Adobe已經陸續提供技術給搜尋業者, 以防止Flash會被網站開發者排除使用...

雖然如此, 但是目前使用的搜尋引擎只有Google, 並且目前讀取SWF資料的技術尚未純熟, 因此還是盡量不要整頁使用Flash, 並且需依照Google對於Flash/Image的Guideline:

(1)Googlebot does not execute some types of JavaScript. If your webpage uses JavaScript to load a Flash file, we may not be able to discover and index the contents of that file.

不要使用Javascript去載入Flash
如果使用Javascript載入Flash, 這個Flash就無法順利被index

(2)We currently do not attach content from external resources that are loaded by your Flash files. If your Flash file loads another file - such as an HTML file, an XML file, or another SWF file - we may index the contents of those files, but we won't consider that content to be part of the content in your Flash files.

不要使用Flash去載入另外檔案
如果使用Flash載入其他檔案, 這個被載入的檔案就無法順利被index

(3)We're currently unable to index the bidirectional language content (for example, Hebrew or Arabic) in Flash files.

第三點跟我們比較無關

除此之外, Yahoo只是承諾使用Adobe提供的技術, 並未正式使用, 而Microsft Live Search等也尚未有任何相關訊息

雖然Flash檔案會逐步被搜尋引擎接受, 但在使用上還是要注意許多細節, 提供Flash與Non-Flash版本, 才能夠讓您的網站美觀之外, 還能夠俱備搜尋引擎的可讀性

後續可能發展, 將密切觀察後再跟各位報導啦 ...

標籤: , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年8月12日星期二

使用手機或PDA離線瀏覽Google Map (之3)


(以上為手機使用MGMaps的狀況)

上兩篇文章(使用手機或PDA離線瀏覽Google Map之2 )談完後, 您應該對產生地圖的概念已經清楚了吧! 現在來談如何安裝到手機 (以Nokia N95為例子, 其他設備大同小異)

(1)選取MGMaps選單的Settings (如下)


(2)Settings->Map Types來Add Custom Map, 客製自己的地圖類型

(設完記得儲存)

(3)輸入Map Type Name與Map Type URL如下
Map Type Name隨您高興輸入, Map Type URL輸入http://mt.google.com/mt

(設完記得儲存)

(4)回到Settings->Map Browsing


(5)勾選Stored Maps, Offline Mode, 並輸入手機上存放地圖的路徑

(設完記得儲存)

完成以上後, 再回到MGMaps ... 奇怪! 地圖沒有出現啊?

記得按"0"去切換地圖type, 並使用Go to到您地圖的範圍

祝您使用愉快啦!

標籤: , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

使用手機或PDA離線瀏覽Google Map (之2)


(上圖是MapCacher)

繼上篇文章談到使用手機或PDA離線瀏覽Google Map的大步驟後, 這篇文章來談MapCacher及gMapMaker的用法

MapCacher的主要目的是抓出您要的地圖範圍, 也就是經緯度資料

gMapMaker的主要目的就是把您要的地圖範圍, 根據您的設定, 抓下詳細地圖資料

MapCacher用法如下:

先到MapCacher網址, 也就是http://www.mapcacher.com, 如上圖

(1)如圖上標示的1, 先找到您要的地圖, 並以滑鼠點選出地圖範圍

(2)設定Zoom Level, 一般來說設12~17最恰當, 但視您的行動設備的儲存空間來調整, 範圍越大(如10~18)則需要空間越大, 用gMapMaker產生地圖時間越長

(3)設定詳細程度, 使用medium speed, medium detail, 或視您的需要設定

(4)設定地圖類型, 您可以使用Google Map, Yahoo Map或其他地圖

(5)設定完成後, 按下Generate, 則會開始產生檔案, 並要您存檔(*.map), 存起來後當執行gMapMaker時候使用

到目前為止, 只是產生了一些經緯度數字, 地圖細節還沒有產生

接著就來執行gMapMaker, 如下圖



Cache Folder : 設定您要暫存地圖的位置

Use Proxy : 一定要勾取, 因為如果不勾取, Google Map等provider會暫時將你的ip停權

Operating Mode : MGMaps Mode, use a .map file

(其他就不需再設定, 其他設定後續再談...)

按下Go後, 就選擇您剛剛使用MapCacher產生的map檔案, 就讓他慢慢跑啦, 所需時間視您標示的範圍而定

等執行完成後, 地圖檔案就準備好啦, 下篇再來談行動設備的設定 ...

標籤: , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年8月5日星期二

使用手機或PDA離線瀏覽Google Map


(以上是於機場使用Google Map)

以前在旅遊時需要攜帶一堆地圖, 當需要資訊時手忙腳亂的東翻西找, 看起來真的是相當滑稽, 現在感謝Google以及一群優秀的工程師, 讓一大堆資料可以全部裝到手掌大的行動設備上, 現代人旅遊真的越來越方便了, 如果您還不知道如何好好利用這些先進的設備, 趕緊看看以下文章吧 ...

現在的行動設備的作業系統分成兩大陣容: Microsoft作業系統與Symbian作業系統, 這些系統又分成許多版本不同的系統, 在尋找好用的軟體時需要注意版本的相容性

目前在HP iPAQ 6315, Sony Ericsson P800, Nokia N95測試了以下幾個行動設備的地圖軟體:
(1)Mobile Google Map (For Symbian, Pocket PC)
(2)Power Navigator (For Symbian)
(3)Mobile GMAPS (For Symbian, Pocket PC)

以上的軟體都允許Online及Offline來瀏覽地圖或與GPS設備來定位, 但是其中以Mobile GMAPS最簡易並且精準, 並且由於它是Java程式, 可以安裝在Microsoft及Symbian的設備上

但Mobile Google Map在安裝於某些版本的PPC時無法安裝, 並且要使用offline的程序太過複雜, 而Power Navigator無法安裝在Nokia N95上, 而安裝於SE P800時, 由於地圖需使用MapEditor自製地圖, 搭配使用GPS時, 常常出現定位不精準的狀況

以下就是Nokia N95使用內建GPS實際在遊艇上測試的狀況, 發現精準度幾乎100%


以下是安裝步驟:

(1)安裝MGMAPS軟體-依照您的行動設備的檔案傳輸方式把mgmaps下載後傳到行動設備安裝

(2)下載gMapMaker, 並安裝到PC備用

(3)使用MapCacher抓下地圖定位範圍

(4)使用剛剛安裝在PC的gMapMaker及步驟(3)的檔案來產生地圖(依您地圖的範圍需等待一些時間)

(5)然後把步驟(4)的地圖檔案放到行動設備相對應的MGMapsCache目錄下,並設為隱藏目錄

(6)設定mgmaps軟體在您的行動設備為offline

如此一般就可以使用來定位啦(在土耳其伊斯坦堡實際測試)...如下







初次使用者最常在(4)(5)(6)出錯, 後續再來詳細介紹各分解動作 ...

[MapCacher使用說明] [安裝到手機]

標籤: , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年5月28日星期三

近期語意技術探討(一)


(圖片來源:http://gridinoc.name)

2008年可以說是語意技術發燒的一年, 並且近年來不管是研究單位或是新創公司, 對於語意相關技術的重視與投資可謂不遺餘力, IEEE Intelligent Systems也在今年初刊登了不少關於語意技術的文章, 我們來看看到底語意已經發展到什麼程度 ...

語意技術對於一般使用者是感覺不到的, 您並不知道到底哪個東西應用了語意技術, 頂多您會覺得電腦好像變聰明了, 但是如果運用得不好, 您可能會覺得怎麼電腦這麼笨, 電腦的聰明與愚蠢就完全取決於到底是否正確的運用Semantic Technology(語意技術)、Artifical Intelligence(人工智慧)、Nature Language Processing(自然語言處理)、Ontology(本體論)...等等

在W3C的網站就舉了幾個語意技術的使用案例

例如其中BT(英國電訊)的案例, 根據Forrester研究顯示排名前3500的大公司, 花費在整合的費用是$6.3 million並且其中的31%花在整合外部公司, 而電信類的公司花在整合外部公司的比例高達70%

BT就將Semantic運用在SOA(Service-Oriented-Architecture)上, 讓他們的外部夥伴使用Internet與BT的B2B Gateway聯接, 輕易的自行處理作業支援相關運作, 如此一來減輕了支援成本, 也加速了作業效率

這個技術使用SOA來將整個系統分成Presentation Tier、Service Tier、Data Tier, 透過Service Tier的Semantic Broker去抓取異質系統的資料, 然後呈現在外部公司的系統上或是瀏覽軟體上, 如此一來BT本身的不同系統整合起來了, 外部公司使用各種不同系統也都可以順利的透過這個B2B Gateway來整合

在目前語意技術的運用上, 幾乎離不開Web2.0與SOA, 就其中Markup與Mashup的特性來發揮, Markup讓資料可以分析、交換(如XML、RDF、RuleML), 而Mashup可以讓服務混搭, 因此幾乎所有的技術都繞著Markup與Mashup走, Semantic/Web2.0/SOA幾乎就是Internet三位一體的趨勢

目前在歐洲的語意研究上, 以Neon-ProjectSEKTDIP為主, 各自都發展許多不同的語意技術與工具, 下次再仔細說明囉 ...



標籤: , , , , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年5月23日星期五

如何在Blogger For Domain使用繼續閱讀功能

使用Blogger服務的人都有一個困擾, 那就是文章無法分成"上半段"與"下半段", 也就是無法在首頁只顯示每篇文章的上半段, 並顯示『繼續閱讀』來展開下半段, 我在網路上尋找許多解答, 大多的方式不是只適用一般的blogger(不適用blogger for domain), 不然就是需要一大堆work, 如果您想在Blogger For Domain使用繼續閱讀功能, 這裡有一個簡單得嚇人的方式...

首先在blogger的template-->Edit html中的CSS部分加入以下的code(且稱為code-1):

/*.....繼續閱讀的語法開始..........*/
<MainOrArchivePage>
span.fullpost {display:none;}
</MainOrArchivePage>
<ItemPage>
span.fullpost {display:inline;}
</ItemPage>
/*.....繼續閱讀的語法結束..........*/



然後找到<div class="post-body">
在相對應的</div>上方加上如下的code(且稱為code-2):

<MainOrArchivePage>
<a href="<$BlogItemPermalinkURL$>"><img src="您的繼續閱讀圖案路徑" border=0 alt="繼續閱讀"></a>
</MainOrArchivePage>



然後在setting-->formatting下的Post Template內輸入以下的code(且稱為code-3):

<span class="fullpost">
<span>


以後您在編寫新的文章時, code-3會自動出現在編寫內容中, 只要文章夾在span的tag內, 都會變成下半段, 而在span tag之上的內容, 就是上半段啦, 本部落格就是使用Blogger的blog for domain, 看您運作起來是否跟本部落格一樣啦!

標籤: , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年5月7日星期三

勞力密集的高科技網路業


(圖片來源:http://www.explorepahistory.com/)

照理說高科技主要目的是在節省人力,讓需要人力的作業透過科技來快速處理,但是在層層環節還無法暢通的情況下,你所認為的高科技背後,可能就像上圖一樣 ... 看似一切自動化的假像下,其實後面是一堆人在揮汗作業著 ...

你認為在YouTube、無名影音等網路影音服務,是誰在監看哪些內容是不合規定的?

你認為酷訊網站翻書客等垂直整合查詢的資料是怎麼來的?

你認為SEO(Search Engine Optimization)廠商用什麼方式讓你的網站提高搜尋出現機率的?

答案揭曉...

YouTube、無名影音等網路影音服務,除了靠使用者檢舉之外,是靠人去監看哪些內容是不合規定,然後予以刪除。當資料量越來越大時,不是陷入無法控制的局面就是必須投入更多的人力。

垂直整合查詢的服務必須事先以Information retrieval的技術,分析取得資料的HTML TAG來確認抓取資料的格式,這當然就必須人力介入以提高準確度,但是當抓取資料的對方修改網站結構,所有資料就亂了譜了,所以當資料結構變更頻繁時,勢必投入更多的人力來修正。

而SEO就更是勞力密集了,雖說有一堆SEO軟體的協助,但是SEO軟體分析結果還是必須由人來決定哪些要修改?要採取哪些動作?然後背後一堆人來登錄網路目錄,並且大多再靠人力來監看結果。

為啥這麼累? 因為許多技術還不純熟,因為資料的互通還卡在許多關卡,因為只有人來作判斷才能確保最後結果。

哪些技術還不純熟? 影音內容與文字內容的語意技術,目前還無法讓電腦正確自動判讀影音內容或文字的語意,大多市面上的技術都還無法保證百分之百的準確。而資料互通雖然有XML與Web Services的技術,但是對方不開放的情況下,仍舊無法達到自動互通的結果。

想像一下,你用滑鼠一點,有這麼多的內容讓你免費取用,但是其背後正躲著一群人努力忙碌的產生較正確的資料,這個畫面是有些滑稽,如果資料量越來越多,整個勞力密集的高科技網路業會怎樣呢?

標籤: , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

當Real Player可以下載網路影音檔案 ...


Real Player新版免費下載軟體於2007年推出,他可以在網路上觀看YouTube等線上影音時下載非DRM(Digital Rights Management)保護的各類網路影音檔案,並且內建燒錄軟體可以把下載的檔案,方便的燒錄成CD或DVD。這個功能確實造福了廣大的使用者,但是卻也引發了一場一觸即發的戰爭 ...

Real Player提供的這個功能雖然不算創新,原本就有許多軟體或技巧可以將網路影音下載,但是總需要額外的安裝或步驟,但是現在連電腦白癡都可以一個按鍵把所有檔案搬回家,這個功能可能造成的問題,想起來就有些可怕 ...

到底哪裡可怕?

原本在網路分享的影音檔案,只是希望使用者透過網路平台來觀看,但是現在使用者可能下載後重新製作與燒錄,造成了Copy Rights更多的問題。原本透過網路平台以帳號密碼來觀看的公播版,如果沒有DRM機制,已經完全沒有保障了。

並且此舉,對於提供網路影音平台的業者,如YouTube、I'm TV、無名影音...等等,也會造成不小的衝擊,會造成廣告效益降低以及網路平台更加繁忙。

以往使用者在使用YouTube,可能一一的觀看各個網路影片,多少都會停留在頁面,而頁面上的廣告也才會有曝光度,但現在使用如果使用Real Player下載影片,他可以快速瀏覽了數十個影片,但都不在頁面觀看,等待下載完成後才在Real Player界面上觀看,此舉就造成了YouTube的流量提高了,但卻使得廣告效益降低了...

雖然Real Player的這項貼心功能實在讓使用者稱讚,但卻也帶來了更多著作權與版權的問題,並且是否會在網路影音平台造成風暴呢? 持續觀察才能知道了!

標籤: , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年5月1日星期四

Buffalo MiniStation 2.5吋500G測試報告


Buffalo Technology近日推出2.5吋500 GB Ministation turbousb攜帶式USB硬碟,提供了一個大容量/重量輕/抗衝擊的儲存解決方案。經過幾天的暴力測試,在傳輸速度/穩定度等表現,均在水準之上。

MiniStation內建高轉速高效能的2.5”SATA硬碟,除了高規格的日製硬碟外,MiniStation還採用了由BUFFALO獨自研發,全球首創的「TurboUSB技術」,讓實際傳輸速度可高達40MB/s。

MiniStation的Bumper Body外殼採用耐摔和減少撞擊力的材質,內部架構也加入了特殊材質來更加保護硬碟。而為讓常跑來跑去的使用者更方便攜帶,MiniStation的USB線可環繞著產品本身來收納,不會像其他品牌那樣一條線晃來晃去的,MiniStation還會隨附BUFFALO所獨有的Secure LockWare軟體來將您的檔案加密保存。

Buffalo MiniStation 2.5吋500G TurboUSB規格如下:
-介面:USB2.0 / 1.1
-upstream port:USB Mini-B socket
-sector容量:512Bytes
-seek time:13ms以下
-資料傳輸速度:USB2.0:最大480Mbps
-電源:USB BUS POWER(由電腦供應)
-電源管理:支援(WindowsXP SP1以上版本)
-消耗電力:最大2.5W
-外觀:W127×H83×D21mm(不包括突起部分)
-重量:約225g
-保固 : 全機兩年保固

在ASUS-D672 PC (Pentium D CPU 2.8G,1G RAM)Windows XP SP2平台下
經過ATTO Disk Benchmark測試結果如下

在未啟用Turbo USB前Write達到27MB/s,Read達到34MB/s,經enable TurboUSB之後,Write達到32MB/s,Read達到41MB/s,經過ATTO Disk Benchmark測試TurboUSB結果如下


並經過實際大量檔案傳輸下,傳輸速率都維持在20MB/s左右,並且機身不會因長期使用而發燙,因此在效能/尺寸/穩定度上,都算是相當不錯,目前價格大約在新台幣$9,500左右。

標籤: ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年1月15日星期二

PC與隨身碟檔案安全防護 : TrueCrypt

在之前文章提到過PGP Key 的使用與管理 , 可以將檔案安全加密或使用PGP DISK來建立加密volume, 不過由於PGP軟體自8.0以後已經不是免費軟體(除非你還能取得PGP 8.0軟體), 因此在此再介紹另外一款加密檔案的免費軟體: TrueCrypt, 這裡介紹的內容將有一般正常的作法, 與隨身可攜而且簡便的使用方式

一、安裝與中文化方式如下

(1)首先去下載TrueCrypt檔案

下載連結: http://www.truecrypt.org/downloads.php

裡面有windows的zip檔案及Linux的tar.gz檔案, 看您自己環境去選擇

再來下載中文化檔案: http://www.truecrypt.org/downloads/thirdparty/localizations/langpack-zh-tw-1.0.0-for-truecrypt-4.3a.zip

(2)把TrueCrypt zip檔案解壓縮後, 去執行安裝 (執行TrueCrypt Setup.exe)

(3)安裝完成後, 把中文化檔案解壓縮後, 把Language.zh-tw.xml放到您安裝TrueCrypt的目錄下 (預設是 C:\Program Files\TrueCrypt)

(4)開始執行TrueCrypt, 選擇Settings->Language->選擇繁體中文 (如下圖)



(5)這樣你就看到了TrueCrypt的中文畫面了 (如下圖)




二、TrueCrypt的使用

再來介紹TrueCrypt的使用, 基本上TrueCrypt在您的硬碟中以加密方式(密碼或加上金鑰檔)建立一個檔案, 您可以把這個檔案載入變成電腦的一個獨立邏輯單元, 這個獨立邏輯單元就如同一個硬碟, 但是要打開這個硬碟必須有正確的密碼或者加上金鑰檔

(1)如下圖選擇建立一個加密區 (一個檔案型態,可以在PC或隨身碟)




(2)選擇標準TrueCrypt加密區, 或隱藏的TrueCrypt加密區, 按下一步
(其實沒有必要選隱藏, 不然到時候反而找半天 ...)



(3)選擇加密區的檔案名稱
例如我建立在G:\TrueCrypt\mycrypt.dat
不打附檔名也可以, 但是打一個自己習慣的附檔名, 讓自己以後知道這是TrueCrypt的加密區檔案, 比較不會搞亂




(4)加密選項 (不熟悉加密演算法的話, 就直接下一步吧...)
等使用很熟悉之後, 再來改變加密方式




(5)設定這個加密區的空間大小




(6)設定您的密碼 (千萬要記得密碼喔!)



(7)將加密區格式化 (僅把您設定的檔案格式化, 不要擔心整個硬碟會不見)




(8)建立完成囉, 就按下結束離開







現在開始來使用這個加密區 :

(1)如下圖先選要建立成哪個代號(也就是磁碟代號)
然後選您之前建立的加密檔案, 如剛剛我建的 G:\TrueCrypt\mycrypt.dat
然後按下載入 (當你不需使用時記得卸載下來)




(2)再去看看我的電腦, 就多出H:磁碟機了 ...
放在H:這裡面的檔案就會加密, 沒有密碼或金鑰檔就進不來啦




三、讓TrueCrypt變成可攜式

最後, 也許有人會問 ... 那如果我把隨身碟當成加密區
使用另外一台電腦沒安裝TrueCrypt怎麼辦? 還要再安裝一次嗎?

根本不需要, TrueCrypt幫你想好了

如何讓TrueCrypt跟著隨身碟跑呢?

(1)如下圖, 只需選擇工具->可攜版設定




(2)選擇隨身碟放置TrueCrypt的位置, 按下建立 ... TrueCrypt就在你的隨身碟上了



但是, 如果使用攜帶式的方式還要每次載入與卸載 ...未免太麻煩了

因此您可以在"隨身碟放置TrueCrypt的目錄"下, 建立兩個檔案 (只適用windows環境):

將以下程式碼以小作家編寫, 存成 mount.wsf


<job id="mount">
<script language="jscript">
var oShell = WScript.CreateObject('WScript.Shell');
oShell.Run('\\TrueCrypt\\TrueCrypt.exe /q /a /b /m rm /v "mycrypt.dat"',1,true);
</script>
</job>


將以下程式碼以小作家編寫, 存成 unmount.wsf


<job id="mount">
<script language="jscript">
var oShell = WScript.CreateObject('WScript.Shell');
oShell.Run('\\TrueCrypt\\TrueCrypt.exe /q /d /b',1,true);
</script>
</job>


在以上mount.wsf中的紅色部分就是您的加密檔案, 依您習慣來修改即可
把mount.wsf, unmount.wsf, mycrypt.dat, TrueCrypt.exe, Language.zh-tw.xml 等檔案都放置在隨身碟同一個目錄

如此, 隨身碟插上各不同PC, 只需執行mount.wsf ->輸入密碼

不使用時只需執行unmount.wsf即可

這樣就不需每次都要出現TrueCrypt複雜的界面了...容易吧 !

標籤: , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年1月8日星期二

如何使用MS SQL的Stored Procedure與Trigger

上篇大致說明了MySQL的Stored Procedure與Trigger, 現在來談談Microsoft的SQL server (以SQL 2000為例, 2003/2005則大同小異)

雖然都是database的stored procedure與trigger,但是語法卻不同,另人頗為頭痛

Microsoft SQL的stored procedure主要以Transaction SQL語法 (T-SQL),除了procedure語法差異外, SQL語法本身也略有不同 ...


MS SQL使用 SELECT TOP 20 * FROM MY_TABLE

MySQL使用 SELECT * FROM MY_TABLE LIMIT 0,20

以上都是挑選資料中的前20筆資料

MS SQL使用LCASE,UCASE,INSTR,MID等函數來處理字串, 但MySQL與Oracle則使用LOWER, UPPER, LOCATE, SUBSTRING ... (MySQL string function reference, MySQL 5.0 reference)

Microsft走的路線以T-SQL及VB語法的方式, 因此只要T-SQL/VB熟悉, SQL server就易如反掌了 ... 因此筆者都以ANSI-SQL, T-SQL, VB, PHP這些概念將MySQL, Oracle, MS SQL一次通通學習起來

(1)Stored Procedure

建立SQL Server的stored procedure首先打開SQL Server Enterprise Manager, 選取預存程序, 按下滑鼠右鑑 ->新增預存程序 (畫面如下)



我們來建立一個簡單的例子:

CREATE PROCEDURE TEST_ADD
@emp_no varchar(10)

AS

SET NOCOUNT ON

BEGIN TRAN
INSERT testtable (emp_no) VALUES (@emp_no);
COMMIT TRAN
GO

以上紅色的字是依需要修改

有了這個stored procedure後就可以執行
EXEC TEST_ADD('0000000001')

SET NOCOUNT ON主要是希望不需回覆筆數
也就是"停止在部份結果集中傳回顯示Transact-SQL 陳述式或預存程序所影響之資料列數的訊息"

但是如果你希望執行本機stored procedure去操作遠端機器database

就必須改成

CREATE PROCEDURE TEST_ADD
@emp_no varchar(10)

AS

SET NOCOUNT ON
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
SET XACT_ABORT ON

BEGIN TRAN
INSERT LinkedServerName.master.dbo.testtable (emp_no) VALUES (@emp_no);
COMMIT TRAN
GO

並且不能在SQL Server Enterprise Manager下去新增stored Procedured
而要在Query Analyzer (前文提過)

以下是使用到Linked Server必須宣告的:

SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
SET XACT_ABORT ON

(2)Trigger

建立SQL Server的Trigger首先打開SQL Server Enterprise Manager, 選取要建立trigger的table, 按下滑鼠右鑑 ->所有工作 -> 管理觸發程序 (畫面如下)



然後鍵入

CREATE TRIGGER trigger_name ON tableName
FOR INSERT

AS

SET NOCOUNT ON
DECLARE @newSeq_id VARCHAR(10)
SELECT @newSeq_id = (SELECT seq_id FROM Inserted)
UPDATE TableName2 set counter=counter+1 where seq_id = @newSeq_id

以上就是做: 當表格有任何資料插入, 則去另一表格對應欄位去累加

如果如同上面說的, 要運作到遠端的Linked Server, 除了要建立linked server外, 程序要改成:

CREATE TRIGGER trigger_name ON tableName
FOR INSERT

AS


SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
SET NOCOUNT ON
SET XACT_ABORT ON

DECLARE @newSeq_id VARCHAR(10)
SELECT @newSeq_id = (SELECT seq_id FROM Inserted)
UPDATE LinkedServerName.master.dbo.TableName2 set counter=counter+1 where seq_id = @newSeq_id

以上只是大略敘述使用方式, 至於UPDATE/INSERT/DELETE以及更深的T-SQL就要自己再研究啦 ...


標籤: ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院