2010年11月14日 星期日

好用的、免費的或曾經限時免費過的 iPhone App

記錄一下自己常用的 iPhone Apps!以前每次下載軟體都會有 log 寄到信箱,但現在好像變成要購買付費軟體才會有記錄。寫篇 blog 記錄的好處是以後直接用 iPhone/iPod Touch/iPad 上的 Safari 開啟這篇時,點選其 link 則會被導去 iTunes App Store 並且很方便地就能下載安裝。這邊大多是免費的或是過去曾限時免費的,附帶一提,我還沒花錢買過軟體或遊戲 XD 先記錄幾筆,剩下的有空再慢慢增加。


以下是免費或曾經免費過的軟體,下載時請注意是否已變成付費軟體



TowerMadness™

這款算是我第一款上手的遊戲,常常無聊會玩的,有些關卡我還是沒破關!這是付費版本,之前有一陣子免費下載,所以就趕上順風車啦!他有免費版 Towermadness™ zero ,可以抓這個版本就好,唯一的差別就只是有廣告跟沒廣告





BowQuest: PandaMania!


這款也是在免費的時候下載的!最難的我還沒破,卡再倒數第二關,其他的都破關啦





Sigma


很簡單的方塊對消遊戲,當初也是免費時下載的





Stone Wars

偶爾會免費的,也算是益智類的偏靜態射擊遊戲





Super Laser: The Alien Fighter

免費的時候下載的,動態射擊類遊戲,滿好玩的





QS Chinese Chess

這款介面跟配樂我覺得很好,並且有支援 iPad 的,主要有兩個功能,一個是與電腦對奕,另一個則是玩家對奕。前者的部分,電腦 AI 算不太好,因此對一些高手來說一定會覺得不開心,但對不太懂象棋的人來說,或是初學者,我覺得沒什麼不好的;後者就是可以兩個玩家輪流下象棋,我覺得也算是一個很不錯的平台了





Dinosaur Slayer

這款也是防衛型的遊戲,就是可以透過賺錢以及花錢提供工具的方式,不斷地闖關,主要是使用弓箭把龍打下來。目前玩到 199 關,說真的不知道要玩到何時才算破關





Rebirth of Fortune

這遊戲像以前的炎龍騎士團老遊戲,也是一關關地闖以及棋盤方式的進行,這個有 100 關,到後面都用法師破關啦





Angry Birds Lite

這款已經變成 iPhone 上頭最經典的遊戲了!很簡單又富有變化的射擊類遊戲,但不是那種即時性要發射的,而是讓你慢慢橋好方向跟力道再發射的遊戲





Pee Monkey Plant Bloom

跟 Angry Birds 的玩法很像,但我覺得畫面的呈現也挺不錯的





OvenBreak-Infinity

一款簡單操作的遊戲,類似馬力兄弟那種的遊戲,只是更簡單許多,但步調會隨著時間越來越快囉





Geared

很讚的益智遊戲,透過關卡中指定使用的齒輪,把所有的齒輪都連接在一起,即可過關,非常有意思,沒有時間上的限制,還滿適合我這種慵懶玩法





Geared 2!

同上,多一些變化





Bonsai Blast

畫面、配樂都很讚的遊戲,音樂很有中國風!算有一點點益智的味道,將同樣顏色的珠子串再一起消除的遊戲





Revolt

滿流暢的第二人稱的射擊遊戲,在 iphone 上畫面小,還滿刺激的





Solomon's Keep

魔法師遊戲,可以使用雷或火去打骷髏頭,也算是一種射擊遊戲吧





Fishing Kings

很不錯的釣魚遊戲,原本也覺得沒什麼,但細玩一下才發現還不錯,唯一的缺點大概是不適合躺著玩,以及任務一直解不完會開始有點膩,除此之外,覺得設計上還不錯






Baseball Superstars® 2011.

還不錯的棒球遊戲,內容很豐富,可以當投手也可以當打擊手,但很傷眼睛,所以也開始不玩

















