2012年12月31日 星期一

迷路記(下)

以為螢幕出現閃爍的白線只是因為天氣冷還沒暖機完成,因為放著不理就會恢復正常。誰知道在準備出門的前夕,它症狀變得越來越嚴重,花了一些時間去查 HP 的保固方式,浪費了一些時間,急急忙忙的印好 Notebook 的購買證明以及地圖後就匆匆出門。

九點多的台北交通不如預期中的順暢,讓人有種還在上下班車潮的感覺。順利在銀行刷完存摺後就往維修站前進。維修站是在科學園區周邊的住宅區裡,但是意外的難找車位,確定維修站位置後,在隔一段距離的地方找到車位,徒步走到目的地。

心目中的維修站,應該是有著明亮燈光的大廳,一邊坐著幾個工程師在處理之前客戶留下的機器,面對的幾位客服人員,其中幾位正在向客戶進行維修的說明。不過在我踏進門口之後,看到的卻是似乎為了節能減碳而沒開大燈的大廳,看不到工程師,只看到一個好像是行政人員來客串服務人員,正在印著一張一張的單據。

迷路記(上)

十二月二十八號,是今年最後一天上班日,我請了一天特休。

除了能比別人多一天的連假的理由之外,也希望能把一些拖了很久沒動的事情。在別人最後一天上班日處理掉,當作這一年的一些收尾。

行程排得很「充實」,先去銀行刷本子,再到內湖的 HP 維修站去檢查 Notebook,接著到板橋去換機車置物箱,再回到台北市,到光華商場裡找那家不知道有沒有開門的樂材行,看看有沒有機會拿一陣子動的吉他去作健康檢查。

2012年10月31日 星期三

聽 iOS 分享

一直以來就想要看看那個「封閉」作業系統所使用的語言,倒底是什麼魔力讓許多 App 願意使用先使用它來開發。雖然看過一些相關的文件,雖然曾經接觸過它的底層 C 和 C++ ,但是對於 Objective-C 和 iOS 的程式開發一直都是一知半解,總是擠不出足夠完整的時間來學習它。

一個機緣下,安排公司一位同事去學習,要求在到一段學習之後進行分享。一來作為替代自己 K 書學習的替代,二來自負自己的程式的理解程度,應該能夠給同事一些看待程式的觀點,不至於全然浪費時間在教我。

今天是第一次分享,看了一個 Hello World 的程式,對於大家都看不懂的程式作了些許的猜測,總體而言還算滿意這次的分享結果,因為除了看到也學到了一些新東西之外,也發現了幾件沒注意到的事情。

2012年10月29日 星期一

初學 python

好像是一兩年前聽到這個程式語言,說來特別,是在 JavaOne 的聚會。記得是當時公司同事對這個會議有興趣,後來我也被拖去參加。本來的開場是要找「Thinking in Java」的作者來演講,結果好像是因為他去滑雪腳受傷不克前往,後來就拍了一部片子來代替演講。對我而言最幸運的是因為是錄影帶,貼心的主辦單位還幫忙加上了字幕,要不然,我可能聽不進十分之一的內容。

那位作者說有些人建議一年學一種新的程式語言,他認為不必,但是由學習新的程式語言可以得到許多不同的想法。而最近讓他著迷的程式語言,是以 Java 作的 Python 引擎︰Jython。

老實說對於後來的介紹,現在還能記得片斷已經少得可憐。只記得有個叫作 Python 的東東,是一個新的程式語言,其思考方式和 PHP 類型,是動態型別的直譯語言。但是似乎能作的事情更多,也更強大。

中間的一兩年間,不時的聽到或是看到一些由 Python 寫出來的程式,給人的感覺評價都不錯。在一次機會下在歐萊禮的書單中看到「深入淺出 Python」,就入手將它買下來。又再隔了一兩個月後才真正把它拿起來看。

2012年10月28日 星期日

練習打字

有人說︰「世上沒有早知道」,真是不錯,如果早知道的話我就會多等個幾天,而不是買現在這個黑軸的鍵盤,記得當時還說服自己「黑軸的鍵盤比較安靜,在家裡打字的聲音會小一點」。不過事實證明,聲音沒小多少,但是打字真的費力許多。

寫程式是自己的主要工作之一,所以敲打鍵般是已經習慣到不能再習慣的事情。有時候思緒一來,可以一連打個幾個小時不停,打上一整天其實沒有什麼大不了。而在這隻黑軸鍵盤上打上半個小時,就會開始覺得吃力,再久一點就會覺得手指有點發麻。

