關於我自己

我的相片
New York, New York, United States
我叫江奕賢啦

2007年10月31日

畫關係圖超方便

online ajax graphviz, sif2gif


把下面這幾行貼到 http://ashitani.jp/gv/ 就能產生上面的圖了
a->b
b->c
c->a
b->d
d->a

如果你要複雜一點的 例如...你想在線上註釋關係的話






貼上下面這幾行 就能產生上面的圖了

m [label='Mark']
j [label='Josh']
d [label='David']

m -> j [label='Classmate']
m -> d [label='Classmate']
j -> d [label='Friend']
d -> j [label='Friend']

用來畫朋友間的關係 (friendster? email? twitter? 無名?六度關係理論...)
或者是用來畫is_a-have_a之類的圖 都超方便的

以後手動畫簡單的示意圖、關係圖、不需要再進unix用graphvis了
嗄?用word/powerpoint畫?能十秒幹完的事情 幹嘛花一分鐘幹?
PS:超過一兩百點的 我猜我還是會開cytoscape, 超過一兩千點的我還是會開yEd

2007年10月29日

gmail 2.0



Google Mail, New Version
If you see something like above, you are using new version.

亂搞twitter, 大家follow me !!!

既然都知道twitter用了Ruby on Rails
那要猜測一些捷徑就很方便啦
比如說 要加好友 就用下面這個link就好了
http://twitter.com/friendships/create/9156232
(注意!!!如果你已經login twitter, 則你一連到此頁 你就會自動follow me)

當然啦 只是這樣 不算亂搞
為什麼呢?
因為...大部分的人都會想說 那我假裝一個link 或者甚至iframe一個上面那種link
是不是逛我網頁的人都會follow我呢?
放心 twitter早就想到你會這樣惡搞
所以他們有查referer 像這樣
我猜應該是這樣所以到現在還沒有聽到什麼auto-follow的災害吧

這樣就可以阻擋我了嗎?當然.......不可能...
link 和 iframe 會被看到referer, 我就不能用個沒有referer的嗎?
有這種東西?我們試試看吧...一試就中
我選了javascript的open來用
測試看看
(RSS使用者請至 http://markchiang.blogspot.com/2007/10/twitter-follow-me.html 測試)

可是open不是就被人家看到了嗎?人家一定一下就把你移掉了吧?
那就在背景跳一下再用javascript幫他close就好啦
讚吧?!神不知鬼不覺~
而且上面的方法可是 IE & Firefox compatible 的喔 ;)

目前好像還沒有災情傳出來 看來我是第一個亂搞twitter的 ^_^"

PS:本招甚至可以做到你完全不需要click, 一個body onload或寫在header就行了

搶救光碟片上的資料(軟硬兼施)

非常慚愧 本人這幾天才在看那十幾年前流行的日劇『東京愛情故事』(原版光碟)
十幾年前 我還是阿宅 宅到不能在宅的阿宅
電影?看電影幹嘛?又沒朋友,一個人 還不如上我的bbs


前陣子 前女友回台灣前 問我有沒有看過『東京愛情故事』

想說還沒看過 (就算沒看過也聽過) 就接收了她帶不回去的東西

這幾天看的時候 我猜是因為年久失修 (雖然她保持的很好 都沒有刮傷)

有些讀不太到的地方 就換了四個player 看看有沒有player可以跳過有問題的部分

結果 有幾片就這樣讓我看完了


看到快完結篇了 有個檔案死都讀不出來 (copy也copy不出來)

換了好幾個player都沒用


所以 這篇文章 就是我去跟G神拿到的「雞絲」整理

1. 刮傷療法:

1.1 標籤面刮傷=>用油性筆給他塗一塗就行了

1.2 資料讀取面刮傷=>刮傷處塗抹牙膏(當研磨劑) 用乾淨毛巾磨擦至刮傷處復原(小刮傷約五分鐘即可復原)

2. 資料錯誤:

我是用IsoBuster讀出檔案未損毀的部分(叫他skip過所有的錯誤區塊)

此功能好像是免費的?

用起來還蠻簡單的(也許我的錯誤不嚴重吧) 選了檔案 叫他extract出來 並跳過所有錯誤 就存到我的電腦裡了

2007年10月27日

貼程式碼在blogger上

