肯勇敢面對自己的感覺,已是一種幸福。

Tuesday, December 21, 2004

最近

最近比較忙, 我說不出在忙什麼, 有個名詞很合用的 - 無事忙.
讀了幾本小說, 結他還是彈得不好, 房間依舊混亂, 手頭的工作尚未完成, 學校成績未如理想.
生活不是沒有節目來填滿, 只是覺得心靈很不實在.
很有出走的衝動, 不顧一切的離開, 到什麼地方去也好...
我愛熱鬧, 卻更捨不得空間.
太多的人和事, 很難做得到面面俱圓, 剩下來的, 就只有累, 很重很重...

Tuesday, December 14, 2004

孤單北半球

用我的晚安陪你 吃早餐
記得把想念 存進撲滿
我 望著滿天星 在閃
聽牛郎對織女說 要勇敢

別怕我們在地球 的兩端
看我的問候 騎著魔毯
飛 用光速飛到 你面前
要 你能看到十字星有北極星作伴

少了我的手臂當枕頭 你習不習慣
你的望遠望不到 我北半球的孤單
太平洋的潮水跟著地球 來回旋轉
我會耐心地等 隨時歡迎你靠岸

少了我的懷抱當暖爐 你習不習慣
E給你照片看不到 我北半球的孤單
世界再大兩顆真心就能 互相取暖
想念不會偷懶 我的夢通通給你保管

Programming is an art

Buildings that serve a purpose and enhance the beauty of the environment around them are created by artists disguised as architects. Buildings that are hideous and need to be torn down are created by architects. The difference is that the artist takes pride in what he is doing. He understands that his work will be viewed by many people and therefore stakes his pride in the building. The architect knows that he got paid to finish something within a timeframe and therefore could care less how people see his building. In fact he does not even think the building is his anyways.

Hackers act the same way as architects. They gather bricks and cement and throw something together called a house that although it works will more than likely not stand the test of time. As a programmer you should not see your code as a means to an end. It should provide a source for others to look at and revel in its beauty. I do not mean that you should write a ton of crappy code, but use appropriate whitespace and indents (although whitespace and indents should be used appropriately for legibility). What I mean by beautiful code is more than the look of it. I want to get lost in the beauty of its design. I want to see how simple you make complicated sequences appear. A quick example is the Towers of Hanoi done using recursive functions. There are plenty of ways to go about this problem, but the recursive approach shows you how code can be an art. Although very rarely you see recursiveness used in large designs you must marvel at the simplicity of the design to such a complicated problem. To me simplicity of design is beauty.

A lot of programmers are given code that is not their's and they are told to refactor it or make it work better. This is the greatest time for showing that programming can be an art. It is like someone giving you a marble statue of something that appears to be a man and when you are done with it looks like David.

If you tackle your code as an artist then you are putting an investment into it. You are putting yourself behind the code so that the code represents you. A lot of open source projects need to take heed and listen. Just because you start a great idea for a project and start an account on SourceForge.net it does not mean you will draw in the legions of the open source army. No doubt you will draw interest, but if your code is a catastrophe and the design is horrific then that interest will die quickly, very quickly. Beautiful code and design lasts like great pieces of art.

Programming is an art because you are creating your own masterpiece. You are creating your own exhibit for the world to see. Artists don't paint just so they can keep their works to themselves. They paint because they want the world to enjoy what they enjoy. Why should coding be any different? Of course if you are writing a small program for yourself, write it however you want. I write small little programs that serve my purposes, but I also design them as if I were letting the whole world see them. For some reason I can't let bad design and ugly code get in my way. I take pride in what I do because I take it seriously and I wish others to take me seriously also. Nothing is more fulfilling to me than someone telling me they respect me. If they only know me through my code, then I wish for them to respect my code. For this to happen I have to become the artist that respects his own work.

As programmers you are more than likely under a tight deadline so your main priority is to create working code. However, if the design is not thought out then that working code might be incompatible with the other components that it has to interact with. If there is an art to the design of the code, then even though the code is incompatible, maybe it can be fixed more readily. If something is hacked together quickly, that is understandable, but go back and fix it up. 99% of the time there is a more elegant solution to the problem.

See yourself as a master craftsman who has apprentices and journeymen coming from all over to view your code so that they may learn the art of programming. Take pride in your work not for others' enjoyment, but for your own sense of self. We are artists and that is why we love our art.


This piece originally was published at Whitespace.

Monday, December 06, 2004

陋室銘

山不在高,有仙則名;水不在深,有龍則靈。斯是陋室,惟吾德馨。苔痕上階綠,草色入簾青。談笑有鴻儒,往來無白丁。可以調素琴,閱金經。無絲竹之亂耳,無案牘之勞形。南陽諸葛廬,西蜀子云亭。孔子云:“何陋之有?”

Wednesday, December 01, 2004

我的愛

繞著山路 走得累了
去留片刻 要如何取捨
去年撿的 美麗貝殼
心不透徹 不會懂多難得

以為 只要簡單地生活
就能平息了脈搏
卻忘了在逃什麼

我的愛 明明還在
轉身了才明白
該把幸福 找回來
而不是各自緬懷

我會在 沿海地帶
等著潮汐更改 送你回來
你走路姿態 微笑的神態
潛意識曾錯過的真愛

莫非這是上天善意的安排
好讓心更堅定
彼此更接近 真愛

我的愛 明明還在
轉身了才明白
該把幸福 找回來
而不是各自緬懷

我會在 沿海地帶
等著潮汐更改 學著忍耐
不再怕傷害 不再怕期待
潛意識那才是我真愛

你走路姿態 微笑的神態
潛意識那才是我真愛

後來

後來 我總算學會了 如何去愛
可惜你 早已遠去 消失在人海
後來 終於在眼淚中明白
有些人 一旦錯過就不再

梔子花 白花瓣 落在我藍色百褶裙
「愛你」 你輕聲說
我低下頭 聞見一陣芬芳
那個永恆的夜晚 十七歲仲夏 你吻我的那個夜晚
讓我往後的時光 每當有感嘆
總想起 當天的星光

那時候的愛情 為什麼就能那樣簡單
而又是為什麼 人年少時
一定要讓深愛的受傷
在這相似的深夜裡 你是否一樣 也在靜靜追懷感傷
如果當時我們能 不那麼倔強
現在也 不那麼遺憾

你都如何回憶我 帶著笑或是很沉默
這些年來 有沒有人能讓你不寂寞

永遠不會再重來
有一個男孩 愛著那個女孩

我等你

不做考慮也沒半點猶豫
我就說了這一句 我等你
你眼中閃過了一些訝異
更多的是懷疑 所以你可以離去

不相信你還會回心轉意
是我任性才決定 要等你
我眼中的淚沒掉過一滴
只是隨你背影 慢慢倒流進心裡(心底)

我等你 半年為期
逾期就狠狠把你忘記
不只傷心的 還包括一切甜蜜
(你應該已經和她公開在一起)

要等你 要證明自己
我可以縱容你在心底
也可以當你只是路過的人而已

愛到痛至極 才需要一段等你的限期
來遺忘自己