2009年3月30日星期一

開放雲端宣言發布

我在漫談雲端運算中最後一段提到:


當經濟局勢穩定,且提倡雲端運算的這些廠商能夠彼此坐下來談,定義出一套雲端運算的標準時(Protocol、API…),或許才是大多數的企業應該投入雲端運算的時候。


而本周剛剛出爐的【開放雲端宣言】就是往這個方向前進。但雲端大廠Amazon對此宣言不以為然(因為這會傷害他們的利益),而且微軟稍早也表達了反對【開放雲端宣言】之意。此宣言發表之後,各廠商後續的反應和動作,值得觀察。

多語言導致我的大腦混亂

我說話經常會中英夾雜,或者台灣詞彙和大陸詞彙夾雜,或者國語和台語夾雜。但是對自然語言來說,這通常不會是大問題,因為聽的人本身有智慧,可以理解我混雜多種語言的句子。

這樣的混雜狀況不只出現在自然語言上,也出現在編程語言上。最近同時使用Falcon、Python、REBOL、JavaScript,不同的語言有不同的語法,導致我寫程式時大腦的混亂,例如:我會在寫Python時,使用Falcon的語法;寫Falcon時使用REBOL的語法。編譯器或解譯器可不是人,無法理解這種混雜不同語言的程式。

雖然我提倡每個人都要會多個編程語言,不同的時機適合不同的編程語言,但是對於同時使用多編程語言導致的混亂局面,我還真不知道該如何是好?

2009年3月29日星期日

回覆讀者 對語言的選擇

有讀者來信詢問對語言的選擇,我相信這也是許多人的問題。下面是我一般性的建議:

1. 先學一個腳本語言。最好是Python,因為Python的資源相當多,學習與使用都算容易,也可以開發相當廣的應用(包括Web後端、獨立應用程式、拋棄式程式、雲端運算)。

2. 再學一個系統語言。最好是C語言,因為這是最廣泛使用的系統語言。許多高階語言做不到的事,還是需要使用像C這樣的語言。C語言會一直重要下去。

3. 再學習JavaScript。在Web的時代,JavaScript只會越來越重要,特別是未來這幾年。

會上面這三個語言,再去考慮其他的語言。

注意:這只是一般性的建議,你的平台、應用領域、公司政策會影響對語言的選擇。

2009年3月28日星期六

當所有技術文件都讀完的時候

如果你沉迷於某項技術,那麼你會盡可能地想獲取它的知識,於是你把相關書都買回家讀過一遍(以上),把網路上的文件都看過一遍(以上),把論壇上的貼文都掃過一遍(以上)。

然後有一天你發現,全都讀完了,沒有東西可讀了,怎麼辦? 你除了徘徊街頭,潸然淚下之外,有沒有別的做法?

我最近就有這樣的困擾,一方面當然是因為我太勤快,另一方面則是因為REBOL文件太稀缺。(長期以來,REBOL文件的質與量都是一大問題。)

幸好,REBOL的源碼還沒讀過,所以我開始閱讀REBOL源碼了。閱讀REBOL源碼,不但可以知道許多內部 undocumented 的細節,還可以學到許多高級的程式技巧,真是一舉兩得。還記得十五、十六年前我閱讀Borland OWL源碼時,就讓我的Win32/C++功力大增。

2009年3月27日星期五

D-Bus是個好東西

在我之前做系統架構的時候,我當然不希望做出一大坨的軟體,我也不希望做出許多DLL,我希望能有許多EXE,如此一來,開發可以分別進行,測試也變得相當容易。

但是Process之間的溝通會變得相當麻煩,透過傳統的IPC方式,會讓系統變得複雜,擴充性也不好,還要定義自己的Protocol。我於是想要開發一個Message Hub,當作中間的溝通橋梁,但是又嫌麻煩,於是找看看有沒有開源的方案。我不想用複雜的CORBA,後來發現了D-Bus這個好東西,發現這就是我想要的,讓我省事不少。

