2007年12月26日 星期三

Leopard的字典

自從用了Macbook之後, 就一直尋找好的翻譯軟體, 過去我用的是Dr. eye, 只是現在到了Mac OS X上, 總不能每次要查單字都得重開機或是打開VMware Fusion, 剛開始用的系統內建的Dictionary(字典)軟體, 在Tiger時代(不曉得是我沒發現還是怎樣), 它只有英英字典, 對於單字不夠多的我, 用起來實在有點吃力, 後來找到免費的MDict字典, 可以匯入各式各樣的字典檔, 我個人愛用的是21世紀英漢漢英雙向字典, 後來雖然升級成Translate!, 變成付費軟體, 我也付了一年的使用費(一年要$20, 約600NT), 付費軟體的功能除了單純地查詢單字外, 還可以透過滑鼠指向網頁的某個單字, 自動翻譯出那個單字, 還算是不錯...

今天從MacBlog2那邊看到的消息, Leopard上內建的字典軟體, 也可以支援匯入外界的字典檔, 今天匯入了21世紀英漢漢英字典牛津字典, 感覺上已經跟Translate!差不多了, 另外再加上wikipedia與「Oxford American writer's treasure」, 更是好用啊! 對於需要寫paper的我, 這個等同於同義字辭典的Treasure, 還真是寶物啊! 看來明年到期, 就可以把Translate!移除掉...

[+/-] Read More...

2007年12月19日 星期三

評論:「指導教授 人、鬼、神殊途」

針對這兩篇發表在聯合新聞網研究生楊淑芬寫的「指導教授 人、鬼、神殊途」與林一平教授寫的「誘發獨立思考 教授才夠神」, 我也是研究生, 我可以理解身為學生對於指導教授的期待, 對於文中提及的「好色鬼」, 這個牽涉到性騷擾, 我沒有意見...但是對於「吸血鬼」這邊, 舉了兩個例子來作佐證, 關於利用研究生翻譯或是代寫文章, 作為日後出書之用, 若是書本上提及感謝某某某做什麼事情, 這樣我覺得可以接受, 若是提都不提一下, 也沒有其他的回饋(例如至少針對出書這件事情請頓飯), 我覺得那樣就有吸血鬼之嫌; 另外,  至於要求學生作研究計畫這一點, 我覺得是見仁見智啦! 其實一個團隊(或是研究室), 或多或少都需要經費來推動, 總需要一些經費來添購電腦, 維修桌椅燈具等等, 否則在團隊內的每個人都會很難過(若是研究室內什麼東西都沒有, 沒有電腦沒有軟體, 沒有經費, 只有教育部與學校提供的基本的房舍. 網路與電力, 這樣研究生也會很難做研究)...即使再怎麼專注於學術的老師, 至少都還會申請國科會計畫, 藉由國科會計畫資助研究生的人事費, 添購電腦. 印表機等硬體或是一些學術軟體等等, 即使是申請國科會計畫, 總是需要人去執行推動, 一個計畫裡面總需要有規劃人力與實行人力兩種, 就像是蓋房子一樣會需要建築師與建築工人兩種, 而在此則需要研究生來作這樣的事情, 我覺得這樣的要求學生作計畫, 是一種互惠的關係...


另外, 從建教合作的觀點來看, 碩士生畢業後總是要到業界去, 建教合作計畫的實行工作, 其實跟業界的實際工作(例如:顧問公司)是一樣的, 因此這可以算是一種先期的預備訓練; 接著, 再談到金錢的回饋部份, 實際上這些建教合作計畫都包含人事費, 若這些人事費用都依據研究生與主持人的貢獻比例去分配, 以不同工不同酬的觀點, 貢獻多大就拿多少錢, 那我覺得也不會有問題; 至於有吸血鬼之嫌疑的作法則是, 比例過於懸殊, 我想這樣才會有剝削的問題存在...

至於第二層「人」的部份, 關於「陌生人」的部份, 教授指導學生是會增加指導部份的薪資, 因此這樣作就沒有盡到指導的責任, 有「拿錢不辦事」的嫌疑; 至於「有緣人」與「牧羊人」的部份, 我認為研究生又不是小學生或是中學生, 就如同大學教育中, 教授不再像中學老師一樣會針對學生的生活教育去斤斤計較, 研究生自己應該要獨立思考自己要做的東西, 有問題主動來問指導教授, 若指導教授沒有給予意見或是因為偏心不給意見, 或是太忙排不出時間討論(陌生人為例), 那是指導教授沒有盡到指導的責任, 但是原則上碩士學歷的取得, 是研究生自己的事情, 也是自己的成就, 難道得要像是媽媽照顧小孩一樣噓寒問暖嗎? 我可不這麼認為...

[+/-] Read More...

2007年12月10日 星期一

2007京都大阪行前資訊紀錄

今天重新把研究室mediawiki系統救好, 但是總不能這些東西常常不見, 想想還是擺到blogger這邊, 應該會比我自己架設的mediawiki上安全~~~

1. 拼音對照

  • 關西 Kansai
  • 京都 Kyoto
  • 大阪 Osaka
  • 神戶 Kobe

2. 交通優惠資訊
  • 悠遊關西二日券、三日券:
  • * 除了JR列車外,在關西地區的電車、地下鐵與巴士均可以無限制使用。
  • * 外國人稱為Kaisai Thru Pass。
  • * 二日券3800(日圓),三日券5000(日圓)
  • * 註解:適合準備在關西一帶玩的人
  • JR西日本國鐵券:
  • * 1~4日間可以坐JR國鐵(價格在2000~6000)
  • * 註解:應該比較適合長距離的旅行
  • 關西護照:
  • * 可搭乘火車、地下鐵、巴士以及某些特定的特急電車
  • * 部分景點門票折扣(80%~90%)
  • * 分為區域型與路線型
  • * 註解:好像很不錯,再來看看

