下周(3/22)梁文耀博士要來台大講Linux Kernel,我來暖一下場子,提一下Linux Performance Tools,順便說說故事,免得學生覺得這個老師都找業師來上課,自己倒底懂不懂? 而且故事或許可以告訴大家,從以前到現在有甚麼變遷,不要食古不化、學錯重點了。同時大家也可想想,為什麼要學習Linux Kernel? 學了之後有甚麼用? 如何學習? Linux Kernel這麼龐大,要花多少時間來學? 如果學不得法,事倍功半。
早期,很多台灣的學生和工程師學Linux Kernel只是為了寫裝置驅動程式(device drivers)。因為系統代工廠開始採用Linux作業系統,要讓系統能夠在新的硬體上工作,必須找一群人來寫drivers。下游的系統晶片、周邊晶片、周邊設備廠,也得提供幫自家產品寫drivers給客戶用。
這些年有不少資工系的學生畢業後去業界負責寫drivers。例如聯發科技在業界的風評不錯,使用聯發科技的晶片的客戶,只要夠大咖,在driver方面會得到迅速確實的服務,其幕後當然就是那些刻苦耐勞系統的軟體工程師了,一旦有bug,就會在最短時間解決掉。
十多年前,嵌入式系統頗紅,教授只要宣稱有做嵌入式系統,學生就趨之若鶩,就是衝著台灣系統晶片和消費性電子產品的熱潮。那時政府投入到系統晶片的資源多,做嵌入式系統教學研究的人也分到一杯羹,學生畢業後進了像聯發科技這類的公司,也賺了不少錢,好像大家都很開心。
那時很多人學做嵌入式系統,只是看了幾本書,追蹤過Linux Kernel,寫寫驅動程式,讓系統會動、功能正確就好。在學術界做嵌入式系統研究,為了要發表論文,很多人跑去做系統裡面工作的即時排程、節能省電的研究,搞一堆數學模型和heursitics。這些研究成果雖然也很厲害,但是跟當時的業界的技術層級距離頗遙遠。
距離遙遠? 是的,大多數代工廠只需要按照客戶的規格要求把系統做出來,至於系統上面跑甚麼應用就不是他們要擔心的事了。以HTC為例,早期他代工做Windows Mobile手機,最在乎的就是如何選料做出價廉物美的硬體,而整支手機軟體中唯一能改的,就是drivers了 -- 這是2006年我們到HTC訪問時,軟體部門主管回應我的問題所說的話,因為「微軟只讓他們碰這個」。
因為學界被要求要證明自己是世界一流,業界有很多限制,所以學用落差很大,而兩邊又都很忙,很少溝通,但大家似乎不以為意。或許是因為當時的電子業錢太好賺,業界只要學校開一些簡單的實作課程幫學生打基礎就好,反正業界做的也不是甚麼偉大的研發工作,有了基礎到業界就能在短時間上手,那些眉眉角角的know-how,入行久了自然會知道。因此政府出錢,用補助設備和課程開發經費的方式鼓勵學界開一系列強調實作的嵌入式系統課程。
我在2005年回到台大教書,看到這種情況,很不以為然。同樣是做嵌入式系統的教學研究,我特別強調複雜系統的設計、效能分析與優化,我陸續開了一系列課程,包括「輸出裝置與驅動程式設計」「嵌入式處理器設計」「嵌入式多核心系統與軟體」「計算機效能最佳化」「平行計算機系統與應用」「Linux系統核心與應用」,嘗試訓練一些高階系統實務人才,但絕大多數賺錢的業界公司並沒有珍惜這些技能,也沒有想提升他們自己的境界,原因很簡單,因為搶錢都來不及了。
舉例來說,我在2005年去演講的時候,一位技術學院的教授當場嗆我,你講這些對我們沒甚麼用,我們只要能訓練出能寫USB裝置驅動程式的學生,他們就有做不完的工作了。我認為他看到的職場現狀接近現實,當時需要大量的工程師來幫忙做這些做不完的系統軟體開發工作 (註1),但邏輯上的問題是,這兩年有做不完的工作,未必代表未來二十年都有工作,我們不應該只教那些,業界也不應該只做那些。
大家現在都知道了,膚淺技術的代工業已經大不如前。即便代工,也得有高階技術才能生存發展。(補充說明: 不要誤會了,我很尊重那些注重技術研發、能持續精進的代工廠,包括台積電、聯發科、鴻海這些,他們現在也知道要投資做研發,才有出路。)。那些不上不下的公司,要如何生存發展呢? 這是個大問題。
過了十年,現在還是有很多系統廠還無法轉型和升級,仍然以代工製造硬體搭配膚淺的軟體為主。上個月有一家公司找我去諮商,公司大部分的軟體技術都仰賴微軟的供應鏈,自身的軟體研發能力薄弱。說到為何不用Linux呢? 他們一下子說不敢用,一下子說看不懂市場,一下子又說找不到人才。我說,一直這樣的話,你們也只能讓微軟予取予求,果然講到他們的痛點。以前讓微軟予取予求,就當作是繳稅,現在利潤如此微薄,這個微軟稅繳起來就很痛... 我看那個態勢,似乎是要我介紹人給他們,但我猜想,這公司恐怕僱不起Linux人才,也不見得有給人才發揮的空間,所以就謝謝再聯絡了。
昨天有位考上碩士班的學生來找我,他雖然是名校畢業,但非資工系,全是靠自學。他原本在某家高雄軟體園區的公司上班,做月薪22K的軟體開發工作。一開始聊,他完全聽不懂我在講甚麼,他自承是靠補習考上研究所,但對系統有興趣。其實不只一位學生,這幾天來了好幾位考上碩士班的學生,對系統的認識薄弱到令我訝異。所以我花了不少時間告訴他們如何迎頭趕上,包括看看我們在【開源系統軟體】臉書社團(註9)上分享的資訊和課程內容。
言歸正傳,話說Linux Kernel這麼龐大,要花多少時間來學? 這幾位靠補習考上研究所的碩士生,連Linux都沒用過,要怎麼在短時間內學會做系統研究?
第一,如果想做系統,只要能抽出時間,用力學就對了,不要管要花多少時間,Just Do It! 或許,有了一百小時的研習,可以讓你入門;幾百小時,可成為某個部份的高手,接下來就繼續補充不足、與其他高手過招、漸入佳境。如果想快速成為真正的專家,每天10小時,3年一萬小時,應該有機會。不過各位看看Jserv這麼厲害,我猜他一天超過十小時花在作業系統相關的議題上,搞了30年,大概是10萬小時。
第二,利用社群資源。一般學生在考試陰影下,潛意識中某種程度敵視老師和同儕,因為一個逼你念書,一個跟你搶名次。殊不知,到了研究所,老師和同儕都是寶貴的資源,甚至為了有更多資源,還要設法到網路社群上找。國內外有很多開源碼的討論社群,都可以加入。尤其是最新的資訊,不可能等到人家寫書或是開課來教你,一定要懂得上社群網路去搜刮最新資訊和參與討論。
第三,挑戰高階(複雜)的實作問題。我認識很多聰明人,給他抽象、簡化過的難題,他們可以解得不亦樂乎,但是真實世界是複雜多元的,如果不會解析複雜問題、化繁為簡的話,根本無從解起。這是現代高階人才該具備的重點能力之首: Complex Problem Solving (註2)。有些資訊系畢業的學生,連上千行的程式都沒看過幾個,要如何探討軟體架構 ( software architecture)? 如果在學校能看懂Linux Kernel架構,能了解其運作,嘗試解決其中的問題,也算是個開始。
比如找一個大數據分析應用,設法解決其效能問題。由於很多大數據應用是架設在Linux系統上,這時候解析Linux Kernel的能力,對於改進系統在做資料儲存、資料交換上的效能非常重要。當然,處理大數據所用的中介軟體也很重要,所以我們之後也會來看Hadoop、Spark之類的中介軟體,但我希望大家可以舉一反三,否則只是學到皮毛而已。
效能工具(Performance Tools)的使用,是在實務上分析效能的關鍵。要解決問題,先要有資料;要有資料,最好是能自己動手蒐集,不必等人。要知道電腦系統裡面有很多效能監控機制,使用者可以透過效能工具取出這些資料加以分析。但是系統中有那些效能工具? 有哪些效能工具? 如何使用效能工具? 如何分析蒐集到的資料? 常常需要專業的知識,我們在學期稍後會講,但同學們可以先看。例如網誌的圖,上面列出玲瑯滿目的工具,來自於介紹Linux Performance Tools的網頁(註3),作者就是開顧問公司的。我們當年,在SUN的系統上開發了很多效能工具以及分析的方法,後來幾位SUN的工程師出去開了這家顧問公司。
我回到台大之後,也訓練學生做類似的工作,幫業界解決效能問題(註4)。但是因為過去代工業太賺錢了,願意花時間和傷腦筋創新的大公司不多,所以看到一大堆機會沒有被業界把握住,實在可惜。這幾年新創蔚為風氣,但許多贊助新創的機構的思維還是沒變,為了快速回收,只敢投在淺薄的技術研發上。
不過最近一些資金開始關注到某些「務實做有深度研發的項目」,燃起希望的火苗。例如有找我們解決效能問題的公司變多了,題目的素質也提升了;我學生畢業後到VMFive(註5)和Appier(註6)去幫忙解決效能問題;台灣開始有以解決效能問題的新創公司,例如Skymizer (註7); 翟神開的和沛(註8)最近重金禮聘幾位我認識的Linux專家,希望有好的發展。
台灣的競爭力應該是在人才的素質上,而不是人力的數量上。我想,眼前的業界,是朝向「質」的方向發展,這是可喜可賀的事。至於量的方面,關鍵是業界和政府能否把握機會行動,以及學生能否看清現實,而我只能盡人事聽天命,無法預測未來。所以請各位同學、業界朋友、長官不要問我,現在投入系統研發的行列,未來會不會大發。我只能說,學生要做的話就好好做到出師,業界要做的話就卯足全力衝刺,政府學界要做的話就給足資源,不上不下的半吊子,恐怕是難以呈現出價值的。
(註1)嵌入式系統商機大,卻鬧人才荒 (2005/01) http://www.ithome.com.tw/node/27357
(註2)現在和未來新創所需的技能 (2016/03) https://www.facebook.com/notes/洪�⋯⋯
(註3)Linux Performance http://www.brendangregg.com/linuxpe⋯⋯
(註4) https://www.facebook.com/notes/洪�⋯⋯
(註5)http://www.vmfive.com/
(註6)http://www.appier.com/zh/
(註7)http://skymizer.com/
(註8)https://www.hopebaytech.com/
(註9)https://www.facebook.com/groups/159⋯⋯
從2010.03寫到現在,我只是想寫 -- 把我對社會、人文、科技、產業、教育的觀察和感想寫出來。每次寫出當下所思所想,似乎腦袋可以清淨一點、心靈可以輕爽些。文章大多先在臉書上與臉友分享,隨後再轉到這裡。臉書網址為:https://www.facebook.com/shihhaohung
2016年3月19日 星期六
2015年1月15日 星期四
Intel Atom+FPGA開發版
收到四份廠商捐贈的Intel Atom+FPGA的開發版。感謝Intel, Terasic, Altera的贊助,我們會好好利用的,也希望其他廠商提供新產品給我們嚐鮮。


