別出極具創意的新年賀卡-UML 13張關連心智筆記圖

過年前,我們團隊 (HSDc Inc.)所舉辦的 [UML 2.0 觀念引導與實務操作入門] 課程,約有近 20位學員參加。其中,有一位相當高恌的女孩子就坐在最前座,上課的時候總是相當專心聽講作筆記。

我在講課時總是喜歡採用反問的方式,藉以引導學員可以思考我所提問問題背後的涵意。大部分學員總是會有些怕怕,也比較不敢表達出自己的想法,但這位女孩子卻是可以回答出令人相當滿意的答案,讓我相當的佩服;更為訝異的是,在下課時與她閒聊,才知道她還只是撰寫大型系統的程序性古典語言,也沒有寫過 Java or .NET 等 OOP 語言。但是,我可是真的覺得,她對物件導向的設計哲理,相當具有領悟力,也很肯去反思,俱足軟性思考的頭腦。

對於這樣聰慧、具 Smart 特質、又肯主動學習的學員,除了讓我印象深刻外,我更是願意就我所能,引導與分享對於軟體設計領域上的觀念與學習技巧。

就在想說,年後我們團隊若有一些研討活動 (如讀書會、研討會)等,準備邀請該位學員來參與。沒想到,就在除夕春節前,這位學員還主動寄了一封新年賀卡給我們。除了新年賀節問候外,也說出了她對這次上 UML 課程的收獲與心得,真的很感心~

更特別的是,附檔的新年賀卡是她利用 PowerPoint 設計的。內容竟然是把兩天課程所介紹 UML 13張設計圖,它們之間的關聯、特質與應用時機等,給全串在同一張圖內;還畫了虎年到來、新年迎春饒富過年氣氛的插圖。
Sharon 的 UML 新年賀卡

哇!! 這麼別出心裁、這麼有創意的新年賀卡,又是如此的用心製作 (必然要耗費很多時間),我收到這樣的賀卡真的是相當開心,也相當感動。更是覺得,這麼棒的作品,要不分享出來給眾讀者們欣賞,那真是太可惜了。所以,我還特別寫了信徵求該位學員的同意後才特別公開。

對啦,她的名字叫 Sharon,這樣直接稱呼也比較方便勒。另外這裡同時也公開她的網誌應該沒有問題吧? 看看她寫的文章,文句優雅頗具知性,會讓人以為她是一位柔弱感性的少女呢;但是,再瀏覽她整理的網誌相簿,呼,Sharon 可還是一位熱愛潛水的陽光健康女孩呢。 🙂

 o http://blog.yam.com/sharontaiwan
 o http://sharonwang.myweb.hinet.net/

我總是記不起別人的名字與容貌,我只記得別人提問軟件的問題~

我應該是不太具有那種視覺化的記憶能力。 所以若是沒有常聯絡的朋友,我總是記不起他們的容貌與姓名。 這的確是失禮的事,不過我也不想勉強我自己,透過一些工具與技巧建立客戶關係。 我是覺得,一回生、二回熟,有緣再相會,自然就會逐漸熟識的了。

話雖如此,可是我倒是可以很直覺地、也不需要特別記住-只要是別人曾經就軟體的相關議題問過或與我討論過,我幾乎是不會忘掉那個主題。 這就如同我一些朋友、尤其是女孩子,總是很清楚記得哪一天見面時所穿的服飾打扮 (但我卻永遠不會記得別人穿甚麼衣服)。

就在今日晚上,有位網友 Msn Call 我,打的是簡體字,看來是大陸來的網友。 除了向我問候新年快樂外,同時也報上他的大名,還順口問我記不記得。 唉,我一向很直,也老實回應說我真的完全沒有印象。

事實上,我的 Msn 名錄,好像超過 一、兩百個人了吧。 但經常聯絡的,也才十來個而已,而其他人則都是透過網路自動給我加進來的。

大部分人當然是來問我問題的。 而一般而言,很少很少,我並不會主動 Call 別人的。 只是,誰來 Call 我、問我問題,即使對方報了姓名,聊一聊回應問題之後,我真的就忘了對方的姓名(或別名)。