3. 機票
  • 國泰航空
  • * 2007/01/19 15:50 -> 19:10(去)
  • * 2007/01/24 11:00 -> 13:15(回)
  • * 金額: (9500 + 2066) * 2 = 23132(元)

4. 旅館
  • IL GRANDE UMEDA (SEMI-DOUBLE): 3-5-23 NISHI TENMA, KITA-KU, OSAKA(大阪), 530-0047 JAPAN
  • * 住宿兩晚雙人房的金額: 14000(日圓) = 3900(元)
  • 大阪民宿專區
  • * 東和民宿
  • * 來山南館 

5. 旅遊規劃
  • 第1天(1,19): 大阪
  • o 15:50由桃園機場出發, 19:10抵達日本大阪機場
  • o 大阪機場綜合問詢處(大阪機場南、北航站樓1樓/北航站樓 8:00~21:00 南航站樓 6:30~21:00 )購買3日乘車卡
  • o 由大阪機場坐阪急寶塚本線至十三(Juso), 轉搭阪急神戶本線至淡路(AWAJ), 轉搭千里線至天神橋筋->地鐵界筋線至南森丁, 2號出口左手邊徒步約3分鍾至飯店
  • o 睡覺
  • o 阪急寶塚線, 阪急神戶線, 地鐵界筋線
  • 第2天(1,20): 神戶
  • o 9:00出門
  • o 千里線到淡路->阪急神戶線到三宮(SANNOMIYA)->神戶高速到元丁(MOTOMACHI)
  • o 逛神戶港區
  • o 午餐洋食朝日(p92)
  • o 下午搭神戶高速到湊川->有馬電鐵有馬線到有馬口->轉至有馬
  • o 有馬溫泉(~21:30)
  • o 回大阪睡覺
  • o 阪急神戶線, 神戶高速, 有馬電鐵
  • 第3天(1,21): 大阪
  • o 早上地鐵古丁線至古丁四丁目下車
  • o 大阪城, 大阪城公園
  • o 地鐵中央線至大阪港
  • 第4天(1,22): 京都
  • o 地鐵谷丁線至天滿橋, 轉京阪本線至中書島->丹波橋, 地鐵烏丸線至京都站
  • o 旅社為藤家旅館寄放行李
  • o 地鐵烏丸線至北大路->轉搭巴士(大德寺, 金閣寺)
  • 第5天(1,23): 京都
  • 第6天(1,24): 回家
6. 參考網頁

[+/-] Read More...

2007年12月7日 星期五

回覆「提到無名小站,就是在爭 "錢"。」

近日來朱學恆與林一平教授間因為「無名小站」風波開始一段筆戰, 雖然我還身在交大, 雖然我很常使用「無名小站」來看美女圖, 但是都不能讓我停止寫下這一段回應...

【作者 太極拳 說】技術是一時的,品德卻需要長期培養,無名小站在網路上以欺騙網友+無賴管理風格聞名,也不曉得為什麼有老師願意把它當作寶...

【林一平回覆】太極拳提 "品德",Lee 提 "誠實與說謊",朱學恆提 "操守"。其實你們爭的是 "錢"。我碰到所有的人,包括立法委員,提到無名小站,就是在爭 "錢"。賺到錢的,怕別人來分一杯羹。拿不到錢的,(給我的感覺是)忌妒。當太極拳寫 ”六個小朋友輕鬆入袋七億”,語氣不也酸溜溜的?

當年無名小站成立公司後若是垮了。不值一文,就風平浪靜,不會有任何爭議,也不看到朱學恆的長篇大論。

無名小站的成長,我出了很多力氣。無名小站賣7億,如果撇開操守問題,我應分多少錢? 當初我為無名小站奔走技術移轉,未取分文。我跳脫了錢的旋渦,因此能以不同角度看無名小站。

從林教授的講法裡面, 大家對無名小站的爭議是因為「爭"錢"」, 我不這麼認為...沒錯, 我看到隔壁鄰居若中了八億(比他們多一億)的大樂透, 我會想說如果是我的該有多好(上面這兩句僅代表我自己的意見, 也許朱學恆他們不會想要吧!), 但是我不會認為這些錢該分我一杯羹, 因為關我屁事啊! 朱學恆不會分到錢, 太極拳不會分到錢, Lee不會分到錢, 我們又不是當事人, 關我屁事啊! 王又曾污走那麼多錢, 有那麼多人出來講話, 出來評論抨擊, 難道這些人都是爭錢嗎? 關我們屁事啊!  我們評論的原因是看不過去, 請不要直接說這些人都是要錢

我認為大家會對無名小站的爭議出來講話的其中一個因素是因為「錢」, 因為這件事情的金額很大, 所以吸引所有人的目光, 如果是隔壁賣菜的跟賣肉的那十塊二十塊的爭議, 管他的! 所以錢的金額的確是這件事情的一大因素, 可是「錢」的金額與「爭"錢"」並不能畫成等號

若今天無名小站沒有成功, 的確不會吸引這麼大的目光, 我們不是調查局, 我們不是蘋果的狗仔, 沒有攤在社會的聚光燈底下, 我哪會知道裡面這麼多的狗皮倒灶的事情...

