2009年2月15日 星期日

Find you love, Love you found

我在MSN上放了這段話 "Find you love, Love you found", 接下來是我跟老婆大人的MSN對話... 博君一笑 ^^


gina says:
你愛誰啊
gina says:
誰又發現誰的愛啊
Bentham says:
沒有, 是在一台車後面貼的聖經的話
Bentham says:
要去用心找自己喜愛的生活
gina says:
騙誰啊
Bentham says:
如果發現找到的不是原本想像的, 也要去愛
gina says:
見鬼
Bentham says:
沒有啊
Bentham says:
HAHA
gina says:
發現找到的不是原本想像的, 也要去愛

gina says:
騙消
Bentham says:
所以是聖經裡說的啊
gina says:
愛得下去才有鬼

2009年2月4日 星期三

當滑鼠遇上炒菜鍋

最近忙著接洽開辦媽媽電腦班,偶真的是個吃飽太閒的人,可是怎麼也都瘦不下來... Anyway, 這是要發的新聞稿。

當滑鼠遇上炒菜鍋
~~數位鳯凰計劃西雅圖分會啟動說明會

很難想像當習慣於炒菜鍋的媽媽拿起滑鼠會發生什麼樣的狀況吧?沒錯!這就是從幾年前開始在台灣的各個鄉鎮實際上演的戲碼,廟前的廣播傳來熟悉的音調卻與平常不太一樣的內容:「晚上7點開始想學電腦的媽媽們,請到XX宮前報到」幾個星期以後,就發現在家裡出現跟小孩搶電腦用的媽媽,菜市場裡媽媽談論著數位相機怎麼用… 當一群媽媽們愛上了電腦,你可以感受到這個世界真的開始改變了。

這就是台灣微軟從2005年開始推動的「WOMEN UP數位鳯凰計劃」,希望主動下鄉提供教育條件,讓平常時沒有可能學習電腦的婦女們有機會開始,數年來己經提供台灣婦女上萬次的課程,普遍受到好評,這個計劃源自於微軟總部「全球UP (Unlimited Potential)計劃」的一部份,期望協助世界各地區降低資訊落差,進而實現每個人追求自我成長的夢想。

去年暑假遇到台灣微軟的計劃推手王副總來西雅圖出差,一聊之下才發現我和太太在這裡一直推動學習團體的理念很契合,雖然我們身在微軟總部附近,理論上應該是沒有所謂的「資訊落差」,可是事實上看看週遭的朋友,想用電腦卻被電腦搞得團團轉的人到處都是,所以我們才興起在這裡辦數位鳯凰的想法,不但大家可以形成一個互助社群,也希望透過這個網路增加與故鄉多多連繫的機會。

簡單的說,張校長又要開電腦班了!這次有全新非常實用的課程,要教大家在經濟不景氣的寒冬裡,不只可以少花錢還可以有機會賺錢(增加就業機會),2月14日星期六上午10點開始到中午,歡迎大家到西雅圖華僑文教中心來參加說明會,地址是:1008 140th Ave. NE Suite 108 Bellevue,電話:425-746-3602。如果你有任何問題想在參加之前詢問的話,請寄email到gina4335@gmail.com

Bentham
2/3/2009

2009年1月23日 星期五

如何為你的軟體開發團隊評分?

Joel 之前是在微軟Excel Team擔任PM,負責將Excel的巨集語言轉成VB,當時我在VB Team擔任測試工程師,他離開之後換了幾個工作,從2000年之後他自己跟朋友合夥開了一家軟體公司,他企圖創造一個程式設計師(programmers)跟軟體開發者(software developer)為主體的理想工作環境,公司的一切都是為讓開發人員能快樂(所以產能自然會高),至於開發怎麼樣的軟體,他認為不必擔心會水到渠成。說實在的那樣的環境就是10幾年前我剛加入Microsoft時候的樣子,大家真的都捨不得回家,他在2000年發表的這篇文章基本上就是從Microsoft軟體團隊取出的重點。

The Joel Test: 12 Steps to Better Code

如果你想要讓你的開發團隊寫出好的程式,這12條是基本功夫,每個問題的答案都是 yes/no,所以你不用回答but,有就有沒有就沒有,沒有什麼"但是",回答yes給一分,大多數的微軟開發團隊都是滿分12分,Joel的標準是11分還可以接受,10分以下就表示你有嚴重的問題:

