2008年7月31日 星期四

人生的最後一堂課


去年看到一則新聞, 叫做"癌末教授最後一課". 描述一位卡內基美隆大學的Randy Pausch教授患了胰臟癌, 醫生說他只剩下最幾個月生命, 他在學校裡的最後一堂課卻毫無感傷, 特地對他自己的一生做了有趣的回顧, 這些內容在youtube上面有.
課程中:
放映他的電腦斷層掃描影像,顯示他的肝臟有10個腫瘤.
趴下來用一隻手做伏地挺身.
談小時候的夢想.
展示曾收到的回絕信,談論在事業過程遭到的挫折.
Randy Pausch教授並沒有因為樂觀的態度打敗癌細胞. 最近看到消息他已經於2008/7/25 過世, 47歲. 可能通告接太多沒能充分休息. 所以我才又想再提到他.

只靠著多活幾天是無法打敗死神的。擊敗死神的方法是活的更好,活的更有意義!
因為人生終需一死。關鍵是,在出生時和死神降臨之間,我們做了什麼.....
...
如果說我這一生學到了什麼事情, 那就是你不會在物質的滿足中找到熱情
------Randy Pausch 2008/5 於母校卡內基美隆大學的畢業典禮演講


Randy Pausch教授協助學校發展出讓人能夠輕易製作立體動畫的軟體Alice。他說:「就像摩西一樣,我看到應許之地,卻不能踏上那塊土地。不要緊,Alice會讓我繼續活下去。」
從沒停止想這樣的問題. 我死後要留下什麼東西? 有人留了遺產; 有人只留下遺骸; 有人風範長存; 有人案底長篇; 有人留下兒女; 有人留下老母; 教授列出了小時候的夢想, 雖然童言童語, 但我卻因為想不出小時候的夢想而難過. 不過想到我至少完成了大學時一個想法. 人越大, 夢想越容易實現, 因為想的越來越接近現實不再夢幻.

歲數的累積, 你認識的很多朋友都走了, 也認識越來越多世上的朋友, 是生是死就不那麼重要. 因為兩邊都累積了很多的朋友, 到哪應該都是開心的. 有時候覺得繼續活著只是為了不讓活著的親人傷心罷了. 不過當你還沒完成神交給你今生的任務, 最好先賴活著搞清楚.

2008年7月30日 星期三

Rank


有人說每年都要看一下程式語言排名, 看看要不要轉投陣營之類的. 這是用具有某程式語言技能的工程師數目來排名, 這不是對一個程式語言的好壞做的排名, 但是卻直接反映出就業市場情形.

近年來多了好多種物件導向script直譯語言, 像是python, Ruby之類的. 可以用短短幾行程式就做到傳統程式語言要寫幾百行才做到的事, 一個好的程式語言的條件好像也跟以前不一樣了. 很多新出的語言也都受到矚目一陣子. 但是沒有大公司的支援也很難只靠社群的力量進入市場. 一般都是為了工作的緣故而被迫學某種語言.

以前在學校學長說, 只要把一種程式語言搞得很熟就好了, 當年比較多的是fortran, pascal. 也許這是數學系學生的看法, 對我們當時來說只要能解決問題的都是好語言. 不過現在聽起來與現實世界不符, 就業市場主宰了語言的選擇.

這排名把一些特殊用途的程式語言都排了進去, 大公司的一些商業行為也直接影響了排名...
近年來因為browser端ajax技術的普及提升了javascript的重要性, 使這種侷限在瀏覽器裡語言的code的數量驚人, 可以進前10名.
Borland把CodeGear賣了好像有點讓 delphi (object pascal)起死回生.
windows上面的PowerShell嚇鼠人竄出.
Functional Languages 離業界還有段距離.
Java雖然榜首但是有人預言它是下一個COBOL.
C 依然屹立不搖.

2008年7月26日 星期六

民國百年蟲


最近跟以前幾個同事聚餐, 因為有幾個是在銀行資訊室裡面工作, 所以席中聊到一個話題, 就是2年半後民國100年, 千禧蟲再現.

我聽到這個, 楞了半秒鐘, 笑了大概一分鐘, 我是人瑞嗎? 為什麼我的存款要承受這種鳥事兩次, 這件事並不好笑, 而是可笑. 我不是銀行系統的專家, 但是從來沒有所謂中華民國專用電腦出現過, 系統應該還是用西元來計算, 民國應該只是顯示上用的, 有問題應該只是帳單報表的顯示位數不足罷了, 不至於金錢帳目會出現問題. 但是如果問題出現讓我錢不見了, 我也認了, 整個事情實在太瞎太蠢. 地球平安度過了千禧年, 大概只有台灣還在威脅中. 我還是覺得把錢放在床底, 要吃飯時抽一張來用比較實在.

