information technology🚧

資訊技術

工業技術研究院:電腦與通訊
https://ictjournal.itri.org.tw/

National Academy of Engineering
https://www.youtube.com/channel/UCDgsHhqf6a2IC9LT5hbUxpA

Applied and Computational Mathematics Division: Summary of Activities for Fiscal Year 2022
https://www.nist.gov/publications/applied-and-computational-mathematics-division-summary-activities-fiscal-year-2022

research institute

研究機構

政府成立、學校成立、公司成立、私人成立、合作成立。

以下列出一些涵蓋了計算機科學或者資訊技術的研究機構。

美國 SRI International
   https://www.sri.com/
美國 International Computer Science Institute
   http://www.icsi.berkeley.edu/icsi/
美國 Santa Fe Institute
   https://www.santafe.edu/
美國 Flatiron Institute
   https://www.simonsfoundation.org/flatiron/
德國 Max-Planck-Institut für Informatik
   https://www.mpi-inf.mpg.de/
德國 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung
   https://www.fraunhofer.de/
德國 Heidelberger Institut für Theoretische Studien
   https://www.h-its.org/
德國 Hasso Plattner Institut 
   https://hpi.de/
法國 Institut National de Recherche en Informatique et en Automatique
   https://www.inria.fr/
法國 Institut de Recherche en Informatique de Toulouse
   https://www.irit.fr/
瑞典 RISE Research Institutes of Sweden
   https://www.ri.se/
日本 国立情報学研究所
   http://www.nii.ac.jp/
日本 理化学研究所
   http://www.riken.jp/
義大利 Istituto di Scienza e Tecnologie dell'Informazione "Alessandro Faedo"
    https://www.isti.cnr.it/
新加坡 Agency for Science, Technology and Research
    https://www.a-star.edu.sg/
以色列 Weizmann Institute of Science
    https://weizmann.ac.il/

以下列出一些知名公司成立的研究部門、研究機構。

IBM Research         https://research.ibm.com/
Intel Research       https://www.intel.com/research/
AT&T Labs            https://about.att.com/sites/labs
Microsoft Research   https://www.microsoft.com/research/
Google Research      https://research.google/
Google Developer     https://developers.google.com/products/
Meta Research        https://research.facebook.com/
Mozilla Research     https://research.mozilla.org/
Mozilla Labs         https://labs.mozilla.org/
Yahoo! Research      https://research.yahoo.com/
Disney Research      https://www.disneyresearch.com/
Pixar Research       https://graphics.pixar.com/research/
DreamWorks Research  https://research.dreamworks.com/
Autodesk Research    https://www.autodesk.com/research/
Adobe Research       https://research.adobe.com/
NVIDIA Research      https://www.nvidia.com/research/
NVIDIA Developer     https://developer.nvidia.com/
Netflix Research     https://research.netflix.com/
Amazon Science       https://www.amazon.science/
BBC Research & Development https://www.bbc.co.uk/rd
NEC Laboratories America   https://www.nec-labs.com/
Mitsubishi Electric
Research Laboratories      https://www.merl.com/
Honda Research Institute   https://usa.honda-ri.com/
Toyota Research Institute  https://www.tri.global/
Sony CSL                   https://www.sonycsl.co.jp/
Electronic Arts SEED       https://www.ea.com/seed

各國各地風情不同。例如日本,工業才是主菜,計算機科學只是佐料。例如德國,大型研究機構不只一間。多數研究機構都有台灣人在求學和就職;想要深入瞭解風情,最好的方式是努力找到他們。

研究機構的網站,都會詳細列出人員、專案、論文、近期活動,甚至提供部落格文章、影片、程式、教材。網站提供的資訊,就是科技前沿!第一手資料!涵蓋範圍遠比學校課程、媒體報導多很多,不妨都看看,擴展視野。

例如下面是IBM過往其中一個研究專案,主題是手機導航

先前清單都是知名研究機構。地球上還有許多形形色色的小型研究機構,不容易發現,通常是進入了相關領域的圈子裡面才會聽到。例如下面是德國人工智慧研究機構正在研發的火星探勘機器人。