1.Do you use source control?
2.Can you make a build in one step?
3.Do you make daily builds?
4.Do you have a bug database?
5.Do you fix bugs before writing new code?
6.Do you have an up-to-date schedule?
7.Do you have a spec?
8.Do programmers have quiet working conditions?
9.Do you use the best tools money can buy?
10.Do you have testers?
11.Do new candidates write code during their interview?
12.Do you do hallway usability testing?

我不在此一一翻譯,有幾項可能字面上不太容易了解的我解釋一下:

8.你的程式設計師有沒有安靜的工作環境?
一般寫程式的人都知道進入一種"忘我境界"的時候產能最高,什麼意思呢?當你埋頭苦幹在解決問題,一下子5小時過去,你才發現自己忘了吃飯,忘了上厠所,就是那樣的狀態(英文用In the Zone一詞),可惜這樣的狀態很容易被打斷,例如:你老闆來找你要報告,或找大家一起開個會,隔壁新手小白看不懂程式不自己去查,喜歡一直來問你,老婆打電話來問別忘了回家的時候順道去買醬油...每個干擾你至少要花15分鐘左右才能再回來。如果你身在一個軟體團隊中,大家沒有這樣的概念,而產能會高的話一定是加班到深夜的時候才能進入狀況。

9.工欲善其事必先利其器
如果寫程式的人用老舊的機器,改幾行程式要花超過15秒才能編譯完成,那大多數的人會等到無聊,結果把時間花在上網或上MSN找朋友;硬碟不夠大的時候你要花多少時間搬東西?除錯的時候,尤其是有UI的程式,沒有雙螢幕怎麼辦?好的軟體團隊絶對不會虐待寫程式的人,如果預算許可,好的工具一定要有,千萬別省小錢花大錢。

11.面試的時候有沒有考寫程式
找個不會寫程式的人來寫程式,就等於請個不會變魔術的魔術師,在美國因為有嚴格法律的規模,請人容易送人走比較難,所以請人的時候要特別小心,台灣可能上班第一天發現不會寫程式就叫人明天不用來了。以後有機會我會跟大家分享怎麼樣從幾分鐘裡找到會寫程式的人。

12.程式好不好用不必問很多人
如果程式送到客戶那裡才被嫌不好用,那事情就嚴重了,其實如果你寫的程式感覺用起來不順,寫的時候你一測就會覺得怪怪的,這時找路過(有空)的同事來試一下,大約5個人就可以發現95%的問題,所以很多時候並不需要大費周章去找專家或不相干的人來批評你的軟體,沒用又花冤枉錢。

你的團隊是幾分呢?如果你有不了解的項目歡迎加入討論。

2009年1月18日 星期日

大兒子的生日

上個星期是我大兒子12歳的生日,每年這個時候除了幫兒子慶生之外,當然也不會忘了媽媽的辛勞,我覺得做老公的要體貼太太的最好禮物是每年關心一下婦科檢查排好時間了沒(這是給其他人的建議,我不必擔心),所以依照往例今年老婆大人的乳癌與子宮頸癌的檢查也在上個禮拜完成了,與往常不同的是今年聽到幾個新知識。

你這輩子別想去大陸了

這是我太太從婦產科檢查出來以後,用手機跟我講的第一句話
"為什麼?",我莫名其妙的問
"因為鄭醫師說她的客人裡老公去大陸的,10個有8個隔年來驗出有病毒",她氣沖沖的說
"什麼病毒?",我接著問
"反正就是在外面亂來惹回來的髒東西,把家裡的太太弄到會得子宮頸癌"
"所以醫生說只要有換性伴侶的話,就要來驗"
"你不要給我在外面亂來,我如果驗出來你就死定了" ... 老婆一直說,我則在網路上找起資料來

原來子宮頸抺片檢查可以驗出HPV人類乳突病毒,這種病毒是經由性行為傳染的,當檢查結果呈HPV陽性時,表示有病毒潛伏在子宮頸,此時婦女成為子宮頸癌的高危險群,必需要定期追蹤。

結論是,凡"做"過必留下痕跡,想偷吃的人別再以為只有天知地知。

我們要開始吃維他命D了

