電腦效能應用與安全研究室 Performance, Applications and Security Lab


我們的研究範圍很廣,從嵌入式系統、手機應用、一直到雲端計算、商務應用、資訊安全都有做。
我們的合作研究夥伴很多,包括聯發科、IBM、中研院、資策會,還有和台大、清大、交大的教授合組研發團隊
,包括高階應用處理器架構研究、虛擬化技術、異質計算、系統軟體等重要技術的研究與創新,我們很關切台灣人才與產業的未來。

2013年12月29日 星期日

如何拯救我們的孩子:解決當前的資通訊科技教育危機

這個Microsoft「如何拯救我們的孩子:解決當前的資通訊科技教育危機」的簡報("How to rescue our kids: fixing the ICT crisis at school", http://qconlondon.com/dl/qcon-london-2013/slides/SimonPeytonJones_HowToRescueOurKidsFixingTheICTCrisisAtSchool.pdf)上講的東西,跟Raymond Lai和我一直在講的東西(參考12/20在台大資工系的演講, http://www.csie.ntu.edu.tw/app/news.php?Sn=7428)如出一轍。

英國、美國的有識之士都已經看到「資通訊科技」(Information and Communication Technology, ICT)的極大重要性,認為其目前的國民教育中對於ICT教學內容與方法是錯誤的。中小學的電腦課該教的沒教,教的是沒營養的東西(如PowerPoint, Word)。

葉丙成、林顯達和我這四周帶學生到北一女試教我們這學期開發出來的課程,結果可說是相當成功。女生通常比較不喜歡電腦科技,在北一女的課業壓力下,電腦課更是成為許多學生愛理不理的課。我們六組同學去試教的課程教案,包括程式設計、數位邏輯設計、資料結構、演算法等模組,每組各顯神通,採用各種引人入勝的教學法,例如Game-based learning, Collaborative learning, Project-based learning,寓教於樂、循序誘導,在四周內成功地吸引大部分學生的注意力,至少達到啟蒙的效果,讓他們知道,學電腦不是用電腦做簡報、排版、美編、記帳,學電腦是有趣的,聰明的人更需要告訴電腦如何聰明地解決問題,能做到這點,就有改變世界的可能性!

我們會在1/10(周五)上午9:20~12:10,讓這七組學生公開呈現他們編撰的教案、以及分享試教的心得。每一個教案,獨立針對單一主題進行9小時(3周、每週3小時)的教學,總共七個模組,可以作為資訊系大一「基石課程」(cornerstone course)的參考教案。有別於傳統用Textbook-based learning傳授知識的方式,我們提議的基石課程,嘗試引導新鮮人入門,用行動實際體會資訊領域的重點項目,但是不教艱深的理論和技能,取而代之的是啟發學生的好奇心和求知慾,讓學生對未來會修習到的進階課程懷抱期待。

當然,這些課程也可用於中學的資訊啟蒙課程。從我們在北一女的試教經驗看來,許多中學生展現了相當高的天賦,在很短時間內就能夠學得很好。有這樣好的天賦,為什麼要等到大學才來學電腦?

有了這些教材開發的經驗,我們希望能夠藉此拋磚引玉,希望有更多關心台灣未來的朋友們,一起來提倡資通訊教育,一起來開發新課程,幫助解決台灣人才培育的危機。有興趣幫忙的朋友,請與我聯絡。

我們正在招募「青少年寒假電腦程式設計班」,如果有9-15歲的青少年有興趣在寒假中來學習的,請與我們聯絡。地點在台北市,目前葉丙成教授的和我的念國中的小孩都經報名參加了...

2013年12月26日 星期四

找業師來學校代打,能解決問題嗎?

我這學期找了六位業界人士來跟學生演講,就是希望讓學生知道業界在想甚麼、做甚麼。很多學生對於外界的動態不聞不問,在學校時只顧著做「興趣人」,有一點「將來的事、將來再說」的味道。尤其是台大的學生,不諱言,的確有那種不需要想太多的心態,這點和我們以前差不多,但是他們似乎覺得有很大的「無力感」,彷彿現在學什麼、做什麼,對未來都不見得有用。

找業師來,是有助於了解業界「如何」辛苦,但我想「業界辛苦」這四個字,已經是票房毒藥。有人想,反正將來都要那麼辛苦,我不如把握時間趁著在學校的時間,多做些跟興趣有關的事情,及時行樂,不是嗎?如果是我,也做如此想。因此,找業師來,如果沒辦法改變學生的「無力感」,那麼也很難改變目前的氛圍。

造成今天這種氛圍,還是社會的問題。我雖然贊成吳念真導演在這篇「大學應聘請資深業師 傳承經驗」的意見,但是我覺得社會除了警告學生「業界辛苦」、社會需要吃苦耐勞的人之外,社會還有責任「指點學生明路」,告訴他們要如何「成功」。

現在所謂的成功,似乎就得像吳導所講的:「進入社會後如果想出頭,必須贏過多少人、付出多少心力與耐心。」這雖然是社會現實,但我個人認為我們的社會還停留在封建科舉的思維,只有踩在他人頭上,才算成功,這並不是件值得慶幸的事。

我們常說,「行行出狀元」,不是嗎?這才是一個進步社會所需要的好思維,我們真正該落實的,就是這個。我們這個社會該思考的,是提供學生們「明路」可走,而不是讓學生為了想贏過別人而吃苦耐勞,把環境搞惡劣到學生想出國遠走,或是想考公職、捧鐵飯碗。社會和學校能不能讓學生知道,甚麼是學得很精就會有用的東西?如果企業自己都不知道未來要甚麼,不願意禮遇專業人士,學校教的東西又太過抽象,一般學生如何為他們的未來做準備?

在美國,微軟、Google以及很多高科技公司,因為缺乏軟體人才,趕緊到中小學贊助程式設計的教育,到大學宣傳。台灣的公司呢?除了喊缺人、數落年輕人不好用、批評學校沒教好用的東西之外,自己跳出來做了什麼好事?我在台大八年,只看到少數幾家公司出來贊助教育。

吳導說: 「缺乏工匠技術方面的訓練,建議大學可以多聘一些具備實務經驗的老師到課堂,給學生貼近現實環境的不同刺激。」我必須說,吳導真的很不了解狀況,現在不是聘不聘的問題,而是來不來,以及留不留得下來的問題。我們有很多具備實務經驗的老師到了學校,包括在下,都適應不良,紛紛出走。沒有人出來解決這個很實際的問題,以至於問題越演越烈,我早已預見這件事。

學校和老師本身該尊重各專業的狀元,而不是比賽論文數量、將教授的級數越分越多。如果學校本身都不尊重專業了,找業師來,設立所謂的專業碩士(professional master)、學位也不過是應付現況所需,骨子裡還是學術至上,學生耳濡目染,多數不懂得欣賞工匠技術的價值,重文輕武、重理論輕實務的作法,依然會持續下去。

2013年12月25日 星期三

回覆在 HTC 工作的朋友的問題

分享我對於一位年輕的業界朋友的問題回覆...
--------------------------------------------------------
洪教授您好

抱歉打擾您了,我自我介紹一下,我的名字是XXX,我畢業於X大資工,因為常常有在看您的部落格,認為您對台灣的資訊產業方向與問題很有研究

目前我大學剛畢業在HTC工作,我曾經想要做的領域是Ubiquitous Computing,但是在國內對Ubiquitous Computing的研究似乎很少

台灣有完整的產業鏈可以供應這種概念的裝置生產與研究,但是似乎缺乏了最重要的系統層面的東西,就像是我在的HTC部門,是在修改Android的App Framework ,但是最重要的系統層面卻是摸不到的

最近台灣一直喊著穿戴裝置會是未來的產品,HTC內部也有團隊開始著手這方面的研究,我去看了些Ubiquitous Computing相關的介紹書籍與一些日本歐美的實驗室論文,發現Ubiquitous Computing似乎是個很大的標題,為了實現裡面的各種Project,底下需要很多的基礎技術像是Parallel Computing,和"雲端"運算技術似乎也有扯上邊,最常用到的應該就是Embedded system的技術,AR電腦視覺也是子標題之一

這讓我覺得有點困惑,如果想要進行Ubicomp的研究是不是就需要各種的技術才能夠完成一個Project?? 我也曾經想過是不是在這之上需要一個有完善解決方案的系統來供各種Project建置,( 這只是我的猜想,或許有很多不成熟的地方 )

想請問一下老師,如果要走研究Ubiquitous這一塊,是不是應該要充實自己某一個相關領域技術,然後再投入研究比較好

問題可能有點雜亂,或是夾雜著我的認知錯誤,如果能夠得到老師百忙中的回覆,不勝感激。

--------------------------------------------------------
Dear XX:

Ubiquitous computing的範圍還滿廣的。穿待裝置因為體積小,能做的工作有限,如何把最大的運算能力灌注在小小的機體之內,是系統設計的議題。提升系統設計的方法,除了選用高規格高單價的元件之外,最重要的是學會好好投機取巧。

甚麼是投機取巧?
- 投機: 跟領域專家合作,找到好的應用,解析該應用的需求,針對需求訂出規格,根據規格設計系統。
- 取巧: 在系統設計上加入巧思,例如調教作業系統、善用平行處理技術、採用異質化設計、利用雲端資源、加入特殊硬體加速器等等。

這些東西,說起來並不會太困難,只是說要學可學的東西很多,要全學會的話,恐怕得花上好幾年的功夫,所以一個有經驗有能力的architect是不簡單的,要自己肯努力學。

你說這些東西要不要全會呢? 就一個(專業)工程師來說,可以不必。但是要作一個帶領研發團隊走在時代前端的architect,解決問題的手法,如果只有幾招,那就有些侷限性。

話雖這麼說,你也不要太著急,你還年輕,只要不被工作綁死,這些東西可以觸類旁通,慢慢學。現在各界都有進修課程,可以幫助你入每個門。

然而,我想強調一點,光是念書長知識是不夠的,必須動手做。因此,不妨多積極瞭解和參與公司的其他計畫,幫忙其他同事,參與社群,讓自己有多些機會接觸工作外的東西和鍛鍊技能。

來我們實驗室做研究,也可以學到這些,誰說念博士沒有用

對了,信末附上兩篇最近我們實驗室在Ubiquitous computing和嵌入式多核心系統相關領域的論文,供你參考。

謝謝來信。

士灝

[1] Shih-Hao Hung, Yong-Wei Chen and Jeng-Peng Shieh. Creating Pervasive, Dynamic, Scalable Android Applications, in Proc. The Seventh International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS-2013), Taichung, Taiwan, July 3-5, 2013
[2] Shih-Hao Hung, Chi-Sheng Shih, Tei-Wei Kuo, Chia-Heng Tu, and Che-Wei Chang, A Real-Time, Energy-Efficient System Software Suite for Heterogeneous Multicore Platforms, in International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS 2012), Tampere, Finland, October 7-12, 2012.

2013年12月23日 星期一

跨領域研究的困難

上午有位學生來請教我,請我分享心得。他說:「我的老師要我用Spark (in-memory map-reduce)做text mining,我懂NLTK和Spark,但是我不知道要怎麼做下去,我想是我的研究方法有問題,請問有什麼訣竅嗎?」

我說,我不知道NLTK是什麼,對Spark只略懂皮毛,狀況比你還糟糕,但既然你來問我,我就試著回答你。

我打開瀏覽器,搜尋NLTK,結果第一個看到的就是NLTK的官方網頁(http://nltk.org/)。「喔,原來是Natural Language Toolkit的縮寫。嘿,是用Python寫的,應該很不容易平行化吧?」花了約20秒鐘,很快地瀏覽過這一頁。

接下來,我一邊說:「你既然需要用Spark,想必是要做平行或分散式處理。」 一邊輸入搜尋關鍵字:"NLTK parallel"。打開出現的第一個網頁 。

我說:「你看看,這裡有位好心人,寫了一本叫做 Python Text Processing with NLTK 2.0 Cookbook的書,是open source的,其中有一章講 Using Execnet for Parallel and Distributed Processing with NLTK,你看過嗎?」

學生沒說話。

我說:「既然是Cookbook,那表示NLTK應該很好用,可以用來做好菜,而且這位作者應該也很有實戰經驗,才寫得出食譜教人做菜,不妨看看...」

於是我花了20秒下載這本將近250頁的書,花20秒鐘看一下目錄,然後翻到第八章「Distributed Processing and Handling Large Datasets」。「喔,原來有個叫做execnet的程式庫,可以支援Python做分散式處理... 這裡有一個一個範例引導我們用execnet把一些自然語言處理會用到的沈重運算工作分散到其他機器上去做,講得很清楚。」

轉頭跟在場另一位學生,我的碩士生,說:「這個跟你們常用的node.js很像吧?你們可以一起合作看看。」

「要做跨領域的研究不容易,除了要懂各領域之外,真正的重點是把領域串連起來,這個部分你很難在學校學到。因為大部分老師在上某堂課時,光是把該領域的東西教好、教完整,就不容易了,要把領域串連起來,往往需要靠別的方法:找業界專家、上討論版、做專題研究。」

「你先搞清楚專家們如何將 NLTK用於分散式處理,至少跨出了第一步。」

「至於Spark,因為他太新了,不見得有直接的參考資料,我們先查一下 "NLTK Hadoop" 好了。」

才按了幾下,我們就找到了一篇 "Natural Language Processing with Apache Hadoop and Python"的論壇討論。「啊,原來三年前就有人在研究這個了,先看看這些人在討論些什麼,有沒有做出什麼,再看看有沒有辦法用上Spark去加速他。這點就是你接下去的作業了,不用我繼續幫你吧 :)」

然後,我給了一點點建議:

1. 寫碩士論文的目的之一,是為了證明你真正懂一個專業,你必須做出一個用這個專業已知的知識所堆疊成的有相當難度的作品。這跟考試不一樣,不是去解一些人家解過的、答案已知的問題。如果你論文裡面都是人家講過的東西,誰知道你是不是抄來的?所以光懂知識還不夠,必須能夠能夠證明你會用它。

2. 跨領域的研究,越來越重要,但最難的部份,往往在於這些打通領域所需的東西。其實要打通領域也不難,只是說這種工作所需要的學習,並非單一課程所能夠教授的。但是放眼看業界,這類的計畫比比皆是,所以不要小看業界做的東西,覺得人家的東西沒有深度,等到你自己來做就知道了。

3. 自己學東西,有很難嗎?我這個不懂NLP的人,花不到幾分鐘,就找到一些可能對你研究有所貢獻的參考資料。善用Internet,平時多看跨領域的研究資料,參與社群和論壇,對跨領域的研究有很大的幫助。

4. 找一個有意義的問題,把它研究透徹,就我看來,就是很好的論文。你如果能用NLTK+Hadoop+Spark解決一個好的NLP的問題,那就不錯了,這中間有很多實務的問題要解決,並不容易。解決了有意義、有難度的問題,會大大提升功力,業界也看得到。所以,不要再徬徨了,快去找個意義的問題來做吧!

2013年12月21日 星期六

資訊教育是國安議題

很多人不知道資訊教育是國安議題,也不知道其他國家對資訊教育大力推動的狀況。關於這方面,我敢說國內沒有多少人比Raymond Lai學長看得更透徹,由於跟他多次晤談,我現在也看的頗清楚的。這裡有幾篇可以參考看看,雖然這些通俗文章講得都是搔到癢處,不夠深刻,但可以作為閱讀的起點。


大部分人分不清楚 Coding to learn 和 Learning to code的差別;還有很多人不知道 Computer Programming 不是學學程式語言和工具的使用就算了。在今天,Computer 可以看做是人類能力的延伸,包括思想和動作在內,電腦能力越來越強,可以解決的問題和可做到的工作越來越多。學電腦的精髓,是要能活用所學,善用最新科技,創造新的應用。

很殘酷的事實是,電腦越來越強,可被取代的人力越來越多。在一個理想的國度,這是一件好事,但是現況並非如此。電腦和網路科技創造了像Google, Facebook這樣資源高度集中的大型企業,也讓傳統的大型企業有更大的力量創造財富,在這個Big Data的年代,這個趨勢會更顯著和更快速。這些大公司有讓好好分享他們的利潤給人民嗎?當然沒有,所以現在的財富差距越來越大,人民的經濟力量越來越低,政府自然偏向大財團。

美國政府會如此積極推Coding,自然是為了龐大的經濟利益。美國已經是世界電腦科技最強的國家,也是電腦人才最多的地區,為什麼還要推?因為人才缺很大!說美國人要以電腦科技作為實質統治全球經濟的手段,並不為過,所以他必須持續發展電腦科技,保持其領先優勢,以便繼續輸出電腦科技。世界各國,除了負擔微軟稅、蘋果稅,讓Google、Facebook、Dropbox拿走資料之外,將來更會使用許多來自美國的服務。

這是國安問題。中國政府早就很清楚知道,必須發展自有的電腦科技。台灣政府一直很短視,提不出一套方法,不要說產業了,連軟體人才培育的規劃都少得可憐,只知道勉力維持那些硬體掛帥的產業。台灣夾在中國和美國兩大國之間,不要老提軍事戰略地位重要那種老調,而是放眼未來全球的電腦科技所主導的經濟、文化、教育的戰場,台灣能否斡旋於大國之間,扮演重要角色,這才能強化台灣安身立命的基礎。如果只沉迷於短期的經濟利益,屆時被邊緣化,那麼台北房地產再高,也不過就像外國的租界和土豪的特區,本土人可能連學校都進不去,就像現在的香港一樣。

我們最近看到很多對電腦科技有興趣和天份的小孩,我想告訴他們和他們的家長老師,鼓勵讓他們去探索這個領域吧!於己於國家,都有很大的意義。我當年沒有機會和環境在高中時代堅持學習電腦科技,只自學了一年,在電機系也沒修到好的電腦課程,是我畢生憾事,不然當年應該是大有可為  其實我絕大部份電腦的學問都來自於自學,所以我相信以現在這樣好的學習環境,應該有更多人能學得更好。

至於學位,只要你學得夠好,你的能力會說話,不稀罕去公家單位,誰管你有沒有學位?反過來,你沒有能力,有博士我也不要雇你。

2013年12月20日 星期五

去北一女教資訊課

這學期的「數位學習與工程教育」課,我們指導學生開發資訊系cornerstone課程的教案,總共有七組學生,每一組個別開發一個9小時的課程模組。葉丙成教授幫學生找到去北一女實習的機會,所以我們連續四周到北一女去幫小綠綠同學上課。

到了總統府前,不是要丟鞋子 :)

門禁森嚴,需要預先申請才能進去

資訊課教室,每人一台電腦,上網玩遊戲都可以

教資料結構的這組,想辦法吸引學生的注意力

看看是課程還是上網比較有吸引力 :)

分組練習,助教去幫忙解決問題

資訊教室外面的中庭,有個玻璃金字塔

比一女的校舍舊了一點,但綠意盎然

讀書不忘休閒,休閒不忘娛樂

發現一本今年的建中北一女電研社聯合講義

建中北一女電研社聯合講義的內容

第二週教學有進步

學生很專心

助教也穿綠色,太配合了  :)

資訊教室外的題字,聽說有位學生固定每週會來提一句話

校門口有個「小綠屋」,用「小綠綠」這個詞很正常的!

第四周,講師和學生變成好朋友
投影寫著:「這也許是也許是妳們最後一次接觸邏輯電路設計」

每週一句



2013年12月19日 星期四

誰叫你要唸博士班?

這篇舉的例子誇張一點,所以雜誌登出來。

  • 誰叫你要唸博士班!http://www.cw.com.tw/article/article.action?id=5054645

從這篇的可以看出一般教授們的思維, 那就是只要自己學術卓越就行了,這就是這些年掌握權力的大教授們對於學用落差不大關心的原因!如果不是淪落到今天連天龍國大學的大教授都收不到有戰力的學生的時候,才懶得理會學用落差的問題。

文章內容所講的,好像是「發現」,請不要鬧了。同樣的東西,我八年前就講了,沒有長官聽進去;幾年前開始寫部落格時,有朋友笑我是「憤青」。當時我就預言這狀況是「不見棺材不掉淚」,非得淪落到很悲慘的谷底,才會反彈。而我們和一些朋友們一直在做的,就是保留一些薪火,多做一些準備,以待來著。

但是,還是那句老話,要尋求解答之前,必須釐清這些問題的責任。這十年來台灣政治、經濟、教育的領導階級,全部該好好檢討。否則,提再好的策略,領導和執行的人還是不對。

2013年12月18日 星期三

五件未來五年間最大的創新

這篇提到IBM所預測的『五件未來五年間最大的創新』(http://venturebeat.com/2013/12/16/ibm-reveals-its-top-five-predictions-for-the-next-five-years/

  • The classroom will learn you.
  • Buying local will beat online.
  • Doctors will use your DNA to keep you well.
  • A digital guardian will protect you online.
  • The city will help you live in it.

全部都是分析環境中所發生的事件(資料),進而做出有智慧的決定。最重要的是,這些應用情境都是有高度商業價值的 -- IBM不會忘了他的核心價值。

甚麼是他的核心價值呢? 這才是重點。不懂的話,就多做些研究吧 :)


文章評註「湯明哲:人才出走 產業難升級」