假設有另外一個學校出身的網站沒有做起來, 它也有同樣的問題與狀況, 嚴謹的來說「偷一塊錢也是偷, 偷一億也是偷」, 但若是它低調一點, 永遠處於檯面下, 要去揭發與挖掘的成本高於揭發, 大家也就馬馬虎虎算了, 這個結果當然也是如林教授所說得那樣, 但是這並不是因為無"錢"可爭的原因...

最後, 最後林教授非常自豪的說, 他在其中奔走多時, 卻分文未取, 我想「不該你的錢, 拿了是不義之財; 該你的錢, 拿了只是應該」, 該你的錢, 涓文不取是你的風骨, 我感到欽佩, 但是欽佩你這一點, 不表示:「你是支持無名小站, 且有風骨的人, 其他評論無名小站或是反對你的人, 就等於想分這些錢的人」

相關文章在這位仁兄的部落格內整理得很清楚:http://thinkerckd.blogspot.com/2007/12/morality.html

[+/-] Read More...

2007年11月30日 星期五

比較gFortran在Mac上與在Linux上

目前我在我的MacBook上安裝了兩套gfortran, 安裝細節分別是以Mac OS X 10.5.1 Leopard + gfortran (詳閱)以及透過VMware Fusion 1.1所安裝的Fedora Core 6 Linux + gfortran兩種形式, 今天要來比較差異


程式碼: 採用最近寫的「水文地質參數產生器」, 實質意義不重要, 程式碼就是開個很大的矩陣, 接著寫幾個轉換公式, 將矩陣內每個位置填上數值, 接著寫出到檔案內, 程式碼行數不多(179行), 也沒有呼叫什麼函數~~~

實驗組: 純粹Mac OS上的gfortran
檔案大小: 105MB(是的, 你沒看錯, 的確是105MB)
執行時間: 11 sec

對照組: VMware Fusion內的虛擬Linux
檔案大小: 22KB
執行時間: 6 sec

分析: 這是一個詭異的現象, 我完全沒辦法理解, 為甚麼同樣的程式碼大小居然可以差這麼多, 我是猜測gfortran for Mac版本根本沒有寫好(或是調整好), 搞不好很多東西都搞成inline的形式, 居然跑起來的效能差這麼多


[+/-] Read More...

2007年11月26日 星期一

升級後的BBS軟體

自從升級成Leopard之後, 過去用慣了的AlienBBS似乎沒辦法順利移植到Leopard, 總是稍微用一用就自動關起來, 所以打算換別的軟體...

Mac上常見的三大BBS軟體就是AlienBBS. PCMan跟iTerm, AlienBBS已經宣告不行了, PCMan在試用之後, 發現效能真的有夠差的, 好慢哦!!! 而且對於文章中的url沒有辦法直接開啟瀏覽器閱讀, 所以也宣告失敗, 因此今天嘗試了iTerm...

1. 軟體下載: iTerm官方首頁, 目前已經更新到0.9.5, 今天比較了一下過去使用的0.8+中文化, 效能變好了, 速度變很快(備註: 我不懂, 只是單純的telnet或ssh, 為甚麼可以搞得這麼慢啊!!!)
2. 安裝後, 需要稍微設定一下, 不然進BBS後, 畫面會跳來跳去

  • 2.a iTerm->Preferences...: 
切換到這裡之後, 「General」請勾選「Enable Growl notifications」, 這樣當BBS有訊息時就可以透過Growl來通知...

另外, 「Mouse」這邊記得勾選「Cmd-click to launch URL」, 這樣當有URL出現在文章中時, 只要一邊按住Cmd鍵(即蘋果鍵), 一邊用滑鼠點選即可開啟瀏覽器瀏覽

  • 2.b Bookmarks->Manage Profiles...
Profile設定項目中以「Terminal Profiles」與「Display Profiles」兩項最重要...在「Terminal Profiles」中, Type請選擇xterm-256color, Encode我是選擇Traditional Chinese (Big5), Scrollback Lines則選擇48, Treat Non-ASCII characters as double width要勾選, When idle, sends ASCII code則不勾選, 勾選的話好像會怪怪的 
「Display Profiles」我用Duplicate按鈕來複製classic iTerm Large(因為怕搞壞了), Transparancy功能則設定為0, 設定有透明色時, 眼睛看得很難過...字型則採用Monaco - 14蘋果儷中黑 - 14兩種...


  • 2.c Bookmarks->Manage Bookmarks...
接著新增一個Bookmark, Name欄位可自行建立一個看得懂得名字, Command欄位則自己填入執行的指令, BBS站台連線指令為: telnet -8 [hostname], ssh的連線方式為: ssh -l [username] [hostname], Terminal. Keyboard與Display則依據下列圖形選取
3. 完成設定之後, 也把我周遭的主要站台Bookmark下來, 這樣就可以用點選的方式, 自動開好進去, 若是要更順暢的話, 可以透過ssh-keygen -d產生id_dsa.pub, 將這個檔案附加在對應主機之上, 這樣連密碼都不用輸入

參考筆記: http://chitsaou.wordpress.com/2007/07/02/macosx-terminal-3/

[+/-] Read More...

2007年11月24日 星期六

程式撰寫工作環境(Fortran)從Fedora Core Linux搬移至Mac OS X

