blog.chhsu.org
邁向偉大航道的旅程:啟航: 用 vim 有效閱讀 Android framework 程式碼
http://blog.chhsu.org/2010/06/vim-android-framework.html
真正的偉大是單純;真正的智慧是坦率;真正的力量是溫和。 用 vim 有效閱讀 Android framework 程式碼. Android 發展至今,程式碼的部份不斷的膨脹,越來越大。要整個通透需要花點時間,而這篇文章主要是談論如何利用 vim 來快速閱讀 Android 程式碼,這邊的程式碼包含底層 C , C and Java framework 的部份,當然如果你是寫 Application 的人,也許用 Eclipse 會快一點,不過如果你想了解 Android framework 的實作也可以透過下面的方式去瀏覽。 請自我確認一下,如果你有下面幾個症狀,請務必看完這篇文章,應該對你很有幫助。 如果你還在用 grep 找 key word. 如果你還在開多個 tab 然後下指令,去開某個含有特定 key word 的源碼. 如果你很勤勞的想每個檔案都打開看完,並了解所有 class or object 特性. Android 下有幾個超大單一檔案程式碼,行數 超過 8xxx 到 1xxxx 行. 有些部分還透過 python 去產生 dummy code. 上面三個組合鍵,都會在 ...
blog.chhsu.org
邁向偉大航道的旅程:啟航: 五月 2014
http://blog.chhsu.org/2014_05_01_archive.html
真正的偉大是單純;真正的智慧是坦率;真正的力量是溫和。 漸漸感受到世代交替的重要性,公司(政府)能不能轉型,往往在於是否改革方能用新的方式 ,作法或技術來處理同樣的問題。 如果還是想拿舊的方式,態度面對新的產業,有時直接會被產業淘汰掉,淘汰的速度比較像是溫水煮青蛙,慢慢的但你發現時已經無力回天。 工程技術人員也一樣,如果只是在公司把事情完成,沒有嘗試與其他技術人員交流,尤其是新創公司的開發者,他們往往會用新的技術與工具來加速開發,等到你想換另一份工作時,就會發現怎麼產業完全不同,自己會的東西已經沒有需求! 看到50多歲還能在矽谷打拼的工程師,真的是不簡單!希望自己到那年紀還能有這樣的熱誠,但口袋可以麥可麥克! Is great source version tool for owner of company, because it's centralize control and can track each client behavior. But I don't like it anymore. Please clone the git and switch to tag v1.9.2. Git -...
blog.chhsu.org
邁向偉大航道的旅程:啟航: git 與 git-svn 簡單教學
http://blog.chhsu.org/2010/05/git-git-svn.html
真正的偉大是單純;真正的智慧是坦率;真正的力量是溫和。 Git 與 git-svn 簡單教學. Git 是個很棒的版本控制工具,不需要建置 Server 就可以達到版本控制的目的, 其他的好處. 雖然它是發展出來控制程式碼的版本,但是對於一般文件的也是可以達到版本控制的目的,另外一種說法就是可以幫你備份。簡單來說,如果你正在寫論文,請好好學習一下 git 的用法,它對你備份論文與實驗是很有幫助的。 下面說明如何透過 git-svn 與 svn server 溝通並取得 source code. Sudo apt-get install git-core git-svn. 取得 svn source code. Git svn clone http:/ url/svn/trunk/ test. 想 用 svn format來看,沒問題. Git svn log # git svn log -v. 開個自己工作用的 local branch,並追蹤 remotes/origin/git-svn 的變化. Git checkout -b test-trunk - track git-svn. Git svn ...
blog.chhsu.org
邁向偉大航道的旅程:啟航: Git and git-p4
http://blog.chhsu.org/2014/05/git-and-git-p4.html
真正的偉大是單純;真正的智慧是坦率;真正的力量是溫和。 Is great source version tool for owner of company, because it's centralize control and can track each client behavior. But I don't like it anymore. So I used Git to manage my local repo that is sync from perforce server. Use git to track my local commits and use p4/p4v to submit changes to Perforce server. But the work flow will complex and waste time(file always locks to read only with p4). Is wrote by python and it integrates to git source tree. Help for command specific help.
blog.chhsu.org
邁向偉大航道的旅程:啟航: 十二月 2014
http://blog.chhsu.org/2014_12_01_archive.html
真正的偉大是單純;真正的智慧是坦率;真正的力量是溫和。 這幾天花了點時間,想說應該花點時間更新自己的blog,另外也該分出一些時間寫些技術性的文章。 由於工作上會用到很多Markdown的格式,所以想說找個可以發布的軟體,讓我寫blog可以比較輕鬆些。 支援 blogger 或其他 blog. 大概就是上面這樣的內容,看了一下似乎有幾套可以滿足我的需求,所以就先下手嘗試看看。 Desk, NT 890. Byword, NT 300(有折扣). 是不錯的選擇,前提是你不知道所謂的Markdown也沒關係,因為他會有 簡單. 的提示告訴你如何調整格式。如果你是Markdown的使用者,Desk對你來說應該不太夠用,因為目前似乎還未支援:. 如果你是進階的使用者,可以推薦你這款軟體,Table and code block都有支援,其他的進階功能還沒嘗試過,所以也還不知道支援程度。 Publish to blog 需而外付費(NT 150). 不支援圖片拖拉,須自行上傳網站然自行加入圖片(這有點討厭). 訂閱: 文章 (Atom). Linux Device Drivers (3rd).
blog.chhsu.org
邁向偉大航道的旅程:啟航: Service APIs of python-swiftclient
http://blog.chhsu.org/2015/02/service-apis-of-python-swiftclient.html
真正的偉大是單純;真正的智慧是坦率;真正的力量是溫和。 Service APIs of python-swiftclient. Python-swiftclient 是一個 OpenStack swift 的 client tool 簡而言之就是 command line interface(CLI). 之前有想過如何可以直接使用 swiftclient 裡面的 library 直接與 swift APIs 做溝通,省去寫 http client 與 APIs 的攥寫時間,這是一個很單純的問題。就 code 的邏輯是一定沒問題,只是怎麼做比較漂亮,那個地方是插入點,就值得花點時間研究。 65279;作法一: 直接利用 shell.st FUNCTION 來做,把所需參數倒入即可. 缺點:需要處理 swiftclient output 的非同步問題,已經處理完 APIs ,但是回來的 buffer 內容就是少些東西。 優點:很直覺,直接把參數帶在function後面即可。 65292;而且已經完成。而且解釋了為什麼需要做這 Service APIs (就是我所遇到的問題...65292;不免可以發...
blog.chhsu.org
邁向偉大航道的旅程:啟航: 二月 2015
http://blog.chhsu.org/2015_02_01_archive.html
真正的偉大是單純;真正的智慧是坦率;真正的力量是溫和。 Service APIs of python-swiftclient. Python-swiftclient 是一個 OpenStack swift 的 client tool 簡而言之就是 command line interface(CLI). 之前有想過如何可以直接使用 swiftclient 裡面的 library 直接與 swift APIs 做溝通,省去寫 http client 與 APIs 的攥寫時間,這是一個很單純的問題。就 code 的邏輯是一定沒問題,只是怎麼做比較漂亮,那個地方是插入點,就值得花點時間研究。 65279;作法一: 直接利用 shell.st FUNCTION 來做,把所需參數倒入即可. 缺點:需要處理 swiftclient output 的非同步問題,已經處理完 APIs ,但是回來的 buffer 內容就是少些東西。 優點:很直覺,直接把參數帶在function後面即可。 65292;而且已經完成。而且解釋了為什麼需要做這 Service APIs (就是我所遇到的問題...65292;不免可以發...
blog.chhsu.org
邁向偉大航道的旅程:啟航: 四月 2011
http://blog.chhsu.org/2011_04_01_archive.html
真正的偉大是單純;真正的智慧是坦率;真正的力量是溫和。 獨立日誌 - Day 50. 從第一份工作的開始,就期望有一天是可以為自己工作,讓自己做些想做的事情。也許有時候那個夢不那麼明確,但是相信會越來越清楚,越走越會知道你的方向是不是對的,也可以增加自己的歷練。 從 TechChrunch 的這篇文章 Are You A Pirate? 65292;其實就是現在心理的感受。但是我必須承認,我對於經濟上的壓力還是有(太膽小),但是我這一個多月來一直在嘗試著習慣,並且思考應該怎麼繼續在這茫茫大海存活下去。其實少少的金額還是可以生活的,只是看你要怎麼去過。吃什麼不重要,玩什麼不重要,重要的是想創造些什麼出來,至少知道你在這個時間點做了什麼,以後可以拿來說嘴(哈)! 你是海盗吗(续):竞技场上的海盗. 雖然這樣的說法有點誇張,但是創業真的沒有想像中那麼有趣。唯一的有趣點在於你會很快速感受到生活的殘酷與使用者實際的回應,這點在幫人打工的環境下,是沒辦法感受到的。 雖然夢想很微小,但是要大聲的說出來,因為只要說出來,就會實現。 那軟體工程師,其實就是跟設計師做一樣的工作,只是出來的成品不...使用MacOS的朋友應...
blog.chhsu.org
邁向偉大航道的旅程:啟航: 五月 2011
http://blog.chhsu.org/2011_05_01_archive.html
真正的偉大是單純;真正的智慧是坦率;真正的力量是溫和。 今天看到這篇新聞,真的有點生氣。不過生氣的是要提出這樣的報稅模式,請趕快把相關法條訂定出來。不是只說要課稅就課,然後套用現在的營業稅的名稱,這不但會被誤解,更可能造成民怨。 不過我想說的是另一件事情,從這件事情來看,代表現在世界已經邁入下一個階段。買賣幾乎都在網路上做,你也不會在乎,是國外廠商或是國內賣家,只要東西好就會想買。因應這樣的狀況,政府才會有這種需要課稅的思考邏輯。也正因為這樣的新聞出現,代表無論是公司或個人,你必須要思考面對的是國際銷售。而在這樣的前提下,軟體可以幫上忙的就很多了!畢竟網路是透過軟體溝通而架構的,只要你給予了對的服務,使用者會願意付費的,尤其在往後網路成為必備品的時候,賣虛擬的服務,將會是一件正常的事情。 這也許是一個好的創業機會,大的版塊在移動與變化,你也必須思考你的下一步是往那邊邁進。 訂閱: 文章 (Atom). Linux Device Drivers (3rd). The Art of Unix Programming.
blog.chhsu.org
邁向偉大航道的旅程:啟航: 安裝 Xcode 5.1 Command line tools 所引起的問題
http://blog.chhsu.org/2014/04/command-line-tool.html
真正的偉大是單純;真正的智慧是坦率;真正的力量是溫和。 安裝 Xcode 5.1 Command line tools 所引起的問題. 在 MacOS 10.9.2 上面如果有安裝 xcode command line tools,當你在裝第三方packages (python pip or ruby gem)而且有compile native library (大部份應該都是 c library),請記得加入這樣的 flag 在你環境上:. Sudo gem update - verbose. Export ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future" sudo gem update - verbose. Export ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future" pip install xxx. 訂閱: 張貼留言 (Atom). Linux Device Drivers (3rd).