文章評註
湯明哲:人才出走 產業難升級(http://www.chinatimes.com/newspapers/20131218000398-260102

1. 湯副校長說:「像台大資工系已連續3年找不到教授」
這裡指的是「年輕」教授,不只是找不到,還走了幾位

2.「產學落差的問題在企業本身不能老只想揀現成」
非常同意。我不在乎你們給我多少研究經費,我比較在乎的是你們有沒有把研究經費提供給認真做產學研究的同學,有沒有特別禮遇這些在學校學到專業研究技能的畢業生。

3. 「美國大學生平均享有15萬美元的資源,台灣約只有15萬元台幣,相差30倍。」
我們是土法煉鋼,要超英趕美
馬上五年五百億的補助就要沒了,屆時更慘。
怎麼辦?不要好高騖遠,做研究要切實際,不要用那種「學院派」的思維貶抑我們這種幫助台灣產業經濟的人所做的務實研究!

4.「如果不能提供國際水準的研究環境,頂尖人才不會想屈就。」
這樣講,好像是說在台大的都不是頂尖人才?:)
不是啦,我們系上很多老師都是佛心來著的,也很懂得用各種方式突破困境...

5.「台灣的教育還是太過僵化,教改一改再改還是沒用」
這種話早就該講了,台大在這些年教改中扮演什麼角色?該檢討一下。
我去過國家教育院開過幾次會,沒幾個台大的學者在裡面,我人微言輕,力有未逮。台大人如果憂國憂民的話,應該有很多比寫論文更重要的事情可以做。

2013年12月17日 星期二

驚世理論與佛學

這篇還頗有趣的:

  • 驚世理論:真實在他方 我們的宇宙只是個大投影!http://www.ettoday.net/news/20131213/306628.htm

這跟佛陀的宇宙觀是一致的。想到幾段讀過的文章,貼出來印證:

  • 「依據西洋文化史的看法,人類由原始思想而形成宗教文化,復由於對宗教的反動,而有哲學思想和科學實驗的產生,哲學是依據思想理論來推斷人生和宇宙,科學則系從研究實驗來證明宇宙和人生。所以希臘與羅馬文明,都有它劃時代的千秋價值。自歐洲文藝復興運動以後,科學支配著這個世界,形成成以工商業為最中心的物質文明。一般從表面看來,科學領導文明的進步,惟我獨尊,宗教和哲學,將無存在的價值。事實上,科學並非萬能,物質文明的進步,並不就是文化的昇華。於是在這科學飛躍進步的世界中,哲學和宗教,仍有其不容忽視的價值。佛教雖然也是宗教,但是一種具有高深的哲學理論和科學實驗的宗教。它的哲學理論常常超出宗教範疇以外,所以也有人說佛教是一種哲學思想,而不是宗教。佛教具有科學的實證方法,但是因為它是從人生本位去證驗宇宙,所以人們會忽略它的科學基礎,而仍然將它歸之於宗教。可是事實上,佛教確實有科學的證驗,及哲學的論據。它的哲學,是以科學為基礎,去否定狹義的宗教,它的科學;是用哲學的論據,去為宗教做證明。楞嚴經為其最顯著者。研究楞嚴經後,對於宗教、哲學和科學,都將會有更深刻的認識。」(南懷瑾 楞嚴大義今釋)
  • 「楞嚴經說明物理世界的形成,是由於本體功能動力所產生。因為能與量的互變,構成形器世間的客觀存在,但是真如本體也仍然是個假名。它從身心的實驗去證明物理世界的原理,又從物理的範圍,指出身心解脫實驗的理論和方法。現代自然科學的理論,大體都與它相吻合。若干年後,如果科學與哲學能夠再加進步,對於楞嚴經上的理論,將會獲得更多的瞭解。楞嚴經上講到宇宙的現象,指出時間有三位,空間有十位。普通應用,空間只取四位。三四四三,乘除變化。縱橫交織,說明上下古今,成為宇宙萬有現象變化程序的中心。五十五位和六十六位的聖位建立的程序,雖然只代表身心修養的過程,事實上,三位時間和四位空間的數理演變,也說明了宇宙萬有,只是一個完整的數量世界;一點動隨萬變,相對基於絕對而來,矛盾基於統一而生,重重疊疊,所以有物理世界和人事世間錯綜複雜的關係存在。數理是自然科學的鎖鑰,從數理之中,發現很多基本原則,如果要瞭解宇宙,從數理中,可以得到驚人的指示。目前許多自然科學不能解釋證實的問題,如果肯用科學家的態度,就楞嚴經中提出的要點,加以深思研究,必定會有所得。若是只把它看作是宗教的教義,或是一種哲學理論而加以輕視,便是所有學術文化界的一個很大的不幸了。」(南懷瑾 楞嚴大義今釋)

要不要當興趣人?

什麼叫做眾說紛紜?什麼叫做「盡信書,不如無書」?有辦法清楚辨認文章中的時空背景、重點、以及對於個人的適用性,才不會被牽著鼻子走 -- 到哪裡還是牛 :)

對於作者和我這種目前社會中堅的「五年級生」,當年的求學過程,往往是個啟蒙的過程。在中小學一路被逼迫著讀書、補習、升學的過程中,誰管你有沒有興趣?我們看到在建中,數理能力強的,有什麼理由不走理工路線?成績頂尖的,很多是被期待要上醫學院的。有趣的是,按照社會和家人的期待考上大學的瞬間,也是解放的時刻。進入「由你玩四年」的大學,發展你個人的興趣,反正只要畢得了業,就有還不錯的工作等著你。有人在大學找到自己的真正興趣,有人晚一點,還是個啟蒙的過程。能夠像我這樣「興趣即是工作」「以工作發展興趣」的人,應該感到十分幸運。

比我們五年級更早出生的學長們,面對台灣早年更嚴峻、更拮据的教育和社會環境,有多少人有資格談興趣? 還是生存比較重要吧? 要生存得有意志力、戰鬥力,無時無刻還得要想辦法反攻大陸呢! 這些學長們到了甚麼時候才開始發展興趣呢? 天知道。當年經濟好的時候,很多學長說要賺一大筆錢之後退休做一些真正有興趣的事情,不過我很少看到這種夢想成真。一則很多人賺了錢,有了事業,賺錢和事業成為他們的興趣,從來沒有機會嘗試其他的興趣;一則很多人在職場上載浮載沉,哪有時間管甚麼興趣?很多人因為某種機緣而覺「誤」,步入中年後才急著想抓住些什麼,卻往往從一個「誤」轉移到另一個「誤」,台灣各類宗教信仰興盛,不是沒有道理的。

另一方面,台灣經濟的發展,使得六年級以後的同學們,在成長的過程中,有較多的機會嘗試所謂的「興趣」。問題是,這些所謂的興趣,在人生啟蒙的過程,扮演何種角色?從小學鋼琴、圍棋、參加國樂社、武術隊的經驗有多深刻?一件事,如果夠深刻,能夠影響一個人的人生,對當事人來說,就特別有意義。但如果這些所謂的興趣,是一堆人家衝到你前面,好說歹說吸引你加入,然後你進去淺嚐即止的經驗,你說是不是很深刻?

有趣的是,提早接觸各類「興趣」的經驗,甚至嫌老師上課不有趣,到補習班聽風趣幽默的老師上課的現象,似乎減損了同學們磨練意志力的機會。於是,大家聽到當年刻苦出身的大老闆們感嘆新世代沒辦法吃苦,年輕人抱怨社會和企業不給有趣和能適性發展的工作機會。大學生這個名詞,在今天台灣這種大學之道很寬敞的年代,根本不再是什麼身分的象徵。在經濟差的年代,找不到好工作的大學生,比比皆是,要如何談興趣呢?但是,難道因為經濟差,我們就不用談興趣?

我沒有想定調說要不要當「興趣人」,這不是用二分法可以去談論的複雜議題。我認為,中間真正的關鍵在於興趣是否夠深刻到足以具有意義、能否啟蒙人生。我沒有賦與這些過程「好不好」或是「對不對」的價值,因為「啟蒙」這件事,無關他人,純粹是個人的「人生事業」。在當年無所選擇的情況下所領悟的人生,也有他的道理,只是未必適用於每個人,更非是普世價值。我只想強調,找到真正的興趣,是一件人生大事,但不是非有不可的事。

(同場加映)
要講深一點的話,可以引用佛學的理論。這個世界是所謂的「慾界」,也就是眾生多半被其各自和加諸於他者的慾念(貪瞋癡)所左右的境界,所以產生各式各樣的煩惱。如何尋求解脫?大家口中常常掛著一句話:「放下執念」,卻每多少人真正做得到;選擇逃避,也不是真正有用的作法。佛經中有很多的修行法門,是利用慾念來去衝破慾念,比如說法華經中講三界火宅,其實不僅是個故事,講的是這樣修行法。很多人把「無慾無求」當口頭禪,其實很多真正的修行者是要有慾有求,只是這個慾求的境界是一直在昇華,昇華到最後才是無慾無求,就是佛的境界。

喔,加映的內容是給對佛學有興趣的人看的,不是要傳教,我本身也不是佛教徒,只是覺得道理是相通的。如果讀者要跟我爭辯佛學的正確性,恕不奉陪。

佛學當然談理性,還且還談很多,只是不自限於理性。
三界火宅、三車一車的典故,這裡有聖嚴法師的解說,比較正統,但是學術性濃了一點,有「興趣」者慢慢仔細品味:http://book853.com/show.aspx?id=149&cid=80&page=5

節錄其重點:
佛先用三乘法,來誘導那些只有三乘根器、喜歡二乘及三乘法的眾生,使他們各取所愛,各得所喜的工具,能夠先出離三界。之後,再給他們相等的一乘佛法,共成佛道。「大白牛車」代表佛乘,也就是佛法。

從為人師者的角度來看,要能夠以三車引導學子脫離火宅,是一項艱鉅的工程。

看見美國軟體產業及教育新趨勢

這週五下午,我請賴岳林(Raymond Lai)學長來台大資訊系演講。談軟體產業和資訊教育。Raymond近幾年回到國內奉養父母,看到國內資訊界的狀況,很憂心,因此主動做些事情。其中之一,是成立「橘子蘋果程式設計學苑」,提倡以正確的方法教中小學生程式設計。他親自教了兩年,對於資訊教育很有心得,也培養了幾位很優秀的小朋友,在13歲的年紀,能夠修習Udacity線上課程。我與他多次晤談,對於他的精神非常感佩,也學到了不少。當然,Raymond基於多年來在美國矽谷軟體公司的經驗,對於未來的軟體發展趨勢以及人才培育的方向,有很獨到的研究。因此,我特別邀請他來跟系上的學生們談談,希望學生們能夠藉此拓展眼界。

Raymond在演講中會讓這幾個孩子,各花個幾分鐘談談上了什麼Udacity課,有什麼困難、想法,以後想做什麼。

Title: 看見美國軟體產業及教育新趨勢
Date: 2013-12-20 2:20pm
Location: R102
Speaker: 賴岳林,橘子蘋果程式設計學苑創辦人
Hosted by: Prof. Shih-Hao Hung
 
Abstract:

昔日的矽谷金童,現在的知名創投 Marc Andreessen二零一一年八月在華爾街日報發表了一篇文章“Why Software Is Eating The World"。文章裡敘述了軟體不但大幅度的改變了我們的生活,也“吃掉”了越來越多的傳統產業:書店、唱片行、動畫、零售、電信、汽車、運輸、銀行、廣告等等。Marc Andreessen 在文章裡還預測以後十年軟體初創公司和產業巨頭的戰爭會是“epic" --譬如在教育和醫療領域,而且美國及世界會越來越需要軟體人才。

兩年多以後的今天,讓我們來看看美國軟體產業和軟體教育一些相當驚人的發展及趨勢,是否印證了當年 Andreessen 的預測,然後這些趨勢對資工學生帶來的又是些什麼樣的全球機會。

Biography:

賴岳林 (Raymond Lai)
* 台大資訊工程系 (1982)
* VP Engineering, iVendor
* VP Engineering, MetaEdge
* VP Service Platform, Chunghwa Telecom Global/中華全球
* Founder & Chairman, Grandis Media
* VP Technology APAC, FalconStor
* 創辦人, 橘子蘋果程式設計學苑

從陪小孩學 Coding 的機器人談起

看到這個產品介紹,覺得還頗有趣的...
【陪小孩學 Coding 的機器人做好了,只要新台幣 1800 元】
http://techorange.com/2013/12/17/play-i-raises-1-4m-from-the-crowd-for-toy-robots/

在facebook上貼文:

1. 這個很有趣,Gary Cheng兄看看貴公司有沒有辦法支持開發這種產品。

2. 「我們總說要幫助孩子提早適應越趨科技化的世界和工作環境,但卻只有十分之一的(美國)學校提供程式設計的課程」 -- 台灣也很糟糕,把資訊課當成工藝課,教Word, PowerPoint,搞不清楚狀況。

3. 「5 歲以上兒童只要透過圖像式拖拉出指令在 iPad 上將其編列成串,就可以控制 Bo 和 Yana 機器人的行動,這就是 Bo 和 Yana 的神奇之處。」 -- 這個我存疑,是否讓小孩從5歲就開始學習「控制」這件事?

4. 這東西支援Scratch和Python,可以搭配程式設計課給9~11歲的學生玩,發揮創意。Daniel Shih教授可以規劃用這個教令公子您的Cyber-Physical Systems

5. 對程式設計有天份的人,可能很快就玩膩這東西,之後要做什麼呢?好問題,很多人以為參加程式設計比賽很威,其實不然,那只是跟數學競試差不多的頭腦體操,不必沉迷其中。可以學的東西太多了,想知道答案的可以請教Raymond Lai。

6. 也許到了13歲,可以用Raspberry Pi組裝和規劃更厲害的機器人。我猜Raspberry Pi的處理機效能會以比Moore's Law更快的速度成長,i.e. 每18個月成長一倍。這類的東西,會越來越聰明。

7. 雖然這不是我所樂見的,但是programming基本上是種控制的手段,透過programming,一位小朋友可以控制多個機器人;透過資訊科技,少數人可以控制一大堆東西和掌握很大的權力。這已經是國際的競爭,沒有在資訊科技跟上時代的國家,將來可能被輕易地經濟殖民。

8. 培養足以在全球軟體界競爭的人才,對台灣來說是國家安全問題,是當務之急。不要再沉迷於硬體產業,像日月光這種危害環境的產業,不做也罷。

以上貼文引起一些迴響:

  • 卓政宏
    用這個教學練習,對孩子們來說更好玩。螢幕互動太抽象,實體的互動反應比較直覺。
  • 莊育棋
    我定了一套喔,夏天到貨,預計小孩可以玩到7歲,同時小孩可以用little big planet 來學簡易邏輯設計,明年升級成project spark 的Kudo language,再大些換Lego mind storm EV3或其後續機種,然後再配合自行打造的senser以及3D printer 印出的零件,同時也可以用各種game engin打造iOS, Android or PC game,再大些再引入向raspberry 這種單板,或是整組機器人套件,或是四軸飛行套件。總之,如果父母能自己教,小孩又有興趣,玩具多的是。
  • 鄭智仁
    之前雖然在自己小孩五歲左右有試著教她"寫程式", 不過很快就發現遇到瓶頸. 因為小孩的發展根本就沒辦法有更抽象的思考. 我也有試著教她數學, 同樣的很快就能學到小二下左右的東西, 但遇到乘法就是個門檻. 內人是個小學老師, 他說有很多小朋友在小三跟小五的時候會跟不上(尤其是數學), 或許是因為需要更多的抽象思考. 所以要寫程式, 應該是小五以後吧?!  (之前有跟 Raymond Lai 稍稍聊過)
    或許玩這種玩具, 很快也會遇到瓶頸, 因為沒辦法提供更近一步的思考空間?
    http://www.youtube.com/watch?v=mH1PVebHOpk (滷小米 - 程式設計再探 - 微軟Kodu [4歲8個月又20天])
  • 鄭智仁
    之前有找到國外用遊戲的方式, 教導小學生 Binary Numbers、Image Representation、Text Compression 、Error Detection & Correction、Information Theory 、Searching Algorithms、Sorting Algorithms、Minimal Spanning Trees、Routing and Deadlock in Networks、Finite-State Automata、Programming Languages 等觀念.
    http://csunplugged.org/
  • Changning Tsai
    不太確定什麼叫程式,不過小學時代賴坐在父親腿上學會了VisiCalc,當時也曾在父親出差時在校門口被他公司小姐「攔」去公司幫忙修改算式跟報表(還不斷跟小姐爭辯某某功能前幾天才跟父親一起做過,她需要的資料在哪邊哪邊)
  • Raymond Lai
    我們(有限)的經驗是小五開始學程式設計比較好,小四在邏輯、抽象思考和想像力上跟小五都有差距。當然,這是因人而異。
  • Raymond Lai
    不過歐美我知道的多從5到8歲開始,上面Ren提到的CS unplugged我記得是7歲,MIT Scratch是8歲,現在MIT和Tuffs University正在開發的ScratchJr,我在Mitchel Resnick某篇文章上看到,是5歲。我以前就想會不會因為歐美比較尊重孩子個體,用啓發式教學,所以孩子早熟一點?
  • Daniel Shih
    抽象概念是學習寫程式的基礎,至於程式語言只是工具。我們現在作的FBP雖說號稱要讓五歲小孩也可以 program CPS,但是,如果沒有資料流的抽象概念,我也不知道小孩如何用這樣的工具。我可以先讓我兒子試試,不過,他現在只能在螢幕拉來拉去。:)
  • Hsinchang Lu
    商業利益靠得是販賣想像,一如好萊塢;教育是百年樹人,別揠苗助長。老虎伍茲五歲就能打高爾夫,但是當貓(小虎)也要被尊重。
  • 洪士灝
    當然要尊重小虎,那是修養問題。販賣想像,的確是一個問題,但是願者上鉤,各取所需。不是每個孩子都該來走這條路。這裡談的議題是小眾的資優專業教育,就像有些小朋友有練武的天份,你可以多栽培他走這條路。國家該思考的,是不要讓所有人都接受一大堆通才教育,念很多書到念完高中,對專業根本沒用,對修養也沒幫助,這白白浪費資源,國教重文輕武(技術),造成積弱不振。
  • Hsinchang Lu
    在教育改革的大旗之下,其實就只做到齊頭的平等。能有學習自信、能觸類旁通,而後才有允文允武的可能。如今卻是以政治正確的迎合主張,讓小孩接受雜而無當的假性多元;未來在12年國教的考核方式下,更將錯亂掉原該精益求精的知識追求。不談分流教授的學習養成,不壤小孩真正認識到事理的有限性,包括自己,都是一種不教而殺的殘忍。
  • 洪士灝
    「假性多元」這個詞用得好!很多時候,這些科目是教育界個專科「政治角力」的結果,也是專科教師飯碗的問題。資訊科人單力薄,根本排不進去,我不抱期望,但這件事民間可以做,也該做。

2013年12月15日 星期日

北藝大看論壇劇

第二天來北藝大看論壇劇,這是從山上看關渡、八里的風景。

香港團演的議題:Made in China (港人居住、受教、工作權)
廣州團演的主題:女大當婚 (大陸熟女面對的成家壓力)
台灣團演的議題:一僱二主 (派遣工的工作權、待遇與職災保障)
新加坡團的議題:四十下 (學生管教、體罰、升學)
顯然,各地所關心的議題不同,文化差異也不小,是很有趣的交流活動。



2013年12月14日 星期六

「披褐懷玉」的典故

「傳 Google 將研發 ARM 架構伺服器處理器」
http://technews.tw/2013/12/13/google-said-to-mull-designing-chips-in-threat-to-intel/

  • Google 有可能自行設計伺服器處理器,採用 ARM 架構,由於 Google 是 Intel 處理器大客戶,改由自主設計後可能會對 Intel 在處理器業務造成影響。

早就說過application-system co-design是重要的趨勢,而其重點在於為那些有經濟規模的applications設計最佳化的系統,至於如何做好這件事,那就是很關鍵的know-how。這種know-how,國內沒有多少人懂,也沒有幾家廠商懂得賞識。這些年想把功夫傳授出去,竟然是言者諄諄,聽著渺渺。我想大概是因為練這功夫太辛苦,就算是資質不錯,沒有下三五年苦功,也難以成大器。

以下是抒情文... 有點跳躍,不詳做解釋。

殊不知,在武俠小說的世界裡,練成一門好用的絕學,例如降龍十八掌、易筋經,能夠縱橫江湖,比起練一些三腳貓的、中看不中用的功夫有用太多。在真實世界裡,難道不是這樣?

這些年,看到一個一個我們有機會有能力做的東西,被國外廠商做出來,而國內產官學各界長官急著找出路之際,卻看到許多有為中年、青年被制度和文化綁死,龍困淺灘,資源永遠把持在既得權位者手上。為了鞏固權位,寧與外人,不給家奴 -- 寧可請外面和尚來念經,不樂見下屬在體系中出頭領導,是為現代式的封建。

聯想到 「披褐懷玉」的典故,來個每日一詞吧?
- 老子:「知我者希,則我者貴,是以聖人被褐懷玉。」
- 子路問於孔子曰:『有人於此,被褐而懷玉,何如?』子曰:『國無道,隱之可也;國有道,則袞冕而執玉。』」
- 漢˙趙壹˙刺世疾邪賦:「被褐懷金玉,蘭蕙化為芻,賢者雖獨悟,所困在群愚。」

2013年12月13日 星期五

高中生學電腦

帶學生在北一女上課時發現一本建中北一女電研社聯合講義。





有一篇「序」寫得還不錯,還能談到社會現象,延續建中青年的靈魂。


 我希望這樣的年輕人有機會多受到進階的指導,不要被考試和學歷埋沒了。我認識幾個資訊科技的怪才,很會做東西,也很有創意,但是不大會考試,所以沒有亮眼的學歷;不大會包裝和推銷,所以有好的技術只能為人作嫁。

