<?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>Veera Sundar &#187; Tools</title>
	<atom:link href="http://veerasundar.com/blog/category/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://veerasundar.com/blog</link>
	<description>Java / Web developer working at PayPal, India.</description>
	<lastBuildDate>Fri, 10 Sep 2010 17:05:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Slidr &#8211; HTML5 app for making online presentations</title>
		<link>http://veerasundar.com/blog/2010/08/slidr-html5-app-for-making-online-presentations/</link>
		<comments>http://veerasundar.com/blog/2010/08/slidr-html5-app-for-making-online-presentations/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 20:54:15 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[aea10k]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[horizontal]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[slidr]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=1713</guid>
		<description><![CDATA[An Event Apart + MIX is organizing a contest for implementing a cool web app, using HTML5+CSS3+JavaScript combo, with a rule that the final app size should be less than 10K. That&#8217;s the challenge. From my side, I tweaked my earlier code and redid that as Slidr, a web app for creating online presentations. The idea [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>An Event Apart + MIX is organizing a <a title="It’s time to get back to basics — back to optimizing every little byte like your life depends on it. Your challenge? Build a web app in less than 10 kilobytes." href="http://10k.aneventapart.com/">contest</a> for implementing a cool web app, using HTML5+CSS3+JavaScript combo, with a rule that the final app size should be less than 10K. That&#8217;s the challenge.</p>
<p>From my side, I tweaked my <a title="How to create a horizontal navigation website using JQuery" href="http://veerasundar.com/blog/2008/08/how-to-create-a-horizontal-navigation-website-using-jquery/">earlier code</a> and redid that as <strong><a title="Slidr - Make online presentations" href="http://10k.aneventapart.com/Uploads/90/">Slidr</a></strong>, a web app for creating online presentations. The idea is simple (or that&#8217;s what I think!) &#8211; to provide anyone the ability to <em>easily </em>create online presentations without the need to edit HTML/CSS code. With Slidr, the user can directly edit the content right from browser (yeah! <em>contenteditable=true</em> does the magic) and save their work. Slidr has a basic animated slide transition too.</p>
<p>Please try my app with link given below and <strong>rate it</strong> if you like the app. Because it helps the app to get more visibility.</p>
<p><em>(please use a browser which can understand HTML5, CSS3. For example,  IE9 or FF 3.6+ or Chrome 5+ )</em></p>
<p><a href="http://10k.aneventapart.com/Uploads/90/" target="_blank">Test drive &#8211; Slidr</a>| <a href="http://10k.aneventapart.com/Entry/90" target="_blank">Rate it</a>(thanks!)</p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=1713&type=feed" alt="" /><h2  class="related_post_title">Related Articles (System generated)</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2010/07/css-summit-2010/" title="CSS Summit &#8211; 2010">CSS Summit &#8211; 2010</a></li><li><a href="http://veerasundar.com/blog/2009/09/google-chrome-frame-enabling-html-5-in-internet-explorer/" title="Google Chrome Frame : enabling HTML 5 in Internet Explorer">Google Chrome Frame : enabling HTML 5 in Internet Explorer</a></li><li><a href="http://veerasundar.com/blog/2009/02/timelinr-a-web-20-application-for-creating-timelines-online/" title="Timelinr &#8211; A web 2.0 application for creating timelines online">Timelinr &#8211; A web 2.0 application for creating timelines online</a></li><li><a href="http://veerasundar.com/blog/2010/07/infinite-scroll-loading-content-while-scrolling-using-java-and-jquery/" title="Infinite scroll : Loading content while scrolling, using Java and JQuery">Infinite scroll : Loading content while scrolling, using Java and JQuery</a></li><li><a href="http://veerasundar.com/blog/2010/06/css-sorter-revamped/" title="CSS Sorter &#8211; Revamped">CSS Sorter &#8211; Revamped</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2010/08/slidr-html5-app-for-making-online-presentations/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Codered &#8211; Less SPAM, More Code!</title>
		<link>http://veerasundar.com/blog/2010/07/codered/</link>
		<comments>http://veerasundar.com/blog/2010/07/codered/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 12:24:46 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[codered]]></category>
		<category><![CDATA[cse]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[search]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=1677</guid>
		<description><![CDATA[I hardly got ay response for my question about custom search engine to search only in programming related websites. I asked this because, at times I felt that I have been spending more time in Google search result pages than in the actual pages itself. As you must be knowing, Google relies on PageRank and [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I hardly got ay response for <a href="http://twitter.com/vraa/status/18991322931">my question</a> about custom search engine to search only in programming related websites. I asked this because, at times I felt that I have been spending more time in Google search result pages than in the actual pages itself.</p>
<p>As you must be knowing, Google relies on PageRank and people know how to play around with PageRank. So, I usually get less relevant results on top of the ones which has more authentic data. Apart from this, I also wanted to reduce the noise in Google SERPs for my programming related queries. That was the reason why I needed a custom search engine.</p>
<p>Since no one replied (or there was no search engines like that) to my question, I created one for myself &#8211; <a title="CODERED - Less SPAM, More Code!" href="http://veerasundar.com/app/codered/"><strong style="color: #000;">CODE<span style="color: #f00;">RED</span></strong></a>. It&#8217;s a Google custom search engine which will only search in programming related websites. Not anything innovative &#8211; Just added my favorite websites to Google&#8217;s list (which you can achieve it using <strong>site:<em>yoursitename</em></strong> filter too, manually!).</p>
<p>But which websites the <a title="CODERED - Less SPAM, More Code!" href="http://veerasundar.com/app/codered/"><strong style="color: #000;">CODE<span style="color: #f00;">RED</span></strong></a> searches? Well, currently there are <a href="http://veerasundar.com/app/codered/sites.html">few good websites</a> that I have added to <a title="CODERED - Less SPAM, More Code!" href="http://veerasundar.com/app/codered/"><strong style="color: #000;">CODE<span style="color: #f00;">RED</span></strong></a>. If you would like to add to this list (you can recommend your blog too!), please give your <a href="http://veerasundar.com/app/codered/suggest.html">suggestion here</a>. Thanks!</p>
<p>Of course, please let me know your thoughts about this.</p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=1677&type=feed" alt="" /><h2  class="related_post_title">Related Articles (System generated)</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2010/07/google-is-good-but/" title="Google is good, but&#8230;">Google is good, but&#8230;</a></li><li><a href="http://veerasundar.com/blog/2010/06/css-sorter-revamped/" title="CSS Sorter &#8211; Revamped">CSS Sorter &#8211; Revamped</a></li><li><a href="http://veerasundar.com/blog/2009/08/google-caffeine-the-next-version-of-google-search/" title="Google Caffeine : The next version of Google Search">Google Caffeine : The next version of Google Search</a></li><li><a href="http://veerasundar.com/blog/2009/04/google-has-brought-the-java-to-appengine/" title="Google has brought the Java to AppEngine">Google has brought the Java to AppEngine</a></li><li><a href="http://veerasundar.com/blog/2008/11/google-searchwiki-an-answer-to-wikia/" title="Google searchWiki &#8211; an answer to Wikia?">Google searchWiki &#8211; an answer to Wikia?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2010/07/codered/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>CSS Sorter &#8211; Revamped</title>
		<link>http://veerasundar.com/blog/2010/06/css-sorter-revamped/</link>
		<comments>http://veerasundar.com/blog/2010/06/css-sorter-revamped/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 16:41:36 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[app-engine]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css-sorter]]></category>
		<category><![CDATA[gae]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=1573</guid>
		<description><![CDATA[If you remember, some time back I had released a small Java application called CSS Sorter that sorts the Cascading Style Sheet rules alphabetically. That application was developed based on Google&#8217;s App Engine Java platform. I took that project as a learning exercise to know more about Google App Engine development and it served well [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>If you remember, some time back I had released a small Java application called <a title="CSS Sorter sorts the style rules alphabetically. It's a FREE online service." href="http://csssorter.appspot.com/">CSS Sorter</a> that sorts the Cascading Style Sheet rules alphabetically. That application was developed based on Google&#8217;s <a title="With App Engine, you can build web applications using standard Java technologies and run them on Google's scalable infrastructure. The Java environment provides a Java 6 JVM, a Java Servlets interface, and support for standard interfaces to the App Engine scalable datastore and services, such as JDO, JPA, JavaMail, and JCache. Standards support makes developing your application easy and familiar, and also makes porting your application to and from your own servlet environment straightforward" href="http://code.google.com/appengine/docs/java/overview.html">App Engine Java platform</a>. I took that project as a learning exercise to know more about Google App Engine development and it served well for that purpose.</p>
<p>However, the CSS Sorter tool was lacking few functionality and it had some bugs too (thanks to <a href="http://twitter.com/sonnes">@sonnes</a> for reporting <a href="http://twitter.com/sonnes/status/14147163335">one</a>). I was holding the CSS sorter revamping plan for the past few weeks, mainly because the programming in my old laptop was a pathetic experience (hope my old laptop doesn&#8217;t read this post! <img src='http://veerasundar.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ). Since now I&#8217;m a proud owner of a new <a title="Bought a new laptop" href="http://veerasundar.com/blog/2010/05/bought-a-new-laptop-acer-aspire-5738z/">powerful machine</a>, I took up the revamping and here you go &#8211; the new <a title="CSS Sorter sorts the style rules alphabetically. It's a FREE online service." href="http://csssorter.appspot.com/"><strong>CSS Sorter</strong></a>.</p>
<p><a href="http://csssorter.appspot.com/"><img class="aligncenter size-full wp-image-1578" title="css-sorter" src="http://veerasundar.com/blog/wp-content/uploads/2010/06/css-sorter.png" alt="css sorter screenshot" width="550" /></a></p>
<h2>What did I fix:</h2>
<ul>
<li>Fixed a bug, that removed the forward slashes in any URLs that are present in CSS.</li>
<li>Added new ways to input CSS files. Now you can either <em>Copy &amp; Paste </em>your CSS code or <em>Upload a CSS File </em>or <em>Enter an URL </em>which contains a CSS file.</li>
<li>Redesigned the user interface.</li>
</ul>
<p>I have few more plans also in my mind to develop. Hopefully I&#8217;ll release those soon.</p>
<p>Disclaimer: I would recommend you to take a <strong>backup</strong> of your CSS file, in case this tool mess up your CSS file after processing. <img src='http://veerasundar.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  But if you notice any bugs, please <a title="Contact me" href="http://veerasundar.com/blog/contact/">let me know</a> so that I&#8217;ll fix it.</p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=1573&type=feed" alt="" /><h2  class="related_post_title">Related Articles (System generated)</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/04/google-has-brought-the-java-to-appengine/" title="Google has brought the Java to AppEngine">Google has brought the Java to AppEngine</a></li><li><a href="http://veerasundar.com/blog/2009/12/hosting-java-applications-in-the-web/" title="Hosting Java applications in the web">Hosting Java applications in the web</a></li><li><a href="http://veerasundar.com/blog/2010/07/codered/" title="Codered &#8211; Less SPAM, More Code!">Codered &#8211; Less SPAM, More Code!</a></li><li><a href="http://veerasundar.com/blog/2010/07/infinite-scroll-loading-content-while-scrolling-using-java-and-jquery/" title="Infinite scroll : Loading content while scrolling, using Java and JQuery">Infinite scroll : Loading content while scrolling, using Java and JQuery</a></li><li><a href="http://veerasundar.com/blog/2010/05/google-wave-opened-to-public-are-you-using-it/" title="Google Wave opened to public &#8211; are you using it?">Google Wave opened to public &#8211; are you using it?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2010/06/css-sorter-revamped/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Best Linux platform for Web and Java development?</title>
		<link>http://veerasundar.com/blog/2010/01/best-linux-platform-for-web-and-java-development/</link>
		<comments>http://veerasundar.com/blog/2010/01/best-linux-platform-for-web-and-java-development/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 13:42:04 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=1247</guid>
		<description><![CDATA[I have been a Windows user ever since I started using computers. Be it my school, college or work &#8211; I have never used Unix / Linux for actual development work. Even though I have coded few lines of Perl in Unix, I don&#8217;t consider that as actual programming. Linux &#8211; sorry I just installed [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I have been a Windows user ever since I started using computers. Be it my school, college or work &#8211; I have never used Unix / Linux for actual development work. Even though I have coded few lines of Perl in Unix, I don&#8217;t consider<em> that </em>as actual programming. Linux &#8211; sorry I just installed one flavor in my laptop and then forgot about it!</p>
<p>So, why am I talking about Linux platform now? Well, I&#8217;m thinking of building a new PC some time soon and along with that I&#8217;m planning to switch to Linux. But I don&#8217;t have much knowledge about the several linux platforms, available out there. So, that&#8217;s why I&#8217;m reaching out to you.</p>
<h2>Choosing a &#8216;good&#8217; Linux distribution for Web and Java development:</h2>
<p>Here are my requirements:</p>
<ul>
<li>I need the <strong>LAMP environment</strong> &#8211; something like <a title="XAMPP – Apache, MySQL, PHP, Perl environment in Windows" href="http://veerasundar.com/blog/2009/07/xampp-apache-mysql-php-perl-environment-in-windows/">XAMPP</a> in Linux.</li>
<li>I need Java Development environment &#8211; <strong>Netbeans </strong>or <strong>Eclipse </strong>or any other IDE.</li>
<li>I need a good <strong><em>light-weight</em></strong><strong>Text Editor </strong>- something like <a title="Notepad++ – a cool source code editor" href="http://veerasundar.com/blog/2009/04/notepad-a-cool-source-code-editor/">Notepad++</a>.</li>
<li>I need <strong>Firefox</strong> &#8211; and all other <a title="20+ Firefox Add-ons for web developers" href="http://veerasundar.com/blog/2009/07/20-firefox-add-ons-for-web-developers/">web developer extensions</a>.</li>
<li>I need <strong>GIMP</strong>, <strong>Subversion and a Media Player </strong>(Winamp?), <strong>a PDF reader</strong> and a <strong>FTP Client</strong> (WinSCP?).</li>
</ul>
<p>Those are my basic set of requirements as of now. Please <strong>suggest a good Linux distribution</strong> which is capable of satisfying my needs above.</p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=1247&type=feed" alt="" /><h2  class="related_post_title">Most Popular Posts (User generated)</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/01/how-to-change-the-root-password-for-mysql-in-xampp/" title="How to change the &#8216;root&#8217; password for MySQL in XAMPP?">How to change the &#8216;root&#8217; password for MySQL in XAMPP?</a></li><li><a href="http://veerasundar.com/blog/2009/07/log4j-tutorial-adding-log4j-logging-to-your-project/" title="Log4j Tutorial : Adding Log4j logging to your project">Log4j Tutorial : Adding Log4j logging to your project</a></li><li><a href="http://veerasundar.com/blog/2009/07/log4j-tutorial-how-to-send-the-log-messages-to-a-file/" title="Log4j Tutorial : How to send the log messages to a File">Log4j Tutorial : How to send the log messages to a File</a></li><li><a href="http://veerasundar.com/blog/2009/08/log4j-tutorial-additivity-what-and-why/" title="Log4j Tutorial: Additivity &#8211; what and why?">Log4j Tutorial: Additivity &#8211; what and why?</a></li><li><a href="http://veerasundar.com/blog/2010/01/spring-aop-example-profiling-method-execution-time-tutorial/" title="Spring AOP Example: Profiling method execution time tutorial">Spring AOP Example: Profiling method execution time tutorial</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2010/01/best-linux-platform-for-web-and-java-development/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Stockr &#8211; a Firefox extension for day traders of National Stock Exchange (NSE), India.</title>
		<link>http://veerasundar.com/blog/2009/12/stockr-home-page/</link>
		<comments>http://veerasundar.com/blog/2009/12/stockr-home-page/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 18:13:42 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[finance]]></category>
		<category><![CDATA[india]]></category>
		<category><![CDATA[loss]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[market]]></category>
		<category><![CDATA[nifty]]></category>
		<category><![CDATA[nse]]></category>
		<category><![CDATA[profit]]></category>
		<category><![CDATA[sensex]]></category>
		<category><![CDATA[shares]]></category>
		<category><![CDATA[stock]]></category>
		<category><![CDATA[stockr]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=1078</guid>
		<description><![CDATA[Stockr is an Firefox extension, developed by Veera Sundar. This extension is targeted to the day traders of Indian Stock Market, NSE (a.k.a. Nifty) for helping them to keep track of their profit/loss position on a given day. If you are more into the development and wants to know how this extension was developed, you [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><strong>Stockr </strong>is an Firefox extension, developed by Veera Sundar. This extension is targeted to the day traders of Indian Stock Market, NSE (a.k.a. Nifty) for helping them to keep track of their profit/loss position on a given day.</p>
<div style="background-color:#FFFFCA;padding:3px;margin:10px 0;">If you are more into the development and wants to know how this extension was developed, you may check my other post &#8211; <a title="Developing a Firefox extension" href="http://veerasundar.com/blog/2009/12/developing-a-firefox-extension-the-complete-tutorial/">Developing a Firefox Extension &#8211; The Complete Tutorial</a>, for more details.</div>
<h2>Can I use this extension?</h2>
<p>If you do day trade in National Stock Exchange of India, the answer is YES! If you have a demat account with ICICIDirect.com, then you may find this extension helpful. Because this extension gets the stock prices from ICICIDirect.com website and make use of the stock codes from that site. For example, ICICIDirect.com uses the code SUZENE for Suzlon. So, its <strong>highly recommended </strong>to use the ICICIDirect.com&#8217;s code convention while using this extension. If not, this extension might not work as expected.</p>
<p>You can find the ICICIDirect.com&#8217;s code for all stocks here (it&#8217;s a pop-up) : <a title="ICICIDirect.com Find Symbol" href="http://content.icicidirect.com/findsymbolchart.asp?Symbol=suzlon">Find Symbol for Stocks in ICICIDirect.com</a></p>
<h2>How do I use this extension?</h2>
<ol>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/52363/">Download Stockr</a> from Firefox&#8217;s Addons Gallery and install it.</li>
<li>After restarting Firefox, you may see a text label &#8216;<strong>stockr&#8217;</strong> at the Firefox&#8217;s status bar. If yes, then the extension is ready for use.
<p style="text-align:center;margin:10px 0;"><img title="Stockr Screenshot - Installing Stockr" src="http://i187.photobucket.com/albums/x201/talktoveera/stock-scrn-1.png" alt="Stockr - a Firefox extension for day traders of National Stock Exchange (NSE), India." /></p>
</li>
<li>Now right click on the <strong>stockr </strong>label and select <strong>Configure Stock.</strong>
<p style="text-align:center;margin:10px 0;"><img title="Stockr Screenshot - Adding Stocks" src="http://i187.photobucket.com/albums/x201/talktoveera/stock-scrn-2.png" alt="Stockr - a Firefox extension for day traders of National Stock Exchange (NSE), India." /></p>
</li>
<li>Below dialog box will be displayed, where you can configure the stock details. Please note that the stock code in this screen is need to be <a title="Find stock symbol from company names" href="http://content.icicidirect.com/findsymbolchart.asp?Symbol=suzlon">get from ICICIDirect.com website</a>. For example, here I&#8217;m entering SUZENE, which represents the Suzlon Enery.
<p style="text-align:center;margin:10px 0;"><img title="Stockr Screenshot - Adding Stocks" src="http://i187.photobucket.com/albums/x201/talktoveera/stock-scrn-3.png" alt="Stockr - a Firefox extension for day traders of National Stock Exchange (NSE), India." /></p>
</li>
<li>After entering the stock details, press save and your information will be saved in the Firefox&#8217;s preferences. This ensures that even after you close and re-start Firefox, the stock details will be preserved. Click OK to close the dialog box.
<p style="text-align:center;margin:10px 0;"><img title="Stockr Screenshot - Adding Stock Price" src="http://i187.photobucket.com/albums/x201/talktoveera/stock-scrn-4.png" alt="Stockr - a Firefox extension for day traders of National Stock Exchange (NSE), India." /></p>
</li>
<li>That&#8217;s it. The configuration is done now. Now Stockr will fetch the latest value of SUZENE from ICICIDirect.com and will calculate the profit/loss based on the values you&#8217;d given and then updates the result in the status-bar. This process continues for every 5 seconds.
<p style="text-align:center;margin:10px 0;"><img title="Stockr Screenshot - Stockr at work" src="http://i187.photobucket.com/albums/x201/talktoveera/stock-scrn-5.png" alt="Stockr - a Firefox extension for day traders of National Stock Exchange (NSE), India." /></p>
</li>
<li>If you want to stop tracking, then right clock on the Stockr extension and then select <strong>Remove Stock.</strong>
<p style="text-align:center;margin:10px 0;"><img title="Stockr Screenshot - Stockr at work" src="http://i187.photobucket.com/albums/x201/talktoveera/stock-scrn-6.png" alt="Stockr - a Firefox extension for day traders of National Stock Exchange (NSE), India." /></p>
</li>
</ol>
<h2>What next for Stockr &#8211; the Road map</h2>
<p>Here are the few things that I&#8217;m planning to do in the next few months on Stockr:</p>
<ol>
<li>Add a proper and better error handling.</li>
<li>Functionality to track more than one stock at a time.</li>
<li>Ability to source the information from multiple websites to reduce the dependency on ICICIDirect.com.</li>
<li>Currently the extension uses JQuery for communication. Have to replace this with native AJAX calls, which may reduce the extension size considerably.</li>
<li>Some fancy, eye-catchy alerts when stock price reaches a particular value &#8211; this feature will bring back the JQuery into picture, again.</li>
</ol>
<h2>Questions/Suggestions/Complaints/Feature Requests</h2>
<p>If you have any of the above, then don&#8217;t have it yourself. Feel free  to leave a comment, so that I&#8217;ll be able to respond A.S.A.P.</p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=1078&type=feed" alt="" /><h2  class="related_post_title">Related Articles (System generated)</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2010/08/slidr-html5-app-for-making-online-presentations/" title="Slidr &#8211; HTML5 app for making online presentations">Slidr &#8211; HTML5 app for making online presentations</a></li><li><a href="http://veerasundar.com/blog/2010/06/css-sorter-revamped/" title="CSS Sorter &#8211; Revamped">CSS Sorter &#8211; Revamped</a></li><li><a href="http://veerasundar.com/blog/2010/05/google-wave-opened-to-public-are-you-using-it/" title="Google Wave opened to public &#8211; are you using it?">Google Wave opened to public &#8211; are you using it?</a></li><li><a href="http://veerasundar.com/blog/2010/05/behind-the-names/" title="Behind the Names">Behind the Names</a></li><li><a href="http://veerasundar.com/blog/2010/02/remember-bhuvan/" title="Remember Bhuvan?">Remember Bhuvan?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/12/stockr-home-page/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Developing a Firefox Extension &#8211; the complete tutorial!</title>
		<link>http://veerasundar.com/blog/2009/12/developing-a-firefox-extension-the-complete-tutorial/</link>
		<comments>http://veerasundar.com/blog/2009/12/developing-a-firefox-extension-the-complete-tutorial/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 09:03:10 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[addon]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=1026</guid>
		<description><![CDATA[I hope that you have got a basic idea about the Firefox extension development from my previous posts. In this post, lets actually start developing a simple Firefox extension. What are we going to build? We are going to build a extension for helping the people who are doing the day trading in NSE of [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I hope that you have got a basic idea about the Firefox extension development from <a title="Developing a Firefox Extension : Getting Started" href="http://veerasundar.com/blog/2009/11/developing-a-firefox-extension-getting-started/">my</a> <a title="Developing a Firefox Extension – the story behind it" href="http://veerasundar.com/blog/2009/11/developing-a-firefox-extension-the-story-behind-it/">previous</a> <a title="Developing a Firefox Extension – the XPI file and XUL" href="http://veerasundar.com/blog/2009/11/developing-a-firefox-extension-the-xpi-file-and-xul/">posts</a>. In this post, lets actually start developing a simple Firefox extension.</p>
<h2>What are we going to build?</h2>
<p>We are going to build a extension for helping the people who are doing the day trading in NSE of Indian Stock Market. The user can use our extension to monitor her profit/loss on a given day, after configuring the stock details that she bought. We will be using ICICIDirect.com for getting the stock prices. Lets name this extension as <strong>Stockr</strong> (sounds web2, isn&#8217;t it? <img src='http://veerasundar.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ).</p>
<div style="background-color:#FFFFCF; padding:5px;"><strong>Important:</strong> The Firefox extension that we are going to build in this post is already uploaded to Firefox&#8217;s gallery &#8211; <a title="Stokcr - NSE (India) Stock price tracking extension" href="https://addons.mozilla.org/en-US/firefox/addon/52363">Stockr extension</a>. By downloading the extension, you get to run it and you get the source code too. So, <strong>I recommend </strong>to <a title="Download Stockr extension" href="https://addons.mozilla.org/en-US/firefox/addon/52363">download the extension</a> and extract it to get the source code, which will help you in understanding this tutorial better.</div>
<h2>Summary of steps to build a Firefox extension</h2>
<ol>
<li>Create a new Firefox profile (optional, but recommended).</li>
<li>Create the folder structure for the Firefox extension.</li>
<li>Decide on the extension name and edit the <em>install.rdf </em>with the extension descriotion and author information.</li>
<li>Create your extension user interface as a XUL file, with depended JavaScripts, if any and put them under the <em>chrome/content/ </em>folder.</li>
<li>Link your extension with the Firefox UI by editing the <em>chrome.manifest </em>file.</li>
<li>Test your extension and edit if necessary (recursive step).</li>
<li>Bundle your extension and distribute.</li>
</ol>
<h2>1. Create a Firefox profile</h2>
<p>By creating a new Firefox profile, we are making sure that the <em>default</em> Firefox profile is not affected due to our development activities. At any time we can switch back to the default profile, if we want to use Firefox for just browsing. Off course, you can continue the extension development with out creating a new Firefox profile. It will do no harm. But it is recommended to have a <em>development</em> profile. You can check my last article to know more about <a title="How to create a new Firefox profile" href="http://veerasundar.com/blog/2009/11/developing-a-firefox-extension-getting-started/" target="_blank">Firefox profiles and how to create a new one</a>.</p>
<h2>2. Firefox extension &#8211; Folder Structure</h2>
<p>If you are familiar with Java web applications, you must be knowing that each application follows a certain folder structure. Similar to that, there is a folder structure for the Firefox extension also which tells about how things are organized and what are all the mandatory files to be present in an extension. You can create these files anywhere in your system (C:\dev\ff\stockr, for example). For our <em>Stockr </em>extension, the folder structure looks like:</p>
<pre class="brush:text">stockr\
        install.rdf
        chrome.manifest
        chrome\
                  content\</pre>
<h2>3. Edit install.rdf for extension description and installation info</h2>
<p>This is an important step. By editing <em>install.rdf</em> file, you are telling the Firefox about the name of your extension, a description, upto what Firefox versions your extension is compatible, who developed it, etc, etc. If there are any errors in this file, then there are chances that your extension will not be properly installed. Now open your <em>install.rdf</em> file, and copy the below lines into it.</p>
<pre class="brush:xml">&lt;RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#"&gt;

  &lt;Description about="urn:mozilla:install-manifest"&gt;
    &lt;em:id&gt;stockr@veerasundar.com&lt;/em:id&gt;
    &lt;em:version&gt;1.0&lt;/em:version&gt;
    &lt;em:type&gt;2&lt;/em:type&gt;

    &lt;!-- Target Application this extension can install into,
         with minimum and maximum supported versions. --&gt;
    &lt;em:targetApplication&gt;
      &lt;Description&gt;
        &lt;em:id&gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&lt;/em:id&gt;
        &lt;em:minVersion&gt;1.5&lt;/em:minVersion&gt;
        &lt;em:maxVersion&gt;3.5.*&lt;/em:maxVersion&gt;
      &lt;/Description&gt;
    &lt;/em:targetApplication&gt;

    &lt;!-- Front End MetaData --&gt;
    &lt;em:name&gt;Stockr&lt;/em:name&gt;
    &lt;em:description&gt;NSE (India) Stock price tracking extension.&lt;/em:description&gt;
    &lt;em:creator&gt;Veerasundar&lt;/em:creator&gt;
    &lt;em:homepageURL&gt;http://www.veerasundar.com&lt;/em:homepageURL&gt;
  &lt;/Description&gt;
&lt;/RDF&gt;</pre>
<div style="background-color:#FFFFCF; padding:5px;"><strong>Important</strong>: For your extension, be sure to change the value <em>stockr@veerasundar.com </em>to a different one. This is the <strong>unique id </strong>for each Firefox extension and it should be in the form of an email address (need not to be a <em>real </em>address). And you can edit the other information like extension description, etc. I hope no explanation is needed there.</div>
<p>Another notable setting here is the <em>&lt;em:maxVersion&gt; </em>which tells the maxium version of Firefox compatible with your extension. I&#8217;ve set it as 3.5.* so, my extension is compatible with Firefox 3.5.1, 3.5.2, &#8230;</p>
<h2>4. Create the extension UI using XUL</h2>
<p>Now create a new file <em>stockr-ui.xul </em>isnide the directory <em>stockr/chrome/content/ </em>and copy the below lines into it.</p>
<pre class="brush:xml">&lt;?xml version="1.0"?&gt;
&lt;overlay id="sample" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" &gt;

	&lt;script type="text/javascript" src="stockr-script.js"&gt;&lt;/script&gt;
	&lt;script type="text/javascript" src="jquery-1.3.2.min.js"&gt;&lt;/script&gt;

	&lt;statusbar id="status-bar"&gt;
		&lt;statusbarpanel id="stockr-panel" context="stockr-ctx-menu"&gt;
			&lt;label id="stockr-display" tooltiptext="Right click and Add stock to start monitoring"&gt;Stockr&lt;/label&gt;
			&lt;image id="status-image" src="chrome://stockr/content/none.png"/&gt;
		&lt;/statusbarpanel&gt;

		&lt;menupopup id="stockr-ctx-menu"&gt;
			&lt;menuitem label="About Stockr" oncommand="stockr.about()"/&gt;
			&lt;menuseparator/&gt;
			&lt;menuitem label="Refresh" oncommand="stockr.refresh()"/&gt;
			&lt;menuitem label="Clear Stock" oncommand="stockr.clear()"/&gt;
			&lt;menuitem label="Add Stock" oncommand="stockr.addStockCode()"/&gt;
		&lt;/menupopup&gt;
	&lt;/statusbar&gt;

&lt;/overlay&gt;</pre>
<p>As you can see in the code above, we are creating a <em>overlay </em>element. You can place the overlay element over the top of Firefox UI. Then inside, we are defining a <em>statusbar </em>element with the id = &#8220;status-bar&#8221;. This is the ID of Firefox&#8217;s statusbar. So our extension UI will be attached to the standard statusbar.</p>
<p>You can modify these elements in a similar way you modify any other HTML elements using JavaScript. For example, we have defined a &lt;label&gt; element with an ID <em>stockr-display</em>. So, from my JavaScript, I would be getting this element as <em>document.getElementByID </em>and then I&#8217;ll be modifying the content the usual way as how I do it for a HTML element. To make things clear, lets look at the JavaScript code, too. Blow are the contents of the <em>stockr/chrome/content/</em><em>stockr-script.js</em>, which we had already included in our <em>stockr-ui.xul</em> file.</p>
<pre class="brush:javascript">var DO_STOCK_TRACKING = true;
var tickerTimer;

function Transaction(stockCode, boughtPrice, numOfShares){

	// attributes
	this.stockCode = stockCode;
	this.boughtPrice = boughtPrice;
	this.numOfShares = numOfShares;

	// methods

	// fetch the latest price of this stock from ICICI site and returns it.
	this.getStockCurrentPrice = function(){

	},

	// return the profit/loss position as a formatted string
	this.refreshTransactionPosition = function(){

		if(!DO_STOCK_TRACKING){
			return;
		}

		var SRC_URL = "http://getquote.icicidirect.com/trading/equity/trading_stock_quote.asp?Symbol=";
		var queryString = SRC_URL + this.stockCode;

		var panel = document.getElementById('stockr-display');
		var statusImage = document.getElementById('status-image');
		statusImage.src = "chrome://stockr/content/ajax-loader.gif";

		$.get(queryString, function(data){

			var filteredData = data.substr(data.indexOf("PRICE"), 120);
			var currentPrice = parseFloat(filteredData.match(/[\d\.\d]+/));

			var priceDiff = (currentPrice - boughtPrice)*numOfShares;

			// now round the price difference
			priceDiff = Math.round(priceDiff * 100)/100;

			var position = "";
			if(priceDiff &lt; 0){
				position = stockCode + " : " + priceDiff;
				statusImage.src = "chrome://stockr/content/down.png";

			}else{
				position =  stockCode + " : " + priceDiff;
				statusImage.src = "chrome://stockr/content/up.png";
			}
			panel.value = position;

			// set the timeout for next data refresh
			tickerTimer = setTimeout("stockr.refresh()", 10*1000);
		});

	}
}

// the stock variable
var tx;

var stockr = function(){
	return{
		init: function(){
			var panel = document.getElementById('stockr-display');
			panel.value = 'Stockr';
			panel.tooltiptext = "Right click and add stock to start monitoring";
		},

		addStockCode: function(){

			var stockCode = prompt("Enter the stock code: (from ICICIDirect.com) ");
			stockCode = stockCode.toUpperCase();
			var stockPrice = prompt("At what price did you buy " + stockCode + " ?");
			var numOfStocks = prompt ("How many " + stockCode + " did you buy?");

			tx = new Transaction(stockCode, stockPrice, numOfStocks);
			DO_STOCK_TRACKING = true;
			this.refresh();
		},

		clear: function(){

			DO_STOCK_TRACKING = false;
			clearTimeout(tickerTimer);

			var panel = document.getElementById('stockr-display');
			var statusImage = document.getElementById('status-image');
			statusImage.src = "chrome://stockr/content/none.gif";
			panel.value = 'Stockr - NSE Stock Tracker';

		},

		refresh: function(){
			tx.refreshTransactionPosition();
		}

	};
}();

window.addEventListener("load", stockr.init, false);</pre>
<p>A lot of code, isn&#8217;t it? Anyway, I&#8217;m not going to explain it line by line, since mostly it is the business logic. Just go through the function <em>refreshTransactionPosition() </em>as it contains core logic of fecthing new stock values and updating it on the UI. If you have any doubts/questions, ask it in the comments. I&#8217;ll try to clarify.</p>
<div style="background-color:#FFFFCF; padding:5px;"><strong>Important: </strong>My JavaScript code make use of the JQuery library. So, in order to run this script, you may need to place the JQuery libary under the folder <em>stockr/chrome/content/.</em></div>
<h2>5. Linking our extension with Firefox UI</h2>
<p>Now we are so close to complete. In this step, we will link our extension UI with the Firefox UI so that when Firefox loads, it will also show our extension over the status-bar (remember stockr-ui.xul, where we attached our panel to status-bar?). Now open the<em> chrome.manifest </em>and copy the below lines into it.</p>
<pre class="brush:text">content stockr chrome/content/
overlay chrome://browser/content/browser.xul chrome://stockr/content/stockr-ui.xul</pre>
<p>Whoa! Finally,  a file with just two lines in it!! <img src='http://veerasundar.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Okay, Jokes apart.What we are doing in this file is we are informing the Firefox to draw our extension UI over the browser UI. In our <em>stockr-ui.xul, </em>we have attached the extension to the status-bar. So, when Firefox loads, our extension UI will be sitting quitely on the Firefox&#8217;s status-bar.</p>
<h2>6. Testing our extension</h2>
<p>The next step is to, obviously, testing our extension. We need to tell Firefox to load/install our extension. To do that, follow these steps:</p>
<ol>
<li>In Windows, navigate to your Firefox&#8217;s profile directory. In its a <em>default </em>profile, then usually it is : C:\Documents and Settings\user_name\Application Data\Mozilla\Firefox\Profiles\e7rhpqb4.default\</li>
<li>Now open the <em>extensions </em>folder (create one, if there is none!).</li>
<li>Create a text file in the name of your extension <strong>unique id </strong>(which we gave it while editing <em>install.rdf</em> file). So, for our extension, it will be <em>stockr@veerasundar.com</em>.</li>
<li>Now enter the full path of your extension location. i.e. C:\dev\ff\stockr inside the file and save it. This acts like a shortcut for the Firefox to navigate to this folder and load the extension.</li>
</ol>
<p>After done the above, re-start the Firefox and Bingo! There is our first extension running successfully (if you did every thing right!).</p>
<h2>7. Bundle and Distribute</h2>
<p>The FINAL step. Bundle your extension files, which is under <em>C:\dev\ff\stockr\</em>and save it as a zip file &#8211; stockr.zip. This is our final deleivarable. You can distribute this to any person who is using Firefox. You can even <a title="Submit New Firefox Add-on" href="https://addons.mozilla.org/en-US/developers/addon/submit">upload it to Firefox&#8217;s extension gallery</a>, to share it with the world!</p>
<div style="background-color:#FFFFCF; padding:5px;"><strong>Important:</strong> The <a title="Stokcr - NSE (India) Stock price tracking extension" href="https://addons.mozilla.org/en-US/firefox/addon/52363">Stockr extension</a> is already uploaded to Firefox&#8217;s galley and available for download.</div>
<p>So, with that we come to the end of this tutorial. I hope that you liked it, as I did. Do share your thoughts and questions (if any). I&#8217;ll try to clarify it.</p>
<div class="linkad">Join the professional <a href="http://www.testking.com/642-812.htm">testking 642-812</a> web development course to become expert web developer. Download <a href="http://www.testking.com/642-902.htm">testking 642-902</a> tutorials and <a href="http://www.testking.com/220-701.htm">testking 220-701</a> study guides to learn how to develop firefox extensions using java script technologies.</div>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=1026&type=feed" alt="" /><h2  class="related_post_title">Related Articles (System generated)</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/11/developing-a-firefox-extension-getting-started/" title="Developing a Firefox Extension : Getting Started">Developing a Firefox Extension : Getting Started</a></li><li><a href="http://veerasundar.com/blog/2009/11/developing-a-firefox-extension-the-story-behind-it/" title="Developing a Firefox Extension &#8211; the story behind it">Developing a Firefox Extension &#8211; the story behind it</a></li><li><a href="http://veerasundar.com/blog/2009/11/developing-a-firefox-extension-the-xpi-file-and-xul/" title="Developing a Firefox Extension &#8211; the XPI file and XUL">Developing a Firefox Extension &#8211; the XPI file and XUL</a></li><li><a href="http://veerasundar.com/blog/2009/05/can-firefox-be-used-as-an-end-to-end-web-development-ide/" title="Can Firefox be used as an end-to-end web development IDE ?">Can Firefox be used as an end-to-end web development IDE ?</a></li><li><a href="http://veerasundar.com/blog/2010/02/5-ways-of-effectively-using-firebug-to-edit-html-css/" title="5 Ways of effectively using Firebug to edit HTML, CSS">5 Ways of effectively using Firebug to edit HTML, CSS</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/12/developing-a-firefox-extension-the-complete-tutorial/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Notepad or IDE &#8211; What&#8217;s your preference?</title>
		<link>http://veerasundar.com/blog/2009/11/notepad-or-ide-whats-your-preference/</link>
		<comments>http://veerasundar.com/blog/2009/11/notepad-or-ide-whats-your-preference/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 17:56:04 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[notepad++]]></category>
		<category><![CDATA[poll]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=1021</guid>
		<description><![CDATA[Lately, I read an article, which talked about Microsoft developers preferring text editors for application development, instead of an visual IDE. It&#8217;s surprising to see this kind of statement coming from developers, whose company is in the business of making Visual IDEs for years. Anyway, its personal preference, rather than the company&#8217;s. If you ask [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Lately, I read an article, which talked about <a title="Microsoft's top developers prefer old-school coding methods" href="http://www.computerworld.com/s/article/9141465/Microsoft_s_top_developers_prefer_old_school_coding_methods">Microsoft developers preferring text editors</a> for application development, instead of an visual IDE. It&#8217;s surprising to see this kind of statement coming from developers, whose company is in the business of making Visual IDEs for years. Anyway, its personal preference, rather than the company&#8217;s.</p>
<p>If you ask about my preference, I would say that I prefer both an Text Editor and an Visual IDE. Since I code in HTML/CSS and the Java Servlets/JSPs, its needed to have both versions of development tools at my system. For HTML/CSS, I can&#8217;t trust an IDE, since it will bloat my source code with unwanted tags and styles. And for Servlets/JSPs, I can&#8217;t risk my productivity with an text editor.</p>
<p>But that scenario applies only when I&#8217;m at my office. <a title=" Development environment @ home" href="http://veerasundar.com/blog/2008/12/development-environment-home/">At home</a>, I&#8217;ll always prefer to use an text code editor, such as <a title=" Notepad++ – a cool source code editor" href="http://veerasundar.com/blog/2009/04/notepad-a-cool-source-code-editor/">Notepad++</a>. The advantages, if you ask, text editor saves me lots of computer memory, allowing me to remember the Java API/CSS style properties at my finger tips, allow me to focus only on the coding and nothing else, etc, etc. Even my Editor Notepad++ comes with an Compile/Run option, so I don&#8217;t even need to use command line for running my applications.</p>
<h2>Its time to hear from you!</h2>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=1021&type=feed" alt="" /><h2  class="related_post_title">Related Articles (System generated)</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/12/how-do-you-use-logging-in-your-application/" title="How do you use logging in your application?">How do you use logging in your application?</a></li><li><a href="http://veerasundar.com/blog/2009/04/notepad-a-cool-source-code-editor/" title="Notepad++ &#8211; a cool source code editor">Notepad++ &#8211; a cool source code editor</a></li><li><a href="http://veerasundar.com/blog/2010/05/behind-the-names/" title="Behind the Names">Behind the Names</a></li><li><a href="http://veerasundar.com/blog/2010/01/what-does-oracle-plan-for-netbeans-ide/" title="What does Oracle plan for Netbeans IDE?">What does Oracle plan for Netbeans IDE?</a></li><li><a href="http://veerasundar.com/blog/2010/01/happy-birthday-2010/" title="Happy Birthday, 2010!">Happy Birthday, 2010!</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/11/notepad-or-ide-whats-your-preference/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Good news for GIMP users : GIMP 2.8 supports single window mode!</title>
		<link>http://veerasundar.com/blog/2009/09/good-news-for-gimp-users-gimp-2-8-supports-single-window-mode/</link>
		<comments>http://veerasundar.com/blog/2009/09/good-news-for-gimp-users-gimp-2-8-supports-single-window-mode/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 01:49:28 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[gimp]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[photoshop]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=791</guid>
		<description><![CDATA[I&#8217;ve been using the GIMP application for more than 4 years now. GIMP is the best free alternative for the commercial Photoshop that I could find in the market.GIMP provides more or less the same feature that Photoshop provides, but free of cost. Even though I&#8217;m highly satisfied with GIMP, the one concern I&#8217;d was [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I&#8217;ve been using the <a title="GIMP is the GNU Image Manipulation Program. It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring." href="http://www.gimp.org/">GIMP</a> application for more than 4 years now. GIMP is the best <em>free</em> alternative for the <em>commercial</em> Photoshop that I could find in the market.GIMP provides more or less the same feature that Photoshop provides, but free of cost. Even though I&#8217;m highly satisfied with GIMP, the one concern I&#8217;d was that the GIMP user interface can&#8217;t support single window mode. I.e. if you open GIMP application, the Toolbox will be in it&#8217;s own window, the main workspace will be in it&#8217;s own window and the every other dialog box you open in GIMP will take it&#8217;s own window, thus resulting cluttered taskbar and hard to manage multiple windows. The current GIMP UI looks something similar like this.<br />
<a title="cluttered user interface of GIMP" href="http://i187.photobucket.com/albums/x201/talktoveera/gimp-screenshot.png"><img title="Cluttered user interface of GIMP" src="http://i187.photobucket.com/albums/x201/talktoveera/gimp-screenshot.png" alt="Cluttered user interface of GIMP" width="95%" /></a><br />
<em>Clustered user interface of GIMP</em></p>
<p>But, here&#8217;s the good news for the GIMP users who are fed up with the non-convenient UI &#8211; <strong>GIMP 2.8 comes with the support for single window mode</strong>. Yes! you can switch between multi and single window menu easily in GIMP 2.8. The prototype of GIMP 2.8 single window mode can be seen below:<br />
<a title="Single window mode enabled in GIMP 2.8 : Screenshot" href="http://i187.photobucket.com/albums/x201/talktoveera/lgmsingleL.jpg"><img title="Single window mode enabled in GIMP 2.8 : Screenshot" src="http://i187.photobucket.com/albums/x201/talktoveera/lgmsingleL.jpg" alt="Single window mode enabled in GIMP 2.8 : Screenshot" width="95%" /></a><br />
<em>Single window mode enabled in GIMP 2.8 : Screenshot</em></p>
<p>Apart from the single window mode, there are several other user interface enhancements also planned for the next version of GIMP. Some features include comparing multiple images, thumbnail of opened images, improved pan and zoom. It is expected that all these features will be part of the GIMP 2.8 version. Even though the release dates for 2.8 version is not known yet, I hope that the GIMP team will release it soon.</p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=791&type=feed" alt="" /><h2  class="related_post_title">Related Articles (System generated)</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/07/google-image-search-introduces-searching-images-with-creative-commons-license/" title="Google Image search introduces searching images with Creative Commons License">Google Image search introduces searching images with Creative Commons License</a></li><li><a href="http://veerasundar.com/blog/2009/06/winscp-free-ftp-and-sftp-client-for-windows/" title="WinSCP &#8211; Free FTP and SFTP client for Windows">WinSCP &#8211; Free FTP and SFTP client for Windows</a></li><li><a href="http://veerasundar.com/blog/2009/04/notepad-a-cool-source-code-editor/" title="Notepad++ &#8211; a cool source code editor">Notepad++ &#8211; a cool source code editor</a></li><li><a href="http://veerasundar.com/blog/2008/11/staruml-and-argouml-compared/" title="starUML and argoUML &#8211; compared">starUML and argoUML &#8211; compared</a></li><li><a href="http://veerasundar.com/blog/2008/08/athapookkalam-photos-from-last-years-onam/" title="Athapookkalam photos from last year&#8217;s Onam">Athapookkalam photos from last year&#8217;s Onam</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/09/good-news-for-gimp-users-gimp-2-8-supports-single-window-mode/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>A Wiki in just one page</title>
		<link>http://veerasundar.com/blog/2009/07/a-wiki-in-just-one-page/</link>
		<comments>http://veerasundar.com/blog/2009/07/a-wiki-in-just-one-page/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 18:14:39 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[gtd]]></category>
		<category><![CDATA[note]]></category>
		<category><![CDATA[notes]]></category>
		<category><![CDATA[organize]]></category>
		<category><![CDATA[tiddlywiki]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=654</guid>
		<description><![CDATA[What do you do for organizing your notes? Do you use Notepad? Or OneNote? Or even the physical sticky notes !? What ever mehod you follow, it is always tough to effectively manage the bits and pieces of information. If you google for a tool to manage your notes, you will be flooded with the [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><center><img src="http://i187.photobucket.com/albums/x201/talktoveera/2542450115_6576d19185.jpg" alt="Organizing notes" title="Organizing notes" width="98%" /></center></p>
<p>What do you do for organizing your notes? Do you use Notepad? Or OneNote? Or even the physical sticky notes !? What ever mehod you follow, it is always tough to effectively manage the bits and pieces of information. If you google for a tool to manage your notes, you will be flooded with the n-number of tools out there in the web. If you are smart enough, you can even build your own tool for notes organization (I tried to <a title="developing a Java based tool for organizing notes" href="http://veerasundar.com/blog/2009/04/developing-a-java-based-tool-for-organizing-notes/">build one</a>, which is still in the development stage).</p>
<p>Recently I came to know about an interesting tool to manage/organize the notes. The best part is that the tool is just a <strong>single HTML page</strong>.</p>
<h2>TiddlyWiki &#8211; Single HTML page for organizing notes</h2>
<p>As taken from <a title="TiddlyWiki's Home page" href="http://www.tiddlywiki.com/" target="_blank">TiddlyWiki&#8217;s home page</a>:</p>
<blockquote>
<p><a title="TiddlyWiki is a single html file which has all the characteristics of a wiki - including all of the content, the functionality (including editing, saving, tagging and searching) and the style sheet. Because it's a single file, it's very portable - you can email it, put it on a web server or share it via a USB stick." href="http://www.tiddlywiki.com/" target="_blank">TiddlyWiki</a> is a single html file which has all the characteristics of a wiki &#8211; including all of the content, the functionality (including editing, saving, tagging and searching) and the style sheet. Because it&#8217;s a single file, it&#8217;s very portable &#8211; you can email it, put it on a web server or share it via a USB stick.</p>
</blockquote>
<p>Yup. TiddlyWiki is a single HTML file with all the <em>Wiki-like</em> features in-built. You can open a TiddlyWiki HTML file in any web browsers and you can work on it.</p>
<p>A TiddlyWiki page is made up of <em>tiddlers</em> which is nothing but the note that you want to save. You can add as many <em>tiddlers</em> as you want, edit existing tiddlers or delete them. TiddlyWiki provides an <em>save</em> option too for saving your modifications.</p>
<p>Since TiddlyWiki is free and Open source (the single HTML file has all the CSS/JavaScript), by using TiddlyWiki, you get to learn some good JavaScript coding and you get a free one page Wiki too! <a title="Download TiddleWiki from the home page" href="http://www.tiddlywiki.com/" target="_blank">Download and experience TiddlyWiki</a> and let me know what do you think about TiddlyWiki!</p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=654&type=feed" alt="" /><h2  class="related_post_title">Related Articles (System generated)</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2009/04/developing-a-java-based-tool-for-organizing-notes/" title="developing a Java based tool for organizing notes">developing a Java based tool for organizing notes</a></li><li><a href="http://veerasundar.com/blog/2009/03/the-notes/" title="The Notes">The Notes</a></li><li><a href="http://veerasundar.com/blog/2010/08/slidr-html5-app-for-making-online-presentations/" title="Slidr &#8211; HTML5 app for making online presentations">Slidr &#8211; HTML5 app for making online presentations</a></li><li><a href="http://veerasundar.com/blog/2010/06/css-sorter-revamped/" title="CSS Sorter &#8211; Revamped">CSS Sorter &#8211; Revamped</a></li><li><a href="http://veerasundar.com/blog/2010/05/google-wave-opened-to-public-are-you-using-it/" title="Google Wave opened to public &#8211; are you using it?">Google Wave opened to public &#8211; are you using it?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/07/a-wiki-in-just-one-page/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>XAMPP &#8211; Apache, MySQL, PHP, Perl environment in Windows</title>
		<link>http://veerasundar.com/blog/2009/07/xampp-apache-mysql-php-perl-environment-in-windows/</link>
		<comments>http://veerasundar.com/blog/2009/07/xampp-apache-mysql-php-perl-environment-in-windows/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 17:46:52 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[dev-env]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[web-dev]]></category>
		<category><![CDATA[xampp]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=640</guid>
		<description><![CDATA[Its kinda weird that I&#8217;e already blogged about changing the MySQL root password in XAMPP and changing Apache&#8217;s port number in XAMPP, but not a single post about what the XAMPP is. Well, this post will answer the question of what is XAMPP and why should we care about it. XAMPP &#8211; the development environment [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Its kinda weird that I&#8217;e already blogged about <a title="How to change the ‘root’ password for MySQL in XAMPP?" href="http://veerasundar.com/blog/2009/01/how-to-change-the-root-password-for-mysql-in-xampp/">changing the MySQL root password in XAMPP</a> and <a title="How to change XAMPP server port?" href="http://veerasundar.com/blog/2009/07/how-to-change-xampp-server-port/">changing Apache&#8217;s port number in XAMPP</a>, but not a single post about what the XAMPP is. Well, this post will answer the question of what is XAMPP and why should we care about it.</p>
<p><img src="http://i187.photobucket.com/albums/x201/talktoveera/1948064338_460b90964e.jpg" width="95%" alt="XAMPP Control panel screen shot" title="XAMPP Control panel screen shot" /></p>
<h2>XAMPP &#8211; the development environment for developers</h2>
<p>To put it short &#8211; <strong><a title="XAMPP is an easy to install Apache distribution containing MySQL, PHP and Perl. XAMPP is really very easy to install and to use - just download, extract and start." href="http://www.apachefriends.org/en/xampp.html" target="_blank">XAMPP</a></strong> is a easy to use web server package that comes bundled with <strong>Apache, MySQL, PHP</strong> and <strong>Perl</strong>. XAMPP helps the developer to easily setup the PHP/Perl development environment. So, when you <a title="Download XAMPP for Windows machine" href="http://www.apachefriends.org/en/xampp-windows.html#641" target="_blank">download and install XAMPP</a> in your Windows machine, XAMPP installs all the above mentioned packages and configures them properly, so that you can start using the server packages out of the box. As taken from the <a title="XAMPP server home page" href="http://www.apachefriends.org/en/xampp-windows.html" target="_blank">XAMPP&#8217;s home page</a>, the application supports following feature.</p>
<ul>
<li>Apache HTTPD 2.2.11 + Openssl 0.9.8i</li>
<li>MySQL 5.1.33</li>
<li>PHP 5.2.9</li>
<li>phpMyAdmin 3.1.3.1</li>
<li>XAMPP CLI Bundle 1.3</li>
<li>FileZilla FTP Server 0.9.31</li>
</ul>
<p>I came to know about XAMPP when I started learning PHP. That time, I was not comfortable with setting up a PHP development environment. So, I needed a out of a box solution which XAMPP fits perfectly. Within the minutes after the XMAPP installation, I could run my Apache server and MySQL database with a sample website. As XAMPP provides a control panel window, starting/stopping services are just a matter of mouse click. Since then, I&#8217;m using XAMPP for all my web developments. I used XAMPP to develop <a title="Timelinr is a simple web 2.0 application used for creating timelines online" href="http://veerasundar.com/blog/2009/02/timelinr-a-web-20-application-for-creating-timelines-online/">Timelinr</a> and using it for hosting my wordpress blog locally.</p>
<h2>Watch out for security in XAMPP</h2>
<p>And one important point about XAMPP is the <strong>security</strong>. Basically XAMPP is intended for <strong>development purpose,</strong> means that many security features are disable by default. For example, the XAMPP MySQL &#8216;root&#8217; user do not have any password. So, if you are planning to use XAMPP in production environment, it is important that you fix all the disabled security features in XAMPP. Do not worry, XAMPP provides a tool for fixing the security, which I&#8217;ll be explaining in my next post. Meanwhile, you can check ouy my earlier articles <a title="How to change the ‘root’ password for MySQL in XAMPP?" href="http://veerasundar.com/blog/2009/01/how-to-change-the-root-password-for-mysql-in-xampp/">How to change MySQL &#8216;root&#8217; user password in XAMPP</a> and <a title="How to change XAMPP server port?" href="http://veerasundar.com/blog/2009/07/how-to-change-xampp-server-port/">How to change XAMPP server port</a> which explains tightening XAMPP security.</p>
<p>Please do share your experiences with XAMPP, if you&#8217;ve already used it. If not, you can <a title="Download XAMPP" href="http://www.apachefriends.org/en/xampp-windows.html#641">download XAMPP</a> here and experience it.</p>
<img src="http://veerasundar.com/blog/?ak_action=api_record_view&id=640&type=feed" alt="" /><h2  class="related_post_title">Related Articles (System generated)</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2010/08/slidr-html5-app-for-making-online-presentations/" title="Slidr &#8211; HTML5 app for making online presentations">Slidr &#8211; HTML5 app for making online presentations</a></li><li><a href="http://veerasundar.com/blog/2010/06/css-sorter-revamped/" title="CSS Sorter &#8211; Revamped">CSS Sorter &#8211; Revamped</a></li><li><a href="http://veerasundar.com/blog/2010/05/google-wave-opened-to-public-are-you-using-it/" title="Google Wave opened to public &#8211; are you using it?">Google Wave opened to public &#8211; are you using it?</a></li><li><a href="http://veerasundar.com/blog/2010/02/whats-the-buzz-about-gmail-buzz/" title="What&#8217;s the buzz about Gmail Buzz?">What&#8217;s the buzz about Gmail Buzz?</a></li><li><a href="http://veerasundar.com/blog/2009/10/xampp-conflicts-with-the-skype-port/" title="XAMPP conflicts with the Skype port">XAMPP conflicts with the Skype port</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2009/07/xampp-apache-mysql-php-perl-environment-in-windows/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
