| ISO 639-2 Code | ISO 639-1 Code | English name of Language | ISO 639-2 Code | ISO 639-1 Code | English name of Language | ISO 639-2 Code | ISO 639-1 Code | English name of Language | ||
| aar | aa | Afar | arp | Arapaho | ber | Berber (Other) | ||||
| abk | ab | Abkhazian | art | Artificial (Other) | bho | Bhojpuri | ||||
| ace | Achinese | arw | Arawak | bih | bh | Bihari | ||||
| ach | Acoli | asm | as | Assamese | bik | Bikol | ||||
| ada | Adangme | ast | Asturian; Bable | bin | Bini; Edo | |||||
| ady | Adyghe; Adygei | ath | Athapascan languages | bis | bi | Bislama | ||||
| afa | Afro-Asiatic (Other) | aus | Australian languages | bla | Siksika | |||||
| afh | Afrihili | ava | av | Avaric | bnt | Bantu (Other) | ||||
| afr | af | Afrikaans | ave | ae | Avestan | tib/bod | bo | Tibetan | ||
| ain | Ainu | awa | Awadhi | bos | bs | Bosnian | ||||
| aka | ak | Akan | aym | ay | Aymara | bra | Braj | |||
| akk | Akkadian | aze | az | Azerbaijani | bre | br | Breton | |||
| alb/sqi | sq | Albanian | bad | Banda languages | btk | Batak languages | ||||
| ale | Aleut | bai | Bamileke languages | bua | Buriat | |||||
| alg | Algonquian languages | bak | ba | Bashkir | bug | Buginese | ||||
| alt | Southern Altai | bal | Baluchi | bul | bg | Bulgarian | ||||
| amh | am | Amharic | bam | bm | Bambara | bur/mya | my | Burmese | ||
| ang | English, Old (ca.450-1100) | ban | Balinese | byn | Blin; Bilin | |||||
| anp | Angika | baq/eus | eu | Basque | cad | Caddo | ||||
| apa | Apache languages | bas | Basa | cai | Central American Indian (Other) | |||||
| ara | ar | Arabic | bat | Baltic (Other) | car | Galibi Carib | ||||
| arc | Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE) | bej | Beja | cat | ca | Catalan; Valencian | ||||
| arg | an | Aragonese | bel | be | Belarusian | cau | Caucasian (Other) | |||
| arm/hye | hy | Armenian | bem | Bemba | ceb | Cebuano | ||||
| arn | Mapudungun; Mapuche | ben | bn | Bengali | cel | Celtic (Other) | ||||
| cze/ces | cs | Czech | csb | Kashubian | gre/ell | el | Greek, Modern (1453-) | |||
| cha | ch | Chamorro | cus | Cushitic (Other) | elx | Elamite | ||||
| chb | Chibcha | wel/cym | cy | Welsh | eng | en | English | |||
| che | ce | Chechen | cze/ces | cs | Czech | enm | English, Middle (1100-1500) | |||
| chg | Chagatai | dak | Dakota | epo | eo | Esperanto | ||||
| chi/zho | zh | Chinese | dan | da | Danish | est | et | Estonian | ||
| chk | Chuukese | dar | Dargwa | baq/eus | eu | Basque | ||||
| chm | Mari | day | Land Dayak languages | ewe | ee | Ewe | ||||
| chn | Chinook jargon | del | Delaware | ewo | Ewondo | |||||
| cho | Choctaw | den | Slave (Athapascan) | fan | Fang | |||||
| chp | Chipewyan | ger/deu | de | German | fao | fo | Faroese | |||
| chr | Cherokee | dgr | Dogrib | per/fas | fa | Persian | ||||
| chu | cu | Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic | din | Dinka | fat | Fanti | ||||
| chv | cv | Chuvash | div | dv | Divehi; Dhivehi; Maldivian | fij | fj | Fijian | ||
| chy | Cheyenne | doi | Dogri | fil | Filipino; Pilipino | |||||
| cmc | Chamic languages | dra | Dravidian (Other) | fin | fi | Finnish | ||||
| cop | Coptic | dsb | Lower Sorbian | fiu | Finno-Ugrian (Other) | |||||
| cor | kw | Cornish | dua | Duala | fon | Fon | ||||
| cos | co | Corsican | dum | Dutch, Middle (ca.1050-1350) | fre/fra | fr | French | |||
| cpe | Creoles and pidgins, English based (Other) | dut/nld | nl | Dutch; Flemish | fre/fra | fr | French | |||
| cpf | Creoles and pidgins, French-based (Other) | dyu | Dyula | frm | French, Middle (ca.1400-1600) | |||||
| cpp | Creoles and pidgins, Portuguese-based (Other) | dzo | dz | Dzongkha | fro | French, Old (842-ca.1400) | ||||
| cre | cr | Cree | efi | Efik | frr | Northern Frisian | ||||
| crh | Crimean Tatar; Crimean Turkish | egy | Egyptian (Ancient) | frs | Eastern Frisian | |||||
| crp | Creoles and pidgins (Other) | eka | Ekajuk | fry | fy | Western Frisian | ||||
| ful | ff | Fulah | gwi | Gwich'in | ile | ie | Interlingue | |||
| fur | Friulian | hai | Haida | ilo | Iloko | |||||
| gaa | Ga | hat | ht | Haitian; Haitian Creole | ina | ia | Interlingua (International Auxiliary Language Association) | |||
| gay | Gayo | hau | ha | Hausa | inc | Indic (Other) | ||||
| gba | Gbaya | haw | Hawaiian | ind | id | Indonesian | ||||
| gem | Germanic (Other) | heb | he | Hebrew | ine | Indo-European (Other) | ||||
| geo/kat | ka | Georgian | her | hz | Herero | inh | Ingush | |||
| ger/deu | de | German | hil | Hiligaynon | ipk | ik | Inupiaq | |||
| gez | Geez | him | Himachali | ira | Iranian (Other) | |||||
| gil | Gilbertese | hin | hi | Hindi | iro | Iroquoian languages | ||||
| gla | gd | Gaelic; Scottish Gaelic | hit | Hittite | ice/isl | is | Icelandic | |||
| gle | ga | Irish | hmn | Hmong | ita | it | Italian | |||
| glg | gl | Galician | hmo | ho | Hiri Motu | jav | jv | Javanese | ||
| glv | gv | Manx | scr/hrv | hr | Croatian | jbo | Lojban | |||
| gmh | German, Middle High (ca.1050-1500) | hsb | Upper Sorbian | jpn | ja | Japanese | ||||
| goh | German, Old High (ca.750-1050) | hun | hu | Hungarian | jpr | Judeo-Persian | ||||
| gon | Gondi | hup | Hupa | jrb | Judeo-Arabic | |||||
| gor | Gorontalo | arm/hye | hy | Armenian | kaa | Kara-Kalpak | ||||
| got | Gothic | iba | Iban | kab | Kabyle | |||||
| grb | Grebo | ibo | ig | Igbo | kac | Kachin; Jingpho | ||||
| grc | Greek, Ancient (to 1453) | ice/isl | is | Icelandic | kal | kl | Kalaallisut; Greenlandic | |||
| gre/ell | el | Greek, Modern (1453-) | ido | io | Ido | kam | Kamba | |||
| grn | gn | Guarani | iii | ii | Sichuan Yi | kan | kn | Kannada | ||
| gsw | Swiss German; Alemannic | ijo | Ijo languages | kar | Karen languages | |||||
| guj | gu | Gujarati | iku | iu | Inuktitut | kas | ks | Kashmiri | ||
| geo/kat | ka | Georgian | kur | ku | Kurdish | mah | mh | Marshallese | ||
| kau | kr | Kanuri | kut | Kutenai | mai | Maithili | ||||
| kaw | Kawi | lad | Ladino | mak | Makasar | |||||
| kaz | kk | Kazakh | lah | Lahnda | mal | ml | Malayalam | |||
| kbd | Kabardian | lam | Lamba | man | Mandingo | |||||
| kha | Khasi | lao | lo | Lao | mao/mri | mi | Maori | |||
| khi | Khoisan (Other) | lat | la | Latin | map | Austronesian (Other) | ||||
| khm | km | Central Khmer | lav | lv | Latvian | mar | mr | Marathi | ||
| kho | Khotanese | lez | Lezghian | mas | Masai | |||||
| kik | ki | Kikuyu; Gikuyu | lim | li | Limburgan; Limburger; Limburgish | may/msa | ms | Malay | ||
| kin | rw | Kinyarwanda | lin | ln | Lingala | mdf | Moksha | |||
| kir | ky | Kirghiz; Kyrgyz | lit | lt | Lithuanian | mdr | Mandar | |||
| kmb | Kimbundu | lol | Mongo | men | Mende | |||||
| kok | Konkani | loz | Lozi | mga | Irish, Middle (900-1200) | |||||
| kom | kv | Komi | ltz | lb | Luxembourgish; Letzeburgesch | mic | Mi'kmaq; Micmac | |||
| kon | kg | Kongo | lua | Luba-Lulua | min | Minangkabau | ||||
| kor | ko | Korean | lub | lu | Luba-Katanga | mis | Uncoded languages | |||
| kos | Kosraean | lug | lg | Ganda | mac/mkd | mk | Macedonian | |||
| kpe | Kpelle | lui | Luiseno | mkh | Mon-Khmer (Other) | |||||
| krc | Karachay-Balkar | lun | Lunda | mlg | mg | Malagasy | ||||
| krl | Karelian | luo | Luo (Kenya and Tanzania) | mlt | mt | Maltese | ||||
| kro | Kru languages | lus | Lushai | mnc | Manchu | |||||
| kru | Kurukh | mac/mkd | mk | Macedonian | mni | Manipuri | ||||
| kua | kj | Kuanyama; Kwanyama | mad | Madurese | mno | Manobo languages | ||||
| kum | Kumyk | mag | Magahi | moh | Mohawk | |||||
| mol | mo | Moldavian | nic | Niger-Kordofanian (Other) | paa | Papuan (Other) | ||||
| mon | mn | Mongolian | niu | Niuean | pag | Pangasinan | ||||
| mos | Mossi | dut/nld | nl | Dutch; Flemish | pal | Pahlavi | ||||
| mao/mri | mi | Maori | nno | nn | Norwegian Nynorsk; Nynorsk, Norwegian | pam | Pampanga | |||
| may/msa | ms | Malay | nob | nb | Bokmål, Norwegian; Norwegian Bokmål | pan | pa | Panjabi; Punjabi | ||
| mul | Multiple languages | nog | Nogai | pap | Papiamento | |||||
| mun | Munda languages | non | Norse, Old | pau | Palauan | |||||
| mus | Creek | nor | no | Norwegian | peo | Persian, Old (ca.600-400 B.C.) | ||||
| mwl | Mirandese | nqo | N'Ko | per/fas | fa | Persian | ||||
| mwr | Marwari | nso | Pedi; Sepedi; Northern Sotho | phi | Philippine (Other) | |||||
| bur/mya | my | Burmese | nub | Nubian languages | phn | Phoenician | ||||
| myn | Mayan languages | nwc | Classical Newari; Old Newari; Classical Nepal Bhasa | pli | pi | Pali | ||||
| myv | Erzya | nya | ny | Chichewa; Chewa; Nyanja | pol | pl | Polish | |||
| nah | Nahuatl languages | nym | Nyamwezi | pon | Pohnpeian | |||||
| nai | North American Indian | nyn | Nyankole | por | pt | Portuguese | ||||
| nap | Neapolitan | nyo | Nyoro | pra | Prakrit languages | |||||
| nau | na | Nauru | nzi | Nzima | pro | Provençal, Old (to 1500) | ||||
| nav | nv | Navajo; Navaho | oci | oc | Occitan (post 1500); Provençal | pus | ps | Pushto | ||
| nbl | nr | Ndebele, South; South Ndebele | oji | oj | Ojibwa | qaa-qtz | Reserved for local use | |||
| nde | nd | Ndebele, North; North Ndebele | ori | or | Oriya | que | qu | Quechua | ||
| ndo | ng | Ndonga | orm | om | Oromo | raj | Rajasthani | |||
| nds | Low German; Low Saxon; German, Low; Saxon, Low | osa | Osage | rap | Rapanui | |||||
| nep | ne | Nepali | oss | os | Ossetian; Ossetic | rar | Rarotongan; Cook Islands Maori | |||
| new | Nepal Bhasa; Newari | ota | Turkish, Ottoman (1500-1928) | roa | Romance (Other) | |||||
| nia | Nias | oto | Otomian languages | roh | rm | Romansh | ||||
| rom | Romany | sin | si | Sinhala; Sinhalese | scc/srp | sr | Serbian | |||
| rum/ron | ro | Romanian | sio | Siouan languages | srr | Serer | ||||
| rum/ron | ro | Romanian | sit | Sino-Tibetan (Other) | ssa | Nilo-Saharan (Other) | ||||
| run | rn | Rundi | sla | Slavic (Other) | ssw | ss | Swati | |||
| rup | Aromanian; Arumanian; Macedo-Romanian | slo/slk | sk | Slovak | suk | Sukuma | ||||
| rus | ru | Russian | slo/slk | sk | Slovak | sun | su | Sundanese | ||
| sad | Sandawe | slv | sl | Slovenian | sus | Susu | ||||
| sag | sg | Sango | sma | Southern Sami | sux | Sumerian | ||||
| sah | Yakut | sme | se | Northern Sami | swa | sw | Swahili | |||
| sai | South American Indian (Other) | smi | Sami languages (Other) | swe | sv | Swedish | ||||
| sal | Salishan languages | smj | Lule Sami | syc | Classical Syriac | |||||
| sam | Samaritan Aramaic | smn | Inari Sami | syr | Syriac | |||||
| san | sa | Sanskrit | smo | sm | Samoan | tah | ty | Tahitian | ||
| sas | Sasak | sms | Skolt Sami | tai | Tai (Other) | |||||
| sat | Santali | sna | sn | Shona | tam | ta | Tamil | |||
| scc/srp | sr | Serbian | snd | sd | Sindhi | tat | tt | Tatar | ||
| scn | Sicilian | snk | Soninke | tel | te | Telugu | ||||
| sco | Scots | sog | Sogdian | tem | Timne | |||||
| scr/hrv | hr | Croatian | som | so | Somali | ter | Tereno | |||
| sel | Selkup | son | Songhai languages | tet | Tetum | |||||
| sem | Semitic (Other) | sot | st | Sotho, Southern | tgk | tg | Tajik | |||
| sga | Irish, Old (to 900) | spa | es | Spanish; Castilian | tgl | tl | Tagalog | |||
| sgn | Sign Languages | alb/sqi | sq | Albanian | tha | th | Thai | |||
| shn | Shan | srd | sc | Sardinian | tib/bod | bo | Tibetan | |||
| sid | Sidamo | srn | Sranan Tongo | tig | Tigre | |||||
| tir | ti | Tigrinya | tyv | Tuvinian | wen | Sorbian languages | ||||
| tiv | Tiv | udm | Udmurt | wln | wa | Walloon | ||||
| tkl | Tokelau | uga | Ugaritic | wol | wo | Wolof | ||||
| tlh | Klingon; tlhIngan-Hol | uig | ug | Uighur; Uyghur | xal | Kalmyk; Oirat | ||||
| tli | Tlingit | ukr | uk | Ukrainian | xho | xh | Xhosa | |||
| tmh | Tamashek | umb | Umbundu | yao | Yao | |||||
| tog | Tonga (Nyasa) | und | Undetermined | yap | Yapese | |||||
| ton | to | Tonga (Tonga Islands) | urd | ur | Urdu | yid | yi | Yiddish | ||
| tpi | Tok Pisin | uzb | uz | Uzbek | yor | yo | Yoruba | |||
| tsi | Tsimshian | vai | Vai | ypk | Yupik languages | |||||
| tsn | tn | Tswana | ven | ve | Venda | zap | Zapotec | |||
| tso | ts | Tsonga | vie | vi | Vietnamese | zen | Zenaga | |||
| tuk | tk | Turkmen | vol | vo | Volapük | zha | za | Zhuang; Chuang | ||
| tum | Tumbuka | vot | Votic | chi/zho | zh | Chinese | ||||
| tup | Tupi languages | wak | Wakashan languages | znd | Zande languages | |||||
| tur | tr | Turkish | wal | Walamo | zul | zu | Zulu | |||
| tut | Altaic (Other) | war | Waray | zun | Zuni | |||||
| tvl | Tuvalu | was | Washo | zxx | No linguistic content | |||||
| twi | tw | Twi | wel/cym | cy | Welsh | zza | Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki | |||
2007/08/03
Iso639 language codes
2007/07/03
如何冷卻你的 CPU? CONFIG_NO_HZ
今天試著採用 kernel 2.6.21 新的選項 CONFIG_NO_HZ, 這個選項定義在 Processor Type 中,它的說明如下:
CONFIG_NO_HZ:
This option enables a tickless system: timer interrupts will
only trigger on an as-needed basis both when the system is
busy and when the system is idle.
CNET 這篇文章說的好,請自行參閱。
用了之後,我的 NB 風扇馬上停止,CPU 也確實冷下來,目前沒量測其差異有多大,等一下來測我的 NB 看電池是否可以待機更久點?有興趣的人不防試試。目前我是用 2.6.21.5
CONFIG_NO_HZ:
This option enables a tickless system: timer interrupts will
only trigger on an as-needed basis both when the system is
busy and when the system is idle.
CNET 這篇文章說的好,請自行參閱。
用了之後,我的 NB 風扇馬上停止,CPU 也確實冷下來,目前沒量測其差異有多大,等一下來測我的 NB 看電池是否可以待機更久點?有興趣的人不防試試。目前我是用 2.6.21.5
2007/07/02
2007/06/14
電視數位化重要變革 Digital TV in home
- 網路因素-高重要性
- 網路連線品質
- 上網方便性
- 網路連線頻寬
- 網路連線費率
- 維修服務
- 網路連線品質
- 網路因素 - 普通重要性
- 寬頻網路服務業者
- 促銷方案
- 寬頻網路服務業者
- 應用情境 - 高重要性
- 在外面監看家中各角落
- 在家中監看家中各角落
- 在家中任何角落均可取得所需資訊
- 在電視上播放/編輯電腦中的多媒體檔案
- 在外面監看家中各角落
- 應用情境 - 普通
- 使用電視與好友傳即時通
- 在外面看家中電視節目
- 在電視上玩網路連線遊戲
- 使用電視與好友傳即時通
2007/06/13
如何正確使用 chroot? with mount --bind
在開發嵌入式系統時,難免會用 chroot 命令,有時會遇到些莫名其妙的問題,我也不多說,總之,若你覺得你的 chroot 怪怪的,或者很想讓 chroot 過的環境跟原來的一致,一般直覺作法是進 chroot 後看是要用 mount 的還是要 cp 的,或者是在 chroot 之前先 cp 或 link 好。
但是上面的作法常常也會產生問題,比較好的作法是用 mount --bind 的方式讓你要的兩個環境使用相同的檔案,請見 mount bind 或 使用 mount bind 的注意事項,或 mount bind 心得分享
但是上面的作法常常也會產生問題,比較好的作法是用 mount --bind 的方式讓你要的兩個環境使用相同的檔案,請見 mount bind 或 使用 mount bind 的注意事項,或 mount bind 心得分享
2007/06/05
如何面對口試? Face to your boss
底下是給朋友考研究所口試的建議,當您面對老闆時也可以參考
面試時,通常要留給來賓多點時間發問
因此關於你自己,主題在於工作經歷上。
簡單,甚至條列式,列出工作經歷,每個工作經歷「學到」的東西
若能把每個工作經歷編成一個故事,一個促使你想繼續讀研究所的故事最好
我的意思是,譬如,你的研究計畫寫的是嵌入式的東西,那為何你會對它感興趣?
我說的故事並非真正的故事,是要讓你的工作經歷串起你的人生的畫面,也就是讓職涯人生的畫面是連續的
並提出一個研究計畫,讓人覺得,若沒有讀研究所,將無法繼續你的工作生涯
若是這樣著想,或許你可以用抽象的畫面來表述你的工作經歷
儘量簡短,讓主考官有時間問問題
然後.....若主考官把時間又留給你,你就可以把主題導入你的研究計畫裡
這非常重要,不要讓場面冷下來,讓研究計畫停格
要讓人覺得你是有準備的,整個口試是連續性的進行
個人介紹則可以完全省略,譬如什麼我的家庭、學歷什麼的
最後,也最重要的,自信。自信不止是口氣、態度,或者是笑容,而是真的要相信自己就是對的那個人。
面試時,通常要留給來賓多點時間發問
因此關於你自己,主題在於工作經歷上。
簡單,甚至條列式,列出工作經歷,每個工作經歷「學到」的東西
若能把每個工作經歷編成一個故事,一個促使你想繼續讀研究所的故事最好
我的意思是,譬如,你的研究計畫寫的是嵌入式的東西,那為何你會對它感興趣?
我說的故事並非真正的故事,是要讓你的工作經歷串起你的人生的畫面,也就是讓職涯人生的畫面是連續的
並提出一個研究計畫,讓人覺得,若沒有讀研究所,將無法繼續你的工作生涯
若是這樣著想,或許你可以用抽象的畫面來表述你的工作經歷
儘量簡短,讓主考官有時間問問題
然後.....若主考官把時間又留給你,你就可以把主題導入你的研究計畫裡
這非常重要,不要讓場面冷下來,讓研究計畫停格
要讓人覺得你是有準備的,整個口試是連續性的進行
個人介紹則可以完全省略,譬如什麼我的家庭、學歷什麼的
最後,也最重要的,自信。自信不止是口氣、態度,或者是笑容,而是真的要相信自己就是對的那個人。
2007/06/04
有線無線共舞 Work with LAN and WLAN under WinXP
以我的網路環境為例,有線是公司線路,無線是 ADSL 線路。要有線無線共舞,則必須修改 routing table, 底下您只需要做最後一步,也就是第四步即可,前三步僅提供您驗證環境與我的差異性。若您有看到最後的話,第三步通常是在開機時已經同時啟動有線無線,那麼也可以透過改變 default gateway 的方式來達到目的,請看到最後面即可知道作法。
一、只有 LAN 的狀態
二、只有無線網路的狀態
三、同時有線與無線並存的狀態
四、先啟動有線,同時命令如下:
(註:上面 ipconfig 有線部份有提到 gateway)
之後再啟動無線後,狀態如下:
注意到上面的 default gateway 已經改變成無線出去,而公司網路則透過 10.1.199.254 出去。
若要在開機時,已經同時啟動有線無線的情況下,也就是在第三點的狀況下,可以透過移除 0.0.0.0 之後再加入 0.0.0.0 的方式,也就是說,M$ 作業系統的 routing table 裡的 default gateway 就是指這個,因此如下語法可以加在第三點後面,就等於第四點:
一、只有 LAN 的狀態
C:\>ipconfig
Windows IP Configuration
Ethernet adapter 區域連線:
Connection-specific DNS Suffix . : liteon.com
IP Address. . . . . . . . . . . . : 10.1.198.242
Subnet Mask . . . . . . . . . . . : 255.255.254.0
Default Gateway . . . . . . . . . : 10.1.199.254
C:\>route print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x40002 ...00 15 c5 0b 66 fd ...... Broadcom NetXtreme 57xx Gigabit Controller -
Packet Scheduler Miniport
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.1.199.254 10.1.198.242 20
10.1.198.0 255.255.254.0 10.1.198.242 10.1.198.242 20
10.1.198.242 255.255.255.255 127.0.0.1 127.0.0.1 20
10.255.255.255 255.255.255.255 10.1.198.242 10.1.198.242 20
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
224.0.0.0 240.0.0.0 10.1.198.242 10.1.198.242 20
255.255.255.255 255.255.255.255 10.1.198.242 10.1.198.242 1
Default Gateway: 10.1.199.254
===========================================================================
二、只有無線網路的狀態
C:\>ipconfig
Windows IP Configuration
Ethernet adapter 無線網路:
Connection-specific DNS Suffix . : lan
IP Address. . . . . . . . . . . . : 192.168.123.139
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.123.1
C:\>route print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x50002 ...00 16 6f 5f c2 99 ...... Intel(R) PRO/Wireless 2915ABG Network Connec
tion - Packet Scheduler Miniport
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.123.1 192.168.123.139 25
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.123.0 255.255.255.0 192.168.123.139 192.168.123.139 25
192.168.123.139 255.255.255.255 127.0.0.1 127.0.0.1 25
192.168.123.255 255.255.255.255 192.168.123.139 192.168.123.139 25
224.0.0.0 240.0.0.0 192.168.123.139 192.168.123.139 25
255.255.255.255 255.255.255.255 192.168.123.139 192.168.123.139 1
Default Gateway: 192.168.123.1
===========================================================================
三、同時有線與無線並存的狀態
C:\>ipconfig
Windows IP Configuration
Ethernet adapter 區域連線:
Connection-specific DNS Suffix . : liteon.com
IP Address. . . . . . . . . . . . : 10.1.198.28
Subnet Mask . . . . . . . . . . . : 255.255.254.0
Default Gateway . . . . . . . . . : 10.1.199.254
Ethernet adapter 無線網路:
Connection-specific DNS Suffix . : lan
IP Address. . . . . . . . . . . . : 192.168.123.139
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.123.1
C:\>route print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x60002 ...00 15 c5 0b 66 fd ...... Broadcom NetXtreme 57xx Gigabit Controller -
Packet Scheduler Miniport
0x60003 ...00 16 6f 5f c2 99 ...... Intel(R) PRO/Wireless 2915ABG Network Connec
tion - Packet Scheduler Miniport
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.1.199.254 10.1.198.28 20
0.0.0.0 0.0.0.0 192.168.123.1 192.168.123.139 25
10.1.198.0 255.255.254.0 10.1.198.28 10.1.198.28 20
10.1.198.28 255.255.255.255 127.0.0.1 127.0.0.1 20
10.255.255.255 255.255.255.255 10.1.198.28 10.1.198.28 20
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.123.0 255.255.255.0 192.168.123.139 192.168.123.139 25
192.168.123.139 255.255.255.255 127.0.0.1 127.0.0.1 25
192.168.123.255 255.255.255.255 192.168.123.139 192.168.123.139 25
224.0.0.0 240.0.0.0 10.1.198.28 10.1.198.28 20
224.0.0.0 240.0.0.0 192.168.123.139 192.168.123.139 25
255.255.255.255 255.255.255.255 10.1.198.28 10.1.198.28 1
255.255.255.255 255.255.255.255 192.168.123.139 192.168.123.139 1
Default Gateway: 10.1.199.254
===========================================================================
四、先啟動有線,同時命令如下:
route delete 0.0.0.0
route add 10.1.0.0 mask 255.255.0.0 10.1.198.254
(註:上面 ipconfig 有線部份有提到 gateway)
之後再啟動無線後,狀態如下:
C:\>route print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0xa0002 ...00 15 c5 0b 66 fd ...... Broadcom NetXtreme 57xx Gigabit Controller -
Packet Scheduler Miniport
0xa0003 ...00 16 6f 5f c2 99 ...... Intel(R) PRO/Wireless 2915ABG Network Connec
tion - Packet Scheduler Miniport
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.123.1 192.168.123.139 25
10.1.0.0 255.255.0.0 10.1.199.254 10.1.198.28 1
10.1.198.0 255.255.254.0 10.1.198.28 10.1.198.28 20
10.1.198.28 255.255.255.255 127.0.0.1 127.0.0.1 20
10.255.255.255 255.255.255.255 10.1.198.28 10.1.198.28 20
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.123.0 255.255.255.0 192.168.123.139 192.168.123.139 25
192.168.123.139 255.255.255.255 127.0.0.1 127.0.0.1 25
192.168.123.255 255.255.255.255 192.168.123.139 192.168.123.139 25
224.0.0.0 240.0.0.0 10.1.198.28 10.1.198.28 20
224.0.0.0 240.0.0.0 192.168.123.139 192.168.123.139 25
255.255.255.255 255.255.255.255 10.1.198.28 10.1.198.28 1
255.255.255.255 255.255.255.255 192.168.123.139 192.168.123.139 1
Default Gateway: 192.168.123.1
===========================================================================
注意到上面的 default gateway 已經改變成無線出去,而公司網路則透過 10.1.199.254 出去。
若要在開機時,已經同時啟動有線無線的情況下,也就是在第三點的狀況下,可以透過移除 0.0.0.0 之後再加入 0.0.0.0 的方式,也就是說,M$ 作業系統的 routing table 裡的 default gateway 就是指這個,因此如下語法可以加在第三點後面,就等於第四點:
route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 192.168.123.1
2007/05/30
Aspect ratio
最近搞得比較清楚的是 aspect ratio, 幾個相關名詞理解如下:
還有其他很多種名詞,等有進一步了解再來註記
- Fill, Zoom: 會把 video stream 擴展至填滿全螢幕,會失去原比例
- Letter box: 按比例,16:9 stream 調整至的符合 4:3 螢幕的寬,因此會出現上下黑矩形,與此相反的是 Pillar boxing,將 4:3 stream 調整至符合 16:9 的高
- Pan & Scan: 會把畫面調整至「較重要」的部份,不調整比例,也就是不放大或縮小,而是調整輸出畫面的位置於畫面較重要的部份,有時簡單實作的話會跟「Center cut」相同。與此相反的叫 tilt and scan。
- Center Cut:簡單的將 16:9 stream 調整高度至符合 4:3 螢幕,並將畫面置中,以致於將左右切掉。
還有其他很多種名詞,等有進一步了解再來註記
2007/05/23
GeeXboX 與 X geexbox-xorg howto
GeeXboX 有個 Xorg 的分支,主要是用來支援 HDTV 的,wiki 上沒說明,這邊先補充。底下請照做,看不懂就留言發問:
將來若想同步 source code, 請下
上面後兩個命令可以合併成 hg pull -u -v。至於 hg 是哪個套件?是 mercurial,請自行至 GeeXboX 的 wiki 上查。
另外,也可以直接下載 20070519 發行的 generator 來用。
- hg clone http://hg.geexbox.org/geexbox-xorg geexbox-xorg
- cd geexbox-xorg
- make
將來若想同步 source code, 請下
- cd geexbox-xorg
- hg pull
- hg update
上面後兩個命令可以合併成 hg pull -u -v。至於 hg 是哪個套件?是 mercurial,請自行至 GeeXboX 的 wiki 上查。
另外,也可以直接下載 20070519 發行的 generator 來用。
2007/05/16
產品遙控器操作邏輯之我見 remote controller hotkey
有個爭議點是,在設計產品的 GUI 時,假設有個相同的選項畫面有二個方式讓它出現,一個是直接從遙控器按鍵來,也就是所謂的熱鍵, hotkey。另一個是從選單來的,這二個方式有人說應該讓 Hotkey 出現的跟選單出現時,操作方式一致,以前在實作 DVD 產品時就採用這種方式。當時我就提出我的看法,並不被客戶接受,我的看法是:
熱鍵產生的應該視為單獨的選單。也就是它並沒有「上一層」的概念在。
之所以我覺得不應該把兩個不同操作模式所造成的同一畫面看成同一件事,是因為這件事不應該從 RD 的角度來看待。當使用者拿 RD 做的產品來操作的時候會認為:Hotkey 按出來的畫面,它是沒有上一層的,因此會習慣於「回上一層」消失。而由 Menu 按出來的,在操作的感覺上會傾向於在操作的預期上「回上一層」就應該回到它來的地方,也就是它的上一層 menu....
也就是說,我的論點是這樣的議題起因於二類不同的操作習慣而產生的,有些人習慣用遙控器的 hotkey, 這些人或許是年輕一族,會期待他要的功能愈快出現愈好,甚至於要求「One click」;另一些人根本就懶得看遙控器,它只希望所有功能都在 Menu 上找得到,而對這類人的設計就是選單的層數要愈少愈好,功能愈齊全愈好。
我的意思是,按 Hotkey 與按 menu 原本就是針對不同的習慣設計的,所以要看成兩個不同的「東西」。不能以 RD 或測試者的眼光來看這件事。
另一個狀況是當使用者按 Menu 進入到 Hotkey 也有的畫面時,若它在該畫面又按一次該畫面所屬的 Hotkey, 在我看來應該畫面沒變,但是效果相當於使用者按 Hotkey 進入該畫面,也就是此時應該以 Hotkey 的效果來處理。
熱鍵產生的應該視為單獨的選單。也就是它並沒有「上一層」的概念在。
之所以我覺得不應該把兩個不同操作模式所造成的同一畫面看成同一件事,是因為這件事不應該從 RD 的角度來看待。當使用者拿 RD 做的產品來操作的時候會認為:Hotkey 按出來的畫面,它是沒有上一層的,因此會習慣於「回上一層」消失。而由 Menu 按出來的,在操作的感覺上會傾向於在操作的預期上「回上一層」就應該回到它來的地方,也就是它的上一層 menu....
也就是說,我的論點是這樣的議題起因於二類不同的操作習慣而產生的,有些人習慣用遙控器的 hotkey, 這些人或許是年輕一族,會期待他要的功能愈快出現愈好,甚至於要求「One click」;另一些人根本就懶得看遙控器,它只希望所有功能都在 Menu 上找得到,而對這類人的設計就是選單的層數要愈少愈好,功能愈齊全愈好。
我的意思是,按 Hotkey 與按 menu 原本就是針對不同的習慣設計的,所以要看成兩個不同的「東西」。不能以 RD 或測試者的眼光來看這件事。
另一個狀況是當使用者按 Menu 進入到 Hotkey 也有的畫面時,若它在該畫面又按一次該畫面所屬的 Hotkey, 在我看來應該畫面沒變,但是效果相當於使用者按 Hotkey 進入該畫面,也就是此時應該以 Hotkey 的效果來處理。
照片如何鏤空 using Gimp to alpha blend
要怎樣把圖檔的某部份鏤空?所謂的鏤空通常是為了在做 OSD 顯示或者在美工圖層加疊的時候有空。
通常我們會用繪圖軟體把圖先畫好,然後以 gimp 編輯,把要鏤空的部份圈起來按 Ctrl-X(剪掉)即可。
另外鏤空跟圖形格式有關,一般建議存成 .png 格式,或者以編輯軟體預設的格式來存也不錯。 請注意 BMP, JPG 似乎都不支援鏤空。
通常我們會用繪圖軟體把圖先畫好,然後以 gimp 編輯,把要鏤空的部份圈起來按 Ctrl-X(剪掉)即可。
另外鏤空跟圖形格式有關,一般建議存成 .png 格式,或者以編輯軟體預設的格式來存也不錯。 請注意 BMP, JPG 似乎都不支援鏤空。
2007/05/15
一對多 client and server design
有朋友在問要怎麼寫 client/server 架構的程式。
其實這是基本功夫,參考資料與書目一堆我就不多此一舉再寫,底下稍微描述一下作法。大抵可以分成兩段來寫,一段是彼此建立信任機制,一段是控制。
建立信任機制可以參考 UPnP 的作法,可以讓你達到免設定,但是這邊講的信任機制您還得再加以思考一下,怎麼確認是受信者而非駭客?這牽涉眾多,UPnP 也有類似的機制。對 UPnP 請參考前面關於 GeeXboX 或 ushare,djmount 的文章。
一旦你收集了彼此的資訊,那就可以省略設定步驟,否則這一步也可以是提供設定畫面。第二段就是控制,所謂控制就要彼此都有共通的語言,也就是要先建立通訊協定,我建議較簡單的是透過 HTTP 的方式。例如你可以用 busybox 來架設 web server, 或是編進 lighttpd 進行加密通訊。其實若你已經會寫 TCP/IP 的程式,要寫 client/server 的話就容易了,這一段是可以自己寫,而我之所以建議採 HTTP 的方式也只是利用人家定義好的協定而已,本質上跟自己寫通訊協定是一樣的。若採用 http 的話就容易多了,不止已有現成的,連 source code 都有,而且 client/server 端都有很多參考資料。有了通訊協定(就算是自己寫程式也要先有它)之後,再在這層通訊協定上建立專屬的控制命令與傳回值,也就是所謂的協調方式,這一點若是用 HTTP 的話,可以想成是在寫 CGI 即可。
其實這是基本功夫,參考資料與書目一堆我就不多此一舉再寫,底下稍微描述一下作法。大抵可以分成兩段來寫,一段是彼此建立信任機制,一段是控制。
建立信任機制可以參考 UPnP 的作法,可以讓你達到免設定,但是這邊講的信任機制您還得再加以思考一下,怎麼確認是受信者而非駭客?這牽涉眾多,UPnP 也有類似的機制。對 UPnP 請參考前面關於 GeeXboX 或 ushare,djmount 的文章。
一旦你收集了彼此的資訊,那就可以省略設定步驟,否則這一步也可以是提供設定畫面。第二段就是控制,所謂控制就要彼此都有共通的語言,也就是要先建立通訊協定,我建議較簡單的是透過 HTTP 的方式。例如你可以用 busybox 來架設 web server, 或是編進 lighttpd 進行加密通訊。其實若你已經會寫 TCP/IP 的程式,要寫 client/server 的話就容易了,這一段是可以自己寫,而我之所以建議採 HTTP 的方式也只是利用人家定義好的協定而已,本質上跟自己寫通訊協定是一樣的。若採用 http 的話就容易多了,不止已有現成的,連 source code 都有,而且 client/server 端都有很多參考資料。有了通訊協定(就算是自己寫程式也要先有它)之後,再在這層通訊協定上建立專屬的控制命令與傳回值,也就是所謂的協調方式,這一點若是用 HTTP 的話,可以想成是在寫 CGI 即可。
2007/05/14
diff 與 patch
使用 diff 來產生新舊兩個 source tree(source code directory tree) 的差異性列表有助於比較前後的差異(修改、增減),另外還可以提供較精簡的源碼更新,後者就需要 patch 這支工具配合。
我習慣用下面的命令來產生 diff 檔:
diff -ruN DirA DirB > xx.diff
上述產生的 xx.diff 若是由其他人拿到要更新(同步)源碼的話, 只需要切換到產生 diff 的同目錄(可以看到 DirA 的那一層)再下: patch -p0 < xx.diff 即可。或者像我的話比較喜歡切換到 DirA 目錄下 patch -p1 < ../xx.diff 這樣較不會有混淆的狀況。
至於 diff 與 patch 的選項請自行參考說明文件。若是在 M$ OS 下,建議安裝 cygwin,它可以說是讓你在 M$ OS 下具有眾多 Linux 工具的最佳解決方案。
我習慣用下面的命令來產生 diff 檔:
diff -ruN DirA DirB > xx.diff
上述產生的 xx.diff 若是由其他人拿到要更新(同步)源碼的話, 只需要切換到產生 diff 的同目錄(可以看到 DirA 的那一層)再下: patch -p0 < xx.diff 即可。或者像我的話比較喜歡切換到 DirA 目錄下 patch -p1 < ../xx.diff 這樣較不會有混淆的狀況。
至於 diff 與 patch 的選項請自行參考說明文件。若是在 M$ OS 下,建議安裝 cygwin,它可以說是讓你在 M$ OS 下具有眾多 Linux 工具的最佳解決方案。
2007/05/10
Google desktop
其實這東西我知道非常非常久了,可是一直沒在用,其原因是我根本很少用 M$ OS, 剛好它只支援 M$ OS。最近開發專案需要讓我長時間停留在 M$-OS 上,用了一下感覺非常棒,找資料超快的。
第一次用可能會覺得怎麼這麼久還沒建好索引,事實上建索引本來就需要大量 CPU, 而 Google 為了不造成系統太大負擔,因此降低 CPU 使用率,也就是讓你覺得系統不怎麼受影響,這樣的結果就是建索引的時間會拉長。總之,等建好索引之後你要找資料就非常快了,也就是你可以感受到一件 google 一直在宣傳的事:你不必再管資料怎麼分類。因為,不管放在哪,它在哪是你「立刻」可以找到的。
另外,google desktop 還有很多小工具,請自己玩玩看,寫這篇也只是希望還不知道的朋友可以有機會試試。我一直是 google 迷,另外說一下,gmail 已開放公開申請,若還沒有用 gmail 的人,我真的強烈建議您去申請。
若對 google 提供的軟體有興趣的,可以至 http://pack.google.com 申請。
第一次用可能會覺得怎麼這麼久還沒建好索引,事實上建索引本來就需要大量 CPU, 而 Google 為了不造成系統太大負擔,因此降低 CPU 使用率,也就是讓你覺得系統不怎麼受影響,這樣的結果就是建索引的時間會拉長。總之,等建好索引之後你要找資料就非常快了,也就是你可以感受到一件 google 一直在宣傳的事:你不必再管資料怎麼分類。因為,不管放在哪,它在哪是你「立刻」可以找到的。
另外,google desktop 還有很多小工具,請自己玩玩看,寫這篇也只是希望還不知道的朋友可以有機會試試。我一直是 google 迷,另外說一下,gmail 已開放公開申請,若還沒有用 gmail 的人,我真的強烈建議您去申請。
若對 google 提供的軟體有興趣的,可以至 http://pack.google.com 申請。
2007/04/13
GeeXboX + Freevo 的好消息
the Freevo/GeeXboX project has been accepted as a mentoring organization for Google Summer of Code 2007
目前在 GeeXboX 團隊的努力下(個人看法 Ben 的用心非常值得學習),不但已經與 Freevo 達成協議,而且目前已經取得更多人的加入,請參考上述網址。底下是 Ben 發出來的 email 提到的:
For the record, the accepted projects are:
- "LiveCD boot and HDD installation process" by Adir Abraham
- "Controlling Freevo through a simple web interface" by Ky Phan
- "DVB CAM support" by Alessandro Decina
- "Gstreamer Integration" by Killian Faughnan
目前在 GeeXboX 團隊的努力下(個人看法 Ben 的用心非常值得學習),不但已經與 Freevo 達成協議,而且目前已經取得更多人的加入,請參考上述網址。底下是 Ben 發出來的 email 提到的:
For the record, the accepted projects are:
- "LiveCD boot and HDD installation process" by Adir Abraham
- "Controlling Freevo through a simple web interface" by Ky Phan
- "DVB CAM support" by Alessandro Decina
- "Gstreamer Integration" by Killian Faughnan
2007/04/11
亂數產生器 random generator in bash
亂數有時就會用到,bash 有一個亂數產生器,引用方法很簡單: echo $RANDOM , 這會產生 0-32767 的亂數。若要產生別的區間的亂數也很容易,譬如要產生 10-20 的話,只需要 echo $(($RANDOM % 10 + 10)) , 可以自行推演其他範圍怎麼產生,這邊用到 $(( 表示法 )) 是可以當成計算機用的表示法。
訂閱:
文章 (Atom)