若單就我寫程式的平台已經完全脫離Windows系列, 以Fortran編譯器而言, 我拋棄Compaq Visual Fortran, 改用Linux系統上的ifort或是gfortran, 採用ifort是因為系上租用的IMSL只有提供給ifort, 而沒有gfortran版本; 然而多數我使用的電腦還是我的Mac Book, 若要進入寫程式狀態, 則必須要透過VMware Fusion來開啟虛擬的Linux系統, 雖然可以使用虛擬系統來達到我要的功能, 但是這樣在校能上, 總是有點虛耗...另外, 仔細想想, Mac OS X也算是Unix-based的作業系統, 最近更得到Unix的認證, 因此我想搞不好可以把寫程式的作業環境改到Mac OS X下~~~



作業系統: Mac OS X 10.5.1 (Leopard)
編輯器: 在Linux我都用gedit或是vi, 到Mac OS X上我可以透過iTerm以vi來編輯程式碼

Xcode: Mac OS X提供的Xcode, 原本僅支援C, C++與Java等程式語言, 並不支援Fortran, 但是透過MacReasearch提供的Xcode/gFortran plugin, 則會自動安裝gfortran編譯器, 另外還會使Xcode認得Fortran語法, 對於變數或是指令則會以不同顏色顯示...
(補充: 由於我許多程式碼都會在Windows XP與Linux之間同步, 在過去時就發現因為XP的中文編碼是Big5, 所以變成我在安裝好Linux系統的第一件事情, 就是把整個系統變成Big5, 然而Mac OS X我卻不敢這樣作, 太冒險了, 所以那些程式碼到了Mac OS X時, 用Xcode開啟時中文部份就會變成亂碼, 所以可能還是得用vi吧)

編譯器: 如前述所說得用gfortran, 安裝方式詳見Xcode/gFortran plugin

svn: 版本控制系統, Mac OS X似乎直接內建這個指令, 所以只需要透過svn checkout去取出我要的副本

gnuplot: 由於寫完的程式, 跑完的數據總是需要工具來分析, 雖然iWork 08"新增了Numbers軟體, 可以作類似Excel的事情, 但是第一他要賣錢, 第二我不喜歡簡體中文版, 第三我現在喜歡用gnuplot來畫圖, 若設定好整個環境, 可以一個Enter下去, 從跑程式. 輸出數據, 接著畫出分析圖形, 所以這個功能也是我轉移環境的必備條件

a. 先得安裝「AquaTerm」, 這是一套Mac OS X底下的X-Window, 不用去安裝X11, 只要下載解開執行, 就安裝好了
b. 接著去gnuplot網站下載程式碼, 回家自己編譯(所以作這個步驟前一定要先安裝好Xcode, 不然會沒有編譯器去編譯程式碼), 下載回來後, 點兩下就會自動解開.tar格式
c. 接著到文字模式, 切換到目錄下, 執行下列的指令
  • ./configure --with-readline=builtin
  • make
  • sudo make install
d. 輸入gnuplot, 進入gnuplot模式


e. 輸入plot sin(x), 測試是否成功



[+/-] Read More...

2007年11月23日 星期五

版本控制系統(svn) - client版本

subversion(svn)是我近年來使用得最密集的功能之一, 透過這個系統可以讓我跟研究室的成員進行多人開發,因此跟其他人之間不再需要去注意文件版本與同步的問題,因此特別寫下這個筆記...

checkout
說明:這是使用svn系統的第一步驟, 透過這個步驟可以從檔案庫取回檔案副本。
svn checkout svn+ssh://[username]@[host id]/[repos path]/
svn checkout file:///[repos path]/


update
說明:當每次開始要修改前,先透過這個指令取回最新版本的檔案。下面的兩個用法,第一種用法會把所在位置的目錄,以及其下的子目錄所有檔案,一併更新。第二種用法只是單純把某個特定檔案,或是某個特定目錄更新。
svn update
svn update [filename]

commit
說明:當這一次完成修改之後,使用這個指令來將修改送回檔案庫記錄,成為一個新的版本。
svn commit -m "[commit command]"

status
說明:查詢檔案狀態。可以在副本的任何一個目錄內執行這個指令,以下兩種用法也如同svn update一樣,所以我不再敘述一遍。
svn status
svn status [filename]

M filename1 (已修改檔案)
? filename2 (尚未加入svn系統管理)
A filename3 (已經透過svn add加入svn系統,但是尚未以svn commit送至檔案庫)
D filename4 (
將已納入管理的檔案,以svn delete刪除,但是尚未以svn commit送至檔案庫)

add
說明: 將尚未納入管理的檔案,透過svn add將檔案納入管理,從此檔案庫就會多出這個檔案
svn add [filename]

delete
說明: 將已納入管理的檔案,透過這個指令來刪除這個檔案(備註:若直接用rm的方式來刪除檔案,他會被認為檔案遺失,所以下一次update時,會再次取回),從此檔案庫就不再有這個檔案的存在。當然,透過svn update [先前版本],還是可以把這個檔案取回。另外,若這個檔案有修改過,系統不會允許直接刪除,必須加上--force的強制指令,才能刪除掉這個檔案。
svn delete [filename]
svn delete [filename] --force

[+/-] Read More...

2007年11月20日 星期二

動態繫結(dynamic binding)寫法

C++程式是個物件導向的程式, 而繼承則是物件導向中的重要角色, 以下是最近採用的新寫法, 若以基礎類別宣告的指標, 指向衍生類別的物件, 若基礎類別與衍生類別有相同名稱的函式, 也就是說衍生類別複寫了該函式, 配合虛擬函式宣告, 它可以形成動態繫結(binding), 因此會依據函式本身去選用對應的函式, 而非直接採用指標型別所屬函式

範例程式碼1

#include <iostream>

using namespace std;


class mammal {

public:

    mammal () { cout << "Class mammal constructor\n"; }

