2014年3月9日 星期日

在Windows 7上安裝VanetMobiSim

最近因為需要車載網路的模擬資料,
所以,花了點時間研究如何產生車載網路的模擬器。
而其中一個知名的模擬器就是VanetMobiSim,很多論文都是利用這個模擬器產生移動資料(mobility file)。
以下就我個人使用的心得,跟大家分享如何安裝這個好用的工具。

如何安裝VanetMobiSim

在安裝VanetMobiSim之前必須先確認電腦中有Java和Ant之後,才能使用該模擬器。
以下內容主要參考了Allen Hu的[車載] VanetMobiSim安裝教學,他是在Windows XP上安裝的,如果是XP的用戶,可以參考他的安裝教學。
而我則是在Windows 7上安裝,跟XP有一點點不一樣,
底下,就一步一步為大家介紹如何在Windows 7上安裝VanetMobiSim:

1.確認Java

若尚未安裝Java,可以到底下連結下載,我個人是安裝了JDK7:

安裝完JDK之後可以打開命令提示字元輸入
java -version
確認java是否已經安裝成功。
成功的話會看到如以下的Java版本資訊:
Java 版本資訊

2.安裝Ant


(1)下載Ant
由於VanetMobiSim有使用到Ant,所以需要進一步下載Ant,並且安裝。
請到以下頁面下載Ant:
找到apache-ant-1.9.3-bin.zip,或是更新的版本,然後下載,如下圖。
apache-ant-1.9.3-bin.zip

或者可以直接按這個連結下載。
解壓縮這個zip檔案之後,建議可以把這個資料夾放到比較單純的路徑底下(我自己是放在C:\,因為我的NB只有一個磁碟)

(2)設定環境變數
接下來,就是要確認Java的環境變數是否設定正確。
設定方法如下:

在"我的電腦"上按右鍵->點擊"內容"->點擊"進階系統設定"->點擊"環境變數",如下圖:  

接著在下方的系統變數的地方找到PATH,並點選"編輯",然後在變數值的最後加上
   ;%ANT_HOME%\bin
最後按下確定,如下圖步驟:


然後一樣在下方的系統變數中,按下新增,並在變數名稱中輸入ANT_HOME,變數值輸入ANT的存放路徑,如C:\apache-ant-1.9.3,然後按下確定鍵,步驟如下圖。


(2)檢查Ant環境變數
在命令提示字元中輸入 ant,檢查環境變數是否設定成功,如果成功的話,就會如下圖:

如果不成功的話,會看到下圖:





如果你跟我一樣看到Unable to locate tools.jar,這個錯誤訊息,請將JDK7中的C:\Program Files\Java\jdk1.7.0_51\lib\tools.jar複製到C:\Program Files\Java\jre7\lib\ 底下,就可以解決這個錯誤訊息。

最後完全正常的畫面:

3.安裝VanetMobiSim

現在我們正式來安裝今天的主角VanetMobiSim:

(1)下載VanetMobiSim
請到http://vanet.eurecom.fr/下載VanetMobiSim 1.1 sources file,如下圖:

解壓縮VanetMobiSim-1.1.zip之後,建議將這個檔案存放到比較單純的路徑,像我就在C:底下建立一個資料夾,取名VanetMobiSim,檔案資料夾如下圖:


(2)下載CanuMobiSim
接著下載
解壓縮CanuMobiSim_1_3_4_src.zip,並放到剛才建立的VanetMobiSim資料夾下,資料放入之後如下圖。

題外話,manual資料夾底下是VanetMobiSim的說明文件,如果有遇到模擬器操作上的問題,可以打開來參考看看。

(3)正式安裝
開啟命令提示字元,切換到VanetMobiSim資料夾下,並輸入ant patch指令:

若看到Build Successful就表示,安裝成功,而且在VanetMobiSim資料夾下多了一個sample資料夾,裡面是模擬器的範例設定xml檔。

