顯示具有 程式 標籤的文章。 顯示所有文章
顯示具有 程式 標籤的文章。 顯示所有文章

2013年4月20日 星期六

[LINUX]我的 CentOs-Server 安裝流程-part0

哎呀呀,隨著科技的演進,家裡的PC地位是越來越不如了,家人們一個個淪陷成為低頭族或是平板族,可以舒服的躺在沙發,手指頭滑來滑去就可以看電影、FB,誰願意正經八百坐在電腦桌前操作PC哩?老夥伴們晚景淒涼,常使宅哥淚滿襟ˊ_>ˋ

不如就把PC們湊成一台伺服器吧!硬碟2、3顆搜集一下還是可以湊個1T,把大家的影片音樂湊在一起還綽綽有餘,跑LINUX伺服器也不用太好的硬體,
剩下的零件好好保存起來當作備品,機器有問題還有可以料件可以替換(就像國軍封存戰鬥機一樣⋯噓),太棒了!







馬上來規劃一下!目標如下:

  • 安裝一台在區網內可遠端控制(sshd)的伺服器(CentOS)
    • 設定完後不用螢幕鍵盤一樣可以透過網路維護伺服器,省了一組器材!
  • 網路印表機功能(Canon IP1880)
    • 印表機所有人用一台就夠啦!
    • 舊機再利用
  • 網路磁碟(nfs)的功能作為區網小雲端
    • 以UNIX-LIKE系統遠端看影片、聽音樂都是很容易的事喔。
    • 比方說MACBOOK-PRO
弄好了一定很棒,但想先來休息一下XD
To Be Continued⋯

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月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