<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SanSite</title>
	<atom:link href="http://www.brsanthu.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brsanthu.com/blog</link>
	<description></description>
	<lastBuildDate>Thu, 13 Oct 2011 21:17:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Salesforce and Random Identifiers</title>
		<link>http://www.brsanthu.com/blog/2011/10/salesforce-and-random-identifiers/</link>
		<comments>http://www.brsanthu.com/blog/2011/10/salesforce-and-random-identifiers/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 21:17:39 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Salesforce]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/?p=362</guid>
		<description><![CDATA[Salesforce generates random identifiers for internal &#8220;Id&#8221; field. However if we are looking for business identifiers we are left with AutoNumber which generates the sequential numbers. If we are looking for a business identifier with some entropy to enhance the security of it, Salesforce leaves us to custom develop it. A Blog entry talks about [...]]]></description>
			<content:encoded><![CDATA[<p>Salesforce generates random identifiers for internal &#8220;Id&#8221; field. However if we are looking for business identifiers we are left with AutoNumber which generates the sequential numbers.  If we are looking for a business identifier with some entropy to enhance the security of it, Salesforce leaves us to custom develop it.</p>
<p><a href="http://www.forcedotcom.com/2010/06/generating-random-numbers-in-apex-force-com.html" title="Blog">A Blog</a> entry talks about few options of Salesforce random number generation. To ensure the entropy Crypto class is preferred over Math.random (I assume this is analogs to Math.random and SecureRandom in Java). But crypto&#8217;s getRandomInteger class doesn&#8217;t generate consistent length random number which might be a problem.</p>
<p>Here is a simple Apex class which generates consistent length (10 digits) random identifiers.</p>
<p><code><br />
public with sharing class RandomNumberGenerator {</p>
<p>    public static String generateRandomNumber() {<br />
        String randomNumber = generate();</p>
<p>        if (randomNumber.length() < 10) {<br />
            String randomNumber2 = generate();<br />
            randomNumber = randomNumber + randomNumber2.substring(0, 10 - randomNumber.length());<br />
        }</p>
<p>        return randomNumber;<br />
    }</p>
<p>    public static String generateIdentifier(String prefix) {<br />
        return prefix + '-' + generateRandomNumber();<br />
    }</p>
<p>    private static String generate() {<br />
        return String.valueOf(Math.abs(Crypto.getRandomInteger()));<br />
    }<br />
}<br />
</code></p>
<p>Sample identifiers generated using this class:</p>
<p><code></p>
<p>1180069336<br />
2399158548<br />
1189306484<br />
1453886484<br />
2110260656<br />
1859434534<br />
9810064217<br />
3475893391<br />
8950171981<br />
8562056261<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/10/salesforce-and-random-identifiers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Releasing Putani PKI Explorer 1.0.0</title>
		<link>http://www.brsanthu.com/blog/2011/07/releasing-putani-pki-explorer-1-0-0/</link>
		<comments>http://www.brsanthu.com/blog/2011/07/releasing-putani-pki-explorer-1-0-0/#comments</comments>
		<pubDate>Sat, 16 Jul 2011 01:12:08 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Putani PKI Explorer]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/?p=347</guid>
		<description><![CDATA[When you have to spend some time dealing with Keystores and certificates, every tool which would make your workflow easier, is of a great help. When I was in same situation, it was really tough as you had to deal with many cli commands and that&#8217;s when I had determined to write a friendly GUI [...]]]></description>
			<content:encoded><![CDATA[<p>When you have to spend some time dealing with Keystores and certificates, every tool which would make your workflow easier, is of a great help. When I was in same situation, it was really tough as you had to deal with many cli commands and that&#8217;s when I had determined to write a friendly GUI application.</p>
<p>Soon after I started working on Eclipse and found out about the <a href="http://wiki.eclipse.org/index.php/Rich_Client_Platform">Eclipse RCP</a>. I really liked the capability and ease it brought to Java UI application development. So there it started my adventure to learn Eclipse RCP and write a GUI app to manage the Keystores and (if possible) PKI objects (like X.509 Certificates, CSRs, CRLs etc).</p>
<p>Today I&#8217;m releasing that effort as <a href="http://code.google.com/p/putani/">Putani PKI Explorer</a>. Downloads are available as Windows/Linux/Mac 32/64 binaries. Wiki with features and user guide is on the way. However GUI is easy to use and friendly so I believe you will not have to try hard to understand it and use it.</p>
<p>I dedicate this effort to my father (July is his Shraaddha month), mother and brother. You guys have given me all that you had and you are the reason whatever I&#8217;m today. Thank you.</p>
<p>Putani name means a &#8220;little one&#8221;, affectionate way to call small children. I chose this name for my first niece (<a href="http://www.brsanthu.com/chaayachitra/index.php?showimage=22">Lahari</a>), my son (<a href="http://www.brsanthu.com/blog/about/">Kashyap</a>) and second niece (Ritu).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/07/releasing-putani-pki-explorer-1-0-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing Real Force Explorer</title>
		<link>http://www.brsanthu.com/blog/2011/05/introducing-real-force-explorer/</link>
		<comments>http://www.brsanthu.com/blog/2011/05/introducing-real-force-explorer/#comments</comments>
		<pubDate>Tue, 24 May 2011 07:18:55 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Real Force Explorer]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/?p=314</guid>
		<description><![CDATA[I have been working on Salesforce for a last few months. It is a great platform with so much of flexibility. One thing they got to do a lot of work is around developer tools. One recurring thing I do whenever I deal with Salesforce is to explore the objects, understand their relationships. It is [...]]]></description>
			<content:encoded><![CDATA[<p>I have been working on Salesforce for a last few months. It is a great platform with so much of flexibility. One thing they got to do a lot of work is around developer tools.</p>
<p>One recurring thing I do whenever I deal with Salesforce is to explore the objects, understand their relationships. It is not that easy to understand the objects relationships in the &#8220;user friendly&#8221; web UI nor in the <a href="http://wiki.developerforce.com/index.php/ForceExplorer">Force.com Explorer</a>.</p>
<p>Even though Force.com Explorer has some features like querying for data, displaying the child relationships, I really not comfortable with UI layout or the feel of Air components (hey, I really tried to like it <img src='http://www.brsanthu.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>
<p>Long story short, I thought there is some opportunity for a nice tool to explore some aspects of Salesforce.com and started on a tool based on the fantastic Eclipse platform (Never tried Netbeans RCP platform so cannot speak for that). With in few weeks of time, I have added enough features to the tool that I would like to release to wider audience. Check it out. </p>
<p>I dedicate this tool to <a href="http://www.brsanthu.com/blog/about/">Kashyap </a> (today he is 14 months old).</p>
<p><a href="https://bitbucket.org/brsanthu/real-force-explorer/wiki/Home">Real Force Explorer 1.0.2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/05/introducing-real-force-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yahoo Account Compromised?</title>
		<link>http://www.brsanthu.com/blog/2011/05/yahoo-account-compromised/</link>
		<comments>http://www.brsanthu.com/blog/2011/05/yahoo-account-compromised/#comments</comments>
		<pubDate>Mon, 23 May 2011 02:57:22 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2011/05/yahoo-account-compromised/</guid>
		<description><![CDATA[Got this message today while logging into Yahoo Mail. Hope this is not something similar to what happened with Sony PSN &#160;]]></description>
			<content:encoded><![CDATA[<p>Got this message today while logging into Yahoo Mail. Hope this is not something similar to what happened with Sony PSN <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/05/wlEmoticon-smile.png" /></p>
<p>&#160;</p>
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/05/image2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/05/image_thumb2.png" width="1154" height="850" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/05/yahoo-account-compromised/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gwt-Spring-Hibernate</title>
		<link>http://www.brsanthu.com/blog/2011/05/gwt-spring-hibernate/</link>
		<comments>http://www.brsanthu.com/blog/2011/05/gwt-spring-hibernate/#comments</comments>
		<pubDate>Fri, 20 May 2011 18:02:31 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/?p=318</guid>
		<description><![CDATA[At times the problem with Java eco-system is its complexity due to availability plethora of choice of tools/frameworks. Getting a basic application with appropriate stack working is the big hurdle. Same goes with the effort to get the Gwt-Spring-Hibernate stack working. There have been lots of references about Gilead and Gwt-Sl libraries and how to [...]]]></description>
			<content:encoded><![CDATA[<p>At times the problem with Java eco-system is its complexity due to availability plethora of choice of tools/frameworks. Getting a basic application with appropriate stack working is the big hurdle.</p>
<p>Same goes with the effort to get the <a href="http://code.google.com/webtoolkit/">Gwt</a>-<a href="http://www.springsource.org/documentation">Spring</a>-<a href="http://www.hibernate.org/">Hibernate</a> stack working.</p>
<p>There have been lots of references about <a href="http://noon.gilead.free.fr/gilead/index.php">Gilead </a>and <a href="http://code.google.com/p/gwt-sl/">Gwt-Sl</a> libraries and how to use them to glue the stacks together but couldn&#8217;t find a complete deploy-able application. Hence this post.</p>
<p>Here is a complete deploy-able <a href="http://brsanthu.com/wordpress/blog_content/software/gwt-spring-hibernate/gwt-spring-hibernate.war">war </a>file and its <a href="http://brsanthu.com/wordpress/blog_content/software/gwt-spring-hibernate/gwt-spring-hibernate-project.zip">source</a>. The example uses the following libraries.</p>
<ul>
<li>Smart Gwt</li>
<li>Gwt</li>
<li>Gwt-Sl</li>
<li>Gilead</li>
<li>Spring</li>
<li>Hibernate</li>
<li>Hsqldb</li>
</ul>
<p>Download the war, deploy and test it. Explore the source to get the understanding of stack.  Post a comment if you have any questions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/05/gwt-spring-hibernate/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Smart GWT &#8211; SgWidgets</title>
		<link>http://www.brsanthu.com/blog/2011/04/smart-gwt-sgwidgets/</link>
		<comments>http://www.brsanthu.com/blog/2011/04/smart-gwt-sgwidgets/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 05:06:11 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Sgwidgets]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/?p=311</guid>
		<description><![CDATA[SmartGWT is an amazing UI component library for Google Webtool Kit. It increases your UI development productivity multi-fold as you don&#8217;t have to deal with many of the web related issues like Js/Css/Jsp/Jsf. While it has so many components, I found out that it is missing Date/Time picker and Dual Pane List, which I end [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/smartgwt/">SmartGWT</a> is an amazing UI component library for Google Webtool Kit. It increases your UI development productivity multi-fold as you don&#8217;t have to deal with many of the web related issues like Js/Css/Jsp/Jsf.</p>
<p>While it has so <a href="http://www.smartclient.com/smartgwt/showcase/#main">many components</a>, I found out that it is missing Date/Time picker and Dual Pane List, which I end up creating myself for a project I was working on.</p>
<p>I&#8217;m releasing these two widgets as <a href="http://code.google.com/p/sgwidgets/">open-source project</a>. Hope somebody finds it useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/04/smart-gwt-sgwidgets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>data-exporter</title>
		<link>http://www.brsanthu.com/blog/2011/04/data-exporter/</link>
		<comments>http://www.brsanthu.com/blog/2011/04/data-exporter/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 04:53:56 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Data Exporter]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/?p=306</guid>
		<description><![CDATA[Sometime back I posted about Java Text Table Formatter. As I worked on that, I realized that most of the data export model could be reused to export the content in various formats, like Xml, Html or Json etc., To that end, I started to refactor the code base to support various formats and I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>Sometime back I posted about <a href="http://www.brsanthu.com/blog/2011/02/java-text-table-formatter/">Java Text Table Formatter</a>. As I worked on that, I realized that most of the data export model could be reused to export the content in various formats, like Xml, Html or Json etc.,</p>
<p>To that end, I started to refactor the code base to support various formats and I&#8217;m releasing it as new project <a href="http://code.google.com/p/data-exporter">data-exporter</a>. It is very simple and flexible library to export the data in various formats. Check out the features and <a href="http://code.google.com/p/data-exporter/wiki/UserGuide">try it out</a>. Let me know if you want some specific feature.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/04/data-exporter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ivaru Mechuva Vastu Illila Joke</title>
		<link>http://www.brsanthu.com/blog/2011/04/ivaru-mechuva-vastu/</link>
		<comments>http://www.brsanthu.com/blog/2011/04/ivaru-mechuva-vastu/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 04:37:58 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Kannada]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/?p=297</guid>
		<description><![CDATA[KS Narasimhaswamy is a prominent poet in Karnataka. One of his poem I always remember is, Ivaru Mechuva Vastu Illila Joke. This is about the general populous who always complains about the things around. ಇವರು ಮೆಚ್ಚುವ ವಸ್ತು ಇಲ್ಲಿಲ ಜೋಕೆ ಚಳಿಗಾಲ ಬಂದಾಗ ಎಷ್ಟು ಚಳಿ ಎಂಬರು ಬಂತಲ್ಲ ಬೇಸಿಗೆ ಕೆಟ್ಟ ಬಿಸಿಲೆಮ್ಬರು ಮಳೆ ಬಿತ್ತು ಬಿಡದಲ್ಲ ಶನಿ ಎಂಬ ಟೀಕೆ ಇವರು [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/K._S._Narasimhaswamy">KS Narasimhaswamy</a> is a prominent poet in Karnataka. One of his poem I always remember is, Ivaru Mechuva Vastu Illila Joke. This is about the general populous who always complains about the things around.</p>
<p><strong>ಇವರು ಮೆಚ್ಚುವ ವಸ್ತು ಇಲ್ಲಿಲ ಜೋಕೆ</strong></p>
<p>ಚಳಿಗಾಲ ಬಂದಾಗ ಎಷ್ಟು ಚಳಿ ಎಂಬರು<br />
ಬಂತಲ್ಲ ಬೇಸಿಗೆ ಕೆಟ್ಟ ಬಿಸಿಲೆಮ್ಬರು<br />
ಮಳೆ ಬಿತ್ತು ಬಿಡದಲ್ಲ  ಶನಿ ಎಂಬ ಟೀಕೆ<br />
ಇವರು ಮೆಚ್ಚುವ ವಸ್ತು ಇಲ್ಲಿಲ್ಲ  ಜೋಕೆ</p>
<p>ನಿಂತರೆ ಕೇಳುವರು ನೀನೇಕೆ ನಿಂತೆ<br />
ಮಲಗಿದರೆ ಗೊಣಗುವರು ನಿನಗಿಲ್ಲ ಚಿಂತೆ<br />
ಓಡಿದರೆ ಬೆನ್ನ ಹಿಂದೆಯೇ ಇವರ ಟೀಕೆ<br />
ಇವರು ಮೆಚ್ಚುವ ವಸ್ತು ಇಲ್ಲಿಲ್ಲ ಜೋಕೆ.</p>
<p><strong>Approximate English translation:</strong><br />
ಚಳಿಗಾಲ ಬಂದಾಗ ಎಷ್ಟು ಚಳಿ ಎಂಬರು => Come winter, they say, how cold it is<br />
ಬಂತಲ್ಲ ಬೇಸಿಗೆ ಕೆಟ್ಟ ಬಿಸಿಲೆಮ್ಬರು => In summer, they say, why did this summer come, it is so hot<br />
ಮಳೆ ಬಿತ್ತು ಬಿಡದಲ್ಲ  ಶನಿ ಎಂಬ ಟೀಕೆ => If it rains, they say why doesn&#8217;t this rain stop<br />
ಇವರು ಮೆಚ್ಚುವ ವಸ್ತು ಇಲ್ಲಿಲ್ಲ  ಜೋಕೆ => Be careful, you cannot please these people</p>
<p>ನಿಂತರೆ ಕೇಳುವರು ನೀನೇಕೆ ನಿಂತೆ => If you stand, they ask why did you stand?<br />
ಮಲಗಿದರೆ ಗೊಣಗುವರು ನಿನಗಿಲ್ಲ ಚಿಂತೆ => If you sleep, they complain, you don&#8217;t have any responsibility<br />
ಓಡಿದರೆ ಬೆನ್ನ ಹಿಂದೆಯೇ ಇವರ ಟೀಕೆ => If you run, they criticize behind your back<br />
ಇವರು ಮೆಚ್ಚುವ ವಸ್ತು ಇಲ್ಲಿಲ್ಲ ಜೋಕೆ. => Be careful, you cannot please these people</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/04/ivaru-mechuva-vastu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Service Connector (WSC) and Duplicate boolean Getters</title>
		<link>http://www.brsanthu.com/blog/2011/03/web-service-connector-wsc-and-duplicate-boolean-getters/</link>
		<comments>http://www.brsanthu.com/blog/2011/03/web-service-connector-wsc-and-duplicate-boolean-getters/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 22:24:20 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2011/03/web-service-connector-wsc-and-duplicate-boolean-getters/</guid>
		<description><![CDATA[If you have worked with Salesforce WebService API or Metadata API from within Java environment, then it is possible that you might have used Salesforce WSC. This is a all inclusive high performance WebService stack, designed to access the Salesforce APIs easily. I have been using that for a tool I have been working on [...]]]></description>
			<content:encoded><![CDATA[<p>If you have worked with Salesforce WebService API or Metadata API from within Java environment, then it is possible that you might have used <a href="http://code.google.com/p/sfdc-wsc/">Salesforce WSC</a>. This is a all inclusive high performance WebService stack, designed to access the Salesforce APIs easily.</p>
<p>I have been using that for a tool I have been working on and it has been working great.</p>
<p>One issue I found with this library is that it generates two getters for boolean variables (Both get and is variant). Some tools (like <a href="http://jackson.codehaus.org/">Jackson</a>) doesn’t like this fact and complain about it.</p>
<p>  <pre>org.codehaus.jackson.map.JsonMappingException: Conflicting getter definitions for property &amp;quot;booleanVariable&amp;quot;</pre></p>
<p>Fortunately, it is easy fix this issue. WSC uses templates to generate the Java files. These templates are there in com.sforce.ws.tools. Template which generates the type source files is type.template. In this template, replace the following,</p>
<p><pre>  public &amp;lt;%=gen.javaType(el)%&amp;gt; &amp;lt;%=gen.getMethod(el)%&amp;gt;() {
    return &amp;lt;%=gen.fieldName(el)%&amp;gt;;
  }</pre></p>
<p>with </p>
<p>&#160;</p>
<p><pre>  &amp;lt;% if(!&amp;quot;boolean&amp;quot;.equals(gen.javaType(el))) { %&amp;gt;

  public &amp;lt;%=gen.javaType(el)%&amp;gt; &amp;lt;%=gen.getMethod(el)%&amp;gt;() {
    return &amp;lt;%=gen.fieldName(el)%&amp;gt;;
  }

  &amp;lt;%}/**end if()*/%&amp;gt;</pre><br />
This should avoid generating the duplicate getters for boolean variables.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/03/web-service-connector-wsc-and-duplicate-boolean-getters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enhanced service from Servers</title>
		<link>http://www.brsanthu.com/blog/2011/03/enhanced-service-from-servers/</link>
		<comments>http://www.brsanthu.com/blog/2011/03/enhanced-service-from-servers/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 06:13:07 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/?p=276</guid>
		<description><![CDATA[You might have experienced this. You want to see an article in some site. When you navigate using your smart phone to read the article, instead of showing the article, site would show you the mobile version of their home page with assumption that they are providing you the enhanced service . It just freaks [...]]]></description>
			<content:encoded><![CDATA[<p>You might have experienced this. You want to see an article in some site. When you navigate using your smart phone to read the article, instead of showing the article, site would show you the mobile version of their home page with assumption that they are providing you the enhanced service <img src='http://www.brsanthu.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . It just freaks me out and I wonder why they do that.</p>
<p>Well, <a href="http://xkcd.com">Xkcd</a>, says it well.</p>
<p><a href="http://xkcd.com/869/"><img src="http://imgs.xkcd.com/comics/server_attention_span.png" alt="Hi I'm a Server" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/03/enhanced-service-from-servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cricket World Cup 2011 &#8211; Chrome Extension</title>
		<link>http://www.brsanthu.com/blog/2011/02/cricket-world-cup-2011-chrome-extension/</link>
		<comments>http://www.brsanthu.com/blog/2011/02/cricket-world-cup-2011-chrome-extension/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 03:45:31 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[World-Cup-2011 Cricket World-Cup]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/?p=271</guid>
		<description><![CDATA[If you know the Cricket game, you would sure to be aware of the on going Cricket World Cup 2011 hosted by India, Bangladesh and Sri Lanka. Usually Google Chrome team releases a extension to make it easy for people to see the details like Fixtures, Teams etc. But not sure why, they haven&#8217;t done [...]]]></description>
			<content:encoded><![CDATA[<p>If you know the Cricket game, you would sure to be aware of the on going Cricket World Cup 2011 hosted by India, Bangladesh and Sri Lanka.</p>
<p>Usually Google Chrome team releases a extension to make it easy for people to see the details like Fixtures, Teams etc. But not sure why, they haven&#8217;t done anything like it this year.</p>
<p>So I thought of writing an extension to do just that. And here is first version. <a href="https://chrome.google.com/extensions/detail/ahckjdpiogbbhkemnamabfmhcnnjbhoa?hl=en">Cricket World Cup 2011</a></p>
<p>Take a look, try it and let me know what you think (you can post comments in the chrome page itself). If you like it, don&#8217;t forget to rate it as you feel appropriate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/02/cricket-world-cup-2011-chrome-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Text Table Formatter</title>
		<link>http://www.brsanthu.com/blog/2011/02/java-text-table-formatter/</link>
		<comments>http://www.brsanthu.com/blog/2011/02/java-text-table-formatter/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 02:00:25 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Text Table Formatter]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/?p=280</guid>
		<description><![CDATA[For one of the open source project I was working on, I wanted a library which would format the given data set in text table format. Even though I found a library which sort of provides this feature (http://trac.inamik.com/trac/jtable_format) but features were not good enough. More over from the example it looked very complicated to [...]]]></description>
			<content:encoded><![CDATA[<p>For one of the open source project I was working on, I wanted a library which would format the given data set in text table format. Even though I found a library which sort of provides this feature (<a href="http://trac.inamik.com/trac/jtable_format">http://trac.inamik.com/trac/jtable_format</a>) but features were not good enough. More over from the <a href="http://trac.inamik.com/trac/jtable_format/wiki/Example%3AJava">example </a>it looked very complicated to construct the data set as it was not possible to hook up directly into the existing data set (like beans or list).</p>
<p>So I decided to write one and after four days of night coding, I&#8217;m releasing the Text-Table-Formatter at <a href="http://code.google.com/p/text-table-formatter">Google code</a>. I dedicate this to Madhu. Happy anniversary. Check it out and let me know your feedback. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/02/java-text-table-formatter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Releasing JD Tools</title>
		<link>http://www.brsanthu.com/blog/2011/02/releasing-jd-tools/</link>
		<comments>http://www.brsanthu.com/blog/2011/02/releasing-jd-tools/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 20:53:06 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JD Tools]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/?p=272</guid>
		<description><![CDATA[As a technical person working in Java related technologies, I have come across many situations where I was looking for a tool but either was not available or not meeting the expectation. So end up in writing them myself. I have grouped them together and released them in Google Code as JD Tools. As of [...]]]></description>
			<content:encoded><![CDATA[<p>As a technical person working in Java related technologies, I have come across many situations where I was looking for a tool but either was not available or not meeting the expectation. So end up in writing them myself. I have grouped them together and released them in Google Code as <a href="http://code.google.com/p/jdtools/">JD Tools</a>.</p>
<p>As of now, it has a tool called JarVer but I will be adding more in coming days. So please use it if you find it appropriate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/02/releasing-jd-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Expense Share Calculator</title>
		<link>http://www.brsanthu.com/blog/2011/02/expense-share-calculator/</link>
		<comments>http://www.brsanthu.com/blog/2011/02/expense-share-calculator/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 07:45:59 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/?p=266</guid>
		<description><![CDATA[Few years back I stayed in UK working for Unisys. During that time I shared a house with 8 other wonderful folks (Santunu/Mou, Shashi/Ashwini, Subbu, Thangamani, Vinay and Wasiq). While each took a responsibility related to the stay, I took the responsibility to manage the monthly finances. So at end of each month I used [...]]]></description>
			<content:encoded><![CDATA[<p>Few years back I stayed in UK working for Unisys. During that time I shared a house with 8 other wonderful folks (Santunu/Mou, Shashi/Ashwini, Subbu, Thangamani, Vinay and Wasiq). While each took a responsibility related to the stay, I took the responsibility to manage the monthly finances. So at end of each month I used to collect that month&#8217;s expense details and summarize who paid what and what share others got to pay etc.</p>
<p>I managed couple of months but started to become a big task at the end of month especially with few inclusions (exclusions for that matter). For example, we few of us goto restaurant and only one pays for all others. Now that expense is shared by who all went for dinner/lunch but not by folks who stayed back watching Hindi serials.</p>
<p>So I end up writing an Excel VBA application to take these things into consideration, calculate and split the expenses among all of us. It was a great time saver and more than that, everybody were happy that expenses sharing is automated (and hence unbiased <img src='http://www.brsanthu.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).</p>
<p>Anyways, I have had been thinking to release that file under <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache License</a> terms but kept on procrastinating. Finally, I released that file in Google Code project hosting at <a href="http://code.google.com/p/expense-share-calculator">http://code.google.com/p/expense-share-calculator</a>. Take a look and use it if you find it useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/02/expense-share-calculator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Satechi TR-M Timer Remote Control</title>
		<link>http://www.brsanthu.com/blog/2011/02/satechi-tr-m-timer-remote-control/</link>
		<comments>http://www.brsanthu.com/blog/2011/02/satechi-tr-m-timer-remote-control/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 18:24:25 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2011/02/satechi-tr-m-timer-remote-control/</guid>
		<description><![CDATA[If you are into night photography or looking for super sharp images, then you must invest in a good remote control for your camera. Both Canon and Nikon makes good remote controls but ones with good features usually are compatible with higher end models. For example, for Nikon D90, Nikon makes only basic shutter release [...]]]></description>
			<content:encoded><![CDATA[<p>If you are into night photography or looking for super sharp images, then you must invest in a good remote control for your camera. Both Canon and Nikon makes good remote controls but ones with good features usually are compatible with higher end models. For example, for Nikon D90, Nikon makes only basic shutter release remote which cannot be used for <a href="http://en.wikipedia.org/wiki/Time-lapse" target="_blank">time-lapse</a> photography. To fill the void Satechi has released a remote control for D90, which provides good set of features. </p>
<p><img src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/02/SatechiTR-MForD90.jpg"></p>
<p>Check out more details at <a href="http://www.amazon.com/Satechi-Timer-Remote-Control-Nikon/dp/B001QSG4R8/ref=sr_1_2?ie=UTF8&amp;qid=1296754305&amp;sr=8-2">Amazon</a>.</p>
<p>Recently I purchased this product. It included the paper manual. I prefer digital manuals so I don’t have to worry about maintaining the paper ones. I looked around in the net but didn’t find it anywhere. So I scanned and making it available <a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/02/SatechiTR-MForD90-Manual.pdf">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/02/satechi-tr-m-timer-remote-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse 3.7 (Indigo) M5 Released</title>
		<link>http://www.brsanthu.com/blog/2011/02/eclipse-3-7-indigo-m5-released/</link>
		<comments>http://www.brsanthu.com/blog/2011/02/eclipse-3-7-indigo-m5-released/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 05:12:00 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/?p=260</guid>
		<description><![CDATA[Eclipse release in the Eclipse Indigo, M5, is released. You can see the new changes at M5 News. Developer builds for M5 are not available yet but would soon be made available at Eclipse Dev Builds. Happy Coding!]]></description>
			<content:encoded><![CDATA[<p>Eclipse release in the Eclipse Indigo, M5, is released. You can see the new changes at <a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.7M5-201101272034/eclipse-news-M5.html" class="broken_link">M5 News</a>. Developer builds for M5 are not available yet but would soon be made available at <a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.7M5-201101272034/eclipse-news-M5.html" class="broken_link">Eclipse Dev Builds</a>.</p>
<p>Happy Coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/02/eclipse-3-7-indigo-m5-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paris Trip</title>
		<link>http://www.brsanthu.com/blog/2011/01/paris-trip/</link>
		<comments>http://www.brsanthu.com/blog/2011/01/paris-trip/#comments</comments>
		<pubDate>Sun, 30 Jan 2011 07:32:33 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2011/01/paris-trip/</guid>
		<description><![CDATA[Note: I had written this text soon after we came back from Paris trip in 2003 but it was in a document stacked away in some folder. Recently I found it and thought post it on the web. We (I, Subbu, Thangamani and Wasiq) had been thinking of going for a trip since we came [...]]]></description>
			<content:encoded><![CDATA[<p><font color="#c0504d"><strong>Note:</strong> I had written this text soon after we came back from Paris trip in 2003 but it was in a document stacked away in some folder. Recently I found it and thought post it on the web.</font>
<p>We (I, Subbu, Thangamani and Wasiq) had been thinking of going for a trip since we came to UK. Although we had been to London couple of times, I didn’t feel we have seen enough of Europe. We planned to visit Paris. But Subbu had seen Paris so we thought to visit Italy (Rome, Vatican City, Florence, Pisa and if time permits Venice). Since Mar 1995, you need a new type of visa called Schengen Visa to visit many European Union countries viz., Austria, Belgium, Denmark, Finland, France, Germany, Greece, Iceland, Italy, Luxembourg, The Netherlands, Norway, Portugal, Spain and Sweden. Depending on the first destination, you need to go to that particular country embassy to get the visa. As ours was Rome, we had to go to Italy embassy. After booking the tickets (in Going Places, a ticket agent in UxBridge), we found out that, appointments are not available for Italy embassy. You need to call-up an automated number to take an appointment. So what to do, we planned to visit Paris so that we can visit France embassy to take the Schengen visa.
<p>We took an appointment on 8<sup>th</sup> Dec 2003 morning 8:30. Subbu and I went for interview for all four of us. We thought of going early there, so that we will be first to entertain in the embassy and we can be back to work soon. But in the freezing cold of London, we could manage to getup and leave home by 7:00. By the time we got to embassy (after asking many people how to get there J), it was well over 8:30. We could count around 25-35 different people standing in the queue. It was such a glacial London it was and was the coldest London I had ever witnessed. We stood in the queue (to be precise attached ourselves to be queue, as we were the last). As queue started to move slowly, we started conversation with one person named Mounir Kehal, who is Professor in University of Monaco in southern France. He was there to collect his work permit kind of visa for France. He said, it is very cold out there in Paris and the day he came it was under 0. This made us quiver for a min thinking of the cold out there and roaming in that cold. Finally after long time, around 12:30, we got the Schengen visa for six months with multiple entries. Multiple entries was very important as otherwise, we could not visit Italy. We were equipped well with Italy flight bookings and accommodation booking should we need to show them.
<p>As with anybody (well, may be most) I don’t like change in the life but it is inevitable. Although you don’t want it, you need to prepare for it now or later. Sooner the better, as you will have enough time to plan. The moment I think of going for trip, cold, new place, what to eat, there should be chill in my spinal card. Nevertheless Eiffel Tower, all great places and palaces in Paris, used to override the former.
<p>History of Paris goes as old as third century BC. The Parisii, a Celtic tribe, found the settlement of ‘Lucotesia’ on an island in the River Seine. 53 BC: The Romans conquer Gaul. The city receives its first name: ‘Lutetia Parisorum’, and becomes one of Caesar’s colonial towns. 508: The Franks end Roman domination. Paris becomes the capital of a Frankish state. Ninth Century AD: Paris develops into an important trade center. Navigation on the River Seine is a vital economic factor. Tenth Century AD: The last Carolingian king is Louis V. After his death Hugo Capet becomes the new ruler after a vicious power struggle. The Capetian dynasty rules France until the French Revolution of 1789. Twelfth/Thirteenth Century AD: Robert de Sorbon is the founder of a theology school in 1253. It will eventually develop into the famous Sorbonne University. Fourteenth Century: The city walls are extended. Erection of the Bastille. Fifteenth Century: Epidemics and social unrest ravage the city. In 1420, Paris falls to the English. Jeanne d’Arc tries to recapture the city, but the English siegeonly ends in 1436. Sixteenth Century: Conversion of the Louvre into a city residence. Fights break out between Catholics and Protestants. During the night of 23 August 1572 the so-called St.Bartholomew’s Eve Massacre instigated by Cathérine de Médici claims the lives of 3,000 Huguenots. Many more flee. The Edict of Nantes (1598) sees Henry IV guarantee the religious freedom of the Protestants. The King himself converts to catholicism for political reasons. 1682: Louis XIV moves the seat of government to Versailles. Absolutism triumphs. Magnificent palaces are built, gigantic debts are amassed. Paris numbers half a million citizens. 1789: The storming of the Bastille leads to the French Revolution. In 1792, Louis XVI is arrested and beheaded the year after. France is proclaimed a Republic. 1815: Louis XVIII ascends the throne after the fall of Napoleon. Once again a member of the House of Bourbon takes control of the state. 1851: The Second Empire begins with Napoleon III. Baron Georges-Eugène Haussmann transforms the city: whole neighborhoods are demolished, grand squares and avenues are constructed. In 1859/60 a total of 11 villages, such as Montmartre, are annexed. Paris is a conurbation of 20 arrondissements (districts) with a total of 1.8 million inhabitants. Paris receives three World Fairs (1855, 1867, 1889). They symbolize the growing prosperity of the city. 1900: The Métro (Underground) is opened. 1940-44: Paris is occupied by German troops. General Dietrich von Choltitz disobeys Hitler and refuses to destroy the city. The Allied Forces and the French Resistance led by General de Gaulle liberate the city. 1958: Charles de Gaulle is elected President. In 1963, De Gaulle and the German Chancellor Konrad Adenauer sign a Franco-German Friendship Treaty. 1968: Students and police fight running battles in the Quartier Latin. 1970s: The Old Market Halls are torn down. A ring-road is constructed and the Centre Pompidou is opened. 1989: In celebration of the Bicentenary of the French Revolution President François Mitterrand has the Opéra-Bastille built, as well as the Louvre pyramid and La Grande Arche (The Giant Arch). 1999: Official opening of the Bibliothèque Nationale de France François Mitterrand. This National Library on the eastern side of the city contains 12 million books. 2001: In order to repair the damage caused by the storm at the end of 1999, nine new parks and gardens have been laid out. The TGV connection Méditerranée Paris-Marseille is opened.
<p>Paris is also known as Fashion City and is also famous for beautiful women (whoever said that, they are not wrong). Wherever you see what a magnificent views of mighty monuments, which tells the story of bygone splendid era of Paris. Paris has got both modern things and amazing history. Important sight seeing places in Paris are,
<ul>
<li>Arc de Triomphe
<li>Centre Georges Pompidou
<li>Eiffel Tower
<li>Invalidies
<li>Louvre
<li>Musée d’Orsay
<li>Notre-Dame de Paris
<li>Opéra-Garnier
<li>Panthéon
<li>Sacré-Coeur
<li>Versailles</li>
</ul>
<p>Try Google search for more info about each place.
<p>We didn’t have any outstanding plan of which places to visit on which day however we did have a list of places not to miss in the visit. We planned to reach Paris by 19<sup>th</sup> Dec, depart back on 22<sup>nd</sup> night back to Uxbridge. We booked International Youth hostel to stay (as booking hotel would be too expensive that too in December month). Our British Airways flights was from London Gatwick, which is little bit far from greater London (we came to know on that day only) and no public buses serves to that airport.
<p>There are three ways to get to Gatwick.
<p>1. From UxBridge to Victoria (4£, 1 Hour) in tube and Victoria to Gatwick in Gatwick Express (11£, half hour) (train)
<p>2. From UxBridge to Heathrow (1£ half hour) in tube/bus and Heathrow to Gatwick in Bus (17£ one hour)
<p>3. From UxBridge take cab and reach Gatwick (50£ 1 hour)
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image002.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" hspace="12" alt="clip_image002" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image002_thumb.jpg" width="644" height="484"></a></p>
<p>As we were four, I thought best is option 3, which is more comfortable and quick. I booked the cab to come home by 4:00, so that we will be there by 5:30 max and still left out by 1.5 hours for flight departure. One Pakistani cabwala came at 4:05 and we asked Moe to click a first trip snap. As it was dark, it didn’t come well though but here it is.</p>
<p>We put all stuff and picked us up. Subbu sat in front, I, Wasiq and Thangamani sat in the back. Cab driver was talking well and Subbu was upto him in the competition. He talked everything from his business to the world business. We reached bit late than scheduled timing at around 5:45. Checked in ourselves and it was bit fast as we didn’t have any checkin baggage. After that Subbu took his boarding pass and said, he would go for around in the Gatwick. Gatwick is really nice airport compared to Heathrow but all prefer Heather coz of its accessibility. Thangamani and Wasiq also went on to see around, I sat in a place and told them to come down to that point. After we got together (waited in security area for a while), and left London at scheduled departure time of 7:00 PM.
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image006.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image006" border="0" hspace="12" alt="clip_image006" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image006_thumb.jpg" width="410" height="484"></a></p>
<p>Paris is around 220 air miles from London. So it is about 45 mins journey. Paris has got two airports. Charles de Gaulle (CDG) is in North of Paris and D’Orly in South of Paris. Our flight was to CDG.</p>
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image010.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image010_thumb.jpg" width="157" height="219"></a>
<p>Paris public transport is very nice and their underground system is one of oldest in the world. Paris area is mainly divided into different zones. Zone 1 is core Paris and is served by both RER and Metro. Rest of zones is served by RER.
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image012.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image012" border="0" hspace="12" alt="clip_image012" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image012_thumb.jpg" width="484" height="484"></a><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image014.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image014" border="0" hspace="12" alt="clip_image014" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image014_thumb.jpg" width="477" height="484"></a>
<p>After we got down in Paris, we had to take trains to get to hostel. Our hostel was nearby Metro station Hoche. We had to take RER C from CDG to Gare Du Nard and from there take Metro line 5 to Hoche station. While we were at making a plan about which train to catch and all, one fellow came and asked if we need a cab. He was trying put his lifelong learned maths at work to show us, taking cab is cheaper than taking train. As Subbu had visited Paris once, we thought will take a risk of enduring ourselves in the train. First of all it took a while to understand the different between RER and Metro lines. J We had to take a bus from CDG to CDG RER station. There in station we waited for a while for the train. Meanwhile Wasiq and Thangamani were at work of shooting pictures. We got into train and again started looking where to get down and which line of Metro to take. It was about 1.5 hours journey from airport to hostel. Although official language in France is French, many people do speak English but their preference is French. So you hardly see any signboards and ads bearing English. It was not so cold in Paris. We got to see a bit of Paris in night. Hostel is not so well maintained. We got two roomies (dormitories) with 5 people in each room. We took keys and went up. There were already two guys sleeping our room and I think there were two girls also in ladies room. Room was very small and didn’t have enough space to keep our stuff. As it is shared facilities area, we had to be very cautious about our belongings especially money and passport. We all didn’t like the place for some reason. Because of fatigue of journey we got very nice sleep.
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image016.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image016" border="0" hspace="12" alt="clip_image016" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image016_thumb.jpg" width="644" height="483"></a><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image017.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image017" border="0" hspace="12" alt="clip_image017" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image017_thumb.jpg" width="364" height="484"></a></p>
<p>We left home by 8:00 AM, took M5 and got down at Gare Du Nord. From there we walked asking lots of people about how to get to Sacré-Coeur. Sacré-Coeur (House of God) was erected as a kind of symbol of reconciliation after the defeat against the Prussians in 1871. It is very nice place on top of the hill. We walked up the stirs, went inside and watched the dome. It is really magnificent in side. Huge centre done and lots of styled mirrors and all. From there you can view the complete Paris in the morning mist. </p>
<p>We came down, all were feeling very hungry, and thought will have breakfast. We looked around but didn’t find good hotels to have some food so had some criosons and had coffee. From there we thought we will visit Invalidis. This is the place where they kept Napoleon tomb. To get to this place we got down at metro station Concord, this is the place where French revolution started. From this place, through the garden we walked to the Invalidis. Entry fee to visit the tomb was 7€. It is pretty costly but nevertheless we are visiting only once, so we didn’t really care for the money. It is there inside big palace and in front of Christ. It is really nice. His tomb is kept underground, with lots of different paintings and sculptures. </p>
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image019.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image019" border="0" hspace="12" alt="clip_image019" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image019_thumb.jpg" width="644" height="484"></a></p>
<p>We came out from the tomb and there is a museum in the same building where there is tomb. It is really nice museum but the problem being we will not be able to see it properly. So we kind of skimmed thru each floor and completed it. While coming from the Invalidis, took another picture in side the square shaped building.
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image023.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image023" border="0" hspace="12" alt="clip_image023" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image023_thumb.jpg" width="409" height="484"></a>
<p>From Invalidis we left to Arc de Triomphe. The Arc de Triomphe was erected as a symbol of Napoleon I’s famous military triumphs. The construction started in 1806, but it took another 30 years before the arch was finished. The emperor had long since gone, of course. The square of which this gigantic monument is the center used to be called originally ‘Place de l’Etoile’, because of the twelve elegant boulevards that form a star at their point of joining the square. August 1944 saw the citizens of Paris stream into this area to celebrate with General De Gaulle and the Allied Forces that liberated the city the end of the German occupation. Inside the arch an exhibition tells of the history of the building. Unfortunately when we went, the tower was closed for renovation. However the glorious view of the arch is breath taking. From the Arch we walked in the long stretch road of Shen 0’Lese. It is like very big road from Arch to Concorde ground. We had burger in the Macdee on the way (but just fries, as they didn’t have veg item) and walked coolly. From there we went to see Eiffel Tower. The thing is it looks very nice in the night than in the daytime. Built according to a design by Gustave Eiffel for the World Fair of 1889. A masterpiece of iron architecture, it contains more than 12,000 parts. The symbol par excellence of the French capital. Subdivided into different floor levels, the first floor is at a height of 57 metres. The highest platform of this ‘Iron Lady’ is 300 meters above the ground. A clear sky guarantees a panorama across 100 kilometers of Île de France. In the night it is lit completely by sodium vapour lights and it looks really nice. It is almost impossible to capture the view your eyes can capture by the lens. However I have tried to click couple of photos. Once in hour, they put sparking lights all along the tower. It looks as if the tower has been electrocuted. It is really nice.
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image025.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image025" border="0" hspace="12" alt="clip_image025" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image025_thumb.jpg" width="644" height="484"></a>
<p>You can go till third level of the tower, but as Wasiq didn’t have batter time left in her video camera, we decided to come tomorrow again. But this tower alone is worth the visit to Paris. From there, we thought we will visit Opera house. It is near by Opera metro station. We walked to Tracedero station and from there we took metro to Opera house. This ‘old’ opera house, inaugurated in 1875, is considered to be the most beautiful construction of the Second Empire, even if today, due to the Bastille-Opéra, its new competitor, it has been reduced to showing performances of ballet only. The modern painted ceilings of Marc Chagall, which form a sharp contrast to the extravagant flamboyance of the 19th century, gave rise to numerous discussions. We heard that we need to have formal dress to see the play and even the ticket is very costly around 95€. We didn’t think it is worth the visit so we just went out, saw the building and came. On the way back home, we went to Pizza hut, had very nice Veg Pizza (very happy to know that they carry one vegetarian item). From Opera station went to Hoche station and got back to hostel. I think it was around <a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image029.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image029" border="0" hspace="12" alt="clip_image029" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image029_thumb.jpg" width="326" height="484"></a>12:00+ when we got to hostel, so we could <a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image031.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image031" border="0" hspace="12" alt="clip_image031" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image031_thumb.jpg" width="644" height="484"></a>not wait to lay down ourselves. Btw, these are the French words for English words.
<ul>
<li>Thank you =&gt; Merci
<li>Sorry =&gt; Désolé
<li>Excuse Me =&gt; Excusez-moi
<li>Good Morning =&gt; Bonjour
<li>Good Night =&gt; Bonne nuit</li>
</ul>
<p>If you want learn more French words, go to <a href="http://translate.google.com/translate_t">http://translate.google.com/translate_t</a>. So I’m feeling sleepy, Bonne nuit to you.
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image033.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image033" border="0" hspace="12" alt="clip_image033" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image033_thumb.jpg" width="605" height="484"></a><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image035.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image035" border="0" hspace="12" alt="clip_image035" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image035_thumb.jpg" width="626" height="484"></a><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image037.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image037" border="0" hspace="12" alt="clip_image037" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image037_thumb.jpg" width="365" height="484"></a>Second day we decided to leave hostel by again 8:00 AM. But everybody were late and so we left hostel by 9:00+ AM. We three were carrying digi cameras and video camera. They all got to be charged. We had given all these three to warden out there to charge with one adapter. So we took them and started out. Today we planned to visit Versailles. This tree-lined romantic square is one of the oldest and most handsome in Paris. Surrounded by the arcades of splendid palaces, it was a meeting place in the 17th century of its elegant and wealthy population. Originally called ‘La Place Royale’ in 1612, it received its present name after the Revolution. On show are the royal apartments, the Hall of Mirrors, the chapel, the royal opera and the museum of French history. Worth exploring too is the vast park with its statues, fountains and garden palaces. We took RER B train as it is in outside Zone 1. It is around 20 minutes journey from downtown to Versailles. We got down there, and took another bus to palace place. The place is really huge. We had to take tickets to visit the Kings palace and Queens palace. Ticket price was 11.50€. They had given the audio guide as well for king’s palace. It is really splendid. We walked thru the different rooms of king like meeting room, bed room etc., It took around 1 hour to go thru each room listening to the guidance. After that with the same ticket, we visited Queen’s palace. It was almost like king’s palace. From there we went to see the garden. This palace has got really huge garden spanning thousands of acres. We could not see everything as it was very very cold outside. We could not even take photos properly as all our hands were shivering. Although we just went down to see the garden and rushed back. There are couple of palaces in side the garden as well, but we didn’t have enthusiasm or time to see all that. So we decided to return back to Paris. Although this palace has got significant place in the history, I didn’t think it is as beautiful or splendid as our Mysore palace. It was already 2:00+ when we left Versailles.
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image039.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image039" border="0" hspace="12" alt="clip_image039" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image039_thumb.jpg" width="364" height="484"></a></p>
<p>Today we still had to visit Eiffel Tower to go to top floor. Before that we thought will visit Notre-Dame de Paris. In its time, this gigantic structure was the largest cathedral in the world. It clearly represents the might and wealth of the city and its clergy. Bishop Maurice de Sully gave the building order for this gothic masterpiece in 1163. The construction would continue until the 14th century. Apart from the magnificent side walls of the northern and southern transept, there is also the three-part façade of the gothic church to admire: three beautiful portals, a king’s gallery, a wonderful rose window, and finally two church towers, which offer a great panorama across the sea of houses, provided of course that you managed to bring the strenuous climb to a successful end.</p>
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image041.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image041" border="0" hspace="12" alt="clip_image041" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image041_thumb.jpg" width="644" height="483"></a>
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image043.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image043" border="0" hspace="12" alt="clip_image043" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image043_thumb.jpg" width="637" height="484"></a>While going to visit Notre-Dame de Paris, there were so many people feeding sparrows and pigeons.
<p>We took little bit of feed from others and fed them. It was really nice when birds perch on your hand. It tickles as they try to perch and peck in your hand to eat the grains. I could persuade for a pigeon but could not attract the sparrows. We went inside cathedral. Prayer was going on and so had to be very silent. It is as usual any other cathedral but was really big. It is possible to go to top of the cathedral but it is open till 4:30. By the time we came out, it was closed. So we felt bad to miss it. But we could take some pictures inside the cathedral (usually it’s not allowed in other chapels). However it was pretty dark, so just tried to capture but in vain.
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image045.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image045" border="0" hspace="12" alt="clip_image045" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image045_thumb.jpg" width="607" height="484"></a><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image047.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image047" border="0" hspace="12" alt="clip_image047" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image047_thumb.jpg" width="644" height="484"></a>From there we walked to visit Eiffel Tower (in French it is called Tour Eiffel pronounced as toor aaffil). There is different price to visit each floor. First floor is around 3.5€, second floor is around 8€ and third floor is around 10.50€. We wanted to capture from top of the tower and experience the cold as well. So took third floor ticket. It was really crowded. I stood in the queue to take ticket for all. After 15 mins of queue, I got to know that, that is the same queue for elevator as well. So I called all and started queuing again. It took 20 mins of wait to get the ticket and anther 45 mins of wait in different queues to get to top floor. Let me tell you, it was really really cold on top of the floor. We could hardly face ourselves to that cold breeze. I enjoyed the view of the Paris from top tower. It is tallest peak in the Paris. We took couple of photos and came down to glassed room (There are two sections. One fenced, open air. Another glassed one to enjoy the view). Out there they have displayed all countries flags and main cities in their direction and mentioned the distance. India was around 6000 Kms from Eiffel Tower.
<p>There are two lifts. One from ground to second floor and another from second to third floor. Thangamani said, we walk down the stirs from second floor. So we started walking down. In the stirs, they put a history of the tower and its significance in the history. So we leisurely walking and reading the stuff. We took almost 30 mins to walk down. In ground floor we bought some souvenirs like small tower and all. Everybody bought. After that, we walked down to metro station. Thought of gong to Mexican restaurant for dinner. We had seen one Mexican restaurant in Opera house. So instead of looking for it in new place we thought we will go there, have dinner and return home (anyway metro was free (not actually but 5 days pass)). We got down at Opera, and went to restaurant. When we went there, we came to know they don’t have non-smoking area. Wasiq and Subbu didn’t want to have in smoking area. So we went looking for another restaurant in the same street (I was more interested in Pizza Hut J). We found another French restaurant for pizza like pizzalemo and some other. We could not decide where to go. We tossed and went to pizzalemo. It was looking little posh too. We ordered some pizza, garlic bread and drink. Garlic bread was horrible and so was pizza. However it was, we had enough as we were hungry but could not help to leave out little bit at the end. From there we took the Metro and reached hostel. As with previous nights, we gave that fellow all digi and video cameras and requested him to charge them. Then went and slept. Today one new fellow had come to our room and he was just snoring all the while. I thought we will not be sleeping today J but because of the tiredness of walking and roaming around, we fell asleep and didn’t know what time. ZZZZZZZZZZZZZZ
<p>Got up early, as today we still had couple of places to visit. We had French bread stick and orange juice in the hostel it self except Wasiq. She didn’t like the bread for some reason. She had just juice. Today’s plan was to visit Eiffel tower in daylight, some shopping and Louvre museum.
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image049.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image049" border="0" hspace="12" alt="clip_image049" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image049_thumb.jpg" width="365" height="484"></a>When we got down at Tour Eiffel metro station it was almost 9:30. We decided not waste lot of time there, as museum would need more time than we had. I wanted to see the Eiffel tower in daylight. We roamed around, took some pictures there and did some keepsakes of Paris visit. After that we took the metro again, got down at Louvre station.
<p>This former medieval fortress today houses one of the largest museums in the world. It contains extensive collections of Oriental, Egyptian, Greek, Etruscan and Roman antiquities, such as paintings, furniture and sculptures. Philip II August built the Louvre as a defense complex on the bank of the River Seine around 1200. As the strategic location grew less and less significant, Charles V turned the fortress into his private residence in the 14th century. Many more kings and queens added their own alterations and embellishments so that an intricate complex of renaissance façades, labyrinthine courtyards, pavilions, passages, portals and showrooms came into existence.
<p>In 1661, Louis XIV decided to move his court to Versailles. Although the Louvre had now lost its importance as a seat of government, academies and galleries took over the buildings. Shortly after the Revolution the Louvre opened its doors as an art museum. Napoleon extended the collection, and today the Louvre is one of the world’s greatest museums. The spectacular extension that President Mitterrand had in mind when he decided to build a pyramid, gave rise to much controversy. Today the pyramid, for which 90 tons of glass was needed, is the main entrance to the museum. This is where famous Mona Lisa painting is kept. Now you know why this museum is world famous J.
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image051.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image051" border="0" hspace="12" alt="clip_image051" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image051_thumb.jpg" width="644" height="484"></a><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image053.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image053" border="0" hspace="12" alt="clip_image053" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image053_thumb.jpg" width="644" height="484"></a><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image055.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image055" border="0" hspace="12" alt="clip_image055" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image055_thumb.jpg" width="364" height="484"></a><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image057.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image057" border="0" hspace="12" alt="clip_image057" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image057_thumb.jpg" width="644" height="483"></a>Entrance fee was around 7€ each. There are totally four floors to cover. Each floor is so huge that, it needs around 3-4 hours to just skim thru. But we totally had 5 hours to cover the whole museum. We started with painting section where they kept the Mona Lisa. We had to walk so long before we get to her. When we got there it was pretty crowded and had to do a tug of war to get place to pose in front of her. In this floor there are some very bug and nice paintings. There are so many that, we really got bored of seeing paintings after a while. Finally long awaited moment of seeing her had come. Although I could not make out the difference between her and other paintings, it was the feeling that seeing the most famous painting in the world with my own eyes. Painting was covered with glass container; guess would have been coated with something to bear with all flashes. We saw for a while, girls were seeing for long time. I and Subbu waited for them. Later on, Subbu wanted to see the Egyptian sculptures. We were looking for it for long time, but after so long time of browsing thru lots of other section, we found. We did take couple of photos in front of mummies and others. Then went to see Roman sculptures. </p>
<p><a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image059.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image059" border="0" hspace="12" alt="clip_image059" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image059_thumb.jpg" width="364" height="484"></a></p>
<p>These were really nice. I really enjoyed seeing all those beautifully carved statues in the marble and bronze. We also saw the stone where Code of <a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image061.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image061" border="0" hspace="12" alt="clip_image061" src="http://www.brsanthu.com/wordpress/blog_content/uploads/2011/01/clip_image061_thumb.jpg" width="644" height="484"></a>Hammurabi is carved. This is the oldest script known to mankind. From there we went thru different sections and took couple of photos. Honestly nobody was interested on that day to see the museum. Everybody were sitting wherever they find some calm place. So somehow we covered a bit of it and at 4:00 PM we were out of museum. Took the metro, went to hostel, picked the luggage and came to station. It was pretty late to catch our flight. We also got confused about our flight terminal. We thought it Terminal 1 but it was in Terminal 2. So even there we had to run fast. Somehow we got into the flight, and fell asleep. Had the sandwich they served in the flight, and got home by 9:00 PM. So tired that just had dinner and slept.</p>
<p>This is the whole story about our Paris trip. It was pretty good and liked the city more than I expected. We spent around 350£ each for the trip. But trip was worth the each penny we spent. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2011/01/paris-trip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Area for improvement</title>
		<link>http://www.brsanthu.com/blog/2008/11/area-for-improvement/</link>
		<comments>http://www.brsanthu.com/blog/2008/11/area-for-improvement/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 11:11:23 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/11/area-for-improvement/</guid>
		<description><![CDATA[While browsing the Google news today about Sun laying off 6000 employees, Google has matched that item with actual &#8220;Sun&#8221; logo instead of Sun Microsystems logo. Google has some areas for improvement ah?]]></description>
			<content:encoded><![CDATA[<p>While browsing the Google news today about Sun laying off 6000 employees, Google has matched that item with actual &#8220;Sun&#8221; logo instead of Sun Microsystems logo.  Google has some areas for improvement ah?</p>
<p><img src="/wordpress/blog_content/uploads/2008/11/googlesunlogo.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/11/area-for-improvement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>History in the making</title>
		<link>http://www.brsanthu.com/blog/2008/11/history-in-the-making/</link>
		<comments>http://www.brsanthu.com/blog/2008/11/history-in-the-making/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 04:03:50 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/11/history-in-the-making/</guid>
		<description><![CDATA[CNN projected that Barack Obama will become the first African-American president of the United States. Congratulations Senator.]]></description>
			<content:encoded><![CDATA[<p>CNN projected that Barack Obama will become the first African-American president of the United States.  Congratulations Senator.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/11/history-in-the-making/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NetBeans 6.5 RC</title>
		<link>http://www.brsanthu.com/blog/2008/11/netbeans-65-rc/</link>
		<comments>http://www.brsanthu.com/blog/2008/11/netbeans-65-rc/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 03:00:32 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/11/netbeans-65-rc/</guid>
		<description><![CDATA[I got to know of saying &#8220;Never say never and never say always&#8221; from some source (which I don&#8217;t recall), which is all the more applicable in our fickle Java ecosystem. I have been using Eclipse all this while and have defended religiously too. But going through the features/options NetBeans latest version 6.5 RC, makes [...]]]></description>
			<content:encoded><![CDATA[<p>I got to know of saying &#8220;Never say never and never say always&#8221; from some source (which I don&#8217;t recall), which is all the more applicable in our fickle Java ecosystem.</p>
<p>I have been using <a href="http://www.eclipse.org">Eclipse</a> all this while and have defended religiously too.  But going through the features/options <a href="http://www.netbeans.org">NetBeans</a> latest version <a href="http://wiki.netbeans.org/NewAndNoteWorthy">6.5 RC</a>, makes me feel that Eclipse is some (rather a lot) catchup to do when it comes to JEE lineup support.</p>
<p>So being a ardent Eclipse user (to the extent that I have said, I will never use any other IDE), I&#8217;m going to give NetBeans 6.5 a try (that&#8217;s why never say never) and find out if I can be more productive when doing JEE development.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/11/netbeans-65-rc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSL handshake_failure while doing Mutual Authentication</title>
		<link>http://www.brsanthu.com/blog/2008/11/ssl-handshake_failure-while-doing-mutual-authentication/</link>
		<comments>http://www.brsanthu.com/blog/2008/11/ssl-handshake_failure-while-doing-mutual-authentication/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 23:02:06 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/11/ssl-handshake_failure-while-doing-mutual-authentication/</guid>
		<description><![CDATA[Friend of mine recently had one issue with SLS Mutual Authentication (aka Client Authentication) that server was failing with error &#8220;Re-negotiation handshake failed: Not accepted by client!&#8221; and at client side it was throwing following error. After all the debugging to make sure all the required system parameters are specified like keyStore and trustStore and [...]]]></description>
			<content:encoded><![CDATA[<p>Friend of mine recently had one issue with SLS Mutual Authentication (aka Client Authentication) that server was failing with error &#8220;Re-negotiation handshake failed: Not accepted by client!&#8221; and at client side it was throwing following error.</p>
<pre class="brush: java; title: ; notranslate">
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
        at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:150)
        at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:117)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1650)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:925)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:739)
        at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
</pre>
<p>After all the debugging to make sure all the required system parameters are specified like keyStore and trustStore and wasting lot of time, it was found out that the certificate the client was using had some issues with private/public keypair.</p>
<p>So if you get into this above issue or any other issues related to SSL connectivity, check out the certificate you are using on both sides.  Even better try out the SSL Connectivity with simple client/server ssl app and make sure it is working then try out in the real application.</p>
<p>Well for same friend, I actually wrote a simple client/server SSL app which which let&#8217;s client/server exchange some user keyedin data.</p>
<p>Here is how to use it.</p>
<p>1. Download the source and class files from <a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2008/11/ssltest.zip">here</a> and extract to a folder.</p>
<p>2. Put your certificate files (you can rename your certificate files as client.jks/server.jks or change the parameters in the bat files)</p>
<p>3. Run server.bat, which starts a server on port 7001 (you can pass parameter &#8220;true&#8221;, which enables the client authentication else disables it)</p>
<p>4. Run client.bat and notice that it is talking to server and finishing the handshake.  To confirm client is communicating with server, type some text and notice that it is echoed back by the server.</p>
<p>Here is the sample output.</p>
<p>Client:</p>
<pre class="brush: java; title: ; notranslate">

C:\Projects\EclipseWorkspace\SSLTest\temp&gt;client

Connecting to the server at localhost:7001
Connected to the server.
Type something and press enter. Whatever you type will be sent to the server, which will echo back.

SSL Handshake Completed with following details:
CipherSuite: SSL_RSA_WITH_RC4_128_MD5
LocalPrincipal: CN=Client Test, OU=Java Unit, O=Java Company, L=Java City, ST=Java State, C=US
RemovePrincipal: CN=Server Test, OU=Java Unit, O=Java Company, L=Java City, ST=Java State, C=US
Session: [Session-1, SSL_RSA_WITH_RC4_128_MD5]
Socket: 1f33675[SSL_RSA_WITH_RC4_128_MD5: Socket[addr=localhost/127.0.0.1,port=7001,localport=3206]]
hello
hello
world
world
</pre>
<p>Server:</p>
<pre class="brush: java; title: ; notranslate">
C:\Projects\EclipseWorkspace\SSLTest\temp&gt;server true
Enabling client authentication

Listening for a new connection at port 7001
Connection accepted from /127.0.0.1:3206

SSL Handshake Completed with following details:
CipherSuite: SSL_RSA_WITH_RC4_128_MD5
LocalPrincipal: CN=Server Test, OU=Java Unit, O=Java Company, L=Java City, ST=Java State, C=US
RemovePrincipal: CN=Client Test, OU=Java Unit, O=Java Company, L=Java City, ST=Java State, C=US
Session: [Session-1, SSL_RSA_WITH_RC4_128_MD5]
Socket: 7c6768[SSL_RSA_WITH_RC4_128_MD5: Socket[addr=/127.0.0.1,port=3206,localport=7001]]
</pre>
<p>Hope this helps.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/11/ssl-handshake_failure-while-doing-mutual-authentication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google I&#8217;m feeling lucky in Firefox Address Bar</title>
		<link>http://www.brsanthu.com/blog/2008/11/google-im-feeling-lucky-in-firefox-address-bar/</link>
		<comments>http://www.brsanthu.com/blog/2008/11/google-im-feeling-lucky-in-firefox-address-bar/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 22:31:43 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/11/google-im-feeling-lucky-in-firefox-address-bar/</guid>
		<description><![CDATA[Not many might not have used, if not noticed about the Google Lucky search feature. Instead of clicking on Search button, if you click on &#8220;I&#8217;m Feeling Lucky&#8221;, Google would automatically redirect to the first result. This would be very useful many times, if you want to select the url from bookmarks or type the [...]]]></description>
			<content:encoded><![CDATA[<p>Not many might not have used, if not noticed about the Google Lucky search feature.  Instead of clicking on Search button, if you click on &#8220;I&#8217;m Feeling Lucky&#8221;, Google would automatically redirect to the first result.  This would be very useful many times, if you want to select the url from bookmarks or type the full address.  Even better is adding a Search Keyword in Firefox so you can just type &#8220;gl <keyword>&#8221; and have it taken automatically to the url.  Here is how to add your firefox.</p>
<p>1. Download this search <a href="http://brsanthu.com/wordpress/blog_content/uploads/2008/11/googlelucky.xml">plugin xml</a> and add to the &#8220;Mozilla Firefox\searchplugins&#8221; folder.  In Windows, it would be &#8220;C:\Program Files\Mozilla Firefox\searchplugins&#8221;.</p>
<p>2. Open your Firefox browser and select &#8220;Manage Search Engines&#8230;&#8221; in the Search box</p>
<p><img src="/wordpress/blog_content/uploads/2008/11/googlelucky-1.jpg" /></p>
<p>3. Select &#8220;Google Lucky&#8221; on the list of Search Engines and Click on &#8220;Edit Keyword&#8221;</p>
<p><img src="/wordpress/blog_content/uploads/2008/11/googlelucky-2.jpg" /></p>
<p>4. Enter gl as the keyword and Click Ok (twice)</p>
<p><img src="/wordpress/blog_content/uploads/2008/11/googlelucky-3.jpg" /></p>
<p>5. You are good to go, give it a try.  Type &#8220;gl java 1.5 api&#8221; and notice that you are taken automatically to the Java 1.5 API Spec in Java.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/11/google-im-feeling-lucky-in-firefox-address-bar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Time for another Antitrust suit</title>
		<link>http://www.brsanthu.com/blog/2008/10/time-for-another-antitrust-suit/</link>
		<comments>http://www.brsanthu.com/blog/2008/10/time-for-another-antitrust-suit/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 05:00:22 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/10/time-for-another-antitrust-suit/</guid>
		<description><![CDATA[I think it is time to remember Microsoft&#8217;s antitrust suit because another one may be coming soon to Apple. Apple has been monopolizing the platform by blocking all applications which competes slightly with it getting passed through the gate. Apple should have confidence that if it has better product than others, people do use it [...]]]></description>
			<content:encoded><![CDATA[<p>I think it is time to remember Microsoft&#8217;s antitrust suit because another one may be coming soon to Apple.  Apple has been monopolizing the platform by <a href="http://arstechnica.com/journals/apple.ars/2008/10/31/apple-says-no-to-iphone-opera-browser">blocking</a> all applications which competes slightly with it getting passed through the gate.  Apple should have confidence that if it has better product than others, people do use it (And no other company better than Apple in make it happen) and let other compete.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/10/time-for-another-antitrust-suit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>California DMV Test Papers</title>
		<link>http://www.brsanthu.com/blog/2008/10/california-dmv-test-papers/</link>
		<comments>http://www.brsanthu.com/blog/2008/10/california-dmv-test-papers/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 07:49:12 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/10/california-dmv-test-papers/</guid>
		<description><![CDATA[When I moved to California from Jersey and getting ready to take the California Driver&#8217;s written test, I didn&#8217;t find good sample test papers to get the feel of the test or to evaluate myself to see where I stood. After the exam, I thought I will collect/create some sample test papers to it would [...]]]></description>
			<content:encoded><![CDATA[<p>When I moved to California from Jersey and getting ready to take the California Driver&#8217;s written test, I didn&#8217;t find good sample test papers to get the feel of the test or to evaluate myself to see where I stood.  After the exam, I thought I will collect/create some sample test papers to it would ease anybody else who is attempting to take the exam but managed to procrastinate till today.</p>
<p>I wanted to write some generic code so that extra time need not be spent if I had to add additional sample papers.  I was in good mood today to deal with the javascript quirks (really, you got to code in understand the quirks) so wrote up javascript to load the xml data file with all questions and render the (supporting both single and multiple choice) questions and evaluate the answers to findout of tester is passed or failed.</p>
<p>It came out pretty good and I&#8217;m quite happy with it. Another interesting twist is that first person who going to use is my wife <img src='http://www.brsanthu.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  She trying to take the exam sometime this week.</p>
<p>I&#8217;m planning to add around 6-7 papers over period.  Take a <a href="http://www.brsanthu.com/software/california-drivers-sample-test-papers">look</a> and pass the url along to whoever might benefit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/10/california-dmv-test-papers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NullPointerException vs IllegalArgumentException</title>
		<link>http://www.brsanthu.com/blog/2008/10/nullpointerexception-vs-illegalargumentexception/</link>
		<comments>http://www.brsanthu.com/blog/2008/10/nullpointerexception-vs-illegalargumentexception/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 17:58:15 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/10/nullpointerexception-vs-illegalargumentexception/</guid>
		<description><![CDATA[There has been lots of discussion going on for a very long time weather to use NPE or IAE when a null is passed when a non-null object is expected as an method/constructor argument. After developing java applications for quite sometime, I have observed that when one sees a NPE in the log file, it [...]]]></description>
			<content:encoded><![CDATA[<p>There has been lots of discussion going on for a <a href="http://www.google.com/search?q=NullPointerException+vs+IllegalArgumentException">very long time</a> weather to use NPE or IAE when a null is passed when a non-null object is expected as an method/constructor argument.</p>
<p>After developing java applications for quite sometime, I have observed that when one sees a NPE in the log file, it usually means some serious bug which should be dealt with.&nbsp; I strongly think that NPE should only ever be thrown by the JVM when it try to access some properties/methods of a null object (hey did you notice, it is called Null Pointer Exception where pointer means trying to access a property or method on null).</p>
<p>However javadoc for <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/NullPointerException.html">NPE</a> allows applications to throw NPE in other subjective scenarios, which led to misuse of it.</p>
<blockquote><p> Thrown when an application attempts to use null in a  case where an object is required. These include:  </p>
<ul>
<li>Calling the instance method of a null object.  </li>
<li>Accessing or modifying the field of a null object.  </li>
<li>Taking the length of null as if it were an array.  </li>
<li>Accessing or modifying the slots of null as if it      were an array.  </li>
<li>Throwing null as if it were a Throwable      value.  </li>
</ul>
<p> Applications should throw instances of this class to indicate  other illegal uses of the null object.</p>
</blockquote>
<p>To move on, if only all developers follow the convention to use only IAE and leave the NPE to the JVM, life would far better for the troubleshooters <img src='http://www.brsanthu.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So next time you validating the constructor/method parameter, forget NPE and use IAE.</p>
<pre class="brush: java; title: ; notranslate">
    public void doSomething(String anything) {
        if (anything == null) {
            throw new IllegalAccessError(&quot;Parameter anything is null&quot;);
        }
    }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/10/nullpointerexception-vs-illegalargumentexception/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy Diwali</title>
		<link>http://www.brsanthu.com/blog/2008/10/happy-diwali/</link>
		<comments>http://www.brsanthu.com/blog/2008/10/happy-diwali/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 16:39:35 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/10/happy-diwali/</guid>
		<description><![CDATA[Wish everybody a very happy and safe Diwali festivities (also known as Deepavali in Karnataka).]]></description>
			<content:encoded><![CDATA[<p><a href="http://flickr.com/photos/plsssnraju/2050414632/0" class="broken_link"><img style="max-width: 800px;" src="http://farm3.static.flickr.com/2198/2050414632_9e604136ba.jpg?v=0" /></a></p>
<p>Wish everybody a very happy and safe Diwali festivities (also known as Deepavali in Karnataka).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/10/happy-diwali/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning JSF (Java Server Faces) Step by Step</title>
		<link>http://www.brsanthu.com/blog/2008/10/learning-jsf-java-server-faces-step-by-step/</link>
		<comments>http://www.brsanthu.com/blog/2008/10/learning-jsf-java-server-faces-step-by-step/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 07:10:21 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/10/learning-jsf-java-server-faces-step-by-step/</guid>
		<description><![CDATA[I have been wanting to write some tutorial about Java Server Faces for easy on-ramping. I will be writing the tutorial in slow paced, simple steps which learners can be follow along as they try out.&#160;&#160; This post would be updated with links for all of these steps as and when they posted. Step 1 [...]]]></description>
			<content:encoded><![CDATA[<p>I have been wanting to write some tutorial about Java Server Faces for easy on-ramping.  I will be writing the tutorial in slow paced, simple steps which learners can be follow along as they try out.&nbsp;&nbsp; This post would be updated with links for all of these steps as and when they posted.
<ul>
<li>Step 1 &#8211; Hello World JSF!!!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/10/learning-jsf-java-server-faces-step-by-step/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Http Servlet Debug Filter</title>
		<link>http://www.brsanthu.com/blog/2008/10/http-servlet-debug-filter/</link>
		<comments>http://www.brsanthu.com/blog/2008/10/http-servlet-debug-filter/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 06:40:01 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Servlets]]></category>
		<category><![CDATA[java http srevlet debug filter]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/10/http-servlet-debug-filter/</guid>
		<description><![CDATA[If you have programmed any considerably sized Java web application, chance that you wrote some debug statements to dump what&#8217;s coming over wire as request and going out as response. Next time you run into such requirement, well, save some typing and use this Http Servlet Debug Filter. This is simple jar file which you [...]]]></description>
			<content:encoded><![CDATA[<p>If you have programmed any considerably sized Java web application, chance that you wrote some debug statements to dump what&#8217;s coming over wire as request and going out as response.  Next time you run into such requirement, well, save some typing and use this Http Servlet Debug Filter.  </p>
<p>This is simple jar file which you need to add to the WEB-INF/lib folder and it logs the Servlet Request and Response details to the log file.  Optionally (by specifying a parameter) it also returns the debug to the browser as commented html so it can be be seen via &#8220;View Source&#8221; browser command.</p>
<p>Here is the sample response from the filter.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!--
================= Start of Http Servlet Request (968784) =================
-----------------------------------------------------------------
From and Time
-----------------------------------------------------------------
Time: Mon Oct 27 23:27:31 PDT 2008
IP: 127.0.0.1
Host: 127.0.0.1

-----------------------------------------------------------------
Servlet Values
-----------------------------------------------------------------
AuthType: null
CharacterEncoding: null
Class: org.apache.coyote.tomcat5.CoyoteRequestFacade
ContentLength: -1
ContentType: null
ContextPath: /hdf
Locale: en_US
Method: GET
PathInfo: null
PathTranslated: null
Protocol: HTTP/1.1
QueryString: hdf.debugToClient=true
RemoteUser: null
RequestedSessionId: 221e7c81176e8af317081378f143
RequestURI: /hdf/index.html
RequestURL: http://localhost:8080/hdf/index.html
Scheme: http
ServerName: localhost
ServerPort: 8080
ServletPath: /index.html
Session: org.apache.catalina.session.StandardSessionFacade@110f850
UserPrincipal: null

-----------------------------------------------------------------
Servlet Parameters
-----------------------------------------------------------------
hdf.debugToClient=true

-----------------------------------------------------------------
Servlet Attributes
-----------------------------------------------------------------
com.sun.enterprise.http.sessionTracker=org.apache.coyote.tomcat5.SessionTracker@87c801

-----------------------------------------------------------------
Session Details
-----------------------------------------------------------------
Id: 222bab8d43997024f4d6051542f5
CreationTime: 1225175251640
LastAccessedTime: 1225175251640
MaxInacctiveInterval: 1800
&lt;no session attributes&gt;

-----------------------------------------------------------------
Servlet Cookies
-----------------------------------------------------------------
name=JSESSIONID, value=221e7c81176e8af317081378f143, domain=null, path=null, maxAge=-1, version=0, secure=false, coment=null

-----------------------------------------------------------------
Servlet Locales
-----------------------------------------------------------------
en_US
en

-----------------------------------------------------------------
Raw Http Headers
-----------------------------------------------------------------
host=localhost:8080
user-agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-language=en-us,en;q=0.5
accept-encoding=gzip,deflate
accept-charset=ISO-8859-1,utf-8;q=0.7,*;q=0.7
keep-alive=300
connection=keep-alive
referer=http://localhost:8080/hdf/
cookie=JSESSIONID=221e7c81176e8af317081378f143
if-modified-since=Tue, 28 Oct 2008 06:26:35 GMT
if-none-match=W/&quot;398-1225175195890&quot;
cache-control=max-age=0
================= End of Http Servlet Request ===================
--&gt;
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Strict//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=ISO-8859-1&quot;&gt;

&lt;/head&gt;
&lt;body&gt;
&lt;h5&gt;Debug &lt;a href=&quot;index.html?hdf.debugToClient=true&quot;&gt;page&lt;/a&gt; to test the Http Servlet debug filter.  View source to see the details.&lt;/h5&gt;
&lt;/body&gt;
&lt;/html&gt;

&lt;!--
================= Start of Http Servlet Response (968784) =================
Time: Mon Oct 27 23:27:31 PDT 2008
Status: -1
CharacterEncoding: ISO-8859-1
ContentLength: 398
ContentType: text/html;charset=ISO-8859-1
Locale: en_US

-----------------------------------------------------------------
Session Details
-----------------------------------------------------------------
Id: 222bab8d43997024f4d6051542f5
CreationTime: 1225175251640
LastAccessedTime: 1225175251640
MaxInacctiveInterval: 1800
&lt;no session attributes&gt;

-----------------------------------------------------------------
Set Cookies
-----------------------------------------------------------------
&lt;no cookies&gt;

-----------------------------------------------------------------
Set Http Headers
-----------------------------------------------------------------
ETag=W/&quot;398-1225175249921&quot;
Last-Modified=Tue, 28 Oct 2008 06:27:29 GMT
================= End of Http Servlet Response ===================
--&gt;
</pre>
<h3>Installation</h3>
<p>1. Download the <a href="http://www.brsanthu.com/wordpress/blog_content/software/hdf/hdf-1.0.0.jar">jar </a>file (here is the <a href="http://www.brsanthu.com/wordpress/blog_content/software/hdf/hdf-1.0.0-sources.jar">source</a>)<br />
2. Add the jar file to the WEB-INF/lib folder<br />
3. Add the following filter mapping to your web.xml</p>
<pre class="brush: xml; title: ; notranslate">
	&lt;filter&gt;
		&lt;filter-name&gt;hdf&lt;/filter-name&gt;
		&lt;filter-class&gt;com.brsanthu.hdf.HttpDebugFilter&lt;/filter-class&gt;
	&lt;/filter&gt;
	&lt;filter-mapping&gt;
		&lt;filter-name&gt;hdf&lt;/filter-name&gt;
		&lt;url-pattern&gt;/*&lt;/url-pattern&gt;
	&lt;/filter-mapping&gt;
</pre>
<p>4. You can also download pre-packaged <a href="http://www.brsanthu.com/wordpress/blog_content/software/hdf/hdf.war">war </a> file, which can be deployed and accessed via &#8220;http://localhost:8080/hdf/index.html?hdf.debugToClient&#8221; (change the server/port accordingly)</p>
<p>Attached source code is released as is without any warranty and you can use/modify the source as you required.</p>
<p>Let me know if you have any suggestions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/10/http-servlet-debug-filter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Syntax highlighting in WordPress</title>
		<link>http://www.brsanthu.com/blog/2008/10/syntax-highlighting-in-wordpress/</link>
		<comments>http://www.brsanthu.com/blog/2008/10/syntax-highlighting-in-wordpress/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 23:51:09 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Highlighting]]></category>
		<category><![CDATA[Syntax]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/10/syntax-highlighting-in-wordpress/</guid>
		<description><![CDATA[If you are writing technical blogs, it is apparent you would need to post some source code of some language at sometime or the other. Posting code with no syntax coloring works fine but coloring makes code goes easy on eyes and to understand it faster. The tool of choice I prefer for blogging is [...]]]></description>
			<content:encoded><![CDATA[<p>If you are writing technical blogs, it is apparent you would need to post some source code of some language at sometime or the other.  Posting code with no syntax coloring works fine but coloring makes code goes easy on eyes and to understand it faster.</p>
<p>The tool of choice I prefer for blogging is <a href="http://code.google.com/p/syntaxhighlighter/">Syntax Highlighter</a>. It is completely client side so server won&#8217;t be burden with extra work of syntax highlighting the code and it looks pretty on page.</p>
<p>Many blogging engines provides their own set of tags which enables to do syntax highlighting.  If you are hosting a blog in <a href="http://www.wordress.com">Wordress.com</a> you can use the the <a href="http://faq.wordpress.com/2007/09/03/how-do-i-post-source-code/">sourcecode tag</a>. </p>
<p>If you are hosting your own blog using <a href="http://wordpress.org/">WordPress</a> engine, you are not luck as it doesn&#8217;t support sourcecode tag.  Not to worry, there are some <a href="http://www.cagintranet.com/archive/the-definitive-guide-on-wordpress-syntax-highligher-plugins/">great options</a> to highlight your code.  Out of many available options, I prefer <a href="http://wordpress.org/extend/plugins/syntaxhighlighter-plus/">Syntax Highlighter Plus</a> wordpress plugin.  It works out of the box and you can just paste the complete code as is without worry about converting the < and > characters.</p>
<p>However one issue I had with it was the width of the code window it renders.  By default it uses around 530 pixes, which may be little small if you have wide width blog layout as mine.  Solution is pretty simple.  After installing the plugin, open<br />
<pre>wp-content/plugins/syntaxhighlighter-plus/shlfiles/SyntaxHighlighter.css
&amp;lt;/pre&amp;gt; and edit the 
&amp;lt;pre&amp;gt;.dp-highlighter</pre><br />
class with desired code width.  The code window used in this site uses 750px.</p>
<pre class="brush: java; title: ; notranslate">
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println(&quot;Hello World!&quot;);
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/10/syntax-highlighting-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Events Map</title>
		<link>http://www.brsanthu.com/blog/2008/10/events-map/</link>
		<comments>http://www.brsanthu.com/blog/2008/10/events-map/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 21:49:01 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[Chain]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Maps]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/10/events-map/</guid>
		<description><![CDATA[For friend of mine I created a events map based on the google maps API (original idea credit goes to Virender Ajmani), which takes a data file with set of events and shows the events details on map as slide show. For ex., here is event map created with my major lifetime events. Here is [...]]]></description>
			<content:encoded><![CDATA[<p>For friend of mine I created a events map based on the google maps API (original idea credit goes to <a href="http://www.mibazaar.com/">Virender Ajmani</a>), which takes a data file with set of events and shows the events details on map as slide show.  For ex., here is event map created with my major lifetime events.  </p>
<p><iframe style="width: 600px; height: 400px" src="/map/eventsmap.html?w=600&#038;h=400&#038;datafile=http://www.brsanthu.com/map/santhosh.xml"><br />
</iframe></p>
<p>Here is the direct <a href="http://www.brsanthu.com/map/eventsmap.html?datafile=http://www.brsanthu.com/map/santhosh.xml" class="broken_link">url </a>for the html and js file.   I have completely separated the data elements from the scripting elements so you can use the event map out of box with your own data file without any modifications to html/js file (except changing the Google Map API Key).  The event map accepts following parameters.</p>
<ul>
<li>datafile =&gt; the url to the data file containing all events</li>
<li>ap =&gt; 1 or 0 indicating if events should start autoplay or not</li>
<li>h =&gt; height of the map</li>
<li>w =&gt; width of the map</li>
</ul>
<p>Data file itself can be very easily constructed.  Here is the data file with couple of events.  </p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version='1.0' standalone='yes'?&gt;
&lt;events&gt;
	&lt;defaultthumbnail&gt;http://www.brsanthu.com/map/santhosh.jpg&lt;/defaultthumbnail&gt;
	&lt;defaultzoom&gt;7&lt;/defaultzoom&gt;
	&lt;event&gt;
		&lt;name&gt;Born in Doddachellur, Karnataka&lt;/name&gt;
		&lt;place&gt;Chitradurga, Karnataka, India&lt;/place&gt;
		&lt;desc&gt;&lt;![CDATA[Bon on 14th Oct to Rudramuniyappa and Sowbhagyamma]]&gt;&lt;/desc&gt;
	&lt;/event&gt;
	&lt;event&gt;
		&lt;name&gt;High school in Malladihalli&lt;/name&gt;
		&lt;place&gt;Holalkere, Karnataka, India&lt;/place&gt;
		&lt;desc&gt;&lt;![CDATA[Joined for High school at Malladi halli swami ashram]]&gt;&lt;/desc&gt;
	&lt;/event&gt;
	&lt;event&gt;
		&lt;name&gt;Pre-University education at Chitradurga circa Jun, 1991&lt;/name&gt;
		&lt;place&gt;Chitradurga, Karnataka, India&lt;/place&gt;
		&lt;desc&gt;&lt;![CDATA[Joined for PUC Education at Govt Sc College in Chitradurga, Karnataka]]&gt;&lt;/desc&gt;
	&lt;/event&gt;
&lt;/events&gt;
</pre>
<p>The events map API will automatically Geocode the address specified in the place tag and positions the marker.&nbsp; Optionally you can also specify exact lat/lon if you know it instead of place tag as follows.</p>
<pre class="brush: xml; title: ; notranslate">
	&lt;event&gt;
		&lt;name&gt;Born in Doddachellur, Karnataka&lt;/name&gt;
		&lt;place&gt;Chitradurga, Karnataka, India&lt;/place&gt;
		&lt;lat&gt;14.230774&lt;/lat&gt;
		&lt;lon&gt;76.400299&lt;/lon&gt;
		&lt;desc&gt;&lt;![CDATA[Bon on 14th Oct to Rudramuniyappa and Sowbhagyamma]]&gt;&lt;/desc&gt;
	&lt;/event&gt;
</pre>
<p>Here is the <a href="http://www.brsanthu.com/wordpress/blog_content/uploads/2008/10/eventsmap-1.0.0.zip">zip file</a> containing all the source.&nbsp; Let me know if you need something.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/10/events-map/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Expired Indian packaged food</title>
		<link>http://www.brsanthu.com/blog/2008/10/expired-indian-packaged-food/</link>
		<comments>http://www.brsanthu.com/blog/2008/10/expired-indian-packaged-food/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 16:45:38 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Indian grocery shopping expired packaged food]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/10/expired-indian-packaged-food/</guid>
		<description><![CDATA[It is sad to admit that some Indian privately owned businessmen are deceiving at best.  It is evident when you go to most of the Indian groceries in North Bay area (San Rafael, Vallejo, Berkeley etc) and check out the packaged food packets.  Most of them are either, Expired Or there is no expiry date [...]]]></description>
			<content:encoded><![CDATA[<p>It is sad to admit that some Indian privately owned businessmen are deceiving at best.  It is evident when you go to most of the Indian groceries in North Bay area (San Rafael, Vallejo, Berkeley etc) and check out the packaged food packets.  Most of them are either,</p>
<ul>
<li>Expired</li>
<li>Or there is no expiry date</li>
<li>Or expiry date is erased (that&#8217;s right, erased)</li>
</ul>
<p>When you try to inform them that expired package is kept for sale, forget about being apologetic, they are ignorant and rude at best.  Usual responses when I highlight that package expired is &#8220;We don&#8217;t know&#8221;, &#8220;Don&#8217;t buy that&#8221; etc.</p>
<p>Shame on you people who do this.  Let&#8217;s be fair.  While you charge way more than what they are worth (for ex., one simple udupi mixture costs $3 while the actual value might be just around $1 or so), at least provide the good service for the money you expect.</p>
<p>I&#8217;m not sure what&#8217;s the law of California Public Safety and Health department. Hope that they will take some action and curb this shady practice.</p>
<p>So people please please check out the expiry date before you buy.  If there is no expiry date, don&#8217;t buy it.  If you find something which is expired, tell them take it off the shelf.  Spread the word and let your friends/family know.</p>
<p>Another tip to businessmen if they haven&#8217;t realized already: Please smile. Customer likes it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/10/expired-indian-packaged-food/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Time to count</title>
		<link>http://www.brsanthu.com/blog/2008/10/time-to-count/</link>
		<comments>http://www.brsanthu.com/blog/2008/10/time-to-count/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 02:46:42 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/10/time-to-count/</guid>
		<description><![CDATA[Even though CNN has named around 10 names for the current crisis, everybody knows it is the whole system which failed.&#160; The so called bankers, politicians and people who went beyond their limit resulting the crisis. Because of few percentage of people, lots many people are suffering due to lost jobs or investment value (401k [...]]]></description>
			<content:encoded><![CDATA[<p>Even though CNN has named around <a href="http://ac360.blogs.cnn.com/category/culprits-of-the-collapse/">10 names</a> for the current crisis, everybody knows it is the whole system which failed.&nbsp; The so called bankers, politicians and people who went beyond their limit resulting the crisis.</p>
<p>Because of few percentage of people, lots many people are suffering due to lost jobs or investment value (401k or stocks), depreciated house prices and increased rents.&nbsp; All the things are adding to each other little bit day by day worsening.</p>
<p>As I work in IT industry, it is curious for me to follow the current market situation about jobs.&nbsp; <a href="http://www.techcrunch.com">Techcrunch</a> has started a list of <a href="http://www.techcrunch.com/layoffs/">lost tech jobs</a>.&nbsp; It is alarming rate at which count is getting bigger.&nbsp; Check it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/10/time-to-count/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scribefire test</title>
		<link>http://www.brsanthu.com/blog/2008/10/scribefire-test/</link>
		<comments>http://www.brsanthu.com/blog/2008/10/scribefire-test/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 22:05:02 +0000</pubDate>
		<dc:creator>Santhosh</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.brsanthu.com/blog/2008/10/scribefire-test/</guid>
		<description><![CDATA[This is the first test post from the firefox addon Scribefire. Scribefire sounds like a nice blogging tool, which helps to post the content easily from the browser and it works great with many blogging engines like WordPress or others. Just a little intro about me: I work as Java Apps Architect at Autodesk and [...]]]></description>
			<content:encoded><![CDATA[<p>This is the first test post from the firefox addon <a href="http://www.scribefire.com/">Scribefire.</a></p>
<p>Scribefire sounds like a nice blogging tool, which helps to post the content easily from the browser and it works great with many blogging engines like WordPress or others.</p>
<p>Just a little intro about me: I work as Java Apps Architect at Autodesk and deals with JEE related aspects on day today basis. I have lots of interest photography and eny people who can sketch or draw.</p>
<p>Hope to write more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brsanthu.com/blog/2008/10/scribefire-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Database Caching 38/175 queries in 0.670 seconds using disk
Object Caching 1420/1667 objects using disk

Served from: www.brsanthu.com @ 2012-02-08 17:32:03 -->