不過,那位網友就寫說,他曾經就 "利用 UML 表達自動化控制系統設計" 這篇碩士論文請教我。 哈,我馬上就記得一清二楚了!^^ 大概已經有 2 年了吧,當時該網友還特別傳檔整篇給我他寫的論文 (Word 格式)。 當下我看了約近 10 分鐘就看完,還著實批判了不少。 !^^

當時會很直率地批判的原因是,我一直以為碩士論文應該很強調個人對於其主題立論的想法(或依據論點)。 但是,我發現到,透過其 UML 設計圖,我完全感受不到著者本人的想法。

透過 UML 可以瞭解設計者在想甚麼? 是的,最起碼我倒是有這個能耐,而且還是八九不離十、很容易可以瞭解設計者背後的假設論點。 請注意!! UML 是表達軟件設計(語法本身完全不重要),透過其表達,就可以知道 Developer 的假設與想法

呵,只要一談及軟件相關設計議題,我的確很容易提起勁。一聊下去,我總是精神亢奮、一點都不會覺得沉悶與疲倦。

既然我連兩年前網路 Msn 討論的軟件議題都能記得如此一清二楚,所以記憶力應該不算差才對啊!! 嗯嗯,我突然領悟到,記不起別人長甚麼樣、穿甚麼衣服、哪時候一起吃甚麼飯 ‧‧‧等等的話,應該是不用心、而不是記憶力不好啦。 😉

透過 Google 找 Coding How-to 的好範例

我經常在文章發表或講課時說教:不要再花心思去學 How-to 了啦。 如果是對於工作上要用來謀生、不得不熟練的 How-to,那是另當別論;但是對於自我的學習成長、創新能力的發揮,幾乎不會有啥幫助。

"做中學" 的真正意義在於: 做了以後會去思考 "這是什麼?"、 "為什麼" 是這樣子?

尤其是軟體開發人員,總是要去思考,自己的職場生涯,是要往 "重複性的密集量化工作",還是 "知識性的創新設計" 之路來走?

軟體開發人員,太多太多,總是很容易把精力與時間浪費在不必要的地方上。 而且,對自己的成長卻沒啥幫助。

什麼叫作 "浪費在不必要的地方上"?

舉個例子。 上個月有位網友透過 Msn 問了我一個問題: 請問你會不會寫 C# 連結到 ActiveX 元件上?

ActiveX 是什麼? 我也不知道。 我直覺的就回答說:不是透過 MSDN 查一查範例就可以知道的?

那位網友回答說,他有查過,因為微軟已經不支援在 .NET 環境上開發 ActiveX 元件,所以看來,他必須自己要來自己從頭到尾寫 C# 連結 ActiveX 元件了。

姑且不論為何還要使用 ActiveX 元件,看來應該是要 "Re-Use (重用)" 已經寫好的元件吧。 但是,微軟轉移到了 .NET 環境卻不支援 ActiveX 必然會有其原因,可能是 安全性、穩定性與效能等問題。反正,我對其不支援的原因也不會有興趣。

但是,我只知道,那位網友要自行寫 C# 連結 ActiveX 元件這事,根本就是在浪費生命!

閱讀全文 »

貽笑大方、不公正的愛國裁判?

最近不是那個東亞運,我國選手在跆拳道比賽中因為被韓國對手,擊中喉嚨倒地並送醫,而且還痛失金牌? 除了因為關連到了其中之一的裁判為我捫台灣籍,國內的民眾因為覺得沒有挺自己人,反而胳膊往外彎而引起公憤;再加上累積太久的不滿 - 太多的國際競賽 (尤其是跆拳道)被韓國狂熱的愛國裁判的明顯不公正,給搓掉應該是台灣可以贏得的獎牌。

只要是武術性質的競賽,而沒有那個非得誰倒地才能贏的規則下,誰點的比較多、累積的積分多就會贏的這樣情況下,當選手與裁判都是來自同一個國家時,最容易爆這樣出不公平的判決爭議。 只是勒,韓國的愛國裁判特別是世界知名罷了。

我在想,如果是韓國民眾看到有場一面倒的電視轉播比賽,而那個被一面倒的是自家人,但最後卻被本國的愛國裁判判決勝利,然後又看到對手國家的選手與觀眾們的忿忿不平,會不會覺得不好意思、有丟臉的感覺?

