2009年6月10日 星期三

免費網路廣播鬧鐘 - 以 Hinedo 實作

恰好看到有人有這個需求,所以就嘗試用輕便的 Hinedo 來實作囉。關於 Hinedo 是由 PCMan 的作者所創作的,以下是相關資訊


下載網址:http://of.openfoundry.org/projects/814/download
文章介紹:http://azo-freeware.blogspot.com/2007/06/hinedo-hinet-radio-10.html
相關位置:http://pcman.sayya.org/blog_read.php?id=pcman&article=85


關於製作成鬧鐘的方式,就純粹只是搭配作業系統的排程,以 Windows XP 為例,在 [控制台] -> [排定的工作] 即是管理與設定的地方,在 Unix 系統則有 crontab 等,在此不多作探討。


首先,要先了解 Hinedo 的架構,下載完後解開與執行後,可看到以下檔案



  • Hinedo.exe

  • License.txt

  • Menu.txt

  • Play.vbs

  • Update.vbs

  • UpdateMenu.vbs

  • Version.txt


其中比較重要的就屬 Hinedo.exe、Menu.txt 和 Play.vbs。


有興趣的可以在 cmd mode 下依序執行



  1. C:\Hinedo> Hinedo.exe

    • 開啟 Hinedo 廣播程式



  2. C:\Hinedo> Play.vbs 206

    • 播放 206 電台,即 Menu.txt 中的 "中廣音樂網i radio    206"




上述第一步,其實是開啟 Hinedo 廣播軟體,第二步是播放指定的電台。


以下是製作成定時排程播放的方式:(感謝 rain 提供使用 start 指令,可以解決必先預先開啟 hinedo 的限制 @ 2010/02/05)



  1. 製作批次執行檔,如 run_radio.cmd ,其內容如下

    • start C:\Hinedo\Hinedo.exe
      start C:\Hinedo\Play.vbs 206

    • 第二行的 206 則是查詢 Menu.txt 中所獲得的電台編號

    • 其中,假設 Hinedo 安裝解壓縮在 C:\ 位置,而 run_raido.cmd 建議擺在 C:\Hinedo\run_radio.cmd 吧



  2. 設定排程

    • 以 Windows XP 為例,可透過 [控制台] -> [排定的工作] 開啟。

    • 點選"新增的排定工作",並且透過[瀏覽]來選擇,選 C:\Hinedo\run_radio.bat ,接著設定工作的名稱和工作執行的方式,即鬧鐘的話,就設定每日,按下一步後則是設定切確的時間,接著還要輸入該台電腦的帳號密碼,即可完成設定。

      01 02
      03 04
      05

      最後可以按[執行] 看看是否能成功囉!過程會彈跳一個視窗出來,但隨即就會關閉,如果該視窗沒有關閉,算不正常的現象,請參考第三點。



  3. 使用上,目前有些限制

    • 電腦需開機

    • 需預先已執行 Hinedo.exe 程式,可以關閉播放,但至少一定要出現在右下角常駐程式那邊。




如此一來,設定的時間一到,就可以當作鬧鐘,自動執行播放廣播的動作囉!


PS. 原先規劃 bat 檔以為可以用上述兩道指令來正確開啟軟體、接著播放廣播,但測試的結果,發現會卡在第一道指令,因此,退而求其次,變成需要在開機狀態 + 程式已執行(不必播放廣播) 的情境下,才能正常播放廣播。


2009年6月9日 星期二

VMWare 相關問題


  • 安裝 VMWare tools 時,發現訊息 Bad system call (core dumped)

    • cd /usr/ports/misc/compat6x ; make install clean
      ln -s /usr/local/lib/compat/libc.so.6  /lib
      接著再重新執行步驟即可,只是最後覺得好像沒什麼必要又移除了 VMWare Tool 。



  • Your host does not have synchronized TSCs. Please read VMware Knowledge Base article 2041.

    • 可參考 教學 / 解決 AMD 64 x2 雙核心 用 VMware 遇到的問題

    • 最後,使用上還常碰到時間不正確的情況,忘了是否有安裝上述部分來調整時間,反而改採用網路更新時間的方式:

      • /etc/rc.conf

        • 增加 ntpdate_enable="YES"





      • 新增 root 的定期工作以更新時間,可自行決定更新時間囉

        • # crontab -e

        • * */6 * * * /usr/sbin/ntpdate time.stdtime.gov.tw







  • Windows - 磁碟機未備妥 - Exceoption Processing Message c00000a3 Parameters


    • 把軟碟機(Floopy)移掉看看




[Windows] Windows XP 之 Port Forwarding 設定

使用 port forwarding 的目的,研究上常以 VMware 安裝實驗環境,搭配 NAT
的服務,在自己的電腦上架一些工作站,此時工作站是使用 192.169.x.x 等 private ip ,在自己的電腦上要連倒還 ok
,但如果想透過其他電腦再連,常常變成要用遠端桌面,不是很方便,此時若能把自己電腦的 public ip 搭配 port forwarding
的設定,這樣對外就能連 public ip:port ,即能連進去 VMWare 架設的工作站了。


