<![CDATA[Category: productivity | Tzeng Yuxio]]> 2012-12-15T06:19:44+08:00 http://tzengyuxio.me/ Octopress <![CDATA[我的貼標籤規範]]> 2012-04-21T06:33:00+08:00 http://tzengyuxio.me/blog/2012/04/21/my-tagging-guideline 前幾天討論了目前各家網站標籤功能的混亂,即便有這些混亂,「標籤」仍是訊息管理非常重要的一個工具,也是落實真正語義網(semantic web)的一個基礎。

too many tags!

然而正由於目前沒有一致性的標籤標準,人們對於標籤的使用也很隨興,所以會常常看到下面三種情形:

  1. 同一個概念以不同的詞語組合方式標籤

    例如一篇文章中同時加入了 win7, Windows 7, MS windows 7, windows-7 等標籤,有縮寫、有全名、有各種不同的連接詞。這種現象在以搜尋流量為主的媒體網站中尤為常見。上面的圖就是一個活生生血淋淋(?)的例子,這組關鍵字取自 Engadget 的這篇文章

  2. 同一個概念以不同的單字形式標籤

    以英文做標籤的網站中很容易發生這種情形,因為一個概念在不同的詞性表現下就是不同的單字,因而成為不同的標籤關鍵字。例如我想要加上「部落格」這個標籤,用英文寫時就可能同時把名詞、動詞、動名詞,還有單數型複數型全部通通填上去,像這樣: blog, blogging, blogs

  3. 同一個概念以不同的語言標籤

    這個就是多語言使用者的苦惱了。例如像我這樣的宅宅就會因為以下 動畫, アニメ, Anime, 動画 等標籤到底要用哪個好而苦惱,而最後的結果通常就是全部都用。

這三種情形都是用不同的方式去標籤同一個概念,雖然初衷是為了將來方便搜尋,但往往反而導致搜尋時的困難。考慮以下情形:假設我的一篇部落格文章用了 win7Window 7 作為標籤,另一篇主題近似的文章卻是用了 Windows 7win-7 作為標籤。這種不一致性會讓讀者在前篇文章中點下 win7 這個標籤連結時,無法將所有主題相關的文章列出。

另外一個問題則是製造不必要的心力浪費。因為沒有一個標準來選擇用哪個單詞做標籤,因此也不知道自己將來要回頭找資料時,會用哪個單詞來做搜尋,只好想辦法把所有自己想得到的所有相關字一股腦兒全部填入。

為了避免上述問題,雖然目前每個網站的標籤機制如同多頭馬車各行其道,制定一個自己個人使用的標籤習慣(或規範)倒是可行的一個作法。這個問題相信困擾的不只是我,上網找了一下,有兩篇值得參考的文章,第一個是 Calvin C. Yu 所寫的 Taggin Guidelines (在投影片中的第 13 頁),主要原則如下:

  • 簡練
  • 小寫
  • 單數

另一個參考是由 Hutch Carpenter 所提出的,他認為標籤機制應該有個標準,而這個標準就是複數詞組,逗號分隔 (Multi Word, Comma Seperated)。


而我自己所使用標籤的標準如下:

  1. 簡便性

    1. 盡量簡單。

    2. 方便輸入。所以標籤時會以英文為主,例如用 browser 而不用 瀏覽器

    3. 自己容易想起。通常第一個想到的字詞就是了。

    4. 使用容易理解的詞。

  2. 一致性

    1. 一個概念一個詞。所以 動畫, アニメ, Anime, 動画 就只剩下用一個 anime

    2. 小寫。同樣是為了方便輸入。

    3. 用單數,用名詞。當然,這免不了會遇到例外情況,主要還是要依照使用情境判斷。

    4. 人名的標記盡可能從主人。例如使用 菅野よう子 而非 菅野洋子, 韩寒 而非 韓寒。除非該人名的原始拼寫方式我不熟悉,例如我總是想不起來戈巴契夫怎麼拼,那就直接用戈巴契夫吧。同樣是以自己方便為最高原則。

    5. 除非是自己口語常用的縮寫,不然不使用縮寫作標記。nds win7 xbox360 都很好理解,可是用 resp req 來做為 response request 標籤的替代,就太過頭了。現在連寫程式都不鼓勵這種縮寫了。

  3. 格式

    1. 省略單字間空白。也就是說用 macosx 而非 mac os x。不過英文人名是例外;日常用字如 smartphone 我們容易斷字,相對的人名如果省略空白有時候就不容易逆推。其他如果空白省略會造成歧異的話,也應該保留空白於關鍵字中。

    2. 以逗號區隔關鍵字。正確來說應該是以「逗號加空白」區隔關鍵字。


