星期日, 5月 11, 2008
[Programming] JRTPLIB and VC
星期一, 2月 11, 2008
[Software] 好用必備軟體-Must Have
Cobian Backup
http://www.educ.umu.se/~cobian/cobianbackup.htm
免費功能強大的備份軟體
7-Zip
7-Zip 是以高壓縮率著稱、為基於 GNU LGPL 之下散佈的自由軟體。
用於備份(*.7z),速度極快,跟用tar差不了多少時間,但是可壓到三倍小.
AntiVir PersonalEdition Classic
AntiVir PersonalEdition Classic是一套由德國AVIRA公司所開發的防毒軟體,除了一般賣錢的商業版本,還有專門給個人使用的免費版本。
速度快,不佔資源,防毒功能強。A+++
FastStone Image Viewer
http://www.faststone.org/FSViewerDetail.htm
FastStone Image Viewer 是一款免費的圖像瀏覽,轉換,編輯工具。和ACDSee相比,具有其絕大多數功能,體積卻小得多,支持所有常見的圖像格式。
速度快,不用錢,功能強,比ACDSee還好用。
Free Download Manager
http://www.freedownloadmanager.org/
Free Download Manager是一款免費的檔案下戴續傳工具。和FlashGet相比,具有其絕大多數功能,支持所有常見的下戴協定。
不用錢,功能強,Open Source。
星期三, 1月 16, 2008
Xming 免費的X-Win32
2. 記得到C:\Program Files\Xming, 改X0.host檔, 把遠端linux系統ip加入, 不然無法redirect screen.
3. 連到linux, export DISPLAY="192.168.0.yourip:0.0"
星期五, 11月 09, 2007
profuis and vs2005 crash
/////////////////////////////////////////////////////////////////////////////
// Czech resources
#ifndef __EXT_MFC_NO_RESOURCES_CZECH_DEFAULT
#if !defined(AFX_RESOURCE_DLL) defined(AFX_TARG_CSY)
#ifdef _WIN32
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
#pragma code_page(1250)
#endif //_WIN32
#include "Resource_csy.rc"
#endif // Czech resources
#endif // __EXT_MFC_NO_RESOURCES_CZECH_DEFAULT
/////////////////////////////////////////////////////////////////////////////
星期四, 11月 01, 2007
[Programming] Make VS 2005 IDE like VC++ 6's
1. Change the font of (TextEditor, Output Window, Find and Replace Window) to Fixedsys
[Option]->[Environment]->[Fonts and Color]->[Font]
2. Change the Window Layout to Multiple Documents.
[Option]->[General]->[Window Layout]
3. Config Class View
Uncheck [Show Base Types] and [Show Derived Types]
Now, it better. My Good OLD Days.
星期六, 10月 06, 2007
[程式設計]BVRDE : UNIX 遠端寫c/c++程式的IDE
星期二, 8月 07, 2007
[Programming] Visual Studio 2005 Professional 中的相等 MFC class wizard 功能
(1)對控制項和功能表建立事件映射的功能;
可以通過在資源視圖(通過雙擊資源檔案*.rc可進入該視圖),右鍵某一個功能表或者控制項,
在彈出的功能表中選擇“添加事件處理程式”,接下來就跟VS6一樣了;
(2)添加表單的消息映射;
在類視圖(通過功能表“視圖->類視圖 Ctrl+W,C”可以進入)上雙擊類,
然後在類上右鍵,選擇“屬性”功能表,進入屬性介面,在屬性介面上邊有幾個
事件、消息的按鈕,點擊消息後選擇具體創建的消息即可。
星期日, 7月 29, 2007
[學術研究]Import text from Word or Notepad
很好的文章,教你如何用文字檔轉入PowerPoint檔,不用再跟PowerPoint格式奮鬥。
Import text from Word or Notepad
Recently, a friend told me he sometimes copied and pasted text from a Microsoft Office Word document into PowerPoint and then changed the size, color, and so on on every slide.
You should never have to do that.
You can import text from Word or even Notepad (or any text editor) to create a new presentation. This is called importing an outline. Follow these steps to create the outline:
Open a Word or Notepad document.
Type the content if you haven't already done so, following the guildines below.
Make sure each line, whether for a slide title or bulleted text, is on its own line. There should be no blank lines, because these come in as blank slides!
Before each line of bulleted text, insert a tab.
To create 2nd-level bulleted text, insert two tabs.
Save the file as a .doc or .txt file.
Here's an example:
To use the outline, follow these steps:
Start a new presentation.
Choose File > Open.
From the Files of Type drop-down list, choose All Outlines.
Find your file, select it, and click Open.
That's it! Your presentation is created! Here's an example. The only change I made was to use the Title Slide layout for the first slide.
As you can see, the text comes in the appropriate size, according to the slide master.
You can also insert an outline into an existing presentation. Perhaps you have some content that you want to use for just a couple of slides. Follow these steps:
On the Outline tab of the Outline pane, click the slide you want the outline content to appear after.
Choose insert > Slides from Outline.
Select your outline file and click Insert.
星期五, 7月 13, 2007
星期六, 2月 10, 2007
[Travel] 大陸銀行開戶之心得篇
(1)大陸銀行開戶步驟簡單,銀行不像台灣週休二日。基本上,大陸銀行週六日都還營業,所以隨時都可以開戶。約20分鐘即完成開戶手續。
(2)大陸銀行眾多,需多加比較。一般來說,選擇四大銀行就沒有錯,四大銀行的營業據點多,分行數多,較適合常常因工出差的人,到異地才領得到錢。
(3)大陸銀行風險不低,不要存太多錢。一般旅遊開戶,沒有大陸聯絡地址,沒有大陸電話,一旦出現問題,很難去處理。另外,沒有存簿,很難知道交易情況。最重要的是,如果你的錢被盜領,相信一定找不回來。大陸那麼大,你要去跟誰要錢?台灣被盜領都很難拿回來,何況大陸?
(4)使用大陸網銀要十分注意,風險極高(台灣網銀也一樣)。基本上只要中了木馬,被Key Logger記錄你的帳號及密碼,我想你的錢就會消失了。建議申請數位簽章(憑証),以避免風險。另外,請裝防毒軟體、Firewall,注意網址是否正確, e.g, landbank and 1andbak,避免被人家掉包,落入陷阱。
(5)住在台灣,想操作資金,不太可能不去開網路銀行。Keep in mind: risk, risk, and risk--風險是最大考量。
[Travel] 大陸銀行開戶之基金篇
開完戶後,登入網路銀行,就可以開始購買基金。大陸的基金,同台灣的基金一樣,都要手續費。依基金公司的不同,手續費也有所不同,大約2%。大陸的基金手續費收取的方式有二種,一種是前交易式,一種是後交易式。前交易式,是指你購買基金時,就付清手續費。後交易式,是你贖回基金時,才付清手續費。因此,同一個基金,有的公司會分成二個購買代號,一為前交易式,一為後交易式。一般來講,後交易式的好處是--你的手續費因為贖回才付清,所以等同先投資再付費,可能會有較高的收益。不過,後交易式的基金,贖回手續費好像會較高些。依需求而定,可自行選擇。
大陸是人治社會,中央政策嚴重影嚮股市。因大陸股市漲幅己大,風險亦高,且政府開始注意股市,避免炒作。所以,我只有買1000 RMB,交個學費。 網銀買基金很簡單,只要輸入基金代碼、購買金額、網銀密碼,即可完成申購動作。基金購買的日期需四個工作天左右,才完成購買動作。
[Travel] 大陸銀行開戶之網銀篇
網路銀行使用方法:
以交銀為例,只需輸入你的ATM卡(太平洋卡)的帳號號碼及上網密碼,就可以登入。所以ATM卡很重要,掉了就很麻煩。登入網銀後,就可以直接進行各種交易, e.g., 購買基金。
以招銀為例,招銀的網路銀行有二個操作版本:(i)大眾版(ii)專業版。大眾版同交銀一樣,只需輸入你的ATM卡(一卡通)的帳號號碼及上網密碼,就可以登入。登入網銀後,就可以直接申請及進行各種交易。專業版登入的方式較為不一樣,不需輸入ATM卡(一卡通)的帳號號碼,但是需要先申請數位簽章及認証。在開網銀時,你可以選擇文件式及移動式數位簽章。所謂文件式數位簽章,如同台灣網銀的數位簽章一樣,上網下戴簽章到你的電腦後,就可以使用網銀功能。而移動式數位簽章則是把數位簽章存在特殊的Usb隨身碟硬體中,招銀的Usb隨身碟硬體叫U盤,需要88RMB的費用。取得U盤後,上網登錄授權碼,接著就可以把簽章下戴到U盤中。以後要使用網銀時,只需插入U盤,輸入密碼,就可以進入專業版操作。
以我的觀點,大眾版跟專業版的功能差不多。但是專業版有個好處,因為使用數位簽章,上網時不用輸入ATM卡(一卡通)的帳號號碼,可以減少網路銀行被盜用的機率。所以,建議各位申請一定要申請數位簽章,不論是文件式及移動式數位簽章。
至於,文件式及移動式數位簽章的最大不同在於你使用文件式數位簽章(憑証)只能在同一台電腦使用,要換一台電腦操作,需先匯出數位簽章(憑証),比較麻煩。而移動式數位簽章,則只要有U盤,任何電腦都可以使用。買不買U盤,看你的需求而定。
p.s. 交銀也有U盤,好像是100RMB。有點小貴...
[Travel] 大陸銀行開戶之開戶篇
1. 招商銀行
2. 交通銀行
大陸銀行有很多,最大的銀行有四間:工商銀行,中國銀行,建設銀行,農業銀行。為什麼不是選擇上述分行,原因主要是(i)招商銀行是消費金融及網路銀行業務較強,(ii)交通銀行則是基金購買手續費較為優沃(ps. 大陸近半年來2006.6 - 2007.1 ,上海A股漲幅約一倍左右,台胞沒辦法直接投入買A股,只能買基金),及(iii)腿酸了,要找個銀行休息 :)。
台胞開戶只要有台胞証及人民幣就可以了,不用印章也不用按手印。開戶一般來說並沒有最低存款限制;以招銀來講,不用存錢。以交銀來講,存10元即可。開戶範本文件如下:
開戶需填開戶表,主要要填的欄位有: 姓名、証件類別、証件編號、大陸聯絡電話及地址。其中証件類別填"通行証", 証件編號為你的台胞証號碼, 聯絡電話及地址需為大陸聯絡電話及地址(一定要填)。如果沒有,可以填飯店住址(不建議,但通常只好這樣子,可能會影嚮一些文件寄送,不過網友的經驗是還ok)。
開戶時,會請你自行輸入提款密碼,至少要六位數數字。一般來講,開完戶會給你ATM提款卡,並不會給你存簿(存簿需另外申請)。此外,大部分的人也會同時申請借記卡(Debit Card)的功能,所謂借記卡,就像信用卡,主要的不同是你的帳戶要有錢,才可以刷卡消費。在一些商店,你可以買東西,結帳時刷借記卡,此時商家會拿出一台機器,請你輸入密碼。當你輸入完成,交易金額就直接從你銀行戶頭扣除,如果沒錢,就無法完成交易。Debit Card在歐美國家比較普遍。 招銀開啟借記卡功能不用錢,交銀開啟借記卡要5元手續費。
ATM提款同行同地區提款大致上應該不用錢,但同行跨不同省份, e.g., 於上海招銀分行提領廈門招銀分行的錢, 就要手續費。如果是跨行提領, e.g, 交銀領招銀的錢, 就要更多的手續費,約提領金額的1%, 不過有上限50到200 RMB。大陸銀行有各種不同名目的手續費,比台灣的銀行還搶錢。且大部的手續費,不是固定費率, e.g., 5 RMB, 而是依交易金額按一定比例來收錢, e.g., 萬分之五, 一萬元就抽你五元手續費(還好,通常都有上限)。所以,在大陸銀行交易前,一定要先比較費率,以免被當有錢的大爺。
星期五, 2月 02, 2007
[Travel] 廈門行
[第一天]
坐11:00的馬可波羅到廈門,航行時間約50分鐘。
到了和平碼頭,辦理入境簽証,因己有五年期台胞証,只需辦落地簽。落地簽需填表,100RMB及一張二吋大頭照。如果沒有台胞証,可辦一次性質的台胞証及簽証,需150RMB及二張二吋大頭照。因小三通往來人數多,海關檢查速度很快,如沒有什麼不良記錄,應可快速通關。p.s. 大陸色情光碟的刑責很嚴重,之前有人帶100片左右光碟,就被關了半年多,不要亂帶。
和平碼頭的旁邊是東渡,可以坐船到鼓浪嶼。鼓浪嶼極為推蔍一遊,到廈門不去鼓浪嶼,可以說沒有去過廈門。因前年己去過,此行就沒去。
出關後,步行至廈門中山路,此時己接近中午。接著,到中山路旁的巷子,找到了一家店"東記漁粥"吃中餐,此店為馬可波羅上的船員介紹,看起來還滿乾淨的。在"東記漁粥"點了一碗"瀘魚粥",RMB 6元。此瀘魚粥湯鮮味美,魚肉亦極為鮮甜,物超所值。
吃完後,此時約下午2:00,因此行目的之一為到銀行開戶,且此行並沒有事先訂好旅館。於是,朝著之前網路上找到的"青年陽光酒店"的"輪渡店"前行。該"青年陽光酒店輪渡店"的地址是廈禾路268號。因此,我離開中山路,沿著廈禾路步行。步行到"大同小學"附近,剛好看到"招商銀行",於是先進去開戶。取了號碼牌,填了資料,花了約30分鐘,完成了開戶任務。
離開招商銀行,繼續沿著廈禾路前行,到了"源通中心"(即268號)。坐了電梯,到9樓尋找"青年陽光酒店輪渡店"的登記處。找到了登記處,有二位櫃台人員,說明來意後,櫃台人員帶我去看房間設施。房間看起來很乾淨,設備亦不錯。因此,當下決定入住,房價為138RMB。入住時,需填資料及繳交300RMB保証金。接下來,就先到房間休息一下,再決定晚上行程。
房間有電話、電視、及寬頻上網。住房時服務員設定電話,給予2 RMB的免費通話額度,可撥打大陸市內及行動電話。電視則是用數位機上盒,可以看大陸各地衛視,約60餘台。原以為可免費寬頻上網,實則要付費,到櫃台購買上網點卡,為中國聯通的點卡,10 RMB可以上網5個小時,還可以接受。房間還有茶具,服務員送了二個鐵觀音茶包,可以泡茶。
稍事休息後,此時約下午五點於是,決定到廈門大學看看。由廈禾路步行到東渡口,坐了公車到廈大。廈門的公交車路線綿密,十分方便。票價為一元,上車投現。因人民幣一元有紙幣及硬幣,故投入口有二種。一個for紙幣,一個for硬幣。
到了廈大,就進入校園參觀。廈大風景優美,很多遊客於校園散步。校門口進入不遠處有超商,買了瓶礦泉水 1 RMB及轉接延長線33 RMB for NB晚上充電。此時,天色己晚,肚子有點餓。剛好有看到廈大的學生食堂,想說去體驗體驗。於是進入食堂中,開始了在廈大吃自助餐的經驗。食堂中有各式菜餚,採點菜的方式,拿個餐盤,指著你想要吃的菜,就有服務員打菜給你。打完菜後, 服務員會告訴你總價,然後你就去櫃台先買單。買完單後,再把單據拿給服務員,服務員才會把你打的菜給你。我點了二菜一肉,共5.2 RMB, 另外,買了二個饅頭,一個饅頭0.4 RMB。因此,晚餐也是花了6 RMB。廈門的菜餚口味偏重,比較鹹。除此之外,味道還可以。
吃完晚餐,走出廈大,沿著廈大一條街前行。廈大一條街,晚上還滿熱鬧的,附近有麥當勞、肯德基。此外,還有個小夜市,販賣一些飾品、衣物等。走累了,就進去麥當勞研究一下麥當勞指數,也就是麥當勞在各國的價格指標。點了一杯小可3.5RMB, 一個小薯4.5RMB,換算成台幣約15元及20元,並不便宜。二年前,我也去過廈門,與當時麥當勞的價格應當一樣。不同的是,二年前,廈門的麥當勞人可羅雀,現在則是人庭若市,不可同日而語。整個麥當勞都客滿,一位難求。由此可見,這二年廈門的經濟環境大為改善,人民消費力增加,麥當勞己可以被大陸人接受。對照台灣的消費緊縮,形成一個強烈的對比。
吃完麥當勞,接著就坐公交車回住宿的地方。回到住宿的地方,於陽台上發現附近有"好又多"超市。因此休息過後,到"好又多"超市逛一下。"好又多"如同台灣的"大潤發",產品大同小異。於超市中閒逛一下,發現大陸的產品約台灣的七折價,也就是說如果飛柔洗髮精是100 NT,則飄柔洗髮精約70NT=17 RMB(飄柔是飛柔的大陸同品牌產品)。目前,人民幣一直升值,產品的價格不像以前差距那麼大。另外,大陸的產品品質亦持續改善,雖不若台灣的產品,但也快相近不遠。當然,有些產品還是很便宜,但品質的差距就很大。一分錢一分貨。
以上是指生活用品的價格,如果以一般散裝的食物,則價位約為台灣的一半。例如麵包、牛奶等。於超市中買了桃酥、蜜柑及牛奶後,就回酒店休息,結束一天的行程。
[第二天]
睡覺睡到自然醒,之前聽說廈門的足浴(洗腳)有提供餐飲,因此,就想去尋找看看是否腳底按摩的同時,也可以解決吃飯的問題。此時大約中午,就決定出去,解決吃飯的事情。
於是上網先尋找廈門足浴資訊,聽說"大桶水"這家店吃的不錯,就想去試試看。從地圖上看起來不遠,因此,就用步行的方式,希望能找到這家店。沒想到,出門忘了帶地圖,真的會迷路:( 。一直找不到,腳又很酸。決定到另外一家足浴"富橋保健"去試看看。富橋保健的店,在廈禾西路上的二樓,房間古色古香,看起來還不錯。進入店中,服務員問是要"標準房"或"貴賓房","標準房"60RMB, "貴賓房"70RMB。標準房的房間為六人共用,貴賓房為二人。貴賓房可享用免費飲料、水果及餐點。後來選擇貴賓房,服務員就帶到房間,問有沒有指定的師傅,沒有的話,他會介紹。後來師傅來了,是位男的,就開始足浴的過程。所謂足浴,事實上就是腳底按摩。在富橋,有規定要按摩滿110分鐘,師傳才可以結束按摩。一開始,先端出一桶中藥水洗腳,接著,開始按摩,由足底(腳掌)開始,小腿,大腿按摩,每個步驟約按摩10-20分鐘。因為是男師傅,力道較大,有時會被按到很痛,可以請他按小力些。在按摩的同時,房間有電視可以觀看,可以看大陸的各省衛視,約60餘台。另外,服務員有送上水果,是梨子,還不錯。
星期三, 8月 23, 2006
[Computer] Windows XP missing boot file hal.dll, Ubuntu
The solution is to edit c:\boot.ini file, and change the partition number to 1, or 2.
You can go to ubuntu to mount the windows xp partition, then edit the file.
星期日, 7月 09, 2006
[Computer] How to install multiple versions of GCC
It may be desirable to install multiple versions of the compiler on the same system. This can be done by using different prefix paths at configure time and a few symlinks.
Basically, configure the two compilers with different --prefix options, then build and install each compiler. Assume you want "gcc" to be the latest compiler and available in /usr/local/bin; also assume that you want "gcc2" to be the older gcc2 compiler and also available in /usr/local/bin.
The easiest way to do this is to configure the new GCC with --prefix=/usr/local/gcc and the older gcc2 with --prefix=/usr/local/gcc2. Build and install both compilers. Then make a symlink from /usr/local/bin/gcc to /usr/local/gcc/bin/gcc and from /usr/local/bin/gcc2 to /usr/local/gcc2/bin/gcc. Create similar links for the "g++", "c++" and "g77" compiler drivers.
An alternative to using symlinks is to configure with a --program-transform-name option. This option specifies a sed command to process installed program names with. Using it you can, for instance, have all the new GCC programs installed as "new-gcc" and the like. You will still have to specify different --prefix options for new GCC and old GCC, because it is only the executable program names that are transformed. The difference is that you (as administrator) do not have to set up symlinks, but must specify additional directories in your (as a user) PATH. A complication with --program-transform-name is that the sed command invariably contains characters significant to the shell, and these have to be escaped correctly, also it is not possible to use "^" or "$" in the command. Here is the option to prefix "new-" to the new GCC installed programs:
--program-transform-name='s,\\\\(.*\\\\),new-\\\\1,'
With the above --prefix option, that will install the new GCC programs into /usr/local/gcc/bin with names prefixed by "new-". You can use --program-transform-name if you have multiple versions of GCC, and wish to be sure about which version you are invoking.
If you use --prefix, GCC may have difficulty locating a GNU assembler or linker on your system, GCC can not find GNU as/GNU ld explains how to deal with this.
Another option that may be easier is to use the --program-prefix= or --program-suffix= options to configure. So if you're installing GCC 2.95.2 and don't want to disturb the current version of GCC in /usr/local/bin/, you could do
configure --program-suffix=-2.95.2
This should result in GCC being installed as /usr/local/bin/gcc-2.95.2 instead of /usr/local/bin/gcc.
星期一, 3月 27, 2006
[Computer] Windows XP no sound
You can go to control panel to [Add new hardware], then choose a sound device...e.g., "Microsoft" MPU-401 compatible devices..
And then reboot....
You will see your favorite sound device comes back and works again...... if you are lucky..
I am the lucky one.
星期二, 10月 05, 2004
[Network] ns2 除錯
☆用 gdb 來 debug
使用gdb (GNU debugger)可以對debug更有幫助,
例如難解的segmentation fault
不過ns-2.1b9目錄需要重新compile
編輯 Makefile.in
找到底下兩行
$(CPP) -c $(CFLAGS) $(INCLUDES) -o $@ $*.cc
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $*.c
改成
$(CPP) -g3 -c $(CFLAGS) $(INCLUDES) -o $@ $*.cc
$(CC) -g3 -c $(CFLAGS) $(INCLUDES) -o $@ $*.c
執行 ./configure
./make
(因為compiler依據Makefile.in產生Makefile,
若改在Makefile則無效)
完成後,可以這樣使用(我的tcl放在 ~ns/examples )
gdb ../ns
(進入gdb畫面)
r kiwi.tcl
或是 r kiwi.tcl > log1 (r即為run)
通常程式中斷時,用backtrace 可以查呼叫關係
另外b(breakpoint)可以設中斷點
設中斷點的方法:
打 gdb ../ns 之後
進入gdb 命令提示列
打 b [路徑][檔案名]:[行號]
例如:
b mac/mac802_15_3.cc:1500
就是把中斷點設在mac802_15_3.cc的第1500行最容易錯的地方在於路徑
gdb的current work directory 是執行檔的那個目錄
因為我們是執行ns
所以工作目錄應該是 ns-2.1b9
所以若我要debug mac目錄裡的檔案,前面就要加 "mac/"
設好中斷點後
r XXX.tcl 便開始執行
遇到中斷點就停下來
這時可以用n (代表next)一行一行的執行配合中斷點
還可以加上條件式中斷
語法:
condition N EXPRESSION
N是中斷點的編號
EXPRESSION是一個敘述句
例如
condition 1 Scheduler::instance ().clock > 1.044412
就是說當時間超過1.044412且到達1號中斷點才中斷
gdb真的很強
EXPRESSION 怎麼寫都有效... :P☆常見的 bug 訊息與原因
以下列出在make時常遇見的錯誤訊息的原因:
Scheduler: Event UID not valid!
這是scheduler物件的錯誤訊息
最常的可能是有一個timer物件,還沒有expire而你又呼叫它的start function
可能發生在你寫了新的timer物件,或是你更改了原作者的程式流程
中止在一點也沒有錯的程式區段
可能是你新增了新的data member在.h裡
因為交叉include而沒有被compile到
這時試試看 make clean; make
常常就OK了Segmentation Fault
最常發生的原因是指標所指的物件不存在,或是traverse陣列時跑到陣列外面去了
[Academic] Zipf, Power-laws, and Pareto
Zipf, Power-laws, and Pareto是在Paper上常常見到。這三個名詞常用來描述一個現象"large events are rare, but small ones quite common"。例如,大的地震發生次數很少,小的地震發生次數確很多。大都市很少,小的鄉鎮很多。一些字很少見,但一些字則常常出現(如 'and' and 'the' ).
Reference: http://ginger.hpl.hp.com/shl/papers/ranking/ranking.html
Zipf's law 通常用來描述一個事件發生的數量或頻率( 'size')跟它的排名(rank) r有關. George Kingsley Zipf一位語言學家想找出某英文字出現的頻率有多高,例如 3rd 或 8th或100th常見字出見的次數。Zipf's law指出事件出現的頻率y跟它的排名(rank) r成反比:
y ~ r^-b, with b close to unity.
Pareto則是對大家的收入(income)分佈有興趣。相對於想知道第r個人的收入,Pareto想知道有多少人的收入大於x. Pareto's law使用累積分佈(cumulative distribution function (CDF))來找出分佈狀況。, i.e. the number of events larger than x is an inverse power of x:
P[X > x] ~ x^-k.
Pareto指出只有少數人是億萬富翁,大部分的人都是沒有錢的。
Power law distribution對有多少人的收入大於x不感興趣,相對的,它對有多少人收入洽好是x感興趣. It is simply the probability distribution function (PDF) associated with the CDF given by Pareto's Law. This means that
P[X = x] ~ x^-(k+1) = x^-a.
That is the exponent of the power law distribution a = 1+k (where k is the Pareto distribution shape parameter).
近年來,很多學者發現internet顯示出很多符合power-law distributions的現象: the number of visits to a site, the number of pages within a site, and the number of links to a page, to name a few.
圖1a展示了AOL users'訪問不同網站的圖形on a December day in 1997. 從圖中,可以發現只有很少的網站有超過2000位訪客, 大多數的網站只有很少的訪客 (70,000 網站只有一位訪客). The distribution is so extreme that if the full range was shown on the axes, the curve would be a perfect L shape. Figure 1b below shows the same plot, but on a log-log scale the same distribution shows itself to be linear. This is the characteristic signature of a power-law.
Fig. 1a Linear scale plot of the distribution of users among web sites
Fig. 1b Log-log scale plot of the distribution of users among web sites
Let y = number of sites that were visited by x users.
In a power-law we have y = C x-a which means that log(y) = log(C) - a log(x)
So a power-law with exponent a is seen as a straight line with slope -a on a log-log plot.
總結,Zipf, Power-laws, and Pareto都是在描述同一個現象,只是用不同的觀點罷了。