Wednesday, June 04, 2014

Chrome 64 bit version



Google 發表了64 bit 版本的Chrome 了, 主要增強速度與安全, 不過我用起來最引起我興趣的, 是記憶體使用變小很多, 大概平均少了一半, 有興趣快點來下載吧.!




參考連結
http://www.google.com/intl/en/chrome/browser/canary.html
http://blog.chromium.org/2014/06/try-out-new-64-bit-windows-canary-and.html

Tuesday, March 18, 2014

Visual Studio 的ipch/ 目錄

最近在整理較大系統的 git 目錄結構, 要把整個git untracker 的檔案分開, 所以要指定一些VC產生出來的目錄, 整理到 ipch 時很抓狂, 它就一直黏著.sln 檔放

ipch目錄據說是Visual Studio 2010 IntelliSense 開始拿來放一些precompiled的東西,最賭爛的是,它不是放Compiler 的precompiled 的東西, 所以找很久都朝C++ compiler 的precompiler 的方向找, 拜了幾次Goolge大神才找到, 其實主要是IntelliSense自己的暫存檔, 但這個設定確不是sln 可以設定的, 所以不能夠過設定.sln 來讓所有人都可以用, 得每台電腦都得設定


到這裡來
Tools > Options > Text Editor > C/C++ > Advanced ->Fallback Location

將Always Use Fallback Location設為 True

預設存放的目錄為 C:\users\AppData\Local\Temp\
你也可以透過 Fallback Location 來設定, 例如直接設到 %TEMP% 去眼不見為淨

參考連結

http://blog.bfitz.us/?p=1315
http://stackoverflow.com/questions/4315681/how-to-change-ipch-path-in-visual-studio-2010
http://blogs.msdn.com/b/vcblog/archive/2010/03/09/intellisense-browsing-options-in-vc-2010.aspx

Thursday, February 27, 2014

把多張JPEG 轉成MJPEG 的video file

記錄一下摟.!

ffmpeg -r 30 -i input%03d.jpg -codec copy output.avi
-r 是frame rate
-i 輸入檔名, 其參數方式跟printf 類似, 如果是 input_001.jpg to input_123.jpg, 那就下成input_%03d.jpg摟

-code copy : 則是直接copy不做壓與解

記得, 輸出檔名為.avi 或mkv ,mov 等容器類的檔案, 而不要設定成mp4 指定格式壓縮格式


參考資料
http://video.stackexchange.com/questions/7903/ffmpeg-how-to-losslessly-encode-many-jpg-images-to-a-video

Thursday, February 20, 2014

git submodule update 後, 不會自動對到master branch 的解法

git submodule update 後, 每次都在要commit 時被提醒沒有設branch, 這很怪, 查了一下才注意到root 在記錄submodule 的狀態只記錄最後commit 的hash id, 並沒有記錄是那個branch 的, 所以當你submodule update 會將hash id update後, branch 就拖勾了.

不過在git 1.8.1 之後加入了可以設定submodule 的branch 了, 使用方式是在加入submodule 時下-b 的參數

  git submodule add -b master [URL to Git repo];

這樣當我們 submodule update 時就會自動將branch 設為master , 這樣也比較像svn 的external link 的方式, 可以設定某個root 的git 使用某個submodule 的branch

不過如果現有的submodule 要加入呢?

 這時只要回到parent 的git 目錄去設定就可以了

git config -f .gitmodules submodule..branch  


參考連結:
ref1: integrate with the tip of the remote branch
ref2: if you have an existing submodule which isn't tracking a branch yet

Tuesday, December 31, 2013

2013 年終廢言

這一年是我離開了待了13年的公司
這一年開始回到寫Code 為主的工作
這一年我看了29本書,面目一點很恐怖, 整整比去年少了一半
這一年寫了8篇Blog

這一年我女兒可以自己洗碗
這一年我兒子可以從抱著餵奶, 到自己拿著奶瓶爬上樓梯躺好自己喝
這一年我老婆開的諮商所三年了!

這一年對我來說是改變的一年, 改變對我來說是很恐懼的, 但我還是面對了

總體來說, 今天是刺激與精彩的一年
2013 再見了.!



Google search for VNC


這廣告投的也太機車了吧


Saturday, November 02, 2013

Google Apps Script Shortcut



不知道為啥,google不直接列一張表,還是有我沒找到,有的在Menu地方有寫,有得沒有,所以在此記錄一下, MAX 是 command , PC則是 Ctrl 請自己轉換一下


Mac

Run             :  command + R
Save            : command + S
View log      : command + enter
Select All     : command + A
auto Indent  : Shift + Tab
auto complete  : alt + /  (會在你程式裡找曾經定義的變數名稱,所以如果第一次不正確,就多按幾次來選)

Undo  : command + Z
Redo  : command + Y


另外 Debug mode 裡set break point 或是 step into or step out 如果有知道的人可以告訴我一下,不然寫起程式來有點困擾


Friday, November 01, 2013

WriteFile fail with error 87

最近為了測試檔案系統的效能, 寫了一個測試程式, 結果掛在一個很簡單的地方, 所以記錄一下

     這是寫檔程式, 

 hFile = CreateFile(filename, GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, CREATE_ALWAYS,FILE_FLAG_NO_BUFFERING, NULL);

 if (WriteFile(hFile, &OutData, iRand, &BytesOut, NULL) == 0)    
{
        printf (" Error writing file  error=%d\n\n",GetLastError ( ));
        CloseHandle(hFile);
        return 0;
}
           CloseHandle(hFile);


     很簡單, 確會傳出 INVAILD_PARAMETER 87 的error number , 簡查了老半天沒啥參數寫錯呀, 整個MSDN找了一遍也不知道啥原因, 反到是拜google大神找到, 因為要測效能, 所以我用FILE_FLAG_NO_BUFFERING 來測, 不過只要設成NO Buffer , writefile 就只能接受一次至少要寫1個sector 的限制, 而目前windows 7 都是4k也就是4096, 所以就一定要寫4096的倍數

所以看是要把FILE_FLAG_NO_BUFFERING改為 FILE_ATTRIBUTE_NORMAL來解,或是iRand這個變數一定要為4096的倍數都可以摟.!!


Update :
                 看來是我眼濁, MSDN有寫很清楚

                  http:// http://support.microsoft.com/kb/99794/en-us


The FILE_FLAG_NO_BUFFERING takes this concept one step further and eliminates all read-ahead file buffering and disk caching as well, so that all reads are guaranteed to come from the file and not from any system buffer or disk cache. When using FILE_FLAG_NO_BUFFERING, disk reads and writes must be done on sector boundaries, and buffer addresses must be aligned on disk sector boundaries in memory.