10/14/2009

Flex 4 滑鼠按住不放

今天為了找滑鼠按住時可以持續作用的function 試了好久,終於找到了!

原來Button有一個autoRepeat的屬性,只要設為true 就可以在滑鼠左鍵按住不放時自動重複ButtonDown的事件 範例如下:






























10/12/2009

Hero 取 root

先把建議寫在前面好了,如果要保留中文輸入,我覺得現在不是很好的時間!

昨天主要試2個不同的方法:

  1. 直接在原廠的partition加上su指令

  2. 換成客製的ROM


第一個方法原則上可以保留中文輸入,但是在我很開心的試了整晚,很挫折的卡在某個步驟,然後才搜到一篇論壇文章說現在拿到的Hero全部都有鎖,解鎖方法超複雜,還要焊接…小的實在無熊為力~"~
http://forum.xda-developers.com/showpost.php?p=4257045&postcount=38



第二個方法基本上可以work,Hero上我找到的都是Modaco的Rom,他update超快,昨天看到已經是2.5.1版了,

通常Modaco出來會分二個版本,Core、Chinese Core,

2.5.1目前core已經出來了(還有Enhanced版),但是Chinese版還沒好,據網站說很快就會release了

昨天嘗試了modaco,作法很簡單,不過因為不是中文版,雖然語系可以調成中文沒錯,不過我怎麼試都不能把輸入模試換成中輸~"~

作法我先放出來好了,等中文版release就可以來試試看了!操作方式推荐可以看theunlockr.com 的影片教學!大致分兩個步驟:

  1. http://theunlockr.com/2009/08/27/how-to-root-your-htc-hero-in-one-click/

  2. http://theunlockr.com/2009/08/27/how-to-load-a-custom-rom-on-your-htc-hero/


第一步應該主要是讓手機可以進到Recovery Mode (一般的手機會進不去),所以要做的事情有:

  1. 下載需要用到的東西們
    flashRec.apk
    cm-hero-recovery.img (網站上提到可以使用新AR版我進到Recovery Mode要繼續時,找不到他說的Green Button,雖然功能加了不少,還是先用舊版的吧)
    Modaco's Custom Rom Core
    Modaco's Custom Rom Enhanced (不一定要抓,只是多了plurk跟名片辨識功能而已)

  2. 把抓下來的兩個檔案存到手機sdcard的根目錄

  3. 在Android Market上找到app Installer並安裝

  4. 打開app Installer找到剛剛copy到sd卡裡的flashRec.apk 安裝!

  5. 在程式清單中找到Recovery Flasher進入

  6. 按下"Backup Recovery Image"按鈕

  7. 在文字框輸入"/sdcard/cm-hero-recovery.img ", 然後按下"Flash Custom Recovery Image"按鈕

  8. 選擇關機

  9. 同時按下"Home"跟"power"鍵,直到畫面出現Recovery的圖案(要按有點久,我覺得!)

  10. 利用軌跡球移動到下面的"backup" 選項,按一下軌跡球開始備份

  11. 畫面上出現complete訊息後,選擇wipe data

  12. 操作完成後,選擇第三項,接下來會跳出你想要update的zip檔列表,選擇 core的zip 檔

  13. 如果不想裝enhaced版的,可以等畫面顯示完成後,直接選第一項重新開機就ok了。想裝enhaced版的再按一下第三個選項,選擇enhanced的zip檔,同樣等畫面好了之後重新開機

  14. 重新開機(要等很久)之後會跳到語言切換的畫面,先選擇English(United Kindom),設定完成以後再進到程式列表中找到More locale,進去之後最下面就有中文的選項可以選了!


不過就算換成了中文,我還是沒有辦法把輸入法也切過來,鍵盤上怎麼樣都沒有中文輸入,去"設定"裡面也沒有用,要是有人知道該怎麼辦請再跟我說吧!感謝!

10/08/2009

Hero上發文

這昰用Wptogo這個在Hero上的App來發文的,好用的話就可以開始慢慢加上Android好App推荐系列文了:P