Facebook

這應該不用多說吧!有時在家很懶得開電腦時,有 wifi 時就會拿來用





iBBS

若是在台灣念過大學的,應該對 BBS 不會太過生疏,甚至一堆班版或討論的都是在 BBS 上進行的!這軟體前陣子免費,所以也下載到囉!他還有 iPad 版本,理論上應該用 iPad 版比較好。之前有次有 3G 網路,就剛好試用了一下,偶爾當作查資料還 ok 啦。但感覺上還不太適合像手機這類 Mobile 端的使用





Miu Term

另一款逛 BBS 的程式,在老婆生日的那天限時免費,支援 3.x





Miu Ptt

作者很有心,直接弄出一個專門瀏覽 PTT 的軟體,將資料轉成 HTML 重新排版一下,還算可以用





TaiwanYo 台灣遊

這款也算是在 3G 網路下才會感到方便的東西!上次去台北不知要去哪邊吃吃喝喝,就隨手用他一下,可以得知附近的餐飲店囉!





ReaddleDocs

最近免費!所以下載啦~可以在 iPhone 上看文件,不錯!對於我這個沒 3G 網路的人來說,可以把資料先丟到 Google Docs 中,再有 wifi 環境中,接著下載到手持裝置,一整個方便!





Awesome Note Lite (+Todo)

這是免費的版本,有限定只能用七個文件。在還沒下載 ReaddleDocs 時,出遊或開會時,我也一樣把地點資訊擺在 Google Docs 再 sync 用。這套我覺得 UI 還滿不錯的





Stanza

這款是電子書閱讀器。雖然有 iBooks 這套,但我十分強烈要安裝這套,理由是...透過它可以去抓大陸的書 XD
大陸的掌上書苑超多書可以下載,但需要註冊一下帳號才能下載。說真的我搞不懂版權到底怎麼了 :P
下載方式:[獲取書籍]->[分享]->[編輯]->[添加書籍來源]-> 輸入 www.cnepub.com
。這是一位超愛看書的同事告訴我的。上頭還有漫畫可以下載,但我沒有一次成功下載過





超級收音機-免費版(臺灣)

難得免費的廣播軟體,偶爾透過 wifi 再加上接著電源線會用一下。有些軟體標榜省電,但只要是長時間使用 wifi 的軟體,一律只有兩個--耗電!不,是三個字,超耗電!





Radio Taiwan

免費又有很多電台,還可以把節目錄起來喔





OXradio-Full

免費又可以聽到各國電台的廣播軟體





IdeoCal 農曆萬年曆

農民曆對台灣人來說,也算常用到的軟體





万年历黄历(免费)Chinese calendar

這也是一款農民曆軟體,特色是描述更多的資訊。這款裡頭可以切換語言為繁體。說真的,對岸開發超多款農民曆軟體,關鍵字是"萬年曆"





TW Weather - 台灣天氣

這款非常夠用!並且也算是個 open source 哩!記得大學時我也研究過類似的服務,當時是去抓 Weather.com 的資訊,純研究性質的啦。使用 Weather.com 理由是有些地方可是 30 分鐘就更新資訊的唷!當時覺得為啥台灣本身的天氣資訊不能即時呈現,有點點感到失望





hiPage 搜go!

還記得以前中華電信的那本黃色本子嗎?就是傳統的黃頁電話簿的應用啦~這個也算挺威的,只是他的狀態就像黃頁一樣,須要靠人眼去刪選囉。印象中碩班老闆曾說過,當他想要黑板時,一時之間想不到去哪買,就是連去中華電信的黃頁網站去找囉!





Converter Touch ~ Drag-and-Drop Unit Converter

>支援的單位換算還算不錯用





趣遊台北地圖

在 App Store 上有眾多付費軟體,據凡搭公車、火車、高鐵、找停車位甚至搭飛機等等的,這款都算是有 50% 的服務吧!雖然還不如那些付費軟體,但我覺得已經不錯啦!除此之外還有天氣、即時路況等等。據說這款是某非營利的團體幫政府做的,唯一感到有點小糟的就 LBS 服務,預設位置是捷運西門站,查詢一個地方竟然蹦出超過 50 個密密麻麻的點,有點搞笑 XD 狀態跟不能用差不多了