醫生說華盛頓州是全美國癌症比率最高的州,因為這裡的冬天日照不足,所以大部份人普遍缺乏維他命D,而容易造成神經系統病變或免疫系統功能降低,也因此而導致癌症,所以從今天開始每天要吃一顆維他命D。在台灣可能比較容易吧,去參加像台灣步道志工的活動,可以曬曬太陽吸收多一些維他命D,有意義又可以防癌,真是一舉數得呢。

女人一定要善待自己注意健康
太太叫我用這兩則新知來告訴大家,尤其是婦女的朋友們,一定要好好的照顧自己的身體,要聽醫生的話,該做的檢查不要拖延快去做,有發現問題要馬上去治療還來得及,她有個朋友兩年前乳癌過世了,她老公50幾歲,沒幾個月就帶著新女友出雙入對,一年不到就又結婚了,一個女人辛苦了20幾年好不容易小孩跟老公的事業都穩定了,還沒享到福就把成果送給別人,真是不值,所以她發誓她一定會善待自己注意健康,叫我別做"老牛吃嫩草"的夢,我常跟著一起鬧她說:"是啊,現在的年輕女生對我們這些事業有成的老男人,真的很不計較年齡呢!" 她氣得半死,我在旁邊偷笑。

2009年1月11日 星期日

帶員工上健身房的老闆

今天外面下著雨,老婆跟小孩們決定去健身房消耗一下假日以來累積在身上的熱量,在跑步機上走著走著,不知什麼時候我旁邊多了一個人,又過了幾分鐘另外兩個人跟我身旁的那個人說抱歉他們遲到了,然後從他們的言談之間我了解到先來的那個是他們的老闆,這兩個晚到的員工不知道怎麼去用跑步機,結果這老闆很細心的跟他們解釋怎麼去設定才可以達到運動效果又不會造成傷害...

我覺得這個老闆很聰明,會關心員工的健康,鼓勵他們從事有益身心的事。常常我們會認為,大家都知道的事不用多說,說多了會讓人覺得很囉嗦,比如說:抽煙喝酒很傷身體、熬夜很不好、過胖會引發很多問題、保持運動的習慣很好... 可是知道歸知道,老闆們卻經常做些傷害員工的事:比如說要員工超時工作、拉客戶去應酬、去聚餐、搞到員工没有力氣去也沒有錢去運動。如果有一天,老闆帶員工去運動,老闆出錢,如果可以的話拉客戶也去健身,公司出錢,談生意在健身房談... 大家都變得更健康,不知道有多好。

開車回家的途中,一路上我一直在講台東健和社區的事,結果快到家經過一個加油站的時候,我太太淡淡的說了一句:"最近油價又漲了",我愣了一下,然後她接著說:"我真想賞你兩個巴掌,身邊的事不管去管十萬八千里以外的",然後她一一的清點我該做的家裡的事,有時候我覺得夫妻是~不是冤家不聚頭,可是仔細想想為什麼車上有油門有煞車是一對呢?癈話不多說,我該去收拾聖誕樹、聖誕燈、倒垃圾...啦。

2009年1月8日 星期四

軟體創新的一些思維

今天老闆一時興起大談"想當年",可見軟體業的後浪推前浪實在很快,不到40歲就已經有很多少年老成的感慨了,先講一下我這個老闆:他官當得很大,從他到我們CEO之間只有兩個人;然後他會一直強調他只想做大事,從沒想到要做大官;他是目前我這輩子共事過的人當中最聰明的;有嚴重的潔癖;喜歡用精深的英語詞彙,精通數種歐語以及日文;深愛哲史、藝術與電影;沒事還經常愛聊量子物理、老子道德經、孫子兵法,有時候他用英文講中國的古諺語,我還愣一下才想得出來他說的是什麼;這樣你們大概可以想像得到我的工作環境,廢話少說,我想跟大家分享他今天提到一些重要的觀念。

客戶永遠是對的

聽起來容易,可是有多少人沒有在跟客戶談案子的時候覺得他們很白痴呢?他提到他的第一份工作,那年他22歲,第一份工作是幫僱用他的顧問公司接下一個百萬美金的大案子,其他競爭對手千方百計的要賣給客戶昂貴的大型電腦主機系統,他卻用最簡單的設計幫客戶解決他們頭痛的問題,不但後來得到客戶的信任,也幫公司爭取到大筆的後續訂單。以顧問的思維切入來做軟體是一個很精明的做法,你可以幫你的客戶解決什麼問題?問題的關鍵出在那裡?傳統系統分析的方式,從一個個訪談中找到需求的做法是很值得商榷的,因為公司的員工每個人都只關心自己手邊的幾張報表,所以到後來電腦系統都變成只把一個個報表弄到昂貴的設備裡罷了,不只沒有解決問題反而製造更多問題,尊重客戶的觀點、深入了解客戶的問題、提出有效與經濟的解決方案是軟體人員可以而且應該創造的價值。

