<?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-33656101</id><updated>2011-08-01T07:20:57.899-07:00</updated><title type='text'>Nagz</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-33656101.post-2508066241489367682</id><published>2010-10-08T01:07:00.000-07:00</published><updated>2010-10-08T05:28:56.034-07:00</updated><title type='text'></title><content type='html'>To be Happy or not to be....???? &lt;br /&gt;&lt;br /&gt;        Couple of days before i read in a newspaper that said,"India's youth population will definetly surpass China's development by 2020"&lt;br /&gt;&lt;br /&gt;        But the next day i read in the same newspaper that said, " Blood pressure and Diabetes are the 2 commonly found disease in the school going children especially who are less than 10Yrs ,because of the hectic study schedule and lack of play area".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-2508066241489367682?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/2508066241489367682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=2508066241489367682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/2508066241489367682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/2508066241489367682'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2010/10/to-be-happy-or-not-to-be.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-4408123653500255574</id><published>2009-03-09T23:21:00.000-07:00</published><updated>2009-03-09T23:22:36.661-07:00</updated><title type='text'></title><content type='html'>Various Methods of Implementing Singleton:&lt;br /&gt;&lt;br /&gt;public class Singleton {&lt;br /&gt;     /*&lt;br /&gt;    *&lt;br /&gt;    * Type 1&lt;br /&gt;    *&lt;br /&gt;    * Advantages :        Best of all the implementations available&lt;br /&gt;    *                     Thread safe&lt;br /&gt;    *                     Works on all version of jvm&lt;br /&gt;    *&lt;br /&gt;    *&lt;br /&gt;   protected Singleton(){&lt;br /&gt;       System.out.println("Singleton Contructor Called...");&lt;br /&gt;   }&lt;br /&gt;     private static class SingletonHolder{&lt;br /&gt;       private final static Singleton singleton = new Singleton();&lt;br /&gt;         }//End of class SingletonHolder&lt;br /&gt;     public static Singleton getInstance(){&lt;br /&gt;       return SingletonHolder.singleton;&lt;br /&gt;   }&lt;br /&gt;   */&lt;br /&gt;   &lt;br /&gt;       /*&lt;br /&gt;    *&lt;br /&gt;    * Type 2&lt;br /&gt;    *&lt;br /&gt;    * Advantage     : Very basic singleton pattern .&lt;br /&gt;    *                   Works on all JDK Version&lt;br /&gt;    *&lt;br /&gt;    * Disadvantages    : Not a thread safe&lt;br /&gt;    *&lt;br /&gt;   private Singleton(){}&lt;br /&gt;   private static Singleton singleton = null;&lt;br /&gt;   public Singleton getInstance(){&lt;br /&gt;       if(singleton==null){&lt;br /&gt;           singleton = new Singleton();&lt;br /&gt;       }&lt;br /&gt;       return singleton;&lt;br /&gt;   }&lt;br /&gt;     */&lt;br /&gt;           /*&lt;br /&gt;    *&lt;br /&gt;    * Type 3&lt;br /&gt;    * Advantages : Thread Safe algorithm&lt;br /&gt;    * Disadvantages : Blocks to acquire a lock&lt;br /&gt;    *&lt;br /&gt;    *&lt;br /&gt;     private static Singleton singleton = null;&lt;br /&gt;   private Singleton(){};&lt;br /&gt;   public Singleton getInstance(){&lt;br /&gt;       if(singleton==null){&lt;br /&gt;           synchronized(Singleton.class){&lt;br /&gt;               singleton = new Singleton();&lt;br /&gt;                     }//End of synchronized block&lt;br /&gt;       }//End of if&lt;br /&gt;       return singleton;&lt;br /&gt;   }&lt;br /&gt;     */&lt;br /&gt;           /*&lt;br /&gt;    *&lt;br /&gt;    * Type 4&lt;br /&gt;    *&lt;br /&gt;    *Advantages     : No Synchronized blocks and hence no locking&lt;br /&gt;    *                  Readily available .       *Disadvantages : Not a lazy loaded singleton.&lt;br /&gt;    *&lt;br /&gt;    *&lt;br /&gt;&lt;br /&gt;   private static Singleton singleton = null;&lt;br /&gt;     static {&lt;br /&gt;       singleton = new Singleton();&lt;br /&gt;   }&lt;br /&gt;     private Singleton(){};&lt;br /&gt;     public Singleton getInstance(){&lt;br /&gt;       return singleton;&lt;br /&gt;   }&lt;br /&gt;     */&lt;br /&gt; &lt;br /&gt;}//End of class Singleton&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-4408123653500255574?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/4408123653500255574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=4408123653500255574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/4408123653500255574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/4408123653500255574'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2009/03/various-methods-of-implementing.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-6662000225560022251</id><published>2009-03-09T23:08:00.000-07:00</published><updated>2009-03-09T23:12:36.306-07:00</updated><title type='text'></title><content type='html'>JDBC Url Pattern for Oracle 10i:&lt;br /&gt;&lt;br /&gt;Recently while i was trying to configure Sun One Application Server with Oracle 10i&lt;br /&gt;i found out that the traditional method of jdbc url pattern [jdbc:oracle:thin@myhost:port:service]&lt;br /&gt;not working .&lt;br /&gt;&lt;br /&gt;Then after spending some time in searching the net, i found that in 10i the jdbc url pattern has changed to "jdbc:oracle:thin:username/password@//myhost:1521/orcl".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NOTE:&lt;br /&gt;Difference Between Service &amp; SID:&lt;br /&gt;&lt;br /&gt;Oracle SID is the unique name that uniquely identifies an instance/database. &lt;br /&gt;Service name is the TNS alias for a database and this Service name is recorded in Tnsnames.ora file on your clients and it can be the same as SID (the default) or may be different.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-6662000225560022251?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/6662000225560022251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=6662000225560022251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/6662000225560022251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/6662000225560022251'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2009/03/jdbc-url-pattern-for-oracle-10i.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-7680209406220000790</id><published>2008-07-20T18:30:00.000-07:00</published><updated>2008-07-20T18:35:49.842-07:00</updated><title type='text'></title><content type='html'>Initialize on Demand Holder Class &amp; Singleton&lt;br /&gt;&lt;br /&gt;public class S {&lt;br /&gt;  private S() {}&lt;br /&gt;    &lt;br /&gt;  private static class SHolder { &lt;br /&gt;        private static S s = new S();&lt;br /&gt;  }//End of Class SHolder&lt;br /&gt;    &lt;br /&gt;  public static S getInstance() { &lt;br /&gt;        return SHolder.s; &lt;br /&gt;  }//End of getInstance&lt;br /&gt;  &lt;br /&gt;}//End of class S&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Description:&lt;/strong&gt; &lt;br /&gt;The reason you need the inner class to hold the instance is if you have other static methods you want to be able to call without creating the singleton instance.&lt;br /&gt;&lt;br /&gt;Static members are created when the class is first used, so calling another static method causes all static data (including the instance variable) to be initialized. By putting it in an inner class, only when the inner class is first referenced (which should only be during calls to the outer class's getInstance()) does the instance get created.&lt;br /&gt;&lt;br /&gt;Basically the static inner class is slightly more lazy, but you'll only notice the difference if there are other static methods on your singleton class that are called before getInstance(). In general, I'd say it's bad practice to do that (static methods other than getInstance() on a singleton), but I guess some people must do that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-7680209406220000790?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/7680209406220000790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=7680209406220000790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/7680209406220000790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/7680209406220000790'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2008/07/initialize-on-demand-holder-class.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-4899378735651394467</id><published>2008-07-02T06:30:00.000-07:00</published><updated>2008-07-02T06:50:23.768-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;Vitamins Chart&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_04QuWEVKLck/SGuDtKp0rBI/AAAAAAAAAh4/R4tK9hYMDdg/s1600-h/01.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_04QuWEVKLck/SGuDtKp0rBI/AAAAAAAAAh4/R4tK9hYMDdg/s320/01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218409405215976466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_04QuWEVKLck/SGuDtDVG6VI/AAAAAAAAAiA/WY01-GuKaS8/s1600-h/02.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_04QuWEVKLck/SGuDtDVG6VI/AAAAAAAAAiA/WY01-GuKaS8/s320/02.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218409403250043218" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_04QuWEVKLck/SGuDtbHRMRI/AAAAAAAAAiI/OlK95o9exxk/s1600-h/03.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_04QuWEVKLck/SGuDtbHRMRI/AAAAAAAAAiI/OlK95o9exxk/s320/03.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218409409634447634" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_04QuWEVKLck/SGuDtUdJ5-I/AAAAAAAAAiQ/ZBv-vWpEEOA/s1600-h/04.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_04QuWEVKLck/SGuDtUdJ5-I/AAAAAAAAAiQ/ZBv-vWpEEOA/s320/04.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218409407847196642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_04QuWEVKLck/SGuDtgldzTI/AAAAAAAAAiY/_8yHhk2RK-0/s1600-h/05.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_04QuWEVKLck/SGuDtgldzTI/AAAAAAAAAiY/_8yHhk2RK-0/s320/05.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218409411103280434" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_04QuWEVKLck/SGuD9VOiPuI/AAAAAAAAAig/32uTO9I5nxU/s1600-h/06.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_04QuWEVKLck/SGuD9VOiPuI/AAAAAAAAAig/32uTO9I5nxU/s320/06.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218409682932219618" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_04QuWEVKLck/SGuD9m3I73I/AAAAAAAAAio/vTxYgr7Rlps/s1600-h/07.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_04QuWEVKLck/SGuD9m3I73I/AAAAAAAAAio/vTxYgr7Rlps/s320/07.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218409687665930098" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_04QuWEVKLck/SGuD9-Br3TI/AAAAAAAAAiw/UBHsQKgao3w/s1600-h/08.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_04QuWEVKLck/SGuD9-Br3TI/AAAAAAAAAiw/UBHsQKgao3w/s320/08.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218409693884177714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_04QuWEVKLck/SGuD9_kVMLI/AAAAAAAAAi4/dvLQd9mq6hw/s1600-h/09.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_04QuWEVKLck/SGuD9_kVMLI/AAAAAAAAAi4/dvLQd9mq6hw/s320/09.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218409694297927858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_04QuWEVKLck/SGuD-ChV0CI/AAAAAAAAAjA/Tur68rEuT_g/s1600-h/10.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_04QuWEVKLck/SGuD-ChV0CI/AAAAAAAAAjA/Tur68rEuT_g/s320/10.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218409695090692130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_04QuWEVKLck/SGuEV5qIbRI/AAAAAAAAAjI/H6XsYaXqYnA/s1600-h/11.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_04QuWEVKLck/SGuEV5qIbRI/AAAAAAAAAjI/H6XsYaXqYnA/s320/11.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218410105028504850" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_04QuWEVKLck/SGuEWAeoDDI/AAAAAAAAAjQ/M28IAnOXKaQ/s1600-h/12.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_04QuWEVKLck/SGuEWAeoDDI/AAAAAAAAAjQ/M28IAnOXKaQ/s320/12.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218410106859293746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_04QuWEVKLck/SGuEWMUu_5I/AAAAAAAAAjY/re16XVrt9DE/s1600-h/13.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_04QuWEVKLck/SGuEWMUu_5I/AAAAAAAAAjY/re16XVrt9DE/s320/13.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218410110039031698" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_04QuWEVKLck/SGuEWV2WXYI/AAAAAAAAAjg/JaWPWM3YePg/s1600-h/14.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_04QuWEVKLck/SGuEWV2WXYI/AAAAAAAAAjg/JaWPWM3YePg/s320/14.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218410112595942786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_04QuWEVKLck/SGuEWXceOBI/AAAAAAAAAjo/xwqyOxTYF2o/s1600-h/15.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_04QuWEVKLck/SGuEWXceOBI/AAAAAAAAAjo/xwqyOxTYF2o/s320/15.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218410113024276498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_04QuWEVKLck/SGuFvl8M3QI/AAAAAAAAAjw/7kz-wy7lFDE/s1600-h/16.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_04QuWEVKLck/SGuFvl8M3QI/AAAAAAAAAjw/7kz-wy7lFDE/s320/16.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218411645923810562" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_04QuWEVKLck/SGuFviujbJI/AAAAAAAAAj4/UBIVnsna8m0/s1600-h/17.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_04QuWEVKLck/SGuFviujbJI/AAAAAAAAAj4/UBIVnsna8m0/s320/17.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218411645061262482" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_04QuWEVKLck/SGuFvkP8nGI/AAAAAAAAAkA/ZXFC6hh-xms/s1600-h/18.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_04QuWEVKLck/SGuFvkP8nGI/AAAAAAAAAkA/ZXFC6hh-xms/s320/18.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218411645469760610" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_04QuWEVKLck/SGuFv_njN8I/AAAAAAAAAkI/-yZd2f_QOUw/s1600-h/19.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_04QuWEVKLck/SGuFv_njN8I/AAAAAAAAAkI/-yZd2f_QOUw/s320/19.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218411652816517058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_04QuWEVKLck/SGuFv9ujN0I/AAAAAAAAAkQ/YmRk9MSEvP8/s1600-h/20.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_04QuWEVKLck/SGuFv9ujN0I/AAAAAAAAAkQ/YmRk9MSEvP8/s320/20.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218411652309006146" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-4899378735651394467?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/4899378735651394467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=4899378735651394467' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/4899378735651394467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/4899378735651394467'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2008/07/vitamins-chart.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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://2.bp.blogspot.com/_04QuWEVKLck/SGuDtKp0rBI/AAAAAAAAAh4/R4tK9hYMDdg/s72-c/01.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33656101.post-7384686876649219402</id><published>2007-09-20T09:49:00.000-07:00</published><updated>2007-09-20T10:26:09.373-07:00</updated><title type='text'></title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_04QuWEVKLck/RvKmh3aulPI/AAAAAAAAAg4/5GAMkqyA-xY/s1600-h/Dogs.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_04QuWEVKLck/RvKmh3aulPI/AAAAAAAAAg4/5GAMkqyA-xY/s320/Dogs.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5112331627760882930" /&gt;&lt;/a&gt;&lt;br /&gt;Tongue Twisters&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Peter bought a butter,&lt;br /&gt;The butter Peter bought was bitter,&lt;br /&gt;So Peter Bought A better butter,&lt;br /&gt;To make the bitter butter better.&lt;br /&gt;&lt;br /&gt;How much wood would a woodchuck chuck&lt;br /&gt;if a woodchuck could chuck wood?&lt;br /&gt;He would chuck, he would, as much as he could,&lt;br /&gt;and chuck as much wood as a wood chuck would&lt;br /&gt;if a woodchuck could chuck wood.&lt;br /&gt;&lt;br /&gt;Which witch wished which wicked wish?&lt;br /&gt;&lt;br /&gt;Peter Piper picked a peck of pickled peppers.&lt;br /&gt;Did Peter Piper pick a peck of pickled peppers?&lt;br /&gt;If Peter Piper picked a peck of pickled peppers,&lt;br /&gt;where's the peck of pickled peppers Peter Piper picked?&lt;br /&gt;&lt;br /&gt;She sells sea shells by the sea shore.&lt;br /&gt;The shells she sells are surely seashells.&lt;br /&gt;So if she sells shells on the seashore,&lt;br /&gt;I'm sure she sells seashore shells.&lt;br /&gt;&lt;br /&gt;A flea and a fly flew up in a flue.&lt;br /&gt;Said the flea, "Let us fly!"&lt;br /&gt;Said the fly, "Let us flee!"&lt;br /&gt;So they flew through a flaw in the flue.&lt;br /&gt;&lt;br /&gt;Betty Botter had some butter,&lt;br /&gt;But, she said, "this butter's bitter.&lt;br /&gt;If I bake this bitter butter, it would make my batter bitter.&lt;br /&gt;But a bit of better butter that would make my batter better.&lt;br /&gt;So she bought a bit of butter,&lt;br /&gt;better than her bitter butter,&lt;br /&gt;And she baked it in her batter,&lt;br /&gt;and the batter was not bitter.&lt;br /&gt;So 'twas better Betty Botter bought a bit of better butter.&lt;br /&gt;&lt;br /&gt;A big black bug bit a big black bear,&lt;br /&gt;made the big black bear bleed blood.&lt;br /&gt;&lt;br /&gt;Lesser leather never weathered wetter weather better.&lt;br /&gt;&lt;br /&gt;A bitter biting bittern Bit a better brother bittern,&lt;br /&gt;And the bitter better bittern Bit the bitter biter back.&lt;br /&gt;And the bitter bittern, bitten, By the better bitten bittern,&lt;br /&gt;Said: "I'm a bitter biter bit, alack!"&lt;br /&gt;&lt;br /&gt;Mr. See owned a saw.&lt;br /&gt;And Mr. Soar owned a seesaw.&lt;br /&gt;Now See's saw sawed Soar's seesaw&lt;br /&gt;Before Soar saw See,&lt;br /&gt;Which made Soar sore.&lt;br /&gt;Had Soar seen See's saw before See sawed Soar's seesaw,&lt;br /&gt;See's saw would not have sawed Soar's seesaw.&lt;br /&gt;So See's saw sawed Soar's seesaw.&lt;br /&gt;But it was sad to see Soar so sore&lt;br /&gt;Just because See's saw sawed Soar's seesaw!&lt;br /&gt;&lt;br /&gt;Silly Sally swiftly shooed seven silly sheep.&lt;br /&gt;The seven silly sheep Silly Sally shooed shilly-shallied south.&lt;br /&gt;These sheep shouldn't sleep in a shack;&lt;br /&gt;sheep should sleep in a sack...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-7384686876649219402?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/7384686876649219402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=7384686876649219402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/7384686876649219402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/7384686876649219402'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2007/09/tongue-twisters-peter-bought-butter.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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://2.bp.blogspot.com/_04QuWEVKLck/RvKmh3aulPI/AAAAAAAAAg4/5GAMkqyA-xY/s72-c/Dogs.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33656101.post-780167890802011525</id><published>2007-09-13T09:42:00.001-07:00</published><updated>2007-09-18T08:37:37.387-07:00</updated><title type='text'></title><content type='html'>Just For Laugh....&lt;br /&gt;&lt;br /&gt;* Wife: Darling today is our anniversary, what should we do? &lt;br /&gt;Husband: Let us stand in silence for 2 minutes. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* It's funny when people discuss Love Marriage vs Arranged. &lt;br /&gt;It's like asking someone, if suicide is better or being murdered. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* A man who surrenders when he's wrong, is Honest. &lt;br /&gt;A man who surrenders when not Sure, is Wise. &lt;br /&gt;A man who surrenders even if he's Right, is a Husband. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Why do Bride &amp; Groom exchange varmaala during wedding? &lt;br /&gt;To tell each other affectionately... Sweetheart U R Dead! &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Different Phases of a man: &lt;br /&gt;After engagement: Superman &lt;br /&gt;After Marriage: Gentleman &lt;br /&gt;After 10 years: Watchman &lt;br /&gt;After 20 years: Doberman &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* There is only one perfect child in the world and every mother has it. &lt;br /&gt;There is only one perfect wife in the world and every neighbour has it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Prospective husband: Do you have a book called 'Man, The Master of Women'? &lt;br /&gt;Salesgirl: The fiction department is on the other side, sir.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;----------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Marriage and funny quotes:&lt;br /&gt;&lt;br /&gt;I recently read that love is entirely a matter of chemistry.That must be why my wife treats me like toxic waste.David Bissonette&lt;br /&gt;&lt;br /&gt;When a man steals your wife, there is no better revenge than to let him keep her.Sacha Guitry&lt;br /&gt;&lt;br /&gt;After marriage, husband and wife become two sides of a coin; they just can't face each other, but still they stay together.Hemant Joshi&lt;br /&gt;&lt;br /&gt;By all means marry. If you get a good wife, you'll be happy. If you get a bad one, you'll become a philosopher. Socrates&lt;br /&gt;&lt;br /&gt;Woman inspires us to great things, and prevents us from achieving them.Dumas&lt;br /&gt;&lt;br /&gt;The great question... which I have not been able to answer... is, "What does a woman want? Sigmund Freud&lt;br /&gt;&lt;br /&gt;I had some words with my wife, and she had some paragraphs with me.Anonymous&lt;br /&gt;&lt;br /&gt;"Some people ask the secret of our long marriage. We take time to go to a restaurant two times a week. A little candlelight, dinner, soft music and dancing. She goes Tuesdays, I go Fridays." Henny Youngman&lt;br /&gt;&lt;br /&gt;"I don't worry about terrorism. I was married for two years." Sam Kinison&lt;br /&gt;&lt;br /&gt;"There's a way of transferring funds that is even faster than electronic banking. It's called marriage." James Holt McGavran&lt;br /&gt;&lt;br /&gt;"I've had bad luck with both my wives. The first one left me, and the second one didn't." Patrick Murray&lt;br /&gt;&lt;br /&gt;Two secrets to keep your marriage brimming&lt;br /&gt;1. Whenever you're wrong, admit it,&lt;br /&gt;2. Whenever you're right, shut up.&lt;br /&gt;Nash&lt;br /&gt;&lt;br /&gt;The most effective way to remember your wife's birthday is to forget it once...&lt;br /&gt;Anonymous&lt;br /&gt;&lt;br /&gt;You know what I did before I married? Anything I wanted to. Henny Youngman&lt;br /&gt;&lt;br /&gt;My wife and I were happy for twenty years. Then we met. Rodney Dangerfield&lt;br /&gt;&lt;br /&gt;A good wife always forgives her husband when she's wrong. Milton Berle&lt;br /&gt;&lt;br /&gt;Marriage is the only war where one sleeps with the enemy.&lt;br /&gt;Anonymous&lt;br /&gt;&lt;br /&gt;A son asked his Dad how much it costs to get married. His Dad replied: I don't know son, I'm still paying.&lt;br /&gt;&lt;br /&gt;A man inserted an 'ad' in the classifieds: "Wife wanted". Next day he received a hundred letters. They all said the same thing: "You can have mine."&lt;br /&gt;Anonymous&lt;br /&gt;&lt;br /&gt;First Guy (proudly): "My wife's an angel!"&lt;br /&gt;Second Guy: "You're lucky, mine's still alive."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-780167890802011525?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/780167890802011525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=780167890802011525' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/780167890802011525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/780167890802011525'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2007/09/just-for-laugh.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116809582412930795</id><published>2007-01-06T06:50:00.000-08:00</published><updated>2007-08-30T14:56:21.864-07:00</updated><title type='text'></title><content type='html'>Basic Doubts in Java &amp; in Databases ? Ask Mr.Nagz.&lt;br /&gt;&lt;br /&gt;DB:Differences between Stored Procedures and Functions:&lt;br /&gt;&lt;br /&gt;Stored Procedures (SPROC)&lt;br /&gt;1.Doesn't need to return values, but can return value.&lt;br /&gt;2.Stored as a pseudo-code in database.i.e compiled form.&lt;br /&gt;3.Can affect the state of database using commit.&lt;br /&gt;4.Cannot be invoked from SQL Statements.[SELECT]&lt;br /&gt;5.&lt;strong&gt;Procedures are mainly used to process the tasks.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;User Defined Function[UDF]&lt;br /&gt;1.Should return atleast one update parameter.Can return more than one parameter using OUT argument.&lt;br /&gt;2.Parsed and compiled at runtime.&lt;br /&gt;3.Cannot affect the state of database.&lt;br /&gt;4.Can be invoked from SQL Statements [SELECT]&lt;br /&gt;5.&lt;strong&gt;Functions are mainly used to compute values&lt;/strong&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;JAVA:What are Runtime Polymorphism &amp; Compile time Polymorphism ?&lt;br /&gt;Polymorphism is defined as one interface to control access to a general class of actions.There are two types of Polymorphism .&lt;br /&gt;&lt;br /&gt;1.Compile Time Polymorphism&lt;br /&gt;Compile time polymorphism is functions and operators overloading(C++)&lt;br /&gt;&lt;br /&gt;2.Runtime polymorphism&lt;br /&gt;Runtime polymorphism is done using inheritance and virtual functions(C++)&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;JAVA:When should I use static class and when a singleton class?&lt;br /&gt;I guess when I am creating some kind of library or utility class, I will prefer static class. e.g. if I create a string utility class, where I am not &lt;strong&gt;saving or handling&lt;/strong&gt; any data, I will use static methods &lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;JAVA:Why Hibernate is gaining popularity or what are the drawbacks of ejb 2.1?&lt;br /&gt;&lt;br /&gt;CMP beans are defined in one-to-one correspondence to the tables of the&lt;br /&gt;relational model. Thus, they’re too coarse grained; they may not take full&lt;br /&gt;advantage of Java’s rich typing. In a sense, CMP forces your domain model&lt;br /&gt;into first normal form.&lt;br /&gt;&lt;br /&gt;On the other hand, CMP beans are also too fine grained to realize the stated&lt;br /&gt;goal of EJB: the definition of reusable software components. A reusable&lt;br /&gt;component should be a very coarse-grained object, with an external interface&lt;br /&gt;that is stable in the face of small changes to the database schema. (Yes,&lt;br /&gt;we really did just claim that CMP entity beans are both too fine grained and&lt;br /&gt;too coarse grained!)&lt;br /&gt;&lt;br /&gt;Although EJBs may take advantage of implementation inheritance, entity&lt;br /&gt;beans don’t support polymorphic associations and queries, one of the defining&lt;br /&gt;features of “true” ORM.&lt;br /&gt;&lt;br /&gt;Entity beans, despite the stated goal of the EJB specification, aren’t portable&lt;br /&gt;in practice. Capabilities of CMP engines vary widely between vendors, and&lt;br /&gt;the mapping metadata is highly vendor-specific. Some projects have chosen&lt;br /&gt;Hibernate for the simple reason that Hibernate applications are much&lt;br /&gt;more portable between application servers.&lt;br /&gt;&lt;br /&gt;Entity beans aren’t serializable. We find that we must define additional data&lt;br /&gt;transfer objects (DTOs, also called value objects) when we need to transport&lt;br /&gt;data to a remote client tier. The use of fine-grained method calls from the&lt;br /&gt;client to a remote entity bean instance is not scalable; DTOs provide a way of&lt;br /&gt;batching remote data access. The DTO pattern results in the growth of parallel&lt;br /&gt;class hierarchies, where each entity of the domain model is represented&lt;br /&gt;as both an entity bean and a DTO.&lt;br /&gt;&lt;br /&gt;EJB is an intrusive model; it mandates an unnatural Java style and makes&lt;br /&gt;reuse of code outside a specific container extremely difficult. This is a huge&lt;br /&gt;barrier to unit test driven development (TDD). It even causes problems in&lt;br /&gt;applications that require batch processing or other offline functions.&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/33656101-116809582412930795?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116809582412930795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116809582412930795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116809582412930795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116809582412930795'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2007/01/basic-doubts-in-java-in-databases-ask.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116775875263791220</id><published>2007-01-02T09:21:00.000-08:00</published><updated>2007-01-02T09:28:28.320-08:00</updated><title type='text'></title><content type='html'>HTTP Header from a web site using TELNET&lt;br /&gt;&lt;br /&gt;You can see the HTTP (hypertext transfer protocol) header from a web site using the standard Telnet program that comes with Windows. For example, to see the header from the root page of the Microsoft web site, do these steps:&lt;br /&gt;&lt;br /&gt;1.Start a DOS command prompt &lt;br /&gt;2.From the command prompt type &lt;br /&gt;  telnet www.microsoft.com 80&lt;br /&gt;3.Turn on localecho so you can see what you are doing. &lt;br /&gt;   a)Type Ctrl+] (hold down the Ctrl key and press the right bracket) &lt;br /&gt;   b)Type set localecho&lt;br /&gt;   c)Press Enter on a blank line .&lt;br /&gt;4.Type&lt;br /&gt;   GET / HTTP/1.1&lt;br /&gt;   Host: www.microsoft.com&lt;br /&gt;&lt;br /&gt;5.Press Enter Twice.&lt;br /&gt;&lt;br /&gt;&lt;!--Source :http://www.xoc.net/works/tips/telnet.asp--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-116775875263791220?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116775875263791220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116775875263791220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116775875263791220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116775875263791220'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2007/01/http-header-from-web-site-using-telnet.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116633471447946290</id><published>2006-12-16T21:51:00.000-08:00</published><updated>2006-12-16T21:51:54.480-08:00</updated><title type='text'></title><content type='html'>When the end of the world arrives how will the media report it? &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;USA Today:&lt;/strong&gt; WE'RE DEAD &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Wall Street Journal:&lt;/strong&gt; DOW JONES PLUMMETS AS WORLD ENDS &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;National Enquirer:&lt;/strong&gt; O.J. AND NICOLE, TOGETHER AGAIN &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;M*cros*ft Systems Journal:&lt;/strong&gt; APPLE LOSES MARKET SHARE &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Victoria's Secret Catalog:&lt;/strong&gt; OUR FINAL SALE &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sports Illustrated:&lt;/strong&gt; GAME OVER &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Wired:&lt;/strong&gt; THE LAST NEW THING &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Rolling Stone:&lt;/strong&gt; THE GRATEFUL DEAD REUNION TOUR &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Readers Digest:&lt;/strong&gt; 'BYE &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Discover Magazine:&lt;/strong&gt; HOW WILL THE EXTINCTION OF ALL LIFE AS WE KNOW IT AFFECT THE WAY WE VIEW THE COSMOS? &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Lady's Home Journal:&lt;/strong&gt; LOSE 10 LBS BY JUDGMENT DAY WITH OUR NEW "ARMAGEDDON" DIET! &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;America Online:&lt;/strong&gt; SYSTEM TEMPORARILY DOWN. TRY CALLING BACK IN 15 MINUTES. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Inc. magazine:&lt;/strong&gt; TEN WAYS YOU CAN PROFIT FROM THE APOCALYPSE &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;TIME magazine:&lt;/strong&gt; RENEW YOUR SUBSCRIPTION FOR ETERNITY&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-116633471447946290?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116633471447946290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116633471447946290' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116633471447946290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116633471447946290'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/12/when-end-of-world-arrives-how-will.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116633462832084236</id><published>2006-12-16T21:50:00.000-08:00</published><updated>2006-12-16T21:50:28.320-08:00</updated><title type='text'></title><content type='html'>1-800-PSYCH............&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hello, Welcome to the Psychiatric Hotline.&lt;br /&gt;&lt;br /&gt;If you are obsessive-compulsive, please press 1 repeatedly.&lt;br /&gt;&lt;br /&gt;If you are co-dependent, please ask someone to press 2. &lt;br /&gt;&lt;br /&gt;If you have multiple personalities, please press 3, 4, 5 and 6.&lt;br /&gt;&lt;br /&gt;If you are paranoid-delusional, we know who you are and what you want. Just stay on the line so we can trace the call.&lt;br /&gt;&lt;br /&gt;If you are schizophrenic, listen carefully and a little voice will tell you which number to press. &lt;br /&gt;&lt;br /&gt;If you are delusional, press 7 and your call will be transferred to the mother ship.&lt;br /&gt;&lt;br /&gt;If you have a nervous disorder, please fidget with the # key until a representative comes on the line.&lt;br /&gt;&lt;br /&gt;If you are dyslexic, press 696969696969. &lt;br /&gt;&lt;br /&gt;If you have amnesia, press 8 and state your name, address, phone, date of birth, social security number and your mother's maiden name.&lt;br /&gt;&lt;br /&gt;If you have post-traumatic stress disorder, slowly and carefully press 000. &lt;br /&gt;&lt;br /&gt;If you have short-term memory loss, press 9. If you have short-term memory loss, press 9. If you have short-term memory loss, press 9. If you have short-term memory loss, press 9.&lt;br /&gt;&lt;br /&gt;If you are menopausal, hang up, turn on the fan, lie down &amp; cry. You won't be crazy forever. &lt;br /&gt;&lt;br /&gt;If you have a masochistic complex, please press "0" for the operator. There are 200 calls ahead of you.&lt;br /&gt;&lt;br /&gt;If you are depressed, it doesn't matter which number you press. No one will answer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-116633462832084236?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116633462832084236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116633462832084236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116633462832084236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116633462832084236'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/12/1-800-psych.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116633443342558407</id><published>2006-12-16T21:43:00.000-08:00</published><updated>2006-12-16T21:47:13.446-08:00</updated><title type='text'></title><content type='html'>Bizarre facts .. but true.&lt;br /&gt;&lt;br /&gt;1. Coca-Cola was originally green.&lt;br /&gt;2. The most common name in the world is Mohammed. &lt;br /&gt;3.The name of all the continents end with the same letter that they start with.&lt;br /&gt;4. The strongest muscle in the body is the tongue.&lt;br /&gt;5. There are two credit cards for every person in the United States. &lt;br /&gt;6. TYPEWRITER is the longest word that can be made using the letters only&lt;br /&gt;on one row of the keyboard.&lt;br /&gt;7. Women blink nearly twice as much as men! &lt;br /&gt;8. You can't kill yourself by holding your breath.&lt;br /&gt;9. It is impossible to lick your elbow.&lt;br /&gt;10. People say "Bless you" when you sneeze because when &lt;br /&gt;you sneeze,your heart stops for a millisecond.&lt;br /&gt;11. It is physically impossible for pigs to look up into the sky.&lt;br /&gt;12. The "sixth sick sheik's sixth sheep's sick" is said to be the toughest &lt;br /&gt;tongue twister in the English language.&lt;br /&gt;13. If you sneeze too hard, you can fracture a rib. If you try to suppress&lt;br /&gt;a sneeze, you can rupture a blood vessel in your head or neck and die. &lt;br /&gt;14. Each king in a deck of playing cards represents great kings from&lt;br /&gt;history:&lt;br /&gt; Spades - King David&lt;br /&gt; Clubs - Alexander the Great,&lt;br /&gt; Hearts - Charlemagne &lt;br /&gt; Diamonds - Julius Caesar.&lt;br /&gt;15. 111,111,111 x 111,111,111 = 12345,6789,87,654,321&lt;br /&gt;16. If a statue of a person in the park on a horse has both front legs in&lt;br /&gt;the air, the person died in battle.&lt;br /&gt;--&gt;If the horse has one front leg in the air,the person died as a result&lt;br /&gt;of wounds received in battle.&lt;br /&gt;--&gt;If the horse has a all four legs on the ground, the person died of natural &lt;br /&gt;causes.&lt;br /&gt;17 What do bullet proof vests, fire escapes, windshield wipers and laser&lt;br /&gt;printers all have in common?&lt;br /&gt; Ans. - All invented by women. &lt;br /&gt;18. Question - This is the only food that doesn't spoil. What is this?&lt;br /&gt; Ans. - Honey&lt;br /&gt;19. A crocodile cannot stick its tongue out.&lt;br /&gt;20. A snail can sleep for three years.&lt;br /&gt;21. All polar bears are left handed.&lt;br /&gt;22. American Airlines saved $40,000 in 1987 by eliminating one olive from &lt;br /&gt;each salad served in first-class.&lt;br /&gt;23. Butterflies taste with their feet.&lt;br /&gt;24. Elephants are the only animals that can't jump.&lt;br /&gt;25. In the last 4000 years, no new animals have been domesticated.&lt;br /&gt;26. On average, people fear spiders more than they do death&lt;br /&gt;27. Shakespeare invented the word 'assassination' and 'bump'.&lt;br /&gt;28. Stewardesses is the longest word typed with only the left hand.&lt;br /&gt;29. The ant always falls over on its right side when intoxicated. &lt;br /&gt;30. The electric chair was invented by a dentist.&lt;br /&gt;31. The human heart creates enough pressure when it pumps out the body to&lt;br /&gt;squirt blood 30 feet. &lt;br /&gt;32. Rats multiply so quickly that in 18 months, two rats could have&lt;br /&gt;over million descendants.&lt;br /&gt;33. Wearing headphones for just an hour will increase the bacteria in your &lt;br /&gt;ear by 700 times.&lt;br /&gt;34. The cigarette lighter was invented before the match.&lt;br /&gt;35. Most lipstick contains fish scales.&lt;br /&gt;36. Like fingerprints, everyone's tongue print is different&lt;br /&gt;&lt;br /&gt;Some more.......&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you yelled for 8 years, 7 months and 6 days you would have produced enough sound energy to heat one cup of coffee.&lt;br /&gt;(Hardly seems worth it.)&lt;br /&gt;&lt;br /&gt;If you farted consistently for 6 years and 9 months, enough gas is produced to create the energy of an atomic bomb. &lt;br /&gt;(Now that's more like it!)&lt;br /&gt;&lt;br /&gt;The human heart creates enough pressure when it pumps out of the body to squirt blood 30 feet.&lt;br /&gt;(O.M.G.!)&lt;br /&gt;&lt;br /&gt;A pig's orgasm lasts 30 minutes.&lt;br /&gt;&lt;br /&gt;A cockroach will live nine days without its head before it starves to death. (Creepy.) (I'm still not over the pig.)&lt;br /&gt;&lt;br /&gt;Banging your head against a wall uses 150 calories a hour (Don't try this at home, maybe at work) &lt;br /&gt;&lt;br /&gt;The male praying mantis cannot copulate while its head is attached to its body. The female initiates sex by ripping the male's head off.&lt;br /&gt;("Honey, I'm home. What the....?!")&lt;br /&gt;&lt;br /&gt;The flea can jump 350 times its body length. It's like a human jumping the length of a football field. &lt;br /&gt;&lt;br /&gt;The catfish has over 27,000 taste buds.&lt;br /&gt;(What could be so tasty on the bottom of a pond?)&lt;br /&gt;&lt;br /&gt;Some lions mate over 50 times a day.&lt;br /&gt;&lt;br /&gt;Butterflies taste with their feet.&lt;br /&gt;(Something I always wanted to know.)&lt;br /&gt;&lt;br /&gt;The strongest muscle in the body is the tongue.&lt;br /&gt;(Hmmmmmm......)&lt;br /&gt;&lt;br /&gt;Right-handed people live, on average, nine years longer than left-handed people. &lt;br /&gt;&lt;br /&gt;Elephants are the only animals that cannot jump.&lt;br /&gt;&lt;br /&gt;A cat's urine glows under a black light.&lt;br /&gt;(I wonder who was paid to figure that out?) &lt;br /&gt;&lt;br /&gt;An ostrich's eye is bigger than its brain.&lt;br /&gt;(I know some people like that.)&lt;br /&gt;&lt;br /&gt;Starfish have no brains&lt;br /&gt;(I know some people like that too.)&lt;br /&gt;&lt;br /&gt;Polar bears are left-handed.&lt;br /&gt;(If they switch, they'll live a lot longer) &lt;br /&gt;&lt;br /&gt;Humans and dolphins are the only species that have sex for pleasure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-116633443342558407?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116633443342558407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116633443342558407' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116633443342558407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116633443342558407'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/12/bizarre-facts.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116461426778774756</id><published>2006-11-26T23:47:00.000-08:00</published><updated>2006-11-26T23:57:47.940-08:00</updated><title type='text'></title><content type='html'>Cool Ones......njoy.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.A foolish man tells a woman to stop talking, but a wise man tells her that she looks extremly beautiful when her lips are closed.&lt;br /&gt;&lt;br /&gt;2. One good way to reduce alcohol consumption:&lt;br /&gt;Before Marriage drink whenever you are SAD.&lt;br /&gt;After Marriage drink whenever you are HAPPY&lt;br /&gt;&lt;br /&gt;3.Three FASTEST means of communication:&lt;br /&gt;Tele-phone&lt;br /&gt;Tele-vision&lt;br /&gt;Tell to woman[Need still FASTER- Tell her NOT to tell ANYONE]&lt;br /&gt;&lt;br /&gt;4.Lover your friends not their sisters.Lover your sisters not their friends.&lt;br /&gt;&lt;br /&gt;5.A man got 2 wishes from GOD.He asked for the best wine and best woman.Next moment,he had the best wine and mother terasa next to him.&lt;br /&gt;&lt;br /&gt;Moral: Be Specific.&lt;br /&gt;&lt;br /&gt;6.Let us be generous like this:&lt;br /&gt;Four ants are moving through a forest.They see a elephant coming towards them.Ant 1 says: we should kill him.Ant 2 says:No,Let us break his leg alone.Ant 3 says :No,we will just throw him away from our path.Ant 4 says:No, we will leave him because he is alone and we are four.&lt;br /&gt;&lt;br /&gt;7.If you do not have a girl friend - you are missing some thing in your life.If you have a girl friend you are missing every thing in your life.&lt;br /&gt;&lt;br /&gt;8.Question:When do you congratulate someone for their mistake.&lt;br /&gt;Answer : On their marriage&lt;br /&gt;&lt;br /&gt;9.When your life is in darkness,pray god and ask him to free you from darkness.Even after you pay,if you are still in darkness - PLEASE PAY THE ELECTRICITY BILL.&lt;br /&gt;&lt;br /&gt;10.Why government do not allow a man to marry 2 woman .Because as per the constitution, you can not punish twice for the same mistake.&lt;br /&gt;&lt;br /&gt;11."A ship is always safe at the shore -but that is not what it is built for " -Albert Einstein&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-116461426778774756?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116461426778774756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116461426778774756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116461426778774756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116461426778774756'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/11/cool-ones.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116162805775025036</id><published>2006-10-23T11:26:00.000-07:00</published><updated>2006-10-23T11:27:37.766-07:00</updated><title type='text'></title><content type='html'>Validations in Javascript&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Email Validations&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;if (document.formname.fieldname.value.length &gt;0) {&lt;br /&gt;  i=document.formname.fieldname.value.indexOf("@")&lt;br /&gt;  j=document.formname.fieldname.value.indexOf(".",i)&lt;br /&gt;  k=document.formname.fieldname.value.indexOf(",")&lt;br /&gt;  kk=document.formname.fieldname.value.indexOf(" ")&lt;br /&gt;  jj=document.formname.fieldname.value.lastIndexOf(".")+1&lt;br /&gt;  len=document.formname.fieldname.value.length&lt;br /&gt;&lt;br /&gt;  if ((i&gt;0) &amp;&amp; (j&gt;(1+1)) &amp;&amp; (k==-1) &amp;&amp; (kk==-1) &amp;&amp; (len-jj &gt;=2) &amp;&amp; (len-jj&lt;=3)) {&lt;br /&gt;  }&lt;br /&gt;  else {&lt;br /&gt;   alert("Please enter an exact email address.\n" +&lt;br /&gt;  document.formname.fieldname.value + " is invalid.");&lt;br /&gt;  return false;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Special Characters&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;  var iChars = "!@#$%^&amp;*()+=-[]\\\';,./{}|\":&lt;&gt;?";&lt;br /&gt;&lt;br /&gt;  for (var i = 0; i &lt; document.formname.fieldname.value.length; i++) {&lt;br /&gt;   if (iChars.indexOf(document.formname.fieldname.value.charAt(i)) != -1) {&lt;br /&gt;   alert ("Your username has special characters. \nThese are not allowed.\n Please remove them and try again.");&lt;br /&gt;   return false;&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Check if certian radio buttons have not been selected.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;  if (!document.formname.fieldname[0].checked &amp;&amp;&lt;br /&gt;     !document.formname.fieldname[1].checked &amp;&amp;&lt;br /&gt;     !document.formname.fieldname[2].checked &amp;&amp;&lt;br /&gt;     !document.formname.fieldname[3].checked) {&lt;br /&gt;     alert("Please choose a group designation.\n");&lt;br /&gt;     return false;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Check if textbox has any characters in it.&lt;/strong&gt;&lt;br /&gt;if (document.formname.fieldname.value.length == 0) {&lt;br /&gt;          alert("Please fill out your name.\n");&lt;br /&gt;   return false;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Check if multiple checkboxes have not been selected.Replace false with true to see if all are selected.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; if (document.formname.fieldname.checked == false &amp;&amp;&lt;br /&gt;         document.formname.fieldname.checked == false &amp;&amp;&lt;br /&gt;  document.formname.fieldname.checked == false) {&lt;br /&gt;   &lt;br /&gt;  alert("Please select at least one checkbox.\n");&lt;br /&gt;  return false;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Check drop down has been selected. Set drop down's value to Not_Selected for this to work&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;     if (document.formname.fieldname.value == 'Not_Selected') {&lt;br /&gt;          alert("Please provide us with a selection.\n");&lt;br /&gt;          return false;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Scan values in a field and if they are all letters then alert. The second block of code does the same but for numbers&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;//alert on finding all letters&lt;br /&gt;    var noalpha = /^[a-zA-Z]*$/;&lt;br /&gt;if (noalpha.test(document.formname.fieldname.value)) {&lt;br /&gt;     alert("Please enter at least one number in the \"username\" field.");&lt;br /&gt;     return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//alert on finding all numbers&lt;br /&gt;var nonums = /^[0-9]*$/;&lt;br /&gt;if (nonums.test(document.formname.fieldname.value)) {&lt;br /&gt;     alert("Please enter at least one letter in the \"username\" field.");&lt;br /&gt;     return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Remove special characters from a string.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;function clearText() {&lt;br /&gt;     document.formname.fieldname.value=filterNum(document.formname.fieldname.value)&lt;br /&gt;&lt;br /&gt;     function filterNum(str) {&lt;br /&gt;          re = /\$|,|@|#|~|`|\%|\*|\^|\&amp;|\(|\)|\+|\=|\[|\-|\_|\]|\[|\}|\{|\;|\:|\'|\"|\&lt;|\&gt;|\?|\||\\|\!|\$|\./g;&lt;br /&gt;          // remove special characters like "$" and "," etc...&lt;br /&gt;          return str.replace(re, "");&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/33656101-116162805775025036?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116162805775025036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116162805775025036' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116162805775025036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116162805775025036'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/validations-in-javascript-email.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116145761075944573</id><published>2006-10-21T12:05:00.000-07:00</published><updated>2006-10-22T00:09:19.526-07:00</updated><title type='text'></title><content type='html'>Lets play with the modem provided by Airtel,BSNL !!!!&lt;br /&gt;&lt;br /&gt;Info about the Beetel ADSL Modem :&lt;br /&gt;1.Router is based upone Broadcom BCM6338 chipset.&lt;br /&gt;2.Currently this modem is being used by Airtel,BSNL and other ISPs in India.&lt;br /&gt;3.Default Userid:admin &amp; password:password&lt;br /&gt;4.Default IP:192.168.1.1&lt;br /&gt;&lt;br /&gt;Fun starts here:&lt;br /&gt;1.Telnet to the default ip with the userid and password.&lt;br /&gt;2.Dont waste time hitting CTRL+C,CTRL+D.Just type 'sh' and hit enter key at arrow prompt.&lt;br /&gt;3.Enter 'help' to list out available commands.&lt;br /&gt;4.ls and dir have been removed.&lt;br /&gt;5.But there is a work around for that- type 'echo *'&lt;br /&gt;6.To work with advanced web based configuration type:http://ip//main.html.&lt;br /&gt;7.Get more info abt the router hardware:&lt;br /&gt;cat /proc/cpuinfo ---&gt; Display CPU Information&lt;br /&gt;cat /proc/meminfo ---&gt; Display RAM Information&lt;br /&gt;cat /proc/version ---&gt; Display Linux versions&lt;br /&gt;&lt;br /&gt;8.To query all the running process:&lt;br /&gt;ps &lt;br /&gt;&lt;br /&gt;9.To list all the kernel process:&lt;br /&gt;cat /proc/modules&lt;br /&gt;&lt;br /&gt;10.Display list of network interfaces&lt;br /&gt;ifconfig&lt;br /&gt;&lt;br /&gt;11.Get default routing information i.e. find out your ISP's router&lt;br /&gt;route&lt;br /&gt;&lt;br /&gt;12.Display Iptables rules&lt;br /&gt;iptables -L -n&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;http://www.cyberciti.biz/nixcraft/vivek/blogger/2005/12/hacking-beetel-220x-adsl-router.php --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-116145761075944573?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116145761075944573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116145761075944573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116145761075944573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116145761075944573'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/lets-play-with-modem-provided-by.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116102575002027176</id><published>2006-10-16T12:07:00.000-07:00</published><updated>2006-12-07T09:55:23.926-08:00</updated><title type='text'></title><content type='html'>Looking for a Change in your Career. Need Consultants?&lt;br /&gt;&lt;br /&gt;esha@econsindia.com&lt;br /&gt;lancy@anlagehro.com&lt;br /&gt;kajal@eresourcetech.com&lt;br /&gt;resume@theforte.com&lt;br /&gt;pavithra@tvainfotech.com&lt;br /&gt;chitra@oneapps.com&lt;br /&gt;prasad@corpplacements.net&lt;br /&gt;careers@brainconsultants.com&lt;br /&gt;consult@cynosurejobs.com&lt;br /&gt;ashwini.k@heliosmatheson.com&lt;br /&gt;aneesa@dataincindia.com&lt;br /&gt;guruprasad@shreyastech.com&lt;br /&gt;vrushali@prudentialconsultants.com&lt;br /&gt;kanchan@prudentialconsultants.com&lt;br /&gt;talent@brainconsultants.com&lt;br /&gt;lavanya.k@heliosmatheson.com&lt;br /&gt;jshree@novoit.net&lt;br /&gt;rahul@pmssindia.com&lt;br /&gt;k_ravishankar@pcstech.com&lt;br /&gt;jobs.chennai@paccusa.net&lt;br /&gt;reach@brainconsultants.com&lt;br /&gt;bangalore@webecome.com&lt;br /&gt;sangeeth@6sos.com&lt;br /&gt;rama@corpplacements.net&lt;br /&gt;jisha@prerna.co.in&lt;br /&gt;jaya@y-axis.com&lt;br /&gt;yogita@galaxykms.com&lt;br /&gt;shilpa@rlinkindia.com&lt;br /&gt;thomas@ittblazers.com&lt;br /&gt;karthiga@peoplefirst.co.in&lt;br /&gt;mary@iconium-consulting.com&lt;br /&gt;zmcpune@vsnl.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-116102575002027176?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116102575002027176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116102575002027176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116102575002027176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116102575002027176'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/looking-for-change-in-your-career.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116054902614943206</id><published>2006-10-10T23:39:00.000-07:00</published><updated>2006-12-07T09:59:23.146-08:00</updated><title type='text'></title><content type='html'>Info About java.sql.DriverManager.........&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All java.sql.DriverManager calls are synchronized including the println method which is used by the SQLWarning and SQLException constructors.So any thread can block all other JDBC in the whole JVM.&lt;br /&gt;&lt;br /&gt;So we should never call DriverManager.getConnection().&lt;br /&gt;&lt;br /&gt;Instead..........&lt;br /&gt;&lt;br /&gt;Driver driver =(Driver)Class.forName("weblogic.jdbc.pool.Driver").newInstance();&lt;br /&gt;Connection connection = driver.connect("jdbc:weblogic:pool:POOLNAME",null);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-116054902614943206?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116054902614943206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116054902614943206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116054902614943206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116054902614943206'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/info-about-java.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116049652900732659</id><published>2006-10-10T09:06:00.000-07:00</published><updated>2006-10-10T09:08:49.306-07:00</updated><title type='text'></title><content type='html'>Questions on JDBC..................&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What is JDBC?&lt;br /&gt;JDBC technology is an API (included in both J2SE and J2EE releases) that provides cross-DBMS connectivity to a wide range of SQL databases and access to other tabular data sources, such as spreadsheets or flat files. With a JDBC technology-enabled driver, you can connect all corporate data even in a heterogeneous environment&lt;br /&gt; &lt;br /&gt;What are stored procedures?  &lt;br /&gt;A stored procedure is a set of statements/commands which reside in the database. The stored procedure is precompiled. Each Database has it's own stored procedure language, &lt;br /&gt; &lt;br /&gt;What is JDBC Driver ?  &lt;br /&gt;The JDBC Driver provides vendor-specific implementations of the abstract classes provided by the JDBC API. This driver is used to connect to the database. &lt;br /&gt;&lt;br /&gt;What are the steps required to execute a query in JDBC? &lt;br /&gt;First we need to create an instance of a JDBC driver or load JDBC drivers, then we need to register this driver with DriverManager class. Then we can open a connection. By using this connection , we can create a statement object and this object will help us to execute the query. &lt;br /&gt; &lt;br /&gt;What is DriverManager ? &lt;br /&gt;DriverManager is a class in java.sql package. It is the basic service for managing a set of JDBC drivers.  &lt;br /&gt;What is a ResultSet ? &lt;br /&gt;A table of data representing a database result set, which is usually generated by executing a statement that queries the database. &lt;br /&gt;&lt;br /&gt;A ResultSet object maintains a cursor pointing to its current row of data. Initially the cursor is positioned before the first row. The next method moves the cursor to the next row, and because it returns false when there are no more rows in the ResultSet object, it can be used in a while loop to iterate through the result set. &lt;br /&gt; &lt;br /&gt;What is Connection? &lt;br /&gt;Connection class represents  a connection (session) with a specific database. SQL statements are executed and results are returned within the context of a connection. &lt;br /&gt;&lt;br /&gt;A Connection object's database is able to provide information describing its tables, its supported SQL grammar, its stored procedures, the capabilities of this connection, and so on. This information is obtained with the getMetaData method.&lt;br /&gt; &lt;br /&gt;What does Class.forName return? &lt;br /&gt;A class as loaded by the classloader. &lt;br /&gt;&lt;br /&gt;What is Connection pooling? &lt;br /&gt;Connection pooling is a technique used for sharing server resources among requesting clients. Connection pooling increases the performance of Web applications by reusing active database connections instead of creating a new connection with every request. Connection pool manager maintains a pool of open database connections. &lt;br /&gt; &lt;br /&gt;What are the different JDB drivers available? &lt;br /&gt;There are mainly four type of JDBC drivers available. They are:&lt;br /&gt;&lt;br /&gt;Type 1 : JDBC-ODBC Bridge Driver - A JDBC-ODBC bridge provides JDBC API access via one or more ODBC drivers. Note that some ODBC native code and in many cases native database client code must be loaded on each client machine that uses this type of driver. Hence, this kind of driver is generally most appropriate when automatic installation and downloading of a Java technology application is not important. For information on the JDBC-ODBC bridge driver provided by Sun.&lt;br /&gt;&lt;br /&gt;Type 2: Native API Partly Java Driver- A native-API partly Java technology-enabled driver converts JDBC calls into calls on the client API for Oracle, Sybase, Informix, DB2, or other DBMS. Note that, like the bridge driver, this style of driver requires that some binary code be loaded on each client machine. &lt;br /&gt;&lt;br /&gt;Type 3: Network protocol Driver- A net-protocol fully Java technology-enabled driver translates JDBC API calls into a DBMS-independent net protocol which is then translated to a DBMS protocol by a server. This net server middleware is able to connect all of its Java technology-based clients to many different databases. The specific protocol used depends on the vendor. In general, this is the most flexible JDBC API alternative. It is likely that all vendors of this solution will provide products suitable for Intranet use. In order for these products to also support Internet access they must handle the additional requirements for security, access through firewalls, etc., that the Web imposes. Several vendors are adding JDBC technology-based drivers to their existing database middleware products. &lt;br /&gt;&lt;br /&gt;Type 4: JDBC Net pure Java Driver - A native-protocol fully Java technology-enabled driver converts JDBC technology calls into the network protocol used by DBMSs directly. This allows a direct call from the client machine to the DBMS server and is a practical solution for Intranet access. Since many of these protocols are proprietary the database vendors themselves will be the primary source for this style of driver. Several database vendors have these in progress. &lt;br /&gt; &lt;br /&gt;What is the fastest type of JDBC driver?  &lt;br /&gt;Type 4  (JDBC Net pure Java Driver) is the fastest JDBC driver.  Type 1 and Type 3 drivers will be slower than Type 2 drivers (the database calls are make at least three translations versus two), and Type 4 drivers are the fastest (only one translation). &lt;br /&gt; &lt;br /&gt;Is the JDBC-ODBC Bridge multi-threaded?  &lt;br /&gt;No. The JDBC-ODBC Bridge does not support multi threading. The JDBC-ODBC Bridge uses synchronized methods to serialize all of the calls that it makes to ODBC. Multi-threaded Java programs may use the Bridge, but they won't get the advantages of multi-threading. &lt;br /&gt; &lt;br /&gt;What is cold backup, hot backup, warm backup recovery?  &lt;br /&gt;Cold backup means all these files must be backed up at the same time, before the database is restarted. Hot backup (official name is 'online backup' ) is a backup taken of each tablespace while the database is running and is being accessed by the users&lt;br /&gt; &lt;br /&gt;What is the advantage of denormalization?&lt;br /&gt;Data denormalization is reverse procedure, carried out purely for reasons of improving performance. It maybe efficient for a high-throughput system to replicate data for certain data. &lt;br /&gt; &lt;br /&gt;How do you handle your own transaction ?  &lt;br /&gt;Connection Object has a method called setAutocommit ( boolean flag) . For handling our own transaction we can set the parameter to false and begin your transaction . Finally commit the transaction by calling the commit method.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-116049652900732659?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116049652900732659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116049652900732659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116049652900732659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116049652900732659'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/questions-on-jdbc.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116048395737666485</id><published>2006-10-10T05:30:00.000-07:00</published><updated>2006-10-10T05:39:17.376-07:00</updated><title type='text'></title><content type='html'>Difference Betweeen Appraisal and Resignation...........&lt;br /&gt;&lt;br /&gt;A newly joined trainee engineer asks his boss "what is the meaning of appraisal ?"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;BOSS:&lt;/strong&gt; "Do you know the meaning of resignation?"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;TRAINEE:&lt;/strong&gt; "Yes I do"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;BOSS:"&lt;/strong&gt;So let me make you understand what a appraisal is by comparing it with resignation"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Comparison study: Appraisal and Resignation&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In &lt;strong&gt;appraisal&lt;/strong&gt; meeting they will speak only about your weakness,errors and failures.&lt;br /&gt;In &lt;strong&gt;resignation&lt;/strong&gt; meeting they will speak only about your strengths,past achievements and success.&lt;br /&gt;&lt;br /&gt;In &lt;strong&gt;appraisal&lt;/strong&gt; you may need to cry and beg for even 10% hike.&lt;br /&gt;In &lt;strong&gt;resignation&lt;/strong&gt; you can easily demand (or get even without asking) more than 50-60% hike.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;During &lt;strong&gt;appraisal&lt;/strong&gt;,they will deny promotion saying you didn't meet the expectation, you dont have leadership qualities,and you had several drawbacks in our objective/goal.&lt;br /&gt;During &lt;strong&gt;resignation&lt;/strong&gt;,they will say you are the core member of team;you are the vision of the company how can you go,you have to take the project in shoulder and lead your juniors to success.&lt;br /&gt;&lt;br /&gt;There is 90% chance for &lt;strong&gt;not&lt;/strong&gt; getting any significant incentives after appraisal.&lt;br /&gt;There is 90% chance for getting immediate hike after you put the resignation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-116048395737666485?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116048395737666485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116048395737666485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116048395737666485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116048395737666485'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/difference-betweeen-appraisal-and.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116015887999666170</id><published>2006-10-06T11:19:00.000-07:00</published><updated>2006-10-06T11:21:20.003-07:00</updated><title type='text'></title><content type='html'>You can listen to any PDF instead of reading with Adobe Reader 7.0 or 6.0, and the short cut is:&lt;br /&gt;&lt;br /&gt;Ctrl+shift+b - to hear the entire Document&lt;br /&gt;Ctrl+shift+v - to hear the page&lt;br /&gt;Ctrl+shift+c - to resume&lt;br /&gt;Ctrl+shift+e - to stop&lt;br /&gt;Open any PDF File and test.... unbelievable&lt;br /&gt;&lt;br /&gt;If it is not convenient to hear, because the voice is very fast, u can  adjust that using the Voice Speed -&gt; slow adjustment in the Control Panel  -&gt;SPEECH&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-116015887999666170?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116015887999666170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116015887999666170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116015887999666170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116015887999666170'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/you-can-listen-to-any-pdf-instead-of.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116007476185911044</id><published>2006-10-05T11:55:00.000-07:00</published><updated>2006-10-05T11:59:21.876-07:00</updated><title type='text'></title><content type='html'>Java Messaging Service - An Overview&lt;br /&gt;&lt;br /&gt;Required components of a JMS Application:&lt;br /&gt;1. Administered Object&lt;br /&gt;2. Connection &lt;br /&gt;3. Session&lt;br /&gt;&lt;br /&gt;Administered Object:&lt;br /&gt;Created by administrator of the JMS provider application.&lt;br /&gt;Placed in a Java Naming and Directory Interface namespace-Administered from either a command line program, GUI or an HTML based management console.&lt;br /&gt;&lt;br /&gt;Two types of administered object: Destination and Connection Factory.&lt;br /&gt;&lt;br /&gt;Destination:&lt;br /&gt;Contains configuration information supplied by the JMS provider.&lt;br /&gt;Client uses this object to specify a destination for messages that it wishes to send and /or a location from which to receive messages.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Two types of Destination:&lt;br /&gt;1. Queue – PTP model&lt;br /&gt;2. Topic – Publish / Subscribe model&lt;br /&gt;&lt;br /&gt;Connection Factory:&lt;br /&gt;Obtained thro JNDI lookup.&lt;br /&gt;Contains connection configuration information or handle containing the IP address, enabling a JMS client application to create a connection with the JMS Server.&lt;br /&gt;&lt;br /&gt;Connection:&lt;br /&gt;Provides the physical connection to the JMS Server&lt;br /&gt;&lt;br /&gt;Session:&lt;br /&gt;Responsible for sending and receiving messages, managing transactions and handling acknowledgements.&lt;br /&gt;&lt;br /&gt;Objects used to create and receive messages in a JMS Client Application:&lt;br /&gt;Four objects are used to create and receive messages in a JMS client application:&lt;br /&gt;1. MessageProducer.&lt;br /&gt;2. MessageConsumer.&lt;br /&gt;3. MessageListener.&lt;br /&gt;4. MessageSelector.&lt;br /&gt;&lt;br /&gt;MessageProducer:&lt;br /&gt;• Created by session &lt;br /&gt;• Used to send messages to a destination.&lt;br /&gt;• Can specify the default delivery mode using setDeliveryMode [NON_PERSISTENT – lower overhead-message not logged/ PERSISTENT – logged-typically to a database].&lt;br /&gt;• Can specify the priority of the Message using setPriority.[0 to 9 - 4 is default – 0 to 4 normal – 5-9 higher]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MessageConsumer:&lt;br /&gt;• Created using session&lt;br /&gt;• Used to receive message sent to the destination.&lt;br /&gt;• Message received in 2 ways – Asynchronously or Synchronously.&lt;br /&gt;• Synchronously – where the client calls one of the receive methods (receive and receiveNoWait) after the consumer is started.&lt;br /&gt;• Asynchronously – where the client registers a MessageListener and then starts the consumer.&lt;br /&gt;&lt;br /&gt;NOTE:&lt;br /&gt;All messages in JMS are exchanged asynchronously between the clients, in that the producer does not receive acknowledgement from the consumer that it has processed the message. As soon as the message is sent or published, the producer is not blocked from sending or publishing another message immediately.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MessageListener:&lt;br /&gt;Interface that needs to be implemented to process messages in an asynchronous fashion.&lt;br /&gt;Must do the following:&lt;br /&gt;• Create an object that implements the MessageListener interface. This includes coding the onMessage () method.&lt;br /&gt;• Register the object with the session via the setMessageListener () method.&lt;br /&gt;• Call the start () method on the Connection object to begin receiving messages.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MessageSelector:&lt;br /&gt;• Java.lang.String object specified by client by createSubscriber () method.&lt;br /&gt;• Filters the message based on the header and properties field using the expression contained in the String.&lt;br /&gt;• The syntax of this expression is based on a subset of SQL92 conditional expression syntax.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NOTE:&lt;br /&gt;A Message digest is a digital fingerprint value that is computed from a message, file or byte stream.&lt;br /&gt;&lt;br /&gt;How the Point-to-Point works:&lt;br /&gt;• Sends messages to a receiver on a one-to-one basis.&lt;br /&gt;• Examples: &lt;br /&gt;Instant Messaging.&lt;br /&gt;Receiving transaction from other systems.&lt;br /&gt;Sending an order to another System.&lt;br /&gt;Supply Chain Processing.&lt;br /&gt;• Message delivered to destinations named ‘queue’.&lt;br /&gt;• Messages are processed in FIFO.&lt;br /&gt;• Receiver is able to browse thro the messages but can able to process the messages in FIFO.&lt;br /&gt;• Steps to be followed :&lt;br /&gt;1. Obtain a QueueConnectionFactory using JNDI lookup.&lt;br /&gt;2. Obtain a QueueConnection to the provider via the QueueConnectionFactory.&lt;br /&gt;3. Obtain a QueueSession with the provider via the QueueConnection.&lt;br /&gt;4. Obtain the queue via the JNDI lookup &lt;br /&gt;5. Create either a QueueSender or a QueueReceiver via the QueueSession for the required queue. &lt;br /&gt;6. Send and /or receive messages.&lt;br /&gt;7. Close the QueueConnection – This will also close the QueueSender or QueueReceiver and the QueueSession.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How the publish / Subscribe works:&lt;br /&gt;• Allows an application to publish message on a one-to-many or a many-to-many basis.&lt;br /&gt;• Examples:&lt;br /&gt;Sending sales forecast to various people in an organization.&lt;br /&gt;Sending new items to interested parties.&lt;br /&gt;Sending Stock prices to traders on the trading floor.&lt;br /&gt;• Messages are published to a topic.&lt;br /&gt;• One or more publisher can publish messages.&lt;br /&gt;• Interested Clients must subscribe to the topic.&lt;br /&gt;• Multiple clients can subscribe to the same topic.&lt;br /&gt;• Non-Durable Subscription model: Subscriber must be connected at the time the message was published. If no subscribers are online, the message will be published and destroyed soon thereafter.&lt;br /&gt;• Durable Subscription Model: Message will be received when the subscriber is reconnected to the topic. Greater overhead – Requires additional resources to persist the messages until they can be delivered to all the known durable subscribers. &lt;br /&gt;• Steps to be followed:&lt;br /&gt;1. Obtain the TopicConnectionFactory object [Using JNDI lookup].&lt;br /&gt;2. Obtain the TopicConnection to the provider [Using TopicConnectionFactory].&lt;br /&gt;3. Obtain a TopicSession with the provider [Using TopicConnection].&lt;br /&gt;4. Obtain the topic [Using JNDI look up].&lt;br /&gt;5. Create either a TopicPublisher or a TopicSubscriber [Using TopicSession].&lt;br /&gt;6. Publish and/or receive messages.&lt;br /&gt;7. Close the TopicPublisher or TopicSubscriber, the session and the connection.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-116007476185911044?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116007476185911044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116007476185911044' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116007476185911044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116007476185911044'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/java-messaging-service-overview.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-116007426311099501</id><published>2006-10-05T11:43:00.000-07:00</published><updated>2006-10-05T11:51:03.233-07:00</updated><title type='text'></title><content type='html'>&lt;strong&gt;J&lt;/strong&gt;2EE &lt;strong&gt;C&lt;/strong&gt;onnector &lt;strong&gt;A&lt;/strong&gt;rchitecture - JCA&lt;br /&gt;&lt;br /&gt;Why JCA&lt;br /&gt;Enterprise Information Systems (EIS) transact enterprise level information that can be stored in various formats like ERP systems, databases, and mainframe systems. As more organizations move towards Internet-based businesses, integration between applications and these legacy heterogeneous EIS becomes necessary. But most EIS vendors and application server vendors use non-standard vendor-specific architectures to provide connectivity between application servers and EIS. &lt;br /&gt;&lt;br /&gt;J2EE Connector Architecture (JCA) defines a standard architecture for connecting J2EE compliant applications to heterogeneous information systems. The architecture can be used to define Resource Adapters, J2EE components that implements the JCA for a specific EIS.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What are Resource Adapters&lt;br /&gt;A Resource Adapter forms the connecting layer between the enterprise application, application server and the EIS. It is a system-level software driver that is used by a Java application server or an application client, to connect to the EIS. A Resource Adapter is specific to the EIS. In literature, resource adapters are also referred to as Connectors.&lt;br /&gt;&lt;br /&gt;Some examples of a Resource Adapter are:&lt;br /&gt;    A JDBC driver to connect to a relational database &lt;br /&gt;    A Resource Adapter to connect to an ERP system &lt;br /&gt;    A Resource Adapter to connect to a transaction processing system &lt;br /&gt;Each EIS requires just one implementation of a Resource Adapter which is created as per the JCA specification. Since the implementation is compliant with the JCA, it is portable across all compliant J2EE servers. &lt;br /&gt;&lt;br /&gt;What is a Compliant Resource Adapter&lt;br /&gt;Compliance is defined by the following implementation rules specified in JCA version 1.0:&lt;br /&gt;&lt;br /&gt;   Standard set of system-level contracts between an application server and the EIS. These contracts focus on integration aspects like: connection management, transaction management, and security. &lt;br /&gt;   Common Client Interface (CCI) that defines a client API for interacting with multiple EIS. &lt;br /&gt;   Standard deployment and packaging protocol for resource adapters. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Implementing JCA&lt;br /&gt;About JCA Contracts&lt;br /&gt;The Connector Architecture provides these contracts:&lt;br /&gt;&lt;br /&gt;System contracts between the application server and the resource adapter in the form of connection pooling, transaction, and security. &lt;br /&gt;Application contracts between the client and the resource adapter. &lt;br /&gt;In addition, there is an EIS specific interface between the resource adapter and the EIS. &lt;br /&gt;&lt;br /&gt;A resource adapter interacts with a J2EE server with system contracts defined as per the JCA 1.0 specification. These are transparent to the J2EE component. The system contracts link the resource adapter to important services like - connection, transaction, and security. These services are managed by the J2EE server.&lt;br /&gt;&lt;br /&gt;The connection management contract supports connection pooling. Connection objects are pooled by the application server. This provides a scalable application environment that can support a large number of clients requiring access to an EIS. Using connection factories, connection is obtained between the application and the EIS through the application server. On receiving a client request, connections are given to the client from the pool. After use, these connections are released by the client and are put back in the connection pool.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The transaction management contract allows an application server to use a transaction manager to manage transactions across multiple resource managers. A resource manager represents an EIS. Transactions managed by the transaction manager external to the resource manager, in this case the transaction manager in the application server, are called global or XA transactions. This contract also supports local transactions that are managed internally by a resource manager.&lt;br /&gt;&lt;br /&gt;The security management contract provides authentication, authorization and secure communication between the J2EE server and the EIS.&lt;br /&gt;&lt;br /&gt;Managed and Non-managed Environment&lt;br /&gt;There are two types of client access scenarios: managed and non-managed.&lt;br /&gt;&lt;br /&gt;In a managed environment, the application server takes over the management of the connection objects. When the client makes a call to the Connection Factory, it is routed to the Connection Manager. The Connection Manager requests the Managed Connection Factory to obtain a connection object. &lt;br /&gt;&lt;br /&gt;In a non-managed environment, an application client directly uses the resource adapter to access the EIS.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;JCA Interfaces&lt;br /&gt;The Connector architecture includes the following interfaces:&lt;br /&gt;&lt;br /&gt;ConnectionFactory: Repository of connection objects. This is implemented by the resource adapter. &lt;br /&gt;ConnectionManager: Implemented by the application server to manage connections and transactions in a managed environment. &lt;br /&gt;ManagedConnectionFactory: Implemented by the resource adapter and used to decide and return the connection object that is suitable to the client. &lt;br /&gt;Connection: Implemented by the resource adapter, this interface is the object that allows access to the EIS. &lt;br /&gt;ConnectionEventListener: Each connection instance is associated with this interface. This is used by the application server to get information from a connection instance and manage the connection pool. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To get a connection to the EIS, the client does a look up of the connection factory in the JNDI namespace. In a managed environment, the client invokes the getConnection method and the Connection Factory (CF) sends the connection request to the ConnectionManager (CM). The connection manager routes the request to the Managed Connection Factory (MCF). The MCF decides if the connection objects existing in the connection pool match the connection request from the client. If there is a match, the connection object is returned to the client. However, if there is no match, the connection manager creates the required connection object using the MCF. This new connection object is now a part of the connection pool. The MCF then returns the connection object to the client through the CF.&lt;br /&gt;&lt;br /&gt;Each connection object is associated with a ConnectionEventListener interface. Any change in the connection status is passed to the application server through this interface.&lt;br /&gt;&lt;br /&gt;The application client uses the connection to access the EIS. The connection is enlisted in the regular application server started transaction (in the case of local and XA transactions). Information exchange between the client and the EIS now takes place. &lt;br /&gt;&lt;br /&gt;After the client closes the connection, the change in status is passed to the application server through the ConnectionEventListener interface. The connection object is then returned to the connection pool for reuse.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-116007426311099501?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/116007426311099501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=116007426311099501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116007426311099501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/116007426311099501'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/j2ee-connector-architecture-jca-why.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-115994309268272291</id><published>2006-10-03T23:15:00.000-07:00</published><updated>2006-10-07T11:11:20.283-07:00</updated><title type='text'></title><content type='html'>Basic Questions on Database:&lt;br /&gt;&lt;br /&gt;what is SQL?&lt;br /&gt;Structured Query Lanaguage.&lt;br /&gt;&lt;br /&gt;What is SELECT Statement?&lt;br /&gt;The select statement lets you select a set of values from a table in a database.The values selected from the database table would depend on the various condition that are specified in the SQL query.&lt;br /&gt;&lt;br /&gt;How can you compare a part of the name rather than the entire name ?&lt;br /&gt;SELECT * FROM people WHERE empname like '%ab%'.&lt;br /&gt;This returns a recordset with records consisting empname the sequence 'ab'.&lt;br /&gt;&lt;br /&gt;What is INSERT Statement?&lt;br /&gt;INSERT statement lets you insert information into a database.&lt;br /&gt;&lt;br /&gt;How do you delete a record from a database?&lt;br /&gt;Use delete statement to remove records or any particular column values from a database.&lt;br /&gt;&lt;br /&gt;How could i get distinct entries from a table?&lt;br /&gt;The select statement in conjunction with DISTINCT lets you select a set of distinct values from a table in a database.The values selected from the database table would of course depend on the various conditions that are specified in the SQL  query.&lt;br /&gt;Example:&lt;br /&gt;SELECT DISTINCT empname FROM emptable.&lt;br /&gt;&lt;br /&gt;How to get the results of a query sorted in any order?&lt;br /&gt;You can sort the results and return the so&lt;br /&gt;ORDER BY keyword thus saving you the pain of carrying out the sorting yourself.The ORDER BY keyword is used for sorting.&lt;br /&gt;&lt;br /&gt;SELECT empname,age city FROM emptable ORDER BY empname&lt;br /&gt;&lt;br /&gt;How can i find the total number of records in a table ?&lt;br /&gt;Use COUNT(*)&lt;br /&gt;&lt;br /&gt;SELECT COUNT(*) FROM emp WHERE age&gt;40&lt;br /&gt;&lt;br /&gt;What is GROUP BY?&lt;br /&gt;The GROUP BY keywords have been added to SQL because aggregate functions (like SUM) return the aggregate of all column values every time they are called.Without the GROUP BY functionality, finding the sum for each individual group of column values was not possible.&lt;br /&gt;&lt;br /&gt;what is the difference among "dropping a table","truncation a table" and "deleting all records" from a table ?&lt;br /&gt;DROPPING[Table Structure+Data ]: Invalidates the dependent objects,drops the indexes.&lt;br /&gt;TRUNCATING[Data]:Performs an automatic commit,faster than delete.&lt;br /&gt;DELETE[Data]:Does not perform automatic commit.&lt;br /&gt;&lt;br /&gt;What are the Large object types supported by oracle?&lt;br /&gt;BLOB &amp; CLOB&lt;br /&gt;&lt;br /&gt;Difference between a "where" clause and "having" clause?&lt;br /&gt;Having clause is used only with group functions .&lt;br /&gt;&lt;br /&gt;what is the difference between a primary key and a unique key?&lt;br /&gt;Both primary key and unique key enforce uniqueness of the column on which they are defined.But by default primary key creates a clustered index on the column, whereas unique key creates a non-clustered index by default.Another major difference is that primary key does not allow NULL,but unique key allows one NULL only.&lt;br /&gt;&lt;br /&gt;What are cursors?&lt;br /&gt;Cursors allow row-by-row processing of the resultsets.&lt;br /&gt;Types :&lt;br /&gt;1.Static&lt;br /&gt;2.Dynamic&lt;br /&gt;3.Forward-Only&lt;br /&gt;4.Keyset-driven.&lt;br /&gt;&lt;br /&gt;Disadvantages of Cursors:&lt;br /&gt;Each time you fetch a row from the cursor,it results in a network roundtrip,where as a normal SELECT query makes only one roundtrip,however large the resultset is.&lt;br /&gt;Cursors are also costly because they require more resources and temporary storage(results in more IO operations).Further,there are restrictions on the SELECT statements that can be used with some types of cursors.&lt;br /&gt;&lt;br /&gt;Most of the times,set based operations can be used instead of cursors.&lt;br /&gt;&lt;br /&gt;What are triggers?How to invoke a trigger on demand?&lt;br /&gt;Triggers are special kind of strored procedures that get executed automatically when an INSERT,UPDATE or DELETE operation takes place on a table.&lt;br /&gt;&lt;br /&gt;Triggers cant be invoked on demand.They get triggered only when an associated action (INSERT,UPDATE,DELETE) happens on the table on which they are defined.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Triggers are generally used to implement business rules,auditing.Triggers can also be used to extend the referential integrity checks,but wherever possible,use constraints for this purpose,intead of triggers, as constraints are much faster.&lt;br /&gt;&lt;br /&gt;What is a join ?&lt;br /&gt;Joins are used in queries to explain how different tables are related.Joins also let you select data from a table depending upon data from another table.&lt;br /&gt;&lt;br /&gt;Types:&lt;br /&gt;1.Inner Join&lt;br /&gt;2.Outer Join&lt;br /&gt;3.Cross Join&lt;br /&gt;&lt;br /&gt;Outer Join is further classfied as  &lt;br /&gt;1.Left Outer Join&lt;br /&gt;2.Right Outer Join&lt;br /&gt;3.Full Outer Join.&lt;br /&gt;&lt;br /&gt;What is Self-Join?&lt;br /&gt;Self-Join is just like any other join,except that two instances of the same table will be joined in the query.&lt;br /&gt;&lt;br /&gt;What is PL/SQL and what is it used for?&lt;br /&gt;PL/SQL is Oracle's Procedural Language extension to SQL. PL/SQL's language syntax, structure and data types are similar to that of ADA. The PL/SQL language includes object oriented programming techniques such as encapsulation, function overloading, information hiding (all but inheritance). PL/SQL is commonly used to write data-centric programs to manipulate data in an Oracle database. &lt;br /&gt;&lt;br /&gt;Should one use PL/SQL or Java to code procedures and triggers?&lt;br /&gt;Internally the Oracle database supports two procedural languages, namely PL/SQL and Java. This leads to questions like "Which of the two is the best?" and "Will Oracle ever desupport PL/SQL in favour of Java?". &lt;br /&gt;Many Oracle applications are based on PL/SQL and it would be difficult of Oracle to ever desupport PL/SQL. In fact, all indications are that PL/SQL still has a bright future ahead of it. Many enhancements are still being made to PL/SQL. For example, Oracle 9iDB supports native compilation of Pl/SQL code to binaries. &lt;br /&gt;&lt;br /&gt;PL/SQL and Java appeal to different people in different job roles. The following table briefly describes the difference between these two language environments: &lt;br /&gt;&lt;br /&gt;PL/SQL: &lt;br /&gt;&lt;br /&gt;Data centric and tightly integrated into the database &lt;br /&gt;Proprietary to Oracle and difficult to port to other database systems &lt;br /&gt;Data manipulation is slightly faster in PL/SQL than in Java &lt;br /&gt;Easier to use than Java (depending on your background) &lt;br /&gt;Java: &lt;br /&gt;&lt;br /&gt;Open standard, not proprietary to Oracle &lt;br /&gt;Incurs some data conversion overhead between the Database and Java type systems &lt;br /&gt;Java is more difficult to use (depending on your background) &lt;br /&gt;&lt;br /&gt;How can one see if somebody modified any code?&lt;br /&gt;Code for stored procedures, functions and packages is stored in the Oracle Data Dictionary. One can detect code changes by looking at the LAST_DDL_TIME column in the USER_OBJECTS dictionary view. Example: &lt;br /&gt;        SELECT OBJECT_NAME,&lt;br /&gt;               TO_CHAR(CREATED,       'DD-Mon-RR HH24:MI') CREATE_TIME,&lt;br /&gt;               TO_CHAR(LAST_DDL_TIME, 'DD-Mon-RR HH24:MI') MOD_TIME,&lt;br /&gt;               STATUS&lt;br /&gt;        FROM   USER_OBJECTS&lt;br /&gt;        WHERE  LAST_DDL_TIME &gt; '&amp;CHECK_FROM_DATE';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How can one search PL/SQL code for a string/ key value?&lt;br /&gt;The following query is handy if you want to know where a certain table, field or _expression is referenced in your PL/SQL source code. &lt;br /&gt;        SELECT TYPE, NAME, LINE&lt;br /&gt;        FROM   USER_SOURCE&lt;br /&gt;        WHERE  UPPER(TEXT) LIKE '%&amp;KEYWORD%';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How can one keep a history of PL/SQL code changes?&lt;br /&gt;One can build a history of PL/SQL code changes by setting up an AFTER CREATE schema (or database) level trigger (available from Oracle 8.1.7). This way one can easily revert to previous code should someone make any catastrophic changes. Look at this example: &lt;br /&gt;        CREATE TABLE SOURCE_HIST                     -- Create history table&lt;br /&gt;          AS SELECT SYSDATE CHANGE_DATE, USER_SOURCE.*&lt;br /&gt;             FROM   USER_SOURCE WHERE 1=2;&lt;br /&gt;&lt;br /&gt;        CREATE OR REPLACE TRIGGER change_hist        -- Store code in hist table&lt;br /&gt;               AFTER CREATE ON SCOTT.SCHEMA          -- Change SCOTT to your schema name&lt;br /&gt;        DECLARE&lt;br /&gt;        BEGIN&lt;br /&gt;          if DICTIONARY_OBJ_TYPE in ('PROCEDURE', 'FUNCTION',&lt;br /&gt;                          'PACKAGE', 'PACKAGE BODY', 'TYPE') then&lt;br /&gt;             -- Store old code in SOURCE_HIST table&lt;br /&gt;             INSERT INTO SOURCE_HIST&lt;br /&gt;                SELECT sysdate, user_source.* FROM USER_SOURCE&lt;br /&gt;                WHERE  TYPE = DICTIONARY_OBJ_TYPE&lt;br /&gt;                  AND  NAME = DICTIONARY_OBJ_NAME;&lt;br /&gt;          end if;&lt;br /&gt;        EXCEPTION&lt;br /&gt;          WHEN OTHERS THEN&lt;br /&gt;               raise_application_error(-20000, SQLERRM);&lt;br /&gt;        END;&lt;br /&gt;        /&lt;br /&gt;        show errors&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How can I protect my PL/SQL source code?&lt;br /&gt;PL/SQL V2.2, available with Oracle7.2, implements a binary wrapper for PL/SQL programs to protect the source code. &lt;br /&gt;This is done via a standalone utility that transforms the PL/SQL source code into portable binary object code (somewhat larger than the original). This way you can distribute software without having to worry about exposing your proprietary algorithms and methods. SQL*Plus and SQL*DBA will still understand and know how to execute such scripts. Just be careful, there is no "decode" command available. &lt;br /&gt;&lt;br /&gt;The syntax is:&lt;br /&gt;&lt;br /&gt; wrap iname=myscript.sql onfiltered=xxxx.plb&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Can one print to the screen from PL/SQL?&lt;br /&gt;One can use the DBMS_OUTPUT package to write information to an output buffer. This buffer can be displayed on the screen from SQL*Plus if you issue the SET SERVEROUTPUT ON; command. For example: &lt;br /&gt; set serveroutput on&lt;br /&gt; begin&lt;br /&gt;    dbms_output.put_line('Look Ma, I can print from PL/SQL!!!');&lt;br /&gt; end;&lt;br /&gt; /&lt;br /&gt;&lt;br /&gt;DBMS_OUTPUT is useful for debugging PL/SQL programs. However, if you print too much, the output buffer will overflow. In that case, set the buffer size to a larger value, eg.: set serveroutput on size 200000 &lt;br /&gt;&lt;br /&gt;If you forget to set serveroutput on type SET SERVEROUTPUT ON once you remember, and then EXEC NULL;. If you haven't cleared the DBMS_OUTPUT buffer with the disable or enable procedure, SQL*Plus will display the entire contents of the buffer when it executes this dummy PL/SQL block.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Can one read/write files from PL/SQL?&lt;br /&gt;Included in Oracle 7.3 is an UTL_FILE package that can read and write operating system files. The directory you intend writing to has to be in your INIT.ORA file (see UTL_FILE_DIR=... parameter). Before Oracle 7.3 the only means of writing a file was to use DBMS_OUTPUT with the SQL*Plus SPOOL command. &lt;br /&gt;Copy this example to get started: &lt;br /&gt;&lt;br /&gt; DECLARE&lt;br /&gt;   fileHandler UTL_FILE.FILE_TYPE;&lt;br /&gt; BEGIN&lt;br /&gt;   fileHandler := UTL_FILE.FOPEN('/tmp', 'myfile', 'w');&lt;br /&gt;   UTL_FILE.PUTF(fileHandler, 'Look ma, I''m writing to a file!!!\n');&lt;br /&gt;   UTL_FILE.FCLOSE(fileHandler);&lt;br /&gt; EXCEPTION&lt;br /&gt;   WHEN utl_file.invalid_path THEN&lt;br /&gt;      raise_application_error(-20000, 'ERROR: Invalid path for file or path not in INIT.ORA.');&lt;br /&gt; END;&lt;br /&gt; /&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Can one call DDL statements from PL/SQL?&lt;br /&gt;One can call DDL statements like CREATE, DROP, TRUNCATE, etc. from PL/SQL by using the "EXECUTE IMMEDATE" statement. Users running Oracle versions below 8i can look at the DBMS_SQL package (see FAQ about Dynamic SQL). &lt;br /&gt; begin&lt;br /&gt;    EXECUTE IMMEDIATE 'CREATE TABLE X(A DATE)';&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt;NOTE: The DDL statement in quotes should not be terminated with a semicolon. &lt;br /&gt;&lt;br /&gt;Can one use dynamic SQL statements from PL/SQL?&lt;br /&gt;Starting from Oracle8i one can use the "EXECUTE IMMEDIATE" statement to execute dynamic SQL and PL/SQL statements (statements created at run-time). Look at these examples. Note that statements are NOT terminated by semicolons: &lt;br /&gt; EXECUTE IMMEDIATE 'CREATE TABLE x (a NUMBER)';&lt;br /&gt;&lt;br /&gt; -- Using bind variables...&lt;br /&gt; sql_stmt := 'INSERT INTO dept VALUES (:1, :2, :3)';&lt;br /&gt; EXECUTE IMMEDIATE sql_stmt USING dept_id, dept_name, location;&lt;br /&gt;&lt;br /&gt;        -- Returning a cursor...&lt;br /&gt; sql_stmt := 'SELECT * FROM emp WHERE empno = :id';&lt;br /&gt; EXECUTE IMMEDIATE sql_stmt INTO emp_rec USING emp_id;&lt;br /&gt;&lt;br /&gt;One can also use the older DBMS_SQL package (V2.1 and above) to execute dynamic statements. Look at these examples: &lt;br /&gt; CREATE OR REPLACE PROCEDURE DYNSQL AS&lt;br /&gt;   cur integer;&lt;br /&gt;   rc  integer;&lt;br /&gt; BEGIN&lt;br /&gt;   cur := DBMS_SQL.OPEN_CURSOR;&lt;br /&gt;   DBMS_SQL.PARSE(cur, 'CREATE TABLE X (Y DATE)', DBMS_SQL.NATIVE);&lt;br /&gt;   rc := DBMS_SQL.EXECUTE(cur);&lt;br /&gt;   DBMS_SQL.CLOSE_CURSOR(cur);&lt;br /&gt; END;&lt;br /&gt; /&lt;br /&gt;&lt;br /&gt;More complex DBMS_SQL example using bind variables: &lt;br /&gt; CREATE OR REPLACE PROCEDURE DEPARTMENTS(NO IN DEPT.DEPTNO%TYPE) AS&lt;br /&gt;   v_cursor integer;&lt;br /&gt;   v_dname  char(20);&lt;br /&gt;   v_rows   integer;&lt;br /&gt; BEGIN&lt;br /&gt;   v_cursor := DBMS_SQL.OPEN_CURSOR;&lt;br /&gt;   DBMS_SQL.PARSE(v_cursor, 'select dname from dept where deptno &gt; :x', DBMS_SQL.V7);&lt;br /&gt;   DBMS_SQL.BIND_VARIABLE(v_cursor, ':x', no);&lt;br /&gt;   DBMS_SQL.DEFINE_COLUMN_CHAR(v_cursor, 1, v_dname, 20);&lt;br /&gt;   v_rows := DBMS_SQL.EXECUTE(v_cursor);&lt;br /&gt;   loop&lt;br /&gt;     if DBMS_SQL.FETCH_ROWS(v_cursor) = 0 then&lt;br /&gt;        exit;&lt;br /&gt;     end if;&lt;br /&gt;     DBMS_SQL.COLUMN_VALUE_CHAR(v_cursor, 1, v_dname);&lt;br /&gt;     DBMS_OUTPUT.PUT_LINE('Deptartment name: '||v_dname);&lt;br /&gt;   end loop;&lt;br /&gt;   DBMS_SQL.CLOSE_CURSOR(v_cursor);&lt;br /&gt; EXCEPTION&lt;br /&gt;   when others then&lt;br /&gt;        DBMS_SQL.CLOSE_CURSOR(v_cursor);&lt;br /&gt;        raise_application_error(-20000, 'Unknown Exception Raised: '||sqlcode||' '||sqlerrm);&lt;br /&gt; END;&lt;br /&gt; /&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What is the difference between %TYPE and %ROWTYPE?&lt;br /&gt;The %TYPE and %ROWTYPE constructs provide data independence, reduces maintenance costs, and allows programs to adapt as the database changes to meet new business needs. &lt;br /&gt;%ROWTYPE is used to declare a record with the same types as found in the specified database table, view or cursor. Example:&lt;br /&gt;&lt;br /&gt; DECLARE&lt;br /&gt;    v_EmpRecord  emp%ROWTYPE;&lt;br /&gt;%TYPE is used to declare a field with the same type as that of a specified table's column. Example:&lt;br /&gt;&lt;br /&gt; DECLARE&lt;br /&gt;    v_EmpNo  emp.empno%TYPE;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What is the result of comparing NULL with NULL?&lt;br /&gt;NULL is neither equal to NULL, nor it is not equal to NULL. Any comparison to NULL is evaluated to NULL. Look at this code example to convince yourself. &lt;br /&gt; declare&lt;br /&gt;   a number := NULL;&lt;br /&gt;   b number := NULL;&lt;br /&gt; begin&lt;br /&gt;   if a=b then&lt;br /&gt;      dbms_output.put_line('True, NULL = NULL');&lt;br /&gt;   elsif ab then&lt;br /&gt;      dbms_output.put_line('False, NULL  NULL');&lt;br /&gt;   else&lt;br /&gt;      dbms_output.put_line('Undefined NULL is neither = nor  to NULL');&lt;br /&gt;   end if;&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How does one get the value of a sequence into a PL/SQL variable?&lt;br /&gt;As you might know, one cannot use sequences directly from PL/SQL. Oracle (for some silly reason) prohibits this:&lt;br /&gt; i := sq_sequence.NEXTVAL;&lt;br /&gt;However, one can use embedded SQL statements to obtain sequence values:&lt;br /&gt; select sq_sequence.NEXTVAL into :i from dual;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Can one execute an operating system command from PL/SQL?&lt;br /&gt;There is no direct way to execute operating system commands from PL/SQL in Oracle7. However, one can write an external program (using one of the precompiler languages, OCI or Perl with Oracle access modules) to act as a listener on a database pipe (SYS.DBMS_PIPE). Your PL/SQL program then put requests to run commands in the pipe, the listener picks it up and run the requests. Results are passed back on a different database pipe. For an Pro*C example, see chapter 8 of the Oracle Application Developers Guide. &lt;br /&gt;In Oracle8 one can call external 3GL code in a dynamically linked library (DLL or shared object). One just write a library in C/ C++ to do whatever is required. Defining this C/C++ function to PL/SQL makes it executable.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How does one loop through tables in PL/SQL?&lt;br /&gt;Look at the following nested loop code example. &lt;br /&gt; DECLARE&lt;br /&gt;    CURSOR dept_cur IS&lt;br /&gt;    SELECT deptno&lt;br /&gt;      FROM dept&lt;br /&gt;     ORDER BY deptno;&lt;br /&gt;    -- Employee cursor all employees for a dept number&lt;br /&gt;    CURSOR emp_cur (v_dept_no DEPT.DEPTNO%TYPE) IS&lt;br /&gt;    SELECT ename&lt;br /&gt;      FROM emp&lt;br /&gt;     WHERE deptno = v_dept_no;&lt;br /&gt; BEGIN&lt;br /&gt;    FOR dept_rec IN dept_cur LOOP&lt;br /&gt;       dbms_output.put_line('Employees in Department '||TO_CHAR(dept_rec.deptno));&lt;br /&gt;       FOR emp_rec in emp_cur(dept_rec.deptno) LOOP&lt;br /&gt;          dbms_output.put_line('...Employee is '||emp_rec.ename);&lt;br /&gt;       END LOOP;&lt;br /&gt;   END LOOP;&lt;br /&gt; END;&lt;br /&gt; /&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How often should one COMMIT in a PL/SQL loop? / What is the best commit strategy?&lt;br /&gt;Contrary to popular believe, one should COMMIT less frequently within a PL/SQL loop to prevent ORA-1555 (Snapshot too old) errors. The higher the frequency of commit, the sooner the extents in the rollback segments will be cleared for new transactions, causing ORA-1555 errors. &lt;br /&gt;To fix this problem one can easily rewrite code like this: &lt;br /&gt;&lt;br /&gt; FOR records IN my_cursor LOOP&lt;br /&gt;    ...do some stuff...&lt;br /&gt;    COMMIT;&lt;br /&gt; END LOOP;&lt;br /&gt;&lt;br /&gt;... to ... &lt;br /&gt; FOR records IN my_cursor LOOP&lt;br /&gt;    ...do some stuff...&lt;br /&gt;    i := i+1;&lt;br /&gt;    IF mod(i, 10000) THEN    -- Commit every 10000 records&lt;br /&gt;       COMMIT;&lt;br /&gt;    END IF;&lt;br /&gt; END LOOP;&lt;br /&gt;&lt;br /&gt;If you still get ORA-1555 errors, contact your DBA to increase the rollback segments. &lt;br /&gt;NOTE: Although fetching across COMMITs work with Oracle, is not supported by the ANSI standard. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I can SELECT from SQL*Plus but not from PL/SQL. What is wrong?&lt;br /&gt;PL/SQL respect object privileges given directly to the user, but does not observe privileges given through roles. The consequence is that a SQL statement can work in SQL*Plus, but will give an error in PL/SQL. Choose one of the following solutions: &lt;br /&gt;Grant direct access on the tables to your user. Do not use roles! &lt;br /&gt; GRANT select ON scott.emp TO my_user;&lt;br /&gt;    &lt;br /&gt;Define your procedures with invoker rights (Oracle 8i and higher); &lt;br /&gt;&lt;br /&gt;Move all the tables to one user/schema. &lt;br /&gt;&lt;br /&gt;What is a mutating and constraining table?&lt;br /&gt;"Mutating" means "changing". A mutating table is a table that is currently being modified by an update, delete, or insert statement. When a trigger tries to reference a table that is in state of flux (being changed), it is considered "mutating" and raises an error since Oracle should not return data that has not yet reached its final state. &lt;br /&gt;Another way this error can occur is if the trigger has statements to change the primary, foreign or unique key columns of the table off which it fires. If you must have triggers on tables that have referential constraints, the workaround is to enforce the referential integrity through triggers as well. &lt;br /&gt;&lt;br /&gt;There are several restrictions in Oracle regarding triggers: &lt;br /&gt;&lt;br /&gt;A row-level trigger cannot query or modify a mutating table. (Of course, NEW and OLD still can be accessed by the trigger) . &lt;br /&gt;A statement-level trigger cannot query or modify a mutating table if the trigger is fired as the result of a CASCADE delete. &lt;br /&gt;Etc. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Can one pass an object/table as an argument to a remote procedure?&lt;br /&gt;The only way the same object type can be referenced between two databases is via a database link. Note that it is not enough to just use the same type definitions. Look at this example: &lt;br /&gt; -- Database A: receives a PL/SQL table from database B&lt;br /&gt; CREATE OR REPLACE PROCEDURE pcalled(TabX DBMS_SQL.VARCHAR2S) IS&lt;br /&gt; BEGIN&lt;br /&gt;    -- do something with TabX from database B&lt;br /&gt;    null;&lt;br /&gt; END;&lt;br /&gt; /&lt;br /&gt;&lt;br /&gt; -- Database B: sends a PL/SQL table to database A&lt;br /&gt; CREATE OR REPLACE PROCEDURE pcalling IS&lt;br /&gt;    TabX DBMS_SQL.VARCHAR2S@DBLINK2;&lt;br /&gt; BEGIN&lt;br /&gt;    pcalled@DBLINK2(TabX);&lt;br /&gt; END;&lt;br /&gt; /&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Is it better to put code in triggers or procedures? What is the difference?&lt;br /&gt;In earlier releases of Oracle it was better to put as much code as possible in procedures rather than triggers. At that stage procedures executed faster than triggers as triggers had to be re-compiled every time before executed (unless cached). In more recent releases both triggers and procedures are compiled when created (stored p-code) and one can add as much code as one likes in either procedures or triggers.&lt;br /&gt;&lt;br /&gt;Is there a PL/SQL Engine in SQL*Plus?&lt;br /&gt;No. Unlike Oracle Forms, SQL*Plus does not have an embedded PL/SQL engine. Thus, all your PL/SQL code is sent directly to the database engine for execution. This makes it much more efficient as SQL statements are not stripped off and sent to the database individually. &lt;br /&gt;&lt;br /&gt;Is there a limit on the size of a PL/SQL block?&lt;br /&gt;Yes, the max size is not an explicit byte limit, but related to the parse tree that is created when you compile the code. You can run the following select statement to query the size of an existing package or procedure: &lt;br /&gt; SQL&gt; select * from dba_object_size where name = 'procedure_name';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What are the difference between DDL, DML and DCL commands?&lt;br /&gt;DDL is Data Definition Language statements. Some examples: &lt;br /&gt;CREATE - to create objects in the database &lt;br /&gt;ALTER - alters the structure of the database &lt;br /&gt;DROP - delete objects from the database &lt;br /&gt;TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed &lt;br /&gt;COMMENT - add comments to the data dictionary &lt;br /&gt;GRANT - gives user's access privileges to database &lt;br /&gt;REVOKE - withdraw access privileges given with the GRANT command &lt;br /&gt;DML is Data Manipulation Language statements. Some examples: &lt;br /&gt;&lt;br /&gt;SELECT - retrieve data from the a database &lt;br /&gt;INSERT - insert data into a table &lt;br /&gt;UPDATE - updates existing data within a table &lt;br /&gt;DELETE - deletes all records from a table, the space for the records remain &lt;br /&gt;CALL - call a PL/SQL or Java subprogram &lt;br /&gt;EXPLAIN PLAN - explain access path to data &lt;br /&gt;LOCK TABLE - control concurrency &lt;br /&gt;DCL is Data Control Language statements. Some examples: &lt;br /&gt;&lt;br /&gt;COMMIT - save work done &lt;br /&gt;SAVEPOINT - identify a point in a transaction to which you can later roll back &lt;br /&gt;ROLLBACK - restore database to original since the last COMMIT &lt;br /&gt;SET TRANSACTION - Change transaction options like what rollback segment to use &lt;br /&gt;&lt;br /&gt;How does one escape special characters when building SQL queries?&lt;br /&gt;The LIKE keyword allows for string searches. The '_' wild card character is used to match exactly one character, '%' is used to match zero or more occurrences of any characters. These characters can be escaped in SQL. Example: &lt;br /&gt;        SELECT name FROM emp WHERE id LIKE '%\_%' ESCAPE '\';&lt;br /&gt;&lt;br /&gt;Use two quotes for every one displayed. Example:&lt;br /&gt;&lt;br /&gt;        SELECT 'Franks''s Oracle site' FROM DUAL;&lt;br /&gt;        SELECT 'A ''quoted'' word.' FROM DUAL;&lt;br /&gt;        SELECT 'A ''''double quoted'''' word.' FROM DUAL;&lt;br /&gt;&lt;br /&gt;How does one eliminate duplicates rows from a table?&lt;br /&gt;Choose one of the following queries to identify or remove duplicate rows from a table leaving only unique records in the table: &lt;br /&gt;Method 1: &lt;br /&gt;&lt;br /&gt;   SQL&gt; DELETE FROM table_name A WHERE ROWID &gt; (&lt;br /&gt;     2    SELECT min(rowid) FROM table_name B&lt;br /&gt;     3    WHERE A.key_values = B.key_values);&lt;br /&gt;&lt;br /&gt;Method 2: &lt;br /&gt;   SQL&gt; create table table_name2 as select distinct * from table_name1;&lt;br /&gt;   SQL&gt; drop table_name1;&lt;br /&gt;   SQL&gt; rename table_name2 to table_name1;&lt;br /&gt;   SQL&gt; -- Remember to recreate all indexes, constraints, triggers, etc on table... &lt;br /&gt;&lt;br /&gt;Method 3:  &lt;br /&gt;   SQL&gt; delete from my_table t1&lt;br /&gt;   SQL&gt; where  exists (select 'x' from my_table t2&lt;br /&gt;   SQL&gt;                 where t2.key_value1 = t1.key_value1&lt;br /&gt;   SQL&gt;                   and t2.key_value2 = t1.key_value2&lt;br /&gt;   SQL&gt;                   and t2.rowid      &gt; t1.rowid);&lt;br /&gt;&lt;br /&gt;Note: One can eliminate N^2 unnecessary operations by creating an index on the joined fields in the inner loop (no need to loop through the entire table on each pass by a record). This will speed-up the deletion process. &lt;br /&gt;Note 2: If you are comparing NOT-NULL columns, use the NVL function. Remember that NULL is not equal to NULL. This should not be a problem as all key columns should be NOT NULL by definition. &lt;br /&gt;&lt;br /&gt;How does one generate primary key values for a table?&lt;br /&gt;Create your table with a NOT NULL column (say SEQNO). This column can now be populated with unique values: &lt;br /&gt;&lt;br /&gt;        SQL&gt; UPDATE table_name SET seqno = ROWNUM;&lt;br /&gt;or use a sequences generator: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        SQL&gt; CREATE SEQUENCE sequence_name START WITH 1 INCREMENT BY 1;&lt;br /&gt;        SQL&gt; UPDATE table_name SET seqno = sequence_name.NEXTVAL;&lt;br /&gt;&lt;br /&gt;Finally, create a unique index on this column.&lt;br /&gt;&lt;br /&gt;How does one get the time difference between two date columns&lt;br /&gt;Look at this example query: &lt;br /&gt;        select floor(((date1-date2)*24*60*60)/3600)&lt;br /&gt;               || ' HOURS ' ||&lt;br /&gt;               floor((((date1-date2)*24*60*60) -&lt;br /&gt;               floor(((date1-date2)*24*60*60)/3600)*3600)/60)&lt;br /&gt;               || ' MINUTES ' ||&lt;br /&gt;               round((((date1-date2)*24*60*60) -&lt;br /&gt;               floor(((date1-date2)*24*60*60)/3600)*3600 -&lt;br /&gt;               (floor((((date1-date2)*24*60*60) -&lt;br /&gt;               floor(((date1-date2)*24*60*60)/3600)*3600)/60)*60)))&lt;br /&gt;               || ' SECS ' time_difference&lt;br /&gt;        from   ...&lt;br /&gt;If you don't want to go through the floor and ceiling math, try this method (contributed by Erik Wile): &lt;br /&gt;&lt;br /&gt;        select to_char(to_date('00:00:00','HH24:MI:SS') +&lt;br /&gt;                    (date1 - date2), 'HH24:MI:SS') time_difference&lt;br /&gt;        from ...&lt;br /&gt;Note that the second query only uses the time-of-day portion of the date fields and thus will never return a value bigger than 23:59:59&lt;br /&gt;&lt;br /&gt;How does one add a day/hour/minute/second to a date value?&lt;br /&gt;The SYSDATE pseudo-column shows the current system date and time. Adding 1 to SYSDATE will advance the date by 1 day. Use fractions to add hours, minutes or seconds to the date. Look at these examples: &lt;br /&gt;        SQL&gt; select sysdate, sysdate+1/24, sysdate +1/1440, sysdate + 1/86400 from dual;&lt;br /&gt;  &lt;br /&gt;        SYSDATE              SYSDATE+1/24         SYSDATE+1/1440       SYSDATE+1/86400&lt;br /&gt;        -------------------- -------------------- -------------------- --------------------&lt;br /&gt;        03-Jul-2002 08:32:12 03-Jul-2002 09:32:12 03-Jul-2002 08:33:12 03-Jul-2002 08:32:13&lt;br /&gt;&lt;br /&gt;The following format is frequently used with Oracle Replication: &lt;br /&gt;       select sysdate NOW, sysdate+30/(24*60*60) NOW_PLUS_30_SECS from dual;&lt;br /&gt;&lt;br /&gt;        NOW                  NOW_PLUS_30_SECS&lt;br /&gt;        -------------------- --------------------&lt;br /&gt;        03-JUL-2002 16:47:23 03-JUL-2002 16:47:53&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How does one count different data values in a column?&lt;br /&gt;Use this simple query to count the number of data values in a column: &lt;br /&gt; select my_table_column, count(*)&lt;br /&gt; from   my_table&lt;br /&gt; group  by my_table_column;&lt;br /&gt;&lt;br /&gt;A more sophisticated example... &lt;br /&gt;        select dept, sum(  decode(sex,'M',1,0)) MALE,&lt;br /&gt;                     sum(  decode(sex,'F',1,0)) FEMALE,&lt;br /&gt;                     count(decode(sex,'M',1,'F',1)) TOTAL&lt;br /&gt;        from   my_emp_table&lt;br /&gt;        group  by dept;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How does one count/sum RANGES of data values in a column?&lt;br /&gt;A value x will be between values y and z if GREATEST(x, y) = LEAST(x, z). Look at this example: &lt;br /&gt;        select f2,&lt;br /&gt;               sum(decode(greatest(f1,59), least(f1,100), 1, 0)) "Range 60-100",&lt;br /&gt;               sum(decode(greatest(f1,30), least(f1, 59), 1, 0)) "Range 30-59",&lt;br /&gt;               sum(decode(greatest(f1, 0), least(f1, 29), 1, 0)) "Range 00-29"&lt;br /&gt;        from   my_table&lt;br /&gt;        group  by f2;&lt;br /&gt;&lt;br /&gt;For equal size ranges it might be easier to calculate it with DECODE(TRUNC(value/range), 0, rate_0, 1, rate_1, ...). Eg. &lt;br /&gt;        select ename "Name", sal "Salary",&lt;br /&gt;               decode( trunc(f2/1000, 0), 0, 0.0,&lt;br /&gt;                                          1, 0.1,&lt;br /&gt;                                          2, 0.2,&lt;br /&gt;                                          3, 0.31) "Tax rate"&lt;br /&gt;        from   my_table;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Can one retrieve only the Nth row from a table?&lt;br /&gt;&lt;br /&gt;Solution#1:&lt;br /&gt;SELECT * FROM ( &lt;br /&gt;     SELECT ENAME,ROWNUM RN FROM EMP WHERE ROWNUM &lt;br /&gt;Note:  Note:  In this first it select only one more than the required row, then &lt;br /&gt;       it selects the required one. Its far better than using MINUS operation.&lt;br /&gt;&lt;br /&gt;Solution#2:&lt;br /&gt;SELECT f1 FROM t1&lt;br /&gt;        WHERE  rowid = (&lt;br /&gt;           SELECT rowid FROM t1&lt;br /&gt;           WHERE  rownum &lt;= SELECT 10 FROM ROWID T1 10);&lt;br /&gt;Alternatively...        SELECT * FROM emp WHERE rownum=1 AND rowid NOT IN&lt;br /&gt;           (SELECT rowid FROM emp WHERE rownum &lt;br /&gt;Please note, there is no explicit row order in a relational database. However,&lt;br /&gt;this query is quite fun and may even help in the odd situation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Can one retrieve only rows X to Y from a table?&lt;br /&gt;SELECT * FROM ( &lt;br /&gt;     SELECT ENAME,ROWNUM RN FROM EMP WHERE ROWNUM &lt;br /&gt;Note:  the 101 is just one greater than the maximum row of the required rows  &lt;br /&gt;       (means x= 90, y=100, so the inner values is  y+1).&lt;br /&gt;&lt;br /&gt;Another solution is to use the MINUS operation. For example, to display rows &lt;br /&gt;5 to 7, construct a query like this:&lt;br /&gt;        SELECT *&lt;br /&gt;        FROM   tableX&lt;br /&gt;        WHERE  rowid in (&lt;br /&gt;           SELECT rowid FROM tableX&lt;br /&gt;           WHERE rownum &lt;= SELECT TABLEX &lt;br /&gt;Please note, there is no explicit row order in a relational database. However,&lt;br /&gt;this query is quite fun and may even help in the odd situation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How does one select EVERY Nth row from a table?&lt;br /&gt;One can easily select all even, odd, or Nth rows from a table using SQL queries like this:&lt;br /&gt;&lt;br /&gt;Solution 1: Using a subquery&lt;br /&gt;        SELECT *&lt;br /&gt;        FROM   emp&lt;br /&gt;        WHERE  (ROWID,0) IN (SELECT ROWID, MOD(ROWNUM,4)&lt;br /&gt;                             FROM   emp);&lt;br /&gt;&lt;br /&gt;Solution 2: Use dynamic views (available from Oracle7.2):&lt;br /&gt;        SELECT *&lt;br /&gt;        FROM   ( SELECT rownum rn, empno, ename&lt;br /&gt;                 FROM emp&lt;br /&gt;               ) temp&lt;br /&gt;        WHERE  MOD(temp.ROWNUM,4) = 0;&lt;br /&gt;&lt;br /&gt;Please note, there is no explicit row order in a relational database. However,&lt;br /&gt;these queries are quite fun and may even help in the odd situation.&lt;br /&gt;&lt;br /&gt;How does one select the TOP N rows from a table?&lt;br /&gt;Form Oracle8i one can have an inner-query with an ORDER BY clause.&lt;br /&gt;Look at this example:&lt;br /&gt;        SELECT *&lt;br /&gt;        FROM   (SELECT * FROM my_table ORDER BY col_name_1 DESC)&lt;br /&gt;        WHERE  ROWNUM &lt;br /&gt;Use this workaround with prior releases:&lt;br /&gt;        SELECT *&lt;br /&gt;          FROM my_table a&lt;br /&gt;         WHERE 10 &gt;= (SELECT COUNT(DISTINCT maxcol)&lt;br /&gt;                        FROM my_table b&lt;br /&gt;                       WHERE b.maxcol &gt;= a.maxcol)&lt;br /&gt;         ORDER BY maxcol DESC;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How does one code a tree-structured query?&lt;br /&gt;Tree-structured queries are definitely non-relational (enough to kill Codd and&lt;br /&gt;make him roll in his grave). Also, this feature is not often found in other&lt;br /&gt;database offerings.&lt;br /&gt;&lt;br /&gt;The SCOTT/TIGER database schema contains a table EMP with a self-referencing&lt;br /&gt;relation (EMPNO and MGR columns). This table is perfect for tesing and&lt;br /&gt;demonstrating tree-structured queries as the MGR column contains the employee&lt;br /&gt;number of the "current" employee's boss.&lt;br /&gt;&lt;br /&gt;The LEVEL pseudo-column is an indication of how deep in the tree one is.&lt;br /&gt;Oracle can handle queries with a depth of up to 255 levels. Look at this&lt;br /&gt;example:&lt;br /&gt;        select  LEVEL, EMPNO, ENAME, MGR&lt;br /&gt;          from  EMP&lt;br /&gt;        connect by prior EMPNO = MGR&lt;br /&gt;          start with MGR is NULL;&lt;br /&gt;&lt;br /&gt;One can produce an indented report by using the level number to substring or&lt;br /&gt;lpad() a series of spaces, and concatenate that to the string. Look at this&lt;br /&gt;example:&lt;br /&gt;        select lpad(' ', LEVEL * 2) || ENAME ........&lt;br /&gt;&lt;br /&gt;One uses the "start with" clause to specify the start of the tree. More than&lt;br /&gt;one record can match the starting condition. One disadvantage of having a&lt;br /&gt;"connect by prior" clause is that you cannot perform a join to other tables.&lt;br /&gt;The "connect by prior" clause is rarely implemented in the other database&lt;br /&gt;offerings. Trying to do this programmatically is difficult as one has to do&lt;br /&gt;the top level query first, then, for each of the records open a cursor to look&lt;br /&gt;for child nodes.&lt;br /&gt;&lt;br /&gt;One way of working around this is to use PL/SQL, open the driving cursor with&lt;br /&gt;the "connect by prior" statement, and the select matching records from other&lt;br /&gt;tables on a row-by-row basis, inserting the results into a temporary table&lt;br /&gt;for later retrieval.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How does one code a matrix report in SQL?&lt;br /&gt;Look at this example query with sample output:&lt;br /&gt;&lt;br /&gt;        SELECT  *&lt;br /&gt;        FROM  (SELECT job,&lt;br /&gt;                      sum(decode(deptno,10,sal)) DEPT10,&lt;br /&gt;                      sum(decode(deptno,20,sal)) DEPT20,&lt;br /&gt;                      sum(decode(deptno,30,sal)) DEPT30,&lt;br /&gt;                      sum(decode(deptno,40,sal)) DEPT40&lt;br /&gt;                 FROM scott.emp&lt;br /&gt;                GROUP BY job)&lt;br /&gt;        ORDER BY 1;&lt;br /&gt;&lt;br /&gt;        JOB           DEPT10     DEPT20     DEPT30     DEPT40&lt;br /&gt;        --------- ---------- ---------- ---------- ----------&lt;br /&gt;        ANALYST                    6000&lt;br /&gt;        CLERK           1300       1900        950&lt;br /&gt;        MANAGER         2450       2975       2850&lt;br /&gt;        PRESIDENT       5000&lt;br /&gt;        SALESMAN                              5600&lt;br /&gt;&lt;br /&gt;How does one implement IF-THEN-ELSE in a select statement?&lt;br /&gt;The Oracle decode function acts like a procedural statement inside an &lt;br /&gt;SQL statement to return different values or columns based on the values of&lt;br /&gt;other columns in the select statement.&lt;br /&gt;&lt;br /&gt;Some examples:&lt;br /&gt;        select decode(sex, 'M', 'Male', 'F', 'Female', 'Unknown')&lt;br /&gt;        from   employees;&lt;br /&gt;&lt;br /&gt;        select a, b, decode( abs(a-b), a-b, 'a &gt; b',&lt;br /&gt;                                       0,   'a = b',&lt;br /&gt;                                            'a &lt;br /&gt;Note: The decode function is not ANSI SQL and is rarely implemented&lt;br /&gt;in other RDBMS offerings. It is one of the good things about Oracle,&lt;br /&gt;but use it sparingly if portability is required.&lt;br /&gt;&lt;br /&gt;From Oracle 8i one can also use CASE statements in SQL. Look at this example:&lt;br /&gt;        SELECT ename, CASE WHEN sal&gt;1000 THEN 'Over paid' ELSE 'Under paid' END&lt;br /&gt;        FROM   emp;&lt;br /&gt;&lt;br /&gt;How can one dump/ examine the exact content of a database column?&lt;br /&gt;        SELECT DUMP(col1)&lt;br /&gt;        FROM tab1&lt;br /&gt;        WHERE cond1 = val1;&lt;br /&gt;&lt;br /&gt;        DUMP(COL1)&lt;br /&gt;        -------------------------------------&lt;br /&gt;        Typ=96 Len=4: 65,66,67,32&lt;br /&gt;&lt;br /&gt;For this example the type is 96, indicating CHAR, and the last byte in the column is 32, which is the ASCII code for a space.&lt;br /&gt;This tells us that this column is blank-padded.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Can one drop a column from a table?&lt;br /&gt;From Oracle8i one can DROP a column from a table.&lt;br /&gt;1. SQL&gt; update t1 set column_to_drop = NULL;&lt;br /&gt;   SQL&gt; rename t1 to t1_base;&lt;br /&gt;   SQL&gt; create view t1 as select &lt;specific columns&gt; from t1_base;&lt;br /&gt;&lt;br /&gt;2. SQL&gt; create table t2 as select &lt;specific columns&gt; from t1;&lt;br /&gt;   SQL&gt; drop table t1;&lt;br /&gt;   SQL&gt; rename t2 to t1;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Can one rename a column in a table?&lt;br /&gt;No, this is listed as Enhancement Request 163519. Some workarounds:&lt;br /&gt;1. -- Use a view with correct column names...&lt;br /&gt;   rename t1 to t1_base;&lt;br /&gt;   create view t1 &lt;column list with new name&gt; as select * from t1_base;&lt;br /&gt;&lt;br /&gt;2. -- Recreate the table with correct column names...&lt;br /&gt;   create table t2 &lt;column list with new name&gt; as select * from t1;&lt;br /&gt;   drop table t1;&lt;br /&gt;   rename t2 to t1;&lt;br /&gt;&lt;br /&gt;3. -- Add a column with a new name and drop an old column...&lt;br /&gt;   alter table t1 add ( newcolame datatype );  &lt;br /&gt;   update t1 set newcolname=oldcolname;&lt;br /&gt;   alter table t1 drop column oldcolname;&lt;br /&gt;&lt;br /&gt;How can I change my Oracle password?&lt;br /&gt;Issue the following SQL command:&lt;br /&gt;ALTER USER &lt;username&gt; IDENTIFIED BY &lt;new_password&gt;&lt;br /&gt;/&lt;br /&gt;From Oracle8 you can just type "password" from SQL*Plus,&lt;br /&gt;or if you need to change another user's password, type "password user_name".&lt;br /&gt;&lt;br /&gt;How does one find the next value of a sequence?&lt;br /&gt;Perform an "ALTER SEQUENCE ... NOCACHE" to unload the unused cached sequence&lt;br /&gt;numbers from the Oracle library cache. This way, no cached numbers will be lost.&lt;br /&gt;If you then select from the USER_SEQUENCES dictionary view, you will&lt;br /&gt;see the correct high water mark value that would be returned for the next&lt;br /&gt;NEXTVALL call. Afterwards, perform an "ALTER SEQUENCE ... CACHE" to restore&lt;br /&gt;caching.&lt;br /&gt;&lt;br /&gt;You can use the above technique to prevent sequence number loss before&lt;br /&gt;a SHUTDOWN ABORT, or any other operation that would cause gaps in&lt;br /&gt;sequence values.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Workaround for snapshots on tables with LONG columns&lt;br /&gt;You can use the SQL*Plus COPY command instead of snapshots if you need to copy LONG and LONG RAW variables from one location to another. Eg:&lt;br /&gt;COPY TO SCOTT/TIGER@REMOTE     -&lt;br /&gt;CREATE IMAGE_TABLE USING       -&lt;br /&gt;       SELECT IMAGE_NO, IMAGE  -&lt;br /&gt;       FROM   IMAGES;&lt;br /&gt;&lt;br /&gt;Note: If you run Oracle8, convert your LONGs to LOBs, as it can be replicated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-115994309268272291?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/115994309268272291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=115994309268272291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115994309268272291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115994309268272291'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/basic-questions-on-database-what-is.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-115988795962394464</id><published>2006-10-03T08:00:00.000-07:00</published><updated>2006-10-03T09:30:49.076-07:00</updated><title type='text'></title><content type='html'>Capturing your desktop using Java:&lt;br /&gt;&lt;br /&gt;import java.awt.Dimestion;&lt;br /&gt;import java.awt.Rectangle;&lt;br /&gt;import java.awt.Robot;&lt;br /&gt;import java.awt.Toolkit;&lt;br /&gt;import java.awt.image.BufferedImage;&lt;br /&gt;import java.io.File;&lt;br /&gt;import java.util.Date;&lt;br /&gt;import javax.imagio.ImageIO;&lt;br /&gt;&lt;br /&gt;public class CaptureMyScreen{&lt;br /&gt;public static void main(String args[]){&lt;br /&gt;&lt;br /&gt;Date dt = new Date();&lt;br /&gt;Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();&lt;br /&gt;Robot rt = new Robot();&lt;br /&gt;BufferedImage img = rb.createScreenCapture(new Rectangle(dimension.width,dimension.height));&lt;br /&gt;ImageIO.write(img,"jpg",new File("MyCapturedScreen.jpg"))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}//End of main&lt;br /&gt;&lt;br /&gt;}//End of class&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-115988795962394464?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/115988795962394464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=115988795962394464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115988795962394464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115988795962394464'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/capturing-your-desktop-using-java.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-115988647722134463</id><published>2006-10-03T07:23:00.000-07:00</published><updated>2006-10-03T07:59:54.283-07:00</updated><title type='text'></title><content type='html'>Usage of Find command in Unix&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Example:1&lt;/strong&gt;&lt;br /&gt;find . -name "rc.conf" -print&lt;br /&gt;&lt;br /&gt;This command searches in the current directory and all the sub directory for a file name rc.conf&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Exampe:2&lt;/strong&gt;&lt;br /&gt;find . -name "rc.conf" -exec chmod 0+r '{}' \;&lt;br /&gt;&lt;br /&gt;This command searches the current directory and all the sub direcories .All files named rc.conf will be procesed by the chmod o+r command.The argument '{}' inserts each found file into the chmod command line.The '\' argument indicates the exec command line has ended.&lt;br /&gt;&lt;br /&gt;The end result of this command is all rc.conf files have the other permissions set to read access(if the operator is the owner of the file).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Example:3&lt;/strong&gt;(Apply a complex selection of files -o and -a)&lt;br /&gt;find /usr/src -not \(-name "*,v" -o -name ".*,v" \) '{}' \; -print&lt;br /&gt;&lt;br /&gt;This command searches the /usr/src directory and all sub direcories .All files that are of the form '*,v' and '.,V' are excluded.&lt;br /&gt;&lt;br /&gt;Important arugments to note :&lt;br /&gt;*] -not means the negation of the expression that follow&lt;br /&gt;*]\( indicates the start of a complex expression&lt;br /&gt;*] \) indicates the end of a complex expression&lt;br /&gt;*] -o means a logical or a complex expression&lt;br /&gt;&lt;br /&gt;In this case the complex expression is all files like '*,v' or '.*,v'&lt;br /&gt;&lt;br /&gt;The above example shows how to select all files that are not part of the RCS system.This is important when you want to go thro a source tree and modify all the source files.But you dont want to affect the RCS version control files.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Example:4&lt;/strong&gt; [How to search for a string in a selection of files (-exec grep)]&lt;br /&gt;find . -exec grep &lt;a href="http://www.athabasca"&gt;www.athabasca&lt;/a&gt;" '{}' \; -print&lt;br /&gt;&lt;br /&gt;This command searches the current directory and all sub directories.All files that contains the string will have their path printed to Standard output.&lt;br /&gt;&lt;br /&gt;If you want to just find each file then pass it on for processing use the -q grep option.This find the first occurances of the search string.It then signals sucess to find and find continues searching for more files.&lt;br /&gt;&lt;br /&gt;find . -exec grep -q &lt;a href="http://www.athabasca"&gt;www.athabasca&lt;/a&gt; '{}' \; -print&lt;br /&gt;&lt;br /&gt;This command is very important for process a series of files that contain a specific string.You can then process file appropriately.An example is find all html files with the string "www.athabascau.ca".You can then process the files with a sed script to change the occurances of &lt;a href="http://www.athabascau.ca"&gt;www.athabascau.ca&lt;/a&gt; with intra.athabascau.ca"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Example:5&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;find / -name chapter1 -type f -print&lt;br /&gt;&lt;br /&gt;Searches through the root file system for the file named chapter1.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Example:6&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;find /usr -name "chapter*" -type f -print&lt;br /&gt;&lt;br /&gt;Searches thro the /usr directory for all files that begin with the word "chapter"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-115988647722134463?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/115988647722134463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=115988647722134463' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115988647722134463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115988647722134463'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/usage-of-find-command-in-unix-example1.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-115981429575147940</id><published>2006-10-02T11:34:00.000-07:00</published><updated>2006-10-02T11:38:15.756-07:00</updated><title type='text'></title><content type='html'>Unix : Complete List of Vi Commands .........&lt;br /&gt;&lt;br /&gt;w   - save the file&lt;br /&gt;w   - &lt;&lt;filename&gt;&gt; save file as &lt;&lt;file&gt;&gt;&lt;br /&gt;w!  - save file with no prompt&lt;br /&gt;q!  - quit the file without prompting&lt;br /&gt;x  - Deletes a character&lt;br /&gt;$   - End of the line&lt;br /&gt;^   - Begining of the line&lt;br /&gt;A   - Appends at the end of the line&lt;br /&gt;dd   - deletes a complete line&lt;br /&gt;dw   - deletes a word forward&lt;br /&gt;db   - deletes a word from backward&lt;br /&gt;w   - moves the cursor forward word by word&lt;br /&gt;b  - moves the cursor backward word by word&lt;br /&gt;u   - undo last action&lt;br /&gt;~   - Converts the character to upper and lower case&lt;br /&gt;r &lt;&lt;filename&gt;&gt;  - reads and appends the content of &lt;&lt;filename&gt;&gt; to the current file&lt;br /&gt;10 co 20 - copies the 10th line to 20th line&lt;br /&gt;10,15 co 20  - copy 10 to 15 line after 20th line&lt;br /&gt;10,15 mo 21  - Moves the line&lt;br /&gt;10,20 d  - deletes the range of lines inclusive of both the limits&lt;br /&gt;10,15 co $  - Copies the line to the end of the file&lt;br /&gt;1,.d co $  - Copies from firs line till the cursors current position to the end&lt;br /&gt;abbr &lt;comm&gt; &lt;full&gt; - Replace the command with the abbr &lt;full&gt;&lt;br /&gt;unabbr &lt;comm&gt;  - Removes the abbrevation&lt;br /&gt;Y  - Copy&lt;br /&gt;p  - Paste&lt;br /&gt;&lt;br /&gt;************************************************************************&lt;br /&gt;1.Go to command mode &amp; without (:) press "/" followed by search key&lt;br /&gt;eg .,&lt;br /&gt; /public&lt;br /&gt;&lt;br /&gt;the above command searches and highlight the occurances of the keyword "public"&lt;br /&gt;Press 'n' for moving the cursor forward&lt;br /&gt;Press 'N' for backward directions&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2.Go to command mode &amp; without (:) press "?" followed by search key&lt;br /&gt;eg.,&lt;br /&gt;?public&lt;br /&gt;&lt;br /&gt;Searches for the word "public" backward from the current cursor position&lt;br /&gt;&lt;br /&gt;3.Command to search and replace&lt;br /&gt;:s/the/The&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-115981429575147940?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/115981429575147940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=115981429575147940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115981429575147940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115981429575147940'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/unix-complete-list-of-vi-commands.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-115981076714003348</id><published>2006-10-02T10:33:00.000-07:00</published><updated>2006-10-02T10:39:27.153-07:00</updated><title type='text'></title><content type='html'>Removing Duplicate rows in oracle...............................................................&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Often DBAs and developers are stuck with dealing with duplicate rows. Duplicate rows may be inserted when we disable a primary or unique key and insert data, or do a direct load.&lt;br /&gt;&lt;br /&gt;Let's take the following table as example.&lt;br /&gt;&lt;br /&gt;Create table my_table (my_id number (5),my_serial number (10),my_name varchar2 (40),my_address varchar2 (60));&lt;br /&gt;&lt;br /&gt;where the primary key is my_id and my_serial.&lt;br /&gt;&lt;br /&gt;The most common and widely used SQL to remove duplicate rows is&lt;br /&gt;&lt;br /&gt;DELETE FROM my_tableWHERE rowid not in (SELECT MIN(rowid)FROM my_tableGROUP BY my_id, my_serial);&lt;br /&gt;&lt;br /&gt;here the GROUP BY clause contains the primary key or the columns which identify each row as unique.&lt;br /&gt;&lt;br /&gt;Another way to remove duplicate primary key rows is to write the duplicates to a table, and then remove those rows from the table. The EXCEPTIONS INTO clause is valid option only when validating a constraint (ENABLE clause). So if you do not have a Primary key with the table, to use this option, you may have to create the Primary key with the DISABLE clause and then enable it with the EXCEPTIONS INTO clause. The EXCEPTIONS INTO clause writes the rowid of all duplicate rows to a table specified, the default table is named EXCEPTIONS. You may create this table by using the script utlexcpt.sql from $ORACLE_HOME/rdbms/admin.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So, to write the duplicate rows to an exceptions table for our example we do:&lt;br /&gt;&lt;br /&gt;1. Create the exceptions table using the script utlexcpt.sql&lt;br /&gt;2. Enable the primary key and write the duplicate row rowids to the exceptions table.&lt;br /&gt;&lt;br /&gt;ALTER TABLE my_table enable primary keyexceptions into exceptions;&lt;br /&gt;&lt;br /&gt;3. To view the duplicate rows you may use the SQL&lt;br /&gt;&lt;br /&gt;select * from my_tablewhere exists(select 1 from exceptionswhere exceptions.row_id = my_table.rowid);&lt;br /&gt;&lt;br /&gt;4. You may use the row_id values of exceptions table to remove the duplicate rows.&lt;br /&gt;&lt;br /&gt;Now, let me give you a situation which I face often. I have a table which has more than 100 million rows and this table is added with 10-20 million rows every week through batch jobs using SQL direct load. Now for some reason, if the job fails (out of space in the index tablespace, or the same datafile is used), since direct load is used, all the data will be loaded to the table, but the indexes will be left in direct load state. Here is what I do to eliminate duplicate rows and enable the primary key.&lt;br /&gt;&lt;br /&gt;1. Disable the primary key - this drops the index associated with the PK.&lt;br /&gt;2. Create a temporary table (we call it my_table_dup) and load the records from the recent jobs.&lt;br /&gt;3. Create a non-unique index on my_table with the same column as primary key.&lt;br /&gt;4. Run the following procedure to remove the duplicates. Here I assume that there is only one duplicate row for each duplication of PK.&lt;br /&gt;&lt;br /&gt;rem to delete dup rows from my_table&lt;br /&gt;rem&lt;br /&gt;&lt;br /&gt;declare&lt;br /&gt;cursor c1 is select * from my_table_dup;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;for r1 in c1 loop &lt;br /&gt;delete from my_table    &lt;br /&gt;where rowid = (select min(rowid) from my_table        &lt;br /&gt;           where my_id = r1.my_id      &lt;br /&gt;             and my_serial = r1.my_serial                &lt;br /&gt;           group by my_id, my_serial                   &lt;br /&gt;          having count(*) &gt; 1);   &lt;br /&gt; commit; &lt;br /&gt;end loop;&lt;br /&gt;end;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;5. Once this procedure is complete, drop the temporary index created in step 3 and enable the primary key (don't forget to specify the storage parameters and tablespace).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-115981076714003348?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/115981076714003348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=115981076714003348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115981076714003348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115981076714003348'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/removing-duplicate-rows-in-oracle.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-115981030219013125</id><published>2006-10-02T10:21:00.000-07:00</published><updated>2006-10-02T10:31:42.203-07:00</updated><title type='text'></title><content type='html'>&lt;strong&gt;Avoid these communication mistakes............&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Paul Arden, former executive creative director, Saatchi &amp; Saatchi, has a mantra, 'It's not how good you are, it's how good you want to be.'&lt;br /&gt;&lt;br /&gt;Arden has clearly stated what ought to be any professional's mantra. We all have talents and strengths. We also have areas of weaknesses, and one such area is poor inter-personal communication skills. This can be detrimental to your career since these skills are important in any area of life, but more so in the professional arena.&lt;br /&gt;&lt;br /&gt;They go a long way in boosting job satisfaction, growth, promotion, network building, relationship management, etc. It is, therefore, important to hone these skills.&lt;br /&gt;&lt;br /&gt;Here are some common communication problems and suggestions on how you can tackle them. &lt;strong&gt;Talking too fast&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;br /&gt;If people normally look a little lost or confused when conversing with you, it would be a good idea to evaluate the speed at which you speak.&lt;br /&gt;&lt;br /&gt;Saumil Doshi, 26, a consulting financial analyst, speaks so fast that most of his clients lose out on approximately 70 per cent of his conversation. Unfortunately, not many people are able to trust fast talkers, especially fast talking financial analysts.&lt;br /&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br /&gt;Saumil recorded his speech on a dictaphone and listened to himself in an effort to improve the way he spoke. He also used tongue twisters to help clarify as well as slow down his speech. These included:&lt;br /&gt;~ The three things that those three thought are thoroughly trashy.&lt;br /&gt;~ She sells seashells on the seashore. &lt;br /&gt;~ We wash white vests very well and vouch for well-washed vests.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Talking too much&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;br /&gt;Manish Parikh, 32, a store manager at Avanee Boutique, Mumbai, is well read. He loves sharing his knowledge with everyone, including his customers.&lt;br /&gt;Initially, they were impressed but, as time went by, they got bored. Slowly, customers started avoiding him. His boss, the storeowner, asked him to focus on running the store and not chatting up customers to show off his knowledge.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution:&lt;/strong&gt; Remember, nobody wants irrelevant information. At work, ask yourself if what you are going to say will make sense or add any value to what is being discussed.&lt;br /&gt;Then, and only then, go ahead and say it. This one requires practice and discipline, as we all want to share our knowledge and, of course, show off a bit at times.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Talking to boss/ client &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;br /&gt;You are standing in front of your chairman at your company's annual bash. When you are introduced to him, all you do is blurt out a "How are you?"&lt;br /&gt;&lt;br /&gt;You have lost your chance to interact with him, and he has moved ahead to greet other people.&lt;br /&gt;&lt;br /&gt;Do you tongue-tied when it comes to speaking with/ before your seniors/ important clients?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br /&gt;Use a three-pronged approach to tackle this particular block:&lt;br /&gt;~ If the situation permits, decide what you want to say in advance and practise it a couple of times in front of the mirror. There are times this may not be possible; you could then mentally imagine scenarios where you are communicating successfully with your seniors.&lt;br /&gt;&lt;br /&gt;~ Before going for the meeting, ensure all the supporting documents and necessary stationery are with you.&lt;br /&gt;&lt;br /&gt; ~ Cultivate your confidence by knowing your self-worth (please don't go to the other end of the spectrum and develop an ego). Build a rapport with those people who share time or space with you.&lt;br /&gt;Get rid of your shyness step-by-step and, before you know it, a throat block is history.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Negative body language &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Problem: &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Fidgeting, shuffling from one foot to the other, cracking your knuckles, fiddling with accessories, scratching your head -- all these take away from the impact of what you are saying.&lt;br /&gt;&lt;br /&gt;Mamta Parikh, 28, PA to the technical director of KC and Sons (a marketing company), had the habit of snapping her hairclip open and closed. She never realised how distracting it was during meetings. One day, her boss pointed this out and she made a conscious habit to stop.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br /&gt;Be aware of your body movements and language. The minute you start fidgeting, make yourself stop. Curb irritating habits like tapping feet, rocking squeaky chairs, humming, whistling and jostling. Again, getting rid of these habits will take you time.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Mind your manners&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;br /&gt;Param L*, 22, a part-time sales person with a leading bookstore, disliked the way his colleague would interrupt him when he was helping a customer. Param finally spoke to his colleague about his habit. Lucky for him, the latter changed his style of working.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br /&gt;It pays to be polite and aware of your bad habits. 'Please' and 'Thank you' go a long way in building good relationships.&lt;br /&gt;&lt;br /&gt;Little things like asking for permission before borrowing stationery and helping a newly recruited colleague, etc, go a long way in cultivating relationships. So, what's stopping you from scaling that ladder? Go ahead, climb up to dizzy heights and reach your own cloud nine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-115981030219013125?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/115981030219013125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=115981030219013125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115981030219013125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115981030219013125'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/avoid-these-communication-mistakes.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-115980957889555292</id><published>2006-10-02T10:14:00.000-07:00</published><updated>2006-10-02T10:19:38.906-07:00</updated><title type='text'></title><content type='html'>STROKE: Remember The 1st Three Letters...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;a href="http://photos1.blogger.com/blogger/6479/3698/1600/Stroke.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6479/3698/320/Stroke.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My friend sent this to me and encouraged me to post it and spread the word. I agree. If everyone can remember something this simple, we could save some folks. Seriously.. Please read:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;STROKE IDENTIFICATION: &lt;/strong&gt;&lt;br /&gt;During a BBQ, a friend stumbled and took a little fall - she assured everyone that she was fine (they offered to call paramedics) and just tripped over a brick because of her new shoes. They got her cleaned up and got her a new plate of food - while she appeared a bit shaken up, Ingrid went about enjoying herself the rest of the evening. Ingrid's husband called later telling everyone that his wife had been taken to the hospital - (at 6:00pm, Ingrid passed away.) She had suffered a stroke at the BBQ. Had they known how to identify the signs of a stroke, perhaps Ingrid would be with us today. Some don't die. They end up in a helpless, hopeless condition instead.&lt;br /&gt;It only takes a minute to read this...&lt;br /&gt;&lt;em&gt;A neurologist says that if he can get to a stroke victim within 3 hours he can totally reverse the effects of a stroke...totally. He said the trick was getting a stroke recognized, diagnosed, and then getting the patient medically cared for within 3 hours, which is tough.&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;RECOGNIZING A STROKE &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Thank God for the sense to remember the "3" steps, STR . Read and Learn!&lt;br /&gt;&lt;br /&gt;Sometimes symptoms of a stroke are difficult to identify. Unfortunately, the lack of awareness spells disaster. The stroke victim may suffer severe brain damage when people nearby fail to recognize the symptoms of a stroke.&lt;br /&gt;&lt;br /&gt;Now doctors say a bystander can recognize a stroke by asking three simple questions:&lt;br /&gt;S *Ask the individual to SMILE.&lt;br /&gt;T *Ask the person to TALK . to SPEAK A SIMPLE SENTENCE (Coherently) (i.e. . . It is sunny out today)&lt;br /&gt;R *Ask him or her to RAISE BOTH ARMS .&lt;br /&gt; {&lt;br /&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; Another 'sign' of a stroke is this: Ask the person to 'stick' out their tongue... if the tongue is 'crooked', if it goes to one side or the other that is also an indication of a stroke&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; If he or she has trouble with ANY ONE of these tasks, call for assistance immediately and describe the symptoms to the dispatcher.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-115980957889555292?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/115980957889555292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=115980957889555292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115980957889555292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115980957889555292'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/stroke-remember-1st-three-letters.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-115972698886921434</id><published>2006-10-01T11:20:00.000-07:00</published><updated>2006-10-01T11:23:08.886-07:00</updated><title type='text'></title><content type='html'>Transcript of J. Jayalalitha's interview on BBC World's HARDtalk India held on Friday 1st October 2004 at 2200 IST. Presented by Karan Thapar&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; KT: Hello and welcome to HARDtalk India. My guest today is the Chief Minister of India's southern state of Tamil Nadu. Just over three years ago her party won an astonishing 80% victory in the state elections, just over three months ago her party failed to win a single seat in the National elections. How does she explain this astonishing reversal of fortune? Is the Chief Minister misunderstood or has the Chief Minister made mistakes. That in a sense is the core question that I shall put today to the Chief Minister of Tamil Nadu, J. Jayalalitha. Chief Minister, how do you explain that humiliating outcome in May, not a single seat for your party?  JJ: I don't think it was a humiliating outcome at all. The results show that we have retained our vote bank. We got more than a crore of votes on our own which I think was a very good performance.&lt;br /&gt; KT: But you got no seats. JJ: Yes, but that is because we go by a simple majority system here.&lt;br /&gt; KT: So the voting pattern of the country and the voting system went against you? JJ: I would say that we retained our vote bank. There was no erosion in our vote bank. We did very well but there was a formidable alliance ranged against us.&lt;br /&gt; KT: Let's talk a little about the image the press has built up about you which many people believe has gone against you this time around. Over the last three years the press has variously described you as undemocratic, as irresponsible. They've even talked about you as irrational, vengeful and maybe even irresponsible. Are you misunderstood or have you made mistakes you can admit to?  JJ: I'm not irresponsible at all. That is totally removed from the truth. Yes I am misunderstood. As for all these tags that is because the media have been against me, not just for the past three years but ever since I came to politics. Perhaps it is because the whole world is a stage and everyone is acting all the time and I tend to be straight to the point. Hypocrisy is not my forte at all. That way I must say I'm a bit unconventional for a politician. The rule of the game seems to require considerable play-acting. I have acted in films before the cameras but I'm incapable of acting in real life.&lt;br /&gt; KT: You mean your honesty and straight forwardness goes against you?&lt;br /&gt; JJ: I'm honest. Let me be very honest with you. I prefer to play straight and I prefer speaking the truth. If I appear to be blunt, so be it. Yes, I am misunderstood and the media have a large part to play in this.   KT: Let's explore that a little. You said that you weren't irresponsible yet within five days of your party failing to win a single seat at the May general elections you reversed a whole series of decisions that you had taken over the last three years.&lt;br /&gt; JJ: Let me explain. The changes made in May 2004 were termed by the press and the media as rollbacks and they made it appear that these were done in the wake of the results of the parliamentary elections. But that is not really so. What I was attempting was a major calibration of the process of structural adjustment which had to be undertaken after I assumed office in May 2001.&lt;br /&gt; KT: But you did it just after you lost seats rather than earlier. JJ: No let me explain. I will explain. You must remember that I was bequeathed a shattered economy and total fiscal chaos by the previous DMK government. To put it mildly the state treasury was simply not making payments. I inherited a whole pile of unpaid bills. The fiscal balance had to be restored and these needed structural changes. It was...&lt;br /&gt; KT: (Intervenes) But forgive me Chief Minister the reforms include economic and fiscal reforms which you reversed. JJ: Yes.&lt;br /&gt; KT: So far from making structural changes you are reversing your own structural changes.  JJ: No I was just explaining that I inherited a whole pile of unpaid bills and fiscal chaos. I had to make the people swallow bitter medicine. By 31st March 2003 all the earlier payments were cleared and by the end of the fiscal year 2003-2004 Tamil Nadu's fiscal heath was fully restored. As the fiscal situation turned from terminal decline to the pink of robust health I started making these calibrations even from January 2003, well before the parliamentary elections.  KT: Do you know what people say, the press says that Jayalalitha reversed her economic and fiscal reforms such as stopping power to farmers, such as stopping cheap access to easy grain for people earning over 5000 because she wanted easy popularity. She had lost, she was worried she would lose again.   JJ: That is not correct. You must remember that Tamil Nadu has been greatly affected by three years of continuous drought and people, particularly the poor farmers and agricultural laborers had to be insulated against the income shock caused by drought. In such a situation one cannot be dogmatic or opinionated. If change is warranted in a new situation, so be it. It has to be done.  KT: In which case why did you... JJ: (Intervenes) I'm sure I have done well in protecting the farmers and the landless agricultural laborers and you must remember that Tamil Nadu has been free from starvation deaths and malnutrition deaths which have afflicted many other states.  KT: Chief Minister, why did you then reverse the anti-conversion bill? That was extremely popular when you first passed it.&lt;br /&gt; JJ: That has nothing to do with economic reform. KT: Yes but it was one of the reversions. JJ: It was misunderstood and particularly it was blown up by the media.&lt;br /&gt; KT: So in other words you buckled under media pressure? JJ: No, not at all. It was misunderstood by many people. It was not an anti-conversion law, it was an anti forcible conversion law.&lt;br /&gt; KT: But it was misunderstood for almost two years. You could have repealed it earlier, you didn't. You only repealed it after you failed to win seats. JJ: It has nothing to do with that. If you insist on giving this interpretation I can't help it.&lt;br /&gt; KT: What about the... JJ: (Intervenes) As to why the media is biased, that is because I am a self-made woman. Politics has for long been a male bastion. Mrs. Indira Gandhi changed all that, but still you must remember that Mrs. Indira Gandhi had all the inbuilt advantages. She had the advantage of being born in the...&lt;br /&gt; KT: (Intervenes) You're saying that media picks on you? JJ: I do think so.&lt;br /&gt; KT: Because you are a woman? JJ: You are not allowing me to finish anything I want to say.&lt;br /&gt; KT: No, is it because you are a woman? JJ: I don't think it's because I am a woman. It's because I don't have a background like other women political leaders of Asia. If you'll allow me to complete a sentence, Mrs. Indira Gandhi was born into the Nehru family. She was the daughter of Jawaharlal Nehru. Mrs. Srimavo Bandaranaiake was the wife of Bandaranaiake, Benazir Bhutto was the daughter of Bhutto, Khaleeda Zia was the widow of Zia-ur- Rehman.&lt;br /&gt; KT: What's the point you are making? JJ: Sheikh Haseena was the daughter of Mujibur Rehman. I have no such background. I'm a self made woman. KT: And so you are picked upon. JJ: Nothing was handed to me on a golden platter.&lt;br /&gt;&lt;br /&gt; KT: But are you saying that because you are&lt;br /&gt; self-made you are picked&lt;br /&gt; upon?&lt;br /&gt;&lt;br /&gt; JJ: I do not know the reasons. It's the media who&lt;br /&gt; have to explain why&lt;br /&gt; they have been so biased.&lt;br /&gt;&lt;br /&gt; KT: Okay. You say that you are not irresponsible,&lt;br /&gt; you say that in fact&lt;br /&gt; calibrated changes...&lt;br /&gt;&lt;br /&gt; JJ: (Intervenes) If you knew my routine you would be&lt;br /&gt; surprised. I get up&lt;br /&gt; at 4 o'clock in the morning and I am awake till one&lt;br /&gt; the next morning and&lt;br /&gt; all my time, all my attention is religiously devoted&lt;br /&gt; to work, work and&lt;br /&gt; nothing else but work. I have no time, no time to&lt;br /&gt; think of vendetta or&lt;br /&gt; think of vengeance against...&lt;br /&gt;&lt;br /&gt; KT: (Intervenes) You are saying you have no time...&lt;br /&gt; It is interesting&lt;br /&gt; that you should pick the word vendetta. You say you&lt;br /&gt; have no time for&lt;br /&gt; vendetta. The press point out that when you arrested&lt;br /&gt; your predecessor&lt;br /&gt; you did it at two in the morning, on a Saturday&lt;br /&gt; although the case&lt;br /&gt; against him had already been filed a day before.&lt;br /&gt;&lt;br /&gt; JJ: If you allow me a few minutes...&lt;br /&gt;&lt;br /&gt; KT: But can I finish the question and then...&lt;br /&gt;&lt;br /&gt; JJ: I know what you are getting at. So, the DMK's&lt;br /&gt; government foisted&lt;br /&gt; cases against me and threw me in jail. I languished&lt;br /&gt; in jail for&lt;br /&gt; twenty-eight days in a case in which I was&lt;br /&gt; ultimately acquitted...&lt;br /&gt;&lt;br /&gt; KT: (Intervenes) So was it revenge?&lt;br /&gt;&lt;br /&gt; JJ: When Mr. Karunanidhi did this the media gave him&lt;br /&gt; kudos for throwing&lt;br /&gt; me into jail portraying it as a triumph of good over&lt;br /&gt; evil. If only they&lt;br /&gt; knew the truth, later the people saw through Mr.&lt;br /&gt; Karunanidhi's mean game&lt;br /&gt; and they elected me to power in 2001 with a thumping&lt;br /&gt; majority.&lt;br /&gt;&lt;br /&gt; KT: (Intervenes) But when you arrested him...&lt;br /&gt;&lt;br /&gt; JJ: When I became Chief Minister Mr. Karunanidhi was&lt;br /&gt; arrested in a&lt;br /&gt; corruption case. At that time his family channel Sun&lt;br /&gt; TV played a big&lt;br /&gt; hoax with a very cleverly edited footage...&lt;br /&gt;&lt;br /&gt; KT: (Intervenes) Can I interrupt because I think the&lt;br /&gt; important thing&lt;br /&gt; Chief Minister...&lt;br /&gt;&lt;br /&gt; JJ: (Intervenes) And at that time the entire media&lt;br /&gt; was...&lt;br /&gt;&lt;br /&gt; KT: (Intervenes) You are reading a statement...&lt;br /&gt;&lt;br /&gt; JJ: (Intervenes) I'm not reading. I'm looking at you&lt;br /&gt; and talking. You&lt;br /&gt; can check it in the camera.&lt;br /&gt;&lt;br /&gt; KT: But I want to say...&lt;br /&gt;&lt;br /&gt; JJ: I'm looking at you and speaking. I'm not&lt;br /&gt; reading.&lt;br /&gt;&lt;br /&gt; KT: I'm want to put out a concern to you. People&lt;br /&gt; say...&lt;br /&gt;&lt;br /&gt; JJ: (Intervenes) You have notes before you. Shall I&lt;br /&gt; say you are reading.&lt;br /&gt;&lt;br /&gt; KT: I have questions in front of me.&lt;br /&gt;&lt;br /&gt; JJ: Alright I have notes in front of me. Nothing&lt;br /&gt; forbids me from having&lt;br /&gt; notes.&lt;br /&gt;&lt;br /&gt; KT: Chief Minister...&lt;br /&gt;&lt;br /&gt; JJ: I'm not reading. I'm looking at you straight in&lt;br /&gt; the eye. I look&lt;br /&gt; everyone straight in the eye.&lt;br /&gt;&lt;br /&gt; KT: You arrested a man who was 77.&lt;br /&gt;&lt;br /&gt; JJ: Age has nothing to do with corruption.&lt;br /&gt;&lt;br /&gt; KT: A former Chief Minister of 14 years standing...&lt;br /&gt;&lt;br /&gt; JJ: I too was a former Chief Minister when I was&lt;br /&gt; arrested.&lt;br /&gt;&lt;br /&gt; KT: So was it revenge? It was vengeance?&lt;br /&gt;&lt;br /&gt; JJ: It was not vengeance. He was involved in a&lt;br /&gt; corruption case.&lt;br /&gt;&lt;br /&gt; KT: You don't regret the way it was handled?&lt;br /&gt;&lt;br /&gt; JJ: I do not regret it at all because what was shown&lt;br /&gt; to the people was&lt;br /&gt; cleverly edited footage, it was a hoax played on the&lt;br /&gt; people. People in&lt;br /&gt; the media like you would not have seen through it,&lt;br /&gt; you may have taken it&lt;br /&gt; on phase value, but the people saw through it.&lt;br /&gt;&lt;br /&gt; KT: Okay what about what the press calls your&lt;br /&gt; inconsistency and&lt;br /&gt; unreliability. They say that her relationship with&lt;br /&gt; Sonia Gandhi as an&lt;br /&gt; ally is an on-off affair.&lt;br /&gt;&lt;br /&gt; JJ: I do not want to discuss Mrs. Sonia Gandhi in&lt;br /&gt; this interview.&lt;br /&gt;&lt;br /&gt; KT: Why?&lt;br /&gt;&lt;br /&gt; JJ: I have the choice to pick and choose the&lt;br /&gt; questions I want to answer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; KT: You have a choice to pick and choose the&lt;br /&gt; questions you wish to&lt;br /&gt; answer but don't you think...&lt;br /&gt;&lt;br /&gt; JJ: It's my democratic right. I don't have to answer&lt;br /&gt; every question you&lt;br /&gt; put to me.&lt;br /&gt;&lt;br /&gt; KT: Except...&lt;br /&gt;&lt;br /&gt; JJ: I do not wish to discuss Mrs. Sonia Gandhi.&lt;br /&gt;&lt;br /&gt; KT: Except for the fact that people will wonder why&lt;br /&gt; you don't want to&lt;br /&gt; talk about someone who was your ally in '99, who you&lt;br /&gt; publicly spoke&lt;br /&gt; against as a possible Prime Minister of the&lt;br /&gt; country...&lt;br /&gt;&lt;br /&gt; JJ: If you have other questions you may ask them. I&lt;br /&gt; don't wish to answer&lt;br /&gt; these questions.&lt;br /&gt;&lt;br /&gt; KT: Okay can I put one quote to you? The press say&lt;br /&gt; that she turned&lt;br /&gt; against Sonia Gandhi in 2003 to ingratiate herself&lt;br /&gt; to the BJP; today she&lt;br /&gt; is saying nice things about Sonia Gandhi because she&lt;br /&gt; wishes to&lt;br /&gt; ingratiate herself with Congress.&lt;br /&gt;&lt;br /&gt; JJ: I have not said any such nice things. All that I&lt;br /&gt; said was I did not&lt;br /&gt; make any personal attacks and I have no reason to&lt;br /&gt; make any personal&lt;br /&gt; attacks. What happened during the parliamentary&lt;br /&gt; polls was an electoral&lt;br /&gt; confrontation and not a personal confrontation.&lt;br /&gt;&lt;br /&gt; KT: Except...&lt;br /&gt;&lt;br /&gt; JJ: (Intervenes) Now I'm looking you straight in the&lt;br /&gt; eye and you are&lt;br /&gt; reading from your notes.&lt;br /&gt;&lt;br /&gt; KT: I'm reading a quotation of yours so I don't get&lt;br /&gt; it inaccurate. In&lt;br /&gt; '98 you said it would be a national shame if that&lt;br /&gt; foreigner comes to&lt;br /&gt; power. In 2003 you said it will be a crime shame and&lt;br /&gt; moral bankruptcy&lt;br /&gt; for the Congress to project Sonia Gandhi as Prime&lt;br /&gt; Minister.&lt;br /&gt;&lt;br /&gt; JJ: My feelings on the issue of a person of foreign&lt;br /&gt; origin ruling the&lt;br /&gt; country are well known.&lt;br /&gt;&lt;br /&gt; KT: And unchanged?&lt;br /&gt;&lt;br /&gt; JJ: My statements are on record. There is no change&lt;br /&gt; in my stand.&lt;br /&gt;&lt;br /&gt; KT: So you remain by your position?&lt;br /&gt; JJ: Yes I'm quite consistent.&lt;br /&gt;&lt;br /&gt; KT: That Sonia Gandhi should not become Prime&lt;br /&gt; Minister of India.&lt;br /&gt;&lt;br /&gt; JJ: Not just Sonia Gandhi. Not just Mrs. Sonia&lt;br /&gt; Gandhi, any person of&lt;br /&gt; foreign origin.&lt;br /&gt;&lt;br /&gt; KT: Let's switch to another concern the media has.&lt;br /&gt; They say that&lt;br /&gt; Jayalalitha is undemocratic. In fact they go&lt;br /&gt; further. They say you are&lt;br /&gt; dictatorial. How do you respond to that?&lt;br /&gt;&lt;br /&gt; JJ: I think people are the best judges.&lt;br /&gt;&lt;br /&gt; KT: Why...&lt;br /&gt;&lt;br /&gt; JJ: The media has never had good things to say about&lt;br /&gt; me. And you didn't&lt;br /&gt; allow me to finish what I wanted to say earlier.&lt;br /&gt;&lt;br /&gt; KT: Why do your M.L.As ...&lt;br /&gt;&lt;br /&gt; JJ: You'd be surprised to know my routine I said. I&lt;br /&gt; spend all my time&lt;br /&gt; devoted to work. I don't do anything else. I work&lt;br /&gt; all the time for the&lt;br /&gt; development of Tamil Nadu, for the good of the&lt;br /&gt; people of Tamil Nadu.&lt;br /&gt;&lt;br /&gt; KT: I accept that completely. But why do your M.L.As&lt;br /&gt; and your Ministers&lt;br /&gt; in public prostrate themselves in front of you?&lt;br /&gt;&lt;br /&gt; JJ: They prostrate before other political leaders.&lt;br /&gt; They prostrate before&lt;br /&gt; Mr. Karunanidhi too. His MLAs and MPs do that all&lt;br /&gt; the time.&lt;br /&gt;&lt;br /&gt; KT: But they are people...&lt;br /&gt;&lt;br /&gt; JJ: Except that you choose not to notice it.&lt;br /&gt; Whenever there is any small&lt;br /&gt; incident involving me it is blown up beyond&lt;br /&gt; proportion. It is an Indian&lt;br /&gt; tradition to seek blessings from elders.&lt;br /&gt;&lt;br /&gt; KT: In this fashion?&lt;br /&gt;&lt;br /&gt; JJ: Yes it is an Indian tradition. I think you are&lt;br /&gt; an Indian. I think&lt;br /&gt; you know enough about Indian tradition and culture.&lt;br /&gt;&lt;br /&gt; KT: But is it fitting for ministers of the state...&lt;br /&gt;&lt;br /&gt; JJ: I have asked them not to do it.&lt;br /&gt;&lt;br /&gt; KT: They don't listen to you?&lt;br /&gt;&lt;br /&gt; JJ: They do listen. They don't do it nowadays in&lt;br /&gt; public.&lt;br /&gt;&lt;br /&gt; KT: It's been stopped?&lt;br /&gt;&lt;br /&gt; JJ: It's been stopped.&lt;br /&gt;&lt;br /&gt; KT: When you say they don't do it in public...&lt;br /&gt;&lt;br /&gt; JJ: (Intervenes) I've given many statements to this&lt;br /&gt; effect. I have given&lt;br /&gt; public statements asking my party men and MLAs and&lt;br /&gt; Ministers not to&lt;br /&gt; prostrate in public. They don't do it. They've not&lt;br /&gt; been doing it for the&lt;br /&gt; last three or four years.&lt;br /&gt;&lt;br /&gt; KT: The media also points towards the fact that in&lt;br /&gt; slightly over three&lt;br /&gt; years you have reshuffled your cabinet, as the&lt;br /&gt; Deccan Chronicle points&lt;br /&gt; out, over fifteen times.&lt;br /&gt;&lt;br /&gt; JJ: That I'm allowed to do, for administrative&lt;br /&gt; convenience.&lt;br /&gt;&lt;br /&gt; KT: You mean to say that you need to do it so often&lt;br /&gt; for administrative&lt;br /&gt; convenience?&lt;br /&gt;&lt;br /&gt; JJ: I know what I need to do for the good of the&lt;br /&gt; state.&lt;br /&gt;&lt;br /&gt; KT: The press says...&lt;br /&gt;&lt;br /&gt; JJ: If certain persons are appointed to certain&lt;br /&gt; posts and if their&lt;br /&gt; performance is not satisfactory, for the good of the&lt;br /&gt; state, for&lt;br /&gt; administrative improvement I have to make a change.&lt;br /&gt; I cannot refrain&lt;br /&gt; from making a change simply because their will be&lt;br /&gt; carping criticism from&lt;br /&gt; persons in the media like you.&lt;br /&gt;&lt;br /&gt; KT: Except for the fact that the media all the way&lt;br /&gt; across the country&lt;br /&gt; says that Jayalalitha does it to keep them insecure,&lt;br /&gt; to keep them&lt;br /&gt; dependent on her.&lt;br /&gt;&lt;br /&gt; JJ: If they keep on making such unjustified remarks&lt;br /&gt; I have nothing to&lt;br /&gt; say.&lt;br /&gt;&lt;br /&gt; KT: Let's talk a little about you. Your party the&lt;br /&gt; AIADMK is formally a&lt;br /&gt; part of the Dravida movement. The Dravida&lt;br /&gt; movement...&lt;br /&gt;&lt;br /&gt; JJ: Not formally part of the Dravida movement, it is&lt;br /&gt; still part of the&lt;br /&gt; Dravidian movement.&lt;br /&gt;&lt;br /&gt; KT: Except that the Dravidian movement is a&lt;br /&gt; rationalist, atheist,&lt;br /&gt; iconoclastic movement. Where do you personally fit&lt;br /&gt; into that?&lt;br /&gt;&lt;br /&gt; JJ: It's not an atheist movement, it's not an&lt;br /&gt; atheist movement. You are&lt;br /&gt; totally wrong. You haven't read Dravidian history.&lt;br /&gt;&lt;br /&gt; KT: Periyar was an atheist...&lt;br /&gt;&lt;br /&gt; JJ: Anna said, 'ondre kulam oruvane devam', that&lt;br /&gt; means there is only one&lt;br /&gt; God. So Anna recognized the existence of God, so it&lt;br /&gt; doesn't mean&lt;br /&gt; atheism.&lt;br /&gt;&lt;br /&gt; KT: Are you embarrassed by your belief in numerology&lt;br /&gt; and astrology?&lt;br /&gt;&lt;br /&gt; JJ: Who said that I believe in astrology and&lt;br /&gt; numerology? You say it,&lt;br /&gt; people in the media say it. What is the proof you&lt;br /&gt; have of that?&lt;br /&gt;&lt;br /&gt; KT: Don't you chose...&lt;br /&gt;&lt;br /&gt; JJ: (Intervenes) Why should I be embarrassed?&lt;br /&gt;&lt;br /&gt; KT: Don't you choose auspicious hours when you do&lt;br /&gt; things?&lt;br /&gt;&lt;br /&gt; JJ: Many people in India do that. Have you asked&lt;br /&gt; this question of Mr.&lt;br /&gt; Vajpayee, Mr. Advani, many other leaders?&lt;br /&gt;&lt;br /&gt; KT: I asked identical questions of Vasundhara Raje&lt;br /&gt; Scindia. The press&lt;br /&gt; says that Jayalalitha spends a lot of time&lt;br /&gt; propitiating gods, she spends&lt;br /&gt; a lot of time choosing auspicious hours. Are you&lt;br /&gt; superstitious?&lt;br /&gt;&lt;br /&gt; JJ: I am not superstitious and I must say I am&lt;br /&gt; rather disappointed with&lt;br /&gt; the tone and tenor of this interview. You seem to&lt;br /&gt; preface almost every&lt;br /&gt; sentence, every question with the word the press&lt;br /&gt; says or the media says&lt;br /&gt; so. The press and the media have always been making&lt;br /&gt; uncharitable,&lt;br /&gt; unfair, unjustified remarks, comments without any&lt;br /&gt; basis. What do you&lt;br /&gt; expect me to say to all this?&lt;br /&gt;&lt;br /&gt; KT: Can I ask you why did you believe in...&lt;br /&gt;&lt;br /&gt; JJ: If people believed all that the media have said&lt;br /&gt; about me, have&lt;br /&gt; written about me, I couldn't have won a single&lt;br /&gt; election, I wouldn't be&lt;br /&gt; sitting where I am now.&lt;br /&gt;&lt;br /&gt; KT: Except for the fact in 2001 suddenly you...&lt;br /&gt;&lt;br /&gt; JJ: I'm sorry I agreed to do this interview. That's&lt;br /&gt; all I can say.&lt;br /&gt;&lt;br /&gt; KT: In 2001, Chief Minister, you changed the&lt;br /&gt; spelling of you name. Can I&lt;br /&gt; ask you why? You added an extra 'a'.&lt;br /&gt;&lt;br /&gt; JJ: It's my prerogative to do so. I don't have to&lt;br /&gt; explain. I don't have&lt;br /&gt; to explain anything to you for that matter.&lt;br /&gt;&lt;br /&gt; KT: No but I asked for a simple reason. As Chief&lt;br /&gt; Minister of Tamil Nadu,&lt;br /&gt; you set an example...&lt;br /&gt;&lt;br /&gt; JJ: I changed the spelling of my name before I&lt;br /&gt; became the Chief Minister&lt;br /&gt; again. That is my prerogative. Did you ask Vaiko why&lt;br /&gt; he changed his name&lt;br /&gt; to Vaiko from Y. Gopalaswami? Go and ask him that.&lt;br /&gt;&lt;br /&gt; KT: So when the press depict you, as I began this&lt;br /&gt; interview by saying...&lt;br /&gt;&lt;br /&gt; JJ: (Intervenes) You are doing a good job of it&lt;br /&gt; again now.&lt;br /&gt;&lt;br /&gt; KT: No I'm putting a question to you. When the press&lt;br /&gt; depict you as&lt;br /&gt; irresponsible for reversing your policies...&lt;br /&gt;&lt;br /&gt; JJ: (Intervenes) I'm not irresponsible. I spend all&lt;br /&gt; my time working. I&lt;br /&gt; deny it totally.&lt;br /&gt;&lt;br /&gt; KT: When they say you are vengeful you deny that?&lt;br /&gt;&lt;br /&gt; JJ: I deny that.&lt;br /&gt;&lt;br /&gt; KT: When they say you are inconsistent, you deny&lt;br /&gt; that?&lt;br /&gt;&lt;br /&gt; JJ: I do deny it.&lt;br /&gt;&lt;br /&gt; KT: And when they say that her attitude to&lt;br /&gt; astrology, numerology&lt;br /&gt; suggests she is irrational, you deny that as well?&lt;br /&gt;&lt;br /&gt; JJ: I deny that also. I'm a perfectly rational,&lt;br /&gt; sensible, sober, very&lt;br /&gt; responsible leader. I can say with confidence that&lt;br /&gt; no other Chief&lt;br /&gt; Minister in Tamil Nadu's history has worked so hard&lt;br /&gt; for the development&lt;br /&gt; and progress of the state as I have been doing and&lt;br /&gt; as I am doing.&lt;br /&gt;&lt;br /&gt; KT: Then let me put this to you. You face state&lt;br /&gt; elections in slightly&lt;br /&gt; under two years time in May 2006 at the latest.&lt;br /&gt;&lt;br /&gt; JJ: Yes I am perfectly aware of that.&lt;br /&gt;&lt;br /&gt; KT: Are you worried that after the problem you faced&lt;br /&gt; in May at the&lt;br /&gt; general elections when your party did not win a&lt;br /&gt; single seat that you&lt;br /&gt; will lose the state elections?&lt;br /&gt;&lt;br /&gt; JJ: (Intervenes) I am not worried at all.&lt;br /&gt;&lt;br /&gt; KT: But won't this press image that is widespread&lt;br /&gt; across the country,&lt;br /&gt; not just Tamil Nadu, work against you?&lt;br /&gt;&lt;br /&gt; JJ: It's irrelevant.&lt;br /&gt;&lt;br /&gt; KT: You are confident that you can reach out to the&lt;br /&gt; people above the&lt;br /&gt; press and convince them of the real Jayalalitha?&lt;br /&gt;&lt;br /&gt; JJ: As I told you earlier if the people took&lt;br /&gt; seriously what the media&lt;br /&gt; persons have been writing about me and saying about&lt;br /&gt; me, I could not have&lt;br /&gt; won a single election.&lt;br /&gt;&lt;br /&gt; KT: Except that you lost in '96 and you didn't win&lt;br /&gt; any seats at the&lt;br /&gt; national elections in 2004.&lt;br /&gt;&lt;br /&gt; JJ: What about the '98 that came immediately after&lt;br /&gt; '96? What about the&lt;br /&gt; general elections then?&lt;br /&gt;&lt;br /&gt; KT: But this is what I am saying. Your career in the&lt;br /&gt; last ten years, and&lt;br /&gt; particularly in the last three, has seen amazing&lt;br /&gt; roller coasters.&lt;br /&gt;&lt;br /&gt; JJ: This is true of every political leader. It's&lt;br /&gt; true of life itself.&lt;br /&gt; Life is full of ups and downs. The political career&lt;br /&gt; of any leader is&lt;br /&gt; full of victories and defeats. No one is&lt;br /&gt; consistently successful, no one&lt;br /&gt; is a consistent loser.&lt;br /&gt;&lt;br /&gt; KT: You've also faced cases in court. Does it worry&lt;br /&gt; you that now you&lt;br /&gt; have to go to court not just in Tamil Nadu but...&lt;br /&gt;&lt;br /&gt; JJ: I have been facing a number of cases since 1996.&lt;br /&gt; All these cases&lt;br /&gt; were foisted on me. I have never run away from&lt;br /&gt; facing these cases. I've&lt;br /&gt; been acquitted in 12 cases so far. What does that&lt;br /&gt; show? That the cases&lt;br /&gt; were false.&lt;br /&gt;&lt;br /&gt; KT: In one of the cases, the Tansi case, where you&lt;br /&gt; were acquitted and&lt;br /&gt; exonerated by the Supreme Court, the same court, in&lt;br /&gt; its verdict said it&lt;br /&gt; asked you to ponder on whether you have done the&lt;br /&gt; right thing in&lt;br /&gt; breeching the spirit of the code of conduct...&lt;br /&gt;&lt;br /&gt; JJ: (Intervenes) I never comment on any judgment of&lt;br /&gt; the Supreme Court. I&lt;br /&gt; have never done so so far, I will not do it now.&lt;br /&gt;&lt;br /&gt; KT: Except for the fact that many people felt, not&lt;br /&gt; just the press this&lt;br /&gt; time, but the court was actually saying that legally&lt;br /&gt; you were innocent&lt;br /&gt; but morally you had a case to answer at least to&lt;br /&gt; yourself personally.&lt;br /&gt;&lt;br /&gt; JJ: I told you I do not comment on any judgment of&lt;br /&gt; the Supreme Court,&lt;br /&gt; whether the judgment involves me personally or any&lt;br /&gt; other matter of&lt;br /&gt; public importance. I never have commented on any&lt;br /&gt; judgment of the Supreme&lt;br /&gt; Court, I will not do so.&lt;br /&gt;&lt;br /&gt; KT: You are a very tough person, Chief Minister.&lt;br /&gt;&lt;br /&gt; JJ: People like you have made me so.&lt;br /&gt;&lt;br /&gt; KT: You said that you were misunderstood.&lt;br /&gt;&lt;br /&gt; JJ: Yes.&lt;br /&gt;&lt;br /&gt; KT: Do you think that you are badly treated by the&lt;br /&gt; press?&lt;br /&gt;&lt;br /&gt; JJ: I do not wish to say anything more on this.&lt;br /&gt; Anyway your interview is&lt;br /&gt; not doing anything to help matters.&lt;br /&gt;&lt;br /&gt; KT: My aim, Chief Minister, was to get to the core&lt;br /&gt; of the&lt;br /&gt; misunderstanding. You said that the press...&lt;br /&gt;&lt;br /&gt; JJ: Your aim seems to have been to put as many&lt;br /&gt; unpleasant questions as&lt;br /&gt; possible and try to provoke me.&lt;br /&gt;&lt;br /&gt; KT: Not to provoke you but to put to you the&lt;br /&gt; questions that have been&lt;br /&gt; discussed for the last three years and which in many&lt;br /&gt; ways may be&lt;br /&gt; responsible for the electoral adversity...&lt;br /&gt;&lt;br /&gt; JJ: Haven't you asked all of your questions? Have&lt;br /&gt; you got anything more&lt;br /&gt; to ask?&lt;br /&gt;&lt;br /&gt; KT: I have come very close to the end of this&lt;br /&gt; interview, I have only one&lt;br /&gt; last question. Are you confident that you can see&lt;br /&gt; your electoral low&lt;br /&gt; point over with, and that you will win in 2006?&lt;br /&gt;&lt;br /&gt; JJ: Wait and see. I told you already I don't believe&lt;br /&gt; in astrology. I&lt;br /&gt; can't predict what will happen in the next elections&lt;br /&gt; but you will be&lt;br /&gt; around I suppose. Wait and see what happens.&lt;br /&gt;&lt;br /&gt; KT: Is that a yes, you will win?&lt;br /&gt;&lt;br /&gt; JJ: I said wait and see.&lt;br /&gt;&lt;br /&gt; KT: Chief Minister, a pleasure talking to you on&lt;br /&gt; HARDtalk India.&lt;br /&gt;&lt;br /&gt; JJ: I must say it wasn't a pleasure talking to you.&lt;br /&gt; Namaste&lt;br /&gt;&lt;br /&gt; Note: This is a verbatim transcript. Opinions&lt;br /&gt; expressed by the&lt;br /&gt; interviewee are personal and not those of the BBC.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-115972698886921434?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/115972698886921434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=115972698886921434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115972698886921434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115972698886921434'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/transcript-of-j.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-115972674080298526</id><published>2006-10-01T11:18:00.000-07:00</published><updated>2006-10-01T11:19:00.803-07:00</updated><title type='text'></title><content type='html'>For all you F1 fans...&lt;br /&gt;&lt;br /&gt;01. An F1 car is made up of 80,000 components, if it were assembled99.9% correctly.&lt;br /&gt;02. Formula 1 cars have over a kilometer of cable, linked to about 100sensors and actuators which monitor and control many parts of the car.&lt;br /&gt;03. An F1 car can go from 0 to 160 kph AND back to 0 in FOUR seconds!!!!!!!04. F1 car engines last only for about 2 hours of racing mostly beforeblowing up on the other hand we expect our engines to last us for adecent 20yrs on an average and they quite faithfully DO....&lt;br /&gt;05. When an F1 driver hits the brakes on his car he experiencesretardation or deceleration comparable to a regular car driving througha BRICK wall at 300kmph!!!&lt;br /&gt;06. An average F1 driver looses about 4kgs of weight after just one racedue to the prolonged exposure to high G forces and temperatures forlittle over an hour (Yeah thats right!!!)&lt;br /&gt;07. At 550kg a F1 car is less than half the weight of a Mini.&lt;br /&gt;08. In an F1 car the engine typically revs upto 18000 rpm, (the pistontraveling up and down 300 times a second!!)&lt;br /&gt;09. The brake discs in an F1 car have an operating temperature ofapprox. 1000 degrees Centigrade and they attain that temp while brakingbefore almost every turn...that is why they r not made of steel but ofcarbon fibre which is much more harder and resistant to wear and tearand most of all has a higher melting point.&lt;br /&gt;10. If a water hose were to blow off, the complete cooling system wouldempty in just over a second.&lt;br /&gt;11. Gear cogs or ratios are used only for one race, and are replacedregularly to prevent failure, as they are subjected to very high degreesof stress.&lt;br /&gt;12. The fit in the cockpit is so tight that the steering wheel must beremoved for the driver to get in or out of the car. A small latch behindthe wheel releases it from the column. Levers or paddles for changinggear are located on the back of the wheel. So no gearstick! The clutchlevers are also on the steering wheel, located below the gear paddles.&lt;br /&gt;13. To give you an idea of just how important aerodynamic design andadded downforce can be, small planes can take off at slower speeds thanF1 cars travel on the track.&lt;br /&gt;14. Without aerodynamic downforce, high-performance racing cars havesufficient power to produce wheel spin and loss of control at 160 kph.F1 cars usually race at over 300 kph.&lt;br /&gt;15. The amount of aerodynamic downforce produced by the front and rearwings and the car underbody is amazing. Once the car is traveling over160 kph, an F1 car can generate enough downforce to equal it's ownweight. That means it could actually hold itself to the CEILING of atunnel and drive UPSIDE down!&lt;br /&gt;16. In a street course race like the Monaco grand prix, the downforceprovides enough suction to lift manhole covers. Before the race all ofthe manhole covers on the streets have to be welded down to prevent thisfrom happening!&lt;br /&gt;17. The refuelers used in F1 can supply 12 litres of fuel per second.This means it would take just 4 seconds to fill the tank of an average50 litre family car.They use the same refueling rigs used on US militaryhelicopters today.&lt;br /&gt;18. TOP F1 pit crews can refuel and change tyres in around 3 seconds.&lt;br /&gt;19. Race car tyres don't have air in them like normal car tyres. Mostracing tyres have nitrogen in the tyres because nitrogen has a moreconsistent pressure compared to normal air. Air typically containsvarying amounts of water vapour in it, which affects its expansion andcontraction as a function of temperature, making the tyre pressureunpredictable.&lt;br /&gt;20. During the race the tyres lose weight! Each tyre loses about 0.5 kgin weight due to wear.&lt;br /&gt;21. Normal tyres last 60 000 - 100 000 km. Racing tyres are designed tolast 90 - 120 km. (That's Khandala and back)&lt;br /&gt;22. A dry-weather F1 tyre reaches peak operating performance (best grip)when tread temperature is between 900C and 1200C.(Water boils at 100Cremember) At top speed, F1 tyres rotate 50 times a second.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-115972674080298526?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/115972674080298526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=115972674080298526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115972674080298526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115972674080298526'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/for-all-you-f1-fans.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-115972644044968431</id><published>2006-10-01T11:11:00.000-07:00</published><updated>2007-01-15T08:32:33.350-08:00</updated><title type='text'></title><content type='html'>Good ..... &lt;br /&gt;&lt;br /&gt;Measuring programming progress by lines of code is like measuring&lt;br /&gt;aircraft building progress by weight.--Bill Gates&lt;br /&gt;&lt;br /&gt;UNIX is simple. But It just needs a genius to understand its&lt;br /&gt;simplicity.--Dennis Ritchie&lt;br /&gt;&lt;br /&gt;Good judgment comes from experience, and experience comes from bad&lt;br /&gt;judgement.--Fred Brooks&lt;br /&gt;&lt;br /&gt;Theory is when you know something, but it doesn't work. Practice is&lt;br /&gt;when something works, but you don't know why it works. Programmers&lt;br /&gt;combine theory and practice: Nothing works and they don't know why.&lt;br /&gt;&lt;br /&gt;It's hard enough to find an error in your code when you're looking for&lt;br /&gt;it; it's even harder when you've assumed your code is error-free.&lt;br /&gt;-Steve McConnell Code Complete&lt;br /&gt;&lt;br /&gt;If builders built buildings the way programmers wrote programs, then&lt;br /&gt;the first woodpecker that came along would destroy civilization.&lt;br /&gt;-Gerald Weinberg&lt;br /&gt;&lt;br /&gt;The Six Phases of a Project:&lt;br /&gt;Enthusiasm&lt;br /&gt;Disillusionment&lt;br /&gt;Panic&lt;br /&gt;Search for the Guilty&lt;br /&gt;Punishment of the Innocent&lt;br /&gt;Praise for non-participants&lt;br /&gt;&lt;br /&gt;Good code is its own best documentation. As you're about to add a&lt;br /&gt;comment, ask yourself, 'How can I improve the code so that this&lt;br /&gt;comment isn't needed?' Improve the code and then document it to make&lt;br /&gt;it even clearer.--Steve McConnell Code Complete&lt;br /&gt;&lt;br /&gt;The trouble with the world is that the stupid are cocksure and the&lt;br /&gt;intelligent are full of doubt.--Bertrand Russell&lt;br /&gt;&lt;br /&gt;No matter how slick(efficient) the demo is in rehearsal, when you do&lt;br /&gt;it in front of a live audience the probability of a flawless&lt;br /&gt;presentation is inversely proportional to the number of people&lt;br /&gt;watching, raised to the power of the amount of money involved.&lt;br /&gt;&lt;br /&gt;One of the main causes of the fall of the Roman Empire was that,&lt;br /&gt;lacking zero, they had no way to indicate successful termination of&lt;br /&gt;their C programs.--Robert Firth&lt;br /&gt;&lt;br /&gt;Fifty years of programming language research, and we end up with C++?&lt;br /&gt;--Richard A. O'Keefe&lt;br /&gt;&lt;br /&gt;C programmers never die. They are just cast into void.&lt;br /&gt;&lt;br /&gt;If debugging is the process of removing bugs, then programming must be&lt;br /&gt;the process of putting them in.--Edsger Dijkstra&lt;br /&gt;&lt;br /&gt;You can either have software quality or you can have pointer&lt;br /&gt;arithmetic, but you cannot have both at the same time.&lt;br /&gt;--(Bertrand Meyer)&lt;br /&gt;&lt;br /&gt;There are two ways to write error-free programs; only the third works.&lt;br /&gt;--Alan J. Perlis&lt;br /&gt;&lt;br /&gt;Before software can be reusable, it first has to be usable.&lt;br /&gt;--Ralph Johnson&lt;br /&gt;&lt;br /&gt;The first 90% of the code accounts for the first 90% of the&lt;br /&gt;development time. The remaining 10% of the code accounts for the other&lt;br /&gt;90% of the development time.--Tom Cargill&lt;br /&gt;&lt;br /&gt;Programmers are in a race with the Universe to create bigger and&lt;br /&gt;better idiot-proof programs, while the Universe is trying to create&lt;br /&gt;bigger and better idiots. So far the Universe is winning.&lt;br /&gt;--Anon&lt;br /&gt;&lt;br /&gt;As soon as we started programming, we found to our surprise that it&lt;br /&gt;wasn't as easy to get programs right as we had thought.&lt;br /&gt;&lt;br /&gt;Debugging had to be discovered. &lt;br /&gt;&lt;br /&gt;I can remember the exact instant when I realized&lt;br /&gt;that a large part of my life from then on was going to be spent in&lt;br /&gt;finding mistakes in my own programs.&lt;br /&gt;--Maurice Wilkes discovers debugging, 1949&lt;br /&gt;&lt;br /&gt;I did say something along the lines of "C makes it easy to shoot&lt;br /&gt;yourself in the foot; C++ makes it harder, but when you do, it blows&lt;br /&gt;your whole leg off."--Bjarne Stroustrup&lt;br /&gt;&lt;br /&gt;It has been said that the great scientific disciplines are examples of&lt;br /&gt;giants standing on the shoulders of other giants. It has also been&lt;br /&gt;said that the software industry is an example of midgets standing on&lt;br /&gt;the toes of other midgets. --Alan Cooper About Face&lt;br /&gt;&lt;br /&gt;Computers are useless. They can only give you answers.--Pablo Picasso&lt;br /&gt;&lt;br /&gt;If the code and the comments disagree, then both are probably wrong.&lt;br /&gt;--attributed to Norm Schryer&lt;br /&gt;&lt;br /&gt;Even if you're on the right track, you'll get run over if you just sit&lt;br /&gt;there.&lt;br /&gt;--Will Rogers&lt;br /&gt;&lt;br /&gt;Einstein argued that there must be simplified explanations of nature,&lt;br /&gt;because God is not capricious or arbitrary. No such faith comforts the&lt;br /&gt;software engineer.&lt;br /&gt;--Fred Brooks, Jr.&lt;br /&gt;&lt;br /&gt;As we said in the preface to the first edition, C "wears well as one's&lt;br /&gt;experience with it grows." With a decade more experience, we still&lt;br /&gt;feel that way.&lt;br /&gt;--Brian Kernighan and Dennis Ritchie&lt;br /&gt;&lt;br /&gt;Simplicity is prerequisite for reliability &lt;br /&gt;--Edsger W.Dijkstra&lt;br /&gt;&lt;br /&gt;I've finally learned what "upward compatible" means. It means we get&lt;br /&gt;to  keep all our old mistakes. &lt;br /&gt;--Dennie van Tassel&lt;br /&gt;(P.S: just like revision changes for hardware or new version release&lt;br /&gt;for software)&lt;br /&gt;&lt;br /&gt;Rules of Optimization:&lt;br /&gt;Rule 1: Don't do it.&lt;br /&gt;Rule 2 (for experts only): Don't do it yet. &lt;br /&gt;--M.A. Jackson&lt;br /&gt;&lt;br /&gt;Most software today is very much like an Egyptian pyramid with&lt;br /&gt;millions of bricks piled on top of each other, with no structural&lt;br /&gt;integrity, but just  done by brute force and thousands of slaves.&lt;br /&gt;--Alan Kay&lt;br /&gt;&lt;br /&gt;Every program has (at least) two purposes: the one for which it was&lt;br /&gt;written, and another for which it wasn't.&lt;br /&gt;--Alan J. Perlis&lt;br /&gt;&lt;br /&gt;Technology is dominated by two types of people: Those who understand&lt;br /&gt;what they do not manage. Those who manage what they do not understand.&lt;br /&gt;--Putt's Law&lt;br /&gt;&lt;br /&gt;Copy and paste is a design error--David Parnas&lt;br /&gt;&lt;br /&gt;Any code of your own that you haven't looked at for six or more months&lt;br /&gt;might as well have been written by someone else.&lt;br /&gt;--Eagleson's law&lt;br /&gt;&lt;br /&gt;The primary duty of an exception handler is to get the error out of&lt;br /&gt;the lap of the programmer and into the surprised face of the user.&lt;br /&gt;Provided you keep this cardinal rule in mind, you can't go far wrong.&lt;br /&gt;--Verity Stob&lt;br /&gt;&lt;br /&gt;In my house I'm the boss, my wife is just the decision maker." &lt;br /&gt;-Woody Allen.&lt;br /&gt;&lt;br /&gt;"My wife and I were happy for twenty years. Then we met." &lt;br /&gt;-Rodney Dangerfield.&lt;br /&gt;&lt;br /&gt;"Ah, yes, divorce...from the Latin word meaning to rip out a man's&lt;br /&gt;genitals through his wallet." &lt;br /&gt;-Robin Williams. &lt;br /&gt;&lt;br /&gt;"A married man should forget his mistakes; no use two people&lt;br /&gt;remembering the same thing." &lt;br /&gt;-Duane Dewel.&lt;br /&gt;&lt;br /&gt;"When you see a married couple walking down the street, the one&lt;br /&gt;that's a few steps ahead is the one that's mad." &lt;br /&gt;-Helen Rowland&lt;br /&gt;&lt;br /&gt;"Eighty percent of married men cheat in America... &lt;br /&gt;The rest cheat in Europe." &lt;br /&gt;-Jackie Mason&lt;br /&gt;&lt;br /&gt;"Marriage is like putting your hand into a bag of snakes in the&lt;br /&gt;hope of pulling out an eel." &lt;br /&gt;-Leonardo Di Vinci.&lt;br /&gt;&lt;br /&gt;"I don't think I'll get married again. I'll just find a woman I don't like&lt;br /&gt;and give her a house." &lt;br /&gt;-Lewis Grizzard. &lt;br /&gt;&lt;br /&gt;"I'm the only man in the world with a marriage license made out to&lt;br /&gt;whom it may concern." &lt;br /&gt;-Mickey Rooney.&lt;br /&gt;&lt;br /&gt;"I haven't spoken to my wife in years. I didn't want to interrupt her." &lt;br /&gt;-Rodney Dangerfield.&lt;br /&gt;&lt;br /&gt;"The difference between divorce and legal separation &lt;br /&gt;is that legal separation gives a husband time to hide his money." &lt;br /&gt;-Johnny Carson&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Fowler)&lt;br /&gt;&lt;br /&gt;Debug only code - comments can lie.&lt;br /&gt;&lt;br /&gt;If you have too many special cases, you are doing it wrong.&lt;br /&gt;&lt;br /&gt;Get your data structures correct first, and the rest of the program will write itself.&lt;br /&gt;&lt;br /&gt;Testing can show the presence of bugs, but not their absence.&lt;br /&gt;&lt;br /&gt;The first step in fixing a broken program is getting it to fail repeatedly.&lt;br /&gt;&lt;br /&gt;The fastest algorithm can frequently be replaced by one that is almost as fast&lt;br /&gt;and much easier to understand.&lt;br /&gt;&lt;br /&gt;The cheapest, fastest, and most reliable components of a computer system are&lt;br /&gt;those that aren't there.&lt;br /&gt;&lt;br /&gt;Good judgement comes from experience, and experience comes from bad judgement.&lt;br /&gt;&lt;br /&gt;Don't use the computer to do things that can be done efficiently by hand.&lt;br /&gt;&lt;br /&gt;[Thompson's Rule for first-time telescope makers] It is faster to make a four-inch mirror then a six-inch mirror than to make a six-inch mirror.&lt;br /&gt;&lt;br /&gt;If you lie to the computer, it will get you.&lt;br /&gt;&lt;br /&gt;Inside of every large program is a small program struggling to get out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-115972644044968431?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/115972644044968431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=115972644044968431' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115972644044968431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115972644044968431'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/good.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-115972517434765478</id><published>2006-10-01T10:41:00.000-07:00</published><updated>2006-10-01T10:56:28.246-07:00</updated><title type='text'></title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Madras..... Nalla Madras.....&lt;br /&gt;Wanna drive Pulsar on these roads ?&lt;br /&gt;&lt;/p&gt;&lt;a href="http://photos1.blogger.com/blogger/6479/3698/1600/chennai76fj.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/6479/3698/320/chennai76fj.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6479/3698/1600/chennai90oj.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/6479/3698/320/chennai90oj.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6479/3698/1600/chennai63ww.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/6479/3698/320/chennai63ww.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6479/3698/1600/chennai88lx.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/6479/3698/320/chennai88lx.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6479/3698/1600/ESPLANADE-MADRAS_tn.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/6479/3698/320/ESPLANADE-MADRAS_tn.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6479/3698/1600/chennai15gf.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/6479/3698/320/chennai15gf.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6479/3698/1600/chennai57do.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/6479/3698/320/chennai57do.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6479/3698/1600/chennai49qj.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/6479/3698/320/chennai49qj.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6479/3698/1600/chennai34ie.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/6479/3698/320/chennai34ie.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6479/3698/1600/centralrailwaymadras3hz.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/6479/3698/320/centralrailwaymadras3hz.jpg" 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/33656101-115972517434765478?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/115972517434765478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=115972517434765478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115972517434765478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115972517434765478'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/madras.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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-33656101.post-115972269241958702</id><published>2006-10-01T10:03:00.000-07:00</published><updated>2008-05-18T19:21:01.737-07:00</updated><title type='text'></title><content type='html'>Good Sites to browse :&lt;br /&gt;&lt;br /&gt;Java/J2EE:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.beginner-java-tutorial.com/" target="_new"&gt;For Beginners &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.churchillobjects.com" target="_new"&gt;churchillobjects&lt;/a&gt;&lt;br /&gt;&lt;a href="http://my.execpc.com/~gopalan/java/rmiserver.html" target="_new"&gt;http://my.execpc.com/~gopalan/java/rmiserver.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sap-img.com/" target="_new"&gt;http://sap-img.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.java201.com/books.html" target="_new"&gt;http://www.java201.com/books.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.kickjava.com/freeBooks.html" target="_new"&gt;http://www.kickjava.com/freeBooks.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/1.5.0/docs/guide/jmx/tutorial/tutorialTOC.html" target="_new"&gt;http://java.sun.com/j2se/1.5.0/docs/guide/jmx/tutorial/tutorialTOC.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gayanb.com/visitlink.php?url=www.execpc.com/~gopalan/jms/jms.html" target="_new"&gt;http://www.gayanb.com/visitlink.php?url=www.execpc.com/~gopalan/jms/jms.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://idevelopment.info/" target="_new"&gt;http://idevelopment.info/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javapassion.com/" target="_new"&gt;http://www.javapassion.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.info4java.com/?this=java_certification" target="_new"&gt;http://www.info4java.com/?this=java_certification&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.java2s.com/" target="_new"&gt;http://www.java2s.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javashelf.com/" target="_new"&gt;http://www.javashelf.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://jan.netcomp.monash.edu.au/" target="_new"&gt;http://jan.netcomp.monash.edu.au/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.michael-thomas.com/tech/java/javahotsites.htm" target="_new"&gt;http://www.michael-thomas.com/tech/java/javahotsites.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.developer.com/java/ejb/" target="_new"&gt;http://www.developer.com/java/ejb/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.fluffycat.com/" target="_new"&gt;Design Patterns&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.geekinterview.com/Interview-Questions/J2EE/EJB" target="_new"&gt;GeekInterview&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www-128.ibm.com/developerworks/java/library/j-ejbcol.html" target="_new"&gt;Ejb&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Category:Software_design_patterns" target="_new"&gt;Software_design_patterns&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gayanb.com/visitlink.php?" target="_new"&gt;gayanb&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javaranch.com" target="_new"&gt;JavaRanch&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/i18n/TOC.html" target="_new"&gt;i18n&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html" target="_new"&gt;corej2eepatterns&lt;/a&gt;&lt;br /&gt;&lt;a href="http://mindprod.com/jgloss/classpath.html" target="_new"&gt;Mindprod&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cafeaulait.org/books/" target="_new"&gt;Cafeaulait&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javaworld.com/channel_content/jw-apis-index.html" target="_new"&gt;JavaWorld&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.precisejava.com" target="_new"&gt;PreciseJava&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--&lt;a href="http://www.pramati.com/docstore/1270006/pramati_jca.htm#whyjca" target="_new"&gt;http://www.pramati.com/docstore/1270006/pramati_jca.htm#whyjca&lt;/a&gt;--&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Other interesting Sites.[No code snippets]&lt;br /&gt;&lt;a href="http://www.cert-in.org.in" target="_new"&gt;http://www.cert-in.org.in&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.techinterviews.com/" target="_new"&gt;http://www.techinterviews.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://whatis.techtarget.com/" target="_new"&gt;http://whatis.techtarget.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.informit.com/library/index.asp?rl=1" target="_new"&gt;http://www.informit.com/library/index.asp?rl=1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.ittoolbox.com/oracle/guide/" target="_new"&gt;http://blogs.ittoolbox.com/oracle/guide/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.praetoriate.com/" target="_new"&gt;http://www.praetoriate.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://certcities.com/" target="_new"&gt;http://certcities.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.e-gineer.com/archive/" target="_new"&gt;http://www.e-gineer.com/archive/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.informationweek.com" target="_new"&gt;http://www.informationweek.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.itquestionbank.com/" target="_new"&gt;http://www.itquestionbank.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.oracle.databasecorner.com" target="_new"&gt;http://www.oracle.databasecorner.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.pcquest.com/" target="_new"&gt;http://www.pcquest.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.kiwisyslog.com/links.htm" target="_new"&gt;http://www.kiwisyslog.com/links.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.exforsys.com/content/view/1176/243/" target="_new"&gt;http://www.exforsys.com/content/view/1176/243/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.rampant-books.com/ebook_dbazine_index.htm" target="_new"&gt;http://www.rampant-books.com/ebook_dbazine_index.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://devdaily.com/" target="_new"&gt;http://devdaily.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.allapplabs.com/struts/struts_example.htm" target="_new"&gt;allapplabs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;RTP/SIP&lt;br /&gt;&lt;a href="http://w3.antd.nist.gov/it_voip.shtml" target="_new"&gt;http://w3.antd.nist.gov/it_voip.shtml&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.vovida.org/cgi-bin/fom?_recurse=1&amp;file=242" target="_new"&gt;http://www.vovida.org/cgi-bin/fom?_recurse=1&amp;amp;file=242&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www-x.antd.nist.gov/proj/iptel/" target="_new"&gt;http://www-x.antd.nist.gov/proj/iptel/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html" target="_new"&gt;http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.thescripts.com/forum/thread15540.html" target="_new"&gt;http://www.thescripts.com/forum/thread15540.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.thescripts.com/forum/archive/index.php/f-52.html" target="_new"&gt;http://www.thescripts.com/forum/archive/index.php/f-52.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.forum.nokia.com/main/resources/technologies/java/documentation/Java_ME_developers_library.htm" target="_new"&gt;http://www.forum.nokia.com/main/resources/technologies/java/documentation/Java_ME_developers_library.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html" target="_new"&gt;http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javafr.com/rfc/RTP-PAYLOAD-FORMAT-FOR-DV-IEC-61834-VIDEO/3189.aspx" target="_new"&gt;http://www.javafr.com/rfc/RTP-PAYLOAD-FORMAT-FOR-DV-IEC-61834-VIDEO/3189.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://nest.cs.uiowa.edu/22C178f02/uploads/acct/msmith/index.html" target="_new"&gt;http://nest.cs.uiowa.edu/22C178f02/uploads/acct/msmith/index.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://discussion.forum.nokia.com/forum/showthread.php?t=86065&amp;highlight=stream" target="_new"&gt;http://discussion.forum.nokia.com/forum/showthread.php?t=86065&amp;amp;highlight=stream&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.siptrex.net/" target="_new"&gt;http://www.siptrex.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Certification Sites:&lt;br /&gt;&lt;a href="http://www.intelligentedu.com/free_it_certification_study_guides.html" target="_new"&gt;http://www.intelligentedu.com/free_it_certification_study_guides.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Downloads:&lt;br /&gt;&lt;a href="http://www.pcworld.com/downloads/" target="_new"&gt;http://www.pcworld.com/downloads/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.econsultant.com/i-want-open-source-software/index.html" target="_new"&gt;http://www.econsultant.com/i-want-open-source-software/index.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.download.com/" target="_new"&gt;http://www.download.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hardware:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hardwaresecrets.com" target="_new"&gt;http://www.hardwaresecrets.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Discussion Forums:&lt;br /&gt;&lt;a target="_new" href="http://forum.java.sun.com/index.jspa" target="_new"&gt;http://forum.java.sun.com/index.jspa&lt;/a&gt;&lt;br /&gt;&lt;a target="_new" href="http://www.javaranch.com/" target="_new"&gt;http://www.javaranch.com/&lt;/a&gt;&lt;br /&gt;&lt;a target="_new" href="http://broadbandforum.in" target="_new"&gt;http://broadbandforum.in&lt;/a&gt;&lt;br /&gt;&lt;a target="_new" href="http://www.wifi-forum.com" target="_new"&gt;http://www.wifi-forum.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Latest Tamil Mp3 Songs:&lt;br /&gt;&lt;a href="http://www.mohankumars.com"&gt;http://www.mohankumars.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.chennaitamil.com"&gt;http://www.chennaitamil.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gayanb.com/visitlink.php?url=saloon.javaranch.com/ubb/Forum26/HTML/000441.html" target="_new"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.tamilmp3world.com/"&gt;tamilmp3world&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.tamilbeat.com"&gt;tamilbeat&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33656101-115972269241958702?l=krknagarajan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krknagarajan.blogspot.com/feeds/115972269241958702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33656101&amp;postID=115972269241958702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115972269241958702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33656101/posts/default/115972269241958702'/><link rel='alternate' type='text/html' href='http://krknagarajan.blogspot.com/2006/10/good-sites-to-browse-javaj2ee-for.html' title=''/><author><name>Nagz</name><uri>http://www.blogger.com/profile/12795912070795010938</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>