雖然天天在打程式,但是覺得自己的打字速度變慢了許多。至少和自己在大學時候相比差了不少。記得一個晚上可以將自己的胡思亂想打成一篇超過一百行的 BBS 文章,記得那時候真的是作到「我手寫我口」的地步,每一個心中想到文字都能夠在下一刻出現在畫面上。

不知道是因為當時的輸入法,輸入的時候字根是顯示在畫面下方,而不是一直出現在輸入點的邊邊,少了許多閃爍、讓人煩燥的東西,讓人可以更專心於自己要輸入的東西。又再加上 Windows 的倉頡輸入法越改越難用,加上許多的罕用字本身並不是什麼問題,問題出在罕用字的選字順序居然在常用字之前,導致要花費更多的時間刪除錯字重新輸入。讓人的思緒很難連貫。

2012年10月14日 星期日

刺激

覺得「自己好累」的感覺一直揮之不去,似乎不是身體上的疲累,而是心理上的。表現在每天晚上睡覺的時候,身體好像還有沒有用完的力氣使得常常無法順利入眠。而結果是…東摸西摸到凌晨時分,十在是累得不行的時候才上床,想當然爾,第二天的精神糟到一個不行。

有些時候不到中午就開始想睡,精神不能集中。明明知道眼前的工作十分重要,但就是無法將注意力拉回來,這種無力的感覺讓人煩燥又無可奈何。有時候出現學習新的事物上,一拿起書本就開始昏昏欲睡,呵欠打到雙睡含淚,模糊了眼前的文字迫使自己放下手上的書本。

是時候反省一下自己了,或是回頭看看曾經發生過的事情,找到問題的原因。

2012年9月30日 星期日

願景

長時間的忙碌讓人身心疲憊,忘了是從什麼時候開始發現身體狀況不如剛入社會的時候,心中的警覺讓我開始試著作一些改變。慢慢的開始不要求自己向以往 100% 的時間都用在思考,而是練習去作放鬆,多給一些時間讓身體進行自我修復。

和一般的想法不同,不認為單純是年紀造成體力下滑,記憶和學習的遲緩。而相信是因為過度的思考及壓力,在沒有得到充分的休息之下一些累積的「運動傷害」,而現在的自己正是進行「調養」的階段。

可不想等到一身全病,無力回天的時候才覺醒,雖然現在進行的成效不大,但總有讓恢復速度追上每天消秏的那一天,現在是這樣的相信著。

2012年9月22日 星期六

海棉

記得大約是國中的時候,開始接觸電腦,也開始對於電腦操作以及程式的學習。因為沒有具有相關行業的親友,電腦相關知識的來源很少而且不穩定,可能只有偶而電腦行老闆到家中修電腦時聊天中聽到的,就是幾個月內唯一的新知。

可能小時候的記性比較好吧!多聽幾次之後,慢慢的對一些專有名詞、觀念等有一些些的了解,也漸漸能夠聽懂本來不明白的地方。因為得到新資訊的機會實在不多,所以在潛意識中,會更加專注聽到的一字一句。

由對於術語的印象,再和其它的字句、情境結合起來,累積成知識。雖然仍然遠遠比不上那些身處數位環境的人那麼精通,但至少能讓我在電腦這個領域勉強站有一小塊立足之地。

因為資訊來源不穩定,也不知道未來自己的出路在哪裡。當時對自己立了一個要求,就是要像海棉一樣,盡可能地將附近的知識都吸收進來。

2012年9月10日 星期一

不順遂

自從有的記憶開始,平常的運氣就不怎麼樣,像是和一群人一起點菜,十有八九會是最晚拿到餐的,如果遇到店家忘了作點的餐,那一道有很高的機率是自己吃的。人說有莫非定律,所以就有人會來個「逆向操作」,在事情發生前先作個「不好的宣言」,像是說自己的運氣有多麼的不好,最後得到比較好的結果。

不過這一招對我而言沒有什麼作用,我依然可以在上菜前和朋友打賭,最終依然最後一個得到餐。平時運氣不好其實不是一種壞事,因為會讓人習慣多準備一些,也不會常常抱持著想賭賭運氣的念頭。

在一些重大事情上,自認為運氣還算不錯。在高中選擇社團的時候,當時許多人搶手的程式設計社團(想玩電腦),必須靠抽籤決定能報名的人。我還記當時的那一幕,那時不是輪流,而是大家一起的抽籤,當一群人伸手搶籤的時候我還愣了一下,但是晚伸出的手卻剛好接住一支被「夾」出來的籤,而那支能夠去參與程式設計課的籤,算是改變我的人生。