大概10多年前還在學校時候我腦袋就已經只用西元不再去注意今年是民國幾年這個數字, 只有必要的時候才會去換算一下, 我想政府應該要認真考慮不要再用民國了, 年號是還有君主的地方(日本)才會用的. 要跟世界接軌, 一定要讓人民習慣用西元思考.

主後西元的由來應該是西方依據聖經中的預言用來計算耶穌出生到第二次來的一種標記, 可以算是一種反過來的倒數, 因為沒有人知道耶穌來的日子.

2008年7月21日 星期一

吃飽的機率

日本一個很受歡迎的美食節目"料理東西軍", 每集都設定兩組性質接近的食物現場料理, 完後請7位特別來賓來選擇, 最多人選的那個食物獲得勝利, 而選擇那個食物的來賓就可以吃到.

有人可能會覺得好像來賓吃到的機率是1/2, 因為有兩種選擇, 選到輸的或選到贏的. 其實不然. 只要注意一件事 : 大部分的人都吃的到. 因為選到多的那一組才可以吃, 更重要的是自己的決策也是輸贏的因素.

所以當你決定了某組食物只要考慮其他6人選到跟你同組的狀況:
贏的狀況一共有 C(6,3)+C(6,4)+C(6,5)+C(6,6) = 42
6人所有選擇的情形共有 26 = 64
所以機率是 42/64 = 0.65625 = 65.6%

所以如果不考慮選擇的技巧, 其實每個人都有接近6成6吃到的可能. 將近是沒吃到機率的兩倍.
而不考慮料理的技巧廚師和主持人贏的機率才是5成, 因為他們沒有投票權.

如果電視還有播的話, 只要固定一位來賓草剪剛來注意, 你會發現到他常常在吃.

已經用程式模擬過了...

2008年7月19日 星期六

Human Computation


Games with a Purpose: Through online games, people can collectively solve large-scale computational problems.

目前搜尋引擎的爬蟲程式搜尋的是文字資料, 雖然也有圖片的搜尋, 但是做法都是使用檔名或網頁上的一些文字資訊作關聯. 目前的技術無法針對圖片做計算圖學上的判斷. Luis von Ahn, 一個卡內基梅隆大學的博士生作的研究, 開創了一個計算機科學新的領域:人腦運算(Human Computation), 用很特別的暴力法讓這種搜尋能趨於理想.

他的概念是: 網路連接的不(只)是電腦, 而是人腦. 網路連接的電腦可以做分散式計算, 而連接的人腦能發揮電腦高速運算也無法達到的功能. 如果要判斷圖片上的資訊, 既然電腦目前的演算法還做不到, 當然還是需要人為的判斷, 搜尋引擎公司就需要僱用許多工讀生整理成千上萬這樣圖片上的資訊, 但是所付出的成本根本不值得. 他想到了一個不用花錢的方式, 以遊戲的方式讓網路上所有的人免費幫他做這樣的分類. 所以他設計了一個遊戲, 讓分在網路兩端的玩家共同看一張圖, 玩家必須給一個關鍵字, 另一個玩家要跟你配對, 一但兩邊所輸入的關鍵字一樣, 就獲得分數, 進入下一關. 這遊戲run了幾回合, 就會產生一些圖片的基本資訊. 全世界這個遊戲的使用者玩起來產生的資料量是很驚人的, 這樣就漸漸把整個圖形資料庫建立起來. Google Image Labeler就像是這樣的產品. 後來他又建立了一個更深入的遊戲Peekaboom可以收集到圖形更detail的資訊. 聲音video的搜尋相信也可以直接套上.
這東西技術上相當簡單, 這遊戲以我曾經是遊戲設計者的觀點來說也不好玩, 語言上的隔閡也造成搜尋上的問題, 但是這樣的概念會有更多衍生的應用?遊戲?服務?出現. 而且一定是爆炸性的. 人腦連結起來運算的能力絕對不是電腦能比擬的.

我常用一個說法說明電腦如何無法像人腦一樣運作: 教電腦記住一件事很簡單, 教電腦"忘記"這件事就很困難. 何況忘了又能突然想起.

2008年7月18日 星期五

自拍