所謂的研究機構,簡單來說,就是政府和公司錢太多,浪費錢去養一些能人異士,放任他們做一些天馬行空研究。不是每一項研究都符合現實,大多數的研究都是粗制濫造的玩具、束之高閣的理論;然而現實生活的科技,總是來自於這些研究。研發這種事情喔,一方面是社會責任,一方面是永續經營,做功德兼做大事業。

所謂的研究機構,亦是進階的學習場所。四則運算6-12歲,方程式13-18歲,微積分19-23歲,研究機構的研究主題則是30歲以上。當然啦,一般人只需要12歲以下的數學知識,就足夠應付日常生活了。並不是所有人都得學這麼深,不過也有人努力學得很深,應付社會國家、應付地球宇宙。

研究團隊

一個研究機構通常擁有多個研究團隊,分別鑽研不同領域。研究機構習慣在自家網站上面發佈訊息,招募特定領域的研究員。符合條件的民眾,寄送履歷,前往面試,參與團隊。就是一般的找工作。

研究機構需要大量經費支出,並不是每個單位都能負擔得起。大多數的單位,不設置研究機構,只設置研究團隊。這些研究團隊通常沒有官方網站。只有從事相同領域的人,才會注意消息。請參考自然語言處理領域的研究團隊清單

台灣的研究機構

在台灣,涵蓋了計算機科學的研究機構只有幾間。台灣小小的,本來就沒有必要很多間。

政府:中研院資訊所(科學)	https://www.iis.sinica.edu.tw/
   工研院資通所(技術)	https://www.itri.org.tw/
   中科院(軍事技術)  	http://www.ncsist.org.tw/
公司:HTC Research        	https://research.htc.com/
                       	https://deepq.com/
公司:中華電信研究院      	https://www.chttl.com.tw/
私人:台灣人工智慧實驗室  	https://ailabs.tw/
產學:NTU IoX Center      	http://iox.ntu.edu.tw/

研究生涯規劃

如果你是有志之士,那麼前往國外實驗室做研究,比較容易找到志同道合的人。

開發AlphaGo的黃士傑就是一個知名例子。他的理想是開發最強圍棋程式,但是缺錢缺人。即使做圍棋軟體生意,全台灣圍棋棋士每人花1000元預購他的圍棋軟體,也籌不到足夠生活費,更不可能雇用行政助手、採購運算設備。即使想到了神經網路背棋、搜尋樹行棋,也找不到人商討細節、反覆實驗。顯然要另尋出路。

為開發圍棋程式,鑽研各個知名的圍棋AI原始碼。為尋找商討對象,參加學術比賽得到冠軍。為尋找夥伴,找到當時最強圍棋AI的發明者,拜其門下,果然遇到了跟自身做法一樣的同學。為隨時觀察學術前沿,進入一間專門研究人工智慧的新創公司。為持續開發圍棋程式,在面試時跟老闆溝通,利用上班閒暇時間研究圍棋程式。

為提升公司名氣,讓老闆掛名論文。為獲得大眾關注,仿照深藍宣傳模式。為鞏固人流金流,擬定下個計畫是星海爭霸。為獲得運算設備,提供計劃吸引Google併購。為迅速完成AlphaGo,邀請同事共襄盛舉,分享榮耀。最後選擇急流勇退,畢竟圍棋程式做不了大生意,不是長久之計,當然要繼續做其他的事情。

這些規劃都事先經過沙盤推演。比方說自己「缺乏商討對象」,那麼其他人一定也有類似困擾,那麼某些精神抖擻的人就會從事「找到商討對象」的行為,那麼就有人分享圍棋AI原始碼、舉行學術比賽、找記者發新聞稿以吸引後進參與、……。

發現了這一點之後,想要「找到商討對象」,就要參加學術比賽。凡事都有前因後果。嘗試去推理每個人怎麼想、怎麼做,然後做規劃。觀念清晰,理解透徹,導致成功。

scientific foundation🚧

科學基金會

我還沒查到正確稱呼,也許叫做scientific foundation、science council。

資策會、國科會、NSF。

主要工作項目:研究資助、市場調查、政策擬定。

次要工作項目:升學補習、收容國戚、打擊政敵。

tool🚧

開發週期development life cycle

