2013年2月3日 星期日

LAST

http://pic.pimg.tw/wispa/1181229421.jpg千萬別感到驚嚇,LAST不是最後一篇網誌,才剛開始呢

LAST是日本直木賞得主,“池袋西口公園”暢銷作家,石田衣良發表的另一部短篇集,
搜集了七個窮途末路倒楣傢伙在人生懸崖邊發生的故事,寫實的反應日本社會處在經濟低潮時,人吃人的慘不忍睹集體黑暗(只有一篇有著稍微開心的結局,但女主人公下海了,還是淡淡哀傷)

文中的日本像是已經成為地下錢莊統治的國度,在筆者的描述中,地下錢莊與無數悲慘人生有著連結,藉著暴力和債務綁架人們的勞動力,甚至可以像判官般在帳冊上大筆一揮決定芸芸眾生生死,有些情況連公權力都無法介入,事實上利益可能是這世上最強大的力量,利益驅動人心,人心造就事實,大概就是如此。
 
在那樣的環境下能跟地下錢莊沒有瓜葛已經是十分幸運的事,有些人是不願面對事業的頹落,因而請鬼開藥、有人則是捱不住經濟蕭條帶來的生活拮据,轉而用債務換得暫時的虛榮與快樂,債務人都確實有未實現的債務責任,但石田老兄並不打算引出任何結論,就只是描寫,像素描一樣紀錄著這些故事

小茂在走完這本書給人的絕望後,不禁對自己目前的生活豎起大拇指,何等的完美啊!!我想這就是石田兄的貢獻吧,讓大多的讀者去感受自己還是基本幸福的。

以經濟成長為名推動著所有人前進的這個世界,還真是個瘋狂世界(攤手)。





2013年1月30日 星期三

Sikuli - 改變世界的圖像程式語言?


什麼是 Sikuli ? 是一個極有創意的程式編輯軟體,挑戰了程式碼的新可能。

可以參考Sikuli 的 Demo 影片:
http://www.youtube.com/watch?v=FxDOlhysFcM

官網:
http://www.sikuli.org/

以及Sikuli 作者 Vgod的部落格,可以讓人更深入了解核心:
http://blog.vgod.tw/2010/01/30/sikuli/


過往寫程式時,總是先得先學習一套語法,在既有的規定和邏輯下,
一字不差的打出程式碼,否則電腦便讀不懂指令。

寫出來的程式,只要稍加複雜一點,
即便是懂得程式語言的人,即便是清楚的在// 後寫上註解,甚至即便是作者,
都可能要花點時間去思考。

而Sikuli ,卻跳脫了框架,不用再輸入冷冰冰的文字,而是利用截圖的方式,
即便是完全不懂程式語言的人,也能輕鬆上手,寫出來的程式,更是老嫗能解。


上圖就是用Sikuli 的介面,最上方是一般工具列,
左欄是函式,右上是程式碼的編輯區,右下是執行程式的結果。
寫好的程式碼只要按下執行的箭頭,就會開始測試。
測試後如果有bug ,會在出問題的那一行前出現驚嘆號。

只要安裝好軟體,只要會點滑鼠,就算沒有教學可看,也能很直觀的使用。
安裝好軟體之後,我寫了一個自動登入信箱的程式,不需要花幾分鐘的時間。

單就Sikuli 的設計理念而言,這是一個很傑出的創作。
但......

Sikuli 有以下的矛盾點:

1.是一個帶來方便的工具,但工具外的包裝卻不便利:

http://www.sikuli.org/download.html

看Sikuli 的下載頁面就可以理解筆者所言為何,
Sikuli要能使用,電腦必須先安裝有  Java 6。

而且一定要是 Java 6 , 最新版的 Java 7 are not supported !?

但其實,坊間已經找得到破解版,讓Sikuli 能在 Java 7下運作。
只要改掉原本程式碼幾個小地方而已。

另一個不便之處: 要使用者自己 fix bug。

雖然步驟不難,但不免讓人會嘀咕,
為什麼不直接做一個沒有bug 的installer 讓使用者下載呢?