MetroNav Taipei

還不錯的捷運軟體





Taipei Transit

這款也是台北捷運,印象中是有支援離線版的,也就是使用上不須網路,但別忘了留意資料的新鮮度囉!我查了一下有類似並標上 Lite 的字樣,不曉得這款是不是以前要付費,現在改成免費的樣子;





Tacts: Smart Contact Manager, Group Text & Email and Favorites

好像是台灣人做的通訊錄管理軟體,不錯喔





Create Ringtones!

用來製作鈴聲的軟體





ShuBook 書僕

好用的電子書閱讀器!可以簡繁互轉喔,也可以透過 OPDS 、好讀網等下載書籍,該用的閱讀功能都齊了





aNobii

香港的書籍討論網,算不小的。可以透過相機去掃描書碼,再加入到個人的書櫃中





Viber - Free Phone Calls

類似 Skype 的軟體,只要雙方都安裝 Viber 的話,就可以講網路電話,使用手機號碼當作帳號,也算是有簡易的通訊錄軟體





Skype

把 iPod Touch 裝一下,接著就可拿來當網路手機用,有挺方便的,算是常在 PC 上用 Skype 的人,可以轉到手機用啦





Dropbox

&可以用來查看擺放的文件,如 PDF 等,還不錯





愛評餓點零

&可以用來找美食的,但還不少人說上頭的資料不新





轉乘通

很方便的程式,可以查詢客運、捷運、火車、高鐵等大眾交通資訊





WaWaBank 卡方便

可以查詢附近有哪些信用卡福利























Flipboard

這款也是在國外很夯的雜誌類型的軟體,必須 iPad 才能安裝使用。這也稱得上社群雜誌,透過登入自己的 Facebook 或 Twitter 帳號,他會幫你把所有好友分享的文章統整成為雜誌的面貌,基本上我覺得上頭提供的 Tech 相關的雜誌已經很夠用了,只要兩三天翻個一次,就可以掌握住目前最夯的時勢囉






Instagram

這款在國外也非常夯,用照片記錄生活以及上傳分享,無聊時可以打開這款軟體,看看有哪些驚奇的漂亮照片





Photo Mess

可以將多張照片隨意疊起來製成另一張照片,可以用在一些活動尾聲的回顧介紹或是製作一些回憶類照片,還滿簡單好用的





Iris Photo Suite

當初免費時下載的,有超多功能的圖片修改軟體,但一時之間我還覺得功能太多,多到讓我不知該怎樣上手,哪天在來好好研究一下







SeeSee

第一次看到這個介面覺得還不錯,但看 review 後,感覺這種設計好像是原先 Windows Mobile 上面的





Retro Camera Plus

很多相機效果





Camera 4 Line Art

把照片弄成素描那種樣子









typogr.am

拍照後加文字的處理





Instant Sketch

簡易照片素描特效







Camera FX!

以九宮格即時呈現照片特效結果





Private Photo - Also Support Video

照片、影片目錄管理,有 30 萬人次下載





BasicCamera

陽春的照片處理





Photosynth

微軟做的,提供把多張照片組合成一張





qbro

處理照片特效,有 60 萬人次下載






Snapbucket

特效處理





Photo&Memo

照片筆記





myCamera Overlays+

照片特效





Super 8™

影片拍攝軟體





Relievos

將 2D 照片弄成 3D 效果





Camera Fun Pro

照片特效





Piccies

可顯示照片資訊的瀏覽軟體





美图秀秀

有不錯的照片處理,如多張合一等



馬雲演講

記得是碩一上時,熱情的同學常邀請我去他寢室聽聽不錯的商業演講或影片,但之後我反而比較常專注在程式或是實作一些小品,很久沒聽聽或看看了。


