Tuesday, August 15, 2006

好久沒有寫程式給別人用了

最近因為研討會得寫一些程式給別人用, 在此之前多半都是寫實驗用的程式
所以算算也已經好一陣子沒有為所謂的不定使用者寫程式了

實驗用的程式多半是特定目的, 以及針對特定使用者(自己或是實驗操作者)
不論是程式的調校或是導向跟寫給不定使用者是有滿大的不同的
不定使用者也就表示就使用者的習慣, 文化, 知識, 操作技巧都是有差異的
站在設計者的角度不僅難以得到一個統一而一致的program flow (不論是介面或是機能上)
再加上國籍語言文化等等的背景差異跟設計者大不相同, 有時也難以設身處地的去設計
幾乎剩下能夠依賴的, 就只有一些世界共同的common sense
以及影響最大的, 設計者的感覺與經驗
很多人會寫程式, 但是寫的程式都很難用, 多數就是因為實驗用的程式寫太多而少直接面對使用者
這是經驗上的差距, 除了多寫多被人嫌之外, 也沒什麼可以彌補的捷徑
而感覺, 是我覺得我來建築所以後學最多的東西, 學會用心思考而得以更貼近別人的心
最近就有明顯感受到自己的變化, 寫出來的東西跟以前用嚴謹的邏輯思考產生的有點不太一樣
以前在寫, 總是會想防小人, 所以會設計很多security跟performance上的trick
現在在寫, 則是在防呆防懶, 設計出來的流程常常跟一般常見的流程不同, 卻讓使用者方便很多
那個線上評分系統讓我有最大的感觸, 幾乎沒什麼嚴謹的去想, 半直覺地就寫出來
用起來普遍反應也都覺得很好用, 操作起來很快也不怎麼需要學習
當然在secuirty上並沒那麼強固, 用暴力字典法一定可以猜進去, 但我不覺得這是重要的issue了
這不是一個商業網站, 也不是一個企業網站, 資安議題並沒那麼重要
讓不太用電腦的使用者能夠很輕鬆的完成評分才是我最重要的思考重點
我從一個思考著怎麼讓線材更堅固耐用的工程師, 慢慢轉變成想讓使用者不會插錯頭的防呆設計師了

我想我當年來唸這裡的目的已經有收到成效了, 現在我的東西越發變得人性, 覺得很開心
重視資安效能跟重視使用者是同等的重要, 我只是做了我的選擇, 而也真的得到一點我想要的東西

Sunday, August 13, 2006

惡魔的誘惑

剛剛在整理電腦, 偶然看到了以前的一些文章, 很有意思
在那個時候並無法了解一些內容的意義, 現在看到再對照到這些年來的所作所為
覺得很有意思, 也看到了自己的成長(?)的過程

有篇文章是這樣的, 講到UNIX的老爸之一Ken Thompson (印象中也是C的老爸之一)
在ACM Turing Award中提到寫軟體的人常會面臨的誘惑之一, 就是在系統中留後門
(惡意的稱為特洛伊木馬, 可愛一點的說法叫復活節彩蛋)
在他的例子中是提到在作業系統中放的後門, 尤其是open source的狀況下如何留後門
方法是在compiler裡頭放木馬, 所以從作業系統的source code中看不到異狀
compiler的source code當然也會公開, 所以只有第一版的compiler會有影響
但是當第一版的compiler在compile新的compiler時還是會自動把木馬加進去
所以不管怎樣, compile出來的不管是compiler或是系統都會有後門
(雖然這件事是真的, 這個木馬最後是沒有流出去啦, 因為被逮到了XD)

想到自己似乎也常在幹這種事, 但是我心思細密的程度並沒那麼K大師那麼結構嚴謹而邏輯化
我頂多是在影片中加上一些別人看不出來的用語, 然後自己看到的時候都會很high
例如跟to哥他們合作在2050 project中放的"法諾康鐺"歌劇團
因為計畫後期在趕demo的時候地下室會不斷迴響著final countdown這首歌, 聽到快吐了
還有就是我常在程式碼裡加密技, 因為我的東西多半不是open source, 所以比較肆無忌憚XD
比如我在查詢系統裡面放了特殊指令, 只要一執行就會進行全資料庫的update而對台鐵網站送出每秒兩千次的request, 很傷所以我也不敢對使用者開放
或是在遊戲裡加了暗號, 一執行就會把圖檔全部換掉(由射擊遊戲直接變成十八禁), 因為是引擎執行的, 圖片來自外部的壓縮檔, 所以為了避開公司QA的追查, 我把圖檔加密後塞在執行檔屁股後面, 引擎(我寫的ㄇㄟ)在接收到暗號後會自動去解圖檔來執行

類似的東西很多啊, 不過後來常用PHP寫東西以後就比較少搞這些了
很多人喜歡追查畫裡隱藏的秘密(例如像達文西密碼那種), 其實只要是創作者永遠都會面臨這種惡魔的誘惑, 老是想把一些永遠屬於自己的秘密隱藏在作品裡

不過到底是為了什麼呢?..或許只是為了想證明自己活過吧....

Wednesday, August 09, 2006

一些ubuntu的customized note

1. 讓光碟機可讀中文字
sudo gedit /etc/fstab
/dev/hdd /media/cdrom0 udf,iso9660 iocharset=utf8,ro,user,noauto 0 0

2. 啟動輸入法
vi .gnomerc
輸入:
XMODIFIERS="@im=SCIM"
export XMODIFIERS
GTK_IM_MODULE="xim"
export GTK_IM_MODULE
scim -d
存檔

3. 啟動SMP (都要裝, 不然會怪怪的, ex: keyboard動不了)
linux-image-2.x-686
linux-image-686
linux-686-smp
linux-restricted-modules-686

Friday, August 04, 2006

Recent image based researches

Microsoft Live Labs - Photosynth
Reconstructing 3D scenes from many photos via computer vision algorithms
http://labs.live.com/photosynth/

CMU - Automatic Photo Pop-up
Reconstructing 3D scenes from “one” photo via object geometry recognition
http://www.cs.cmu.edu/~dhoiem/projects/popup/index.html
D. Hoiem, A.A. Efros, and M. Hebert, “Automatic Photo Pop-up”, ACM SIGGRAPH 2005

Thursday, August 03, 2006

懷念(?)的Action Script

昨天測的Flash Lite, 骨子裡的引擎是來自於Flash 4, 害我想起小時候玩Flash3時那句鬼打牆似的tellTarget, tellTarget, tellTarget
tellTarget(”我爸”) {
別再打我媽()
}
這句咒語到了Flash5就朝著OO的方向進化成”我爸.別再打我媽();”了
想不到事隔多年這句咒語又出現在我眼前….Orz

Flash Lite速速退散~~!