如果你只是很簡單的要encode你的原始碼 (貼blogger才不會亂掉)的話
可以用這一個網站 copy paste 就結束了
http://www.opinionatedgeek.com/DotNet/Tools/HTMLEncode/Encode.aspx
(這個我常用 沒啥問題)

如果你是處女座的 貼程式就是要左邊有行號 還要讓人可以很方便copy你的原始碼
可以用下面這一個(不過要下載些東西)
http://code.google.com/p/syntaxhighlighter/
可以幫你把各種語言弄成這樣
(不過這個我沒親自用過 看了說明 好像是放在textarea的tag裡...理論上就是會有bug 改天再確認一下)

2007年10月26日

免下載免安裝的Video IM與BitTorrent

http://imo.im/
不需安裝的IM服務 就像Meebo一樣 支援AIM, Yahoo, MSN, Google Talk
不同的是 他甚至支援video chat


http://www.bitlet.org/
免安裝, 用browser就能p2p下載 torrent

一些表特用的工具

下面這個bookmarklet幫你把網頁裡面的link都產生一個snapshot給你看

超適合用來看這個表特搜尋引擎 http://pttbeauty.twbbs.org/ 裡面的文章

改天我來試試看用這些關鍵字弄個像這樣的網站

改天我來試試看寫個程式從這裡看看鄉民推薦了哪些好照片 自動輸出表特版mrss
對我這個假鄉民來說 雖然可能偶而會被閃到或噁到 但是應該會比diggirl更新來得快

各大bookmark網站語法

起源:
1. 在blog的世界, pingoat pingometic之類的服務可以自動幫你ping一堆該ping的
2. 但bookmark的世界, 好像只有像AddThis那種或下面這種讓你一個網站一個網站加的
這樣...太不人道了
要是我是部落格格主(是這樣叫的吧?)幫自己網站打廣告我不是累死?
理論上 有pingoat、ping-o-metic這類的網站,就應該要有bookoat、book-o-metic這樣的東西吧?
甚至...應該要像blogger寫完文章自動幫你ping那樣 自動幫你貼到黑米、funp的功能吧
要不然 沒幫我的讀者放上去 讀者怎麼按推的?對吧?哇哈哈哈
沒有?那只好自己寫嘍~
寫程式之前 最重要的就是蒐集資料了
所以就有了下面這些....


下面的原始碼是網路上整理來的 可得到像下面這行

HemiDemi Yahoo! My Web MyShare Add this page to Search 2.0 Add this page to FunP Add this page to Search 2.0 YouPush Baidu Google Bookmarks Del.icio.us Digg technorati furl windows live

看起來eddyt7878應該有參一腳吧

原始碼用這個encode後 貼於下


<a href='javascript:desc="";via="";if(document.referrer)via=document.referrer;if(typeof(_ref)!="undefined")via=_ref;if(window.getSelection)desc=window.getSelection();if(document.getSelection)desc=document.getSelection();if(document.selection)desc=document.selection.createRange().text;void(open("http://www.hemidemi.com/user_bookmark/new?title="+encodeURIComponent(document.title)+"&url="+encodeURIComponent(location.href)+"&description="+encodeURIComponent(document.title)+"&via="+encodeURIComponent(via)));'><img alt='HemiDemi' border='0' height='16' src='http://eddyt7878.googlepages.com/hemidemi.jpg' title='HemiDemi' width='16'/></a>


<a href='javascript:desc="";if(window.getSelection)desc=window.getSelection();if(document.getSelection)desc=document.getSelection();if(document.selection)desc=document.selection.createRange().text;void(open("http://tw.myweb2.search.yahoo.com/myresults/bookmarklet?t="+encodeURIComponent(document.title)+"&u="+encodeURIComponent(window.location.href)+"&d="+encodeURIComponent(document.title)+"&ei=UTF-8"));'><img alt='Yahoo! My Web' border='0' height='16' src='http://eddyt7878.googlepages.com/yahoo.jpg' title='Yahoo! My Web' width='16'/></a>


<a href='javascript:(function(){d=document;w=window;t="";if(d.selection){t=d.selection.createRange().text;}else{if(d.getSelection){t=d.getSelection();}else{if(w.getSelection){t=w.getSelection()}}}void(window.open("http://myshare.url.com.tw/index.php?func=newurl&from=mysharepop&url="+encodeURIComponent(location.href)+"&desc="+escape(document.title)+"&contents="+escape(document.title),"newwin"))})();'>
<img alt='MyShare' border='0' height='16' src='http://eddyt7878.googlepages.com/myshare.jpg' title='MyShare' width='16'/></a>


