Monday, July 26, 2004

液樹與刻血:理性的創意在哪?

雖然很極力想要避免被當成機器人,即使自己已經試圖在解放自己的靈魂
但長久以來的訓練似乎仍悄悄禁錮著我的靈魂,影響著別人的看法
使得嚴謹的思維成為一種附掛在我身上的原罪

現在覺得自己很像電影「變人」(Bicentennial Man)中的Robin Williams
或是木偶奇遇記中的小木偶,都在尋找變成人類的過程
不過反正既然標籤都被貼了,就讓我來為理性思維講講話吧

工程、理性、科學(或蔡智恆筆下的珂雪,忍不住想說一聲這名字取的真low)、邏輯、冷靜
這堆同義或近似同義詞,說明了千年來人類文明進展的最大動力

設計、感性、藝術(或是另一個同樣low的名字,亦恕)、發散、熱情
這些詞卻是千年前人類文明進展的主要原因

表面上看來,理性派重因果、講理論;感性派重創新、要感覺
兩派人馬想法不同、看法不同,連帶地作法也不同
這方面的差異已經明顯到所有人都看得出來了

而最常聽到感性派對理性派的一個看法或是批評就是:沒有創意

真的是這樣嗎?

從思考的角度來看,感性派從事的多半是一種沒有目的甚至啟始因素也常常在變的過程
感性派的擅長天馬行空地加入一些偶然的靈感,創意就在這些靈感以及將其融合的過程或手法

理性派呢?定義清楚的問題、有限的條件、已知的答案,做的事就是把問題跟答案串起來
看起來很沒挑戰性?一點也不,其實創意隱藏在分析問題以及如何在有限的條件下達到目的

用個鳥例子來看:「去台南玩」好了

感性派的作法或許就是先隨便找個地方去,然後問問人有沒有比較靠近台南?
走一步算一步,有可能會不小心跑到基隆,或是誤入深山
最後可能也到不了台南,但可能有些人「在花蓮玩」或甚至有些人開發出新的觀光景點,這是創意

理性派的作法,會先分析問題,分析出來台南在南方(怎麼分析出來的就是一種創意,有些人用氣溫來分析,有些人用緯度來分析,有些人用猜的)
之後,「往南走」就成為限制條件之一,而在這樣的限制之下,怎麼到台南又是另一個創意,有人走公路,有人走高速公路,有人搭便車
但最後的結果一定就是「到台南」,看表面會覺得大家都一樣到台南了,其實中間的過程才有趣,這是創意

所以能說理性派就比較沒有創意嗎?答案當然是否定的

創意是人類思考的核心,或說是本質,理性跟感性只是包在外面往不同方向發展的shell而已....
就像是存在宇宙中的實空間與虛空間,本質依然是宇宙一樣
然而人類是否終究能發展出足夠的心智來描述這些東西?在科學的終點之後,是否有著藝術的終點?
我還看不到,不過我好想知道....

Thursday, July 15, 2004

(延宕半個多月的meeting)後記

獲益良多,有些事情發現aleppo跟君昊老師的想法是一樣的,但是跟我都不一樣
即使自認為準備妥當也想得很清楚了,還是會被不同的老師指出相同的點
眼界的差異真是明顯到令人喪氣
不過無所謂,反正遲早會補上的

開課:
很可惜沒辦法開個半正式的課,不過這不代表不能教
老師說的沒錯,我沒辦法證明我能教的比所有的老師好,即便這門課的內容是我設計的
君昊老師可能講的比我好,aleppo也會講的比我好,甚至去資科找老師可能也講得比我深入
我的確沒辦法證明我最棒,但是講課不見得只有內容,魅力也很重要,這也是我要積極培養的部分
看來暫時只能用非正式的方式開課,如果我能通過一段時間的考驗,能證明這門課的確有需求
那時候的我應該也夠資格獨立或是跟老師合開課了
所以現在只好發信給大家,問看看有沒有人想來聽我的課囉^^