以上便是我個人使用的標籤規則。如果你有不錯的標籤習慣,也歡迎一起討論分享。

]]>
<![CDATA[形形色色的標籤機制]]> 2012-04-18T09:53:00+08:00 http://tzengyuxio.me/blog/2012/04/18/inconsistency-of-tagging-formats inconsistency of tags

「標籤」功能,在今天的網站應用中,已經是極為普遍的一種機制,甚至在許多桌面的應用上也可以見到「標籤」的蹤跡。在不同的地方,標籤可能有不同的名字,例如:

  • tag: Picasa, Flickr, YouTube, amazon, WordPress, 豆瓣
  • label: Gmail, Blogger
  • keyword: iPhoto, Aperture
  • hashtag: Twitter, Google+
  • category: Anobii, WordPress

考慮到中文翻譯的話,又更加混亂:

  • 標籤:Flickr, Gmail, Blogger, 豆瓣, WordPress
  • 標記:Picasa, YouTube
  • 關鍵字:iPhoto
  • 分類:Anobii, WordPress

針對以上的清單進行耙梳,我們可以得到下面幾個觀察:

  1. 這些類似的功能中,最常見的英文名字是 "tag",中文名字是「標籤/标签」。

  2. 然而在 Google 的產品中,"tag" 通常翻作「標記」;「標籤」這詞則是用在 "label" 上(儘管他們兩者功能接近)。

  3. hashtag 有其自有的形式:#somewordswithoutspace, 不過其使用的方式與目的和單純的標籤(tag)並無太大差別。

  4. 有些應用服務存在著 category 與 tag 兩種機制,一個物件(例如部落格文章)可能只隸屬於單一分類(category)但可擁有多個標籤(tag)。但是現在越來越多的應用服務都可以讓使用者將單一物件同時歸屬於多個分類之下,使得分類與標籤的界線漸趨模糊。

  5. 可以從另外一個角度來釐清分類與標籤的不同:分類屬於事先規劃好的清單,標籤則是依照物件內容隨意添加的清單。

  6. 不過在只有「分類」沒有「標籤」機制的網站中(如 Anobii),「分類」的使用方式其實跟「標籤」是沒有兩樣的。

  7. 反之,只有標籤機制的網站,如 Blogger, 某種程度上也可以透過標籤來模擬分類的機制(可以參考此網站的右側選單)。

蠻混亂的,不是嗎?為了方便起見,我這邊用「分類 (category)」、「標籤 (tag)」與「Hashtag」來稱呼上面一大堆名字所代表的功能,其中「標籤 (tag)」同時也代表了 labelkeyword

分類、標籤與 Hashtag 三者的功能接近又互相重疊,命名也是各家網站各自為政,沒有個準。不過混亂還沒結束,讓我們針對「標籤」的部份,繼續深入研究下去。

標籤格式