(4)下載執行檔
接下來,最後一個步驟是要下載執行檔VanetMobiSim-1.1.jar,一樣到http://vanet.eurecom.fr/下載,如下圖。
下載回來之後,我自己是將VanetMobiSim-1.1.jar放在VanetMobiSim底下,然後打開命令提示字完,切換到VanetMobiSim目錄,輸入以下指令:
java -jar VanetMobiSim-1.1.jar samples/trafficLights.xml
如下圖:

接著就會跑出一個Java GUI如下圖:

這樣就表示成功安裝好VanetMobiSim啦。
不知不覺光安裝教學就寫了這麼多,只好在下一篇再跟大家另外分享VanetMobiSim的細部設定,例如,如何使用實際的地圖和輸出Mobile file。


2014年2月4日 星期二

總舖師之電影插曲

今年的過年期間,有好多國片在第四台首播,
其中一部讓我留下最深刻印象的,就是--總舖師。

為什麼呢?當然是因為林美秀的那一曲"金罵沒ㄤ",讓人看完電影之後一直很想找到整首歌曲,當然,還有另外一首"三八阿花吹喇叭"也是讓人一聽了就忘不了的"台"歌。
就讓我們欣賞這兩首很台的插曲吧~~


『 金罵沒ㄤ』 完整MV 《總舖師》電影插曲





《糯米糰》三八阿花吹喇叭





如果想要更深入了解這兩首歌的由來,可以參考以下網址:
【音樂專欄】總舖師的三八阿花吹喇叭,糯米


會彈吉他的朋友可以參考以下和絃自己彈彈看:

2014年1月28日 星期二

如何讓Gmail重新讀取POP3

不知道大家是否跟我一樣,也是Gmail的愛用者,平時都用Gmail收信,就算有其他不同的信箱,也是會用Gmail中,POP3收信的功能,將遠端的信收回Gmail。但是,Gmail並不會時時刻刻去收POP3的信,就我個人觀察,有時等了半個小時以上,也不一定會將信收回來。所以這就造成我很大的困擾,有時候同事告知我,信已經寄給我了,可是我卻只能乾等著Gmail去幫我收信,完全沒有效率可言。

好在,我自己找到了一個方法,可以從<設定>--<帳戶>中,看到如下圖的POP3選頁,點下"立即檢查郵件",Gmail就會幫我去收POP3的信件,這樣總算是可以隨時收外部信件了。



這個方法不錯,不過,每次收信都要花一點時間,才能找到那個連接,
我收了三四次之後,就覺得煩了,每次都要找一陣子,
所以,我就開始google是否有更快的方法。
果然,皇天不負苦心人,讓我在一篇國外的blog中找到了解法。

其實gmail收外站POP3的信,早就已經在2012年的時候,整合到重新整理的按鈕中了,
所以,看到這篇文章的朋友,你不用再點到設定裡面找檢查郵件了,
只要在收件匣的正上方,按下"重新整理"按鈕,就可以強制收POP3的信件啦。

如下圖所示:

2013年9月30日 星期一

2010年 Mac mini server 出包版風扇問題

最近我的Mac mini server怪怪的,不知道是不是因為我讓他整天開機,365天待機,都不休息,所以導致他的硬碟怪怪的,每過個幾天就當機,有時候還開不了機。重灌改用raid 0,狀況更嚴重,開機有時還找不到硬碟。
如果大家有開不了機的問題,可以先參考這篇:
http://ca96.blogspot.tw/2008/04/mac.html

我參考該篇文章的方法,但是依然無法解決開機的問題,個人猜測Mac mini的硬碟可能問題,所以,為了解決這個問題,小弟我只好將Mac mini開膛剖腹,將server的硬碟取下來好好的檢查。
所以,小弟就按照以下幾篇文章介紹的方法,一步一步地把Mac mini拆開:

http://www.macuknow.com/node/15113
http://www.ifixit.com/Teardown/Mac+Mini+Mid+2010+Teardown/3094/1