2009年3月26日星期四

口頭禪

我的大陸同事(The End of the Innocence一文中的A)開口閉口「哇靠」,每每讓我聽得很煩!我無法理解,為什麼他要用這種難聽的話當口頭禪,整天哇靠哇靠的。回想起在台灣時,許多台灣人也有這樣的現象,他們開口閉口「幹」,這「幹」字可以用來表達高興、悲傷、生氣、驚訝…種種情緒,用途相當廣泛。還有,以前在台灣當兵時,那些班長的口頭禪就是「我操」,我認為這比「哇靠」更難聽。

這種拿髒話當口頭禪的現在並非台灣和大陸獨有,美國也很常見。「茱莉亞羅伯茲」在電影中常常飾演不拘小節的人,於是在她的早期電影中,開口閉口fucking,把這個字當做形容詞,修飾句子中的每個名詞。我還注意到,另一個比較小牌的演員「大衛摩斯」,則是開口閉口「God Damn It」。

雖然口頭禪有相當大的比例是不雅的話,但廢話的比例也不低。例如張俊雄的「我想…」,許多美國人則是愛說「you know…」。

口頭禪不是髒話就是廢話,而把請、謝謝、對不起當口頭禪的人倒是越來越少了。

2009年3月24日星期二

從技術出發

前幾天和某總裁會面閒聊,他說的一句話讓我印象很深刻,他知道我現在還寫程式,認為我是一個技術人,他建議我以後不論往哪個方向發展,都不要忘了技術是我的根本。

我想我會持續搞技術的,儘管在不同的時期和不同的崗位上,技術的比重可能會有所調整。另一方面來看,從技術出發,再往外延伸,才能夠多方面體現技術。技術結合管理,可以幫助技術更好地實踐;技術結合商業,可以幫助技術朝正確方向前進;技術結合媒體,讓技術成為資訊的載具...技術人的道路並不狹隘。

2009年3月21日星期六

KTV心理學

文 / 蔡學鏞

找你的同事和上司一起去KTV吧!但你可別在KTV內喝太多酒,你要保持一個清醒的頭腦。在KTV內,大家放鬆之際,面具也不知不覺地卸下來了,這是你觀察他們真面目的絕佳機會。

有些時候,你可以從他們所點的歌曲,判斷他們的心理內在。你會驚呼,原來這個大女人,其實是個小女人;且那個小男人,其實是個大男人;而這個大男人,其實是個小女人;至於那個保守的人,原來是個悶騷;最精采的是 … 那個平常把宗教文化掛嘴邊者,卻是個豬哥。

當然,透過他們所點的歌曲來判斷心理內在,誤判的機會很高。你必須排除許多因素,例如:他們純粹是想展現歌唱技巧,或者純粹只是喜歡此歌的曲調。只有當他們對於歌詞的內容表現出相當高的認同感,唱歌的神情相當融入時,你才可以暗自叫一聲「Bingo」。

別忽略了他們點歌的行為。有些人狂點歌曲,不擔心因此佔掉別人唱歌的機會。這種人通常自私(顯性的自私)。另外,喜歡主動幫人切歌的人,通常是沒有禮貌的人。這些人可能活在自己的世界,不會顧及別人的感受。

顯性自私的人,平常生活上就已經可以讓你感受出來了,所以通常不需要在KTV內特別觀察他們。比較值得注意的反倒是「隱性的自私」:他們完全不用正常的方式點歌,他們點歌的方式一律是「插播」。他們只要一點歌,下一首就會立刻播放他們的歌曲,把其他規矩點歌的人當傻瓜。我勸你對隱性自私的人離得遠遠的,免得哪天背後被捅一刀。

如果你眼睛夠銳利,你還可以觀察到同事之間的曖昧關係,誰喜歡誰,誰又不喜歡誰。然後你就可以知道自己有沒有競爭對手,決定要不要更快出手。這事關你下半輩子的幸福呀!

