星期四, 12月 30, 2010

只有sata光碟機也可以用舊的autoxp執行ghost

比較早期的autoxp光碟片不支援sata光碟機開機, 但是現在新的電腦都漸漸改成用sata光碟機了, 那autoxp光碟片開機後便無法讀取到光碟片的ghost了, 也就只能當飛盤了.
要解決這個問題, 當然最根本的就是換比較新的autoxp光碟片, 但是這要有source阿, 不是每個人都有這種管道的. 在網路上找了一些方法, 覺得方法都很麻煩, 沒有一個連電腦白痴都會用的方法, 最後我想出了一個非常簡單的方法, 就是

拿一個usb disk把ghost copy到那上面去, 然後用autoxp光碟片重新開機, 這時候就可以輕鬆地切換到usb disk中去執行ghost了, 哈哈.

奇怪的skype IE plugin竟然與windows update功能相衝

拿到公司的新電腦後, 想說來執行一下windows update安裝一些patch, 結果竟然究一直卡在windows update首頁畫面不會動. 重開電腦再執行也是一樣, 在網路上找了半天也沒找到答案. 結果問題竟然是出在skype的IE plugin, 只要把它disable就好了. 真是奇怪.

星期五, 12月 24, 2010

在colinux使用pcap-bridge網路模式

如果在coLinux中要使用pcap-bridge網路模式, 最簡單的最法就是在colinux.conf檔中加入
eth0=pcap-bride

但是, 如果需要設定網路卡的mac address, 則記得要把實體對應的網路卡名稱也加入, 否則網路不會通, 例如:
eth0=pcap-bridge,"區域連線",00:FF:67:4F:30:00

不過, colinux.conf似乎對中文的支援不是很好, 有時候會抓不到區域連線.
所以如果可以的話, 還是把區域連線改成英文, 例如: LAN
所以colinux.conf的設定就要改成
eth0=pcap-bridge,"LAN",00:FF:67:4F:30:00

星期二, 12月 14, 2010

常用Linux開發環境設定

在~/.bash_profile中加入下列設定:

alias grep='/bin/grep -n --color --exclude="*\.svn*" --exclude=tags --exclude="*\.ccache*"'
alias screen='/usr/bin/screen -e^Pp -h 10000'
#export LANG=C

在~/.screenrc中加入下列設定:
shell -$SHELL  # run the login shell

設定git環境
git config --global user.name 使用者名稱
git config --global user.email 電子郵件
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
git config --global color.ui auto

在Linux建立vim程式開發環境

cscope 熱鍵
curl http://cscope.sourceforge.net/cscope_maps.vim > ~/.vim/plugin/cscope_maps.vim

啟動vim的 :Tlist功能
下載taglist_45.zip
cd ~/.vim
unzip taglist_45.zip

其他設定
將下列設定加到~/.vimrc檔案中

if has("autocmd")
  filetype plugin indent on
endif

if has("syntax")
  syntax on
endif

set viminfo='10,\"100,:20,%,n~/.viminfo

autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif

set cursorline
set showmatch
set incsearch
set hlsearch
set number
set tabstop=4
set shiftwidth=4

另外,有關vim的熱鍵可以參考下列網址,還蠻詳細的喔!
http://www.lslnet.com/linux/f/docs1/i43/big5303074.htm

自己用doxygen產生API document

例如在samba source tree中, 執行下列命令

doxygen source/Doxygen

就可以看到dox/ 產生出API document

星期一, 1月 04, 2010

Keystoke causes android.process.acore to crash

After replacing the touchscreen device with a LCD and keyboard, I find android.process.acore will crash while trying to type with the keyboard. This bug also occurs when executing Contacts and dialer applications. According to the messages shown by logcat, this bug is resulted from failing to load resource required by Android.

android.process.acore_crash

According to this description, Android system cannot find the required resources for notouch device. So, we can fix this bug by copying each folder ending with -finger to the one ending with -notouch.

D/AndroidRuntime(  760): Shutting down VM
W/dalvikvm(  760): threadid=3: thread exiting with uncaught exception (group=0x4000fe70)
E/AndroidRuntime(  760): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime(  760): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.contacts/com.android.contacts.DialtactsActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f030005
E/AndroidRuntime(  760):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2268)
E/AndroidRuntime(  760):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284)
E/AndroidRuntime(  760):        at android.app.ActivityThread.access$1800(ActivityThread.java:112)
E/AndroidRuntime(  760):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
E/AndroidRuntime(  760):        at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(  760):        at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(  760):        at android.app.ActivityThread.main(ActivityThread.java:3948)
E/AndroidRuntime(  760):        at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(  760):        at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(  760):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
E/AndroidRuntime(  760):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
E/AndroidRuntime(  760):        at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(  760): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f030005
E/AndroidRuntime(  760):        at android.content.res.Resources.getValue(Resources.java:846)
E/AndroidRuntime(  760):        at android.content.res.Resources.loadXmlResourceParser(Resources.java:1796)
E/AndroidRuntime(  760):        at android.content.res.Resources.getLayout(Resources.java:685)
E/AndroidRuntime(  760):        at android.view.LayoutInflater.inflate(LayoutInflater.java:318)
E/AndroidRuntime(  760):        at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
E/AndroidRuntime(  760):        at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:309)
E/AndroidRuntime(  760):        at android.app.Activity.setContentView(Activity.java:1626)
E/AndroidRuntime(  760):        at com.android.contacts.DialtactsActivity.onCreate(DialtactsActivity.java:73)
E/AndroidRuntime(  760):        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
E/AndroidRuntime(  760):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231)
E/AndroidRuntime(  760):        ... 11 more
I/Process (  556): Sending signal. PID: 760 SIG: 3
I/dalvikvm(  760): threadid=7: reacting to signal 3