生處於沒有什麼電腦相關資源的家庭,若是沒有參與到這個社團,在沒有什麼學習的機會之下,不算程式相關科系畢業的的我,也許現在就不是以寫程式作為職業了。

雖然大體上已經習慣平時的不順遂,但是有些時候仍然讓人覺得煩躁,因為覺得好像有無形的力量去拖住我前進…

2012年8月26日 星期日

企劃工作

在經歴了連續幾個星期高張力工作後,發現自己的心境有一些些的成長,隨之而來的並不是成長後的喜悅,而是發現更多不足的戒慎恐懼。因為身上的權責變得比以往更多,相對的也就表示著當自己犯錯,造成的「洞」也會變得更大。

有時候犯錯不光只是「作不對決定」,太晚作出決定也是一種「錯誤」。産生的問題不亞於的前者,在資訊不足的狀態下,想作出正確決策的難度不小,因此的壓力是最近一直在身邊不曾遠離的心情。

剛結束了一個讓自己很不滿意的一週,覺得自己沒有善盡一個管控工作者應該作的,達到應有的價值。發現到,不單單只是作好一個防火牆,擋下無謂的需求和突發奇想就夠,還需要替每個第一線工作的人,找出明確的方向和目標,這是正是這次沒有作到的部分。

說有些人換了一個職位,就好像換了一個腦袋,作著以往自己口中「招人討厭」的事情。這段其間我深有體會,不時想著要去改變這個現象…

2012年8月19日 星期日

租屋記

話說不久前的房客因為家中小孩長大,下了決心花了大錢去買了間房子,脫離了租屋的身分。所以原來那間屋子又空了下來,容易緊張的母親一直催著父親去貼招租的公告,又四處去問親友是怎麼租出自己的房子,不斷的「指導」父親作這作那,要求人作事又不給予應有信任的表現讓父親很不高興。

家中並不是只有租屋一個經擠來源,為了不想的租出房子這個並非「天大的事」讓家中的氣氛變得很糟,當父親被要求到網路上 po 廣告時,我主動提出協助的意願。不管網路上的租屋網有沒有用,反正早解決一件事就少了一個可能讓人劍拔弩張的事件點。

兩天後,父親帶著剛拍回來的照片回家,由於當天回來得晚,所以就決定隔天再進行上線。

2012年6月21日 星期四

休學記

因為手上的工作有完成時間上的壓力,所以在工作和學業中間,只能選擇工作一途。畢竟工作是賺錢,是累積自己的經驗和技能。而碩士文憑只代表一個學歷,還不是很有用的那種。因此決定以休學先把自己的休業年限凍起來,等哪天真有餘力處理的時候的再回頭完成。

因為我的朋友不多,離開學校也好一段時間了,所以沒有什麼人可以問,只能直接殺到學校碰碰運氣,向公司請了一天假,大早到騎車到淡水,結果系辦的兩個助教都不在。只剩下一個工讀生在看家。

問過工讀生,知道助教最快下午一點才會出現。看看手上的錶,才九點出頭,想說碰碰運氣到指導老師的辦公室待到中午。因為通常他平日都是和學生約在星期四早上討論,所以只要不要打擾到討論的進行,應該不會被趕出來吧!再次向工讀生詢問,知道研究室位置後背著背包往樓上出發。

2012年6月16日 星期六

程式的哲學

自從學會了物件導的向的概念之後,漸漸能夠體會一前人設計程式語言的一些想法。對於撰寫程式也多了一些新的體會。

記得剛開始學習程式的時候,由單純的執行書上的範例得到成就,知道自己也能夠的像書本的作者一樣要求電腦執行我下的指令,或是跑出我希望的結果。能夠理解每行程式的功用,經過修改、增加程式達到不一樣的變化。那時候沒有物件,沒有模組,就只是將心中的想到的功能完成。

記得那個年代的人們,覺得「寫出上千、上萬行」的程式是能力的表現,自己也是經過了不少年後,才發現這種想法不全然正確。

2012年5月27日 星期日

中文輸入法的困擾

剛接觸到電腦的時候,大約是國一的時候吧!那個時候還是單色到彩色螢幕的過渡。開機是用軟碟機,聽著他嘰嘰𠵣𠵣的讀取資料開完機,再放入「倚天中文」的 ET3 磁片讀取中文輸入法。軟體不多,就一套叫作「CPE」文書編輯器和一個已經忘了名字的 cai 打字練習軟體。

