<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7806430246932102862</id><updated>2012-02-16T21:34:11.757+08:00</updated><category term='軟體開發'/><category term='環保與素食'/><category term='特別推薦'/><category term='音樂欣賞'/><category term='豐田生產方式'/><category term='雜談'/><category term='養身保健'/><category term='Refactoring'/><category term='Object-relational impedance mismatch'/><title type='text'>連續體假說</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>61</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-2411198698025985389</id><published>2011-03-31T21:17:00.019+08:00</published><updated>2011-04-01T20:12:00.129+08:00</updated><title type='text'>[抱怨文]核能的恐龍文化比核能技術本身更危險</title><summary type='text'>大學時期很關心核能議題，支持反核運動。經過這二十多年，個人對於核能發電的觀點，已不再是基本教義派地反核或擁核。甚至期待有一天人類會發展出完全乾淨而安全的核能技術。

但是要誕生這樣的技術，前提是從業的族群要先有這樣的文化。今天對於核能發電最大的疑慮不在於技術本身，而在於部分業者與技術官僚的態度。除了各國仍不時傳出掩蓋事實、假造文件的消息以外，有些專家們在議題討論上常令人感覺保守、不誠懇、不透明與鴕鳥心態。從新聞媒體的報導看來，日本、美國也有類似的情形，也許這是全球性的問題。

久違了的核能安全議題最近又得到媒體的關注了。部分專家們保證核電絕對安全、日本事件台灣不會發生，輻射不會飄到台灣等等的說法，姑且不論這些話的真實性，這些語氣竟然喚起我對當年反核運動時期的遙遠回憶。和當年聽到的那些迂腐的官方說法如出一轍。即使這是專業認定的事實，這樣的表達方式也令人越聽越不放心。

畢竟20幾年前，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/2411198698025985389/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=2411198698025985389' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/2411198698025985389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/2411198698025985389'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2011/03/blog-post.html' title='[抱怨文]核能的恐龍文化比核能技術本身更危險'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-1916116647688577410</id><published>2010-07-25T21:46:00.007+08:00</published><updated>2010-10-28T22:05:02.563+08:00</updated><title type='text'>(轉載)人類頭號殺手--肉！</title><summary type='text'>摘錄自無上師電視台

列舉吃肉導致的疾病
豬流感
藍舌症
大腸桿菌
沙門桿菌
禽流感
狂牛症
豬隻疾病 (豬瘟)
李斯特菌症
貝類中毒
妊娠毒血症

列舉吃肉的代價: 
心臟病
全世界每年有超過1,700萬人死於心臟病
花費超過一兆美元
癌症
每年有超過100萬人罹患大腸癌
逾60萬人死於大腸癌
光是美國治療大腸癌的費用約65億美元
每年數百萬人因肉食而罹患其他癌症
糖尿病
全球有2億4,600萬人罹患糖尿病
每年治療費用約1,740億美元
肥胖症
全球有16億成人過重，4億多人有肥胖症。
單是在美國每年的醫療開銷達930億美元
每年至少有260萬人因過重或肥胖因素而死亡
環境
使用高達七成的淨水
污染大部份水源
濫砍地球的肺—雨林
消耗全球穀物量高達43%
消耗全球大豆量高達85%
導致世界饑荒和戰爭
導致80%的全球暖化
還有更多… 列舉食用乳品的代價:
乳品中的荷爾蒙導致乳癌、</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/1916116647688577410/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=1916116647688577410' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1916116647688577410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1916116647688577410'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2010/07/blog-post.html' title='(轉載)人類頭號殺手--肉！'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-7613418715973695637</id><published>2010-06-21T13:07:00.031+08:00</published><updated>2010-11-09T09:22:28.238+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>軟體設計的Anti-Pattern：瑞士刀</title><summary type='text'>Anti-Pattern：追求泛用性而不計所造成的overhead代價
我愛瑞士刀，這真是個很棒的發明。有太多種工具我們不常用，不過需要時沒有它還真麻煩。在家中可以準備一個工具箱隨時應急，但是出門在外總不好隨時拎著工具箱。當年去歐洲讀書，父親送我一副瑞士刀。剛開始住宿還沒安定下來的期間，從切水果到鎖緊眼鏡螺絲，一切都靠它。

軟體設計，常在簡單性與泛用性之間做掙扎。一套Library或是Framework，因為簡單好用，使用的開發人員就漸漸增加。這套工具要適用的不同應用情境與軟硬體環境就越來越多，需要逐漸調整，做些擴充以及一般化，簡單的工具就會變複雜一些。持續演化與累積，最後複雜度會變得很可觀。這個複雜度最常反應在設定檔，或是物件的起始方法，以及函式的呼叫方法。

瑞士刀做得再好，再萬能，卻不會是專業匠師的工具。沒有餐廳的廚師是用瑞士刀切菜的，即使這個刀鋒是出自瑞士的頂級工藝。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/7613418715973695637/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=7613418715973695637' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7613418715973695637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7613418715973695637'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2010/06/anti-pattern.html' title='軟體設計的Anti-Pattern：瑞士刀'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-7738480138279087097</id><published>2010-06-05T21:34:00.018+08:00</published><updated>2010-06-06T10:02:45.872+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><category scheme='http://www.blogger.com/atom/ns#' term='音樂欣賞'/><title type='text'>到彰化聽維也納交響樂團演出</title><summary type='text'>沾老婆大人的光，真榮幸一生有機會被一位作曲家老師邀請，一起到彰化縣立體育館聽Wiener Symphoniker維也納交響樂團的演出。

雖然開車找路的過程非常驚險，路標跟十多年前剛回國時一樣深奧難解，手機的Google Map也只能看出大致的方向，幸虧彰化人都很親切、友善，總是帶著熱情的微笑，熱心地回答問題。在他們愛心的感染下，居然不太有迷路趕時間的挫折與焦慮感。藉由不斷地問路。終於即時抵達體育館。彰化是母親的娘家，每次到彰化，都有回家的感覺，但是居然能夠每次回家都會迷路，十多年來始終如一，覺得自己一定是像丁丁那樣的人才。

有一本很棒的小說，叫做深夜小狗的神祕習題。好幾年前看過，至今不斷發現從這本書得到很多啟發，覺得這本書不應該只列入文學類，應該是科技管理的書籍。

書裡講到一種心理測驗，大致是這樣：你跟受測者兩個人單獨在一間房間。你給受測者看一個巧克力豆的包裝盒。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/7738480138279087097/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=7738480138279087097' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7738480138279087097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7738480138279087097'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2010/06/blog-post.html' title='到彰化聽維也納交響樂團演出'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-4594233303839612900</id><published>2010-05-16T23:03:00.006+08:00</published><updated>2010-05-17T22:53:39.747+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>重構(Refactoring)的範例程式碼</title><summary type='text'>最近剛好有機會講Refactoring，用Martin Fowler原書第一章的範例。最早是聽以前的同事老王用這個例子上課，覺得效果很好，兩年前我也用這個例子講過一次。這兩年當中經過更多不同程式碼的洗禮（請參考極品程式碼三部曲1, 2, 3），對這個範例的看法又不一樣。這次講課，我儘可能少說明整個程式的邏輯，也不給聽眾讀懂程式碼的時間，在對全貌了解很有限的前提下，說明如何refactor。隨著翻修的進行，程式碼在做什麼也逐漸明朗。這過程也就順帶說明，refactoring不只是為了整理程式碼，也是讀程式碼(code inspection)的技巧。

用這個角度示範會更符合真實狀況。因為即使是自己寫的程式碼，也不一定能在第一時間就看懂。

兩年前為了準備講課，才第一次在Eclipse上，照書上的指示，真的一個動作一個動作來做。親手操作，和之前只是閱讀相比，有很多不一樣的體會，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/4594233303839612900/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=4594233303839612900' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/4594233303839612900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/4594233303839612900'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2010/05/refactoring.html' title='重構(Refactoring)的範例程式碼'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-7558010664797337189</id><published>2010-03-13T01:08:00.025+08:00</published><updated>2010-04-24T10:46:14.784+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='環保與素食'/><title type='text'>素食與蛋白質攝取</title><summary type='text'>表姊是很好的英文老師，也是一位快樂的素食者。有一天她跟我說一個非常有趣的故事：她在某堂英文課（對象是成年人）剛好上到與素食相關的課文，作為練習，要學生寫下素食的優缺點。結果大多數的學生寫的都是類似這樣的答案： "素食的優點是對健康有益，缺點是會營養不良。"

導致營養不良的飲食，會是對健康有益的嗎？看似矛盾，不過這似乎反應很多人的心中對素食片段的印象。

身邊有些朋友很重視肉食，一餐沒肉就擔心蛋白質攝取不足。其實素食者從不用擔心蛋白質，要在意營養也是比較關心一些較微量的B12、鋅等的攝取量。基本上素食是不會缺任何營養的，最簡單的證據是，我認識胎裡素（不只一生不碰葷食，甚至在娘胎中母親就是吃素）的朋友，總是健康、快樂又有活力，IQ與EQ兼備，臉蛋身材都好看。如果素食會缺營養，那應該在娘胎中就無法生長才對。

針對素食會造成營養不良的迷思，我蒐集了許多資料，來證明肉並沒有多出什麼營養。

</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/7558010664797337189/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=7558010664797337189' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7558010664797337189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7558010664797337189'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2010/03/blog-post.html' title='素食與蛋白質攝取'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-5704511371624417624</id><published>2009-10-18T22:49:00.017+08:00</published><updated>2010-04-24T10:45:55.809+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>一則寓言（Part 2）</title><summary type='text'>（如果您還沒看過這則寓言的前半Part 1，請先看過。）

話說因為悲憫人類的智慧未開展，生活艱辛而精神緊繃，上帝將這原先是天界才有的享受，放到了人間來。就這樣，人類幾乎純由心智活動就能建造事物。

沒有施工技術以及材料的限制，以前只有超級豪宅專屬的設施，或是007電影中的基地才有的設備，現在在一般家庭都見怪不怪了。例如從屋頂到管道間接好幾個反射鏡，將自然陽光引進地下室的游泳池。一個書架可以成為通往書房的隱藏旋轉門。每個房間都可以洗手，每個牆角的都有內嵌隱藏垃圾桶，桶頂還有強力吸塵器，自動將垃圾都吸到垃圾間的大垃圾桶集中。每面地板都埋藏空調用的熱水管，冬天赤腳走在地板上，腳板也能保持溫暖。由於不用材料與營建成本，這些設施如果設計師沒有全都放進來，似乎就太寒酸了。

雖然上帝讓我們不需要施工建造了，但是其他物理限制還是存在。例如管線仍然不能重疊交叉，不同急性的電線相觸會短路。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/5704511371624417624/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=5704511371624417624' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5704511371624417624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5704511371624417624'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2009/10/part-2.html' title='一則寓言（Part 2）'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-3570839842012516266</id><published>2009-08-17T21:55:00.006+08:00</published><updated>2009-08-17T22:15:52.382+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='環保與素食'/><title type='text'>相濡以沫,不如相忘于江湖</title><summary type='text'>衷心期待失去家園災民都能及早獲得救助與安置。衷心期待受難的靈魂得以安息。家屬與親友能儘快走出悲傷。感謝每一位為了救災而出錢出力的英雄。除了救災與重建，我們也要正視這波全球暖化的警訊，阻止災難再發生。由於氣候災難在全球不斷發生，而且頻率與規模都一直提高，祈禱人類儘快學會善待大地之母--地球，並開始友愛所有生活在地球上的一切眾生。泉涸，魚相與處於陸，相呴以溼，相濡以沫，不如相忘於江湖。~莊子 大宗師篇Change Your LifeChange Your HeartChange Your DietNo more killingBe healthy and loving</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/3570839842012516266/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=3570839842012516266' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/3570839842012516266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/3570839842012516266'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2009/08/blog-post_17.html' title='相濡以沫,不如相忘于江湖'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-1949926939167320340</id><published>2009-08-16T21:17:00.009+08:00</published><updated>2009-08-17T22:12:24.330+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='環保與素食'/><title type='text'>溫室氣體（1）︰笑氣</title><summary type='text'>笑氣（一氧化二氮）是一種無色有甜味氣體，是著名的麻醉氣體。可以讓病患在維持神智下失去痛覺。從1800年就被牙醫所使用。它也是強烈的溫室氣體。以溫室氣體而言，強度是二氧化碳的300倍左右！一氧化二氮和二氧化碳、甲烷一樣，是人類行為所造成的溫室效應主要因素之一。除了造成溫室效應，笑氣也會直接毒害人體，造成神經系統以及其他傷害。吸入笑氣會消耗人體大量的維他命B12，造成維他命B12缺乏症。也會造成流產、視力聽力下降、貧血、免疫抑制等問題。現代農耕與畜牧會造成大量的一氧化二氮排放。化學肥料（氮肥）的使用是其中一個重要因素。氮肥在高溫環境會釋放出一氧化二氮，氮肥在土壤中，甚至流到海洋裡以後，也會持續分解，釋放一氧化二氮。尤其是2008年的最新的研究顯示，全球氮肥造成一氧化二氮生成比原先認為的要嚴重很多倍。另一方面，牲畜的排泄物也會生成大量的一氧化二氮。由於地球生產的穀物大多不是給人類食用，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/1949926939167320340/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=1949926939167320340' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1949926939167320340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1949926939167320340'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2009/08/blog-post.html' title='溫室氣體（1）︰笑氣'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-2572727508296861505</id><published>2009-08-07T22:31:00.024+08:00</published><updated>2010-04-24T10:59:04.423+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>一則寓言（Part 1）</title><summary type='text'>人類舖橋造路蓋房子，用太多地球資源，而且造成各種污染，工安事件不斷。更糟糕的是，常常有不良設計，造成無數的心血資源的浪費。而營建的技術不良或偷工減料，也使得即使良好的設計，運轉起來也往往問題百出。人類受夠了，不斷跟上帝祈求：既然上帝賜給人類這麼好的創造力，就不要讓營建那麼困難吧。

慈悲的上帝應許虔誠的祈求，決定讓人類藉由實際的體驗來學習智慧。

上帝更改了宇宙的一些物理法則，並祝福了地球︰從此地球上一切的設施不用營建，只要設計即自動瞬間建造出來，而且成品定是設計師所期待最好的品質，完美地符合設計。例如Autocad 2120版開始，設計師用它畫一跟樑柱，施工位置自然會出現一根樑柱，不用綁鋼筋灌混凝土，不用打地基。如果調整設計，將那跟樑柱刪除，樑柱也自動憑空消失。不用拆除也不用廢土清運。

從那一天開始，世界就逐漸改變了。由於營造是免費，而且隨著設計即時發生，所以一切的設施會朝向超豪華、</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/2572727508296861505/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=2572727508296861505' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/2572727508296861505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/2572727508296861505'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2009/08/part-1.html' title='一則寓言（Part 1）'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-6708696062266687512</id><published>2009-06-29T22:13:00.021+08:00</published><updated>2010-04-24T11:05:35.459+08:00</updated><title type='text'>網頁設計與網頁內容的領土之戰</title><summary type='text'>不知道只有我的經驗特殊，或者這是普遍的情形。在這個行業十多年來，常遇到一個問題，就是網頁應用程式的美術設計，常常會排擠網頁內容的空間。例如上方一個寬寬的banner，左方一個side bar之外，中間又許多框線、裝飾、留白、小圖示等等。雖然是個令人驚艷的版型設計，但是我會擔心這畢竟是一個資訊系統，客戶要看的還是資料內容。真正的內容被擠到畫面右下方去了，明明整個螢幕那麼大、經過設計以後真正要看的資訊卻可憐地被擠在邊邊，要往下看還得拼命捲動畫面。何況今天普遍使用寬螢幕，大多人的桌面高度最多只有800點。

除了內容被擠掉以外，另一個常見問題是系統的文字會被弱化︰字體會變很小、顏色調淡等等。也是一樣版型很有質感，可是會擔心客戶如果有老花眼，能不能用這個系統。

個人的經驗是和越有天分的美工合作，我越要為這個問題頭痛。因為設計得精巧美麗，會令人狠不下心去改它。我可以堅持收復失土，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/6708696062266687512/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=6708696062266687512' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/6708696062266687512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/6708696062266687512'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2009/06/blog-post.html' title='網頁設計與網頁內容的領土之戰'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_sAOseBJsucw/SkjftawuXjI/AAAAAAAAAIo/w1oK1P4iwyM/s72-c/kell4bmp.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-6819812839880048404</id><published>2009-05-30T16:00:00.009+08:00</published><updated>2010-04-24T11:06:26.249+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='養身保健'/><title type='text'>資訊族的防痔抗痔要領--病史分享</title><summary type='text'>做程式設計這個行業的人，每天在電腦前動不動就連續坐幾個小時。都沒有機會挪一下小屁屁，讓局部的血液循環一下。如果又是像我這樣的宅男，回家喜歡抱著電腦：上網、找資料、玩遊戲，那就要列入痔瘡的高危險群了。我在辦公室常常勸年輕的同事多起來走動，午休時間吃完飯就去四周散個步再回辦公室。這些話常常被當成古怪歐吉桑的嘮叨，沒被理會。唉呀，這可是過來人經驗之談。

痔瘡這個東西，如健康教育課本說的，是靜脈管曲張擴大，通常是跟血液循環不順暢有關。雖然也會發生在其他部位，這裡只談患處在直腸肛門的情形。醫學上也分一二三四期。跟很多病不一樣的是，即使第三第四期也不見得是什麼致命的重大疾病。由於那邊是沒有痛覺的，等自己發現不太對時，通常都已經到第三第四期了，往往只能手術才能治療了。

初期的痔瘡不旦沒有任何不舒服，甚至沒有任何感覺。通常會察覺到，多半是因為便便時流血，或是肛門附近腫痛。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/6819812839880048404/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=6819812839880048404' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/6819812839880048404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/6819812839880048404'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2009/04/blog-post.html' title='資訊族的防痔抗痔要領--病史分享'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-8781398860064221622</id><published>2009-04-01T22:02:00.027+08:00</published><updated>2010-04-24T11:07:20.021+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='環保與素食'/><title type='text'>素食者與維他命B12</title><summary type='text'>最近吃素的朋友都要努力保重身體。

隨著素食風潮，媒體越來越關心素食者的健康。全國只要有一位素食朋友因為營養均衡的問題生病，第二天就可能上報紙頭條。國外嚴重的個案還會變成國際新聞，台灣的報紙電視都會報。雖然有全國有很多偏食的葷食者有營養相關的疾病，醫院有無數的病患因為煙、酒、肉食引起的疾病受苦，廣大的慢性病患也大多跟煙、酒、肉食有關，但是媒體記者們執意特別關心素食者的健康，溫情真是令人感動。我們純素者何德何能，如果不照顧好自己，不是辜負了大眾美意嗎？

這些新聞大多跟維他命B12缺乏症有關。B12是歷史上最後被發現的維生素，機制可能也是最複雜的。缺乏B12會造成多種危險的症狀。從疲倦、情緒沮喪到影響智力、精神疾病、貧血、消化系統問題等等。

素食者與葷食者都可能罹患B12不足症，但是統計上而言似乎素食者機會較高。 一般認為原因是因為，動物性食品如肉、內臟、奶、蛋是B12的穩定來源，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/8781398860064221622/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=8781398860064221622' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/8781398860064221622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/8781398860064221622'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2009/04/b12.html' title='素食者與維他命B12'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-5827634841841363768</id><published>2009-03-20T18:40:00.007+08:00</published><updated>2009-03-21T09:25:15.058+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='環保與素食'/><title type='text'>為什麼素食可以救地球? 這次讓數字自己說話。</title><summary type='text'>香港素食協會的文章。這應該是綜合整理的列表，可惜上面數字的來源沒有直接引述。我想關鍵不在這些數字的精確度，而是背後傳達的警訊，值得人類深思的更深層問題。即使不考慮環保，不在意自己的健康，但就經濟上而言，肉食也直接造成飢餓，直接促成餓死的饑民，造成戰爭的來源。一個人吃肉會讓二十個人挨餓。即使不同情動物的痛苦，光是因為人類的同胞愛我們就該改採素食。香港素食協會的原文由此進。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/5827634841841363768/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=5827634841841363768' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5827634841841363768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5827634841841363768'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2009/03/blog-post_20.html' title='為什麼素食可以救地球? 這次讓數字自己說話。'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-6519860671618551013</id><published>2009-03-19T17:20:00.025+08:00</published><updated>2010-04-24T11:08:17.585+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>程式設計師在專案中要先照顧好自己(2010/1/10改版)</title><summary type='text'>一位專業的程式開發人員，每天接觸的技術與技能很多，使用的API、Framework各不相同。做為技術主管該做的叮嚀與規定似乎多如牛毛，不勝枚舉。假設Java有了程式規範，Ajax時代來臨了，是不是Javascript也應該有規範?程式要記錄Log，到底該記多細?可以規定程式碼要加註解，可是有的人只在顯而易見處加註解，洋洋灑灑，只是讓程式版面更亂。有的高手懂得只在關鍵處加上恰到好處的註解，雖然看起來註解很少，但程式碼卻更好讀。另一個問題是Refactoring，重構是好技術，但是實際上執行起來會是破壞多還是建設多？不懂自己怎麼能當那麼多年的技術主管，這麼多問題還是無解，想來真是汗顏。

最近在這個問題上有了新的體會，還沒充分地驗證正不正確，先在此分享：對於技術人員，第一步該要求的是要能照顧自己。基於為自己考慮(而對其他人無害)的立場做好該做的事。而不用先要求主動對同儕與客戶的立場的考慮太多</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/6519860671618551013/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=6519860671618551013' title='5 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/6519860671618551013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/6519860671618551013'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2009/03/blog-post_18.html' title='程式設計師在專案中要先照顧好自己(2010/1/10改版)'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-1736051856795691175</id><published>2009-03-13T23:13:00.039+08:00</published><updated>2009-03-22T11:33:15.625+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><category scheme='http://www.blogger.com/atom/ns#' term='音樂欣賞'/><title type='text'>歌劇『費加洛的婚禮』的開場</title><summary type='text'>如果要問：自古到今，最偉大的歌劇是哪一齣？我答案是莫札特的『費加洛的婚禮』（Le Nozze Di Figaro）。這是一齣義大利文的喜歌劇，超搞笑、超緊湊、超精彩、超優美，還隱藏一堆爾虞我詐的詭計，但計畫中卻又不斷產生意外，笑料百出。毫無冷場，百聽不厭，空前絕後的作品。（咦！我好像是電影的片商在做新片宣傳。）可惜這麼棒的作品似乎只有古典樂迷常欣賞。其實這齣歌劇光是從開場不到三分鐘的音樂片段，就能看出這齣歌劇為甚麼偉大，跟其他歌劇有什麼不一樣。以下就是這齣戲序曲演奏完，幕剛拉開時的的音樂。這一小段音樂的形式有點像我們在交響曲中常聽到的曲式的感覺：有第一主題、第二主題，有呈示、擴充、再現、尾聲（感謝老婆指出：這是A-B-A'-B'-B''的歌謠曲式）。不過這可是一齣歌劇，有歌詞、有劇情的。莫札特將這個音樂的形式，跟氣氛的轉折與劇情的進展做結合，配合得十分巧妙。即使不看演出，光是歌詞與音樂，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/1736051856795691175/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=1736051856795691175' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1736051856795691175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1736051856795691175'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2009/03/blog-post.html' title='歌劇『費加洛的婚禮』的開場'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-1495935026866525091</id><published>2009-02-25T16:51:00.022+08:00</published><updated>2010-05-05T17:30:34.991+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>極品程式碼--refactoring踢到鐵板（Part 3 後記）</title><summary type='text'>在第一篇和第二篇中，分享了一次Refactoring的經驗。當時覺得最大的考驗是意志力與信念。所以描述(抱怨)問題的困難度，以及心路歷程佔的篇幅最多。現在回頭想來，其實這篇兩篇文章真正分享的實務技巧，似乎可以化約成簡單幾句話:當程式碼很冗長，變數糾結得很複雜時，可以用extract method來將程式分割成小塊。由於變數的scope過大以及使用不當，extract出來的method將會出現ref以及out的參數。留待後續的refactor動作逐步消除或簡化這些參數。這個方法似乎只適用於C#(或是其他支援ref參數的程式語言)。
有另一點可以分享的經驗，當時也漏寫了。文字比對工具(如Merger, WinMerge)通常用於版本的比對，但是對於Refactoring也是很有幫助的。假想前人用copy-paste複製幾百行的程式碼，然後只改兩三個小地方。他當時做這件事只要15秒，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/1495935026866525091/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=1495935026866525091' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1495935026866525091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1495935026866525091'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2009/02/refactoringpart-3.html' title='極品程式碼--refactoring踢到鐵板（Part 3 後記）'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-4642698316611177704</id><published>2009-01-24T17:25:00.006+08:00</published><updated>2010-05-05T17:31:35.008+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object-relational impedance mismatch'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>為Database-Centric Architecture平反 Part 2</title><summary type='text'>誰才是捉得到耗子的好貓？

在Open Source領域中，Java跟PHP兩項技術都非常活躍。不過兩者的方向似乎不一樣。Java感覺上較擅長於MiddleWare與Framework的創新與精進，而PHP則有許多成功的應用軟體。Java有非常優秀的OR Mapping工具如Hibernate，MVC framework如Struts, Webwork，還有Spring、Wicket、iBatis、Sun自己推的EJB等等，真是百花齊放。但是你如果要找Open Source的討論區、Blog、內容管理系統、或是Wiki等應用系統，就是PHP的選擇多而且活躍。像是phpBB, 維基百科的引擎MediaWiki, XOOPS, JOOMLA等。

如果進一步觀察這個現象，又會開始令人覺得耐人尋味。PHP這些活躍的計畫，常常沒有用太複雜先進的架構，往往就是把『組合SQL指令的程式碼』跟『頁面』</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/4642698316611177704/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=4642698316611177704' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/4642698316611177704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/4642698316611177704'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2009/01/database-centric-architecture-part-2.html' title='為Database-Centric Architecture平反 Part 2'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-5724110885687744579</id><published>2009-01-22T22:35:00.077+08:00</published><updated>2011-04-18T23:03:43.668+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object-relational impedance mismatch'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>為Database-Centric Architecture平反 Part 1</title><summary type='text'>對軟體服務業而言，這四十年來資訊技術最重要的發明是什麼？

我的答案是『物件導向技術』以及『關聯式資料庫』這兩項。

我一直是物件技術的擁護者。工作上常常宣揚Design Patterns和Analysis Patterns的重要，喜歡把老舊的程式Refactor翻修成物件的架構。做SA時頭腦中的模型都是繼承、多型與patterns。何況Agile Methodology要透過物件技術才能發揮得淋漓盡致。

另一方面，可能是因為純數學背景的關係，我也很喜歡關聯式資料庫。SQL語法基本上就是充滿了集合論的風格（select from多個table就是做Cartesion Product，where條件就是由Axiom Schema of Separation定義集合的property，還有union, intersection等集合運算）。剛進這一行，SQL就用得很順手，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/5724110885687744579/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=5724110885687744579' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5724110885687744579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5724110885687744579'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2009/01/database-centric-architecture-part-1.html' title='為Database-Centric Architecture平反 Part 1'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-3420199591614171216</id><published>2009-01-09T20:50:00.016+08:00</published><updated>2009-03-16T13:28:44.697+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><category scheme='http://www.blogger.com/atom/ns#' term='音樂欣賞'/><title type='text'>迎接春天 聆聽春之聲</title><summary type='text'>今年冬天的天氣不是很舒服，很多同事親友都得了重感冒，連號稱不太生病（？）的老婆大人也咳嗽好久了，令人有些擔心。氣象報告說這波寒流更冷，會持續好幾天。天氣冷還能接受，但是每天天色陰陰暗暗，連沒太多煩惱的我也有點消沉懶散。（好像我原本就一直是這樣，不該牽拖天氣。）不過，新春就要到了。想起這首史特勞斯（Johann Strauss II）的春之聲(Frühlingsstimmen)，很好聽的一首歌：這是1987年的維也納新年音樂會，卡拉揚指揮，花腔女高音Kathleen Battle的演唱。這首歌雖然聆賞起來悅耳輕鬆，聽說其實非常難唱，所以市面上的錄音版本不多。卡拉揚對歌者很嚴格，樂團常不留給聲樂太多呼吸的空間。但是這次演出，Battle以嬌小的體型展現高度的技巧，配合得非常好。春天就要來了，振作呀，不要被寒冬打敗！希望這首歌能讓大家都記起春天的喜悅。（古典音樂透過網路，經過壓縮，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/3420199591614171216/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=3420199591614171216' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/3420199591614171216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/3420199591614171216'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2009/01/blog-post.html' title='迎接春天 聆聽春之聲'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-2748653731020124338</id><published>2008-12-12T15:24:00.003+08:00</published><updated>2009-03-10T15:57:18.059+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object-relational impedance mismatch'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>好文推薦︰資訊科學的越戰</title><summary type='text'>在Relational Database與物件技術的衝突下生活了幾年，最近想寫一些感想。無意中在網路上找到這篇精彩的文章:The Vietnam of Computer Science。原先我是從這個Blog讀到的。這個Blog做了入門的介紹，也連結到原文。原文網址在此。原文很長，我還沒仔細看完，但是因為是很精彩的比喻，忍不住就先在這裡推薦了。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/2748653731020124338/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=2748653731020124338' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/2748653731020124338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/2748653731020124338'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/12/blog-post.html' title='好文推薦︰資訊科學的越戰'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-6501561087974554897</id><published>2008-11-21T23:25:00.018+08:00</published><updated>2010-05-05T17:38:09.595+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>極品程式碼--refactoring踢到鐵板（Part 2）</title><summary type='text'>從事軟體這個行業，其中一個有趣的地方在於，程式碼要給機器（或compiler）看，也同時要給人看。我發現自己寫程式也是依照這樣的順序。迷糊健忘的我，永遠記不住任何一種語言的語法，常常用的library也記不住用法。幾乎都是靠IDE提醒、靠查閱文件，以及一些試誤的過程，直到讓電腦總算照我的意思走。接下來就要開始refactor，整理架構。把程式整理到看起來好讀又自然，再開發下一個功能。如果不在意程式碼好讀，功能一走通就繼續做下一個工作，過一兩天那支程式可能連自己都看不懂。

至於這次遇到的極品程式碼，為甚麼能發展到這麼複雜？歷代貢獻過的原作者們為甚麼能駕馭這樣的怪物，而我發呆幾天了就是看不懂？應該有什麼關鍵是我沒抓到的。(不肯承認自己特別笨。)


這個系統難refactor的原因，除了前一封信所提的風格問題以外，還有一些不利的因素。首先，這個程式是不穩定的，它的行為不一定都正確。而</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/6501561087974554897/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=6501561087974554897' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/6501561087974554897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/6501561087974554897'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/11/refactoringpart-2.html' title='極品程式碼--refactoring踢到鐵板（Part 2）'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-7404786947557378646</id><published>2008-11-20T21:47:00.028+08:00</published><updated>2010-05-05T17:36:51.354+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>極品程式碼--refactoring踢到鐵板（Part 1）</title><summary type='text'>最近遇到一個老舊的.Net系統，一直不斷出問題，而且程式碼複雜到大家都不敢碰。恰巧這陣子在練習refactoring的功力，所以手癢之下，決定拿其中最常惹麻煩的一個功能來翻修。

哇！這隻程式真是可怕。簡直像是經過Obfuscated的程式。正常的coding有可能做出這麼難下手的程式嗎？不知道當時原作者怎麼能想出這麼難懂的程式。只能用極品來形容。真要去追蹤只會頭暈目眩，像是天龍八部的珍瓏棋局一樣，內力不夠的話去盯著它看會不會吐血走火入魔呀！

究竟有多可怕呢？下面舉例講述其中一個字串變數strSysInfo生命週期，一個坎苛多變的命運。

strSysInfo從第322行開始代表從頁面某個欄位擷取的值。從第874行起strSysInfo是一個SQL Select結果的某個欄位，從1354行的if條件中的for迴圈中，strSysInfo會被用來接select query的字串，為了</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/7404786947557378646/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=7404786947557378646' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7404786947557378646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7404786947557378646'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/11/refactoringpart-1.html' title='極品程式碼--refactoring踢到鐵板（Part 1）'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-5410250722688993596</id><published>2008-11-16T10:40:00.012+08:00</published><updated>2010-05-05T17:39:02.509+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>拍這裡，拍現在---談寫實主義的海角七號</title><summary type='text'>
因為我非常懶得上電影院，家中也沒裝第四台，所以看電影機會不多。不過還是慕名地去劇院看了海角七號這部有趣的電影。

我覺得這部電影成功的原因是：
1. 這是台灣少見的，很徹底的寫實主義的電影。很真實，讓大多數人都有共鳴。
2. 選擇了非常討好的題材。一群失意的藝術愛好者，最後在舞台上大獲成功，這個題材總是容易賣座。

導演在這麼拮据的經費和資源下拍攝，但是仍能兼顧票房考量，我個人是很認同的。電影、表演藝術或是音樂工作者都應該要記得觀眾與票房。李安導演也常說，他的目標就是要拍好商業片。

聽說魏德聖導演正在拍新片。我相信這是一個很大的考驗，這個考驗在軟體這一行，稱為『第二系統效應』。這個詞是從人月神話（The Mythical Man-Month）這本書學來的。第二系統效應的意思是說，一個軟體計畫在第一版的開發，常常因為經費與資源有限，投資者也可能急著上市，測試市場的反應。由於這些時程、</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/5410250722688993596/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=5410250722688993596' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5410250722688993596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5410250722688993596'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/11/blog-post.html' title='拍這裡，拍現在---談寫實主義的海角七號'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-3637819996661141405</id><published>2008-09-28T20:25:00.015+08:00</published><updated>2010-04-24T12:24:19.630+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='環保與素食'/><title type='text'>節約能源的關鍵 勇者才敢面對的真相</title><summary type='text'>最近跟親友聊到環保的議題，發現很多人根本不知道，現代畜牧業對資源的損耗是很劇烈的。

例如水資源，先不提畜牧所污染的水源，畜牧本身就需耗用大量潔淨的水。只要少買一個速食店的漢堡，省下來的水資源足夠一個人一個半月的洗澡用水。當政府或環保團體呼籲我們節約用水，使用省水龍頭，放裝滿水的寶特瓶在馬桶水箱中，用洗米水洗碗筷與澆花等等措施，真正的最大效果是求得心安。以及能省一點水費。但是即使全民都徹底實踐家庭節水措施，對於整體水資源的節省量還是微乎其微的。比不上每天少吃一口牛肉所能省下來的水。

假想一塊耕地種植穀物做飼料，用這些飼料畜養牲畜，給人類作為食物。如果這塊土地改為種植直接給人吃的食物，可以多養活十多倍的人。

假設一公斤穀物所需要耗用的能源是E（包含農機的燃料與用電，運輸，保存等等作業），那麼要生產一公斤肉品需要十幾倍的穀物，就是E的十多倍。這還沒加上畜牧本身所使用的能源。

所以，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/3637819996661141405/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=3637819996661141405' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/3637819996661141405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/3637819996661141405'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/09/blog-post.html' title='節約能源的關鍵 勇者才敢面對的真相'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-3470656770163694555</id><published>2008-08-20T13:44:00.003+08:00</published><updated>2008-08-20T13:59:38.594+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>Library與Framework哪裡不同?</title><summary type='text'>今天在Martin Fowler的Bliki上的Inversion Of Control那篇看到這段。這點之前我似乎隱隱中了解，不過說不出明確的定義。Library是讓你呼叫的程式，而Framework會呼叫你寫的程式。或者說使用Framework時，你寫的程式是為了給Framework呼叫。像Servlet寫出來，是要放在Web Container給AP Server呼叫的。我們寫的Servlet有點像是Event程式一樣。所以JavaMail是Library，而MVC Framework就是名副其實的Framework。Log4J是Library，JUnit是Framework。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/3470656770163694555/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=3470656770163694555' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/3470656770163694555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/3470656770163694555'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/08/libraryframework.html' title='Library與Framework哪裡不同?'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-4083183830084896013</id><published>2008-07-25T00:25:00.036+08:00</published><updated>2010-04-24T11:48:56.557+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><category scheme='http://www.blogger.com/atom/ns#' term='音樂欣賞'/><title type='text'>五彩繽紛的水果沙拉</title><summary type='text'>在車上收聽99.7的廣播，聽到很可愛的一首法國香頌：Salade de Fruits。主唱者居然不是法國歌星，而是日本歌手小野麗莎。車上聽不清楚歌詞，只是隱約地聽到副歌：Salade de fruits jolie jolie jolie. Tu plais a mon pere, tu plais a ma mere.（水果沙拉好漂亮，爸爸媽媽都喜歡）腦中浮現的情景是一群小朋友快樂地享用著水果沙拉，而且全家都愛吃。


回家上網查，找出了歌詞。原來水果沙拉Salade de Fruits其實是一位夏威夷女孩的名字。前三段的副歌都有"Tu plais a mon pere, tu plais a ma mere"(我爸爸喜歡妳，我媽媽喜歡妳)。到了第四段卻改為"Tu plais a ton pere, tu plais a ta mere"（妳爸爸喜歡妳，妳媽媽喜歡妳）為甚麼呢？</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/4083183830084896013/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=4083183830084896013' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/4083183830084896013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/4083183830084896013'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/07/blog-post_25.html' title='五彩繽紛的水果沙拉'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-7826269981588306723</id><published>2008-07-19T11:40:00.029+08:00</published><updated>2010-04-24T12:11:30.669+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><title type='text'>紅斑鳩來訪記</title><summary type='text'>星期一，老婆去屋頂曬衣服，發現一隻小鴿子在屋頂散步，還誤闖進樓梯間，趕忙將它請出去。

星期二，小鴿子居然還在！我們判斷它可能不會飛，被困在屋頂。因為屋頂上光禿禿的，連一棵樹也沒有。它不時啄地面，應該是吃螞蟻。我們還是用容器裝了水跟米放在旁邊給它享用。不過它似乎不懂得找容器內的食物吃。由於天氣炎熱，怕它熱到，所以在屋頂上撒水。倒是一聽到水聲它就靠過來，低頭喝地面的水，而且一直往水柱衝。夫妻兩人都對鳥非常不了解，我們怕潑濕小鳥會讓它生病，就把水關起來。

網路上請教朋友，加上查了點資料，尤其是養鳥的Sun給了不少建議。我們得到三個結論：1. 小鳥會需要洗澡 2. 餵食過多也不行，會讓小鳥失去覓食能力。3. 不要讓野鳥習慣人類，失去警覺性。

又上屋頂再潑一次水，這次就順便讓小鳥沖個夠，不理他了。

星期三，天氣持續炎熱，一醒來就上屋頂潑水。果然前一天洗過澡後，現在就開始會躲水。不過怪怪的，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/7826269981588306723/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=7826269981588306723' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7826269981588306723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7826269981588306723'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/07/blog-post_19.html' title='紅斑鳩來訪記'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-1438572432015151491</id><published>2008-07-07T23:11:00.026+08:00</published><updated>2010-04-24T12:12:28.631+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='豐田生產方式'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>豐田生產方式：愛惜老舊的設備</title><summary type='text'>大野耐一在他的書中說，會計用語的折舊費、帳面價值，是為了會計與稅法方便而定出來的概念，但大多人忘記它跟設備實際的使用價值沒有一點關聯。混淆了這點，就會有以下的錯誤想法：
"這個設備早就折舊完畢，任何時候都可把它丟掉"
"設備的帳面價值已經等於零，若在這個設備上花錢改造，無疑是賠錢，不如換部性能好的新機器"
其實設備價值不在於形式的新舊或是出廠年份，而是看可動率的高低。幾十年的老舊設備可能因為保養得宜，至今仍維持100%的可動率，那麼價值並沒有減少。去年買的新機器如果常出問題，只有50%的可動率，那它的價值只有50%。

他書中沒有強調，但我覺得也要考量的是，新設備牽涉到新的操作流程的制定、操作方法的訓練、保養方法的訓練等成本，而且新設備穩定性也是未知的風險，這些因素都不該過於輕忽。

在軟體這一行做類比，設備不是只對應到電腦、印表機等硬體設備。使用的開發工具、Frameworks、</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/1438572432015151491/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=1438572432015151491' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1438572432015151491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1438572432015151491'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/07/blog-post_7170.html' title='豐田生產方式：愛惜老舊的設備'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-7187766378238782347</id><published>2008-07-07T12:52:00.006+08:00</published><updated>2010-04-24T12:13:13.806+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><title type='text'>大家都是中低收入戶?--其實是個大烏龍</title><summary type='text'>BB和他哥哥針對中低收入戶這一則報導做了更深入的研究。果然是學者，一出手就是不一樣，比我先前的觀察深入詳實很多。他們還將結論投書給中時電子報，該文的超連結在此，在此向兩位的熱心與正義感致敬。中時電子報網站上的版本被刪減了一些，感謝BB授權我在此刊出原文。

上週許多媒體都有一則 '北市月薪五萬以下 淪中低收入' 的新聞. 內容大致上是 '北市個人月收入49,532以下，屬於後段班...都是中低收入一族...就是落在後50％的一群，屬於收入的後段班...如果以家庭年收入的角度來看，台北市居民的家庭年收入...如果落在148萬元以下，便落到後百分之五十的家庭這一群。' (新聞中另有其他縣市的中低收入戶 '新標準'. 為了簡潔我們只以台北市為例).
這則新聞引起不少人注意. 在網路上有很多人討論. 許多人驚歎 '天啊, 我已經是中低收入戶了'.

其實, 這則新聞來自層層的錯誤和誤會, </summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/7187766378238782347/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=7187766378238782347' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7187766378238782347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7187766378238782347'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/07/blog-post_07.html' title='大家都是中低收入戶?--其實是個大烏龍'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-2417914087430707482</id><published>2008-07-05T14:47:00.007+08:00</published><updated>2010-04-24T12:13:58.392+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><category scheme='http://www.blogger.com/atom/ns#' term='環保與素食'/><title type='text'>省電大作戰第一步：從我們享受不到的用電省起</title><summary type='text'>台灣家庭用電的一度電要多少錢呢？這決定於用電量多少。台電電價可以參考電價表。不過，簡單地算的話，可以假設一度電大約3元。

什麼是一度電呢？一度電等於一千瓦小時，也就是100瓦的燈泡量十小時的用電，或是一千瓦的電熱器連續運轉一小時的費用。

聽起來不是很貴：例如房間用省電燈泡，出門前忘記關，連續開一整天，第二天發現才關上的話，也只損失兩三元。那究竟為甚麼家中的電費會那麼貴呢？要怎麼樣省電最有效果，而且對生活品質與便利性影響不大呢？由於電費單兩個月才收到一次，平時做的省電措施效果如何，都要一些時間才看得到。這是個需要長期研究的功課。

不過最近的心得是，首先需要節省的電，是我們沒有直接享受到，或是很久才享受到一次的用電。這類用電，大多是電器的待機狀態。電器在待機的時候，通常瓦數很小。不過這種用電我們最沒感覺，不像是冷氣機開了幾個小時就對荷包覺得有些心疼。待機耗電有幾個特性：
1. </summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/2417914087430707482/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=2417914087430707482' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/2417914087430707482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/2417914087430707482'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/07/blog-post.html' title='省電大作戰第一步：從我們享受不到的用電省起'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-4865690370439018105</id><published>2008-06-27T12:04:00.021+08:00</published><updated>2010-04-24T11:29:03.315+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><title type='text'>大家都是中低收入戶---真的是這樣嗎？</title><summary type='text'>（本文發表後的後續有進行進一步的研究，請參照這篇。）

傳媒的好處，是讓我們秀才不出門，能知天下事。但是要小心傳媒一個很大的副作用。它會讓你以為，自己每天過的生活，週遭的一切人事物，都是假的、扭曲的或是少數的，媒體上描述的一切才是真的、才是大多人的看法。從媒體看來，似乎全民都支持A，討厭B。如果恰巧你和身邊的人都很喜歡B，你會以為大概是自己這一群跟不上潮流了。其實不見得是如此。

這次要談的是這篇工商時報的新聞：北市月薪五萬以下 淪中低收入。（如果超連結不能用了，請用標題搜尋一下。）這篇文章得到許多迴響，也令許多薪水階級沮喪與不安，聽說這兩天很多人在MSN上都寫"我是中低收入戶"。好多Blog都在討論這個新聞，感嘆台北生活不容易。

但是，等一下，真的是這樣嗎？我們的身邊的人收入真的那麼高嗎？真的一般的家庭都有這麼高的年收入嗎？當然，個人的經驗，只是偏頗的採樣，也許我只有機會認識窮人。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/4865690370439018105/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=4865690370439018105' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/4865690370439018105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/4865690370439018105'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/06/blog-post_27.html' title='大家都是中低收入戶---真的是這樣嗎？'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-5872800563466312927</id><published>2008-06-24T14:00:00.003+08:00</published><updated>2010-05-13T14:09:27.368+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='豐田生產方式'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>豐田生產方式：改善</title><summary type='text'>（2008/6/24 正式版）改善，日文唸成kaizen。kaizen這個字，已經成為西方各語言的外來語，成為經營管理的術語。可見這是多麼被全球重視的觀念。

大野耐一說作業員的動作分為浪費跟作業兩種。浪費，指的是作業上根本不需要的動作，應該立刻去除的。例如等待、堆積半成品等。作業的話又分為『沒有附加價值』與『增加附加價值』兩種作業。沒有附加價值的作業，是本來該視為浪費，但現行作業下不能避免的。例如步行去取零件、拆開外購零件的包裝等。此外，剩下的是有價值的加工，稱為『增加附加價值的作業』。

排除浪費、提高『增加附加價值的作業』的比例至100%，是TPS永遠持續追求的目標。

以生產線的改善做例子。原先大量生產的生產線，是採用直線的輸送帶，作業員站在輸送帶的兩側作業。經過分析，會發現每個作業員拿起半成品要一秒，放下要一秒。假設完成該零件需要十個人的話，完成一個零件就浪費了二十秒。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/5872800563466312927/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=5872800563466312927' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5872800563466312927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5872800563466312927'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/06/blog-post_06.html' title='豐田生產方式：改善'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-7861099548022511475</id><published>2008-06-08T21:50:00.011+08:00</published><updated>2008-06-09T14:33:18.833+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><title type='text'>抗議綜藝大哥大! 魔術比賽中虐待動物的表演</title><summary type='text'>昨天看張菲的『綜藝大哥大』的『大魔競』單元，有一位參賽者的用鴿子做表演。當第一隻鴿子出現時，我心頭就糾結了一下。這隻鴿子全身經過粗糙地染色，而且不像一般表演中的鴿子那麼溫馴，一出場就狂亂地揮翅膀，極力扭動身體掙扎。看起來感覺是極度的痛苦與恐慌才會做出的反應。這鴿子顯然被鍊子之類的道具限制住行動，雖然無助地拍打雙翅，羽毛紛飛，顯然仍無法掙脫。接下來參賽者變出了第二隻、第三隻等等，每一隻竟然反應都一樣，現場特別來賓也有人一直說好可憐。表演者也似乎一直粗暴地使勁壓制鴿子的動作。這不像是因為表演場合氣氛造成鴿子緊張。因為同樣節目同樣場合中，那麼多魔術表演都用鴿子，大多鴿子都很溫馴，偶而發生小意外，像是動物掉落在地上散步等等，不過從沒有見過動物在表演中這麼無助而拼死命的掙扎。讓人懷疑在練習期間，這些可憐的動物受到參賽者什麼樣的對待。更可怕的是，這個表演中多次使用爆筒。從電視的音效聽不出來威力多大，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/7861099548022511475/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=7861099548022511475' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7861099548022511475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7861099548022511475'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/06/blog-post_08.html' title='抗議綜藝大哥大! 魔術比賽中虐待動物的表演'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-8768904748108646244</id><published>2008-06-07T23:34:00.006+08:00</published><updated>2010-04-24T10:35:11.139+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><title type='text'>評量與競試</title><summary type='text'>考試通常有兩種目的。第一種是測驗應試者有沒有具備該有的能力，另一種是有限的位子要讓應試者在考試中競爭，選出最優秀的。前者在本文暫時稱為評量，後者稱為競試。在法文中，這兩種考試是用不同的字。競試叫做concours。

例如，以下的考試屬於評量：全民英檢
學校的期中期末考
博士班資格考
考駕照
少林寺出師前打木人巷及十八銅人
以下的考試屬於競試：大多數的招生考試
中國古代科舉
高考
奧林匹克數學競賽
所以評量應該要設定範圍與標準，不該太難或是太容易，每年的評量的難易度應該相當一致。而競試重點在於能分出高下，考試範圍與難度不用侷限。可以依照席位數與預估本次考生的能力，彈性調整考題的難度。這個劃分應該是很明顯的。可是在我們國家的教育體制，似乎所有重要的升學考試都在兩者間搖擺。

法國高中修業結束，必需要通過一個國家評量考試，叫做baccalauréat，才能得到文憑。傳統上有沒有通過</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/8768904748108646244/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=8768904748108646244' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/8768904748108646244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/8768904748108646244'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/06/blog-post.html' title='評量與競試'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-1112755220600495211</id><published>2008-06-06T11:43:00.003+08:00</published><updated>2010-05-13T14:08:59.417+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='豐田生產方式'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>豐田生產方式：少量多樣生產</title><summary type='text'>（2008/6/6 正式版）在豐田之前，福特開創了大量生產的道路。大量生產，會降低每個單位的生產成本。量越大，單位成本越低，銷售獲利也會越大。但前提是，產品必須是做出多少，就能賣掉多少。一旦銷售量下降，會造成大量庫存。如果為了促銷而降價，那原先因大量生產帶來的成本優勢也就不見了。

豐田生產方式TPS的設計不是朝向大量生產，而是少量多樣化的生產。他們認為，產品會有生命週期，汽車產業的景氣也是有高有低，所以生產方式的設計，不該只是為了增產而考量，也要能在減產的階段持續維持競爭力。

少量多樣化的堅持，也是因為Just in Time(剛好即時)的原則。由業務賣出車子來觸發生產。各車型的銷售量以及銷售比例，沒辦法事先掌握。所以生產線要隨時能生產各型的車子，同型車一次可能只生產一兩台。

要做到少量多樣，有非常多措施來配合。例如一次生產小批量，意味著要經常更換模具。而更換模具是費時費力，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/1112755220600495211/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=1112755220600495211' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1112755220600495211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1112755220600495211'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/05/blog-post_28.html' title='豐田生產方式：少量多樣生產'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-8569722739018197540</id><published>2008-05-21T18:54:00.020+08:00</published><updated>2010-04-24T12:22:13.706+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><category scheme='http://www.blogger.com/atom/ns#' term='環保與素食'/><title type='text'>[抱怨文]煩人的充電變壓器</title><summary type='text'>許多電器為了本體的輕薄小巧，將供電的變壓器分離出來。感覺上只有傳統的電器如電風扇、電視機會是一個插頭直接插在牆上，新的電器設備大多是要經過一個變壓器的。例如，我家的LCD電視，是普通插頭，但是電腦的LCD螢幕，就接了一個又大又重的變壓器。雖然這兩者的主要構造應該差不了多少。

更小巧的，裝電池的電器，也常常要附變壓器，為了充電用。像手機、數位相機、無線電話這類產品都是。以前的電子辭典是直接用三號或四號電池，現在很多也改為充電電池加上變壓器。

以一台組裝的PC而言，螢幕、印表機、硬碟外接盒、hub、ADSL數據機，無線網路等等，這些變壓器可以組個籃球隊了。

也許，傳統家電跟3C產品的差別，就在變壓器上。這實在是一個很糟糕的趨勢，不知道為甚麼沒有政府單位或是消費者團體注意。

首先，使用上非常不方便。一般家庭牆上插座的距離是標準規格，如果變壓器是連著插頭，就不能容許兩個變壓器並排，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/8569722739018197540/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=8569722739018197540' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/8569722739018197540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/8569722739018197540'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/05/blog-post_21.html' title='[抱怨文]煩人的充電變壓器'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-1023216978958179091</id><published>2008-05-15T12:20:00.009+08:00</published><updated>2010-05-13T14:08:11.119+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='豐田生產方式'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>豐田生產方式：自働化</title><summary type='text'>（2008/5/16改版）
要自動生產也要自動停止
自働化一辭的解釋是，舊有的自「動」化生產要再加上「人」的感應力跟判斷能力，所以用這個怪字。簡單說，除了自動生產也要自動偵測問題後停機。我不了解日本人對漢字的感知，無法理解這個詞的奧妙之處。可是姑且不論字詞是否妥當，自働化的概念是很了不起的創舉。

豐田原先是做織布機起家。當時織布機織布，如果絲線斷掉的話，就必須重織一遍。豐田佐吉發明的織布機，如果線斷了或是用完，會自動停機，絕不生產瑕疵產品。

自働化的特色
這個理念到了TPS汽車生產時，做了更進一步的推廣。自動生產設備會同時自動偵測瑕疵，一有瑕疵就立即停機，不持續產出瑕疵品。另一方面，如果任何工作人員發現瑕疵，也應立即中斷生產線。所謂中斷，不只是停這台機器，而是整廠生產動作全部停下來，免得其他零件生產過度，造成庫存。大家一起找出問題的根源，調整設備或流程讓問題不再出現。然後才繼續生產。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/1023216978958179091/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=1023216978958179091' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1023216978958179091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1023216978958179091'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/05/tps.html' title='豐田生產方式：自働化'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-2804015324746363271</id><published>2008-05-15T11:20:00.023+08:00</published><updated>2011-04-10T10:53:43.083+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='豐田生產方式'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>豐田生產方式：剛好及時 Just in Time</title><summary type='text'>(2008/5/16改版)什麼是Just in Time?
Just in Time簡單地說，就是"必要的零件，在必要的時刻，只有必要的數目"。零件只是及時(in time)生產還不夠，如果零件太早到達，堆積在生產現場會影響效率，如果零件太多，會佔據工作空間及增加整理、清點等負擔。所以及時前面還要加上剛好（just）這個字：不只要有，還要剛剛好：不早不晚，不多不少。

TPS著重於排除一切浪費。過度生產是最大的浪費，光是庫存的成本就很高。更可怕的是，過度生產會掩蓋住其他組織內的浪費不被發現。Just in Time的觀念，就是要將零件的庫存降低到幾乎為零。但這要怎麼達到呢？


推式系統與拉式系統
傳統生產控制可以用"推式系統"來形容：由前段製程生產的物件，送往下一個製程。所以稱為『推』。1950年，豐田廠長大野耐一想出一個做法，完全是反其道而行，稱為拉式系統。後段製程依照需求向前段領取</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/2804015324746363271/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=2804015324746363271' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/2804015324746363271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/2804015324746363271'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/05/tps-just-in-timejit.html' title='豐田生產方式：剛好及時 Just in Time'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-8536857250097303749</id><published>2008-05-09T14:07:00.003+08:00</published><updated>2010-05-13T14:06:54.847+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='豐田生產方式'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>豐田生產方式（Toyota Production System）</title><summary type='text'>Toyota Production System, 簡稱TPS，是豐田發展出來的一套生產方法。雖說是生產方法，這個方法及背後的哲學也可以應用在許多不同行業，也可以視為一套管理的技巧。對軟體同業而言，可以將TPS比喻為「製造業的Extreme Programming」，或是「製造業的Agile Methodology」。不過這麼說在先後順序上不太對。TPS是豐田從二十世紀初起，累積了五十年以上的改善方法，在1950年代就已經大致成型。我個人猜想，Extreme Programming的概念相當程度是受到TPS的啟發；就像傳統的軟體工程，大多是源自西方工業工程的方法改良而來的。

順帶一提，資訊界愛用的Just-in-Time這個詞，就是TPS的術語，豐田喜一郎提出來的。

TPS有什麼威力呢？七零年代，豐田汽車晉升為全球性的汽車製造商。原本美國是汽車王國，但美國卻受到日本進口車很大的壓力。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/8536857250097303749/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=8536857250097303749' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/8536857250097303749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/8536857250097303749'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/05/toyota-production-system.html' title='豐田生產方式（Toyota Production System）'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-5152036976468528889</id><published>2008-05-02T20:14:00.001+08:00</published><updated>2010-05-13T14:06:10.435+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>漫談樣式（二）</title><summary type='text'>我在面談應徵的工程師時，常請對方說明一個最熟悉的設計樣式。通常得到的答案是MVC(model-view-controller)。

可惜，MVC不是設計樣式，是架構樣式（Architectural Pattern）。而且應徵者的描述大多不正確。我猜原因是因為大多人是從所謂MVC framework學MVC的運作。但MVC Frameworks大多都不是真的MVC架構，真正的MVC架構裏需要實做一個Observer，讓Model改變時可以通知View跟Controller。這在網頁架構下很難實做。

樣式運動不是只針對設計。有一本樣式巨作POSA(Pattern-Oriented Software Architecture)第一冊，，地位僅次於GoF Design Patterns，書中就依照樣式的特性分三類：
Architectural Patterns︰定義系統的基本架構或子系統的切割</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/5152036976468528889/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=5152036976468528889' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5152036976468528889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5152036976468528889'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/05/blog-post_02.html' title='漫談樣式（二）'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-6078759566440959437</id><published>2008-05-01T15:20:00.012+08:00</published><updated>2010-05-13T14:04:57.058+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>漫談樣式</title><summary type='text'>大家都知道設計樣式(Design Patterns)。為甚麼要叫做樣式呢？為甚麼23個樣式要寫成那麼大一本書呢？為甚麼不是一篇寫成"物件導向設計的23個快速技巧"的文章，用幾頁的篇幅介紹就好？

其實一個樣式告訴我們的不只是一個技巧。書中很大的篇幅在說明
這個技巧適用於哪些場合，不適用於哪些場合
哪些情況也許寧願考慮使用另一個樣式，或是跟其他樣式合併使用
這個樣式除了帶來好處，卻也帶來哪些副作用
其實濫用樣式會造成災難，並不是知道這樣的技巧就要儘管用。用得適當才是王道。所以要知道這23個技巧很快，但是要深入了解這23個樣式，我個人認為是非常困難的。

樣式對於個人提昇軟體開發的功力，有什麼重要性呢？有一篇有趣的文章用學下棋的歷程來做比喻︰

初學下西洋棋，要先學規則。每個棋子的名字、移動的方式、吃對方棋子的規則等等。這時雖然會下棋，但是技巧不好。隨著熟悉度的進步，他開始學西洋棋的原理。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/6078759566440959437/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=6078759566440959437' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/6078759566440959437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/6078759566440959437'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/05/blog-post.html' title='漫談樣式'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-1290313686524677608</id><published>2008-04-29T17:26:00.033+08:00</published><updated>2010-05-13T14:04:09.361+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>XP: eXtreme housekeePing</title><summary type='text'>老婆常問我，我對家裏PC整理得那麼好，掃毒、更新、硬碟整理、檔案分類都做得很完整，可是為甚麼對於家務的處理卻一團亂。

其實照顧好自己的PC只是我們這一行的基本功，軟體開發的整個過程牽涉到的管理與維護才是大學問。最近沒工作在家休息，又搬了新家，剛好是改過自新重新做人的好機會。開始努力整理家務以後，愈來愈同意老婆的評語。工作上採用的Extreme Programming(XP)，的確有許多practices可以應用在家務上。沒理由上班說一套，回家做一套。以下就是幾點心得：

需求管理︰

我們都知道客戶要求一個額外的小功能，往往不是客戶想的幾行程式那麼簡單。一個新增資料的功能，成本不在於開發這個頁面，而是伴隨的修改、刪除、查詢、log、統計的開發，以及這些功能的維護、dependency造成的系統延伸的難度、測試、文件、客服、教育訓練的複雜度等等。所以XP強調只把人力用在刀口。

</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/1290313686524677608/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=1290313686524677608' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1290313686524677608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1290313686524677608'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/04/xp-extreme-housekeeping.html' title='XP: eXtreme housekeePing'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-6406583009879119694</id><published>2008-04-25T22:54:00.011+08:00</published><updated>2008-05-07T23:09:44.958+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='環保與素食'/><title type='text'>SOS 遏止全球暖化！--濃縮版</title><summary type='text'>之前寫了一篇全球暖化如何抑止的文章，但是一些讀者反應全文太長。這裡將全文濃縮為九點重點，與各位分享。如要查證資料來源，或是進一步了解詳細內容，請看前面完整版的Po文。如果不立即降低甲烷，全人類可能活不過十年。如果不立即降低二氧化碳，人類可能活不過一百年。甲烷的溫室效果比二氧化碳強好幾十倍，主要來源是畜牧業造成，隨著新興國家的崛起快速惡化。甲烷的溫室效果短而快，也就是說降低甲烷可以幾年內抑止全球暖化。降低二氧化碳要幾十年才會有效果。跟全球大氣的二氧化碳含量一樣多的巨量甲烷長年冰封在海底與南北極，現今正因為全球暖化而快速釋出。北極冰帽即將溶解殆盡，如果讓這些甲烷完全釋放到大氣中，會導致嚴重的氣候巨變，造成地球大滅絕。科學家說為時未晚，只是改變要快。扭轉的方法就是減少肉食或吃全素，以及影響周圍的人減少肉食，也請被影響的人再去影響其他人。吃素同時有高效地減碳與減甲烷的作用。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/6406583009879119694/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=6406583009879119694' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/6406583009879119694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/6406583009879119694'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/04/sos.html' title='SOS 遏止全球暖化！--濃縮版'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-9048319579810261576</id><published>2008-04-22T17:25:00.009+08:00</published><updated>2010-05-13T14:10:42.314+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>物件模型的觀念與誤解</title><summary type='text'>前一篇post說明了OOA與OOD兩種物件模型的差別。本篇不再刻意強調兩者區別，而一般性地討論物件塑模的方法。也就是說，要怎麼摸索或"設計"出一個好的物件模型。它可以用在分析與設計。

首先指出幾個常見的誤解：
[錯誤]用UML來設計，就是在做object model。[正解]其實UML是一種符號或語言，但不是一種方法。你的模型可以用UML記錄下來，但是問題在於怎麼樣才能設計出好模型。UML只是語言不是方法。就好像Java是語言， TDD是開發方法。
[錯誤]用UML，才是object model。[正解]物件模型可以用UML或其他記號法來表示。Analysis Patterns整本書寫於UML誕生前，但它仍是Object Model的經典名著。

[錯誤]做物件模型的方法，就是把需求用use cases記錄下來。然後將use cases畫成sequence diagram，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/9048319579810261576/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=9048319579810261576' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/9048319579810261576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/9048319579810261576'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/03/blog-post_25.html' title='物件模型的觀念與誤解'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-4865012492146678631</id><published>2008-04-22T16:15:00.017+08:00</published><updated>2010-05-13T14:15:20.088+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>OOA範例：組織架構的樣式</title><summary type='text'>這裡用Martin Fowler的組織架構樣式為範例，說明OOA的威力。本文中難免有說明不清楚的地方，建議還是閱讀Fowler的原文會有完整的說明以及程式碼範例。

組織架構是各式企業應用軟體常遇到的問題。要用物件模型表達樹狀的組織架構關係，例如一個公司分成幾個處(Division)，每個處底下又分部門(Department)，部門下有成員(Person)。最直覺的模型如下：

模型一：靜態模型
模型二：階層(hierarchy)
換個角度想，"處"跟"部"有很多共同的屬性。我們可以將它抽象化，稱為組織Organization。Division跟Department兩個類別都繼承Organization。Organization的上級單位稱為parent。

在很多時候，組織跟個人有共同的屬性。例如你的電話簿上，一定同時有一些人的電話地址，也有一些機構的電話地址。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/4865012492146678631/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=4865012492146678631' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/4865012492146678631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/4865012492146678631'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/04/ooa.html' title='OOA範例：組織架構的樣式'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sAOseBJsucw/SA2Vmc0e2tI/AAAAAAAAAAk/Tl9bM_040Jo/s72-c/explicit.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-7021883352927499276</id><published>2008-04-18T20:55:00.020+08:00</published><updated>2010-05-13T14:16:40.595+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>OOA與Analysis Patterns</title><summary type='text'>在軟體業界所謂系統分析(SA)，傳統上指的是需求確認，而系統設計(SD)指的是類似開程式規格。SA通常要設計好頁面與資料庫，SD要開出達成這些頁面功能的程式規格，交由程式設計師來實做。

物件導向的技術引進以後，這個分野卻令人混淆了。首先，什麼是物件導向分析(OOA)？感覺上物件技術是很實作面的技術，如繼承、多型。我們畫Class Diagram、Sequence Diagram，這算是設計的行為吧！那麼，開發過程中的什麼practice是在做OOA呢？很多人以為用use cases表達需求就算是做OOA，很不幸的，use cases是表達需求的一個方法，但是跟物件技術沒有太大關係。（即使use cases是物件技術的族群流行的技巧。）

Martin Fowler寫了一篇專文討論這個問題：Is there such a thing as Object Oriented Analysis</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/7021883352927499276/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=7021883352927499276' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7021883352927499276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7021883352927499276'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/04/ooaanalysis-patterns.html' title='OOA與Analysis Patterns'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-5624456711265780794</id><published>2008-04-17T18:17:00.006+08:00</published><updated>2008-04-17T20:21:04.331+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>軟體亂度（Software Entropy）</title><summary type='text'>前面討論過技術債務，這裡介紹另一個有趣的隱喻(Metaphor)：Software Entropy。這是一個很巧妙的比喻，可惜要學過一些物理才能了解。我們平常喜歡用複雜度（Complexity）來說明程式碼有多亂，用義大利麵來比喻混在一起、亂得不得了的程式。改用entropy這個熱力學字眼，是因為軟體系統的發展過程跟熱力學的定律有些共同之處。entropy這個字中文翻譯為亂度，或是熵。我個人認為在軟體領域翻譯成亂度比較好懂。熱力學第二定律告訴我們︰一個隔絕的系統，在達到平衡前亂度一直增加，也就是說，如果要降低一個系統的亂度，需要外部消耗能量。這個定律告訴了我們電熱器加熱要用電以外，為甚麼冷氣與電冰箱降溫也一樣需要電。軟體開發也是一樣。無論怎麼努力預防，程式碼會需要不斷修改的。這個自然演進的過程都是在增加程式碼的亂度。除非我們真的排人力與資源去翻修它，這個亂度不可能自己降。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/5624456711265780794/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=5624456711265780794' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5624456711265780794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5624456711265780794'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/04/software-entropy.html' title='軟體亂度（Software Entropy）'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-5356109370173456267</id><published>2008-04-08T12:00:00.005+08:00</published><updated>2008-04-08T19:04:16.631+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><title type='text'>台語笑話一則</title><summary type='text'>阿土：哇買一間透天A樓仔厝阿西：恭喜！你真好額。新厝一定真舒適。阿土：哪有，細間又格漏水。"漏"仔厝。阿西：............................但是透天來講勿會細間啦。阿土：阮厝尾頂破一孔真大孔。郎對厝內看A著天頂。所以號做透天啦！阿西：＠＃＄＃＄％＠％</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/5356109370173456267/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=5356109370173456267' title='5 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5356109370173456267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/5356109370173456267'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/04/blog-post.html' title='台語笑話一則'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-3348662918853142776</id><published>2008-03-31T18:54:00.019+08:00</published><updated>2009-06-04T21:10:52.037+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雜談'/><category scheme='http://www.blogger.com/atom/ns#' term='音樂欣賞'/><title type='text'>西洋古典音樂跟一般音樂有什麼不同</title><summary type='text'>西方音樂有兩個要素是其他各民族的各種音樂所沒有的，這兩個要素就是對位與和聲。西方音樂發展的漫長過程，基本上是從單音音樂，發展到複音音樂，再發展到主音音樂。複音音樂的根基是對位法，讓多條獨立的旋律線同時交織進行。主音音樂是一個主要旋律配上和聲伴奏。現代的各種流行音樂形式如爵士，吸收了和聲的技巧，都是屬於主音音樂。對位法著重在音的橫向連結，和聲學著重在音的縱向連結。從巴洛克時期開始，和聲學與對位法就是作曲的兩大根基，這兩個方法互相又有互補的關係。一個曲子常常兩個方法交錯運用，有的作品較強調和聲，有的作品較強調對位。這跟時期與國家別也有關。例如不列顛的作曲家似乎是在和聲的部份比較突出，而對位成份的比較少。而義大利作曲家則特別愛對位。（個人從收藏的cd聆聽經驗來看，甚至覺得不列顛的演奏家普遍比較重視和聲面的表現，義大利的演奏家普遍比較善於呈現對位效果。不知道是不是錯覺。）受過古典音樂訓練，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/3348662918853142776/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=3348662918853142776' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/3348662918853142776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/3348662918853142776'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/03/blog-post_31.html' title='西洋古典音樂跟一般音樂有什麼不同'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-1290446451296259808</id><published>2008-03-27T13:34:00.012+08:00</published><updated>2010-05-13T14:17:42.699+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>什麼是單元測試</title><summary type='text'>Michael Feather提出單元測試的規則︰一個測試不能算是單元測試，如果它：跟資料庫溝通
透過網路跟外界溝通
碰了檔案系統
不能跟其他單元測試同時跑
要你對環境做特別的事才能跑，像是編輯設定檔
第一次看到這個規則當時，我自己跟團隊其他成員都很混淆。我們做的系統就是要和資料庫、網路跟檔案系統打交道。如果不測這些，難道只測一些沒什麼邏輯，不值得測的小物件？

後來我慢慢了解到，用Test-Driven Development(TDD)開發，會大幅改變程式碼的設計與風格。會做很多decoupling。我們以前"單元測試"的問題，不在"測試"，而在被測的"單元"。我們的class常常要引用很難建構的資料庫物件，關係糾纏在一起，而其實應該可以把關鍵的邏輯獨立切開。先前我們最常遇到三類問題︰1. GUI、2. 資料庫，以及3. 設定檔。我們的測試沒辦法涵蓋第一項，沒辦法避開二三項。

推薦</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/1290446451296259808/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=1290446451296259808' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1290446451296259808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1290446451296259808'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/03/blog-post_27.html' title='什麼是單元測試'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-7818142529070103489</id><published>2008-03-27T13:26:00.007+08:00</published><updated>2008-11-07T15:21:57.683+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>好文推薦︰Offensive Coding</title><summary type='text'>你程式常常要寫得非常具有防禦性（defensive）嗎？這可能是因為，你在跟攻擊性（offensive）的程式碼打交道的關係。需要做防禦性的動作，是因為我們跟具攻擊性的程式碼打交道。這些防禦動作都是為了避免呼叫端傳錯誤的參數，所以事先做預防的動作。但是，這些邏輯嚴重地污染程式的簡潔性，讓程式碼的關鍵邏輯掩蓋在大量防禦性檢查中。更重要的是，掩蓋問題會讓除錯工作變困難。(如果根本不該傳null進來，一旦真的傳null程式碼又把這個錯誤吃掉，造成的後果可能更難預料。)我們寫程式有一個重要的原則與技巧，就是讓錯誤發生時要掛在第一現場，而不是經過重重容錯的包裝掩飾，最後在不相關的點上爆發，造成除錯的困難。所以，傳null以及字串前後有空格這類問題，應該在源頭防止，而不是在接收端判斷。例如DB就應該將欄位設為禁止null，在頁面剛送出資料時就先清除不必要的空格。而不是在接收端做各種判斷。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/7818142529070103489/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=7818142529070103489' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7818142529070103489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7818142529070103489'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/03/offensive-coding.html' title='好文推薦︰Offensive Coding'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-4637629628228433907</id><published>2008-03-20T15:40:00.017+08:00</published><updated>2009-05-30T16:01:50.105+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='養身保健'/><title type='text'>多喝水 多喝水 多喝水</title><summary type='text'>早上起床如果覺得自己臉有些水腫怎麼辦？   a. 水腫表示體內水太多了，應該暫時停止喝水，等水排掉。  b. 吃利尿劑，幫助身體排水   c. 以毒攻毒，喝更多水。我個人沒有過這樣的問題，但記得正確答案是c. 喝水。不過不是以毒攻毒。水腫是體內電解質不平衡所致，例如吃太鹹。通常多喝水，排尿後就會改善。如果不喝水或是吃利尿劑，也許症狀慢慢還是會不見，但這會增加腎臟的負擔，反而不好。以下是另一個關於喝水的保健常識，是我自己的經驗，沒什麼科學根據，不過蠻實用的。有時覺得自己口味變重，吃東西都覺得不夠鹹，但同桌其他人都不覺得。這個時候可能是你開水喝太少。(這時血壓應該比平常稍高，可以量量看)只要接下來幾個小時多喝白開水（當然也會猛上廁所），這個口味重的問題會立即改善。你如果繼續多喝水的話，會發現自己變得對鹹味很敏感，別人覺得剛好你卻覺得鹹得發苦。為甚麼會這樣呢？我猜是人體要靠電解質平衡來保留水分</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/4637629628228433907/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=4637629628228433907' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/4637629628228433907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/4637629628228433907'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/03/blog-post_20.html' title='多喝水 多喝水 多喝水'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-509373773694797429</id><published>2008-03-19T11:16:00.007+08:00</published><updated>2008-08-25T00:51:53.699+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='環保與素食'/><title type='text'>SOS 遏止全球暖化！</title><summary type='text'>全球暖化的效應越來越明顯。這可不只是"今年夏天會更熱"這麼簡單的問題而已，毀滅性災難發生的時間點，已經在倒數計時。這已經不是後代子孫的問題，而是即將直接降臨在我們身上的災禍。雖然這些資訊很容易公開取得，但是顯然全世界政府與傳媒不夠積極地告訴我們到底發生了什麼事，應該怎麼辦。我們都了解自己在地球只是個短暫的過客，但您是否想過全人類可能在五到十年內受盡折磨地死去呢？而改變它的方法卻很簡單。（2008/8/25新增：這幾個月來不時有讀者反應，本文內容太難以置信，而跟筆者詢問是否有確切的資料來源。其實文中所有的超連結，都連到資料來源出處。歡迎點進去查閱原文。）從甲烷談起，這是一種很強的溫室氣體。它對地球的溫室效應強而猛烈，但是效果較短。以二十年的影響而言，它溫室的效果比二氧化碳強72倍，以一百年的影響而言，它比二氧化碳強25倍。甲烷在在大氣中的濃度於過去100年間增加成兩倍多，主要是畜牧所造成。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/509373773694797429/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=509373773694797429' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/509373773694797429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/509373773694797429'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/03/sos.html' title='SOS 遏止全球暖化！'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-50184029211972211</id><published>2008-03-17T22:08:00.004+08:00</published><updated>2010-05-05T17:44:02.123+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>活在現實，擁抱舊有程式碼</title><summary type='text'>軟體開發人員都希望在專案中應用更先進的技術與觀念，使用新的方法、流程與工具。想要開始引進CVS管控原始碼，想用OOAD方法、用jUnit做Test Driven Development等等，想嘗試導入的不勝枚舉。但手上的專案往往不容許我們導入這些︰舊包袱太多，程式架構很亂。既有的程式碼用的是舊技術，新技術放不進去。期待公司下一個專案能夠讓我們重頭好好做。到時候能做個乾淨的架構，不用背舊包袱，而使用新的流程或技術，讓我們真正發揮工作效率。

這個等待其實是不切實際的。一個進步的技術，要試著將它實現在背著舊包袱的現有專案中，並讓它的在這個專案中展現出價值（當然，前提是專案主管允許你這麼做）。為甚麼呢？
全新的專案是很罕有的。舊系統的延伸與維護佔軟體開發人員95%以上的工作比例。雖然在學校時，每一份作業，每一項實驗，牽涉到的程式碼都是重新寫的。但是就業以後，卻幾乎都在舊系統的基礎上開發。
</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/50184029211972211/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=50184029211972211' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/50184029211972211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/50184029211972211'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/03/blog-post_17.html' title='活在現實，擁抱舊有程式碼'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-299321971307836470</id><published>2008-03-17T11:29:00.000+08:00</published><updated>2008-03-18T15:25:44.632+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='環保與素食'/><title type='text'>[轉貼]環保人士忽略「素食是人類遏止氣候變遷的最佳利器」</title><summary type='text'>摘要全球暖化讓全球環境面臨人類有史以來最嚴重的威脅。但因為焦點全部集中在二氧化碳的排放，主要的環保組織所發表的數據，無法顯示我們今天所得知的其他氣體，才是造成全球暖化的主要元兇。結果，他們自然就忽略可以在一生當中，有效降低全球暖化效應的最佳對策：倡導素食。全球暖化與二氧化碳環保團體認為全球暖化對地球形成的威脅最大，這個面向是正確的，全球氣溫已經至少高於過去千年以來的記錄，而且增加的速度遠超過科學家的預測值，該預期後果包括沿海氾濫、極端異常氣候的增加、疾病的蔓延和大量的物種滅絕。很遺憾地，環保團體投注的焦點，只放在減少二氧化碳的排放方面，國家立法全神貫注在提高燃油經濟標準、降低發電廠的二氧化碳排放量、及投資替代能源等方面。對一般消費者的建議也集中在二氧化碳面向：買燃油效率佳的車和家電，並且減少使用頻率。這是很嚴重的誤判，根據傑姆斯漢森(James Hansen)博士等人所發表的數據顯示，</summary><link rel='enclosure' type='application/pdf' href='http://www.earthsave.org/news/earthsave_global_warming_report.pdf' length='0'/><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/299321971307836470/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=299321971307836470' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/299321971307836470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/299321971307836470'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/03/blog-post_16.html' title='[轉貼]環保人士忽略「素食是人類遏止氣候變遷的最佳利器」'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-4740898606280943544</id><published>2008-03-14T17:12:00.004+08:00</published><updated>2010-05-05T18:19:46.151+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>將技術債務視覺化</title><summary type='text'>技術債務（Technical Debt）這個詞是Ward Cunningham提出的。當程式設計師為了時效，用一個又快又髒，後續維護成本卻很高的作法解決問題，後續需要多做整理，我們就說他是負債，後續該整理的工作就是"債務"。例如不當地使用copy-paste、做出超複雜沒人懂得的if-else分支，或是該寫註解而沒有寫，都是典型的例子。用"債務"一詞是非常好的比喻，教我們處理技術債務就像處理財務上的債務的方法一樣。

怎麼說呢？我們先想想房貸有什麼特性︰
會讓我們早幾年住到一間舒適的房子，但是我們要長年背負著每個月負擔高額利息。
有能力的話我們可能會選擇大額清償，還本金要一次拿出很多錢，但是之後負擔的利息就輕鬆多了。
如果有一期還不出來，再去刷卡借錢來還，之後的利息就又更高了。
萬一債越欠越多，信用破產，會轉向地下錢莊借高利貸，以債養債。有一天黑道會在停車場堵你，摀住你嘴巴，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/4740898606280943544/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=4740898606280943544' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/4740898606280943544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/4740898606280943544'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/03/technical-debt.html' title='將技術債務視覺化'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-3630118465701375042</id><published>2008-03-13T22:37:00.002+08:00</published><updated>2010-05-13T14:20:53.027+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>經典好文推薦︰What is Software Design? By Jack W. Reeves</title><summary type='text'>作者Jack W. Reeves發表What is Software Design?這篇文章於1992年，13年後作者又寫了另一篇文章回顧當時的觀點。全文可以在這個網址下載。這篇文章引起的迴響很大，有堅決反對的意見，也有很多人受它啟蒙而用全新的角度看整個軟體開發的行為。我個人是屬於後者。這些觀點在1992年就提出，非常具有前瞻性，和後來的Extreme Programming的主張互相呼應，間接預言了將程式碼視為文件、自動測試、重構、Simple Design等觀念。

這篇文章探討的，是什麼叫做軟體設計。台灣大多數的軟體公司，將程式設計師視為一種機械性的勞力密集工作，只需要資淺，受過簡單訓練的新手就可以擔任。程式設計師的工作，是將系統設計師（SD）開出來的規格實做出來。還在這個模型下，引進工業工程的大量生產的管理辦法，稱為"軟體工程"。</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/3630118465701375042/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=3630118465701375042' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/3630118465701375042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/3630118465701375042'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/03/blog-post_13.html' title='經典好文推薦︰What is Software Design? By Jack W. Reeves'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-7231962918291709970</id><published>2008-03-12T00:07:00.000+08:00</published><updated>2008-03-18T14:46:55.405+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='環保與素食'/><title type='text'>素食比較貴嗎</title><summary type='text'>很多排斥素食的朋友，常會抱怨素食餐廳比葷食餐廳貴。其實我自己是在法國讀書時開始吃素的。從吃素以後，生活開支節省很多，省下的錢每個月可以多買一些CD跟書。在台灣素食反而貴嗎？吃素也後就不會光顧葷食餐廳，並沒有很認真地比較。會有這種差別，我猜可能有幾個原因︰台灣素食加工品很發達。素食加工品的原料較貴。當年在歐洲幾乎吃不到素食加工品。法國的肉品管理與檢驗的標準很嚴格，也許會造成畜牧業的成本高，相對蔬果就顯得便宜(當然是以他們的物價而言)。法國人連豬肉都可能做生肉料理，所以聽說他們對肉品檢驗標準是以可以生食為準。對抗生素等藥物的使用管制嚴格的話，提高了成本，也自然反應在價格上。聽在法國經營餐廳的朋友說，餐廳的生鮮肉品是嚴禁放在一般冰箱冷凍庫的，只能放在專門的超低溫儲藏設備。如果稽查單位在這家餐廳的冷凍庫找到任何生鮮肉品，會立刻倒漂白水將它銷毀，而且對餐廳重罰。不知道台灣法令是不是也這麼嚴格，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/7231962918291709970/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=7231962918291709970' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7231962918291709970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/7231962918291709970'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/03/blog-post_11.html' title='素食比較貴嗎'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-214478138661119247</id><published>2008-03-11T13:29:00.004+08:00</published><updated>2010-05-13T14:20:14.370+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體開發'/><title type='text'>四歲台灣鄉下小孩能寫英文信</title><summary type='text'>看標題可不要以為這是兒童美語班的廣告，這可是真實發生在三四歲的時候的我身上。當時家住在新莊，父親去美國出差。

我的母親看到我趴在地板上，拿一支筆，很認真地在一大張信紙上塗呀畫的，一大堆線條與圈圈，問我在做甚麼。

我答道："寫英文信給爸爸。"

母親忍住笑，看著滿紙線條與圓圈，問我："你寫了一些甚麼?"

我一本正經地答："爸爸才懂英文，他才看得懂，我不懂英文怎麼會知道。"

一個三四歲的小孩，當時還不了解"寫信"的意思，是把自己想說的話用文字寫下來給收信者閱讀，也不了解"英文"是甚麼。平常看到父親飛快地橫向書寫那些線條，聽母親說爸爸在寫英文。小孩不了解含意而只模仿動作。

我母親把這封"英文信"寄給在國外出差的父親了。當然他看不懂，不過他很高興收到這封信，而且將它仔細保存到三十幾年後的今天。

至今家人聊天時還常聊到這件事，一個帶來無數歡笑的回憶。

我原先以為這只是純真幼兒的特權，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/214478138661119247/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=214478138661119247' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/214478138661119247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/214478138661119247'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2007/07/blog-post_05.html' title='四歲台灣鄉下小孩能寫英文信'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7806430246932102862.post-1931194221901513784</id><published>2008-03-10T22:06:00.001+08:00</published><updated>2009-03-20T16:29:45.836+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='特別推薦'/><category scheme='http://www.blogger.com/atom/ns#' term='環保與素食'/><title type='text'>小豬豬的話</title><summary type='text'>非常感人的一首越南詩。在這個超連結可以欣賞到越南原文的吟唱。《小豬豬的話》--------清海無上師初見你那天我呱呱落地粉紅渾圓胖嘟嘟跟媽咪快樂嬉戲你疼愛地看著我稱讚著：圓滾滾，多可愛！每天你來探視我帶來冷飲與美味素餐媽咪和我好感動您的善心勝黃金在您關懷保護下我過著和平生活日漸長大胖嘟嘟天天吃睡和玩樂…這天清晨多可愛空中浮雲輕飄過媽咪與我相偎依未料悲劇將降臨！兩名粗壯的男子壯如猛虎與大象推壓我小小身軀塞進恐怖牢籠中無路可逃！上帝啊，這是何等恐怖！我害怕驚恐哀嚎媽咪啊，請來救我！照顧者啊，請快來保護我！救我一命，我還小啊！媽咪悲哀地哭泣絕望眼淚盈滿眶浩瀚蒼天容不了此情悲痛多可怕照顧者轉身而去手上忙著數鈔票不幸的我在車廂內翻滾心碎之痛更勝肉身苦！兩名年輕人揶揄著：「這隻小豬看來真美味！明天我們宰了他慶祝太太的新生兒！」喔，</summary><link rel='replies' type='application/atom+xml' href='http://veggie-ec.blogspot.com/feeds/1931194221901513784/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7806430246932102862&amp;postID=1931194221901513784' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1931194221901513784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7806430246932102862/posts/default/1931194221901513784'/><link rel='alternate' type='text/html' href='http://veggie-ec.blogspot.com/2008/03/blog-post.html' title='小豬豬的話'/><author><name>EC</name><uri>http://www.blogger.com/profile/17279753068790768666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