我們台灣這邊,常常會看到國外、特別是韓國籍的愛國裁判。 看到這個就會理所當然覺得很不爽。 那麼,到底我們台灣也有沒有這樣子的 "愛國裁判" 呢?

好像很少聽到吧? 難道是我們台灣人的道德觀特別高尚?

我以前倒是沒想過這問題,不過,最近看完一本內容很棒、國內有中文翻譯的暢銷書籍:「學習的王道」。 作者 (Josh Waitzkin)相當相當有名也頗具傳奇,他是西洋棋的神童,其父親所寫的「天生小棋王」一書還被拍成電影,贏過八次全美的西洋棋冠軍,並且還是全球最大的西洋棋電腦遊戲【西洋棋大師 (Chess Master)】的代言人; 長大成人後,迷上東方道家哲學思想,進而接觸太極拳並獲得多次的世界太極拳冠軍比賽。 世界太極拳冠軍比賽有好幾屆都是在台灣舉辦,所以作者 Josh 曾三度來台灣參加錦標賽。

那麼,作者的這些軼事到底與現在的主題有甚麼關係? 因為,作者本人來台灣參加太極拳比賽時,認為遭受到台灣的 "愛國裁判" 的不公平判決,而且他還把這些經過詳細的寫在這本國際暢銷的著書內。 從外國人的角度來看他們對於台灣愛國裁判的觀感,還挺新鮮有趣的。 😉

分散在好幾頁的篇幅內,作者都有提及這些在台灣受到的這種不公平判決。 我就節錄出這一小段來瞧瞧: (p.271)

這是我第二次參加這個錦標賽,而這兩次經驗都讓我對裁判的虛偽不公感到詫異。這一次,我已經熟悉主辦單位 (指台灣)的行事模式,基本上他們的作法大致如下:先舉行個盛大的開幕典禮歡迎外國選手,事實上他們並不希望我們贏得比賽。他們往往會在選手剛開始過招時,先以許多令人難以接受的裁決,讓整場比賽的氣勢一面倒。當外國選手發現比賽不公,情急之下亂了陣腳,情緒激動,不再能保持沉穩專注,進而越打越糟,士氣潰散。接下來,一旦台灣選手掌控了大局,這時裁判的判決又變得格外公正。他們會變得過度和善,以做出公平的假象。

呵呵,所以,看來中外、應該也是古今吧,愛國裁判何處不有啊!!
只是,不要太過離譜,除了貽笑大方,自家人也會不好意思吧。 😉

期貨期貨,不就是在作預期的事嗎?

有經驗的老師傅都說: 期貨投機,千萬不要作預測的事,要能順勢而為。

我對這一句話也深信不疑,而這幾年一直都在思考的事情是,什麼叫做「順勢而為」。

順著趨勢? 趨勢是什麼? 明顯的一個價格走向? 但即使是大多頭也會有短線的回檔、大空頭也會短期的反彈。 利用均線來定多空? 季(月)線以上為多頭、以下為空頭 … ,是這樣嗎? 趨勢這個字眼,我現在還是覺得,相當的模糊與抽象。

突然我又想到, "期貨",英文翻譯為 "Futures" or "Future Goods"。 那個 "期" 與 英文的 "Future",不都是 "預期" 與 "未來" 的意思嗎? 所以即使再怎麼短線的交易人,必然要作 "預期" 的事。 "預期" 下一分鐘、明日、下星期、下個月等,會上漲還是下跌,是多還是空。

符合你所預期的,你就賺到差價了;沒有符合你預期的,在那個容忍時間區段,你是賠了差價。

什麼是 "容忍時間區段"? 如果我是短線五分K操作者,我可能容忍我未來一個小時內因預期錯誤的虧損。或者,我可能容忍只能損失 50 點的虧損,而這 50 點的虧損可能是半小時的時間就已抵達你的容忍界限 ; 如果我是日線波段性的交易者,我可能容忍未來一個星期內預測錯誤的虧損。也可能只能容忍 150 點的虧損─短短兩天就抵達了停損界限。

不可能不作預期,也不可能不預設立場!

只是,當你做了預期卻沒有照預期的方向來走的時候,交易人該怎麼辦? 再等一下,撐久必勝? 還是逢低攤平? 或者是認賠出場,繼續下一個 "預期" 的工作?