碩士論文:
我在一門課的作業的量的確夠當一篇碩士論文了,老師很無奈說我做太多了
我做的量的確夠畢業了,但他認為我不是這樣就滿足的人
碩士論文最好以這為基礎再更多一點,剛好這也是我的目標
我本來就打算作一個系統發表媒材論文,再以此系統來研究理論問題
老師也同意我往空間議題發展,系統可以作為實踐理論或是解決問題的手段
可以準備提proposal了....
那就....先擱著吧,投稿要緊

VR Final:
我覺得自己做得很不錯,不過aleppo的評語只有「很實用」,有點無力....-_-a

投稿:
學會了切割的手法,知道了怎麼包裝、怎麼搭配不同主題以強調問題有被解決
收穫最多,不過現在反而千頭萬緒,得先讓頭腦休息一下

Saturday, July 10, 2004

client-server? peer-to-peer? hybrid? broadcast? multicast?

自從上次的final presentation後, 就苦惱於detail tuning
因為是三組螢幕也就是六部電腦,外加一部主控電腦
寫起來跟寫on-line game是差不多的架構,這個算小事情
反正這類架構要tune,要不就是砸硬體,要不就是做distributed server-side

CAVE就麻煩在..同一組螢幕的兩部電腦必須是critical-synchronized..
同步需求遠比on-line game中的兩個client node大得多
工研院的東西根本沒做到time-critical程度的互動,當然沒這問題,灌封包再去比對heartbeat就解決
再看到彥良弄的director+multiuser server的lag狀況也知道那不是個好的solution

但是要做interaction,效率是很重要的
然而一來我不可能砸硬體..二來我也沒有多餘的computing power....
就是這七部....那到底怎樣的topology適合這樣的架構?

目前採用的client-server架構就會出現的同組螢幕的同步不佳的問題
畫面在同步訊號來的時候會閃動
這跟director+multiuser server是一樣的狀況
這也表示這樣的架構較適合大型的架構來用(cross-domain, massive multi-user)
即便我把架構倒過來用,讓server灌封包,client都乖乖閉嘴,希望提高效能
但是server要管數個input thread外加七個socket thread(6 client+1 server)....太累了
更何況這台server運算效能跟client幾乎沒什麼差

而在之前寫的調整focal length的程式是採用peer-to-peer的架構
同步相當迅速,幾乎看不出來閃動的情況(當然這也有可能是OpenGL比Flash繪圖效率高的原因)
但這樣的話,server還是得管input thread外加數個peer thread....loading並沒比較輕

broadcast呢?別提了,上次用UDP就已經碰到要開個檔有人忘了開就知道所謂的unreliable有多麼不可靠了

TCP跟UDP混用?像線上廣播或是ShoutCAST那種
不好,架構變複雜,未來作extension頗麻煩,而且data走的是UDP....-____-|||

multicast的話不像broadcast那麼不可靠又可以做一對多點的廣播
很值得考慮,但是沒有實測過不知道有多讚,需要多找一些資料,而且系統要換的話要重新規劃

目前想用的是hybrid的型態,server跟client間用client-server topology,client跟client間跑peer-to-peer
好處..server的client thread少掉一半,而讓擔任peer host的client分擔一部份的工作,運算資源分配比較均勻
而且同步訊號會比較準確也比較快,client-client的同步當然比client-server-client快
壞處..省掉的thread computing是否可以賺回來?如果賺不回來就變成做白工了..還不如花時間去tune現在的架構就好

網路程式有夠複雜....真是....好玩啊....f-_-
(我大概是變態吧...T-T)

再提醒自己一下別玩物喪志,現在想的東西已經都太偏CS囉,千萬別lost focus
重點要放在
.: multi-modal interaction
.: more media supported (powerpoint, quicktimeVR, image, mpeg, opengl, ....more)
.: more input device supported (bluetooth mobile device, IrDA sensor, notebook, pda, gesture, ....more)

Fire! CAVE as Crit-Space!
(嗯....燒掉就沒了說....)

