<?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>Veerasundar</title>
	<atom:link href="http://veerasundar.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://veerasundar.com/blog</link>
	<description>Java, web and design</description>
	<lastBuildDate>Wed, 16 May 2012 07:13:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Nokia Lumia 800 Review</title>
		<link>http://veerasundar.com/blog/2012/05/nokia-lumia-800-review/</link>
		<comments>http://veerasundar.com/blog/2012/05/nokia-lumia-800-review/#comments</comments>
		<pubDate>Wed, 16 May 2012 07:08:35 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[800]]></category>
		<category><![CDATA[lumia]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=3035</guid>
		<description><![CDATA[It&#8217;s been a week since I bought my Nokia Lumia 800 and I think I&#8217;ve got enough experience to review it. Rather than writing it in the technical perspective, I&#8217;m gonna keep this review as what I like and what I don&#8217;t like in this windows phone, so that I can write close to the [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>It&#8217;s been a week since I bought my Nokia Lumia 800 and I think I&#8217;ve got enough experience to review it. Rather than writing it in the technical perspective, I&#8217;m gonna keep this review as <strong>what I like</strong> and <strong>what I don&#8217;t like</strong> in this windows phone, so that I can write close to the truth.</p>
<p><img class="aligncenter size-medium wp-image-3056" title="nokia-lumia-8001" src="http://veerasundar.com/blog/wp-content/uploads/2012/05/nokia-lumia-8001-300x300.jpg" alt="" width="300" height="300" /></p>
<p><a title="Lumia 800 specifications" href="http://www.nokia.com/in-en/products/phone/lumia800/specifications/" target="_blank">Lumia 800</a> is the new Windows phone from Nokia, featuring the Windows 7.5 operating system &#8211; Mango. Apart from the Lumia 800, there are Lumia 710 and Lumia 900. I couldn&#8217;t see any drastic change in the processing power (all are featuring the 1.4 GHz processor). Anyway, if you really want the finer details before choosing your next windows phone from Lumia series, you could compare <a title="Compare Nokia Lumia 710 vs Lumia 800" href="http://duckduckgo.com/?q=Lumia+710+vs+Lumia+800" target="_blank">Lumia 710 vs Lumia 800</a> or <a title="Compare Nokia Lumia 800 vs Lumia 900" href="http://duckduckgo.com/?q=Lumia+800+vs+Lumia+900" target="_blank">Lumia 800 vs Lumia 900</a>.</p>
<p>Let&#8217;s start with what I don&#8217;t like first so that I can close this review in a positive note. <img src='http://veerasundar.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Lumia 800 &#8211; the things that failed to impress me:</h2>
<p><img class="alignleft size-full wp-image-3058" title="sad-reddit" src="http://veerasundar.com/blog/wp-content/uploads/2012/05/sad-reddit.png" alt="" width="208" height="226" /></p>
<ol>
<li><strong>Sound </strong>- as a &#8216;<em>phone&#8217; </em>this is a big letdown in Lumia 800. Even if I keep the volume to the maximum, the sound is not much audible. I have to be in a silent place to hear it clearly. Forget calling someone if you are in a noisy environment, you won&#8217;t hear what the other person is saying unless you have very sensitive ears. The speaker too isn&#8217;t that impressive.</li>
<li><strong>Data Connection Issues </strong>- I have configured my Lumia 800 with Airtel 3G. But suddenly, one day it stopped using the data connection and always throwing an Error Code: 80072EFD. I left with not able to access my emails for a whole day until I figured out a solution (i.e. delete the current APN and create a new APN). But still, it scared me off in the first place.</li>
<li><strong>Difficulties in transferring files other than Music, Photo and Video </strong>- Zune software did a good job in synchronizing the photos, music and videos between my phone and PC. But when I wanted to copy a CAB file from <a href="http://veerasundar.com/blog/2012/04/acer-aspire-one-722-review/" target="_blank">my PC</a> to Phone, I was hitting the dead end. Zune didn&#8217;t sync the file and I couldn&#8217;t just copy the file to my phone as it was not showing up a storage drive in my PC when I connected it. I&#8217;m still not able to the copy the file I wanted and looking for workarounds like uploading it to my Gmail and download it from there.</li>
<li><strong>The cover that guards the USB charging port </strong>- before connecting your phone to a charger, you need to open a little cover on the USB charger port. Believe me, its not such happy experience given that the phone&#8217;s battery drains a lot (considering my usage) and every time it irritates me to snap open the USB cover before connecting it to a charger. It might seem a like a little thing but it adds up everyday.</li>
<li><strong>Internet Explorer </strong>- oh, come on! As a web developer,  I have grown hating IE to the core and I&#8217;m let alone with this only browser in Lumia. But I must say that it renders most of the modern web pages very nicely (yay! <a href="http://veerasundar.com">my home page</a> looks good in my phone too!), but still the browsing experience isn&#8217;t smooth. It does supports tabbed browsing, but its not easy to open a new tab with your favorite page in it. The browser needs something like a <em>speed dial </em>to save us some time. I&#8217;m trying to install Opera mini, but I couldn&#8217;t find it in marketplace and due to the <em>point #3 </em>above, I haven&#8217;t figured out a way to copy the installer to my phone yet.</li>
<li><strong>Not much apps that I need </strong>- yeah! there are hundreds of applications in the Zune marketplace. But I couldn&#8217;t find the application that <em>I need</em> or <em>the services I use</em>. When the time goes on, the marketplace will grow. But <em>at this point of time</em>, you have to compromise yourself.</li>
</ol>
<h2>Lumia 800 &#8211; the things that I like the most:</h2>
<p><img class="alignleft size-medium wp-image-3060" title="happy-reddit" src="http://veerasundar.com/blog/wp-content/uploads/2012/05/happy-reddit-300x225.png" alt="" width="300" height="225" /></p>
<ol>
<li><strong>People hub &amp; Personal hub </strong>- the one feature that beats me my android experience left and right. It&#8217;s the only place that I constantly check to see what my friends are up to. I can easily connect my Facebook, Twitter, LinkedIn and Live accounts to my phone and see and post to all the social updates in one place. Totally love this feature.</li>
<li><strong>Camera and Picture quality</strong> - Lumia 800 comes with 8MP camera. The picture quality is good and the camera application is very much user friendly. To take a picture, just open the camera application and then tap on the screen where you want the focus to be in and your picture is taken (no need to hard press any button that might introduce shake in the photo). Nice!</li>
<li><strong>Performance </strong>- is real fast. The 1.4 GHz processor proves what its worth of (but as a side effect, the phone emits some considerable amount of heat, but you can&#8217;t help it right!?). Now the <em>Angry Birds </em>are much more angry and ferocious. <img src='http://veerasundar.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><strong>Multi-tasking </strong>- opening up several application and switching between them is simple and smooth. Just hold on the <em>back </em>button and you&#8217;ll be shown a list of applications that are currently open and you can choose from them by tapping on it.</li>
<li><strong>The Metro UI </strong>- the new Metro UI surely gives a refreshing experience. Live tiles on the home screen, minimal UI elements everywhere &#8211; totally like it. Again, its just personal preference. You might have a different taste.</li>
<li><strong>Nokia Drive &amp; Nokia Maps </strong>- The phone comes with this free application that helps you to see the route map while driving (like a GPS device). Comes handy when you want to explore unknown places.</li>
<li><strong>The on-screen keyboard and Auto suggestions </strong>- I have been using the Swipe keyboard in my Android phone that helped me to input words just by swiping a path. When I switched to Lumia 800, I was little worried about the keyboard performance. But then, now  I&#8217;m totally satisfied with Lumia&#8217;s keyboard. The auto suggestions were most of the time accurate and reduces my key input time very much.</li>
<li><strong>SkyDrive and 25GB of free storage space </strong>- SkyDrive is the cloud storage system from Microsoft and as a Lumia user you are entitled to a free storage space of 25GB. Quite useful to backup important files.</li>
</ol>
<p>Well, that said, Lumia 800 is a great response from the Microsoft to the smarphone market. I hope the Application marketplace picks up pace and soon host all my needed applications. But that&#8217;s not a show stopper to buy this phone. Worth the money.</p>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2012/05/nokia-lumia-800-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Scroll to top &#8211; JavaScript bookmarklet</title>
		<link>http://veerasundar.com/blog/2012/05/scroll-to-top-javascript-bookmarklet/</link>
		<comments>http://veerasundar.com/blog/2012/05/scroll-to-top-javascript-bookmarklet/#comments</comments>
		<pubDate>Tue, 01 May 2012 16:01:02 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[bookmark]]></category>
		<category><![CDATA[bookmarklet]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[navigate]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[toolbar]]></category>
		<category><![CDATA[top]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=3028</guid>
		<description><![CDATA[So, tell me, how many times have you annoyed with very long pages (such as this blog) and wished for a single click way to jump to top of the page!? If your answer is many, then this tip might give you some relief &#8211; add a bookmarklet to your bookmarks toolbar that jumps to [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>So, tell me, how many times have you annoyed with very long pages (such as this blog) and wished for a single click way to jump to top of the page!? If your answer is <em>many, </em>then this tip might give you some relief &#8211; <strong>add a bookmarklet to your bookmarks toolbar that jumps to the top of the page for you.</strong></p>
<p>Here&#8217;s the dead simple way to do it. Just drag this link to your bookmarks toolbar: <a href="javascript:window.scrollTo(0,0);">^</a></p>
<p>Here are the manual steps:</p>
<ol>
<li>Add a new bookmark.</li>
<li>In the <em>name </em>field, enter either ^ or UP or *whatever*!</li>
<li>In the location/URL field, enter: <em>javascript:window.scrollTo(0,0);</em></li>
<li>Save it.</li>
</ol>
<p>Happy jumping around!</p>
]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2012/05/scroll-to-top-javascript-bookmarklet/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Java Constants &#8211; using Class, Interface, Static Imports</title>
		<link>http://veerasundar.com/blog/2012/04/java-constants-using-class-interface-static-imports/</link>
		<comments>http://veerasundar.com/blog/2012/04/java-constants-using-class-interface-static-imports/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 07:50:27 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[best-practice]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[constants]]></category>
		<category><![CDATA[imports]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[pattern]]></category>
		<category><![CDATA[static]]></category>
		<category><![CDATA[static-imports]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=3016</guid>
		<description><![CDATA[Constants are the constant things in a project. I mean, it is safe to assume that any project would have some kind of constant values used across the code. The common practice in Java is to declare them as public, static and final variables so that they can be easily referenced wherever they needed. Here&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Constants are the constant things in a project. I mean, it is safe to assume that any project would have some kind of constant values used across the code.</p>
<p>The common practice in Java is to declare them as public, static and final variables so that they can be easily referenced wherever they needed.</p>
<p>Here&#8217;s a list of patterns that I have seen on using such constants.</p>
<h2>1. Define a Constants class</h2>
<p>In this approach, you define a class &#8216;Constants&#8217; and put all your constants inside this class. Then reference the constants as &#8216;Constants.CONST_NAME&#8217; wherever needed. Easy as it looks.</p>
<pre class="brush:java">public class Constants {
	public static final String SITE_NAME="veerasundar.com";
}</pre>
<pre>class Hello{
	public void someFun(){
		System.out.print(Constants.SITE_NAME);
	}
}</pre>
<p>But the con of this approach is that you need to prepend the class name &#8216;Constants&#8217; all the time. If you are using constants very frequently, then this will become little ineffective. We can do better.</p>
<h2>2. Define a Constants interface and implement it</h2>
<p>The second approach is that you define a Interface that contains all your constants and then implement this interface in the class where you want to use the constants. This way, you don&#8217;t need to prefix &#8216;Constants&#8217;, instead you can directly access the constant like CONSTANT_NAME.</p>
<pre>public interface Constants {
	public static final String SITE_NAME="veerasundar.com";
}</pre>
<pre>class Hello implements Constants{
	public void someFun(){
		System.out.print(SITE_NAME);
	}
}</pre>
<p>But this approach is generally considered as a bad practice because it pollutes the class&#8217;s implementation hierarchy. You are forced to implement an interface without much semantic meaning. We can still do better than this.</p>
<h2>3. Use Java static imports</h2>
<p>Static imports are introduced in Java 5. Using static imports you can import static members/properties of a class so that you can directly access them without prefixing it&#8217;s parent class&#8217;s name. So, we can define a <em>Constants </em>class as shown in first approach above and the use static imports to use the constant properties directly.</p>
<pre>package com.test;
public class Constants {
	public static final String SITE_NAME = "veerasundar.com";
}</pre>
<pre>import static com.test.Constants.*;
public class Hello {
	public void someFun() {
		System.out.print(SITE_NAME);
	}
}</pre>
<p>So, we get the best of both worlds &#8211; we don&#8217;t unnecessarily prefix <em>Constants </em>everywhere and we don&#8217;t pollute class&#8217;s API too. Win!</p>
<p>But this approach too has some bad press against it. If you use static imports very often, then your code become hard to read and understand. Especially when you statically import lot of methods. So, use it sparingly and wisely.</p>
<p>What do you think as the best of the above three approaches? Do you use any other approaches other than these? Feel free to comment!</p>
]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2012/04/java-constants-using-class-interface-static-imports/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Acer Aspire one 722 &#8211; Review</title>
		<link>http://veerasundar.com/blog/2012/04/acer-aspire-one-722-review/</link>
		<comments>http://veerasundar.com/blog/2012/04/acer-aspire-one-722-review/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 16:17:03 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[722]]></category>
		<category><![CDATA[acer]]></category>
		<category><![CDATA[aspire]]></category>
		<category><![CDATA[buy]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[netbook]]></category>
		<category><![CDATA[pc]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=3008</guid>
		<description><![CDATA[I&#8217;d never thought I would buy one Netbook for myself. I already own a Laptop and I&#8217;m quite happy with its performance. But, it&#8217;s 15&#8243; screen made it uncomfortable to carry around. I have been using it more or less like a desktop (it hardly moved an inch from where I kept it few months back!). [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I&#8217;d never thought I would buy one Netbook for myself. I already <a title="Bought a new Laptop – Acer Aspire 5738Z" href="http://veerasundar.com/blog/2010/05/bought-a-new-laptop-acer-aspire-5738z/">own a Laptop</a> and I&#8217;m quite happy with its performance. But, it&#8217;s 15&#8243; screen made it uncomfortable to carry around. I have been using it more or less like a desktop (it hardly moved an inch from where I kept it few months back!).</p>
<p>That&#8217;s why I bought one netbook &#8211; <strong>Acer Aspire one 722 </strong>and I must say I&#8217;m more than happy with it&#8217;s performance till now.</p>
<p><img class="aligncenter size-full wp-image-3013" title="acer-aspire-one-722" src="http://veerasundar.com/blog/wp-content/uploads/2012/04/acer-aspire-one-722.jpg" alt="" width="500" height="427" /></p>
<p>Aspire one has this configuration: AMD Dual core processor (up to 1.33 GHz) with 2GB memory and 320GB HDD. The screen is 11.6&#8243; and its ultra thin. Battery life comes around 5 hours (full charge). It comes with Windows 7 starter edition and costs ~Rs 20K.</p>
<p>On performance, this netbook has <strong>exceeded my expectation</strong>. Initially, I thought, one couldn&#8217;t open even  2 applications together as netbooks suck if you make them work hard. But, below is a list of apps that I usually run at anytime in my netbook without much trouble.</p>
<ol>
<li>Eclipse</li>
<li>Sublime text</li>
<li>XAMPP server</li>
<li>Chrome (at least 5 tabs open)</li>
<li>Firefox</li>
<li>Gtalk</li>
<li>iTunes</li>
</ol>
<p>And frequently I open other applications too and the netbook has run them all.</p>
<p>Of course, it gets heated up a bit (no wonder, considering the load I give to it). But, it hasn&#8217;t become a problem so far.</p>
<p>The only concern I have with its is the lack of separate Home and End keys. Instead, one has to press <strong>Fn + Pg Up / Fn + Pg Dn </strong>to get the functionality of <em>Home </em>and <em>End</em>. This could seem like not an issue at all. But believe me, if you do lots of coding, then you&#8217;ll pull your hair out every time you need to press 2 keys instead of one to move your cursor at the beginning/end of a line.</p>
<p>Overall, great value for money!</p>
]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2012/04/acer-aspire-one-722-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open sourcing Twikural &#8211; an App Engine project</title>
		<link>http://veerasundar.com/blog/2012/04/open-sourcing-twikural-an-app-engine-project/</link>
		<comments>http://veerasundar.com/blog/2012/04/open-sourcing-twikural-an-app-engine-project/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 10:27:40 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[app-engine]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[thirukural]]></category>
		<category><![CDATA[twikural]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=2993</guid>
		<description><![CDATA[tldr; https://github.com/vraa/twikural It all started when I asked the following question to my twitter friends: Juts checking: If there&#8217;s a service that sends you a Thirukkural every day, would you be signing up for it? — Veera (@vraa) January 31, 2012 My idea was simple: to send out Thirukural poems everyday to the people that are [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><strong>tldr; <a href="https://github.com/vraa/twikural">https://github.com/vraa/twikural</a></strong></p>
<p>It all started when I asked the following question to my twitter friends:</p>
<blockquote class="twitter-tweet tw-align-center"><p>Juts checking: If there&#8217;s a service that sends you a Thirukkural every day, would you be signing up for it?</p>
<p>— Veera (@vraa) <a href="https://twitter.com/vraa/status/164394058238799873" data-datetime="2012-01-31T17:06:12+00:00">January 31, 2012</a></p></blockquote>
<p>My idea was simple: to send out Thirukural poems everyday to the people that are signing up for the service. Instead of sending it to email addresses, I decided to use Twitter and Facebook as my medium since that&#8217;s where most of the people are hanging out these days.</p>
<p>There were few tweeples responding to it positively. Even though there are already few other alternative services available, I decided to move on and build it as I thought the new service will be different and be a learning experience.</p>
<p>It took a weekend to code the 80% of the site and I hosted it on App Engine platform. And the site is live for the past few weeks &#8211; <a href="http://twikural.veerasundar.com">http://twikural.veerasundar.com</a></p>
<p style="text-align: center;"><a href="http://twikural.veerasundar.com"><img class="aligncenter  wp-image-2997" title="twikural" src="http://veerasundar.com/blog/wp-content/uploads/2012/04/twikural.png" alt="" width="608" height="250" /></a></p>
<p>Now, the service has <a href="https://twitter.com/#!/twikural">31 followers in Twitter</a> and <a href="https://www.facebook.com/twikural">37 Likes in Facebook</a>. It has already sent out 120 Thirukurals till date. <img src='http://veerasundar.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>And, I&#8217;m now open sourcing the code. The project is now <a href="https://github.com/vraa/twikural">hosted @ Github</a>. You are welcomed to check it out and if you&#8217;d like to contribute, feel free to send a pull request / contact me.</p>
<p>I would like to thank my fellow tweeples &#8211; <a href="https://twitter.com/#!/iGhillli">@iGhillli</a>, <a href="https://twitter.com/#!/anandhame">@anandhame</a>, <a href="https://twitter.com/#!/mgobi_php">@mgobi_php</a>   for their continuous support to this project.</p>
]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2012/04/open-sourcing-twikural-an-app-engine-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to reset Auto Increment back to 1 in XAMPP MySQL using phpMyAdmin</title>
		<link>http://veerasundar.com/blog/2012/04/how-to-reset-auto-increment-back-to-1-in-xampp-mysql-using-phpmyadmin/</link>
		<comments>http://veerasundar.com/blog/2012/04/how-to-reset-auto-increment-back-to-1-in-xampp-mysql-using-phpmyadmin/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 11:56:04 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[id]]></category>
		<category><![CDATA[increment]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[reset]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[xampp]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=2984</guid>
		<description><![CDATA[When you delete every records from a table, which has an AUTO Increment ID field, the delete option will not reset the Auto Increment number. For example, if the table had 5 rows, and you deleted all the rows (either one by one or through delete from tablename where 1;), and then if you insert a new [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>When you delete every records from a table, which has an AUTO Increment ID field, the <em>delete</em> option will not reset the<em> Auto Increment </em>number. For example, if the table had 5 rows, and you deleted all the rows (either one by one or through <em>delete from tablename where 1;</em>), and then if you insert a new row, it will get a ID value as <strong>6 </strong>not as <strong>1</strong>. Because the auto increment value is not reset.</p>
<p>The easiest way to reset the auto increment number is to use the query <strong>truncate tablename; </strong>which removes all the rows from that table and resets the auto increment back to 1.</p>
<p>But if you want to do it visually, phpMyAdmin provides options for that:</p>
<p style="text-align: center;"><img class="aligncenter  wp-image-2988" title="auto-increment-mysql" src="http://veerasundar.com/blog/wp-content/uploads/2012/04/auto-increment.png" alt="" width="670" height="492" /></p>
<ol>
<li>In phpMyAdmin, open the table for which you want to reset the auto increment number.</li>
<li>Then go to: <strong>Operations -&gt; Table Options. </strong></li>
<li>Reset the <strong>AUTO_INCREMENT </strong>field to whichever value you want and save the changes.</li>
</ol>
<p>That&#8217;s it. The next time, when you insert new records, they will start from the auto increment number you set above.</p>
]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2012/04/how-to-reset-auto-increment-back-to-1-in-xampp-mysql-using-phpmyadmin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Console2 &#8211; an alternative to Windows command prompt</title>
		<link>http://veerasundar.com/blog/2012/04/console2-an-alternative-to-windows-command-prompt/</link>
		<comments>http://veerasundar.com/blog/2012/04/console2-an-alternative-to-windows-command-prompt/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 11:30:21 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[prompt]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[util]]></category>
		<category><![CDATA[Utility]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=2976</guid>
		<description><![CDATA[Recently I happened to use Windows to do some cross browser testing (no prizes for guessing the browser). It&#8217;s  been a long time since I used Windows and Ubuntu has become my primary OS then. And, when I was a windows user, I never cared about its command prompt. Mainly because I never had anything [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Recently I happened to use Windows to do some cross browser testing (no prizes for guessing the browser). It&#8217;s  been a long time since I used Windows and Ubuntu has become my primary OS then. And, when I was a windows user, I never cared about its command prompt. Mainly because I never had anything to do in the command line.</p>
<p>But things have changed, thanks to Git. Now, the command line has become an inseparable tool in my dev life. Ubuntu has console which is quite effective to work with. But, Windows command prompt is never programmer-friendly.</p>
<p>For an example &#8211; have you ever tried to copy &amp; paste text in command prompt? If you&#8217;d, you know its PITA. So, I was eagerly searching for an command prompt alternative just because of this one reason.</p>
<p>Thanks to <a title="Console2 - command prompt alternative" href="http://sourceforge.net/projects/console/" target="_blank">Console2</a>, I found one.</p>
<p><a href="http://sourceforge.net/projects/console/"><img class="aligncenter size-full wp-image-2980" title="console2" src="http://veerasundar.com/blog/wp-content/uploads/2012/04/console2.png" alt="" width="662" height="341" /></a></p>
<p>Here&#8217;s why I like this little tool:</p>
<ol>
<li>Copying is now really simple: <strong>Shift + Left click </strong>and <strong>drag </strong>to select text and copy. You can even enable the option to auto copy when you select the text.</li>
<li>Pasting is <em>dead </em>simple &#8211; just <strong>middle click</strong>.</li>
<li>Support for tabs &#8211; you can have multiple console tabs inside single window.</li>
<li>Ability to set &#8220;startup directory&#8221; and configure shortcut keys.</li>
</ol>
<p>Now this Console2 has completely replaced the Windows command prompt &amp; Power shell. If you are in Windows, try this &#8211; you won&#8217;t regret.</p>
]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2012/04/console2-an-alternative-to-windows-command-prompt/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>How to auto reload external code changes in Eclipse project</title>
		<link>http://veerasundar.com/blog/2012/04/how-to-auto-reload-external-code-changes-in-eclipse-project/</link>
		<comments>http://veerasundar.com/blog/2012/04/how-to-auto-reload-external-code-changes-in-eclipse-project/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 02:01:38 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[refresh]]></category>
		<category><![CDATA[reload]]></category>
		<category><![CDATA[sublime]]></category>
		<category><![CDATA[sync]]></category>
		<category><![CDATA[synchronize]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=2965</guid>
		<description><![CDATA[I have started using Sublime text as my preferred code editor (for JS, CSS, Coffee). But, I still rely on Eclipse for writing Java code because it auto-imports Java packages and auto suggests variables and method names from my custom class files. Working on multiple editors throws in another problem: whenever I make a change [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I have started using <a href="http://veerasundar.com/blog/2012/03/unix-alias-with-parameters-or-opening-sublime-text-editor-from-command-line/">Sublime text</a> as my preferred code editor (for JS, CSS, Coffee). But, I still rely on Eclipse for writing Java code because it auto-imports Java packages and auto suggests variables and method names from my custom class files.</p>
<p>Working on multiple editors throws in another problem: whenever I make a change in some file outside of Eclipse, the IDE does not silently reload. It shows a blank page saying &#8220;The resource is out of sync. Press F5 to reload&#8221;. The message started annoying me soon as I had to switch back and forth often.</p>
<p>It is not just for the multiple editors. Even when I do a <em>git pull,</em> the resources go out of sync.</p>
<p>Then, I found a workaround for this. Eclipse provides a built-in option that auto reloads a resource if its out f sync. Here&#8217;s how you  can enable it.</p>
<p>Go to <strong>Window -&gt; Preferences -&gt; General -&gt; Workspace </strong>and check the option <strong>&#8220;Refresh using native hooks or polling&#8221;</strong>.</p>
<p>So, the next time when you try to open a out of sync file, the IDE will sync it for you (thus saving you a keystroke, one at a time <img src='http://veerasundar.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>
]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2012/04/how-to-auto-reload-external-code-changes-in-eclipse-project/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Unix alias with parameters or Opening Sublime Text editor from command line</title>
		<link>http://veerasundar.com/blog/2012/03/unix-alias-with-parameters-or-opening-sublime-text-editor-from-command-line/</link>
		<comments>http://veerasundar.com/blog/2012/03/unix-alias-with-parameters-or-opening-sublime-text-editor-from-command-line/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 13:59:13 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[alias]]></category>
		<category><![CDATA[bashrc]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[shortcut]]></category>
		<category><![CDATA[sublime]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=2952</guid>
		<description><![CDATA[I&#8217;m using Sublime Text 2 in my Ubuntu machine. But unlike Windows, I couldn&#8217;t just right click on any source file and say &#8220;Open with Sublime&#8221; (may be because I just copied the binaries to a folder so that the editor didn&#8217;t register itself to the OS). Because of this, whenever I want to edit [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I&#8217;m using Sublime Text 2 in my Ubuntu machine. But unlike Windows, I couldn&#8217;t just right click on any source file and say &#8220;Open with Sublime&#8221; (may be because I just copied the binaries to a folder so that the editor didn&#8217;t register itself to the OS). Because of this, whenever I want to edit a file using Sublime, I had to use the <em>File &gt; Open File </em>dialog, which is not an ideal way to do.</p>
<p>Since most of the time I would be inside a terminal when I want to edit a file, I found a workaround for this problem &#8211; <strong>using the Unix alias w/ parameters</strong>.</p>
<p>In Unix, we can create shortcut names to any long commands so that it saves our precious time (which we can invest back in Facebooking!). For my issue, I also need to pass the file name to edit as a parameter to this shortcut alias. So, I needed to create a <em>function.</em></p>
<p>Below is the code for this. I have placed this function definition in my <strong><em>.bashrc</em></strong> file so that it is available at my service whenever I open the terminal.</p>
<script src="https://gist.github.com/2036640.js"></script>
<p>You need to replace the correct path per your installation location!</p>
<p>Reviews of the best <a href="http://www.businesswebhostingplans.com/unix-web-hosting.html">unix hosting providers</a> including information on their prices, uptime, support and features can be found at <a href="http://www.businesswebhostingplans.com">businesswebhostingplans.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2012/03/unix-alias-with-parameters-or-opening-sublime-text-editor-from-command-line/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Anagram tester in Java</title>
		<link>http://veerasundar.com/blog/2012/03/anagram-tester-in-java/</link>
		<comments>http://veerasundar.com/blog/2012/03/anagram-tester-in-java/#comments</comments>
		<pubDate>Fri, 09 Mar 2012 15:49:33 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[anagram]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=2946</guid>
		<description><![CDATA[While browsing the net, I found this problem somewhere &#8211; to write a code that tests the given two strings are anagrams or not. From Wiki, &#8220;An anagram is a type of word play, the result of rearranging the letter of a word or phrase to produce a new word or phrase, using all the original letters exactly [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>While browsing the net, I found this problem somewhere &#8211; to write a code that tests the given two strings are anagrams or not. From Wiki,</p>
<blockquote><p>&#8220;An <strong>anagram</strong> is a type of word play, the result of rearranging the letter of a word or phrase to produce a new word or phrase, using all the original letters exactly once; for example <em>orchestra</em> can be rearranged into <em>carthorse</em>.&#8221;</p></blockquote>
<p>I tried to solve this problem using Java and below is the result of it. The algorithm I tried is very simple:</p>
<ol>
<li>Clean the input &#8211; remove all the spaces and punctuation marks (because it doesn&#8217;t affect the compassion).</li>
<li>Go through character by character from string <em>one</em> and check if that character exists in string <em>two</em>.</li>
<li>If exists, then remove it from string <em>two </em>and move on to next character. If not exists, then we found a mismatch and the string is not an anagram.</li>
<li>If all character from string <em>one </em>exists in string <em>two</em>, then we found it&#8217;s an anagram.</li>
</ol>
<h2> Java code to test two strings are anagrams:</h2>
<script src="https://gist.github.com/2007044.js"></script>
<p>I tested the above code with most of the anagrams found in the <a title="Anagram site" href="http://www.anagramsite.com/">Anagram Site</a> and it worked well.</p>
<p>If you think the above code can be improved in someway, feel free to comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2012/03/anagram-tester-in-java/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

