Homepage

可恥的奧運開幕式

August 13th, 2008

根據報導,北京奧運會中獻唱「歌唱祖國」的林妙可小妹妹其實是對嘴的,真正的主唱者是楊沛宜小妹妹。楊小妹妹不能上台的原因是「對外形象」和「國家利益」。 可恥,愚蠢。 你去叫拿金牌的那位女大力士不要上台領獎,換個形象好的上吧,臉蛋要正身材要辣最好還穿個黃金馬甲。要不,去和胡主席說說,他老人家之所以當上一把手是因為他是中國第一美男子。 蠢,蠢到還實況轉播給全世界幾十億人看到,了不起。

[閱讀全文]

隨筆雜文 | Comments Off on 可恥的奧運開幕式 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 要不要幫 […]

[閱讀全文]

技術文章, 無責任評論, 軟體工程 | Comments Off on 虎瀾集: 今夜您要選擇什麼? 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 的時候,怎麼都沒有這種小一點的東西,搞的每次幫客戶裝機都要出麵包車帶小弟弄的很像黑社會 …

[閱讀全文]

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

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

July 31st, 2008

今天剛好被問到這個問題,覺得還頗有趣的,不過我還是秉持一貫的壞習慣反問回去: 那你學過哪些程式語言? 為什麼? 這位年輕小伙子回答的也蠻誠實的,他回答說學校教什麼就學什麼了,騙學分咩,只是他很迷惘以後要學什麼程式語言可以在工作上幫助他。 我想這個問題其實很多人都有,但很可惜的是,並沒有什麼標準答案。程式設計經過數十年的發展,現在已經分工很細,每樣工作有每樣工作的專業,這是理由之一。另一個我想的到的理由是: 每個人想做的工作不一樣,而使用什麼程式語言來開發軟體,大部份是由上司決定好了,所以對資淺的工程師來講,你會什麼語言就大概確定你可以找哪些工作。若你很清楚你想做哪些工作,那咕狗或 104 大神應該很快可以幫你決定你要會哪些語言。 對於一般還搞不清楚自己想要什麼的同學們來講,那就比較麻煩些了 😀 把一種語言/平台練到爐火純青是絕對必要的,至於這個語言是 C++、C# 還是 Java,這個平台是某個 OS 還是 WWW,那就見仁見智了。這裡要先釐清一個觀念: 程式語言和平台無關,但能不能用程式語言做出有商業價值的東西,那就和平台有關了。例如你可以說你 C++ 觀念很強,virtual inheritance 什麼的都弄的很清楚,但這並不表示老闆要的東西你一定可以做的出來,你做的東西必然和你所在的平台有關。繞了一圈回到原點: 程式設計經過數十年的發展,現在已經分工很細,每樣工作有每樣工作的專業,所以決定自己想要做什麼東西是很重要的。 當然時間夠的話,精擅多個領域/語言/平台也不是沒可能,至少我看過不少這樣的怪物,但他們投入的精力和偏執也是遠超常人 😀 所以說,要學什麼程式語言呢? 找一個可以餵飽你的好好學好是基本,能精通多少種其他的語言就是為你自己的職場生涯買幾份額外的保險。我個人的建議是吃飯會用到的語言 (如 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 傳輸速度都很猛時才要進場,那就只能揀別人吃剩的了。 其實「同步」這個詞並不精確,它其實就是最近很夯的「雲端運算」的一種附加功能而已。因為資訊都存在網路上,也都在網路上分享操作,當然它會是同步的。好吧,雲端運算是不是又是那票太空人弄出來唬弄普羅大眾的呢? 我個人認為他們還不至於這麼閒。就像約爾問的: 誰會需要同步檔案? 如果這只是一個包套方案中的某一點小小的附加功能,我想也不會有人拒絕使用才對。

[閱讀全文]

無責任評論, 軟體工程 | Comments Off on 虎瀾集: 為什麼同步很重要 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, 技術文章, 狀況排解 | Comments Off on 網路連線問題排解 (5) Jump to the top of this page

網路連線問題排解 (4)

June 14th, 2008

大部份的人會把瀏覽器與網路連線混為一談,也就是說,若是他們的瀏覽器不會動的話,他們就會告訴你他們的網路不通,即使他們照樣能夠發 e-mail 到客服信箱來痛罵一頓,他們還是會告訴你他們的網路不通地。好吧,客戶永遠是對的,所以小師程工要自己搞清楚到底客人是在幹譙什麼東西。基本上瀏覽器不會動的原因前幾名是: DNS 掛了 中毒 首頁網站掛了 防毒軟體互衝 永遠的第一名就是 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, 技術文章, 狀況排解 | Comments Off on 網路連線問題排解 (4) Jump to the top of this page

網路連線問題排解 (3)

June 13th, 2008