<a href='javascript: void(window.open("http://search20.portal20.com.tw/x.jsp?f=1&u=".concat(encodeURIComponent(location.href)) .concat("&t=") .concat(encodeURIComponent(document.title) )));'><img alt='Add this page to Search 2.0' border='0' height='16' src='http://eddyt7878.googlepages.com/portal2.jpg' width='16'/></a>


<a href='javascript: void(window.open("http://funp.com/pages/submit/index.php?url=".concat(encodeURIComponent(location.href)) .concat("&title=") .concat(encodeURIComponent(document.title) )));'><img alt='Add this page to FunP' border='0' height='16' src='http://eddyt7878.googlepages.com/funp.jpg' width='16'/></a>


<a href='javascript: void(window.open("http://cliip.roodo.com/Main.php?do=Cliip&url=".concat(encodeURIComponent(location.href)) .concat("&title=") .concat(encodeURIComponent(document.title))));'><img alt='Add this page to Search 2.0' border='0' height='16' src='http://eddyt7878.googlepages.com/roodo.gif' width='16'/></a>


<a href='javascript:q=(document.location.href);void(open("http://www.youpush.net/submit.php?url="+escape(q),"","resizable,location,menubar,toolbar,scrollbars,status"))'><img alt='YouPush' border='0' height='16' src='http://eddyt7878.googlepages.com/yp.gif' valign='middle' width='16'/></a>

<a href='javascript:desc="";if(window.getSelection)desc=window.getSelection();if(document.getSelection)desc=document.getSelection();if(document.selection)desc=document.selection.createRange().text;void(open("http://cang.baidu.com/do/add?iu="+encodeURIComponent(location.href)+"&it="+encodeURIComponent(document.title)+"&dc="+encodeURIComponent(document.title)));'><img alt='Baidu' border='0' height='16' src='http://eddyt7878.googlepages.com/baidu.gif' title='Baidu' width='16'/></a>


<a href='javascript:desc="";if(window.getSelection)desc=window.getSelection();if(document.getSelection)desc=document.getSelection();if(document.selection)desc=document.selection.createRange().text;void(open("http://www.google.com/bookmarks/mark?op=add&bkmk="+encodeURIComponent(location.href)+"&title="+encodeURIComponent(document.title)+"&annotation="+encodeURIComponent(document.title)));'><img alt='Google Bookmarks' border='0' height='16' src='http://eddyt7878.googlepages.com/google.jpg' title='Google Bookmarks' width='16'/></a>


<a href='javascript:desc="";if(window.getSelection)desc=window.getSelection();if(document.getSelection)desc=document.getSelection();if(document.selection)desc=document.selection.createRange().text;void(open("http://del.icio.us/post?title="+encodeURIComponent(document.title)+"&url="+encodeURIComponent(location.href)+"&?es="+encodeURIComponent(document.title)));'><img alt='Del.icio.us' border='0' height='16' src='http://eddyt7878.googlepages.com/delicious.jpg' title='Del.icio.us' width='16'/></a>


<a href='javascript:desc="";if(window.getSelection)desc=window.getSelection();if(document.getSelection)desc=document.getSelection();if(document.selection)desc=document.selection.createRange().text;void(open("http://digg.com/submit?phase=2&url="+encodeURIComponent(location.href)+"&title="+encodeURIComponent(document.title)+"&bodytext="+encodeURIComponent(document.title)));'><img alt='Digg' border='0' height='16' src='http://eddyt7878.googlepages.com/digg.jpg' title='Digg' width='16'/></a>


<a href='javascript:void window.open("http://technorati.com/faves?add="+encodeURIComponent(location.href)+"&title="+encodeURIComponent(document.title))'><img alt='technorati' border='0' height='16' src='http://eddyt7878.googlepages.com/technorati.jpg' title='technorati' width='16'/></a>

<a href='javascript:(function(){d=document;t=d.selection?(d.selection.type!="None"?d.selection.createRange().text:""):(d.getSelection?d.getSelection():"");var%20furlit=window.open("http://www.furl.net/storeIt.jsp?t="+encodeURIComponent(d.title)+"&u="+escape(d.location.href)+"&r="+escape(d.referrer)+"&c="+encodeURIComponent(t)+"&p=1");})();'><img alt='furl' border='0' height='16' src='http://eddyt7878.googlepages.com/furl.jpg' title='furl' width='16'/></a>