目前 VMWare Server 版是免費的,讓我感到不便的是沒有 port forwarding 服務以及要透過 Web 來設定,而
VMWare WorkStation 則有提供 port forwarding 的服務,可在 Virtual Network Setting
進行設定。


不過,扣除研究上來說,其實 port forwarding 常用來突破公司網路的設定用途,好比如公司擋掉 MSN 溝通的 port 服務等,當然對應的機制都是不少的。


隨意 google 到下面這套軟體,就拿它來應急了



其中 Trialware 算是第一次留意。查了一下,意思代表有期限、功能限制的軟體或者稱作是試用版更恰當,比較像是取代以前的 Shareware 共享軟體。稍微看一下版權介紹,似乎指說試用版的會有週期性彈跳視窗並中斷 port forwarding 服務。除此之外,這軟體設定上還滿簡單方便的。


另外,我記得大學還用過”穿越封鎖線”的軟體,查了一下,"穿越封鎖線"還不少新聞,指出作者企圖隱藏程式資訊,有變成木馬的特性,我只用過幾次而已,剛剛使用 AntiVir 掃也沒有說什麼。



看了一下,雖然我不曉得作者是否有用在非法事件上,但我覺得這在研究上,稱得上不錯的軟體。


最後,我在 Windows XP with SP3 的內建軟體發現 port forwarding 的設定方式!



  • [控制台]->[網路連線]->選擇對外網路,如[區域連線]->右鍵[內容]->分頁[進階]->[設定值]->分頁[進階]

    • 網路連線設定值,有列出幾張網卡,選擇對外網卡,如[區域連線],再選[設定值]

    • 接著選[新增],便出現"服務描述”、”您的網路上這個服務所在的名稱或 IP 位址(例如 192.168.0.12) (N):" 、"這個服務的外部連線阜號碼(E):"、"這個服務的內部連接阜號碼(I):" 和 TCP or UDP 的選項




假設 IP 是 140.x.y.z 並且在 80 port 架設 Web Server ,我嘗試設定



  • 您的網路上這個服務所在的名稱或 IP 位址(例如 192.168.0.12) (N):

    • 140.x.y.z



  • 這個服務的外部連線阜號碼(E):

    • 8080



  • 這個服務的內部連接阜號碼(I):

    • 80



  • 選 TCP


以上的設定,只是讓 140.x.y.z 的 8080 port 可以對應到 140.x.y.z 80 port ,經測試的結果,從另一台機器,的確可以透過 telnet 140.x.y.z 8080 連到 140.x.y.z  80 port 的 Web Service 囉!唯一的缺點是本機端卻無法使用 telnet 140.x.y.z 8080 連線到,要留意測試以及防火牆的部分囉!


2009年6月7日 星期日

Hadoop & MapReduce & HBase

Cloud Computing 是這兩、三年來的寵兒,概念如故,但呈現卻是嶄新的。今天到師大聽趨勢科技的介紹,深深覺得,很慶幸自己進的實驗室是處理大型資料,雖然只是短短的兩年不到,多多少少有稍微接觸到相關應用議題。


關於標題三者的認識,可以看看趨勢用心製作的投影片:



今天有幸參加趨勢的課程,儘管已有些認識,也有學到不少東西,但最大的感觸是回憶自己待了兩間實驗室的心得,第一間是大學專題,第二間則是研究所待的。


在大學時期,時常站在巨人的肩膀,專題就找找有沒 open source,然後架構環境並運行,最後則是修改成自己想要的,以達成目的,好處是可以凝聚精神在創意的實現上,壞處事,可能只是成了一位會耍耍小技巧的技師;碩士班是務實型,由於老板的生活及研發經驗,讓我有不少磨練的機會,因此許多東西都是重金從頭打造的!好處是學得多,壞處則是往往花費的時間更多。


我開始回顧,是不是該讓自己重回 open source 的模式呢?後來仔細想想,真的是要看應用,基於現在的務實環境,許多實作都是重效率的,透過 open source 可以增加開發速度,但也可能基於它的彈性而損失效率。目前實驗室的專長是資料處理,往往很多殺手級的應用幾乎都在一台電腦上,或是在受限的環境下被設計出來的,很特別的,也挺有成就感!


最後,我打算年輕時不要太早定型:「無論以後的環境如何,待在哪種研究環境,就試著去享受不一樣的研究方式吧!」


2009年5月22日 星期五

Android & Eclipse 開發環境 - 第一次安裝筆記


Image From : http://www.android.com/media/


2011-05-28 在 Windows 7 x64 安裝教學,有興趣再參考這篇: [Windows] 安裝 64 位元環境的 Eclipse , JDK 和 Android SDK @ Windows 7 64-Bit