    virtual ~mammal () { cout << "Class mammal destructor\n"; }

    void virtual speak() const { cout << "This is mammal's speaking\n"; }

};

class dog: public mammal {

public:

    dog () { cout << "Class dog constructor\n"; }

    virtual ~dog () { cout << "Class dog destructor\n"; }

    void virtual speak() const { cout << "This is dog's speaking\n"; }

};


int main() {

    mammal *pm[2];

    // mammal

    pm[0] = new mammal;

    pm[0]->speak();

    delete pm[0];

    

    // dog

    pm[1] = new dog;

    pm[1]->speak();

    delete pm[1];

    return 0;

};

說明1: 宣告一個哺乳類(mammal)類別, 它除了建構子與解構子外, 只有提供speak函式
說明2: 宣告一個狗類(dog)類別, 它公開繼承mammal, 另外它還複寫了speak函式
說明3: 宣告mammal類別的解構子與speak函式為虛擬函式(virtual)
說明4: 主程式中, 以mammal宣告指標, 當指標指往mammal物件時, 並呼叫speak, 它會啟動mammal版本的speak; 若指向dog物件時, 並呼叫speak, 它會自動切換至dog版本的speak
說明5: 若取消mammal版本speak函式的虛擬宣告, 則同樣的程式碼, 即使指向dog物件, 仍舊啟動mammal版本的speak
說明6: 若取消mammal版本解構子的虛擬宣告, 則在delete pm[1]時, 會發現只有啟用mammal版本的解構子, 而依照順序由dog->mammal依次解構
說明7: 解構時會依據繼承的順序, 從衍生類別解構子開始呼叫起, 逐步往基本類別解構子移動; 而相反地, 建構時則與解構相反

這樣的寫法, 可以讓程式碼變成用同樣的名字來呼叫不同功能的函式, 使得較大規模程式開發, 可以更加模組化, 更有架構...

這樣的寫法裡面, 用基本類別的指標去呼叫基本類別的專屬函式, 並沒有問題...只是今天的問題是, 若是衍生類別有不同的函式(非複寫),  則會變成基礎類別的指標無法使用衍生類別的擴充函式, 以下列出兩種修改方式

修改1

#include <iostream>

using namespace std;


class mammal {

public:

    mammal () { cout << "Class mammal constructor\n"; }

    virtual ~mammal () { cout << "Class mammal destructor\n"; }

    void virtual speak() const { cout << "This is mammal's speaking\n"; }

    void method01() const { cout << "This is method01\n"; }

    void virtual method02() const { cout << "This is method02\n"; }

};

class dog: public mammal {

public:

    dog () { cout << "Class dog constructor\n"; }

    virtual ~dog () { cout << "Class dog destructor\n"; }

    void virtual speak() const { cout << "This is dog's speaking\n"; }

    void method02() const { cout << "This is method02\n"; }

};


int main() {

    mammal *pm[2];

    // mammal

    pm[0] = new mammal;

    pm[0]->speak();

    pm[0]->method01();

    delete pm[0];

    

    // dog

    pm[1] = new dog;

    pm[1]->speak();

    pm[1]->method01();

    pm[1]->method02();

    delete pm[1];

    return 0;

};


修改2

#include <iostream>

using namespace std;


class mammal {

public:

    mammal () { cout << "Class mammal constructor\n"; }

    virtual ~mammal () { cout << "Class mammal destructor\n"; }

    void virtual speak() const { cout << "This is mammal's speaking\n"; }

    void method01() const { cout << "This is method01\n"; }

};

class dog: public mammal {

public:

    dog () { cout << "Class dog constructor\n"; }

    virtual ~dog () { cout << "Class dog destructor\n"; }

    void virtual speak() const { cout << "This is dog's speaking\n"; }

    void method02() const { cout << "This is method02\n"; }

};


int main() {

    mammal *pm[2];

    // mammal

    pm[0] = new mammal;

    pm[0]->speak();

    pm[0]->method01();

    delete pm[0];

    

    // dog

    pm[1] = new dog;

    pm[1]->speak();

    pm[1]->method01();

    static_cast(pm[1])->method02();

    delete pm[1];

    return 0;

};


修改一則是直接在基本類別內加上一個虛擬函式, 使得整個狀況直接變成動態繫結的問題, 這樣的缺點是那基本類別的函式會多如牛毛; 修改二則是在呼叫時, 直接將基本類別的指標強制轉型為衍生類別的指標, 感覺上這個邏輯上比較正確...

[+/-] Read More...

2007年11月19日 星期一

Xcode 的 Automatic code completion功能

其實寫C++程式到處都可以寫, 用什麼編輯器也都可以寫, 但是用某些特定編輯器或是GUI IDE, 可以加速開發過程...

各類IDE提供的功能中, 最讓我欣賞的就是變數自動補齊功能, 只要打幾個字母, 他會自動搜尋可能的清單, 我只需要選取就夠了, 這樣的功能是我認為最重要的一點...

一直以來常用的Kdevelop也有這樣的功能, 但是今天發現了Xcode 3.0也提供相同的功能, 他的開啟方式如下:

從上方的工具列: 「Xcode」->「Preference」


Preference裡面: 「Code Sense」 -> 「Automatically Suggest」 -> 「Immediate」

[+/-] Read More...

2007年11月13日 星期二

日正當中的星空

這是一部王力宏跟鈴木京香主演的日本電影, 從一開始王力宏的獨白開始, 發現他的聲音真的很不適合演戲, 就像是張震一樣, 聲音的感覺就很奇怪...