<a href='javascript:function qa(){t=document.title;u=escape(location.href);var q="https://favorites.live.com/quickadd.aspx?marklet=1&mkt=zh-tw&url="+u+"&title="+t+"&top=1";location.href=q;}; qa();'><img alt='windows live' border='0' height='16' src='http://www.bookmarkz.net/images/windowslivefavorites.png' title='windows live' width='16'/></a>

2007年10月24日

以相似度搜尋圖片 Query Image by Similarity

1. retrievr (選image 選url)
http://labs.systemone.at/retrievr/

2. http://wang14.ist.psu.edu/cgi-bin/zwang/regionsearch_show.cgi

3. matlab wavelet compression example http://web.mit.edu/1.130/WebDocs/1.130/Software/Examples/example4.m

4. opendht 使用法
http://opendht.org/users-guide.html

5. opensource content based image retrieval engine (json, xml, perl supported) http://www.imgseek.net/

說明:
1跟2都包含了差不多的功能 不過不能自己上傳資料庫
所以本來打算用3和4自己做一個
結果發現裝個5應該就可以做到了

要這個幹嘛?看看能不能拿來自動『』人啊
把 ptt, wretch, flickr, xuite, pixnet 上面的妹妹全部index起來
下次有人要神某某人的時候 上傳個照片 就可以告訴他「她」是誰啦
神?大家都是神啦!

其他用處:
1. 應該也可以找到一些失散多年的兄弟姊妹吧 哈哈
2. 用來找相似的服飾(說不定找到兩萬塊的衣服 跟兩百塊的長得差不多)
3. 看誰盜了你的圖
PS:歡迎提供其他玩法

2007年10月21日

把無名相簿放在你的網頁上

無名相簿 ipod版 ver 1.0 出來了
讓你可以指定相簿
並把相簿以正妹產生器2.0的介面顯示在你網頁或者部落格上

主要功能:
照片直接從無名外連 (盜連?我的網站連連都沒有好不好?那是使用者連的)
點縮圖直接顯示大圖(在IE及FF測試過)
連結整本相簿
照片傳輸頻寬直接從有名大站

參考資料
1. 無名小站盜連圖片預防與破解
2. http://gais4.cs.ccu.edu.tw/~pwt94/www.wretch.cc/getalbum.php
3. http://chiucj.homeip.net/
4. http://bawbaw.deep.tw/removeDingDingform.php

2007年10月19日

把3D model放上Microsoft的Map上


Google有 3D Warehouse for Google Earth
Microsoft有Virtual Earth 3DVIA
台灣地圖?microsoft本來就有啊 只是是英文的

Microsoft也玩mashup

微軟出的叫Popfly
有點類似Yahoo Pipes
功能上比較完整一點(沒辦法~晚出來嘛)

不需要寫程式 就可以很方便的做到一些網頁程式效果
比如說

rss加上翻書效果 就變成以前流行的flash翻頁雜誌(突然找不到網址 是倒了嗎?)




照片加上3D旋轉 就變成3D像簿了


可以直接吃Yahoo, Flickr, 等搜尋出來的資料
也可以吃RSS, XML (所以也可以配和Yahoo Pipes和Dapper)
Facebook, Twitter, Technorati的資料

因此

flickr照片+地圖
漫畫blog+翻書效果=漫畫書
關鍵字+商品=商店
車況+地圖
美女圖+翻書效果=ㄟ書
...
這些都可以在不寫程式的狀況下弄出來


至於那些寫程式寫上癮的 放心!
你也可以直接用Visual Studio寫

看起來Yahoo Pipes的功能Popfly都有了
而且Popfly有包含GUI的部分
這是Yahoo Pipes所沒有的


看來以後Dapper+Popfly就差不多了


喔~忘了說...Popfly不只用來寫mashup啦
他還可以用拖拉的方式寫Gadgets和網頁呢

2007年10月15日

離可傳輸即時3D成像術越來越接近了

之前比較成熟的3D成像術有兩個:


一種使用藍紅眼鏡(或液晶眼鏡)雙眼分別成像 此法雖然可以傳輸 但是限制了使用者看的角度
(只能以攝影機的角度看 使用者把頭右移一點 並不能看到右邊一點的東西)