客戶反對的是事不是人

問問你自己:有多少次你辛苦寫好的程式,到客戶那裡他當場給你吐糟,說這不是他要的?你怎麼反應?跟他吵說你當初講的是這樣的啊?有經驗的軟體人應該先吸一口氣,然後默念"讓我們對事不對人",客戶反對的是你做出來的東西,不是你這個人,所以讓我們聽聽看客戶的想法是什麼,再找到解決問題的辦法。很理想化對不對?其實回到第一條規則"客戶永遠是對的",如果你這樣想,你就會經常把做好的軟體拿來給客戶用用看,不會每次都等到快結案的時候才第一次讓客戶看到結果對吧?

創新不能等老闆的許可

如果你去問老闆"我可不可以用新的技術來解決這個問題?"省略所有中間的對話,結果一定是否定的,差別只是在有些老闆會比較客氣的跟你說:"很好我們下次可以試試看",然後丟給你一個會讓你三個月暗無天日的案子去處理。當員工最大的好處是拿老闆的錢來投資在自己身上,如果有一天你自己當了老闆,我保證你一定對創新慷慨不起來,所以好好的利用這個特權吧!要怎麼做呢?先把自己本份的事情做好,這很簡單,別人寫多少程式你就寫多少,別人寫多快你就多快,要是你做得比別人好又快,下場我想不用我多說你自己知道,然後私底下偷偷做你自己的東西,學你自己想學的技術,當然你不能白痴到在用DotNet的公司裡大剌剌的裝上Java跟OpenSource的工具然後假裝在工作,等到你玩到某個程度,覺得老闆會口張開說"哇!"然後不知該駡你還是稱讚你的時候,再秀給他看,你要說:"我是用空閒時間做的"。

好東西先藏起來沒有關係

如果你的創新沒有順利的得到老闆的青睞,不要太失志而怨天尤人,很多名畫家不也是死後才成名的嗎?不過以軟體業進步的速度,你可以一點都不用擔心死後才出頭的問題,你做的東西只要你認為是對的、是有用的,把它備份保留起來,然後再想下一個好玩的東西,當然這時候你可能要先換個新老闆才能故技重施,而你的能力會因為這樣而一直提昇,有一天你會找到好的人好的團隊做你夢想中的軟體,像我們現在做的這個東西,被公司砍了不只3次,經過了10年才在去年11月出貨了,這證明了堅持是創新唯一的路,下次別怪別人、別怪環境、你自己怎麼看最重要。

跟著自己的感覺走

當你一直長期處在不滿或壓抑的情況下,你不會快樂,你就很難有創意,你就會陷入惡性循環,最後就只能在黑暗中渡過了,問你自己:"我的恐懼從何而來?我為什麼會有這樣的感覺?為什麼別人不同意我的觀點?"透過與自己對話的當中,很多時候答案會自然的浮現,然後你就可以開始改變現狀的計劃,一天一步,不輕易放棄,經年累月以後你會發現自己會處在一個你永遠沒想到過的境界,然後驕傲的跟年輕人說:"想當年..."

2008年12月29日 星期一

我家的主機-資料保存與備份的經驗分享

一個困擾我多年的問題,利用最近休假的時間終於把它解決了,或許這是一般小型NPO也會遇到的問題,所以在此分享我的經驗。

問題
1) 太太嫌她的電腦越來越慢,掃毒軟體找不出問題,只好重灌系統,加上資料轉移的時間,每次要花上一整個週末。
2) 小朋友不曉得怎麼玩的,弄到電腦沒辦法開機,修一下要花個老半天的。
3) 太太有一群媽媽朋友們,三不五時會出些疑難雜症,比如說中病毒,或筆電上的硬碟空間不夠用,到我手上大概都已經過了好幾手已經不行了,可是我還要花時間救她們寶貴的資料才能進行重灌。
4) 共用的印表機接上我書房的電腦,如果沒開大家印不出來都很氣我,尤其小朋友要趕作業,而我又在加班的時候。
5) 家裡的相片、音樂真的不知道放在那一台電腦上,要用的時候都找不到。