9/21/2009

Google 路線規劃

欠了一堆該整理出來的東西沒有完成時,我發現了google一個超棒的功能!這個功能棒到讓我覺得如果不立刻把這件事情紀錄下來真是太可惜了!

到底是什麼功能呢? 看了我的標題可能會以為我怎麼會為了一個很常見的功能而大驚小怪!但是,我必須要說的是,我們都把Google 想簡單了!!!

事情的開始是這樣的,這學期我修了一門行動電話程式設計,我們的第一門作業是要尋找一個你想要解決的問題,還要幾張自己的照片或圖片!這個作業題目對我來說一點也不難,因為我修這門課本來就是為了要讓我跟Brian能更緊密啊>////<

因此,我要放的第一張圖片理所當然該是展示我們兩個之間的距離圖。距離圖當然要用Google Map啦!於是我用了路線規劃,起點設Brian的所在地:Davis, CA,終點當然就是台大了!接下來,Google就幫我跑路線規劃了!!

天哪!!跨洲也能規劃!
是的,請見下圖,真的可以規劃唷!這次google幫我排的行程中間還會短暫的在太平洋上某個小島休息!!!Google 有沒有這麼貼心呀!
P.S. 也有過境日本耶(撒花花)

Distance

接下來,我很好奇Google究竟會怎麼規劃它的整個路程…,所以我仔細看了旁邊的指南!

guide

沒錯,你沒看錯,真的是搭獨木舟!!!XDD
但是這樣就結束 了嗎?不,我們再繼續把畫面往下拉!
guide2
哇!連水上摩托車都出來了… Google 果真是讓人想不透啊!!
最後,我們還是來總結一下這個路程吧!
guide3
嗯,總共需要37天…原來我跟Brian的距離不是只有16個小時啊…T.T

Google 你真是太酷了!!!

8/18/2009

Interaction Cost

最近念了一篇Infovis Symposium 2008的paper

題目是:A Framework of Interaction Costs in Information Visualization(link)
作者是Heidi Lam,現在在google工作
這篇文章review了434篇paper,然後參考了Norman's model,將所有user在Interaction的cost分成了七項,並且分別舉例,方便大家理解。(這裡的cost不妨當作機會成本來理解)

Norman's model是Donald A. Norman 提出來的HCI model,大致是將Interaction分成兩個stage, 7個細項:



  1. Execution: 指user的想法到傳遞給computer的過程
    (1)  establish the goal: user:在腦中決定想要做的事
    (2)  forming the interaction:組織系統操作的過程
    (3)  specifying the action sequence:確定行為流程
    (4)  execution the sequence:執行行為

  2. Evaluation:指computer的feed back傳遞到user理解的過程(1)  perceiving the system state
    (2)  interpreting the system state
    (3)  evaluating the system state


不過在這篇paper它修改了原始的架構,改成3個stage,將原來establish the goal 獨立為一個階段,因為這個階段與系統本身的互動並沒有太大關係,所以獨立出來。而原來兩個stage仍繼續保留。新版的stage如下:





然後他根據這七個階段,分別定義出七種不同的cost:

HTML CSS 基本教學

投影片下載

基本架構




標題


內文


注意事項

  • <xxx></xxx>是一組標籤,標籤通常是相對的,有開始標籤<xxx>,也有結束標籤</xxx>,有的標籤只有一個,這種標籤要寫成這樣<xxx 屬性/>

  • 標籤大小寫不拘



常見的HTML Tag


超連結


Yahoo


插入圖片




  • 單寫寬度或高度可等比例調整圖片大小

  • px 也可以換成百分比表示

  • title屬性表示滑鼠移過去時要顯示的說明文字

  • alt屬性表示圖片無法讀取時所顯示的文字

8/17/2009

8/20 MA Memo

Recommender Systems Research:A Connection-Centric Survey (link)




7/24/2009

Simplexml

讀檔:
$xml = simplexml_load_file("iv04dataset.xml");
if(!$xml) echo "fail";

