<?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; Java</title>
	<atom:link href="http://veerasundar.com/blog/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://veerasundar.com/blog</link>
	<description>Java / Web developer</description>
	<lastBuildDate>Mon, 30 Jan 2012 15:39:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>The Rise of the Front End Developers</title>
		<link>http://veerasundar.com/blog/2012/01/the-rise-of-the-front-end-developers/</link>
		<comments>http://veerasundar.com/blog/2012/01/the-rise-of-the-front-end-developers/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 17:53:54 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[back-end]]></category>
		<category><![CDATA[backbone]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=2826</guid>
		<description><![CDATA[In any web development company, there exists two different worlds; well there are more, but we&#8217;ll just focus on - front end (designers) &#38; back end (developers) The Front end guys are responsible for making something that is visible to the end users (THE LOOK). The back end guys are responsible for making the front end work [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>In any web development company, there exists two different worlds; well there are <em>more,</em> but we&#8217;ll just focus on - front end (designers) &amp; back end (developers)</p>
<p>The Front end guys are responsible for making something that is visible to the end users (THE LOOK). The back end guys are responsible for making the front end work (THE FUNCTIONALITY). Together, they both deliver a complete web application/site.</p>
<p>The back end developers would typically use programming languages, such as Java/C++/Python. Apart from talking to database and processing requests, they even have an arsenal of libraries to generate the site markup (JSPs, server side templates, etc).</p>
<p>Front end guys usually fill in by writing HTML documents and CSS files (merely a <em>writer</em>) to present this markup in an visually pleasing way and back end just take these templates to populate data.</p>
<p>Front end had only one option to do any logical operations, by using <em>JavaScript </em>- which has been used for a long time just to validate forms (and do some freaky stuffs).</p>
<p>Because of this <em>cultural </em>difference, there&#8217;s always been a ego-war between these two worlds. Even the company management would rate the front end guys par below the back end developers because the front ends guys don&#8217;t do any serious programming.</p>
<p>All was going fine until the web2.0 era. Now, the front end realized that they could use JavaScript to do much more cooler stuffs than just the form validation. The development of high speed JavaScript engines (such as V8) made it possible to run complex JavaScript code right in the browser. With the introduction of technologies such as WebGL and Canvas, even graphics rendering became feasible using JavaScript.</p>
<p>But, this didn&#8217;t change anything on the server side; the server programs were still running on JVMs/Rubys/Pythons.</p>
<p>Fast forward to today: The scenario is dramatically changing. JavaScript has just sneaked its way into the servers. Now, it is no longer required that a web application needs to have a back end programming language such as Java/C++. Everything can be done using just JavaScript.</p>
<p>Thanks to <strong>node.js </strong>which made it possible to run the JavaScript on the server side. Using <strong>MongoDB, </strong>one can replace the need to have SQL code and now store JSON documents using JavaScript MongoDB connectors. The JavaScript template libraries such as <strong>{{Mustache}}/Underscore </strong>almost removed the need to have server side templates (JSPs). On the client side, JavaScript MVC frameworks such as <strong>Backbone.JS </strong>enable us to write maintainable code. And, there&#8217;s always the plain old JavaScript waiting for us to write some form validation script.</p>
<p>With that, now it is possible to do the heavy lifting just by using JavaScript. The front end JavaScript programmers no longer need to focus on just the front end. They can use their skill set to develop the web application <strong>end-to-end.</strong></p>
<p>This rise of the front end developers poses a real threat to the survival of back end developers. If you are one of that back end guy, do you already realize this threat? What&#8217;s your game plan to stay fit to survive this challenge?</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2008/12/i-am-a-java-developer-should-i-know-about-div/" title="I am a Java developer. Should I know about DIV ?">I am a Java developer. Should I know about DIV ?</a></li><li><a href="http://veerasundar.com/blog/2012/01/backbone-js-hello-world-tutorial/" title="Backbone JS &#8211; Hello World tutorial">Backbone JS &#8211; Hello World tutorial</a></li><li><a href="http://veerasundar.com/blog/2011/02/redesigning-my-home-page-as-a-game/" title="Redesigning my home page as a game">Redesigning my home page as a game</a></li><li><a href="http://veerasundar.com/blog/2010/12/javascript-getattribute-method/" title="JavaScript getAttribute method">JavaScript getAttribute method</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></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2012/01/the-rise-of-the-front-end-developers/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Java.lang.VerifyError: Expecting a stackmap frame at branch target &#8211; JDK 7</title>
		<link>http://veerasundar.com/blog/2012/01/java-lang-verifyerror-expecting-a-stackmap-frame-at-branch-target-jdk-7/</link>
		<comments>http://veerasundar.com/blog/2012/01/java-lang-verifyerror-expecting-a-stackmap-frame-at-branch-target-jdk-7/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 13:53:21 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[exception]]></category>
		<category><![CDATA[jdk]]></category>
		<category><![CDATA[jdk7]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=2811</guid>
		<description><![CDATA[Right now, when I try to persist an object in Google App Engine, I&#8217;m facing the error &#8220;Java.lang.VerifyError: Expecting a stackmap frame at branch target&#8220;. I&#8217;m using JDK 7 and it seems like the problem lies with this JDK. After googling a bit, I found that there seems to be two solutions to fix this [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Right now, when I try to persist an object in Google App Engine, I&#8217;m facing the error &#8220;<strong>Java.lang.VerifyError: Expecting a stackmap frame at branch target</strong>&#8220;. I&#8217;m using JDK 7 and it seems like the problem lies with this JDK.</p>
<p>After googling a bit, I found that there seems to be two solutions to fix this problem.</p>
<h2>Solution 1: Change to JDK 6</h2>
<p>As simple as is, change your JDK to version 6 and you won&#8217;t be bugged by this exception anymore. Well, in my case, I <em>have </em>to use JDK 7. So, moving on to the solution 2.</p>
<h2>Solution 2: Configure JVM</h2>
<p>Go to <strong>Windows -&gt; Preferences -&gt; Installed JREs. </strong>Select the default JVM and click edit. Then add this parameter as VM argument &#8220;<strong>-XX:-UseSplitVerifier</strong>&#8221; as seen below.</p>
<p style="text-align: center;"><img class="size-full wp-image-2813 aligncenter" title="Screenshot-Edit-JRE" src="http://veerasundar.com/blog/wp-content/uploads/2012/01/Screenshot-Edit-JRE-.png" alt="" width="637" height="615" /></p>
<p>This should solve the issue.</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2011/06/git-tutorial-getting-started/" title="Git Tutorial &#8211; Getting Started">Git Tutorial &#8211; Getting Started</a></li><li><a href="http://veerasundar.com/blog/2011/04/app-engine-java-development-on-netbeans/" title="App Engine Java development on Netbeans">App Engine Java development on Netbeans</a></li><li><a href="http://veerasundar.com/blog/2010/11/how-to-setup-java-development-environment-in-ubuntu/" title="How to setup Java development environment in Ubuntu?">How to setup Java development environment in Ubuntu?</a></li><li><a href="http://veerasundar.com/blog/2012/01/the-rise-of-the-front-end-developers/" title="The Rise of the Front End Developers">The Rise of the Front End Developers</a></li><li><a href="http://veerasundar.com/blog/2012/01/fix-for-viewing-tamil-font-in-chrome-ubuntu/" title="Fix for viewing Tamil font in Chrome &#8211; Ubuntu">Fix for viewing Tamil font in Chrome &#8211; Ubuntu</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2012/01/java-lang-verifyerror-expecting-a-stackmap-frame-at-branch-target-jdk-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making GET and POST requests in android application</title>
		<link>http://veerasundar.com/blog/2011/09/making-get-and-post-requests-in-android-application/</link>
		<comments>http://veerasundar.com/blog/2011/09/making-get-and-post-requests-in-android-application/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 04:15:19 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[get]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=2555</guid>
		<description><![CDATA[It is often a requirement that you need to connect to a server through HTTP from your android application. When you use servlets/html, making such requests are a no-brainer. But, in Android it needs some searching before implementing such functions. Here&#8217;s some sample code snippets that explains how you can make GET and POST requests [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>It is often a requirement that you need to connect to a server through <a title="Hosting Java applications in the web" href="http://veerasundar.com/blog/2009/12/hosting-java-applications-in-the-web/" target="_blank">HTTP</a> from your android application. When you use servlets/html, making such requests are a <a title="Implementing Ajax in Java web application using JQuery" href="http://veerasundar.com/blog/2008/12/implementing-ajax-in-java-web-application-using-jquery/" target="_blank">no-brainer</a>. But, in Android it needs some searching before implementing such functions.</p>
<p>Here&#8217;s some sample code snippets that explains how you can make GET and POST requests from your android application.</p>
<h2>Enable Internet permission for your android application:</h2>
<p>Before making any use of internet in your android application, you should enable the internet permission for your application. To do this, open the <em>AndroidManifest.xml </em>file and then add the below line:</p>
<pre class="brush:xml">&lt;uses-permission android:name="android.permission.INTERNET" /&gt;</pre>
<h2>HTTP GET request in Android application:</h2>
<pre class="brush:java">public static String getHttpResponse(URI uri) {
	Log.d(APP_TAG, "Going to make a get request");
	StringBuilder response = new StringBuilder();
	try {
		HttpGet get = new HttpGet();
		get.setURI(uri);
		DefaultHttpClient httpClient = new DefaultHttpClient();
		HttpResponse httpResponse = httpClient.execute(get);
		if (httpResponse.getStatusLine().getStatusCode() == 200) {
			Log.d("demo", "HTTP Get succeeded");

			HttpEntity messageEntity = httpResponse.getEntity();
			InputStream is = messageEntity.getContent();
			BufferedReader br = new BufferedReader(new InputStreamReader(is));
			String line;
			while ((line = br.readLine()) != null) {
				response.append(line);
			}
		}
	} catch (Exception e) {
		Log.e("demo", e.getMessage());
	}
	Log.d("demo", "Done with HTTP getting");
	return response.toString();
}</pre>
<h2>HTTP POST request in Android application:</h2>
<p>A POST request is slightly (well, vastly) different from a GET request (I have seen most developers use there requests interchangeably!). In a POST, we often send some parameters to change state of the objects in server.</p>
<p>In Android too, we have some mechanisms to send HTTP parameters while sending a POST request, which is shown in below code snippet.</p>
<pre class="brush:java">public static String postHttpResponse(URI uri) {
	Log.d(APP_TAG, "Going to make a post request");
	StringBuilder response = new StringBuilder();
	try {
		HttpPost post = new HttpPost();
		post.setURI(uri);
		List params = new ArrayList();
		params.add(new BasicNameValuePair("paramName", "paramValue"));
		post.setEntity(new UrlEncodedFormEntity(params));
		DefaultHttpClient httpClient = new DefaultHttpClient();
		HttpResponse httpResponse = httpClient.execute(post);
		if (httpResponse.getStatusLine().getStatusCode() == 200) {
			Log.d(APP_TAG, "HTTP POST succeeded");
			HttpEntity messageEntity = httpResponse.getEntity();
			InputStream is = messageEntity.getContent();
			BufferedReader br = new BufferedReader(new InputStreamReader(is));
			String line;
			while ((line = br.readLine()) != null) {
				response.append(line);
			}
		} else {
			Log.e(APP_TAG, "HTTP POST status code is not 200");
		}
	} catch (Exception e) {
		Log.e(APP_TAG, e.getMessage());
	}
	Log.d(APP_TAG, "Done with HTTP posting");
	return response.toString();
}</pre>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2011/06/git-tutorial-branching-and-merging/" title="Git tutorial &#8211; branching and merging">Git tutorial &#8211; branching and merging</a></li><li><a href="http://veerasundar.com/blog/2011/06/git-tutorial-my-git-work-flow/" title="Git Tutorial &#8211; My Git work flow">Git Tutorial &#8211; My Git work flow</a></li><li><a href="http://veerasundar.com/blog/2011/06/git-tutorial-getting-started/" title="Git Tutorial &#8211; Getting Started">Git Tutorial &#8211; Getting Started</a></li><li><a href="http://veerasundar.com/blog/2011/05/log4j-tutorial-writing-different-log-levels-in-different-log-files/" title="Log4j Tutorial &#8211; Writing different log levels in different log files">Log4j Tutorial &#8211; Writing different log levels in different log files</a></li><li><a href="http://veerasundar.com/blog/2011/04/hosting-google-app-engine-application-in-your-own-domain/" title="Hosting Google App Engine application in your own domain">Hosting Google App Engine application in your own domain</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2011/09/making-get-and-post-requests-in-android-application/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Download and install JSTL</title>
		<link>http://veerasundar.com/blog/2011/09/download-and-install-jstl/</link>
		<comments>http://veerasundar.com/blog/2011/09/download-and-install-jstl/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 04:40:29 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[box]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[jstl]]></category>
		<category><![CDATA[share]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=2541</guid>
		<description><![CDATA[To add JSTL to your project; Download jstl.jar &#38; standard.jar (360KB) Download the jstl.jar and standard.jar files from the above download link (or you can get these from your local Apache Tomcat installation too!) Put them in your project&#8217;s WEB-INF/lib folder. Add them to the CLASSPATH. Now you can use JSTL in your pages. So, why this [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>To add JSTL to your project;</p>
<p style="text-align: center;"><a class="actionbutton" title="download jstl.jar and standard.jar" href="http://www.box.net/shared/gzz2nyf9s506d3h3vkzq">Download jstl.jar &amp; standard.jar (360KB)</a></p>
<ol>
<li>Download the <em>jstl.jar </em>and <em>standard.jar</em> files from the above download link (or you can get these from your local Apache Tomcat installation too!)</li>
<li>Put them in your project&#8217;s <em>WEB-INF/lib</em> folder.</li>
<li>Add them to the CLASSPATH.</li>
<li>Now you can use JSTL in your pages.</li>
</ol>
<p>So, why this post about an obvious thing?</p>
<p>Well, I&#8217;ve seen people get confused when they try to install JSTL for the first time. They google for &#8220;<em>download JSTL or install JSTL</em>&#8221; which will end up in the page <a title="JSTL downloads" href="http://java.sun.com/products/jsp/jstl/downloads/" target="_blank">JSTL downloads</a> (which is surprisingly still hosted at <strong><em>java.sun.com</em></strong><em>). </em>And, god only knows what you can download from <em>that</em> page!</p>
<p>That is why I&#8217;d put together this simple <a href="http://www.box.net/shared/gzz2nyf9s506d3h3vkzq" title="download JSTL" target="_blank">download</a> link. Hope it&#8217;ll be useful for the JSTL beginners.</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2011/06/git-tutorial-branching-and-merging/" title="Git tutorial &#8211; branching and merging">Git tutorial &#8211; branching and merging</a></li><li><a href="http://veerasundar.com/blog/2011/05/log4j-tutorial-writing-different-log-levels-in-different-log-files/" title="Log4j Tutorial &#8211; Writing different log levels in different log files">Log4j Tutorial &#8211; Writing different log levels in different log files</a></li><li><a href="http://veerasundar.com/blog/2011/04/app-engine-java-development-on-netbeans/" title="App Engine Java development on Netbeans">App Engine Java development on Netbeans</a></li><li><a href="http://veerasundar.com/blog/2011/04/hosting-google-app-engine-application-in-your-own-domain/" title="Hosting Google App Engine application in your own domain">Hosting Google App Engine application in your own domain</a></li><li><a href="http://veerasundar.com/blog/2010/11/how-to-setup-java-development-environment-in-ubuntu/" title="How to setup Java development environment in Ubuntu?">How to setup Java development environment in Ubuntu?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2011/09/download-and-install-jstl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Copy paste code directly in Eclipse</title>
		<link>http://veerasundar.com/blog/2011/09/copy-paste-code-directly-in-eclipse/</link>
		<comments>http://veerasundar.com/blog/2011/09/copy-paste-code-directly-in-eclipse/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 21:13:42 +0000</pubDate>
		<dc:creator>Veera</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[copy]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[paste]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[trick]]></category>

		<guid isPermaLink="false">http://veerasundar.com/blog/?p=2532</guid>
		<description><![CDATA[Recently learned a really cool trick for copy-pasting code in Eclipse. Lets say you have the following code: package com.veerasundar.demo; public class CopyCode { private int nothing; } Now copy the above code, go to any Eclipse project and right click on source folder and paste. See what happens! Impressive isn&#8217;t it!? Here&#8217;s what Eclipse [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Recently learned a really cool trick for copy-pasting code in Eclipse.</p>
<p>Lets say you have the following code:</p>
<pre class="brush:java">package com.veerasundar.demo;

public class CopyCode {
	private int nothing;
}</pre>
<p>Now copy the above code, go to any Eclipse project and right click on <em>source </em>folder and paste. See what happens! Impressive isn&#8217;t it!?</p>
<p>Here&#8217;s what Eclipse did: it parsed the clipboard, found that there&#8217;s a Java code in it, create the necessary package structure for the code to fit in and then copied the code there.</p>
<p>Neat!</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://veerasundar.com/blog/2011/08/attaching-java-source-with-eclipse-ide/" title="Attaching Java source with Eclipse IDE">Attaching Java source with Eclipse IDE</a></li><li><a href="http://veerasundar.com/blog/2010/12/changing-eclipse-default-encoding-to-utf-8-for-jsp-files/" title="Changing Eclipse default encoding to UTF-8 for JSP files">Changing Eclipse default encoding to UTF-8 for JSP files</a></li><li><a href="http://veerasundar.com/blog/2010/11/how-to-setup-java-development-environment-in-ubuntu/" title="How to setup Java development environment in Ubuntu?">How to setup Java development environment in Ubuntu?</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/java-lang-illegalargumentexception-illegal-group-reference-in-string-replaceall/" title="java.lang.IllegalArgumentException: Illegal group reference in String.replaceAll">java.lang.IllegalArgumentException: Illegal group reference in String.replaceAll</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://veerasundar.com/blog/2011/09/copy-paste-code-directly-in-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

