發表文章

目前顯示的是 2011的文章

XCode 4 的 trick

按下 Alt + Shit 再點選某一個檔案,就可以選擇要開到哪一個視窗 此時就可以增加 Tab Bar了。然後再設定一下 Select Next Tab, Select Previous Tab的快速鍵,恩,生產力爆增 Alt + 點選某段 code 可以顯示輔助視窗 學一下 code snippet 怎麼用?雖然我覺得他預設的比Visual Studio的少

速球王竟然得獎了

昨天閒來無事拿起 HTC HD7,看到免費的遊戲,速球王,就裝了。 美工作的不錯,配音也不錯,但實用性不高。 因為HD7的硬體按鈕配置,讓我根本不知道要怎麼拿好手機來丟球。一丟就進照相模式或是搜尋模式XD 話說我半年前也想要開發這類型的AP說,想先從簡單的拳擊手,再到羽球揮拍的判斷,那時候想說要有揮拳的重量,所以先寫了一下簡單的程式來測試加速器的最大值是多少。 很讓我失望的是,記得最大只能量到2.5 還是 3.5 左右,還特地用了四隻手機。Nexus One, Galaxy i9000, Nexus S, iPhone。2.5 大概只要用力一點點就到了。 猜想是 Accelerometer Sensor 的限制,所以後來我就放棄這個計畫了Orz 除非 HD7 的加速度感測器有比較好,不然我覺得速球王應該也分不出 120 km/s 跟 90 km/s 的投法才對。

有人需要你,你就是幸福的。

有人需要你,你就是幸福的。 我說:有人需要你,你就是幸福的 … 聖嚴法師說:需要不是想要。 最近簡小宇晚上常會叫我陪他玩,陪他睡覺,雖然我還有事情要做,但我還是會去陪他,這是一種幸福的感覺。 讓我想到之前看過的文章 http://www.ruanyifeng.com/blog/2011/10/what_I_have_lived_for.html 活著的三個理由 羅素自傳的序言有提到,我為何而活 第一:追求愛情 第二:追求知識 第三:同情心 這三個我都同意,可是我覺得他少了被需要的感覺。就我自己本身,第一點的追求愛情已經過了,目前是穩定的狀態,但小孩長大的很快,一下子不注意,幸福的時光就匆匆溜過了。對於羅素沒有列出撫養小孩這一項我有點疑問,所以懷疑他是不是沒有結婚或是自傳是結婚前寫的 XD 。 但根據這裡 http://zh.wikipedia.org/wiki/%E4%BC%AF%E7%89%B9%E5%85%B0%C2%B7%E7%BD%97%E7%B4%A0 恩,他是有結婚且有小孩的,怪~ 在讀 " 最後十四堂星期二的課 " 是結婚前三個月,還無法體會作者墨瑞於 第五個星期二談到的 " 家庭 " 「沒有別的經驗比得上生兒育女。」就這麼簡單,這件事沒有別的可以取代,朋友不行,愛人也不行。如果你要對另一個人負起完全的責任,學著如何去給予最深的愛與關懷,那你就應該生小孩。 所以於結婚前 25 天發現懷孕時,我就堅決要把小孩生下來,負起責任 簡小宇五歲了,很乖,很懂事。很乖不是我自己在講的,樓下鄰居上來發現我們有小孩也很驚訝,他說都不會亂吵,他們很感謝 Orz 一百個父母有一百種教法,雖然我也常常打他,或是教他教到生氣。 但有一段對話可以參考,侯文詠與聖嚴法師的對話。 侯文詠:我兩個兒子一個十五歲、一個十七歲,今年正好要考基測和學測。剛開始做爸爸,會想要「做之父,做之師」;等孩子慢慢長大,發現這期望太高,於是退一步想「做他的朋友」。直到有次去打禪,聖嚴法師問我:「做爸爸感覺如何?」我說:「只希望能做孩子的朋友就行了。」沒想到師父突然很正經的說:「侯醫師啊,期望孩子做你的朋友,和他將來有很多錢報答你,或他變得很有才華 …… 這都沒什麼兩樣。」當下,我嚇一跳,本以為這算夠卑微了。那時師父淡淡的說:「此時此刻,你就只要好好的