標籤的格式牽扯的問題既廣且深,它不僅決定了使用者在輸入欄位中填入標籤的方法,也涉及到了資料儲存在資料庫中的方式。標籤的格式有以下幾個考量層面:

  1. 間隔方式

    常見的間隔方式分兩種:空白逗號。Flickr 採用空白間隔,Blogger 與 YouTube 則是逗號間隔。這邊還看不出什麼大問題,請接著看下去。

  2. 允許空白與否

    基本上,大多數的標籤功能都允許標籤內含空白,我們免不了會遇到例如 "White House""Windows Vista" 這樣的標籤。這時候不同的間隔方式就會帶來不同的考量了。

    1. 以空白間隔的標籤,為了要允許空白字元作為標籤的一部分,所以必須引入引號,被引號包住的詞算做一個標籤,這是 Flickr 的作法。所以一張有「white house」標籤的照片,也許是張白色的房子;而一張有「"white house"」標籤的照片,則可能是美國白宮。不過這樣會使得引號無法作為標籤的一部分,比方說「5'7"」(五呎七吋)這樣的詞就不能拿來當標籤了。

    2. 以逗號間隔的標籤,在含有空白間隔的標籤問題上看起來比較單純。但實作上其實有一點要注意,就是真正的間隔符號並非單單只有逗號,而是逗號加上一個空白。因為人們在輸入時習慣在逗號後面加入空白,如果說空白是合法標籤字元的話,那麼為什麼只有單字間的空白才被記入,單字前後的空白都被忽略呢?

  3. 大小寫

    這邊再以 Flickr 與 YouTube 為例子作比較。YouTube 對於標籤的大小寫是照單全收,所以 "TREE" 標籤點下去的搜尋就是 "TREE",而反之全小寫標籤的搜尋文字就是小寫的,反正搜尋結果無視大小寫,所以不成問題。

    Flickr 的作法稍微複雜些,除了你所輸入的之外,Flickr 還會另外將標籤簡化,然後儲存。你可以在三張照片分別使用 "TREE""Tree""tree" 這三種大小不同的標籤名,顯示時也是顯示各自不同的大小寫,然而他們都是代表著同樣的一個標籤。所以,如果你在一張照片中使用了 "TREE" 的標籤後,接著再輸入 "tree" 標籤,會發現沒有任何反應,因為標籤重複了。

  4. 內部處理

    Flickr 在輸入標籤時所做的處理,除了大小寫外,也套用在空白上。因此,"White House", "whitehouse", "WhiteHouse" 這三個標籤同樣都是指向 "whitehouse" 這個內部處理的標籤。Flickr 內部運作時的標籤,是會把空白去掉並且全部轉為小寫字母。

    Youtube 就不同了,如前所述,你輸入什麼標籤它就存什麼,所以 "White House""whitehouse" 是不同的。事實上,你用這兩組字串去 YouTube 搜尋,也會得到不一樣的結果。


延伸閱讀:Tag formats: Can't we all just get along? - Signal vs. Noise (by 37signals)

2005 年的文章。估計是 37signals 要實作標籤系統時,研究了當時幾個主流網站的標籤機制,對象包括 del.icio.us, 43things, Yahoo’s My Web, flickr 與 Amazon。這篇文章底下也有頗多值得一看的討論。文章的最後提到:

當新科技剛出現時,不一致是免不了的。然而這些不同的格式是否會持續下去,或是終將會有個標準一統天下呢?

2005 到現在,都六、七年了,標籤功能其實仍舊處於混沌未明的時代。

]]>
<![CDATA[關於 Mac 快速檢視 (Quick Look) 的幾個小秘訣]]> 2012-03-11T18:17:00+08:00 http://tzengyuxio.me/blog/2012/03/11/tips-for-mac-os-x-quick-look 我用了 Mac 好一段時間了才知道,原來對檔案直接按空白鍵可以開啟快速檢視 (Quick Look);又隔了好一段時間,才又知道原來快速檢視除了內建的之外,還可以加上些外掛以增加支援檔案類型。下面是一些我所用到的 QuickLook 相關技巧整理。

BetterZip Plugin

在 Terminal 下開啟快速檢視

除了在 Finder 中按空白鍵外,有時候在 Terminal 底下工作時,也可以利用指令來開啟快速檢視,這樣可以減少鍵盤滑鼠的切換以提升效率。開啟的指令如下:

$ qlmanage -p [FILE]

把 [FILE] 替換成要開啟的檔名即可。不過這指令也不算短,要更方便的話,可以在 ~/.bashrc 中加入以下指令別名 (alias),這樣只要輸入 ql [FILE] 就可以立刻檢視了:

sh alias ql='qlmanage -p'

對了,設定檔 .bashrc 預設在 Mac OS X 中是不起作用的,可以參考這篇文章來讓 .bashrc work。

增加支援檔案類型的 Plugin

快速檢視本身支援文字、圖片、音樂、影片等基本檔案格式,至於其他不支援的格式則只會顯示一個大大的檔案 icon。透過以下 Plugin 可以增加快速檢視支援的檔案格式,安裝很簡單,只要將下載下來的 *.qlgenerator 檔案放到下面路徑之一:

  • (Macintosh HD)/Library/QuickLook/ 安裝給本機的所有使用者
  • ~/Library/QuickLook/ 只安裝給自己使用

壓縮檔 (Archives)

BetterZip 2 - The Next Generation of Archiving