找element(利用xpath找):
$t = $xml->xpath("/articles/article[@id='acm721078']");

讀value:
echo $t[0]->title;

讀attribute:
$attr = $t[0]->attributes();
echo $attr["id"];



6/22/2009

HCI 6/23 Talk 筆記

人處理information的process!!!

social networking

傳統研究:
cluster怎麼組成
information flow
transition property
Zipf'law and email-world networks
→ 把人看成node
comment: It's not enough

multi-level approach
人跟機器的處理應該是不同的
可以對人的behavior做比較好的預測

"social-level": 把人當成一個flow
"cognitive-process": 解釋跟限制node的interaction
"perceptron-level"

一個人是如何處理大量的information?
→Information need
→Goal?

如何從Search去學習 Information? model mental Integration!!!
Information foraging:

SNIF-ACT
reenforce leraning:人跟動物怎麼看到東西
Information Scent
Action Selection
對簡單的page有list of link
再計算每個link跟goal的match有多高?
總體的evaluation放到action selection
對不同的query會有不同的profile

看到跟決定有沒有用不見得是同時的事,可能會參考別的result的結果!
(大概看到第4個link時去click第1個link的機率最高)


law of surfing
Aggregation
從congitive的角度出發,跟直接觀察發現畫出來的pattern是一模一樣的!

Chin,. Fu,Kannampallil, 2009
ill-defined task : elder做比較好
well-defined task: younger做比較好
不同的cognitive abilite(Aggreate)→Search Strategy→Search Performance
Different Information task structures/


information goal 是ambiguous
但是在search 過程中會不斷改變

exploratory searching ←→ Social
human search怎麼影響到search performance

folksonomies
open vocabulary problem→不同的人有不同的indexing的話,會不會不好做

experiment on exploratory search:
1. tag的確是有效的
2. 除了可以找到需要的資料的話,可以把裡面的資料很好的categorize→對topic的了解比較深入

semantic limitation Model

Conclusion
multi-level 可以有不同的explanation
可以多跟心理系合作xD




5/24/2009

Technical Writing 05 - Body

這星期進到內容的部份啦(原來剩下三週課程就結束了!!!)

Body雖然會因為內容而異,但是還是有一些基本的準則可以參考的。
首先,一段應該只有 one idea!!!

它的結構跟一篇文章的結構很像,大致可以分成:
  1. Beginning (Topic Setence) : 這段的idea,大概用1~2句話描述
  2. Middle (Supporting Idea): 證明topic sentence的evidence.
    Again, 3 is the magic number!!! 通常外國人習慣接受是三個理由,或是三個例子(這是最剛好的數量)
  3. End (Concluding Sentence): 用一句話總結整個句子,簡單的summary,可以用第一個句子換句話說XD
  4. Transitional Sentence: 這是optional的,一般作文有的話可以讓段落間的flow很流暢,但是在paper中,因為段落之間差異太大,通常不會加!

另外,在段落或Supporting Idea的發展時,常用的有
  1. 從大題目到specific的小題目(寫introduction時也常用這方式)
  2. 空間順序(由遠而近或由近而遠)
  3. 時間順序(順敘法或倒敘法)
  4. 流程:這是paper裡面最常用到的作法。

另外因為我上星期詢問是否可以找一篇外國人寫的Introduction,讓我們看看什麼才是好的introduction,所以David找了一篇外國學生寫的文章讓大家參考,雖然不是conference paper
看起來只是一篇學生的作業,不過David說這篇寫的非常的簡潔易懂,是個很好的sample!

還有,David另外還給了一份reference檔,分別講寫各個不同的部份時可以用的句子,句型。

這星期紙本資料很多,所以投影片看起來少少的:p



Technical Writing 04 - Introduction

所謂萬事起頭難,Intorduction真的是每次都讓我最頭大的一部份!

一開始,David便回應第一堂課我的問題:Abstract跟Introduction的差異
(奇怪,怎麼又是我的問題,我果然是問題寶寶~~哈哈)