馬雲是阿里巴巴的創辦人,在 Youtube 上看了幾則他的演講。從他的言論上,讓我有很深的體會,剛好可以驗證目前待過了兩間公司,一間是研究所這間公司,一間是財團法人非營利為主的公司。兩間很微妙的角色,恰恰好呼應很多談話內容,想起來這樣的機會還真不容易。


在碩班時,的的確確享受到「競爭是最大的快樂」,所謂的競爭不是多偉大多美好的議題,而是很簡單得問題,用最細密的思緒來處理,我喜歡這種簡單的小生活,而不是因為競爭把彼此的情緒搞得很難看;在財團法人的公司時,反而常常為了避免競爭,需要搞一個沒人想過的題目,除了搶有錢的計畫吧!這是兩者最大的不同,前者是想把事情做得更好,後者則是為了當個贏家,只想挑別人沒做過的事來搞。很不一樣的生活環境吧!


馬雲的演講很生活化,但我很喜歡這樣的論點,用平凡的人做非凡的事!我喜歡這種說法。我看的書很少,但也因此會很深刻,記得國中看過的一本書,諸葛亮的人生哲學,裡頭正是談論到用人的問題,人都有缺點,用其長避其短,但真正能做到的微乎其微。每次看到應徵的相關議題,要嘛看不上別人的學歷,要嘛就是要考倒對方才甘願,而每位老闆都想要最強的人,卻沒想過最強的人是不是合於公司的環境,但我知道目前公司壓住強者的方式,第一是無限的上班時間,第二是薪資,讓你忙到沒時間抱怨,又讓你領錢領到遺忘自己。相較之下,平凡人是美好的。


有空看看馬雲2008年來台灣的演講吧~


完整版



































比較好的畫質:到 Youtube 上 avp48 頻道裡搜尋"馬雲"。


其他演講:























一些語錄:



  • 競爭是最大的快樂

    • 要在競爭的環境上享受快樂



  • 投資者是舅舅,孩子的父親是你

    • 給錢的是舅舅,但真正要執行的卻是你自己,用來說明創投跟公司執行者的關係



  • 大象是搞不死螞蟻的

    • 大公司與小公司的差別,總會有生路的




2010年11月10日 星期三

安裝 Hadoop 0.20.2 Multi-Node Cluster @ 異質環境

關於安裝的細部流程,請參考



大概瀏覽一下這兩篇,應該可以稍稍了解架設 Hadoop 的過程。


在這邊要玩的是將 Hadoop 架設在異質環境中,手邊有以下的機器:



  • 64-Bit, FreeBSD 8 x 2

  • 32-Bit, FreeBSD 7 x 1

  • 64-Bit, Linux x 2


共五台機器,並使用 Hadoop-0.20.2 ,理由純粹是擔心 0.21.0 設定檔有更新,自己還沒追到 :P


以上台機器有一個共同點:



  • 使用 NFS 掛載使用者家目錄


加上 Hadoop 是跑在 User Mode 的環境,因此我不需要太多的管理權限(軟體不存在?那就用 tarball 安裝),只需留意使用的 port number 是否已被使用,最多則是 /tmp 目錄是否可以使用吧!


緊接著,我開始嘗試在 FreeBSD 環境上安裝!第一個碰到的問題是 jdk 的部份!幸運地發現有人在維護 jdk ,而機器上面也有安裝 jdk,但為了求 Hadoop 的設定檔可以一致性,我下載了適用於 FreeBSD jdk,可以在這邊下載:



另外 Linux 部份則是直接到 Sun 下載:



如此一來,我在我的家目錄建立一個 hadoop 目錄並擺上上述的目錄結構,並把一些 jdk 目錄多了 32bit 和 64bit 的字樣


# ls -l ~/hadoop
diablo-jdk1.6.0_07_32bit/
diablo-jdk1.6.0_07_64bit/
hadoop-0.20.2/
jdk1.6.0_22_32bit/
jdk1.6.0_22_64bit/