是作者希望能營造一些step by step 的互動嗎 ?
還是作者因為使用 Mac 的關係,無心對windows 版做改善呢?
謎。

最後一擊,是在軟體說明的地方,所連到的網址,不管是要找範例,手冊,Q&A。
都會出現嚇人的 404 以及大量的 Sorry 。似乎是最一開始的網站被攻擊的緣故。



排掉這些稍稍有點惱人的問題後,Sikuli 的使用介面還是十分親切的。


2.用創意扼殺了創意

用圖像寫程式是一個很有創意的想法,
但是,圖像本身就缺乏想像的可能性。

簡單的說,你做了一件事,然後截圖加一些指令,叫 Sikuli 依樣畫葫蘆跟著做。
 Sikuli 僅能讓已存在的東西動作再現,很難去創造出新的可能性。

很像是,請了一個助理,認真聽話但不聰明,一步一動。

當然,這也可能只是因為我才疏學淺,使用受限。
或者在其他高手的使用及擴充下,能有更突破的應用。

誠如Sikuli 作者 Vgod 說的,這一切只是個開始,還有無限可能。


3. 表相與真相

這是個非常殘酷的現實:凡事不能只相信外表。
憑藉著圖像做為辨識的依據是很危險的。

光是從這台電腦到那台電腦,icon 的樣子和位置就不一定一樣。
就算是自己的電腦,姑且不論軟體的更新,光式桌面改了個配置....
就很可能影響了程式的執行。

如果寫出來的程式,在別人的電腦使用時可能會有困難,
那麼,程式碼的易讀,又有什麼用處呢?

越是能跨平台的程式語言,往往越是抽象,
反之,越具體的程式語言,是不是就越受限呢?

這可能也是Sikuli 需要突破的關口。

4.Sikuli 為誰而生?

Sikuli 作者 Vgod 是個很有想法的人,可以去看他非常有名的系列文章:
追求神乎其技的程式設計之道:   http://blog.vgod.tw/category/divine-code/

對 Sikuli 有興趣的人,有高手中的高手,也有連Hello world 都寫不出來的老百姓。
對高手來說,比起使用Sikuli ,更有興趣在改寫 Sikuli 本身的程式碼。
對於老百姓來說,省省手指頭點滑鼠的次數,業已心滿意足。

那麼 Sikuli 會怎麼改良呢? 往什麼方向去呢?
我們拭目以待。


後話:

Sikuli 確實可以幫忙節省許多時間,
特別是一些工作上 routine 的步驟,類似定期查詢跑報表之類的。
但想想自己平時工作其實花了這麼多時間在不動腦的事情上......

不知為何感到有點哀傷。

                                                                                                                    2013/01/30

2012年10月27日 星期六

來囉!







阿囉哈,這裡是宅哥小茂,This is MAO speaking.

今天跟宅女帽貓一起買了生平第一台MAC
(人一生一定要擁有過蘋果電腦,喂!是哈雷機車吧)





從此頭也不回的踏上X-coder之路
好啦沒那麼沈重,總之準備開始與宅女帽貓一起來玩APP
有多有趣的點子想實現呢~

雖說宅哥小茂連一句X-code都沒打過(畢竟今天才買MAC)
但不全然是程式新手,相反地在誤打誤撞中,該是手持板手、腳踩齒輪的機械系硬漢的宅哥小茂在大三時學會了C/C++程式語言,自此成為一位終日滴滴答答敲鍵盤的程式哥

畢業專題-研究所題目-至今的工作,無一不跟程式有關(嘆~)
寡言的宅哥小茂有時候在想,講給電腦聽的程式語言可能都比自己說過的話還多了
只是程式這玩意兒不是說會寫 if-else、能把Function馬上交出來就能征服全世界
宅哥小茂在這些時日間也體會到學無止盡的道理,怎麼寫得物件化、跑得有效率、日後好擴充、記憶體管理……哎呀呀,頭又開始痛了。

為什麼即使頭會痛也想玩APP呢?除了想多瞭解別的程式語言,找點可以跟宅女帽貓一起玩的樂子外(教宅女帽貓程式語言這件事本身也頗樂),腦袋裡也是有些小小的創業夢