下半生的幸福固然要照顧到,但是當下的飯碗也是不可以輕忽的。你的眼睛不要只是放在辦公室內的帥哥美女身上,你還應該特別注意公司的高層主管。

當原本有權力與利益爭執的幾個男性主管,在喝得微醺之後,抱在一起交頭接耳,彷彿敞開胸懷,把心結攤開來談的時候,最有看頭了。明天酒醒恢復「理智」之後,想到昨晚聽到對手親口說出對自己有多麼不滿,而且採取過那些手段對付自己,兩個主管的鬥爭就會變得更嚴重了。如果讓你觀察到「有心結的高級主管在KTV內敞開心扉」,你明天差不多可以開始準備找新工作了,遠離越來越嚴重的風暴。不要相信什麼「把酒言歡」的鬼話。

馬屁精也會在KTV現形。他們會對操控自己生死的主管補充食物盤,並隨時美言「唱得真好聽」。做事負責的同事也會現形,他們會維持清醒,幫忙把醉得不省人事的同事抬出KTV,安全送回家。

KTV真的是研究心理學的好地方。想在辦公室內混得不錯?好好地理解這篇「KTV心理學」。下次去KTV時,夠你忙的!

2009年3月20日星期五

「愛人」,一個包容的詞彙

在大陸,「愛人」是個很早出現的詞彙,但現在年輕人普遍不用這個詞了。我喜歡這個詞彙,因為它明確地表達出這兩個人的是以「愛」聯繫,除此之外,就沒有包含別的意思了。它無涉法律,亦非關性別。

你不用擔心說出『我昨天和女朋友去逛街』,會招來下面的問題『你們兩個也老大不小了,怎麼不結婚』;你不用擔心說出『我昨天和情婦去逛街』,會招來下面的抱怨『你就這樣把糟糠之妻冷落在家裡,還有沒有良心呀』;你不用擔心說出『我昨天和男朋友去逛街』,會招來下面的問題:『你們誰是零號?誰是一號?』

你可以只說:「我昨天和愛人去逛街」。因為你在乎的是你們兩個的「愛情」關係,而不想理會法律、道德、以及其他世俗的瑣事。「愛人」一詞只確定兩件事:愛與人 … 你「愛」他(她),而且他(她)是一個「人」(不是一條狗)。

Parrot 1.0釋出

幾年前,我曾經想要在大學資訊系開一門課:【虛擬機器概論】。當時我擬定的case study包含了:Java VM、.NET CLR、以及Parrot VM。

Parrot VM的開發進度一直都很慢,一直到兩天前,終於推出1.0。目前已經支援許多語言了,有興趣的讀者可以去研究一下。

2009年3月19日星期四

驚聞IBM即將購併SUN

約2001到2002,在Java最紅的哪幾年,Sun的營收數字卻很難看,連續虧損十多季度,網路上開始點名:誰應該收購Sun?免得Java後繼無力,但是事實上,當時我可是一點都不擔心,因為IBM在Java上面投注的心力並不比Sun少。沒了Sun,還有IBM撐著Java。

IBM很有錢,IBM對Java投入的人力相當多,而且IBM是一家可以抵抗微軟的公司,所以大家普遍認為IBM接手Java是最適合的。但是IBM的硬體部分和Sun有太多重疊,所以比較適合只吃下Java,而不是吃下整個Sun。

Sun如果真的被IBM購併,我猜想Java會產生下面的變化:

* Java EE成為發展重點,ME和SE被冷落。
* 開始正視社群開發的各種框架
* JavaFX很可能玩不下去了
* NetBeans被消滅,獨尊Eclipse
* 積極展開Java雲端運算的相關研究

2009年3月18日星期三

破褲子