那就是那個時候的全部,當時發現倚天中文原來可以自建字,設定自根後就可以把它打到螢幕或是印出來,沒有聽說點陣字不好看,不曾覺得 BIG 5 字集的字數不夠多,反正電腦就已經給了人多許驚喜,小小的不足無傷大雅。

那個時候還沒有那麼多輸入法,倚天中文只有注音和倉頡兩種可以選,至於那不是給人用的「內碼輸入法」以及重覆字太多的「簡易」就直接排除在學習之外。記得當時鍵盤上印著主流的輸入法字根,「注音」、「倉頡」以及我忘了是不是要錢的「大易」。

因為不想多花錢去買輸入法,所以當時就找了書來學習倉頡。拜它的免費授權,既使到現在已經不是 Windows 預裝啟用的輸入法,但總是能夠從設定中找到它的身影。使用其它作業系統一定能夠找到它,除非這個系統不支援中文輸入。

後來發現,小我幾歲的人,開始學習當時的主流輸入法「嘸蝦米」,家中也留有幾本書。雖然感覺它的取碼和輸入速度應該優於倉䫦,但是他需要收費,加上不保證所有平台通用,所以最終還是沒有打算投入大量時間去學習。隨著倉頡使用時間越的長,已經能夠靠直覺輸入正確的字根,既使鍵盤上已經沒有印倉頡字根。

2012年5月19日 星期六

更新 AP 靭體

記得大概是去年底,買了一台 totolink n300rg 的 AP,升級家中的無線網路,取代原來只有支援 802.11g 的基地台。買回來當時覺得介面設計的滿簡約的,不過部分使用 ie only 的語法扣了許多印象分數,花了大約一個多小時的設定,大致完成家中其它成員的上網需要。

剛買的前幾天,明顯感覺得到網路回應速度明顯變快,畢竟在有線網路上也由 10/100 提升到 1G,只是好心情並沒有持續太久,沒多久就迎來第一次的「當機」。

說當機可能有點誇張,畢竟一般的上網功能都正常,唯有設定介面那網頁無法使用,總得重新開機後才 恢復,斷斷續續試著調整設定幾個月後,只能放棄了。因為不是天天要進到設定介面,所以至少平常的使用沒有太大問題,家裡其它人根本沒有感覺。在不想再降速回去的前提下,當需要的設定調整完成後就放著不管了。

2012年5月11日 星期五

改變檔案/目錄的權限

公司前陣子在進行主機的整理,部分服服搬到的新家,也因此出現一些煩人的小問題。其中一個是網路磁碟的連接。本來應該運作正常的服務,不知道是在什麼時候,所有連線的檔案和目錄權限都變成「770」,明明設定一行都沒改過,讓人摸不著頭腦。

權限上的改變,一來讓檔案是在命令列裡看起來怪怪的,一般的圖片檔案名稱變成可執行的綠色,二來是本來可以使用 apache 服務以唯讀方式取出的檔案也因為檔案不允許 other 身分存取而發生錯誤。因此搞得不能無視它,要想辦法解決。

連線的兩台主機都是 Linux ,所以當時選擇的是 nfs 協定串接,不過在檢查過設定仍沒有找到解決方式,加上傳輸的資料並不大,只是偶而檢查的使用需要。所以打算改成其它主機使用的 samba 協定(雖然主機中沒有一台是 windows 系統),看看是不是就避開權限問題。

改變協定的結果是……沒有用。所有的檔案還是處於 770 的權限設定,至於它是因為系統有問題,還是這是新一代的網路連線設定就不得而知了,這部分的理解工作就先交給 MIS 負責去作,因為手上還有許多工作得處理。

2012年5月1日 星期二

成功與失敗

一直以來,總是在找到「對的解決方式」來解決問題,但是隨著時間經過,經歴的,看到的事情變多之後,反而越來越懷疑「複製成功模式」這麼一回事,感覺它不像是一個對的作法,比較像是一個口號,或是一個宣傳花招。

因為,記憶中並沒有親身或是見過別人成功複製過其它人的成功經驗,那些書本上、網路上的說法聽起來總是很有道理,卻在實行的時候遇到重重困難。現實所面臨到的狀況,不是由理想情形推論出來的結論可以描述。

記得去年和同學討論到「專案管理」這堂課,那位已經修完學分的同學告訴我她覺得這堂課很有用,老師在課堂中講得很有道理,她會將之用在未來的生活上,不過當下因為還不夠了解,所以還得再學習。雖然試圖表達我認為這些理論「不全然都可行」,不過同學還是沒有聽進去,認為她看到了真理。

