<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Vasanth Dharmaraj's Blog</title>
	
	<link>http://www.vasanth.in</link>
	<description>my thoughts on dot net, java, tablet pc, formula one, xbox gaming...</description>
	<lastBuildDate>Wed, 17 Aug 2011 01:35:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/vasanth" /><feedburner:info uri="vasanth" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>12.97</geo:lat><geo:long>77.56</geo:long><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site. Check out my blog if you want to subscribe to individual category feeds.</feedburner:browserFriendly><item>
		<title>Running standalone Groovy scripts</title>
		<link>http://feedproxy.google.com/~r/vasanth/~3/uOjXJLpJ8Jc/</link>
		<comments>http://www.vasanth.in/2011/06/29/running-standalone-groovy-scripts/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 20:40:55 +0000</pubDate>
		<dc:creator>Vasanth Dharmaraj</dc:creator>
				<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.vasanth.in/?p=2554</guid>
		<description><![CDATA[As I mentioned in my post Learning Groovy, I am writing Groovy scripts to automate some simple tasks. Now I want to share the scripts with others. I did not want them to install Groovy just to run the scripts. I had the groovy-all-1.8.0.jar, so I typed the following in the command prompt: 12C:\temp&#62;java -jar [...]]]></description>
			<content:encoded><![CDATA[<p>As I mentioned in my post <a href="http://www.vasanth.in/2011/05/30/learning-groovy/">Learning Groovy</a>, I am writing Groovy scripts to automate some simple tasks. Now I want to share the scripts with others. I did not want them to install Groovy just to run the scripts. I had the groovy-all-1.8.0.jar, so I typed the following in the command prompt:</p>
<div class="codecolorer-container dos railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:550px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="dos codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">C:\temp<span style="color: #33cc33;">&gt;</span>java -jar groovy-all-1.8.0.jar Hello.groovy<br />
Hello</div></td></tr></tbody></table></div>
<p>It worked. Simple. Now I tried to run my script that retrieved the XMLs from a database.</p>
<div class="codecolorer-container dos railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:550px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="dos codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">C:\work\FetchData<span style="color: #33cc33;">&gt;</span>java -jar groovy-all-1.8.0.jar FetchData.groovy<br />
Caught: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver<br />
at FetchData.fetch<span style="color: #33cc33;">(</span>FetchData.groovy:51<span style="color: #33cc33;">)</span><br />
at FetchData.run<span style="color: #33cc33;">(</span>FetchData.groovy:3<span style="color: #33cc33;">)</span></div></td></tr></tbody></table></div>
<p>Of course I need the driver jar in the classpath. So I added the sqljdbc.jar to the classpath.</p>
<div class="codecolorer-container dos railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:550px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="dos codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">C:\work\FetchData<span style="color: #33cc33;">&gt;</span>java -cp sqljdbc.jar -jar groovy-all-1.8.0.jar FetchData.groovy<br />
Caught: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver<br />
&nbsp; &nbsp; &nbsp; &nbsp; at FetchData.createCSV<span style="color: #33cc33;">(</span>FetchData.groovy:51<span style="color: #33cc33;">)</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; at FetchData.run<span style="color: #33cc33;">(</span>FetchData.groovy:3<span style="color: #33cc33;">)</span></div></td></tr></tbody></table></div>
<p>Looks like the script is run with a different classloader and the java classpath is not passed to it. I did some <a href="http://www.google.com/search?q=running+groovy+command+line">lazy googling</a> but did not find the answer I was looking for. So I looked at how eclipse is doing it. Eclipse used GroovyStarter and GroovyMain to run scripts. Not knowing which to use, I just used GroovyMain:</p>
<div class="codecolorer-container dos railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:550px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="dos codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">C:\work\FetchData<span style="color: #33cc33;">&gt;</span>java -cp lib/groovy-all-1.8.0.jar;lib/sqljdbc.jar groovy.ui.GroovyMain FetchData.groovy<br />
Fetched Data<span style="color: #33cc33;">!</span></div></td></tr></tbody></table></div>
<p>It worked! I just added the command in a batch file to share the script. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vasanth?a=uOjXJLpJ8Jc:AHEj-XInPoA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/vasanth?i=uOjXJLpJ8Jc:AHEj-XInPoA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=uOjXJLpJ8Jc:AHEj-XInPoA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=uOjXJLpJ8Jc:AHEj-XInPoA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/vasanth?i=uOjXJLpJ8Jc:AHEj-XInPoA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=uOjXJLpJ8Jc:AHEj-XInPoA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=uOjXJLpJ8Jc:AHEj-XInPoA:W9dqtTZ0I2U"><img src="http://feeds.feedburner.com/~ff/vasanth?d=W9dqtTZ0I2U" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vasanth/~4/uOjXJLpJ8Jc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.vasanth.in/2011/06/29/running-standalone-groovy-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.vasanth.in/2011/06/29/running-standalone-groovy-scripts/</feedburner:origLink></item>
		<item>
		<title>Infinitest: A continuous test runner for Java.</title>
		<link>http://feedproxy.google.com/~r/vasanth/~3/vAtQwU0d1dU/</link>
		<comments>http://www.vasanth.in/2011/06/03/infinitest-a-continuous-test-runner-for-java/#comments</comments>
		<pubDate>Sat, 04 Jun 2011 02:48:49 +0000</pubDate>
		<dc:creator>Vasanth Dharmaraj</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.vasanth.in/2011/06/03/infinitest-a-continuous-test-runner-for-java/</guid>
		<description><![CDATA[Infinitest is a continuous test runner for Java. Infinitest is an Eclipse plugin that runs the JUnit tests instantly when you save a Java file. Check out the demo above. It smartly runs only the test affected by the file you just saved. This is cool. You can immediately know if you broke something as [...]]]></description>
			<content:encoded><![CDATA[<div style="padding-bottom: 0px; padding-left: 0px; width: 550px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:5fe8ea55-8722-41d9-b1e1-596083f9e756" class="wlWriterEditableSmartContent">
<div><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="462" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="bgcolor" value="#FFFFFF" /><param name="flashvars" value="containerwidth=550&amp;containerheight=462&amp;thumb=http://content.screencast.com/users/benrady/folders/Jing/media/6dc12708-07b8-46d6-9446-024b126f1fd8/FirstFrame.jpg&amp;loaderstyle=jingpro&amp;content=http://content.screencast.com/users/benrady/folders/Jing/media/6dc12708-07b8-46d6-9446-024b126f1fd8/00000023.swf&amp;blurover=false" /><param name="src" value="http://content.screencast.com/users/benrady/folders/Jing/media/6dc12708-07b8-46d6-9446-024b126f1fd8/jingswfplayer.swf" /><param name="allowfullscreen" value="true" /><param name="quality" value="high" /><embed type="application/x-shockwave-flash" width="550" height="462" src="http://content.screencast.com/users/benrady/folders/Jing/media/6dc12708-07b8-46d6-9446-024b126f1fd8/jingswfplayer.swf" quality="high" allowfullscreen="true" flashvars="containerwidth=550&amp;containerheight=462&amp;thumb=http://content.screencast.com/users/benrady/folders/Jing/media/6dc12708-07b8-46d6-9446-024b126f1fd8/FirstFrame.jpg&amp;loaderstyle=jingpro&amp;content=http://content.screencast.com/users/benrady/folders/Jing/media/6dc12708-07b8-46d6-9446-024b126f1fd8/00000023.swf&amp;blurover=false" bgcolor="#FFFFFF"></embed></object></div>
<div style="width:550px;clear:both;font-size:.8em">Infinitest is a continuous test runner for Java.</div>
</div>
<p><a href="http://infinitest.github.com/">Infinitest</a> is an Eclipse plugin that runs the JUnit tests instantly when you save a Java file. Check out the demo above. It smartly runs only the test affected by the file you just saved. This is cool. You can immediately know if you broke something as soon as you save your code. Of course, your test cases should be comprehensive. <a href="http://improvingworks.com/">Improving Works</a> developed this plugin and has released it as a open source project.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vasanth?a=vAtQwU0d1dU:Xr1S8KRlI5M:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/vasanth?i=vAtQwU0d1dU:Xr1S8KRlI5M:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=vAtQwU0d1dU:Xr1S8KRlI5M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=vAtQwU0d1dU:Xr1S8KRlI5M:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/vasanth?i=vAtQwU0d1dU:Xr1S8KRlI5M:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=vAtQwU0d1dU:Xr1S8KRlI5M:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=vAtQwU0d1dU:Xr1S8KRlI5M:W9dqtTZ0I2U"><img src="http://feeds.feedburner.com/~ff/vasanth?d=W9dqtTZ0I2U" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vasanth/~4/vAtQwU0d1dU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.vasanth.in/2011/06/03/infinitest-a-continuous-test-runner-for-java/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.vasanth.in/2011/06/03/infinitest-a-continuous-test-runner-for-java/</feedburner:origLink></item>
		<item>
		<title>Learning Groovy</title>
		<link>http://feedproxy.google.com/~r/vasanth/~3/Zu22W3Em7vQ/</link>
		<comments>http://www.vasanth.in/2011/05/30/learning-groovy/#comments</comments>
		<pubDate>Tue, 31 May 2011 03:50:37 +0000</pubDate>
		<dc:creator>Vasanth Dharmaraj</dc:creator>
				<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.vasanth.in/2011/05/30/learning-groovy/</guid>
		<description><![CDATA[I have dabbled a bit with scripting languages before but for some reason never really used one long term. I think that might change with Groovy. A colleague of mine got me interested in it and I have been picking up all the cool things Groovy can do by reading Dustin&#8217;s &#8220;Inspired by Actual Events&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>I have dabbled a bit with scripting languages before but for some reason never really used one long term. I think that might change with Groovy. A colleague of mine got me interested in it and I have been picking up all the cool things Groovy can do by reading Dustin&#8217;s &#8220;<a href="http://marxsoftware.blogspot.com/">Inspired by Actual Events</a>&#8221; blog. Come to think of it Groovy could have saved me a ton of time I spent in writing small tools to help me in development.</p>
<p>I like the how concise and simple writing groovy scripts are. Here is a snippet of code to print rows retrieved from a database.</p>
<div class="codecolorer-container groovy railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:550px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="groovy codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">// Get instance of Groovy's Sql class</span><br />
<span style="color: #808080; font-style: italic;">// See http://marxsoftware.blogspot.com/2009/05/groovysql-groovy-jdbc.html</span><br />
<a href="http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20import"><span style="color: #000000; font-weight: bold;">import</span></a> <span style="color: #a1a100;">groovy.sql.Sql</span><br />
<br />
<a href="http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20def"><span style="color: #000000; font-weight: bold;">def</span></a> sql <span style="color: #66cc66;">=</span> <a href="http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20Sql"><span style="color: #993399; font-weight: bold;">Sql</span></a>.<span style="color: #006600;">newInstance</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;jdbc:oracle:thin:@localhost:1521:orcl&quot;</span>, <span style="color: #ff0000;">&quot;hr&quot;</span>, <span style="color: #ff0000;">&quot;hr&quot;</span>, <span style="color: #ff0000;">&quot;oracle.jdbc.pool.OracleDataSource&quot;</span><span style="color: #66cc66;">&#41;</span><br />
<br />
<span style="color: #808080; font-style: italic;">// iterate over query's result set and &quot;process&quot; each row by printing two names</span><br />
sql.<a href="http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20eachRow"><span style="color: #993399; font-weight: bold;">eachRow</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;SELECT employee_id, last_name, first_name FROM employees&quot;</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">&#123;</span><br />
<a href="http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20println"><span style="color: #993399;">println</span></a> <span style="color: #ff0000;">&quot;Employee ${it.first_name} ${it.last_name} has ID of ${it.employee_id}.&quot;</span><br />
<span style="color: #66cc66;">&#125;</span></div></td></tr></tbody></table></div>
<p>At work I needed to retrieve about 100 XMLs stored in a database, strip out some tags from it and write it to a file. It took about 15 lines of Groovy code to do it. Probably could have done it in less but I am just learning Groovy.</p>
<p>Here is another way to use Groovy that I wish I knew before. Embedding Groovy in Ant:</p>
<pre>
<div class="codecolorer-container xml railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:550px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;zipfileset</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;found&quot;</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;foobar.jar&quot;</span></span><br />
<span style="color: #009900;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">includes</span>=<span style="color: #ff0000;">&quot;**/*.xml&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;groovy<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp;project.references.found.each {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;println it.name<br />
&nbsp; &nbsp; &nbsp;}<br />
&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/groovy<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></td></tr></tbody></table></div>
</pre>
<p>Though the above snippet is simple, it shows how the Groovy script is aware of the Ant references. Pretty powerful.</p>
<p>I will showcase just another snippet before I am off to learn more Groovy. Invoking a web service:</p>
<div class="codecolorer-container groovy railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:550px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="groovy codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">@Grab<span style="color: #66cc66;">&#40;</span>group<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'org.codehaus.groovy.modules'</span>, module<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'groovyws'</span>, version<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'0.5.2'</span><span style="color: #66cc66;">&#41;</span><br />
<a href="http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20import"><span style="color: #000000; font-weight: bold;">import</span></a> <span style="color: #a1a100;">groovyx.net.ws.WSClient</span><br />
<br />
proxy <span style="color: #66cc66;">=</span> <a href="http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20new"><span style="color: #000000; font-weight: bold;">new</span></a> WSClient<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;http://www.w3schools.com/webservices/tempconvert.asmx?WSDL&quot;</span>, <a href="http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20this"><span style="color: #000000; font-weight: bold;">this</span></a>.<a href="http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20class"><span style="color: #000000; font-weight: bold;">class</span></a>.<span style="color: #006600;">classLoader</span><span style="color: #66cc66;">&#41;</span><br />
proxy.<span style="color: #006600;">initialize</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><br />
<br />
result <span style="color: #66cc66;">=</span> proxy.<span style="color: #006600;">CelsiusToFahrenheit</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><br />
<a href="http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20println"><span style="color: #993399;">println</span></a> <span style="color: #ff0000;">&quot;You are probably freezing at ${result} degrees Farhenheit&quot;</span></div></td></tr></tbody></table></div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vasanth?a=Zu22W3Em7vQ:ee94nvpCIa4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/vasanth?i=Zu22W3Em7vQ:ee94nvpCIa4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=Zu22W3Em7vQ:ee94nvpCIa4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=Zu22W3Em7vQ:ee94nvpCIa4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/vasanth?i=Zu22W3Em7vQ:ee94nvpCIa4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=Zu22W3Em7vQ:ee94nvpCIa4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=Zu22W3Em7vQ:ee94nvpCIa4:W9dqtTZ0I2U"><img src="http://feeds.feedburner.com/~ff/vasanth?d=W9dqtTZ0I2U" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vasanth/~4/Zu22W3Em7vQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.vasanth.in/2011/05/30/learning-groovy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.vasanth.in/2011/05/30/learning-groovy/</feedburner:origLink></item>
		<item>
		<title>Droid Save/Droid Save IP Updated</title>
		<link>http://feedproxy.google.com/~r/vasanth/~3/IyuDs_lj9iQ/</link>
		<comments>http://www.vasanth.in/2011/05/30/droid-savedroid-save-ip-updated/#comments</comments>
		<pubDate>Tue, 31 May 2011 00:39:02 +0000</pubDate>
		<dc:creator>Vasanth Dharmaraj</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Smartphone]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.vasanth.in/2011/05/30/droid-savedroid-save-ip-updated/</guid>
		<description><![CDATA[I have updated a couple of my Android applications in the Market. The apps are simple. They save any links you share to either Instapaper or Read It Later services. The main new feature is offline capability. You can save links even when you have no internet connection and once the connection is back the [...]]]></description>
			<content:encoded><![CDATA[<p>I have updated a couple of my Android applications in the Market. The apps are simple. They save any links you share to either <a href="http://www.instapaper.com/">Instapaper</a> or <a href="http://www.readitlaterlist.com">Read It Later</a> services. The main new feature is offline capability. You can save links even when you have no internet connection and once the connection is back the apps will save the links. Here are the change logs and where you can get them:</p>
<p><strong>Droid Save [</strong><a href="http://www.vasanth.in/software/droid-save/"><strong>Product Page</strong></a> |<strong> </strong><a href="http://market.android.com/details?id=in.vasanth.android.droidsave"><strong>Market</strong></a> |<strong> </strong><a href="http://www.appbrain.com/app/droid-save/in.vasanth.android.droidsave"><strong>AppBrain</strong></a><strong>]</strong></p>
<p><em>Version 1.6</em></p>
<p>1. Added offline capability. If there is no internet connection the URLs are saved locally and then sent to Read It Later when connection is back.   <br />2. Added support for special characters in passwords like&#160; ”&lt;”, “|”.</p>
<p><strong>Droid Save IP [</strong><a href="http://www.vasanth.in/software/droid-save-ip/"><strong>Product Page</strong></a><strong> | </strong><a href="http://market.android.com/details?id=in.vasanth.android.droidsaveip"><strong>Market</strong></a><strong> | </strong><a href="http://www.appbrain.com/app/droid-save/in.vasanth.android.droidsaveip"><strong>AppBrain</strong></a><strong>]</strong></p>
<p><em>Version 1.2</em></p>
<p>1. Added offline capability. If there is no internet connection the URLs are saved locally and then sent to Read It Later when connection is back.   <br />2. Added support for special characters in passwords like&#160; ”&lt;”, “|”.    <br />3. Added support for accounts without password.</p>
<p>I developed these applications for me to use plus to learn Android development. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vasanth?a=IyuDs_lj9iQ:xrNTYg_-WI0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/vasanth?i=IyuDs_lj9iQ:xrNTYg_-WI0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=IyuDs_lj9iQ:xrNTYg_-WI0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=IyuDs_lj9iQ:xrNTYg_-WI0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/vasanth?i=IyuDs_lj9iQ:xrNTYg_-WI0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=IyuDs_lj9iQ:xrNTYg_-WI0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=IyuDs_lj9iQ:xrNTYg_-WI0:W9dqtTZ0I2U"><img src="http://feeds.feedburner.com/~ff/vasanth?d=W9dqtTZ0I2U" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vasanth/~4/IyuDs_lj9iQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.vasanth.in/2011/05/30/droid-savedroid-save-ip-updated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.vasanth.in/2011/05/30/droid-savedroid-save-ip-updated/</feedburner:origLink></item>
		<item>
		<title>Android App Spotlight: Smooth Calendar</title>
		<link>http://feedproxy.google.com/~r/vasanth/~3/-s0bzATH10U/</link>
		<comments>http://www.vasanth.in/2011/01/07/android-app-spotlight-smooth-calendar/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 16:37:08 +0000</pubDate>
		<dc:creator>Vasanth Dharmaraj</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Smartphone]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.vasanth.in/?p=2509</guid>
		<description><![CDATA[One main reason I like Android over iPhone is widgets. With widgets I can, at a glance, look at the information I need. In iPhone I had to open an app, waiting for it to load and then finding the information I need. Calendar information is something I want to quickly get to. Smooth Calendar [...]]]></description>
			<content:encoded><![CDATA[<p>One main reason I like Android over iPhone is widgets. With widgets I can, at a glance, look at the information I need. In iPhone I had to open an app, waiting for it to load and then finding the information I need. Calendar information is something I want to quickly get to. Smooth Calendar is the widget I like the most. And it is free. Try it out.</p>
<p>The following screenshot has the Smooth Calendar below the weather time widget.  The weather widget is Beautiful Widgets.</p>
<p style="text-align: center;"><a href="http://www.vasanth.in/wp-content/uploads/2011/01/Smooth-Calendar.png"><img class="aligncenter size-full wp-image-2510" title="Smooth Calendar" src="http://www.vasanth.in/wp-content/uploads/2011/01/Smooth-Calendar.png" alt="" width="480" height="800" /></a></p>
<div id="app177" class="appbrain-app"><a style="font-size: 11px; color: #555; font-family: Arial, sans-serif;" href="http://www.appbrain.com/app/smooth-calendar/se.catharsis.android.calendar">Smooth Calendar for Android on AppBrain</a></div>
<p><script src="http://www.appbrain.com/api/api.nocache.js" type="text/javascript"></script></p>
<div id='app148' class='appbrain-app'><a href='http://www.appbrain.com/app/beautiful-widgets/com.levelup.beautifulwidgets' style='font-size: 11px; color: #555; font-family: Arial, sans-serif;'>Beautiful Widgets for Android on AppBrain</a></div>
<p> <script type='text/javascript' language='javascript' src='http://www.appbrain.com/api/api.nocache.js'></script></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vasanth?a=-s0bzATH10U:A9OCeIPgAyk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/vasanth?i=-s0bzATH10U:A9OCeIPgAyk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=-s0bzATH10U:A9OCeIPgAyk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=-s0bzATH10U:A9OCeIPgAyk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/vasanth?i=-s0bzATH10U:A9OCeIPgAyk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=-s0bzATH10U:A9OCeIPgAyk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=-s0bzATH10U:A9OCeIPgAyk:W9dqtTZ0I2U"><img src="http://feeds.feedburner.com/~ff/vasanth?d=W9dqtTZ0I2U" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vasanth/~4/-s0bzATH10U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.vasanth.in/2011/01/07/android-app-spotlight-smooth-calendar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.vasanth.in/2011/01/07/android-app-spotlight-smooth-calendar/</feedburner:origLink></item>
		<item>
		<title>Motorola Atrix 4G @ CES 2011</title>
		<link>http://feedproxy.google.com/~r/vasanth/~3/obO1ZKkRtRY/</link>
		<comments>http://www.vasanth.in/2011/01/06/motorola-atrix-4g-ces-2011/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 21:01:43 +0000</pubDate>
		<dc:creator>Vasanth Dharmaraj</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Smartphone]]></category>

		<guid isPermaLink="false">http://www.vasanth.in/?p=2504</guid>
		<description><![CDATA[I have been following CES 2011 as any geek would. As expected there announcements of Android Tablets, 3D TVs, glassless 3D TVs, 3D laptops&#8230; But the one thing that caught my attention is Motorola Atrix 4G. It is a Nvidia’s dual-core Tegra 2 phone with a 960 x 540 resolution, fingerprint reader and HSPA+. But [...]]]></description>
			<content:encoded><![CDATA[<p>I have been following CES 2011 as any geek would. As expected there announcements of Android Tablets, 3D TVs, glassless 3D TVs, 3D laptops&#8230; But the one thing that caught my attention is Motorola Atrix 4G. It is a Nvidia’s dual-core Tegra 2 phone with a 960 x 540 resolution, fingerprint reader and HSPA+. But it is not the most interesting part of it.</p>
<p style="text-align: center;"><a href="http://www.vasanth.in/wp-content/uploads/2011/01/Atrix-4G.jpg"><img class="aligncenter size-full wp-image-2506" title="Atrix 4G" src="http://www.vasanth.in/wp-content/uploads/2011/01/Atrix-4G.jpg" alt="" width="500" height="447" /></a></p>
<p>The coolest thing is that it has a Laptop Dock! What? Well the concept is not new. Remember Redfly? Or Palm Foleo? But this is better. When docked on to the laptop, you can use the full phone UI and all its apps plus a full desktop Firefox browser and more! See the screenshot below.</p>
<p style="text-align: center;"><a href="http://www.vasanth.in/wp-content/uploads/2011/01/Atrix-Screenshot.jpg"><img class="aligncenter size-full wp-image-2507" title="Atrix Screenshot" src="http://www.vasanth.in/wp-content/uploads/2011/01/Atrix-Screenshot.jpg" alt="" width="675" height="377" /></a></p>
<p>Still don&#8217;t know what the Webtop OS is but what it offers is pretty cool. It also has a multimedia dock. Looks like I have to start saving for this!</p>
<p>Catch the video of this at <a href="http://blog.laptopmag.com/motorola-atrix-4g-hands-on-video-modular-computing-realized#axzz1AH50xUmE">laptopmag.com</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vasanth?a=obO1ZKkRtRY:IuiwHrZmTk4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/vasanth?i=obO1ZKkRtRY:IuiwHrZmTk4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=obO1ZKkRtRY:IuiwHrZmTk4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=obO1ZKkRtRY:IuiwHrZmTk4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/vasanth?i=obO1ZKkRtRY:IuiwHrZmTk4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=obO1ZKkRtRY:IuiwHrZmTk4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=obO1ZKkRtRY:IuiwHrZmTk4:W9dqtTZ0I2U"><img src="http://feeds.feedburner.com/~ff/vasanth?d=W9dqtTZ0I2U" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vasanth/~4/obO1ZKkRtRY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.vasanth.in/2011/01/06/motorola-atrix-4g-ces-2011/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.vasanth.in/2011/01/06/motorola-atrix-4g-ces-2011/</feedburner:origLink></item>
		<item>
		<title>Android App Spotlight: Callend Vibrate</title>
		<link>http://feedproxy.google.com/~r/vasanth/~3/VPW0IAjeAGE/</link>
		<comments>http://www.vasanth.in/2011/01/04/android-app-spotlight-callend-vibrate/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 19:58:13 +0000</pubDate>
		<dc:creator>Vasanth Dharmaraj</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Smartphone]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.vasanth.in/?p=2501</guid>
		<description><![CDATA[Callend Vibrate is a super simple app. All it does is vibrates the phone when a call ends. iPhone does this by default. I kind of missed this in Android. This app fills this missing feature on my phone. Saves me from talking on the without realizing that the call got disconnected. This should be a built-in feature in [...]]]></description>
			<content:encoded><![CDATA[<p>Callend Vibrate is a super simple app. All it does is vibrates the phone when a call ends. iPhone does this by default. I kind of missed this in Android. This app fills this missing feature on my phone. Saves me from talking on the without realizing that the call got disconnected. This should be a built-in feature in Android.</p>
<div id="app869" class="appbrain-app"><a style="font-size: 11px; color: #555; font-family: Arial, sans-serif;" href="http://www.appbrain.com/app/callend-vibrate/com.cn.cwd.callvibrate">Callend Vibrate for Android on AppBrain</a></div>
<p><script src="http://www.appbrain.com/api/api.nocache.js" type="text/javascript"></script></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vasanth?a=VPW0IAjeAGE:wt09wjdkkk8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/vasanth?i=VPW0IAjeAGE:wt09wjdkkk8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=VPW0IAjeAGE:wt09wjdkkk8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=VPW0IAjeAGE:wt09wjdkkk8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/vasanth?i=VPW0IAjeAGE:wt09wjdkkk8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=VPW0IAjeAGE:wt09wjdkkk8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=VPW0IAjeAGE:wt09wjdkkk8:W9dqtTZ0I2U"><img src="http://feeds.feedburner.com/~ff/vasanth?d=W9dqtTZ0I2U" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vasanth/~4/VPW0IAjeAGE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.vasanth.in/2011/01/04/android-app-spotlight-callend-vibrate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.vasanth.in/2011/01/04/android-app-spotlight-callend-vibrate/</feedburner:origLink></item>
		<item>
		<title>Android App Spotlight: DailyStrip</title>
		<link>http://feedproxy.google.com/~r/vasanth/~3/yPX--gyeY4A/</link>
		<comments>http://www.vasanth.in/2011/01/04/android-app-spotlight-dailystrip/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 19:41:12 +0000</pubDate>
		<dc:creator>Vasanth Dharmaraj</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Smartphone]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.vasanth.in/?p=2497</guid>
		<description><![CDATA[I like reading a few comic strips like Dilbert, Garfield. I used to subscribe to them via a RSS feed. But I sometimes miss reading them because there are so many posts in my Google Reader. DailyStrip is a comic strip reader that has access to more than 100 comic strips. I can select my [...]]]></description>
			<content:encoded><![CDATA[<p>I like reading a few comic strips like Dilbert, Garfield. I used to subscribe to them via a RSS feed. But I sometimes miss reading them because there are so many posts in my Google Reader. DailyStrip is a comic strip reader that has access to more than 100 comic strips. I can select my favorites and view them everyday. If I miss a day I can step back and view them too. Check it out if you are into comic strips.</p>
<p><a href="http://www.vasanth.in/wp-content/uploads/2011/01/DailyStrip.png"><img class="aligncenter size-full wp-image-2498" title="DailyStrip" src="http://www.vasanth.in/wp-content/uploads/2011/01/DailyStrip.png" alt="" width="480" height="800" /></a></p>
<div id="app657" class="appbrain-app"><a style="font-size: 11px; color: #555; font-family: Arial, sans-serif;" href="http://www.appbrain.com/app/dailystrip/com.fusetree.android.dailyStrip">DailyStrip for Android on AppBrain</a></div>
<p><script src="http://www.appbrain.com/api/api.nocache.js" type="text/javascript"></script></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vasanth?a=yPX--gyeY4A:OtLnXqaWbCI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/vasanth?i=yPX--gyeY4A:OtLnXqaWbCI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=yPX--gyeY4A:OtLnXqaWbCI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=yPX--gyeY4A:OtLnXqaWbCI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/vasanth?i=yPX--gyeY4A:OtLnXqaWbCI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=yPX--gyeY4A:OtLnXqaWbCI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=yPX--gyeY4A:OtLnXqaWbCI:W9dqtTZ0I2U"><img src="http://feeds.feedburner.com/~ff/vasanth?d=W9dqtTZ0I2U" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vasanth/~4/yPX--gyeY4A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.vasanth.in/2011/01/04/android-app-spotlight-dailystrip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.vasanth.in/2011/01/04/android-app-spotlight-dailystrip/</feedburner:origLink></item>
		<item>
		<title>Android App Spotlight: AppBrain</title>
		<link>http://feedproxy.google.com/~r/vasanth/~3/maONkBbfFaI/</link>
		<comments>http://www.vasanth.in/2010/11/11/android-app-spotlight-appbrain/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 16:24:40 +0000</pubDate>
		<dc:creator>Vasanth Dharmaraj</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Smartphone]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.vasanth.in/?p=2471</guid>
		<description><![CDATA[Google has a site for Android Market which list all the apps available in the Market. But it is not a very user friendly site to navigate and find apps. I does not even have a search feature! Whats Google&#8217;s main claim to fame again? Anyway once you stumble on an interesting app there is [...]]]></description>
			<content:encoded><![CDATA[<p>Google has a site for <a href="http://www.android.com/market/">Android Market</a> which list all the apps available in the Market. But it is not a very user friendly site to navigate and find apps. I does not even have a search feature! Whats Google&#8217;s main claim to fame again? Anyway once you stumble on an interesting app there is no way to get the app. You will have to go to Market on your phone and search for the app from there. Clumsy! The other shot comings are: no rating, no comments, no sorting on popularity etc.</p>
<p>Here is where <a href="http://www.appbrain.com/">AppBrain</a> steps in and shows Google how it should be. AppBrain has three key components:</p>
<ol>
<li><a href="http://www.appbrain.com/">AppBrain</a> &#8211; The site.</li>
<li><a href="http://www.appbrain.com/app/appbrain-app-market/com.appspot.swisscodemonkeys.apps">AppBrain App Market</a> &#8211; The App</li>
<li><a href="http://www.appbrain.com/app/fast-web-installer/com.appspot.swisscodemonkeys.apppusher">Fast Web Installer</a> &#8211; Another App</li>
</ol>
<p><a href="http://www.vasanth.in/wp-content/uploads/2010/11/AppBrain-App-Market.jpg"><img class="aligncenter size-full wp-image-2472" title="AppBrain App Market" src="http://www.vasanth.in/wp-content/uploads/2010/11/AppBrain-App-Market.jpg" alt="" width="320" height="480" /></a></p>
<p>The site makes up for all the things lacking in the official site. It has search, ratings, sorting, comments (from the market and its own comments). It also has the ability to add apps to your device(s). There are two ways to do this. First add it to your phone&#8217;s app list and then sync with the first AppBrain App Market. Second it to use the Fast Web Installer and send the app to your phone instantly. I use this a lot.</p>
<p>AppBrain also has a slew of social features. You can share the apps in your phone or just create a list of apps to share. I have created a list of all the apps I have talked about in this blog. It is available in <a href="http://www.appbrain.com/user/vasanth/recommended">here</a> and in the side column in the <a href="http://www.vasanth.in">blog</a>. You can follow users and find the apps they are using.</p>
<p>It also provides a lot of useful statistics for developers about the OS versions and demographics of the users.</p>
<p>Try it out. Read more about it at <a href="http://lifehacker.com/5686385/">Lifehacker</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vasanth?a=maONkBbfFaI:2FwUF58WGAg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/vasanth?i=maONkBbfFaI:2FwUF58WGAg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=maONkBbfFaI:2FwUF58WGAg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=maONkBbfFaI:2FwUF58WGAg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/vasanth?i=maONkBbfFaI:2FwUF58WGAg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=maONkBbfFaI:2FwUF58WGAg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=maONkBbfFaI:2FwUF58WGAg:W9dqtTZ0I2U"><img src="http://feeds.feedburner.com/~ff/vasanth?d=W9dqtTZ0I2U" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vasanth/~4/maONkBbfFaI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.vasanth.in/2010/11/11/android-app-spotlight-appbrain/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.vasanth.in/2010/11/11/android-app-spotlight-appbrain/</feedburner:origLink></item>
		<item>
		<title>Android App Spotlight: Tasker</title>
		<link>http://feedproxy.google.com/~r/vasanth/~3/vOZAZA3plQU/</link>
		<comments>http://www.vasanth.in/2010/11/05/android-app-spotlight-tasker/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 15:34:57 +0000</pubDate>
		<dc:creator>Vasanth Dharmaraj</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Smartphone]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[smartphone]]></category>
		<category><![CDATA[tasker]]></category>

		<guid isPermaLink="false">http://www.vasanth.in/2010/11/05/android-app-spotlight-tasker/</guid>
		<description><![CDATA[It does not matter if there are only 100,000 apps in the Android Market or 300,000 in the Apple App Store. There are some great Android apps out there. Some apps do stuff only iPhone apps can dream off. The kidding aside, I am planning to write a series of blog posts spotlighting cool apps [...]]]></description>
			<content:encoded><![CDATA[<p>It does not matter if there are only 100,000 apps in the Android Market or 300,000 in the Apple App Store. There are some great Android apps out there. Some apps do stuff only iPhone apps can dream off. <img src='http://www.vasanth.in/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  The kidding aside, I am planning to write a series of blog posts spotlighting cool apps in the Android Market. The posts will not be complete reviews just highlights and I will try to link to a moew through review.</p>
<p>The first one is my favorite app: <a href="http://tasker.dinglisch.net/">Tasker</a>. Tasker can completely automate just about anything on your Android phone. The basic stuff I use it for are:</p>
<p>1.&nbsp;Setting my phone to only vibrate when at work, chruch, movie theaters etc. automatically based on time or location<br />
 2.&nbsp;Silencing&nbsp;my phone completely during sleep time, removing all visual notifications too<br />
 3. Automatically launch the music player or Google Listen when I connect my phone to my car stereo<br />
 4. Turn off WiFi at work&nbsp;<br />
 5. Make Your Phone Quiet Down When Face-Down&nbsp;</p>
<p>Here are some more use cases from the Tasker site:</p>
<blockquote><ul>
<li>passcode-lock sensitive applications (e.g. for child safety)</li>
<li>change phone settings by
<ul>
<li>application: long screen timeout in a book reader</li>
<li>time: screen brightness lower in the evening</li>
<li>location: ringer volume high at the office, turn off ke yguard at home</li>
</ul>
</li>
<li>wake up with a random song from your music collection</li>
<li>Text-to-speech; read out loud: incoming SMS/ phone number, WiFi/Bluetooth status, when it&#8217;s time for an appointment, when the battery is low etc etc (Android OS 1.6+ only)</li>
<li>launch a music application when your music SD card is inserted, otherwise a file browser</li>
<li>start the day with a particular application showing</li>
<li>change all your home icons and wallpaper every day, or in particular locations</li>
<li>turn the phone upside down to return to the home screen, tilt 90 degrees to the left and back to toggle speakerphone during a call</li>
<li>create a Home widget to
<ul>
<li>toggle bluetooth/wifi on/off</li>
<li>launch wireless settings dialog</li>
<li>show a menu of tasks to choose</li>
<li>send an emergency SMS with your GPS location</li>
</ul>
</li>
<li>remap camera etc buttons to other applications, or show a menu of applications and/or actions</li>
<li>decrypt/encrypt and/or zip/unzip application data on the fly when an application is launched/exits</li>
<li>pause music playback while in a particular application, restart on exit</li>
<li>change the Home icon for any application</li>
<li>take a time-lapse photo series (possibly &#8216;secretly&#8217;)</li>
<li>make a regular backup of a file on the SD card</li>
<li>track your phone location via SMS in case of theft</li>
<li>extend the use of the media button on your headset: take a picture from a distance or go to the previous media track with a long press</li>
<li>record call times and destinations to the SD card</li>
<li>show a popup when an SMS arrives from a particular phone number</li>
<li>setup a birthday SMS to be sent months before it happens so you don&#8217;t forget</li>
<li>record battery levels over time to a file on SD card</li>
<li>make automatic recordings of what you say during phone calls to SD card</li>
<li>during the night, turn on airplane mode to conserve battery/reduce radiation, but turn it off every 15 minutes to check for SMS/voicemail.</li>
<li>setup a vacation SMS message, with different messages for different callers</li>
<li>launch a music application when headphones are connected</li>
</ul>
</blockquote>
<p>&nbsp;</p>
<p>Read more about its awesomeness at <a href="http://lifehacker.com/5599116/how-to-turn-your-android-phone-into-a-fully+automated-superphone">lifehacker</a>.&nbsp;</p>
<p>Get it: [<a href="http://www.appbrain.com/app/tasker/net.dinglisch.android.taskerm">AppBrain</a>] [<a href="market://search?q=pname:net.dinglisch.android.taskerm">Market</a>]</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" src="http://www.vasanth.in/wp-content/uploads/2010/11/tasker.png" alt="" width="240" height="400" /></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vasanth?a=vOZAZA3plQU:B3eJbBzdWQ4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/vasanth?i=vOZAZA3plQU:B3eJbBzdWQ4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=vOZAZA3plQU:B3eJbBzdWQ4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=vOZAZA3plQU:B3eJbBzdWQ4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/vasanth?i=vOZAZA3plQU:B3eJbBzdWQ4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=vOZAZA3plQU:B3eJbBzdWQ4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/vasanth?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vasanth?a=vOZAZA3plQU:B3eJbBzdWQ4:W9dqtTZ0I2U"><img src="http://feeds.feedburner.com/~ff/vasanth?d=W9dqtTZ0I2U" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vasanth/~4/vOZAZA3plQU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.vasanth.in/2010/11/05/android-app-spotlight-tasker/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.vasanth.in/2010/11/05/android-app-spotlight-tasker/</feedburner:origLink></item>
	</channel>
</rss>

