Homepage

可恥的奧運開幕式

August 13th, 2008

根據報導,北京奧運會中獻唱「歌唱祖國」的林妙可小妹妹其實是對嘴的,真正的主唱者是楊沛宜小妹妹。楊小妹妹不能上台的原因是「對外形象」和「國家利益」。

可恥,愚蠢。

你去叫拿金牌的那位女大力士不要上台領獎,換個形象好的上吧,臉蛋要正身材要辣最好還穿個黃金馬甲。要不,去和胡主席說說,他老人家之所以當上一把手是因為他是中國第一美男子。

蠢,蠢到還實況轉播給全世界幾十億人看到,了不起。

隨筆雜文 | No comments Jump to the top of this page

虎瀾集: 今夜您要選擇什麼?

August 8th, 2008

線上遇到學弟,他現在正為要選哪種方案來做他的專案很苦惱。其實這問題說難也不難,因為答案很清楚,出來賺錢嘛,選擇獲利最高 (通常也等同於成本最低) 的開發方式就對了,真正麻煩的是怎麼去算獲利。

以我學弟的例子而言,他的狀況是客戶開預算案,他們公司承包,這種最好算:

    獲利 = 工程款 - 開發成本 - 維護成本 - 固定成本

算這種東西的時候,工時是最多專案經理拿來算成本的工具,不過呢,它只代表小小的一部份成本而已。如果今天做的東西驗收不過的話,工時少只代表虧的少,所以選擇的第一要件就是要確保你可以用它做出你想要的東西。以他的情況來講,大部份的 team member 只會 Java 和 PHP,所以在程式語言上,他沒什麼選擇,若是 Java 加上 PHP 都做不出他要的東西,那最好的選擇就是閃人先。

接下來是平台,平台直接影響固定成本,所以很多老闆看見你用微軟的方案會直接否決,因為帳面上這些是要付錢的。不過呢,若這個平台可以幫助你減少開發成本和維護成本,那最好還是精算一下再決定比較好。以我學弟的情形,他的客戶的 SA 熟 Windows 和 Solaris,不過他的團隊除了他之外沒人碰過 Solaris,這種情形下很容易可以算出來用 Windows 的成本會比較低些,因為可以買比較便宜一點的 x86 伺服器,而且不必付出讓團隊去熟悉 Solaris 的工時成本。兩個最主要的東西決定下來,CM (Configuration Management) 的主軸也就定了,接下來就是用需求訪談得來的情報去擬定整個 project 的 execution plan,那就是他自己的事了哇哈哈 …

對了,為什麼不用 Linux 呢? Linux 和 Solaris 的差異不至於大到太誇張啊? 這是好問題,去問你客戶的 SA 要不要幫 Linux 掛保證,如果他不要,那就是你要掛保證了,客戶給的錢足不足以讓你去兼做維護 OS 的事,那就是你自己要衡量了。你老闆愛出嘴炮反微軟挺 Linux,那叫他自己去和對方的 SA 搏感情,要不自己去客戶那裡定期 patch 全部機台順便拜乖乖咩,跟我哭沒用啊 ~~~

技術文章, 無責任評論, 軟體工程 | No comments Jump to the top of this page

虎瀾集: 輕薄短小的時代終於要來臨了

August 3rd, 2008

Dell 最近推出了袖珍型的 PC,據說不久之後也要開始推挑戰 Mac Air 的 notebook。現在那台 M1330 還是大了整整一號,而且外型還不只醜了一點。根據以往的經驗,Dell 所到之處,市場必爛 (嘿,看過 x86 server 市場沒? ),這次晚了 Mac Mini 整整兩年才推出來賣,應該也是萬惡 IDC 終於確認市場的結果了吧?

既然聯想和 Dell 都出了,可以想見會有越來越多的廠商來跟風,夢想中的輕薄短小時代終於要來臨了。看,以前在做 road warrior 的時候,怎麼都沒有這種小一點的東西,搞的每次幫客戶裝機都要出麵包車帶小弟弄的很像黑社會 …

隨筆雜文 | No comments Jump to the top of this page

虎瀾集: 要學什麼程式語言?

July 31st, 2008

今天剛好被問到這個問題,覺得還頗有趣的,不過我還是秉持一貫的壞習慣反問回去: 那你學過哪些程式語言? 為什麼? 這位年輕小伙子回答的也蠻誠實的,他回答說學校教什麼就學什麼了,騙學分咩,只是他很迷惘以後要學什麼程式語言可以在工作上幫助他。