接著才是進入環境的設定:



  1. 建立 SSH 登入免帳號

    • # ssh-keygen -t rsa -P ''
      # cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys 

    • 由於上述幾台機器都透過 NFS 彼此相連,因此只需在一台機器上操作,其餘的就沒問題,可以用 ssh 登入 locahost 和各台機器試試,應該不用輸入密碼即可登入。請務必先用 ssh 登入各台機器,讓機器記錄相關初始化的資訊。



  2. 設定各台 /ets/hosts 資訊

    • 通常有提供 NFS 服務的機器都算已經有加好了,例如:
      192.168.56.168  bsd1
      192.168.56.169  bsd2
      192.168.56.170  bsd3
      192.168.56.171  linux1
      192.168.56.172  linux2

    • 如果要加的話,就變成要有管理者權限,不加應該可以純用 IP 試試。請記得描述不要用到 '_' 唷,如 bsd_32bit,已經有兩人跟我分享過這樣會連不到機器



  3. 設定 Hadoop 相關檔案

    • 由於我將 hadoop 安裝在 ~/hadoop/hadoop-0.20.2 裡頭,因此我的設定檔是在 ~/hadoop/hadoop-0.20.2/conf 中

    • 設定 conf/hadoop-env.sh


      • 由於是異質環境,因此我要多判斷環境來挑選 jdk 使用。加在第 10 列左右

        • FLAG_AMD64=`uname -a | grep -i -c 'amd64'`
          FLAG_X86_64=`uname -a | grep -i -c 'x86_64'`
          FLAG_FREEBSD=`uname -a | grep -i -c 'FreeBSD'`
          FLAG_LINUX=`uname -a | grep -i -c 'Linux'`

          if [ $FLAG_AMD64 = 1 ] || [ $FLAG_X86_64 = 1 ]; then
              if [ $FLAG_FREEBSD = 1 ]; then
                  export JAVA_HOME=/home/user/hadoop/diablo-jdk1.6.0_07_64bit                
              elif [ $FLAG_LINUX = 1 ]; then
                  export JAVA_HOME=/home/user/hadoop/jdk1.6.0_22_64bit                
              fi
          else
              if [ $FLAG_FREEBSD = 1 ]; then
                  export JAVA_HOME=/home/user/hadoop/diablo-jdk1.6.0_07_32bit                
              elif [ $FLAG_LINUX = 1 ]; then
                  export JAVA_HOME=/home/user/hadoop/jdk1.6.0_22_32bit                
              fi
          fi



      • 設定停用 IPv6,過去經驗因為沒有加這個設定而導致機器彼此連不到,可以依自己的環境多測試,或許已經可以不用加了。加在第 50 列左右


        • HADOOP_OPTS=-Djava.net.preferIPv4Stack=true





    • 設定 conf/core-site.xm

      • 設定 NameNode 擺在哪一台機器,挑強一點的吧!在此挑 bsd1 和使用 9000 port,請自行確認 9000 可否使用

      • <?xml version="1.0"?>
        <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
        <!-- Put site-specific property overrides in this file. -->
        <configuration>      
                <property>   
                        <name>fs.default.name</name>
                        <value>hdfs://bsd1:9000</value>
                        <description>The name of the default file system. A URI whose
                        scheme and authority determine the FileSystem implementation. The
                        uri's scheme determines the config property (fs.SCHEME.impl) naming
                        the FileSystem implementation class.  The uri's authority is used to
                        determine the host, port, etc. for a filesystem.</description>
                </property>  
        </configuration>



    • 設定 conf/mapred-site.xml

      • 設定 job tracker,在此挑 bsd1 和 9001 port,請自行確認 9001 可否使用

      • <?xml version="1.0"?>
        <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
        <!-- Put site-specific property overrides in this file. -->
        <configuration>
                <property>
                        <name>mapred.job.tracker</name>
                        <value>bsd1:9001</value>
                        <description>The host and port that the MapReduce job tracker runs
                        at.  If "local", then jobs are run in-process as a single map
                        and reduce task.
                        </description>
                </property>
        </configuration>



    • 設定 conf/masters

      • 這是 secondary namenode,預設是 locahost,可以改成指定成另一台機器,例如 bsd2 等,由於我目前不想要 secondary namenode,因此把這個檔案清空



    • 設定 conf/slaves

      • 設定 datanode 的機器,以原先的架構,就 bsd1 當 namenode,其他當 datanode,因此可以依序填入 bsd2, bsd3, linux 等機器,但由於我想要讓 bsd1 也加入運算的環境,因此最後我的設定是有四台機器,建議先一台台機器加上去,例如一開始只加 bsd2 這台機器

      • bsd1
        bsd2
        bsd3
        linux1
        linux2





  4. 啟動與測試

    • 對 NameNode 進行資料的格式化,目前以 bsd1 當作 NameNode,在 bsd1 執行以下指令


      • # ~/hadoop/hadoop-0.20.2/bin/hadoop namenode -format



    • 經同事提醒,只要在某一台機器上執行 ~/hadoop/hadoop-0.20.2/bin/start-all.sh,該台機器就會是 NameNode,因此我就選擇在 bsd1 上執行( 嘗試在 bsd2 執行結果有問題?細節還沒去追)

    • 執行完後,可以使用 jps 指令查看狀態

      • 依照目前的設定,bsd1 會是 NameNode、DataNode、TaskTracker和JobTracker,其他機器則是會有 DataNode 和 TaskTracker 的資訊

      • 請依照各機器 jdk 位置執行

        • bsd1, FreeBSD 8 64-bit

          • # ~/hadoop/diablo-jdk1.6.0_07_64bit/bin/jps





        • bsd3, FreeBsd 7 32-bit


          • # ~/hadoop/diablo-jdk1.6.0_07_32bit/bin/jps





        • linux 64-bit

          • $ ~/hadoop/jdk1.6.0_22_64bit/bin/jps







    • 另一種查看方式

      • # ~/hadoop/hadoop-0.20.2/bin/hadoop dfsadmin -report

      • 將會成列出目前的 DataNode 狀態,以上述的設定將會有 5 個 DataNode (conf/slaves中所呈列的)



    • 如果執行上有問題,例如某台機器沒跑起來,可以試著用 stop-all.sh 和 start-all.sh 來重跑看看,機器並不是每次跑都成功的 XD

    • 測試 wordcount

      • # ~/hadoop/hadoop-0.20.2/bin/hadoop fs -mkdir input
        # ~/hadoop/hadoop-0.20.2/bin/hadoop fs -put ~/hadoop/hadoop-0.20.2/README.txt input/
        # ~/hadoop/hadoop-0.20.2/bin/hadoop jar hadoop-0.20.2-examples.jar wordcount input output

      • 印出結果
        # ~/hadoop/hadoop-0.20.2/bin/hadoop fs -ls output/
        # ~/hadoop/hadoop-0.20.2/bin/hadoop fs -cat output/part-r-00000






經過上述的設定,輕鬆地整合異質環境!其中 FreeBSD 跑 Java 的部份,可能因為各台機器已經有作過 Java 相關環境的設定,因此並沒碰到啥大問題!除此之外,由於 Hadoop 算是只要 user mode 的權限就可以執行,再加上許多學校的機器都是使用 NFS 掛載家目錄進來的,看來,這樣惡搞下去,學校的 SA 要 QQ 了(附帶一提,光 ~/hadoop 目錄就已經 927MB 了!此方式僅適用於沒有設 quota 的機器啊啊)。至於加減機器的方式,多虧 NFS 的關係,只須修改 conf/slaves 的資料,多一台就加一筆,少一台就減一筆,然後在從 NameNode 透過 start-all.sh 和  stop-all.sh 就可以啟動囉!以前都在 VirtaulBox 上架機器,第一次覺得加減機器的設定是如此的方便有爽感,這大概算是自己架過最多台實體機器的一次吧!