<?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-8472483064792584047</id><updated>2011-12-10T18:39:16.531-08:00</updated><category term='Kalway'/><category term='Vista'/><category term='Research'/><category term='Listmania'/><category term='XP'/><category term='dual'/><category term='Vision'/><category term='Driver'/><category term='Windows'/><category term='DTM'/><category term='Test'/><category term='OSX86'/><category term='Leopard'/><category term='Boot'/><category term='Programming'/><category term='Summary'/><category term='Life'/><category term='Mac'/><category term='Fujitsu'/><category term='Software'/><category term='server'/><category term='Ubuntu'/><category term='VIM'/><category term='SVN'/><category term='studio'/><title type='text'>Lono's Fixme</title><subtitle type='html'>See how I fix my computer...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default?start-index=101&amp;max-results=100'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>114</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-9190526656263985963</id><published>2011-12-10T18:37:00.000-08:00</published><updated>2011-12-10T18:39:16.680-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Open source software for Windows Mobile</title><content type='html'>&lt;br /&gt;Just played around my phone, and saw a list of "software disclaimer", that includes:&lt;br /&gt;&lt;ol&gt;&lt;li&gt; Boost &lt;/li&gt;&lt;li&gt; FreeImage &lt;/li&gt;&lt;li&gt; Lua &lt;/li&gt;&lt;li&gt; Luabind &lt;/li&gt;&lt;li&gt; OpenGL &lt;/li&gt;&lt;li&gt; STLPort 5.0 &lt;/li&gt;&lt;li&gt; RapidXML &lt;/li&gt;&lt;li&gt; SWIG &lt;/li&gt;&lt;li&gt; BString&lt;/li&gt;&lt;/ol&gt;It seems that open source softwares are something that all developers should know.Especially non-GPL ones&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-9190526656263985963?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/9190526656263985963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=9190526656263985963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/9190526656263985963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/9190526656263985963'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2011/12/open-source-software-for-windows-mobile.html' title='Open source software for Windows Mobile'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-2464899205939565851</id><published>2011-11-17T16:18:00.000-08:00</published><updated>2011-11-17T16:18:31.203-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>My Google Chrome extensions</title><content type='html'>Here is the list of my Chrome extensions:&lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;&lt;a href="https://chrome.google.com/webstore/detail/mihcahmgecmbnbcchbopgniflfhgnkff"&gt;Google Mail Checker&lt;/a&gt;&lt;br /&gt;2.&amp;nbsp;&lt;a href="https://chrome.google.com/webstore/detail/mgijmajocgfcbeboacabfgobmjgjcoja"&gt;Google Dictionary&lt;/a&gt;&lt;br /&gt;3.&amp;nbsp;&lt;a href="https://chrome.google.com/webstore/detail/jdnejaepfmacfdmhkplckpfdcjgbeode"&gt;Yet Another Google Bookmarks Extension&lt;/a&gt;&lt;br /&gt;4.&amp;nbsp;&lt;a href="https://chrome.google.com/webstore/detail/pioclpoplcdbaefihamjohnefbikjilc"&gt;Evernote&lt;/a&gt;&amp;nbsp;: Google Notebook is the best online notebook, but Google has stopped to its support. Evernote is an acceptable replacement, but not as easy-to-use as Google Notebook.&amp;nbsp;Evernote&amp;nbsp;is my temporary solution for now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-2464899205939565851?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/2464899205939565851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=2464899205939565851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2464899205939565851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2464899205939565851'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2011/11/my-google-chrome-extensions.html' title='My Google Chrome extensions'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-7698083805841292544</id><published>2011-11-17T15:58:00.000-08:00</published><updated>2011-11-17T15:58:49.017-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Goodbye Firefox!!!</title><content type='html'>Firefox was a good browser. However, the newer versions of Firefox have very poor compatibility with existing extensions. I am tired of finding new extensions for every new update. New technologies should help us finish our tasks efficiently, instead of giving us more tasks to do.&lt;br /&gt;&lt;br /&gt;My #1 candidate for browser is Google Chrome. It&amp;nbsp;is fast, stable and has the replacements for all of &amp;nbsp;my current Firefox extensions. Good job Google!&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/8472483064792584047-7698083805841292544?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/7698083805841292544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=7698083805841292544' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7698083805841292544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7698083805841292544'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2011/11/goodbye-firefox.html' title='Goodbye Firefox!!!'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-6021545356791931647</id><published>2011-07-11T23:04:00.000-07:00</published><updated>2011-07-11T23:04:54.013-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>A Sleep function for VIM</title><content type='html'>I need to let VIM wait for cscope.exe to rebuild the tag file, but there are no build-in sleep function for VIM, so I made one here: &lt;br /&gt;&lt;br /&gt;&lt;code&gt;"a sleep function which allows vim to wait for the other processes to finish&lt;br /&gt;com! -complete=command -nargs=+ Sleep call s:Sleep(&amp;lt;q-args&amp;gt;)&lt;br /&gt;fun! s:Sleep(millisec)&lt;br /&gt;&amp;nbsp  let ct = localtime()&lt;br /&gt;&amp;nbsp   let dt = 0&lt;br /&gt;&amp;nbsp   while dt &amp;lt; (a:millisec/1000)&lt;br /&gt;&amp;nbsp &amp;nbsp     let dt = localtime() - ct&lt;br /&gt;&amp;nbsp   endwhile&lt;br /&gt;endfun&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Just put it into your _vimrc.&lt;br /&gt;To invoke it, type ":Sleep 10000" to let VIM wait for 10 secs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-6021545356791931647?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/6021545356791931647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=6021545356791931647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6021545356791931647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6021545356791931647'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2011/07/sleep-function-for-vim.html' title='A Sleep function for VIM'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-5300706438259441943</id><published>2011-04-01T12:55:00.000-07:00</published><updated>2011-04-01T12:55:30.013-07:00</updated><title type='text'>igoogle gadget malfunction</title><content type='html'>After my firefox is upgraded to 3.6.16, the igoogle compound gadget suddenly disappears, and all of my gadget spreads all over my igoogle homepage.I tried to add it back, but the system says "The Compound gadget is no longer supported and the individual gadgets that it contained have been added to your iGoogle page."&lt;br /&gt;&lt;br /&gt;Solution: delete all cookies in my firefox.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-5300706438259441943?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/5300706438259441943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=5300706438259441943' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5300706438259441943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5300706438259441943'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2011/04/igoogle-gadget-malfunction.html' title='igoogle gadget malfunction'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-1358560674982048711</id><published>2010-11-20T13:19:00.000-08:00</published><updated>2010-11-21T14:27:20.135-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntu notes</title><content type='html'>Install GVIM: sudo apt-get install gnome-vim&lt;br /&gt;Install boost: sudo apt-get install libboost*&lt;br /&gt;&lt;br /&gt;Link a boost library: g++ -lboost_filesystem&lt;br /&gt;Location of boost header: /usr/include&lt;br /&gt;Location of boost lib: /usr/lib&lt;br /&gt;&lt;br /&gt;Modify "autoexec.bat": sudo vim /etc/profile&lt;br /&gt;Modify environment variable: export RCSSBASEDIR=/home/username/rcss&lt;br /&gt;&lt;br /&gt;Remove resource limitation: ulimit -s unlimited&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-1358560674982048711?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/1358560674982048711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=1358560674982048711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1358560674982048711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1358560674982048711'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/11/ubuntu-notes.html' title='Ubuntu notes'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-4140969281808263482</id><published>2010-08-05T22:41:00.001-07:00</published><updated>2010-08-05T22:43:40.891-07:00</updated><title type='text'>Draw confusion matrix in Matlab</title><content type='html'>imagesctext(0, 1, 'label')colormap(gray)colorbaraxis offTBD....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-4140969281808263482?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/4140969281808263482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=4140969281808263482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4140969281808263482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4140969281808263482'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/08/draw-confusion-matrix-in-matlab.html' title='Draw confusion matrix in Matlab'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-9057161592071744944</id><published>2010-06-25T13:35:00.001-07:00</published><updated>2010-06-25T13:40:56.541-07:00</updated><title type='text'>My neocomplcache setting</title><content type='html'>As requested, here is my .vimrc setting for &lt;a href="http://www.vim.org/scripts/script.php?script_id=2620"&gt;neocomplcache&lt;/a&gt;.&lt;br /&gt;Beware that the following setting works only for "ver.5" branch.&lt;br /&gt;You have to check it out from &lt;a href="http://github.com/Shougo/neocomplcache/tree/ver.5#"&gt;github&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;"------------------------------neocomplcache---------------------------------------&lt;br /&gt;&lt;br /&gt;" Use neocomplcache.&lt;br /&gt;let g:neocomplcache_enable_at_startup = 1&lt;br /&gt;" Use smartcase.&lt;br /&gt;let g:neocomplcache_enable_smart_case = 1&lt;br /&gt;" Use camel case completion.&lt;br /&gt;let g:neocomplcache_enable_camel_case_completion = 1&lt;br /&gt;" Use underbar completion.&lt;br /&gt;let g:neocomplcache_enable_underbar_completion = 1&lt;br /&gt;&lt;br /&gt;let g:neocomplcache_auto_completion_start_length = 3&lt;br /&gt;let g:neocomplcache_manual_completion_start_length = 3&lt;br /&gt;let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'&lt;br /&gt;&lt;br /&gt;" Define keyword.&lt;br /&gt;if !exists('g:neocomplcache_keyword_patterns')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; let g:neocomplcache_keyword_patterns = {}&lt;br /&gt;endif&lt;br /&gt;let g:neocomplcache_keyword_patterns['default'] = '\h\w*'&lt;br /&gt;&lt;br /&gt;" snippets expand key&lt;br /&gt;imap&amp;nbsp; &amp;lt;silent&amp;gt;&amp;lt;expr&amp;gt;&amp;lt;TAB&amp;gt;&amp;nbsp; neocomplcache#plugin#snippets_complete#expandable() ? "\&amp;lt;Plug&amp;gt;(neocomplcache_snippets_expand)" : (pumvisible() ? "\&amp;lt;C-e&amp;gt;" : "\&amp;lt;TAB&amp;gt;")&lt;br /&gt;"imap&amp;nbsp; &amp;lt;silent&amp;gt;&amp;lt;expr&amp;gt;&amp;lt;TAB&amp;gt;&amp;nbsp; neocomplcache#plugin#snippets_complete#expandable() ? "\&amp;lt;Plug&amp;gt;(neocomplcache_snippets_expand)" : "\&amp;lt;C-e&amp;gt;"&lt;br /&gt;smap&amp;nbsp; &amp;lt;TAB&amp;gt;&amp;nbsp; &amp;lt;RIGHT&amp;gt;&amp;lt;Plug&amp;gt;(neocomplcache_snippets_jump)&lt;br /&gt;inoremap &amp;lt;expr&amp;gt;&amp;lt;C-e&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; neocomplcache#complete_common_string()&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-9057161592071744944?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/9057161592071744944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=9057161592071744944' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/9057161592071744944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/9057161592071744944'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/06/my-neocomplcache-setting.html' title='My neocomplcache setting'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-2360465628981716528</id><published>2010-06-17T16:25:00.000-07:00</published><updated>2011-03-10T16:43:23.352-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>SuperTab complete for neocomplcache</title><content type='html'>As I said in my previous &lt;a href="http://wrongpc.blogspot.com/2010/02/plugin-list-of-vim.html"&gt;post&lt;/a&gt;, &lt;a href="http://www.vim.org/scripts/script.php?script_id=2620"&gt;neocomplcache&lt;/a&gt; is a very powerful vim plugin.&lt;br /&gt;It incoporates the funtionality of &lt;a href="http://www.vim.org/scripts/script.php?script_id=2540"&gt;SnipMate &lt;/a&gt;and&amp;nbsp; &lt;a href="http://www.vim.org/scripts/script.php?script_id=1879"&gt;AutoComplPop&lt;/a&gt; while providing efficient search&lt;br /&gt;for potential completion items.&lt;br /&gt;&lt;br /&gt;However, &lt;a href="http://www.vim.org/scripts/script.php?script_id=182"&gt;SuperTab&lt;/a&gt; does not support neocomplcache. It is very bad since I like to tab complete&lt;br /&gt;everything, including snippets. &lt;b&gt;Here is the solution&lt;/b&gt; -- put the following in you .vimrc:&lt;br /&gt;&lt;code&gt;&lt;silent&gt;&lt;expr&gt;&lt;tab&gt;&lt;plug&gt;&lt;c-e&gt;&lt;tab&gt;imap&amp;nbsp; &amp;lt;silent&amp;gt;&amp;lt;expr&amp;gt;&amp;lt;tab&amp;gt;&amp;nbsp; neocomplcache#sources#snippets_complete#expandable() ? "\&amp;lt;plug&amp;gt;(neocomplcache_snippets_expand)" : (pumvisible() ? "\&amp;lt;c-e&amp;gt;" : "\&amp;lt;tab&amp;gt;")&lt;/tab&gt;&lt;/c-e&gt;&lt;/plug&gt;&lt;/tab&gt;&lt;/expr&gt;&lt;/silent&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;silent&gt;&lt;expr&gt;&lt;tab&gt;&lt;plug&gt;&lt;c-e&gt;&lt;tab&gt;smap&amp;nbsp; &amp;lt;tab&amp;gt;&amp;nbsp; &amp;lt;right&amp;gt;&amp;lt;plug&amp;gt;(neocomplcache_snippets_jump)&lt;tab&gt;&lt;right&gt;&lt;plug&gt;&amp;nbsp;&lt;/plug&gt;&lt;/right&gt;&lt;/tab&gt;&lt;/tab&gt;&lt;/c-e&gt;&lt;/plug&gt;&lt;/tab&gt;&lt;/expr&gt;&lt;/silent&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;silent&gt;&lt;expr&gt;&lt;tab&gt;&lt;plug&gt;&lt;c-e&gt;&lt;tab&gt;&lt;tab&gt;&lt;right&gt;&lt;plug&gt;inoremap &amp;lt;expr&amp;gt;&amp;lt;c-e&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; neocomplcache#complete_common_string()&lt;br /&gt;&lt;expr&gt;&lt;c-e&gt;&lt;/c-e&gt;&lt;/expr&gt;&lt;/plug&gt;&lt;/right&gt;&lt;/tab&gt;&lt;/tab&gt;&lt;/c-e&gt;&lt;/plug&gt;&lt;/tab&gt;&lt;/expr&gt;&lt;/silent&gt;&lt;/code&gt;&lt;br /&gt;The above setting allows you to trigger a snippet with "tab" key when possible. If not, it will simply trigger &lt;i&gt;omni completion&lt;/i&gt;. I set it to complete the longest common string. It is just a personal taste. You can set it to other type of completion as well.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;*Update 2010/12/11 for necomplcache V5.2 compatiblity &lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-2360465628981716528?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/2360465628981716528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=2360465628981716528' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2360465628981716528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2360465628981716528'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/06/supertab-complete-for-neocomplcache.html' title='SuperTab complete for neocomplcache'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-5703588739208653389</id><published>2010-05-20T19:37:00.000-07:00</published><updated>2010-05-20T19:37:39.037-07:00</updated><title type='text'>Access Windows XP files from Windows 7</title><content type='html'>I spent 4 hours today to figure out how to enable the file sharing of Windows XP.&lt;br /&gt;The key difficulty is that there are too many possible reasons to make the file sharing stop working.&lt;br /&gt;Microsoft should make it easier for such a common task.&lt;br /&gt;&lt;br /&gt;Basically, all you need is to follow the instruction from&lt;br /&gt;&lt;a href="http://www.crn.com/white-box/59200376"&gt;http://www.crn.com/white-box/59200376&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;"&gt;&lt;/span&gt;&lt;br /&gt;1. To enable the network Guest account on XP Home and Pro, click&amp;nbsp;&lt;b&gt;Start&lt;/b&gt;, click&amp;nbsp;&lt;b&gt;Run&lt;/b&gt;, type:&amp;nbsp;&lt;b&gt;net user guest /active:yes&lt;/b&gt;, and hit Enter.&lt;br /&gt;2. Ensure there is no password for the Guest account: click&amp;nbsp;&lt;b&gt;Start&lt;/b&gt;, click&amp;nbsp;&lt;b&gt;Run&lt;/b&gt;, type:&amp;nbsp;&lt;b&gt;control userpasswords2&lt;/b&gt;, and hit Enter. Click once on&amp;nbsp;&lt;b&gt;Guest&lt;/b&gt;, click&amp;nbsp;&lt;b&gt;Reset Password&lt;/b&gt;, and then click&amp;nbsp;&lt;b&gt;OK&lt;/b&gt;&amp;nbsp;without entering a new password.&lt;br /&gt;3. Be aware that Windows XP, when installed on an NTFS disk partition and using simple file sharing, blocks network access to the Program Files and Windows directories as well as users folders within the Documents and Settings directory. This behavior is by design.&lt;br /&gt;4. There are two registry keys to check on XP that have the potential to cause network headaches. The first is: HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Lsa&lt;br /&gt;5. Ensure that&amp;nbsp;&lt;b&gt;restrictanonymous&lt;/b&gt;&amp;nbsp;is set to 0. Ignore the&amp;nbsp;&lt;b&gt;restrictanonymoussam&lt;/b&gt;&amp;nbsp;entry that looks similar and may also appear.&lt;br /&gt;6. Older versions of Norton Anti-Virus set a value for IRPStacksize in the registry that is too low for XP. In fact, XP doesn't even need this registry key. If you have it in your registry, thank&amp;nbsp;Symantec&amp;nbsp;(NSDQ:&lt;a class="stockLink" href="http://www.crn.com/tools/quotes/index.jhtml?Page=QUOTE&amp;amp;Ticker=SYMC" style="color: #0b2795; text-decoration: none;" target="_blank"&gt;SYMC&lt;/a&gt;)&amp;nbsp;and then delete it. If you determine that the XP registry has this unneeded entry, check this registry location:&lt;br /&gt;HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Lanmanserver/Parameters. You can read more about this issue from&amp;nbsp;&lt;a href="http://service1.symantec.com/SUPPORT/tsgeninfo.nsf/docid/2000092713243506" style="color: #0b2795; text-decoration: none;"&gt;Symantec&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://support.microsoft.com/?kbid=177078" style="color: #0b2795; text-decoration: none;"&gt;Microsoft&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Basically, all you need is to follow the instruction from&lt;br /&gt;But it is not enough. You also need to turn "simple file sharing" on.&lt;br /&gt;&lt;br /&gt;from&amp;nbsp;&lt;a href="http://support.microsoft.com/?scid=kb;en-us;304040&amp;amp;x=5&amp;amp;y=10"&gt;http://support.microsoft.com/?scid=kb;en-us;304040&amp;amp;x=5&amp;amp;y=10&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 16px;"&gt;To turn Simple File Sharing on or off in Windows XP Professional, follow these steps:&lt;/span&gt;&lt;br /&gt;&lt;ol style="-webkit-box-sizing: border-box; position: relative;"&gt;&lt;li style="-webkit-box-sizing: border-box; position: relative;"&gt;Double-click&amp;nbsp;&lt;b style="-webkit-box-sizing: border-box;"&gt;My Computer&lt;/b&gt;&amp;nbsp;on the desktop.&lt;/li&gt;&lt;li style="-webkit-box-sizing: border-box; position: relative;"&gt;On the&amp;nbsp;&lt;b style="-webkit-box-sizing: border-box;"&gt;Tools&lt;/b&gt;&amp;nbsp;menu, click&amp;nbsp;&lt;b style="-webkit-box-sizing: border-box;"&gt;Folder Options&lt;/b&gt;.&lt;/li&gt;&lt;li style="-webkit-box-sizing: border-box; position: relative;"&gt;Click the&amp;nbsp;&lt;b style="-webkit-box-sizing: border-box;"&gt;View&lt;/b&gt;&amp;nbsp;tab, and then select the&amp;nbsp;&lt;strong class="uiterm" style="-webkit-box-sizing: border-box;"&gt;Use Simple File Sharing (Recommended)&lt;/strong&gt;check box to turn on Simple File Sharing. (Clear this check box to turn off this feature.)&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-5703588739208653389?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/5703588739208653389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=5703588739208653389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5703588739208653389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5703588739208653389'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/05/access-windows-xp-files-from-windows-7.html' title='Access Windows XP files from Windows 7'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-6885258776775220409</id><published>2010-03-14T12:49:00.000-07:00</published><updated>2010-03-14T12:49:00.171-07:00</updated><title type='text'>Why does nobody understand my work?</title><content type='html'>&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-6885258776775220409?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/6885258776775220409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=6885258776775220409' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6885258776775220409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6885258776775220409'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/03/why-does-nobody-understand-my-work.html' title='Why does nobody understand my work?'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3362432345055068028</id><published>2010-03-07T20:28:00.000-08:00</published><updated>2010-03-09T09:25:19.799-08:00</updated><title type='text'>Academic vs Real world</title><content type='html'>The Ideas I got&lt;br /&gt;&lt;br /&gt;token ring vs ethernet&lt;br /&gt;z buffer&lt;br /&gt;setero&lt;br /&gt;&lt;br /&gt;anymore?&lt;br /&gt;&lt;br /&gt;Try to prioritize your work based on what people's need.&lt;br /&gt;In academic world, researchers admire the feature-rich methods.&lt;br /&gt;For example: Token Ring vs Ethernet. (todo)&lt;br /&gt;&lt;br /&gt;It's clear that Token ring is the winner. However, in reality, it's Ethernet whichs dominates&lt;br /&gt;the world. The researchers seem to forget what they have learned in software engineering.&lt;br /&gt;Some features are nice-to-have, while some others are must-have. In the token ring example,&lt;br /&gt;bandwidth reserve is a nice-to-have, but easy-to-implement is a must have, since it direclty reflects the production cost of a hardware.&lt;br /&gt;&lt;br /&gt;Don't forget that we don't research just for research. The purpose of research is to satisfy people's needs. Try to prioritize your objective, or your work will end up nothing but a pile of papers in the archive of a library.&lt;br /&gt;&lt;br /&gt;next:胰島素vs tracking(survey on human) Enough is enough( what innovation's dilemma tells us) &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/8472483064792584047-3362432345055068028?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3362432345055068028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3362432345055068028' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3362432345055068028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3362432345055068028'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/03/academic-vs-real-world.html' title='Academic vs Real world'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-2312334162493388676</id><published>2010-03-06T07:35:00.001-08:00</published><updated>2010-03-06T07:38:42.451-08:00</updated><title type='text'>Open current folder from command line</title><content type='html'>&amp;nbsp;Put the following into ex.bat and place it in C:\windows&lt;br /&gt;and then you can type&lt;b&gt; &lt;i&gt;"ex ." &lt;/i&gt;&lt;/b&gt;to open the current folder from command line.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;@echo off&lt;br /&gt;start explorer %1&lt;br /&gt;echo on&amp;nbsp; &lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-2312334162493388676?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/2312334162493388676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=2312334162493388676' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2312334162493388676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2312334162493388676'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/03/open-current-folder-from-command-line.html' title='Open current folder from command line'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-8469675144892946941</id><published>2010-03-06T07:21:00.000-08:00</published><updated>2010-03-06T07:29:33.828-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>open files in new tabs of GVIM from command line</title><content type='html'>Name the following file &lt;b&gt;gvim.bat&lt;/b&gt;&lt;br /&gt;and put it into C:\Windows&lt;br /&gt;&lt;br /&gt;&lt;code&gt;@echo off&lt;br /&gt;start gvim.exe -p --remote-tab-silent "%1"&lt;br /&gt;echo on&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-8469675144892946941?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/8469675144892946941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=8469675144892946941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8469675144892946941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8469675144892946941'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/03/open-files-in-new-tab-of-gvim-from.html' title='open files in new tabs of GVIM from command line'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-8725743685089938053</id><published>2010-03-05T06:37:00.000-08:00</published><updated>2010-03-05T06:37:56.727-08:00</updated><title type='text'>Token Ring VS Ethernet</title><content type='html'>Which method is more elegant?&lt;br /&gt;Which method solves the problem?&lt;br /&gt;Which method contributes more to the world?&lt;br /&gt;&lt;br /&gt;to be continue...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-8725743685089938053?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/8725743685089938053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=8725743685089938053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8725743685089938053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8725743685089938053'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/03/token-ring-vs-ethernet.html' title='Token Ring VS Ethernet'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-7338263032138267869</id><published>2010-03-02T22:04:00.000-08:00</published><updated>2010-03-02T22:04:19.874-08:00</updated><title type='text'>UBC is an old school</title><content type='html'>&amp;nbsp;As a graduate student with a few years working experience, I felt like I am the oldest student in UBC. After staying here for two months, I gradually found that many students in UBC show extraordinary maturity, which is impossible for early-twenty young people to have. In the beginning, there are two first-year students told me they were software engineers before. Later, I found that many first year graduate students have almost&amp;nbsp; the same age as myself. Today, I was shocked by the fact that the three "young" girls in my class are&amp;nbsp; all above 27, and one of them is even above 30.&amp;nbsp; Why are there so many old students in UBC? They don't have to work!? &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-7338263032138267869?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/7338263032138267869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=7338263032138267869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7338263032138267869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7338263032138267869'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/03/ubc-is-old-school.html' title='UBC is an old school'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-8245899952243337614</id><published>2010-03-02T13:14:00.000-08:00</published><updated>2010-03-02T13:14:50.629-08:00</updated><title type='text'>Machine Learning Summary</title><content type='html'>A grand tool box for vision people&lt;br /&gt; &lt;br /&gt;chap 2&lt;br /&gt;Linear Regression with Maximum likelihood estimation&lt;br /&gt;Normal distribution&lt;br /&gt;Student T distribution : SGD(Stochastic Gradient Descent), EM(with Gaussian Scale Mixture)&lt;br /&gt;Lapalce distribution: Linear Programming, EM(with Gaussian Scale Mixture), or Huber Loss function&lt;br /&gt;&lt;br /&gt;Censor regression (Kevin: not a big deal, since it only move the line a slightly up, why there are hundreds paper on it?)&lt;br /&gt;&lt;br /&gt;chap 3&lt;br /&gt;Logistic Regression&lt;br /&gt;Objective: convex &lt;br /&gt;Parameter Estimation: no close form solution&lt;br /&gt;1. Newton method(IRLS)&lt;br /&gt;2. minfunc in Matlab&lt;br /&gt;&lt;br /&gt;always get optimal solution &lt;br /&gt;&lt;br /&gt;Multidim Regression: no big deal&lt;br /&gt;Probit Regression: convex objective, use Gradient Descent(minfunc) or EM(slow) to fit it. &lt;br /&gt;&lt;br /&gt;chap 4&lt;br /&gt;Model Selection&lt;br /&gt;1. Baysian Approach: P(D|M). Average the all possible theta to protect from overfitting. (need concrete example) &lt;br /&gt;2. BIC approximation. dof(M) can be estimated by minimum encoding of the model( information theory). Good if there are many models and there are some ways to get dof(m) from anther model dof(m')&lt;br /&gt;3. cross validation: not suitable when there are many candidate models, takes too much time&lt;br /&gt;&lt;br /&gt;L2 regularization:&lt;br /&gt;QR&lt;br /&gt;SVD&lt;br /&gt;Gradient&lt;br /&gt;&lt;br /&gt;L1 regularization(Lasso):&lt;br /&gt;Problem: Laplace is not differentiable at origin&lt;br /&gt;Sol: soft threshold to the point near origin&lt;br /&gt;problem of sol: not a unbiased estimator anymore&lt;br /&gt;sol of above: reestimate the nonzero w with Least Square( a unbiased estimator)&lt;br /&gt;&lt;br /&gt;Linear Programming(not editor of choice)&lt;br /&gt;LARS&lt;br /&gt;SCAD( not editor of choice): just a adhoc approach. cannot be put into baysian framework&lt;br /&gt;NEG: best but slow&lt;br /&gt;&lt;br /&gt;chap5&lt;br /&gt;Neural networks&lt;br /&gt;Non-convex&lt;br /&gt;Cascade linear and non-linear model( it has to be, or the different layer will collapse and become single linear layer)&lt;br /&gt;Use gradient descent to do estimation( back propagation algorithm)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;chap 12&lt;br /&gt;Generative model&lt;br /&gt;PI-&amp;gt;Yi-&amp;gt;Xi&lt;br /&gt;&lt;br /&gt;Discriminant Analysis&lt;br /&gt;p(x,y) pic here&lt;br /&gt;&lt;br /&gt;Discriminative method(logistic regression)&lt;br /&gt;p(x|y) pic here&lt;br /&gt;&lt;br /&gt;chap 13&lt;br /&gt;Feature selection:&lt;br /&gt;Forward Feature Selection:&lt;br /&gt;Greedy put one feature in( editor of choice, simple and better than stochastic approach like genetic algorithm, simulated annealing, ...)&lt;br /&gt;&lt;br /&gt;More prior:&lt;br /&gt;Normal Gamma: more spiky at origin, and flatter tail than Laplace&lt;br /&gt;&lt;br /&gt;chap 14&lt;br /&gt;Mixture Model&lt;br /&gt;PI-&amp;gt;Zi-&amp;gt;Xi&lt;br /&gt;Different from chap 12, since Zi is hidden(need to be inferred from EM), but Yi is given. &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/8472483064792584047-8245899952243337614?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/8245899952243337614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=8245899952243337614' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8245899952243337614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8245899952243337614'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/03/machine-learning-summary.html' title='Machine Learning Summary'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-7870304984257640856</id><published>2010-02-17T18:30:00.001-08:00</published><updated>2010-02-17T19:11:08.002-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>Hacking SuperTab.vim</title><content type='html'>I have been unhappy about the longest common text of auto-complete provided by VIM for a long long time.&lt;br /&gt;I try to find a good solution on the Internet, but all I got is&lt;br /&gt;Put&lt;br /&gt;&lt;code&gt;completeopt += menuone,longest&lt;/code&gt;&lt;br /&gt;in your .vimrc&lt;br /&gt;It does provide a longest common text of auto-complete FOR THE FIRST TIME. After I type one more character and press &amp;lt;tab&amp;gt;, it just starts to move on the popup menu. No more longest common text of all matches anymore.&lt;br /&gt;To work around this, I hacked the &lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=1643"&gt;SuperTab&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=7870304984257640856" name="idx001"&gt;&lt;/a&gt; to provide longest common text.&lt;br /&gt;Here is how:&lt;br /&gt;&lt;ol class="Ordered numeric"&gt;&lt;li class="Ordered-1 Ordered"&gt;        open supertab.vim in your /plugin directory    &lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;        find&lt;i&gt;&lt;b&gt; function! s:SuperTab(command)    &lt;/b&gt;&lt;/i&gt;&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;        change the code    &lt;/li&gt;&lt;/ol&gt;&lt;code&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp; " handle 'context' completion.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if b:complType == 'context'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; let complType = s:ContextCompletion()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if complType == ''&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exec "let complType = \"" .&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \ escape(g:SuperTabContextDefaultCompletionType, '&amp;lt;') . "\""&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endif&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt; &lt;i&gt;return complType . key&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; endif&lt;/code&gt;&lt;br /&gt;to&lt;br /&gt;&lt;code&gt;     &amp;nbsp;&amp;nbsp;&amp;nbsp; " handle 'context' completion.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if b:complType == 'context'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; let complType = s:ContextCompletion()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if complType == ''&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exec "let complType = \"" .&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \ escape(g:SuperTabContextDefaultCompletionType, '&amp;lt;') . "\""&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endif&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;if pumvisible()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "\&amp;lt;ESC&amp;gt;a" . complType . key &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return complType . key&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endif&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; endif&lt;esc&gt;&lt;/esc&gt;&lt;/code&gt;&lt;br /&gt;The idea is simple. Just close the popup menu each time users press &amp;lt;tab&amp;gt;&lt;tab&gt;, since VIM will do longest common text before the popup menu appears.&lt;/tab&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-7870304984257640856?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/7870304984257640856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=7870304984257640856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7870304984257640856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7870304984257640856'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/02/hacking-supertabvim.html' title='Hacking SuperTab.vim'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-6464772293700673091</id><published>2010-02-16T12:02:00.000-08:00</published><updated>2010-02-16T12:02:22.843-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Change Firefox Default Search Engine</title><content type='html'>1. Type &lt;layer id="google-toolbar-hilite-1" style="background-color: cyan; color: black;"&gt;about&lt;/layer&gt;:&lt;layer id="google-toolbar-hilite-2" style="background-color: magenta; color: black;"&gt;config&lt;/layer&gt; in &lt;layer id="google-toolbar-hilite-0" style="background-color: yellow; color: black;"&gt;Firefox&lt;/layer&gt; address bar&lt;br /&gt;2. Search for keyword.URL&lt;br /&gt;3. Change the URL to any search engine you want&lt;br /&gt;like the following&lt;br /&gt;data:text/plain,keyword.URL=http://www.google.com/search?hl=zh-TW&amp;amp;source=hp&amp;amp;q=&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-6464772293700673091?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/6464772293700673091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=6464772293700673091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6464772293700673091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6464772293700673091'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/02/change-firefox-default-search-engine.html' title='Change Firefox Default Search Engine'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3174503003207615796</id><published>2010-02-15T16:54:00.000-08:00</published><updated>2011-08-05T09:42:23.567-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>The plugin list of VIM</title><content type='html'>It's time to organize my VIM plugins&lt;br /&gt;&lt;h4 id="hd000000000001"&gt;My VIM Plugin Lists&lt;/h4&gt;&lt;ol class="Ordered numeric"&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=2540"&gt;&lt;s&gt;SnipMate&lt;/s&gt;&lt;/a&gt;&lt;/span&gt;&lt;s&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx001"&gt;&lt;/a&gt;          – provide TextMate like snippet.&amp;nbsp;&lt;/s&gt;&lt;b&gt;Use neocomplcache instead&lt;/b&gt;&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=1643"&gt;&lt;s&gt;SuperTab&lt;/s&gt;&lt;/a&gt;&lt;/span&gt;&lt;s&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx002"&gt;&lt;/a&gt;          – use tab to complete words or sentence&amp;nbsp;&lt;/s&gt;&amp;nbsp;&lt;b&gt;Use neocomplcache instead &amp;nbsp; &amp;nbsp;&lt;/b&gt;Can be &lt;a href="http://wrongpc.blogspot.com/2010/06/supertab-complete-for-neocomplcache.html"&gt;configured to use tab key&lt;/a&gt; to trigger the snippet and word complete at the same time. Very cool~~~&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=1984"&gt;FuzzyFinder&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx003"&gt;&lt;/a&gt;       – find files and functions in an instant&amp;nbsp;&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;a href="http://www.vim.org/scripts/script.php?script_id=3252"&gt;L9&lt;/a&gt; – required for new version of FuzzyFinder&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=23"&gt;EnhancedCommentify&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx004"&gt;&lt;/a&gt;– comment and uncomment a piece of codes with single keystroke&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=987"&gt;DoxygenToolkit&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx005"&gt;&lt;/a&gt;    – generate function comment&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=31"&gt;a.vim&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx006"&gt;&lt;/a&gt;             – switch between .cpp and .h files&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;strike&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=864"&gt;visual_studio.vim&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx007"&gt;&lt;/a&gt; – compile VS files in VIM &lt;/strike&gt;&lt;b&gt;Not compatible with VS2010,&amp;nbsp; &lt;/b&gt;&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=1520"&gt;&lt;s&gt;omnicppcomplete&lt;/s&gt;&lt;/a&gt;&lt;/span&gt;&lt;s&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx008"&gt;&lt;/a&gt;   – complete c++ files&lt;/s&gt;&amp;nbsp;&lt;b&gt;Use neocomplcache instead&lt;/b&gt;&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=1697"&gt;surround.vim&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx009"&gt;&lt;/a&gt;      – make hello_world to "hello_world" with few key strokes &lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=2136"&gt;repeat.vim&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx0010"&gt;&lt;/a&gt;        – make "surround" operation repeatable(with ".")&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://vim-latex.sourceforge.net/"&gt;vim-latex&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx0011"&gt;&lt;/a&gt;         – latex syntax support&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=1634"&gt;matlab_run.vim&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx0012"&gt;&lt;/a&gt;    – run matlab script in vim&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;a href="http://www.mathworks.com/matlabcentral/fileexchange/21798-editing-matlab-files-in-vim"&gt;matlab plugin for vim&lt;/a&gt; – provide syntax highlighting and indention of matlab&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=1863"&gt;&lt;s&gt;tlib&lt;/s&gt;&lt;/a&gt;&lt;/span&gt;&lt;s&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx0013"&gt;&lt;/a&gt;              – provides utilities for viki&amp;nbsp;&lt;/s&gt;&lt;b&gt;Use AsciiDoc instead&lt;/b&gt;&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=861"&gt;&lt;s&gt;viki&lt;/s&gt;&lt;/a&gt;&lt;/span&gt;&lt;s&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx0014"&gt;&lt;/a&gt;              – support viki ( a kind of wiki language )&amp;nbsp;&lt;/s&gt;&lt;b&gt;Use AsciiDoc instead&lt;/b&gt;&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;a href="http://www.vim.org/scripts/script.php?script_id=2620"&gt;neocomplcache&amp;nbsp;&lt;/a&gt;– it has been actively developed during recent months.&amp;nbsp;It's mature enough. &amp;nbsp; It's interesting to see the author reply every blog which has questions about this plugin.&amp;nbsp;It seems that the author really cares about his work.&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;a href="http://www.vim.org/scripts/script.php?script_id=2754"&gt;delimitMate&lt;/a&gt; – parenthesis completion, very handy&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;a href="http://cscope.sourceforge.net/cscope_maps.vim"&gt;cscope_map&lt;/a&gt; – provide keyboard mapping for cscope &lt;/li&gt;&lt;/ol&gt;&lt;h4 id="hd000000000002"&gt;Required Software:&lt;/h4&gt;&lt;ol class="Ordered numeric"&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://deplate.sourceforge.net/index.php"&gt;&lt;s&gt;Deplate&lt;/s&gt;&lt;/a&gt;&lt;/span&gt;&lt;s&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx0015"&gt;&lt;/a&gt;   – convert viki to html&lt;/s&gt;&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;Python 2.4.4  – required by Visual_Studio.vim&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;s&gt;Ruby 1.86     – required by Deplate&lt;/s&gt;&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://sourceforge.net/projects/ctags/files/"&gt;ctags&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx0016"&gt;&lt;/a&gt;     – required for omni-complete&amp;nbsp;&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;a href="http://en.sourceforge.jp/projects/sfnet_mslk/downloads/emacs/GNU%20Emacs%2023.0.92.1%20of%202009-04-06/emacs23.0.92.1_cscope15.7.zip/"&gt;cscope 15.7&lt;/a&gt; – a better ctags for python. The zip file contains windows binary.&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;a href="http://sourceforge.net/projects/pywin32/files/"&gt;Python for Windows Extension&lt;/a&gt;  – required by Visual_Studio.vim&lt;/li&gt;&lt;/ol&gt;&lt;h4 id="hd000000000003"&gt;Abandoned plugins:&lt;/h4&gt;&lt;ol class="Ordered numeric"&gt;&lt;li class="Ordered-1 Ordered"&gt;taglist       – use &lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=1984"&gt;FuzzyFinder&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx0017"&gt;&lt;/a&gt; instead&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;project       – use &lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=1984"&gt;FuzzyFinder&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx0018"&gt;&lt;/a&gt; instead&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;strike&gt;RltvNmbr      – too slow&lt;/strike&gt; &lt;span style="color: red;"&gt;included in VIM 7.3&lt;/span&gt;&lt;strike&gt;&lt;br /&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;snippetsEmu   – too old, use &lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=2540"&gt;SnipMate&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx0019"&gt;&lt;/a&gt; instead&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;&lt;s&gt;neocomplcache – too new. It is a combination of &lt;/s&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=1520"&gt;&lt;s&gt;omnicppcomplete&lt;/s&gt;&lt;/a&gt;&lt;/span&gt;&lt;s&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx0020"&gt;&lt;/a&gt;, &lt;/s&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=2540"&gt;&lt;s&gt;SnipMate&lt;/s&gt;&lt;/a&gt;&lt;/span&gt;&lt;s&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx0021"&gt;&lt;/a&gt;, &lt;/s&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=1879"&gt;&lt;s&gt;AutoComplPop&lt;/s&gt;&lt;/a&gt;&lt;/span&gt;&lt;s&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx0022"&gt;&lt;/a&gt; and &lt;/s&gt;&lt;span class="remote"&gt;&lt;a class="remote" href="http://www.vim.org/scripts/script.php?script_id=1643"&gt;&lt;s&gt;SuperTab&lt;/s&gt;&lt;/a&gt;&lt;/span&gt;&lt;s&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8472483064792584047&amp;amp;postID=3174503003207615796" name="idx0023"&gt;&lt;/a&gt;.  It doesn't not work properly if you set the same trigger key to complete and snippet. However, it supports nested snippet and longest common string complete. Very promising.&lt;/s&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h4 id="hd000000000004"&gt;Plugins needs modified:&lt;/h4&gt;&lt;ol class="Ordered numeric"&gt;&lt;li class="Ordered-1 Ordered"&gt;visual_studio.vim&lt;br /&gt;&lt;ol class="Ordered numeric"&gt;&lt;li class="Ordered-3 Ordered"&gt;needs to update error message format for visual studio 2008 to work (I set it to set errorformat=&amp;nbsp;%#%f(%l)&amp;nbsp;:&amp;nbsp;%#%t%[A-z]%#&amp;nbsp;%m )&lt;/li&gt;&lt;li class="Ordered-3 Ordered"&gt;needs to change key binding to avoid conflicts with viki.vim  ( I changed them from vc to ic)&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li class="Ordered-1 Ordered"&gt;SnipMate.vim&lt;br /&gt;&lt;ol class="Ordered numeric"&gt;&lt;li class="Ordered-3 Ordered"&gt;needs to update snippets (of course)&amp;nbsp; &lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;i&gt;*Update 2010/12/11 for Vim 7.3&lt;/i&gt;&lt;br /&gt;&lt;i&gt;*Update 2011/03/10 for delimitMate&amp;nbsp;&lt;/i&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;*Update 2011/07/11 for cscope&amp;nbsp;&lt;/i&gt;&lt;i&gt; &lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-3174503003207615796?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3174503003207615796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3174503003207615796' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3174503003207615796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3174503003207615796'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/02/plugin-list-of-vim.html' title='The plugin list of VIM'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-6468432409478794998</id><published>2010-02-15T10:36:00.000-08:00</published><updated>2010-02-15T10:38:57.073-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>Add VIM to the right-click menu</title><content type='html'>The default VIM 7.2 right-click menu will open the new file in the current buffer.&lt;br /&gt;It's quite annoying because I want to open the new file in a new tab most of the time.&lt;br /&gt;&lt;br /&gt;To solve the problem, just import the following setting to the windows registery&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Windows Registry Editor Version 5.00&lt;br /&gt;&lt;br /&gt;[HKEY_CLASSES_ROOT\*\shell\Edit with &amp;Vim\command]&lt;br /&gt;@="\"c:\\Program Files\\Vim\\vim72\\gvim.exe\" -p --remote-tab-silent \"%1\""&lt;br /&gt;&lt;CODE\&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-6468432409478794998?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/6468432409478794998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=6468432409478794998' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6468432409478794998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6468432409478794998'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/02/add-vim-to-right-click-menu.html' title='Add VIM to the right-click menu'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-6779700427410738686</id><published>2010-02-12T20:10:00.000-08:00</published><updated>2010-02-12T20:10:24.471-08:00</updated><title type='text'>SkyMall -- the pleasure of Delta Airline</title><content type='html'>One of the enjoyful part when I took Delta airline is to browse the skymall shopping magazine.&lt;br /&gt;Theere are always some crazy stuff there.&lt;br /&gt;&lt;br /&gt;Like &lt;a href="http://www.skymall.com/shopping/detail.htm?pid=102962936&amp;amp;c="&gt;R2D2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And &lt;a href="http://www.skymall.com/shopping/detail.htm?pid=102962707&amp;amp;c=&amp;amp;v=&amp;amp;cm_sp=Recommend-_-YMAL-_-ProductPage-_-Programmable%20Gaming%20Robot"&gt;Programmable Gaming Robot&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Its pets' solutions&lt;br /&gt;&lt;br /&gt;Want to shut your dog up?&lt;br /&gt;Get this&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.skymall.com/shopping/detail.htm?pid=102215887&amp;c="&gt;Bark Free Dog Barking Controls&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-6779700427410738686?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/6779700427410738686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=6779700427410738686' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6779700427410738686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6779700427410738686'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/02/skymall-pleasure-of-delta-airline.html' title='SkyMall -- the pleasure of Delta Airline'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-4228677545028216798</id><published>2010-02-07T16:32:00.000-08:00</published><updated>2010-02-07T16:39:46.459-08:00</updated><title type='text'>Recent Fun</title><content type='html'>I recently spent some time playing an old RPG game I got from 2005&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;a href="http://laby.toybox.de/index.php?sprache=1"&gt;Lost Labyrinth!!!&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt; &lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;span style="font-size: small;"&gt;It always gives me a lot of fun to play it.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;It is a simple game, but hard enough &lt;/span&gt;to be beaten by computers all the time.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pPEnlVYX89U/S29bCuHsaAI/AAAAAAAADxE/srUNWzyG8NM/s1600-h/LostLabyrinth.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_pPEnlVYX89U/S29bCuHsaAI/AAAAAAAADxE/srUNWzyG8NM/s320/LostLabyrinth.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-4228677545028216798?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/4228677545028216798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=4228677545028216798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4228677545028216798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4228677545028216798'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/02/recent-fun.html' title='Recent Fun'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pPEnlVYX89U/S29bCuHsaAI/AAAAAAAADxE/srUNWzyG8NM/s72-c/LostLabyrinth.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3021144243556212241</id><published>2010-02-03T16:19:00.000-08:00</published><updated>2010-02-03T16:24:08.927-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vision'/><title type='text'>Good research demands good data</title><content type='html'>"Good research demands good data" is what &lt;a href="http://www.iis.sinica.edu.tw/pages/lucas/index_zh.html"&gt;Dr. Su&lt;/a&gt; told me when I was a research assistant in Academia Sinica. In the beginning , I thought his word was sarcastic to the computer vision research, since many computer vision papers only work on the data set provided by the authors. Therefore, to be a good research assistant, I tried to make my result work on every video. Then I gave up. I realized that computer vision has its own limitation. Some techniques demand high quality video to make them work.&lt;br /&gt;&lt;br /&gt;Recently, on David Lowe's course, he explained how to reduce specular reflection which serious affects the result of stereo matching. He said that there are some papers which propose novel algorithms to detect and reduce the specular reflection effect in images, but the most effective way is to add &lt;a href="http://en.wikipedia.org/wiki/Polarizing_filter"&gt;polarizing filter&lt;/a&gt; to your camera. The polarizing filter can reduce specular reflection effect to 0. Instead of producing good vision algorithms, we can put our efforts on obtaining good data. Why not?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-3021144243556212241?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3021144243556212241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3021144243556212241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3021144243556212241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3021144243556212241'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/02/good-research-demands-good-data.html' title='Good research demands good data'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-8671784931495427028</id><published>2010-02-01T13:17:00.000-08:00</published><updated>2010-03-04T15:24:57.379-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vision'/><title type='text'>Computer Vision: State Of the Art</title><content type='html'>1. Key point detector&lt;br /&gt;SIFT&lt;br /&gt;ASIFT&lt;br /&gt;SURF&lt;br /&gt;&lt;br /&gt;David Lowe reported that SURF is more rebust than SIFT in affine transformation, but SIFT is more robust to 3D rotation.&lt;br /&gt;&lt;br /&gt;2. Background subtraction&lt;br /&gt;No state of the art. Though I prefer Mixture of Gaussian personally.&lt;br /&gt;&lt;br /&gt;See this&lt;br /&gt;http://www.andrewsenior.com/technical/surveillanceclass/02_MovingObjectDetection_part1.pdf&lt;br /&gt;&lt;br /&gt;3. Salient motion detection&lt;br /&gt;&lt;br /&gt;see this&lt;br /&gt;http://www.andrewsenior.com/technical/surveillanceclass/03_AdvancedMovingObjectDetection.PDF&lt;br /&gt;&lt;br /&gt;4. Stereo &lt;br /&gt;&lt;br /&gt;see this&lt;br /&gt;http://vision.middlebury.edu/stereo/eval/&lt;br /&gt;&lt;br /&gt;5. Robust estimation&lt;br /&gt;&lt;br /&gt;RANSAC -Good if there are many inliers. If not, it needs lost iterations to find a good match&lt;br /&gt;Hough Transform -Use this when RANSAC runs too slow&lt;br /&gt;semi-local constraints -Check the consistency with nearby keypoints&lt;br /&gt;&lt;br /&gt;The difference of RANSAC and Hough Transform lies in computation time. Try both to see which one runs faster.&lt;br /&gt;&lt;br /&gt;Todo: expand the list, provide all implementations&lt;br /&gt;Reminder: don't spend too much time on paper crawling, do some real stuff&lt;br /&gt;&lt;br /&gt;6. Source of training data&lt;br /&gt;ImageNet: A Stanford project to label image by volunteers&lt;br /&gt;http://www.image-net.org/&lt;br /&gt;&amp;nbsp;Caltech 256&lt;br /&gt;http://www.vision.caltech.edu/Image_Datasets/Caltech256/&lt;br /&gt;&lt;br /&gt;Surveillance data: (have ground truth??)&lt;br /&gt;http://pets2006.net/&lt;br /&gt;http://www.elec.qmul.ac.uk/staffinfo/andrea/avss2007_d.html&lt;br /&gt;http://www.nada.kth.se/~hedvig/data.html&lt;br /&gt;http://scienceandresearch.homeoffice.gov.uk/hosdb/cctv-imaging-technology/i-lids/pricing.html &lt;br /&gt;&lt;br /&gt;7. Human Attention&lt;br /&gt;A lab of USC doing this. By Prof. LaurentItti and Prof. Christof Koch&lt;br /&gt;http://ilab.usc.edu/bu/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-8671784931495427028?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/8671784931495427028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=8671784931495427028' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8671784931495427028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8671784931495427028'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/02/computer-vision-state-of-art.html' title='Computer Vision: State Of the Art'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-1301341553727738207</id><published>2010-01-28T21:47:00.000-08:00</published><updated>2010-02-15T11:44:38.182-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>VIM useful commands</title><content type='html'>gw exchange two words&lt;br /&gt;CTRL-X CTRL-L complete line&lt;br /&gt;CTRL-X CTRL-F complete file&lt;br /&gt;CTRL-X CTRL-P complete word, useful when you use snippet and still want to have omni-complete&lt;br /&gt;tab complete word&lt;br /&gt;\s substitude the current word&lt;br /&gt;\S substitude with question&lt;br /&gt;ALT-O open file with the same name&lt;br /&gt;\F find in all files&lt;br /&gt;\g find file&lt;br /&gt;\f find tag&lt;br /&gt;,r run matlab script&lt;br /&gt;,o open matlab&lt;br /&gt;:make check matlab syntax&lt;br /&gt;&lt;br /&gt;\ll compile latex&lt;br /&gt;\lv view latex&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-1301341553727738207?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/1301341553727738207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=1301341553727738207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1301341553727738207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1301341553727738207'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2010/01/vim-useful-commands.html' title='VIM useful commands'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-8807005362639570050</id><published>2009-12-11T12:24:00.000-08:00</published><updated>2009-12-11T12:24:54.180-08:00</updated><title type='text'>I can leave, finally</title><content type='html'>After the past 2 years of working, the most important thing I learned is humanity. I learned that when facing the lure from the dark side of Force, who can stand up with it and who cannot. It's good to see most people choose the light side. Nevertheless, the Jedi are still out-numbered by the Sith. In order to succeed, I have to find more Jedi, so now I am leaving to start my journey. Wish me good luck.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-8807005362639570050?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/8807005362639570050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=8807005362639570050' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8807005362639570050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8807005362639570050'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/12/i-can-leave-finally.html' title='I can leave, finally'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-4255087535132964019</id><published>2009-12-08T20:44:00.000-08:00</published><updated>2009-12-08T20:57:31.808-08:00</updated><title type='text'>The true meaning of "Organizational Change"</title><content type='html'>In M, there will be at least one "Organizational Change" for each year. &lt;br /&gt;&lt;br /&gt;When I was young, I thought a programmer is cool because they are very professional and can produce many cool stuff (like computer games). Therefore, I chose computer science as my major at university. I hoped I could become as professional as them and produce many cool stuff as they do. After several year, I left school and joined Mediatek to start my career as a programmer.&lt;br /&gt;&lt;br /&gt;Then I disappointed.&lt;br /&gt;&lt;br /&gt;The reason why I disappointed is not due to the fact that what I did in the company is a completely useless junk. The true reason is that nobody in this company cares what they did are completely junk or not. All they care are nothing but power and money. The politics, as a result, is the most influential factor to what they care. That's why people care about politics. They like to talk who is going to be promoted and who is going to be f**ked. They share political information and form a small political group to fight against each other. One who spends most time on politics gets promotion while the hardest worker gets fired. The company rewards who conslidate their power and punishes who improve the quality of products. &lt;br /&gt;&lt;br /&gt;Somebody called it "a process to become mature". One must know the differences between idealization and reality. One must understand the human society is very competitive and cruel. The mature people should know the rules of the society and the necessary political skills to get what they want. The mature people should adapt themselves to the society and stop complaining about it.&lt;br /&gt;&lt;br /&gt;I disagree. &lt;br /&gt;&lt;br /&gt;We shall not adapt. We must understand that we are still in the stone age of software industry. There are currently no effective tools to estimate the contribution of a programmer. There are also no ways to estimate who is capable to become the leader of a software team. It's very likely to choose a incapable leader. The incapable leader, as a result, is going to fire the most productive worker in his team due to the lack of software managerial skill. He will also hire many incapable workers because these incapable workers are the most similiar to the best employee in the world--himself. Several years later, the company will be full of incapable workers. Since they are incapable, they don't do any software product nor do them improve it. So what do they do in the company? One possible answer is, unsurprisingly, "Organizational Change". Period.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-4255087535132964019?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/4255087535132964019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=4255087535132964019' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4255087535132964019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4255087535132964019'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/12/true-meaning-of-organizational-change.html' title='The true meaning of &quot;Organizational Change&quot;'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-6246103860745654037</id><published>2009-12-07T16:42:00.000-08:00</published><updated>2009-12-08T19:05:37.639-08:00</updated><title type='text'>Tips on how to write a thesis</title><content type='html'>The most useful part of the handbook of UBC CS department is "Tips on how to write a thesis" by Bob Woodham. I keep reading it again and again while thinking what I was doing when I was in graduate school. Sometimes I invented a new technique to solve a known problem. Sometimes I applied the exsiting techniques to another problem. Which one is the "good research"?&lt;br /&gt;&lt;br /&gt;Bob Woodham's article makes me think this question again. He stated that the third step of a research project is to discover new knowledge. Even so, most of recent computer vision research lack in this step. A popular trend of computer vision research is to transform a problem into statistical domain and apply new statistical methods. They consist only step 1, 2 and 4. Are they "good research"?&lt;br /&gt;&lt;br /&gt;Another trend of vision research is to follow classical works and do some "tweak". For example, a one possible way to do image inpainting is to choose a different "filling algorithm" of the classical work "Region filling and object removal by exemplar-based image inpainting" by A. Criminisi, P. P´erez and K. Toyama. Since the filling algorithms are different, it's quite possible that we can find another set of images which the new algorithm can perform better. This kind of research consists all four steps. Are they "good research"?&lt;br /&gt;&lt;br /&gt;He also stated a researcher should commit to a research problem, not a technology. However, all computer vision people commit themself to use camera to solve problems. Is it a kind of commitment to a technology? One of the most noticeable problem is to estimate image depth. Everyone knows that Laser Depth Micrometer(LDM) can outperform the stereo-based approache to several magnitude, but there are still many people try to estimate depth by stereo cameras. I know cameras are much cheaper than LMD. Nevertheless, shouldn't we just put our effort on cut down the production cost of LDM instead of researching another cheap and unreliable technology?&lt;br /&gt;&lt;br /&gt;In the beginning, I thought a graduate school can help me understand what research is. I end up with much more questions when leaving.&lt;br /&gt;&lt;br /&gt;Here is a excerpt from Bob's article.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;The purpose of research is to contribute to knowledge. Selecting a problem is the major part of any thesis project. Avoid the Computer Science tendency to think only in terms of tools and techniques (and mindless programming tasks). There are four steps to a research project. Step 1 is for motivation and is done first. The thesis addresses steps 2 and 3. Step 4 typically occurs only after the thesis is completed. The four steps are:&lt;br /&gt;&lt;br /&gt;1. Identify the research problem. Understand the state-of-the-art within a topic area well enough to determine fundamental obstacles to further success. You have identified a research problem when you can make clear where necessary new knowledge is needed.&lt;br /&gt;2. Choose the research domain. Choose a domain that is rich enough to demonstrate the intended result yet simple enough to avoid wasteful diversions. Pragmatic considerations best determine the choice of domain. This best choice often is not the domain of the original problem. The link is simply that the necessary new knowledge required is the same. Choose the domain that supports the most rapid prototyping and testing of your ideas.&lt;br /&gt;3. Discover the new knowledge. This is where you add your talent and creativity!&lt;br /&gt;4. Apply the new knowledge to the original research problem. This will complete the research and will provide a foundation for future research by helping to identify the next set of obstacles.&lt;br /&gt;&lt;br /&gt;Here are more suggestions to avoid common pitfalls:&lt;br /&gt;1. Decide on the research problem before committing yourself to a particular domain. Bad way: I like to play chess and I need a thesis topic. Maybe if I implement a chess program I will discover something interesting. Good way (after P.H. Winston): Learning is difficult. Maybe there is power in noticing similarities and differences between symbolic descriptions. I can explore this easily in the context of the world of the blocks.&lt;br /&gt;2. Does the research problem demand exploration. A lot of work in AI and computational vision is on non-problems. A demonstration that a tool or technique is sufficient for a given task is not a demonstration of necessity. Convince yourself that your research problem is necessary. What is to be learned? Who is likely to care about the result? Is the problem of fundamental importance? Without necessity, you can easily be scooped by a better tool or technique.&lt;br /&gt;3. Examine your commitment to the research problem. Commitment to a problem means that you will accept a solution, regardless of the scientific discipline that gives rise to it. If you only accept solutions of a certain type, then your commitment is to a technology, not to scientific research.&lt;br /&gt;4. Develop a detailed scenario to demonstrate your work. A scenario provides an organizing principle for your research. As much as possible, carefully work through the scenario by hand simulation. Identify critical components. Work hard to develop the new ideas required dealing with these components.&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-6246103860745654037?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/6246103860745654037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=6246103860745654037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6246103860745654037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6246103860745654037'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/12/tips-on-how-to-write-thesis.html' title='Tips on how to write a thesis'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-7395210152648051392</id><published>2009-11-10T18:14:00.000-08:00</published><updated>2009-11-10T18:51:47.209-08:00</updated><title type='text'>Evaluate Mr. O's abilities</title><content type='html'>Today, one of my colleague--Mr. O asked me to evaluate himself. The reason is that I will tell the truth since I am quitting my job. However, the truth is that I always tell the truth no matter I am quitting or not.&lt;br /&gt;&lt;br /&gt;Let's see Mr. O's ability scores:&lt;br /&gt;Social Skill:&lt;br /&gt;One of the most remarkable skills of Mr. O. He knows how to joke with his boss and make his boss happy -- a very rare skill. He also knows how to maintain good relationship with his fellow engineers. Most important of all, he doesn't bully young engineers. He'll share knowledge and joyful work with them. Very remarkable.&lt;br /&gt;&lt;br /&gt;Programming Skill:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sexual appearance:&lt;br /&gt;He is a handsome boy. Not only girls but also some guys are willing to sleep with him.&lt;br /&gt;Nevertheless, he is not as handsome as myself, so he gets a score of 4.&lt;br /&gt;&lt;br /&gt;Working Attitude:&lt;br /&gt;He is one of the laziest workers in my team. He keeps chating with his friends on MSN&amp;nbsp; during working hours. He surfs the blogs and does little of this and little of that. I am always wondering what he is doing in the office.&lt;br /&gt;His working attitude deserves the lowest score--1. If I were his boss, I would fire him. &lt;br /&gt;&lt;br /&gt;Geek Level:&lt;br /&gt;Honestly, he is not a geek. He is not ACG fans, not start wars fans, and know how to date beautiful girls. However, his passion to programming and vim raises his score to 3 -- a half geek.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-7395210152648051392?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/7395210152648051392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=7395210152648051392' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7395210152648051392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7395210152648051392'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/11/evaluate-mr-os-abilities.html' title='Evaluate Mr. O&apos;s abilities'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-1786142071108839825</id><published>2009-10-17T09:46:00.000-07:00</published><updated>2009-10-17T12:27:45.487-07:00</updated><title type='text'>How to prevent your OO program growing a GIANT INHERITANCE TREE</title><content type='html'>Object-Oriented programming is a paradigm for software engineers to seperate a computer program into discrete and reusable units, which are called "objects". One of its technique to resue the existing source codes is through "inheritance". That is, we find a common operation among objects, then we create a "parent class" to represent this operation. &lt;br /&gt;&lt;br /&gt;"Inheitance" is an important technique to reuse source codes. However, we find it harmful in some cases.&amp;nbsp; One of download tools in our team faces suce a problem.&lt;br /&gt;The functionality of the tool is to download binary images into the flash memory of a mobile phone. Since there are a wide range of mobile phones to support, the tool contains a lot of objects. Each objects represent a download process of a specific type of mobile phones. The problem is that the download processes are just slightly different with each other. One of the reasons why they are just slightly different is due to workarounds of hardware bugs. The "slightly different" codes then result in a tall and giant inheritance tree. Inheritance, generally, is a good technique. Nevertheless, when a object has too many ancestors, the operation of the object becomes obscure. The real implementation of a virtual function may be resided in any of the ancestors. It's hard to tell which one really takes effect from the source codes.&lt;br /&gt;&lt;br /&gt;One of my colleagues wants to resolve this problem by refactoring the existing inheritance tree into a shorter one. He designs a common downloading procedure for all kinds of mobile phones. The procedure contains many but fixed steps, and each mobile can have its own step implementation if the its step is slighlty different than other mobiles phones. I am sure that he is going to succeed to reduce the height of the tree, but I doubt that he can prevent the tree from growing higher again. &lt;br /&gt;&lt;br /&gt;The reason why he is going to succeed is primary because all of the workarounds of previous phones are known, so he can devise a download procedure general enough to cover all of the workarounds. On the other hand, the workarounds of future phones are impossible to known. When a workaround happens, it might break the existing download procedure and require to refactor the existing codes or increase the height of the tree. He said to me that the new download procedure is so general that it's impossible to break. &lt;br /&gt;&lt;br /&gt;I think otherwise. &lt;br /&gt;&lt;br /&gt;In the software world, it's better to have less assumptions on your source code. The less you assume, the less you will rewrite when the assumption fails. From my point of view, it's not necessary to assume that there is a one general download process which can cover all kinds of mobiles phones. Why not just assume that the download processes of mobile phones are all different. The reason why we want to find common procedures in our codes is because we want to reuse our codes. We don't want to copy and paste the same code in every place. If we do so, the code will be very hard to maintain since we need to change the same codes in many different places. &lt;br /&gt;&lt;br /&gt;For the download tool, it's not the case. The download tool is basically a one-time programing. We write the code for a specific mobile phone. If it works, the coding is done. There are no more maintainence effort on the code. We just need a working code to download the binary images. That's all. For most of the time, it's very dangerous to refactor the source code of the download tool, because it might break the existing code and make the download tool fail on older mobiles. To prevent such problem, we need to perform a lot of regression tests. So it's even better if we don't maintain the code and leave the working code unchanged. If we want the inheritance tree shorter, we need to refactor our existing codes, which might break them. Alternatively, if we avoid inheritance and treat each download process as a seperate script, assume different mobile phones have different download process, we can get a clear program architecture. The program will be easier to read, because the download script shows all operations and workarounds it performs. It also avoid changing the existing codes and therefore it does not require the tedious process to test all old mobile phones. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sound great. Now, please prove I am wrong&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-1786142071108839825?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/1786142071108839825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=1786142071108839825' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1786142071108839825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1786142071108839825'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/10/how-to-prevent-your-oo-program-growing.html' title='How to prevent your OO program growing a GIANT INHERITANCE TREE'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-2303222784878892190</id><published>2009-10-15T09:27:00.001-07:00</published><updated>2009-10-15T09:39:26.703-07:00</updated><title type='text'>Panasonic Let's Note CF-Y8EWJAJR</title><content type='html'>Centrino(Santa Rosa) &lt;br /&gt;CPU: L7800 @ 2.0GHz Merom &lt;br /&gt;CPU voltage: 0.96V&lt;br /&gt;Intruction: SSE3 &lt;br /&gt;L2: 4MB&lt;br /&gt;&lt;br /&gt;Display: GM965 (X3100)&lt;br /&gt;IDE: ICH8M&lt;br /&gt;Sound: AD 1884&lt;br /&gt;Wifi: Intel 4965AG &lt;br /&gt;Net: Marvell Yukon 88E8055&lt;br /&gt;SD card: Ricoh RL5C822&lt;br /&gt;Cardbus: Ricoh RL5C476&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-2303222784878892190?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/2303222784878892190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=2303222784878892190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2303222784878892190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2303222784878892190'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/10/panasonic-let.html' title='Panasonic Let&apos;s Note CF-Y8EWJAJR'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-4437218823561635156</id><published>2009-10-15T07:59:00.000-07:00</published><updated>2009-10-15T07:59:44.399-07:00</updated><title type='text'>台灣之光時尚精品捷安特City Speed</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_pPEnlVYX89U/Stc4M7RAVyI/AAAAAAAADvA/AvDXidtGMl0/s1600-h/doga.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_pPEnlVYX89U/Stc4M7RAVyI/AAAAAAAADvA/AvDXidtGMl0/s320/doga.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;台北購物節展出的台灣精品中，得到精品金質獎的捷安特City Speed是唯一的工業設計作品。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pPEnlVYX89U/Stc4RfzttHI/AAAAAAAADvI/Bna6rObLd00/s1600-h/dogb.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_pPEnlVYX89U/Stc4RfzttHI/AAAAAAAADvI/Bna6rObLd00/s320/dogb.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;這款城市公路車由英國設計師Michael Yang操刀，極簡的外觀融合科技感及創新性，除了獲得第十七屆的台灣精品金質獎外，它也得到2008年IF EUROBIKE設計獎城市車類金獎的殊榮。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_pPEnlVYX89U/Stc4WYryrmI/AAAAAAAADvQ/j2JoC6EEpts/s1600-h/dogc.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_pPEnlVYX89U/Stc4WYryrmI/AAAAAAAADvQ/j2JoC6EEpts/s320/dogc.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;IF EUROBIKE評審團給了這款車款極高的評價：&lt;br /&gt;"The bike is very well designed from start to finish. All the components have been specially coordinated to work together perfectly. The front light, the stem and the handlebars, for example, from a single unit. Great."&lt;br /&gt;（引用來源：捷安特&lt;a href="http://www.giant-bicycles.com/zh-tw/news/12809/"&gt;http://www.giant-bicycles.com/zh-tw/news/12809/&lt;/a&gt;）&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pPEnlVYX89U/Stc4aGlmQ-I/AAAAAAAADvY/FXyb7TVRZMo/s1600-h/dogd.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_pPEnlVYX89U/Stc4aGlmQ-I/AAAAAAAADvY/FXyb7TVRZMo/s320/dogd.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;這款車的設計概念是透過仿生的手法，以鯊魚的身體曲線，轉化為管件的外觀流線型曲線，從前端車首整體視覺的簡潔與平順，到車後警示燈視覺延續，增加速度感與流線意象。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pPEnlVYX89U/Stc4eIaeROI/AAAAAAAADvg/1ZABNGurNp8/s1600-h/doge.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_pPEnlVYX89U/Stc4eIaeROI/AAAAAAAADvg/1ZABNGurNp8/s320/doge.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;整合式前警示燈、整體式後燈免除安裝、收納的麻煩，增加經濟效益。&lt;br /&gt;&lt;br /&gt;外觀極簡，前後車燈都整合在龍頭及座管上，鋁合金車架，有2款，City Speed平把20速售價43800元，City Speed i8內變8段變速售價39800元。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_pPEnlVYX89U/Stc4jCmwg0I/AAAAAAAADvo/LLQ8C31NOH8/s1600-h/dogf.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_pPEnlVYX89U/Stc4jCmwg0I/AAAAAAAADvo/LLQ8C31NOH8/s320/dogf.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;在台北購物節新光三越信義店A11展出的是City Speed平把20速。&lt;br /&gt;&lt;br /&gt;就外觀上看來，極簡外型確實適合都會雅痞生活模式，設計概念也呼應城市公路族的內在需求。可惜的是，雖然展場得見這款國內外獲獎爭光的台灣作品，卻沒有機會讓觀賞者親自觸摸這台精品的質感。&lt;br /&gt;&lt;br /&gt;（本文圖片皆攝自2009台北購物節新光三越信義店A11展場內。）&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-4437218823561635156?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/4437218823561635156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=4437218823561635156' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4437218823561635156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4437218823561635156'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/10/city-speed.html' title='台灣之光時尚精品捷安特City Speed'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pPEnlVYX89U/Stc4M7RAVyI/AAAAAAAADvA/AvDXidtGMl0/s72-c/doga.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-1252233548768665593</id><published>2009-10-13T10:25:00.000-07:00</published><updated>2009-10-13T10:36:03.072-07:00</updated><title type='text'>The Greatest Nobody</title><content type='html'>As a nobody, I have a special interest in studying other nobody's life stories. Through their stories, I can learn more about the humanity, the society, and the possible endings of a nobody. I am always wondering, what a nobody can do in his/her negligible and pitiful life.&lt;br /&gt;&lt;br /&gt;The definition of a nobody is simple:&lt;br /&gt;1. His parents are not rich.&lt;br /&gt;2. His look is not good.&amp;nbsp; (i.e. no handsome boys)&lt;br /&gt;3. He is not smart.&lt;br /&gt;4. He is located at the bottom of a social hierachy.&lt;br /&gt;&lt;br /&gt;The first nobody comes into my mind is &lt;a href="http://en.wikipedia.org/wiki/Michael_Faraday"&gt;Michael Faraday.&lt;/a&gt;&lt;br /&gt;His father was a blacksmith. His brother was a blacksmith. So what could he do?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The second nobody is &lt;a href="http://en.wikipedia.org/wiki/Marie_Curie"&gt;Marie Curi.&lt;/a&gt;&lt;br /&gt;Her family lost every property in a historical event. Her country was occupied by Russia. She hardly kept her life going in a nothing-left research facility.&lt;br /&gt;&lt;br /&gt;The thrid nobody is &lt;a href="http://en.wikipedia.org/wiki/Nikola_Tesla"&gt;Nikola Tesla&lt;/a&gt;.&lt;br /&gt;He was too poor to pay tuition fees of the university. As a serbe, surely did he locate in the bottom of the society. In fact, serbes in 19th is equal to slaves.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;The last one is &lt;a href="http://en.wikipedia.org/wiki/Albert_Einstein"&gt;Albert Einstein.&lt;/a&gt;&lt;br /&gt;Everyone around him thought he was a nobody. Indeed, he was a nobody. As a PhD, he could not get any teaching positions in universities. Finally, he got a work in a patent office, which is a significant failure in his career.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As a noboby, I feel I am more fortunate than the above nobodies.&lt;br /&gt;My family has some properties. My career is more successful. My country is still alive.&lt;br /&gt;&amp;nbsp; &lt;br /&gt;Nevertheless, these nobodies are the greatest in human history. They made significant contribution to the human society despite the fact that the society had abandoned them before.&lt;br /&gt;&lt;br /&gt;Could I do the same?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-1252233548768665593?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/1252233548768665593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=1252233548768665593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1252233548768665593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1252233548768665593'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/10/greatest-nobody.html' title='The Greatest Nobody'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-2097363987132531905</id><published>2009-10-13T09:21:00.000-07:00</published><updated>2009-10-13T09:24:38.483-07:00</updated><title type='text'>The Norns</title><content type='html'>Shortly after my girl friend went to USA, &lt;a href="http://en.wikipedia.org/wiki/Norns"&gt;the Norns&lt;/a&gt; started to appear in my mind once in a while. I feel something is going to happen, but I don't know what it is.&lt;br /&gt;&lt;br /&gt;They appeared in my mind in this way:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pPEnlVYX89U/StSmSYJ4u8I/AAAAAAAADu4/7AgPnTKSPBw/s1600-h/wing.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_pPEnlVYX89U/StSmSYJ4u8I/AAAAAAAADu4/7AgPnTKSPBw/s320/wing.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&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;Strange enough, they are not &lt;a href="http://en.wikipedia.org/wiki/Oh_My_Goddess%21"&gt;girls&lt;/a&gt;, but a Wing Gundam(飛翼零式特裝型). &lt;br /&gt;It didn't take me too much time to find this image on the Internet. It exaclty matched what I saw&amp;nbsp; in my mind. Wait...I am not a Gundam fan. Where did I see this?&lt;br /&gt;&lt;br /&gt;I need a psychologist.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-2097363987132531905?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/2097363987132531905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=2097363987132531905' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2097363987132531905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2097363987132531905'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/10/norns.html' title='The Norns'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pPEnlVYX89U/StSmSYJ4u8I/AAAAAAAADu4/7AgPnTKSPBw/s72-c/wing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-8026333076144375892</id><published>2009-09-16T21:43:00.000-07:00</published><updated>2009-10-01T02:20:35.140-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>Application matters!應用才重要</title><content type='html'>In "The Innovator's Dilemma",  the arthur thinks when a company encounters a disruptive technology,&lt;br /&gt;&lt;br /&gt;在創新的兩難中，作者認為一家公司在面對突破性科技時，最重要的不是改善突破性科技的效果，把突破性科技應用在現有的市場中。而是替突破性科技找到新的市場。&lt;br /&gt;&lt;br /&gt;在Pattern Recognition的研究領域裡，研究人員一直在想辦法提升辨識的準確率，使得PR可以有效的被應用在人們的日常生活中。但是「創新的兩難」替我們指引出了另一個新的方向。 也許最重要的不是提升準確率，而是找到一個新的應用，而這個應用就算是準確率不高也沒有關係，因為有自動化的辨識，所以提供了和現有的技術不同的性質。&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/8472483064792584047-8026333076144375892?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/8026333076144375892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=8026333076144375892' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8026333076144375892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8026333076144375892'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/09/blog-post.html' title='Application matters!&lt;br&gt;應用才重要'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-6829652662338680676</id><published>2009-09-15T23:10:00.000-07:00</published><updated>2009-09-15T23:45:45.970-07:00</updated><title type='text'>How to minimize the number of logging data</title><content type='html'>In the last week, I proposed an idea to my boss about minimizing logging data.&lt;br /&gt;&lt;br /&gt;    The idea is simple. Assume that we have a deterministic system. We want to debug the system, so we need some logging data to analyze the problem. Since the system is deterministic, if we give it the same input, it will respond the same output. So we only need to log the data coming into the system. If we made the system deterministic, we could avoid logging in the internal of the system. It can save a lot of logging bandwidth.&lt;br /&gt;&lt;br /&gt;    However, my boss thought it is impossible. He said, "It's impossible to log all incoming data of the system, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;because&lt;/span&gt; we cannot log all incoming electromagnetic waves. We can only log the data like the XOR of the electromagnetic waves."  I tried to explain to him that we only care about digital systems, therefore we can focus on 0's and 1's, but he still very persisted that electromagnetic waves are impossible to log. It's near the lunch time, so I quickly ended this &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;unpleasant&lt;/span&gt; conversation and went for my lunch.&lt;br /&gt;&lt;br /&gt;    After few days, I started to wonder "what is the XOR of &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;electromagnetic&lt;/span&gt; waves?". XOR  is a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;Boolean&lt;/span&gt; operation, how to apply it to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;continuous&lt;/span&gt; signals?  Another thing I wondered is "what is the maximum input of a 3.5G mobile phone system ?" I thought the answer should be below 15Mb/s, because the maximum data rate of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;HSDPA&lt;/span&gt; is 7.2Mb/s. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;HSDPA&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;protocol&lt;/span&gt; overhead should not exceed the amount of data. If our system were deterministic, the minimum number of logging data rate should be below 15Mb/s. As a result, the data rate is &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;ok&lt;/span&gt; to transfer by merely an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;USB&lt;/span&gt; cable, am I correct?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-6829652662338680676?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/6829652662338680676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=6829652662338680676' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6829652662338680676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6829652662338680676'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/09/how-to-minimize-number-of-logging-data.html' title='How to minimize the number of logging data'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-5462796616667992240</id><published>2009-09-07T07:42:00.000-07:00</published><updated>2009-09-07T07:48:36.616-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><title type='text'>How to get  WHQL certificate for your driver</title><content type='html'>If you need to get WHQL from Microsoft for your driver, you need to pass Windows Logo Test. First you need a PC with Windows Server 2003 installed.&lt;br /&gt;Then follow the steps in &lt;a href="http://www.microsoft.com/whdc/DevTools/WDK/DTM/DTMhowto.mspx"&gt;DTMHowTo&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;When you pass the logo test ( sometimes you need to the support from Microsoft ), see &lt;a href="https://winqual.microsoft.com/help/default.htm#FAQ.htm"&gt;Winqual Faq&lt;/a&gt; to know how to submit your result to Microsoft.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-5462796616667992240?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/5462796616667992240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=5462796616667992240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5462796616667992240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5462796616667992240'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/09/how-to-get-whql-certificate-for-your.html' title='How to get  WHQL certificate for your driver'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-8160550303911381556</id><published>2009-09-03T17:19:00.001-07:00</published><updated>2009-10-07T00:53:33.800-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Summary'/><title type='text'>Summary of MediaTek Inc.</title><content type='html'>&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;todo&lt;/span&gt;&lt;br /&gt;What my boss said today&lt;br /&gt;1. Our product is good, because we are successful on the market, and our performance compared to competitors are good&lt;br /&gt;&lt;br /&gt;2. We don't do unit test and code review unless we feel painful because of them&lt;br /&gt;&lt;br /&gt;3. Unit test scale(on a module or multiple module or a function?)&lt;br /&gt;&lt;br /&gt;4. Tools can have its innovation, not just support&lt;br /&gt;&lt;br /&gt;The people in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;MediaTek&lt;/span&gt; thinks they can work here because they are superior than others. They think their job is the best in the world. One day, a colleague said to me that "If you leave this company, you will never get a better job. At that time, you have to beg to return."&lt;br /&gt;&lt;br /&gt;I hardly agree with what he said. Indeed, thanks to the tax policy in Taiwan, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;MediaTek's&lt;/span&gt; compensation is considered the best in Taiwan. However, I don't think good compensation is the ONLY criteria for a good job. Of course, money is important, but it's more important to consider the money which you get and the money which you will get at the same time. I think it's better to judge a people's value by what he is going to be paid in his next job than what he is paid in his current job. When you are fired by your boss and want to find a new job, you cannot just put the number of your previous compensation on your resume and convince your future boss that you are worth that much. You have to prove it by what you have learned and what you have done   in your previous jobs. These are more important  than just good compensation.&lt;br /&gt;&lt;br /&gt;For myself, I found my current job hardly add any eye-catching acheivements to  my resume. I need to do something to differentiate myself from fellow engineers. In a competitive job market, the secret to succeed is not only do your job right, but also choose the right job to do.&lt;br /&gt;&lt;br /&gt;Many people think that I quit a high compensation job is unrealistic, but most of time, I found myself very &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;reasonable&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;to summarize:&lt;br /&gt;1. This article will become like Code Horror style&lt;br /&gt;2. I am glad to leave&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-8160550303911381556?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/8160550303911381556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=8160550303911381556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8160550303911381556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8160550303911381556'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/09/summary-of-mediatek-inc.html' title='Summary of MediaTek Inc.'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3302615776150299018</id><published>2009-08-27T09:26:00.001-07:00</published><updated>2009-09-04T09:43:15.823-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Summary'/><title type='text'>Summary of The Innovator's Dilemma by Clayton M. Christensen</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://ecx.images-amazon.com/images/I/51MCARWGJ2L._SS500_.jpg"&gt;&lt;img style="margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 200px;" src="http://ecx.images-amazon.com/images/I/51MCARWGJ2L._SS500_.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Mr. Christensen tries to answer "why the best firms can fail" in this book. After the analysis from HDD industry, he concludes that the best firms can fail when they are unable to deal with disruptive technologies correctly. My quick summary is below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A disruptive technology has three properties:&lt;/span&gt;&lt;br /&gt;1. The performance of the technology is going to exceed the demands of certain market segments&lt;br /&gt;2. The technology distinguish itself with some new features which appeal to a group of new customers.&lt;br /&gt;3. The new market segments are too small to attract the attention of the leading companies of the existing technology.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What will happen when a disruptive technology emerges?&lt;/span&gt;&lt;br /&gt;1. The startup who finds the new market for it has the "first mover advantage". Those who find have 30% survival rate.&lt;br /&gt;2. The startup who focuses on improving the performance to meet the existing demands is going to be knock out of the market.&lt;br /&gt;3. Existing companies will still focus on existing customers since they are more profitable.&lt;br /&gt;4. The useful techniques like &lt;a href="http://en.wikipedia.org/wiki/PDCA"&gt;PDCA&lt;/a&gt; or  Customer-Oriented Management help existing companies compete with one another, but they also prevent existing companies to enter the new market.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What should a existing company do?&lt;/span&gt;&lt;br /&gt;1. A big company is managed by existing customers, process and values, not managers. Establish a new department to manage the disruptive technology if the required values and process are different from the existing one.&lt;br /&gt;2. Do not try to improve the performance of a disruptive technology, but to find a new market for it. The new technology will grow itself with the new customers.&lt;br /&gt;3. It's impossible to predict where the new market is. One has to try several times to find it. Don't put all resources in a single try.&lt;br /&gt;4. When looking for new markets, don't hear what customers say, but see what they actually use the product.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Example:&lt;/span&gt;&lt;br /&gt;1. YouTube: It's a example of a disruptive technology. The quality of its video hosting service exceed what people demands. It provides a new type of web service. In the beginning, the profit of such service is too small to attract attention of any existing companies. Nevertheless, it grows big enough to be acquired by Google. A good end.&lt;br /&gt;&lt;br /&gt;2. Netbook: It's commercialized first by Asus. The performance of netbook will compete with notebooks in the future. However, Asus does not have any first mover advantages. The followers like Acer and HP got ahead of ASUS very quickly. Why?&lt;br /&gt;Just think about property 2 and 3 above. The people who buy netbook also have notebooks. There are no new customers. The existing notebook manufacturers join the battlefield quickly. Therefore, there are no first mover advantages for ASUS. Netbook is not a disruptive technology but a sustaining one.&lt;br /&gt;&lt;br /&gt;3. SSD: Compared with HDD, the capacity per dollar of SDD is very low. However, the value increases every year. When it hits the sweet point, HDD will be wiped out from personal computer market. The first mover advantage is very clear. No leading HDD manufactures have influence on SDD markets.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-3302615776150299018?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3302615776150299018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3302615776150299018' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3302615776150299018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3302615776150299018'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/08/summary-of-innovators-dilemma-by.html' title='Summary of The Innovator&apos;s Dilemma by Clayton M. Christensen'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-6074717029185203187</id><published>2009-08-24T09:24:00.000-07:00</published><updated>2009-08-24T09:33:19.278-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Clothes</title><content type='html'>1. 圓領條紋T單穿不會很單薄&lt;br /&gt;2. 黑T可搭黑白格子衫&lt;br /&gt;3. 黃T可搭黃衫&lt;br /&gt;4. T + 衫的重點是協調，而非對比&lt;br /&gt;&lt;br /&gt;todo:拍照&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-6074717029185203187?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/6074717029185203187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=6074717029185203187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6074717029185203187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6074717029185203187'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/08/clothes.html' title='Clothes'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-2528290126586519729</id><published>2009-06-28T05:11:00.000-07:00</published><updated>2010-02-15T11:45:09.352-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>VIM Color Theme (Ayende)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_pPEnlVYX89U/SkjkLf-9F1I/AAAAAAAAChA/z4VRWdLFYyU/s1600-h/ayende3.gif"&gt;&lt;img style="block:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 208px;" src="http://1.bp.blogspot.com/_pPEnlVYX89U/SkjkLf-9F1I/AAAAAAAAChA/z4VRWdLFYyU/s800/ayende3.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5352779043345078098" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Oren Eini made &lt;a href="http://ayende.com/Blog/archive/2007/06/02/My-Visual-Studio-Settings.aspx"&gt;a great color theme&lt;/a&gt; for Visual Studio. And I just ported it to VIM. You can get it &lt;a href=" http://sites.google.com/site/lonowiki/vim-setting/ayende.vim"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is a list of my previous VIM themes:&lt;br /&gt;1. &lt;a href="http://www.cs.cmu.edu/~maverick/VimColorSchemeTest/af.vim"&gt;AF.vim&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_pPEnlVYX89U/SkjlM5t6W3I/AAAAAAAAChY/v_m9Lu5udGY/s1600-h/af2.gif"&gt;&lt;img style="block:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 204px;" src="http://4.bp.blogspot.com/_pPEnlVYX89U/SkjlM5t6W3I/AAAAAAAAChY/v_m9Lu5udGY/s800/af2.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5352780166944414578" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.&lt;a href="http://www.vim.org/scripts/script.php?script_id=1891"&gt;VividChalk.vim&lt;/a&gt; (it's specialized for Ruby)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pPEnlVYX89U/Skjk_MuAxdI/AAAAAAAAChQ/k8DbjTynDXI/s1600-h/chalk2.gif"&gt;&lt;img style="block:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 202px;" src="http://3.bp.blogspot.com/_pPEnlVYX89U/Skjk_MuAxdI/AAAAAAAAChQ/k8DbjTynDXI/s800/chalk2.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5352779931526940114" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-2528290126586519729?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/2528290126586519729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=2528290126586519729' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2528290126586519729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2528290126586519729'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/06/vim-color-theme-ported-from-ayende.html' title='VIM Color Theme (Ayende)'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pPEnlVYX89U/SkjkLf-9F1I/AAAAAAAAChA/z4VRWdLFYyU/s72-c/ayende3.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-1939113700503818498</id><published>2009-06-27T08:58:00.000-07:00</published><updated>2010-02-15T11:46:43.909-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>Use Consolas font in Japanese VIM</title><content type='html'>&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=22e69ae4-7e40-4807-8a86-b3d36fab68d3&amp;displaylang=en"&gt;Consolas&lt;/a&gt; is a font which is specialized to display source codes.&lt;br /&gt;To use the font in Japanese VIM, add the following line in .vimrc&lt;br /&gt;&lt;code&gt;&lt;br /&gt;set guifont=Consolas:h11:cSHIFTJIS&lt;br /&gt;&lt;/CODE&gt;&lt;br /&gt;&lt;br /&gt;Then import the following into your registry and reboot.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Windows Registry Editor Version 5.00&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]&lt;br /&gt;"Consolas"=hex(7):4d,00,49,00,4e,00,47,00,4c,00,49,00,55,00,2e,00,54,00,54,00,\&lt;br /&gt;43,00,2c,00,4d,00,69,00,6e,00,67,00,4c,00,69,00,55,00,00,00,53,00,49,00,4d,\&lt;br /&gt;00,53,00,55,00,4e,00,2e,00,54,00,54,00,43,00,2c,00,53,00,69,00,6d,00,53,00,\&lt;br /&gt;75,00,6e,00,00,00,42,00,41,00,54,00,41,00,4e,00,47,00,2e,00,54,00,54,00,43,\&lt;br /&gt;00,2c,00,42,00,61,00,74,00,61,00,6e,00,67,00,00,00,00,00&lt;br /&gt;&lt;/CODE&gt;&lt;br /&gt;&lt;br /&gt;Since Consolas supports English only. It's necessary to tell system how to display the words in other Languages or all Japanese words cannot be display normally.&lt;br /&gt;The above registry setting assign &lt;br /&gt;"MINGLIU.TTC,MingLiU&lt;br /&gt;SIMSUN.TTC,SimSun&lt;br /&gt;BATANG.TTC,Batang" to Consolas font to display both Japanese and Chinese words.&lt;br /&gt;&lt;br /&gt;The result is here:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pPEnlVYX89U/SkdTfatw1VI/AAAAAAAACf4/fEBqJZ-qVoc/s1600-h/vim.jpg"&gt;&lt;img style="block:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 269px;" src="http://3.bp.blogspot.com/_pPEnlVYX89U/SkdTfatw1VI/AAAAAAAACf4/fEBqJZ-qVoc/s1600/vim.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5352338481365439826" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To get into the nutshell, see &lt;a href="http://msdn.microsoft.com/en-us/library/aa913850.aspx"&gt;how font linking works&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-1939113700503818498?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/1939113700503818498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=1939113700503818498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1939113700503818498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1939113700503818498'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/06/use-consolas-font-in-japanese-vim.html' title='Use Consolas font in Japanese VIM'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_pPEnlVYX89U/SkdTfatw1VI/AAAAAAAACf4/fEBqJZ-qVoc/s72-c/vim.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-8972042263894033041</id><published>2009-06-27T08:16:00.000-07:00</published><updated>2009-09-04T09:45:22.458-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Just bought a Panasonic Notebook</title><content type='html'>I am fansinated by Panasonic Let's Note Y series. The 1400x1050 resolution with only 1.5kg weight is really amazing. I bought at Osaka and it took me ¥16,0000. It's a little pricy but still acceptable. I cannot think of a better mobile weapon of programmers than this one.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_pPEnlVYX89U/SkY80cfiU3I/AAAAAAAACfY/n49Ozrac_EA/s1600-h/DSC01051.JPG"&gt;&lt;img style="margin: 0px auto 10px; block: left; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_pPEnlVYX89U/SkY80cfiU3I/AAAAAAAACfY/n49Ozrac_EA/s1600/DSC01051.JPG" alt="" id="BLOGGER_PHOTO_ID_5352032078875743090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Japanese keyboard:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.ggpht.com/_pPEnlVYX89U/SmMbKq4bd7I/AAAAAAAADik/F3jjjTdVVys/DSC01052.JPG"&gt;&lt;img style="margin: 0px auto 10px; block: left; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://lh5.ggpht.com/_pPEnlVYX89U/SmMbKq4bd7I/AAAAAAAADik/F3jjjTdVVys/DSC01052.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The ugly look:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.ggpht.com/_pPEnlVYX89U/SmMbJMaylJI/AAAAAAAADiU/rN3Y2v-1LDM/DSC01048.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; block: left; cursor: pointer; width: 320px; height: 240px;" src="http://lh6.ggpht.com/_pPEnlVYX89U/SmMbJMaylJI/AAAAAAAADiU/rN3Y2v-1LDM/DSC01048.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-8972042263894033041?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/8972042263894033041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=8972042263894033041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8972042263894033041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8972042263894033041'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/06/just-bought-panasonic-notebook.html' title='Just bought a Panasonic Notebook'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pPEnlVYX89U/SkY80cfiU3I/AAAAAAAACfY/n49Ozrac_EA/s72-c/DSC01051.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-2820796712363218031</id><published>2009-06-20T11:02:00.000-07:00</published><updated>2010-02-15T11:45:41.047-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>The VIM Settings to replace Visual Studio 2008</title><content type='html'>Just start to shift from Visual Sudio 2008 to VIM. I heard that keyboards can bring a lot of fun to programming, but I cannot live without Visual Studio 2008. There are too many great features of it, like completion, source code browsing, etc. All I need to do now is to being these features into VIM. (Why does no one make a power pack of VIM to beat Visual Studio?)  &lt;br /&gt;1. &lt;a href="http://www.vim.org/scripts/script.php?script_id=2540"&gt;SnipMate&lt;/a&gt;&lt;br /&gt;Provide a Textmate-like snippet functionality. It's a better substitude of &lt;a href="http://vim.sourceforge.net/scripts/script.php?script_id=1318"&gt;snippetsEmu&lt;/a&gt;. However, &lt;a href="http://vim.sourceforge.net/scripts/script.php?script_id=1318"&gt;snippetsEmu&lt;/a&gt; has more snippets. Perhaps I should port them to SnipMate, hmm...&lt;br /&gt;&lt;br /&gt;2. SuperTab&lt;br /&gt;3. FuzzyFinder&lt;br /&gt;4. CTAGs&lt;br /&gt;5. EnhancedCommentify&lt;br /&gt;6. DoxygenToolkit&lt;br /&gt;7. a.vim&lt;br /&gt;8. visual_Studio.vim&lt;br /&gt;&lt;br /&gt;Used plugins:&lt;br /&gt;1. taglist&lt;br /&gt;2. project&lt;br /&gt;3. RltvNmbr&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-2820796712363218031?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/2820796712363218031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=2820796712363218031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2820796712363218031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2820796712363218031'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/06/vim-setting-to-replace-visual-studio.html' title='The VIM Settings to replace Visual Studio 2008'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-7169456400344216168</id><published>2009-06-18T09:39:00.000-07:00</published><updated>2009-06-18T10:03:27.030-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>The last express in 2009</title><content type='html'>Just finished "The last express", a great adventure game produced by Smoking Car in 1997.  I played the demo of this game when I was a child. I didn't play the full version since I found nowhere to buy this game at that time. Though it's been 12 years, I still cannot forget this game. So I downloaded the full version(thanks to &lt;a href="http://www.isohunt.com"&gt;the greatest invention of the 21st century&lt;/a&gt;) and played it. The feeling is like playing a game of 2009. Unlike many old games, its great visual quality makes me feel it's a new game.  &lt;br /&gt;&lt;br /&gt;    The ending deserves an Oscar.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_pPEnlVYX89U/Sjpw4awP37I/AAAAAAAACfQ/9SJFqPATE8E/s1600-h/TheLastExpress.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_pPEnlVYX89U/Sjpw4awP37I/AAAAAAAACfQ/9SJFqPATE8E/s400/TheLastExpress.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348711622012559282" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-7169456400344216168?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/7169456400344216168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=7169456400344216168' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7169456400344216168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7169456400344216168'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/06/last-express-in-1997.html' title='The last express in 2009'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pPEnlVYX89U/Sjpw4awP37I/AAAAAAAACfQ/9SJFqPATE8E/s72-c/TheLastExpress.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-4351445917274286945</id><published>2009-06-17T20:32:00.000-07:00</published><updated>2011-11-15T18:39:45.578-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>Abandon Textmate...Now!!!</title><content type='html'>&lt;a href="http://macromates.com/"&gt;Textmate&lt;/a&gt; hasn't release any new versions &lt;span style="font-weight: bold;"&gt;for several years&lt;/span&gt;. I don't think a software does have a future if it's not actively supported. Therefore, I decided to switch to the old good VIM. Perhaps I could master VIM this time.&lt;br /&gt;&lt;br /&gt;*Update 2011/11/15: There will be &lt;a href="http://blog.macromates.com/2011/whats-next/"&gt;Textmate 2 alpha release&lt;/a&gt; around Christmas. &amp;nbsp;After 2 years, it doesn't matter anymore. VIM FTW!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-4351445917274286945?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/4351445917274286945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=4351445917274286945' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4351445917274286945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4351445917274286945'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/06/abandoned-textmate.html' title='Abandon Textmate...Now!!!'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-225597145503819727</id><published>2009-06-17T20:05:00.000-07:00</published><updated>2009-06-27T07:53:44.147-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><category scheme='http://www.blogger.com/atom/ns#' term='Listmania'/><title type='text'>List of great games</title><content type='html'>A couple of games I cannot forget in my life&lt;br /&gt;&lt;br /&gt;1. Fallout&lt;br /&gt;2. Torment&lt;br /&gt;3. Baldur's Gate&lt;br /&gt;4. The last express&lt;br /&gt;5. Crusader: No Remorse&lt;br /&gt;6. Daggerfall&lt;br /&gt;7. Strike Commander&lt;br /&gt;8. Master of Magic&lt;br /&gt;9. Civilization&lt;br /&gt;10. GTA&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-225597145503819727?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/225597145503819727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=225597145503819727' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/225597145503819727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/225597145503819727'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/06/list-of-great-games.html' title='List of great games'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-7683128642151898631</id><published>2009-05-23T08:36:00.000-07:00</published><updated>2009-05-23T08:42:10.946-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>I won a slurpee!!!</title><content type='html'>I just bought a slurpee and it took me just 1 NT dollars!!!&lt;br /&gt;I have not won any prizes for quite a long time (actually, I cannot remember the last time I won a prize). How lucky I am ^_^ &lt;br /&gt;    Sadly, after I I walked out 7-11, I remembered I catched a cold and the doctor told me don't eat anything cold. Now the slurpee become my mom's. OH~~my slurpee~~~&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_pPEnlVYX89U/ShgZRsfLizI/AAAAAAAACHI/IrupmPljS3w/s1600-h/P1130061.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_pPEnlVYX89U/ShgZRsfLizI/AAAAAAAACHI/IrupmPljS3w/s400/P1130061.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5339045150038133554" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-7683128642151898631?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/7683128642151898631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=7683128642151898631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7683128642151898631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7683128642151898631'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/05/i-won-slurpee.html' title='I won a slurpee!!!'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pPEnlVYX89U/ShgZRsfLizI/AAAAAAAACHI/IrupmPljS3w/s72-c/P1130061.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3018776231741332941</id><published>2009-05-10T00:17:00.000-07:00</published><updated>2009-05-10T00:18:27.572-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><title type='text'>Simple gray area code test</title><content type='html'>&lt;CODE&gt;&lt;br /&gt;    void main(){&lt;br /&gt;    }&lt;br /&gt;&lt;/CODE&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-3018776231741332941?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3018776231741332941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3018776231741332941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3018776231741332941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3018776231741332941'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/05/simple-gray-area-code-test.html' title='Simple gray area code test'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3973291205881677641</id><published>2009-05-09T19:51:00.000-07:00</published><updated>2009-05-10T04:27:44.420-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>DockPanel Suite Installation Tutorial</title><content type='html'>DockPanel Suite add the docking functionlity to C# application. The effect is similiar to the &lt;a href="#" onclick="return LoadImg('7s_tbTiizrw', 'http://lh3.ggpht.com/_pPEnlVYX89U/SgZAu_QVVuI/AAAAAAAACGE/7s_tbTiizrw/VisalStudio.jpg');"&gt;&lt;br /&gt;docking effect in Visual Studio 2008&lt;/a&gt;.&lt;br /&gt;&lt;img src="" alt="" id="7s_tbTiizrw" style="display: none;" /&gt;&lt;br /&gt;&lt;br /&gt;Installation steps:&lt;br /&gt;1. Download the dll at &lt;a href="http://sourceforge.net/projects/dockpanelsuite/"&gt;SourceForge&lt;/a&gt;.&lt;br /&gt;2. Open Visual Studio, add reference to the dll&lt;br /&gt;&lt;a href="#" onclick="return LoadImg('8gb1qAcFnC8', 'http://lh4.ggpht.com/_pPEnlVYX89U/SgZAw7HiHqI/AAAAAAAACGg/8gb1qAcFnC8/Addref1.JPG');"&gt;Step1&lt;/a&gt;&lt;br /&gt;&lt;img src="" alt="" id="8gb1qAcFnC8" style="display: none;" /&gt;&lt;a href="#" onclick="return LoadImg('UT1jPD9IHvU', 'http://lh3.ggpht.com/_pPEnlVYX89U/SgZAxGHkGlI/AAAAAAAACGk/UT1jPD9IHvU/AddRef2.JPG');"&gt;&lt;br /&gt;Step2&lt;/a&gt;&lt;br /&gt;&lt;img src="" alt="" id="UT1jPD9IHvU" style="display: none;" /&gt;&lt;br /&gt;3. Add DockPanel to ToolBox&lt;br /&gt;&lt;a href="#" onclick="return LoadImg('s576', 'http://lh3.ggpht.com/_pPEnlVYX89U/SgZAxXCvn6I/AAAAAAAACGo/ZTzCP_9oIck/s576/ToolBox1.JPG');"&gt;&lt;br /&gt;Step1&lt;/a&gt;&lt;br /&gt;&lt;img src="" alt="" id="s576" style="display: none;" /&gt;&lt;a href="#" onclick="return LoadImg('ASVbz1oLYhU', 'http://lh6.ggpht.com/_pPEnlVYX89U/SgZAwtu97_I/AAAAAAAACGc/ASVbz1oLYhU/ToolBox2.JPG');"&gt;&lt;br /&gt;Step2&lt;/a&gt;&lt;br /&gt;&lt;img src="" alt="" id="ASVbz1oLYhU" style="display: none;" /&gt;&lt;a href="#" onclick="return LoadImg('0qYmKhSmCog', 'http://lh6.ggpht.com/_pPEnlVYX89U/SgZAxhQFxlI/AAAAAAAACGs/0qYmKhSmCog/ToolBox3.jpg');"&gt;&lt;br /&gt;Step3&lt;/a&gt;&lt;br /&gt;&lt;img src="" alt="" id="0qYmKhSmCog" style="display: none;" /&gt;&lt;a href="#" onclick="return LoadImg('nMng6poqnPg', 'http://lh4.ggpht.com/_pPEnlVYX89U/SgZAwtVHk4I/AAAAAAAACGY/nMng6poqnPg/ToolBox4.JPG');"&gt;&lt;br /&gt;Step4&lt;/a&gt;&lt;br /&gt;&lt;img src="" alt="" id="nMng6poqnPg" style="display: none;" /&gt;&lt;br /&gt;4. Drag DockPanel to Form 1&lt;br /&gt;&lt;a href="#" onclick="return LoadImg('kWlp92TUqTs', 'http://lh3.ggpht.com/_pPEnlVYX89U/SgZAv8V1HQI/AAAAAAAACGU/kWlp92TUqTs/ToolBox5.JPG');"&gt;&lt;br /&gt;Step1&lt;/a&gt;&lt;br /&gt;&lt;img src="" alt="" id="kWlp92TUqTs" style="display: none;" /&gt;&lt;br /&gt;5. Change IsMdiContainer to &lt;span style="font-weight:bold;"&gt;true&lt;/span&gt;. Beware!!! This is crucial step, or your program will crash!!!&lt;br /&gt;&lt;a href="#" onclick="return LoadImg('xjcyJF66mQ4', 'http://lh3.ggpht.com/_pPEnlVYX89U/SgZAv6SVNoI/AAAAAAAACGQ/xjcyJF66mQ4/Mdi.JPG');"&gt;&lt;br /&gt;Step1&lt;/a&gt;&lt;br /&gt;&lt;img src="" alt="" id="xjcyJF66mQ4" style="display: none;" /&gt;&lt;br /&gt;6. Add an new form (Form2)&lt;br /&gt;&lt;a href="#" onclick="return LoadImg('NVrBzH6Lzps', 'http://lh3.ggpht.com/_pPEnlVYX89U/SgZAvfH_mpI/AAAAAAAACGM/NVrBzH6Lzps/AddForm1.JPG');"&gt;&lt;br /&gt;Step1&lt;/a&gt;&lt;br /&gt;&lt;img src="" alt="" id="NVrBzH6Lzps" style="display: none;" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-3973291205881677641?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3973291205881677641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3973291205881677641' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3973291205881677641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3973291205881677641'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/05/dockpanel-suite.html' title='DockPanel Suite Installation Tutorial'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-9158996954246222224</id><published>2009-05-03T06:56:00.000-07:00</published><updated>2009-05-10T00:19:23.577-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><title type='text'>Display image test</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pPEnlVYX89U/Sf2kRfAqA_I/AAAAAAAACEs/0LITMJWDZ3c/s1600-h/green.JPG"&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_pPEnlVYX89U/Sf2kRfAqA_I/AAAAAAAACEs/0LITMJWDZ3c/s400/green.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5331598154165519346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="#" onclick="return LoadImg('21234', 'http://3.bp.blogspot.com/_pPEnlVYX89U/Sf2kRfAqA_I/AAAAAAAACEs/0LITMJWDZ3c/s1600/green.JPG');"&gt;&lt;br /&gt;show image&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="" alt="" id="21234" style="display:none;"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-9158996954246222224?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/9158996954246222224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=9158996954246222224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/9158996954246222224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/9158996954246222224'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/05/display-image-test3.html' title='Display image test'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_pPEnlVYX89U/Sf2kRfAqA_I/AAAAAAAACEs/0LITMJWDZ3c/s72-c/green.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-5403792600569405576</id><published>2009-04-03T04:35:00.000-07:00</published><updated>2009-05-09T20:22:45.561-07:00</updated><title type='text'>The first bug of VS2008</title><content type='html'>Just saw a bug from Visual Studio 2008 compiler:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pPEnlVYX89U/SdX3Ad_-7wI/AAAAAAAAABQ/9qHJm_OUy_Q/s1600-h/MSError.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_pPEnlVYX89U/SdX3Ad_-7wI/AAAAAAAAABQ/9qHJm_OUy_Q/s1600/MSError.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5320430122233163522" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Can it prove I am a vertern VS2008 user?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-5403792600569405576?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/5403792600569405576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=5403792600569405576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5403792600569405576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5403792600569405576'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/04/first-bug-of-vs2008.html' title='The first bug of VS2008'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_pPEnlVYX89U/SdX3Ad_-7wI/AAAAAAAAABQ/9qHJm_OUy_Q/s72-c/MSError.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-1001739354600972217</id><published>2009-03-27T00:21:00.000-07:00</published><updated>2009-05-10T04:45:34.340-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>boost asio for windows pipe bug -- ERROR_MORE_DATA</title><content type='html'>I encountered another asio bug today.&lt;br /&gt;I created a pipe server and used a pipe client to send data to the server.&lt;br /&gt;The server read 128 bytes for each read, but the client sends 65536 bytes for each write. When the server read the data, ::ReadFile returns ERROR_MORE_DATA.&lt;br /&gt;Then it just crashed.&lt;br /&gt;&lt;br /&gt;The root cause is at function "async_read_some_at" in the file "win_iocp_handle_service.hpp".&lt;br /&gt;&lt;pre class="brush:cpp"&gt;&lt;br /&gt;    DWORD bytes_transferred = 0;&lt;br /&gt;    ptr.get()-&gt;Offset = offset &amp; 0xFFFFFFFF;&lt;br /&gt;    ptr.get()-&gt;OffsetHigh = (offset &gt;&gt; 32) &amp; 0xFFFFFFFF;&lt;br /&gt;    BOOL ok = ::ReadFile(impl.handle_,&lt;br /&gt;        boost::asio::buffer_cast&lt;LPVOID&gt;(buffer),&lt;br /&gt;        static_cast&lt;DWORD&gt;(boost::asio::buffer_size(buffer)),&lt;br /&gt;        &amp;bytes_transferred, ptr.get());&lt;br /&gt;    DWORD last_error = ::GetLastError();&lt;br /&gt;    if (!ok &amp;&amp; last_error != ERROR_IO_PENDING)&lt;br /&gt;    {&lt;br /&gt;      boost::asio::io_service::work work(this-&gt;get_io_service());&lt;br /&gt;      ptr.reset();&lt;br /&gt;      boost::system::error_code ec(last_error,&lt;br /&gt;          boost::asio::error::get_system_category());&lt;br /&gt;      iocp_service_.post(bind_handler(handler, ec, bytes_transferred));&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;      ptr.release();&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;In the above code, &lt;br /&gt;&lt;pre class="brush:cpp"&gt;&lt;br /&gt;    if (!ok &amp;&amp; last_error != ERROR_IO_PENDING)&lt;br /&gt;    {&lt;br /&gt;      boost::asio::io_service::work work(this-&gt;get_io_service());&lt;br /&gt;      ptr.reset();&lt;br /&gt;      boost::system::error_code ec(last_error,&lt;br /&gt;          boost::asio::error::get_system_category());&lt;br /&gt;      iocp_service_.post(bind_handler(handler, ec, bytes_transferred));&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Checks for any error. When last_error != ERROR_IO_PENDING, the function assumes that the call to ::ReadFile is failed, so it release ptr immediately. But when last_error is ERROR_MORE_DATA, the call is successful and the ReadComplete event will still be put in the complete queue. Since the ptr has been released, the LPOVERLAPPED returned by  ::GetQueuedCompletionStatus points to invalid location and is causes crash.&lt;br /&gt;&lt;br /&gt;The fix is simple, just change the code to &lt;br /&gt;&lt;pre class="brush:cpp"&gt;&lt;br /&gt;    if (!ok &amp;&amp; (last_error != ERROR_IO_PENDING&lt;span style="font-weight:bold;"&gt; &amp;&amp; last_error != ERROR_MORE_DATA&lt;/span&gt;) )&lt;br /&gt;    {&lt;br /&gt;      boost::asio::io_service::work work(this-&gt;get_io_service());&lt;br /&gt;      ptr.reset();&lt;br /&gt;      boost::system::error_code ec(last_error,&lt;br /&gt;          boost::asio::error::get_system_category());&lt;br /&gt;      iocp_service_.post(bind_handler(handler, ec, bytes_transferred));&lt;br /&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/8472483064792584047-1001739354600972217?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/1001739354600972217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=1001739354600972217' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1001739354600972217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1001739354600972217'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/03/boost-asio-for-windows-pipe-bug.html' title='boost asio for windows pipe bug -- ERROR_MORE_DATA'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-4178820470703615000</id><published>2009-03-24T18:06:00.000-07:00</published><updated>2009-05-10T04:48:09.793-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><title type='text'>Microsoft Usbser.sys hot fix</title><content type='html'>Here is the list of Microsoft Hotfix of the notorious usbser.sys. &lt;br /&gt;&lt;br /&gt;5.1.2600.3226: When you use a USB-to-Serial converter to connect a device to a Windows XP-based computer, the data transfer from the computer to the device is slower than expected. (KB943198)&lt;br /&gt;&lt;br /&gt;5.1.2600.2930: The Usbser.sys driver may not load when a USB device uses an IAD to define a function that has multiple interfaces, and this function uses the Usbser.sys driver file in Windows XP. (KB918365)&lt;br /&gt;&lt;br /&gt;5.1.2600.1330: A memory leak may occur when you repeatedly start and stop the Usbser.sys driver on a Windows XP-based computer. (KB831480)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-4178820470703615000?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/4178820470703615000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=4178820470703615000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4178820470703615000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4178820470703615000'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/03/microsoft-usbsersys-hot-fix.html' title='Microsoft Usbser.sys hot fix'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-6823500053016880259</id><published>2009-03-11T02:21:00.000-07:00</published><updated>2009-05-10T04:31:18.302-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><title type='text'>Useful USB status code</title><content type='html'>Some useful USB status code which you may see when dealing with USB monitor&lt;br /&gt;&lt;br /&gt;1.target stalled&lt;br /&gt;USBD_STATUS_STALL_PID 0xC0000004&lt;br /&gt;&lt;br /&gt;2.operation is cancelled by application&lt;br /&gt;USBD_STATUS_CANCELED 0xC0010000&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-6823500053016880259?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/6823500053016880259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=6823500053016880259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6823500053016880259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6823500053016880259'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/03/useful-usb-status-code.html' title='Useful USB status code'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-7945897864678130386</id><published>2009-03-01T05:36:00.000-08:00</published><updated>2009-05-10T04:34:19.317-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>PDF management</title><content type='html'>Recently I tried to manage the pdf I have got so far. It's very handy if I had a tool like iPhoto which can automatically add all of my pdfs to a large library with automatic indexs, comments or description.&lt;br /&gt;&lt;br /&gt;Delicious library on MAC can find book description, but it cannot import pdfs automatically. Yep on MAC is a good way to go, but I just wonder that if there is a similiar software on PC?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-7945897864678130386?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/7945897864678130386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=7945897864678130386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7945897864678130386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7945897864678130386'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/03/pdf-management.html' title='PDF management'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-5954627074750617010</id><published>2009-02-21T18:46:00.001-08:00</published><updated>2009-05-10T00:10:31.261-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><title type='text'>Javascript code prettifier test</title><content type='html'>Here is my small expriment on the &lt;a href="http://code.google.com/p/google-code-prettify/"&gt;Javascript code prettifier&lt;/a&gt;.&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;void main(){&lt;br /&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/8472483064792584047-5954627074750617010?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/5954627074750617010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=5954627074750617010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5954627074750617010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5954627074750617010'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/02/code-test-2.html' title='Javascript code prettifier test'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-4087753991802364029</id><published>2009-02-21T18:36:00.001-08:00</published><updated>2009-05-10T04:31:58.923-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><title type='text'>Deletion Test</title><content type='html'>&lt;del&gt; deleteme &lt;/del&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-4087753991802364029?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/4087753991802364029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=4087753991802364029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4087753991802364029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4087753991802364029'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/02/deletion-test.html' title='Deletion Test'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-2486413347463383448</id><published>2009-02-21T08:51:00.000-08:00</published><updated>2009-05-10T00:10:45.977-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><title type='text'>SyntaxHighlighter Test</title><content type='html'>I am testing in SyntaxHighlighter 1.5.1.The SyntaxHighlighter 2.0 is hard to be compatible with blogspot, so I decide to postpone to use the new version. But 1.5.1 still shows some strangeness. (Do you see that?)    &lt;br /&gt;&lt;br /&gt;--Update 2009/05/10&lt;br /&gt;I have updated the &lt;a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter"&gt;SyntaxHighlighter&lt;/a&gt; to 2.0.3. Everything seems fine now.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:cpp"&gt;&lt;br /&gt;void main(){ &lt;br /&gt;  printf("hello world!);&lt;br /&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/8472483064792584047-2486413347463383448?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/2486413347463383448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=2486413347463383448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2486413347463383448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2486413347463383448'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/02/test2.html' title='SyntaxHighlighter Test'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-1708475538537114867</id><published>2009-02-05T03:42:00.000-08:00</published><updated>2010-02-15T11:44:19.146-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>VIM</title><content type='html'>I am trying to adapt VIM in recent days. Still fill painful, though.&lt;br /&gt;&lt;br /&gt;Here is my plugin list:&lt;br /&gt;a.vim&lt;br /&gt;include_complete.vim&lt;br /&gt;supertab.vim&lt;br /&gt;omnicppcomplete.vim&lt;br /&gt;taglist.vim&lt;br /&gt;visualmark.vim&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-1708475538537114867?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/1708475538537114867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=1708475538537114867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1708475538537114867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1708475538537114867'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2009/02/vim.html' title='VIM'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-6362177909500939143</id><published>2008-11-11T20:08:00.000-08:00</published><updated>2009-05-10T04:34:54.201-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Fix your ultraedit right key menu</title><content type='html'>Just import this to your registry&lt;br /&gt;Be sure to chage  your ultraedit path below&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Windows Registry Editor Version 5.00&lt;br /&gt;&lt;br /&gt;[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\UltraEdit-32]&lt;br /&gt;@="{b5eedee0-c06e-11cf-8c56-444553540000}"&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{b5eedee0-c06e-11cf-8c56-444553540000}]&lt;br /&gt;@="UltraEdit-32"&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{b5eedee0-c06e-11cf-8c56-444553540000}\InProcServer32]&lt;br /&gt;@=&lt;span style="font-weight:bold;"&gt;"C:\\Program Files\\UltraEdit-32\\ue32ctmn.dll"&lt;/span&gt;&lt;br /&gt;"ThreadingModel"="Apartment"&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-6362177909500939143?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/6362177909500939143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=6362177909500939143' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6362177909500939143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6362177909500939143'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/11/fix-your-ultraedit-right-key-menu.html' title='Fix your ultraedit right key menu'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-337009029585666989</id><published>2008-07-09T00:35:00.001-07:00</published><updated>2009-05-10T04:35:27.134-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX86'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Keyboard Remapping in PC and Mac</title><content type='html'>PC: AutoHotKey&lt;br /&gt;MAC: KeyRemap4MacBook&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-337009029585666989?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/337009029585666989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=337009029585666989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/337009029585666989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/337009029585666989'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/07/keyboard-remapping-in-pc-and-mac.html' title='Keyboard Remapping in PC and Mac'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-4415330635913436421</id><published>2008-07-08T00:46:00.000-07:00</published><updated>2009-05-10T04:35:45.999-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX86'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Mouse gestures on PC and MAC</title><content type='html'>PC:   StrokeIt&lt;br /&gt;MAC: FlyGesture&lt;br /&gt;&lt;br /&gt;These two programs are universal. ie. It can operate on ANY applications. It's works by sending Hotkey to the windows.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-4415330635913436421?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/4415330635913436421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=4415330635913436421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4415330635913436421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/4415330635913436421'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/07/mouse-gestures-on-pc-and-mac.html' title='Mouse gestures on PC and MAC'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-6523999348946046438</id><published>2008-07-07T07:18:00.000-07:00</published><updated>2009-05-10T04:36:08.815-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Great website</title><content type='html'>&gt;http://www.gorillatraining.com&lt;br /&gt;contains a lot of information about Windows programming reference&lt;br /&gt;&lt;br /&gt;&gt;http://thesource.ofallevil.com&lt;br /&gt;contains a lot of information about Microsoft Corporation info&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-6523999348946046438?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/6523999348946046438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=6523999348946046438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6523999348946046438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6523999348946046438'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/07/great-website.html' title='Great website'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-2585630428785392747</id><published>2008-07-06T18:14:00.000-07:00</published><updated>2008-07-06T18:16:44.438-07:00</updated><title type='text'>Leopard Time Machine Fix</title><content type='html'>1.You need to connect to network in order to get your time machine work, or it'll give you "The backup volume could not be found" error message&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-2585630428785392747?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/2585630428785392747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=2585630428785392747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2585630428785392747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2585630428785392747'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/07/leopard-time-machine-fix.html' title='Leopard Time Machine Fix'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-5661888579177979503</id><published>2008-07-03T23:22:00.000-07:00</published><updated>2008-07-03T23:26:38.687-07:00</updated><title type='text'>My firefox extensions</title><content type='html'>With FF3 release, there are many useful extensions which are out-of-date.&lt;br /&gt;I need to find some FF3-compatible substitute&lt;br /&gt;&lt;br /&gt;1.Super drag and go -&gt; QuickDrag&lt;br /&gt;2.All-in-one mouse gesture -&gt; fire gestures&lt;br /&gt;3.to be continue...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-5661888579177979503?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/5661888579177979503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=5661888579177979503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5661888579177979503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5661888579177979503'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/07/my-firefox-extensions.html' title='My firefox extensions'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-2392672607348857606</id><published>2008-06-02T19:49:00.000-07:00</published><updated>2009-02-23T06:31:29.681-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><title type='text'>Force load mismatched pdb</title><content type='html'>Each pdb has checksum and timestamp which match the corresponding executable(exe or sys), and the timestamp and checksum changes everytime!!&lt;br /&gt;&lt;br /&gt;Make it sure that you ship your executable to QA with the PDB file.&lt;br /&gt;&lt;br /&gt;If you are not, try force load the symbol(if you are sure that the source is the same)&lt;br /&gt;&lt;code&gt;.reload /f /i xxx.sys&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-2392672607348857606?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/2392672607348857606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=2392672607348857606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2392672607348857606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2392672607348857606'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/06/force-load-mismatched-pdb.html' title='Force load mismatched pdb'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-8120961018971723163</id><published>2008-05-15T01:17:00.000-07:00</published><updated>2009-05-10T04:37:26.933-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>ruby-serial port on windows</title><content type='html'>mark this&lt;br /&gt;#require "../serialport.so"&lt;br /&gt;&lt;br /&gt;add this&lt;br /&gt;Kernel::require "serialport"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-8120961018971723163?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/8120961018971723163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=8120961018971723163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8120961018971723163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8120961018971723163'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/05/ruby-serial-port-on-windows.html' title='ruby-serial port on windows'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-2161708640522244374</id><published>2008-05-05T22:21:00.001-07:00</published><updated>2009-05-10T04:36:32.318-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><title type='text'>IRQL levels</title><content type='html'>#define PASSIVE_LEVEL 0x0&lt;br /&gt;#define APC_LEVEL 0x1&lt;br /&gt;#define DISPATCH_LEVEL 0x2&lt;br /&gt;#define IPI_LEVEL 0xe&lt;br /&gt;#define POWER_LEVEL 0xf&lt;br /&gt;#define PROFILE_LEVEL 0xf&lt;br /&gt;#define HIGH_LEVEL 0xf&lt;br /&gt;#ifdef NT_UP&lt;br /&gt;#define SYNCH_LEVEL 0x2&lt;br /&gt;#else&lt;br /&gt;#define SYNCH_LEVEL 0xc&lt;br /&gt;#endif&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-2161708640522244374?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/2161708640522244374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=2161708640522244374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2161708640522244374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2161708640522244374'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/05/irql-levels.html' title='IRQL levels'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-724280998553073618</id><published>2008-05-02T20:04:00.000-07:00</published><updated>2009-05-10T04:37:46.490-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX86'/><title type='text'>Kalway 10.5.2 at Lenovo X61</title><content type='html'>Kalway 10.5.2&lt;br /&gt;Sleep Kernel&lt;br /&gt;No Ethernet Card--&gt;Buy a USB Lan card for Wii(PCI 200TX, NT600), needs driver from official website to work&lt;br /&gt;Install both Intel GMA950 &amp; GMAX3100&lt;br /&gt;Wifi Card-&gt; only IO 80XXX Family and Atheros module--&gt; still not working&lt;br /&gt;No Sound Card--&gt; buy a sound card which is compatible with MAC (NT399)&lt;br /&gt;Software-&gt; Minimal&lt;br /&gt;No CPU = 1 fix&lt;br /&gt;No other particular fix except default&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;No need of below:&lt;br /&gt;1.Boot with "Graphic Mode"="640x480x32"&lt;br /&gt;2.Install LeopardGraphicsUpdate1.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-724280998553073618?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/724280998553073618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=724280998553073618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/724280998553073618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/724280998553073618'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/05/kalway-1052-at-lenovo-x61.html' title='Kalway 10.5.2 at Lenovo X61'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-1980773304272903933</id><published>2008-04-20T22:26:00.001-07:00</published><updated>2009-02-23T06:30:18.295-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><title type='text'>Useful Status Code</title><content type='html'>STATUS_UNSUCCESSFUL&lt;br /&gt;STATUS_DISK_FULL&lt;br /&gt;STATUS_BUFFER_OVERFLOW&lt;br /&gt;STATUS_PENDING&lt;br /&gt;STATUS_TIMEOUT&lt;br /&gt;STATUS_ABANDONED&lt;br /&gt;STATUS_WAIT_0&lt;br /&gt;STATUS_SUCCESS&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-1980773304272903933?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/1980773304272903933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=1980773304272903933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1980773304272903933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1980773304272903933'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/04/useful-status-code.html' title='Useful Status Code'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-7968254002780898189</id><published>2008-04-16T20:45:00.000-07:00</published><updated>2008-04-16T20:46:08.035-07:00</updated><title type='text'>Skype send break points constantly</title><content type='html'>Google this: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Debugging a Device Driver While Skype is Running - David Craig  &lt;br /&gt;04-Feb-08 12:15:29&lt;br /&gt; &lt;br /&gt;Maybe Skype will provide you with a version that does not have anti-debugger&lt;br /&gt;code in it.  This is very typical of DRM protected code.  They are all a&lt;br /&gt;real pain in the @#$, even to someone working in the company who does not&lt;br /&gt;have access to a non-DRM version. &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;Debugging a Device Driver While Skype is Running - Ivan Brugiolo [MSFT]  &lt;br /&gt;04-Feb-08 01:22:48&lt;br /&gt; &lt;br /&gt;Can you try `kdbgctrl.exe -du` on the target machine ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-7968254002780898189?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/7968254002780898189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=7968254002780898189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7968254002780898189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7968254002780898189'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/04/skype-send-break-points-constantly.html' title='Skype send break points constantly'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-1270649029902042958</id><published>2008-04-09T04:10:00.000-07:00</published><updated>2008-04-09T04:11:09.064-07:00</updated><title type='text'>AD 2008</title><content type='html'>http://www.im.tv/vlog/Personal/1673042/3120261&lt;br /&gt;http://www.im.tv/vlog/Personal/1673042/3179839&lt;br /&gt;http://www.im.tv/vlog/Personal/1673042/3098957&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-1270649029902042958?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/1270649029902042958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=1270649029902042958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1270649029902042958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1270649029902042958'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/04/ad-2008.html' title='AD 2008'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3833375614725001006</id><published>2008-03-27T08:56:00.000-07:00</published><updated>2009-05-10T04:36:58.010-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><title type='text'>DbgPrint Unicode string</title><content type='html'>DbgPrint("deviceObjName: %wZ\n", deviceObjName);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-3833375614725001006?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3833375614725001006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3833375614725001006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3833375614725001006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3833375614725001006'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/dbgprint-unicode-string.html' title='DbgPrint Unicode string'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3485699432043540899</id><published>2008-03-26T09:17:00.001-07:00</published><updated>2009-05-10T04:38:19.757-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>swig &amp; opencv &amp; ruby</title><content type='html'>1.swig commands to link ruby &amp; c++&lt;br /&gt;swig -c++ -ruby Wrapper.i&lt;br /&gt;ruby mkmf.rb Wrapper&lt;br /&gt;make&lt;br /&gt;ruby hello.rb&lt;br /&gt;&lt;br /&gt;2.modify the makefile&lt;br /&gt;2.1add the following lines below definition of CFLAGS &amp; DLDFLAGS &lt;br /&gt;CFLAGS  += `pkg-config opencv --cflags`&lt;br /&gt;DLDFLAGS += `pkg-config opencv --libs`&lt;br /&gt;&lt;br /&gt;2.2 remove -arch ppc at following lines&lt;br /&gt;DLDFLAGS = -L. &lt;span style="font-weight:bold;"&gt;-arch ppc&lt;/span&gt; -arch i386  &lt;br /&gt;LDSHARED = cc &lt;span style="font-weight:bold;"&gt;-arch ppc&lt;/span&gt; -arch i386 -pipe -bundle&lt;br /&gt;&lt;br /&gt;3.If you don't want to mess your makefile&lt;br /&gt;&lt;br /&gt;require 'mkmf'&lt;br /&gt;$libs = append_library($libs, "stdc++")&lt;br /&gt;$CFLAGS &lt;&lt; " `pkg-config opencv --cflags`"&lt;br /&gt;$LDFLAGS &lt;&lt; " `pkg-config opencv --libs`"&lt;br /&gt;create_makefile(ARGV[0])&lt;br /&gt;&lt;br /&gt;from&lt;br /&gt;http://developer.apple.com/releasenotes/OpenSource/PerlExtensionsRelNotes/index.html&lt;br /&gt;% env ARCHFLAGS='-arch ppc' ruby extconf.rb&lt;br /&gt;% make&lt;br /&gt;% make install&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-3485699432043540899?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3485699432043540899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3485699432043540899' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3485699432043540899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3485699432043540899'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/swig-opencv-ruby.html' title='swig &amp; opencv &amp; ruby'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-5076570238241623059</id><published>2008-03-26T08:59:00.000-07:00</published><updated>2009-05-10T04:38:40.837-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Textmate</title><content type='html'>1.Rails cheat sheet&lt;br /&gt;2.rcodetools&lt;br /&gt;3.http://blog.neontology.com/posts/2006/05/10/beautiful-ruby-in-textmate&lt;br /&gt;4.Mega Zoomer&lt;br /&gt;5.http://www.yashlabs.com/wp/?p=153&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-5076570238241623059?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/5076570238241623059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=5076570238241623059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5076570238241623059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5076570238241623059'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/textmate.html' title='Textmate'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3412866918659911323</id><published>2008-03-26T08:57:00.000-07:00</published><updated>2009-05-10T04:39:20.146-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Visual Studio 2008</title><content type='html'>1.Top 13 Visual Studio Keyboard Shortcuts&lt;br /&gt;just google it&lt;br /&gt;&lt;br /&gt;2.Sara Ford's everyday tip&lt;br /&gt;http://blogs.msdn.com/saraford/default.aspx&lt;br /&gt;&lt;br /&gt;3.Debugging tip (conditional break!!)&lt;br /&gt;http://edndoc.esri.com/arcobjects/9.1/ArcGISDevHelp/DevelopmentEnvs/COM/VCpp/Debugger.htm&lt;br /&gt;&lt;br /&gt;In Mac:&lt;br /&gt;cursor color problem&lt;br /&gt;Get it from Internet&lt;br /&gt;1. Go to Control Panel, Personalization.&lt;br /&gt;2. Choose Mouse Pointers.&lt;br /&gt;3. Select the Pointers tab.&lt;br /&gt;4. Change the scheme to something that causes the mouse cursor to be seen. I chose "Windows Inverted (system scheme)" and now I can see the text selection (thin bar) cusor in VS2005 with a black background. Some of the other schemes work as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-3412866918659911323?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3412866918659911323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3412866918659911323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3412866918659911323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3412866918659911323'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/visual-studio-2008.html' title='Visual Studio 2008'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-1120289853108333464</id><published>2008-03-25T09:13:00.000-07:00</published><updated>2009-05-10T04:39:33.050-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>OpenCV on Mac</title><content type='html'>New Setting:&lt;br /&gt;1.&lt;br /&gt;PKG_CONFIG_PATH=/opt/local/var/macports/software/opencv/1.0.0_0/opt/local/lib/pkgconfig: ${PKG_CONFIG_PATH}&lt;br /&gt;&lt;br /&gt;2.&lt;br /&gt;export PKG_CONFIG_PATH&lt;br /&gt;&lt;br /&gt;3.&lt;br /&gt;g++ `pkg-config --cflags opencv` `pkg-config --libs opencv` -o water watershed.cpp&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;g++ -c Wrapper.cxx `pkg-config opencv --cflags`&lt;br /&gt;g++ -o hello Wrapper.o `pkg-config opencv --libs`&lt;br /&gt;./hello&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Makefile:&lt;br /&gt;#by lono kao, 970325&lt;br /&gt;CXX     = g++&lt;br /&gt;CFLAGS  += `pkg-config opencv --cflags`&lt;br /&gt;LDFLAGS += `pkg-config opencv --libs`&lt;br /&gt; #LTool/LImage&lt;br /&gt;TARGET  = deleteme&lt;br /&gt;SRC = LTool/LImage.cpp deleteme.cpp&lt;br /&gt;#SRC = a.c b.c&lt;br /&gt;#OBJ = $(SRC:.c=.o)&lt;br /&gt;all :           $(TARGET)&lt;br /&gt;&lt;br /&gt;$(TARGET) :     $(TARGET).cpp&lt;br /&gt;    $(CXX) $(SRC) $(CFLAGS) $(LDFLAGS) -o $(TARGET)&lt;br /&gt;&lt;br /&gt;.cpp.o :        $*.cpp&lt;br /&gt;    $(CXX) $*.cpp $(CFLAGS) $(LDFLAGS) -o $*&lt;br /&gt;&lt;br /&gt;clean :         &lt;br /&gt;    rm -f $(OBJS) $(TARGET)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-1120289853108333464?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/1120289853108333464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=1120289853108333464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1120289853108333464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1120289853108333464'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/opencv-on-mac.html' title='OpenCV on Mac'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-8986415795254196661</id><published>2008-03-25T00:57:00.001-07:00</published><updated>2009-05-10T04:39:49.403-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Software Tools</title><content type='html'>Windows:&lt;br /&gt;WinSplit--Useful if you have 24 or 22 inchs monitor&lt;br /&gt;Console2--Great transparent, tabbed console&lt;br /&gt;cFosSpeed&lt;br /&gt;SFTPDriver&lt;br /&gt;Tera Term--Better than hyper terminal&lt;br /&gt;HHD Serial Monitor&lt;br /&gt;HHD USB Monitor&lt;br /&gt;Rocket Dock&lt;br /&gt;unlocker&lt;br /&gt;TreeSize --Disk Clean up tool&lt;br /&gt;PowerMenu  --make application minimize to tray or always on top&lt;br /&gt;Clipx --greate clipboard history&lt;br /&gt;teracopy -- great copy tool, much better than windows copy&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Mac:&lt;br /&gt;Visor&lt;br /&gt;quicksilver&lt;br /&gt;Manports&lt;br /&gt;opencv&lt;br /&gt;rb-narray??&lt;br /&gt;Textmate&lt;br /&gt;VMFusion&lt;br /&gt;vanilla input&lt;br /&gt;pci usb mac driver&lt;br /&gt;macam&lt;br /&gt;omniDiskSweeper&lt;br /&gt;Paintbrush&lt;br /&gt;CheetahWatch -- Huawei 3.5G data card monitor&lt;br /&gt;ExpanDrive&lt;br /&gt;Nally --telnet program&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-8986415795254196661?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/8986415795254196661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=8986415795254196661' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8986415795254196661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8986415795254196661'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/software-tools.html' title='Software Tools'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3646370651130160115</id><published>2008-03-22T20:13:00.000-07:00</published><updated>2009-05-10T04:40:22.854-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX86'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>My Textmate Plugins</title><content type='html'>1.tmCodeBrowser&lt;br /&gt;2.quicklook&lt;br /&gt;3.Mega Zoomer&lt;br /&gt;4.SVNMate&lt;br /&gt;&lt;br /&gt;Bundles:&lt;br /&gt;1.footnotes&lt;br /&gt;2.MASC: http://blog.inquirylabs.com/2006/04/26/my-textmate-bundle/&lt;br /&gt;3.Grep bundle http://henrik.nyh.se/2007/06/grep-in-project-command-for-textmate &lt;br /&gt;4.CTags&lt;br /&gt;5.RSpec&lt;br /&gt;&lt;br /&gt;Lack:&lt;br /&gt;1.ruby comepletion?(included)&lt;br /&gt;2.intelligent Jump&lt;br /&gt;3.lack of intellisense for c++&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-3646370651130160115?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3646370651130160115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3646370651130160115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3646370651130160115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3646370651130160115'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/my-textmate-plugins.html' title='My Textmate Plugins'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3596919373733264416</id><published>2008-03-20T20:15:00.000-07:00</published><updated>2009-05-10T04:41:05.343-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Visual studio 2008 cannot find correct function definition</title><content type='html'>Visual studio 2008 cannot find correct function definition, and it jsut keeps finding function declartion instead!!!&lt;br /&gt;&lt;br /&gt;Solution: set up correct "include" directory in "Project or Solutions".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-3596919373733264416?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3596919373733264416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3596919373733264416' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3596919373733264416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3596919373733264416'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/visual-studio-2008-cannot-find-correct.html' title='Visual studio 2008 cannot find correct function definition'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3311101126085080911</id><published>2008-03-20T20:12:00.001-07:00</published><updated>2009-05-10T04:46:34.174-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><title type='text'>Replace windows driver</title><content type='html'>Here is a simple way.&lt;br /&gt;&lt;br /&gt;1.Just copy new driver to Windows\System32\Drivers, and replace the old one.&lt;br /&gt;2.Remove the device&lt;br /&gt;3.Close all applications which are still using the device(Important!!!!)&lt;br /&gt;4.Plug the device again&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-3311101126085080911?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3311101126085080911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3311101126085080911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3311101126085080911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3311101126085080911'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/replace-windows-driver.html' title='Replace windows driver'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-6762446322459004015</id><published>2008-03-16T23:05:00.000-07:00</published><updated>2009-05-10T04:49:45.467-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><title type='text'>DbgPrint in Vista</title><content type='html'>See this&lt;br /&gt;http://tenderlover.blogspot.com/search?q=dbgprint&lt;br /&gt;&lt;br /&gt;or just import .reg file below&lt;br /&gt;&lt;br /&gt;&lt;CODE&gt;&lt;br /&gt;Windows Registry Editor Version 5.00&lt;br /&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter]&lt;br /&gt;"DEFAULT"=dword:00000008&lt;br /&gt;&lt;/CODE&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-6762446322459004015?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/6762446322459004015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=6762446322459004015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6762446322459004015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6762446322459004015'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/dbgprint-in-vista.html' title='DbgPrint in Vista'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-7337040859173465275</id><published>2008-03-13T00:49:00.000-07:00</published><updated>2009-05-10T04:47:01.996-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Reset password in Windows XP and 2K</title><content type='html'>Method1:&lt;br /&gt;1.delete %SystemRoot%/system32/config/sam &lt;br /&gt;2.delete %SystemRoot%/system32/config/sam.log&lt;br /&gt;3.using Administrator (no password) to logging&lt;br /&gt;&lt;br /&gt;Method2:&lt;br /&gt;ERD Commander&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-7337040859173465275?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/7337040859173465275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=7337040859173465275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7337040859173465275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7337040859173465275'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/reset-password-in-windows-xp-and-2k.html' title='Reset password in Windows XP and 2K'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-8333818996216149991</id><published>2008-03-11T18:11:00.001-07:00</published><updated>2008-03-11T18:14:32.131-07:00</updated><title type='text'>微軟正黑體</title><content type='html'>1.you need activate clear type&lt;br /&gt;2.copy 微軟正黑體 Bold from your font directory in Vista&lt;br /&gt;3.Don't copy 微軟正黑體, but "微軟正黑體 Bold" since it looks better&lt;br /&gt;4.If you copy 微軟正黑體 too, Windows will think "微軟正黑體 Bold" is same as  微軟正黑體, and you cannot use "微軟正黑體 Bold" anymore&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-8333818996216149991?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/8333818996216149991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=8333818996216149991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8333818996216149991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8333818996216149991'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/blog-post.html' title='微軟正黑體'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-5781739298482198961</id><published>2008-03-11T05:53:00.000-07:00</published><updated>2009-05-10T04:47:26.223-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><title type='text'>Disable .NTAMD64 requirement of inf file</title><content type='html'>1.Establish the key&lt;br /&gt;HKLM\Software\Microsoft\Windows\CurrentVersion\Setup&lt;br /&gt;DisableDecoratedModelsRequirement:REG_DWORD&lt;br /&gt;&lt;br /&gt;set it to 1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-5781739298482198961?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/5781739298482198961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=5781739298482198961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5781739298482198961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/5781739298482198961'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/disable-ntamd64-requirement-of-inf-file.html' title='Disable .NTAMD64 requirement of inf file'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-6214951733498783091</id><published>2008-03-11T00:18:00.000-07:00</published><updated>2009-10-11T23:51:27.088-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Console 2 Unicode繁體中文 日本語 支援</title><content type='html'>1. Delete key "Console2 command window" in registry&lt;br /&gt;2. Import the following data into windows registry: &lt;br /&gt;&lt;br /&gt;For Chinese(中文) Windows XP &amp;amp; Vista:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Windows Registry Editor Version 5.00&lt;br /&gt;&lt;br /&gt;[HKEY_CURRENT_USER\Console\Console2 command window]&lt;br /&gt;"CodePage"=dword:000003a8&lt;br /&gt;"FontSize"=dword:000a0000&lt;br /&gt;"FontFamily"=dword:00000036&lt;br /&gt;"FontWeight"=dword:00000190&lt;br /&gt;"FaceName"="細明體"&lt;br /&gt;"HistoryNoDup"=dword:00000000&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;For Japanese(日本語) Windows XP &amp;amp; Vista:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Windows Registry Editor Version 5.00&lt;br /&gt;&lt;br /&gt;[HKEY_CURRENT_USER\Console\Console2 command window]&lt;br /&gt;"CodePage"=dword:000003a8&lt;br /&gt;"FontSize"=dword:000a0000&lt;br /&gt;"FontFamily"=dword:00000036&lt;br /&gt;"FontWeight"=dword:00000190&lt;br /&gt;"FaceName"="ＭＳ 明朝"&lt;br /&gt;"HistoryNoDup"=dword:00000000&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;If you don't know what I am talking about, get console2 &lt;a href="http://sourceforge.net/projects/console/"&gt;here &lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-6214951733498783091?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/6214951733498783091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=6214951733498783091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6214951733498783091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/6214951733498783091'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/concole2-unicode-traditional-chinese.html' title='Console 2 Unicode&lt;br&gt;繁體中文 日本語 支援'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-904039495775751251</id><published>2008-03-10T23:29:00.000-07:00</published><updated>2009-05-10T04:42:56.749-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><title type='text'>How to self sign 64 bit driver on Vista 64 for driver testing</title><content type='html'>1.install Microsoft Winqual Submission Tool&lt;br /&gt;2.Find Inf2Cat.exe in Microsoft Winqual Submission Tool&lt;br /&gt;3.execute&lt;br /&gt;Inf2Cat.exe /driver:"U:\MyDriver" /os:Vista_X64&lt;br /&gt;&lt;br /&gt;4.Find makecert.exe in WDK&lt;br /&gt;Makecert -r -pe -ss PrivateCertStore -n "CN=TestCertforWDK" TestCert.cer&lt;br /&gt;&lt;br /&gt;5.Use Signtool.exe in WDK to sign the cat file&lt;br /&gt;Signtool sign /v /s PrivateCertStore /n TestCertForWDK  /t http://timestamp.verisign.com/scripts/timestamp.dll "U:\MyDriver\MyDriver.cat"&lt;br /&gt;&lt;br /&gt;6.Use Signtool.exe in WDK to sign the driver&lt;br /&gt;Signtool sign /v /s PrivateCertStore /n TestCertForWDK /t http://timestamp.verisign.com/scripts/timestamp.dll "U:\MyDriver\MyDriver.sys"&lt;br /&gt;&lt;br /&gt;7.Verify the sign for driver&lt;br /&gt;Signtool verify /pa /v MyDriver.sys&lt;br /&gt;&lt;br /&gt;8.Verify the sign for cat file&lt;br /&gt;Signtool verify /pa /v /c MyDriver.cat MyDriver.inf&lt;br /&gt;&lt;br /&gt;9.On test computer, import the certificate:&lt;br /&gt;certmgr.exe /add TestCert.cer /s /r localMachine root&lt;br /&gt;certmgr.exe /add TestCert.cer /s /r localMachine trustedpublisher&lt;br /&gt;&lt;br /&gt;reference: Kernel-Mode Code Signing Walkthrough&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-904039495775751251?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/904039495775751251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=904039495775751251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/904039495775751251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/904039495775751251'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/how-to-self-sign-64-bit-driver-on-vista.html' title='How to self sign 64 bit driver on Vista 64 for driver testing'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-1663188423321287436</id><published>2008-03-09T09:19:00.000-07:00</published><updated>2009-05-10T04:44:15.535-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX86'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>How to set up keyboard mapping for OSX86 and Windows XP</title><content type='html'>1.In System Preference of Mac OS X, exchange Command and Control key&lt;br /&gt;&lt;br /&gt;2.If you are using VMware Fusion like me&lt;br /&gt;Open ~/Library/Preferences/VMware Fusion/config&lt;br /&gt;&lt;br /&gt;Add following line:&lt;br /&gt;mks.keyboard.swapAlt = TRUE&lt;br /&gt;&lt;br /&gt;3.In you Win XP&lt;br /&gt;Get KeyAssigner.exe from &lt;br /&gt;http://ftp.isu.edu.tw/pub/Windows/softking/soft/tw/k/KeyAssigner.exe&lt;br /&gt;&lt;br /&gt;Add mapping from CTRL to ALT and ALT to CTRL&lt;br /&gt;&lt;br /&gt;It is done. Now you can use CTRL+V for paste and CTRL+C for copy on both Mac and XP.&lt;br /&gt;&lt;br /&gt;Viola&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-1663188423321287436?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/1663188423321287436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=1663188423321287436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1663188423321287436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/1663188423321287436'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/how-to-set-up-keyboard-mapping-for.html' title='How to set up keyboard mapping for OSX86 and Windows XP'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3240821025498703849</id><published>2008-03-06T22:32:00.000-08:00</published><updated>2008-03-06T22:40:48.094-08:00</updated><title type='text'>Presentation Skills</title><content type='html'>1.The architecture should involve the parts which user are familiar with and other parts which you would like to introduce.&lt;br /&gt;for example, if you want to introduce webcam driver, you should include the total flow diagram from Skype to usb web camera. Introduce each component involved.&lt;br /&gt;&lt;br /&gt;For each operation involved, it should include what user does to skype, and what the effect is on webcam driver.&lt;br /&gt;&lt;br /&gt;2.The relationship between each slide should be clear. From the brief flow intro to the detail of each function, there should be a clear relationship presented to the audience.&lt;br /&gt;&lt;br /&gt;3.Slides design is same as the design of GUI. From Joel( Joel On software) famous book, the audience don't read any text on slides. They just see the picture ( even the lecturer too). It's important to illustrate every idea and even details by drawing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-3240821025498703849?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3240821025498703849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3240821025498703849' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3240821025498703849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3240821025498703849'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/presentation-skills.html' title='Presentation Skills'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-8830840274732926955</id><published>2008-03-04T07:41:00.000-08:00</published><updated>2009-05-10T04:44:34.685-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX86'/><title type='text'>How to change color or transparency  settings of Visor?</title><content type='html'>1. Restart Leopard (important!!)&lt;br /&gt;2. Don't do anything but open VTerminal&lt;br /&gt;3. Open Visor&lt;br /&gt;4. Right click on Visor, choose "Window Settings"&lt;br /&gt;5. Do anything you want&lt;br /&gt;6. Don't choose save as default setting, or your VTerminal will be very wide(as your Visor)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-8830840274732926955?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/8830840274732926955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=8830840274732926955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8830840274732926955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8830840274732926955'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/03/how-to-change-color-or-transparency.html' title='How to change color or transparency  settings of Visor?'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-7325287827223357375</id><published>2008-02-26T18:43:00.000-08:00</published><updated>2008-07-28T20:27:55.910-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SVN'/><title type='text'>My ToroiseSVN settings</title><content type='html'>The ignored file types in config.txt&lt;br /&gt;&lt;br /&gt;global-ignores = global-ignores = *.o *.obj *.sbr *.ilk *.pch *.lo *.la #*# .*.rej *.rej .*~ *~ .# *.DS_Store Debug Release *.exp *.res *.pdb *.idb&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-7325287827223357375?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/7325287827223357375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=7325287827223357375' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7325287827223357375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7325287827223357375'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/02/my-toroisesvn-settings.html' title='My ToroiseSVN settings'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-8720738470831027741</id><published>2008-02-22T01:24:00.000-08:00</published><updated>2008-02-22T01:27:17.700-08:00</updated><title type='text'>Registry Settings for Windows Service</title><content type='html'>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Start&lt;br /&gt;&lt;br /&gt;The type of "Start" is "REG_DWORD"&lt;br /&gt;&lt;br /&gt;The value as follows(copied from MSDN):&lt;br /&gt;0x0 (SERVICE_BOOT_START)&lt;br /&gt;    Indicates a driver started by the operating system loader.&lt;br /&gt;&lt;br /&gt;    This value must be used for drivers of devices required for loading the operating system.&lt;br /&gt;0x1 (SERVICE_SYSTEM_START)&lt;br /&gt;    Indicates a driver started during operating system initialization.&lt;br /&gt;&lt;br /&gt;    This value should be used by PnP drivers that do device detection during initialization but are not required to load the system.&lt;br /&gt;&lt;br /&gt;    For example, a PnP driver that also can detect a legacy device should specify this value in its INF so that its DriverEntry routine will be called to find the legacy device, even if that device cannot be enumerated by the PnP manager.&lt;br /&gt;0x2 (SERVICE_AUTO_START)&lt;br /&gt;    Indicates a driver started by the service control manager during system startup.&lt;br /&gt;&lt;br /&gt;    This value should never be used in the INF files for WDM or PnP device drivers.&lt;br /&gt;0x3 (SERVICE_DEMAND_START)&lt;br /&gt;    Indicates a driver started on demand, either by the PnP manager when the corresponding device is enumerated or possibly by the service control manager in response to an explicit user demand for a non-PnP device.&lt;br /&gt;&lt;br /&gt;    This value should be used in the INF files for all WDM drivers of devices that are not required to load the system and for all PnP device drivers that are neither required to load the system nor engaged in device detection.&lt;br /&gt;0x4 (SERVICE_DISABLED)&lt;br /&gt;    Indicates a driver that cannot be started.&lt;br /&gt;&lt;br /&gt;    This value can be used to temporarily disable the driver services for a device, but a device/driver cannot be installed if this value is specified in the service-install section of its INF file.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-8720738470831027741?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/8720738470831027741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=8720738470831027741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8720738470831027741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/8720738470831027741'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/02/registry-settings-for-windows-service.html' title='Registry Settings for Windows Service'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-2562219574681607380</id><published>2008-02-20T05:49:00.000-08:00</published><updated>2008-02-20T05:52:17.899-08:00</updated><title type='text'>My Vista Desktop Setting</title><content type='html'>TODO: pics here&lt;br /&gt;1.Rocket Dock&lt;br /&gt;2.?? on Devianart&lt;br /&gt;3.Zeus&lt;br /&gt;4.Optional icons of Rocket Dock&lt;br /&gt;5.Wallpapers from \System\Desktop Pictures&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-2562219574681607380?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/2562219574681607380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=2562219574681607380' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2562219574681607380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2562219574681607380'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/02/my-vista-desktop-setting.html' title='My Vista Desktop Setting'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3024670459829846381</id><published>2008-02-17T19:41:00.000-08:00</published><updated>2008-02-17T19:43:26.023-08:00</updated><title type='text'>How to start USB Device Framework(CV) manually?</title><content type='html'>Find usbhct.exe in your WDK(Windows Driver Kit)&lt;br /&gt;Type: usbhct.exe -g -d 0E8D/0004 -l "log"&lt;br /&gt;0E8D/0004 is your Vendor ID / Product ID&lt;br /&gt;"log" is the name of your log file. Beware of that it's required to supply a log file name.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-3024670459829846381?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3024670459829846381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3024670459829846381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3024670459829846381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3024670459829846381'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/02/how-to-start-usb-device-frameworkcv.html' title='How to start USB Device Framework(CV) manually?'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-509004274969115656</id><published>2008-02-13T21:17:00.000-08:00</published><updated>2008-03-06T22:41:27.856-08:00</updated><title type='text'>TODO: Teddy usb</title><content type='html'>see&lt;br /&gt;http://hackedgadgets.com/2006/06/18/teddy-bear-usb-flash-drive/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-509004274969115656?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/509004274969115656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=509004274969115656' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/509004274969115656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/509004274969115656'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/02/todo-teddy-usb.html' title='TODO: Teddy usb'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-3093271693514895639</id><published>2008-02-06T05:52:00.000-08:00</published><updated>2008-12-09T05:29:01.116-08:00</updated><title type='text'>Windows XP Leopard Glass Edition</title><content type='html'>Windows XP Leopard Glass Edition is a very strange OS. Does anyone know it is Leopard or XP?&lt;br /&gt;&lt;br /&gt;Pics:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_pPEnlVYX89U/R6m8ZFYMtwI/AAAAAAAAAAM/djx5faXwSVA/s1600-h/2lwptw1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_pPEnlVYX89U/R6m8ZFYMtwI/AAAAAAAAAAM/djx5faXwSVA/s320/2lwptw1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5163865586883409666" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-3093271693514895639?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/3093271693514895639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=3093271693514895639' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3093271693514895639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/3093271693514895639'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/02/windows-xp-leopard-glass-edition.html' title='Windows XP Leopard Glass Edition'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pPEnlVYX89U/R6m8ZFYMtwI/AAAAAAAAAAM/djx5faXwSVA/s72-c/2lwptw1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-2432695578446555423</id><published>2008-02-05T01:35:00.000-08:00</published><updated>2008-02-05T01:47:24.824-08:00</updated><title type='text'>Memory leak in usbser.sys</title><content type='html'>Affected OS: Windows XP, SP1, SP2 and Vista&lt;br /&gt;usbser.sys fails to release 4 bytes memory when PnPDTest -&gt; Rebalance is performed. Microsoft already knows this and does not want to fix this. If you experience this problem, contact MS CSS support, and they won't charge you. &lt;br /&gt;&lt;br /&gt;There are many undocumented errata which cannot be filtered by the errata filter. All errata that are involved BSOD will not be documented!!! Beware, I have warned you. Don't trust errata filter and MS CSS always needs YOUR SUPPORTS.&lt;br /&gt;&lt;br /&gt;P.S. I have special processed my blog so those hackers cannot see my blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-2432695578446555423?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/2432695578446555423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=2432695578446555423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2432695578446555423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/2432695578446555423'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/02/memory-leak-in-usbsersys.html' title='Memory leak in usbser.sys'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8472483064792584047.post-7065054769039261656</id><published>2008-02-03T17:50:00.000-08:00</published><updated>2008-02-14T19:44:15.632-08:00</updated><title type='text'>How to turn on ( turn off) automatic logon in Windows XP</title><content type='html'>The DTM Test is quite annoying that after you uninstalled the test, the XP still login as DTMLLUAdminUser automatically!!&lt;br /&gt;Here I show you how to turn off the annoying DTMLLUAdminUser logon!!! &lt;br /&gt;&lt;br /&gt;1.find:&lt;br /&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\&lt;br /&gt;CurrentVersion\Winlogon&lt;br /&gt;&lt;br /&gt;2.change "AutoAdminLogon" from 1 to 0&lt;br /&gt;&lt;br /&gt;How to cancel DTM test mode in Vista&lt;br /&gt;3.Start---&gt;All Programs---&gt;Accessories---&gt;Right Hit "Command Prompt"---&gt;Run as administrator　Enter "Bcdedit -set testsigning OFF"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8472483064792584047-7065054769039261656?l=wrongpc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wrongpc.blogspot.com/feeds/7065054769039261656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8472483064792584047&amp;postID=7065054769039261656' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7065054769039261656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8472483064792584047/posts/default/7065054769039261656'/><link rel='alternate' type='text/html' href='http://wrongpc.blogspot.com/2008/02/how-to-turn-on-turn-off-automatic-logon.html' title='How to turn on ( turn off) automatic logon in Windows XP'/><author><name>Lono</name><uri>http://www.blogger.com/profile/05931947502028487363</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
