tech-sjh

2008年12月25日 星期四

2008 聖誕節快樂 Happy Cristmas for everyone :)

2008 台灣最美的聖誕樹
P1030131

祝大家聖誕快樂 :)
P1030144

2008年12月20日 星期六

C++ 之父 Bjarne Stroustrup 談軟體教育

Bjarne Stroustrup 是當代軟體的大人物之一。身為 C++ 程式語言設計人,他的成就已經
影響了無數的軟體開發專案,包括Google 搜尋引擎、到 iphone 手機

Bjarne Stroustrup 在貝爾實驗室有 24 年的研究員經驗,2002 年獲任德州 A&M
大學的資訊工程學系主任,這些經驗讓他對教育未來的軟體開發員有深度的見解。

在訪談中 Bjarne 也坦誠表示教育界所面對的挑戰與問題,以及相關的改進。談到的問題
包括學生觀察能力不足以深入瞭解,學校教育要如何平衡理論與現實之間的差距,他也
指出業界最常抱怨的是資訊科系學生的能力並不完全合格

他也認為學生在學時將太多重心放在 Java 程式語言上。也許 Java 讓開發員入門學習
更為容易,但問題的癥結點是在寫程式的態度上,而非單純歸咎到程式語言上。學界
正在努力將程式語言課程設計得更完善,來讓學習軟體開發更有實際用處。

就 Bjarne 所知從 Adobe, Apple, AT&T, IBM, Intel, Microsoft, 到不知名的小公司,
幾乎每一家大大小小的軟體公司,或是有使用到軟體的公司都曾經跟他抱怨過缺乏好
的軟體開發員。

可能 C++ 程式語言至今仍是許多公司採用的重要程式語言,許多業界公司人員都會找
Bjarne 討教相關議題,主要的問題不外乎缺乏好的程式框架 framework 、基礎架構配置 infrastructure、以及大型機構普遍都缺乏對能夠駕馭複雜軟體系統的人才。

由於學校教導的重點在於電腦科學而非軟體開發,可能有學習多年程式經驗的學生仍然
會寫出充滿神奇數字( Magic number)的程式碼,造成日後他人/自己閱讀困擾。原因不外
乎程式設計被認為是低階的技術,或是認為學生自己有能力學會

有些研究生對於寫出來的程式碼,完全沒有考慮到日後擴充、維護。學生的學習重點
在於演算法、資料結構、計算機架構、程式語言、作業系統。

Robert Dewar 則是指出公司機構會發出這些抱怨,就是因為他們找到的程式開發員無法
在公司所要求的便宜價格、穩定性、時限內產出所需的程式碼,因此制定出許多防呆
防錯的限制。但也因為這些陳規陋習讓真正有才能的高產出程式設計師無法盡情發揮,
甚至會因此被同化而墮落下去。

Bjarne Stroustrup 在他的新書 Programming - Principles and Practice using C++
(for educators)中指出,教導學生如何寫出一個可供他人接手使用的軟體專案,其中包括
錯誤處理、類別設計、檔案輸出入、畫圖與圖型介面、標準函式庫的容器與演算法。
其中也呈現了基本的物件導向程式設計泛型程式設計。

軟體開發教育的其中一個缺失是,現今有太多現成的工具、軟體可供使用、修改,學生
們缺乏獨立工作思考、並且要習慣不是為了考試成績而學習(但出了社會還是要面對考績)
努力認真的精神、尋找所需資料的能力、學習寫作與口頭表達思考的能力專案導向
的工作是最適當的訓練方式,使用什麼程式語言倒是其次的問題,最好有點難度給與
學生挑戰的機會與成長空間。

給與學生重複訓練的機會相當重要,因為人總是健忘的,特別是結合學過的演算法、
資料結構、計算機架構的理論後,給與學生可以整合這些理論與實際寫出專案程式的
機會是相當重要的。這也是 Bjarne Stroustrup 熱衷的教育方向之一,他認為資訊科學是
相當完美的應用科學,不論偏廢理論或實作都無法成功(這也是現今大家面對的問題)。