這兩年多來,我幾乎天天穿同一件牛仔褲,因為這是我最喜歡的一條褲子,加上我又經常用洗衣機、烘乾機,在我日積月累的折磨之下,它最近破洞越來越多,這些破洞都只剩下一排棉線連接著,這使得它看起來更加時尚了。由於破洞大多出現在大腿,目前還沒有「重點部位穿幫」的危險,所以我還是繼續穿它,估計還可以撐幾個月。

你上一次把褲子穿破是在什麼時候?我想應該是很久很久以前吧!至少我就是。處於一個富裕的社會,加上現在的紡織品都滿堅固耐穿的,我們要把褲子穿破的機率並不高,往往都是因為「發胖穿不下」、「穿膩了」,而淘汰掉一條又一條完好無缺的褲子。

但是我印象中,在我很小的時候,卻是經常穿著破褲子的。小孩比較好動,膝蓋和臀部的地方,布料磨損得厲害,經常會有破洞出現。由於家裡比較窮,而且兄弟姊妹眾多,所以父母親相當節省。我記得有一個農曆新年,他們買給我的新褲子是學校的卡其褲,這樣子不但新年可以穿,開學以後還可以繼續穿。

父母要帶我們出去玩,他們叫我穿這件卡其褲,我卻不願意,我覺得新年還穿學校的褲子到風景區很丟臉,寧願穿我最愛的一件灰色的褲子。這件灰褲子很好看,唯一的缺點是它的膝蓋部分破了。媽媽很不高興,她覺得自己的小孩穿一條破的褲子就像個沒人要的小孩,她會很丟臉,所以堅持要我穿卡其褲。

不是只有我穿破褲子,我爸爸也是,當時的許多大人也是。我記得偶而會在他們的西裝褲臀部和膝蓋處看到補丁,把磨損的部份用同樣顏色的布料補上,然後用類似蜘蛛網的補丁方式一圈一圈地縫上。

不久之後,台灣經濟起飛,所有的人都享受到經濟發展的成果,我們家的經濟狀況也大地幅度地改善,每個人都可以不用再穿縫縫補補的褲子了,但那個時代,社會保守風氣剛剛開放,年輕人急於搞怪求變,牛仔褲不像現在有刷色的變化,於是故意把牛仔褲弄破變成一種時尚,在年輕人之間流行起來了。我印象最深的是堂姊,她拿著刀片割牛仔褲,弄出許多破洞和棉鬚。

而現在,破牛仔褲又不流行了,刷色成了一種大眾時尚。成本約五美元的牛仔褲送到斯里蘭卡的工廠,經由化學原料的處理,在牛仔褲上面刷出不同的線條,或進行各種舊化處理,牛仔褲的價格翻了一倍,變成約十美元。舊的比新的值錢!

看著我現在穿的這條經過刷色處理,但被我自然穿破的褲子,回想起小時候新年時想穿的那一條灰色破褲子,一股久違的貧窮滋味湧上心頭。

2009年3月15日星期日

工作勞損

小時候爸爸跟我說:「要好好讀書,以後坐在辦公室,吹冷氣上班,工作很輕鬆,才不會像我們這麼勞累。」等到我真的吹冷氣上班之後,我才知道,每個工作都有不同的工作傷害,即使「在辦公室內吹冷氣上班」也一樣。


長期伏案工作,眼睛盯著螢幕,眼睛老化得快不說,連肌肉都勞損了。前幾天去讓一個中醫師推拿,發現我的手、手腕、脖子、肩膀、後背、腰部都有僵硬勞損的現象,只有腿部沒問題。為了健康,我於是咬緊牙根,好好推拿兩個小時,推完之後,元氣大傷,我有兩天多的時間精神是完全萎靡不振的,隨時都想睡覺。


去前到北京之後,本來想和CSDN總裁蔣濤一起去練太極或氣功之類的,但我一直抽不出空。真不知道這具身軀再這麼工作勞損下去,還有多久的使用期限?