我想這個問題其實很多人都有,但很可惜的是,並沒有什麼標準答案。程式設計經過數十年的發展,現在已經分工很細,每樣工作有每樣工作的專業,這是理由之一。另一個我想的到的理由是: 每個人想做的工作不一樣,而使用什麼程式語言來開發軟體,大部份是由上司決定好了,所以對資淺的工程師來講,你會什麼語言就大概確定你可以找哪些工作。若你很清楚你想做哪些工作,那咕狗或 104 大神應該很快可以幫你決定你要會哪些語言。

對於一般還搞不清楚自己想要什麼的同學們來講,那就比較麻煩些了 :D 把一種語言/平台練到爐火純青是絕對必要的,至於這個語言是 C++、C# 還是 Java,這個平台是某個 OS 還是 WWW,那就見仁見智了。這裡要先釐清一個觀念: 程式語言和平台無關,但能不能用程式語言做出有商業價值的東西,那就和平台有關了。例如你可以說你 C++ 觀念很強,virtual inheritance 什麼的都弄的很清楚,但這並不表示老闆要的東西你一定可以做的出來,你做的東西必然和你所在的平台有關。繞了一圈回到原點: 程式設計經過數十年的發展,現在已經分工很細,每樣工作有每樣工作的專業,所以決定自己想要做什麼東西是很重要的。