一為雷射光波干擾成像術(有些人稱雷射全像術)
這方法雖然可以不限制使用者看的角度 不過大部分只能做到固定物體的快照 沒辦法弄成動態的形式 也沒辦法電腦傳輸

目前有一些新的技術出來了 就快要可以解決上面的問題了

Adobe 3D Camara (詳見內附影片demo)
+
NYU 立體成像術 (概念為直接在兩個不同的眼球內成像 PS:移動裡面的頭試試看)

利用上面這兩種新方法
就可以一端用普通的Webcam配上Adobe的鏡頭
另一端配上立體成像術
達成像 Star War 裡面的3D立體影像通訊

2007年10月13日

小心Google洩漏您的姓名電話地址啊~

前幾天 Google Map 台灣版出來了
不知道多少人用裡面的『我的地圖』功能?
Google Map 推出了community maps (中文叫『社區地圖』)
這個功能有時候很好用 查得到很多別的地方查不到的資訊
(廢話 那些資訊是你在『我的地圖』裡面的資料嘛~別的地方當然查不到)
很多人以為那是『你自己的地圖』別人看不到 那你可要小心了
Google毫不保留的幫你把你的地圖展現給大家看呢!
有些人用『我的地圖』做通訊錄;讚啦!全班所有同學的資料都上去了
手機、電話、地址、姓名...
是嫌這個社會詐騙電話不夠多是吧?

好用之處範例
吃滷肉飯之前 先看照片確認是不是我喜歡吃的那種滷肉飯



恐怖之處範例
...





水能載舟 亦能覆舟

2007年10月12日

Pandora?KKBOX?過時了啦~用這個吧!


很多人用了Pandora之後 一直打聽怎麼用Pandora聽中文歌
答案是 目前Pandora還不能聽中文歌

但是現在新出了一個網站Yobo, 就像中文版本的Pandora
不過比Pandora功能多多了

1. 不但讓你對歌曲下tag
2. 也讓你幫歌打分數或點歌給別人
3. 或者把歌曲弄成歌單 放進自己的部落格或網站裡
4. 沒有自己的歌單的話 當然也可以直接用現成的排行榜
5. 內建常見的web2.0社群功能 讓你可以透過歌交朋友
6. 或跟喜歡同類型歌的朋友交換意見
7. 介面設計得蠻特別的 聽歌功能幾乎在同一個畫面就可以完成
8. 內含專輯封面以及動態歌詞

玩法很多
1. 比如說 用tag聽歌 緊急!第三者出現!
2. embed在自己的網頁裡
3. 像Pandora那樣訓練自己的頻道
4. 訓練好的頻道可以嵌入自己的部落格
多不勝數 自己玩吧

雖然目前還不知道他們有沒有合法授權
不過我個人覺得這個網站有潛力威脅KKBOX
尤其在KKBOX的DRM被破解之後 真是腹背受敵啊

2007年10月11日

Google Map 台灣版正式上線


今天突然發現我的地圖網站流量跳了一下 猜測應該是新聞出來了
Google Map 台灣版 正式上線了

也因此 之前的測試版Google Map Mapplets也做了些改變
想要用Google Maps看即時台北市停車場資訊的人
加入那個功能的方法有點小改變
詳細方法請見這篇

2007年10月5日

DIY 3D Object Laser Scanner 自製3D物體掃描器


不知道大家有沒有曾經跟我一樣 想要把身上身邊的東西掃成立體的3D model 放進電腦裡保存?
你知道3D scanner一台多貴嗎?(台幣七萬到七十萬)
怎樣?自己做一套出來吧!

只需要下列材料
1. 大家(或你的朋友?)都有webcam吧?
2. 去夜市買個可換頭的雷射筆(要確定可以照出一條直線的)大概台幣三百以內就有了
3. 印表機(拿來印後面的背景 供電腦判斷物體位置)

然後去download下面那個免費軟體
http://www.david-laserscanner.com/

方法
1. 把布景印好、架設好
2. 把webcam架設好
3. 把物體放在布景中央
4. 執行程式
5. 拿雷射筆上下掃射

簡單吧

記得!掃臉的時候 眼睛要張開 (這樣才生動) 乖~掃完記得要去看眼科醫生喔!