賽德克.巴萊 字面解釋

賽德克 . 巴萊 字面解釋 我只有看過下集,但還是去查了一下意思, " 賽德克 " 指的是他們的語言中代表 " 人 " 的意思,而 " 巴萊 " 則是賽德克語中的 " 真正 " 的意思。 某天去日月潭玩,參觀了邵族,看到了介紹,原來 " 邵 " 也是在他們的語言中代表人的意思,可以猜想的是九族中的命名都是以各族語言中的 " 人 " 發音來命名的。 所以我們也可以稱呼 美國人為 批波族 丹麥人為 佛克族 但最近又看到一堆巴萊, 夢想巴萊 、導演巴萊 、電影巴萊、漫畫巴萊 有點反感,為什麼要把兩種語言轉成文字拼在一起呢? 讓我想到國中看電視聽到的一句話,挖汙一個愛迪噁 ( 有人看得懂嗎? ) 我有 ( 台語 ) 一個 idea

HTTP Streaming 相關技術 pseudo, live

HTTP Streaming Video 相關技術 最近想研究一下 HTTP Streaming ,隨著網路架構越來越完整,這應該是個趨勢。剛看的時候有一堆名詞,下面紀錄一下我的理解。 l    HTTP Streaming (Progressive Streaming) n    一般如果寫 HTTP Streaming 的話,指的就是 Progressive Streaming 。這種架構,用單純的 Web Server 就可以了,其實他就是像一般 Web Server 傳照片、檔案一樣。 Client 就一直收,只是某些格式的影片,是可以收到就可以立刻播出來的,例如微軟的 asf, wmv? 。 n    優點就是相對於之前的 RTP Streaming 的技術,目前的高畫質影片可能家庭的網路還不夠快,如果用 UDP 的話,可能畫面會破碎嚴重,用 TCP 的話,就可以看的漂亮,當然要等比較久一點 n    缺點 u   使用者無法 seek ,因為檔案是從頭開始傳到尾的,你沒辦法叫他中間跳過不傳。雖然 HTTP Protocol 支援 Partial download ,但因為 client 無法知道某個秒數對應到的開始位元是多少,所以無法使用 partial download 的方法。 u   無法適用於 Live broadcasting ,現場直播 l    HTTP pseudo Streaming n    這是 FLV 使用的方式,基本上我還是把這個規類到跟 Progressive Streaming 一樣,但他多了可以 Seek 的功能,怎麼做到的呢?需要先用轉檔程式把影片編成 flv ,此時 flv 裡面的 metadata 會帶有索引資訊,索引的格式就是 1 sec -> 1234 KB, 2 sec -> 5422 KB …… 。類似這樣,秒數的地方應該是 Key Frame 的位置。所以當使用者要快轉的時候, player 會找到最近的索引秒數,然後轉換為 byte 數,接下來就送出 xxx.flv?5422 。這樣就會 seek 到兩秒的地方。如果是 mp4 的話參數則是直接帶秒數, ex: mp4?1s 。我看到的是 YouTube 使用的就是這種方式。索引的資訊可以用一個工具 metaviewer 看到,如果編

Jetbrains 的 AppCode 試用 (開發iOS)

