2013年7月31日 星期三

Install Code::Blocks 12 on CentOS 6.3

Since CodeBlocks can't be installed from YUM, you'll have to resolve the related dependencies yourself.
Here're my steps:

  1. sudo yum -y gtk2-devel wxBase wxGTK
  2. Download C::B from the official site (http://www.codeblocks.org/downloads/26).
    I downloaded version 12.11. codeblocks-12.11-1.el6.x86_64.tar.bz2
  3. Extract downloaded file:
    tar -jxvf codeblocks-12.11-1.el6.x86_64.tar.bz2
  4. You should get codeblocks-12.11-1.el6.x86_64.rpm from the archive. Install it:
    sudo rpm -i codeblocks-12.11-1.el6.x86_64.rpm
  5. Done!
However, you'll find it annoying when debugging C++ console programs. C::B will call xterm to run you program but you should run gnome-terminal in CentOS. The parameter that should be passed to gnome-terminal is different too.
In C::B, go to Settings->Environment settings->General settings->Terminal to launch console programs, set the value to be
 gnome-terminal --disable-factory --hide-menubar -t $TITLE -x  

You still can't break at break point if you are using GDB under version 7.5. Upgrade to GDB 7.5 or higher to resolve this issue.
I installed GDB 7.6 manually because Yum only has GDB 7.2 now.

  1. Download GDB from http://www.gnu.org/software/gdb/download/
  2. tar xvfz gdb-7.6.tar.gz; cd gdb-7.6; ./configure; make; sudo make install

Done.

2013年7月10日 星期三

Install latest gcc/g++ manually

  1. sudo yum -y install gcc-c++
  2. sudo yum -y install gcc-c++ glibc-devel.i686
  3. sudo yum -y install zip
  4. Donwload and extract latest GNU gmp, ex: gmp-5.1.2.tar.gz
    Enter extracted folder
    ./configure --prefix=/usr --exec-prefix=/usr;make;sudo make install
  5. Donwload and extract latest GNU mpfr, ex: mpfr-3.1.2.tar.gz
    Enter extracted folder
    ./configure;make;sudo make install
  6. Donwload and extract latest GNU mpc, ex: mpc-1.0.1.tar.gz
    Enter extracted folder
    ./configure;make;sudo make install
  7. Add the gmp, mpfr, mpc to ld search list:
    Add the following line to /etc/ld.so.conf.d/usr.local.conf
    /usr/local/lib
  8. sudo ldconfig
  9. Donwload and extract latest GNU gcc, ex: gcc-4.8.1.tar.gz
    Enter extracted folder
    ./configure;make;sudo make install
  • Replace make with make -j8 if you have 8 CPU cores. make -j32 if you want to build with 32 threads.
    make gcc will take very long time, you should use as more cores as you can.
  • The SOP is tested under gcc 4.7.x and 4.8.x

2009年10月8日 星期四

備份尚未 submit 進 perforce 的檔案

有時候,我們會希望讓還沒進版本控制 server 的檔案也能備份下來,原因各有不同,有些人只是想移到別處繼續編輯,有些人是想丟給別人看看,而我是因為有一次才剛買半年的硬碟竟然就死掉了,痛失一堆檔案!
也許有些人會說就 check in 進 server 的 develop 暫存區之類的就好啦,但有時候我們就是覺得還不到該 check in 的時候,或是像本公司跟本沒這種制度。

今天心血來潮,打算解決這個問題,研究了那拖了十幾年沒去搞懂的 batch file 語法後,得到下面這一段 code:


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

把它存成 bat 檔後再執行,就可以得像是如下的檔案:
change_571620.zip
change_673450.zip
change_723098.zip
default_change.zip

說明一下,本公司使用 perforce,要使用這個 batch file 需要安裝 p4 command 跟 zip,zip 可以在 unix tools 裡找到。
這段 batch file 是先呼叫 "p4 opened" 可以列出所有 opened for edit 的檔案,包括新增的檔案,然後取出出字串中檔案的 depot 路徑(token 1 -> %%a),以及 change list (token 5,6 -> %%b %%c),再將 depot 路徑透過 "p4 where" 來取得 local 路徑(token 3),然後把路徑跟 change list 名稱餵給 zip 就搞定了。
最後輸出指令範例:
zip change_571620.zip foo.h
zip change_571620.zip foo.cpp
zip default_change.zip bar.h
zip default_change.zip bar.cpp

使用 zip 的好處是可以很方便的完整保留目錄結構,而且也不會提示要不要覆蓋已經存在的檔案。所以我們可以很方便的將上述的 script 放進排程工具中,每天定時備份。
當然,請把備份檔的路徑設到別顆硬碟,最好是透過網路直接寫到別台電腦去,這樣才能確保萬無一失!

2009年7月30日 星期四

經濟部是如何「竄改」ECFA 影響評估的

先看這篇新聞 ECFA報告 陳博志質疑經部造假

我在這邊做比較詳細的解釋。

這要從經濟部要中華經濟研究院做的評估談起。

印像中是四月吧,經濟部要中華經濟研究院做 ECFA 的影響評估,評估結果出來後,尹啟銘好像很帶種的跑去出席民間國是會議,席間被陳博志詢問 ECFA 的負面影響,特別是對電子產業的部分,而尹則不願回答。原因當然是負面效應太可怕了,不能公開,於是經濟部繼續要求中經院一再修正評估模型。

沒想到,這份原本不見光的影響評估,竟然自爆,自己出書了!


http://www.pf.org.tw:8080/FCKM/inter/publication/publication_detail.jsp?book_id=crostr2009005,出版社是遠景基金會! 這邊順便提一下,中經院是政府專用的研究單位,而遠景基金會是國安局的。

真像在此



第 105 頁,表 6-6,倒數第五行「電機及電子產品」,靜態模擬中,產
量變化率為 -9.3%,變化量為 -10,830.90(單位為美萬美元)。
換算成台幣:-10,830.90 * 1,000,000 * 33 = 357419700000,也就是
3574 億台幣的產值損失!!!

前天(7/29),經濟部開記者會,發了一本資料出來,真像在此:



裡面的電子電機產業所引用的數據已改成 7.x%,不知道是重做的模型算出來的,還是引用動態模擬的數據。不過這一頁我掃描時掃錯頁了,回家後才發現,所以沒真像。

但重點是下一頁,這龐大的負面影響卻被所謂的「專業調整」給被一筆
勾消了,真像在此:


我直接把文字打出來:
  • 專業調整之產業
    電子資訊相關產業(兩岸已是WTO資訊科技協定參與國,相關產品多已零關稅,模擬結果為受損產業乃因模型資源排擠效果造成,故將產值變動率歸零)。

專業調整的解釋完全沒辦法說服為何能將那幾千億直接歸零,感覺好像是
兵推碰到馬冏就直接逆轉勝一樣。

手上有電子股股票的,能幫忙解釋一下嗎?

後續補充:

我在國貿局網站找到的資料 http://ekm92.trade.gov.tw/BOFT/web/report_detail.jsp?data_base_id=DB009&category_id=CAT4024&report_id=175846
(我用 firefox 會看不到 pdf 檔的內容,若你看不到,請用 IE)

PDF 檔的第 6 頁寫到:
生產金額減少幅度較大者依序為電機及電子產品業(約減少76億美元)

PDF 檔的第 7 頁寫到:
由於模型的設計限制,若模擬結果顯示產值減少,未必代表ECFA對該產業是不利的,因為此有可能是受到模型限制的影響而得出的結果,因此必須進一步檢驗該產業是否真正受到損害。故而模擬受損產業仍需進行專業的調整,確認受損的情形,使結果可以更貼近真實的狀況。

簡單的說就是「我們的模擬其實不準」,因此「可能其實沒虧那麼多」。不過他卻漏了說:「也有可能是虧的更多」。因此真正的變化需要進一步檢驗,「進行專業的調整」。

結果記者會時就直接把這數據歸零了,超威!

2008年11月15日 星期六

請對蘇治芬與陳明文保持距離

這幾天陸續有許多綠營政治人物與支持著高分貝聲援蘇治芬與陳明文,但我覺得這種聲援應該適可而止。
怎麼說呢? 目前雖然看起來像是政治迫害,但你確定他們真的完全無罪嗎? 我不知道! 雖然被判有罪前皆為無罪,但我們也不需要為蘇、陳二人背書。我們要聲援與抗議的,應該是針對檢方嚴重違反程序正義以及明顯的辦綠不辦藍,以司法行政治迫害之實!

如果仔細看民進黨主席蔡英文的說法,就會發現她也是按上述的原則來聲援,並非無限上綱的給予背書。綠營的支持者(包括我),四年前誰會相信阿扁貪污呢? 搞不好連藍營的人也意想不到!

總之,我們應該就我們所知的部分來發聲與聲援,亦即:抗議檢方反程序正義以及司法不公,辦綠不辦藍;而非就我們所不知的貪污與否,為其背書。

傷寒雜病論(文字版)電子書

最近在上中醫課,用的書本是「傷寒雜病論.桂林古本」,我一直覺得很不方便,而且寫字比打字慢,在書上直接寫註記也不太方便。
前陣子找到了電子書 PDF 檔,可是卻是圖檔掃描的,所以不太好用。最近又興起念頭想說再找找看,應該會有人做文字版的才對,結果果然被我找到了!

這個版本的的 PDF 檔相當好用,編排完善精美(含 hyper link),也將各版間的差異(桂本、宋本)列出,並描述其採用該版的原因,並在書後附上了漢制的度量衡轉換,非常的貼心。

原始檔案是由民間中醫網所整理,不過我並不是在那邊下載的,到該網站也找不到下載處。

Anyway, 我將 PDF 檔下載後,去除掉裡面的密碼保護,這樣就可以直接用 Adobe Acrobat ( 不是 Acrobat Reader ) 或 PDF Annotator 之類的軟體在上面直接加上註記,該檔的 Meta Data 中的簡體字也被我轉成繁體字了,有需要的人可以在此下載

2008年11月13日 星期四

如何變更 Vista profile 目錄

將系統與資料分離在不同的 drive 是好習慣,這樣可以將乾淨的系統用 Ghost 之類的軟體備份起來,日後有需要時再還原,而資料仍能保持是最新的。

以前在用 Windows XP/2000 時,只要將 My Document 移到 D 槽,然後將它的路徑改過去,幾乎就完成大部分工作了,一堆軟體預設存取的目錄都在 My Document 裡。
換到 Vista 後,各種個人資料與設定都在 C:\Users\ 裡面,但要搬走這個資料將與相關設定可不是容易的事,可以參 Joshua Mouch 這篇 Change User Profile Folder Location in Vista
我之前做了一次,實在麻煩,最近又要再做一次,就想到一個比較輕鬆的方法:


  1. 用 XPE 光碟開機,這樣 C:\Users 裡的檔案與 registry 就不會被系統鎖住。你也可以用別的方法開機,達到同樣的效果。
  2. 把 C:\Users\ 搬到 D:\Users\
  3. 把 C:\Windows\System32\Config\ 裡面的 Software 與 System 這兩個檔案加以修改,這兩個檔案是 Windows registry 儲存的地方,請事先備份,免得弄壞。將這兩個檔案中的內容做字串取代,把 C:\Users\ 通通改成 D:\Users\。要注意,這是用 Unicode 格式儲存,所以要找個能做這種事的工具,我自己是用 Hex Workshop,它在搜尋/取代文字時,有 Unicode string 的選項。
  4. 改好後重開機回到 Vista, 儘量別執行其他程式,或是乾脆進安全模式(不過我沒這樣做),叫出 regedit,搜尋看有沒有沒被改到的字串,一樣是把 C:\Users\ 通通改成 D:\Users\. 可以自己改,也可以抓個工具來改,我自己用過的是 Registry Workshop.
  5. 重開機,再開一次 regedit,搜尋看有沒有沒被改到的字串,應該就 ok 了.
其實 3 跟 4 應該能合在一起做,就是由 Registry Workshop 將 software/system 給載入進來,不過我一開始沒這樣做,也沒回頭去測試這樣做是否能省事就是了。

2008年11月7日 星期五

暗黑兵法 - 1106 嗆馬圍陳策略分析

1106 嗆馬圍陳的活動,若無最後圓山的火爆衝突,其實民進黨是大贏的。雖然圓山的衝突並非民進黨所帶領,但將這件事怪在民進黨與蔡英文身上是必然的結果。本文重點不在討論圓山衝突的是是非非,我要講的是這一系列事件,其實是一個良好的策略應用。

從陳雲林來台的第一天(星期一),馬政府對陳雲林帝王級接待規格,就已經讓許多人火冒三丈,接下來一連串警方的粗暴執法(毀國旗桿、強行排除抗議者...等等),更是讓人怒不可遏。星期二上揚唱片的事就不用說了,以違憲手段鎮壓再加上北投分局長的挑釁言論,簡直讓人氣到血都要噴出來了,火冒八丈不止。星期三晶華酒店已經爆發衝突,不需要民進黨帶領,太多民眾已經受不了而自己上街頭了。

大約從星期二晚上上揚唱片的事件開始,眾多的綠營民眾與民進黨高層都已經做好激烈衝突的打算了,特別是多次的遊行申請都被駁回,上街頭激烈抗爭、捍衛自己的言論自由是唯一手段。馬政府當然也知道這件事。當你知道可以預期對方會做什麼事時,要設計對方就很容易了。

星期三傍晚一改之前的強硬態度,核準了遊行申請就是第二步(第一步是嚴重的激怒群眾,這在星期一、二已做的很成功了)。核準遊行申請可以削弱群眾衝突的正當性,但早已被激怒的群眾的怒氣可不會因此消失。而且還順便套了蔡英文的話,要她承諾和平理性的遊行,事後自然也成為很好用的相罵本。這一步一石二鳥,非常漂亮。而且這步也是暗黑兵法最重要的關鍵,讓民進黨方面以為政府單位釋出來善意。

星期四馬陳會突然提早到早上十一點,更讓人錯鄂的事竟然只用了七分鐘就草草了事。雖然很難看,但這是一石三鳥的計策啊! 第一、讓群眾失去嗆聲的目標,極大幅度的削弱了激烈衝突的正當性;第二、更加的激怒群眾,讓群眾更容易失控;第三、幾乎全盤的打亂了民進黨的計劃。

最後,果然爆發衝突,並利用此衝突來掩飾國際間與國內各界對其侵犯人權的指控,還能順便將馬英九最怕的敵人 - 蔡英文一舉給抹黑。

而民進黨這邊真的就太大意了,馬政府這半年來做了很多笨事,民進黨就以為他們會一直笨下去,再加上之前警察的違法鎮壓使民進黨對自身的正當性太過自信,也因為憤怒的情緒而沒看清這一連串的陷阱,中招活該,學個教訓。

也許藍營支持者要說:所以又是國民黨的錯? 又在推責任了!
No, 這不是我的重點。就策略來說,國民黨算是很漂亮的打了一場本來應該會輸的仗。策略本身沒有是非對錯,只要能成功達成目的就行,因為.....











兵不厭詐,這是戰爭!
寄件者 暫存

2008年11月6日 星期四

1106 嗆馬圍陳照片與影片

寄件者 1106嗆馬圍陳

雖然我認為有遠比嗆馬圍陳更重要的議題 - 抗議馬政府違憲侵害人權,但我還是加入了遊行群眾一起走。
後來長輩也幫我介紹認識一些政法人物,還超近距離的拍攝鎮暴警察與蔡英文主席,這是我第一次可說是零距離的在第一線參與抗爭活動,值得紀念!
照片在此:
http://picasaweb.google.com.tw/avhacker/1106

2008年3月29日 星期六

民進黨從成功政黨輪替到失去政權 - 我的分析

這幾天在電視上與網路上看到許多人對本次選舉的檢討,其實我覺得這些看法大多見樹不見林,沒有碰到根本的問題,畢竟戰術是不足以彌補戰略層次的失敗的。而且雖然外在因素很不利的,但檢討別人是沒用的,改變自己才是最快的,所以要檢討自己。我認為從民進黨取得執政權,到之後面對的執政困境,以及此次的大敗,其實是有一致的脈絡的。要探討這個脈絡,必需要深入檢討其核心價值。

民進黨的核心價值是什麼? 我認為民進黨的核心價值就是台灣主體意識,而這個這個核心價值已經到了一個新的階段,民進黨(或是另外的本土勢力)該尋求新的核心價值。
台灣主體意識將不再是特定政黨獨有的核心價值,它是台灣的主流價值,是全台灣人的共識,沒有任何一個政黨可以偏離它。這幾年來,連國民黨都被迫向它靠攏 (不管是真心還是假意),也造成民進黨的價值開始腿色。雖然國民黨被迫向這個價值靠攏,但民進黨沒有警覺,沒有做出對應的調整,這是民進黨敗選的重要原因 (除去台灣本土意識,還剩下多少東西?)。
認同台灣主體意識的人,這次有部分投給國民黨,這些人不相信國民黨會賣台,或是不相信在這種情況下國民黨有辦法賣台。因此,客觀來說,這次民進黨的大敗,其實正是台灣主體意識的勝利,是民進黨核心價值的勝利! 所以這次的敗選,其實沒有什麼好難過的,我們應該驕傲才是!

核心價值的問題除了讓民進黨取得政權、失去政權,同也是執政困難的原因。
我認為,一個政黨必需要有個極為明確的核心價值,由此發展出穩固的論述,再由這些論述推導出各個領域的政策。這一層一層往外擴展的架構都要十分穩固,當然越往外就會越多模糊空間。
民 進黨原有的核心價值,在取得政權之後,就因為國民黨的修正而漸漸開始模糊了。更糟的是民進黨雖然可以推出他的論述,但卻很沒有在各領域發展出相對應的政 策。大家都知道媒體與在野黨是相當不友善的,於是外界的攻擊一來,民進黨常常無法悍衛自己的政策,就只能隨風搖擺,甚至就算沒有外在攻擊,他的政務官也不知 道自己的方向是什麼,自己的政策也變來變去,因為自己都不了解自己的核心價值啊! 這八年的執政,我們可以看到行政體系號令不一與各行其政的情況越來越嚴重,就是這個道理。
我認為一定要有一層一層穩固的架構,從核心價值出發、建構論述、再到各領域發展相對應的政策,這樣當人家攻擊你時,你才有辦法去捍衛自己的政策,有堅強的論述做為盾牌去抵抗外在的攻擊,你的回應也才會鏗鏘有力
就 像玩戰略遊一樣,一個政黨的策略主要分為三個面像,分為攻擊、防禦、以及發展,其中後兩項都需要有上述的清晰架構,但攻擊的一方可以比較鬆散,甚至不需要 核心價值,只要能遍地烽火的惡整對手即可(例:物價漲也罵、物價不漲也罵;貿易政策開放還是罵、不開放更是罵到臭頭)。這也就是為什麼國民黨這樣一個跟本沒有核心價值可言的政黨,能 將民進黨打到體無完膚的原因。

可笑的是,當民進黨還搞不清楚自己為什麼會輸的時候,國民黨也搞不清楚自己為什麼會贏! 而最可笑的是,國民黨卻自以為知道他們贏的原因!

好了,講到這邊,核心價值的重要性應該很清楚了,那麼新的核心價值是什麼呢? 還好我是先想到新的核心價值,才理解到它的重要性與民進黨這一連串故事的關聯。但這篇已經夠長的了,請靜待下回分曉吧!

=============
隔了半年多的 update:
以上的文章是半年多前寫的,續集其實也寫了,但寫到一半就偷懶停筆,之後就完全沒有寫下去的感覺了。
事隔半年多,我也懶了,續集就讓它永遠放在「草稿」資料夾吧.