先講相同點:
  1. 兩個都要把目的、動機寫出來
  2. 兩個都要提到概略方法、主要結果還有結論
那不同在哪呢?
  1. Intorduction雖然最好不要太長,不過通常我們不會有字數限制(Review: Abstract建議字數大約是200字左右)
  2. Introduction的主要目的是提起動機和背景,因此通常都會從比較general的地方開始,再慢慢導入到specific的問題,也就是這篇paper想解決的問題,提方法跟結果的目的只是讓讀者知道要怎麼繼續讀下去。
    Abstract則是對整篇paper做一個簡短的summary,所以paper的結論相對而言比introduction還要重要,而且abstract也不需要(也沒有空間)做像introduction的導讀。
David先提了一般在寫Introduction常見的開頭法,不過他最推荐的還是top-down approach(General topic->Specific topic):
  1. Quotation : 一般作文常見,不過不要拿來用在寫research paper上
  2. Question: 類似中文作文的疑問句法囉(不會的去問國小作文老師= =)
  3. Opposite Opinion: 
  4. interesting fact: 
  5. paradox: mystery推理小說似的寫法
  6. Analogy: 跟現有東西的比較
不管用哪一種開頭,一定要銘記在心的是寫Introduction的兩個功用:
  1. Define: 定義要解決問題
  2. Divide: 把問題分成小部份,讓之後的段落可以各個擊破!
一個好的introduction可以讓你上天堂,也可以讓你住套房(我在講什麼啊XD)
因為introduction才是讀者看到的第一段話(並不是Abstract),所以在Introduction要做到的事情有: 先吸引讀者的注意力,告訴他們這篇paper的背景知識,讓他們對你提出的問題產生興趣,最後再引導他們到你的thesis statement!

接下來提到我們常常會犯,而且會搞砸一篇paper的錯誤:
  1. 時態:可能是我們的語言沒有時態,所以這是超容易犯的錯誤。不過之前我以為這個錯誤還好,反正外國人也知道我在講什麼嘛~~沒想到David說這會是他最頭大的地方,因為他念到不同的時態,會自己感覺到時間,但是當描述的時間跟動詞的時間不一致時,就會讓他覺得整篇文章念起來很不通順!!! 我沒想過文化不同
    簡單的說,除非是well-known fact,不然只要是我們自己paper的result,一定要用過去式,因為你一定要做完了才能submit你的結果啊,所以只能用過去式!!
  2. 不要在paper裡面提到你們的author裡面誰做了什麼事,這一點也不重要。
  3. 不要用主觀的語氣描述事情(ex. I feel, I think, I believe...)
  4. 不要用太情緒化或誇張的字眼(ex. huge, wonderful, etc.),這類詞語很不精確,用在paper上或弱化paper的力量。
  5. 為每一個重點寫下你的解釋或證據證明這一點是對的。不要只是一直換句話說。
這次的sample 是交大的paper(link)
"Because tremendous commerical potential"一開始就很明確的告訴人家牛肉:money!!!!
然後給了一個這個領域的overview。在第二段接著講可以用的scenario帶出問題,還有他們打算怎麼解決。

David非常讚賞這篇,因為他說連他這個不是cs領域的人看了introduction都能知道他們想做的是什麼。



5/12/2009

flex DragManager

在flex 裡面要做drag,除了幾個原來就有implement drag的controller以外,
還可以利用DragManager來處理

假設物件A要拖到容器B裡面,用Drag Manager的話,最基本的用法就是:

  1. B listen DRAG_ENTER 事件
  2. B listen DRAG_DROP 事件
  3. A listen MOUSE_MOVE 事件
我在網路上找到了一個很好sample code: flex 2 Drag and Drop 練習

然而實作的時候卻發現一個大問題
假設我的容器B長這樣:
<mx:Canvas id="playground" width="300" height="300"></mx:Canva>
測試時發現, DRAG_ENTER完全沒有被觸發!!!不死心繼續找,終於在某次發現是background,是background啊!!