大概兩個月前,看到Jetbrains要出AppCode,讓我眼睛一亮,因為個人使用他的Visual Studio外掛 Resharper已經很久了,一開始以為是XCode的外掛,一定要試一下的,沒想到他是想要做類似XCode的開發環境。 不知道正確的理由是甚麼,但我覺得要打敗XCode應該太難了,XCode已經發展那麼久了,可能是XCode一直無法撰寫外掛,所以JetBrains只好自己開發一套,兩個月前還是beta版,就沒玩下去了,今天看已經是正式版要賣錢了,就裝來玩玩,結論是不會買。 一如Windows下的風格,安裝簡單,畫面簡潔,會有很多小提示,但開了一個Project之後,發現他缺少太多功能了,.xib檔案會呼叫XCode來開啟編輯,所以除了一開始預設的.storyboard,也無法新增任何UI的東西XD。如果要的話,可能要自己複製過來。然後沒有Settings.bundle編輯器,Info.Plist編輯器,你看到的都只是一堆XML,這樣根本無法修改。CoreData也沒有。所以看起來不適合拿來發展一個新的專案。一套個人用要賣$69美金,ㄎㄎ。 但網站上面有免費的課堂使用版,Open Source使用版,填一下資訊就可以免費授權AppCode讓你用。 至於我會怎麼用呢?很幸運的,他是可以開啟XCode的Project檔的,所以可以拿來trace用,說實在的,他的純程式碼處理功能實在厲害,也有一些程式碼美化的功能(說到美化,我就覺得XCode爛死了,在XCode3的時候還可以用UniversalIndentGUI來做,升到XCode4之後就沒有custom script可以使用了),然後他的File Tab也是像Visual Studio那樣在上面開一排,用Ctrl+Tab很容易可以切換。 恩,我覺得可以往 Source Insight發展Orz。

奇怪的 Android SharedPreferences??

我一開始的寫法 SharedPreferences sp=this.getSharedPreferences("Info", MODE_PRIVATE); sp.edit().putString("Id", "GGYY"); sp.edit().commit(); String x= sp.getString("Id","YYGG"); 上面的寫法會導致一直無法寫入設定,所以x都是YYGG的預設值 一定要寫成 Editor e = sp.editor(); e.putString("Id", "GGYY"); e.commit(); String x= sp.getString("Id","YYGG"); 這樣 x 就會變成之前儲存的 GGYY,怎麼會這樣呢??

C#, Java, Objective-C (iOS 5以前) 三種語言的 Property與Field 介紹

C#, Java, Objective-C (iOS 5 以前 ) 的 Property 與 Field 介紹 很久以前就想寫這篇文章了,在我得知我都亂用 Objective-C 的 Property 之後 Orz 下面是我的心得,不一定正確 在物件導向的世界有兩個 Term , field 跟 property 。定義不知道是不是 field 只能給自己人使用,而 property 則是此物件要讓外部的 Class 存取的屬性。原本 property 的用意就是封裝,不讓外部的元件亂設定自己的屬性,或是你要設定之前,我再幫你檢查一次, ex: Id (身分證)  這個欄位,你可能就只能設定某些值~ 首先是 C# private string _Msg;    // 這是 field public string Msg        // 這是 property {      get                          //getter     {          return _Msg;      }      set                          //setter      {            _Msg = value;      } } 上面可以看到 property 的寫法很累綴,所以 C# 又有另一種寫法 public string Msg {   get; set;   } 這樣子你也不用另外定義一個 field 了。由 Compiler 自動幫你產生。而外部使用的時候則是 classA.Msg = "Hello"; return classA.Msg; 這裡我很推薦的就是 C# 是使用 "=" 來呼叫 setter 的,這樣直覺多了。 也因為這個原因,我有時候會不使用 property ,而直接使用 field 。 public string Msg; 自己的想法是,外部元件使用ClassA時是一樣的寫法 (IntelliSense 會看到不一樣 ) ,然後我也不需要 filter ,所以不必為了 property 而 property 。 不知道這樣設計會有甚麼問題? 接下來是 Java public class ClassA{         st

Coding Faster: Getting More Productive with MicrosoftR Visual Studio (閱讀筆記)