IEC 62304
https://en.wikipedia.org/wiki/IEC_62304

CMMI
https://en.wikipedia.org/wiki/Capability_Maturity_Model_Integration

開發工具development tool

https://www.geeksforgeeks.org/what-is-software-tool/

Linkers, compilers, code editors, GUI designers, assemblers, debuggers, and performance analysis tools

report🚧

技術報告technical report

研究單位發表研究成果。主要目的是分享知識,促進世界進步。次要目的是證明實績,讓世人判斷他們應該得到多少經費與資源。

發表研究成果的方式相當多:

一、投稿學術期刊、參加學術會議。經由領域專家審閱,內容可靠。

二、舉辦發表會、參加展覽會。宣傳技術,創造商機。

三、發佈技術報告。在自家網站公開電子檔案。

四、部落格文章、雜誌報導。撰寫簡單易懂的科普文章。

以下列舉幾個研究單位的技術報告:

Stanford Computer Science Technical Reports and Technical Notes
http://infolab.stanford.edu/TR/

BBC White Paper
https://www.bbc.co.uk/rd/publications

Google for Developers
https://developers.googleblog.com/

NIST Interagency/Internal Report (NISTIR)
https://www.nist.gov/nist-pub-series/nist-interagencyinternal-report-nistir

技術路線technology roadmap

https://en.wikipedia.org/wiki/Technology_roadmap

技術轉移technology transfer

https://www.itri.org.tw/ListStyle.aspx?DisplayStyle=13&SiteID=1&MmmID=1036233405427625204

patent

專利

我不熟悉,只能簡單介紹。

公司的獨家技術,一旦被他人利用,往往導致公司無法獲利而倒閉。各國政府為了保護國內公司,發明了專利這一概念。

專利的申請流程

一、公司發明獨家技術。

二、向某國政府的專利部門申請專利。

台灣是經濟部智慧財產局

三、專利部門委託專業機構進行鑑定,確認是獨家技術。

台灣是中華工商研究院

四、公司每年須付錢給專利部門,以保留專利。

五、專利有時限,讓大家得以汰舊換新。

台灣和美國的時限都是20年。

六、當公司發現自身專利被他人盜用,可以向該國法院提告,請法院主持公道。盜用他人專利,必須付賠償金給持有專利的公司。

台灣是智慧財產法院

七、當公司發明新技術,必須當心是不是其他公司的專利。專利先申請先贏。

順帶一提,美國對世界大多數國家都有實質影響力。美國有各種手段可以仲裁他國,避免他國公司耍賴不付賠償金。因此很多人選擇申請美國專利。

專利導致大家難以改良技術,但是沒有專利則導致大家難以養家活口。兩害相權取其輕。

專利保護

以下介紹幾個知名範例:

arithmetic coding:資料壓縮演算法,而且是理論上壓縮效果最佳的演算法。然而此演算法是IBM公司持有的專利。導致演算法課本只好改為介紹效率稍差的Huffman coding,導致JPEG圖片、MPEG影片標準規格只好採用Huffman coding。儘管現在專利已經過期了,但是木已成舟,大家依然沿用效果較差的演算法。

MP3:聲音壓縮格式。凡是開發編碼器的人,都要支付授權金。導致Java程式語言可以讀取MP3檔案,卻不能儲存成MP3檔案。所幸相關專利在2017年已經全部過期。當初開發第一個編碼器的Fraunhofer-Gesellschaft研究機構,也宣布支持新格式AAC,不再糾結於MP3了。

watercolor:在電腦螢幕上面畫出水彩筆觸。此演算法是華盛頓大學持有的專利。因此紙本書籍、網際網路,都不會見到教學範例、實作程式,大家都很守法。專利最近才剛過期。

開源軟體

政府設立的學術機構、研究機構,本質是為民服務,通常不會申請專利。公司附設的研究機構,則習慣申請專利。

一旦申請專利,他人就不能逕自使用,甚至是技術發明人本人。法律規定,在職期間,與職務相關的成果都歸公司所有,使用專利必須先經過公司同意。此舉導致公司拖延了技術發展進度,葬送了具有前景的技術。