最近很火熱的就是 Android 開發平台,去年底找替代役時,面試官閒聊,據說清大某系早已就把它拿來當作嵌入式系統課程的作業對象!想著想著,差不多是個時機該碰碰這些東西了。不然很久沒有碰新東西了。這一兩年的生活幾乎是 C 與 PHP 罷了!


首要參考網站



以上算是目前我所接觸的範圍,套句越前龍馬的話:「まだまだだね!」(發音:Ma Da Ma Da Da Ne)


關於怎麼開始,真的可以完全跟上述那個中文網站介紹!在此只是把過程紀錄下來,說真的我連下載 Java SDK 都忘的差不多了!



  1. 設置環境

    • Windows XP with SP3



  2. 下載相關開發軟體

    • JDK

      • Java 開發環境,前天我下載的版本是 JDK 6 Update 13 (jdk-6u13-windows-i586-p.exe)



    • Android SDK

      • Android 1.5 SDK, Release 1 (android-sdk-windows-1.5_r1.zip)



    • Eclipse

      • 這是寫程式免費 IDE 編輯器,但我完全沒用過 orz

      • 我選擇的是 Eclipse IDE for Java Developers (eclipse-java-ganymede-SR2-win32.zip)





  3. 初步軟體設置

    • 安裝 JDK

      • 點一點就搞定,安裝完後請設定環境變數,以方便 cmd mode 下使用。



    • 安裝 Andorid SDK

      • 解壓縮就行!假設解壓縮在 C:\ ,搭配預設目錄名即為 C:\android-sdk-windows-1.5_r1



    • 安裝 Eclipse

      • 解壓縮就行!假設解壓縮在 C:\ ,搭配預設目錄名即為 C:\eclipse



    • 設定環境變數

      • [我的電腦] 按右鍵切換 -> [內容] -> [進階] -> [環境變數] -> 使用者變數 新增/編輯 PATH 變數 -> C:\bin;C:\Program Files\Java\jre6\bin;C:\android-sdk-windows-1.5_r1\tools;





  4. 使用 Eclipse 與其環境設置

    • 點選 C:\eclipse\eclipse.exe 開啟該軟體

    • 第一個碰到的視窗是詢問 Workspace ,若沒特別想設定的,預設即可。若覺得以後被問很麻煩,可以再勾選下面的選項 Use this as the default and do not ask again

    • 下載 Android Development Tools plugin (ADT)


      • [Help] -> [Software Updates] -> [Available Software] -> [Add Site] -> Location 填寫 http://dl-ssl.google.com/android/eclipse/site.xml

      • 我碰到一個錯誤訊息 No repository found at https://dl-ssl.google.com/android/eclipse/ ,仔細一看有一處是 http://dl-ssl.google.com/android/eclipse/site.xml ,就使用這個吧(暫時忽略這個錯誤XD),勾選此項並 Install !經過一陣子後,Eclipse 會要求重新啟動此軟體。(安裝了 Android DDMS & Android Development Tools )

      • 深入淺出 Android 網站中也有提到,如果上述安裝有問題,例如網路不方便等,可以先去下載好 ADT 囉。



    • 設定 Android SDK 位置,讓 Eclipse 能夠找到它

      • [Window] -> [Preferences] -> 點選左邊 Android 項目 -> 使用 Browse 選擇與設定 SDK Location ,設定完選 Apply 跟 OK 吧






以上就是設置的詳細過程。


緊接著,就是第一個 Project 啦!



  1. 開啟 Eclipse ,準備使用 ADT 內附的範例專案

    • [File] -> [New] -> [Andorid Project] -> [Create project from existing source] -> Location : C:\android-sdk-windows-1.5_r1\platforms\android-1.5\samples\ApiDemos ,之後選完後即可按 Finish 囉,預設的資訊都會帶進來,可免去填寫

    • 如果蹦出"No compatible targets were found. Do you wish to add new Android Virtural Device?" 那就選 Yes 新增一下。看你的應用程式選擇 target,例如 Android 1.5 ,選好後再填寫一下 Name ,之後就能按 Create AVD 來建立了。



  2. 執行 [Run]->[Run] ,選擇 Andorid Application,就會跑出模擬器了,別懷疑,要等一陣子,以 AMD2 4000+ + 3GB DDR2-667 機器,粗估要 3 分鐘以上吧?最後的畫面就是這樣,可以去用滑鼠點看看,我試著瀏覽網頁,比我想像中慢很多。


Android Emulator


好久沒碰 Java 了,不曉得一個月夠不夠讓我試著開發一些小軟體?過去有用過 C# 在 VS2005 上開發手機軟體,也曾用過 J2EE 寫過,但說穿了都是非常簡單的作業罷了,唯一相同的感受:模擬器很慢!有點接近嵌入式軟體開發的感覺。