接著他跟鈴木京香之間, 鈴木京香沒有打扮的樣子真的很歐巴桑, 兩個人的互動根本像是姐弟戀一般, 也許找王力宏來演, 真的太娃娃臉了~~~

看完結論是, 這是一個不值得租的電影~~~

[+/-] Read More...

2007年11月12日 星期一

Leopard安裝實地經驗

昨天下午三四點Leopard到貨, 訂貨時間是7號星期三, 而到貨時間則是12號星期一, 扣掉週六週日的休息時間, 實際到貨工作天數3天, 從香港寄來還算是不錯!


寄到系上後, 由學弟拿來給我, 馬上衝出學校, 去NOVA進了一顆Toshiba 160G SATA硬碟, 加上外接盒總價$3,300 NT, 把新硬碟放在MB內, 把舊硬碟放進外接盒, 非蘋果店的老闆不會拆裝硬碟, 幸好之前看過別人裝, 總算是成功裝好, 大約七點回到研究室...

Leopard安裝
Leopard的安裝, 首先把寄來的作業系統光碟放進光碟機內, 開機時按Alt, 以便切換成光碟開機(不按好像也會自己偵測, 但是會比較久, 不是很確定, 因為我沒選這個作法), 接著他直接會進到安裝畫面, 就該選的就選, 幾乎都是下一步下一步 (備註: 選擇安裝硬碟時, 因為我是全新硬碟放進去的, 還沒切割與格式化, 因此沒有硬碟讓你選, 所以得要從上方的下拉式選單找出磁碟工具, 來切割並格式化硬碟, 因為是完全新的硬碟, 所以亂搞也不用怕)

安裝模式有1. 安裝Mac OS X, 2. 封存並安裝, 3. 清除並安裝, 對現在的我而言, 硬碟是空的, 要封也沒東西可以封, 所以選1.或是3.應該都是一樣的...

因為我之後打算安裝Macport之類的軟體, 所以安裝前先選擇自己要安裝或不安裝的項目, 確定X11有安裝到, 另外把一些不要的語系移除, 除了英文. 繁體中文外, 我只有加裝了日語與簡體中文...

接著會先檢查DVD是否可以完全讀取, 接著我就丟給他自己跑~~~不需要理他~~~

失誤: 前兩次安裝失敗是因為片子有地方讀不到, 拿出片子檢查一下, 片子上面有點污垢, 找鄰近實驗室想問問有沒有光碟片清潔劑, 答案是沒有, 所以我只好用衛生紙沾水與肥皂來清潔, 幸好這樣一切OK

資料回復
安裝完全新的系統後, 他會問說有沒有舊系統要同步, 只要把舊硬碟透過USB插上, 接著就全部都過來了, iPhoto內的照片, iTunes內的音樂, 無線網路的金鑰, 連軟體都同步過來~~~

Bootcamp
Bootcamp安裝整個冏啊! 切割完把XP放進去, 第一次直接用他切割好的磁區, 裝好一遍後, 重新開機找不到開機磁區, 後來上網看看文件後, 清掉磁區用XP安裝片來重新切割, 安裝成FAT32, 依舊是不行, 搞到12點決定放棄

VMware Fusion
後來仔細想想...我現在也很少在MB上打魔獸了, 要也會到四樓去打, 當初是因為這個原因才這麼做的(突然想到...我還沒處理研究室的無線Projector~~~看來要跟別人借NB了~~~), 所以直接用VMware直接安裝一個, 目前進度Office安裝好, 其他的等有空閒再來處理~~~

安裝後感覺:
1. 的確工作列的透明感有點玩過頭了, 可以採用阿西摩的解決方案, 等明天有空再來處理(備註:阿西摩的解決方案在這裡沒有效!!!)
2. Spaces是個好東西, 雖然以前在Linux就用過, 但是配合一些熱鍵, 的確有他人性化改善的地方...
3. Time Machine感覺也不錯, 但是目前不太敢用~~~先暫緩...

軟體更新紀錄
1. 香草輸入法更新到0.8.0.3, 好像解決了在一些軟體上不能執行的問題
2. 把之前沒在用, 但是安裝的Xcode升級, 最新版是Xcode 3.0, 但是依舊不會用, 看來還是得用VMware Fusion的Linux
3. 升級舊版的Currency Convert成v0.7, 之前版本似乎在豹子上會水土不服, 重新安裝新版即可~~~

[+/-] Read More...

2007年11月10日 星期六

峇里島-第四天

這一晚是住在Hilton飯店的, 我個人是覺得很漂亮了啦, 不過聽說還不是當地最棒的, 因為他已經蓋好七八年了...早上醒來先來去吃一頓飯店提供的早餐...味道如何已經不復記憶了~~~反正就是歐式自助餐囉...吃到飽吃到爽吃到吐~~~適合量大的人~~~




這個行程有送個Hilton Lulu SPA, 所以吃飽後散步走去Lulu SPA的場所, 享受免費的SPA, 沿著飯店外圍走著走著, 飯店的景緻很有南國風味, 大片蕉葉遍佈, 微風吹來, 到處都有以花瓣為裝飾的水盆等等...另外, 看來因為日本遊客眾多的關係, 所以也有部份地方是以日式風格為主...



Lulu SPA, 名字我不曉得是因何而起的, 進去後有兩張躺椅, 當地人的按摩師父, 要我們換上他們準備的衣物, 趴在按摩床上, 接著會在身上塗抹一些磨砂膏之類的東西, 先幫你去角質, 接著按摩之類的, 等完成按摩之後有個沖澡的地方讓你沖掉身上塗抹的東西, 接著旁邊這個佈滿花瓣的浴池還可以讓你泡一下澡, 享受一下貴妃泡澡的感覺...至於泡起來的感覺...ㄟ...就像在家泡澡一樣...