雖然,我已經小心翼翼地將排線一一取下,最後還是不小心把硬碟上的溫度感測器線路給折斷了,這個小失誤導致Mac mini無法感測到硬碟的溫度,所以只要一開機,風扇就以全速狂轉,害我原本沈默寡言的小mini,瞬間變成聒噪不堪的擾人機器。
如果你跟我一樣,受不了mini的風扇轉速,你應該也會想盡辦法將其轉速調低吧。

好在已有人寫好程式,可以讓mini的風扇根據cpu的溫度調整轉速,不過該作者已經特別強調他的程式只有在2010的Mac mini server上測試過,其他的機器不保証可以使用,而且,該程式會更改到風扇的轉速,所以,用的不好,可能會讓mac mini的cpu燒掉。
所以,在使用該程式之前,請確認自己是否有電機資訊的背景,不然亂使用該程式,可能真的會玩火自焚哦!!!

好啦,醜話已經説完了,接下來小弟來説明一下該程式的功能,和如何安全地使用該程式。


Step 1 下載BrokenFanControl.py


https://github.com/ilTofa/BrokenFanControl 下載BrokenFanControl.py回來,並放在/usr/local/sbin 的資料夾下,並且將BrokenFanControl.py設定為可執行。


Step 2 下載SMCFancontrol


接著,下載SMCFancontrol。下載來源

SMCFancontrol是可以監測CPU溫度,並且提供調整風扇的function,所以,透過SMCFancontrol,我們就可以手動將風扇的轉速降下來,不過,SMCFancontrol本身並沒有提供方便設定模式,所以不能讓風扇隨著CPU的溫度,等比例調降。
有鑑於此,該作者用Python,寫了一個簡易的設定BrokenFanControl.py,透過這個程式,Mac mini就可以隨著CPU調整自己的風扇轉速。
當然作者也有特別提到,如果不放心BrokenFanControl.py的朋友,可以先將程式中最後一行的subprocess.call先註解起來,並且有print為開頭的程式碼反註解,確認程式能讀取到正確的CPU溫度,如果真的不小心設定到風扇的轉速,也是可以重開機,就可以回覆到初始的轉速。

Step 3 設定Crontab


確認完BrokenFanControl.py能正確地依CPU溫度而調整風扇之後,我們必需讓電腦每一定的時間內執行該程式,所以,我們設定crontab,讓電腦每半分鐘就去執行該程式。


用以下指令修改crontab

# sudo crontab -e

在crontab中加入:

*/1 * * * * python /usr/local/sbin/BrokenFanControl.py


以上設定完之後,即使電腦重開機,風扇也會降下來,所以我就沒有特別去安裝作者推薦的SleepWatcher,不過不保証電腦會不會燒掉,個人評估Mac mini應該沒有這麼弱,所以,目前依舊正常使用中。

參考來源:
http://blog.silentk.org/2012/06/2010-mac-mini-broken-fan-sensor.html

2013年7月14日 星期日

在eBay買ApplaCare真划算!

Apple的產品一直以來都給人一種高科技高品質的感覺,這也是為什麼愛用Apple的朋友,買了其中一個產品,就會不停地買下相關的週邊和下一代產品。但是,Apple的所有產品都只有一年的保固期限,因此,消費者不得不在購買產品的一年之內,審慎考慮延長保固的期限。就我個人而言,因為我買過的Macbook air曾經進廠維修過,所以,為了保險起見,我為我的蘋果電腦們,買了更進一步的保障-- AppleCare。
AppleCare可以將保固期限延長至第三年,聽起來很不賴,但是他的價格可不便宜,像Macbook air的AppleCare要價8590元,等於是一台Macbook air的三分之一到四分之一的價錢,真的是讓人望之卻步。真搞不懂Apple為什麼要把定價加這麼高,而且在台灣也沒有官方的Apple store,遇到問題也只能找授權的維修中心,而我個人的經驗是要等上好幾個星期才能修好。

