之前聽到可以用 jiffies 來抓時間,可是我自己測的結果是前後抓的時間會都一樣囧。查了一下 stackoverflow,也有一個遇到一樣的問題,我猜可能 jiffies 也是用 period update 的方式做更新,由於中間測量的 function 太快,導致來不及更新就拿到了一樣的值這樣。而在下面的回答中看到可以用 do_gettimeofday() 來抓時間區間,簡單範例如下:
[Continue Reading...]

最近常在用 popen 呼叫系統指令,並讀取執行的結果作判斷,而有時候會有想確認內容是否會為空的需求,因為 popen return 的是一個 file descriptor,本來想說能不能用 ftell 找出大小來做判斷,不過後來證明不行,pipe 跟一般的檔案還是有差別。

找了一堆資料,後來只想到用 fgetc 來讀,再用讀不讀得到值作為判斷 orz,不知道有沒有其他更好的解法就是。

最近弄 ajax 在手機上測的時候發現按 keyboard 上的 go 按鈕不會自動 submit,所以看了一下是怎麼回事。找了一些資料加上自己測試了一下,發現原來 go 按鈕跟 enter 是一樣的 event。

我最後決定的做法是將原本 ajax 要 submit 的 部分先用 form tag 包起來,ajax 的按鈕則改成 <button type="submit"></button>typesubmit 可以使得在按 enter 或是 手機上按 go 的時候能 trigger submit 的 event,這邊用 <input> 也是可以,不過因為我有用一些 icon 在按鈕中,用 button tag 相對比較好做。再來就是註冊 form tag 的 event,用 jQuery 來說就是 $('#myform').submit(myfunction);,接著在 myfunction 中記得最後要 return false;,以避免真的 submit 頁面上去。

參考網址:
http://stackoverflow.com/questions/1960240/jquery-ajax-submit-form

git:// readonly 的 port 是使用 9418,雖然速度較快,但是也容易被防火牆擋掉,查了一下資料,發現一個不錯的方法:

git config --global url."https://".insteadOf git://

輸入以上指令就可以把 git 開頭的自動轉爲 https 協定的了,自然就不會無緣無故被擋掉。那爲什麼不直接一開始就改掉就好呢?以我的例子來說,如果我抓了一個別人的 git repo,裏面包含 submodule,且是 git://,因爲我沒辦法直接改他的設定,這時就可以考慮這樣用。

設定的部分存在 ~/.gitconfig,不需要的話可以直接從這邊拿掉。

參考網址:
http://stackoverflow.com/questions/4891527/git-protocol-blocked-by-company-how-can-i-get-around-that

在 OSX 上 checkout svn 的 repo 遇到了 error,跟我說 .svn 底下少了某個檔案,後來才發現有兩個同樣名稱的檔案,只是大小寫不一樣,看來好像是因為 OSX 的檔案系統預設大小寫視為一樣的。如果要解決這個問題除了換個名稱,要不然就是做個 case sensitive 的 image mount 上去,指令如下:
[Continue Reading...]