只要在attribute裡面設定了backgroundColor或backgroundImage,就可以讀得到了!!!
如果不設background只設border,那只有在經過border(有畫出來的時候)才會觸發DRAG_ENTER event!!!!


所以這時候就出現一個問題了,如果我就是不要background怎麼辦,
目前我只能用繞道的方式解決,也就是除了設定background以外,另外再加上:
backgroundAlpha="0"

呼!!

5/05/2009

Technical Writing 03 - Active Voice

這星期一開始先複習了上次abstract的重點,
這次拿了另一篇paper來講(怎麼都挑CYY的啊XD)

David說這一篇的abstract就寫得不錯,不過我們在討論這篇abstract的時候
對於哪部份是purpose有小小的爭論了一下!
我覺得後面的furthermore那句應該也要算,David則覺得它的寫法不能算,
因為purpose還有一點motivation 的意思,它的寫法只算大略提到future work。

討論完abstract之後就進入上一次上課最後提到的問題:Active Voice!!!

一般句子大約分成三種型式:主動、被動、以上皆非(Linking Verb):
  1. 主動式指的是句子的主詞是執行動作者,這類句子給人的感覺比較積極,寫自己的work時最好要用這種方式來寫。
  2. 被動式指的是句子的主詞是接受動作者,通常語氣比較委婉,適合用來描述別人的work使用
  3. 以上皆非指的是非主動也非被動,也就是單純描述一個狀態,例如:The weather is awful.通常句子裡面用be動詞的就是這種類型的句子。
然後就是一些練習啦,其實主被動在國中(或國小)早就是考到快爛掉的東西了,不過對於語氣給人的感覺沒有David提,我還真的沒注意到這種差異呢!!!

下星期就要進入Introduction了!!

4/28/2009

Technical Writing 02 - Abstract

注意事項
  1. 必須是stand alone
  2. 可以視為paper的小reference
    ★ paper內容沒有的,abstract一定不可以有
    ★paper重要的內容,abstract一定要有,而且出現的order要跟paper一樣
     ex.  如果正文裡先討論了property A,再討論property B,那在abstract裡面也要先寫A 再寫B
  3. 不能過長(通常是200字左右)

元素
  1. purpose:  通常不超過2句
  2. method: paper所使用的方法,包括evaluation
  3. result: 你的main findings
  4. conclusion
  5. implication

技巧
  1. 善用technical term!! 
     但是除非是這個領域的人常見的縮寫,否則儘量避免使用(要省字數應該要省在更重要的地方)
  2. 儘量使用主動式取代被動式,這對於增強文章的力度很有幫助(關於主被動式的描述在下一節課會討論)

Technical Writing 02
View more presentations from Tingyen Lee.
這次上課討論的兩篇paper的abstract,第一篇是photo navigator, 這篇因為寫法的關係,主要的method居然讓David以為是result,反而是後面比較minor的地方被誤以為是

主要method!!
原句為:The proposed system is characterized by two main features. First, ...

這個寫法讓David覺得像是買東西時會寫在產品包裝的文宣,而不像是在寫真正的idea。經過跟大家的討論之後,David終於發現這其實是系統的主要contribution,所以他建議換一個寫法


We look at the system in following way. 
或是
These are the most important element what we are concern at

這樣換掉比容易讓人感覺它真的是這個project 提出來的想法,而不是只是在闡述它的impact

除此以外,還可以把原來的被動式換成主動式,句子寫起來
更有自信

David 另外挑的一篇wedding video的在下次上課才要討論:p

Technical Writing 01 - Introduction

第一堂課並沒有立刻focus在technical writing,先講了一般作文的基本知識


★ Thesis Statement:  
  1. 這是每篇文章的主旨
  2. 通常在第一段的最後一句
  3. 必須是一個完整的句子
  4. 要specific, narrow down to the topic