相關閱讀:IT人員的病痛

2009年3月14日星期六

我是言程序,不是言承旭

每隔一陣子,就會有新的讀者出現,寫e-mail給我,談一些 "牽涉感情" 的事。這個時候,我通常不會有驚喜的感覺,我反倒覺得困擾。這樣的e-mail很難回覆,一不小心會傷到對方,不回覆似乎又不禮貌。

我要說的重點是: 我並不認識你們,我們更沒有一起吃過飯看過電影,光是在網路上看過我的文章,其實你們還是不瞭解我。這種情況下寫這種 "太放感情" 的e-mail給我,實在不妥啦! 不過,寫e-mail來交流技術認識彼此,是OK的。

實際和我接觸的人都知道我很普通,沒有甚麼魅力。網路上的想像空間大,所以容易產生錯覺。看我的文章時,不要對作者本人有太多胡思亂想。真要有什麼幻想,也要找素質好一點的對象,例如正牌的言承旭

2009年3月13日星期五

值得注意的兩個語言

很多年以前我就在Sleepless in Java專欄中預測Python會紅,而現在Python似乎真的越來越紅了。過去這幾年Python陸續被許多IT媒體機構評為年度語言(Language of the Year)。在Python語言設計者加入Google公司之後,加上Python 3.0推出,新對手Ruby的成長遇到瓶頸,舊對手Perl的需求直線下滑,現在確實是學習Python的好時機(如果你還不會Python的話)。

Falcon是2003年出現的語言,相對於其他語言,Falcon可以說是相當年輕的。這麼年輕的語言,且沒有大公司撐腰(例如C#和F#),還能夠迅速得到大家的注意,相當不容易。或許Falcon會是Lua之外的另一個選擇。這裡有一個Falcon和其他腳本語言(PHP、Perl、Python、Ruby、Lua)的特色比較表。

一邊找工作,一邊交朋友

最近因為找工作的關係,陸續接觸了一些公司,都是很不錯的公司,我也因此認識了一些優秀的人才。


大陸的朋友相當熱心,我非常感謝這些幫助我和這些公司接觸的朋友。我們有機會認識,就是一種緣分。

2009年3月10日星期二

我喜歡杭州

這次的杭州行,在當地朋友的帶領下,稍微領略了一下杭州的某些方面。杭州是個有傳奇故事,有歷史典故的地方。而且杭州很美,空氣好,環境乾淨,東西也都很好吃。我很喜歡杭州,從第一眼開始。

這次到杭州也和一些技術高手碰面,和他們作一些技術交流。我發現他們不只技術很強,所涉獵的興趣範圍很廣,這讓我自嘆不如。

這次只有待短短的幾天,意猶未盡,以後我還會找機會去杭州旅遊。

2009年3月6日星期五

我迫切需要度假

最近我情緒不穩定、程精神無法集中、身體很容易疲勞、眼睛感到痠澀 總之,我很累!我迫切需要度假。碰巧有機會到杭州一趟,聽說杭州是個很美的地方,儘管這個時間陰雨綿綿,不適合度假,但我想或許這會有另一種風味吧?!


我決定不帶筆記型電腦過去,好好地讓腦袋放空幾天。 不帶筆記型電腦出門,對我來說,是一種「破釜沉舟」的決定。我受封為「全世界最用功的小孩」,從小到大只要學校舉辦郊遊或畢業旅行,我總是會在旅行袋內裝很多本書,然後一路看書,到了旅館之後還不出門,繼續看書。但這次我想通了。我決定未來幾天當一個腦袋空空的人。這樣才是渡假,這樣才能放鬆。

2009年3月5日星期四

我把Muse遺留在舊電腦上

以往我有很多想法,所以會常寫文章發表,但我最近卻不太提得起勁,我發現,這是在換了筆記型電腦之後才出現的症狀 ...原來,我把Muse遺留在舊電腦上了。