References:
http://d.android.com/guide/topics/resources/index.html

Error in loading /system/usr/keychars/qwerty.kcm.bin

While typing on the keyboard, the home screen disappears shortly and logcat shows the following error messages:

This bug is resulted from failing to read /system/usr/keychars/qwerty.kcm.bin for wrong access permission. It can be fixed by adding the read access permission to this file by

chmod 644 /system/usr/keychars/qwerty.kcm.bin

E/KeyCharacterMap( 633): Can't find any keycharmaps (also tried /system/usr/keychars/qwerty.kcm.bin)
I/DEBUG ( 510): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 510): Build fingerprint: 'generic/generic/generic/:1.5/CUPCAKE/eng.jack_zhuang.20091119.140022:eng/test-keys'
I/DEBUG ( 510): pid: 633, tid: 633 >>> android.process.acore <<<
I/DEBUG ( 510): signal 11 (SIGSEGV), fault addr 00000000
I/DEBUG ( 510): r0 0000a9d0 r1 4001b588 r2 00000000 r3 41049c54
I/DEBUG ( 510): r4 be812550 r5 00000004 r6 ad32ea71 r7 41049c30
I/DEBUG ( 510): r8 be812530 r9 41049c28 10 41049c18 fp 00000000
I/DEBUG ( 510): ip ad32ea71 sp be812530 lr ad00e3b8 pc ad32ea70 cpsr a0000030
I/DEBUG ( 510): #00 pc 0002ea70 /system/lib/libandroid_runtime.so
I/DEBUG ( 510): #01 lr ad00e3b8 /system/lib/libdvm.so
I/DEBUG ( 510): stack:
I/DEBUG ( 510): be8124f0 00000001
I/DEBUG ( 510): be8124f4 41f84710 /data/dalvik-cache/system@framework@framework.jar@classes.dex
I/DEBUG ( 510): be8124f8 00000001
I/DEBUG ( 510): be8124fc ad048977 /system/lib/libdvm.so
I/DEBUG ( 510): be812500 00000328
I/DEBUG ( 510): be812504 4108a368 /dev/ashmem/dalvik-LinearAlloc (deleted)
I/DEBUG ( 510): be812508 be812560 [stack]
I/DEBUG ( 510): be81250c 0000000a
I/DEBUG ( 510): be812510 0000000f
I/DEBUG ( 510): be812514 ad063ba3 /system/lib/libdvm.so
I/DEBUG ( 510): be812518 00000004
I/DEBUG ( 510): be81251c ad05a705 /system/lib/libdvm.so
I/DEBUG ( 510): be812520 00000018
I/DEBUG ( 510): be812524 4108a368 /dev/ashmem/dalvik-LinearAlloc (deleted)
I/DEBUG ( 510): be812528 df002777
I/DEBUG ( 510): be81252c e3a070ad
I/DEBUG ( 510): #00 be812530 4108a368 /dev/ashmem/dalvik-LinearAlloc (deleted)
I/DEBUG ( 510): be812534 0000bc60 [heap]
I/DEBUG ( 510): be812538 ad32ea71 /system/lib/libandroid_runtime.so
I/DEBUG ( 510): be81253c 4001b588 /dev/ashmem/mspace/dalvik-heap/zygote/0 (deleted)
I/DEBUG ( 510): be812540 00001071
I/DEBUG ( 510): be812544 0000bc60 [heap]
I/DEBUG ( 510): be812548 be812550 [stack]
I/DEBUG ( 510): be81254c ad040a8d /system/lib/libdvm.so
I/DEBUG ( 510): be812550 41049c28
I/DEBUG ( 510): be812554 41fb2789 /data/dalvik-cache/system@framework@framework.jar@classes.dex
I/DEBUG ( 510): be812558 ad32ea71 /system/lib/libandroid_runtime.so
I/DEBUG ( 510): be81255c be8125c8 [stack]
I/DEBUG ( 510): be812560 be8125c8 [stack]
I/DEBUG ( 510): be812564 00000001
I/DEBUG ( 510): be812568 ad00e540 /system/lib/libdvm.so
I/DEBUG ( 510): be81256c 41ea7bdc /data/dalvik-cache/system@framework@framework.jar@classes.dex
I/DEBUG ( 510): be812570 41049c3c
I/DEBUG ( 510): be812574 be8125c0 [stack]
D/Zygote ( 512): Process 633 terminated by signal (11)