因此有人提倡開源軟體,又發明授權條款GPLCC,一方面促進技術發展,一方面提供法律保障。大家把開源軟體放上GitHub網站,號召社會大眾一起開發。知名的開源軟體,例如作業系統Linux、網頁瀏覽器Chromium、程式碼編輯器VSCode

甚至有人建立開源軟體基金會,創造與維護開源軟體。例如自由軟體基金會,知名專案是C語言編譯器GCC。又例如Mozilla基金會,知名專案是網頁瀏覽器Firefox

計算機領域的大公司樂於支持開源──一堆免錢工人幫你開發軟體、提高技術、增加聲望、打擊對手,何樂而不為?計算機領域的學者樂於支持開源──不需走跳江湖,就可以習得技術前沿,何樂而不為?這是雙贏局面。

專利戰

有人故意申請一大堆天馬行空的專利,等到其他公司不小心使用了相同的技術,就提告求償。這種投機取巧的公司稱作專利蟑螂

經典案例:蘋果與宏達電的專利訴訟。法院認定侵權的功能是:在簡訊裡面,長按電話號碼,可以直接撥打電話。最終宏達電付費向蘋果購買專利使用權。

另一個經典案例:訊連科技與台灣數位學習科技的專利訴訟。訊連認為台數科PowerCam軟體抄襲了使用者介面,訴訟中途一度創下台灣史上最高的軟體專利判賠金額4698萬,不過最終訊連敗訴。敗訴原因是抄襲項目沒有完全符合專利描述。

盜版

守法是為了讓人人安居樂業。凡事顧慮他人,必然願意守法。不過不見得人人都有同理心、人人都是利益共同體,尤其是台灣人。

台灣曾經是盜版王國。台灣廠商經常盜用他人專利,甚至向他國傾銷盜版商品。Made in Taiwan等同仿冒爛貨。台灣曾經列入特別301條款優先觀察名單。所幸最近十年已經改善很多。

逆向工程

把別人的產品拆開來研究。法院進行專利判決、企業掌握對手技術,都需要逆向工程。

不過也有不肖業者利用逆向工程解讀他人技術,用以改良自家產品。這麼做的好處是不必花錢花時間、從無到有研發產品。當然這是侵權違法行為。

台灣早期完全沒有電子研究機構、沒有知名學者和研究員,卻能夠在短短幾年之間,建立大量電子工廠、創造各式電子產品,因此大家普遍認為台灣人使用逆向工程研發產品。

早期案例:金寶電子拆解計算機構造、宏碁電腦抄襲蘋果電腦。台灣過去實施極權統治,凡事為所欲為,所以這些公司從侵權違法變成了傑出企業,打造了台灣電腦王國。

standard

標準

太多太多了。介紹三個好了,你一定遇過。

IEEE 754:二進位浮點數算術。IEEE標準協會IEEE-SA制定的標準。C程式語言的float和double,INF和NaN,就是依循這個標準。中央處理器廠商Intel和AMD,顯示卡廠商NVIDIA,大家都是按照這個標準,來設計中央處理器和顯示卡的內部電路。

ISO/IEC 9899:C程式語言。國際標準化組織ISO制定的標準。雖然大家必須付費取得規格書,但是ISO也好心地免費公開最終送審版本,內容跟正式版本相去不遠。

HTML 5.2 W3C Recommendation:超文件標記語言。全球資訊網協會W3C制定的標準。免費閱讀。

標準的建立

熱心人士、廠商、政府,建立標準協會,邀請學者和工程師開會討論,彙整各方意見,形成標準。

有時候為了商業利益,強而有力的大公司會主導制定方向,甚至回家自創一套標準。例如影像壓縮標準就有兩種:MPEG團隊的HEVC/H.265、Google的AV1。

閱讀標準,有時要付費。使用標準,有時要付授權金。制定標準,有時要靠鄉民,例如《一段關於W3C的故事》

標準的教學書籍

規格書繁文縟節,面向學者和工程師,不適合學生和程式員。一些熱心人士,讀通規格書,發掘各種應用場景,編排章節,寫出簡單易懂的教學書籍,請出版社出版。大家可以在書店找到很多面向普通人的教學書籍。台灣有專門從事這類工作的人,例如林信良