<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Saari Development</title>
	<atom:link href="http://saaridev.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://saaridev.wordpress.com</link>
	<description>Ali Rizvi's Technical Blog as a Professional Software Development Engineer</description>
	<lastBuildDate>Wed, 25 Nov 2009 04:49:14 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='saaridev.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/77c1f5782f23cd3132e27ed4dc5b15fa?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Saari Development</title>
		<link>http://saaridev.wordpress.com</link>
	</image>
			<item>
		<title>Config: .vimrc</title>
		<link>http://saaridev.wordpress.com/2009/11/24/conf-vimrc/</link>
		<comments>http://saaridev.wordpress.com/2009/11/24/conf-vimrc/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 06:19:35 +0000</pubDate>
		<dc:creator>imsaar</dc:creator>
				<category><![CDATA[configuration]]></category>

		<guid isPermaLink="false">http://saaridev.wordpress.com/?p=132</guid>
		<description><![CDATA[
" Ali Rizvi's Vim Settings

set number
set shiftwidth=4

set incsearch
set hlsearch
set textwidth=80

" from lindes:
syntax on
hi Comment term=bold ctermfg=Cyan guifg=Cyan
set autoindent

" from benji fisher to turn on the matchit plugin automatically and more
filetype plugin on

" explicity map file extension .t to perl syntax instead of tads
" which is autodetected by filetype plugin on
" This line should always be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=132&subd=saaridev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><pre>
" Ali Rizvi's Vim Settings

set number
set shiftwidth=4

set incsearch
set hlsearch
set textwidth=80

" from lindes:
syntax on
hi Comment term=bold ctermfg=Cyan guifg=Cyan
set autoindent

" from benji fisher to turn on the matchit plugin automatically and more
filetype plugin on

" explicity map file extension .t to perl syntax instead of tads
" which is autodetected by filetype plugin on
" This line should always be after filetype plugin
autocmd BufNewFile,BufRead *.t set syntax=perl

" to show real tabs and spaces in file
set list
set listchars=tab:&gt;-,trail:^,eol:$
"set listchars=tab:&gt;-,trail:-

"to add spaces instead of tabs
set expandtab

" evil, bad! -- hard tabs should be 8 chars... --lindes
" set tabstop=4
" _but_ we can use this:
set smarttab

"use arrow keys to move to previous and next buffers
nnoremap  :bn
nnoremap  :bp

"make the background light
set background=light

"show matching parens
set showmatch

"show row and column number
set ruler

" allow backspacing over everything in insert mode
set backspace=indent,eol,start

filetype plugin indent on

"set shiftwidth to 2 for ruby only
autocmd FileType ruby setlocal  sw=2

"shortcuts inspired by http://weblog.jamisbuck.org/2008/11/17/vim-follow-up
let mapleader = " "
map n :execute 'NERDTreeToggle ' . getcwd()

let g:fuzzy_ignore = "*.log"
let g:fuzzy_matching_limit = 70
map ft :FuzzyFinderTextMate
map fb :FuzzyFinderBuffer
map ff :FuzzyFinderFile =fnamemodify('**/x', ':p')
map fm :FuzzyFinderMruFile

command Ped :exec '!p4 edit %'
command Pad :exec '!p4 add %'

set backupdir=~/.vim-tmp
set directory=~/.vim-tmp
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saaridev.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saaridev.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saaridev.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saaridev.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saaridev.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saaridev.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saaridev.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saaridev.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saaridev.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saaridev.wordpress.com/132/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=132&subd=saaridev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saaridev.wordpress.com/2009/11/24/conf-vimrc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e573fc095c18600261ded575d07bb523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">imsaar</media:title>
		</media:content>
	</item>
		<item>
		<title>Config: .screenrc</title>
		<link>http://saaridev.wordpress.com/2009/11/24/conf-screenrc/</link>
		<comments>http://saaridev.wordpress.com/2009/11/24/conf-screenrc/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 06:10:37 +0000</pubDate>
		<dc:creator>imsaar</dc:creator>
				<category><![CDATA[configuration]]></category>

		<guid isPermaLink="false">http://saaridev.wordpress.com/?p=129</guid>
		<description><![CDATA[
#
# Example of a user's .screenrc file
#

# This is how one can set a reattach password:
# password ODSJQf.4IJN7E    # "1234"

# no annoying audible bell, please
vbell on

# detach on hangup
autodetach on

# don't display the copyright page
startup_message off

# emulate .logout message
pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."

# advertise hardstatus support to $TERMCAP
# termcapinfo  * [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=129&subd=saaridev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><pre>
#
# Example of a user's .screenrc file
#

# This is how one can set a reattach password:
# password ODSJQf.4IJN7E    # "1234"

# no annoying audible bell, please
vbell on

# detach on hangup
autodetach on

# don't display the copyright page
startup_message off

# emulate .logout message
pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."

# advertise hardstatus support to $TERMCAP
# termcapinfo  * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\'

# make the shell in every window a login shell
#shell -$SHELL

# autoaka testing
# shellaka '&gt; |tcsh'
# shellaka '$ |sh'

# set every new windows hardstatus line to somenthing descriptive
# defhstatus "screen: ^En (^Et)"

defscrollback 10000

# don't kill window after the process died
# zombie "^["
################
#
# xterm tweaks
#

#xterm understands both im/ic and doesn't have a status line.
#Note: Do not specify im and ic in the real termcap/info file as
#some programs (e.g. vi) will not work anymore.
termcap  xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l

#80/132 column switching must be enabled for ^AW to work
#change init sequence to not switch width
termcapinfo  xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l

# Make the output buffer large for (fast) xterms.
termcapinfo xterm* OL=10000

# tell screen that xterm can switch to dark background and has function
# keys.
termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
termcapinfo xterm 'kh=\E[1~:kI=\E[2~:kD=\E[3~:kH=\E[4~:kP=\E[H:kN=\E[6~'

# special xterm hardstatus: use the window title.
termcapinfo xterm 'hs:ts=\E]2;:fs=07:ds=\E]2;screen07'

#terminfo xterm 'vb=\E[?5h$\E[?5l'
termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'

# emulate part of the 'K' charset
termcapinfo   xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337'
# xterm-52 tweaks:
# - uses background color for delete operations
termcapinfo xterm be

################
#
# wyse terminals
#

#wyse-75-42 must have flow control (xo = "terminal uses xon/xoff")
#essential to have it here, as this is a slow terminal.
termcapinfo wy75-42 xo:hs@

# New termcap sequences for cursor application mode.
termcapinfo wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J

################
#
# other terminals
#

#make hp700 termcap/info better
termcapinfo  hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@'

# Extend the vt100 desciption by some sequences.
termcap  vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC
terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC

################
#
# keybindings
#

#remove some stupid / dangerous key bindings
bind k
bind ^k
bind .
bind ^\
bind \\
bind ^h
bind h
#make them better
bind 'K' kill
bind 'I' login on
bind 'O' login off
bind '}' history

# Yet another hack:
# Prepend/append register [/] to the paste if ^a^] is pressed.
# This lets me have autoindent mode in vi.
register [ "33:se noai15a"
register ] "33:se ai15a"
bind ^] paste [.]

################
#
# default windows
#

# screen -t local 0
# screen -t mail 1 elm
# screen -t 40 2 rlogin faui40
# caption always "%3n %t%? @%u%?%? [%h]%?"
# hardstatus alwaysignore
# hardstatus alwayslastline "%w"

# bind = resize =
# bind + resize +1
# bind - resize -1
# bind _ resize max
#
# attrcolor u "-u b"
# attrcolor b "R"

# fix delayed vi/vim startup in screen
altscreen on

# something that would reload the .screenrc file on reattach
bind R source $HOME/.screenrc

# http://www.ibm.com/developerworks/aix/library/au-gnu_screen/index.html
hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saaridev.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saaridev.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saaridev.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saaridev.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saaridev.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saaridev.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saaridev.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saaridev.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saaridev.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saaridev.wordpress.com/129/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=129&subd=saaridev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saaridev.wordpress.com/2009/11/24/conf-screenrc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e573fc095c18600261ded575d07bb523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">imsaar</media:title>
		</media:content>
	</item>
		<item>
		<title>Ruby: String += vs &lt;&lt;</title>
		<link>http://saaridev.wordpress.com/2009/11/20/ruby-string-vs/</link>
		<comments>http://saaridev.wordpress.com/2009/11/20/ruby-string-vs/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 20:44:05 +0000</pubDate>
		<dc:creator>imsaar</dc:creator>
				<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://saaridev.wordpress.com/?p=123</guid>
		<description><![CDATA[Learned this interesting tidbit on Seattle.rb mailing list that appending a string with &#60;&#60; is 10 times more efficient than +=. This would matter if you are doing a lot of string concatenation.

From: Joe Van Dyk
Date: Fri, Nov 20, 2009 at 10:20 AM
Subject: Re: [Ruby] += vs &#60;&#60;
To: Seattle Ruby Brigade!
$ cat t.rb
require &#39;benchmark&#39;
long_string = [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=123&subd=saaridev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Learned this interesting tidbit on Seattle.rb mailing list that appending a string with &lt;&lt; is 10 times more efficient than +=. This would matter if you are doing a lot of string concatenation.</p>
<blockquote><p>
From: Joe Van Dyk<br />
Date: Fri, Nov 20, 2009 at 10:20 AM<br />
Subject: Re: [Ruby] += vs &lt;&lt;<br />
To: Seattle Ruby Brigade!</p>
<p>$ cat t.rb<br />
require &#39;benchmark&#39;</p>
<p>long_string = &#39;s&#39; * 100000000<br />
another_long_string = &#39;y &#39; * 1000</p>
<p>Benchmark.bm do |b|<br />
 b.report(&quot;&lt;&lt;&quot;) { long_string &lt;&lt; another_long_string  }<br />
 b.report(&quot;+=&quot;) { long_string += another_long_string }<br />
end</p>
<p>$ ruby t.rb<br />
     user     system      total        real<br />
&lt;&lt;  0.000000   0.020000   0.020000 (  0.022544)<br />
+=  0.110000   0.130000   0.240000 (  0.250046)
</p></blockquote>
<p><em>Update</em>: Later in this thread mentioned a comprehensive blog entry about this topic : <a href="http://doblock.com/articles/the-fastest-way-to-concatenate-strings-and-arrays-in-ruby">The Fastest Way to Concatenate Strings and Arrays in Ruby</a> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saaridev.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saaridev.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saaridev.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saaridev.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saaridev.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saaridev.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saaridev.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saaridev.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saaridev.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saaridev.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=123&subd=saaridev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saaridev.wordpress.com/2009/11/20/ruby-string-vs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e573fc095c18600261ded575d07bb523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">imsaar</media:title>
		</media:content>
	</item>
		<item>
		<title>Rails: Skipping Base Class Filters in Subclasses</title>
		<link>http://saaridev.wordpress.com/2009/11/10/rails-skipping-base-class-filters-in-subclasses/</link>
		<comments>http://saaridev.wordpress.com/2009/11/10/rails-skipping-base-class-filters-in-subclasses/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 21:07:24 +0000</pubDate>
		<dc:creator>imsaar</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://saaridev.wordpress.com/?p=116</guid>
		<description><![CDATA[I encountered a case where we needed to skip a filter as it was causing infinite redirection in a subclass. I found my answer in: Rails Filters Documentation 

Filter chain skipping
Declaring a filter on a base class conveniently applies to its subclasses, but sometimes a subclass should skip some of its superclass’ filters:


  class [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=116&subd=saaridev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I encountered a case where we needed to skip a filter as it was causing infinite redirection in a subclass. I found my answer in: <a href="http://api.rubyonrails.org/classes/ActionController/Filters/ClassMethods.html">Rails Filters Documentation</a> </p>
<blockquote><p>
<strong>Filter chain skipping</strong></p>
<p>Declaring a filter on a base class conveniently applies to its subclasses, but sometimes a subclass should skip some of its superclass’ filters:
</p></blockquote>
<pre class="brush: ruby;">
  class ApplicationController &lt; ActionController::Base
    before_filter :authenticate
    around_filter :catch_exceptions
  end

  class WeblogController &lt; ApplicationController
    # Will run the :authenticate and :catch_exceptions filters.
  end

  class SignupController &lt; ApplicationController
    # Skip :authenticate, run :catch_exceptions.
    skip_before_filter :authenticate
  end

  class ProjectsController &lt; ApplicationController
    # Skip :catch_exceptions, run :authenticate.
    skip_filter :catch_exceptions
  end

  class ClientsController  :index
  end
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saaridev.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saaridev.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saaridev.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saaridev.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saaridev.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saaridev.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saaridev.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saaridev.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saaridev.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saaridev.wordpress.com/116/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=116&subd=saaridev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saaridev.wordpress.com/2009/11/10/rails-skipping-base-class-filters-in-subclasses/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e573fc095c18600261ded575d07bb523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">imsaar</media:title>
		</media:content>
	</item>
		<item>
		<title>Vim: Tabs like firefox in non-gui vim</title>
		<link>http://saaridev.wordpress.com/2009/10/14/vim-tabs-like-firefox-in-non-gui-vim/</link>
		<comments>http://saaridev.wordpress.com/2009/10/14/vim-tabs-like-firefox-in-non-gui-vim/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 22:17:24 +0000</pubDate>
		<dc:creator>imsaar</dc:creator>
				<category><![CDATA[editor]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://saaridev.wordpress.com/?p=103</guid>
		<description><![CDATA[This might be old news for some but today I discovered firefox like tabs (not to be confused with tab character for indenting) in vim (not gvim).
To open a file in a new tab while inside vim simply do:
:tabe filename
To open all files in a directory in vim tabs from command line do:
vim -p dir_name/*

To [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=103&subd=saaridev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This might be old news for some but today I discovered firefox like tabs (not to be confused with tab character for indenting) in vim (not gvim).</p>
<p>To open a file in a new tab while inside vim simply do:</p>
<pre>:tabe filename</pre>
<p>To open all files in a directory in vim tabs from command line do:</p>
<pre>vim -p dir_name/*
</pre>
<p>To move around in tabs in command mode you do:</p>
<pre>gt</pre>
<p>It is hard to google for them as it is easy to confuse them with tab character. Here is the online doc page for them:<br />
<a href="http://vimdoc.sourceforge.net/htmldoc/tabpage.html">http://vimdoc.sourceforge.net/htmldoc/tabpage.html</a></p>
<p>The current tab was setup to be not underlined vs other tabs were underline I discovered the way to show current tab in reverse:</p>
<pre>:highlight TabLineSel cterm=reverse</pre>
<p>Of course the options are endless and when I shared this discovery with <a href="http://www.arnab-deka.com/">Arnab</a> he told me there is an entire chapter about this in the <a href="http://www.swaroopch.com/notes/Vim">swroopch&#8217;s Vim book</a> actually it <a href="http://www.swaroopch.com/notes/Vim_en:Multiplicity#Multiple_Tabs">one section in his Book</a>.</p>
<p>Thank you Daniel Wong for introducing me to vim tabs. It was instant pay off on encouraging Daniel to use either use a real programmers&#8217; editor like Vim or Emacs instead of gedit and teaching him the basic Vim (once he choose my choice of text editor on his own, I did not pressure him, honest).</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saaridev.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saaridev.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saaridev.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saaridev.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saaridev.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saaridev.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saaridev.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saaridev.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saaridev.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saaridev.wordpress.com/103/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=103&subd=saaridev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saaridev.wordpress.com/2009/10/14/vim-tabs-like-firefox-in-non-gui-vim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e573fc095c18600261ded575d07bb523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">imsaar</media:title>
		</media:content>
	</item>
		<item>
		<title>How to tweet about your latest post on wordpress.com?</title>
		<link>http://saaridev.wordpress.com/2009/10/13/how-to-tweet-about-your-latest-post-on-wordpress-com/</link>
		<comments>http://saaridev.wordpress.com/2009/10/13/how-to-tweet-about-your-latest-post-on-wordpress-com/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 02:57:55 +0000</pubDate>
		<dc:creator>imsaar</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://saaridev.wordpress.com/2009/10/13/how-to-tweet-about-your-latest-post-on-wordpress-com/</guid>
		<description><![CDATA[One of the reasons I like posterous (other than its awesome multimedia media support) is that when I create post their I can set it up to tweet to my twitter account about my latest post.
WordPress.com is still my first love when it comes to blogging so I thought there has to be a way [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=99&subd=saaridev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>One of the reasons I like posterous (other than its awesome multimedia media support) is that when I create post their I can set it up to tweet to my twitter account about my latest post.</p>
<p>WordPress.com is still my first love when it comes to blogging so I thought there has to be a way to tweet about my new post and I finally found it after a lot of googling. So it is a bit obscure.</p>
<p>* Login to wordpress.com<br />
* Go to your blog&#8217;s dashboard by clicking &#8220;My Dashboard&#8221;<br />
* Click on &#8220;My Blogs&#8221; under Dashboard<br />
* In front of the blog name you want this for (in case you have multiple blogs like me) look for the &#8220;publicize&#8221; column and check Twitter. WordPress uses oAuth to authorize (did not ask me my twitter login)<br />
* Post new blog entries on WordPress.</p>
<p>Cheers!</p>
<p>PS: Did not find this (<a href="http://en.support.wordpress.com/publicize/">http://en.support.wordpress.com/publicize/</a>) when googling but when I searched for wordpress.com publicize.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saaridev.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saaridev.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saaridev.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saaridev.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saaridev.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saaridev.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saaridev.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saaridev.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saaridev.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saaridev.wordpress.com/99/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=99&subd=saaridev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saaridev.wordpress.com/2009/10/13/how-to-tweet-about-your-latest-post-on-wordpress-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e573fc095c18600261ded575d07bb523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">imsaar</media:title>
		</media:content>
	</item>
		<item>
		<title>Oracle: Explain Plan from SQLPlus</title>
		<link>http://saaridev.wordpress.com/2009/10/13/oracle-explain-plan-from-sqlplus/</link>
		<comments>http://saaridev.wordpress.com/2009/10/13/oracle-explain-plan-from-sqlplus/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 02:32:30 +0000</pubDate>
		<dc:creator>imsaar</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://saaridev.wordpress.com/?p=92</guid>
		<description><![CDATA[I have been spoiled by simple way for getting a explain plan from MySQL and web tools for oracle.
Today somebody asked me how to get an explain plan from oracle command line sqlplus and I discovered it is a little painful. Here is what I found out:

explain plan for select * from shiny_complex_table;

select
  substr [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=92&subd=saaridev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I have been spoiled by simple way for getting a explain plan from MySQL and web tools for oracle.</p>
<p>Today somebody asked me how to get an explain plan from oracle command line sqlplus and I discovered it is a little painful. Here is what I found out:</p>
<pre class="brush: sql;">
explain plan for select * from shiny_complex_table;

select
  substr (lpad(' ', level-1) || operation || ' (' || options || ')',1,30 ) &quot;Operation&quot;,
  object_name                                                              &quot;Object&quot;
from
  plan_table
start with id = 0
connect by prior id=parent_id;
</pre>
<p>Reference: <a href="http://www.adp-gmbh.ch/ora/explainplan.html">http://www.adp-gmbh.ch/ora/explainplan.html</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saaridev.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saaridev.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saaridev.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saaridev.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saaridev.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saaridev.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saaridev.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saaridev.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saaridev.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saaridev.wordpress.com/92/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=92&subd=saaridev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saaridev.wordpress.com/2009/10/13/oracle-explain-plan-from-sqlplus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e573fc095c18600261ded575d07bb523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">imsaar</media:title>
		</media:content>
	</item>
		<item>
		<title>Blogging from wordpress iphone app</title>
		<link>http://saaridev.wordpress.com/2009/09/29/blogging-from-wordpress-iphone-app/</link>
		<comments>http://saaridev.wordpress.com/2009/09/29/blogging-from-wordpress-iphone-app/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 23:17:58 +0000</pubDate>
		<dc:creator>imsaar</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://saaridev.wordpress.com/2009/09/29/blogging-from-wordpress-iphone-app/</guid>
		<description><![CDATA[Two new apps I always wanted was the dropbox app and wordpress app, today is my lucky day I got them both.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=91&subd=saaridev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Two new apps I always wanted was the dropbox app and wordpress app, today is my lucky day I got them both.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saaridev.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saaridev.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saaridev.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saaridev.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saaridev.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saaridev.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saaridev.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saaridev.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saaridev.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saaridev.wordpress.com/91/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=91&subd=saaridev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saaridev.wordpress.com/2009/09/29/blogging-from-wordpress-iphone-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e573fc095c18600261ded575d07bb523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">imsaar</media:title>
		</media:content>
	</item>
		<item>
		<title>Vim: Converting to JavaCase to ruby_case</title>
		<link>http://saaridev.wordpress.com/2009/09/17/javacase2ruby_case/</link>
		<comments>http://saaridev.wordpress.com/2009/09/17/javacase2ruby_case/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 15:51:33 +0000</pubDate>
		<dc:creator>imsaar</dc:creator>
				<category><![CDATA[editor]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://saaridev.wordpress.com/?p=86</guid>
		<description><![CDATA[This morning I was in a mode to do a regex kata and thought it would be interesting to see if I can substitute CamelCase (I call it JavaCase for fun) to underscore_separated_words (I did a search and could not find a good word for this so) I will call it ruby_case.
Here is how I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=86&subd=saaridev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This morning I was in a mode to do a regex kata and thought it would be interesting to see if I can substitute CamelCase (I call it JavaCase for fun) to underscore_separated_words (I did a search and could not find a good word for this so) I will call it ruby_case.</p>
<p>Here is how I started (note in my setting of vim you have to escape parens \):</p>
<pre>
:%s/\([a-z]\)\([A-Z]\)/\1_\2/gc
</pre>
<p>The above matches lowercase letter followed by uppercase letter and captures them then replaces them with underscore between them.</p>
<pre>
:%s/\(\l\)\(\u\)/\1_\2/gc
</pre>
<p>I found that Vim has metacharacters for upper (\u) and lowercase (\l). So above become cleaner version of the previous, call it refactoring. (JavaCase =&gt; Java_Case)</p>
<pre>
:%s/\(\l\)\(\u\)/\1_\L\2/gc
</pre>
<p>I found how to change an uppercase capture to lowercase. But this was leaving first character of the word still uppercase (JavaCase =&gt; Java_case)</p>
<pre>
:%s/\(\&lt;\u\).*\(\l\)\(\u\)/\L\1\2_\L\3/gc
</pre>
<p>In this attempt to capture the first letter and lower case it I lost the letters in between. (JavaCase =&gt; ja_case)</p>
<pre>
:%s/\(\&lt;\u.*\)\(\l\)\(\u\)/\L\1\2_\L\3/gc
</pre>
<p>Finally, I got what I wanted. (JavaCase =&gt; java_case) Hurray! </p>
<p>But I notice the match is greedy, so if there are multiple CamelCase on the same line this would fail. </p>
<p>For now I will leave this as an exercise for the reader as I am out of time for now, when I have a solution I will add it here.</p>
<p>This was a fun little exercise and I enjoyed it very much. Now I can find and solve a problem like this every morning it will jump start the day.</p>
<p>Reference:<a href="http://www.geocities.com/volontir/"> Vim Regular Expression 101</a> (http://www.geocities.com/volontir/)</p>
<p>Cheers!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saaridev.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saaridev.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saaridev.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saaridev.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saaridev.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saaridev.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saaridev.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saaridev.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saaridev.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saaridev.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=86&subd=saaridev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saaridev.wordpress.com/2009/09/17/javacase2ruby_case/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e573fc095c18600261ded575d07bb523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">imsaar</media:title>
		</media:content>
	</item>
		<item>
		<title>Book: Pragmatic Thinking and Learning</title>
		<link>http://saaridev.wordpress.com/2009/04/10/pragmatic-thinking-and-learning/</link>
		<comments>http://saaridev.wordpress.com/2009/04/10/pragmatic-thinking-and-learning/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 17:09:12 +0000</pubDate>
		<dc:creator>imsaar</dc:creator>
				<category><![CDATA[software-development]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[lifehacks]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://saaridev.wordpress.com/?p=77</guid>
		<description><![CDATA[The frisson never died. The excitement kept me turning one page after another. Andy Hunt&#8217;s Pragmatic Thinking and learning : Refactor Your Wetware is life changing and I highly recommend it to all Software Developers new and old.
Pragmatic Thinking and Learning (PTL) is full of ideas and insights. It is based on a lot of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=77&subd=saaridev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The frisson never died. The excitement kept me turning one page after another. Andy Hunt&#8217;s <a href="http://www.pragprog.com/titles/ahptl/pragmatic-thinking-and-learning">Pragmatic Thinking and learning : Refactor Your Wetware</a> is life changing and I highly recommend it to all Software Developers new and old.</p>
<p>Pragmatic Thinking and Learning (PTL) is full of ideas and insights. It is based on a lot of research and background reading. It would save you a lot of trouble of going through a lot of books and research to learn the same material which might not be written this well. I had already read some of the books mentioned in the book, some were on my candidate list and some I added to my candidate list based on citations from this book but this is a concise collection of all these tips and tricks you learn from all these books (some of them I will never read as they are research on neuroscience and nursing professionals).</p>
<p>What does <a href="http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/tag=saaridunya-20">Pragmatic Programmer</a> and Pragmatic Thinking and Learning have in common besides practical advice, tons of insight and being my all time favorite books? Andy Hunt. <a href="http://blog.toolshed.com/">Andy</a> is awesome. Not only he writes well he is a very articulate speaker. In fact the way I got introduced to this book while it was being written was a talk he gave at my company. This book is so much more than that talk I loved.</p>
<p>I will write more about the practical tips as I act on them in the future in this blog or on <a href="http://twitter.com/imsaar">my twitter</a> but for now I just wanted to give a shout out for this fantastic book.</p>
<p>If you want to buy it from my favorite book seller online <a href="http://www.amazon.com/Pragmatic-Thinking-Learning-Refactor-Programmers/dp/1934356050/tag=saaridunya-20">here is the link</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/saaridev.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/saaridev.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/saaridev.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/saaridev.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/saaridev.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/saaridev.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/saaridev.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/saaridev.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/saaridev.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/saaridev.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=saaridev.wordpress.com&blog=2451925&post=77&subd=saaridev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://saaridev.wordpress.com/2009/04/10/pragmatic-thinking-and-learning/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e573fc095c18600261ded575d07bb523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">imsaar</media:title>
		</media:content>
	</item>
	</channel>
</rss>