後來等到我去修那門課後,證明了我的看法。既使是「專案管理」的課程,老師的依然無法讓課程的進度完美的掌握。有時候是有同學請假,有時候是遇到設備問題…等。專管管理的理論,並沒有幫助老師成功的讓課程進度照著預先安排的計劃進行。對這件事的發生,其實並不覺得意外或是可惜,慢慢看多了現實,就不會有不切實際的期待,期待看到老師完美的表演。

不期待不是無作為,而是將精力放在其它地方。

2012年4月16日 星期一

Flex 解析 XML

前陣子在 Flex 上實作簡單的所見即所得編輯器,當時是參考網路上的範例,利用既有的「TextArea」再加上「TextFlow」的操作達成,不過在儲存的時候遇到狀況。因為不是單純只在 Flex 裡呈現,所以需要讓它輸出成較接近 HTML 格式的內容。而 Flex 既有的 TextConverter 類別,只支援很古早的 HTML 語法,不但使用早就不建議使用的「<Font>」標籤,而且還會漏掉一些像是文字背景色的屬性。

為了記錄屬性以及避免未來可能發生的語法問題,只好去查文件去自行建立編/解碼的 TextFormat 類別,花了一天多的時間,將當下用到的屬性都加進去,能夠編/解(自認為)符合 HTML 5 格式的字串,一開始的使用上沒有遇到什麼問題,一直到同事反應出狀況才將這個放了一兩個月的程式再翻出來。

2012年4月1日 星期日

整理族譜

二月底奶奶過世了,雖然有過寫篇文章紀念的想法,但是後來還是不了了之。一來是和她的接觸並不深,我不熟台語,她不熟國語,彼此的交流其實並不多。最後的幾年一直在醫院進進出出,最後的離開,我認為一種解脫,雖然不確定她是否已經放下心中應該放下的。

送她最後一程的事情,都是由長輩們去處理,裡面有不少勾心鬥角的狀況,也只能感嘆許多人到遇到金錢及面子的時候,常常會看不開。心中希望奶奶早點往生極樂,省得去看到這些狀況,那些實際是作給活人看的儀式,走過流程就讓它過去吧!

也許是受到一些刺激,爸爸決定整理族譜,他是無神無鬼論者,不想大家去對著神主牌拜,希望留下一個能夠讓人查閱的族譜,在追思或掃墓的時候,才知道有哪些先人。

一部分的原因可能來自前幾天掃墓時,看著上頭的名字,卻早已不清楚輩份和關係了,只有模糊的印象,因為當時並沒有依輩份或其它順序進行排列,過了二十年以上的時間,什麼記憶都模糊了。

爸爸拿身份證到戶證事務所申請相關的資料,發現原來我這支可以查到在清朝道光年間就已經居住在宜蘭,看到一百年前的數字,讓人有種時光倒流的錯覺。不過也因為跨不同朝代,所以可以看到清朝年號、日本年號、民國不同的記元方式,得一一去作轉年份和國/農曆之間的轉換。

由一連串片斷的文字慢慢整理出人物之間的關係,由於是戶籍資料,所以凡是出嫁就被視為移出戶籍,只有出嫁日,而沒有死亡日。為整理的資料帶上一些不明之處。也有許多因為來不及報戶口就夭折,或是童養媳而晚報的結婚等不明之處。申請而來的三大本資料,仍然無法拼出完整的資料,有些人註定無法出現在最後整理出來的資料上。

就當作一個開始吧!總是得有個起點,好讓後面的資料可以接續上去。至於這份資料能夠傳遞多少代,後人會如何看待這些資料,就不是我在有生之年可以看到的。將現在能作的事情作好比較重要。

本來預期會有公開、免費的族譜軟體可以直接使用,不過找尋的結果讓人失望。可能得找個時間,看看是否要寫點程式。在這個資訊化的時代,用數位化的方式保存資料,是比較不易丢失,也容易複製的。但是如果程式不再能夠被開啟,那這些資料可能就不再能有用。

看起來自己寫個族譜軟體,不是一件很容易的事情。

2012年3月31日 星期六

使用 Flex 程式畫出 QRCode - 續

程式碼輸出的問題解決了,接著當然要把沒完成的文章打完。