Bjarne Stroustup 認為身為一名資訊科學教授,不能只偏重在一種程式語言上,本身也要
熟悉多種程式語言。

除了資訊科學的工程面以外,最終的目標在能夠寫出有品質的程式專案後,還要能追求
軟體藝術層面的提升。但這仍需要有科學的計算模型來評估工程面的實用性,以及藝術
性。

軟體教育不只是熟練程式設計的技巧,需要放更多心力在數學、科學、工程面上。訓練
學生觀察出軟體專案之美的最佳方法,就是給學生們欣賞更多趨近完美的軟體專案成果
。最好是像藝術家、建築師的展覽般,舉辦學生的成果發表會,讓學生們多觀摩何謂美
的軟體專案,這是軟體美學教育的最佳途徑

軟體教育也是需要下苦功的,就像要成為一名稱職的水管工人、你不可能一夜之間成為
一名專業的軟體工程師,做你該做的系統分析、設計,實作並驗證你的設計,反覆的
練習直到這些動作成為你自己的一部份

像 Java 這類滿載許多預製好的函式庫可供使用的程式語言,可以是很便利的工具,但
如果你只知道如何使用這些預設的函式庫並不能讓你學習、成長。Bjarne 認為 C/C++
的記憶體配置觀念仍然是相當重要的。

有人說軟體外包造成資訊科學學生遞減,但也許我們可以說是因為沒有足夠多的好軟體
設計師,導致這些工作外包到海外尋找更多的好工程師。

C++ 的問題之一是標準函式庫並不那麼好用,希望 C++0x 可以解決這個問題。包括
vector 初始化 {} 與 for loop 的 auto range 語法,都是要簡化軟體設計的工作。

Bjarne Stroustrup 認為軟體開發者的偉大之處,在於他的好奇心、創新、韌性、邏輯
推理、能夠溝通進行團隊合作。這應該可以適用在軟體開發以外的領域,另外一項重要
的特質是,不要忘了你的幽默感

Bjarne Stroustrup 給所有軟體設計師的建言:
程式設計只是軟體開發的一部份,不管你的程式寫得多棒,前題都是必須要正確運作
、解決問題,並且能讓別人看得懂,請改善你的溝通技巧,學習傾聽、問正確的問題
、寫作簡明,表達清楚。正式的軟體開發工作是藉由團隊合作完成,請改善你的社交
技巧。埋首在成堆比薩跟可樂的頂尖聰明技客已經無法靠單打獨鬥面對當代軟體開發。

認真完整的學完你的第一個程式設計語言,試著用這個程式語言解決困難的問題,不要
沉迷在奇淫技巧當中,專注在技術跟科學本質上。

學習第二個程式設計語言,最好是跟第一個程式語言不完全類似的語言(interpreter, compiler),只會一種程式語言絕對不足以面對現今多樣化的問題。每個問題都有相對
最適合的程式語言。

不要只會程式設計。軟體是解決問題的工具。將你的軟體技能運用在各種可能的領域
中世紀歷史、汽車引擎設計、火箭科技、血壓分析、圖形影像處理、幾何計算、生物學
塑模等,任何你可能有興趣的領域。就我個人領域來看,這些都是真實可應用的領域。
當然最理想的是你已經有對某個領域抱有相當的興趣,請開始使用程式與軟體解決你所
遇到的問題吧!

相關文章:

程式設計的文藝復興

相關連結:

Bjarne Stroustrup on Educating Software Developers

2008年12月19日 星期五

網路匿名,是自由還是亂源?

一名開 Dunkin' Donuts 甜甜圈咖啡店的 Zebulon J. Brodie 因為
自己開的分店被網路上某人評論為世界上最髒、最不衛生的餐
廳,他向州立最高法院提出訴訟,認為 NewsZap.com 線上討
論區必須提供毀壞他的甜甜圈店名譽的發言人真實身份。

究竟對於他人、店家、事物的負面評價,是人民該受到保障的
匿名言論,還是該受到限制的實名化管制?

相關連結:

Maryland Court weighs internet anonymity