想當年我們也廢寢忘食編寫過社刊,參加科展。電腦的很多東西都可以自學,語言、基本的程式設計,對很多人來說是很容易的。演算法、資料結構,對邏輯好的人來說,只是頭腦體操。電腦這學門,可學的以及有挑戰性的東西太多了,越早開始越好,我們要想辦法在這方面做些事。

不過。我不大喜歡看到年輕人為了參加所謂的程式競賽用題庫做練習,那種東西跟參加數學競試差不多,其實對於解決真正問題不見得有很大幫助。我對我的研究生說,學資訊科技,要先求通達,然後才是求精煉;不要急著小題大作,而是要全面了解大問題後。再去解決其中最關鍵的難題。

實力派的創業

這則報導李佳儒博士的故事:
http://www.businessweekly.com.tw/KWebArticle.aspx?id=52789

上週才跟李博士交流過,對這上面報導的東西印象很深刻。李博士是個很務實、硬底子的工程師轉創業家,他說他最大的資產是他的經歷和能力,讓所謂的「貴人」願意投資他。一個成功的團隊,一定要有足夠的實力,這點在創業時不要輕易忽略。

MOOC課程要成功的關鍵

一個MOOC課程要成功的關鍵:
1. 內容引人入勝
2. 修課完成證明具有意義

如果兩個有一個,主動或被動,學生較可能修完課程。如果二者皆無,則希望渺茫。

這篇新聞「MOOC課程成效不佳 完成度僅4%」說:
約100 萬註冊者中,約僅半數實際去上過一次課,完成整學期課程者更僅有4%。

但是要注意到這則報導引用的數字,不能武斷認定MOOC課程成效不佳。註冊不用花一毛錢,自然很多人隨便註冊玩票而已。這說明MOOC的business model必須更明確有力。

2013年12月12日 星期四

台灣教育的第三條路!

幾天前與朋友談到教育,談到他對於台灣公立國民教育的失望,把小孩送到西式教育的中學,準備將來送出國念大學。這樣的朋友不只一位,有朋友把小孩送台北美國學校,將來規劃讓他們去美國念大學。經濟狀況不錯的話,多個選擇,但似乎也只有兩個選項:

1. 念台灣公立學校 --> 為升學所打造的教育,考試壓迫學習思考空間
2. 將來出國念大學 --> 可自主學習,提早發掘與開發個人興趣與專業

我說你捨得小孩將來出國後可能一去不回?朋友都說,這也是不得已。

我尋思,為什麼沒有第三個選項?難道台灣沒有一套教育系統能夠讓小孩在中學時期自主學習,提早發掘與開發個人興趣與專業,然後一直不斷開發下去成為一流專業人士?

我問朋友,如果有的話,你有沒有興趣?他說,當然有。

在討論的過程中,先遇到學位的議題。朋友認為學位很重要,沒有學位怎麼生存?在目前大多數人的個人經驗裡,求職得先看學歷。無論如何,總得混個大學學歷,才夠資格出來找個像樣的工作吧?

幾週之前,我問過大公司的主管,如果有個很厲害的科技人,沒有大學學歷,你們會雇用他嗎?他面有難色,首先企圖把責任推給人資部門,然後說主管要有擔當才敢做這樣的決定。

我沒有再講下去,我尋思,台灣科技界有多少有識人之明的鮑叔牙、伯樂?沒有辦法發掘管仲之才,如何興邦?無法挑選出有戰力的千里馬,如何致遠?

近年來,我接觸過很多的年輕人,有些如上述朋友所擔心的,被台灣這種為升學所打造的教育和考試壓迫了學習思考空間,有少數能夠倖免於難、具有獨特性的年輕人,並不容易被業界長官所賞識和栽培。而且,在交互作用下,情況惡化,管道被塞住了,有錢人只好把小孩送出國。

類似第三條路的東西,台灣本來是有的。但是因為學位掛帥和不尊重專業的心態,我們把整個教育體系改成今天這個樣子,學位反而普遍變得不值錢,變成今天的窘境。

以前有很多優秀的專科,例如台北工專,培養很多人才。如果當年沒有貿然改制,而是以培養高級專業人士為目標,強化學校的師資,吸引優秀的人材從「科技高中部」、「科技大學部」一路唸到「科技研究所」,這樣的十年專業磨劍,能否培養出業界所需的科技菁英?

可惜,我們不能回到從前,但是我們可以想辦法提供第三條路。這絕對不是教育部在現有制度上疊床架屋(改入學制度、學位制度)以及發明各種獎學金和研究補助案就能開一條新路出來的。科技業一直說缺乏人才,該檢討自己的用人理念和聘任管道,以及思考如何致力(投資)於培育未來你們所需的人才,不要全靠教育部。

無論是體制內還是體制外,教育部不做,民間可以做。至少就資訊科技領域,如果及早開始做,我想還是有很大機會挽回下滑的趨勢的。

以下是Facebook上的留言:

  • Hsinchang Lu
    請參考,https://medium.com/this-happened-to-me/8f381aa6bd5e
    Four Steps to Google, Without a Degree
  • Doug Chen
    人才常在HR那就被擋下來了,理由學歷不夠、經歷不適合,當然他有他們專業上的考量。HR在乎找能找到 全方位條件好的人,卻較少關注找進來的人是否真能幫公司解決問題。
  • 陳曉郁
    但我也不得不講。國內廠商想要人才卻不肯投資,這種情況貴系就遇過很多了...
  • 陳鍾誠
    士灝兄這個問題真的寫得很好,很深層的問題,深有同感啊!
  • Chijung Chen
    其實HR 不見得會擋, 但是多的是學歷不夠好的candidate 也拿不出像樣的成果來說服我們錄取他. 我個人是這樣看的. 如果有具體的成果, 我不會管他的學歷是好是壞. 再來才看學歷. 但是, candidate 能拿出像樣的成果的人實在太少了.
  • 邱國光
    小弟覺得應該要檢討僵化思維和階級文化的問題。
    人才的問題,畢竟小弟也不是什麼個人才,無法對人才培育有何見地,但之前在網路上看到Google對HR recrutment process政策的改變,發現這家公司比別的大型公司(IBM, MS, etc)靈活和務實。他們把big data的技術延伸至leadership和management領域,並問一個問題:這些進來google的人是否在招聘時的表現比較好?(whether anyone at Google is particularly good at hiring ?),做這個研究的目的只是要確認在招聘期間給予這些聘用的candiates與其在工作表現上是否有相關。結果是沒有相關的,http://www.nytimes.com/....../in-head-hunting-big-data......。

    這篇文章個人認為是寫給當主管的,要他們能夠改變其面試文化,捨掉brainteasing的面試方式,改用structured behavioral interviews。

    他們也發現consistent的主管,也就是進行決策時能一致地和公平地下決定(We found that, for leaders, it’s important that people know you are consistent and fair in how you think about making decisions and that there’s an element of predictability),這樣的主管會讓員更自在地工作(If a leader is consistent, people on their teams experience tremendous freedom,... )。

    另外一點,我認為在台灣大概不會發生的,就是評分你的主管,並且將評分的結果給各主管看。在google這個叫做upward feedback survey,成效看來不錯。

    他們的研究也發現到學業表現跟工作表現也沒有任何關係(One of the things we’ve seen from all our data crunching is that G.P.A.’s are worthless as a criteria for hiring, and test scores are worthless — no correlation at all except for brand-new college grads, where there’s a slight correlation.),進一步解釋為何不相關,Another reason is that I think academic environments are artificial environments. People who succeed there are sort of finely trained, they’re conditioned to succeed in that environment. One of my own frustrations when I was in college and grad school is that you knew the professor was looking for a specific answer. You could figure that out, but it’s much more interesting to solve problems where there isn’t an obvious answer. You want people who like figuring out stuff where there is no obvious answer.)

    In Head-Hunting, Big Data May Not Be Such a Big Deal (www.nytimes.com)
  • 蘇文鈺
    我們來"打出"這第三條路吧
  • 劉哲崇
    老闆吝於投資, 因為輸太多了. 現在輪到你了.
  • 華順發
    非常認同 洪士灝老師的看法,廿年前,我就一直在尋覓這第三條路逕,於1995年自己跳下來從小眾團體中開始做,只能用『補習班』的型式立案,但我又不想用『補習』、『升學』的模式來教育,因此,跨年級(經常跨越5~6個年級混齡)的從『實驗』、『思考』、『邏輯』來授課,放棄傳統實驗室的瓶瓶罐罐,取材廚房浴室等『生活科學』的方式來教,期待孩子們可以『讓小孩在中學時期自主學習,提早發掘與開發個人興趣與專業』,那天,葉丙成老師說『成大演講完看到好幾位學生拿Coursera機率課筆記給我簽名留念』,我就跟 葉丙成老師回說:『我有二位學生,一個國三,一個國二,在等待上我的課之前,也是拿Coursera機率課筆記在演算!』,也分別有幾位國中學生在修臺灣大學Coursera的歷史課程,好像已初步達到『不以升學為目標的自主學習』-------
  • 華順發
    Coursera 的 「中國古代歷史與人物--秦始皇」課程圓滿落幕!!最後一次的作業是:請選擇一位歷史人物,用你的方式來介紹此人的一生。我的一位國二學生選擇『人們常常對「王安石」和他的變法有負面的想法,把他貼上了「剛愎自用」的標籤,但其實不然。所以我寫了這本「變法訣和安石英雄傳」,主要的目的,就是想要改變人們對王安石的成見,可以重新認識這個人,看見他的優點與文學的長才,重新檢視王安石變法失敗的原因』自發性的寫了一篇小論文!
  • Richard XU
    怕是孩子出了國,便失了根,還是在他中年時才能体悟。那時,都沒法回頭囉!


2013年11月14日 星期四

給2014碩士班新生的話

無論你是否找我當指導老師,我的實驗室的大門敞開著,歡迎對於電腦系統有高度興趣而且樂意用功努力的同學進來學習遊玩!

我說來遊玩,你可能覺得是在開玩笑,不過我是認真的。我盼望能收到像我一樣把研究電腦系統當成是興趣、以搞懂複雜系統為樂、希望親自動手把玩最先進的系統的研究生

我知道,這樣的學生得來不易,但是你們很多人是可以成為這樣的人的。讓我先說說成為這種的人的好處。

首先,這種人經常被稱為hacker。不過不要把他想成是中文的駭客,因為hacker指的是能夠以超凡或特殊的作法,做到常人所無法辦到的事。電腦以及電腦所衍生出的資訊世界(cyberworld),是目前世界上最重要的工具和影響人類文化的所在,誰能夠有效掌握和創新電腦科技,就能夠影響整個世界,因此電腦hackers在今天扮演舉足輕重的角色

我跟業界的人接觸頻繁,知道現在業界需要很多的hackers為他們開創新局。日新月異的電腦科技,不可能在學校教會你所有的東西,但也不可能讓你在學校只學基本和理論性的東西,連我們當老師的,也是一天到晚在學。所以要成為hacker,必須主動積極學、動手做東西,才能夠讓自己夠專業

作為指導老師,我會努力把我的know-how傳授給我的指導學生,並且和我的學生共同探索最先進的電腦系統領域,包括最新的異質多核心處理機架構、打造更安全更有效率的雲端運算虛擬環境,以及建構巨量資料的系統和應用。我們和第一流的公司和其他的研究團隊合作,把研究做得更務實更深入。

對於基礎不夠的同學,來我們實驗室做研究是有點辛苦的。你必須花比別人更多的時間下苦功,才能體會到我上述hackers的感覺與快樂。然而,一旦嘗過這個快樂的滋味,你可能會欲罷不能,把研究當成是最大的興趣

我們實驗室在未來這幾年,希望在現有的基礎上更上層樓,做出一些有貢獻的研究成果。如果你對我們現有的基礎和研究方向沒有很大的興趣的話,可能會在研究上遇到相當大的困難。因此,不妨花點時間,思索一下你對以下的研究方向有沒有濃厚的興趣?

- 高效率的異質多核心處理機(heterogeneous multicore)系統: 模擬(simulation)技術、虛擬化(virtualization)技術、平行程式(parallel programming)設計、平行處理架構(parallel architecture)、硬體加速(hardware acceleration)、效能分析技術

- 安全有效率的雲端運算虛擬環境(cloud-based virtulized environment): 分散式系統架構(distributed architecture)、分散式程式設計(distributed programming)、資訊安全(information security)、系統與中介軟體開發(system software and middleware)、效能分析技術

- 實際巨量資料(big data)的系統和應用: 開發效能分析工具、分析特定巨量資料應用的特性、建構巨量資料應用的model & simulation tools、改進巨量資料系統與中介軟體之效能

我希望你在考慮進到我們實驗室之前,先下定決心,把成為hacker作為目標。對於有心的同學,我會從旁全力協助和教導你。但如果同學沒辦法下決心,只希望在研究所這兩年學一些技能之後得到一紙碩士文憑的話,那坦白說,我希望你考慮去其他的實驗室,但我還是歡迎你來我們這裡修課和交流。

台大比我好的老師很多,祝福所有新生都能找到適合自己的研究領域和指導老師。

十二年國教中缺席的科技教育

(2013.11.12)我去國家教育研究院開會討論「十二年國民基本教育科技領域課程綱要草案」,與會人士多數為教育界的先進,這個會主要是對於未來的十二年國教是否或如何引進科技和資訊課程,提供規劃的建議。所謂「綱要」,大約有五頁的內容,敘述初步的課程規劃。具體的內容,還得等教育部統整各方面的意見,決定是否將科技和資訊課程納入十二年國教之後,才會正式進一步發展。(有可能因為其他傳統勢力的反對,因為每個領域都認為自己領域很重要,而且加入新課程會排擠到其他教師的工作權。)

等待會中所有先進表達意見之後,我的發言如下:(保留現場口語式的發言,當場須兼顧發言的禮貌,有些話說得比較婉轉一點。)

我在回國任教之前,曾經在國外業界待過,知道一些業界的狀況,回國在台大資工系這些年所看到的,深深覺得台灣的資訊人才缺乏國際業界的競爭力,非常擔憂。怎麼說呢?我舉三個例子:

1. 資工系畢業不會寫程式:今年交大一計算機程式設計的劉邦鋒教授上週對我說,他的班上剛考期中考,成績非常不理想。我說,會不會是考太難了?劉教授一一列舉考題,幾乎每個題目考的都是非常基本的東西。綜合我在這些年的教學經驗,我認為進到大學的學生的實作能力變差了,這呼應剛剛幾位先進所強調的,中小學教育的內容似乎太強調知識性的東西,重視成績的學生不見得在乎其他的東西。

2. 沒有工程概念和自我學習的習慣:沒有動手做,很難對工程的概念有深刻的體會;教材把知識整理的好好的,學生沒有很多機會藉著自我學習去解決沒有碰過的問題。因此,學生到了大學,要做複雜的problem solving的時候,不會在實作中應用所學的知識,不會主動找資料,變成司空見慣的狀況。我們往往到了研究所,還要耐心教學生一些基本的技能。無怪乎剛剛幾位先進會說業界覺得大學畢業的學生不好用。我想,除了我們在大學裡應該檢討教學內容與方式之外,從小打基礎,是非常重要的事。

3. 缺乏與人協調和團隊合作的能力:我想,這一點似乎是老生常談,有人甚至會說是中國人的通病。我不諱言,今天我們面對的是國際競爭,不是關起門來用個人的考試成績決定誰當官的科舉封建制度就能夠上得了國際舞台的。目前世界各國,無不希望有更多的科技人才,甚至跨國搶人才,來建立更大的研發團隊。以我在矽谷和台灣所看到的,書念得好的台灣人,很多都在高科技業擔任高階工程師,有意願和有能力帶領研發團隊的不多,要出來開公司的更少。我想,剛才幾位先進談到的project-based的科技課程,可以在中小學階段塑造更多團隊合作的機會,應該是科技和資訊教育的重點之一,是否可列入核心目標?

大學生的問題還有很多,我們大概可以講好幾個小時,不過我覺得以上的三點,是我們推動中小學科技資訊教育之後,或許能夠幫忙解決的。因此,我對於今天大家在討論的這個科技資訊課程,覺得是很重要的工作。

我知道各位實務界的先進,在國民教育體制內推動改革過程中,一定得考慮很多實際的問題,包括排課、資源不足、課程規劃、教師訓練等問題,但是我個人認為,這些該做的事即便體制難以大規模推動,也應該鼓勵一些學校以此作為特色辦學。

最近幾年我們台大資訊的資深校友賴岳林先生從美國資訊業界回到國內推動中小學的資訊教育,跟不少的中小學的校長、老師、學生有非常良好的互動,很多人都意識到資訊科技的重要性,也知道資訊人才受到這個不斷快速變遷成長的科技業極度的重視。

因此,我們已經在積極推廣資訊教育,包括賴學長親自在中小學教授電腦社團,並且將美國大學程度的Udacity線上資訊科技課程引進培育資優的中學生,都有很好的經驗,可以提供作為參考。還有,台大電機的葉丙成教授、政大教育的林顯達教授這學期與我在台大合開一門「數位學習與工程教育」的課程,吸引到不少對教育有興趣的研究所學生的參與,在課程中探討資訊教育基礎課程的設計,希望能夠在台大拋磚引玉,將來有更多師生來參與。

提到課程設計,我們認為「啟發興趣」是我們目前關注的重點。對課程產生興趣的學生,會特別有學習動力來克服挑戰,也會自動自發地學習,這樣一來,相關的英文能力、數理的知識都派得上用場,甚至在一些實作專題上,能夠發揮團隊合作的效果。因此,我們非常期待十二年國教中能夠加入更多能夠引發學生興趣以及project-based的設計教學,而資訊科技正好是這樣的題材。

運用資訊科技,不但可以加速資訊科技的學習,更可以照顧到資源較匱乏的偏遠地區。由於電腦和網路的普及,數位學習(e-learning)和線上課程,讓任何地區的孩子都能接觸到最新的教材,降低城鄉差距,幫助偏遠地區的腦力開發。

不過,數位學習和線上課程絕對不是把課程製作成電視節目放在網路上供學生下載觀看而已。課程的設計、教學的技巧、作業的形式、評量的方法,在在都很重要。在座有很多教育界的先進,一定知道線上課程的重要性,也很關切線上課程將來對教育界帶來的衝擊。我想,擁抱線上課程已經是世界的趨勢,如何利用線上課程提昇國民的教育水準,以及兼顧教師的專業,是大家都在思考的問題。

剛剛先進們有提到中小學的資訊專業師資不足,我想數位學習和線上課程剛好可以派上用場。況且,這也是讓新一代從小養成自主學習和適性學習的絕佳方式。因此,我建議課綱應該規劃配套措施,多提供選修科目,引進線上課程,舉辦比賽,提供那些有志於資訊科技的學生一條可選擇的道路。

以上是我記憶所及在會中的分享。以下是我想以書面做的補充內容:

我想,作為一個教育工作者,應以身教作為表率。如果我們希望學生們能夠自主學習,教育當局應該適度放手讓學校、老師、家長、學生們共同思考如何建立特色。現在是資訊爆炸、學無止境的時代,許多受教育長達17年的碩士生卻仍未「出師」,許多人問該怎麼辦?我們或許該開始思索如何支持自主學習,讓學生在學校時能夠真正建立起他們的專業。這點,至少在資訊科技上,我認為是做得到的。

所謂「十年磨一劍」,想把資訊科技學到出師,沒有大量的學習是不夠的,許多國外在大學時代創業成功的例子,都是當事人在小時候把學習電腦科技當成是訓練鋼琴家、職業圍棋手的志業,因此他們在大學時代就有創業的企圖心和能力。很多的資訊課程,在技術的部分,不需要高深的數物化的知識,因此可以想語言和圍棋般及早學習。至於理論的部份,放在後面再教,往往會因為學生的求知慾而提高學習興趣。

想想一個具有高度資訊能力的年輕人,在大學裡自由主動地探索新科技,跨領域激盪創意火花,不計個人時間成本、不怕失敗地為理想奮鬥,這是多大的學習動機和創業能量? 縱使創業失敗,他們學到的東西絕對不少,甚至能夠及早累積經驗,作為日後成功的基礎。

反觀今天我們讓學生從大學才開始學真正的資訊科技(現在中小學裡學的是電腦操作,不是資訊科技),讓學生學了很多知識,把成績好的學生留在學校到研究所畢業,進到職場時都已經25歲左右了,沒有多少實務經驗,背負成家立業的壓力,大都想進大公司;轉眼三十而立,有幾年工作經驗,原是到處闖蕩和創業最佳時機,卻可能因為背負房貸和養家小而錯失良機。

我在學校一直鼓勵年輕人勇於創新,但我能體會大多數年輕人裹足不前的原因,所以我自己一直在來思考和改進教育的目標、形式和管道,很不希望因為我們這代自己的迷思和執著,而耽誤了下一代。如果各位先進對小弟的發言有任何意見,或是有需要小弟幫忙的地方,請不吝賜教和吩咐。

2013年11月11日 星期一

吃飯和探索宇宙?

任何受納稅人資助的機構和個人,在道義和良心上,都得回答類似的問題。比如說大學拿國家的資源,到底對於社會有什麼貢獻?研究團隊拿國家的資源做研究,是為了提昇個人名位權力財富,還是為社會做些事情?