上面這個外掛預設是暗色背景的,如果喜歡白色背景的(如同文章開頭那張圖),可以考慮下面這個修改版本:

farfanoide/BetterZ-QuickLook-plugin-theme-for-Lion

程式碼 (Code)

qlcolorcode - A Quick Look plugin for source code with syntax highlighting - Google Project Hosting

CSV 檔案

quicklook-csv - A QuickLook plugin to quick look CSV files for Mac OS X 10.5+ - Google Project Hosting

快速檢視文字檔案時,可以複製文字

按空白鍵檢視文字檔案內容很方便,可是有時候如果想要複製文字,就得另外再開啟文字編輯,相當麻煩。在 Terminal 下輸入以下指令,可以讓你在快速檢視文字檔時,也能選取想要的片段,然後按 Cmd+C 複製出來。

$ defaults write com.apple.finder QLEnableTextSelection -bool TRUE; killall Finder

用不同的應用程式開啟

在快速檢視時,右上方會有個按鈕讓你以預設關連的應用程式開啟。如果你想要用其他的應用程式開啟,例如用 Photoshop 開啟圖檔,那麼只要按著右上方按鈕不放,就會出現選單供你選擇想要開啟的應用程式。

以全螢幕開啟快速檢視

選取檔案,然後按下 Cmd+Opt+Y,就可以直接以全螢幕方式進入快速檢視,這對影像或是影片格式相當有用。

其實也可以在按著 Opt 的狀態下按空白鍵進入全螢幕的快速檢視,不過像我有安裝 Alfred, Opt+空白鍵 預設會啟動 Alfred 的輸入視窗,因此就沒辦法用來開啟快速檢視了。

∞ Permalink

]]>
<![CDATA[BOM (Byte Order Mark) 與 UTF-8]]> 2012-03-09T20:28:00+08:00 http://tzengyuxio.me/blog/2012/03/09/bom-byte-order-mark-and-utf-8 記一些關於 BOM 與 UTF-8 的個人筆記,省得以後每次遇到還得重新上網搜尋做功課。


Byte Order Mark 在 UTF-16 Big Endian 是 "FE FF",Little Endian 是 "FF FE"。其中 Mac 系統主要是 Big Endian, PC 系統則是使用 Little Endian。

UTF-8 由於本身特性,不管 Big Endian 或 Little Endian,其 BOM 一律為 "EF BB BF"。

不過個人建議,文字文件要儲存的話,盡量以 UTF-8 格式存。而以 UTF-8 儲存的文件,盡量不要放 BOM 進去。為什麼呢?因為 UTF-8 的一個特色就是能與 ASCII 系統相容,如果文件中沒有包含非拉丁字元的話;要是放了 BOM 進去,就破壞了這相容性。

在 VIM 中的 BOM 相關操作

加入 BOM

:set bomb

移除 BOM

:set nobomb

查詢 BOM 狀態

:set bomb?

在 Terminal / Console 下的 BOM 相關操作

查詢包含 UTF-8 BOM 的檔案

$ grep -rIl $'^\xEF\xBB\xBF' [FILE]

找出並移除 UTF-8 的 BOM

$ grep -rIl $'^\xEF\xBB\xBF' [FILE] | xargs sed -i 's/^\xEF\xBB\xBF//;g'

編碼的轉換

$ iconv -f [FROM_ENCODING] -t [TO_ENCODING] [FILE]

其中 ENCODING 的部份可以是以下數值:

  • UTF-8 UTF8
  • UTF-16BE
  • UTF-16LE
  • UCS-2BE UNICODEBIG
  • UCS-2LE UNICODELITTLE

更多 ENCODING 代碼可以透過 iconv --list 查詢。

∞ Permalink

]]>
<![CDATA[幾個我常用的 Alfred 自定搜尋]]> 2012-02-19T23:45:00+08:00 http://tzengyuxio.me/blog/2012/02/19/alfred-search 雖然用了 Alfred 一段時間,但是直到最近才開始認真挖掘裡面的設定。其實 Alfred 安裝好不用特別設定,就已經很好用了,像是程式本身預設許多網頁搜尋,從常見的 Google、Yahoo!、Amazon 與維基百科,到比較少人知道但很好用的 wolfram 等,都是現成裝好就可以用的。

Alfred Custom Search