Md. Court weighs internet anonymity

2008年12月17日 星期三

副食品的好幫手

從SSH開始吃副食品到現在已快2個月了,食物種類也從純米精變成
各式蔬果粥泥。目前嚐試過的有地瓜粥、南瓜粥、紅蘿蔔粥、香蕉粥
、蘋果粥、葡萄粥、菠菜粥等。我從網路上發現很多媽媽製作副食品
都會準備一台馬力強的食物調理機。可以節省製作粥泥的時間,也可
確保食物不會殘留顆粒造成寶寶噎到。因為剛開始吃副食品的階段必
須將食物壓成泥狀,原本我也是用鐵湯匙將地瓜、南瓜、紅蘿蔔等壓
成碎泥狀,但費時又費力,後來改用貴夫人後,就稀飯+地瓜一起用
調理機打成泥,省時又方便。

食物調理機從1千多到好幾萬的都有。我用的是貴夫人LS-528型,使
用至今感覺還不錯,可以將粗纖維的蔬果打成綿細的泥狀,這對每天
要製作寶寶副食品的媽媽來說,的確是不可或缺的好幫手。價位約五
千元左右,跟動輒兩三萬的BlendtecVita-mix相比,實在是便宜又
好用。

2008年12月16日 星期二

SSH便便成條狀了

最近SSH副食品都以紅蘿蔔、地瓜、南瓜等根莖類為主。四分之一杯
的十倍粥(米與水比例為1:10)加上半條紅蘿蔔一起用大同電鍋蒸煮,
大約20分鐘就熟了。等稍涼後,用貴夫人食物調理機打成泥,完成品
約有500ml左右,SSH一餐約可吃150ml,所以大概可吃3餐。

吃得多當然便便也就多,平均一天2~3次,形狀是黏稠的糊狀,味道
挺臭的,常常一大便就沾到背部,搞得衣服上全是大便,有一次他大
便完還一直翻身,在床上東滾西滾,連床單也難逃便便攻擊。

今天SSH照例吃完一大碗紅蘿蔔泥後,坐在餐椅上就開始醞釀便便情
緒,我看他表情開始有變化,就趕緊幫他換尿布,結果他大出完整的
條狀,差不多成人食指的大小,裡頭還有一些沒完全消化的紅蘿蔔,
SSH吃了快兩個月的副食品,便便終於成型了。

2008年12月13日 星期六

SSH會坐了

6個半月的SSH可以坐超過一分鐘了。原本擔心太早訓練他坐著會傷
到脊椎,後來問過醫生後,醫生說盡量坐沒問題啦,不要保護過度,
每天花幾分鐘訓練他練習坐,可以強化他的肌肉發展。現在SSH可
以坐著滿久的,偶爾還是會左右晃或是直接倒下,所以訓練寶寶坐
,一定要特別注意周邊安全。



2008年12月12日 星期五

日本科學家成功重建腦中影像

世界首創!日本京都科學家成功重建腦中影像。這項研究對於年長
以及表達有困難的人帶來新希望。

在國際先進電信研究單位的神經資訊系所的
Yukiyasu Kamitani 以及 Yoichi Miyawaki 宣稱已經可成功從人腦
中直接重建一億個影像。以後有可能直接讀取人類心靈以及夢境
直接重建影像!

這項研究結果將被發表在美國 Neuron 科學論文期刊(summary)

影像的光線在經過視網膜傳輸後,到達腦部視覺皮層,我們找了兩
個受測者,觀看 440 張 100 畫素的影像後。每張圖有隨機的灰色,
閃光區域。同時採用功能性磁震造影 fMRI (functional magnetic
resonance imaging)
掃描,並借由照片分類區分出大腦辨示照片的
模式。

受測者接收到的是 100 乘以 100 種路徑、也就是 2 的 100x100 次
方種光影變化。

接著科學家給受測者關看 "neuron" 單字,以及五張方形、十字圖
樣,依據收到的腦部活動模式重建中光影打出來的羅馬字母與其
他數字影像。