寫到這邊,真的是覺得AppleCare是一個花大錢,但又不能不買的服務,因此,從這裡我們可以看到蘋果的邪惡之處,真是讓人又愛又恨啊。既然不得不買AppleCare,那就只好想辦法買到便宜的AppleCare,原則上,在Y拍或是露天上,還滿多商家在賣便宜的AppleCare,多年之前,我就是在Y拍上買的,而且價格是原本的一半以下,真的是差很大。
但是現在已經找不到這麼便宜的AppleCare了,了不起7折就很不錯了。當然,各位朋友要到各大賣場下訂之前,一定要多看該商家的評價,確認其是可靠有信用的賣家才下訂,千萬別貪小便宜,而受騙上當。
正因為害怕受騙,所以,我自己在購買AppleCare之前也仔細研究了一下這些便宜AppleCare的來源。有一種説法是,某些企業或是公司因為大量地的訂購AppleCare,所以可以跟蘋果公司談到相當便宜的優惠,而市面上才會出現這麼便宜的AppleCare。
因此,我本著人性本善的立場,相信各大拍賣場所賣的來源是合法的,只要能正確地在蘋果的官方網站上登錄成功,我個人是覺得在哪裡賣都一樣。

我最近發現,國外的eBay賣的AppleCare,居然比台灣的更便宜,硬是差了幾百元,有時我都覺得會不會是台灣的賣家去eBay批AppleCare回來賣,然後賺價差。當然,如果英文不夠好,擔心在eBay上會遇到溝通不良的朋友,還是可以在台灣買,比較保險。

廢話了這麼多之後,想當然耳,我一定是選擇了最便宜的方案,那就是在eBay上買AppleCare啦~~
剛好我找到一篇專門談論如何在eBay上購買AppleCare的文章:  AppleCare 超便宜購買法
加上我個人最近也有買AppleCare的需求,所以,底下為大家紀綠一下怎麼在eBay上購買AppleCare:


Step 1尋找優質的賣家


其實我也沒特別找,就是參考這篇所推薦的點進去,因為我要買的Macbook air 11吋的AppleCare,看到評價還不錯的賣家,就放手加入購物車。美金168換算成台幣約5000多,還省滿多的。



底下是購物車的明細,因為我們是國際訂單,所以要收15美元的運費,不過因為AppleCare其實只是一組序號,所以下訂付錢之後,賣家會直接將序號寄到eBay的信箱,並且將這筆15美元的運費,透過eBay還給消費者。由於我是用Paypal付款,所以賣家就直接退款到我的Paypal帳號。


Step 2 結帳

我個人是用Paypal付帳,所以選擇第二種付款的方式,如下圖:


接著會轉到Paypal付款的頁面,並輸入帳號密碼。


然後就完成付款。

付完款之後,我有在eBay寄信給賣家,要他直接將AppleCare的序號寄給我,

Step 3 收取AppleCare序號

賣家收到款之後,就會把code寄過來,並且退還運費。

Step 4 註冊 AppleCare 

第一次註冊AppleCare的朋友可以參考這篇,按照他的説明,就可以用剛才買的code註冊AppleCare。
成功冊註之後,會收到一封來自Apple的信,信中內容如下:


然後技術支援裡面就可以看到筆電的保固期限延長了:


以上就是我個人簡易的購買紀錄,其實只要心臟大顆一點,在eBay上買東西也沒什麼難的啦~~~

參考來源:

如何在ebay購買便宜的 AppleCare ?

2013年3月21日 星期四

法國春天百貨九折卡

最近跑去法國一趟,每天都有跑不完的行程,有時甚至無法上網,所以有一陣子沒發文了。
看著人氣逐漸低落的Blog,一時之間也沒什麼心思多寫些什麼。
其實,這一次去法國,有相當多的所見和所聞,但是一直抽不出時間來寫文章,
但是有一件實用的資訊,一定要先分享給大家~~ 那當然就是折扣的訊息啦~~