Wednesday, June 30, 2004

饒了我吧..window update....

在越來越多的軟體紛紛支援Unicode的情況下....
windows這種有著老包袱..各種code page交叉混用的狀況
居然成為我近一個星期以來的惡夢....

我的程式需要用到automation....但是不巧Flash跟Office內部都已經使用unicode做為編碼了
所以..我想要開檔的時候就得把檔名改成wchar傳進去....
這很合理..在多數電腦上跑起來也很正常

可是同一份程式....很多電腦可以跑....到了某幾台就不行....其中一台還剛好是我的final present的六台中的其中一台
一直找不到原因....因為我的程式並沒有寫錯....苦惱了很久
但是可以知道原因出在widechar跟null terminated string
後來把腦筋動到是不是安裝的軟體有差....發現....居然是微軟搞的鬼T-T

死微軟在windows update中的patch出了紕漏....讓我的檔名傳進去後會咬到別人的記憶區..然後跳出access violation

只有安裝828310跟821446 => 沒問題
安裝許多的windows update => 有問題!!
安裝所有的windows update => 沒問題

可見微軟後來有發現這個問題..也fix了....

所以我卡了很久的困擾....解決的方法....就是把所有的windows update裝完....

什麼鬼啊~~哇哩咧

Wednesday, June 23, 2004

客制化, 市場與人類文明

一直很想作這樣的分析

雖然標題很奇怪, 不過想不到更好的, 而且現在不寫怕以後會忘記
若從生產行為的角度來看人類文化, 我認為人類文明到目前為止大致上可以分成四個時期
這裡生產的定義指的是人類利用自己的智力與體力將自然物加工的過程

1. 史前時期
這個時期人類是單純的消費者, 人類的生產是為了供給自己的消費, 並沒有所謂的市場
即使有以物易物的商業行為, 但人類本身並不從事生產工作, 而只是消耗大自然的產物
人類打獵, 摘果子, 連女人都是用搶的, 完全只依照野性進行

2. 工匠時期
演進至人類有了文字語言, 開始可以記錄傳承前人的智慧後, 人類文明的時間才真正開始流動
這個時期由於階級概念的興起, 多數的人類被迫生產以取得維生的所需
而由於語言文字讓經驗可以傳承, 各種不同的專門技術也開始演進, 人類的社會開始有了職業的區別
不同的職業各自利用專門的技藝換取生活所需, 小規模的市場出現
然而基本上人類在這個時期從事生產主要還是為了維繫個人的生存, 所以也沒有工廠這樣的概念
也出現了少部分的人則專注於生產的技藝上

3. 工廠時期
工業時代後, 大量生產可以節省成本的概念風行, 而為了要大量的生產勢必投入大量的人力物力, 工廠於焉形成
而工廠的概念同時影響到商業市場, 於是也有了公司等組織
由於需要集中大量的人力物力, 在資源有限下, 商業競爭的行為出現
人類生產的方式由個人生產轉變為團體大量生產, 不料這也影響了人類的消費行為
人類被迫接受"所有人都用同樣的東西"的概念, 對於無法接受者則以廣告行銷等強力手段加以洗腦
目的就是在降低成本的同時, 擴大市場, 而能夠提高競爭力, 再進行更大量的生產
人類文化在這樣的影響下, 精緻文化漸漸被侵蝕, 取代的則是快速講求效率的速食文化