不過每個人常用網站不同,在軟體的預設網站之外一定有遺珠之憾。好在 Alfred 也有提供自定搜尋選項的功能,以下就來分享我自己設定的 Alfred Custom Search。

這些 Custom Search 的安裝方式很簡單,只要將底下以 alfredapp 開頭的一串文字複製起來,叫出 Alfred 的指令視窗(預設是使用 ⌥Space),貼上剛才複製的文字,按下 Enter 就好了。

奇摩字典搜尋

  • Keyword: dict
  • 說明:就是查字典。dict 後面可以接中文詞或是英文單字。

alfredapp://customsearch/Yahoo%21%E5%A5%87%E6%91%A9%E5%AD%97%E5%85%B8%E6%9F%A5%E8%A9%A2/dict/utf8/url=http://tw.dictionary.yahoo.com/dictionary?p={query}

flickr Creative Common 搜尋

  • Keyword: fcc
  • 說明:Alfred 已經有內建 flickr 搜尋了,不過並不是任何找到的圖片都可以隨意使用。如果你有在寫 blog 並且會上 flickr 找圖片來點綴文章的話,這個搜尋可以幫助你找到合適的圖片。

alfredapp://customsearch/Search%20Flickr%20CC%20for/fcc/ascii/url=http://www.flickr.com/search/?q={query}&l=commderiv&ss=0&ct=0&mt=all&w=all&adv=1

世界時間查詢

  • Keyword: time
  • 說明:Time.is 是個簡單但方便的網站,可以以城市名稱查詢該地目前時間。安裝好此 Custom Search 後,就能用 time tokyotime 東京 的語法來查詢當地時間。

alfredapp://customsearch/%E7%9B%AE%E5%89%8D%E7%9A%84%E6%99%82%E9%96%93%EF%BC%8C%E5%9C%A8/time/ascii/url=http://time.is/{query}

線上音樂搜尋

  • Keyword: gs
  • 說明:Grooveshark 是很大的線上音樂網站,找到就可以直接串流播放了,中英文搜尋都 OK。

alfredapp://customsearch/Search%20Grooveshark%20for/gs/ascii/url=http://grooveshark.com/#/search?q={query}

Stack Overflow 搜尋

  • Keyword: so
  • 說明:寫程式的人幾乎都得拜訪的聖地。google 程式問題時幾乎都會找到這邊來,乾脆就直接在 Stack Overflow 上搜尋吧。

alfredapp://customsearch/Search%20Stack%20Overflow%20for/so/ascii/url=http://stackoverflow.com/search?q={query}

Apple Developer Connection 搜尋

  • Keyword: adc
  • 說明:對 Apple 開發者很方便的搜尋。

alfredapp://customsearch/Search%20ADC%20for/adc/ascii/url=http://developer.apple.com/library/mac/search/?q={query}

PChome 線上購物 搜尋

  • Keyword: pchome
  • 說明:台灣最大的購物網站......吧?我沒有數據,單純只是自己蠻常用的。

alfredapp://customsearch/Search%20PChome%20for/pchome/ascii/url=http://ecshweb.pchome.com.tw/search/v1/{query}

Mac App Store 搜尋

  • Keyword: mas
  • 說明:尋找 Mac App Store 裡面的應用程式,也是我相當常用到的功能。

alfredapp://customsearch/%10Search%20Mac%20App%20Store%20for/mas/ascii/url=macappstore://ax.search.itunes.apple.com/WebObjects/MZSearch.woa/wa/search?q={query}

博客來搜尋(僅書籍)

  • Keyword: books
  • 說明:博客來相信我就不用介紹了吧。以下的語法專門用來查詢書籍,如果要查包含書籍以外的物品,可以用下面的語法來查詢。

alfredapp://customsearch/Search%20%E5%8D%9A%E5%AE%A2%E4%BE%86%E6%9B%B8%E7%B1%8D%20for/books/ascii/url=http://search.books.com.tw/exep/prod_search.php?cat=BKA&key={query}&apid=books&areaid=head_wel_search

博客來搜尋(全站)

  • Keyword: bkl
  • 說明:同上,就不另外說明了。

alfredapp://customsearch/Search%20%E5%8D%9A%E5%AE%A2%E4%BE%86%20for/bkl/ascii/url=http://search.books.com.tw/exep/prod_search.php?cat=all&key={query}&apid=books&areaid=head_wel_search

]]>