★架構:
  1. Introduction:
    包含Thesis statement,最常見也最容易寫得好的方法是top down approach,也就是先從一個比較general 的idea出發,再慢慢zoom in 到Thesis Statement
  2. Body:
    寫出支持thesis statement的理由,3 is the Magic Number!!!!
    通常的寫法是 Topic sentence 1 → Supporting detail 1 →...
    最後可以加個paragraph summary. (不加也可以)
  3. Conclusion:
     solid end,最好是一段短短但讓人印象深刻的文字(要夠有power)
    很重要的一點是不能有new information
寫作習慣
中國人(跟台灣人) 的寫作習慣是"藏",會把中心思想放到文章的最後才寫,中間的段落只提供線索,所有的東西要留到最後一段才會"合"

西方人的習慣是一開始就寫明主旨,然後在各段一直重複提到主旨,讓人對主旨印象更深刻
有人是這樣形容這種作法的,我覺得很貼切的描述了這個作法:
  1. Tell your audience what you are going to tell thme!
  2. Then tell them.
  3. Then tell them what you told them. 

Technical Writing 01
View more presentations from Tingyen Lee.

最後討論的時候提到了technical writing 跟 一般作文應該還是有些分別,David答應要回去好好看看paper再跟我們分析。


另外,還有人(好啦,就是我XD)問到Introduction跟abstract的分別,David說會在後面的課程幫我們分析:p

3/11/2009

Note on Implement Force-Directed Layout

1. Resistance: use G1G2/r^2
 However, Since r may be too small, we'd better add a limitation on the final return force

2. Attraction: use K△X

3. Gravity: Use mg

4. On calculating the component of the force: 
use θ = arctan(△Y / △X ) F_x = Fcosθ , F_y = Fsinθ
remember to deal with △X = 0

Algorithm: follow wikipedia

3/05/2009

Bib Browser

之前滿苦惱要怎麼管理我的bib檔,本來有找到一個JabRef
這是一個滿強大的管理工具,不過只能local執行
但問題是我的bib檔都是放在工作站上的,找了很久

終於找到這支php browser:  bibtexbrowser

他的特色是超級小,而且只有一個檔案XD
所以現在我可以很簡單的在線上瀏覽我的bib檔了
(唯一的缺點是不能直接管理,不過幾乎已經符合我的需求了!)

這是我的ReadingList

2/23/2009

Prototype!!!!

I just finished my prototype last night
(I shall finished it earlier, but I am just too lazy~"~)

try this online

the data set is the abstract of the vis week papers during 1990 to 2008.


2/09/2009

Sankey Diagram

在我苦思好久怎麼解決表現relationship問題的時候

偉大的Chris提出了一個超棒的想法:Sankey Diagram

剛好可以解決我的問題!!!


然後他說我的東西結合Sankey Diagram大概就像Theme River結合Sankey Diagram

應該還滿有價值的(撒花花~~)

但是我最好不要讓它變得太application

朝這兩個圖的概念結合起來應該是比較可行的方向!!(筆記)

2/06/2009

fetch related tags in different days of del.icio.us

For my study, I just write a small PHP program, which shows the relation of a specific tag in different days.

the php file could be download from here 

The return format is as follow
<data name="Queried Tag" >
   <date time="
YYYYMMDD" total="number of tag at that date">
      <tag name="
related tag" count="number of co-occurence"/>
   </date>
</data>


Actually it directly parse the info on the del.icio.us page.
To avoid being banned by del.icio.us, the program would sleep 1 second for each 10 pages.

I would also think of adding the count of the related tag of a specific day. However, instead of really go through  all pages until find the day, I have no good idea of fetching those information. 

If any of you have a better solution, please help me, Thanks!!!!


Thanks for the HTML parser written by S.C.Chen.
For more detailed info, please visited the SourceForge
Also, there's a simple chinese tutorial over here


2/02/2009

Difference between InfoVis and HCI

HCI focus on "New interaction skill"

Infovis uses tranditional interaction, but what may be more important is "New Layout"


User study is really important for HCI, and it also helps a lot on InfoVis.
(But I think they're not as important as that in HCI)