上一篇分享的程式碼在輸出一般的英數字是沒有問題,但是當輸入的字是中文字時,反解的結果總是變成「?」,讓我覺得十分奇怪,明明在維基百科上看到 QR Code 的說明是支援 UTF-8 的文字,而 Flash 本身也支援多國語系,難不成是因為 Flash 實際上走的是 UTF-16 ,造成文字因為編碼不同造成無法反解?

在沒有什麼文件的狀態下,我開始程式碼的 hack 旅程…

修改程式的呈現方式

上一篇文章在輸入程式碼的時候,格式常常跑掉。沒辦法,HTML 本來就很容易被一些符號給打亂,越長的程式遇到這種情形的機率自然也越大。本來只是在網路上找一段 CSS 讓部分的文字能夠等寬,明顯這個機制已經不再適用。得到作改變的時候了。

後來發現早在一年多前就已經有人分享,在這個地方看到原來已經有專為程式碼輸出的 js 函數庫。雖然其中介紹的 Blogger 專用的編碼工具,因為 Blogger 網站改版變得無法使用,但是對於身為程式人員的我,少量 HTML 代碼是可以處理的。

本來這個語法無法作用在這個 Blog 上,經過另開新站測試發現是和舊的 CSS, js 相衝,重設版型之後終於解決了這個問題。再斷斷續續花上一天的時間修改舊文章(還好帶程式碼的文章還不算太多),終於本站「改頭換面」了。希望以後能在這裡發表更多的文章。

2012年3月25日 星期日

使用 Flex 程式畫出 QRCode

在入手第一支智慧手機沒多久,就知道有 QR code 這個東東,當時認為它是一個神奇的東西,由於當時手機鏡頭的像素不夠高,許多 QR code 無法順利辨視,而沒有怎麼放在心上。直到最進身邊看到的應用越來越多,也就產生要自己作出 QR code 圖型的念頭。

對於寫程式的我,並不認為 QR code 的產生是不可行的,只要有已經釋出的函數庫,或是不太難理解的演算規則,產生出圖片應該不成問題。尤其是最近因為專案因素對於使用 Action Script 繪圖有不少的實作機會,更是增加自己不少信心,不過現實總是有些不如預期,繞了一些遠路後才找到解法。

在快要下決定研究 QR code 生成的數學公式時,還好發現在 Google Codes 裡發現有人提供的函數庫,讓我免於研究那些可能會讓人煩燥的數學公式,不過函數庫裡有小 Bug,以至不支援中文字,還好最後查到問題點,在這裡作一下記錄…

使用 FLEX 連結 FTP Server 初探

最近公司的一個使用 Adobe AIR Runtime 製作的工具,需要包含上傳檔案的功能,由於檔案可能超出一般 http server 的上傳上限,或是等待時間。所以產生需要修改上傳模式的研究需求,想到的方式有兩個,第一種是將要上傳的檔案切割後分開上傳,在伺服器端將這些片斷拼回原來的檔案。而第二種方式則是改用本來就支援大檔案的傳輸協定,像是拿 FTP 取代 HTTP 傳輸檔案。

我負責的是後者,在網路上查詢了一些資料,發現一些網路上的範例有提到使用 Socket 和 FTP Server 建立連線,以資料串流的方式上傳檔案,並沒有發現 Flex framework 裡有提供類似 FtpClient 的類別可以使用。不過在嘗試理解範例的同時,發現一些似乎沒有寫完整的地方,讓人覺得有「規則沒講通」的感覺,為此花了一些時間去了解一下 FTP 的機制,在底下記錄一下已經理解的內容…


首先是 FTP 的傳輸特性,它由一開始就是設計來作為檔案傳輸的協定,在溝通上有兩種類型的連線(頻道),分別為「command channel(命令頻道)」和「data channel(資料頻道)」,前者用來發出命令以及取得命令的結果,後者則是資料的傳輸。以一般使用者的角度下認知的「保持連線狀態」指的是 command channel 仍在連線狀態中。但是實際上在一段時間沒有任何動作下,達到 Server 設定的閒置上限(timeout)後會被 Server 斷線,所以其實一些 FTP 軟體會在背後幫使用者作重新登入的動作。

2012年3月11日 星期日

工作的態度

最近一個同部門的同事離職,雖然對我造成一些困擾,像是本來分配在他身上的工作和研究項目,得分攤在其它同事身上。不過其實內心裡並不會覺得有太多的可惜,也許只能說他和這個公司不合,所以要往其它的志方發展。