環境
先介紹我們家的資訊平台,我們家有七部電腦:四部桌上型、三部筆記型,其中兩台電腦是主機(其實就是淘汰下來比較慢墊腳用的電腦),我有一部四核心的桌上型跟一部筆記型電腦,其他媽媽跟兩個小朋友一人一台。

先前的解決辦法
之前我是用Norton Ghost做全硬碟備份,可是因為我買了一份版權只能在一台電腦上進行備份,所以要把筆記型電腦的硬碟拆下來裝在外接USB硬碟盒子裡,再做備份的動作,每次都要拆裝電腦很麻煩,而且每次當機以後,只能回存原先備份時的資料,中間增加的資料都會遺失了,後來我買了一個外接式500G的硬碟加上3份Norton Ghost的授權做自動每週備份,可是沒多久就用盡了硬碟空間,因為麻煩所以就沒繼續下去。

Windows Home Server 方案
會知道 Home Server 是有一天在走廊上遇到多年沒見的老同事,聊起來近況,他提到他做的一個磁碟連結技術,可以把好幾個容量不同的硬碟加起來變成一個大硬碟,同時還可以支援容錯(就是當某一個硬碟死掉的時候你的資料不會遺失),當時我已經錯過了公司提供的員工特惠價,所以幾個星期前趁去Company Store(讓微軟員工可以用員工價買軟硬體的商店)時買了一套花了US$35,公司很鼓勵員工們在Company Store買軟體去捐給NPO組織,所以如果我買了以後捐給NPO,憑收據公司會再寄給NPO一張等值的支票,這叫Match Program,簡單的說我捐一百塊的軟體給NPO,微軟會捐一百塊的現金給同一家NPO。我之所以提到這點是因為,我願意以個人名義捐贈五套,如果有那一家NPO在看了這篇文章以後想安裝Home Server我可以提供軟體,至於現金嗎?要在美國有合法登記的才收得到。癈話少說,讓我們繼續下去。

我把一台三年前自己組裝的電腦拿來當主機(Server),湊了三台SATA的硬碟,加起來大約1TB,安裝的過程與一般的XP沒什麼兩樣,手冊裡重要的事項大約只有一兩頁,所以應該難不倒一般的玩家,由於是特別的主機板所以花了一點時間到華碩找了驅動程式,由於Home Server的基礎是Windows Server 2003,所以下載時要注意選對版本。

主機安裝的最後一個步驟是經過一個精靈來完成各項的設定,例如主機的名稱、密碼還有建立使用者的帳號等等,不會很複雜,弄好了以後,接下來要到每部機器裝Home Server Connector Software(從附帶的CD),這時主機的螢幕跟鍵盤都可以拔掉了,因為你可以從任何一部機器用Connector連到主機去控制它,下圖顯示我家所有的電腦,在這個畫面裡可以直接控制備份的進行:


增加一個硬碟很容易,先關機以後,裝上再重新開機,然後用Connector連上以後,選Server Storage就可以看見新增的硬碟,你可以選新加的硬碟是要做容量擴充用的,還是做保全備份用的,一樣是有個精靈,下圖是我家主機裡4顆碟的狀況:


當電腦無法開機,根據手冊只要用救援光碟開機,很方便就可以選擇備份點回復電腦到之前的狀態,不過我還沒試過,等下次試過了再跟大家分享。

網路上的伺服器
我發現這項功能可能對一般的NPO很有用,Home Server可以把主機上分享的檔案,設定成一個Internet上的伺服器,我本來以為很麻煩,結果沒兩分鐘我就建立了bentham.homeserver.com,如果你的路由器支援UPnP的功能,HomeServer會自動設定,如下圖我可以從任何地方上載下載我家主機的資料,而且是用保全的HTTPS加密傳輸,比起一般的FTP要安全多了。


另外從網路上任何地方,你還可以直接登入你辦公室裡的電腦,這也是透過安全的HTTPS,下圖是我家XP電腦有打開遠端連線功能,可以直接登入:


有很多細節的部份沒有列出來,如果大家有任何的疑問歡迎加入討論。