搜尋此網誌

工商服務

2007年10月24日 星期三

[小小說]錦囊

  老伯又來了,而且很快地便吸引了這裡所有人的目光。

  照例,身上又是那套陳舊但是乾淨的西裝,然後手上抓著個錦囊,或者該說是套子,就是常見用來裝數位相機的那種長形軟呢套,只是老伯不像是會擁有那種東西的人。

  通過天井,老伯拾級而上步入廟的正廳。依舊是相仿的程序,虔誠而莊敬地喃喃道完心願、跪拜、上香,然後將他那無比寶貝似的錦囊,在香爐的上方繞了三圈、雙手合掌再拜,最後收入西裝口袋。

  每個人都有秘密,藏在無形的內心深處,抑或放在有形的保險櫃裡。藉著這樣,將那有形或無形的秘密,化作一種不朽。直到被其他人的好奇心闖入為止。

  今兒,有群小鬼頭終於忍不住了,有些不好意思地擋在老伯的去路前方,半晌後才冒出一句生澀的聲音:「爺爺,請問您口袋裡裝的到底是什麼東西?」

  老伯呵呵地笑了起來,露出宛若鄰家爺爺般的和藹神情。並且伸手從口袋裡拿出了錦囊,倒也不怕隱瞞什麼似的,立刻就將錦囊打開。

  「喔,是硬碟啊。」大夥兒幾乎是異口同聲地說出。在這顆泡過水、容量不大的硬碟裡頭,有著老伯打從網路盛行以來,便始終保留著的電子郵件存檔。

  如果可以的話,他很想祈求神明讓他硬碟內的資料能夠復原,讓他能夠完成每晚在老伴靈前唸誦一封往昔情書的心願。

  經過街上垃圾桶的時候,老伯順手將錦囊整個扔了進去。他突然覺得自己好像不需要這顆硬碟了,因為妻子的一言一句不止曾經存在過,而且也將會永遠存在於他的心裡,伴他終身。

  就像心願真的已然達成,或者像是鬧鐘突然時間到了總該響起來似的,老伯當天晚上就在他的床上,含笑睡了他這一生最後的一覺。

【完成】{待查}
【附註】2004年6月24日即投稿中國時報浮世繪版並獲得留用,但是三年後仍未見刊登,遂於2007年10月18日去函撤回投稿並轉而張貼在部落格上。靈感來自於我那顆2004年5月26日壽終正寢的筆記型電腦硬碟,嗚。

2007年10月22日 星期一

程式碼排版的好工具──Artistic Style