離職的理由中,讓我有感觸的是「我覺得在其它地方比較能夠學到東西」這句話,想起在入社會之前,師長會這樣勤學生不要想著一入社會就到多大多有名的公司任職,可以拿到多高薪多有地方職位。要由基層開始作起,要多學習,不要在意一開始在不起眼的小公司,學了幾年有能力經驗,才有資格去追求理想的工作。

當年聽起來覺得很合理,不過現在以管理層級的角度看,卻覺這句話的味道怪怪的。感覺讓一些人認為只要到小公司「過個水混混年資」或是「學習進大公司需要的技能」後就可以離開,使得這類人對於公司並沒有向心力,只是完成交辦的工作其它的都工作,但是人力的流動和投入的訓練成本,卻讓公司很傷很傷。

讓我感觸較深的原因,就在於我是那個訓練人員。花了大量的時間精力去思考如何協助學習,也用心規劃給予的工作和考慮能否得到成訧感。而自己手邊的工作,不是往後排就是在其它人下班之後完成。而得到的回報,就是一切打水漂,讓人感覺不怎麼舒服。

不過總歸是讓我慢慢能修改未來找人時的標準,不會再心軟讓「只想學習」的人進來…

2012年2月28日 星期二

開發的苦惱

最近忙著開發軟體上的功能,關於程式架構方面的問題,雖然仍不斷的思考,但是卻始終沒有時間作一個沈澱與整理,遲遲無法的進行的原因,在於我得不時轉換自己的角色,有些時候需要作為架構師,仔細規劃程式碼的連結,但是另外的時間,需要放下一些對於程式品質的堅持,以最短的時間去堆積出需要的功能。

世界是很現實的,不懂寫程式的人是不會理會所謂的「軟體工程」,如果在時間內沒有可見的成果,就很容易被認為是「沒有能力」或是「作不到」進行失去許多合作的機會。由此可以對於有時無意發現一些所謂大𢊰出品的軟體,居然也會有一些「不合身分」錯誤的現象有一個合理解釋。

「先求有、再求好」是一個對的方向,只是在求「有」的過程中,會不會失去許多程式上的彈性,或對於未來造成一些負面的影響,是不能夠被預期的。而要時時放出自己不能滿意的程式,更是一種心理上的壓力。想好好靜下心來把程式寫好,在現實生活中就是這麼困難。

雖然一開始覺得,原因只在於人少而已。不過後來仔細想過,又不是這麼一回事。當然人力的缺乏是混亂造成的原因之一,不過人多了也不見得能夠讓我變得輕鬆。隨著程式不斷的發展,發覺「第一線的經驗」也是重要的。

2012年1月22日 星期日

MVC 架構心得

好一陣子沒有寫關於程式方面的文章,來說說昨天在公司內部 Demo 時講的主題︰「MVC 架構」,本來以為只是一個枯燥、沒幾個人會認真聽的內容,不過看到其它同事認真的聽我說對於這個架構的感想,發覺似乎 MVC 架構或是一些物件導向的概念,就好像武功裡的「腰馬合一」一樣,知道的人很多,但是真正懂得如何應用的人卻很少。

記得剛開始學習物件導向概念的時候,和很多人一樣認為因為程式中使用到類別和物件,因而稱之物件導向。所以從來也不認為非物件導向的語言,像是早期的 PHP 或是 C 語言(不是 C++)能夠寫出物件導向。也很單純得覺得,像是 Java 這種使用到物件,或是 Visual Basic 這類有一個一個物件的程式語言,怎麼寫都算得上的物件導向吧!

當然,事後證明這是錯的。要不然也不會有這麼一篇文章。

雖然不了解物件導向的概念,但是多少也在反複的閱讀資料下記起一些「寫作原則」,在一次使用 PHP 作出一個自以為物件導向的專案之後,深深讓我體會到對於物件導向理解的不足。許多資料都會說物件導向程式,會讓程式變得更有清楚明暸,也更容易維護。但是這麼一個「使用物件」的 PHP 專案,當幾個星期之後再度維護時,發覺得完全不能在短時間明白當初的想法,得完整看完程式才能找到要修改的地方,而幾天之後再次修改事,這樣的災難再一次發生…

原來物件導向並不是去記住那些設計原則,單純在專案中一個一個用出來就好,還得知道「為什麼程式要這麼寫」。

2012年1月19日 星期四

天將降大任?

緦的而言,不認為自己是一個很幸運的人,作事的時候常常好不容易進入了最佳狀態沒多久,就被其它不得不處理的事情打斷。隨背負的工作責任越來越重,被打斷的情緒反彈和精力消秏讓一整天工作效率變很差很差。