房間內裝飾的懶人亭


後續撰寫中~~~

[+/-] Read More...

2007年11月6日 星期二

Leopard升級規劃

要從老虎(Tiger, 10.4)升級成豹子(Leopard, 10.5), 沒有多想想總是不成的, 看看微軟的Vista, 有多少人升級後又重新灌回XP...要耍熱血也要看看場合, 這台可是我的工作機, 還是來多弄顆硬碟備份保險一點~~~

採購清單:
1. Leopard OS學生價 $3,990
2. 160G 2.5" SATA + 外接盒 我猜應該可以壓在$3,500吧


更新步驟:
1. 添購硬碟, 請店家將新硬碟放在MB內, 把目前硬碟放在外接盒(還沒搬移完成前, 可以先用外接硬碟開機)
2. 將Leopard裝在新硬碟內
3. Bootcamp切割安裝XP
4. 把個人資料從外接硬碟搬回MB內~~~

備註:
1. 安裝Leopard時, 記得安裝X11, 到時候應該可以加裝MacPort, 搞不好可以不用VMware + Linux
2. 安裝XCode

[+/-] Read More...

2007年10月15日 星期一

LOVE

最近很喜歡的一個廣告, 當然女主角 - 琪拉奈特莉也是一個原因, 那種在男人脖子點上自己的香水的感覺, 但是最重要的一點是整個廣告配樂, 渾厚的女生嗓音, 不需要高亢嘹亮, 就可以扣人心弦~~~



[+/-] Read More...

pair class使用筆記

說明: 顧名思義就是可以同時存放兩個物件, 物件格式不限定(因為他是用template的方式實作的)

#inlcude <>
std::pair pr1;
pr1.first = 1.0;
pr1.second = 2.0;


說明: 存取pair的第一個物件與第二個物件


簡單到爆的一個物件, 其他的就不用多講了~~~

參考資料:
1. 說明文件1
2. 說明文件2

[+/-] Read More...

2007年10月6日 星期六

對於丁丁大站的看法

丁丁大站算是我常常會來逛的, 更是黃姓正在當憲兵的某學弟的最愛(哈), 沒事逛逛看看美女, 賞心悅目順便解壓消除疲勞, 比保力達B還有用, 而這幾天卻發現這樣子的事情:


話說原本某大學生 - 簡xx在宿舍架設了這個丁丁大站, 原本只是個bbs站, 但是為了衝人氣, 所以添加了網路相簿的功能, 使用者可以透過bbs帳號來建立自己的相簿, 然而後來因為大四將要畢業, 宿舍即將關閉的緣故, 在加上該系計中網管 - 偽吳大的加入, 所以這個站便搬移到該系計中內, 享用系上硬體資源, 所以當時提出只要上線720小時, 即可擁有500MB的網路相簿, 這項「德政」真是傲視當時類似的網路相簿站啊, 所以成為國內web 2.0第一大站啊~~~

而現在用7億賣給yahoo(比雷洛還多2億), 現在就跑出交大. 丁丁大站間的恩怨情仇啊, 原本丁丁大站利用交大資源站起來, 商業化後答應捐贈交大1000萬元, 但是交大有個條款規定這筆捐款, 其中80%可以回饋技術創新人員, 所以變成實際上只需要捐贈200萬元, 相較於7億的賣價, 有立委質疑交大是不是圖利特定人員, 大幅利用學術網路資源與學校資源, 所以交大要求捐2000萬, 丁丁大站的六位年輕千萬富翁便開始回咬了, 好看啊~~~霹靂火算什麼! 金色摩天輪又算什麼! 比八點檔還好看啊~~~

備註: 我現在是不是也該架個什麼站, 反正現在系計中歸我管, 雖然我手頭上只有幾台電腦, 搞個小一點的站應該可以吧~~~看看以後可不可以賣給yahoo或是google之類的~~~

丁丁大站跟交大的恩怨情仇
1. 蔡神大戰丁丁大站(上)
2. 蔡神大戰丁丁大站(下)
3. 丁丁大站到底幹了哪些好事? (白話文版)
4. 無名小站:公然說謊還是道德低落? - 朱學恆
5. 原始信件

其實上述的這些問題都可以歸納一個字「錢」, 學生或老師從學校中發展技術, 商業化建立公司, 學校提供環境. 資源. 場所, 學生或老師提供腦力發展技術, 我想這對於公司發展都是必備的, 所以以功勞論, 若不賺錢就算了, 若是賺錢的話, 這兩個角色都有他得到回饋的立場, 而今天只是多或少, 或是如何訂定的問題罷了...而底下的文章提到Google與史丹佛的分配, 我想未來若可以建立制度, 將會比今天好多了~~~

參考: 大家都愛無名小站? - 朱學恆

好, 話又說回來, 為什麼叫做丁丁大站呢? 上述「管理階層」為了錢到處亂咬, 頂多只有愛錢而已啊, 而下列種種「腦殘」的行徑, 讓人覺得站的上方應該已經長出天線吧~~~所以未來丁丁就是站名~~~

1. wkwu非常有情有義地利用ab test幫助法鵝大站作壓力測試
2. 缺錢時要求以認股權吸引白金會員, 賣掉yahoo時, 白金會員可以換得「好禮三選一」