4. 客制化時期
而繼續隨著時間演進, 工具越來越多, 人類在以往需要耗費大量勞力時間進行生產行為的強況慢慢減少
再加上經過70~80年代自動化的盛行與90年代的數位化, 現代多數人類開始可以不需要那麼專注在生產的行為
於是進入了客制化時期
這個時期由於人類開始追求除了生存(生存是一種消費行為)之外更多的樂趣, 消費的樂趣開始被重視
人類在消費行為上的傾向開始唾棄工廠時期的大家用一樣東西的概念
人人都希望發展自我, 擁有個人的可見度
於是, 手機等數位商品要可以換殼, 電腦可以自由設定桌面, 軟體可以自訂功能, 這樣的慾望開始擴張
慢慢地已經有可客制化的商品出現, 例如完全依造腳模設計的鞋, 依照環境設計的建築等
有趣的是, 人類在消費行為上的生態居然退回到了第二時期(或許只是因為大量複製原本就違背人類的本性)
但是, 在生產行為上並沒有放棄「大量生產」, 因為公司等組織都還在, 工業時代的成本利潤觀念也還在
所以現在變成了「大量生產可客制化的商品」, 這很有趣, 因為原本似乎是兩種不同的概念居然被組合了
一種是「去訂作一套衣服」, 另一種是「去量販店買一套成衣」,看似兩種相反的概念, 在數位軟體的協助下結合了
這樣的風潮如果持續, 未來的公司必須投注心力在設計可客制化的商品或是將客制化的彈性融入原本生產的流程中

我個人認為, 相較於工業時代的大量複製品, 對美跟自我的追求是比較合乎人類本性的
因為, 穿衣服上街跟別人撞衫, 大概很少人會覺得開心的吧
客制化的風將會繼續吹, 影響所有的人類, 對人類腦中想法的追求與分析等學術將會更加蓬勃
直到....形隨意動(產品的形/型/行, 都隨著人的想法自動客制化)的境界吧

轉念一想, Media不也就是這樣?真的, 挺有趣的:p

Thursday, June 10, 2004

呼呼..a step forward

經過了昨晚的努力, 終於可以用手機上的鍵盤控制電腦了..哈哈哈

雖然這類東西已有BTControl以及Mobile Con或是PC Control等免費軟體
不過因為這類remote conrtrol都沒有開放原始碼..所以也不知道這些人怎麼傳AT的
作者也沒有透漏訊息說怎麼做到的

那也無所謂..用屁股猜也知道是用AT Command..只是不知道是不是用customized command而已
之前Ericsson不知道為啥把所有AT Command的spec拿掉了..最近終於又可以抓了..翻這個最快啦
用AT雖然不像用JaveME那樣可以跨平台..畢竟PDA就不支援AT了....
不過用JME還要開stream....比起AT是複雜的多了..
剛剛發現原來現在手機也可以當作Bluetooth的HID用了!?
那表示應該不需要用AT Command囉...

但..總是一大進展嘛..慶祝一下..嘿嘿嘿嘿

Monday, June 07, 2004

心情好 壓力大 繃緊神經 愉快做事

今天跟aleppo提的事獲得良好的回應
雖然他還是覺得開邏輯思考的用處不會太大..因為不會寫程式的人並不會因為上了這門課就變得會寫程式
但是他肯定這門課確實可以提供分析問題的方法..讓提出來的問題不會天馬行空..
也讓有興趣繼續設計媒材的人有一個修進階課程的方向

老師說的沒錯....我即使教會C..要實作還是有太多領域的知識需要補充..而這些的確也是我的課提供不了的東西
像CG..AI..IP..CN..這些在CS已各自成為專業領域的domain knowledge....我是不可能一門課教完的..何況我自己在這些專業領域也還不夠專精
(不過想想突然覺得原來我以前還真的學了不少東西....)
(雖然那也表示設計這邊也有一樣多的東西要學..畢竟一樣的四年..會有一樣多的知識需要學習..這還得加油)

既然找到了自己設計的課程上的限制..那我要把目標鎖定在Algo..DS..CS等基礎知識的統合
這樣才能提供關於CS的一個完整的scope view....
他也認為這門課有機會成為所上的先修課程..這證明我把這門課的對象設定為大學部跟媒材研究新生的方向是正確的

論文上aleppo跟君昊老師說的一樣....我除了tech-power要繼續發揮....
更重要的是..我得找到也要做出來...「迷人」的application..
這才能成為我跟其他技術出身的人最大不同的地方