程式專案一旦經年累月,越多人參與其中,到後來就會變得越來越難看。有的人喜歡起始的大刮號({)獨立到下一行,有的人卻喜歡接在行末寫。有的人縮排(indent)喜歡用空白鍵,有的人喜歡按Tab。

總而言之,「難看的程式碼」這種問題可大可小。在程式規模不大的時候,可能還只是覺得有點「程式碼風格不是很一致」而已。但是程式碼一長,有幾十個起始大刮號({)要對應到幾十個結束大刮號(})時,不讓看的人眼花撩亂才怪哩。

所以這個時候,你就會需要藉由程式碼排版工具的協助,來為原本雜亂的程式碼進行一番美化、消除不一致性,以方便程式後續的維護(包括閱讀與改寫)。

在此推薦一套可以安裝於Windows、Linux和Mac環境的工具,叫做Artistic Style,目前版本出到1.24(2010年1月30日釋出,截至目前為止在SourceForge上面獲得一面倒的正面評價喔),可以通吃C、C++、C#和Java語言的程式碼。以我自己使用1.23版本的經驗為例,針對C語言的專案,我會先切換到專案的根目錄底下,然後執行下列指令:

astyle -rn --style=ansi --indent=tab --indent-switches --indent-cases *.c *.h

因為Artistic Style會將舊的程式檔案備份起來,但是我覺得這樣浪費空間,所以使用參數「n」選擇不留存這些原始內容的備份檔案(這當然是有風險的,但是我選擇相信這套工具),另外參數「r」則會以遞迴的方式處理所有子目錄。換言之,這段指令會一次處理專案內的所有程式檔案,而且不會進行備份。

更多有關參數的詳細用法,可以透過執行astyle --help取得。

連結:Artistic Style的官方網站

【2010.02.26 updated】

2007年10月20日 星期六

[住宿]金山的「陽明山水」溫泉會館

10月中旬,我與女朋友Viki終於去了陽明山,並且住宿在金山的陽明山水溫泉會館。

那天是禮拜天,我們住的是雅致套房,一泊二食(過一夜、附晚餐和早餐),搭配某個方案,送了幾張十月底就要到期、似乎用不太到的卷,總價是4,999元(是有點貴啦,但是想說久久才去一次就算了咩)。

路程的話,我們是在和運租車士林站先租了Yaris(剛好分配到的是我最討厭的奇怪土橘色,泣)。所以是從承德路右轉中正路,然後與福林路交會後,從仰德大道接陽金公路跟著往金山的牌子慢慢開上去的(其中有一段路霧好濃好恐怖喔)。開了一個小時又十分鐘左右之後,首先會在右手邊看到天籟的岔路指標,再繼續往前開個五分鐘,就會在左手邊看到八煙,然後隔壁就是陽明山水了。

停完車後,從步道走往大廳的時候,可以看到露天泡湯區(有免費提供給住宿的客人使用,但是我們沒有帶泳衣,XD)。房間的隔音不錯,進去之後都聽不到外面的聲音。地上還撲了軟綿綿的地毯,質感加分。入門後左手邊有個沙發區,所以我們就把行李丟在那邊。右手邊則有梳妝台,旁邊是一塊可以坐著換鞋子的地方。床的對面是螢幕滿大的液晶電視,以及裡面有礦泉水等飲料的冰箱。但是房間外面找不到飲水機,所以用快煮鍋燒水泡完茶包和咖啡之後,就只剩下半瓶礦泉水可以喝了(當你泡完湯,口很渴的時候,就知道我說這句話是什麼意思了,嗚)。

臥室再進去是浴室(以透明玻璃相隔),而浴室的外面則是陽台,那裡有個躺椅和桌子,可以望向整片山還有河流,頗為愜意。衣櫥裡面有日式浴袍,泡完湯後身體光溜溜的只穿這個,其實還滿舒服的。

餐點雖然還不到所謂高檔的程度(因為本來以為晚餐是懷石料理),但是也不會太難吃啦,算是合菜,東西都是兩人份的小盤,差不多六菜一湯左右。早餐的話,是中西式的Buffet,有土司、有咖啡,也有清粥小菜。

來之前有先上網查了評價,不知道是不是同業惡意攻擊,批評得一文不值,害我有點小擔心,但是實際入住並沒什麼特別不滿的地方。而且去的那兩天的生意非常好(10月中旬的禮拜天去,禮拜一走),並沒有網路上講的大廳冷清,只有嚼檳榔的男人(@.@)隨便招呼的情形。

隔天退房之後,我們去了金山老街和北海岸,關於這個部分,我們下回再分曉吧。



【飯店】陽明山水溫泉會館
【地址】台北縣金山鄉重和村林口33-3號
【電話】02-24080001
【官網】http://www.calla.com.tw/
【評價】3.5顆星

2007年10月18日 星期四

微軟開放.NET Framework原始碼

姑且不論微軟這次葫蘆裡面賣的是什麼藥,總而言之,微軟也興起了開放原始碼(open source)的念頭,開放了.NET Framework的原始碼。

這一招想必是嚇壞了不少人吧。但是仔細一看,卻是有點蹩腳的Microsoft Reference License授權,也就是只能夠看、不能夠改。講得更明白一些,就是沒辦法將程式片段套用到自己的產品裡面去。關於這點,又不知道要讓多少人失望了,唉唉。

甚至有陰謀論者指出,微軟是要佈下圈套,當不小心有Mono(讓.NET可以在Linux環境上面運作的開放原始碼計畫)的開發者下載了這套原始碼之後,微軟就有機會透過司法手段來陷他們於不義,說他們抄襲,好讓Mono計畫關門大吉,XD。

連結:微軟的.Net獲共享原始碼待遇
(摘錄CNET新聞的第一段內容)微軟以往與開放原始碼運動對抗的惡名昭彰,所以,今天微軟宣布將釋出.Net架構原始碼時,引起一片訝異之聲,不難想見。

連結:Releasing the Source Code for the .NET Framework Libraries
(摘錄微軟部落格文章的第一段內容)One of the things my team has been working to enable has been the ability for .NET developers to download and browse the source code of the .NET Framework libraries, and to easily enable debugging support in them.

連結:Microsoft's Open-Source Trap for Mono
(摘錄文章的第一段內容)Microsoft is claiming that releasing the .NET Framework reference source code under the Microsoft Reference License will give developers the opportunity to understand more about .NET.

【2008.01.22 updated 更新資訊】

更確切的動作出現了,微軟在上週正式釋出.NET Framework的原始碼,請參考下面的新聞。

連結:微軟正式釋出.NET架構程式庫
(摘錄iThome新聞的前兩段內容)微軟.NET Framework總經理Scott Guthrie上周宣布微軟正式釋出.NET Framework程式庫。Scott Guthrie在去年10月就發表了此一計畫,當時指出開發人員透過這些開放瀏覽的原始碼可更了解.NET架構程式如何被應用,以調校所開發的應用程式以及進行.NET架構除錯。

2007年10月16日 星期二

《練習曲》電影心得

這是一部仿照紀錄片拍攝手法的國片電影,講述一個人花了七天騎腳踏車環島的故事。聽說很多人看完了之後都想去環台,我當然也是,但是我會用開車的,騎車畢竟太累了呀,XD。

電影裡面的經典對白就是:有些事現在不做,一輩子都不會做了。當有人問主角為什麼要環島的時候,他是如此斬釘截鐵地回答,彷彿那些不曾追夢或者連夢都沒有的人有多麼可悲般。即使有人認為他發神經了他也不怕,因為至少這樣幹過一回,老的時候就不怕後悔了。

整個電影所呈現的是一個很妙的故事,似乎有意將人生的變化與多樣性濃縮起來,成為歡笑與淚水交織的歷險記。首先,主角就是一個耳朵有疾病的窮學生。然後一路上,讓他遇到了紈褲子弟、導演與演員、迎媽祖活動、不會講中文的立陶宛女人、一群被老闆惡性倒閉的歐巴桑女工…。他幫助別人,別人也幫助他,最後的結局就跟任何故事裡面的美好結局一樣:從此過著幸福快樂的日子。

更重要的是,透過主角的單車歷程,讓我們看到了台灣的美麗。並且讓某種像是不容被質疑、任何人都不應該輕易妥協的固執(也就是去逐夢的那股衝勁),在每個人的心中發芽茁壯。

你是否也有什麼夢想要去追尋呢(比方說出國遊學)?現在就動手開始規劃吧!畢竟品味人生並且樂在其中,才不枉走過這麼一遭啊。

連結:電影官方部落格
工商服務:來去博客來購買「練習曲」的相關商品

2007年10月14日 星期日

被搜尋引擎機器人所服務的年代

我們生存在一個被搜尋引擎機器人所服務的年代。是什麼讓我有感而發呢?讓我來舉兩個例子吧!

例子一:Yahoo!奇摩知識+
現在的搜尋引擎真的是越來越聰明了,因為搬家的關係,苦於不知如何處理房間裡面的那堆過期雜誌,於是到「Yahoo!奇摩知識+」想找答案。輸入「過期雜誌處理」關鍵字,系統很聰明地把「過期」、「雜誌」和「處理」三個詞做了排列組合,所以諸如「過期雜誌如何處理」和「處理過期的雜誌」等討論都被列了出來。

例子二:微軟中文知識庫機器翻譯服務
我本來很樂觀地認為我的業餘翻譯事業還可以苟延殘喘個五年、十年,直到微軟和Google的翻譯服務讓我的夢想徹底幻滅(也許該是考慮轉行當審稿的時候了,但是天曉得會不會幾個月之後這些機器人也都具備這樣的能力了)。現在除了可以在各大搜尋引擎的結果頁面當中看到翻譯的連結,包括微軟也將其技術支援服務的文件翻譯成中文,美其名是為了彌補中文版文件的長期匱乏。

其實這也是沒辦法的事,因為網路上面的資訊太多了,所以搜尋引擎越變越聰明只是時間的問題,以後許多工作會被這些機器人給取代則是必然的結果。

2007年10月12日 星期五

現金流遊戲分享【2007.09.20@竹東】

今天我不玩,我當銀行家。而且是個有點太過好心的銀行家,因為銀行家基本上應該是要鼓勵人家來借貸的,但是因為我身負講解責任,所以給的建議非常客觀。

本次參與的人員包括:紫色老鼠(職業是護士,第一次玩)、黑色老鼠(職業是飛機駕駛員,玩過數遍)、橘色老鼠(職業是工程師,第一次玩)、紅色老鼠(職業是工程師,第二次玩)。這四個人都是我的同事,所以他們在真實世界中的職業都是軟體工程師。歷時兩個半小時,由橘色老鼠率先跳到「快車道」並且獲得最終的勝利。

這次也有全程錄音,以下是記錄的摘要。

一、遊戲進行的過程:
  • 紫色老鼠:失業一次,經常翻到市場風雲。
  • 黑色老鼠:養育一個小孩,失業一次。
  • 橘色老鼠:失業一次,額外支出買遊艇,離婚一次。
  • 紅色老鼠:經常翻到額外支出,養育兩個小孩。
二、遊戲結束時的心得分享與分析:
  • 紫色老鼠:機會太少,因為太常翻到市場風雲,但是相對地,市場風雲也可能為自己帶來機會。
  • 黑色老鼠:飛機駕駛員的財務自由門檻高(因為總支出很高),可以安穩過日子但是很難財務自由;發現職業卡上面的住房抵押貸款高達9%(因為遊戲設定飛機駕駛員的性格比較不會討價還價?),但是工程師與護士的才1%,所以這部分應該想辦法先償還;力求開源節流,因為飛機駕駛員太會花錢了。
  • 橘色老鼠:快車道的步調太快了,真爽;報酬率40%以上的房地產物件值得投資;企業投資月現金流增加1,500元;遇到1元股票;獲得黑色老鼠賣出的機會。
  • 紅色老鼠:認為運氣差,所以如果遇到好的機會務必要好好把握。
三、續攤時的討論與補充:
  • 在這個遊戲裡面,機會卡上面都會列出股票、基金與房地產的價格範圍,但是在真實世界當中,則必須提升自己的財務智商,才有辦法得知這些資訊的合理數據。
  • 錢少的時候,現金很重要,因為可以拿來投資;錢多的時候,月現金流很重要,因為可以實現財務自由。
(特別感謝:辦公室的同事們。)

2007年10月10日 星期三

什麼是錢?

到底什麼是錢?簡單地說,錢只是一個工具,方便在交易的時候用來衡量價值(基本上所有的交易仍然不脫以物易物的範疇),以便交換資源。

說穿了,錢就是要拿來花用的,賺更多的錢只是為了能夠享有更多的東西(舉凡服務、生活品質等),滿足更大的夢想。不然的話,鈔票不過是幾張印刷精美的紙罷了。

我曾經聽過一個故事:假設有三個人理髮師、裁縫師和製鞋師。理髮師有二十元,但是他需要衣服與鞋子,於是他花了十元向裁縫師買衣服、又花十元向製鞋師買鞋子,所以他現在沒錢了。同樣地,裁縫師和製鞋師也都需要理頭髮,於是他們也各花了十元來找理髮師,於是理髮師現在又恢復擁有二十元了。

這個故事告訴我們什麼?沒錯,錢只是用來實現交易的工具,會在市場上流通來流通去。而且更重要的啟示是,如果你有一技之長,就不怕會沒錢,因為你所花的每分錢,最後都會再以某種形式回到你手上。所以如果你是理髮師,你必須想辦法讓更多的人來讓你剪頭髮,而且也必須知道在擁有二十塊錢的時候,就只能夠買十塊錢的衣服,因為另外的十塊錢還要拿來買鞋子──開源節流是千古不變的道理。

世上有很多人沒搞清楚什麼是錢,只知道要努力賺錢,於是成了吝嗇的守財奴,生活過得平淡無奇,身後徒留下一堆遺產。所以知道什麼是錢之後,可千萬別把自己弄得像他們一樣辛苦喔!

2007年10月8日 星期一

寫筆記、作分析的好工具──心智圖


所謂的心智圖(mind map),就是將主題或者概念畫在中心的一個圓圈內,接著再把想法與點子沿著這個圓發展出去,一邊條列、一邊整理思緒與補充(新的分支),最後與這個主題或者概念有關的資訊就會被整理在一塊兒了。

舉個例子,比方說對於王建民很有興趣的話,便可以利用心智圖將他的中文官網上面的個人資訊作個筆記,包括他的身高、體重和戰績。

透過心智圖這個工具,可以很方便地把心裡面的想法與規劃整理出來。感覺就像隨手抓了張白紙,然後將腦海中任何靈光乍現的絕妙點子傾印出來一樣輕鬆,所以推薦給大家使用看看。

連結:免費的心智圖繪製工具──FreeMind

2007年10月6日 星期六

[食記]彰化和美「元氣廚房」的早餐


↑左圖為店面實景,右圖為週末才有的馬鈴薯生菜沙拉。

↑左圖為雞柳土司,右圖為布丁奶酥厚片。

這是我女朋友和她妹妹開的,是我心目中無庸置疑的五顆星早餐(絕非我老王賣瓜喔)。料好實在、老闆又親切,真的是沒話說。

他們家的麵包類都會佐以適量生菜和數片蕃茄,尤其招牌肉片的醃製口味更是一絕,據說韓式辣鮪魚的醬料還是韓國朋友親自傳授的唷。

飲料方面則特別提供了以健康為導向的五穀芝麻漿(類似米漿般的濃醇口感)和有渣渣未過濾的豆漿(這樣比較營養喔),還有常見的紅茶和奶茶(茶味和奶味都很香)。

總的來說,餐點有漢堡、土司、可頌、蛋餅、厚片、單點等多樣化的選擇,菜單內容涵蓋中式、西式,但是以西式為主。若真要挑剔的話,就只有座位少了點而已,不過店內空間已在計畫擴充當中。

這家店是今年5月中旬才剛開幕的,地點位在和美國小對面、緊鄰錄影帶店,由兩個很有想法的女孩子親自設計店面裝潢、親自找食材供應商、親自服務客人,歡迎想要品嚐好吃早餐的朋友們有空多多捧場!

【店名】元氣廚房
【地址】彰化縣和美鎮和平街13號
【電話】04-7566442
【評價】我心目中無庸置疑的5顆星早餐

【2008.03.14 updated 補充雞柳土司和布丁奶酥厚片的照片】

【2008.09.28 updated 補充口號】

之前本來要幫「元氣早餐」架一個部落格,於是想了一句slogan:

“每個街角,都需要一家專門販賣幸福與美味的「元氣廚房」。”

2007年10月4日 星期四

[新手指南]如何在Linux上面安裝軟體?

公司裡面來了幾個暑期工讀生,因為我們的專案大部分是在Linux上面開發的,所以當他們拿到電腦,並且安裝完Fedora之後(假設過程順利),緊接著要做的就是把工作環境建構出來。換言之,如果是新手的話,心中必然會問的第一個問題就是:我要怎麼在Linux上面安裝我所需要的軟體套件?這個安裝程序的答案基本上可以歸納成三個簡單的步驟。

一、取得套件

從同儕那裡或者從網路上面拿到你想要安裝的套件壓縮檔,其副檔名不外乎.tar.gz或.tar.bz2(這種形式的檔案叫做tarball)。

二、解開套件

tar指令是非常好用滴。要解.gz(用gzip壓縮的)就下「tar zxvf 套件名稱.gz」指令,要解.bz2(用bzip2壓縮的)就下「tar jxvf 套件名稱.bz2」指令。如果解壓縮出來的目錄名稱不是你想要的(比方說你想要加註今天日期),可以用「mv 舊目錄名稱 新目錄名稱」來變更之。

三、安裝套件

重頭戲來了,同時也是最複雜的一個步驟 ── 安裝。每個套件的情況可能不太一樣,所以首先必須要從解出來的檔案當中去找出名為README或INSTALL的文件來看。這幾份文件裡面會提醒一些像是需要先行安裝什麼東西之類的注意事項,當然也包含了安裝的詳細步驟。總的來說,大致上就是:
  1. 詳細閱讀說明文件。
  2. 想要整個重做一遍的話,就下「make clean」指令來清掉前一次利用「 make」所編譯產生的相關檔案(舉凡.o目的檔等),而如果前一次安裝有利用「make install」將套件安裝到系統裡面的話,就下「make distclean」指令來清除所有『該套件存在過的痕跡』。(前提是Makefile裡面有定義clean和distclean如何動作的段落)
  3. 透過執行解開的套件裡面的configure指令檔(如果有這個檔案的話),來產生符合系統環境的Makefile(可以想像成是一個劇本,裡面詳細記載了編譯與安裝執行檔的步驟)。有需要的話,可以下「--help」參數在螢幕上印出說明來研究,就可以知道要搭配哪些選項了。所以這個步驟是下「./configure」指令來產生Makefile(加「./」是讓作業系統知道要執行的指令檔位在目前的目錄底下)。
  4. 如果步驟1沒有出錯的話(比方說也許會遺漏了什麼必須預先安裝的套件),接下來要做的就是把程式碼編譯成執行檔。所以這個步驟是下「make」指令來編譯程式碼。
  5. 如果需要安裝到系統裡面的話,就下「make install」指令來進行安裝(比方說執行檔會被放到/usr/bin目錄底下),前提是你必須具備安裝軟體的root權限。有些套件可能還需要下「make test」或者什麼其他的,總之說明文件裡面都會提到。
至於為啥不推薦用RPM嘛,理由是:一來必須要找得到版本與你的作業系統相符的正確套件,二來少了許多探索細部安裝過程的樂趣。就先說明到這啦,關於Linux,要學的東西還有很多哩,下次再聊唄。

【2008.01.22 updated 內容補充】

2007年10月2日 星期二

《Life 2.0──我的樂活人生》讀書心得

作者:王文華
出版社:時報出版
出版日期:2007年09月03日
語言:繁體中文
ISBN:9789571347172
裝訂:平裝
定價:250元(79折198元)


王文華是誰?沒錯,是那個暢銷作家。

但是王文華其實比誰都更想知道「王文華是誰?」,於是他放了自己兩年的假,離開企業界,到世界各地走走,試圖「認識自己」。所以2005年他回到母校,並且寫了《史丹佛的銀色子彈》,2007年更與張明正創辦了「若水」,而現在,他則是想要透過這本《Life 2.0》告訴你他的樂活主張。

40歲了(王文華出生於1967年),雖然有點晚,但是有勇氣承認以前那個人生(Life 1.0)其實是媽媽希望你過的競爭生活(簡單說就是凡事爭第一名),敢於從現在起過自己想過的寡欲生活(Life 2.0),無疑是一項非常令人佩服的宣言。

可以說,這本書裡面的理念是顛覆的,至少與長輩要你信奉的那套不太一樣(想想看,每個班上只會有個第一名,況且努力讀書真的就能夠出人頭地嗎?)。以王文華自己為例,他不想爭名爭利了,他只想愛護地球、注重環保、關懷社會。他的「若水」是個社會企業,也就是不靠捐款的自給自足公司,而所經營的產品和服務,可以用來解決教育和貧窮等社會問題。

所以,早一點「認識自己」,早一點搞清楚什麼才是自己真正想過的生活,早一點從「Life 2.0」獲得重生。這樣的話,或許可以在老的時候少一些後悔、多一些快樂。

工商服務:來去博客來購買「王文華」的相關商品
工商服務:來去博客來購買「張明正」的相關商品