很弔詭地,我們在許多制度的設計上,往往鼓勵大家先鞏固和提昇個人的地位,其次再去想為社會做事,也就是先自私,再奉獻。這聽起來無可厚非,但問題是當一個人有了地位之後,往往也有了立場和執著,這時候所見所聞、所關心和奉獻的對象大都來自特定的族群,見解不易超然,我想這尤其是學術中人該慎思明辨之事。慎思明辨,最終是對自己負責,可不是自欺欺人的花言巧語就行的。

參考:
有這麼多人吃不上飯 為什麼還要探索宇宙?
http://news.sina.com.tw/article/20131107/11053815.html

2013年11月9日 星期六

電機資訊學院教師壘球隊

台大工院杯壘球賽,電機資訊學院教師壘球隊,在大太陽下奮戰三場,拿到第三名。擔任一壘手無失誤的我,與有榮焉。好久沒有曬太陽曬的這麼爽了,雖然身上受了三處傷(右膝、右手掌、左肩),希望明年還可以再來玩,好好把握中年的青春尾巴。

後記: 左肩錯位,喬好之後據醫生說要休養一個月。

相片:台大工院杯壘球賽,電機資訊學院教師壘球隊,在大太陽下奮戰三場,拿到第三名。擔任一壘手無失誤的我,與有榮焉。好久沒有曬太陽曬的這麼爽了,雖然身上受了三處傷(右膝、右手掌、左肩),希望明年還可以再來玩,好好把握中年的青春尾巴。

2013年11月7日 星期四

大學的創新