不求飛黃騰達,但希望能自在的決定自己的生活
這一切,就從去APP-STORE下載X-coder開始吧! GOGOGO


2012年10月26日 星期五

對你訴說






語言,是人與人之間,用來互相溝通的工具。
說到語言,大家直覺想到的無非是:中文、法語、英語、日文......
其實,這世界上還有許多不同形式的語言。

數學,是科學的語言。
音樂,是情感的語言。

現代人每日接觸的電腦,也有他自成一套的語言。
電腦聽不懂人話,你想要叫他做事。
你得下他聽得懂的指令。

那就是電腦的語言,程式語言。

筆者是一介女流,從小志不在程式設計。
印象中那很聰明的人才會做的,同時有點無聊。
幾乎是男生在從事,因為程式設計會大量使用腦力,
工作造成的職業傷害可能是禿頭.......(刻板印象)。

雖然求學期間沒有往資訊業發展的打算,
卻還是在每周1~2節的電腦課時,
囫圇吞棗的學了一些程式語言。

我第一個接觸的是 HTML  (HyperText Markup Language)
中文名稱翻作 :超文件標示語言
這名稱可能讓人有點茫然,什麼是超文件?

言簡意賅的說吧: HTML 就是用來寫網頁的!

1994 Mosaic瀏覽器和全球資訊網的出現。
網路以他可以免費發佈加上充滿即時效率的特性,
迅速流傳,大受歡迎,風靡一時。

許多腦筋動得快的人,發現網路可互動的特性,
非常適合做為商業的平台,可以拿來賺錢阿!

我大約是在 1999 年開始學 HTML 的,
那時入口網站,拍賣網站,企業網站,
如雨後春筍般一個接一個興起。
網路資訊相關的公司也紛紛成立。
大家都覺得,會寫網頁的人將來前途無限。

1999年的我剛上國中,還沒有很大的升學壓力,
電腦課的作業是做一個網頁,上傳到學校的網域。

還記得那時作業評分的重點,是要會寫網頁的框架。
大家為了作網頁,紛紛抓了很多跳來跳去的饅頭人圖檔。
還有許多閃亮亮的愛心,星星的 GIF。

雖然沒有必要,但是幾乎每個同學都做了一個俗艷的跑馬燈。
跑馬燈寫著:歡迎來到 XX的家。

我學會寫網頁後不久,就網路泡沫化了......
一家家新開的網路公司,又一家家的倒了。

而就是在這紛擾的環境中,我上了高中,
是一所青春洋溢的女校,特色是喜歡穿短褲綁馬尾。
最愛游泳,排球等等陽光的運動。

當時的電腦課,似乎叫生活科技?
那時上課的內容,是Java Script。

說來慚愧,具體的上課內容,概念,應用,
幾乎都不記得了。

只記得一件事:

當時的電腦老師永遠腳上穿得是同一雙涼鞋。
夏天自然沒問題,還很透氣。
冬天的時候,內搭白襪便能禦寒。

最後學習Java script 做出來的成本,
也是個網頁,跟國中時真可謂殊途同歸。

到了大學階段,考上了後站大學的工學院。

一進學校立即感受到氣氛的改變,
首先是同學們從一群女生變成一群男生了。
接著課本的厚度也是突然劇增。

系上大一有一門必選課,叫做“計算機概論”。
頗有掛羊頭賣狗之嫌,因為這門課並沒有去概論計算機。
一整個學期聚精會神的在教 C++。

從學了C++起,
英文的逗號和分號,大括號和小括號意義截然不同。
並且一輩子也忘不掉 return 0 。
(老師說,不論程式成敗,函式最末有寫 return 0,便得一分)
記得考試時,有要求我們寫氣泡排序 (Bubble sort)。

我一邊打程式碼,一邊心裡想,
如果不用電腦改用人腦,
你給我最多30秒,我就可以把10個數字從小到大排好了。

然而,人腦雖聽得懂人話,
大量複雜且重復性高的計算,還是交給電腦划算。

於是乎,為了能夠有效的和電腦溝通,
只能繼續勇敢堅定的前進在,
程式語言的孤獨大道。


                                                                                2012/10/26