沒錯,出國最重要的事情就是shopping,如果多多搜集一些折扣的消息,相信可以幫荷包省下不少負擔。

我想大家應該已經知道在法國可以退稅12%,前提是必須在同一家商店購買超過176歐元以上,而在百貨公司裡,則可以累計當天所有購物的消費,這也是為什麼旅行團喜歡帶旅客去百貨公司的原因之一。
而觀光客最愛去的百貨公司有二家,拉法葉百貨和春天百貨,這兩家百貨公司都有9折卡可以使用,不過,個人覺得,拉法葉百貨的觀光客比較多,所以,無法從容地挑選自己的商品。
相對的,春天百貨人就少一點點,比較不用人擠人,所以,我個人特別注意有關春天百貨的折扣訊息。

我們稍微計算一下,如果使用了九折卡,再加上退稅之後,我們可以得多少的折扣呢?0.9*0.88=0.792,哇,將近8折的折扣,這實在是太划算了,而且九折卡還可以免費取得,你説是不是該拿一下呢~~

底下為大家介紹的是外國人才可以申請的春天百貨九折卡,不過這張九折卡也是有所限制的,有些特定牌子的商品是不能使用的,像是LV和Longchamp。

好啦,在簡短的介紹之後,馬上教大家怎麼申請這張9折卡吧,首先請先點擊以下連結:

http://departmentstoreparis.printemps.com/our_services/discount/subscription.aspx

開啟的網頁就是春天百貨提供給外國人的9折卡申請頁面,有紅色*的欄位是必要的資訊。
原則上,email一定要填對,因為9折卡的連結是用寄信的方式,寄到你的信箱。


填完送出之後,可以在信箱中收到以下信件:






點擊click here,就會連到官方網站,並且出現列印視窗,列印出來的東西就是那張九折卡啦。
不過,也不用真的列印出來,我自己就是另存成pdf放在手機中,如下圖,要買東西的時候,直接出示手機就可以了。



最後,提醒一下大家,上面這張的截圖我已經剪掉有效日期了,大家可千萬別直接拿去用哦,還是自己去申請一張比較實在~~~

2012年10月13日 星期六

latex也可以追踪修訂--latexdiff+git

相信愛用latex的朋友們,對latex想必是又愛又恨吧,愛的是他強大的排版功能和完善的數學方程式,而恨的則是latex沒有內建追踪修訂功能,無法和其他共同作者編寫同一份文件的時候,追踪彼此所修改的內容,甚至是在revise論文的時候,也不容易追踪自己所修的內容。

的確,latex本身沒有內建追踪修訂,不過大家也不用因此而氣餒,方法總是人想出來的,沒有原生的解決方法,還是有外掛的方式可以達成追踪修訂的目的!

沒錯,latexdiff就是為了此目的而生的script,該script使用perl語言所寫成,在灌好MacTek或是MikTex之後,就內建的一個小程式。

使用的方法很簡單,只要輸入以下指令:

latexdiff old.tex new.tex > diff.tex

其中,old.tex是舊版本的檔案,new.tex是新版本的檔案,而diff.tex則是兩個檔案的差異,也就是追踪修訂的原始檔。接著,我們只要編譯diff.tex,就能得到diff.pdf,該pdf檔就會包含新舊版本的差異啦。

如下圖:

 

螢幕快照 2012 10 13 下午8 04 43

紅色刪除線為前一版本中被刪除的內容,藍色下底線的文字則是新版本中加入的內容,一目了然,跟word的追踪修訂一樣清楚,而且就算是演算法也能呈現前後版本的不同,如下圖:

螢幕快照 2012 10 13 下午8 08 30

此外,要注意的是,文章中的圖檔和所使用到的style檔,都必須和diff.tex放在同一個資料夾中,才能正常編譯成功。因為diff.tex中,只有包含old.tex和new.tex之間文字內容的差異,圖案是不會包含進來的,除非改了圖檔的檔名。