當然時間夠的話,精擅多個領域/語言/平台也不是沒可能,至少我看過不少這樣的怪物,但他們投入的精力和偏執也是遠超常人 :D 所以說,要學什麼程式語言呢? 找一個可以餵飽你的好好學好是基本,能精通多少種其他的語言就是為你自己的職場生涯買幾份額外的保險。我個人的建議是吃飯會用到的語言 (如 C++/C#/Java) 拿來精通,和 scripting 有關的語言 (如 perl 或 python) 學一點防身,剩下的精力拿去學平台,這樣會比較有效率一點。

技術文章, 無責任評論 | 1 comment Jump to the top of this page

虎瀾集: 為什麼同步很重要

July 27th, 2008

在約爾大神的文章裡,他老兄把微軟的那票 architect (架構設計師? 104 翻的不是我啊 …) 好好地損了一下,幫他們取了個響亮的綽號:architect astronaut (架構太空人設計師),順便也好好地損了一下同步 (synchronization) 這個概念。好吧,這裡就有點怪怪的了,微軟並不是唯一押寶在同步上的笨蛋,如果「同步」這個概念不賺錢,為什麼有這麼多攀子要燒錢?

我個人的看法是,「同步檔案」這玩意兒當然不賺錢,它只是一個大布局的基礎棋子罷了,這個布局是為了簡化資訊共享和協力工作的難度。就像下棋吧,直砍直殺未必是好,有時得要繞個彎設個套才能贏。今天的手機了不起只有 VGA 解析度,當然搞不出什麼大風大浪來,但若等到手機都是 XGA 傳輸速度都很猛時才要進場,那就只能揀別人吃剩的了。

其實「同步」這個詞並不精確,它其實就是最近很夯的「雲端運算」的一種附加功能而已。因為資訊都存在網路上,也都在網路上分享操作,當然它會是同步的。好吧,雲端運算是不是又是那票太空人弄出來唬弄普羅大眾的呢? 我個人認為他們還不至於這麼閒。就像約爾問的: 誰會需要同步檔案? 如果這只是一個包套方案中的某一點小小的附加功能,我想也不會有人拒絕使用才對。

無責任評論, 軟體工程 | No comments Jump to the top of this page

網路連線問題排解 (5)

June 30th, 2008

不同的程式,遇到的連線問題通常不太一樣,但這裡我們比較有興趣的是一些共通性的問題。前幾年最常見的網路問題之一是 LSP 掛了,LSP 是 Winsock 所提供的功能,是 linked service provider 的縮寫,在 Vista 的系統上,因為 Vista 對 LSP 做了許多的限制,所以它就不再像 XP 時代那樣的「好用」,所以 LSP 在 Vista 上也不再是攻擊的重點。我們可以用 “netsh winsock show catalog” 來觀察系統上裝了哪些 LSP provider,還有這些 provider 是對應到哪些 protocol。如果你發現了一些怪怪的東西,你可以拜一下咕狗大神,網上有不少專修 LSP 的工具,新版的防毒軟體也都應該有修復 LSP 的能力。

另一個常見的問題是防毒軟體對衝。現在大部份的防毒軟體或多或少都會裝一些 kernel-level 的驅動程式,特別是用來擱截網路層資料的東西以便掃瞄。不過呢,這些驅動程式很顯然並不是設計來和其他的防毒軟體一起工作的,因此若你想保護你的電腦而不搞爛它,請裝一套防毒軟體就好了。你也許會聽到別人告訴你「加裝軟體 B 的話可以補足軟體 A 的不足」,我個人的解讀是「你買兩套的話我抽的比一套多」。

大部份的防毒軟體若有提供內容掃瞄的功能的話,多半是用 proxy 的方式來做,proxy 的意思是攔截內容後轉到某個地方先存起來,再進行掃瞄。比方說,要怎麼知道某封信件是不是垃圾信呢? 首先先攔截本機和郵件伺服器之間的網路連線,把信件先收下暫存,並進行掃瞄,然後再決定要不要把這封信歸類為垃圾信。如果掃瞄的部份當掉了,但攔截內容的部份沒掛,那當然你就看不到任何的信件了。一般來說重新開機可以搞定這類問題,若不行的話,通常是防毒軟體沒法處理某一封信件,這時候可先將垃圾信功能關閉,先把信收下來試試看。

最討厭的問題就是中毒了,惡意程式對某些賺錢的生意來說是非常關鍵的工具,例如線上廣告商要發送廣告信件到每個人的郵箱,但又不想付太多網路費的時候,他們可以利用惡意軟體去感染別人的電腦,並遙控這些受害的電腦幫助他們發送廣告信件。目前幾乎所有的惡意軟體都以永遠賴在受害電腦裡為目標,不過它們彼此之間的相容性也不怎麼樣,若你的電腦有多重感染的話,它們會互相打架爭奪網路控制權,進而導致電腦運行極為緩慢而無法使用。這時候你有下列的選擇:

  • 買套防毒軟體來掃毒
  • 重灌電腦,買包乖乖壓在上面希望不要再中毒
  • 推動立法把惡意軟體的作者丟到牢裡去 (信不信由你,在大部份的國家,寫惡意軟體並將這些軟體賣給別人是不違法的,只要你不要自己散佈這些程式你就一定不會有事)

除此之外,確認一下你用的程式本身沒有嚴重的 bug 也是很重要的,特別是自動升級叫你裝新版的時候。

Windows, 技術文章, 狀況排解 | No comments Jump to the top of this page

網路連線問題排解 (4)

June 14th, 2008

大部份的人會把瀏覽器與網路連線混為一談,也就是說,若是他們的瀏覽器不會動的話,他們就會告訴你他們的網路不通,即使他們照樣能夠發 e-mail 到客服信箱來痛罵一頓,他們還是會告訴你他們的網路不通地。好吧,客戶永遠是對的,所以小師程工要自己搞清楚到底客人是在幹譙什麼東西。基本上瀏覽器不會動的原因前幾名是:

  1. DNS 掛了
  2. 中毒
  3. 首頁網站掛了
  4. 防毒軟體互衝

永遠的第一名就是 DNS 掛點,DNS 負責將網域名稱轉成實體的 IP 位址,例如將 www.cchsu.com 轉成對機器有意義的 IP 位址,這樣機器才有辦法幫我們建立連線。一般而言,ISP 會提供 DNS 服務,而它所提供的服務穩定度和它所提供的 DSL/cable 服務差不多,當機並不是什麼令人意外的事情。我以前還遇到過某些 ISP 的 DNS 一天當兩次,雖然一次只當 10 分鐘左右。因此,請你務必記得寫下 DNS 伺服器的IP 位址,出問題的時候才有辦法診斷你是否有辦法連上 DNS 伺服器。如果 DNS 掛了,一般來說最好的解法就是等,正常的 ISP 不會讓它掛太久。

到目前為止,我們應該已確認了下列的事實:

  • router 工作正常,沒有散熱或硬體上的問題
  • 該插的線有插好,無線網路的連線狀態正常
  • 本機的 IP 位址有效,可以連到 router
  • DNS 服務正常,nslookup 找的到東西

若你已確認以上諸點,而網路連線仍有問題時,基本上可以確診為軟體方面的問題,這將會在下一篇文章中做探討。

Windows, 技術文章, 狀況排解 | No comments Jump to the top of this page

持續建構中的異想空間

舊文索引

站內管理