第一次用 iPad 上的 GoodReader看完一本電子書,GoodReader真是不錯用,可以註解,然後也可以裁切出要看的範圍,就不用每次都在拖那些空白了。進入正題,這本書主要是教一些Visual Studio的快速鍵為主,有些我已經知道的就不列出來了。下面只有列我之前沒在用的或是我覺得一定會用的~有時間的人可以自己去看看這本書,很快的,因為作者都截圖跟表格了。比較奇怪的是這本書的附錄之後還有很大的篇幅~ 先介紹一個比較實用的東西,常常我在程式裡面會有 LoadSetting() 跟 SaveSetting() 這兩個函式 內容的東西大部分都剛好是相反的 ex: LoadSetting:     tbMyName.Text = Settings.Default.MyName; 那在 SaveSetting:     Settings.Default.MyName = tbMyName.Text; 以前常常都是手動去複製貼上 其實VS的取代視窗可以用 Regular Expression 的方式 搜尋 {[^=]+}={[^;]+}; 取代為  \2 = \1; 1. http://studiostyles.info 可以下載Theme。 2. devenv /ResetSettings [settings file]用途是在同一台電腦,上班的環境有兩台螢幕,回家只有一台螢幕,你就可以做兩個不同的捷徑,這樣就可以有不同的Window Layout。 3. Navigating Property Tabs in the Project Properties: Ctrl+PageDown, Ctrl+PageUp在專案的屬性視窗想要切頁籤的時候,我每次都用滑鼠按的,因為NB不好按Ctrl+PageDown 4. You can also see the template in the My Documents\Visual Studio \Templates\ItemTemplates\ folder. 5. 預設的Templates在這裡C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates,因為我的Project都要多一

Android 3D 手機 NTT DOCOMO AQUOS Phone SH-12C 簡評 (自動重開的手機,強烈不推)

經過一陣子的試用之後,發現就是會自動重開機,原因不名,WiFi有開沒開都會,接著USB 線,Debug完之後沒動過一陣子,他也會自動重開,不適合正常使用,開發可能還可以Orz。 最近聽說HTC EVO 3D很難用,想到之前部門買了一支3D手機,於是便借來玩看看。 這支手機是 NTT DOCOMO AQUOS Phone(SH-12C),Sharp出的,查了一下規格感覺還滿厲害的,1.5GHz,1G RAM。 剛拿到手機的時候,一拆封大家都趕著看他的3D功能,於是立刻開啟了Camera切到3D模式,或是把桌面切成3D模式。那時候總會突然發生crash的情況,此起彼落的抱怨聲源源不絕,那時候雖然有懷疑過是不是電量不夠導致直接關機,但同事說某些操作也會reset。那時候以為就是一台趕著出3D的Android Phone而已。 今天拿來測試之後,還沒發生當機的情況,看起來一開始真的是電力不夠的問題,系統預設只有英文、日文,裝個 MoreLocale2 就可以切換成中文了。 下面列舉了幾個我覺得不錯的地方 1. 他的螢幕是可以決定甚麼角度的視角要顯示甚麼,所以左眼的定義可能就是相對於螢幕中間n度這樣,藉由切換左右眼的顯示畫面來達到裸視3D的功能。藉由這樣的硬體功能達到一個叫作VeilView的功能。啟動VeilView之後,旁邊的人看你的手機可能會看到一塊漂亮的格子布,不像防窺片那樣會全部都是暗暗的,我覺得還滿帥的。 2. 備份至SD功能,在他的Notification Window 裡面有一個 MicroSD Settings可以選擇要自動備份哪些東西,雖然現在用Google系統沒甚麼需要備份(聯絡人跟日曆都會同步)了,但他還是多了目前我沒辦法自動備份的東西,SMS, Bookmark, Notepad。WM 6.5 的My Phone也可以雲端備份簡訊說,但倒了~ 3. Launcher也不錯,Notification Window顯示的資訊滿多的,一般長按桌面圖示,左下角會出現垃圾桶,拖過去就是從桌面移除,右下角則多了一個我沒看過的Info,只要拖到Info,就可以知道這個widget是哪一支程式提供的。像我之前就常常不知道某個widget是哪支程式Orz。 剛裝好的時候桌面上會有一些捷徑,點了之後會跳到Market要求你安裝,像是太鼓達