上述這些方法應該都是預期錯誤後的處理策略。

我在想,以我現在淺薄的知識與體會而言,「順勢而為」這個字眼講得似乎太過偉大了。 或者應該換個想法,我應該大方承認,交易人必然是在做「預測」的工作;而當我「預期」錯誤後,我需要善後的處置措施是什麼? 到底用哪一種方法會比較能保護我有限的資金,受到最少的虧損。

哪個時候我會 How-to? 只有在學 How-to 的那個時候!

由於個性與工作性質的關係,我對於重複性的工作相當沒興趣也沒有耐性。 我喜歡思考,我喜歡 "玩" 沒有摸索過的東西,我也享受短時間內就能 "做" 出來的成就感; 但是,我的記憶力已經變得很差,當時是如何做出來的,過一陣子我就會忘記了。所以,這也是為什麼我會紀錄在部落格的原因,同時也可說是一種心得分享。 但是,我並不是作成所謂的教學性文章,所以紀錄的方式,只要我自己大概知道就可以了。 只是,有一些讀者,可能以為我很懂某領域的實做性技術,總是會留言或寄信問我,某某軟體、某某工具,要如何設定或如何實做等這類的問題。 說真的,我實在很為難,這些設定之類等的實做技術,我肯定是記不起來的。

什麼是屬於設定實做上的問題?

舉個例子,前陣子我在使用 Excel,希望利用 C#.NET 來取代 VBA 撰寫程式。 因為 VBA 是內建在 Excel 內,當然很簡單,參考其內的 Help 說明文件就可以了。 但是如何使用 C#.NET? 這個時候我就會透過 Google or MSDN 來找了,查來查去,總是會找到重點的。 例如這個: Visual Studio for Excel Solution。 再將其中的文章 (Articles) 看個大概,就可以開始實做撰寫啦。

另一個例子,前些時候我利用 Excel 要連結 DDE 時,對於該如何處理 (Handle)工作表 (Worksheet)內的 CELL 資料變動的事件,一開始會先利用中文搜尋相關的範例,但找到的 Solution 並不滿意,原因是竟然還要寫迴圈整個掃過所有的資料格,來判斷是哪一個資料格發生變動; 因為不滿意,所以才會再去國外找尋是否有更合理的解決方案,而後輾轉才找到官方對其的原始說明。 再來我才是邊參考範例、邊實做出來這篇: 關於 Excel DDE Tick 資料變更事件的處理。 而這也就是我實做 How-to 之後的心得分享與紀錄。

問題是,當我後來不再使用 Excel 來建立我的交易模型後,原來這些曾經學過、所謂的技術 (其實就只是 How-to),我早就忘光了! 對我來說,這些實做的過程都僅是手段,只是為了讓我可以 "用",以快速達成我原來主要的目的;而如果有 "更好用" 的手段,我就拋掉了。 How-to 對我而言,只是被利用的手段,所以我記不起來、也不會想去記這些 How-to。

在我看來,學會(或已經會) How-to 本身實在不重要,重要的是要如何快速學會 How-to 的能力。 當然,問已經會的人絕對是個捷徑,但是,前述提及,以我來說,一方面我已經忘記;另一方面,我發現到問的人,絕大多數連試都不願意試一下,就是要你把答案或設定步驟詳列下來給他用最好,若得不得到他要的,馬上走人,現實得很。

如果還沒具備透過 Google 搜尋、下對關鍵字、自行找 How-to 的能力,那麼,論壇 (Forum) 倒是不個不錯的好地方。 例如,前述 Excel 與交易程式 的相關問題,我也是透過 Google 搜尋後,才發現到有個「程式交易聚寶盆」這樣一個不錯的論壇。 許多問題的解答,或要問相關性問題,都可以透過該論壇尋找答案與提問。

我在教授軟體設計課程的時候,常會開一個玩笑。 經常就是會有人問我 Java or .NET 的一些實做技術,而我對男生與女生的差別就在於: 「我給一些關鍵字,然後請男生自己透過 Google 找答案;而女生呢? 我是比較體貼,會幫她們透過 Google,找到答案所在的網址,然後再把鍊結傳給她們。 :XD」

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal