<?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-6383480564648533577</id><updated>2012-01-26T16:08:16.027-08:00</updated><category term='政治、八卦'/><category term='心情雜記'/><category term='Microsoft'/><category term='電腦玩家'/><category term='leak'/><category term='未分類'/><category term='Loki'/><category term='政治'/><category term='中醫'/><category term='smart pointer'/><category term='GUI'/><category term='C++'/><category term='媒亂'/><category term='define'/><category term='GCC'/><category term='incredibuild'/><category term='build'/><category term='tips'/><category term='八卦'/><category term='自言自語'/><category term='function'/><category term='macro'/><category term='functor'/><category term='Boost'/><category term='Yahoo'/><category term='VC'/><category term='const'/><title type='text'>Av 的暫存區</title><subtitle type='html'>本來只想寫些 C++ 相關的東西的，不過後來就越來越雜了...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6383480564648533577.post-4751356634921184598</id><published>2009-10-08T20:42:00.000-07:00</published><updated>2009-10-08T23:07:40.486-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title type='text'>備份尚未 submit 進 perforce 的檔案</title><content type='html'>有時候，我們會希望讓還沒進版本控制 server 的檔案也能備份下來，原因各有不同，有些人只是想移到別處繼續編輯，有些人是想丟給別人看看，而我是因為有一次才剛買半年的硬碟竟然就死掉了，痛失一堆檔案!&lt;br /&gt;也許有些人會說就 check in 進 server 的 develop 暫存區之類的就好啦，但有時候我們就是覺得還不到該 check in 的時候，或是像本公司跟本沒這種制度。&lt;br /&gt;&lt;br /&gt;今天心血來潮，打算解決這個問題，研究了那拖了十幾年沒去搞懂的 batch file 語法後，得到下面這一段 code:&lt;br /&gt;&lt;div id="fullpost"&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;for /F "tokens=1,5,6 delims=# " %%a IN ('p4 opened') do for /F "tokens=3" %%j IN ('p4 where %%a') do zip %%b_%%c.zip %%j&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;把它存成 bat 檔後再執行，就可以得像是如下的檔案：&lt;br /&gt;change_571620.zip&lt;br /&gt;change_673450.zip&lt;br /&gt;change_723098.zip&lt;br /&gt;default_change.zip&lt;br /&gt;&lt;br /&gt;說明一下，本公司使用 perforce，要使用這個 batch file 需要安裝 p4 command 跟 zip，zip 可以在 &lt;a href="http://sourceforge.net/projects/unxutils/"&gt;unix tools&lt;/a&gt; 裡找到。&lt;br /&gt;這段 batch file 是先呼叫 "p4 opened" 可以列出所有 opened for edit 的檔案，包括新增的檔案，然後取出出字串中檔案的 depot 路徑(token 1 -&gt; %%a)，以及 change list (token 5,6 -&gt; %%b %%c)，再將 depot 路徑透過 "p4 where" 來取得 local 路徑(token 3)，然後把路徑跟 change list 名稱餵給 zip 就搞定了。&lt;br /&gt;最後輸出指令範例：&lt;br /&gt;zip change_571620.zip foo.h&lt;br /&gt;zip change_571620.zip foo.cpp&lt;br /&gt;zip default_change.zip bar.h&lt;br /&gt;zip default_change.zip bar.cpp&lt;br /&gt;&lt;br /&gt;使用 zip 的好處是可以很方便的完整保留目錄結構，而且也不會提示要不要覆蓋已經存在的檔案。所以我們可以很方便的將上述的 script 放進排程工具中，每天定時備份。&lt;br /&gt;當然，請把備份檔的路徑設到別顆硬碟，最好是透過網路直接寫到別台電腦去，這樣才能確保萬無一失!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-4751356634921184598?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/4751356634921184598/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=4751356634921184598' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/4751356634921184598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/4751356634921184598'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2009/10/submit-perforce.html' title='備份尚未 submit 進 perforce 的檔案'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-5267577761927048488</id><published>2009-07-31T08:44:00.000-07:00</published><updated>2009-07-31T09:23:25.181-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><category scheme='http://www.blogger.com/atom/ns#' term='心情雜記'/><title type='text'>歌仔戲「山寨情仇」好看</title><content type='html'>&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com.tw/lh/photo/HE0K8qfPVJ73Sb_sTwWRqw?authkey=Gv1sRgCMjKrrC4rJT-yQE&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh3.ggpht.com/_Bt8OsIjYjZU/SnMWAZMCycI/AAAAAAAAClw/oHfj37rTISA/s800/1336098602.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;本來對我這個不會講台語的人來說，對歌仔戲並不會特別去注意的，昨天某長輩因為行程關係無法去看「&lt;a href="http://tinyurl.com/me2now"&gt;山寨情仇&lt;/a&gt;」，就把票給了我，沒想到竟然是出乎意料的好看!!&lt;br /&gt;&lt;br /&gt;其實劇情很簡單，從一開頭就猜的到結尾是什麼，但舞台劇的重點是在表演本身。如何將簡單的劇情發揮出張力，這就是演員的功力了。我給他 100 分!!&lt;br /&gt;&lt;br /&gt;劇情雖然簡單，但仍然加了新元素，描述到「禮教殺人」的部分，也加入了女性主義的觀點。&lt;br /&gt;&lt;br /&gt;不過延續這個 blog 前幾篇的風格，還是有點政治味：我打賭&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;馬英九肯定不喜歡這部戲&lt;/span&gt;&lt;/span&gt;! 除了他本身的優越感做祟之外，更重要的是裡面的重要角色之一就是一個&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;無情無義的「&lt;/span&gt;&lt;a style="font-weight: bold;" href="http://zh.wikipedia.org/wiki/%E8%91%89%E6%AD%A6%E5%8F%B0"&gt;抓耙子&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;」&lt;/span&gt;&lt;/span&gt;，而且還&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;a href="http://blog.roodo.com/weichen/archives/5088839.html"&gt;抄襲他人文章&lt;/a&gt;、靠無恥謊言來奪權&lt;/span&gt;。&lt;br /&gt;而且，最重要的是，最後「&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;死無葬身之地&lt;/span&gt;&lt;/span&gt;」。XD XD&lt;br /&gt;&lt;br /&gt;希望這部戲不要因此而被合諧掉啊!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-5267577761927048488?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/5267577761927048488/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=5267577761927048488' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/5267577761927048488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/5267577761927048488'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2009/07/blog-post.html' title='歌仔戲「山寨情仇」好看'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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://lh3.ggpht.com/_Bt8OsIjYjZU/SnMWAZMCycI/AAAAAAAAClw/oHfj37rTISA/s72-c/1336098602.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6383480564648533577.post-8998670687236835070</id><published>2009-07-30T19:27:00.000-07:00</published><updated>2009-08-07T06:49:01.549-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='八卦'/><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><title type='text'>經濟部是如何「竄改」ECFA 影響評估的</title><content type='html'>先看這篇新聞 &lt;a href="http://www.libertytimes.com.tw/2009/new/jul/31/today-fo1.htm"&gt;&lt;span class="insubject1" id="newtitle"&gt;ECFA報告  陳博志質疑經部造假&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;我在這邊做比較詳細的解釋。&lt;br /&gt;&lt;br /&gt;這要從經濟部要中華經濟研究院做的評估談起。&lt;br /&gt;&lt;br /&gt;印像中是四月吧，經濟部要中華經濟研究院做 ECFA 的影響評估，評估結果出來後，尹啟銘好像很帶種的跑去出席民間國是會議，席間被陳博志詢問 ECFA 的負面影響，特別是對電子產業的部分，而尹則不願回答。原因當然是負面效應太可怕了，不能公開，於是經濟部繼續要求中經院一再修正評估模型。&lt;br /&gt;&lt;br /&gt;沒想到，這份原本不見光的影響評估，竟然自爆，自己出書了!&lt;br /&gt;&lt;div id="fullpost"&gt;&lt;br /&gt;&lt;a href="http://www.pf.org.tw:8080/FCKM/inter/publication/publication_detail.jsp?book_id=crostr2009005"&gt;http://www.pf.org.tw:8080/FCKM/inter/publication/publication_detail.jsp?book_id=crostr2009005&lt;/a&gt;，出版社是遠景基金會! 這邊順便提一下，中經院是政府專用的研究單位，而遠景基金會是國安局的。&lt;br /&gt;&lt;br /&gt;真像在此&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com.tw/lh/photo/1bnegD-T3fWXg1wUXbvIkA?authkey=Gv1sRgCK_n4I7MssfMygE&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh3.ggpht.com/_Bt8OsIjYjZU/SnJKqD-IgbI/AAAAAAAAClg/AbvammTcVcg/s800/2.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;第 105 頁，表 6-6，倒數第五行「&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;電機及電子產品&lt;/span&gt;&lt;/span&gt;」，靜態模擬中，產&lt;br /&gt;量變化率為 -9.3%，變化量為 -10,830.90(單位為美萬美元)。&lt;br /&gt;換算成台幣：-10,830.90 * 1,000,000 * 33 = 357419700000，也就是&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;3574 &lt;/span&gt;&lt;/span&gt;億台幣的產值損失!!!&lt;br /&gt;&lt;br /&gt;前天(7/29)，經濟部開記者會，發了一本資料出來，真像在此：&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com.tw/lh/photo/T2Wj_xHXuvwvGk7qqcZrfg?authkey=Gv1sRgCK_n4I7MssfMygE&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh6.ggpht.com/_Bt8OsIjYjZU/SnJKq7ToDxI/AAAAAAAAClo/IJJPHJv5gDo/s800/3.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;裡面的電子電機產業所引用的數據已改成 7.x%，不知道是重做的模型算出來的，還是引用動態模擬的數據。不過這一頁我掃描時掃錯頁了，回家後才發現，所以沒真像。&lt;br /&gt;&lt;br /&gt;但重點是下一頁，這龐大的負面影響卻被所謂的「專業調整」給被一筆&lt;br /&gt;勾消了，真像在此：&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com.tw/lh/photo/b8g-59SbWqquzqSlcgoIjQ?authkey=Gv1sRgCK_n4I7MssfMygE&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh3.ggpht.com/_Bt8OsIjYjZU/SnJKrFcUZxI/AAAAAAAACls/0GG7Rc12hYk/s800/4.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;我直接把文字打出來：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;專業調整之產業&lt;br /&gt;電子資訊相關產業(兩岸已是WTO資訊科技協定參與國，相關產品多已零關稅，模擬結果為受損產業乃因模型資源排擠效果造成，&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;故將產值變動率歸零&lt;/span&gt;&lt;/span&gt;)。&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;專業調整的解釋完全沒辦法說服為何能將那幾千億直接歸零，感覺好像是&lt;br /&gt;兵推碰到馬冏就直接逆轉勝一樣。&lt;br /&gt;&lt;br /&gt;手上有電子股股票的，能幫忙解釋一下嗎?&lt;br /&gt;&lt;br /&gt;後續補充：&lt;br /&gt;&lt;br /&gt;我在國貿局網站找到的資料 &lt;a href="http://ekm92.trade.gov.tw/BOFT/web/report_detail.jsp?data_base_id=DB009&amp;amp;category_id=CAT4024&amp;amp;report_id=175846"&gt;http://ekm92.trade.gov.tw/BOFT/web/report_detail.jsp?data_base_id=DB009&amp;amp;category_id=CAT4024&amp;amp;report_id=175846&lt;br /&gt;&lt;/a&gt;(我用 firefox 會看不到 pdf 檔的內容，若你看不到，請用 IE)&lt;br /&gt;&lt;br /&gt;PDF 檔的第 6 頁寫到：&lt;br /&gt;生產金額減少幅度較大者依序為&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;電機及電子產品業（約減少76億美元）&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;PDF 檔的第 7 頁寫到：&lt;br /&gt;由於模型的設計限制，若模擬結果顯示產值減少，未必代表ECFA對該產業是不利的，因為此有可能是受到模型限制的影響而得出的結果，因此必須進一步檢驗該產業是否真正受到損害。故而模擬受損產業仍需進行專業的調整，確認受損的情形，使結果可以更貼近真實的狀況。&lt;br /&gt;&lt;br /&gt;簡單的說就是「我們的模擬其實不準」，因此「可能其實沒虧那麼多」。不過他卻漏了說：「也有可能是虧的更多」。因此真正的變化需要進一步檢驗，「進行專業的調整」。&lt;br /&gt;&lt;br /&gt;結果記者會時就直接把這數據歸零了，超威!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-8998670687236835070?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/8998670687236835070/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=8998670687236835070' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8998670687236835070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8998670687236835070'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2009/07/ecfa.html' title='經濟部是如何「竄改」ECFA 影響評估的'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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://lh3.ggpht.com/_Bt8OsIjYjZU/SnJKqD-IgbI/AAAAAAAAClg/AbvammTcVcg/s72-c/2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6383480564648533577.post-8285945045495018499</id><published>2008-11-15T03:39:00.001-08:00</published><updated>2008-11-15T04:03:44.406-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><title type='text'>請對蘇治芬與陳明文保持距離</title><content type='html'>這幾天陸續有許多綠營政治人物與支持著高分貝聲援蘇治芬與陳明文，但我覺得這種聲援應該適可而止。&lt;br /&gt;怎麼說呢? 目前雖然看起來像是政治迫害，但你確定他們真的完全無罪嗎? 我不知道! 雖然被判有罪前皆為無罪，但我們也不需要為蘇、陳二人背書。我們要聲援與抗議的，應該是針對檢方嚴重違反程序正義以及明顯的辦綠不辦藍，以司法行政治迫害之實!&lt;br /&gt;&lt;br /&gt;如果仔細看民進黨主席蔡英文的說法，就會發現她也是按上述的原則來聲援，並非無限上綱的給予背書。綠營的支持者(包括我)，四年前誰會相信阿扁貪污呢? 搞不好連藍營的人也意想不到!&lt;br /&gt;&lt;br /&gt;總之，我們應該就我們所知的部分來發聲與聲援，亦即：抗議檢方反程序正義以及司法不公，辦綠不辦藍；而非就我們所不知的貪污與否，為其背書。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-8285945045495018499?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/8285945045495018499/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=8285945045495018499' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8285945045495018499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8285945045495018499'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2008/11/blog-post_15.html' title='請對蘇治芬與陳明文保持距離'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-3437930196562372374</id><published>2008-11-15T03:02:00.000-08:00</published><updated>2008-11-15T03:30:33.727-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='中醫'/><title type='text'>傷寒雜病論(文字版)電子書</title><content type='html'>最近在上中醫課，用的書本是「&lt;a href="http://zh.wikipedia.org/wiki/%E5%82%B7%E5%AF%92%E9%9B%9C%E7%97%85%E8%AB%96%E6%A1%82%E6%9E%97%E5%8F%A4%E6%9C%AC"&gt;傷寒雜病論．桂林古本&lt;/a&gt;」，我一直覺得很不方便，而且寫字比打字慢，在書上直接寫註記也不太方便。&lt;br /&gt;前陣子找到了電子書 PDF 檔，可是卻是&lt;a href="http://homepage19.seed.net.tw/web@5/icm/index.html"&gt;圖檔掃描&lt;/a&gt;的，所以不太好用。最近又興起念頭想說再找找看，應該會有人做文字版的才對，結果果然被我找到了!&lt;br /&gt;&lt;br /&gt;這個版本的的 PDF 檔相當好用，編排完善精美(含 hyper link)，也將各版間的差異(桂本、宋本)列出，並描述其採用該版的原因，並在書後附上了漢制的度量衡轉換，非常的貼心。&lt;br /&gt;&lt;br /&gt;原始檔案是由&lt;a href="http://ngotcm.com/"&gt;民間中醫網&lt;/a&gt;所整理，不過我並不是在那邊下載的，到該網站也找不到下載處。&lt;br /&gt;&lt;br /&gt;Anyway, 我將 PDF 檔下載後，去除掉裡面的密碼保護，這樣就可以直接用 &lt;a href="http://www.adobe.com/tw/products/acrobat/?promoid=BPCNX"&gt;Adobe Acrobat&lt;/a&gt; ( &lt;a href="http://www.adobe.com/tw/products/acrobat/reader.html"&gt;不是 Acrobat Reader&lt;/a&gt; ) 或 &lt;a href="http://www.ograhl.com/en/pdfannotator/"&gt;PDF Annotator&lt;/a&gt; 之類的軟體在上面直接加上註記，該檔的 Meta Data 中的簡體字也被我轉成繁體字了，有需要的人可以在此&lt;span style="font-size:180%;"&gt;&lt;a href="http://avhacker.googlepages.com/book.zip"&gt;下載&lt;/a&gt;&lt;/span&gt;。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-3437930196562372374?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/3437930196562372374/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=3437930196562372374' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/3437930196562372374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/3437930196562372374'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2008/11/blog-post.html' title='傷寒雜病論(文字版)電子書'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-8460076304785824387</id><published>2008-11-13T02:02:00.000-08:00</published><updated>2008-11-13T02:26:04.692-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦玩家'/><title type='text'>如何變更 Vista profile 目錄</title><content type='html'>將系統與資料分離在不同的 drive 是好習慣，這樣可以將乾淨的系統用 &lt;a href="http://www.symantec.com/zh/tw/business/ghost-solution-suite"&gt;Ghost&lt;/a&gt; 之類的軟體備份起來，日後有需要時再還原，而資料仍能保持是最新的。&lt;br /&gt;&lt;br /&gt;以前在用 Windows XP/2000 時，只要將 My Document 移到 D 槽，然後將它的路徑改過去，幾乎就完成大部分工作了，一堆軟體預設存取的目錄都在 My Document 裡。&lt;br /&gt;換到 Vista 後，各種個人資料與設定都在 C:\Users\ 裡面，但要搬走這個資料將與相關設定可不是容易的事，可以參 &lt;a href="http://joshmouch.wordpress.com/2007/04/07/change-user-profile-folder-location-in-vista/"&gt;Joshua Mouch 這篇 Change User Profile Folder Location in Vista&lt;/a&gt;。&lt;br /&gt;我之前做了一次，實在麻煩，最近又要再做一次，就想到一個比較輕鬆的方法：&lt;br /&gt;&lt;div id="fullpost"&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;用 XPE 光碟開機，這樣 C:\Users 裡的檔案與 registry 就不會被系統鎖住。你也可以用別的方法開機，達到同樣的效果。&lt;/li&gt;&lt;li&gt;把 C:\Users\ 搬到 D:\Users\&lt;/li&gt;&lt;li&gt;把 C:\Windows\System32\Config\ 裡面的 Software 與 System 這兩個檔案加以修改，這兩個檔案是 Windows registry 儲存的地方，請事先備份，免得弄壞。將這兩個檔案中的內容做字串取代，把 C:\Users\ 通通改成 D:\Users\。要注意，這是用 Unicode 格式儲存，所以要找個能做這種事的工具，我自己是用 &lt;a href="http://www.hexworkshop.com/"&gt;Hex Workshop&lt;/a&gt;，它在搜尋/取代文字時，有 Unicode string 的選項。&lt;br /&gt;&lt;/li&gt;&lt;li&gt;改好後重開機回到 Vista, 儘量別執行其他程式，或是乾脆進安全模式(不過我沒這樣做)，叫出 regedit，搜尋看有沒有沒被改到的字串，一樣是把 C:\Users\ 通通改成 D:\Users\. 可以自己改，也可以抓個工具來改，我自己用過的是 &lt;a href="http://www.torchsoft.com/en/rw_information.html"&gt;Registry Workshop&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;重開機，再開一次 regedit，搜尋看有沒有沒被改到的字串，應該就 ok 了.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;其實 3 跟 4 應該能合在一起做，就是由 Registry Workshop 將 software/system 給載入進來，不過我一開始沒這樣做，也沒回頭去測試這樣做是否能省事就是了。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-8460076304785824387?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/8460076304785824387/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=8460076304785824387' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8460076304785824387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8460076304785824387'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2008/11/vista-profile.html' title='如何變更 Vista profile 目錄'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-515466685541170854</id><published>2008-11-07T06:35:00.000-08:00</published><updated>2008-11-07T07:45:31.322-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><title type='text'>暗黑兵法 - 1106 嗆馬圍陳策略分析</title><content type='html'>1106 嗆馬圍陳的活動，若無最後圓山的火爆衝突，其實民進黨是大贏的。雖然圓山的衝突並非民進黨所帶領，但將這件事怪在民進黨與蔡英文身上是必然的結果。本文重點不在討論圓山衝突的是是非非，我要講的是這一系列事件，其實是一個良好的策略應用。&lt;br /&gt;&lt;br /&gt;&lt;div id="fullpost"&gt;從陳雲林來台的第一天(星期一)，馬政府對陳雲林帝王級接待規格，就已經讓許多人火冒三丈，接下來一連串警方的粗暴執法(&lt;a href="http://blog.roodo.com/weichen/archives/7496117.html"&gt;毀國旗桿、強行排除抗議者...等等&lt;/a&gt;)，更是讓人怒不可遏。星期二上揚唱片的事就不用說了，以違憲手段鎮壓再加上&lt;a href="http://blog.roodo.com/systw/archives/7514375.html"&gt;北投分局長的挑釁言論&lt;/a&gt;，簡直讓人氣到血都要噴出來了，火冒八丈不止。星期三&lt;a href="http://www.wretch.cc/blog/tokolee/20489434"&gt;晶華酒店&lt;/a&gt;已經爆發衝突，不需要民進黨帶領，太多民眾已經受不了而自己上街頭了。&lt;br /&gt;&lt;br /&gt;大約從星期二晚上上揚唱片的事件開始，眾多的綠營民眾與民進黨高層都已經做好激烈衝突的打算了，特別是多次的遊行申請都被駁回，上街頭激烈抗爭、捍衛自己的言論自由是唯一手段。馬政府當然也知道這件事。當你知道可以預期對方會做什麼事時，要設計對方就很容易了。&lt;br /&gt;&lt;br /&gt;星期三傍晚一改之前的強硬態度，核準了遊行申請就是第二步(第一步是嚴重的激怒群眾，這在星期一、二已做的很成功了)。核準遊行申請可以削弱群眾衝突的正當性，但早已被激怒的群眾的怒氣可不會因此消失。而且還順便套了蔡英文的話，要她承諾和平理性的遊行，事後自然也成為很好用的相罵本。這一步一石二鳥，非常漂亮。而且這步也是暗黑兵法最重要的關鍵，讓民進黨方面以為政府單位釋出來善意。&lt;br /&gt;&lt;br /&gt;星期四馬陳會突然提早到早上十一點，更讓人錯鄂的事竟然只用了七分鐘就草草了事。雖然很難看，但這是一石三鳥的計策啊! 第一、讓群眾失去嗆聲的目標，極大幅度的削弱了激烈衝突的正當性；第二、更加的激怒群眾，讓群眾更容易失控；第三、幾乎全盤的打亂了民進黨的計劃。&lt;br /&gt;&lt;br /&gt;最後，果然爆發衝突，並利用此衝突來掩飾國際間與國內各界對其侵犯人權的指控，還能順便將馬英九最怕的敵人 - 蔡英文一舉給抹黑。&lt;br /&gt;&lt;br /&gt;而民進黨這邊真的就太大意了，馬政府這半年來做了很多笨事，民進黨就以為他們會一直笨下去，再加上之前警察的違法鎮壓使民進黨對自身的正當性太過自信，也因為憤怒的情緒而沒看清這一連串的陷阱，中招活該，學個教訓。&lt;br /&gt;&lt;br /&gt;也許藍營支持者要說：所以又是國民黨的錯? 又在推責任了!&lt;br /&gt;No, 這不是我的重點。就策略來說，國民黨算是很漂亮的打了一場本來應該會輸的仗。策略本身沒有是非對錯，只要能成功達成目的就行，因為.....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;兵不厭詐，這是戰爭!&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com.tw/lh/photo/Kc5VgvdffBkd_xIobX8uxg"&gt;&lt;img src="http://lh5.ggpht.com/_Bt8OsIjYjZU/SRRcjEycczI/AAAAAAAACIw/FehW6bg8eM8/s400/war.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;寄件者 &lt;a href="http://picasaweb.google.com.tw/avhacker/FnXVdC"&gt;暫存&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-515466685541170854?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/515466685541170854/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=515466685541170854' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/515466685541170854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/515466685541170854'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2008/11/1106_07.html' title='暗黑兵法 - 1106 嗆馬圍陳策略分析'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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://lh5.ggpht.com/_Bt8OsIjYjZU/SRRcjEycczI/AAAAAAAACIw/FehW6bg8eM8/s72-c/war.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6383480564648533577.post-4103682059217380125</id><published>2008-11-06T10:27:00.000-08:00</published><updated>2008-11-06T18:15:25.469-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><title type='text'>1106 嗆馬圍陳照片與影片</title><content type='html'>&lt;table style="width:auto;"&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com.tw/lh/photo/5xY417QuKwui7ZwWsnzUiw"&gt;&lt;img src="http://lh5.ggpht.com/_Bt8OsIjYjZU/SRMbWGeVSCI/AAAAAAAAB_g/bbVU-p3NruI/s144/DSCF1669.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family:arial,sans-serif; font-size:11px; text-align:right"&gt;寄件者 &lt;a href="http://picasaweb.google.com.tw/avhacker/1106"&gt;1106嗆馬圍陳&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;雖然我認為有遠比嗆馬圍陳更重要的議題 - 抗議馬政府違憲侵害人權，但我還是加入了遊行群眾一起走。&lt;br /&gt;後來長輩也幫我介紹認識一些政法人物，還超近距離的拍攝鎮暴警察與蔡英文主席，這是我第一次可說是零距離的在第一線參與抗爭活動，值得紀念!&lt;br /&gt;照片在此：&lt;br /&gt;&lt;a href="http://picasaweb.google.com.tw/avhacker/1106"&gt;http://picasaweb.google.com.tw/avhacker/1106&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-4103682059217380125?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/4103682059217380125/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=4103682059217380125' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/4103682059217380125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/4103682059217380125'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2008/11/1106.html' title='1106 嗆馬圍陳照片與影片'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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://lh5.ggpht.com/_Bt8OsIjYjZU/SRMbWGeVSCI/AAAAAAAAB_g/bbVU-p3NruI/s72-c/DSCF1669.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6383480564648533577.post-5344740254953438239</id><published>2008-03-29T07:57:00.000-07:00</published><updated>2008-11-06T10:27:38.680-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><content type='html'>這幾天在電視上與網路上看到許多人對本次選舉的檢討，其實我覺得這些看法大多見樹不見林，沒有碰到根本的問題，畢竟戰術是不足以彌補戰略層次的失敗的。而且雖然外在因素很不利的，但檢討別人是沒用的，改變自己才是最快的，所以要檢討自己。我認為從民進黨取得執政權，到之後面對的執政困境，以及此次的大敗，其實是有一致的脈絡的。要探討這個脈絡，必需要深入檢討其核心價值。&lt;br /&gt;&lt;br /&gt;&lt;div id="fullpost"&gt;民進黨的核心價值是什麼? 我認為民進黨的核心價值就是台灣主體意識，而這個這個核心價值已經到了一個新的階段，民進黨(或是另外的本土勢力)該尋求新的核心價值。&lt;br /&gt;台灣主體意識將不再是特定政黨獨有的核心價值，它是台灣的主流價值，是全台灣人的共識，沒有任何一個政黨可以偏離它。這幾年來，連國民黨都被迫向它靠攏 (不管是真心還是假意)，也造成民進黨的價值開始腿色。雖然國民黨被迫向這個價值靠攏，但民進黨沒有警覺，沒有做出對應的調整，這是民進黨敗選的重要原因 (除去台灣本土意識，還剩下多少東西?)。&lt;br /&gt;認同台灣主體意識的人，這次有部分投給國民黨，這些人不相信國民黨會賣台，或是不相信在這種情況下國民黨有辦法賣台。因此，客觀來說，&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;這次民進黨的大敗，其實正是台灣主體意識的勝利，是民進黨核心價值的勝利&lt;/span&gt;&lt;/span&gt;! 所以這次的敗選，其實沒有什麼好難過的，我們應該驕傲才是!&lt;br /&gt;&lt;br /&gt;核心價值的問題除了讓民進黨取得政權、失去政權，同也是執政困難的原因。&lt;br /&gt;我認為，一個&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;政黨必需要有個極為明確的核心價值，由此發展出穩固的論述，再由這些論述推導出各個領域的政策&lt;/span&gt;&lt;/span&gt;。這一層一層往外擴展的架構都要十分穩固，當然越往外就會越多模糊空間。&lt;br /&gt;民 進黨原有的核心價值，在取得政權之後，就因為國民黨的修正而漸漸開始模糊了。更糟的是民進黨雖然可以推出他的論述，但卻很沒有在各領域發展出相對應的政 策。大家都知道媒體與在野黨是相當不友善的，於是外界的攻擊一來，民進黨常常&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;無法悍衛自己的政策，就只能隨風搖擺&lt;/span&gt;&lt;/span&gt;，甚至就算沒有外在攻擊，他的&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;政務官也不知 道自己的方向是什麼&lt;/span&gt;&lt;/span&gt;，自己的政策也變來變去，因為自己都不了解自己的核心價值啊! 這八年的執政，我們可以看到行政體系號令不一與各行其政的情況越來越嚴重，就是這個道理。&lt;br /&gt;我認為一定要有一層一層穩固的架構，從核心價值出發、建構論述、再到各領域發展相對應的政策，這樣當人家攻擊你時，你才有辦法去捍衛自己的政策，&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;有堅強的論述做為盾牌去抵抗外在的攻擊&lt;/span&gt;&lt;/span&gt;，你的&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;回應也才會鏗鏘有力&lt;/span&gt;&lt;/span&gt;。&lt;br /&gt;就 像玩戰略遊一樣，一個政黨的策略主要分為三個面像，分為攻擊、防禦、以及發展，其中後兩項都需要有上述的清晰架構，但攻擊的一方可以比較鬆散，甚至不需要 核心價值，只要能遍地烽火的惡整對手即可(例：物價漲也罵、物價不漲也罵；貿易政策開放還是罵、不開放更是罵到臭頭)。這也就是為什麼國民黨這樣一個跟本沒有核心價值可言的政黨，能 將民進黨打到體無完膚的原因。&lt;br /&gt;&lt;br /&gt;可笑的是，當&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;民進黨還搞不清楚自己為什麼會輸的時候，國民黨也搞不清楚自己為什麼會贏&lt;/span&gt;&lt;/span&gt;! 而最可笑的是，國民黨&lt;span style="font-weight: bold;font-size:130%;" &gt;卻自以為知道他們贏的原因&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;好了，講到這邊，核心價值的重要性應該很清楚了，那麼新的核心價值是什麼呢? 還好我是先想到新的核心價值，才理解到它的重要性與民進黨這一連串故事的關聯。但這篇已經夠長的了，請靜待下回分曉吧!&lt;br /&gt;&lt;br /&gt;=============&lt;br /&gt;隔了半年多的 update:&lt;br /&gt;以上的文章是半年多前寫的，續集其實也寫了，但寫到一半就偷懶停筆，之後就完全沒有寫下去的感覺了。&lt;br /&gt;事隔半年多，我也懶了，續集就讓它永遠放在「草稿」資料夾吧.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-5344740254953438239?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/5344740254953438239/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=5344740254953438239' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/5344740254953438239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/5344740254953438239'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2008/03/blog-post_1515.html' title='民進黨從成功政黨輪替到失去政權 - 我的分析'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-2259024261932944905</id><published>2008-03-27T02:40:00.000-07:00</published><updated>2008-03-27T02:57:16.590-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><title type='text'>經濟草包</title><content type='html'>今天看到一則新聞，實在太令人嘆為觀止了，這幾個立委的腦袋不知道是生來幹什麼的。&lt;br /&gt;套用 Jeff 兄的「&lt;a href="http://www.jeffhung.net/blog/articles/jeffhung/1103/"&gt;民主草包&lt;/a&gt;」標題，這些人就是經濟草包!&lt;br /&gt;提案人是&lt;a href="http://www.google.com.tw/search?q=%E5%BC%B5%E7%A2%A9%E6%96%87&amp;amp;sourceid=navclient-ff&amp;amp;ie=UTF-8&amp;amp;rlz=1B3GGGL_zh-TWTW218TW218"&gt;張碩文&lt;/a&gt;，連署人有&lt;a href="http://www.google.com.tw/search?q=%E5%BE%90%E5%B0%91%E8%90%8D&amp;amp;sourceid=navclient-ff&amp;amp;ie=UTF-8&amp;amp;rlz=1B3GGGL_zh-TWTW218TW218"&gt;徐少萍&lt;/a&gt;、&lt;a href="http://www.google.com.tw/search?q=%E6%9E%97%E9%B4%BB%E6%B1%A0&amp;amp;sourceid=navclient-ff&amp;amp;ie=UTF-8&amp;amp;rlz=1B3GGGL_zh-TWTW218TW218"&gt;林鴻池&lt;/a&gt;與&lt;a href="http://www.google.com.tw/search?aq=f&amp;amp;complete=1&amp;amp;hl=zh-TW&amp;amp;rlz=1B3GGGL_zh-TWTW218TW218&amp;amp;q=%E5%BB%96%E5%9C%8B%E6%A3%9F&amp;amp;btnG=%E6%90%9C%E5%B0%8B&amp;amp;meta="&gt;廖國棟&lt;/a&gt;。&lt;br /&gt;經濟草包拼經濟，馬上就會好! 我等著看是哪裡好!&lt;br /&gt;&lt;br /&gt;新聞來源：&lt;a href="http://news.pchome.com.tw/politics/chinatimes/20080327/index-20080327015459240800.html"&gt;http://news.pchome.com.tw/politics/chinatimes/20080327/index-20080327015459240800.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;摘錄部分內容：&lt;br /&gt;總統大選揭曉，股市翻紅又變綠，外傳是政府四大基金倒貨，國民黨籍立委張碩文因為股市大選後翻紅又變綠，&lt;span style="font-weight: bold;font-size:180%;" &gt;&lt;span style="color: rgb(255, 0, 0);"&gt;竟提案要求五月廿日新政府接任前，「停止一切股市交易」&lt;/span&gt;&lt;/span&gt;。&lt;br /&gt;&lt;br /&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/65jOrxG50WY&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/65jOrxG50WY&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-2259024261932944905?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/2259024261932944905/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=2259024261932944905' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/2259024261932944905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/2259024261932944905'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2008/03/blog-post_27.html' title='經濟草包'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-6720188990757518079</id><published>2008-03-22T07:35:00.000-07:00</published><updated>2008-03-22T10:38:28.292-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><category scheme='http://www.blogger.com/atom/ns#' term='心情雜記'/><title type='text'>我難過，不是因為謝長廷選輸了</title><content type='html'>總統選舉剛選完，民進黨大輸 221 萬票，我雖然覺得很可惜，但並不怎麼難過，我也在&lt;a href="http://www.wretch.cc/blog/phopicking&amp;amp;article_id=13374614&amp;amp;page=2#comments"&gt;某 blog&lt;/a&gt; 做了上述的留言。&lt;br /&gt;&lt;br /&gt;接著我在 &lt;a href="http://funp.com/push/"&gt;funp &lt;/a&gt;看了不少 blogger 的感想。一邊看，我的眼淚卻擋不住的漸漸流了下來，裡面幾乎都是在寫說雖然很難過，但也接受結果，而且並不會氣餒，之後還是會繼續努力並監督國民黨，希望大家和平理性的面對，共同為台灣的未來打拼。我越看就越難過，眼淚更是止不住了，但我不知道我為何難過，不知道我為何會這麼難過。&lt;br /&gt;&lt;br /&gt;最後我哭出來了，當我哭出來的瞬間我就明白了! 這些人正直、善良、努力、和平、理性，但卻還被國民黨抹黑說綠營的人是暴力、專出奧步的人。遭受如此不公義的對待依然保持正面態度，最後還得到這樣的結果，實在太不值了，他們不該得到這種結果! 我為他們感到心疼，這才是我難過的原因!&lt;br /&gt;&lt;br /&gt;常看 funp 的人都知道，大多數表態的 blogger 都是挺綠的，這些人本著善意與開放的胸襟，提出許多了對馬英九人格、政策的質疑，揭穿惡質媒體的欺騙，以及告訴大家民進黨與謝長廷的成就與價值，即便有些 內容有所缺陷，但這些文章也都提出了相當的證據與論述，並接受網友的挑戰。&lt;br /&gt;&lt;br /&gt;我尊敬他們!! 這些人都是重生的力量!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-6720188990757518079?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/6720188990757518079/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=6720188990757518079' title='5 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/6720188990757518079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/6720188990757518079'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2008/03/blog-post_22.html' title='我難過，不是因為謝長廷選輸了'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-9090239159648315773</id><published>2008-03-09T00:59:00.000-08:00</published><updated>2008-03-09T01:19:46.580-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='政治、八卦'/><title type='text'>選我當總統，國民所得提高到十萬美元</title><content type='html'>如果我來選總統，我的政見就是要提高平均國民所得到十萬美元，大家快選我吧!&lt;br /&gt;我將會：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;保持微笑&lt;/li&gt;&lt;li&gt;謝謝指教&lt;/li&gt;&lt;li&gt;交給發言人回應&lt;/li&gt;&lt;li&gt;Long stay&lt;/li&gt;&lt;li&gt;騎單車環島&lt;/li&gt;&lt;li&gt;慢跑&lt;/li&gt;&lt;li&gt;...... (請網友補充)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;直到某天被踢爆說在我的四年或八年任內，跟本不可能將國民所得提到到十萬元時，我再告訴大家：那是個大方向，五十年或一百年後可以達到!&lt;br /&gt;&lt;br /&gt;這樣看看不懂的人請看&lt;a href="http://blog.roodo.com/bigburger/archives/5628233.html"&gt;這邊&lt;/a&gt;。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-9090239159648315773?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/9090239159648315773/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=9090239159648315773' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/9090239159648315773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/9090239159648315773'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2008/03/blog-post_09.html' title='選我當總統，國民所得提高到十萬美元'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-7692171170678895425</id><published>2008-03-06T06:58:00.000-08:00</published><updated>2008-03-06T07:13:04.640-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='政治、八卦'/><title type='text'>馬英九找蕭萬長當副手的八卦</title><content type='html'>這純屬做夢夢到的八卦，如有雷同純屬巧合!&lt;br /&gt;話說馬英九被起訴後，悲憤之下宣佈要選總統了，但還要找人搭檔選副總統啊，該找誰好呢?&lt;br /&gt;由於有好幾個人選，很難決定，於是幕僚決定求助靈媒(應該不是上次預言不太準，說會有血光之災那個)。靈媒想了想，決定試試看能不能偷窺天機，就拿出水晶球來...........經過一陣折騰，這位靈媒看到了 2008 年總統大選結果的當選人名單! 可是天機只洩漏了一瞬間就消失了，但是這個靈媒看到了當選人姓名的其中一個字.....&lt;br /&gt;靈媒告訴馬英九的幕僚，她看到的字是...........&lt;div id="fullpost"&gt;&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Bt8OsIjYjZU/R9AJJE_9jtI/AAAAAAAABTg/MfFrbXHrb4U/s1600-h/CrystalBall.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_Bt8OsIjYjZU/R9AJJE_9jtI/AAAAAAAABTg/MfFrbXHrb4U/s400/CrystalBall.jpg" alt="" id="BLOGGER_PHOTO_ID_5174646023414189778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;長!!!!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-7692171170678895425?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/7692171170678895425/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=7692171170678895425' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/7692171170678895425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/7692171170678895425'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2008/03/blog-post_06.html' title='馬英九找蕭萬長當副手的八卦'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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://4.bp.blogspot.com/_Bt8OsIjYjZU/R9AJJE_9jtI/AAAAAAAABTg/MfFrbXHrb4U/s72-c/CrystalBall.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6383480564648533577.post-9174423337912663887</id><published>2008-03-05T20:41:00.000-08:00</published><updated>2008-03-06T06:59:49.528-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><title type='text'>王丹、轉型正義</title><content type='html'>&lt;img style="margin: 0px auto 10px; display: block; text-align: center; width: 400px;" src="http://l.yimg.com/tw.image.news.yahoo.com//xp/tvbs/20080306/08/1029206544.jpg" border="0" /&gt;&lt;br /&gt;我猜這個標題比較引人注目。 :)&lt;br /&gt;Anway, 事情是這樣的，昨天(2007/03/05)在 IRC 上收到&lt;a href="http://blog.xdite.net/"&gt;爆料王 XDite&lt;/a&gt; 傳過來的訊息，說有個&lt;a href="http://docs.google.com/Doc?id=d5g8xh4_88fk4r94ck"&gt;活動&lt;/a&gt;，問我要不要去，我看了一下議題，其實並不會很感興趣，但這邊會有個有趣的畫面，就是&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E7%8E%8B%E4%B8%B9_%28%E6%B0%91%E9%81%8B%E4%BA%BA%E5%A3%AB%29&amp;amp;variant=zh-hant"&gt;王丹&lt;/a&gt;與&lt;a href="http://zh.wikipedia.org/wiki/%E7%BE%85%E6%96%87%E5%98%89"&gt;羅文嘉&lt;/a&gt;比鄰而坐，也就是兩岸的學運世代指標人物在一起場景，想來晚上也無事，而且議題本身是中性的，不涉藍綠，我就過去了。&lt;br /&gt;&lt;div id="fullpost"&gt;一開始出席的幾位各自講了自己要講的議題，很明顯的還是王丹最有料，他說到青年參與政治的重要性，而&lt;a href="http://zh.wikipedia.org/wiki/%E6%A5%8A%E8%95%99%E5%A6%82"&gt;楊蕙如&lt;/a&gt;與 &lt;a href="http://zh.wikipedia.org/wiki/%E6%9E%97%E6%98%B6%E4%BD%90"&gt;Freddy&lt;/a&gt; 講他們認識的謝長廷是怎樣的人，這我沒多少興趣。羅文嘉雖然說不是代表謝陣營而來，但包裝過的話語之間還是很明顯的要大家投謝長廷。還有一位袁秀慧律師.....嗯，我忘了她講什麼了 XD.&lt;br /&gt;由於有我上面講的羅、王兩人比鄰的特殊畫面，或是王丹本來就是媒體比較有興趣的人物，現場來了很多的媒體，平面、電子的都有，我記得我有看到的是 TVBS 與中天，其他的沒看到 logo 而我也沒特別注意。&lt;br /&gt;在開放提問快結束時，我也舉手提了一個問題，心跳超快、超緊張的，我問了一個中性的問題，是關於&lt;a href="http://zh.wikipedia.org/wiki/%E8%BD%89%E5%9E%8B%E6%AD%A3%E7%BE%A9"&gt;轉型正義&lt;/a&gt;的。大意如下：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;轉型正義目前碰到這麼多的困境是必然的，要一個國家處理轉型正義，就好像要一個人面對他內心最深層的創傷。這過程必然是痛苦的(不論是藍綠都痛苦)，但它是如此的痛苦，以致於許多人選擇了逃開。心理學上我們知道有許多病症都根源於這些不願面對的創傷，我認為我們的國家目前的許多困境，也是因為還沒做好轉型正義所致。去年台灣智庫有辦了一個轉型正義的研討會，會中邀請了最佳的人選 - 前東德總理參加，但在國內這邊，最重要的角色應該是國民黨的代表人物 - 馬英九卻以沒時間為由婉拒了。最近在電視上看到謝長廷的廣告，說是房子與小孩的教養費用他保證幫忙，但我卻不知道謝陣營對轉型正義的態度為何。請謝陣營的人回答。&lt;/li&gt;&lt;/ul&gt;不出所料，是由 Freddy 來回應。大概的意思是說，會以較低調的態度來處理這個議題，畢竟這需要全民共識，目前還沒有力量大張旗鼓的來做。&lt;br /&gt;接著王丹也拿起麥克風，說這是他博士論文的主題，他也該回答這個問題(雖然他不是謝陣營的人)。其實主要意思也是差不多，由於轉型正義包含了許多層面，除了對加害者圖騰的移除、對被害者的賠償，還有對歷史真像的還原、甚至是對加害者責任的追究等等的敏感議題，所以在威權殘存勢力尚強時，是不可能強渡關山的。&lt;br /&gt;&lt;br /&gt;這是一次很難得的經驗，畢竟這種機會是很少的，所以還讓我蠻開心的。不過我並不會在會後像一堆人要簽名那樣，那讓我我覺得跟馬英九搞造神形像沒多少不同。&lt;br /&gt;王丹是蠻有意思的人，他在會前就先聲明了，並不是站台或挺某人，而且當晚 12 點以前絕口不提選舉。他還說聽到不少媒體記者說要在會後堵他，問他到底要挺誰之類的問題，但是「如果各位記者朋友覺得自己比中國公安更有本事能把我嘴巴撬開問出些什麼東西，那就來吧」。&lt;br /&gt;&lt;br /&gt;心得：不要因為覺得政治髒就不去參與或關心，應該要付出你的影響力，讓它朝向你希望的方向改變。&lt;br /&gt;&lt;br /&gt;相關新聞：&lt;br /&gt;&lt;a href="http://www.rti.org.tw/News/NewsContentHome.aspx?t=1&amp;amp;NewsID=101548"&gt;http://www.rti.org.tw/News/NewsContentHome.aspx?t=1&amp;amp;NewsID=101548&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cna.com.tw/menu/NewsDetail.aspx?strCatL=IPL&amp;amp;strSearchDate=&amp;amp;strNewsID=200803050365&amp;amp;strType=PD"&gt;http://www.cna.com.tw/menu/NewsDetail.aspx?strCatL=IPL&amp;amp;strSearchDate=&amp;amp;strNewsID=200803050365&amp;amp;strType=PD&lt;/a&gt;&lt;br /&gt;&lt;a href="http://tw.news.yahoo.com/article/url/d/a/080305/11/uq2x.html"&gt;http://tw.news.yahoo.com/article/url/d/a/080305/11/uq2x.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://tw.news.yahoo.com/article/url/d/a/080306/8/uq4l.html"&gt;http://tw.news.yahoo.com/article/url/d/a/080306/8/uq4l.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-9174423337912663887?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/9174423337912663887/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=9174423337912663887' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/9174423337912663887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/9174423337912663887'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2008/03/blog-post_05.html' title='王丹、轉型正義'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-3969898155705199608</id><published>2008-03-03T06:34:00.000-08:00</published><updated>2008-03-05T22:42:59.305-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><title type='text'>又是推推王的本日最熱門文章</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Bt8OsIjYjZU/R8wNGJdKaJI/AAAAAAAABTY/5e77hl5C_0E/s1600-h/%E5%85%B1%E5%90%8C%E5%B8%82%E5%A0%B4%E6%8E%A8%E6%96%87.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_Bt8OsIjYjZU/R8wNGJdKaJI/AAAAAAAABTY/5e77hl5C_0E/s400/%E5%85%B1%E5%90%8C%E5%B8%82%E5%A0%B4%E6%8E%A8%E6%96%87.jpg" alt="" id="BLOGGER_PHOTO_ID_5173524471210469522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.udn.com/wangchenjen/1388541"&gt;這篇文章&lt;/a&gt;不是我貼上&lt;a href="http://funp.com/push/#p=117662"&gt;推推王&lt;/a&gt;的，但因為某個不方便公開的關係，特別把這畫面抓下來做紀念!&lt;br /&gt;原文出自前經建會主委陳博志先生在 2007 年 4 月於天下雜誌的文章，網路上則在 &lt;a href="http://blog.udn.com/wangchenjen/1388541"&gt;http://blog.udn.com/wangchenjen/1388541&lt;/a&gt; 可以看到，但因為該網站設定防止他人剪貼，要引用資料時有點麻煩，因此我把原文取出，貼在這邊，讓有需要的人方便引用。(不用替我擔心版權的問題，這方面我當然不會犯錯)&lt;br /&gt;以下是原文：&lt;br /&gt;&lt;div id="fullpost"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;兩岸共同市場暴露國人的無知&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;作者:陳博志 2007.04.11／ 天下雜誌第369期&lt;br /&gt;&lt;br /&gt;大部份支持成立「兩岸共同市場」的人，並未想到要讓中國大陸勞工自由來台工作，只是看共同市場很好聽就拿來用。&lt;br /&gt;&lt;br /&gt;海峽兩岸經濟要怎麼合作，不僅是熱門，也常是見仁見智而難有共識的問題，因此國內有很多不同意見並存可說是理所當然。然而各種意見雖可出於不同的政治目標或對事實不同的假設，這些意見所用的推理過程卻應合於邏輯，所用的名詞也應合於通常的定義，否則便會變成不科學甚至沒知識的主張。一個常被提到而可能是沒知識的主張，就是要成立兩岸共同市場。&lt;br /&gt;&lt;br /&gt;這種主張十多年來有不少重要人物提過，最近馬英九先生再度提出，某個專業媒體也加以支持。然而我卻很懷疑提出和支持這種主張的人之中可能很多人並不知道什麼叫做「共同市場」。&lt;br /&gt;&lt;br /&gt;共同市場是一種國際經濟合作的方式，它的定義在一般國際經濟學的教科書中都找得到，就是成員之間包括勞工在內的各種產品及生產要素都要能夠自由流通，一國的勞工可以自由到另一國去工作，同時成員對外國關稅也要一致，以免其他國家的產品都由稅率較低的甲國進口之後，再流到稅率高的乙國，而使乙國的關稅失效，也收不到關稅。這樣的合作看起來很好，但在可預見的將來，兩岸間卻做不到。&lt;br /&gt;&lt;br /&gt;十多年前有位想選總統的人士也提過大中華經濟共同體這種主張。當時就有中國大陸學者指出，他無法想像兩岸勞工可以自由往來工作時，高雄港每天擠進幾萬中國大陸勞工的景象。&lt;br /&gt;&lt;br /&gt;以兩岸的工資和生活差距，允許中國大陸勞工自由來台灣工作，不僅將造成極大的人口流動，也可能使多數的台灣勞工失去工作，或使他們的工資降到中國大陸的水準。我相信大部份提出兩岸共同市場的人，並未想到要讓中國大陸勞工自由來台工作，只是看共同市場很好聽就拿來用。&lt;br /&gt;&lt;br /&gt;連關稅同盟都做不成&lt;br /&gt;有些人也許會辯護說，他們主張的共同市場將不包括勞工的自由流通。但那就只可叫關稅同盟而不叫共同市場。而中共願意把關稅和貿易障礙降到和我們一樣低來做關稅同盟嗎？恐怕他們目前也不敢，因此關稅同盟也做不成。&lt;br /&gt;&lt;br /&gt;也許主張共同市場的人想的只是去除兩岸間的貿易障礙，但那只能稱為自由貿易協定或ＣＥＰＡ之類。我多年來主張兩岸可以來談自由貿易協定，我們也該要求中共停止阻礙其他國家和我們簽自由貿易協定。其他人士的看法若相同，也該做同樣的主張，不要亂用共同市場一詞而誤導人民，並讓對岸覺得我們的人物或其幕僚及媒體那麼無知。&lt;br /&gt;（作者為台灣智庫董事長）&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-3969898155705199608?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/3969898155705199608/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=3969898155705199608' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/3969898155705199608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/3969898155705199608'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2008/03/blog-post.html' title='又是推推王的本日最熱門文章'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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://1.bp.blogspot.com/_Bt8OsIjYjZU/R8wNGJdKaJI/AAAAAAAABTY/5e77hl5C_0E/s72-c/%E5%85%B1%E5%90%8C%E5%B8%82%E5%A0%B4%E6%8E%A8%E6%96%87.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6383480564648533577.post-5801038426190174465</id><published>2008-01-17T02:04:00.000-08:00</published><updated>2008-03-05T22:43:58.029-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><category scheme='http://www.blogger.com/atom/ns#' term='VC'/><title type='text'>Append a string to CEdit</title><content type='html'>最近為了某些事，自己動手做了簡單的 GUI, 我以前從來沒有碰過 MFC 的，學生時候也只用 BCB 拉過簡單的 GUI。由於以前沒碰過，所以連些最簡單的小東西我也可能不知道藏在哪邊，自己找不到時就要問 GUI team 的同事。&lt;br /&gt;不過現在碰到一個小問題，很基本的小問題，竟然問了半天都沒有好的答案。我只是要在 multi line 的 CEdit 後面加一行字串，不論是 google 還是問人，都只能得到爛爛的方法，沒辦法像 CListBox 或 BCB 的 TMemo 一樣，用一個 AddString( ) 就解決，所幸最後還是找到了堪用的解法(不想看過程的人請直接跳到最後面)。&lt;br /&gt;那為何不用 CListBox? 因為 CListBox 不能選取/copy/paste。&lt;br /&gt;&lt;br /&gt;第一版：&lt;div id="fullpost"&gt;就是先 GetWindowText( ) 到 buffer中，把字串字自往 buffer 後面加上去，再 SetWindowText(buffer) 回去。真是爛到不行的點子，也是最多人提出的解決方案。我明明只是要加字串到尾端，竟然還要先讀出全部的舊字串再寫回，又麻煩又影響效率，還得考慮配置 buffer 的相關問題。&lt;br /&gt;&lt;br /&gt;第二版：預先配置一個 buffer, 把要 append 的字串先加入 buffer, 再把整個 buffer 透過 SetWindowText( ) 寫入 CEdit。這個方法其實跟第一個方法一樣，換湯不換藥，只是把工作換個地方做而已，而且從軟體工程的角度來看，其實更糟，因為這個 buffer 必需配置在 function 以外的地方，可能是某個 global 變數或是某個 class member, 若要放在這個 Append function  中，就得做成 static，那在 multi thread 時又會出問題!&lt;br /&gt;&lt;br /&gt;第三版：網路上找到的方法，我把它包成 function：&lt;br /&gt;&lt;pre class="code"&gt;inline void AppendStringToEdit(const string &amp;amp;str, CEdit &amp;amp;edit)&lt;br /&gt;{&lt;br /&gt;int length = edit.GetWindowTextLength();&lt;br /&gt;edit.SetSel(length, length);&lt;br /&gt;edit.ReplaceSel(str.c_str());&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;道理很簡單，就是先選取該 edit 中最後的部分，再將它取代，而這個被選取的部分其實是空的，因此造成 append 的效果。這雖然不太直接，但看來應該可行，可惜事與願違，它會把我要加的字串加在第一行的尾端，而非最後一行。&lt;br /&gt;&lt;br /&gt;第四版：自己亂試試出來的&lt;br /&gt;&lt;pre class="code"&gt;inline void AppendStringToEdit(const string &amp;amp;str, CEdit &amp;amp;edit)&lt;br /&gt;{&lt;br /&gt;edit.SetSel(-1, -1);&lt;br /&gt;edit.ReplaceSel(str.c_str());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;這個是第三版的改良版，會選取游標所在之處，而預設情況下，游標會在文字的最尾端，所以可以達到我想要的效果，這版終於做到我要的效果了!! 多數人應該到此就會打住了吧但我還是不滿意，因為只要使用者有動到游標(例如他想選取一部分 copy 起來)，插入的位置就不在尾端，於是文字就亂掉了，因此有下一版的產生。&lt;br /&gt;&lt;br /&gt;第五版：不會被游標干擾的版本&lt;br /&gt;&lt;pre class="code"&gt;inline void AppendStringToEdit(const string &amp;amp;str, CEdit &amp;amp;edit)&lt;br /&gt;{&lt;br /&gt;int nBegin = edit.LineIndex(edit.GetLineCount() - 1);&lt;br /&gt;int nEnd = nBegin + edit.LineLength(nBegin);&lt;br /&gt;edit.SetSel(nEnd, nEnd);&lt;br /&gt;edit.ReplaceSel(str.c_str());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt; 這版會先取出最後一行( GetLineCount( ) -1 )所在的位置，然後選取該行的行末，再做取代工作，這樣就不會被使用者的游標給干擾了，太好了 :)&lt;br /&gt;不過當使用者選取了某個範圍後，只要我一加新字串進去，他的選取範圍就會不見，這實在有點惱人，所以就有下一版的出現，這個改進還蠻理所當然的。&lt;br /&gt;&lt;br /&gt;第六版：不會干擾游標的版本&lt;br /&gt;&lt;pre class="code"&gt;inline void AppendStringToEdit(const string &amp;amp;str, CEdit &amp;amp;edit)&lt;br /&gt;{&lt;br /&gt;int nOrigBegin, nOrigEnd;&lt;br /&gt;edit.GetSel(nOrigBegin, nOrigEnd);&lt;br /&gt;int nBegin = edit.LineIndex(edit.GetLineCount() - 1);&lt;br /&gt;int nEnd = nBegin + edit.LineLength(nBegin);&lt;br /&gt;edit.SetSel(nEnd, nEnd);&lt;br /&gt;edit.ReplaceSel(str.c_str());&lt;br /&gt;edit.SetSel(nOrigBegin, nOrigEnd);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;  這版只多做一件事，就是把原先的選取範圍存下來，做完上一版事情後，再把原先的選取範圍給選回去. 就是先 GetSel( )，做完事後再 SetSel( )。這樣看起來舒服、自然多了。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CEdit 的 Append 改版到此暫時告一段落，不過若我發現還有改善空間還是會再改進的。&lt;br /&gt;&lt;br /&gt;心得：MFC 果然是爛東西。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-5801038426190174465?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/5801038426190174465/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=5801038426190174465' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/5801038426190174465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/5801038426190174465'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2008/01/append-string-to-cedit.html' title='Append a string to CEdit'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-8471082418175627522</id><published>2008-01-14T04:59:00.000-08:00</published><updated>2008-02-06T08:07:29.386-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><title type='text'>這樣國民黨才不會賣台</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.ntl.gov.tw/Public/Publish/200412241238585334.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://www.ntl.gov.tw/Public/Publish/200412241238585334.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2008 立委選舉出爐，國民黨可控制的席次高達四分之三，接下來的總統大選，馬英九勝出的機率非常的高，許多本土派的支持者都很擔心國民黨、統派會賣台，與中國談判、統一。其實我覺得事情正好相反，國民黨大勝，他們才不會賣台!!&lt;br /&gt;大家回想一下，連、宋也是選輸才賣台的嗎? 選輸才去北京跟胡錦濤等人眉來眼去、&lt;a href="http://www.google.com.tw/search?q=%E8%81%AF%E5%85%B1%E5%88%B6%E5%8F%B0%E7%8D%A8&amp;amp;sourceid=navclient-ff&amp;amp;ie=UTF-8&amp;amp;rlz=1B3GGGL_zh-TWTW257TW257&amp;amp;aq=t"&gt;聯共制台獨&lt;/a&gt;的啊! 其實這是人的劣根性，鬥輸了之後，為了自身利益，同室反目，甚至不惜與敵人聯手以求去翻身的機會。歷史上有太多這樣的例子：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;2000 年總統大選前，無法獲得黨內提名，宋楚瑜脫離國民黨參選、許信良脫離民進黨黨參選。&lt;br /&gt;&lt;/li&gt;&lt;li&gt;2000 年民進黨勝選後，沒分到利益的人或投奔敵營，或天天上&lt;a href="http://popblog.tvbs.com.tw/blog/tvbs2100/"&gt;2100&lt;/a&gt;，例如胡忠信。&lt;/li&gt;&lt;li&gt;比胡忠信多撐了幾年，最後揚憲宏也2100了。&lt;/li&gt;&lt;li&gt;連戰、宋楚瑜：選輸兩次後，連掩飾都懶得掩飾了，不搞亂局勢哪有翻盤的機會?&lt;/li&gt;&lt;li&gt;時間比較久的，大家最耳熟能詳的就是吳三桂了，打不贏李自成，直接就引清兵入關了。&lt;/li&gt;&lt;li&gt;......&lt;/li&gt;&lt;/ul&gt;好了，回來看現在的國民黨，他們若拿下執政權，對國會又掌握絕對多數，那麼自己吃台灣就好了，幹嘛跟阿共仔分利益? 所以大家可以放心，&lt;span style="font-weight: bold;"&gt;國民黨選贏了不會賣台，選輸了才會!&lt;/span&gt;&lt;br /&gt;至於獨大的國民黨，是否讓台灣民主大倒退? 其實也不用那麼悲觀，雖然國民黨拿下絕對多數，但組織一大，內部的矛盾必隨之而來，利益分配永遠不能讓每個人滿意，分裂只是早晚的事。(不然新黨、親民黨、台聯是怎麼來的?) 不妨想像一下五月內閣就職時，林郁芳發現自己沒當上國防部長的表情。&lt;br /&gt;&lt;br /&gt;對於這個獨大的政黨，我們甚至可以反過來利用它! 即然可以一手主導修法、修憲了，那麼很多事情就沒有藉口推託了。舉個例子，之前國民黨一直主張我國應該是偏向內閣制的雙首長制，那麼趁現在把它弄清楚吧，不論要改成內閣制還是總統制我都沒意見，最重要的是要有個明確方向，不要像現在這樣曖昧不明的，造成一大堆的爭議。&lt;br /&gt;陰謀一點的也可以想像一下，改成內閣制等於是削馬英九的權，他一定面有難色，改成總統制的話，要那四分之三的委員揮刀自宮嗎? 這可怎麼辦啊....&lt;br /&gt;&lt;br /&gt;當前政局，民進黨該做的是防止國民黨用這絕對的權力對台灣造成巨大而不可逆的傷害，運用清晰的說理能力來說服民眾、制造輿論壓力來防止這些事情的發生(例如僅照顧少數人&lt;a href="http://www.google.com.tw/search?q=%E9%8C%A2%E5%9D%91%E6%B3%95%E6%A1%88+%E7%9C%B7%E6%9D%91&amp;amp;sourceid=navclient-ff&amp;amp;ie=UTF-8&amp;amp;rlz=1B3GGGL_zh-TWTW257TW257"&gt;錢坑法案&lt;/a&gt;)。&lt;br /&gt;其實從另一個角度來看，本土派已對統派造成巨大而不可逆的傷害，這個傷害就是大多數台灣人都已認同台灣是主權獨立國家，想要與中共統一變的基乎是不可能的事。這個本土化的概念是如此成功深植人心，許多人民甚至不相信國民黨會賣台，或不信國民黨有能力賣台(因為人民會反對)，從這個角度來看，其實本土派的成果是深遠而豐碩的!&lt;br /&gt;&lt;br /&gt;對於台灣的未來，我們可以非常的樂觀!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-8471082418175627522?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/8471082418175627522/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=8471082418175627522' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8471082418175627522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8471082418175627522'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2008/01/blog-post.html' title='這樣國民黨才不會賣台'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-5498073033443250164</id><published>2007-11-05T06:10:00.000-08:00</published><updated>2007-11-05T07:10:44.513-08:00</updated><title type='text'>關掉自動播放</title><content type='html'>最近一堆病毒都是透過隨身碟的自動播放來執行與傳播的，其實微軟搞這個功能真的蠻煩人的，不如直接關掉。&lt;br /&gt;&lt;br /&gt;關掉的方法如下：&lt;br /&gt;執行 regedit，並修改 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion&lt;br /&gt;\Policies\Explorer\，把 NoDriveTypeAutoRun 的值改為 ff(16進位)或是 255(10進位)，再重開機即可。(可參考下圖)&lt;br /&gt;&lt;br /&gt;如果還搞不清楚，或嫌麻煩，可以直接下載 &lt;a href="http://avhacker.googlepages.com/TurnOffAutoRun.reg"&gt;TurnOffAutoRun.reg&lt;/a&gt;，執行後再重開機即可。&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh4.google.com/avhacker/Ry8x914pCZI/AAAAAAAABMg/8JgOZWAOfQw/TurnOffAutoRun.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-5498073033443250164?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/5498073033443250164/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=5498073033443250164' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/5498073033443250164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/5498073033443250164'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/11/blog-post_05.html' title='關掉自動播放'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-6807785571289977220</id><published>2007-11-04T08:32:00.000-08:00</published><updated>2007-11-04T18:55:01.966-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><title type='text'>馬英九並非斯德哥爾摩症患者</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lib.yzu.edu.tw/Cover/Cover23/P231083-1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px;" src="http://lib.yzu.edu.tw/Cover/Cover23/P231083-1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;今天(2007/11/04)看到一則&lt;a href="http://news.google.com.tw/news?q=%E8%AC%9D%E9%95%B7%E5%BB%B7+%E6%96%AF%E5%BE%B7%E5%93%A5%E7%88%BE%E6%91%A9&amp;amp;complete=1&amp;amp;hl=zh-TW&amp;amp;rlz=1B3GGGL_zh-TWTW220TW222&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;sa=X&amp;amp;oi=news_result&amp;amp;resnum=1&amp;amp;ct=title"&gt;新聞&lt;/a&gt;，謝長廷批評馬英九像得了 "&lt;a href="http://zh.wikipedia.org/wiki/%E6%96%AF%E5%BE%B7%E5%93%A5%E7%88%BE%E6%91%A9%E7%97%87%E5%80%99%E7%BE%A4"&gt;斯德哥爾摩症&lt;/a&gt;" 似的，大意是說馬英九最近的一些行為跟本是學民進黨或陳水扁那樣，拿香對拜，例如入聯/返聯、公投、發票報帳等事。&lt;br /&gt;真不知道是哪個豬頭教他講的，這個比喻不倫不類，而且蠢到不行。不但會被反譏說謝長廷自己才是被綁架的人，而且也直接把自己陣營的陳水扁變成是 "綁匪"。總之這個比喻實在爛的離譜，跟本就是把自己的嘴送上去給人打巴掌。&lt;br /&gt;&lt;br /&gt;純就選戰策略來說，要指控這種拿香對拜的行為，倒是有個蠻適合套在馬英九身上的例子：&lt;a href="http://zh.wikipedia.org/wiki/%E6%85%95%E5%AE%B9%E5%A4%8D"&gt;慕容復&lt;/a&gt;!&lt;br /&gt;慕容復最出名的手法就是 "以彼之道，還施彼身"，很多有看過&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8_%28%E5%B0%8F%E8%AF%B4%29&amp;amp;variant=zh-tw"&gt;天龍八部&lt;/a&gt;的人都知道，這是拿對手的招式打回去的手法。&lt;br /&gt;以慕容復來指控馬英九的好處在於可以有一些有趣的類比：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;一個是以彼之道還施彼身，另一個是拿香對拜&lt;/li&gt;&lt;li&gt;一個想當皇帝，另一個想當總統&lt;/li&gt;&lt;li&gt;兩人的外表應該都不錯，雖然前者主要靠武功、謀略，後者就很有靠臉吃飯的味道了&lt;br /&gt;&lt;/li&gt;&lt;s&gt;&lt;/s&gt;&lt;li&gt;&lt;s&gt;一個發瘋了，另一個....哦，還不知道，這行刪掉!&lt;/s&gt;&lt;/li&gt;&lt;li&gt;最有趣的是，一個想復興祖國 "&lt;a href="http://www.google.com.tw/search?aq=t&amp;amp;oq=&amp;amp;complete=1&amp;amp;hl=zh-TW&amp;amp;rlz=1B3GGGL_zh-TWTW220TW222&amp;amp;q=%E5%BE%A9%E8%88%88%E5%A4%A7%E7%87%95&amp;amp;btnG=%E6%90%9C%E5%B0%8B&amp;amp;meta=lr%3Dlang_zh-TW"&gt;大燕&lt;/a&gt;"，另一個要...... (&lt;a href="http://www.google.com.tw/search?q=%E5%8F%8D%E7%8D%A8%E6%BC%B8%E7%B5%B1+%E6%8C%AF%E8%88%88%E4%B8%AD%E5%9C%8B&amp;amp;sourceid=navclient-ff&amp;amp;ie=UTF-8&amp;amp;rlz=1B3GGGL_zh-TWTW220TW222"&gt;振興中國、&lt;/a&gt;&lt;a href="http://www.google.com.tw/search?q=%E5%8F%8D%E7%8D%A8%E6%BC%B8%E7%B5%B1+%E6%8C%AF%E8%88%88%E4%B8%AD%E5%9C%8B&amp;amp;sourceid=navclient-ff&amp;amp;ie=UTF-8&amp;amp;rlz=1B3GGGL_zh-TWTW220TW222"&gt;反獨漸統&lt;/a&gt;? 大家自己想吧)&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-6807785571289977220?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/6807785571289977220/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=6807785571289977220' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/6807785571289977220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/6807785571289977220'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/11/blog-post.html' title='馬英九並非斯德哥爾摩症患者'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-1254545821810514575</id><published>2007-10-23T07:29:00.000-07:00</published><updated>2007-10-23T10:02:44.196-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='心情雜記'/><title type='text'>釋夢人 - 三個怪夢及其解析</title><content type='html'>「&lt;a href="http://www.google.com.tw/search?q=%E9%87%8B%E5%A4%A2%E4%BA%BA&amp;amp;sourceid=navclient-ff&amp;amp;ie=UTF-8&amp;amp;rlz=1B3GGGL_zh-TWTW220TW222"&gt;釋夢人&lt;/a&gt;」是一本我去年看過的小說，其實與本文無關，只是借用其名，暫時充當自己的「釋夢人」。&lt;br /&gt;昨天晚上，老婆跟我談了半天關於未來的生涯規劃的事，當然包括工作、發展。夜裡，我一如預期的失眠了，未來該怎麼走的問題其實在這一年來始終困擾著我。&lt;br /&gt;&lt;br /&gt;&lt;div id="fullpost"&gt;起來耗到快四點才回床上睡覺，這次有睡著了，但連續做了三個怪夢，夢醒時是六點半，由於三個夢都蠻特別的，我立刻趁著還有印像時自己解夢。&lt;br /&gt;&lt;br /&gt;最後一個夢印像最深，我從這個夢開始：夢中的主角是個女性，感覺上好像這個人就是我，又好像我只是透過她的眼睛在看世界。Anyway, 就用第一人稱來描述好了。我收到一束花，裝在花瓶裡，但之後送花的人就沒再出現，而我一直期待著他再次出現，夢中還有很多跟我有同樣情況的人。直到花 漸漸的謝了，我像其他女生一樣把花朵的部分剪了，留下枝幹，插在花瓶裡，每次只要往花瓶裡吹氣，就會聞到殘留的花香，藉些得到慰借。可是時間久了，不但沒 有人再送花來，而且很多人開始生病，我也是只中一個，喉嚨部位開始長了一些病灶，有些比較嚴重的人甚至死去了。我驚覺到這一定跟那瓶花有關，於是下定決心不再依賴它。我把花瓶仍了，並且尋求治 療。不知是醫務人員，還是我自己，在拿著注射針筒刺進我喉嚨時，我就醒了。&lt;br /&gt;&lt;div style="text-align: left;"&gt; &lt;ul&gt;&lt;li&gt;我認為收到花，代表了曾經的升職與加薪。&lt;/li&gt;&lt;li&gt;被剪去花朵，只留枝幹與與花瓶，表示隨著時間過去，這種待遇對我來講已經是不足夠的了。&lt;/li&gt;&lt;li&gt;想要再收到花卻遙遙無期，這也反應了公司現況：升遷變難了&lt;/li&gt;&lt;li&gt;但大多數人(包括我)，仍然抱著那還有些餘香的花瓶捨不得離開，因為離職或轉換跑道的話又擔心待遇變差、甚至是年資重計，而待在原來的公司，好歹可以領個過的去的薪水&lt;/li&gt;&lt;li&gt;生病則像徵如果這情況繼續下去，不但離自己想要的生活或理想越來越遠，甚至以後真的就變電視新聞上的 "中年失業"。有些人甚至病死了，的確，就像那些已經失業，或是對理想完全放棄的人&lt;/li&gt;&lt;li&gt;把花瓶丟掉，並且開始尋求醫療，意謂著我已經正視這個問題，並且開始著手解決之道，至於以後會怎樣呢? 不知道，所以夢就醒了 :)&lt;/li&gt;&lt;/ul&gt; 第二個夢我只記得一小部分，夢中我是個武術高手，我似乎是要被選做什麼重要的事之類的，但最後還是差一點，就是沒選到我，於是我只好等明年再來。年復一年、年復一年、年復一年......這是我最害怕的事......&lt;br /&gt;&lt;ul&gt;&lt;li&gt;武術高手像徵對自己能力的自信&lt;/li&gt;&lt;li&gt;遙遙無期的等待，就好像現在在工作上，混一天算一天，卻擋不住心中的焦慮&lt;/li&gt;&lt;/ul&gt;第一個夢最古怪，也最零碎。夢中我不知怎的，與一群人被一個怪人追殺，後來只剩我一個。在這之前的部分實在太零碎，很難講出些什麼。只記得我一度泡在很噁心的大池子裡，裡面大概就是大便及一些很噁爛的東西，後來終於可以離開了，那個怪人卻又拿著生的動物內臟衝過來，大吼著要我吞下去，我當然開始逃跑，過程中怪人掉進池子裡，陷在裡面出不來了，我終於可以順利逃脫，臨走前他說：「明天比賽吃這些東西，你一定贏不了我!」，我說：「我才不要吃這種東西咧!」&lt;br /&gt;&lt;ul&gt;&lt;li&gt;我覺得泡在那個噁爛大池，就像我現在的情況一樣：跟一堆噁爛程式碼泡在一起，偶爾還要解些 bug，這些 bug 其實跟本都是別人拉的大便&lt;br /&gt;&lt;/li&gt;&lt;li&gt;至於我不願吞下的那些令人做嘔的東西，自然就是工作上常見的許多人都會有的便宜行事手法，這些方法解決了眼前的問題，實際上只是造成更多問題，我對這種手法的感覺一直就是 "噁心" 兩個字&lt;/li&gt;&lt;li&gt;很明顯的，有些人是很喜歡用這種手法的，而且還認為自己能做的到，沾沾自喜&lt;/li&gt;&lt;li&gt;而我當然無法接受，所以說「我才不要吃這種東西咧!」&lt;/li&gt;&lt;/ul&gt;這三個夢：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;第一個像徵我對現在工作處境的不滿&lt;/li&gt;&lt;li&gt;第二個夢一方面代表我對自己未來發展的焦慮，另一方面卻又一天混過一天&lt;/li&gt;&lt;li&gt;第三個夢更具體的表現出我的焦慮以及混日子的原因，最重要的是最後我開始正視問題了&lt;/li&gt;&lt;/ul&gt;夢雖然常常是混亂糾結而且缺乏邏輯性的，但抽絲剝繭後會發現其實它就是反應了自己的想法，就像一面鏡子。結論：下定決心，換工作吧!&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-1254545821810514575?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/1254545821810514575/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=1254545821810514575' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/1254545821810514575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/1254545821810514575'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/10/blog-post_23.html' title='釋夢人 - 三個怪夢及其解析'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-8009270015205419991</id><published>2007-09-14T23:06:00.000-07:00</published><updated>2007-10-23T06:24:04.448-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='八卦'/><category scheme='http://www.blogger.com/atom/ns#' term='媒亂'/><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><title type='text'>我貼的文上了推推王的本日熱門榜首</title><content type='html'>廢話不多說，有圖有真像：&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Bt8OsIjYjZU/Rut3CxWW5WI/AAAAAAAAAt8/YfZ5BVIZk_I/s1600-h/funpush.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_Bt8OsIjYjZU/Rut3CxWW5WI/AAAAAAAAAt8/YfZ5BVIZk_I/s320/funpush.jpg" alt="" id="BLOGGER_PHOTO_ID_5110309091672515938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;第一次貼了上榜首的文，特此紀念! 推推王的原始連結&lt;a href="http://funp.com/t23824"&gt;在此&lt;/a&gt;，原文則是&lt;a href="http://www.libertytimes.com.tw/2007/new/sep/12/today-show1.htm"&gt;自由時報的報導&lt;/a&gt;。&lt;br /&gt;總的來說，會這麼熱門有兩個原因：&lt;br /&gt;&lt;ol&gt;&lt;li&gt;王建民&lt;/li&gt;&lt;li&gt;中天、中時做的太過火，犯了眾怒。&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;媒體可以無恥至此，簡直是匪夷所思，但其實卻這不是什麼罕見的事，只是因為這次對像是王建民，大家才比較有感覺，其他時候可能大家也不細察，就這樣被偷渡了一堆政治宣傳進了大腦。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-8009270015205419991?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/8009270015205419991/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=8009270015205419991' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8009270015205419991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8009270015205419991'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/09/blog-post.html' title='我貼的文上了推推王的本日熱門榜首'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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/_Bt8OsIjYjZU/Rut3CxWW5WI/AAAAAAAAAt8/YfZ5BVIZk_I/s72-c/funpush.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6383480564648533577.post-5263127972890999277</id><published>2007-07-28T10:21:00.000-07:00</published><updated>2007-07-29T07:41:06.084-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='八卦'/><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><title type='text'>依法行政</title><content type='html'>最近看到一些blog 與討論，讓我對所謂的&lt;span style="font-weight: bold;"&gt;依法行政&lt;/span&gt;有更深一層的了解，而事件的起源是北投纜車(還不是最近被罵到爆的貓空纜車)。&lt;br /&gt;什麼是&lt;span style="font-weight: bold;"&gt;依法行政&lt;/span&gt;? &lt;span style="font-weight: bold;"&gt;北投纜車鑽法律漏洞不執行環評&lt;/span&gt;就是馬前市長的口頭禪：&lt;span style="font-weight: bold;"&gt;依法行政&lt;/span&gt;!&lt;br /&gt;&lt;div id="fullpost"&gt;以下資料主要來自謝明海先生的文章。(註1)&lt;br /&gt;&lt;br /&gt;跟據我國環評法規「&lt;a href="http://law.epa.gov.tw/zh-tw/laws/571925793.html"&gt;開發行為應實施環境影響評估細目及範圍認定標準&lt;/a&gt;」第七條(第3-6款)：「位於非都市土地，申請開發面積&lt;span style="font-weight: bold;"&gt;十公頃&lt;/span&gt;以上或擴建面積累積十公頃以上者」，「應實施環境影響評估」。&lt;br /&gt;而北投纜車佔地面積多少? &lt;span style="font-weight: bold;"&gt;9.972&lt;/span&gt; 公頃，真巧，是合法的耶! 可是會不會太巧了? 剛剛好低空飛過?&lt;br /&gt;這是怎麼回事? 其實北投纜車開發面積原本是超過 10 公頃的，但超過 10 公頃就要做嚴格的環境影響評估，需要花較多的時間，這樣一定來不及成為馬市長任內的「政績」，因此&lt;span style="font-weight: bold;"&gt;市府就善用他們的對專業與法律的素養&lt;/span&gt;，把開發面積縮到 10 公頃以內。&lt;br /&gt;那要怎麼做呢? 跟據「中華民國國家標準CNS5085號規範」，「北投纜車的路權寬度為15公尺」，簡單的說就是寬度是 15公尺。但這樣興建起來，開發面積就會超過 10 公頃，所以只好改而採用「&lt;span style="font-weight: bold;"&gt;中華人民共和國的纜車安全標準&lt;/span&gt;」，寬度只需要 11 公尺!! 開發總面積剛好塞進 10 公頃的範圍內，真是厲害!&lt;br /&gt;&lt;br /&gt;原來所謂的&lt;span style="font-weight: bold;"&gt;依法行政&lt;/span&gt;還有這幾層意義：&lt;br /&gt;1. &lt;span style="font-weight: bold;"&gt;依法&lt;/span&gt;律&lt;span style="color: rgb(255, 0, 0);"&gt;漏洞&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;行政&lt;/span&gt;&lt;br /&gt;2. &lt;span style="font-weight: bold;"&gt;依&lt;/span&gt;中國(某人的&lt;span style="color: rgb(255, 0, 0);"&gt;祖國&lt;/span&gt;?)&lt;span style="font-weight: bold;"&gt;法&lt;/span&gt;律行政&lt;br /&gt;&lt;br /&gt;註1:資料來源為 &lt;a href="http://www.libertytimes.com.tw/2006/new/jul/22/today-o7.htm"&gt;謝明海先生在自由時報的文章&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-5263127972890999277?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/5263127972890999277/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=5263127972890999277' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/5263127972890999277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/5263127972890999277'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/blog-post_28.html' title='依法行政'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-7422419609198470762</id><published>2007-07-24T08:42:00.000-07:00</published><updated>2007-07-24T08:56:46.834-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='八卦'/><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><title type='text'>懶叫又來了!</title><content type='html'>國民黨真是讓人想不透啊，我真的很懷疑他們的文宣是民進黨派去臥底的，而且一臥就是這麼多年。自從 2004 年選舉那場連戰被人笑掉大牙的&lt;a href="http://www.google.com.tw/search?q=%E8%97%8D%E6%95%99%E9%A0%AD&amp;sourceid=navclient-ff&amp;amp;ie=UTF-8&amp;amp;rlz=1B3GGGL_zh-TWTW220TW222"&gt;懶叫頭網站&lt;/a&gt;撤了以後，沒想到過了好幾年，輪到馬英九時竟然又搞出令人匪夷所思的&lt;a href="http://www.crazy9.com.tw/"&gt;台灣九九網站&lt;/a&gt;，讓人從壯陽的&lt;a href="http://blog.roodo.com/shifting/archives/3487119.html"&gt;久久神功一路聯想到瘋狗配&lt;/a&gt;。&lt;br /&gt;你以為就只有這樣嗎? 不! 懶叫頭沒了，不過懶叫又出來了! 他們又選了一個&lt;a href="http://www.ettoday.com/2007/07/24/301-2130851.htm"&gt;藍鳥&lt;/a&gt;(藍鵲)當 logo! 拜託來點新鮮的啦...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-7422419609198470762?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/7422419609198470762/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=7422419609198470762' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/7422419609198470762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/7422419609198470762'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/blog-post_24.html' title='懶叫又來了!'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-1493024859491949314</id><published>2007-07-22T00:45:00.000-07:00</published><updated>2007-07-22T07:10:23.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='八卦'/><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><title type='text'>2012 年國民黨的正副總統人選</title><content type='html'>現在是 2007 年的七月，人人都知道 2008 年總統大選國民黨的正副總統參選人是誰(雖然有些人認為其簡稱有些不雅，念起來像&lt;a href="http://blog.roodo.com/shifting/archives/3487119.html"&gt;肖告&lt;/a&gt;配)，而民進黨的總統人選也已確定，副總統人選據說將在中秋節前決定。&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold;font-size:130%;" &gt;但我現在要告訴大家，其實我連 2012 年國民黨會推的人選都知道了!&lt;br /&gt;&lt;/span&gt;&lt;div id="fullpost"&gt;只要回頭看看過去的歷史，看看&lt;strike&gt;國民黨&lt;/strike&gt;藍軍推出過哪些人，其實很容易推算出來的。&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;2000 年：連戰、蕭萬長、宋楚瑜、張昭雄&lt;/li&gt;&lt;li&gt;2004 年：連戰、宋楚瑜&lt;/li&gt;&lt;li&gt;2008 年：馬英九、蕭萬長&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;看到 2008 年時，應該很多人都注意到已經是連續兩屆有重覆的人選了。我們把所有的人都列出來看看：&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;連戰：兩次&lt;/li&gt;&lt;li&gt;蕭萬長：兩次&lt;/li&gt;&lt;li&gt;宋楚瑜：兩次&lt;/li&gt;&lt;li&gt;張昭雄：&lt;span style="COLOR: rgb(255,0,0)"&gt;一次&lt;/span&gt;&lt;/li&gt;&lt;li&gt;馬英九：&lt;span style="COLOR: rgb(255,0,0)"&gt;一次&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;答案應該很清楚了，正所謂不患寡而患不均，其實這擋子事是大家輪流玩的，不然至少也是 "雙淘汱賽"，每個人有兩次機會。我在此大膽預測，下一次的人選一定是&lt;strike&gt;輪到&lt;/strike&gt;馬英九 + 張昭雄(簡稱好像還是不太好聽)，其他人可以不用費心了，過兩輪再玩吧! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-1493024859491949314?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/1493024859491949314/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=1493024859491949314' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/1493024859491949314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/1493024859491949314'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/2012.html' title='2012 年國民黨的正副總統人選'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-7356097962827392372</id><published>2007-07-19T08:12:00.000-07:00</published><updated>2007-07-19T11:24:01.178-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='八卦'/><category scheme='http://www.blogger.com/atom/ns#' term='自言自語'/><category scheme='http://www.blogger.com/atom/ns#' term='政治'/><title type='text'>黑心包子? 黑心新聞? 還是黑心政府?</title><content type='html'>上個星期中國北京爆發&lt;a href="http://tw.news.yahoo.com/article/url/d/a/070711/17/h3t1.html"&gt;黑心包子&lt;/a&gt;事件，不肖業者竟然將瓦楞紙煮爛處理後與病死豬肉混合來當包子的內餡，消息一出果然嚇壞了不少人，不少國際媒體也引用這篇報導。&lt;br /&gt;沒想到這兩天案情大逆轉，這件黑心包子的新聞竟然是&lt;a href="http://tw.news.yahoo.com/article/url/d/a/070718/17/hh9b.html"&gt;北京電視台造假&lt;/a&gt;的! 原來是黑心新聞，而不是黑心包子啊!&lt;br /&gt;&lt;br /&gt;但在這個什麼都能黑心、造假的國度，我不禁懷疑，也許黑心包子並非造假，後者才是造假的! 黑心包子的新聞被不少國際媒體引用，也許北京當局擔心黑心包子引響形像過大，因此乾脆找個替死鬼，宣稱其實跟本沒這回事!&lt;br /&gt;&lt;br /&gt;到底真像是什麼? 我不知道，我想也沒人能回答我，畢竟面對這種國家與政府，天曉得什麼才是真的!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-7356097962827392372?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/7356097962827392372/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=7356097962827392372' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/7356097962827392372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/7356097962827392372'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/blog-post.html' title='黑心包子? 黑心新聞? 還是黑心政府?'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-8551017505841686684</id><published>2007-07-17T19:31:00.000-07:00</published><updated>2007-07-18T00:18:34.568-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='VC'/><title type='text'>在 VC IDE 的 Find/Replace 使用 Regular Expression</title><content type='html'>最近公司說要儘量把 compiler warnning 減到最少，在清理 warning 的過程中，我發現有一堆 warning 是來自像底下這種 code:&lt;br /&gt;&lt;pre class="code"&gt;#define PI 3.14159&lt;br /&gt;DSPfract p = PI;&lt;/pre&gt;&lt;br /&gt;會出現 &lt;a href="http://msdn2.microsoft.com/en-us/library/0as1ke3f%28VS.80%29.aspx"&gt;warning C4305&lt;/a&gt;: 'initializing' : truncation from 'double' to 'float'.&lt;br /&gt;&lt;div id="fullpost"&gt;原因是 DSPfract 會因不同的 #define 而被 typedef 成 float 或 double。當 DSPfract 被定為 float 時，warning 就會產生。這是因為 C++ 預設的小數型別是 double，當你把 double 的值傳給給 float 變數時，造成精準度降低，所以 compiler 就吐了一個 warning 出來。&lt;br /&gt;先不談應該用 const variable 而不該用 #define PI 這種東西的問題，這個問題的關鍵是要讓 compiler 知道要以 float 來處理小數，像這樣：&lt;br /&gt;&lt;code&gt;&lt;pre class="code"&gt;#define PI 3.14159f&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;但這種地方很多，我可不想手動一個一個做，所以我打算直接在 Visual Studio IDE 中用 &lt;a href="http://saturn.stu.edu.tw/%7Eckhung/b/gnu/regexp.php"&gt;regular expression&lt;/a&gt; 來解決問題，regular expression 是我很不熟的東西，但做簡單的工作應該還不成問題。&lt;br /&gt;先來看看該怎麼 find，小數就是一個連串的數字，後面緊接著一個小數點，然後再緊接著一連串的數字，所以我們寫 [0-9]+\.[0-9]+ 來尋找，果然還蠻順利的，但要記得勾選 match whole word。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Bt8OsIjYjZU/Rp2aON3-g7I/AAAAAAAAApw/v9QLpotOL7E/s1600-h/Find.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_Bt8OsIjYjZU/Rp2aON3-g7I/AAAAAAAAApw/v9QLpotOL7E/s400/Find.jpg" alt="" id="BLOGGER_PHOTO_ID_5088392723031819186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;尋找沒問題，接下來就是 replace 了。首先把 find 欄填的內容從 [0-9]+\.[0-9]+ 改成 ([0-9]+\.[0-9]+)，用小刮號括起來表示這是一個 tag，等一下 replace 時會用到。接下來到 replace 欄位輸入 \1f，其中 \1 代表 find 的第一個 tag, 就是在 find 時 match 的字串。以此例來說，3.14159 就是我們的 tag 1，因此 \1f 就會被展開成為 3.14159f，這樣就可以達成目的了。&lt;br /&gt;但當我一按 replace 時，3.14159 卻變成 f，而前面的數字不見了! 這是怎麼回事? 搞了半天才發現，原來在 VC 中 tag 要用大刮號，也就是要寫 {[0-9]+\.[0-9]+}，而不是 ([0-9]+\.[0-9]+)!!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Bt8OsIjYjZU/Rp2wzt3-g9I/AAAAAAAAAqA/VQ8SFviYIF4/s1600-h/replace.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_Bt8OsIjYjZU/Rp2wzt3-g9I/AAAAAAAAAqA/VQ8SFviYIF4/s400/replace.jpg" alt="" id="BLOGGER_PHOTO_ID_5088417556532724690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;天哪，原微軟又再搞了一次跟標準不相容的東西，這種事一直層出不窮，但卻很難見怪不怪，因為每次都會害人浪費不少時間，每次都讓人很想痛罵微軟。&lt;br /&gt;真搞不清楚把小刮號改成大刮號有什麼好玩的?&lt;br /&gt;&lt;br /&gt;參考資料：&lt;br /&gt;&lt;a href="http://www.codinghorror.com/blog/archives/000633.html"&gt;Visual Studio 的符號與標準 Regular Expression 符號的比較表。&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/2k3te2cs%28VS.80,d=ide%29.aspx"&gt;MSDN 上關於 Visual Studio 裡的 Regular Expression 的說明。&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-8551017505841686684?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/8551017505841686684/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=8551017505841686684' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8551017505841686684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8551017505841686684'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/vc-ide-findreplace-regular-expression.html' title='在 VC IDE 的 Find/Replace 使用 Regular Expression'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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/_Bt8OsIjYjZU/Rp2aON3-g7I/AAAAAAAAApw/v9QLpotOL7E/s72-c/Find.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6383480564648533577.post-1228771713199485521</id><published>2007-07-13T00:11:00.000-07:00</published><updated>2007-07-13T00:15:27.173-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自言自語'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><title type='text'>Blog 搬家</title><content type='html'>之前決定要從 &lt;a href="http://tw.myblog.yahoo.com/avhacker/"&gt;Yahoo MyBlog&lt;/a&gt; 搬回 Blogger 已經快&lt;a href="http://avhacker.blogspot.com/2007/03/blogger.html"&gt;四個月&lt;/a&gt;了，中間幾乎沒寫任何東西。今天決定卯起來把之前在 Yahoo 寫的一篇一篇貼來，反正也沒幾篇。花了點時間，終於搬完了，不過只搬跟程式有關的文章，其他廢話就不浪費力氣了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-1228771713199485521?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/1228771713199485521/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=1228771713199485521' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/1228771713199485521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/1228771713199485521'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/blog.html' title='Blog 搬家'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-2238141433642442847</id><published>2007-07-13T00:07:00.000-07:00</published><updated>2007-07-13T00:09:58.375-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='VC'/><title type='text'>Visual Studio text editor 的空白與 Tab 變成特殊符號</title><content type='html'>&lt;p&gt;連續有兩個人問我，關於Visual Studio text editor 的空白與 Tab 變成特殊符號要怎麼改回來。所有的空白都變成一個點，而 Tab 則變成箭頭，看起來很不習慣，就像這樣：&lt;/p&gt; &lt;p&gt;&lt;pre class="code"&gt;int．main(int．argc,．char**．argv)&lt;br /&gt;{&lt;br /&gt;→if．(．argc．&lt;．2．)&lt;br /&gt;→→return．-1;&lt;br /&gt;→return．0;&lt;br /&gt;}&lt;/pre&gt; &lt;/p&gt; &lt;p&gt;在 Tools-&gt;Options 找了半天卻找不到，後來在 MSDN forume 問人才得到答案，原來是在 Edit-Advanced-&gt;View White Space。而它的熱鍵是連按 Ctrl+R, Ctrl+W，讓有些人不小心誤觸才變成這樣的。&lt;/p&gt; &lt;p&gt;參考 &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1095029&amp;SiteID=1"&gt;http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1095029&amp;amp;SiteID=1&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;註：這篇是從 Yahoo Blog 搬過來的，原發文時間為 2007/01/23 14:26。&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-2238141433642442847?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/2238141433642442847/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=2238141433642442847' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/2238141433642442847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/2238141433642442847'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/visual-studio-text-editor-tab.html' title='Visual Studio text editor 的空白與 Tab 變成特殊符號'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-4057829961238123684</id><published>2007-07-12T23:51:00.000-07:00</published><updated>2007-07-17T23:30:19.774-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Boost'/><category scheme='http://www.blogger.com/atom/ns#' term='Loki'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='leak'/><category scheme='http://www.blogger.com/atom/ns#' term='smart pointer'/><title type='text'>Cyclic dependency 造成的 memory leak issue</title><content type='html'>Cyclic dependency主要來自reference counted物件互相持有對方，導致無法順利將其指向所指向的物件解構。其實只需要一個reference counted物件即可說明此例，只要該物件持有自己即可，接下來以此為例說明。&lt;br /&gt;&lt;div id="fullpost"&gt;&lt;br /&gt;我們以SmartPtr來做為reference counted此物件，圖中的每個箭頭代表一個reference count。&lt;br /&gt;&lt;br /&gt;假設有個物件內容如下：&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;struct Self{&lt;br /&gt;  SmartPtr&lt;self&gt; &amp;lt;Self&amp;gt; m_pSelf;&lt;br /&gt;};&lt;/self&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;假設方塊物件是SmartPtr，裡面的星號代表指向真正物件的指標，而圓形物件則是Self。當你寫下 &lt;span style="color: rgb(255, 0, 0);"&gt;SmartPtr&lt;/span&gt;&lt;self style="color: rgb(255, 0, 0);"&gt; &amp;lt;Self&amp;gt;&lt;/self&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;pSelf&lt;/span&gt; 時，記憶體空間配置如下：&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Bt8OsIjYjZU/RpchZt3-g2I/AAAAAAAAApI/JE8Ox2oE6ds/s1600-h/sp1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_Bt8OsIjYjZU/RpchZt3-g2I/AAAAAAAAApI/JE8Ox2oE6ds/s400/sp1.jpg" alt="" id="BLOGGER_PHOTO_ID_5086571029833089890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;接下來你繼續寫完整行 SmartPtr&lt;self&gt; &amp;lt;Self&amp;gt;&lt;/self&gt; pSelf &lt;span style="color: rgb(255, 0, 0);"&gt;= new Self;&lt;/span&gt; 此時記憶體空間如下(為了方便，就不特別分出heap與stack了)：&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Bt8OsIjYjZU/Rpci5N3-g3I/AAAAAAAAApQ/-P0CTt2EPyg/s1600-h/sp2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_Bt8OsIjYjZU/Rpci5N3-g3I/AAAAAAAAApQ/-P0CTt2EPyg/s400/sp2.jpg" alt="" id="BLOGGER_PHOTO_ID_5086572670510596978" border="0" /&gt;&lt;/a&gt;此時counter為1(一個箭頭)。這時你再寫 &lt;span style="color: rgb(255, 0, 0);"&gt;pSelf-&gt;m_pSelf = pSelf;&lt;/span&gt; 也就是另pSelf的data member m_pSelf指向自己，於是counter變成2了(有兩個箭頭，都指向我們的圓型物件Self)，示意圖如下：&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Bt8OsIjYjZU/Rpci5d3-g4I/AAAAAAAAApY/drUwirse0LE/s1600-h/sp3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_Bt8OsIjYjZU/Rpci5d3-g4I/AAAAAAAAApY/drUwirse0LE/s400/sp3.jpg" alt="" id="BLOGGER_PHOTO_ID_5086572674805564290" border="0" /&gt;&lt;/a&gt;好了，假設現在要離開pSelf所在的scope了，於是SmartPtr的destructor被呼叫，而將counter減1，counter剩下1，而圖案變成這樣：&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Bt8OsIjYjZU/Rpci5d3-g5I/AAAAAAAAApg/0HPvy72a97s/s1600-h/sp4.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_Bt8OsIjYjZU/Rpci5d3-g5I/AAAAAAAAApg/0HPvy72a97s/s400/sp4.jpg" alt="" id="BLOGGER_PHOTO_ID_5086572674805564306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;問題來了：原來唯一知道圓形物件的pSelf已經不存在了，於是沒人知道這個被new出來的圓形物件，而他的reference counter不為0，也無法降為0，因此它的destructor不會被呼叫起來!! Leak就這樣產生啦!完整的code如下，你可以自己試試看self的destructor會不會被呼叫起來(當然你得自己寫個destructor幫助你觀察)：&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;void Test( ){&lt;br /&gt;   SmartPtr&lt;self&gt; &amp;lt;Self&amp;gt;&lt;/self&gt; pSelf = new Self;&lt;br /&gt;   pSelf.m_pSelf = pSelf;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;如果不知道為什會有人寫這種code，你不妨想像現在有兩個SmartPtr A跟B，其中A有個member指向B，B也有個member指向A，code如下：&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;void Test( ){&lt;br /&gt;   SmartPtr&lt;self&gt; &amp;lt;Self&amp;gt;&lt;/self&gt; pSelfA = new self, pSelfB = new self;&lt;br /&gt;   pSelfA.m_pSelf = pSelfB;&lt;br /&gt;   pSelfB.m_pSelf = pSelfA;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;甚至不一定要是兩個，可以是一大串，A指向B，B指到C，C指到D，……最後又指回A，這個問題又發生了。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;解決方案呢?寫累了，下次再寫吧!反正就是用WeakPtr的概念，WeakPtr只會observe而不會持有一個物件，&lt;a href="http://www.boost.org/libs/smart_ptr/weak_ptr.htm"&gt;Boost::weak_ptr&lt;/a&gt; 或&lt;a href="http://loki-lib.sourceforge.net/html/a00754.html"&gt; Loki::StrongPtr&lt;/a&gt; (整合了strong pointer與weak pointer)都可以解決這問題。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;註：這篇是從 Yahoo Blog 搬過來的，原發文時間為 2007/02/12 16:47。&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-4057829961238123684?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/4057829961238123684/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=4057829961238123684' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/4057829961238123684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/4057829961238123684'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/cyclic-dependency-memory-leak-issue.html' title='Cyclic dependency 造成的 memory leak issue'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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/_Bt8OsIjYjZU/RpchZt3-g2I/AAAAAAAAApI/JE8Ox2oE6ds/s72-c/sp1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6383480564648533577.post-5890259915094397924</id><published>2007-07-12T23:47:00.000-07:00</published><updated>2007-07-17T23:31:22.773-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='VC'/><title type='text'>昇級到 Visual Studio 2005 Service Pack 1</title><content type='html'>&lt;p&gt;雖然暫時還不會昇到 Service Pack 1, 不過還是把這篇存下來，到時候昇級時可以先看看人家的狀況，少碰點麻煩。&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/heaths/archive/2006/12/16/slipstreaming-visual-studio-2005-service-pack-1.aspx"&gt;http://blogs.msdn.com/heaths/archive/2006/12/16/slipstreaming-visual-studio-2005-service-pack-1.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;註：這篇是從 Yahoo Blog 搬過來的，原發文時間為 2007/01/12 17:34。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://blogs.msdn.com/heaths/archive/2006/12/16/slipstreaming-visual-studio-2005-service-pack-1.aspx"&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-5890259915094397924?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/5890259915094397924/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=5890259915094397924' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/5890259915094397924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/5890259915094397924'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/visual-studio-2005-service-pack-1.html' title='昇級到 Visual Studio 2005 Service Pack 1'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-2254624809706226615</id><published>2007-07-12T23:41:00.000-07:00</published><updated>2009-05-18T23:11:35.470-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='function'/><category scheme='http://www.blogger.com/atom/ns#' term='Boost'/><category scheme='http://www.blogger.com/atom/ns#' term='functor'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>functor 還是 boost 的好用 (續)</title><content type='html'>&lt;p&gt;這篇寫 member function 的操作。例：&lt;/p&gt;&lt;div id="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;class &lt;span style="color: rgb(51, 255, 255);"&gt;TestClass&lt;/span&gt;{&lt;br /&gt;   int m_iRepetition;&lt;br /&gt;public:&lt;br /&gt;   explicit &lt;span style="color: rgb(51, 255, 255);"&gt;TestClass&lt;/span&gt;(int i=0) : m_iRepetition(i){}&lt;br /&gt;   &lt;span style="color: rgb(255, 0, 0);"&gt;void &lt;/span&gt;RepeatString(&lt;span style="color: rgb(255, 0, 0);"&gt;const string&amp;amp;&lt;/span&gt; str, &lt;span style="color: rgb(255, 0, 0);"&gt;bool &lt;/span&gt;bEndL)&lt;br /&gt;   {&lt;br /&gt;       for(int i=0; i&amp;gt; m_iRepetition; ++i){&lt;br /&gt;           cout &amp;gt;&amp;gt; str;&lt;br /&gt;           if ( bEndL )&lt;br /&gt;               cout &amp;gt;&amp;gt; endl;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TestClass TestObject(3);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function &amp;lt;&lt;span style="color: rgb(255, 0, 0);"&gt;void(const string&amp;amp;, bool)&lt;/span&gt;&amp;gt; TestFunction1 = bind(&amp;amp;&lt;span style="color: rgb(51, 255, 255);"&gt;TestClass&lt;/span&gt;::RepeatString, &amp;amp;TestObject, _1, _2);&lt;br /&gt;TestFunction1("av", true); // 輸出三行 av&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function &amp;gt;&lt;span style="color: rgb(255, 0, 0);"&gt;void(bool)&lt;/span&gt;&amp;gt; TestFunction2 = bind(&amp;amp;&lt;span style="color: rgb(51, 255, 255);"&gt;TestClass&lt;/span&gt;::RepeatString, &amp;amp;TestObject, "av", _1);&lt;br /&gt;TestFunction2(false); // 輸出 avavav&lt;br /&gt;&lt;br /&gt;cout &amp;gt;&amp;gt; endl;&lt;br /&gt;&lt;br /&gt;function &amp;gt;&lt;span style="color: rgb(255, 0, 0);"&gt;void(const string&amp;amp;)&lt;/span&gt;&amp;gt; TestFunction3 = bind(&amp;amp;&lt;span style="color: rgb(51, 255, 255);"&gt;TestClass&lt;/span&gt;::RepeatString, &amp;amp;TestObject, _1, true);&lt;br /&gt;TestFunction3("av"); // 輸出三行 av&lt;br /&gt;&lt;br /&gt;function TestFunction4&amp;gt;&lt;span style="color: rgb(255, 0, 0);"&gt;void( )&lt;/span&gt;&amp;gt; TestFunction4 = bind(&amp;amp;&lt;span style="color: rgb(51, 255, 255);"&gt;TestClass&lt;/span&gt;::RepeatString, &amp;amp;TestObject, "av", true);&lt;br /&gt;TestFunction4( ); // 輸出三行 av&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;註：這篇是從 Yahoo Blog 搬過來的，原發文時間為 2007/01/09 15:37。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-2254624809706226615?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/2254624809706226615/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=2254624809706226615' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/2254624809706226615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/2254624809706226615'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/functor-boost_12.html' title='functor 還是 boost 的好用 (續)'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-1161708435040680595</id><published>2007-07-12T23:09:00.000-07:00</published><updated>2007-07-15T08:28:40.359-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='function'/><category scheme='http://www.blogger.com/atom/ns#' term='Boost'/><category scheme='http://www.blogger.com/atom/ns#' term='functor'/><category scheme='http://www.blogger.com/atom/ns#' term='Loki'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>functor 還是 boost 的好用</title><content type='html'>昨天看到有人貼了幾個 link, 比較 STL、Loki、Boost 的 functor，其中 Boost 的 functor 的評論大概還沒寫，所以沒看到(只有標題)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.csdn.net/hdqqq/archive/2006/01/25/588348.aspx"&gt;http://blog.csdn.net/hdqqq/archive/2006/01/25/588348.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.csdn.net/hdqqq/archive/2006/01/25/588348.aspx"&gt;http://blog.csdn.net/hdqqq/archive/2006/02/07/593877.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;我認為跟本也不用考慮了，Boost 的 functor 以 Boost function + Boost bind 組合，彈性是最強大的。你可以把有 n 個參數的的 function 透過 bind 任意指定其中幾個而成為另一個 boost function(也就是 functor)，甚至連順序都可以改變! 底下是一些簡單的範例：&lt;br /&gt;&lt;div id="fullpost"&gt;先說明一下，boost function 的宣告型式是這樣的：&lt;br /&gt;function &amp;lt;T&amp;gt; 其中 T 為函式型別。例如你有一個函式接受一個 int 與一個 string，並傳回 bool 值，那麼你的函式宣告會長這樣：&lt;br /&gt;&lt;pre class="code"&gt;bool func(int, string);&lt;/pre&gt;&lt;br /&gt;現在若你要宣告一個同樣使用介面的 boost function，你只要寫:&lt;br /&gt;&lt;pre class="code"&gt;function &amp;lt;bool (int, string)&gt; MyFunc;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;很簡單吧!&lt;br /&gt;&lt;br /&gt;好，現在進入正題。假設你有一個 function 長這樣：&lt;br /&gt;&lt;pre class="code"&gt;void f(int , int, char, char, float, float, string, string);&lt;/pre&gt;&lt;br /&gt;你可以：&lt;br /&gt;&lt;br /&gt;1. 宣告一個 boost function, 用法與 f( ) 完全一樣.&lt;br /&gt;&lt;pre class="code"&gt;function &amp;lt;void(int , int, char, char, float, float, string, string)&gt; f1&lt;br /&gt;= f;&lt;/pre&gt;&lt;br /&gt;2. 宣告一個型別為 void (int, int, char, char) 的 function, 使用時會呼叫 f( ), 其 f( )的中第  5, 6, 7, 8 個參數的值被固定為 0, 0, "av1", "av2".&lt;br /&gt;&lt;pre class="code"&gt;function &amp;lt;void(&lt;span style="color: rgb(255, 0, 0);"&gt;int , int, char, char&lt;/span&gt;)&amp;gt; f2&lt;br /&gt;= bind(f, &lt;span style="color: rgb(255, 0, 0);"&gt;_1, _2, _3, _4&lt;/span&gt;, &lt;span style="color: rgb(51, 255, 51);"&gt;0, 0, "av1", "av2"&lt;/span&gt;);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;3. 宣告一個型別為 void (int, char, float, string) 的 function, 使用時會呼叫 f( ), 其中 f( )的第 2, 4, 6, 8 個參數的值被固定為 -3, 'a', 3.1416, "av".&lt;br /&gt;&lt;pre class="code"&gt;function &amp;lt;void(&lt;span style="color: rgb(255, 0, 0);"&gt;int , char, float, string&lt;/span&gt;)&amp;gt; f3&lt;br /&gt;= bind(f, &lt;span style="color: rgb(255, 0, 0);"&gt;_1&lt;/span&gt;, &lt;span style="color: rgb(51, 255, 51);"&gt;-3&lt;/span&gt;, &lt;span style="color: rgb(255, 0, 0);"&gt;_2&lt;/span&gt;, &lt;span style="color: rgb(51, 255, 51);"&gt;'a'&lt;/span&gt;, &lt;span style="color: rgb(255, 0, 0);"&gt;_3&lt;/span&gt;, &lt;span style="color: rgb(51, 255, 51);"&gt;3.1416&lt;/span&gt;, &lt;span style="color: rgb(255, 0, 0);"&gt;_4&lt;/span&gt;, &lt;span style="color: rgb(51, 255, 51);"&gt;"av"&lt;/span&gt;);&lt;/pre&gt;&lt;void(int&gt;&lt;br /&gt;&lt;br /&gt;4. 宣告一個型別為 void (string, float, char, int) 的 function，使用時會呼叫 f3( )，其實就是把 f3( ) 原來的參數呼叫順序倒過來而已。而 f3( ) 又會呼叫 f( ), 且將它的第 2, 4, 6, 8 個參數的值被固定為 -3, 'a', 3.1416, "av".&lt;br /&gt;&lt;br /&gt;&lt;/void(int&gt;&lt;pre class="code"&gt;function &amp;lt;void(&lt;span style="color: rgb(255, 0, 0);"&gt;string, float, char, int&lt;/span&gt;)&amp;gt; f4&lt;br /&gt;= bind(f3, _4, _3, _2, _1);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;上述的 _1, _2, _3, _4 分別代表 bind 後的 function 的第 1, 2, 3, 4 個參數.&lt;br /&gt;&lt;br /&gt;使用範例：&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;f1(0, 1, 'a', 'b', 10.5, 20.1, "foo", "bar") 相當於&lt;br /&gt;f(0, 1, 'a', 'b', 10.5, 20.1, "foo", "bar")&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;f2(0, 1, 'a', 'b') 相當於&lt;br /&gt;f(&lt;span style="color: rgb(255, 0, 0);"&gt;0, 1, 'a', 'b'&lt;/span&gt;,  0, 0, "av1", "av2"")&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;f3(10, 'x', 98.7, "blog") 相當於&lt;br /&gt;f(&lt;span style="color: rgb(255, 0, 0);"&gt;10&lt;/span&gt;, -3, &lt;span style="color: rgb(255, 0, 0);"&gt;'x'&lt;/span&gt;, 'a', &lt;span style="color: rgb(255, 0, 0);"&gt;98.7&lt;/span&gt;, 3.1416, &lt;span style="color: rgb(255, 0, 0);"&gt;"blog"&lt;/span&gt;, "av")&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;f4("avhacker", 2.71828183, 'z', 99) 相當於&lt;br /&gt;f(&lt;span style="color: rgb(255, 0, 0);"&gt;99&lt;/span&gt;, -3, &lt;span style="color: rgb(255, 0, 0);"&gt;'z'&lt;/span&gt;, 'a', &lt;span style="color: rgb(255, 0, 0);"&gt;2.71828183&lt;/span&gt;, 3.1416, &lt;span style="color: rgb(255, 0, 0);"&gt;"avhacker"&lt;/span&gt;, "av");&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;當然，連 member function 也可以這樣玩，而且不必要是&lt;br /&gt;static member function，相當的好用。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;註：這篇是從 Yahoo Blog 搬過來的，原發文時間為 2007/01/05 15:02。&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-1161708435040680595?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/1161708435040680595/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=1161708435040680595' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/1161708435040680595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/1161708435040680595'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/functor-boost.html' title='functor 還是 boost 的好用'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-5325975842332382425</id><published>2007-07-12T21:45:00.000-07:00</published><updated>2007-07-15T08:29:26.549-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='define'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='VC'/><title type='text'>為何不要用 #define - 再加一個例子，這次兇手是微軟!</title><content type='html'>&lt;div class="msgcontent"&gt;     &lt;p&gt;才剛寫完一篇&lt;a href="http://avhacker.blogspot.com/2007/07/define.html"&gt;為何不要用 #define 的實例&lt;/a&gt;，立刻又碰上另外一個。先來看個 example:&lt;/p&gt;#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;&lt;pre class="code"&gt;int MyMax = std::numeric_limits ::max( );&lt;br /&gt;&lt;/pre&gt;一切看來很正常，compile 起來也很正常。但當你加入一行 #include &lt;windows.h&gt;後，一切就毀了。這次的兇手是微軟，追蹤下去後，發現原因是在 &lt;windef.h&gt;，有一行(應該說一堆)大家都知道的爛 macro:&lt;/windef.h&gt;&lt;/windows.h&gt; &lt;pre class="code"&gt;&lt;p&gt;#define max(a,b)            (((a) &gt; (b)) ? (a) : (b))&lt;/p&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div id="fullpost"&gt;&lt;p&gt;看出問題來了嗎? 當你寫 std::numeric_limits ::&lt;span style="color: rgb(255, 0, 0);"&gt;max( )&lt;/span&gt; 時，最後面的&lt;span style="color: rgb(255, 0, 0);"&gt;max( )&lt;/span&gt;因為macro而被換掉了，compile 出另人昏倒的結果! &lt;img src="http://tw.yimg.com/i/tw/blog/smiley/30.gif" /&gt;&lt;/p&gt; &lt;p&gt;查了一下解法，目前比較常見的做法有兩種，一個是騙過preprocessor，這樣寫就行了：&lt;/p&gt; &lt;p&gt;int MyMax = &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;/p&gt;&lt;pre class="code"&gt;std::numeric_limits ::max&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;( ); // 用()包起來，就不會被preprocessor換掉了&lt;p&gt;&lt;/p&gt;&lt;/pre&gt; &lt;p&gt;另一個做法是用&lt;a href="http://www.boost.org/"&gt;Boost&lt;/a&gt;，它有一個library叫&lt;a href="http://www.boost.org/libs/integer/index.html"&gt;integer&lt;/a&gt;，裡面有integer_traits ::const_max.&lt;/p&gt; &lt;p&gt;總之，別再用 #define 啦!!!!!&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;註：這篇是從 Yahoo Blog 搬過來的，原發文時間為 2006/12/26 14:35。&lt;/span&gt;&lt;/p&gt;   &lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-5325975842332382425?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/5325975842332382425/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=5325975842332382425' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/5325975842332382425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/5325975842332382425'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/define_12.html' title='為何不要用 #define - 再加一個例子，這次兇手是微軟!'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-3773127908136476093</id><published>2007-07-12T21:40:00.000-07:00</published><updated>2007-07-15T08:31:20.176-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='define'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='macro'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>為何不要用 #define</title><content type='html'>&lt;div class="msgcontent"&gt;     &lt;p&gt;這兩天在拆 header file dependency 時(本公司的 coupling 情況很嚴重)，碰到一個 compile error:&lt;/p&gt; &lt;p&gt;error C2632: &lt;span style="color:#ff0000;"&gt;'char'&lt;/span&gt; followed by 'char' is illegal&lt;/p&gt;&lt;br /&gt;&lt;div id="fullpost"&gt;&lt;p&gt;點進去看後，那行 code 是在 windows 6.0 SDK (Vista SDK)的 intsafe.h, 內容是：&lt;/p&gt; &lt;p&gt;typedef unsigned char       BYTE;&lt;/p&gt; &lt;p&gt;照理說 BYTE 不管原來有沒有被定成別的型別，都不該導至這行出錯，因為typedef 只是個別名，被改來改去是無所謂的。按照 error message 的說法，compiler 是把這行當成&lt;/p&gt; &lt;p&gt;typedef unsigned char char;&lt;/p&gt; &lt;p&gt;來處理了，但為什麼會這樣呢? 經過 N 層的 #include header file 後(真的很多層，真難找)，終於找到兇手是：&lt;/p&gt; &lt;p&gt;#define BYTE unsigned char&lt;/p&gt; &lt;p&gt;因為 macro ( #define )是在還沒進 compiler 前就以 preprocessor 處理掉的，它只是做當純的取代動作，就像是 copy/paste 那樣，它並不知道 C++ 的語言機制(typedef)，所以&lt;/p&gt; &lt;p&gt;&lt;span style="color:#ff0000;"&gt;typedef unsigned char BYTE;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;就被取代為&lt;/p&gt; &lt;p&gt;&lt;span style="color:#ff0000;"&gt;typedef unsigned char unsigned char;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;當然出錯! 大家記得盡量別用 #define 啊!&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;註：這篇是從 Yahoo Blog 搬過來的，原發文時間為 2006/12/26 11:11。&lt;/span&gt;&lt;/p&gt;   &lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-3773127908136476093?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/3773127908136476093/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=3773127908136476093' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/3773127908136476093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/3773127908136476093'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/define.html' title='為何不要用 #define'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-4942958297017061596</id><published>2007-07-12T21:27:00.000-07:00</published><updated>2007-07-17T23:28:47.817-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GCC'/><category scheme='http://www.blogger.com/atom/ns#' term='const'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='VC'/><title type='text'>const 物件的初始化</title><content type='html'>&lt;div class="msgcontent"&gt;     &lt;p&gt;昨天(2006/9/25, 這篇是搬過來的舊文) Orson 跟我抱怨，說某人 break build 的責任該算在我頭上，因為上星期我的教學課程叫大家多用 const, 可是某人用了 const 造成 g++ compile 不過.&lt;/p&gt; &lt;p&gt;trace 了一下發現他宣告了一個 const 物件而沒有初始化它，VC(不管VC6或VC8都一樣)卻只吐個 &lt;a rel="nofollow" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcstdlib/html/vcoriStandardCLibraryReference.asp"&gt;warning C4269&lt;/a&gt; 而已(跟我想的不一樣)，而 g++ 則是出現 compile error.&lt;/p&gt;  &lt;p&gt;今天早上來公司後，想到這件事，就決定查查看 SPEC 怎麼寫的。查了好一陣子，終於找到了：&lt;/p&gt;&lt;br /&gt;&lt;div id="fullpost"&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;If no initializer is specified for an object, and the object is of (possibly cv-qualified) non-POD class type (or array thereof), the object shall be default-initialized; if the object is of const-qualified type, the underlying class type shall have a user-declared default constructor. &lt;span style="color: rgb(255, 0, 0);"&gt;Otherwise&lt;/span&gt;, if no initializer is specified for a nonstatic object, the object and its subobjects, if any, have an indeterminate initial value; &lt;span style="color: rgb(255, 0, 0);"&gt;if the object or any of its subobjects are of const-qualified type, the program is ill-formed&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;節錄自 C++ SPEC section 8.5, 第 9 款。簡單的說，若你宣告了一個物件，而且沒有對它初始化：&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;table border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;　　&lt;/td&gt; &lt;td&gt;非POD物件&lt;/td&gt; &lt;td&gt;POD物件&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;非const物件&lt;/td&gt; &lt;td&gt;呼叫default constructor&lt;/td&gt; &lt;td&gt;未始初化，其值未定義&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;const物件&lt;/td&gt; &lt;td&gt;呼叫default constructor&lt;/td&gt; &lt;td&gt;不合法(ill-formed)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;結論：g++ 正確，VC 錯誤(它呼叫 default constructor, 但宣告的是 const POD 物件).&lt;/p&gt; &lt;p&gt;名詞解釋： &lt;a rel="nofollow" href="http://www.devx.com/tips/Tip/12970"&gt;POD - Plain Old Data&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;註：這篇是從 Yahoo Blog 搬過來的，原發文時間為 2006/09/26 12:44。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-4942958297017061596?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/4942958297017061596/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=4942958297017061596' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/4942958297017061596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/4942958297017061596'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/const.html' title='const 物件的初始化'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-8755680048919646804</id><published>2007-07-12T21:14:00.000-07:00</published><updated>2008-02-19T19:42:20.456-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Boost'/><category scheme='http://www.blogger.com/atom/ns#' term='Loki'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>自己做個 ScopeGuard</title><content type='html'>&lt;p&gt;試了 &lt;a rel="nofollow" href="http://www.ddj.com/dept/cpp/184403758"&gt;Loki 的 ScopeGuard&lt;/a&gt; 後，我覺得可以用 boost 來做到同樣的功能，就自己練習看看。我覺得 Loki 版的有兩點不太好用：&lt;br /&gt;&lt;br /&gt;1. 針對 function 與 member function 需要用不同的呼叫(MakeGuard 與 MakeObjectGuard ).&lt;br /&gt;2. 目前它使用的 functor 只接受到三個參數，不夠方便.&lt;/p&gt; &lt;blockquote&gt;  &lt;/blockquote&gt; &lt;p&gt;自己用 boost 試做，後來發現可以做的很簡單，不需要搞 ScopeGuard 繼承體系，也不需要用 MakeGuard 與 MakeObjectGuard 這類的 template function 來包裝。&lt;br /&gt;原始碼如下：&lt;/p&gt;&lt;br /&gt;&lt;div id="fullpost"&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;class MyScopeGuard : private boost::noncopyable&lt;br /&gt;{&lt;br /&gt; mutable bool bDismissed;&lt;br /&gt; boost::function func;&lt;br /&gt;&lt;br /&gt;public:&lt;br /&gt; MyScopeGuard(function f) : bDismissed(false), func(f){}&lt;br /&gt; void Dismiss () const throw() { bDismissed = true; }&lt;br /&gt; ~MyScopeGuard() throw()&lt;br /&gt; {&lt;br /&gt;  if ( !bDismissed &amp;amp;&amp;amp; !func.empty() )&lt;br /&gt;   func();&lt;br /&gt; }&lt;br /&gt;};&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;使用如下：&lt;p&gt;&lt;/p&gt; &lt;pre class="code"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void Decrement(int&amp;amp; i) { --i; }&lt;br /&gt;void foo::bar()&lt;br /&gt;{&lt;br /&gt; // ......&lt;br /&gt; ++m_iValue;&lt;br /&gt; MyScopeGuard guard1( boost::bind(Decrement, boost::ref(m_iValue)) );&lt;br /&gt; m_vec.push_back(i);&lt;br /&gt; MyScopeGuard guard2( boost::bind(&amp;amp;vector::pop_back, &amp;amp;m_vec) );&lt;br /&gt; // ...... may throw&lt;br /&gt; &lt;br /&gt; guard1.Dismiss();&lt;br /&gt; guard2.Dismiss();&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;使用起來比 Loki 的簡單多了，除了改良我上面講的 loki 的不方便的兩個地方，其他地方用法完全一樣，測試結果也很順利，在 exception 發生時，m_iValue 與 m_vec 都會自動退回來. &lt;p&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;那麼效率呢?&lt;/span&gt;&lt;/strong&gt; 以我的電腦 ( P4 2.8G Hyper threading) 測的結果如下：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;1. 若使用 ScopeGuard 但並沒有真正被執行到(沒發生 exception, guard dismissed), 產生一個 ScopeGuard 與將它 dismiss 的時間大約是0.08ms.&lt;br /&gt;2. 若使用 ScopeGuard 並且讓它真的執行(不 dismiss)，所花費的時間仍然是大約0.08ms.&lt;br /&gt;3. 不使用 ScopeGuard，僅測試一次 throw 並 catch 所花費的時間，大約是75ms.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;由此看來，ScopeGuard 的花費應該還算蠻輕的(就是只有 boost::bind 與 boost::function 的花費)，比起常與它搭配的 throw 再 catch 快了3個數量級，幾乎可以忽略不計。&lt;/p&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;註：這篇是從 Yahoo Blog 搬過來的，原發文時間為 2006/09/04 17:42。&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-8755680048919646804?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/8755680048919646804/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=8755680048919646804' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8755680048919646804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8755680048919646804'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/scopeguard.html' title='自己做個 ScopeGuard'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-2847502450283659541</id><published>2007-07-11T23:57:00.000-07:00</published><updated>2009-05-08T07:59:24.469-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='build'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='incredibuild'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='VC'/><title type='text'>Incredibuild 在 console 模式 build project 的語法</title><content type='html'>雖然我通常都用 script 在 build，但有時用別人的電腦沒有現成的 script 就比較麻煩，所以還是把這些語法 blog 起來省的忘掉時還要再看 help(順便給其他同事看，免得常常要用 VC IDE  還境開那個有上百個 project 的 solution 檔).&lt;br /&gt;語法：&lt;br /&gt;BuildConsole &lt;solution&gt; &lt;其他參數&gt;&lt;br /&gt;常用參數有：&lt;br /&gt;指定 project 名稱：&lt;span style="color: rgb(255, 0, 0);"&gt;/prj=&lt;/span&gt;project name&lt;br /&gt;(這個參數若不指定則會 build 所有的 project)&lt;br /&gt;指定 configuration &lt;span style="color: rgb(255, 0, 0);"&gt;/cfg=&lt;/span&gt;configuration&lt;br /&gt;Clean project 或 solution：&lt;span style="color: rgb(255, 0, 0);"&gt;/clean&lt;/span&gt;&lt;br /&gt;Rebuild：&lt;span style="color: rgb(255, 0, 0);"&gt;/rebuild&lt;/span&gt;&lt;br /&gt;例：&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;BuildConsole GpiProxy.sln /cfg="Debug|Win32"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;BuildConsole GpiProxy.sln /prj="GpiProxy" /cfg="Debug|Win32"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;BuildConsole LibCopp.vcproj /cfg="Debug|Win32"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;BuildConsole LibCopp.vcproj /cfg="Debug|Win32" /rebuild&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;以上的 sln/vcpoj 檔都沒寫路徑，要用的時候記得自己要加上去，或是切到該目錄再輸入命令，像這樣：&lt;br /&gt;&lt;/solution&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;BuildConsole D:\usr\P4\Shared\Components\GpiProxy\GpiProxy.sln /prj="GpiProxy" /cfg="Debug|Win32"&lt;/span&gt;&lt;br /&gt;&lt;solution&gt;&lt;br /&gt;若不想用 &lt;a href="http://www.xoreax.com/main.htm"&gt;Incredibuild &lt;/a&gt;而想用 VC 的 console build，其實做法也差不多(Incredibuild 的語法要相容於 VC)，只是執行檔從 &lt;span style="color: rgb(255, 0, 0);"&gt;BuildConsole &lt;/span&gt;改成 &lt;span style="color: rgb(255, 0, 0);"&gt;DevEnv，&lt;/span&gt;詳情請參照 &lt;a href="http://msdn2.microsoft.com/en-us/library/xee0c8y7%28VS.80%29.aspx"&gt;MSDN&lt;/a&gt;。&lt;/solution&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-2847502450283659541?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/2847502450283659541/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=2847502450283659541' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/2847502450283659541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/2847502450283659541'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/incredibuild-console-build-project.html' title='Incredibuild 在 console 模式 build project 的語法'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-8330133721894623746</id><published>2007-07-11T00:09:00.000-07:00</published><updated>2007-07-17T23:29:39.598-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='VC'/><title type='text'>關閉 VC 環境下的 assert 視窗</title><content type='html'>這個之前就提了好幾次了，只是每次跟同事提到時，都要重新找一下要怎麼做，乾脆寫在 blog 算了，blog 超久沒寫東西了。&lt;br /&gt;雖然 assert 發生是不應該的，要解掉才對，但很多時候這是別的元件的 assertion fail，我們沒辦法去改它，這時只好先將它暫時關閉。&lt;br /&gt;這邊講的是 MicroSoft Visual C++ 的做法：&lt;br /&gt;以 VC8 來說，通常我會在程式開頭處設個 break point, 讓程式停下來，然後再到 watch 視窗輸入下面這串字串：&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;{,,msvcr80d.dll}_CrtSetReportMode(2,2)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;成功的話會看到 Value = 4，Type 為 int，像這樣：&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Bt8OsIjYjZU/RpSGQffVPbI/AAAAAAAAApA/4KZn2cWOOl4/s1600-h/TurnOffAssert.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_Bt8OsIjYjZU/RpSGQffVPbI/AAAAAAAAApA/4KZn2cWOOl4/s400/TurnOffAssert.jpg" alt="" id="BLOGGER_PHOTO_ID_5085837497097076146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;如果要把 assert 再打開的話就輸入：&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;{,,msvcr80d.dll}_CrtSetReportMode(2,6)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;_CrtSetReportMode 還有很多其他功能，可以參考&lt;a href="http://msdn2.microsoft.com/EN-US/library/1y71x448%28VS.80%29.aspx"&gt;這邊&lt;/a&gt;。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-8330133721894623746?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/8330133721894623746/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=8330133721894623746' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8330133721894623746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/8330133721894623746'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/07/vc-assert.html' title='關閉 VC 環境下的 assert 視窗'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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://1.bp.blogspot.com/_Bt8OsIjYjZU/RpSGQffVPbI/AAAAAAAAApA/4KZn2cWOOl4/s72-c/TurnOffAssert.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6383480564648533577.post-3665690755889997933</id><published>2007-04-18T21:04:00.000-07:00</published><updated>2007-05-09T01:09:00.593-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='八卦'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='心情雜記'/><title type='text'>面試沒好好挑人真是惡夢</title><content type='html'>今天公司著名的天兵Ｊ來問我問題，我真的不知道該哭還是該笑。事情是這樣的，他要回傳一個字串，內容是 driver 版本，透過 driver API，他得到了 4 個數字，接下來就不知道該怎麼辦了。一開始我還不確定他的問題就是這個，因為蠢到太另人難以致信。&lt;br /&gt;##CONTINUE##&lt;br /&gt;我：你可以用 sprintf 啊! (不期待他會知道 C++ 的 stringstream 或是非標準的 sprintf_s)&lt;br /&gt;Ｊ：啊?&lt;br /&gt;我：那你總用過 printf 吧?&lt;br /&gt;Ｊ：嗯....能不能給個 sample code?&lt;br /&gt;我受不了了，不過還是寫給他看：&lt;br /&gt;&lt;pre class="code2"&gt;&lt;br /&gt;int a = 123, b = 456, c = 789, d = 135;&lt;br /&gt;char buf[buf_size];&lt;br /&gt;sprintf(buf, "%d.%d.%d.%d", a,b,c,d); // 顯示為 123.456.789.135&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;此時，Ｊ似乎有所領&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;誤&lt;/span&gt;的提出質疑：可是這樣不會超過 char 的上限嗎? (8bit, 0~255, -128~127)&lt;br /&gt;&lt;br /&gt;我吐血了，敗給他了! 叫他自己先去看 MSDN，確定會用 printf 再說吧!&lt;br /&gt;&lt;br /&gt;天兵Ｊ是進公司已經兩年的 software engineer，台大電信所的碩士。要怎麼爛那是個人的事啦，不過幫公司面試這種人進來，是怕公司倒的不夠快嗎?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-3665690755889997933?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/3665690755889997933/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=3665690755889997933' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/3665690755889997933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/3665690755889997933'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/04/blog-post.html' title='面試沒好好挑人真是惡夢'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-2894651562431617536</id><published>2007-03-26T20:22:00.000-07:00</published><updated>2007-04-26T21:19:36.831-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>張貼程式碼</title><content type='html'>即然要重搞 blog 就要搞的好看一點，之前一直都沒管 css 到底是怎麼用的，所以在 yahoo 的 blog 上寫的 code 看起來會很亂，排版不好. 現在用人家寫 code 專用的 css 應該會比較好了，那麼就用 template partialization 的 code 來個測試吧：&lt;br /&gt;##CONTINUE##&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;#include &amp;lt;iostream&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;template&amp;lt;typename T&gt;&lt;br /&gt;struct RemoveAllPtr&lt;br /&gt;{&lt;br /&gt;    typedef T Type;&lt;br /&gt;};&lt;br /&gt;template&amp;lt;typename T&gt;&lt;br /&gt;struct RemoveAllPtr&amp;lt;T*&gt;&lt;br /&gt;{&lt;br /&gt;    typedef typename RemoveAllPtr&amp;lt;T&gt;::Type Type;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;    cout &amp;lt;&amp;lt; typeid(double).name() &amp;lt;&amp;lt; endl;&lt;br /&gt;    cout &amp;lt;&amp;lt; typeid(double*).name() &amp;lt;&amp;lt; endl;&lt;br /&gt;    cout &amp;lt;&amp;lt; typeid(double**).name() &amp;lt;&amp;lt; endl;&lt;br /&gt;&lt;br /&gt;    cout &amp;lt;&amp;lt; typeid(RemoveAllPtr&amp;lt;double&gt;::Type).name() &amp;lt;&amp;lt; endl;&lt;br /&gt;    cout &amp;lt;&amp;lt; typeid(RemoveAllPtr&amp;lt;double*&gt;::Type).name() &amp;lt;&amp;lt; endl;&lt;br /&gt;    cout &amp;lt;&amp;lt; typeid(RemoveAllPtr&amp;lt;double**&gt;::Type).name() &amp;lt;&amp;lt; endl;&lt;br /&gt;&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;輸出結果呢? 用 VC8 的輸出結果是&lt;br /&gt;&lt;pre class="code"&gt;double&lt;br /&gt;double *&lt;br /&gt;double * *&lt;br /&gt;double&lt;br /&gt;double&lt;br /&gt;double&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;用 g++ 4.2.0 的輸出結果則是&lt;br /&gt;&lt;pre class="code"&gt;d&lt;br /&gt;Pd&lt;br /&gt;PPd&lt;br /&gt;d&lt;br /&gt;d&lt;br /&gt;d&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;看來 VC8 的 type_info 的 human-readable name 比較 readable 啊 :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-2894651562431617536?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/2894651562431617536/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=2894651562431617536' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/2894651562431617536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/2894651562431617536'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/03/include-int-main-cout-av-endl-return-0.html' title='張貼程式碼'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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-6383480564648533577.post-4214550415422391761</id><published>2007-03-26T07:10:00.000-07:00</published><updated>2007-03-27T06:06:07.272-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='未分類'/><title type='text'>回到 blogger 的懷抱</title><content type='html'>雖然我的 blog 沒幾篇文章，不過在使用了 &lt;a href="http://tw.myblog.yahoo.com/avhacker"&gt;yahoo 的 blog&lt;/a&gt; 一段時間後，還是覺得 Google 系列的產品好用，所以還是回到 blogger 的懷抱.&lt;br /&gt;##CONTINUE##&lt;br /&gt;之前其實就有用過 blogger, 不過一直沒寫東西，只是偶爾當雜記本。後來為了寫些東西要公開給大家看，就覺得原來的一些雜記太亂，就跑去 yahoo 申請一個 blog 並且開始在那邊寫東西.&lt;br /&gt;Anyway, 我會把之前寫在 yahoo 的東西慢慢搬過來，以後應該不會再用 yahoo 的 blog 了.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6383480564648533577-4214550415422391761?l=avhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://avhacker.blogspot.com/feeds/4214550415422391761/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6383480564648533577&amp;postID=4214550415422391761' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/4214550415422391761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6383480564648533577/posts/default/4214550415422391761'/><link rel='alternate' type='text/html' href='http://avhacker.blogspot.com/2007/03/blogger.html' title='回到 blogger 的懷抱'/><author><name>avhacker</name><uri>http://www.blogger.com/profile/09299249735499162122</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>