心情好 - 證明自己沒有浪費過去的時光..I've learned!
壓力大 - 好多事情要做..what a mess~
神經繃緊 - 論文的競爭者是全世界..come'on guys!
愉快做事 - that's my style!

Tuesday, June 01, 2004

今天被老師抓去約談

原來是我的個性問題....
我看起來真的那麼不積極嗎?

可能做了太多雜七雜八的事情所以看起來不專心吧
想想這個月做了哪些事....

1. 寫邏輯思考的課程大綱....第一名
2. 研究At Command......第四名
3. 玩模擬器....第二名
4. 研究Snes9x的顯示外掛寫法
5. 找SDG相關的paper....第五名
6. 想"論文整理程式"的架構
7. 重灌系統為英文版
8. 研究多電腦同步問題
9. 玩三國無雙
10. 研究serial port programming.... 第三名

看起來應該還好....模擬器花太多時間了.....
下次多花點時間在CAVE上吧
flocks of bird也還沒玩呢
老師說的沒錯....玩media的想不分心真的很難....不過別成為藉口就好

說到要做到!!做不到就不要說了!!

Friday, May 28, 2004

開課的慾望

開課的慾望越來越強烈,不管是正式或非正式
我能證明我的教學方式是正確的,是能被廣為接受的

寫程式不該是一種專業,寫專業的程式才該是一種專業

在電腦的時代每個人都該學會寫一些小程式讓自己的生活、學業或是工作能運作的更加順暢
就像任何人在生活中總要學會修理小東西,但是當然比不上專業的修理師傅
我們會做一些小櫃子或是用一些方法來整理生活中的物品
當然也該會寫一些小程式來整理或是處理自己的資料
寫小程式就像工藝、家政,是一種生活的智慧,而不是一種難以跨越的knowledge gap
為什麼要把寫程式搞的那麼複雜,是因為怕太多人學會,而降低了這個學術領域的尊嚴吧!?
目前的資訊教育是在培養專業的程式設計師,卻因此讓資訊知識變的非常的不生活化
也讓資訊離人性與生活越來越遠,科技會超越人性而變得曲高和寡或許就是由此而起的吧

我喜歡電腦,我喜歡寫程式,我希望世上所有人都能更善加利用電腦,我希望資訊能跟人性及生活有更緊密的連結
如果世上的多數人都很瞭解資訊技術或能更完整利用電腦,那資訊技術就能更廣為運用在各種領域了,這是我最希望看到的未來
來到建築所,aleppo教的設計思考補足了我的人類思考上的另一面向的想法,我現在已經比較瞭解怎麼從人思考的角度來看程式的思考了

我要開課!所以非得考上博士班當上老師不可,這樣才能教更多不同專業領域的人如何善加運用資訊技術,而不需要跑去CS學的那麼辛苦

暫訂課程名稱為

Thinking in Logic, Speaking in Programming Language
邏輯思考&程式語言

課程大綱
Thinking -> Reading -> Speaking

1. what is thinking?
2. what is logic thinking?
3. sequencial instruction (Computer infrastructure)
4. algorithm (human problem solving)
5. data structure (operational elements in problem solving)
6. case study: thinking
7. infrastructure of programming (how to read source code)
8. case study: reading
9. case study: speaking

This course would be the integrated knowledge of CS domain, including
Data Structure,
Algorithm,
Progamming Language,
Computer Structure,

and some others from different knowledge domain,
Design Thinking, and more

Absolutely it would NOT be another "Introdution to Computer Science"

可能有些專業的資訊人會對我的大綱嗤之以鼻,因為這些學門都是相當深的,但也沒人可以否認這些是資訊的核心學科
我相信只是沒人要把這些東西講淺講廣而已,而我絕對做得到
況且這個課程的目的本來就不是要教出專業程式設計師
課程目標是要讓擁有其他domain knowledge的人可以將資訊技術與知識運用在各種不同的領域
我還得再多充實人類的認知與思考相關的議題,讓這個課程的內容能越來越直覺

何時能開成,不知道,今年暑假看能不能吧,總之先寫講義吧!