簡單的說這個重建是先給觀看者影像,記錄他在觀看影像的腦波活
動、血液流動變化進行配對,再利用這些配對出來的腦部活動跟影
像,反推出被觀察者腦中影像。

關於隱私,將可以成功重建所有人腦中的影像時,我們腦中的心靈
活動與夢境影像隱私將無處可藏,即使只是浮光掠影的一瞥也可能
被記錄下來,我們要面對的會是更深一層面大腦影像的隱私危機。

相關文章:

三菱研發能演出舞台劇的機器人

創新非觸控式介面

Honda 走路輔助器

英國植眼計劃為盲人帶來希望

相關連結:

Japanese scientist claim to resconstruct images from brain data

Images read from human brain

視覚情報、脳活動分析し再現 ATRが成功、世界初

Visual Image Reconstruction from Human Brain Activity using
a combination of Multiscale Local Image Decoders

2008年12月10日 星期三

Google Zeitgeist 與 Google book search 加入雜誌內容

Google 最近的兩個動作都跟時代、當代思潮與流行相關,一個是
每年都會公布的年度 Zeitgeist 搜尋趨,讓我們瞭解大部份的人
上網都在搜尋什麼?

Zeigeist 的 Google 線上翻譯是時代精神、思潮,放到個人來看就
是思想靈魂的精神食糧、主體。我們是自己思想的綜合體。

Google Zeitgeist 2008 Taiwan 1/2
Google-zeitgeist-2008-tw-01-sshot-1

Google Zeitgeist 2008 Taiwan 2/2
Google-zeitgeist-2008-tw-02-sshot-1

另一個是新加的 Google 圖書搜尋也可以搜尋雜誌內容。現代雜誌
內容已經包羅生活中各種當代流行、時尚的事物,除此之外我們
想要回溯十年、二十年前的時代流行也是可以藉由搜尋過往雜誌
內容深入瞭解。

在台灣的雜誌內容有些雜誌會有節錄內容上網以外,各大入口網
站、新聞網站也都會存有雜誌內文供使用者閱讀,如果不考慮即
時性,其實一些雜誌佳文都是可以在隔月就讀到的。

但是 Google 圖書搜尋是將實體紙張掃描成數位檔案,給使用者
更接近翻頁的感覺,期待台灣的 Google 圖書搜尋也可以加入雜
誌內容。

人類知識的數位化正在繼續加速當中。

相關文章:

科學進步中的知識與無知

網路搜尋阻礙科學進步

片段與系統化的知識

提供連結的科技


相關連結:

Google Zeitgeist by country (tw) this month

[Zeitgeist] Google 2008 年度關鍵字排行榜出爐!陳冠希、彎彎
奪冠!

Google 把舊雜誌搬上網路了

Search and find magazines on Google Book Search

2008年12月7日 星期日

SSH副食品大躍進

SSH從滿5個月起開始吃副食品,至今已 2個多禮拜了。由起初的1匙
米精+1匙奶粉,漸進式地進步到2匙米精+1匙奶粉。從原本吃7~8口
就不吃,進步到整碗吃完。液狀米精已無法滿足他,泥糊狀吃起來才
過癮。看來,SSH對副食品的接受度已越來越高。

既然沒甚麼味道的米精都如此愛吃,那甜甜的新鮮蘋果汁應該會愛不
釋手吧?!我照著食譜,先將蘋果切塊磨成泥,再用紗布巾壓出汁來,
最後用開水以1比1稀釋。辛苦了半天,SSH卻不賞臉,只喝了3口,
而且每一口喝下去都整個臉揪在一起,表情就像大人喝到純檸檬汁
的樣子。我猜應該是果汁太酸,所以SSH不喜歡喝。隔天換成葡萄
汁,還是只喝3口。看來,果汁要延後餵食。

蔬菜汁的部分,目前已嘗試過小白菜汁。我也是用3~4片小白菜葉
,滾水燙過後,直接放入食物調理機打成汁狀,加在米糊內一起
吃,SSH反應還好,至少比果汁好,可能是蔬菜汁不像果汁那麼酸
,所以接受度必較高。下次要改用菠菜或地瓜葉,尤其是菠菜,營
養價值高,希望SSH能挑戰單吃菠菜泥。