每隔一陣子就看到一位資深教授出來針貶大學之道,今天又看到一篇《周行一/大學的創新》(http://udn.com/NEWS/OPINION/OPI4/8271654.shtml),基本上我是贊同的,不過這樣零星的力道恐怕無法撼動既有的體制。教育部長官和大學校長們的想法,有時候跟代工業管理者的想法很像:被動、守舊、怕失敗、不敢放手,以至於到最後就沒有創新和遠見。

如同企業界,大學教授在這16年間的實質薪資並沒有成長多少,但如果以論文數量或是教育部所重視的關鍵量化效能指標(KPI)來看的話,教授們的「生產力」是大幅成長的。加上引號的「生產力」,是否真的能塑造卓越的大學呢?這點我很不以為然。

任何組織要創新,必須有人帶頭做起,不是帶頭喊口號、出一張嘴指揮屬下就行的。能夠帶頭創新所需要的「領導力」,是項「藝術」,和帶頭打天下的草莽英雄類似,你看馬雲講話很直白,幾近乎草莽,誇口要打天下,底下一堆人就衝。這種領導力,不是靠高超管理技術和理論就能夠做到的。

我在想,台灣這些50年來的教育和社會文化培養出什麼樣的領導人才?我們看到在各行各業有不少運用管理和行銷手法結合既有資源而飛黃騰達的名人,就像在太平時期沒有真正打過仗的將軍,沒有戰功,升官得靠逢迎拍馬。即便通過各項測驗,我們還是不知道他會不會出奇致勝。

平心而論,這些位於各行各業的管理行銷人才,其實曾經對台灣的經濟發展和政局穩定有很大的貢獻。然而,台灣已經過了那些時期,這些年來的諸多問題,並非光靠管理和行銷就能解決的。大學無法創新,是因為教育部用管理的手法經營大學,而大學校長用管理手法來評鑑系所和教授,而教授只好去做管理研究生、行銷研究和論文的事。

很多科技廠商難以研發創新,是因為管理的部份太多,冒險的部分太少。(當然,也有很多科技廠商有在嘗試創新,但資源往往不足。)最近食品廠商的問題,突顯出經營者認為藉由行銷手法賺錢早就是王道。馬政府檯面上的官員,以及許多媒體捧紅的人物,有多少是管理行銷長才?有多少是會做事的人?喔,我還沒有提到「厚黑學」呢!

要解決問題,必須有管道把資源提供給能夠解決問題的人。關鍵在於政府與各行各業的領導者,要能夠「慧眼視英雄」,重視真正會做事的人才。如果要談創新,領導者應該和人才站在同一邊去努力,而不是以管理者自居。

當然,大家可以選擇不去冒險,讓子女去當公務員,那我們就不用談創新了。如果一天到晚企盼創新,卻沒有實際的作法和投入相當的資源,那要怎麼才能做得到呢?我沒有說各行各業都要搞創新,我想強調的是,創新很難的,把創新的任務交在不對的人手上,更難成功。

2013年11月5日 星期二

高二學生問資訊教育

有位高二的學生寫信來問我有關資訊教育的問題,他說:

「現在所面臨的問題非常的苦惱,就像您所言,對於電腦有熱情無論幾科科目被當掉皆無所謂,但現實終究是殘酷的,我對於學業並不像一中學生般一樣厲害... 」

「今年暑假曾前往成大參與過黃敬群前輩所開的嵌入式課程,當中,我確立了我想做的事 -- 我想開發電子產品,我也認為我有能力學習如何成為這樣子的工程師。」

「能與我切磋的朋友是如此的稀少,學校也無法提供我相關的資源。究竟我是否該回歸這種令人感到反感的體制下符合師長的期望做事,或是在拼一把?」

「我也曾和敬群前輩討論過這個問題,他給我的建議是暫時兼顧,但我的心態早已改變,無法只是單單的面對學測...」

我的回覆:

我想,你如果很清楚地知道自己想走的路,不妨往自己想走的道路走走看,確定自己很有天份做這些。

能修過敬群的課,證明你有不錯的基礎。想走這條路的話,繼續跟著敬群走,是一件很好的事。關於學術方面,你也可以向敬群的老師、我的好友成大的蘇文鈺教授請益。

至於體制這個大問題,我們終身都得面對  所以我建議你也不要急於一時去做出究竟是要與體制共存或對抗這種一翻兩瞪眼的決定。體制可以載舟,也可以覆舟,不在體制裡,也搞不清楚體制是什麼。

我對我自己的小孩說過:高中要畢業應該不難吧?找個大學念畢業不難吧?如果是為了有個起碼的學位,將來就像有張大賣場的會員卡,雖然不是什麼身分象徵,辦一張好方便進出賣場吧?一流大學的學歷,在一般社會眼光中,像是拿到一張金卡,進場比較方便。但真正有實力的人,就像身上帶著大把鈔票到賣場去,人家求你辦張鑽石卡進場。

吳寶春就是個例子,不過能成為吳寶春的人並不多,為什麼呢?這值得想一想。或許有很多和他一樣有天份的人,根本沒有機會知道自己能做這個;或許有些知道自己對做麵包有天份有興趣的人,受到外界影響,根本不敢朝這方向走;或許有天份、有興趣、可自由選擇,但是不知道這條路能賺大錢;或許選擇走這條路,卻吃不了苦,出不了師;或許沒有想出人頭地,只想靠一技之長好好過日子;或許有更多人,根本不想做麵包。

我談這些「或許」,不是說吳寶春,而是談選擇。有些或許,是沒有選擇的;有些或許的後面是選擇,而選擇的後面有他的道理或因緣。

我希望你不要過於煩惱。在高中二年級,能夠找到自己喜歡的路,而且已經積極開始在探路,你的未來還有很多時間可以努力,網路上很多資源,你又有機會遇到明師帶你走你想走的路,只要你確定你有充分學習的時間,天天都收穫滿滿,將來自然水到渠成,不需太擔心,也不要急著在幾年之間「出師」。如果你的家境還可以負擔的話,藉著在學校的時間,多學一些將來可能派得上用場的東西。

所謂十年磨一劍,你才剛開始磨劍,跟著敬群學幾年後要到業界闖蕩不難,但我希望你把目光放遠一點,學多學精,將來成大器。

比起許多花了許多冤枉時間和精力唸玩研究所還不知道自己想做什麼的人,你的處境幸運多了。不過你不要把自己逼的太緊,高中老師教的,也有很多有用的東西,所以不妨學習調適心態,兼顧必要的學業。

2013年11月4日 星期一

去中研院統計所演講「Big Data」

今天被長官找去中研院統計所演講「big data」,來聽講的不少研究人員想必是衝著big data這個題目而來的。對於這個大題目,我也只能講我所懂的一些皮毛,上台獻醜。會後,討論到兩大問題,第一,缺乏平台;第二,缺乏資料。不過,我想這些都有辦法可以解決的。

我說,如果學術界和政府關起門來做的話,能建多大的平台?能開發出多少有用的應用?在美國如火如荼的big data研究,很多都是有當下或長遠的商業利益考量的。我們如果靠政府的話,能做的東西不多;如果動腦筋與商業應用結合,我們有比較大的機會做出有價值的好東西。

有想賺錢的人,big data是個好機會,趕快想一些ideas。但是門檻有點高,不是隨便找人就能做的。所以在美國有一堆投資公司和顧問公司,專門幫有ideas的人出錢出力。這就是為什麼他們現在需要很多人進到這領域的原因。我想,這的確是現在資訊界值得去研究的課題之一。

演講的投影片在此:
https://www.dropbox.com/s/f57qbaqt9o8qidl/2013-11-04%20Big%20Data.pdf

2013年10月31日 星期四

談從小開始的資訊教育

今天下午和對於資訊教育極度熱心的Raymond Laii學長一起去拜訪師大資訊教育學系林美娟、林育慈兩位教授,嘗試了解資訊教育在台灣的十二年國教中現實的環境和未來可能扮演的角色。簡要記錄一下我聊到的內容(其中夾雜與會人士個人意見,並不一定是共識):

- 資訊教育是否(要如何)普及到國中小學,政府的立場並不確定,和其他的教育決策,教育部總是茲事體大,保守行事,必須顧及資源分配和人事問題。

- 大多數人只看到台灣過去和目前的狀況,不理解或不相信軟體人才在國外受重視的程度;(有天份的)年輕人如果18歲就有能力做高階軟體研發,甚至從事軟體創業,可能遠比25歲念完研究所的人多了很大的自由度。

- 談到在中小學找尋對電腦有天份的小孩,提供從小培養專業的軟體coders/hackers(培養圍棋國手,從小開始最好),目前還缺乏足夠的教材來銜接Scratch到大學的MOCC,這個需要找人幫忙開發。

- 學習coding/hacking,不是學「照著做」,而是學習「開發創意」和「解決問題」。從小學,學到家了,遇到困難會自學,會善用網路資源,會到學校找人請益,不用擔心「學校沒教」的這種事!這樣的人才,能做一些那種循著「正常」管道一路被考試引導、被告知下一步該做什麼的「好學生」所做不到的事,軟體界需要多些這種人。

- 現階段看來,高中的電腦社團應該是培養軟體人才的溫床。以我的個人經驗,我想一定有些高中生像我當初那樣研究電腦如痴如狂(不是玩game ),當掉幾科都無所謂  真的有天份的話,直接修線上課程,再到大學找老師做研究就行了,不用擔心考試成績和學位。( 歡迎厲害的hacker來找我!)

- 那其他的學科怎麼辦?所謂的博雅教育呢?哈,大家都知道很多從小被考試逼著學的科目,考過了就還給老師了。而且,求學過程中被考試逼著學,就業之後被工作逼著做事,有什麼博雅可言?不被逼出一肚子怨氣就不錯了。如果早點學了一身高強武藝之後,能夠在氣氛好、工時正常、受尊重的地方發揮能力,有剩餘時間去和家人朋友相處、或是追尋自我,不是有可能更博雅嗎?

- 大學會不會擔心沒人來?不會。我很歡迎自學有成的高手到學校來學習更高段的研究心法,我更希望有人能來教我那些我不會的東西。

Intel + Apple = New ARM Chip

Intel終於要為Apple代工做ARM晶片,這是說「人在屋簷下,不得不低頭」?「十十年河東,十年河西」?(約莫十年前,Apple被迫改用Intel晶片)。還是說「識時務者為俊傑」?Intel自己的人不好意思自己來宣布這個,由Altera代為宣告...

這幾年我一直不看好x86的前景,總認為Intel遲早會走到這一天。x86在指令架構上先天不利於低功率產品(計算機結構考題),前天我才說,Apple不會用Intel x86去做什麼Ipad Pro這種東西,對他沒有好處。現在Intel願意屈膝,Apple+Intel有機會雄霸行動裝置(Phone, Tablet, SubNotebook)市場多年。

對於Intel來說,這也沒什麼,只是確認他公司未來的「核心價值」不在於x86而已,至於Atom要何去何從?大概還可以再撐一陣子,一方面用Atom來跟Apple談價錢,一方面利用Apple+Intel的優勢迫使非Apple的公司採用Atom來跟Apple競爭,大概是Intel的如意算盤。走到這一步,台積電的戰略地位和競爭力,是越來越重要了。

參考來源:
http://www.macrumors.com/2013/10/30/intel-to-begin-manufacturing-64-bit-arm-chips-in-2014/

2013年10月24日 星期四

知識就是力量 - 第三次工業革命

Open source的風潮,隨著資訊科技的進步和普及,逐漸影響各個領域。一開始是程式人透過email和BBS分享code,後來有了Web可以讓大家分享各種文件,網路和儲存空間大了之後有人開始分享音樂,P2P之後連分享大型影片都很容易,改變了新聞,文創,音樂,影視的市場。

Open source搭配3D printing,將改變某些實體商品的經營和開發模式。Mobile01文中這位網友,利用開放的資訊自行建構出3D printer。如果3D printer這種構複雜的機器的設計和建造都能夠普及到個人,可想見有很多其他的可能性。既然機器可以open source和DIY,個人可以做的事就挺多的,包括好事和壞事。可以做醫療儀器,也可以做武器。

「雙手萬能」這句話的前提,是有好的工具;知識+工具((Computer + 3D Printing + Open-Source + eLearning)的進步,提昇人的能力,所謂「知識就是力量」,可以具體實現,小團隊可以創造高產值,甚至創造所謂第三次工業革命。

在這篇文章裡,安德森說:「如果你要生產的是最便宜家具,毫無疑問的,你該把工廠設在中國;可是第三次工業革命,我們生產的是有價值的產品,它可能不是價格最低,卻是客戶最想要的產品。」

所以,產品研發的思維上要做改變才行,要知道人家要什麼?「大象企業霸權」能否被終結,我不知道,但有能力的小團隊能做的事越來越多,這點是可以預期的。那麼,躲在大公司裡面吃大鍋飯、濫竽充數的人何去何從?

值得研究的議題實在太多了,可惜時間不夠啊!

2013年10月20日 星期日

電腦科技人的角色?

電腦科技人處在一個變化和進步最快的領域:積極研發和吸收新理論和新技術,持續累積和改善軟硬體智財庫和開發工具,快速推陳出新的產品和商業模式,屢屢大幅改變人類生活的形態,比較自私的一點是,有很多的工作機會和有很大的機率能得到高額的收入。

看過很多文章,這些佼佼者,可以說自己是藝術家(artists)、科學家(scientists)、工程師(engineers)、甚至前瞻者(visionaries)。的確,他們這樣說有他們的道理,畢竟,電腦科技一直在各方面扮演舉足輕重的角色。這篇文章的作者解釋應用開發者為什麼是藝術家,之前我的部落格文章解釋過computer architect這個名詞,是一種像建築師般能綜合兼具藝術家和工程師的專長,而Steve Jobs被許多人認為是一個不世出的visionary。

我好奇地想,如果「達文西」生在今天這個時代,他會如何?他除了是畫家,他還是雕刻家、建築師、音樂家、數學家、工程師、發明家、解剖學家、地質學家、製圖師,植物學家和作家。在他的年代,他在每個角色上,都能夠受周遭人等景仰,如果在今天這種專業分工的時代,他能否依然如此呢?

然而無論會如何,這一切都只是表象!達文西可能一點都不在乎那些頭銜,身為一個有著「不可遏制的好奇心」和「極其活躍的創造性想像力」的人,他只不過是在各個領域運用和展現他的才能而已,他真正想追求的東西,雖然在歷史上仍然是個謎,我猜他或許是希望藉著各種方式的研究,能夠更接近「神」一點。

電腦科技的發展,有沒有讓人更接近「神」「天」或是「道」?這是個好問題。前天Raymond Lai學長來演講特別強調中小學資訊教育的重點應該是coding to learn, not learning to code的概念,我覺得也可以運用在成熟的科技人身上。簡單地說,科技人的文化素養,是有可能在科技研發的過程中,透過思考、廣博涉獵和觸類旁通去營造出來的 -- Let's R&D to learn (other important things in life).

2013年10月16日 星期三

Prof. Trever Mudge來訪

當年教過我【高等計算機結構】(1992)和擔任我博士學位口試委員的Prof. Trever Mudge今天來台大資訊系給演講,聽他演講、一起用午餐、逛逛台大校園、聊聊天南地北,很有趣,這是在大學教書的好處之一 :)


Prof. Mudge's homepage:
http://web.eecs.umich.edu/~tnm/trev_test/

死記硬背會扼殺創造力?

看到有篇標題名為【誰說死記硬背會扼殺創造力?】的文章,談嚴格的訓練,有時候是必要的。再次,我對台灣媒體的某些編輯定標題的手法表達嚴正的抗議。非得要訂出有爭議性的標題,把一篇好好的文章的內容都扭曲了。

分享我個人的看法:

重要的、核心的、好用的東西,如果背起來,當然很好。這個原理跟scratchpad memory (SPM) 的概念差不多 — 把常用的資料放在最靠近CPU的地方,做事會快很多。擺放資料的方式,必須有系統、有效率,找起資料才快。

然而,這個快速記憶體的空間不見得很大,例如我的就很小,沒辦法記太多東西,所以,如何選擇該記的東西才是重點,所以SPM在使用上不如cache方便。人腦裡有類似cache的短期記憶,作用與SPM不同。短期記憶的內容久了之後會消失不見,我猜人腦會自動將一些常用的東西搬到SPM裡面去。

因此,將東西記錄到人腦裡面的SPM的方法,必須藉由反覆操作、背誦。我猜人腦的SPM有點像Non-volatile (NV) memory的概念,寫入的時候比較麻煩,就是所謂的「死背硬記」,但記住之後就不會消失,通常也是用來存放重要的、核心的、好用的東西。

教育的內容如何分類,區分出重要的、核心的、好用的東西?我反對死讀書,是針對那些強迫學生記憶不重要、枝微末節、沒有用的東西,尤其是為解題而背書、背公式,塞了一堆非核心的東西和缺乏組織結構的知識,是扼殺創造力的原因之一。如何將資訊工程的Memory hierarchy的概念,用在教學上,應該是件很有趣的研究題材。

2013年10月15日 星期二

和老天爺面試?

這篇台大畢業學生談在美國找工作的經驗,相當翔實,勾起我當年在灣區應徵工作的回憶。(http://www.ptt.cc/bbs/Oversea_Job/M.1381793536.A.48E.html)

年輕時,並沒有刻意經營人脈,但是,態度良好,有能力做研究,得到師長朋友的推薦,進到不錯的公司,出賣腦力維生。

現在年紀一把,沒有積極經營人脈,只是盡量幫長官朋友做事,招來做不完的工作,還是出賣腦力維生...

其實,仔細想想,我們一天到晚、一年到頭都在面試呢!身旁有人,聽著你怎麼講話;工作伙伴,看著你如何做事;好友相聚,感覺你是否有道義;即便是素不相識的人,也能從網路上觀察你的言行。

台語有句諺語:「人在做,天在看」-- 我們無時不刻都在和老天爺面試?難怪諸葛亮會說;「鞠躬盡瘁,死而後已」了。


UC Berkeley怎麼做big data研究?

看看UC Berkeley怎麼做big data... 以系統研究(計算機架構、作業系統、資料庫系統)的教授為主體,加上幾位做演算法、理論、Machine Learning研究的教授對各種重要的巨量資料應用做最佳化。

巨量資料應用包括:
BLB: Bootstrapping Big Data
Cancer Tumor Genomics: Fighting the Big C with the Big D
Carat - Collaborative Detection of Energy Bugs
CrowdDB - Answering Queries with Crowdsourcing
DNA Processing Pipeline
DNA Sequence Alignment with SNAP

發展出來用以支持巨量應用的系統研究包括:
Akaros - An operating system for many-core architectures and large-scale SMP systems
DFC -- Divide-and-Conquer Matrix Factorization
MDCC: Multi-Data Center Consistency
Mesos - Dynamic Resource Sharing for Clusters
MLbase: Distributed Machine Learning Made Easy
PIQL - Scale Independent Query Processing
Real Life Datacenter Workloads
Shark: SQL and Rich Analytics at Scale
Spark - Lightning-Fast Cluster Computing
Sparrow: Low Latency Scheduling for Interactive Cluster Services

應用很值錢,人家的source code不會給你;另一方面,系統軟體很多都是open source,很大方的提供給識貨的人來用。

現在是application-system co-design的時代,也是打群架的時代。人家組一個團隊來創造擴大價值,我們有些研究團隊還停留在組隊去跟政府要錢分錢的山頭主義。即便能力不足以創新,會善用人家的技術和軟體,也能夠創造很高的價值。

Big data研究的風景很美,比霧濛濛的雲端好多了,躬逢其盛的學術中人,不妨多多走出象牙塔看看。

學生的學習動機與合作式學習

在我的經驗中,學生的學習動機是上課是否認真的要素,這是我研究「數位學習」的原因,看看是否能將枯燥繁瑣的課程,變成易教易學。

多數學生首重興趣,其次以能力(分數)超過他人為滿足,在種種因素(滿足畢業條件、跟要好的同學一起修課、仰慕名師、把學費賺回來等等)之後,才是以「補足能力以生存」的態度勉力而為。對於未曾體會過職場競爭,也未經歷生存壓力的學生,談生存能力的效果不大。尤其在台大,很多學生不擔心未來工作,上述現象相當明顯。

以下這個影片談到合作式學習(collaborative learning),我想試著用在code review的場合,不知道會不會有幫助?我自己還沒機會試驗,還在構想階段。

https://www.youtube.com/watch?v=rWEwv_qobpU

2013年10月14日 星期一

各大學的「系統研究」課程教些什麼呢?

各大學的「系統研究」課程教些什麼呢?參考以下的網頁。光是選論文就大有學問,有些地方偏好經典(聽過System R嗎?),有些喜歡用最新的論文。我們有兩個人合開這們課,希望教廣教深一點,順便互相學習,如果能找到guest lecturer來上就更讚了。上週請到徐慰中教授講Dynamic Binary Translation,下週請IBM Research的Sani Nassif來講一節Reconfigurable Computing。比起教書,我比較喜歡學習!

UC Berkeley: http://www.cs.berkeley.edu/~brewer/cs262/
Stanford U.: http://www.stanford.edu/class/cs240/
Cornell U.: http://www.cs.cornell.edu/courses/CS6410/2012fa/sched.htm
U of Washington: http://courses.cs.washington.edu/courses/cse550/12au/
U of Cambridge: http://www.cl.cam.ac.uk/teaching/1112/R01/materials.html
NYU: http://www.cs.nyu.edu/courses/fall08/G22.3250-001/
Princeton U.: https://www.cs.princeton.edu/courses/archive/fall13/cos518/syllabus.html
U of Waterloo: https://cs.uwaterloo.ca/~brecht/courses/854/readings.html
Technion U.: http://www.cs.technion.ac.il/~dan/course/scs/2011/
HongKong U.: http://msccs.cs.hku.hk/public/courses/2012/COMP8301/
(歡迎推薦和提供更多的連結)

2013年10月12日 星期六

【尊重專業】與【邪惡的平庸】

昨天看到丙成兄的「請尊重教師的專業!」(http://goo.gl/v4PfOa),談到某些不懂教育卻恣意批判教育的家長,可能對教育所產生的傷害。

我想,這位家長的舉動,也是近年來普遍「不假思索就嚴詞批判」的社會現象之一例。這個國家,似乎正流行這類「全民批判運動」。

這是自由的國家,任何人都可以發聲,但是否能就事論事呢?差很多。文章看一半,事情聽一半,就可以恣意批評,在各種討論板上比比皆是。

作為宣洩壓力和怨念的出口,當然是可以理解的社會現象。只是說,淺碟式的思考和議論,很難深入直指問題核心,也難以凝聚共識。

這樣思辨和產生決策的民主 -- 「人民作主」的方式,是人民所希望的嗎?有趣的是,許多人民的言論中,總愛把不滿之事歸因到領導者和做事的人。小孩沒學好是老師、學校和教育部的責任,沒有好工作是企業和政府的責任,往往嚴以待人、寬以律己。

我在讀文章的時候,儘量先從對方觀點出發,想辦法了解文章的邏輯;如果必須批判的話,希望做到對事不對人,點到為止。

我想,在一個富強的民主國家裡,會看到人民在提出種種要求的同時,也有能力在個人層面上做相當的貢獻。簡單地說,看到不對的事,就該好好地批判,提出建言;遇到該做的事,還是要努力去做。這種修養,孟子說:「持其志,無暴其氣」。

連結到昨天所看的電影"Hannah Arendt"。我從來不知道,一個探討政治哲學和納粹猶太這種嚴肅主題的電影,可以拍成如此精采和具有戲劇張力!我那念國中二年級的小孩,剛吃過午餐,坐在暗黑的電影院,能夠眼睛發亮,聚精會神從頭看到尾,真是難得 :)



片中探討所謂「邪惡的平庸」,發人深省。納粹的德國,猶太人的社會結構,集體釀成的大慘劇,難道是由少數的邪惡之人一手完成?抑或是許多邪惡者的共同創作?邪惡的本質為何?放棄獨立思考,順著流走,是否助紂為虐?但缺乏人性情感的思考,又如何與人為善?

從解構主義的方向來看,網路社群的濫觴和台灣目前的批判文化,有其脈絡可循。透過網路,各方人馬針對各類結構以各自觀點所提出議論,實質且大幅體現了解構主義,甚至超越和擴展了社會學家的論述,形成人類生活重要的一部分。因此,如何看待解構主義,如何在解構的思想和生活中看待社會結構和網路人際,已不再是晦澀和遙不可及的哲學思辨而已。

即便在一個西方民主國家、一流的大學殿堂、頂尖的社群,個人始終得面對兩件事:思考和情感。這兩個有時獨立,有時又相互拉扯的面相,綜合呈現出一個人的人性和塑造出人的格局。

理性與哲學似乎仍舊難以洞察人性的情感和道德面,這是西方社會長久一來所面對的問題。東方社會在現代化的過程中,有諸多值得觀察和研究的地方,尤其是在教育和思想方面,應該審慎為之。近年以西方文化為尊的思維,有諸多需要深刻檢討的部份,但願多看到一些具有啟發性的論述。

2013年10月11日 星期五

線狀教學 vs. 有機教學

這篇文章作者提到「線狀教學 vs. 有機教學」的那段,和同學今天問到的問題有關。同學問:「為什麼某些課教一堆數學式子,卻不跟你說這些式子要做什麼用?老師只說,以後就知道了!」

對於有些學生,這樣的「線狀教學 」是不夠好的。我一直想探討的個人化學習,跟這裡所講的「有機教學」,在概念上類似。

但是,「有機教學」究竟是什麼呢?這或許得跳脫「單一課程」的框架,由大領域來看,提供許多可能的學習路徑。這個在當前制式化的學校課程裡比較難,但是在MOOCs當中,應該有很多機會加入和提供所謂「有機」的元素。不過,學生本身也必須更主動學習,掌握其個人的需求。

為了這些,哪些東西需要改變呢?很多 -- 大家不妨多思考,研究哪些東西需要改變,幫忙做些改變。

(註:中譯文的標題定得很奇怪,所以我在他網站上留言說,翻譯文章是項貢獻,但為什麼要定一個和原文差異很大的標題呢?)

http://techorange.com/2013/10/11/edu-evolution/

原文:https://medium.com/lessons-learned-1/82c86796c61b

搞清楚上頭的長官的想法和才能?

蘇文鈺老師看了我的文章後發問:有多少人上班前可以搞清楚上頭的長官,以及長官的長官,他們的想法和才能? (註:這裡談的是資訊科技研發的領域)

這真是問到重點,我回答說:

同學考研究所,在選擇指導教授時,會不會多找幾位教授談談?談談之前,會不會先在蒐集資料和探聽教授的風評?談的時候,會不會嘗試理解教授的想法和趁機考察一下教授的才能呢?

然而,有一部分同學很在意表象呢?教授大不大牌?實驗室操不操?畢業規定是什麼?學長們在ptt上怎麼說?

應徵工作時,也是同樣道理。我去應徵工作時,對方帶我花整天時間跟未來長官﹑同事﹑長官的長官聊聊。好幾個工作都如此,因此我有第一手資料幫助我判斷。

當然不是所有公司和所有人都如此。

向上衝的科技公司,多半求才若渴。如果人才來應徵,應該是會做好雙向溝通。光是interview的形式,就可以觀察到公司長官的想法,甚至公司前景。

是否被視為人才來招募,是另一個問題。要看是資方市場還是才方市場?你要朝人多的地方衝破頭,自然比較辛苦。

但是科技變遷極快,有本事的人,應該還是能找到用武之地。這種地方雖然不多,但是越來越多。所以,你如果覺得自己有本事的話,不要隨便就把自己給賣了,多去了解跟人有關的部份。

2013年10月10日 星期四

由反應速度有多重要談起

這家公司繼上次測試iPhone, Windows Phone, Android Phone的螢幕反應速度之後,這次測平板,有類似的結果,iOS產品的反應速度快很多。http://appglimpse.com/blog/touchmarks-ii-touchscreen-latencies-in-flagship-tablets/

文中猜測原因,不外乎是我們談過的touchscreen design, display device drivers, performance optimization,不過這次我想談談使用者經驗、產品設計和突破困境。

螢幕反應速度有多重要?如果你是個新手,或者只是上網看看email, facebook, 電子書,在大部分時候,你應該不大會感覺到「反應遲鈍」所帶來的困擾。

有位頗務實的朋友,幾年前開minivan,一直說minivan可以載很多人,很好用;後來買了Toyota Camry,他說很安靜、操控順暢,開起來很舒服;今年初買台BMW,讓他開起來很爽。以前一起出國,租過好幾種車,沒聽過他抱怨;上週出國租車,對租來的車子嫌棄的很,一直懷念家裡的BMW。

「回不去了?」

如果你做出一項產品,能夠留住使用者,讓使用者回不去,那你就成功了。我個人認為,比較低劣的做法,是利用非技術、非品質的障礙,困住那些上鉤的使用者 -- Microsoft靠這個混了近三十年,是這個做法的典範。比較高尚的做法,是靠技術和品質的優勢,去留住使用者,一試成主顧 -- BMW是個典範。

暫且不論BMW車主或是Apple使用者是否受廠牌情結、炫富、同儕效應等的心理狀況的影響,純粹欣賞其效能和在使用中獲得爽感的,大有人在。要這些挑剔的人買單,並不容易,一旦能做到,聲名就遠播了。

對於那些越來越倚賴社群網路作為訊息來源的世代,使用者的口碑,越來越重要。行銷部門( marketing)和工程部門(engineering)的緊密結合,是科技公司成功的要素。

我聽過很多業者抱怨台灣本身的市場太小,沒辦法跟大國廠商拼。市場太小是無法更改的事實,那怎麼辦?可以用這個作為藉口,讓自己心安理得地看著公司慢慢衰弱。或者是,像我所看到一些科技公司成功的路, marketing想辦法跳出原有市場的窠臼,眺望新興的市場,找尋能夠與先進科技結合的產品路線以及能夠開發產品的人才。

台灣的困境在於源頭。科技業長久安於為特定廠商代工,滿足於me-too和cost-down式的產品開發取向,在marketing和engineering的緊密結合這方面能夠做到什麼地步呢?是誰來做這些事情呢?站在高位一昧說年輕人不努力的人,很有問題。

Steve Jobs自己和他的手下有很多能人,有了好的將領來帶兵,無往不利。台灣有不少科技公司,但是對於新興市場有真知卓見的將領並不多。

年輕人要去科技公司就業,可能的話,先搞清楚上頭的長官,以及長官的長官,他們的想法和才能。資訊科技不斷在演進,靠著學校教你的東西,要怎麼工作40年呢?寄望用力賣肝五年換的之後可以養老的大筆財富?還是細水長流,不斷學習、強化實力?

最近很多人談「半澤直樹」,很有趣。但想學「半澤直樹」,對抗不合理的環境和狡詐的長官,除了要有運氣,得先有堅強實力和意志力作為後盾。希望我們在反對不合理的環境的同時,也有足夠的實力來做得比在位者更好,而且在崛起之後依然保持初衷,不會被在位者收編而進入當初所反對的共犯集團,那我們國家才會有未來。

2013年10月9日 星期三

學生來信問修習嵌入式系統

學生來信 (2013.10.08):

老師您好 我是醫學院(醫技三)的學生
但是因為對於電機資工領域相當有興趣 所以有在資工系做專題
主題是醫學影像處理
只是說
在寫程式之餘 也對於硬體是如何運作也漸漸產生興趣
所以想說先從嵌入式系統著手 想了解一點基本架構
我買了一本入門書自修 他是用組合語言
我對於嵌入式系統的應用也只想到可以來做生醫訊號處理(因為我的未來發展是想走生醫工程)
不知道這樣的切入點是否正確?
我打算先從硬體結構下手 再去學程式設計 或是利用Keil 等等的工具可以利用C來寫嵌入式系統
(我現在的語言是C++)
不知道是否方便請教您一些有關於嵌入式系統的知識呢?
畢竟自己念書還是會遇到一些問題 或是一些瓶頸

我的回覆:

關於您的問題,我的想法如下,請參考:
- 醫學影像處理未必一定要用嵌入式系統去做,因為嵌入式系統能做的事情有限,複雜的醫學影像處理做不來,有其侷限性。
- 目前我們實驗室在研究醫學影像處理的時候,主要看的是如何用平行處理的方式提升醫學影像處理的速度,這個需要平行處理的知識和技能。
- 我們實驗室另外也有博士班學生研究開發專門的硬體電路來提高效率,這個需要有些邏輯設計的基礎。
- 如果對於嵌入式系統有興趣的話,組合語言不是重點,C語言是必須的,但也不是重點。嵌入式系統的重點在於對於系統的了解,這需要包括計算機結構、作業系統 等科目的基礎。

如果朋友們有好的建議,不妨在此留言,我可以轉給這位學生。

醫技系學生來信之二 (2013.10.09):

老師我了解了
所以說如果就算未來我是去唸了生醫電資所
因為我是非資工系背景 那我是否應該在研究所把這些基礎科目補齊 修課?
我自己研究過 應該是作業系統 計算機結構 系統程式 資料結構與演算法(我現在只有基礎c++能力)
之後也比較容易切入這些領域
如果就算念的不是純資工所 在老師您的眼裡 如果具備了這些知識
也可以算是資工背景嗎?
另外 老師我想在請問 以我的狀況 您認為研究所應該是要往一個主題去深入探討 還是在行有餘力去多修資工系大學部的課程? 雖然說之後如果念生醫電資所 應該是會主修影像處理 但是我也不想讓之後發展侷限在影像處理
(其實現在很掙扎是否要去念生醫電資所還是去考電信所 因為我是醫學院背景 所以我想在研究所獲得工程的能力 剛好我也很喜歡寫程式 所以打算往這方面發展)
當然 相信其他人也會有這些問題 很歡迎老師把這些問題PO在網路上
也麻煩老師要看我這麼雜亂的問題了
謝謝老師

我的回覆:

您的問題,我沒有很好的答案,但是讓我聯想到一些事情,所以我就把我的想法記錄下來,給您做參考。

在學校,學生們通常會思考的問題:

對甚麼有興趣?
未來想做甚麼?
該學些甚麼?

想清楚「對甚麼有興趣」,以及想清楚「未來想做甚麼」,這兩件事情通常是有相關性的,但也可能無關,興趣和工作未必要一致,這因人而異。如果早點想清楚的話,或許會少一些雜亂 -- 對於不喜歡雜亂的人來說,是件好事吧? 對於喜歡順著流走的人,大概不怎麼在意。您既然會來信,大概屬於前者

至於「該學些甚麼」這個問題,如果有明確目標,應該可以擬訂出一套學習程序的,不是嗎? 可是,在進步極快的電腦科技領域中,要設定目標,有時候是相當困難的。

我將您的問題以及我的回覆放在我的facebook網頁上,撇開一些酸溜溜的意見,不少朋友提出了不錯的建議。(訊息是公開的,所以您到我的網頁上就看得到。) 不過呢,這些從個人經驗為出發點的意見或建議,包括我的在內,酌量參考就好,因為大家都還不了解你。

看看這些五花八門建議,其實所謂的【嵌入式系統】【資工背景】【醫學工程】的領域,每一個都包含很多的內容。要學些甚麼,不只要看您的興趣,還要看您的興趣有多濃厚;或者是看您未來想做的事情的種類,是想要研究某項學術,還是利用某項技術,還是「體」「用」兼備的學問?

您既然說對嵌入式系統有興趣,就先修一修基礎的課程,如果修過後興趣更濃厚了,再進一步去多修一些進階的課程,這是比較「踏實」的作法。至於進階的課程有哪些?基礎課程裡面應該有講。

當然,有些人半路出家,也能闖出一番事業,所以您也未必要按規矩來,只要有認真在學東西,一路好好學下去,應該會不會有太大的問題。如果您已有一些計算機結構、作業系統、資料結構的基礎,關於嵌入式系統,線上資源很多,可以自學,甚至還有一些佛心來著的專家,例如我的朋友Jim Huang (jserv) 提供免費的暑期課程(http://wiki.csie.ncku.edu.tw/embedded/summer2013)。

我個人覺得,有機會學習個人有興趣的課程,是一項福氣;學的東西能夠好好用在事業上,也是一項福氣;兩項福氣都有,那是難得的,但往往得比一般人更用功努力。因為,學的多,自然學到有興趣的東西的機率多一些,在工作上派得上用場的機會也多,不是嗎?

您既然說「想在研究所獲得工程的能力 」,我建議您先了解「工程」的本質是什麼。我正好利用這機會來談談我現在很有興趣的工程教育,

目前大學教育的「工程」,來自於英文的engineering。美國的一個工程教育認證組織ABET將engineering定義為"The creative application of scientific principles to design or develop structures, machines, apparatus, or manufacturing processes, or works utilizing them singly or in combination; or to construct or operate the same with full cognizance of their design; or to forecast their behavior under specific operating conditions; all as respects an intended function, economics of operation or safety to life and property".

注意到,工程應該是「有創造性的應用」科學原理 (creative application of scientific principles),在根據某些規格和條件下(as respects an intended function, economics of operation or safety to life and property),去從事以下事項:
- 「設計」或「發展」結構、機器、工具、製造方法等 (to design or develop structures,...)
- 在「完全理解」某工程物件的設計的狀況下,去「建構」或「操作」上述工程物件 (to construct or operate the same with full cognizance of their design)
- 「預測」某些工程物件在特定運作條件之下的行為(to forecast their behavior under specific operating conditions)

所以,嚴格來說,要當個好的工程師不容易。根據這定義,如果只是照本宣科,沒有將科學原理做「有創造性的應用」,例如重複、仿造人家做過的東西,就不是上面說的工程;如果不能動手做設計和發展的話,也不算說是在做工程;只會用東西,但不完全理解所使用的東西,也不算在做工程;至於要能夠預測行為,通常要考慮很多複雜的因素,也不容易。

想獲得工程的能力,可能不是光修修課就行的,要動手做些東西。有工程的能力,到了與工程相關的業界,學習做什麼都快。在學校沒獲得工程的能力,到業界再學,也不是不可能,只是怕沒有時間好好地學 -- 趕進度的時候,很多人就知其然,卻不知其所以然,恐怕搞幾年下來,工程觀念和能力越來越薄弱,只能靠經驗,換個領域重新開始就慘了。

至於選擇研究所這件事情,我就不詳細回答了,因為這牽扯到每個學校、系所和教授的特色,最好親自去挖掘資料、尋找答案。

2013年10月8日 星期二

回答學生問題的原則

最近有些同學寫信來問我問題,我沒辦法一一答覆,在此說聲抱歉。有些同學來信時,並未說明前因後果,貌似將手邊的問題沒甚麼想就丟給我,甚至有的還把數學題目的照片寄過來問我,讓我感到有些詫異。我想,我要保留以下的權利:
(一) 我工作忙起來的時候,我可以延後回答與我工作無關的問題。例如回答修課學生的問題, 是我的工作的一部分,我應立即回答,跟回答網友和其他同學的問題,是不同的重要性。
(二) 我可以不回答那些語焉不詳的問題。例如,問未來找甚麼工作比較好? 建議修甚麼課? 這問題大得不得了,而我們又不認識,叫我怎麼回答?
(三) 我可以將問題依照我的個人興趣排列回答的優先次序。如果問題能夠引起我的興趣,或許我會馬上答覆。
(四) 我可以將問題和我的回覆,發表在我的部落格和facebook專頁上,供其他朋友參考。如果發問者不願意公開自己的身分或問題,請特別告知。

2013年10月7日 星期一

演講:Co-Designing Computer Systems and Applications

Intel靠著個人電腦起家,和Microsoft結合,以所謂Wintel的「通用電腦」(General-Purpose Computer)的形式:Intel負責製造位於電腦中心的處理機、定義硬體平台,Microsoft負責設計作業系統和掌控文書處理軟體的規格,商家和使用者則根據市場和應用,自行安裝軟體。Wintel所向披靡,主宰個人電腦市場數十載。然而,數年前iPhone和智慧型行動裝置崛起,Wintel雄風不再,為什麼呢?Apple和iPhone成功的祕密在那裡呢?

Apple率先注重和掌握的,是系統和應用緊密結合、協同設計的技術,以及使用者的需求。第一,iPhone在送到使用者手上的時候,已經提供了相當完備和順暢的功能。第二,Apple知道使用者對於日常生活所需以及行動應用的便利性是非常苛刻的,不順暢的操作,令使用者感覺不耐。因此,依然停留舊思維的Intel和Microsoft,相形見拙。

系統和應用協同設計的技術,在電腦工程領域多年的研究下,早已開發出許多重要的法則和工具,因此Apple不需要和Wintel或是Android陣營比人多,只要有一群菁英所組成的團隊,就有可能開發出卓越的產品。其實,可以用得上系統和應用協同設計的領域,小至嵌入式系統,大至巨量運算,機會多的不得了,等待大家來發掘。

2013年10月3日 星期四

總經理為何問我CPU的規格?

幾天前,我在一位總經理面前做簡報,他突然問我,你這台筆電的CPU的規格如何?我說:四核心2.3GHz的Intel Core i7處理機,架構是前一代的Ivy Bridge,記憶體加到16GB,為的是用虛擬機跑Windows,跑Windows的理由是為了Microsoft Internet Explore和Office...

他打斷我的話,笑著說周遭很多搞研發的人不知道這些,言下之意,這是個測試。我心想如果他沒有阻止我,我大概還可以講很久,說我目前心目中理想的手機、平板、個人電腦和現在市面上比較好的選擇,以及未來發展的趨勢。果然他下一個問題就是,四核心的手機實不實用,聯發科八核心的手機晶片又如何?

這種問題,其實是最難、也是最容易回答的問題!最難,因為他沒有標準答案,很難準備;最容易,因為就靠著常識、經驗、邏輯去回答就行了,不必死背一堆東西。

想到我當年到SUN應徵工作時,部門的主管問我類似的問題,伺服器上的應用軟體,大概可以用到多少顆處理機來跑?這種問題,適用於那種不想很突兀地考問對方的場合,透過閒談,了解對方的經驗、反應、溝通、陳述能力,更重要的是知道對方是否有熱情。對我來說,對方會問到我所關切的問題,表示對方跟我的看法類似,合作有望。

你如果是研發部門的主管,你會不會希望員工和合作研究的對象對於電腦科技有濃厚的興趣?你很會考試,但是去應徵工作時處處透露出電腦常識不足、對細節不在乎,對方會做何感想?

有熱情,並非是把工作做好的必要條件,但是有熱情的人,往往能比沒熱情的人更主動多做一些研究,很多在科技界大放異彩的人,都是如此。所以如果兩人程度差不多,我應該會選擇對工作內容有熱情的人來做研發。

BTW, 看過「宇宙兄弟」動漫的人,應該知道我在講什麼。

2013年10月2日 星期三

XP升級W7還是W8? 兼談資工人的常識

計概(或是interview)可以考這個當做常識測驗和簡單推理:
1. 如果你的舊電腦上的Windows XP作業系統用得好好的,某天被告知必須要升級的話,你認為是什麼原因呢?
2. 被迫升級,假如Windows Vista, Windows 7, Windows 8的價格相同的話,你會選擇升級到那個版本?為什麼?
3. 以前兩題的答案作為基礎,你能否解釋以下文章中所引用的數據資料?

http://www.engadget.com/2013/10/01/net-applications-sept-2013/#continued


我好奇的是,這種問題,資訊系學生有多少人能回答出來?能回答出來,並不表示厲害,只代表他對於電腦產品的實務有關切到,或是有興趣。

幾天前,我在一家公司的總經理面前做簡報,他突然問我,你這台筆電的CPU的規格如何?我說:四核心2.3GHz的Intel Core i7處理機,前一代的Ivy Bridge架構,記憶體加到16GB,為的是用虛擬機跑Windows,跑Windows的理由是為了Microsoft Internet Explore和Office... 如果他沒有阻止我,我大概還可以講很久,說我目前心目中理想的手機、平板、個人電腦和現在市面上比較好的選擇。

你如果是研發部門的主管,你會不會希望員工和合作研究的對象對於電腦科技有濃厚的興趣?你很會考試,去應徵工作時在這種地方透露出電腦常識不足,對方會做何感想?有熱情,並非是把工作做好的必要條件,但是有熱情的人,往往能比沒熱情的人更主動多做一些研究,很多在科技界大放異彩的人,都是如此。所以如果兩人程度差不多,我會選擇對工作有熱情的人來做研發。

看過「宇宙兄弟」動漫的人,應該知道我在講什麼。

在Montreal思索:台灣人為什麼要那麼辛苦工作?

在加拿大Montreal的Downtown area參加國際會議,看到高昂的物價,工作輕鬆、五點下班的店員,趁著好天氣在公園曬太陽的各色人等,我問道:台灣人為什麼要那麼辛苦工作?

加拿大的領土這麼大,人口只比台灣多一千一百萬人。人家坐擁大批土地資源,有宗主國的文化和軍事庇佑,未受到戰爭的影響,似乎就像是祖上積德,有什麼理由要人民辛苦工作?

台灣的地理和歷史條件似乎和加拿大上述的狀況恰恰相反,如果要某位台灣人要像國外看齊過富足的日子,除非出身富裕,否則得靠自己努力奮鬥。這些大家都知道,但問題是,努力奮鬥些什麼呢?

很多大老闆出身貧寒,靠著苦幹實幹出頭,但底下的員工賺的還是辛苦錢;書念得好的人,可以成就功名,但高階的工作機會就那一丁點,普通人過的還是辛苦的日子。

我最近遇到幾位年紀大我一些、在業界的學長們,他們對於台灣的前景憂心忡忡,想要為台灣多做些事情。(我有點不好意思,因為我曾在多篇文章中罵三四年級的人沒做好榜樣。)我說,台灣聰明人很多,但是都只顧自己,靠一般的政客富商是靠不住的,光是要我們在學界訓練高階人才是不夠的,你們和我們多找些志同道合的人聯手,想辦法把一些高階的工作機會帶進來,把能夠承接這些工作的人才訓練出來,我們靠著開發台灣最有價值的資源「大腦」,一起去把國際市場的大餅帶回台灣,不是很好嗎?

這個看似簡單,卻不容易的工作,就是台灣這麼多年來沒有做好的事。學界開發了很多大腦,但是並沒有緊密地和業界聯合起來去吸引更多的國外資源,這些已開發的大腦,只好想辦法成就他們個人的功名,或是被自我設限的老闆放在某個崗位上做些他們能做的貢獻。

我似乎看到一些盲點。那些認為「讓學術歸學術,產業歸產業」的人士,到底有沒有看清楚開發人民腦力資源對於台灣的永續經營的重要性?學術再卓越,學校的世界排名再高,這些腦力資源能夠對國家的前景有多少貢獻?與其研究去鞏固或維持系所排名,或者苦思公司目前能賺多少錢,是否能多花時間想想培養出能夠為國為民的棟梁之才的方法?

我知道可能有人會笑:這什麼時代了,還談什麼為國為民?我想,不談為國為民的話,台大校訓中的「愛國、愛人」是講假的嗎?現在不只要談這個,我還希望有很多能夠有所作為的人出來幫忙以身作則,這樣才能引導讓年輕人奮發圖強。

如果這樣還沒辦法,那我只能說,我努力過了。

台灣產業的心態會改的,現在很多人知道不改的話,會走不下去的,低風險靠政府補貼的生意沒有了,早改的人未來才有成功機會。成功和失敗本來就是接踵而來的,而早點知道失敗的到來,也能早點迎接下一段成功的到來。歷史經驗是如此,懂的人可以盡可能不受擺佈,無需過於感慨。

2013年10月1日 星期二

趁早學電腦科學與工程?

電腦科學與工程是一件可以趁早學的知識。很多的課程,只需要邏輯觀念和基本的數學,因此:(1)不必等到大學才學。(2)提早學習對於訓練中式教育中所缺乏邏輯思考幫助很大。國內很多人以為學電腦就是學會用Word, Excel, PowerPoint或是做網頁,那個不是學科學與工程,而是學習作為電腦的使用者。就像學開挖土機,並不是學土木和機械。但是,國內一般坊間或中小學的電腦課程,大都以教這類「使用手冊」的知識,對於訓練科學和工程幫助不大。

我個人認為,電腦科學和工程教育的重要性,不會比物理、化學、生物、地球科學低。台灣的中小學如何引進資訊教育,是一個方興未艾的課題。

軟體開發,有時像文創產業,不是人多就行的。不然每個台灣人從小學國文,能成為作家的,怎麼少之又少?因為真正厲害的作家,除了勤於讀書寫作之外,還要有天份。但話說回來,很多地方需要人來寫公文、整理資料、寫分析報告,所以也需要各種軟體開發人員。

有天份的人,即便晚一點開始學軟體開發,還是能學得不錯;但是,有天份的人有沒有機會知道他們的天份?能不能被發掘出來?很可惜,以目前的情況來說,我想答案是「不容易」。如何將「不容易」變成「有機會」,是關心教育和國家競爭力的人可以思考和努力的工作。

參考:

自主學習的故事和世界大同的美夢
http://hungsh-ntucsie.blogspot.ca/2013/09/blog-post_25.html

數位學習時代的資訊業界與大學
http://hungsh-ntucsie.blogspot.ca/2013/09/blog-post_8654.html

還在逼小孩學音樂學外語? 外國家長正瘋讓孩童學寫電腦程式!http://wired.tw/2013/09/30/kids-coding/index.html

(關於最後那篇的標題,我已經不想講了,除非是內容差太多,我才講。現況是,台灣的媒體編輯總是要定出引人注目的標題,作者有時也無能為力。)

2013年9月27日 星期五

教師節快樂!

和往年一樣,每年都收到的同學們的祝福。其實我從同學那邊學到的更多,因此你們很多人都是我的老師。在此,我也祝福同學們都能找到自己的目標,互相提攜,在人生道路上一路學習精進。


2013年9月25日 星期三

自主學習的故事和世界大同的美夢

我來講一個虛構,但是未來可能會發生的故事。

如果有一個國中學生,對於學校的課程都能理解,但不喜歡為了得高分而背誦硬記那些隨手查得到的資料。有一天他發現自己對資訊科技非常有興趣而且有天分,請教高手,找到一些線上課程,每天花兩個小時自學。三年內他陸續學完了以下的課程,而且通過Udacity官方的認證: (課程列表來自於Raymond Lai)

Udacity CS101 – CS Intro/Python
Codecademy/W3Schools HTML, CSS, JavaScript (jQuery, Ajax)
Udacity CS253 – Web Development
GitHub, Vim or Sublime Text
Udacity CS255 – HTML5 Game Development
Django
Nand2Tetris - Computer Architecture
Udacity CS215 – Algorithms
Udacity CS258 – Software Testing
Udacity CS259 – Software Debugging
Udacity CS262 – Programming Languages

(可以把Udacity課程代換成Coursera, Edx或其他)
由於英語的課程,在學習的過程中,他也同時強化了他的英文能力。

這樣一位高中還沒畢業、未滿十八歲的年輕人,用行動展現了:
1. 他自我要求、自我學習的能力
2. 他對於資訊科技的熱愛
3. 他所學到的知識和具備的技能

問題來了,如果你是這位同學,你覺得需要念大學嗎?如果選擇進大學的話,大學能給他什麼樣的教育呢?當然,大學裡面有各種社團、各種課程,可是不必進大學也可以參加各種社團、旁聽各種課程。喔,念大學有教授會指導?如果這位學生來找我合作研究的話,我不但樂意指導他,可能還給他研究津貼呢!

讓我們假設他選擇把學費省下來,到一流大學找一位賞識他的教授做研究,在大學校園裡自由學習,在三年之內,聽過他想聽的課,待過他想待的社團,做出不錯的軟體,受到教授的推崇,發表了論文,申請了專利,賺了一點錢。

相較於一個碩士畢業生,他缺少的,是學士、碩士學歷,可是他年輕了三歲。

他沒辦法考高考、當公務員,但如果私人公司需要軟體人才,會不會來找他呢?他和一個國立大學資訊系的碩士同時來應徵前瞻的軟體研發工作,我要用誰?

根據我的經驗,很多碩士的學習態度、學習能力、實作經驗並沒有比這位年輕人強。換句話說,這位年輕人很有競爭力。尤其是,在資訊科技急速演進的時代,我會把自我學習的能力擺在第一位。

這個故事,在我們小的時候,沒有線上課程,不可能發生,好可惜。其實我講的是基於我個人經驗 -- 我當年在高中時迷上了電腦,為了要到有設備能讓我學電機資訊的系所,以及待在距離光華商場近的大學,不得不耗費高三的光陰去準備大學聯考。但後來到了大學之後,又被迫修了一堆無聊的必修課,而電腦相關的課都靠自己看書學,或是在社團裡跟朋友切磋交流出來的,所謂生不逢時也。(我認識的好幾位朋友,以及我自己,如果生在今天,很可能就走這條路了。)在線上課程越來越豐富的未來,自主學習的到路將會越來越寬廣。

啊,你說你沒有學位,老闆不會認同你?我想,當工作機會很多的時候,你在乎那些不識英才的老闆嗎?哦,你問我這條路一定會成功嗎?不,我不敢保證,但是我的小孩如果想走這條路的話,我會支持他。嗯,你說你還是不敢走跟別人不一樣的路?那沒關係,我沒有非走說這條路不可,不過我建議你思考一下你的人生目標。嘿,你擔心你這樣做會變太強了,台灣沒有給你發揮的機會?那就出國去吧,然後記得把好的工作機會帶回來...

我這故事講的不是天才,而是一個知道自己想做什麼的人所選擇的道路。故事中的主角,雖然有主見,但是他選擇聽高人的意見,到大學跟適合的教授學習,也願意去社交,所以沒有成為剛愎自用的怪胎。

線上課程和自主學習,只是學習工具和模式,無關乎品格教育。正因為他不必為升學、得高分、拿學位而學習,他可以將死背書的時間省下來,用在人際和人文上面。例如,他可以看到哈佛大學的課程,了解「正義」(Justice)是什麼。

一個不懂得跟人相處的怪胎,待在學校裏面的時間再久,還是一個不懂得跟人相處的怪胎,現在的學校教育的作法也不見得會改變他的氣質。

寫完以上內容之後,我做了一個夢。

我夢見將來的學生們都能夠按照自己的興趣和目標,以自己的步調去學習,結交各種志同道合的師長和朋友;

我夢見將來的家長們都不必再擔心什麼十二年國教、補習班、名校光環、高學費,子女無論在何時何地都能受到良好的教育,只要做一個樂於學習的家長,就是最好的身教;

我夢見將來的老師們都可以把精力花在有重大意義的工作上,對學生們做個人化的指導,和學生們做最好的朋友;

我夢見將來的公民們都願意透過自主學習提昇自我的境界,能夠找到優質的資訊和明辨是非,不受媒體和政客擺弄;

我夢見將來的世界會因為知識教育的普及和資訊的通透,有辦法好好照顧環境和眾生,成為真正的世界村。

這是一個「大同世界」「理想國」式的美夢。實際面上當然有不少待解決的困難,但是有機會。兩千多年前孔子和柏拉圖勇於做美夢,可惜人類歷史上一直缺乏讓全人類溫飽以及讓全世界方便迅速分享資訊的工具,這些missing links,在科技急速進步的現代已經出現了契機。當然,我們看到野心家藉由科技的幫助,搜刮資源、壓榨廉價勞工;我們看到過著安逸舒適生活的孩子,缺乏學習的動力和目標。這些科技文明帶來的問題,是教育文化的工作,而傳統教育的形式,也在快速演進之中。所謂知識就是力量 -- 要解決現在社會的問題,要讓台灣成為世界的一等公民,需要務實地改進教育文化。

有句話說:「有夢最美,築夢踏實」。各位朋友都做些什麼夢呢?又為自己的夢做了些什麼呢?有空就說給我聽吧。

2013年9月14日 星期六

數位學習時代的資訊業界與大學

看到Open Education Alliance (OEA)的新聞,說"The OEA will (hopefully) create a new meritocracy in higher education". 其中談到線上課程的學分已被包括Google在內的一些大公司和諸如Georgia Tech等一流大學承認。(http://goo.gl/hSxt3G)

台灣業界需要人才,為什麼不想辦法幫忙訓練人才呢?把好的專業課程放在網上,鼓勵各界人士來學,在公司找人interview的時候,看看這些來應徵的人有沒有修過這些課,問問這些人懂不懂,這樣做不是比抱怨大學沒教你要的專業課程來得實際嗎?

喔,業界的諸公很忙,或者不會做線上課程,那麼不妨來找我們合作。我們這學期e-Learning的課程,目標是訓練出一批懂得與e-Learning相關的資訊、教育、心理學、實務與學術論文的研究生。您或許能告訴我們,您認為那些課程是必要的,我們想辦法匯集目前網上的資源,甚至共同開發線上課程。

歡迎到我們剛成立的「數位學習與工程教育」 Facebook社團上提供意見。(https://www.facebook.com/groups/415895451856246/)

有人可能會好奇:這樣一來,要大學做什麼?讀大學做什麼?台灣要那麼多大學做什麼?大學教授不是要失業了嗎?

- 要大學做什麼?大學(university)原本應該是包羅萬象的地方,想學什麼、就學什麼的所在,但是因為資源有限的關係,老師員額和時間有限,學校教室有限,開不出那麼多課給很多學生來上。線上課程可打破上述限制,提供更多的課,讓更多學生參與。教授因此可提供學生更多個別化的指導,學生可按照個人的進度學習更多的東西。

- 讀大學做什麼?大學有知識以外的學習,有師長的指導和啟發,有同儕之間的合作競爭。我想,在數位學習的時代,大學的主要功能,將由講授課程的場所,轉變成為「提供各種教育和學習方式的服務」,以全面啟發和幫助學生學習成為他們想要成為的人。

- 台灣要那麼多大學做什麼?不須用。教育當局廣設大學的作法錯很久了,除了少子化之外,學位貶值,數位學習的到來,台灣目前許多的大學勢必要退場或轉型。

- 大學教授不是要失業了嗎?容我講一句不客氣的話,不要把大學教授當成是金飯碗。憑什麼認為書念得好,國家社會就必須給你工作呢?一樣是人,社會上很多很不錯的人,還是擔心中年失業,那擁有好頭腦的教授或博士,為什麼需要政府救濟?終身學習,以自我提昇價值,大概是給去做的事。不用太擔心,有數位學習在,可以好好利用。

奉勸朋友們多利用線上課程學些東西,那些紛紛擾擾的政治鬥爭,看到「立法院長和總統鬥法」這齣戲,應該可以當作為完結篇,不要再浪費時間看了 -- 機會是保留給那些懂得把握時間學習的人。

由於資訊領域進展極快,有了數位學習平台,各大學,甚至國與國之間對於學術和人才的競爭,勢必更加白熱化。我想,除了該加強數位學習、做好工程教育之外,我們要試著搭起橋樑:讓業界告訴想成為人才的人該學些什麼、該研究些什麼,讓業界出力幫助我們的教育事業,我們要幫努力學習有成的人爭取更好的機會。

這些事情,我們不必靠官方,只需要一群有理想、肯付出的人,就有機會實現,就像我幾天前談過的「個人興學」(http://hungsh-ntucsie.blogspot.tw/2013/09/blog-post.html)

另外,前天我在fb上問了一個問題:「有位理學院的研究生來旁聽計算機結構,說他將來想做嵌入式系統的工作,問我要如何學習?各位有好答案嗎?」

謝謝朋友們的答案,我的答案是:多利用線上課程,多參與線上討論,至少做一兩個計畫得到一些實務經驗。

長壽王

收到學生的邀請,我昨天晚上去國父紀念館看一齣名為「長壽王」的戲劇表演。這齣戲,源自於「長壽王經」,對於一般人來說,不見得容易理解。雖說為了不讓人民傷亡,自願退位,把國家的土地和人民讓給蠻橫的敵國,豈不是放棄身為國王保護人民的職責?殺死父親的暴君就昏睡在眼前,為什麼不報仇雪恨、為民除害?

佛的世界觀可以是非常奧妙,甚至是違背常理、難以理解的,對佛的學問想要透徹了解的,不妨多看看佛經。我曾經有兩年期間,每天早上泡在咖啡屋裡看佛經,後來持續有緣接觸佛法,不敢說了解多少,也不敢自認為佛教徒,但是單就學術來講,我很敬佩佛陀能夠把人生看得那麼透徹,並且還能夠用各種辦法清清楚楚講出來,即便當做哲學來看,這些經典實在是寶藏,更何況其中有很多有用的東西,如果看得懂的話。

長壽王經很短,只有兩三頁 (http://goo.gl/fdYk2d)。

2013年9月13日 星期五

想法被論文所限制?

論文念多了,會不會反而被論文所限制?做一個研究者,以有限的時間,在看論文和自行摸索之間,要如何分配時間?

我當初在美國念博士時,包括修過的課程和參加過的研究團隊會議,從來沒有人報論文。或許那個時候的系統比較單純,或者是指導教授的風格如此,因此我們每個學生就自己看東西、找資料、想解答。因為那個時候還沒有大量資料在Internet上,所以很難知道提出的構想是否是全新的,即使指導教授也不知道。不過,因為我們在最新架構的平行電腦上找到的問題,應該沒有人碰過,所以複雜的問題能解出來就算是有某種貢獻。

在台灣,我原本也希望能夠像那樣教導學生。我第一年是這樣帶的,後來就沒辦法了。因為同時要帶15位學生,怎麼帶?我的指導老師每週和我討論一小時,如果照辦的話,我每週就要花15小時在學生身上。要學生組讀書會報論文,是不得已的作法,希望加速碩士班學生的學習進度,讓他們多看些東西。幾年下來,我發現效果參差不齊,所以一直有做不同的嘗試。

去年開「系統專題研究」時,看到幾個一流大學(CMU, 劍橋)所開的類似課程中,有報論文的做法,所以我們就仿效他們的作法,在課堂上報論文。效果呢?我想,對於用功學習的學生,這作法是非常有益於增加他們涉獵系統的廣度。不過對於「深度研究能力」的培養,還是得靠期末研究專題,因此課程後段就花時間在專題上。

上述兩種訓練方式各有優缺點。

我敢說,我在博士班的那些年,對於平行系統做研究,所融會貫通的心得,很大部分是自己摸索而來。有些摸索到的東西,或許後來發現別人有過類似的發表,但是自己真正融會貫通的東西,與讀到的東西有很大差別,無論如何都是有很大價值的。反而是有一堆獨創的見解,不大容易發表出去,因為跟傳統或主流作法沾不上邊。我博士論文裡面還有一堆未發表的東西,卻成為現在很有用的秘技。

現在組讀書會報論文的作法,以訓練廣度為主。深度的訓練,要另外靠問題來磨,不然學生就只會抓人家論文的小辮子做文章。至於讀書看論文會不會造成先入為主的弊病,那就是「哲學」和「藝術」的訓練了。當事人要自己想辦法搞清楚其所見所聞,是哲學的訓練;有時候還要忘掉腦袋裡的知識,做到推陳出新,這是藝術的境界。

幸好我記憶不佳,所以解問題老是從頭解起,靠著訓練過的直覺去解。這陣子國二的小孩來問數學問題,好像頭腦體操,很有趣,用練熟的直覺去解,不用背公式也會解。但我想很多小孩硬背這些解答,那就累了,不但要背的東西更多,也失去做這些練習的意義。

2013年9月12日 星期四

「數位學習與工程教學」準備開張!

葉丙成教授、林顯達教授以及我,在明天早上終於要啟動我們籌備已久的「數位學習與工程教學」課程。

有興趣的同學來聽吧,葉教授和林教授會讓你知道數位學習有多麼有趣,在未來有多麼重要!

課程概述:

學習和遠距教學是資訊化時代的趨勢,但並非僅是將課程上網讓學生下載就算了,重要的是,如何設計與建構良好的課程,啟發學生的興趣,讓學生按照個人的興趣和程度,從事個人化的學習;在過程中,老師如何妥善運用資訊科技評鑑學生的學習程度、加強與學生的互動。尤其是在工程科目的學習和教學,是因應快速發展的科技時代中,非常重要的課題,許多頂尖大學均對上述課題進行研究。

本課程帶領修課學生共同探索如何利用最新的資訊科技和研究教學方法,提供更好的學習環境以及構思更好的教學內容。我們在課程中,首先將由了解目前的數位學習的技術與工具開始,例如網路資源、線上課程、遠距教學等,探討其運作方式、優缺點以及改進之道;在另一方面,我們由教學者的角度,來探索如何用教學技巧與資訊科技提供更好的教學內容,以及啟發和激勵學生,包括教學內容、作業、實驗的設計、成績的計算、同學之間的合作與競賽等;在課程期間,我們邀請教學優良以及從事教育研究的教授們來分享教學與研究經驗,並且邀請有意願改進課程的教授提供個案供本課程研討;學生將運用所學,進行專題研究,在期末提供心得報告。

在這門課的學習過程中,我們著重學生的主動學習、溝通技巧、團隊合作、解題能力。首先,我們要求修課學生本身必須能夠主動學習以及對教學有濃厚的興趣,要能主動蒐集與閱讀資料,在課堂上進行討論,並且能藉由溝通,實際瞭解學生在進行數位學習時所可能出現的障礙,以及老師在設計課程和教學時可能出現的問題,並且透過團隊合作來尋求解答。修課成績將考量學生的課堂參與程度、發現的問題、解答問題的創意、解答的完整度。

Intel要出比原子(Atom)還小的夸克 (Quark)?

Intel一直在想辦法幫「x86架構」和「高階製程」找出路,因為這是他多年來的兩大支柱。「x86架構」如果不足以讓「高階製程」的產能充分運用,Intel遲早得從外面接單幫客戶生產晶片。

在手機平板市場上,一方面Intel Atom陷入重圍,賣得很不好;一方面手機平板產品價格迅速下滑,除非有特異功能,Atom恐怕也沒有足夠的利潤去合理化使用高階製程產能的優勢和成本。如果沒有意外,大勢很難扭轉。

因此,Intel終於不得不從更低階的SoC上找出路,這個x86 (Pentium)架構的Quark,似乎要以類似ARM的授權模式經營(細節還不知道),想辦法進攻需要低耗能、高效能的 wearable/embedded systems。

看看公開的數據,我並不樂觀 -- Intel這種遮遮掩掩、扭扭捏捏的姿態,令我很難感覺到他能有所作為。我想,Intel內部的路線之爭,恐怕是暗潮洶湧,勉強在各部門撮合之下弄出這個Quark作為突擊隊,去迎擊ARM的巨人大軍。

到處隨時都在上演「進擊的巨人」裡的情節:有些長年倚仗著高牆,窩在牆內搞封建內鬥的人們;有些不甘於束縛,想突破重圍的異類,卻是不受民眾支持的少數份子。

異類要進入調查兵團到圍牆外探索,除了得接受嚴格訓練之外,還得做好會死的心理準備。因此,要成為「自由之翼」的一員,並不容易。但是,要混吃等死,還是為了一點能獲得真相的可能性努力向前?我們一生都在面對這種抉擇,也都在做抉擇,只是每個時刻自己清不清楚自己在做什麼而已...

做研究要有主見嗎?

我今天在課堂上講說,一個computer architect在設計電腦或是帶領團隊時,通常會頗有主見...

其實,做人多多少少要有點主見,看到或聽到某件事,心中會有些想法出現,適當的時候和場合,把想法好好地表達出去。受過訓練和有修養的人,雖然有主見,但是還是可以有效地與人溝通。當然,溝通的另一方,也得有足夠的水準,不然很容易變成雞同鴨講。

如果平常有在關心和思考事情,自然在發表意見的時候,能夠言之有物;如果只是單方向的接受看到或聽到的東西,甚至對於所謂大師講的東西不假思索便深信不疑,那麼在發表意見時講的東西,總是在做二手傳播。遇到這種人,東一句大師說這個,西一句偉人名言,我卻不知道他的立場觀點、原始資訊、邏輯演繹,這時我很頭痛。

不知道為什麼,國內的文章和書籍中,有原創見解(original ideas/opinions)的比例相當少,似乎和傳統文化有關。反正自古崇尚四書五經,處處都要引經據典,所以即使不是抄來的,也是引來引去的(二手傳播),作者不敢直接提出自己的想法,總是躲在後面,所謂「天下文章一大抄」。

有研究生在提論文構想書的時候,東抄西抄,或是源自於學長,沒有個人的想法。我設法在不傷害感情的情況下,把構想書打回去重做。要提出一個好的研究構想書,並不容易,研究所修了一年的課,也不見得有用,最好是能夠在求學問的根本態度上有所改變。

因此,在今天,有多一點經過思考後的主見,應該是件好的事情。少看一點亂七八糟、言之無物的東西。假使在發表意見時收到人家不同的意見,那正好趁機思考一下是不是自己和對方的觀點不同、資訊有差、或是邏輯錯了。能夠糾正我的,就是良師益友。

2013年9月10日 星期二

個人興學

有願意奉獻於教學的老師,有能夠促進個人化學習的數位學習技術,要「個人興學」,還缺些什麼呢?

朋友Jim Huang在facebook上發了一篇文章,談及他對教育的看法,令我有所共鳴,在此摘錄其中幾段,並且補充我的看法。

Quote 1: 「我的教學目標很簡單,除了培養學生有軟硬體系統設計能力,再來就是「只要給我 22K 教書一學期,我保證經過完整訓練的學生,月薪是 66K 以上」(對濁水溪以南的學校,我開課甚至可不收費)。」

我們開「系統研究專題」的目的,和Jim Huang的教學目標類似,不過我不敢保證學生剛出去的月薪,雖然我覺得我們學生的勞動價值遠遠不只66K。原因是,很多學生喜歡去大公司,或是工作穩定的機構上班,這些地方的人資部門,大都不願意支持這種破壞行情的事。如果到新創公司做事,那麼看得就不是薪水,而是公司的發展和股價了。

但是,路遙知馬力,真心想找棟梁人才的公司和研發團隊,請多多支持像Jim這樣的課程,新店溪以北的話,不妨來贊助我們的教育訓練。我們的課程還有些座位,歡迎業界來旁聽。

有些人可能會好奇,你們這些大學,不是拿了國家「很多」的補助,怎麼還在叫窮?說真的,五年五百億很多嗎?分到每個教授,能收到多少補助?台北一棟樓房就要好幾億,台北有多少房子?有錢人很多的,但是大概不願意拿錢出來贊助教育,因為政府在經費規劃和執行上,常常讓人有疑慮的 (請看Quote 2)。

所以,在現階段的大學教育要有所突破的話,我看,可能非走「個人興學」的路線不可。我這裡所謂的「個人興學」,不是去辦個私立大學,也不是捐錢給學校建大樓辦學程,更不是給成績優異獎學金,而是結合一群有理想、有遠見、有資源、有能力的各界人士,以個人的力量來嘗試改變和突破,再以成功的經驗影響主流。

不管這美夢是否會成真,至少我知道有不少有勇氣的人,正在以個人的作法嘗試改變。

Quote 2: 「參與了幾次大學院校的課程改進計畫 (藉由 g0v.tw 台灣零時政府 眾多強大工具,很容易查出這些經費的去向,在此不贅述),看到動輒上百萬的預算,我不禁質疑,難道張羅這些資訊工程系所的課程真的如此所費不貲嗎?又,難道這些反映到我們的學生身上嗎?身為大學教師,又怎能對得起支持教育改革的納稅人?」

我參與過好幾次課程改進計畫,預算是否發揮效果,要看各個計畫主持人的良心。有一年,交大鍾崇斌教授主持「嵌入式多核心系統與軟體」這門課的開發,我幾乎每週去交大開四小時的會,去了大概十多次,除了自己在台大教這門課之外,還去交大幫忙上課,還辦推廣會。除了車馬費和便當費實報實銷之外,不記得有拿過錢。(如果有的話,頂多是幾萬元稿費,那是行情價。)坦白說,如果不是受鍾教授的精神感召,我大概就把自己的部份顧好,不會這麼認真幫忙修改其他教授提出的講義。

我們的教育,要靠這種良心事業,靠得住嗎?

如果教育部和學校不來扯後腿,我倒是很樂意做功德。問題是,花了那麼多時間編修教材,學校根本不認為是什麼重大貢獻。內行人都知道,學校真正注重的是以期刊論文所呈現的卓越的研究表現。

準備升等會議的簡報時,原本有一頁列出了我所參與的課程改進計畫:

年度 課程名稱
94 嵌入式處理器設計
95 輸出裝置與驅動程式設計
97 嵌入式多核心系統與軟體
98 異質多核心系統
99 Linux系統核心與應用
100 雲端伺服電子系統主題學程於車用電子行動終端之運用
100 嵌入式應用軟體實驗

給幾位資深教授過目時,都說這頁沒有「亮點」,建議我把這頁拿掉。課程改進,會有什麼亮點?

因此,我想為大部分的新進教授們叫屈,因為在上述這種氛圍中,一年有十位助理教授搶四個升等名額,而每位幾乎都以「世界第一」作為「亮點」的時候,願意耗費精力在編修教材上的人,應該是少之又少吧。

至於大牌的資深教授,不會輕易接這種吃力不討好的工作。我今年負責的課程改進計畫,靠著厚臉皮再三騷擾蘇文鈺教授,才讓他下海幫忙,欠下大人情。

在強調「個人興學」的同時,我希望大家能幫忙移除這些阻擋在興學之道上的障礙。

Quote 3: 「巧婦難為無米之炊,像是嵌入式系統一類的課程,自然免不了要有足夠的硬體,搭配相關的軟體,我相信後者可藉由完全採用 open source 方案來解決,那硬體呢?總不能都要求學生用模擬器、紙上談兵吧?在 2013 暑期嵌入式短期訓練課程 中,我嘗試藉由網路發動小規模「硬體捐贈 / 出借」方式,很慶幸獲得不少迴響,取得硬體的同學也相當珍惜地使用這些來自台灣各界的愛心。」

這是「個人興學」的範例之一,我還有其他幾個範例。台灣其實有很多人才,只是被形勢困住了,在現況發揮不出來。對於台灣科技業的困境,大體上,我覺得是一方面是不知所措,一方面是咎由自取。

業界如果想要跟人家在「大聯盟」上競爭,是不是應該開設「農場」,訓練和儲備人才呢?資訊科技進步太快,不跟大學密切合作的話,怎麼有辦法自己開農場?所以我說業界不知所措,只會大喊缺人才,卻不知道怎麼解決人才欠缺的問題;等著要政府來解決的話,那可有得等了。

我說「咎由自取」,是因為一大半業界還是停留在「不珍惜人才」的階段。我們訓練出會做前瞻系統研究的人才,業界願不願意花66K雇用碩士畢業生?我只好跟學生講,你們學好這些,充實外語能力,有辦法走出去,在國外有三倍於此的薪水等著你。要打大聯盟,連三分之一的薪水都不願意付,怎麼找人?

想起過去紅葉少棒的例子:給他們目標,幫他們鋪路,提供他們設備和訓練,我們的小孩,能夠打小聯盟揚威海外。事情就是那麼簡單,誠心正意,就有成功的機會。

今天,我們的大人,口是心非,講一套做一套,讓年輕人厭煩;主管們各自顧自己的飯碗為先,機會來時A一筆,有沒有幫年輕人鋪路?業界喊著缺人才,都是政府和學校的錯,有沒有費心提供教育資源和好的工作環境?

在「個人興學」這個願景上,業界能夠扮演重要的角色。不需要大把金錢,如果找到對的人,就能夠收到效果。

2013年8月26日 星期一

我今天前進了沒?

我的好朋友蘇文鈺教授非常關心國內的科技教育和產業的議題,昨天寫了一篇 「腦力科技之四 - 要複雜還是要簡單]」(https://www.facebook.com/arwen.su.5/posts/232377766915835),其中娓娓道來他身為資訊科技研究者與教育工作者的心路歷程,很多東西與我常說的不謀而合。

我一直很好奇,他所談的東西,以及我所寫的東西,台灣到底有多少人真的懂?我在幾年前思考台灣的狀況時,一度非常震驚。我想,台灣這麼多聰明人,怎麼會搞成這個樣子?怎麼會找不到出路?在人們痛罵政府貪腐無能的時候,我看懂其中一些文化的問題、結構性的問題雖然盤根糾結,但其實並不複雜,只是沒有看到人出來整體性地解決問題,甚至主流的媒體論述還不斷欺瞞、誤導、弱智化社會和群眾,所以我不得不野人獻曝,開始在部落格分享自己粗淺的想法。

文鈺兄引聖嚴法師說的故事,最後說:「大鴨子與小鴨子,只要願意前進,都可以游出自己的路。」為什麼要講這麼基本簡單的常識?因為很多學生、工程師、老闆,面對台灣這幾年和現在的困境,似乎都慌亂了,划來划去,找不到能夠持續前進的方向,原地踏步,和國外越差越遠。大家可以繼續罵政府無能,但是其實你自己可以決定你要往哪裡走。

別的東西我不敢講,在我所熟知的「電腦工程」領域,隨便都可以舉出一堆當前紅得發紫的領域。但這些東西,老實說,都不是短期可以學成的技藝。如果沒有多年深厚的基礎和經驗,很難領悟個中的奧妙。我二十年前研究平行處理,六年間玩了六部超級平行電腦,挑戰最難的實務問題,拿到博士前沒有任何投稿。回頭看去,我念博士的過程,只不過鑽進一些當時世界上最先進的系統,最後搞懂了一些簡單的道理。

大家應該都聽過「庖丁解牛」的故事吧?庖丁談的東西,看似簡單,但沒有幾個人做得到,其中的道理,不透過身體力行,也不會真正領悟。我數月前寫了一篇「排球、養生與證悟」(http://hungsh-ntucsie.blogspot.tw/2013/06/blog-post.html),講我研究排球多年後小開悟的經驗。身為一個熱愛學習的人,驅使個人不斷做研究的,或許是追求這類所謂的「顛峰經驗」中的狂喜 -- 包括領悟道理的那一刻,以及之後不斷實踐道理的時機。我猜,庖丁在表演解牛的時候,心情是愉悅的。

我原本不敢相信這些簡單道理的價值,但這些年下來,我從作為工程師和教學生的經驗中發現,那個訓練是很扎實的,那些簡單道理可以說是接近形而上的道和真理。我喜歡簡單的道理,我欣賞透過簡單道理創造出的偉大成就。我討厭那些囉裡囉嗦的論文,要解個工程問題,卻列了一大堆式子。當做頭腦體操可以,搞成作文比賽,拿結果在學術界裡自欺欺人,那就很可悲了。

幾年前有位剛從本系畢業的博士,申請到中研院的助理研究員的工作,煩惱究竟要照著當時的資訊所所長游本中教授(從美國明尼蘇達大學請來的)的建議,做實務研究;還是要追隨大部分人的途徑,多做些理論研究,以方便多發表論文、拿到終生俸?他擔心雖然目前強調產學績效,但如果游所長不續任,之後該麼辦?要我給點意見,我剖析現況與未來,最後說,未來難料,我自己會做「以長遠看來是對的事情」

「自反而縮,雖千萬人,吾往已」 - 如果你發現一個你深思遠慮,最後認為是對的方向,縱然周遭很多人選擇的是不同的方向,或是停滯不前,你該怎麼辦?我們看過一些故事,主人翁堅持做自己,最後證明自己的堅持為其生命帶來無比的意義。或許有些人出社會之後,就不再相信這些故事,但我從小開始,一直熱愛喜歡「天地一沙鷗」這個簡單的故事。

在今天美國如此資訊科技熱門且亟需人才的情況下,我們在台灣的資訊工程相關領域的學生、工程師、公司,如果還要擔心飯碗的問題,不能勇於前進的話,那是為什麼?唯一的答案,就是故步自封。

在「天地一沙鷗」的故事中,一群的沙鷗每天在棲息地搶食,日復一日。一隻想法離經叛道的鷗鳥,就是想學高速飛行,不顧旁人的眼光,不斷地練習,但是被鷗群驅逐。後來,他在更遼闊的世界裡,遇到了同樣熱愛高速飛行的鷗鳥,達到更高的境界,然而他選擇回到他原生的地方,去分享他的心得。

我看到一些人看衰台灣的軟體產業,覺得很可惜。軟體很有搞頭,但絕對不是目前一堆那種急就章的搞法足以成功的。我們需要有一些真正好的作法,和更多願意努力做教育和擔任橋樑角色的人

至於我們個人,遇到困境時,不妨問問自己:「我今天前進了沒?

2013年8月21日 星期三

業界(和國家)需要系統架構師

Tyler Chen問我能不能談談系統分析師(system analyst)、系統架構師(system architect)的差別,剛好颱風假把我今天早上的會議全取消了,我們正好來談一談...

這個問題的由來,是我說了一句有爭議的話(食物可以亂吃,話不能隨便講):「作為系統架構師,分析和溝通的能力遠比coding重要」。

軟體專家聽了,可能不以為然 :) Raymond Lai就關切了一下,他說十幾年前矽谷就下定論了:master coder一定是architect,會講不會code的architect在軟體公司是不會那麼受尊敬的。

不要誤會,我說「系統架構師」指的是system architect,不是專做software的architect。我特別舉system architect出來,其實是希望台灣的軟體人才,除了能在軟體領域專精之外,能夠有企圖心去進到系統領域,俯視與掌握全局。

台灣現在缺system architects缺得很嚴重,在大部分的老闆眼中,系統公司裡面功績彪炳的戰將,是硬體工程師,所以在缺系統架構師的情況,只有硬體工程師暫代。這很正常,因為過去的產品的軟體層次不高,軟體工程師所負責的多半是支援的工作,例如寫drivers。我會希望軟體人才,在台灣現在和未來勢必要提昇產品的層次的時候,跳脫自身軟體背景的格局,多從應用面、系統面去看,有機會出來作為領導者。

然而,什麼是系統呢?系統可大可小,舉例來說,一個system可以是:
1. operating system - 以軟體為主
2. embedded system - 低階系統往往是以硬體設計為主,軟體為輔
3. computer - 傳統是以CPU為主,其他的東西叫做「周邊」
4. enterprise server system - 建構商用系統上複雜的軟體層,這是IBM所謂的system architect
5. distributed system - 重點在軟體和網路協定
6. data center - 對於以上東西的組合和整體規劃,應該要對上述的東西有深入的了解
7. system-on-chip (SoC) - 應該是由應用去推動軟硬體協同設計的工作,不過國內多由硬體人士主導

我常常談的系統,講的是最後那兩項,那也是台灣公司一直談說要做的東西。問題是,談的人多,真正能做的人少。

台灣的分析師(Analyst)一大堆,但就像Wikipedia (http://en.wikipedia.org/wiki/Systems_analyst) 開宗明義講的: "they do not normally involve themselves in the actual hardware or software development" --多半不是真正有參與實際研發工作的人。當然,有很多分析師找出來的結果很重要,但是要有人來擬定和指揮產品開發計畫。擬定和指揮產品開發計畫的人可稱之為architect。

Architect這個字,是從工程領域借來的。An architect is a person trained and licensed to plan, design, and oversee the construction of buildings. (http://en.wikipedia.org/wiki/Architect) (中文版的Wikipedia寫得不好)把這句話的buildings換成systems,就可以拿來定義system architects。這句話的重點在於:有規劃(plan)、設計(design)、全面監督(oversee)系統建構的能力,不是只出一張嘴做規劃,也不是只聽命把長官要的東西實際設計出來,也不是只在旁邊釘著下屬每天加班把東西搞出來。

朋友們常說業界缺乏戰將,有好的architect來帶領研發團隊,是非常重要的事情。所以我希望能訓練出一些將來能擔當大任的architect。不要誤會了,台灣現在當然有一些architect的人才,但我們還需要更多。一個好的architect要有很強的能力和非常豐富的經驗,所謂十年磨一劍,要有真材實料,不是把名片上的頭銜換一換就行的 :)

業界的需求,當然由市場來決定。十年磨一劍,要怎麼磨?要磨出什麼樣的劍?科技一日千里,這些問題都是大哉問。這也是architect難以量產的原因。在業界裡,需要各種的architects,有的地方,做很大很複雜的計畫,需要一群architects集思廣益,每個architect負責其中一部分的專業領域,但是每個人也得具備跟其他architects溝通的能力,這個團隊合作才會順利。

我希望來找我做系統研究的碩博士班學生,能把劍磨好再出去,不然出去以後跟人家真刀真槍地累積實戰經驗,或許也是個辦法,但不見得人人都有再磨劍的機會。還有啊,有些同學自己不認真磨劍,我在旁邊幫著磨,其實磨得頗辛苦的。最好是你們自己學會磨劍的方法,到業界之後找機會更上層樓。

Architect既然是工程的概念,想朝這方面前進的同學,可以想想該修什麼課程?工程的核心概念之一是trade-offs -- 考慮複雜因素後做規劃和設計、一面做一面評估和改進 。資訊工程的課程中,有幾門課能夠讓學生強化這工程核心概念呢?我想很多課都有 ,只是學的人有沒有注意而已 。"Archi" 這個字根,源自於希臘文,意思是 "chief"。而chief就是領袖的意思。在各種領域,我們都需要有能力讓事情被做好(get the job done well)的領導者。有的地方,做很大很複雜的計畫,需要一群architects集思廣益,每個architect負責其中一部分的專業領域,但是每個人也得具備跟其他architects溝通的能力,這個團隊合作才會順利。

這裡有個問題:有經驗,即使在各部門歷練過各種實務工作的優秀的設計者,並不代表能夠做管理者;能做管理者的,未必能作為一個有眼光的規劃者;能規劃的,未必能動手。就單一項目而言,要成為優秀人才是相對容易些,但是要集上述能力於一身,就難多了。這是「我眼中」architect獨特的地方,坦白說,必須有些天份、機運和有個人的努力,才有辦法達到。

蘇文鈺教授特別指出:「國家需要architects,現在是用商業的運作方式來管國家,學校與醫院。Orz! 」這個我再同意不過了,但是要讓政府轉型並不容易,關鍵在於「人」,如何找到architects來為國為民做事。

國家是一個大系統,我們當然也希望主政者有能力讓事情被做好,而不是被說成是bumbler。很顯然,在多年的內鬥和空轉之下,執政黨竟然找不到賢能者來擔任要職。君不見,國防部長上任沒幾天就換下來了... 這些檯面上的人物,究竟有多少實力?如果我們在看檯面上的人物這些年的績效的時候,不去看他們的頭銜、人脈、收入、談話、論文發表的話,而是認真去評量他們所實際做過的計畫和事業,到底有多少人物是真的賢能者??以我所見所聞,能幹、認真、負責、務實且清廉的人,多半不大願意淌渾水,或者是進到系統後被卡住、被鬥垮、被同化。現在國家,如果要做些事情,好比被圍標、綁標的標案,源頭就不對了,自然不會有好的工程品質。

國家要改革,談何容易,但還是得做,不然我們天天罵也無濟於事。我想,要讓政府轉型並不容易,關鍵在於「人」。

- 談「人」的話,行政機構公務員的人事是最難改動的,光靠換首長是不夠的,所以我不期待行政單位的施政「能量」有大幅改進的空間,與其要求行政單位多做事,不如減少他們的負擔,要他們把基本的工作做好,並且廉潔,這是所謂小而美的廉能政府。很多事情(但不是所有事情),要讓會做事的民間單位去做,才會有效率。

- 立法委員是人民選的,人民願意選出一些會做事的賢能者進入立法院,讓立法院發揮功能,這是人民自己的責任。各政黨和民間團體也需要賢能者作為領導人。當然,推舉誰出來作為團體領導人,也是社群決定的。國家既然是個大系統,各單位之間要能夠有像上述system architects一樣的精神,不只負責個別的專業領域,也得具備跟其他單位溝通的能力,這個團隊合作才會順利。

我看在接下來的世代,當人民厭惡政府的貪腐無能到達極點的時候,自然想法會轉。所以啊,能力強的人千萬不要氣餒和放棄努力,更不要同流合污。風水輪流轉,將來會有發揮的時候。當然,有些人才,沒遇到機會,在那裡默默耕耘。有心、有機會的話,不妨出來試試看。孔子很推崇的管仲,可算是architect的人才,也是需要有機會的。

2013年8月19日 星期一

台灣科技業和科技教育轉型之路

前言

喜見積極進取的博班學生和我的老學長一週後(8/25)同台演講「台灣科技業轉型之路」(http://www.accupass.com/go/yowu2013)。對科技業來說,低工資高利潤的時代過去了,單憑一張嘴再也騙不了幾個白目的金主。現在,不管是靠硬實力還是靠軟實力,都得靠「實力」。

目前的科技中生代,要靠實力,才有辦法出頭;台灣的科技業,遲早得讓有實力的中生代接棒,才有辦法轉型。培植和支持有實力的中生代和年輕人,是我們在大學為人師表者的當務之急。

科技業的轉型,我以前談了不少,在此先不談,有興趣的朋友這週日去聽上述的演講吧!我藉此機會,來談談科技教育該如何轉型或改進...

科技人才

中興以人才為本,所以我們該先談人才... 我說了好多次,台灣人很聰明、很好用,但是從台灣科技產業未來長久的發展來看,我們缺很大的是高階的、能幫台灣在國際競爭的人才

Raymond Lai 學長和我在fb上討論如何發掘資訊科技人才,說到他正在用國外如MIT的線上教材,教十幾歲的小朋友資訊科技,看到很大的潛力。

我們下學期要開一門談e-Learning/Teaching Engineering的課,會研究資訊系入門的cornerstone courses的設計,以及探討「個人化的學習」(personalized learning)的平台。我想,這些線上課程和教學技術是未來培植有實力的年輕人的重要途徑

在我們的教育體系中,資訊科學,並沒有資優生的路線。不過,當年像前面談到的學長和在下這樣在中學時自行鑽研電腦科技的人,總是會找到途徑,我其實不大擔心。我比較擔心的是「假資優」的學生 -- 家長在後面支持,為了推上資訊系,使出渾身解數,參加各種比賽,但是學生本人並不熱愛這個專業。所以說,不管制度怎麼設計,都會有些問題,我們在觀念上,要先釐清什麼是資訊科技人才,以及要教他們什麼

我個人覺得,第一,除非是特殊個案,不然沒有必要揠苗助長。第二,很多人覺得程式寫作(coding)就是軟體研發,但科技業所需的人才,要會的不只是這個,要怎麼有效學習是個學問。第三,學習態度非常重要,態度往往決定了高度。

思索具體作法

- 如果各位先進有獨到的見解的話,請多指教,更好的作法,是來學校交流、給演講、幫學生上課。業界要轉型,也不要只大喊找不到人才,或是只想撿現成的。有能力的話,請對學校做些建設性的影響。(我下學期有三門課,e-Learning、Computer Architecture、Systems Research,歡迎到課堂上,給我們教師和學生一些經驗分享。)

- 台灣大環境空轉了十多年,造成目前教育上很多的問題。制度改來改去也沒有大用,因為主要是人的問題。問題在此不多講,我們個人能做的多少努力,就盡量做,把e-Learning做好,或許對有心向學的人會有些實質的貢獻

- 我所強調的人才,是需要所謂「十年磨一劍」的人才,不管是在哪一方面,那就是我前面所講的「實力」。能搞定複雜軟體、世界級的 hacker,也是一種人才。比如說,我們搞資安,就需要高段的hackers。台灣常聽到「科技業所需的人才,要會的不只是軟體」這樣的評論,第一,是來自於一些製造業的舊觀念,認為軟體一定要跟硬體沾上邊。第二,是我們純軟體產業的技術層次,的確有待加強,否則在業界只搞軟體的話,能見度不高。我們或許該思索一下,告訴小朋友們,將來台灣和世界需要的軟體人才,有哪些種類,給一些典範做為他們磨劍的參考

- 我想,在教育上,coding的重要觀念和技巧,如果能夠在小時候養成扎實的基礎,會是很有利的。更重要的是英語的能力和資訊技術能力息息相關,英文不好,對軟體的學習影響極大。目前大學裡的課程,包羅萬象,對資優生來說,不滿意學校的課程,有一堆國外的課程可以學習,比我們那年代好多了 -- 這是我說資優生會自己找到出路的原因。

- 教有興趣的小孩,教的內容有廣度和深度,加上小孩很願意學,而不是整天掛在電腦前面玩game,的確是很好的資訊人才養成教育。這個境界,和坊間所談的內容,不可同日而語。不過,目前在台灣要做好這個,並不容易,我們可以想看看該怎麼做。例如Raymond Lai學長給的例子,在此給大家參考

... 去年七月開始用用MIT Media Lab的Scratch Curriculum教一些小孩程式設計。選這個教材是因為裡面不只講程式語言 (教材裡叫 computational thinking concepts: sequence, loops, parallelism, events, conditionals, operators, data),還融入軟體工程的概念 (computation thinking practices: working iteratively and incrementally, testing and debugging, reusing and remixing, abstracting and modularizing) 。另外,這個教材也強調實作 (design-based learning: designing, personalizing, collaborating, reflecting)。

暑期課程結束以後我選了一下,在去年11月開始用Udacity的課程繼續。現在最快的一個小孩已經拿到了好幾個Highest Distinction certifications: CS101 (CS Intro/Python), CS253 (Web Development), CS255 (HTML5 Game Development), CS262 (Programming Languages), CS291 (Interactive 3D Graphics)。他現在正在上CS271 (Intro to Artificial Intelligence) 和 ST101 (Intro to Statistics)。

這個小孩13歲,去年七月前沒碰過程式設計。他很明顯是資優生,但是如果沒機會接觸,他不會知道。他也不是唯一的突出學生 -- 還有兩個13歲的孩子也緊跟在後 (CS101, CS253, 現在在上CS255, 我們還用w3schools補了一些HTML/CSS/JavaScript)。


- 嚴肅問題是,這些年台灣的大環境,很容易把辛苦培育出來的學生搞砸。大環境的因陋就簡,讓人才無法發揮,十年磨一劍的實力展現不出來,對於一些資質還不錯的學生來說,這就是所謂的「看不到未來」大環境的問題,透過各種耳語、討論版、媒體誇大,嚴重影響大學生的學習意願。我希望有志之士,可以多發揮正面有建設性的影響力。

- 今日科技產業需要的「轉型」,是從基本心態和職場文化做起的轉型。公司重用有實力的人,有企圖心的員工就會想辦法充實自己;人才因為缺乏發揮的空間而在網路上酸來酸去,然後就影響到大學生的思維。很多人說,要轉型很難 -- 沒錯,要壯士斷腕,談何容易?但是腐爛的部份不去除,繼續惡化蔓延到其他部分,會如何?這是「魄力」的問題。產學的議題,繼續用舊模式攪和,雙方互相指責,無濟於事。業界和學界,如何好好搭配和互動,是極其重要的工作。

結語

我在fb和部落格上拋轉引玉,為的是得到高人的指教,讓自己think out of the box。我想,這是網路時代中,我對於「獨樂樂,不如與眾樂樂」的詮釋。雖然討論版上的訊息簡短,有時會不同調,但是有時合奏得還滿愉快的。

龐大的教育體系,要改革、要真正動起來,需要花很大的力量和很多的時間。現在是社群的時代,crowdsourcing、crowdfunding等等,都是可以集思廣益和做事的方法

2013年8月14日 星期三

人才與研發

【就業困難】這件事,在我們實驗室這邊幾乎感覺不到。我想,有一小部份是靠台大的名氣,但是大部分是靠同學的努力和才氣。不過,我常鼓勵同學,以各位的資質和努力,找到一般人稱羨的工作,是理所當然的,但是要能成為領導型或開創型人物,成為人才,會更有成就感。

以下舉近期的例子:

1. 聯發科的朋友要我推薦對 HSA 和異質運算系統架構的有興趣的學生或工程師,有點招不到人才的感覺。

我想,真正會做這個東西,人在台灣,卻不在聯發科工作的人應該不多吧 學術界有多少人有做過研究呢? 很少。

我說呢,第一,人以稀為貴,聯發科應該大幅提高雇用這些專業人才的薪水才對,這樣也可以鼓勵學生們在學校就來好好學做前瞻產業技術;第二,我們六七年前就開始做異質運算系統架構,但一直沒有好用的平台,做起來很辛苦,我希望聯發科在人才訓練的支援上,能多做一點。

2. 聯發科有像這樣的OpenCL系統工程師職缺 (http://goo.gl/uZIaKZ): 負責提供可充分運用CPU/GPU能力的平台, 以作為embedded 系統的核心,主要工作為"分析影像多媒體演算法, 並定義能充分運用多核CPU/GPU的軟體架構",條件: 2-4 年的 Android/Linux 的行動裝置平台開發經驗、熟悉 Android 系統開發實作和 Open Soruce 開發流程、熟悉 OpenCL 應用於 Image/Video 處理、熟悉主流 GPU 架構、或熟悉 LLVM 編譯器架構。

要在學校學會以上這些技能,難不難? 對於懂得自學的人不難,給不想自學的人,我們還特別開了【系統研究專題】(http://goo.gl/oYmEUd)這門課來補習。然而真正我們想要教的,不是一堆單一的技術,而是希望學能能夠融會貫通這些技能,就像令狐沖學獨孤九劍一樣,學完後會活用,還可以自創新招。

或許業界先進可以回答這個問題,能夠在短期間融會貫通以上技術的人才,你願意付多少薪水? 以我看,年薪二百萬是不見得足夠雇用一個有經驗的專業人才。但是換個思維,你如果願意開出年薪二百萬給學校訓練出來,學有專精的人才,我猜有不少學生會好好學習來搶這些位置。Why not? 你說公司有制度,不能這樣幹,那招不到人的話,我也沒辦法。

我想,新創公司和大公司爭取人才的策略應該是有所不同:

- 我所樂見的新創公司招募新人的態度是:給合理的薪水讓新人活得健康、給光明的願景讓新人對未來充滿希望、給適當的教育訓練資源,讓新人的技術能力迅速上升,即便公司沒起來,也能學到很多東西。

- 大公司多半有用人制度,但往往過於僵化,以至於招不到也留不住第一流人才。大公司裡面也有各式各樣的單位,部門主管的人品和能力很重要,我覺得進到好團隊跟到好老闆比賺到更多薪水重要。我往往建議學生去面試時要多認識未來的主管,甚至,如果可能的話,選擇未來的主管。

從人力仲介公司找高階研發人才,機會渺茫。搞高階研發,需要人才,用得到人脈。你透過做人和做事,讓人家知道你的才能,這樣所建立的人脈,是有意義的。科技人,藉由你的知識和能力所建立的人脈,人家有問題要解決時會想到你,是最扎實的人脈。

但是有些缺乏社會經驗的宅學生,不聽老人言。研究所選指導老師和研究題目要選輕鬆的,選課要選其他很多同學選的,選工作要選其他同學認為好的,這是目前的校園文化嗎?學生要能學習獨立思考,我不介意學生不聽話,但是不信老師的話,卻聽學長同學的二手傳播?往往是缺乏獨立思考的緣故。你在學校怎麼表現,大家看得清清楚楚,跟你的人脈節節相關。

同學們找工作時,要不要看薪水?雖然薪水不是工作的唯一指標,不過該給的薪水是該給的,不然就顯得不夠誠意;此外,成就感是重要的,不過因人而異,該想想要如何才會有成就感,這算是正向思考;但是,注意不要過度地使用正向思考模式而走火入魔了,年輕時候所認知的成就感,可能並非人生的全部。

同學們要懂得提升自己的專業能力和認識自己的價值。就目前高階意統研發所需的工作性質來說,懂多核架構、會平行處理加上能系統實作,如果真有非常優秀的人才,一個人才抵得過好多個庸才,這個和一般程式寫作有大不同。

不懂多核架構,寫出來的系統程式不會快;不會平行處理,寫出來的平行程式有超難抓又隨時會掛的錯;不能系統實作,現成好用的東西不會用,要做的東西半年整合不進來。

這裡談的問題,不是那種三個臭皮匠勝過諸葛亮的問題,而是一個諸葛亮可以敵得過一百個狗頭軍師。某些三國故事中,徐庶說諸葛亮的才能勝己十倍 -- 打仗的時候,不玩文人相輕那套,就可以看出真本事。科技的戰場,也是如此。

很現實的問題是,公司要與國際競爭,你願意雇一個人才,會藉由主動學習、與人溝通,獨立快速完成計畫呢?還是願意帶幾個效率不彰可能扯後腿的庸才?正常的公司會選擇前者,但我看過好幾篇文章,描寫台灣一些變態的文化:長官不敢雇人才,怕被幹掉,一件計畫能多雇幾個究多雇幾個,底下帶越多人越風光 -- 這是關起門搞鬥爭,不是出去打仗。

去年我學生在IBM Austin Research Lab做Intern,只有他一個台灣人在那裏,拿IBM的薪水。韓國人由韓國公司和政府贊助,去了十多個,要偷學人家的技術。要與國際競爭,國家不能關起門來,一面補貼業界,一面讓業界壓榨勞力。對於勇於到國際競爭的台灣廠商,我樂見他們和台灣學生有良好的互動,互惠共榮,在待遇上做適度調整,是起碼的誠意。

高階人才要不要每天花十多個小時在公司裡?不必。要不要老闆隨時盯著看?不用。給他有挑戰性、能學習新東西的工作,他願意不意做?多半願意。腦袋會不會被繁重的工作操壞?不大可能,因為工作中隨時要思考。會不會因為工作忙碌而衍生家庭問題?有可能,這個要注意。

高階人才年薪兩百萬多不多?不多。工時要不要長?不必。國內業界要向高階系統做前瞻研發,心態要轉。實際上,我知道很多公司的研發文化都逐漸在改了,但有些還留在過去。

各位耳聞某某公司工時超長的事,未必發生在其所屬每個單位。我認識幾位在聯發科CTO的朋友,做的工作很有趣,可以讓他們一展所長,至於工作累不累,我看他們都蠻厲害的,應付自如,不見得比在大學當助理教授累 你夠厲害的話,去找聯發科談談也無妨,談個值得的薪水,以及確認工作的時間。

有人說高科技快沒落了吧? 還能研發些甚麼?

以Android手機為例,現在利潤越來越薄,各家的差別化越來越難,台灣能做甚麼? 有人看不到前景,但是,我們倒是看到不少可以著力的地方。

根據Google目前的態度(http://goo.gl/rjmiag)看來,要用OpenCL開發Android apps的人,得出來呼喊一下。不過,做系統開發,,不必凡事靠Google,可以自行想辦法把OpenCL埋到自己的Android裝置裡面,支援自己的一套system software和middleware就行了,反正Google也不會來幫妳的處理機架構寫OpenCL driver。

我想,Android搞到目前這個地步,大多數通俗的功能都有,iOS也差不多,大概快變不出甚麼新把戲。Fragmentation的問題,跟螢幕大小的關係,比跟處理機架構的關係還大。Google現在有自己的手機公司,當然不想給競爭對手太多支援。

OpenCL v.s. 手機,重點在於找出與建構killer apps。我們覺得手機廠和晶片廠該想想新的手機和雲端合作的模式,不必一直抱Google大腿。手機價錢直直落,緊抱大腿的話遲早也跟PC產業一樣,利潤越來越低。搞一些獨門絕技出來,做軟硬體統合設計,或許可多些加值效果。

我們或許該來看看其他的手機了,前天公開的Firefox手機(http://goo.gl/2ii4y7),一台不到US$80。將來當手機的處理能力強到某個程度,可以非常輕鬆處理目前多數的Android Apps的時候,乾脆把Android放在虛擬機器上算了。這樣一來,無論Android如何改版,只要找虛擬機器用的標準版來跑就行了,而且還可以用到虛擬機器其他的好處。

而且,由於Android並非設計給桌機使用,把Android手機接螢幕做為工作站,就好比用Microsoft Windows 8的平板模式,使用者經驗不佳。

Ubuntu Phone標榜可以拿來做為工作站使用(http://goo.gl/S9fek),用過Linnux作業系統的同學知道,Linux當做工作站,需要用MS Office的時候開一下VM,其實還不錯用。

想想一個搭載2.4GHz四核Snapdragon 800的手機,或是MTK真八核的手機,如果跑Ubuntu Phone,上面開一個VM跑Android,開另一個有dynamic binary translation功能的VM跑Windows;在路上用Android,進辦公室用無線接螢幕和周邊用Windows。運算量龐大的工作怎麼辦?到雲端去。想玩Game怎麼辦?有寬頻網路的話,接上GPU Cloud就行了。

做這些一定要靠Google嗎?不必。Google有太多他自己想做的事,Android對她來說算是雞肋,所以也不可靠。做以上講的東西,說難其實也不難,說簡單嘛,要找能做的人也不容易,所以是有機會的。

您說以上有些東西早先有人也嘗試過不成功,例如Google自家推ChromeOS,就沒賣出多少。沒錯,這是Timing和眼光的問題。有人說:Timing is everything。東西太早和太晚出來,都不行。個人覺得ChromeOS是Google一廂情願的想法,低估硬體的進化速度,現在大家不可能走回頭路去搞 ChromeOS。硬體繼續進化下去,單螢幕單視窗的Android和iOS設計,會落伍。至於微軟Windows 8的惡搞法,誰能解釋? 大公司的大腿,能一直抱下去嗎? 誰能帶大家衝出去呢?