今日大家用的 TCP/IP 網路並不完全是個 plug-n-play (隨插即用) 的玩意兒,我們通常還是需要去設定它讓它正常工作。我個人一般是依照下面的步驟來測試網路的設定是否正確: 電腦是否取得了有效的 IP 位址? Name service (域名解析) 會不會動? 我想連的電腦,有沒有辦法連上? 網路設定最基本也最重要的一件事是取得有效的 IP 位址,一般來說我們是用 ipconfig 這個工具程式來檢測,若出來的 IP 位址是芭樂的 (例如 0.0.0.0 或是 169.254.*.*),那就得看看是不是下列幾項因素搞的鬼 沒有實體網路連線 (例如無線網路的設定錯了) DHCP 掛了 網路設定錯誤 現在的無線網路卡和 router 不合的事情已經很少見了,大部份也都能自己找到網路去連,不過呢,若你想要這個連線安全一點的話,你必須用 WPA 或 WPA2,這會需要做一些設定密碼和登入的動作。我個人的偏見是問題通常出在廠商附的自動設定程式,它們一般而言製造的問題會比解決的問題要多很多,以下是一些我個人的經驗談: 除非絕對必要,不要安裝網路卡或 router 附的任何程式 若 Windows 有內建驅動程式,而且沒有證據顯示廠商提供的驅動程式較好時,就用 Windows 內建的吧。這又不是什麼 3D 顯示卡,一般而言效能上不至於差太多。就算廠商提供的驅動程式功能較多,一般的使用者多半也是用不著這些功能的 若可以的話,從控制台的裝置管理員去安裝驅動程式。我看過太多爛安裝程式把 Registry 搞爛的例子 基本上要設定 WPA 的話,在 router 上直接透過 router […]

[閱讀全文]

Windows, 技術文章, 狀況排解 | Comments Off on 網路連線問題排解 (3) Jump to the top of this page

網路連線問題排解 (2)

June 2nd, 2008

硬體相關的問題,一般可以粗分為以下幾種: 散熱問題 線材或接觸的問題 設備故障 為了美觀的因素,一般人通常會把 router (路由器、IP 分享器)、hub (集線器) 或 switch 扔在桌底下或電腦後面陰暗的角落,與一沱亂七八糟的線堆在一個視野看不見的地方。如果房間的温度有點高的話,這些可憐的設備就很可能因為過熱而當機。這些吃電的傢伙也是會發熱的,它們和你的電腦一樣也需要散熱。 拜 cost down 大神之賜,線材問題不但常見,而且有愈演愈烈的趨勢。我個人的偏見是,沒有用 Fluke 測過的線,基本上都得打個問號。不過呢,Fluke 這種宅宅的昂貴玩具不是一般人會有的東西,若你手上沒有的話,可以多試幾條網路線,古典機率告訴我們若線材故障率恆定的話,多試幾條線還是遇到芭樂的機率會遠低於只試一條。 最令人討厭的問題就是接觸不良了,常常我們以為每條線都插的好好的,但最後卻發現有那麼一兩條線鬆掉或是接頭壞掉了。一個基本的原則是多花點時間做確認,這多花的幾分鐘往往可以為你省下之後數小時的時間。 設備故障也算是常有的事,特別在這個 cost-down 掛帥的年代更是如此。基本上我們不能對這些俗又大碗的東西期望太高,不過呢,在把東西拿去退貨或丟掉之前,我們得先檢查一下是否有設定上或軟體上的問題在作祟。

[閱讀全文]

Windows, 技術文章, 狀況排解 | Comments Off on 網路連線問題排解 (2) Jump to the top of this page

網路連線問題排解 (1)

May 26th, 2008

我目前的工作內容中,有一部份是幫人解決網路的各種連線問題。大家都知道,網路這玩意兒並不一定是插上去就能用的,至少它比烤麵包機用起來要複雜一點。所以當我們遇上了網路的連線問題時,我們應該要怎樣處理呢?底下是我個人使用的步驟,而我們將在之後的一系列文章中對這些步驟做更詳細的說明。 排除愚蠢的問題 排除硬體的問題 排除設定的問題 排除軟體的問題 排除愚蠢的問題 底下是一些常見的蠢到姥姥家的問題,在做任何進一步的動作之前,請先確認這些蠢問題不成立 🙂 該插電的東西是不是都有電? 是不是所有的線路都正確且穩穩地插好? 如果家中有嬰幼兒的話,請務必確認以上兩點,並確保在您工作的過程中他們不會出現搞破壞。 電話和網路的帳單付了沒? 確認沒有 Faraday cage 依據我個人的經驗,這問題居然常常出現。通常發生的狀況是這樣的:在修電腦的時候把機殼給拆了,然後就很順手又很巧合地把機殼罩在無線網路的天線上形成金屬屏蔽效應,接下來不管怎麼測試,無線網路都不會動,就以為網路掛了 … 該裝的電池是不是都有裝都有電? 如果以上的問題都確認無誤的話,接下來就是正式開工的時候了 …

[閱讀全文]

Windows, 技術文章, 狀況排解 | Comments Off on 網路連線問題排解 (1) Jump to the top of this page

隨便寫寫大家隨便看看的不出名小格子

舊文索引

站內管理