參考文章:

http://www.peteryu.ca/tutorials/publishing/latexdiff

 

Latexdiff+Git

原則上,單單使用latexdiff就已經滿足大部份人的需求了。不過,latexdiff有一個缺點,就是他只能辨識一個檔案的差異。如果,大家跟我一樣,習慣將不同章節寫在不同的檔案中,並且使用\include,將章節引入進主要的tex檔。那文件的變動都在其他檔案中,而主文件中跟本不會有任何異動,這樣latexdiff跟本就無法檢查出新舊內容的差異。這可怎麼辦呢?總不能每個章節產生一個diff檔,然後再自行整合所有的diff檔,聽起來就是一個大工程,勞心又耗時。

沒錯,我的心聲,Google大神都聽進去了,他也知道這是一件麻煩事,所以讓我找到了Yngve's blog,這位物理博士生,遇到了和我一樣的困擾,而且他還用git來維護他的論文,所以,他自己寫了一個shell script (稱作latexbatchdiff),同時可以偵測多個檔案的變動,還可以利用git,在不同的論文版本中,追踪論文的不同點。而且,他還分享了他寫的script,無私地讓大家使用,實在是太佛心來啦。大家可以到他所建立的專案中下載 :

http://gitorious.org/latexbatchdiff/

當然也可以用git直接下載回來用:

git clone git://gitorious.org/latexbatchdiff/latexbatchdiff.git

 下載回來之後,會在latexbatchdiff資料夾下看到兩個.sh檔,其中,install.sh是安裝檔,執行install.sh之後,該script會詢問你一些問題,像是使用何種版本控制軟體,我是用git,所以,回答git,接著會問你:

Want to create new command for difftool.latex This will overwrite the existing command, is this OK? (y/n)

這裡我回答y,因為他只會覆寫git的設定,不會影響整個系統,為什麼我這麼確定呢?因為我也很擔心程式有沒有漏洞在裡面,所以兩個程式我都trace過了,不用擔心,可以安心使用。而且這個install.sh只是根據你系統的設定,將他寫的latexbatchdiff.sh複製到~/.local/bin/,所以並沒有任何問題。

執行完之後,還必須自行編輯~/.profile,加入

export PATH=/Users/hdj/.local/bin:$PATH

安裝流程如下圖:

螢幕快照 2012 10 14 上午12 30 02 2

完成以上設定之後,就大功告成啦。

可以使用以下指令執行:

latexdiff-git ebc3e0 master.tex parts/introduction.tex parts/results.tex

其中,ebc3e0是git中版本的編號,master.tex是主要的tex文件,而後面兩個則是各章節的tex檔,在latexbatchdiff中,如果要檢查每一個章節,就必須列出所有的章節檔名。如果只有一個文件的話,就不用填入後面的章節檔。此外,如果沒有填入版本編號,latexdiff-git會自行和最後一個commit的版本比較。latexdiff-git執行完之後,會自動開啟一個master-diff.pdf,這個檔案就是修訂追踪的檔案啦。

參考資料:

.gitignore http://eothred.wordpress.com/2010/11/07/latexdiff-and-git/

 

Git簡易教學

同場加映一些git的簡易教學,以免過一陣子,連自己都忘了怎麼用><

首先是在論文的資料夾中建立倉儲:

git init

接著發佈一個init版本 

git add .

git commit -a -m "Init"

 

假設我們修改了一些檔案,然後又發佈了一個新的版本,我們可以用git log看看我們各版本的資訊,如下圖:

Git

在這個例子中,假設我要追踪a3c110這個版本和目前版本的差異,我可以下:

latexdiff-git a3c110 master.tex

如果在刪除檔案時,有東西不小心誤刪了,我們可以用以下指令回到最近的版本:

git reset --hard HEAD

 

Related Posts Plugin for WordPress, Blogger...