2015年1月5日 星期一
平行計算像難開的快車
我研究平行計算二十多年,我從來不敢說:"parallel computing is the future"。但我想Linus Torvalds對於某些過度宣傳的作法感到不滿,才說出在這篇說出a bunch of crock這樣的類髒話。(http://highscalability.com/blog/2014/12/31/linus-the-whole-parallel-computing-is-the-future-is-a-bunch.html)
持平而論,我會說"parallel computing is an expertise which may provide some competitive edge for certain applications"。就像在賽車場上,決定賽場輸贏的因素很多,但車子比別人好開又快幾倍,贏面就提高了不少。
如果平行處理如果好開又快幾倍,大家當然趨之若騖。只不過事實並非如此,Linus Torvalds大聲反應出軟體工程師的感覺 -- 為什麼要給我一台很難開的快車?那不是叫我去送死嗎?寫平行程式,平白多了一大堆bugs!
所以,我不只同意Linus Torvalds的看法,而且我的看法是,普通人無法駕馭難開的快車,叫一般人來做特技專家的工作,不只事倍功半,還不見得搞得出來。資訊業界有太多可以搞的東西,不是所有人都要來搞懂平行處理。
反過來說,能夠駕馭難開的快車的人,要知道自己是有才的。「平行計算」永遠不會是一般技能,而是一項高度專業。這種專業的價值,在解決重要的問題才有浮現。
我猜會讓Linus真正不爽的是「異質計算」(heterogeneous computing),這個不只是平行計算,而且還是讓不同的處理機來做平行計算,真的會讓系統軟體的人吃不消。
我們在做HSA (heterogeneous system architecture),就是這個調調。當每個系統裡面都有GPU或是FPGA的時候,軟體要不要用GPU/FPGA來算東西呢? 系統軟體要不要支援呢?這當然對於系統軟體的人增加不少負擔。至於是甜蜜的負擔,還是夢靨呢?因人而異。
比起Linus Torvalds的話,文後的留言可能比較有看頭,不過一般人大概不會去看,但有志學parallel computing的人應該看一下。
撇開流派不談,我看到一個問題是,老闆要程式師寫平行程式,願不願意付出相當的代價?如果把平行程式變成大學必修課,要求所有資工學生都要會這個,那就不怕找不到人來做了。
但是話說,出得起香蕉,只請得到猴子... 請一堆貌似會寫平行程式的猴子,寫得出堪用的東西嗎?我們知道這個問題,但老闆通常不管這麼多。
這個問題在台灣當然是更嚴重的。不用說到系統軟體的平行處理了,一般應用軟體的簡易的平行化都很有問題。但老闆們不知道這個專業的難度,覺得不過就是多了一個平行化的步驟而已。
不願出錢,「平行化」是搞不大起來的。就像說不願出高價,要僱人做系統軟體,也是搞不起來的。
我一直覺得很奇怪,我專門教這類高門檻的技術,業界實際上也很需要,卻不願意多出點錢來僱這類專才?推論至此,我認為是「行情」和「無知」所造成的。
我到目前還沒有看過哪一個台灣的公司願意出足夠的錢搞平行化的。懂平行化的能度的人已經不多了,願意砸錢的人更少,以為能夠自己做的人倒是有一堆。看到這些要自己做的,我只能說,祝好運,請不要回來找我。
持平而論,我會說"parallel computing is an expertise which may provide some competitive edge for certain applications"。就像在賽車場上,決定賽場輸贏的因素很多,但車子比別人好開又快幾倍,贏面就提高了不少。
如果平行處理如果好開又快幾倍,大家當然趨之若騖。只不過事實並非如此,Linus Torvalds大聲反應出軟體工程師的感覺 -- 為什麼要給我一台很難開的快車?那不是叫我去送死嗎?寫平行程式,平白多了一大堆bugs!
所以,我不只同意Linus Torvalds的看法,而且我的看法是,普通人無法駕馭難開的快車,叫一般人來做特技專家的工作,不只事倍功半,還不見得搞得出來。資訊業界有太多可以搞的東西,不是所有人都要來搞懂平行處理。
反過來說,能夠駕馭難開的快車的人,要知道自己是有才的。「平行計算」永遠不會是一般技能,而是一項高度專業。這種專業的價值,在解決重要的問題才有浮現。
我猜會讓Linus真正不爽的是「異質計算」(heterogeneous computing),這個不只是平行計算,而且還是讓不同的處理機來做平行計算,真的會讓系統軟體的人吃不消。
我們在做HSA (heterogeneous system architecture),就是這個調調。當每個系統裡面都有GPU或是FPGA的時候,軟體要不要用GPU/FPGA來算東西呢? 系統軟體要不要支援呢?這當然對於系統軟體的人增加不少負擔。至於是甜蜜的負擔,還是夢靨呢?因人而異。
比起Linus Torvalds的話,文後的留言可能比較有看頭,不過一般人大概不會去看,但有志學parallel computing的人應該看一下。
撇開流派不談,我看到一個問題是,老闆要程式師寫平行程式,願不願意付出相當的代價?如果把平行程式變成大學必修課,要求所有資工學生都要會這個,那就不怕找不到人來做了。
但是話說,出得起香蕉,只請得到猴子... 請一堆貌似會寫平行程式的猴子,寫得出堪用的東西嗎?我們知道這個問題,但老闆通常不管這麼多。
這個問題在台灣當然是更嚴重的。不用說到系統軟體的平行處理了,一般應用軟體的簡易的平行化都很有問題。但老闆們不知道這個專業的難度,覺得不過就是多了一個平行化的步驟而已。
不願出錢,「平行化」是搞不大起來的。就像說不願出高價,要僱人做系統軟體,也是搞不起來的。
我一直覺得很奇怪,我專門教這類高門檻的技術,業界實際上也很需要,卻不願意多出點錢來僱這類專才?推論至此,我認為是「行情」和「無知」所造成的。
我到目前還沒有看過哪一個台灣的公司願意出足夠的錢搞平行化的。懂平行化的能度的人已經不多了,願意砸錢的人更少,以為能夠自己做的人倒是有一堆。看到這些要自己做的,我只能說,祝好運,請不要回來找我。
2013年5月31日 星期五
玩玩智慧型手錶與開放式硬軟體
抽空把手上的MOTOACTV手錶重灌作業系統,這個有600MHz ARM CPU 的MOTOACTV手錶,跑Android的感覺還過得去,可以下載Google Play Store上的Apps來安裝。

今天課堂上用這個例子跟大學部學生聊如何利用Open Hardware和Open Software從事Application-System Co-Design,目的是鼓勵他們多走出電腦的世界,看看周遭有什麼好玩的應用,用一些隨手可得的硬軟體動手做做東西,找到一些做系統的Passion。

http://www.arduinopassion.com/a-laser-range-finder-using-raspberrypi-arduino-and-opencv/

http://www.daveakerman.com/?p=1154

今天課堂上用這個例子跟大學部學生聊如何利用Open Hardware和Open Software從事Application-System Co-Design,目的是鼓勵他們多走出電腦的世界,看看周遭有什麼好玩的應用,用一些隨手可得的硬軟體動手做做東西,找到一些做系統的Passion。
http://www.arduinopassion.com/a-laser-range-finder-using-raspberrypi-arduino-and-opencv/
http://www.daveakerman.com/?p=1154
2013年5月30日 星期四
從來沒有比現在更適合作實務研究的時候
為什麼我喜歡做較實務的研究呢?其實,是因為我不敢做太理論的研究,因為我總是搞不清楚那些沒辦法和個人親身體驗連結在一起的知識和理論。所以,我很不會背書,因為,已經懂的東西,我不覺得需要背;沒有辦法和我的經驗連結的東西,就算背起來也馬上忘記。
最近買到Raspberry Pi,除了喚起三十多年前的回憶,實體東西自在手上把玩幾下,網路關於Raspberry Pi的資訊和討論,包括Wikipedia上的一大堆資料,瞬間變得有意義,這是動手做學東西,似乎可以用來作為hackschooling的材料。
現在要教Embedded Systems課程可用的教具和參考資料比幾年前多太多了。之前我教Linux Device Driver的時候,沒看到幾張好用的板子,現在有一堆open hardware,在這些open hardware上面可以跑一堆open software,就像這篇所介紹的:
幾年前WSN (Wireless Sensor Network) 似乎很熱門的時候,我一點興趣都沒有,因為那些小小的板子速度慢得很,卻貴得要命、貴得沒有道理,不同的硬體規格、作業系統、網路(Zigbee)相容性有問題,除了發論文唬人之外,我才疏學淺,根本想不出什麼有意義的研究。
或許下學期和 Daniel Shih 合開的系統專題研究課程,我們可以考慮讓同學動手玩一玩這些玩具?BeagleBone有新版的,速度可到1GHz,還有 HDMI介面。實驗室還有一些ZedBoard,上面有雙核心的ARM和FPGA,功能更強大,不過體積比較大。
玩這些東西,希望能有一些新創意。我們整天搞系統的人,往往沒時間去想應用,這點倒是該注意。這些open hardware/software,最大的作用,在於它們能夠讓有創意的人,不需要花太多時間在系統上,快點做出雛形(prototype)。當初Apple II也是如此,讓電腦進到一般人的世界。
注意周遭,是否有值得改進的東西?假如能放個小如卡片的電腦在這裡,能夠做什麼好事?這小如卡片的電腦本身能力可能不強,但是連上Internet之後潛力無窮。
不過,不要再提說要把這東西放在冰箱上的這種老掉牙的創意了。「智慧型冰箱」可以監控你每天進出冰箱的食物和熱量,很多人試過了,好像沒多大實用價值。從生活中得到一些啟發,解決一些自己切身相關的問題,全新的主意得來不易,但其實也沒那麼難。
最近買到Raspberry Pi,除了喚起三十多年前的回憶,實體東西自在手上把玩幾下,網路關於Raspberry Pi的資訊和討論,包括Wikipedia上的一大堆資料,瞬間變得有意義,這是動手做學東西,似乎可以用來作為hackschooling的材料。
現在要教Embedded Systems課程可用的教具和參考資料比幾年前多太多了。之前我教Linux Device Driver的時候,沒看到幾張好用的板子,現在有一堆open hardware,在這些open hardware上面可以跑一堆open software,就像這篇所介紹的:
幾年前WSN (Wireless Sensor Network) 似乎很熱門的時候,我一點興趣都沒有,因為那些小小的板子速度慢得很,卻貴得要命、貴得沒有道理,不同的硬體規格、作業系統、網路(Zigbee)相容性有問題,除了發論文唬人之外,我才疏學淺,根本想不出什麼有意義的研究。
或許下學期和 Daniel Shih 合開的系統專題研究課程,我們可以考慮讓同學動手玩一玩這些玩具?BeagleBone有新版的,速度可到1GHz,還有 HDMI介面。實驗室還有一些ZedBoard,上面有雙核心的ARM和FPGA,功能更強大,不過體積比較大。
玩這些東西,希望能有一些新創意。我們整天搞系統的人,往往沒時間去想應用,這點倒是該注意。這些open hardware/software,最大的作用,在於它們能夠讓有創意的人,不需要花太多時間在系統上,快點做出雛形(prototype)。當初Apple II也是如此,讓電腦進到一般人的世界。
注意周遭,是否有值得改進的東西?假如能放個小如卡片的電腦在這裡,能夠做什麼好事?這小如卡片的電腦本身能力可能不強,但是連上Internet之後潛力無窮。
不過,不要再提說要把這東西放在冰箱上的這種老掉牙的創意了。「智慧型冰箱」可以監控你每天進出冰箱的食物和熱量,很多人試過了,好像沒多大實用價值。從生活中得到一些啟發,解決一些自己切身相關的問題,全新的主意得來不易,但其實也沒那麼難。
2010年8月2日 星期一
專題研究導向的課程規劃(2010.09~2011.06)
有鑑於研究生對於做專題的能力不足,欠缺解決問題的能力,又沒有太多時間和機會能接受比較正式的訓練,今年我打算換一個方式來教授研究所層級的課程,在課程中著重專題研究和個別指導,幫學生打下獨立研究、資料搜尋、實際製作、論文寫作的基礎能力。
要參加這些課程的學生,必須有以下的認知:
Linux Kernel, Systems, and Applications
內容大綱:
Parallel and Distributed Programming for Cloud Computing
要參加這些課程的學生,必須有以下的認知:
- 對於做專題有濃厚的興趣
- 有足夠時間收集資料和實作專題
- 能夠每週參加課程討論
上課進行方式,原則上:
- 1/3 時間是講解課程相關知識(lecture/textbook)
- 1/3 時間討論research papers
- 1/3 時間為student presentations and discussions
Linux Kernel, Systems, and Applications
內容大綱:
- Linux systems
- Android systems
- Cloud computing systems
- Virtualization technologies
- Virtual machine technologies
- Virtual platform technologies
- Advanced Linux Programming (2 weeks)
- Basic parallel programming skills
- Pthread & OpenMP Programming
- Message-passing interface
- Performance analysis
- Linux Kernel Development
- Process management & Interrupt handling (2 hours)
- Kernel synchronization
- Memory management
- I/O devices
- Drivers
- Filesystems
- Network
Parallel and Distributed Programming for Cloud Computing
- Parallelization of Applications
- Shared Memory Programming
- Message-Passing Programming
- MapReduce
- Task Distribution and Process Migration
- Distributed File Systems
- Data Synchronization
- Client-Server
- Performance Analysis
2010年4月26日 星期一
Dell's MID/Network Tablet Roadmap
Sparta netbook tablet featuring an 11-inch 1024 x 768 TFT display, ARM processor, optional connectivity modules (3G, WiFi, Bluetooth) and a unique swivel mechanism -- the screen appears to be rotatable within its frame. Should be launched in early Autumn.
http://www.engadget.com/2010/04/25/dell-sparta-and-athens-netbooks-looking-glass-pro-and-streak-va/
http://www.engadget.com/2010/04/25/dell-sparta-and-athens-netbooks-looking-glass-pro-and-streak-va/
訂閱:
文章 (Atom)