2008年12月5日 星期五

Google Friend Connect 社群工具的集合

早上在例行的打開 Gmail 看新郵件,飄過一封標題是 Google Friend
Connect
的信件,直覺以為又是一封詐騙信,但是檢視了原始郵件內
容後,還真的是從 Google 發出的,也在 Google Reader 上看到 Not
My Business
的新文章寫 Google Friend Connect 的新外掛 Widget
才確定是 Google 新推的服務。

但是我真的忘了是不是有向 Google 發出要求加入 Google Friend
Connect 的要求信 XD

看了一下 Google Friend Connect 的服務用法,主要是針對部落客開
發一組小型社群專用的外掛 Widget 工具集合。包括有誰追蹤(訂閱
RSS) 的 Widget、加為朋友的 Widget、留言板的 Widget,看來
將來 Google 將為部落客、社群網站增加許多建立、維繫社群的相關
工具網站,也許是 Google 發現 jaiku.com 的網路社群無法比過
twitter 服務之後的覺悟吧,就退到更上游的社群工具。

另外 Google Friend Connect 也有連結到 Google 先前的 Orkut 等早
期社群網站,以及推文網站 Digg, 書籤網站 delicious

以後網路社群的連結,將會是由一群一群的小型社群組成的多連結
擴張,不管你是一個部落客、或者是經營社群的網站但是缺乏某些
工具,用了 Google Friend Connect 之後,只要有心、人人都可以建
立、經營網路社群。

相關文章:

經營網路社群

相關連結:

Google Friend Connect

利用Google Friend Connect做出留言板

Google新推出Friend Connect社群平台

2008年12月2日 星期二

三菱研發能演出舞台劇的機器人



猜猜看下一個被機器人取代的工作是什麼?舞台劇演員。

三菱研發的機器人日前演出了一場舞台劇。演出的機器人演員分別是
Takeo 跟 Momoko,演出的劇名是 Hataraku Watashi ('Working Me')

劇情設定是在不久的將來,機器人與人類和平共存,Takeo 跟 Momoko
分別飾演結為夫婦的機器人佳偶。機器人演員目前遇到最大的問題是,
在導演要求走不同路線時,都需要再花一段等待重新設定路線與定點的
時間才能繼續演出。但是機器人演員也有很多優點,像是不會耍大牌、
不會搶鏡頭,配合演出的人類演員也對他們讚譽有佳,其中一位演員說
"在表演之後,我越來越喜歡這些機器人演員了,他們真的很可愛、特
別是那個女機器人"。

日本大阪大學 Adaptive Machine System 學系的科學家說,兩年後可以
有全部由機器人演出的舞台劇。

相關文章:

生命的起源

Honda 走路輔助器

英國植眼計劃為盲人帶來希望

相關連結:

Robots treads the boards in world's first 'robot play' on stage

2008年12月1日 星期一

SSH超卡哇伊睡相

最近在整理SSH從出生到現在的照片。大部分都是他醒著的時候拍的
。睡著時的模樣倒是比較少拍。SSH還是新生兒時,睡著的時候都會
無意間露出淺淺的微笑。老一輩的人說:那是『 床母 』在逗弄小嬰
兒。醫學上的解讀是:睡眠中的微笑,是因肌肉神經牽引作用,是
無意識的;通常寶寶要等到一個月後,才會有意識(可能在做夢)的微
笑。

不管SSH的睡眠微笑是有意識或無意識,有機會捕捉到他睡著時這麼
天真自然的可愛表情才是最珍貴的。



版權宣告、免責聲明


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-非商業性-相同方式分享 4.0 國際 授權條款授權.
免責聲明: 本文所載資料僅供參考,並不構成投資建議,
讀者閱讀或使用該資料所導致結果需要自擔風險與責任,
作者概不承擔閱讀人行為之任何風險與責任。
除非有特別宣稱,作者言論並不代表所屬任何團體、公司、或其他人意見。