有些時候,光是處理打斷我工作的事情,就讓本來安排好的進度一項都沒有展開。有時候回頭看,幾年前的自己還能夠一次處理多件事情,在難度比較低的工作下,可以同時處理打斷的工作,又能夠兼顧原本的進度。現在的自己,不確定是因為工作已經不再那麼能夠輕易完成,還是自己老了,經常還不到下班時間,就已經氣力放盡,沒辦法處理工作了。

記得在學校背過孟子的一句話︰「天將降大任於斯人也,必先苦其心志,勞其筯骨,餓其體膚……之所以動心忍性,增益其所不能」。以前總是認為它的意思就是「一個人衰運都過完了,終於能夠變得好運,之後作事情就會變得比較順利。」雖然很扯,不過許多名人傳記似乎走的都是這樣子的劇情。一直很辛苦,某天一成功後就開始一帆風順起來。

直到前陣子,才慢慢明白這句話的意思…

2012年1月14日 星期六

四季如春

小時候好像聽人說過,濁水溪以北還是以南的壁虎不會叫,後來不知道為什麼,南北都具有會叫的能力,所以有時候在鄉下,晚上聽到哪一類共鳴的叫聲,就會直覺得認為應該是壁虎。從來不會想到其它可能。

因為我家旁邊就是一個小山坡,蓋不了房子就只能空在那裡,附近的人會「開墾」一些地出來種點東西,雖然不能說是生機盎然,但也有一些昆蟲。尤其是夏天裡的蚊子,那是趕之不盡殺之不絕的。不過倒是不像以前在成功嶺看到過,泛著金龜子般的錄光的大蚊,被叮到的生理(很痛)和心理(泛綠光的蚊子怎麼也覺得不正常,但絶不可能讓我變蜘蛛人)都會大受影響。

還好的是,這裡的蚊子只是夏天比較多,冬天一來比較少見,二來是飛行的速度會比夏天慢一些,比較好打。所以,一直以來,我就覺得雖然台灣號稱四季如春,但是在冬天裡的冷天氣裡,還是有不少物種會冬眠或消停一些,只是這樣的論點好像不太禁得住考驗。

2012年1月12日 星期四

參加職訓成果展示

話說有一天去參加一場程式訓練的結訓成果發表會,一來是展現學員們在訓練中學到成果,二來是讓參與的公司單位,可以直接對其中的學員面試,進而找到想找厡人才。而我當然是針對第二個理由。

因為不是學校單位所舉辦,所以還沒進入會場,就對這次的活動有些小小的期待,畢竟是第一次參加,所以看什麼都新鮮,只不過這份新鮮感維持不了多久,就被出乎我意料之外的成果呈現帶走。

2012年1月9日 星期一

操電腦還是操人腦?

抱怨完每天上班時候遇到的問題,後來花了時間去看了這兩位同事的程式碼。看得是技術部分的面向,總算是看到一些進步,不過也突顯出他們在意的是自己在程式寫作技術上的進度,而忽略了態度和技術一樣重要。

「在工作中,態度往往比技術重要許多」,這句話從高中、大學一路到現在,看起來好像大多數的人只是把它當作一句口號而已。

好了,這篇不想再討論態度,講講在看程式的時候遇到的問題。不知道是不是因為不會想,還是因為自信心不夠,發覺他們在程式面的基本功不足,但是卻又往往在專案中只顧著「拼湊出功能」卻不很少花時間思考「怎麼撰寫會更好」。所以有時候讓我覺得,看他們的程式碼很痛苦,不是自身的痛苦,而是會想「這樣寫程式,到底是操電腦還是操人腦?」

2012年1月8日 星期日

是分攤工作還是找麻煩?

好一陣子沒有回到這裡發文了,工作和生活上總是有許多忙亂的事情,不斷消秏我不多的腦內精力,等到想到來寫點東西的時候,思緒卻已經無法連結成一文章,幾次寫了又刪以後,還是決定先放一放。

說說最近讓我「心力交瘁」的事情吧!由於公司有一些戰略性質的考量,所以在本來就很忙的工作上,又再加一些其它專案。這些專案對於我而言,沒有太多的困難,專案的工作時間都還滿充裕,但是最大的問題,在於「作這個專案的人不是我」,而是比我資淺的同事。

當工作開始進行的時候,並不覺得可能會出現什麼問題。因為就算是換成剛入社會時候的我,當時只有一個月要完成一個比現在的更難一些的案子,仍然是有驚無險的完成。而這次有二個月的時間,又是兩個完整的人力,還能有什麼問題呢?