最近賣給yahoo後, 不曉得天線化會傳染, 還是原本就是兩隻天線的合體, 居然設定robots.txt(註: 搜尋引擎平時都是靠著他的蜘蛛程式(spider)到各個網站, 把資料抓回去, 再由搜尋引擎統整, 當使用者查詢時再回覆, 而robots.txt的設定則是規範蜘蛛程式的抓取範圍, 告訴它從這裡以內, 我不歡迎你, 別再進去了)除了yahoo的搜尋引擎外, 其餘的不可進入, 所以未來除了yahoo以外, 例如google之類的都再也找不到無名的內容, 這樣作只有兩個影響, yahoo搜尋引擎的使用率增加了, 另一個就是無名死掉了, 再我看來比較可能讓無名掛掉吧~~~

1. 無名小站的 robots.txt
2. 欲練神功,揮刀自宮!( Wretch ban 掉所有搜尋引擎)
3. Yahoo! + 無名小站 濫用市場地位、排除其他搜尋引擎 ?

4.

[+/-] Read More...

2007年10月2日 星期二

太經典了~~~這種東西都有~~~

乳房繪畫教學, 嗯!真是太深奧了~~~

乳教學 - 上色解說. 擠壓
http://ichigoichigo.blogspot.com/2007/09/blog-post_03.html
msn上的乳教學
http://ichigoichigo.blogspot.com/2007/04/msn.html

[+/-] Read More...

2007年9月28日 星期五

峇里島-第三天

因為雜務纏身啊, 所以遊記撰寫也因此沉寂已久(迷之音:別裝了, 還不是只是去唱歌. 烤肉與打電動而已~~~)
哇!我不是故意要積欠稿債的啊~~~該寫的還是要來寫啊~~~

2006/2/12
今天的行程要去海灘玩一些水上活動, 接著會去海龜島看看動物, 下午則是到烏布一帶晃晃, 好吧!開始吧!

今天一早起床, 就被帶到庫塔(由於是一年半以後的回想, 所以可能地點會錯誤!!)這個海灘, 據說過去這邊西方人非常喜歡來這個海灘, 但是由於恐怖攻擊後, 暫時人氣清淡不少~~~在這邊我們玩了兩項水上活動, 一個是拖曳傘, 另一個則是飛魚, 拖曳傘有點貴, 大約$25 USD, 被拉上去景緻很不錯, 只是繞個一圈他就下來了, 大約1分鐘就結束了~~~

另一項則是飛魚, 收費標準大概也是這樣啦, 但是時間長多了, 他像是墾丁玩的香蕉船一樣, 只是船型是一片薄板, 所以隨著快艇拉扯, 他會因為翼地效應(在造船系學的還沒忘記), 整艘船會脫離水片, 比香蕉船還刺激~~~



另外, 慧仔則跑去給當地人編織黑人辮子頭, 價錢好像只有$2 USD, 非常的便宜, 由許多當地的婦女過來幫忙編織, 大約30分鐘就可以編織完畢, 不過頭皮脆弱的慧仔, 重頭到尾唉唉叫, 成果倒是還不錯看, 缺點是拆的時候超麻煩的, 拆好久才拆好~~~



接著我們從這個海灘坐船去海龜島, 他就像是一個小小的沙洲, 上面建立一個小小的「ㄅㄆㄇ猴園」之類的動物園吧, 坐在這船上, 海風不斷吹來, 感覺還不錯~~~

海龜島, 顧名思義當然至少養了很多海龜, 你可以抓起海龜來照相. 另外這裡除了海龜以外, 還有大蝙蝠. 蟒蛇. 老鷹等等...不過有些東西我照照相就好了~~~我沒有勇氣自己拿起來啊~~~



這裡來展示一下黑人頭的小慧, 原則上還不錯看, 只是整理上真得很困難, 拆下來也很麻煩, 需要順半天.

正面來一張
側面也來一張
這是背後的樣子

今天中午吃這間吃到飽的壽司與生魚片, 只是這裡的生魚片還是吃不太習慣, 記得當初在新加坡吃的日式料理也是這樣的, 不知道是因為熱帶國家的魚類有所差異, 還是怎樣, 總覺得魚肉味道怪怪的...


吃完午飯後, 下午行程是到烏布自由活動, 這裡算是峇里島的商業區, 我們先到百貨公司後方的烏布海灘, 海灘很漂亮, 不過因為天氣熱溫度高, 所以人有點少, 但是海天一色. 白沙藍天非常漂亮~~~



這是烏布商業區的風光, 在這邊可以看到很多東方人, 我猜是日本人, 商業區這邊很漂亮, 也比較不那麼落後, 但是依舊帶有濃濃的異國海島風味~~~



Discovery Plaza, 感覺上好像是這邊最大的商業百貨~~~


到Discovery Plaza內逛逛, 由於是百貨公司的關係, 所以品質與價格跟台灣或是其他國家的百貨公司, 是一樣的, 所以沒錢在這邊shopping的我們, 其實都躲在電動玩具區玩, 慧仔玩跳舞機玩得很高興, 而我在這邊找到一個遊戲(沒有照片), 是日本武士拿武士刀砍殺的遊戲, 操縱介面就像是今日的wii一樣, 他會偵測你拿的武士刀柄角度, 來去攻擊或是防禦, 而這些遊戲機台在台灣都還沒出現, 我想是因為這些機台都來自日本, 而日本遊客居多的當地, 特別引進的機台~~~



結束下午的烏布海灘, 就要回到旅館, 今晚將搬到Hilton Hotel去, 以下照片是在他的大廳等待時照下的相片~~~


[+/-] Read More...