<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7483985863399572618</id><updated>2012-02-05T06:21:59.126-08:00</updated><category term='linux'/><category term='bash programming'/><category term='apache'/><category term='rrdtool'/><category term='SQL'/><category term='php'/><category term='tmux'/><category term='gcc'/><category term='uboot'/><category term='Oracle'/><category term='Java'/><category term='networking'/><category term='management'/><title type='text'>thinkiii</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-2668723382408518448</id><published>2012-02-05T06:21:00.001-08:00</published><updated>2012-02-05T06:21:59.136-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uboot'/><title type='text'>uboot - set up memory tags</title><content type='html'>arch/arm/lib/bootm.c&lt;br /&gt;setup_memory_tags&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-2668723382408518448?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/2668723382408518448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=2668723382408518448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/2668723382408518448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/2668723382408518448'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2012/02/uboot-set-up-memory-tags.html' title='uboot - set up memory tags'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-8472837602140824685</id><published>2012-02-05T05:53:00.000-08:00</published><updated>2012-02-05T05:54:22.553-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tmux'/><title type='text'>tmux</title><content type='html'>1) switch panes&lt;br /&gt;&lt;br /&gt;ctrl-b + o&lt;br /&gt;&lt;br /&gt;2) scroll back&lt;br /&gt;&lt;br /&gt;crtl-b + [&lt;br /&gt;&lt;br /&gt;to quit scroll mode, press 'q'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-8472837602140824685?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/8472837602140824685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=8472837602140824685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/8472837602140824685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/8472837602140824685'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2012/02/tmux.html' title='tmux'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-5483093661035284633</id><published>2012-02-05T05:32:00.000-08:00</published><updated>2012-02-05T05:33:20.356-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tmux'/><title type='text'>tmux.conf</title><content type='html'>&lt;pre&gt;&lt;code&gt;set-option -g prefix C-a&lt;br /&gt;&lt;br /&gt;remap control prefix to ctrl+a&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-5483093661035284633?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/5483093661035284633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=5483093661035284633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5483093661035284633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5483093661035284633'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2012/02/tmuxconf.html' title='tmux.conf'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-3703383294647148880</id><published>2011-12-29T07:30:00.003-08:00</published><updated>2011-12-29T07:30:53.214-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>screenrc</title><content type='html'>startup_message off&lt;br /&gt;termcapinfo xterm ti@:te@&lt;br /&gt;defscrollback 5000&lt;br /&gt;#caption always "%{= kw}%-w%{= BW}%n %t%{-}%+w %-= @%H - %LD %d %LM - %c"&lt;br /&gt;caption always "%{= kw}%-w%{= BW}%n %t%{-}%+w"&lt;br /&gt;screen -t alpha bash&lt;br /&gt;screen -t bravo bash&lt;br /&gt;screen -t charlie bash&lt;br /&gt;screen -t delta bash&lt;br /&gt;screen -t echo bash&lt;br /&gt;screen -t foxtrot bash&lt;br /&gt;screen -t glof bash&lt;br /&gt;screen -t hotel bash&lt;br /&gt;screen -t india bash&lt;br /&gt;screen -t juliet bash&lt;br /&gt;select alpha&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-3703383294647148880?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/3703383294647148880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=3703383294647148880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/3703383294647148880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/3703383294647148880'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2011/12/screenrc.html' title='screenrc'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-3221967659672060815</id><published>2011-12-29T07:30:00.001-08:00</published><updated>2011-12-29T07:30:28.531-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>vimrc</title><content type='html'>set nu&lt;br /&gt;syntax on&lt;br /&gt;colorscheme evening&lt;br /&gt;set cul&lt;br /&gt;set hlsearch&lt;br /&gt;set ruler&lt;br /&gt;set ai&lt;br /&gt;set nojoinspaces&lt;br /&gt;set formatoptions=qtcor&lt;br /&gt;"set foldmethod=marker&lt;br /&gt;set history=500&lt;br /&gt;&lt;br /&gt;"ctags&lt;br /&gt;"use the ctags for tag search&lt;br /&gt;set tags=$CTAGFILE&lt;br /&gt;"search non-cscope tag first&lt;br /&gt;set csto=1 &lt;br /&gt;ab tl Tlist&lt;br /&gt;ab tls TlistSync&lt;br /&gt;&lt;br /&gt;"cscope&lt;br /&gt;"use cscope to find caller, callee...&lt;br /&gt;set nobackup&lt;br /&gt;set cscopetag&lt;br /&gt;cs add $CSCOPEFILE&lt;br /&gt;map &lt;C-\&gt;c :cs find c &lt;C-R&gt;=expand("&lt;cword&gt;")&lt;CR&gt;&lt;CR&gt;&lt;br /&gt;map &lt;C-\&gt;d :cs find d &lt;C-R&gt;=expand("&lt;cword&gt;")&lt;CR&gt;&lt;CR&gt;&lt;br /&gt;map &lt;C-\&gt;e :cs find e &lt;C-R&gt;=expand("&lt;cword&gt;")&lt;CR&gt;&lt;CR&gt;&lt;br /&gt;map &lt;C-\&gt;f :cs find f &lt;C-R&gt;=expand("&lt;cword&gt;")&lt;CR&gt;&lt;CR&gt;&lt;br /&gt;map &lt;C-\&gt;g :cs find g &lt;C-R&gt;=expand("&lt;cword&gt;")&lt;CR&gt;&lt;CR&gt;&lt;br /&gt;map &lt;C-\&gt;i :cs find i &lt;C-R&gt;=expand("&lt;cword&gt;")&lt;CR&gt;&lt;CR&gt;&lt;br /&gt;map &lt;C-\&gt;s :cs find s &lt;C-R&gt;=expand("&lt;cword&gt;")&lt;CR&gt;&lt;CR&gt;&lt;br /&gt;map &lt;C-\&gt;t :cs find t &lt;C-R&gt;=expand("&lt;cword&gt;")&lt;CR&gt;&lt;CR&gt;&lt;br /&gt;&lt;br /&gt;ab sc set spell&lt;br /&gt;ab nsc set nospell&lt;br /&gt;ab #i #include&lt;br /&gt;ab #d #define&lt;br /&gt;ab #e #endif&lt;br /&gt;ab #p #pragma&lt;br /&gt;ab pn PRINT_NOTICE("start\n");&lt;br /&gt;ab pi PRINT_INFO&lt;br /&gt;ab pe PRINT_ERR&lt;br /&gt;ab pd PRINT_DEBUG&lt;br /&gt;ab #c \////////////////////////////////////////////////////////////////////////////////&lt;cr&gt;&lt;br /&gt;\&lt;cr&gt;&lt;br /&gt;\&lt;cr&gt;&lt;br /&gt;\//////////////////////////////////////////////////////////////////////////////&lt;br /&gt;&lt;br /&gt;autocmd BufReadPost *.c set sts=8&lt;br /&gt;autocmd BufReadPost *.c set sw=8&lt;br /&gt;autocmd BufReadPost *.c set expandtab&lt;br /&gt;autocmd BufReadPost *.c set cin&lt;br /&gt;autocmd BufReadPost *.cpp set sts=8&lt;br /&gt;autocmd BufReadPost *.cpp set sw=8&lt;br /&gt;autocmd BufReadPost *.cpp set expandtab&lt;br /&gt;autocmd BufReadPost *.cpp set cin&lt;br /&gt;autocmd BufReadPost *.h set sts=8&lt;br /&gt;autocmd BufReadPost *.h set sw=8&lt;br /&gt;autocmd BufReadPost *.h set expandtab&lt;br /&gt;autocmd BufReadPost *.h set cin&lt;br /&gt;autocmd BufReadPost *.tex set tw=80&lt;br /&gt;autocmd BufReadPost *.tex set ai&lt;br /&gt;autocmd BufReadPost *.sh set sts=8&lt;br /&gt;autocmd BufReadPost *.sh set sw=8&lt;br /&gt;autocmd BufReadPost *.sh set expandtab&lt;br /&gt;autocmd BufReadPost *.sh set cin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-3221967659672060815?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/3221967659672060815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=3221967659672060815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/3221967659672060815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/3221967659672060815'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2011/12/vimrc.html' title='vimrc'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-4458812949102101036</id><published>2011-12-29T07:28:00.000-08:00</published><updated>2011-12-29T07:29:39.307-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>bashrc</title><content type='html'># .bashrc&lt;br /&gt;&lt;br /&gt;# Source global definitions&lt;br /&gt;if [ -f /etc/bashrc ]; then&lt;br /&gt;   . /etc/bashrc&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# check terminal&lt;br /&gt;if [ "$TERM" = "rxvt-unicode" ]; then&lt;br /&gt;   alias vim='TERM=xterm vim'&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# set a fancy prompt (non-color, overwrite the one in /etc/profile)&lt;br /&gt;PS1='${debian_chroot:+($debian_chroot)}\u@\h:\$ '&lt;br /&gt;&lt;br /&gt;# User specific aliases and functions&lt;br /&gt;&lt;br /&gt;alias ls="ls --color -F"&lt;br /&gt;#alias ls="ls"&lt;br /&gt;export P4CONFIG=.p4config&lt;br /&gt;export SVN_EDITOR=vim&lt;br /&gt;export PATH=/sbin:$PATH&lt;br /&gt;&lt;br /&gt;#alias expctgp="export CTAGFILE=$HOME/Perforce/tags; cd ~/Perforce/"&lt;br /&gt;#alias expctgw="export CTAGFILE=$HOME/workshop/tags; cd ~/workshop/"&lt;br /&gt;alias expctgl="export CTAGFILE=$HOME/workshop/source/linux-3.1.1/tags; export CSCOPEFILE=$HOME/workshop/source/linux-3.1.1/cscope.out; cd $HOME/workshop/source/linux-3.1.1"&lt;br /&gt;&lt;br /&gt;set_ctag() {&lt;br /&gt;   echo "export CTAGFILE=`pwd`/$@"&lt;br /&gt;   export CTAGFILE=`pwd`/$@&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;set_cscope() {&lt;br /&gt;   echo "export CTAGFILE=`pwd`/$@"&lt;br /&gt;   export CSCOPEFILE=`pwd`/$@&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# convert a number into decimal format&lt;br /&gt;n2d() {&lt;br /&gt;   perl -e "printf \"%d\n\", $@"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# convert a number into decimal format (floating number)&lt;br /&gt;n2f() {&lt;br /&gt;   perl -e "printf \"%f\n\", $@"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# convert a number into hex format&lt;br /&gt;n2h() {&lt;br /&gt;   perl -e "printf \"%08X\n\", $@"&lt;br /&gt;}&lt;br /&gt;alias n2x="n2h"&lt;br /&gt;&lt;br /&gt;# convert a number into binary format&lt;br /&gt;n2b() {&lt;br /&gt;   perl -e "printf \"%08b\n\", $@"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# convert a number into number of mage (2^20)&lt;br /&gt;n2m() {&lt;br /&gt;   perl -e "printf \"%d (M)\n\", $@/1024/1024"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# convert binary number into hex format&lt;br /&gt;b2h() {&lt;br /&gt;   perl -e "printf \"%02x\n\", 0b$@"&lt;br /&gt;}&lt;br /&gt;alias b2x="b2h"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-4458812949102101036?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/4458812949102101036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=4458812949102101036' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/4458812949102101036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/4458812949102101036'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2011/12/bashrc.html' title='bashrc'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-6690716233819782146</id><published>2011-04-21T03:14:00.000-07:00</published><updated>2011-04-21T03:15:43.684-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash programming'/><title type='text'>converting hex/decimal/bianry with bash</title><content type='html'>put this functions in the ~/.bashrc&lt;br /&gt;&lt;br /&gt;# convert a number into decimal format&lt;br /&gt;n2d() {&lt;br /&gt;        perl -e "printf \"%d\n\", $@"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# convert a number into hex format&lt;br /&gt;n2h() {&lt;br /&gt;        perl -e "printf \"0x%X\n\", $@"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# convert a number into binary format&lt;br /&gt;n2b() {&lt;br /&gt;        perl -e "printf \"0b%b\n\", $@"&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-6690716233819782146?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/6690716233819782146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=6690716233819782146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/6690716233819782146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/6690716233819782146'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2011/04/converting-hexdecimalbianry-with-bash.html' title='converting hex/decimal/bianry with bash'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-4798015408227429462</id><published>2011-02-07T17:34:00.001-08:00</published><updated>2011-02-07T17:34:36.209-08:00</updated><title type='text'>格言</title><content type='html'>李叔同大師說佛----佛家禪宗處世格言&lt;br /&gt;有才而性緩，定屬大才。&lt;br /&gt;有智而氣和，斯為大智。&lt;br /&gt;氣忌盛，心忌滿，才忌露。&lt;br /&gt;有作用者，器宇定是不凡，&lt;br /&gt;有智慧者，才情決然不露。&lt;br /&gt;意粗性躁，一事無成，&lt;br /&gt;心平氣和，千祥駢集。&lt;br /&gt;世俗煩惱處，要耐得下，&lt;br /&gt;世事紛擾處，要閒得下，&lt;br /&gt;胸懷牽纏處，要割得下，&lt;br /&gt;境地濃艷處，要淡得下，&lt;br /&gt;意氣忿怒處，要降得下。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;原文網址: 李叔同大師說佛 | 阿彌自在皆佛陀，八方自由皆心誠。 | alix | NOWnews 部落格 http://blog.nownews.com/article.php?bid=3025&amp;tid=73300#ixzz1DKKhsB4V&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-4798015408227429462?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/4798015408227429462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=4798015408227429462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/4798015408227429462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/4798015408227429462'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2011/02/blog-post.html' title='格言'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-6794331767112803590</id><published>2011-02-05T16:52:00.003-08:00</published><updated>2011-02-05T16:52:57.338-08:00</updated><title type='text'>2011年度目標</title><content type='html'>健康&lt;br /&gt;家人&lt;br /&gt;朋友&lt;br /&gt;&lt;br /&gt;事業 (降低長期風險、創造自己的大運氣&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-6794331767112803590?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/6794331767112803590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=6794331767112803590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/6794331767112803590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/6794331767112803590'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2011/02/2011.html' title='2011年度目標'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-6537764476901505076</id><published>2010-10-29T05:50:00.000-07:00</published><updated>2010-10-29T05:52:27.720-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>set default window size and font in gVim</title><content type='html'>click on&lt;br /&gt;edit&gt;startup settings to edit the vimrc in windows&lt;br /&gt;&lt;br /&gt;"set defautl window size&lt;br /&gt;set lines=24&lt;br /&gt;set columns=90&lt;br /&gt;"set default font:size&lt;br /&gt;set guifont=Courier\ New:h14&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-6537764476901505076?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/6537764476901505076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=6537764476901505076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/6537764476901505076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/6537764476901505076'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/10/set-default-window-size-and-font-in.html' title='set default window size and font in gVim'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-331820384306636483</id><published>2010-10-10T07:29:00.000-07:00</published><updated>2010-10-10T07:30:00.511-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>OS development</title><content type='html'>http://www.cs.ucla.edu/~kohler/class/10f-aos/lab1.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-331820384306636483?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/331820384306636483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=331820384306636483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/331820384306636483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/331820384306636483'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/10/os-development.html' title='OS development'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-2751169586218902006</id><published>2010-10-04T17:14:00.000-07:00</published><updated>2010-10-04T17:15:06.233-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gcc'/><title type='text'>google C++ coding style</title><content type='html'>http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-2751169586218902006?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/2751169586218902006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=2751169586218902006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/2751169586218902006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/2751169586218902006'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/10/google-c-coding-style.html' title='google C++ coding style'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-404862407310629915</id><published>2010-09-27T05:12:00.000-07:00</published><updated>2010-09-27T05:13:01.418-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>gen_ctags</title><content type='html'># setting&lt;br /&gt;WORKDIR=`pwd`&lt;br /&gt;# get all file list&lt;br /&gt;echo "get all file list"&lt;br /&gt;rm ctags.Uranus ctags.utopia 2&gt;/dev/null&lt;br /&gt;find $WORKDIR/Uranus/ -name '*.[HhCc]' &gt;&gt; ctags.Uranus&lt;br /&gt;find $WORKDIR/Uranus/ -name '*.cc' &gt;&gt; ctags.Uranus&lt;br /&gt;find $WORKDIR/Uranus/ -name '*.cpp' &gt;&gt; ctags.Uranus&lt;br /&gt;find $WORKDIR/utopia/ -name '*.[HhCc]' &gt;&gt; ctags.utopia&lt;br /&gt;find $WORKDIR/utopia/ -name '*.cc' &gt;&gt; ctags.utopia&lt;br /&gt;find $WORKDIR/utopia/ -name '*.cpp' &gt;&gt; ctags.utopia&lt;br /&gt;&lt;br /&gt;# remove unwanted files&lt;br /&gt;&lt;br /&gt;echo "remove unwanted files"&lt;br /&gt;# Uranus&lt;br /&gt;sed -i /Cus60/d ctags.Uranus&lt;br /&gt;sed -i /eCospro/d ctags.Uranus&lt;br /&gt;sed -i /Trunk/d ctags.Uranus&lt;br /&gt;sed -i /u3/d ctags.Uranus&lt;br /&gt;# utopis&lt;br /&gt;sed -i /u2/d ctags.utopia&lt;br /&gt;sed -i /u3/d ctags.utopia&lt;br /&gt;&lt;br /&gt;sed -i /t2/d ctags.utopia&lt;br /&gt;sed -i /t4/d ctags.utopia&lt;br /&gt;sed -i /t7/d ctags.utopia&lt;br /&gt;sed -i /t8/d ctags.utopia&lt;br /&gt;sed -i /t9/d ctags.utopia&lt;br /&gt;sed -i /t11/d ctags.utopia&lt;br /&gt;sed -i /t12/d ctags.utopia&lt;br /&gt;sed -i /t13/d ctags.utopia&lt;br /&gt;sed -i /titania4/d ctags.utopia&lt;br /&gt;sed -i /titania7/d ctags.utopia&lt;br /&gt;sed -i /titania8/d ctags.utopia&lt;br /&gt;sed -i /titania9/d ctags.utopia&lt;br /&gt;&lt;br /&gt;sed -i /Janus/d ctags.utopia&lt;br /&gt;sed -i /janus/d ctags.utopia&lt;br /&gt;sed -i /j2/d ctags.utopia&lt;br /&gt;&lt;br /&gt;sed -i /s7/d ctags.utopia&lt;br /&gt;sed -i /s7j/d ctags.utopia&lt;br /&gt;sed -i /s7ml/d ctags.utopia&lt;br /&gt;sed -i /s7ld/d ctags.utopia&lt;br /&gt;sed -i /s8/d ctags.utopia&lt;br /&gt;&lt;br /&gt;sed -i /maria10/d ctags.utopia&lt;br /&gt;sed -i /prans2/d ctags.utopia&lt;br /&gt;&lt;br /&gt;sed -i /r2/d ctags.utopia&lt;br /&gt;&lt;br /&gt;# generate tag file&lt;br /&gt;cat ctags.Uranus ctags.utopia &gt; ctags.files&lt;br /&gt;echo "generate tag file"&lt;br /&gt;ctags -L ctags.files&lt;br /&gt;#cscope -b -q -k&lt;br /&gt;&lt;br /&gt;# generate file list for Perforce&lt;br /&gt;echo "generate file list for Perforce"&lt;br /&gt;ESCSTR=$(echo "$WORKDIR" | sed -e 's/\//\\\//g')&lt;br /&gt;echo $ESCSTR&lt;br /&gt;echo "sed -e 's/$ESCSTR//g' ctags.files &gt; ctags.p4"&lt;br /&gt;sed -e "s/$ESCSTR//g" ctags.files &gt; ctags.p4&lt;br /&gt;&lt;br /&gt;# export global variable&lt;br /&gt;echo "===== IMPORTANT ====="&lt;br /&gt;echo "please export the following variable"&lt;br /&gt;echo "export CTAGFILE=$WORKDIR/tags"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-404862407310629915?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/404862407310629915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=404862407310629915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/404862407310629915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/404862407310629915'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/09/genctags.html' title='gen_ctags'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-8603150970366974464</id><published>2010-09-25T23:53:00.001-07:00</published><updated>2010-09-25T23:53:35.428-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>linux dump stace functions</title><content type='html'>1) dump_stack&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-8603150970366974464?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/8603150970366974464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=8603150970366974464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/8603150970366974464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/8603150970366974464'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/09/linux-dump-stace-functions.html' title='linux dump stace functions'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-5884626577627273945</id><published>2010-09-06T22:39:00.000-07:00</published><updated>2010-09-06T22:40:28.878-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='management'/><title type='text'>哈佛管理世界中有這樣一篇小文 (未查證，不過第一眼感覺寫得不錯)</title><content type='html'>一：沉穩&lt;br /&gt;&lt;br /&gt;（1）不要隨便顯露你的情緒。&lt;br /&gt;&lt;br /&gt;（2）不要逢人就訴說你的困難和遭遇。&lt;br /&gt;&lt;br /&gt;（3）在徵詢別人的意見之前，自己先思考，但不要先講。&lt;br /&gt;&lt;br /&gt;（4）不要一有機會就嘮叨你的不滿。&lt;br /&gt;&lt;br /&gt;（5）重要的決定儘量有別人商量，最好隔一天再發佈。&lt;br /&gt;&lt;br /&gt;（6）講話不要有任何的慌張，走路也是。&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;二：細心&lt;br /&gt;&lt;br /&gt;（1）對身邊發生的事情，常思考它們的因果關係。&lt;br /&gt;&lt;br /&gt;（2）對做不到位的執行問題，要發掘它們的根本癥結。&lt;br /&gt;&lt;br /&gt;（3）對習以為常的做事方法，要有改進或優化的建議。&lt;br /&gt;&lt;br /&gt;（4）做什麼事情都要養成有條不紊和井然有序的習慣。&lt;br /&gt;&lt;br /&gt;（5）經常去找幾個別人看不出來的毛病或弊端。&lt;br /&gt;&lt;br /&gt;（6）自己要隨時隨地對有所不足的地方補位。&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;三：膽識&lt;br /&gt;&lt;br /&gt;（1）不要常用缺乏自信的詞句&lt;br /&gt;&lt;br /&gt;（2）不要常常反悔，輕易推翻已經決定的事。&lt;br /&gt;&lt;br /&gt;（3）在眾人爭執不休時，不要沒有主見。&lt;br /&gt;&lt;br /&gt;（4）整體氛圍低落時，你要樂觀、陽光!&lt;br /&gt;&lt;br /&gt;（5）做任何事情都要用心，因為有人在看著你。&lt;br /&gt;&lt;br /&gt;（6）事情不順的時候，歇口氣，重新尋找突破口，就結束也要乾淨俐落。&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;四：大度&lt;br /&gt;&lt;br /&gt;（1）不要刻意把有可能是夥伴的人變成對手。&lt;br /&gt;&lt;br /&gt;（2）對別人的小過失、小錯誤不要斤斤計較。&lt;br /&gt;&lt;br /&gt;（3）在金錢上要大方，學習三施（財施、法施、無畏施）&lt;br /&gt;&lt;br /&gt;（4）不要有權力的傲慢和知識的偏見。&lt;br /&gt;&lt;br /&gt;（5）任何成果和成就都應和別人分享。&lt;br /&gt;&lt;br /&gt;（6）必須有人犧牲或奉獻的時候，自己走在前面。&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;五：誠信&lt;br /&gt;&lt;br /&gt;（1）做不到的事情不要說，說了就努力做到。&lt;br /&gt;&lt;br /&gt;（2）虛的口號或標語不要常掛嘴上。&lt;br /&gt;&lt;br /&gt;（3）針對客戶提出的"不誠信"問題，拿出改善的方法。&lt;br /&gt;&lt;br /&gt;（4）停止一切"不道德"的手段。&lt;br /&gt;&lt;br /&gt;（5）耍弄小聰明，要不得！&lt;br /&gt;&lt;br /&gt;（6）計算一下產品或服務的誠信代價，那就是品牌成本。&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;六：擔當&lt;br /&gt;&lt;br /&gt;（1）檢討任何過失的時候，先從自身或自己人開始反省。&lt;br /&gt;&lt;br /&gt;（2）事項結束後，先審查過錯，再列述功勞。&lt;br /&gt;&lt;br /&gt;（3）認錯從上級開始，表功從下級啟動。&lt;br /&gt;&lt;br /&gt;（4）著手一個計畫，先將權責界定清楚，而且分配得當。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-5884626577627273945?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/5884626577627273945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=5884626577627273945' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5884626577627273945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5884626577627273945'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/09/blog-post.html' title='哈佛管理世界中有這樣一篇小文 (未查證，不過第一眼感覺寫得不錯)'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-1410185965044487117</id><published>2010-09-02T20:40:00.000-07:00</published><updated>2010-09-02T20:42:11.870-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>vimrc</title><content type='html'>ab tl Tlist&lt;br /&gt;ab tls TlistSync&lt;br /&gt;&lt;br /&gt;where&lt;br /&gt;&lt;br /&gt;Tlist is for ctag list&lt;br /&gt;TlistSync is for syncing the ctag navigating window with the current cursor&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-1410185965044487117?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/1410185965044487117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=1410185965044487117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/1410185965044487117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/1410185965044487117'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/09/vimrc.html' title='vimrc'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-5419118754481556020</id><published>2010-06-30T09:23:00.000-07:00</published><updated>2010-06-30T09:24:38.865-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gcc'/><title type='text'>compound statement expression</title><content type='html'>http://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;wield stuff only for gcc, but useful&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-5419118754481556020?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/5419118754481556020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=5419118754481556020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5419118754481556020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5419118754481556020'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/06/compound-statement-expression.html' title='compound statement expression'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-3012046150375405976</id><published>2010-06-29T17:40:00.000-07:00</published><updated>2010-06-29T17:43:00.147-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>vimrc</title><content type='html'>&lt;span style="font-size:78%;"&gt;syntax on                                                                           &lt;br /&gt;set nu&lt;br /&gt;set ruler&lt;br /&gt;set hlsearch&lt;br /&gt;set cul&lt;br /&gt;colorscheme evening&lt;br /&gt;set vb&lt;br /&gt;cs add cscope.out&lt;br /&gt;set cscopetag&lt;br /&gt;set foldmethod=marker&lt;br /&gt;set tw=80&lt;br /&gt;set ai &lt;br /&gt;set nojoinspaces&lt;br /&gt;set formatoptions=qtcor&lt;br /&gt;&lt;br /&gt;"for C programming&lt;br /&gt;ab #i #include&lt;br /&gt;ab #d #define&lt;br /&gt;ab #e #endif&lt;br /&gt;ab #p #pragma&lt;br /&gt;ab #m Min-Hua Chen &lt;orca.chen@gmail.com&gt;&lt;br /&gt;&lt;br /&gt;"spell check&lt;br /&gt;ab sc set spell&lt;br /&gt;ab nsc set nospell&lt;br /&gt;"ab #c Author(s): xxx&lt;br /&gt;"\&lt;cr&gt;Copyright (c) 2008 xxx&lt;br /&gt;"\&lt;cr&gt;Permission to copy, modify, and distribute this program is granted&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ab #c Author(s): xxx&lt;br /&gt;&lt;br /&gt;autocmd BufReadPost *.c set cin&lt;br /&gt;autocmd BufReadPost *.h set cin&lt;br /&gt;autocmd BufReadPost *.pl set cin&lt;br /&gt;autocmd BufReadPost *.cpp set cin&lt;br /&gt;autocmd BufReadPost *.php set cin&lt;br /&gt;autocmd BufReadPost *.py set si&lt;br /&gt;autocmd BufReadPost *.java set si&lt;br /&gt;autocmd BufReadPost *.java set cino+=j1&lt;br /&gt;autocmd BufReadPost *.java set sw=4&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-3012046150375405976?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/3012046150375405976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=3012046150375405976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/3012046150375405976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/3012046150375405976'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/06/vimrc.html' title='vimrc'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-7342342470818454738</id><published>2010-04-29T20:01:00.000-07:00</published><updated>2010-04-29T20:20:31.845-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash programming'/><title type='text'>Interesting set intersection by using 'uniq'</title><content type='html'>I was asked to find the intersection of two IP lists yesterday. I write a simple program with Perl. The program iterates the two lists to find the repeated IPs, which is a O(n^2) algorithm.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;foreach $a (@A) {&lt;br /&gt;    foreach $b (@B) {&lt;br /&gt;        if ($a eq $b) {&lt;br /&gt;        ...&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;When I wake up this morning, another way to do this pops onto my mind.&lt;br /&gt;&lt;br /&gt;cat file-A | sort | uniq &gt; tmp&lt;br /&gt;cat file-B | sort | uniq &gt;&gt; tmp&lt;br /&gt;cat tmp | sort | uniq -d&lt;br /&gt;&lt;br /&gt;Basically, it is a O(nlog(n)) algorithm. (the sort operation).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-7342342470818454738?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/7342342470818454738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=7342342470818454738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/7342342470818454738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/7342342470818454738'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/04/interesting-set-intersection-by-using.html' title='Interesting set intersection by using &apos;uniq&apos;'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-5822301968958267036</id><published>2010-03-31T06:41:00.000-07:00</published><updated>2010-03-31T06:45:04.728-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>X forwarding in ssh</title><content type='html'>To enable X forwarding, try the following command&lt;br /&gt;ssh -X xxx.xxx.xxx.xxx&lt;br /&gt;&lt;br /&gt;than we can launch a program with GUI through ssh.&lt;br /&gt;&lt;br /&gt;Sometimes it does not work as expected, check the DISPLAY environment variable.&lt;br /&gt;&lt;br /&gt;export DISPLAY=:10.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-5822301968958267036?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/5822301968958267036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=5822301968958267036' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5822301968958267036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5822301968958267036'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/03/x-forwarding-in-ssh.html' title='X forwarding in ssh'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-7545867744311759645</id><published>2010-03-31T06:40:00.000-07:00</published><updated>2010-03-31T06:41:52.820-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>duplicate a new table in Oracle</title><content type='html'>create table [new table name] as select * from [table name]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-7545867744311759645?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/7545867744311759645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=7545867744311759645' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/7545867744311759645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/7545867744311759645'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/03/duplicate-new-table-in-oracle.html' title='duplicate a new table in Oracle'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-1904573559090056061</id><published>2010-03-17T02:11:00.000-07:00</published><updated>2010-03-17T02:14:17.673-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Remove VirtualBox lock</title><content type='html'>The lock file of VirtualBox is placed in&lt;br /&gt;/tmp/.vbox-[user name]-ipc&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-1904573559090056061?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/1904573559090056061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=1904573559090056061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/1904573559090056061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/1904573559090056061'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/03/remove-virtualbox-lock.html' title='Remove VirtualBox lock'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-5208171376827046008</id><published>2010-02-08T18:51:00.001-08:00</published><updated>2010-02-08T18:51:56.579-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>default apache2 username on Debian</title><content type='html'>www-data&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-5208171376827046008?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/5208171376827046008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=5208171376827046008' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5208171376827046008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5208171376827046008'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/02/default-apache2-username-on-debian.html' title='default apache2 username on Debian'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-9152740785892279973</id><published>2010-01-12T05:09:00.000-08:00</published><updated>2010-01-12T16:06:43.532-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>fighting with oci8 - apache2 + php5 + Oracle</title><content type='html'>Connecting to the Oracle database by using apache2 + php5 is simple -- if you already know all the traps along the way.&lt;br /&gt;&lt;br /&gt;In order to connect to the Oracle database with my apache2 and php5, I've read several tutorials. Many thanks for them.&lt;br /&gt;&lt;br /&gt;I want to talk about my experience -- everything is done correctly, but the phpinfo() still shows no oci8 information.&lt;br /&gt;&lt;br /&gt;First, you should take a look at the error log of apache in /var/log.&lt;br /&gt;In my case, my error log shows &lt;blockquote&gt;PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/200    60613+lfs/oci8.so' - libaio.so.1: cannot open shared object file: No such fi    le or directory in Unknown on line 0&lt;/blockquote&gt;&lt;br /&gt;The log already told me the answer, all I had to do is to install the lobaio.so. I did so and solved the problem.&lt;br /&gt;&lt;br /&gt;Another way to discover the problem is to use the ldd command to exam the oci8.so.&lt;br /&gt;&lt;blockquote&gt; linux-gate.so.1 =&gt;  (0xb7fb3000)&lt;br /&gt; libclntsh.so.11.1 =&gt; /opt/oracle/instantclient/libclntsh.so.11.1 (0xb627b000)&lt;br /&gt; libc.so.6 =&gt; /lib/i686/cmov/libc.so.6 (0xb610e000)&lt;br /&gt; libnnz11.so =&gt; /opt/oracle/instantclient/libnnz11.so (0xb5ec0000)&lt;br /&gt; libdl.so.2 =&gt; /lib/i686/cmov/libdl.so.2 (0xb5ebc000)&lt;br /&gt; libm.so.6 =&gt; /lib/i686/cmov/libm.so.6 (0xb5e96000)&lt;br /&gt; libpthread.so.0 =&gt; /lib/i686/cmov/libpthread.so.0 (0xb5e7d000)&lt;br /&gt; libnsl.so.1 =&gt; /lib/i686/cmov/libnsl.so.1 (0xb5e64000)&lt;br /&gt; /lib/ld-linux.so.2 (0xb7fb4000)&lt;br /&gt; libaio.so.1 =&gt; not found&lt;/blockquote&gt;&lt;br /&gt;It showed the same problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-9152740785892279973?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/9152740785892279973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=9152740785892279973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/9152740785892279973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/9152740785892279973'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/01/fighting-with-oci8-apache2-php5-oracle.html' title='fighting with oci8 - apache2 + php5 + Oracle'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-2131509965072894965</id><published>2010-01-05T04:59:00.000-08:00</published><updated>2010-01-05T20:15:04.261-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rrdtool'/><title type='text'>rrdtool - every data is a rate!</title><content type='html'>This article is about understanding the rate calculating in the rrdtool.&lt;br /&gt;&lt;br /&gt;I'm doing a SA project recently. We get the RTTs(round-trip time) by the ping command and write the RTT to a rrd file, print out the graph, ...&lt;br /&gt;&lt;br /&gt;More information about the rrdtool can be found on their website.&lt;br /&gt;http://oss.oetiker.ch/rrdtool/&lt;br /&gt;&lt;br /&gt;I first created a rrd file:&lt;br /&gt;rrdtool create F.rrd    \&lt;br /&gt;--step 10   \&lt;br /&gt;DS:rtt1:GAUGE:20:0:U    \&lt;br /&gt;RRA:MAX:0.5:1:35712&lt;br /&gt;&lt;br /&gt;Then, I updated some values to the F.rrd file. A interesting fact is that when I update the value at exact the time step (say 10, 20, 30, etc.), I'll have a accurate value.&lt;br /&gt;&lt;br /&gt;# rrdtool update F 1262733290:3&lt;br /&gt;# rrdtool update F 1262733300:4&lt;br /&gt;# rrdtool update F 1262733310:5&lt;br /&gt;# rrdtool update F 1262733320:6&lt;br /&gt;&lt;br /&gt;1262733300: 4.0000000000e+00&lt;br /&gt;1262733310: 5.0000000000e+00&lt;br /&gt;1262733320: 6.0000000000e+00&lt;br /&gt;&lt;br /&gt;OK, there is a thing called "heartbeat" in the rddtool, it helps the updates that occur at a not-accurate timestamps. For example, if we update a value at time 1262733331, the rrdtool will put the value to 1262733330. It's a nice feature, since there is always some delays in the networking world.&lt;br /&gt;&lt;br /&gt;Let's take a look&lt;br /&gt;&lt;br /&gt;# rrdtool update F 1262733331:7&lt;br /&gt;# rrdtool update F 1262733340:8&lt;br /&gt;&lt;br /&gt;1262733330: 7.0000000000e+00&lt;br /&gt;1262733340: 7.9000000000e+00&lt;br /&gt;&lt;br /&gt;As you can see, the value 7 is updated at 1262733331 but is shifted to 126273330 in the rrd file. But what happened with the next update at 1262733340? We update 8 but the rrd file recorded 7.9. Strange, right?&lt;br /&gt;&lt;br /&gt;Here is how 7.9 comes out: since rrdtool treats every data as a rate, if there are more than one samples before a time step, rrdtool tries to calculate the average rate of all the samples before the time step (after the previous time step, of course).&lt;br /&gt;&lt;br /&gt;previous time step: 1262733330&lt;br /&gt;when we update 7 at 1262733331; 8 at 1262733340.&lt;br /&gt;the calculation is&lt;br /&gt;(7 * (1262733331 - 1262733330) +&lt;br /&gt;8 * (1262733340 - 1262733331) ) / 10 = 7.9&lt;br /&gt;&lt;br /&gt;Here is a figure to help understanding:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_M5pZUuQ3Gew/S0PPYkA_XzI/AAAAAAAAFNQ/pkVNFgf8pqM/s1600-h/Diagram1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 189px;" src="http://3.bp.blogspot.com/_M5pZUuQ3Gew/S0PPYkA_XzI/AAAAAAAAFNQ/pkVNFgf8pqM/s400/Diagram1.png" alt="" id="BLOGGER_PHOTO_ID_5423406397175848754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;OK, Let's do the math with another example:&lt;br /&gt;&lt;br /&gt;# rrdtool update F 1262733341:54&lt;br /&gt;# rrdtool update F 1262733342:3&lt;br /&gt;# rrdtool update F 1262733347:31&lt;br /&gt;# rrdtool update F 1262733350:3&lt;br /&gt;&lt;br /&gt;To find out the average value at 1262733350:&lt;br /&gt;previous time step: 1262733340&lt;br /&gt;(54 * (1262733341 - 1262733340) +&lt;br /&gt;3 * (1262733342 - 1262733341) +&lt;br /&gt;31 * (1262733347 - 1262733342) +&lt;br /&gt;3 * (1262733350 - 1262733347)) / 10 = 22.1&lt;br /&gt;&lt;br /&gt;Read the rrd file to verify our answer:&lt;br /&gt;1262733350: 2.2100000000e+01&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_M5pZUuQ3Gew/S0P-dl2QQUI/AAAAAAAAFNg/wbw_ILJcMhs/s1600-h/Diagram2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 254px;" src="http://4.bp.blogspot.com/_M5pZUuQ3Gew/S0P-dl2QQUI/AAAAAAAAFNg/wbw_ILJcMhs/s400/Diagram2.png" alt="" id="BLOGGER_PHOTO_ID_5423458160613540162" border="0" /&gt;&lt;/a&gt;It's a perfect match. :-)&lt;br /&gt;&lt;br /&gt;I hope this article can help someone who has the same question as I did.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-2131509965072894965?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/2131509965072894965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=2131509965072894965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/2131509965072894965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/2131509965072894965'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2010/01/rrdtool-every-data-is-rate.html' title='rrdtool - every data is a rate!'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_M5pZUuQ3Gew/S0PPYkA_XzI/AAAAAAAAFNQ/pkVNFgf8pqM/s72-c/Diagram1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-6738027856666335362</id><published>2009-12-30T19:16:00.000-08:00</published><updated>2009-12-30T19:17:46.744-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Config language - sqldeveloper</title><content type='html'>sqldeveloper\sqldeveloper\bin\sqldeveloper.config &lt;p&gt;AddVMOption -Duser.language=en&lt;br /&gt;AddVMOption -Duser.region=US&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-6738027856666335362?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/6738027856666335362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=6738027856666335362' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/6738027856666335362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/6738027856666335362'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2009/12/config-language-sqldeveloper.html' title='Config language - sqldeveloper'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-7836022040382649688</id><published>2009-12-13T04:13:00.000-08:00</published><updated>2010-04-11T00:20:34.363-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>double fork to avoid zombie process</title><content type='html'>It is a common mistake to fork a child process without calling waitpid() to wait for the termination of the child process. Without a wait() call, the child process will become a zombie process after its termination because its parent process does not cleanup its process information in the system. A zombie process occupies a pid in the system, decrease the available pids in the system. Zombies are mark as "defunct" if you check the process by the "ps" command.&lt;br /&gt;&lt;br /&gt;However, sometimes we do not want the parent process to wait for its child process for a long time. There is a way to achieve both "not create zombie process" and "not wait for the child process to its termination", and the way is to do a double fork.&lt;br /&gt;&lt;br /&gt;The idea is simple, when a parent process (say A) want to fork a child process to do "something". Process A does not fork a process to do "something" directly. Process A first forks a child process (say B), and process then forks its child process (say C) to do "something" and process B terminates as soon as process C is created. In this way, process A only has to wait for process B for a short time. In the same time, since it has no parent process (process B is dead), the system will "rechild" process C to the init process. The init process calls wait() for its child process, solving the zombie process problem.&lt;br /&gt;&lt;br /&gt;The program looks like&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;void func()&lt;br /&gt;{&lt;br /&gt;     pit_t pid1;&lt;br /&gt;     pit_t pid2;&lt;br /&gt;     int status;&lt;br /&gt;&lt;br /&gt;     if (pid1 = fork()) {&lt;br /&gt;             /* parent process A */&lt;br /&gt;             waitpid(pid1, &amp;amp;status, NULL);&lt;br /&gt;     } else if (!pit1) {&lt;br /&gt;             /* child process B */&lt;br /&gt;             if (pid2 = fork()) {&lt;br /&gt;                     exit(0);&lt;br /&gt;             } else if (!pid2) {&lt;br /&gt;                     /* child process C */&lt;br /&gt;                     execvp("something");&lt;br /&gt;             } else {&lt;br /&gt;                     /* error */&lt;br /&gt;             }&lt;br /&gt;     } else {&lt;br /&gt;             /* error */&lt;br /&gt;     }&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-7836022040382649688?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/7836022040382649688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=7836022040382649688' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/7836022040382649688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/7836022040382649688'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2009/12/double-fork-to-avoid-zombie-process.html' title='double fork to avoid zombie process'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-1082671697920746934</id><published>2009-12-07T05:26:00.000-08:00</published><updated>2009-12-07T05:47:49.151-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash programming'/><title type='text'>kill all child process</title><content type='html'>killtree () {&lt;br /&gt;        for child in $(ps -o pid= --ppid $1)&lt;br /&gt;       do&lt;br /&gt;               killtree $child&lt;br /&gt;       done&lt;br /&gt;       echo "kill -9 $1"&lt;br /&gt;       kill -9 $1 2&gt;/dev/null&lt;br /&gt;}&lt;br /&gt;killtree     {some pid}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-1082671697920746934?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/1082671697920746934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=1082671697920746934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/1082671697920746934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/1082671697920746934'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2009/12/kill-all-child-process.html' title='kill all child process'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-262677852590426021</id><published>2009-12-07T05:08:00.000-08:00</published><updated>2009-12-07T05:25:32.800-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash programming'/><title type='text'>read line in bash script</title><content type='html'>It is very easy to read "words" in a bash script. But what if you want to read a line in a text file? I have this problem today, After some googling, I found a interesting way to do this.&lt;br /&gt;&lt;br /&gt;while read l&lt;br /&gt;do&lt;br /&gt;echo $l&lt;br /&gt;done &lt; xxx.txt&lt;br /&gt;&lt;br /&gt;It use the xxx.txt as input, and the read command in bash will read the input line by line.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-262677852590426021?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/262677852590426021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=262677852590426021' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/262677852590426021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/262677852590426021'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2009/12/read-line-in-bash-script.html' title='read line in bash script'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-5143301734183303107</id><published>2009-12-07T04:59:00.000-08:00</published><updated>2009-12-07T05:08:44.846-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>linux 802.1q support</title><content type='html'>In the previous article "vlan tag under vmware/virtualbox", I found that the e1000 network driver cannot insert vlan tag to frames.  In this article I want to tell you that I WAS WRONG.&lt;br /&gt;&lt;br /&gt;After some experiments, I found that the e1000 driver does insert the vlan tag into the frames. The problem is that the e1000 driver automatically remove vlan tags when receiving incoming frames before I was trying to read the incoming frames by tcpdump.&lt;br /&gt;&lt;br /&gt;So, we can now use liunx + 802.1q module to communicate with vlan members.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-5143301734183303107?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/5143301734183303107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=5143301734183303107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5143301734183303107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5143301734183303107'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2009/12/linux-8021q-support.html' title='linux 802.1q support'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-7656523770024791045</id><published>2009-11-15T20:39:00.000-08:00</published><updated>2009-11-15T20:56:56.876-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>vlan tag under vmware/virtualbox</title><content type='html'>When I was trying to add a vlan tag on my network traffic, I found that the tcpdump can read the correct vlan id information when I was using VMware or Virtualbox, but it failed to read that on my host machine.&lt;br /&gt;&lt;br /&gt;After a lot of googling and test, I found that the Intel Pro/1000 driver has a bug that it automically filter the vlan tag. The reason that VMware and Virtualbox worded fine is that they do not have a Intel Pro/1000 NIC (network interface card).&lt;br /&gt;&lt;br /&gt;I will keep my work on the virtual machines. To test the vlan feature:&lt;br /&gt;&lt;br /&gt;promote&gt; vconfig add eth0 101&lt;br /&gt;add a vlan interface named eth0.101&lt;br /&gt;promote&gt; ifconfig eth0.101 10.0.0.7/24 up&lt;br /&gt;give eth0.101 a ip and active it&lt;br /&gt;promote&gt; ping -I eth0.101 xxx.xxx.xxx.xxx&lt;br /&gt;ping a ip through eth0.101&lt;br /&gt;&lt;br /&gt;we can dump the packet via tcpdump&lt;br /&gt;promote&gt; tcpdump -ne -i eth0 -xx&lt;br /&gt;&lt;br /&gt;you can see output message like:&lt;br /&gt;&lt;br /&gt;12:54:08.887252 00:0c:29:6f:2e:e2 &gt; Broadcast, ethertype 802.1Q (&lt;span style="color: rgb(51, 102, 255);"&gt;0x8100&lt;/span&gt;), length 46: &lt;span style="color: rgb(255, 0, 0);"&gt;vlan 101&lt;/span&gt;, p 0, ethertype ARP, arp who-has 23.24.4.43 tell 10.0.0.7&lt;br /&gt;0x0000:  ffff ffff ffff 000c 296f 2ee2 &lt;span style="color: rgb(51, 51, 255);"&gt;8100&lt;/span&gt; 0&lt;span style="color: rgb(255, 0, 0);"&gt;065&lt;/span&gt;&lt;br /&gt;0x0010:  0806 0001 0800 0604 0001 000c 296f 2ee2&lt;br /&gt;0x0020:  0a00 0007 0000 0000 0000 1718 042b&lt;br /&gt;&lt;br /&gt;where the rea-marked bits are the valn id.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-7656523770024791045?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/7656523770024791045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=7656523770024791045' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/7656523770024791045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/7656523770024791045'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2009/11/vlan-tag-under-vmwarevirtualbox.html' title='vlan tag under vmware/virtualbox'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-5072129792316484199</id><published>2009-11-12T05:23:00.001-08:00</published><updated>2009-11-12T05:23:48.350-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Virtualbox share folder with linux</title><content type='html'>mount -t vboxsf [-o OPTIONS] sharename mountpoint&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-5072129792316484199?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/5072129792316484199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=5072129792316484199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5072129792316484199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5072129792316484199'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2009/11/virtualbox-share-folder-with-linux.html' title='Virtualbox share folder with linux'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-8531795167667941583</id><published>2009-11-09T05:48:00.001-08:00</published><updated>2009-11-09T05:48:38.111-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>wvdial - using SE w980</title><content type='html'>[Dialer Defaults]&lt;br /&gt;Phone = *99#&lt;br /&gt;APN = internet&lt;br /&gt;Stupid Mode = yes&lt;br /&gt;Dial Command = ATDT&lt;br /&gt;Modem = /dev/ttyACM0&lt;br /&gt;Baud = 460800&lt;br /&gt;;Init1 = AT+CPIN=0000&lt;br /&gt;Init2 = ATZ&lt;br /&gt;Init3 = ATQ0 V1 E1 S0=0 &amp;C1 &amp;D2 +FCLASS=0&lt;br /&gt;Init4 = AT+cgdcont=1,"IP","internet"&lt;br /&gt;Password = internet&lt;br /&gt;Username = internet&lt;br /&gt;New PPPD = yes&lt;br /&gt;ISDN = 0&lt;br /&gt;Modem Type = USB Modem&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-8531795167667941583?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/8531795167667941583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=8531795167667941583' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/8531795167667941583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/8531795167667941583'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2009/11/wvdial-using-se-w980.html' title='wvdial - using SE w980'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-3763657558766781173</id><published>2009-11-04T15:06:00.000-08:00</published><updated>2009-11-04T15:08:41.569-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>adobe plash plug-in for firefox</title><content type='html'>1)download the plash player (.tar.gz) from adobe's website.&lt;br /&gt;2)decompress the file.&lt;br /&gt;3)cp the libflashplayer.so to ./mozille/plugins&lt;br /&gt;4)enable the plug-in in the add-on menu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-3763657558766781173?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/3763657558766781173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=3763657558766781173' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/3763657558766781173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/3763657558766781173'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2009/11/adobe-plash-plug-in-for-firefox.html' title='adobe plash plug-in for firefox'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-9125855147916880861</id><published>2009-10-31T18:54:00.001-07:00</published><updated>2009-10-31T18:55:05.237-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Java indneting in Vim</title><content type='html'>edit the .vimrc file:&lt;br /&gt;&lt;br /&gt;autocmd BufReadPost *.java set si&lt;br /&gt;autocmd BufReadPost *.java set cino+=j1&lt;br /&gt;&lt;br /&gt;or simply&lt;br /&gt;set si&lt;br /&gt;set cino+=j1&lt;br /&gt;&lt;br /&gt;NOTE: cino is the abbr for cinoptions&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-9125855147916880861?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/9125855147916880861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=9125855147916880861' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/9125855147916880861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/9125855147916880861'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2009/10/java-indneting-in-vim.html' title='Java indneting in Vim'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-4209008212170717670</id><published>2009-10-30T02:51:00.000-07:00</published><updated>2009-10-30T02:52:44.705-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>make iso</title><content type='html'>make iso from cdrom/dvd:&lt;br /&gt;&lt;br /&gt;dd if=/dev/cdrom of=xxx.iso&lt;br /&gt;&lt;br /&gt;make iso from directory:&lt;br /&gt;&lt;br /&gt;mkisofs -o /tmp/cd.iso /tmp/directory/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-4209008212170717670?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/4209008212170717670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=4209008212170717670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/4209008212170717670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/4209008212170717670'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2009/10/make-iso.html' title='make iso'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7483985863399572618.post-5761067269833604822</id><published>2009-10-30T01:57:00.001-07:00</published><updated>2009-11-15T20:55:22.691-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>vbox share fold</title><content type='html'>connect to the share folder in virtualbox: (guest OS: windowsXP)&lt;br /&gt;x: \\vboxsvr\sharename&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7483985863399572618-5761067269833604822?l=thinkiii.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkiii.blogspot.com/feeds/5761067269833604822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7483985863399572618&amp;postID=5761067269833604822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5761067269833604822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7483985863399572618/posts/default/5761067269833604822'/><link rel='alternate' type='text/html' href='http://thinkiii.blogspot.com/2009/10/vbox-share-fold.html' title='vbox share fold'/><author><name>Miles MH Chen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='4' src='http://bp1.blogger.com/_M5pZUuQ3Gew/R9ygeikhbVI/AAAAAAAABdk/vanbu8GbSD4/S220/mail.png'/></author><thr:total>0</thr:total></entry></feed>