高雄夢時代廣場摩天輪發生一件預料中一定會發生的新聞: 一位女子在摩天輪的升高的某個角度脫光光自拍了裸照, PO在網路上(可能不是她本人的意願). 雖然沒有姿色但還是害我某位住高雄的同學看了後整天上班都硬梆梆.
這位大姐為此行動勘查了一次, 找到摩天輪升高的某個角度開始上面的車廂被底部擋住看不到, 下面的車廂也被自己的底部擋住看不到, 在某個圓心角範圍形成了一段視覺死角, 八分鐘之多什麼事都幹得出來, 這是這新聞唯一有教育意義的一段. 她不是第一個摩天輪暴露狂也不會是最後一個, 有相當多的人都會來這一段.
數位相機的誕生讓這些人的小宇宙爆發出來, 電腦+網路簡直是牠們的神兵利器. 話說回來要不是始祖的犯罪, 這些也不會成為罪惡.

2008年7月7日 星期一

HONDA F1


2008 F1英國站的結果Honda車隊的老巴靠雨中的經驗拿到第三. 算是對於難堪的戰績出了一點悶氣.
我向來喜歡Honda生產的車, 以前的坐騎NSR, 和後來的civic. Honda近年來車輛競技上走下坡, 但在環保研發上卻是世界上最積極成果最好的車廠.
Honda在過去在F1(引擎供應商角色)有輝煌的歷史(洗拿時代), 重返F1有了自己的廠隊後, 簡直一塌糊塗.
2004年Honda廠隊的前身英美車隊有相當不錯的成績拿到了車隊第二名. 2005被抓到在油箱重量上面作弊後一蹶不振. 2006年好不容易撿到一個分站冠軍, 2007年為了強調環保上面的努力用地球當車身塗裝的車簡直爛透了. 2008年一樣乏善可陳. 不過就在今天2008/7/6 趁大雨撿到第三名站上頒獎台.

賽車是個相當不環保的運動, 我覺得就算把F1廢掉我都覺得沒啥關係, 但這項全世界第二多人看的運動是個重要的車輛實驗室(不過已經越來越不實用反而比較接近航太工程), 我是期望引擎能早日換成電動馬達, 反正對F1車輛最重要的不是引擎而是車架和空力套件.

2008年7月6日 星期日

Tetris


我一向對方塊情有獨鍾, 無論是樂高積木, Rubik's cube, 方塊拼圖, 都能讓我把玩好久.
我寫的第一個完整的遊戲程式也是俄羅斯方塊, 近年來也自創了好幾個方塊puzzle game.
最近韓國一個設計室做了一個俄羅斯方塊家具, 可以變化出3種型態(桌子椅子 + 沙發 + 床). 簡約設計看起來還不錯, 不過桌子和沙發模式貼在地上的那一面會變成床的表面有人想睡嗎?
既然連成一線乾脆把它消掉得分算了.

2008年7月5日 星期六

遊樂場



幾個月前寫了個半模擬器, 能夠讓我以前寫的手機遊戲能夠在不改code的狀態下在pc和在瀏覽器上面執行. 不需要安裝各家廠牌模擬器, 又可以開到全螢幕執行.
雖然大致上已經做到了, 但是還是有些音效和按鍵的小問題, 所以好久沒有進度了. 這個blog叫做遊樂場就是想要把以前的遊戲share出來, 也許有更多的火花. 不過再等等吧.

AMU


最近工作上的需要用以前寫game的手法製作了一套手機上面的圖形使用者介面,
我模仿Ant的命名方式自己命名為AMU, 意思是 Another Midp Ui, AMU也是原子質量單位的縮寫所以還蠻酷的. 其實所有權還是屬於公司, 自己叫爽的.
起頭主要是因為手機提供的使用介面實在太少太醜太不一致(不同手機長相不同), 所以寫程式在Canvas上面' 畫 '了一套.
原本業界就有很多這樣的東西供人使用, 像是一家德國軟體公司(enough software)的Polish, 提供了一套完整美觀的手機ui, 但是體積太龐大.
AMU目前因為被專案某些限制綁住, 無法盡情發揮, 但是已經有做到我認為polish或其他ui沒有做到的效果.
不過我也還沒做到很多polish提供的元件.
我的期許只是提供一套lightweight的手機元件, 只要能重複使用又能縮短開發時程就已經夠了, 並不想做的太fancy.

話說回來, 我一點都不看好MIDP的未來, 以後的手機根本不需要這樣的東西.
大家的胃口已經被iphone這樣的介面養大了, MIDP限制太多唯一的應用真的只有遊戲.