<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-12310420</id><updated>2025-09-25T12:31:54.564+05:30</updated><category term="java"/><category term="code"/><category term="date"/><category term="excel"/><category term="formatting"/><category term="microsoft"/><category term="security"/><category term="age"/><category term="attack"/><category term="auto"/><category term="blogger"/><category term="browser"/><category term="calculate"/><category term="chrome"/><category term="compiler"/><category term="deprecated"/><category term="dimensions"/><category term="doclet"/><category term="dos"/><category term="eclipse"/><category term="exception"/><category term="firefox"/><category term="generate"/><category term="google"/><category term="hibernate"/><category term="html"/><category term="image"/><category term="info"/><category term="javadoc"/><category term="junit"/><category term="macro"/><category term="maven"/><category term="memory"/><category term="menu"/><category term="mitm"/><category term="netstat"/><category term="open"/><category term="os"/><category term="performance"/><category term="plugin"/><category term="ports"/><category term="report"/><category term="resize"/><category term="shortcuts"/><category term="soa"/><category term="spring"/><category term="struts"/><category term="tips"/><category term="unix"/><category term="webapp"/><category term="working days"/><category term="zgrep"/><title type='text'>My Tech Notes</title><subtitle type='html'>A blog with my everyday learnings. - Krishna Pothula</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12310420.post-3912721855474117127</id><published>2014-04-10T14:49:00.000+05:30</published><updated>2014-04-10T14:49:03.021+05:30</updated><title type='text'></title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-iKKFCxN0bmQ/U0Zh0ypeH8I/AAAAAAAAIqc/PB1HJxegZEM/s1600/heartbleed.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-iKKFCxN0bmQ/U0Zh0ypeH8I/AAAAAAAAIqc/PB1HJxegZEM/s1600/heartbleed.png&quot; height=&quot;200&quot; width=&quot;165&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;h2 style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
&lt;strong&gt;Why it is called the Heartbleed Bug?&lt;/strong&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
Bug is in the OpenSSL&#39;s implementation of the TLS/DTLS (transport layer security protocols) heartbeat extension (RFC6520). When it is exploited it leads to the leak of memory contents from the server to the client and from the client to the server.&lt;/div&gt;
&lt;div style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
This flaw allows an attacker to retrieve private memory of an application that uses the vulnerable OpenSSL libssl library in chunks of up to 64k at a time. Note that an attacker can repeatedly leverage the vulnerability to increase the chances that a leaked chunk contains the intended secrets.&lt;/div&gt;
&lt;div style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
&lt;strong&gt;What makes the Heartbleed Bug unique?&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
Bugs in single software or library come and go and are fixed by new versions. However this bug has left large amount of private keys and other secrets exposed to the Internet. Considering the long exposure, ease of exploitation and attacks leaving no trace this exposure should be taken seriously.&lt;/div&gt;
&lt;div style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
&lt;strong&gt;Is this a design flaw in SSL/TLS protocol specification?&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
No. This is implementation problem, i.e. programming mistake in popular OpenSSL library that provides cryptographic services such as SSL/TLS to the applications and services.&lt;/div&gt;
&lt;div style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
&lt;strong&gt;What is being leaked?&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
Encryption is used to protect secrets that may harm your privacy or security if they leak. In order to coordinate recovery from this bug we have classified the compromised secrets to four categories: 1) primary key material, 2) secondary key material and 3) protected content and 4) collateral.&lt;/div&gt;
&lt;div style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
&lt;span style=&quot;line-height: 1.6;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: rgba(255, 255, 255, 0.901961); color: #444444; font-family: &#39;Segoe UI&#39;, Segoe, Tahoma, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; margin-bottom: 10px;&quot;&gt;
&lt;span style=&quot;line-height: 1.6;&quot;&gt;More information:&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://heartbleed.com/&quot; style=&quot;color: #20ad95; line-height: 1.6; text-decoration: none;&quot;&gt;http://heartbleed.com/&lt;/a&gt;&lt;span style=&quot;line-height: 1.6;&quot;&gt;​&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/3912721855474117127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/3912721855474117127?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/3912721855474117127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/3912721855474117127'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2014/04/why-it-is-called-heartbleed-bug-bug-is.html' title=''/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-iKKFCxN0bmQ/U0Zh0ypeH8I/AAAAAAAAIqc/PB1HJxegZEM/s72-c/heartbleed.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-3327534639318129264</id><published>2012-07-04T13:57:00.001+05:30</published><updated>2012-07-04T13:57:18.135+05:30</updated><title type='text'>“Boot to Gecko” the new Mobile OS</title><content type='html'>    &lt;p style=&quot;font-family:trebuchet ms,sans-serif&quot; class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;    &lt;p style=&quot;font-family:trebuchet ms,sans-serif&quot; class=&quot;MsoNormal&quot;&gt;&quot;&lt;b&gt;Boot to Gecko&lt;/b&gt;&quot; is a Mobile OS being developed by &lt;a href=&quot;http://www.mozilla.org/en-US/b2g&quot;&gt;&lt;b&gt;Mozilla&lt;/b&gt;&lt;/a&gt;.&lt;/p&gt;    &lt;p style=&quot;font-family:trebuchet ms,sans-serif&quot; class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;    &lt;p style=&quot;font-family:trebuchet ms,sans-serif&quot; class=&quot;MsoNormal&quot;&gt;Its main concept is everything on it runs on web. No native  apps. Anyone can build and host their App on their own server(no appstore).&lt;/p&gt;&lt;p style=&quot;font-family:trebuchet ms,sans-serif&quot; class=&quot;MsoNormal&quot;&gt;&lt;br&gt;&lt;/p&gt;    &lt;p style=&quot;font-family:trebuchet ms,sans-serif&quot; class=&quot;MsoNormal&quot;&gt;Anyone can build their app in simple HTML5 and CSS(no  special SDK needed like Apple or Android or WM7)… and using their WebAPI can  interface with the Dialer, SMS, Camera, Bluetooth, etc.&lt;/p&gt;    &lt;p style=&quot;font-family:trebuchet ms,sans-serif&quot; class=&quot;MsoNormal&quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;p style=&quot;font-family:trebuchet ms,sans-serif&quot; class=&quot;MsoNormal&quot;&gt;Read more at: &lt;a href=&quot;http://www.mozilla.org/en-US/b2g/&quot;&gt;http://www.mozilla.org/en-US/b2g/&lt;/a&gt;&lt;/p&gt;      &lt;p style=&quot;font-family:trebuchet ms,sans-serif&quot; class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;    &lt;p style=&quot;font-family:trebuchet ms,sans-serif&quot; class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;      &lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/3327534639318129264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/3327534639318129264?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/3327534639318129264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/3327534639318129264'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2012/07/boot-to-gecko-new-mobile-os.html' title='“Boot to Gecko” the new Mobile OS'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-7830259449919844645</id><published>2011-07-29T18:49:00.002+05:30</published><updated>2011-08-02T15:25:14.050+05:30</updated><title type='text'>Shell Script to retrieve Certificate</title><content type='html'>&lt;p class=&quot;MsoNormal&quot;&gt;Here is a helpful script I received from a friend-collegue to retrieve a SSL certificate and store it in a file in Linux.&lt;br /&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# usage: retrieve-cert.sh remote.host.name [port]&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;REMHOST=$1&lt;br /&gt;&lt;br /&gt;REMPORT=${2:-443}&lt;br /&gt;&lt;br /&gt;echo |\&lt;br /&gt;/usr/local/ssl/bin/openssl s_client -connect ${REMHOST}:${REMPORT} 2&amp;gt;&amp;amp;1 |\&lt;br /&gt;&lt;br /&gt;sed -ne &#39;/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p&#39;&lt;br /&gt;&lt;br /&gt;# Use the below command to show certficates, dont use this with sed or you will only get the same output as the command above&lt;br /&gt;&lt;br /&gt;#/usr/local/ssl/bin/openssl s_client -showcerts -connect ${REMHOST}:${REMPORT} 2&amp;gt;&amp;amp;1 |\&lt;br /&gt;&lt;/blockquote&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/7830259449919844645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/7830259449919844645?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/7830259449919844645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/7830259449919844645'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2011/07/shell-script-to-retrieve-certificate.html' title='Shell Script to retrieve Certificate'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-8216859919604968000</id><published>2011-04-08T22:26:00.001+05:30</published><updated>2011-04-08T22:26:30.388+05:30</updated><title type='text'>Mehotd to read Jar versions</title><content type='html'>I have a test JSP that is used for testing the installation of the applicaiton. &lt;div&gt;I that I needed to find the versions of the Jar files that are loaded by the server. I wrote a small method in a JSP to read the Versions from the JAR files. &lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;String readManifest(String jar) {&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;		&lt;/span&gt;try {&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;			&lt;/span&gt;JarFile jarfile = new JarFile(jar);&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;			&lt;/span&gt;Manifest manifest = jarfile.getManifest();&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;			&lt;/span&gt;java.util.Map map = manifest.getEntries();&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;			&lt;/span&gt;java.util.Iterator iter = map.keySet().iterator();&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;			&lt;/span&gt;String ver = &amp;quot;unknown&amp;quot;;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;			&lt;/span&gt;while(iter.hasNext()){&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;				&lt;/span&gt;String key = (String)iter.next();&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;				&lt;/span&gt;String str = null;&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;				&lt;/span&gt;java.util.jar.Attributes attr = (Attributes)map.get(key);&lt;/font&gt;&lt;/div&gt;&lt;div&gt; &lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;				&lt;/span&gt;str = attr.getValue(Attributes.Name.IMPLEMENTATION_VERSION);&lt;/font&gt;&lt;/div&gt;&lt;div&gt; &lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;				&lt;/span&gt;if(str == null) {&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;					&lt;/span&gt;str = attr.getValue(Attributes.Name.SPECIFICATION_VERSION);&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;				&lt;/span&gt;}&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;				&lt;/span&gt;if(str != null) { ver = str; }&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;				&lt;/span&gt;else {&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;					&lt;/span&gt;ver = &amp;quot;unknown&amp;quot;;&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;				&lt;/span&gt;}&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;			&lt;/span&gt;}&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;			&lt;/span&gt;return ver;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;		&lt;/span&gt;} catch (Exception ex) {&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;			&lt;/span&gt;return &amp;quot;Error:&amp;quot;+ex.getMessage();&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;		&lt;/span&gt;}&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot; size=&quot;1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;}&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/8216859919604968000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/8216859919604968000?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/8216859919604968000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/8216859919604968000'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2011/04/mehotd-to-read-jar-versions.html' title='Mehotd to read Jar versions'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-1963862750533366133</id><published>2010-07-18T21:02:00.001+05:30</published><updated>2010-07-18T21:02:13.396+05:30</updated><title type='text'>git error: error setting certificate verify locations</title><content type='html'>&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;I am using Windows and &lt;/span&gt;&lt;a style=&quot;font-family: trebuchet ms,sans-serif;&quot; href=&quot;http://code.google.com/p/msysgit/&quot;&gt;msysgit&lt;/a&gt;&lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;. When I try to clone a git repo from &lt;a href=&quot;http://github.com/&quot;&gt;Github&lt;/a&gt; I received a SSL related error.&lt;/span&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt; &lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&amp;gt;git clone &lt;/span&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;a href=&quot;https://someid&quot;&gt;https://someid&lt;/a&gt;@&lt;a href=&quot;http://github.com/project/wisper.git&quot;&gt;github.com/project/wisper.git&lt;/a&gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;Password:&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;error: error setting certificate verify locations:&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;  CAfile: /bin/curl-ca-bundle.crt&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;  CApath: none&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt; while accessing &lt;a href=&quot;https://someid&quot;&gt;https://someid&lt;/a&gt;@&lt;a href=&quot;http://github.com/project/wisper.git&quot;&gt;github.com/project/wisper.git&lt;/a&gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;fatal: HTTP request failed&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&amp;gt;git config -l&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;http.sslcainfo=/bin/curl-ca-bundle.crt&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;br&gt;&lt;b style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;To fix the problem change the forward slashes to backward slashes.&lt;/b&gt;&lt;br&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&amp;gt;git config --system http.sslcainfo \bin\curl-ca-bundle.crt&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&amp;gt;git config -l&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;http.sslcainfo=\bin\curl-ca-bundle.crt&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/1963862750533366133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/1963862750533366133?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/1963862750533366133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/1963862750533366133'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2010/07/git-error-error-setting-certificate.html' title='git error: error setting certificate verify locations'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-969364713393664056</id><published>2010-06-28T20:02:00.001+05:30</published><updated>2010-06-28T20:02:23.125+05:30</updated><title type='text'>Frequently Used Maven Commands</title><content type='html'>&lt;b&gt;Frequently used Maven commands&lt;/b&gt;&lt;br&gt;&lt;br&gt;# Command to Clean any previously build code&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn clean&lt;/span&gt;&lt;br&gt;&lt;br&gt;# Command to install&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn install&lt;/span&gt;&lt;br&gt; &lt;br&gt;# If you are behind a proxy then add this in the $USER_HOME/.me/settings.xml &lt;br&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&amp;lt;settings&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;  &amp;lt;proxies&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;   &amp;lt;proxy&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;      &amp;lt;active&amp;gt;true&amp;lt;/active&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;      &amp;lt;protocol&amp;gt;http&amp;lt;/protocol&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;      &amp;lt;host&amp;gt;&lt;/span&gt;&lt;a style=&quot;font-family: courier new,monospace;&quot; href=&quot;http://myproxyhost.com&quot; target=&quot;_blank&quot;&gt;myproxyhost.com&lt;/a&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&amp;lt;/host&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;       &amp;lt;port&amp;gt;1234&amp;lt;/port&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;    &amp;lt;/proxy&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;  &amp;lt;/proxies&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&amp;lt;/settings&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;# And for HTTPS traffic use this in the command line&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn install -Dhttps.proxyHost=&amp;quot;&lt;/span&gt;&lt;a style=&quot;font-family: courier new,monospace;&quot; href=&quot;http://myproxyhost.com&quot; target=&quot;_blank&quot;&gt;myproxyhost.com&lt;/a&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&amp;quot; -Dhttps.proxyPort=&amp;quot;1234&amp;quot;&lt;/span&gt;&lt;br&gt;  &lt;br&gt;# For offline building (i.e. if you think you have all the required dependencies)&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn –o install&lt;/span&gt; &lt;br&gt;&lt;br&gt;# Command to install without executing unit tests&lt;br&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn install -Dmaven.test.skip=true&lt;/span&gt;&lt;br&gt;&lt;br&gt;# Command to install but using a specific profile&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt; mvn clean install -Ptomcat&lt;/span&gt;&lt;br&gt;&lt;br&gt;# Command to use the Cargo Deploy plugin&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn cargo:deploy&lt;/span&gt;&lt;br&gt;&lt;br&gt;# Command to perform the release of a module&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn -Dresume=false release:prepare release:perform&lt;/span&gt;&lt;br&gt; &lt;br&gt;# Command to continue a release that stopped in the middile&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt; mvn -Dresume=true release:prepare release:perform&lt;/span&gt;&lt;br&gt;&lt;br&gt;# Command to do a Dryrun release&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn release:prepare -DdryRun=true&lt;/span&gt;&lt;br&gt;&lt;br&gt;# If SCM interactions are involved then below option can be used to provide a SCM Comment prefix&lt;br&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt; mvn -Dresume=false release:prepare release:perform -DscmCommentPrefix=&amp;quot;Mvn Release 1.0:&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;br&gt;# Not all jar files are available in the Maven repository. &lt;br&gt;# Command to Upload a missing artifact jar into a local repository&lt;br&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt; mvn deploy:deploy-file -DgroupId=net.sf -DartifactId=jcsc -Dversion=0.98.1 -Dpackaging=jar -Dfile=JCSC.jar -DrepositoryId=thirdparty-jars -Durl=&lt;/span&gt;&lt;a href=&quot;http://mavenrepo.comp.com/nexus/content/repositories/thirdparty-jars&quot;&gt;http://mavenrepo.comp.com/nexus/content/repositories/thirdparty-jars&lt;/a&gt;&lt;br&gt;  &lt;br&gt;# Command to create a maven project from an Artifact&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn archetype:create -DgroupId=com.mycompany.myapp -DartifactId=basic-webapp -DarchetypeGroupId=org.apache.&lt;/span&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;maven.archetypes -DarchetypeArtifactId=maven-&lt;/span&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;archetype-webapp -DremoteRepositories=http://&lt;/span&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;a href=&quot;http://repo1.maven.org/maven2&quot;&gt;repo1.maven.org/maven2&lt;/a&gt;&lt;/span&gt; &lt;br&gt;  &lt;br&gt;# Command to check the version of maven plugin being used&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn -Dplugin=install help:describe -Ddetail&lt;/span&gt;&lt;br&gt;&lt;br&gt;# Command to Generate dependency tree&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn dependency:tree -Doutput=dep-tree.txt&lt;/span&gt;&lt;br&gt; &lt;br&gt;# List all dependencies of this project&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt; mvn dependency:list &lt;/span&gt;&lt;br&gt;&lt;br&gt;# Command to generate Site documentation&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn site:site&lt;/span&gt;&lt;br&gt; &lt;br&gt;# Commands to generate specific reports&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn site:site -DgenerateReports=false -Dmaven.test.skip=true&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn project-info-reports:summary -Dmaven.test.skip=true&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn project-info-reports:scm project-info-reports:issue-&lt;/span&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;tracking project-info-reports:index -Dmaven.test.skip=true&lt;/span&gt;&lt;br&gt;  &lt;br&gt;# Commands for various other reports&lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn taglist:taglist&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn javancss:report&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn dashboard:dashboard&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn jdepend:generate&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn changes:changes-report&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;mvn changes:jira-report&lt;/span&gt;&lt;br&gt;&lt;br&gt; &lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/969364713393664056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/969364713393664056?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/969364713393664056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/969364713393664056'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2010/06/frequently-used-maven-commands.html' title='Frequently Used Maven Commands'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-5594409361792399242</id><published>2010-06-22T14:13:00.001+05:30</published><updated>2010-06-22T14:13:46.584+05:30</updated><title type='text'>yum install MySQL - Remote Access</title><content type='html'>This post explains all the steps needed to install Mysql on Linux(RedHat, CentOS, Fedora) and configure it to access db from remote machines.&lt;br&gt;&lt;br&gt;Install Mysql Client&lt;br&gt;&lt;div style=&quot;margin-left: 40px;&quot;&gt;$ yum install mysql&lt;br&gt; &lt;/div&gt;&lt;br&gt;Install Mysql Server&lt;br&gt; &lt;div style=&quot;margin-left: 40px;&quot;&gt;$ yum install mysql-server&lt;br&gt;&lt;/div&gt;&lt;br&gt;Upgrade Mysql Installation&lt;br&gt;&lt;div style=&quot;margin-left: 40px;&quot;&gt;$ mysql_upgrade&lt;br&gt;&lt;/div&gt;&lt;br&gt;Login as root user&lt;br&gt;&lt;div style=&quot;margin-left: 40px;&quot;&gt;$ mysql -u root&lt;br&gt; mysql&amp;gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt;List the grants this user has&lt;br&gt;&lt;div style=&quot;margin-left: 40px;&quot;&gt;mysql&amp;gt; SHOW GRANTS;&lt;br&gt;&lt;/div&gt;&lt;br&gt;Grant all privileges to login as root from any remote machine&lt;br&gt;&lt;div style=&quot;margin-left: 40px;&quot;&gt; mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO &amp;#39;root&amp;#39;@&amp;#39;%&amp;#39; IDENTIFIED BY &amp;#39;password&amp;#39; WITH GRANT OPTION&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/5594409361792399242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/5594409361792399242?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/5594409361792399242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/5594409361792399242'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2010/06/yum-install-mysql-remote-access.html' title='yum install MySQL - Remote Access'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-666495003082233449</id><published>2010-06-16T17:49:00.001+05:30</published><updated>2010-06-16T17:49:22.034+05:30</updated><title type='text'>APSRTC Online Booking - comments</title><content type='html'>Finally APSRTC started Online Ticket Booking.&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.apsrtc.in/APSRTCOnline&quot;&gt;http://www.apsrtc.in/APSRTCOnline&lt;/a&gt;&lt;br&gt;&lt;br&gt;Application&amp;#39;s response is pretty fast (may be because there is no traffic?)&lt;br&gt; My observations:&lt;br&gt;* There is no SSL during login, hope their payment gateway is secure.&lt;br&gt;* Its a struts based Java app running on IBM Websphere&lt;br&gt;* Left the default apps running: &lt;a href=&quot;http://www.apsrtc.in/hitcount&quot;&gt;http://www.apsrtc.in/hitcount&lt;/a&gt;&lt;br&gt; * Developers dont know the difference between HTML comments and JSP comments. View source of the home page shows lot of commented HTML code.&lt;br&gt;* Uses struts validator framework for validations on serverside and client side. Smart way to avoid load on the server and do all validations on client first.&lt;br&gt; * While searching for From and To location, just enter % and you get all locations.&lt;br&gt;&lt;br&gt; &lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/666495003082233449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/666495003082233449?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/666495003082233449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/666495003082233449'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2010/06/apsrtc-online-booking-comments.html' title='APSRTC Online Booking - comments'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-8134290879094616228</id><published>2010-06-11T11:40:00.001+05:30</published><updated>2010-06-11T11:40:02.183+05:30</updated><title type='text'>Enhance Google Reader</title><content type='html'>Enhance/Customize the appearance of Google Reader with the below Firefox plugins.&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://userscripts.org/scripts/show/12917&quot;&gt;http://userscripts.org/scripts/show/12917&lt;/a&gt; (Need Grease Monkey plugin)&lt;br&gt;&lt;a href=&quot;http://userscripts.org/scripts/show/26859&quot;&gt;http://userscripts.org/scripts/show/26859&lt;/a&gt; (Need Grease Monkey plugin)&lt;br&gt; &lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/748&quot;&gt;https://addons.mozilla.org/en-US/firefox/addon/748&lt;/a&gt; (Grease Monkey)&lt;br&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/6424/&quot;&gt;https://addons.mozilla.org/en-US/firefox/addon/6424/&lt;/a&gt; (Better GReader)&lt;br&gt; &lt;br&gt;&lt;br&gt; &lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/8134290879094616228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/8134290879094616228?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/8134290879094616228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/8134290879094616228'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2010/06/enhance-google-reader.html' title='Enhance Google Reader'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-2528792022843433611</id><published>2010-05-03T17:42:00.001+05:30</published><updated>2010-05-03T17:42:31.180+05:30</updated><title type='text'>Access Mercurial Hg via Proxy server</title><content type='html'>Accessing &lt;a href=&quot;http://bitbucket.org&quot;&gt;BitBucket&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Mercurial&quot;&gt;Mercurial&lt;/a&gt; repository via Proxy server.&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;Create a &amp;quot;.hgrc&amp;quot; file in HOME directory.&lt;/li&gt;&lt;li&gt;Edit the file and add the proxy server details&lt;/li&gt; &lt;/ul&gt;&lt;br&gt;&lt;div style=&quot;margin-left: 40px; font-family: courier new,monospace;&quot;&gt;[http_proxy]&lt;br&gt;host=&lt;a href=&quot;http://myproxyserver.mycompany.com:1234&quot;&gt;myproxyserver.mycompany.com:1234&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt; &lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/2528792022843433611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/2528792022843433611?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/2528792022843433611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/2528792022843433611'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2010/05/access-mercurial-hg-via-proxy-server.html' title='Access Mercurial Hg via Proxy server'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-6335889515484278607</id><published>2010-04-23T15:07:00.000+05:30</published><updated>2010-05-03T15:09:53.795+05:30</updated><title type='text'>Free SOAP web services</title><content type='html'>Here are some SOAP web services available for free for testing.&lt;br /&gt;&lt;br /&gt;Google Search RSS: &lt;a href=&quot;http://www.ecubicle.net/gsearch_rss.asmx?WSDL&quot; target=&quot;_blank&quot;&gt;http://www.ecubicle.net/gsearch_rss.asmx?WSDL&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Random Bushism: &lt;a href=&quot;http://greg.froh.ca/fun/random_bushism/soap/index.php?wsdl&quot; target=&quot;_blank&quot;&gt;http://greg.froh.ca/fun/random_bushism/soap/index.php?wsdl&lt;/a&gt;&lt;br /&gt;  &lt;br /&gt;Random Google Search: &lt;a href=&quot;http://www.ghettodriveby.com/soap/index.php?wsdl&quot; target=&quot;_blank&quot;&gt;http://www.ghettodriveby.com/soap/index.php?wsdl&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Currency Converter: &lt;a href=&quot;http://www.webservicex.net/CurrencyConvertor.asmx?WSDL&quot; target=&quot;_blank&quot;&gt;http://www.webservicex.net/CurrencyConvertor.asmx?WSDL&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Send SMS: &lt;a href=&quot;http://www.aswinanand.com/sendsms.php?wsdl&quot; target=&quot;_blank&quot;&gt;http://www.aswinanand.com/sendsms.php?wsdl&lt;/a&gt;&lt;br /&gt;  &lt;br /&gt;More free/paid services @ &lt;a href=&quot;http://soatrader.com/web-services/&quot; target=&quot;_blank&quot;&gt;http://soatrader.com/web-services/&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/6335889515484278607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/6335889515484278607?isPopup=true' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/6335889515484278607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/6335889515484278607'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2010/04/free-soap-web-services.html' title='Free SOAP web services'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-3874592961884437694</id><published>2010-04-05T01:35:00.001+05:30</published><updated>2010-04-05T01:35:42.964+05:30</updated><title type='text'>Configuring Jetty in pom.xml</title><content type='html'>To instantly run your java webapp after compiling, configure Jetty in pom.xml. This doesn&amp;#39;t need an installation of Jetty server.&lt;br&gt;Jetty will be automatically downloaded, and your app will be deployed and server starts.&lt;br&gt; &lt;br&gt;&lt;b&gt;How to configure Jetty?&lt;/b&gt;&lt;br&gt;For those who are wondering &amp;quot;then how do I configure my server&amp;quot;, here is the option. Copy the &amp;quot;webDefaultXml&amp;quot; from the jetty jar and add it to your resources. Now pass the location of the &amp;quot;webDefaultXml&amp;quot; to Jetty plugin.&lt;br&gt; &lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&amp;lt;plugin&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;    &amp;lt;groupId&amp;gt;org.mortbay.jetty&amp;lt;/groupId&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;    &amp;lt;artifactId&amp;gt;maven-jetty-plugin&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;    &amp;lt;configuration&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;        &amp;lt;scanIntervalSeconds&amp;gt;10&amp;lt;/scanIntervalSeconds&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;        &amp;lt;webDefaultXml&amp;gt;src/main/resources/webdefault.xml&amp;lt;/webDefaultXml&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;    &amp;lt;/configuration&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&amp;lt;/plugin&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;What you can configure in webDefaultXml?&lt;/b&gt;&lt;br&gt; A sample of options that you can configure:&lt;br&gt;&lt;ul&gt;&lt;li&gt;Directory Listing&lt;/li&gt;&lt;li&gt;gzip Compression&lt;/li&gt;&lt;li&gt;Memory mapped File buffer (updating this to false will fix your CSS and Image lock issue)&lt;/li&gt;&lt;li&gt;Cache Control&lt;/li&gt; &lt;li&gt;Servlet Mapping URL patterns (If you have a url that you want to be processed like *.jsp)&lt;/li&gt;&lt;/ul&gt; &lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/3874592961884437694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/3874592961884437694?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/3874592961884437694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/3874592961884437694'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2010/04/configuring-jetty-in-pomxml.html' title='Configuring Jetty in pom.xml'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-1559008142171889301</id><published>2010-03-31T00:10:00.001+05:30</published><updated>2010-03-31T00:10:34.227+05:30</updated><title type='text'>Using Bitbucket and Mercurial</title><content type='html'>&lt;font size=&quot;4&quot;&gt;&lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;Pre-requisites for this Tutorial&lt;/span&gt;&lt;/font&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;An Account in BitBucket.org&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;Install Mercurial from &lt;a href=&quot;http://mercurial.selenic.com/downloads/&quot;&gt;here&lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;How to get the Code&lt;/span&gt;&lt;/font&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt; &lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;Use the below command to get the source to your local.&lt;/span&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;$ hg clone &lt;a href=&quot;https://USERID&quot;&gt;https://USERID&lt;/a&gt;@&lt;a href=&quot;http://bitbucket.org/REPOPATH/&quot;&gt;bitbucket.org/REPOPATH/&lt;/a&gt;&lt;/span&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt; &lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;How to make changes&lt;/span&gt;&lt;/font&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt; &lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;Once you have the code on you local computer. You are free to make changes. And once in a while if you want to commit your changes then use the below command to commit to the local repository.&lt;/span&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt; &lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;$ hg commit -m &amp;quot;comments&amp;quot; -u USERID&lt;/span&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt; &lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;Remember: The above commit is local only. It will not be reflected in the bitbucket repository.&lt;/span&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;To publish you changes for everyone to see, use push command.&lt;/span&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt; &lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;$ hg push&lt;/span&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;How to get changes from remote repo&lt;/span&gt;&lt;/font&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt; &lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;To get changes made in Remote(bitbucket) to local repository.&lt;/span&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt; &lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;$ hg pull&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;$ hg merge tip&lt;/span&gt;&lt;br&gt; &lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;/span&gt;For more detailed guide see &lt;a href=&quot;http://mercurial.selenic.com/guide/&quot;&gt;here&lt;/a&gt;.&lt;br&gt;&lt;br style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: trebuchet ms,sans-serif;&quot;&gt;Have fun!&lt;/span&gt; &lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/1559008142171889301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/1559008142171889301?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/1559008142171889301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/1559008142171889301'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2010/03/using-bitbucket-and-mercurial.html' title='Using Bitbucket and Mercurial'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-1033810601304164638</id><published>2010-03-23T16:16:00.002+05:30</published><updated>2010-03-31T00:47:55.048+05:30</updated><title type='text'>Gravatar - A Globally Recognized Avatar</title><content type='html'>&lt;div class=&quot;gmail_quote&quot;&gt;&lt;div link=&quot;blue&quot; vlink=&quot;purple&quot; lang=&quot;EN-US&quot;&gt;  &lt;div&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;&lt;img src=&quot;http://s.gravatar.com/images/logo.png&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;A Globally Recognized Avatar&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;Gravatar is an image that follows you from site to site appearing beside your name when you do things like comment or post on a blog. Avatars help identify your posts on blogs and web forums, so why not on any site?&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:100%;&quot;  &gt;&lt;span style=&quot;font-weight: bold;font-family:Tahoma;font-size:12;&quot;  &gt;How it works&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;Url: &lt;a href=&quot;http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?s=80&quot; target=&quot;_blank&quot;&gt;http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?s=80&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;The URL always begins with &lt;a href=&quot;http://www.gravatar.com/avatar/&quot; target=&quot;_blank&quot;&gt;http://www.gravatar.com/avatar/&lt;/a&gt; and the next part is the hexadecimal MD5 hash of the requested user&#39;s lowercased email address with all whitespace trimmed. Hashing is done to prevent spambots from harvesting e-mail addresses.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;font-weight: bold;font-family:Tahoma;font-size:10;&quot;  &gt;Parameters:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;ul style=&quot;margin-top: 0in;&quot; type=&quot;disc&quot;&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;Parameter &quot;s&quot; will      fetch image of size 80x80 (example: s=80)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;Parameter &quot;g&quot; will      fetch image if it is rated G (example: r=g, r=pg)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;Parameter &quot;d&quot; will      fetch a default image if there is no gravatar associated with an email      address (Example: d=wavatar, d=404)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;font-weight: bold;font-family:Tahoma;font-size:10;&quot;  &gt;Technology Details:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.5in;&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;&lt;span&gt;-&lt;span style=&quot;;font-family:Times New Roman;font-size:78%;&quot;  &gt;&lt;span style=&quot;;font-family:&amp;quot;;font-size:7;&quot;  &gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;Initially developed in Ruby on Rails now in PHP.&lt;br /&gt;&lt;span&gt;-&lt;span style=&quot;;font-family:Times New Roman;font-size:78%;&quot;  &gt;&lt;span style=&quot;;font-family:&amp;quot;;font-size:7;&quot;  &gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;Uses nginx (fourth most popular) as Webserver&lt;br /&gt;&lt;span&gt;-&lt;span style=&quot;;font-family:Times New Roman;font-size:78%;&quot;  &gt;&lt;span style=&quot;;font-family:&amp;quot;;font-size:7;&quot;  &gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;Photos are served from Amazon S3 Cloud&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;&quot;The way that images were stored originally was: a complete image was made for all sizes between 1×1 and 80×80 pixels, a directory made for each rating, and a symlink placed from the rating to the appropriate image (either the users image or the default image in case the rating was too high.)  So that&#39;s 80 images, 5 directories, and 240 symbolic links.  The reason for this, I believe, was to attempt to serve the avatar content without any database interaction whatever.  The files were then archived, uploaded to Amazon S3, and an entry added to Amazon SQS.  Finally the SQS entry was retrieved by the serving server, the file downloaded, extracted, and placed on the filesystem.  So this is why it took several minutes once you uploaded and cropped your image for you to be able to browse the rest of the site again.  You can imagine how many files Gravatar was comprised of by the time we got a hold of it!  We knew that this would simply NOT work for our new 512×512px avatar sizes.  Lastly there were a couple of directories which had several hundred thousand entries (either files or other directories) which were nearly impossible to even get a listing inside of.  So we had a list of things NOT to do.  We just needed to figure out what TO do &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;So we decided that we would render all our avatars dynamically from the highest quality copy of the image we can manage… down.  We would only store one version of the image, though we would store it in multiple places (a local file server for speed, and S3 for redundancy.)  We would still rely heavily on caching.  And we would asynchronize as much of the workload as was possible, so that you don&#39;t have to wait for things to happen after you finish cropping (to do this we employed various techniques and hacks best left for another day and another story.)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;Gravatar now lives on about 20 servers: 2 Database servers, 1 File server, 2 Load balancers, 5 Caching servers, 9 Web servers, and 1 Development server.  That combination of servers is handling an average of 7,214 of your requests every second of every day.  That&#39;s a whopping 623,293,056 requests daily! 96% of all of those requests are served directly from cache.  These days we get around 5,000 uploaded images every day.&quot;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;font-weight: bold;font-family:Tahoma;font-size:10;&quot;  &gt;Unique Avatar Icon Generators based on Email address&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: 15pt;&quot;&gt;&lt;span style=&quot;color: rgb(68, 68, 68);font-family:Verdana;font-size:85%;&quot;  &gt;&lt;span style=&quot;color: rgb(68, 68, 68);font-family:Verdana;font-size:10;&quot;  &gt;identicon&lt;span&gt; &lt;/span&gt;&lt;img src=&quot;http://www.gravatar.com/avatar/04d24379cd970b7670ee66fa203d646f?s=80&amp;r=any&amp;default=identicon&amp;forcedefault=1&quot; style=&quot;vertical-align: middle;&quot; width=&quot;80&quot; border=&quot;0&quot; height=&quot;80&quot; /&gt;   wavatar &lt;img src=&quot;http://www.gravatar.com/avatar/04d24379cd970b7670ee66fa203d646f?s=80&amp;r=any&amp;default=wavatar&amp;forcedefault=1&quot; style=&quot;vertical-align: middle;&quot; width=&quot;80&quot; border=&quot;0&quot; height=&quot;80&quot; /&gt;&lt;span&gt; &lt;/span&gt;  monsterid&lt;span&gt; &lt;/span&gt;&lt;img src=&quot;http://www.gravatar.com/avatar/04d24379cd970b7670ee66fa203d646f?s=80&amp;r=any&amp;default=monsterid&amp;forcedefault=1&quot; style=&quot;vertical-align: middle;&quot; width=&quot;80&quot; border=&quot;0&quot; height=&quot;80&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;;font-family:Tahoma;font-size:85%;&quot;  &gt;&lt;span style=&quot;;font-family:Tahoma;font-size:10;&quot;  &gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;b&gt;Gravatar Rocks.&lt;/b&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/1033810601304164638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/1033810601304164638?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/1033810601304164638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/1033810601304164638'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2010/03/gravatar-globally-recognized-avatar.html' title='Gravatar - A Globally Recognized Avatar'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-1991943772284478306</id><published>2010-03-23T15:48:00.001+05:30</published><updated>2010-03-23T15:48:17.234+05:30</updated><title type='text'>&quot;Unknown Source&quot; in Stacktrace</title><content type='html'>When compiled java source with Ant any Exception thrown from these compiled classes doesnt show line numbers. This seems to be a default setting in Ant.&lt;br&gt;&lt;a href=&quot;http://ant.apache.org/manual/CoreTasks/javac.html&quot;&gt;http://ant.apache.org/manual/CoreTasks/javac.html&lt;/a&gt;&lt;br&gt; &lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;BUILD FAILED&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;java.lang.NullPointerException&lt;/span&gt;&lt;br style=&quot;font-family: courier new,monospace;&quot;&gt; &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;        at com.mycompany.myapp.MyClass.doSomething(Unknown Source)&lt;/span&gt;&lt;br&gt;&lt;br&gt;To get back the line numbers in the Exception Stacktrace add the below options to the javac task.&lt;br&gt; &lt;br&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;debug=&amp;quot;on&amp;quot; &lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/1991943772284478306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/1991943772284478306?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/1991943772284478306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/1991943772284478306'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2010/03/unknown-source-in-stacktrace.html' title='&quot;Unknown Source&quot; in Stacktrace'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-2062735847657060422</id><published>2010-03-09T00:10:00.002+05:30</published><updated>2010-03-09T01:31:12.002+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="hibernate"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><category scheme="http://www.blogger.com/atom/ns#" term="spring"/><category scheme="http://www.blogger.com/atom/ns#" term="struts"/><category scheme="http://www.blogger.com/atom/ns#" term="webapp"/><title type='text'>Creating Web Applications from Scratch</title><content type='html'>Archy is a useful tool I came across which can be used to create blank web applications. &lt;div&gt;&lt;a href=&quot;http://code.google.com/p/archy/&quot;&gt;http://code.google.com/p/archy/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This tool becomes extremely handy as it includes all the necessary web.xml configuration and some sample code to start with.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And its very easy to use also. I recommend all starters to use this tool to create their application base.&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/2062735847657060422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/2062735847657060422?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/2062735847657060422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/2062735847657060422'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2010/03/creating-web-applications-from-scratch.html' title='Creating Web Applications from Scratch'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-7293070458957620309</id><published>2010-03-08T12:21:00.002+05:30</published><updated>2010-03-09T01:31:54.857+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="compiler"/><category scheme="http://www.blogger.com/atom/ns#" term="deprecated"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="plugin"/><category scheme="http://www.blogger.com/atom/ns#" term="report"/><title type='text'>Maven: See deprecated API usage warnings; commandline</title><content type='html'>Maven command line option to see the warnings for deprecated code usage.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;mvn clean compile -Dmaven.compiler.showDeprecation=true&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html&quot;&gt;http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/7293070458957620309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/7293070458957620309?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/7293070458957620309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/7293070458957620309'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2010/03/maven-see-deprecated-api-usage-warnings.html' title='Maven: See deprecated API usage warnings; commandline'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-4137593108785658320</id><published>2009-12-08T17:08:00.002+05:30</published><updated>2009-12-08T17:11:57.248+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="unix"/><category scheme="http://www.blogger.com/atom/ns#" term="zgrep"/><title type='text'>Grep gz files in Unix/Linux</title><content type='html'>ZGREP&lt;br /&gt;&lt;br /&gt;NAME&lt;br /&gt;       zgrep - search possibly compressed files for a regular expression&lt;br /&gt;&lt;br /&gt;SYNOPSIS&lt;br /&gt;       zgrep [ grep_options ] [ -e ] pattern filename...&lt;br /&gt;&lt;br /&gt;DESCRIPTION&lt;br /&gt;       Zgrep  is  used  to invoke the grep on compressâed or gzipâed files. All options specified are passed directly to grep.  If no file is&lt;br /&gt;       specified, then the standard input is decompressed if necessary and fed to grep.  Otherwise the given files are uncompressed if neces-&lt;br /&gt;       sary and fed to grep.&lt;br /&gt;&lt;br /&gt;       If  zgrep  is invoked as zegrep or zfgrep then egrep or fgrep is used instead of grep.  If the GREP environment variable is set, zgrep&lt;br /&gt;       uses it as the grep program to be invoked. For example:&lt;br /&gt;&lt;br /&gt;           for sh:  GREP=fgrep  zgrep string files&lt;br /&gt;           for csh: (setenv GREP fgrep; zgrep string files)&lt;br /&gt;&lt;br /&gt;AUTHOR&lt;br /&gt;       Charles Levert (charles@comm.polymtl.ca)&lt;br /&gt;&lt;br /&gt;SEE ALSO&lt;br /&gt;       grep(1), egrep(1), fgrep(1), zdiff(1), zmore(1), znew(1), zforce(1), gzip(1), gzexe(1)&lt;br /&gt;&lt;br /&gt;-----------------&lt;br /&gt;Example:&lt;br /&gt;     zgrep &quot;ERROR&quot; *.gz&lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/4137593108785658320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/4137593108785658320?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/4137593108785658320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/4137593108785658320'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2009/12/grep-gz-files-in-unixlinux.html' title='Grep gz files in Unix/Linux'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-957313721134953132</id><published>2009-12-08T17:06:00.002+05:30</published><updated>2010-03-09T01:32:21.295+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="browser"/><category scheme="http://www.blogger.com/atom/ns#" term="firefox"/><category scheme="http://www.blogger.com/atom/ns#" term="memory"/><category scheme="http://www.blogger.com/atom/ns#" term="performance"/><title type='text'>Performance Tuning for firefox</title><content type='html'>&lt;div&gt;Firefox has Memory issues. If the browser is kept open for a while, even if I close all tabs except one Firefox doesn&#39;t clear the memory that it occupied. In my case I kept the browser open for more than a day; 2 windows with 4 tabs each. From the second day onwards it takes up more than 512Mb of memory and even typing becomes slow.&lt;/div&gt; &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I found this article that explains how to fix the memory leak issue in firefox. Its basically tuning for better performance.&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://www.detector-pro.com/2008/04/how-to-fix-firefox-memory-leak-problem.html&quot;&gt;http://www.detector-pro.com/2008/04/how-to-fix-firefox-memory-leak-problem.html&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hope this helps you.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/957313721134953132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/957313721134953132?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/957313721134953132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/957313721134953132'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2009/12/performance-tuning-for-firefox.html' title='Performance Tuning for firefox'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-8263494700329971553</id><published>2009-11-22T00:06:00.007+05:30</published><updated>2009-11-22T01:26:03.396+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome"/><category scheme="http://www.blogger.com/atom/ns#" term="google"/><category scheme="http://www.blogger.com/atom/ns#" term="os"/><title type='text'>Google Chrome OS Screenshots</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://4.bp.blogspot.com/_vZUJfTzXvtw/Swgz0SaYgRI/AAAAAAAAEGg/ciA_dsl8V3Q/s1600/2009-11-21_234141.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 238px;&quot; src=&quot;http://4.bp.blogspot.com/_vZUJfTzXvtw/Swgz0SaYgRI/AAAAAAAAEGg/ciA_dsl8V3Q/s320/2009-11-21_234141.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5406628326046990610&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_vZUJfTzXvtw/Swgz0qQIr3I/AAAAAAAAEGo/3uJ8bNIUThA/s1600/2009-11-21_234215.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 273px;&quot; src=&quot;http://1.bp.blogspot.com/_vZUJfTzXvtw/Swgz0qQIr3I/AAAAAAAAEGo/3uJ8bNIUThA/s320/2009-11-21_234215.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5406628332446461810&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_vZUJfTzXvtw/Swgz0zsrduI/AAAAAAAAEGw/uypgXedC7lc/s1600/2009-11-21_234232.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 266px;&quot; src=&quot;http://1.bp.blogspot.com/_vZUJfTzXvtw/Swgz0zsrduI/AAAAAAAAEGw/uypgXedC7lc/s320/2009-11-21_234232.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5406628334982100706&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_vZUJfTzXvtw/Swgz1ZPCmtI/AAAAAAAAEG4/Y1fm6ATHH7E/s1600/2009-11-21_234337.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 240px;&quot; src=&quot;http://2.bp.blogspot.com/_vZUJfTzXvtw/Swgz1ZPCmtI/AAAAAAAAEG4/Y1fm6ATHH7E/s320/2009-11-21_234337.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5406628345058335442&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_vZUJfTzXvtw/Swg1N6v803I/AAAAAAAAEHI/Ufq6tnYiLbI/s1600/2009-11-21_235040.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 264px; height: 145px;&quot; src=&quot;http://2.bp.blogspot.com/_vZUJfTzXvtw/Swg1N6v803I/AAAAAAAAEHI/Ufq6tnYiLbI/s320/2009-11-21_235040.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5406629865883226994&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_vZUJfTzXvtw/Swg1OFHDNLI/AAAAAAAAEHQ/Bc1PkS6VClk/s1600/2009-11-21_235101.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 276px; height: 169px;&quot; src=&quot;http://2.bp.blogspot.com/_vZUJfTzXvtw/Swg1OFHDNLI/AAAAAAAAEHQ/Bc1PkS6VClk/s320/2009-11-21_235101.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5406629868664468658&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_vZUJfTzXvtw/Swg1O43_aMI/AAAAAAAAEHo/L9Bm6Wf6798/s1600/2009-11-21_235813.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 240px;&quot; src=&quot;http://1.bp.blogspot.com/_vZUJfTzXvtw/Swg1O43_aMI/AAAAAAAAEHo/L9Bm6Wf6798/s320/2009-11-21_235813.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5406629882559948994&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://4.bp.blogspot.com/_vZUJfTzXvtw/Swgz1ng_0JI/AAAAAAAAEHA/3nSc0K1CfL8/s1600/2009-11-21_234641.png&quot;&gt;&lt;img src=&quot;http://4.bp.blogspot.com/_vZUJfTzXvtw/Swgz1ng_0JI/AAAAAAAAEHA/3nSc0K1CfL8/s320/2009-11-21_234641.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5406628348891746450&quot; style=&quot;cursor: pointer; width: 320px; height: 240px; &quot; /&gt;&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/8263494700329971553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/8263494700329971553?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/8263494700329971553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/8263494700329971553'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2009/11/google-chrome-os-screenshots.html' title='Google Chrome OS Screenshots'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_vZUJfTzXvtw/Swgz0SaYgRI/AAAAAAAAEGg/ciA_dsl8V3Q/s72-c/2009-11-21_234141.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-7663265243691906326</id><published>2009-11-14T00:45:00.003+05:30</published><updated>2009-11-14T00:55:09.016+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="auto"/><category scheme="http://www.blogger.com/atom/ns#" term="doclet"/><category scheme="http://www.blogger.com/atom/ns#" term="generate"/><category scheme="http://www.blogger.com/atom/ns#" term="javadoc"/><category scheme="http://www.blogger.com/atom/ns#" term="junit"/><title type='text'>Auto Generate JUnit Test Cases</title><content type='html'>If you are starting fresh with using JUnit and writing Unit Testcases, then this tool will be very handy.&lt;br /&gt;&lt;br /&gt;We currently already use JUnit, however we didnt write testcases for the POJOs. Now the code had grown so much we now have lot of POJOs and our coverage looks very dull.&lt;br /&gt;&lt;br /&gt;The advantage of this tool is it not only generates skeleton test cases, for POJOs with just setter and getters, it actually generates Testcases also. &lt;br /&gt;&lt;br /&gt;JUnit Code generation tool: &lt;a href=&quot;http://www.junitdoclet.org/&quot;&gt;http://www.junitdoclet.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Eclipse plugin using this doclet: &lt;a href=&quot;http://sourceforge.net/projects/e-junitdoclet/&quot;&gt;http://sourceforge.net/projects/e-junitdoclet/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;code&gt;JUnitDoclet.1.0.2&gt;junitdoclet.bat -d out -sourcepath C:\mymodule\src -package com.my.package&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Very cool tool and I am gonna use this a lot. Thanks to JUnitDoclet Team.&lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/7663265243691906326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/7663265243691906326?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/7663265243691906326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/7663265243691906326'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2009/11/auto-generate-junit-test-cases.html' title='Auto Generate JUnit Test Cases'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-6754541376141216964</id><published>2009-07-03T14:57:00.001+05:30</published><updated>2009-07-03T14:57:47.974+05:30</updated><title type='text'>JS: Calculate Browser window Height</title><content type='html'>Calculating browser window size using Javascript is not straight forward. There are many properties to check for and each property behaves differently in each version of Browser. &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Following are various properties available to get Browser window width and height:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;/li&gt;&lt;li&gt;window.innerHeight/window.innerWidth&lt;/li&gt;&lt;li&gt;window.outerheight/window.outerwidth&lt;/li&gt;&lt;li&gt; document.body.clientHeight/document.body.clientWidth&lt;/li&gt;&lt;li&gt;document.documentElement.clientHeight/document.documentElement.clientWidth&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Now if you want to calculate the window width and height you&amp;#39;ll have to write javascript that checks the browser type and gets the width and height.&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Fortunately for us Mark has already written a script that works in any browser. Here it is... &lt;a href=&quot;http://www.howtocreate.co.uk/tutorials/javascript/browserwindow&quot;&gt;http://www.howtocreate.co.uk/tutorials/javascript/browserwindow&lt;/a&gt;&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Thank you Mark!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/6754541376141216964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/6754541376141216964?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/6754541376141216964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/6754541376141216964'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2009/07/js-calculate-browser-window-height.html' title='JS: Calculate Browser window Height'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-4810302331138876627</id><published>2009-01-19T15:31:00.002+05:30</published><updated>2010-03-09T01:36:17.087+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="shortcuts"/><category scheme="http://www.blogger.com/atom/ns#" term="tips"/><title type='text'>Eclipse Shortcuts</title><content type='html'>&lt;div&gt;Eclipse shortcuts for everyday development.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;Ctrl+Shift+R&lt;/span&gt; &lt;/div&gt;&lt;div&gt;Open any Resource in the workspace.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;Ctrl+Shift+T&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Open a Java Class. Also supports abbreviations, example: BIS gives BufferedInputStream, NPE gives NullPointerException&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/4810302331138876627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/4810302331138876627?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/4810302331138876627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/4810302331138876627'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2009/01/eclipse-shortcuts.html' title='Eclipse Shortcuts'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-5294056947973424815</id><published>2008-12-19T15:46:00.001+05:30</published><updated>2008-12-19T15:46:36.984+05:30</updated><title type='text'>Connecting Apache and Tomcat using mod_jk</title><content type='html'>&lt;div&gt;Aim of the Task: Connect Apache Http Server 2.0.63 with Tomcat 5.5&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;My Apache is running at 80 and Tomcat running at 8080. I have an application running in tomcat at url &lt;a href=&quot;http://localhost:8080/examples&quot;&gt;http://localhost:8080/examples&lt;/a&gt; and after this configuration I should be able to access the application through Apache.&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;1) Download mod_jk&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Download the mod_jk module from the following location.&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.27/mod_jk-1.2.27-httpd-2.0.63.so&quot;&gt;http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.27/mod_jk-1.2.27-httpd-2.0.63.so&lt;/a&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Copy this file to Apache modules directory.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;2) Create worker.properties&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Create worker.properties in the Apache conf directory and paste the following default content in it.&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; &quot;&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &amp;#39;courier new&amp;#39;, monospace;&quot;&gt;# Define 1 real worker using ajp13&lt;br&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; &quot;&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &amp;#39;courier new&amp;#39;, monospace;&quot;&gt;worker.list=worker1&lt;br&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; &quot;&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &amp;#39;courier new&amp;#39;, monospace;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; &quot;&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &amp;#39;courier new&amp;#39;, monospace;&quot;&gt;# Set properties for worker1 (ajp13)&lt;br&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; &quot;&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &amp;#39;courier new&amp;#39;, monospace;&quot;&gt;worker.worker1.type=ajp13&lt;br&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; &quot;&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &amp;#39;courier new&amp;#39;, monospace;&quot;&gt;worker.worker1.host=localhost&lt;br&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; &quot;&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &amp;#39;courier new&amp;#39;, monospace;&quot;&gt;worker.worker1.port=8009&lt;/span&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;3) Generate mod_jk.conf&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;This file is auto generated by the Tomcat. Add the following line in the server.xml of Tomcat under the &amp;lt;Server&amp;gt; root tag.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; &quot;&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &amp;#39;courier new&amp;#39;, monospace;&quot;&gt;&amp;lt;Listener className=&amp;quot;org.apache.jk.config.ApacheConfig&amp;quot; modJk=&amp;quot;APACHE_INSTALL_DIR/modules/&lt;a href=&quot;http://mod_jk-1.2.27-httpd-2.0.63.so&quot;&gt;mod_jk-1.2.27-httpd-2.0.63.so&lt;/a&gt;&amp;quot; workersConfig=&amp;quot;APACHE_INSTALL_DIR/conf/workers.properties&amp;quot; /&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Note: Replace &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &amp;#39;courier new&amp;#39;, monospace;&quot;&gt;APACHE_INSTALL_DIR&lt;/span&gt; with the complete location of the Apache Installation Directory.&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Start the tomcat server and if everything is ok then Tomcat will generate the mod_jk.conf under the directory &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &amp;#39;courier new&amp;#39;, monospace;&quot;&gt;Tomcat5.5/conf/auto&lt;/span&gt;.&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;4) Modify httpd.conf&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Now open the httpd.conf file and load this conf.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; &quot;&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &amp;#39;courier new&amp;#39;, monospace;&quot;&gt;Include tomcat-5.5/conf/auto/mod_jk.conf&lt;/span&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;5) Configure Tomcat applications for Apache&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Add the following lines to configure how Apache uses JK module.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; &quot;&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &amp;#39;courier new&amp;#39;, monospace;&quot;&gt;# Send everything for context /examples to worker named worker1 (ajp13)&lt;br&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; &quot;&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &amp;#39;courier new&amp;#39;, monospace;&quot;&gt;JkMount &amp;nbsp;/examples/* worker1&lt;/span&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;DONE.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Now start Apache and access the examples url without port. Ex: &lt;a href=&quot;http://localhost/examples&quot;&gt;http://localhost/examples&lt;/a&gt;&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt; &lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/5294056947973424815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/5294056947973424815?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/5294056947973424815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/5294056947973424815'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2008/12/connecting-apache-and-tomcat-using.html' title='Connecting Apache and Tomcat using mod_jk'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12310420.post-8753567716413815124</id><published>2008-12-16T12:53:00.001+05:30</published><updated>2008-12-16T12:53:12.776+05:30</updated><title type='text'>Tech Jargon - 16 Dec 2008</title><content type='html'>&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Content_Delivery_Network&quot;&gt;Content Delivery Network&lt;/a&gt; - A network of Servers delivering cached content (generally images, flash and scripts) to improve performance of a site.&lt;br&gt; &lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.akamai.com/html/customers/customer_list.html&quot;&gt;Akamai&lt;/a&gt; - A leading CDN company providing services to comapnies like SONY, Yahoo and Microsoft.&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Embryonic_connection&quot;&gt;Embryonic Connection&lt;/a&gt; - A TCP connection which is not completely established.&lt;br&gt; &lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.terracotta.org./web/display/orgsite/What+Is+Terracotta&quot;&gt;Terracotta&lt;/a&gt; - is an open source JVM-level clustering software for Java. It delivers clustering as a runtime infrastructure service, which simplifies the task of clustering a Java application immensely, by effectively clustering the JVM underneath the application, instead of clustering the application itself.&lt;br&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt; &lt;div class=&quot;blogger-post-footer&quot;&gt;Visit &lt;a href=&quot;http://everyday-tech.blogspot.com/&quot;&gt;Tech Notes&lt;/a&gt; for more details.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://everyday-tech.blogspot.com/feeds/8753567716413815124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12310420/8753567716413815124?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/8753567716413815124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12310420/posts/default/8753567716413815124'/><link rel='alternate' type='text/html' href='http://everyday-tech.blogspot.com/2008/12/tech-jargon-16-dec-2008.html' title='Tech Jargon - 16 Dec 2008'/><author><name>Krishna</name><uri>http://www.blogger.com/profile/13245545145948482842</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD1kTqzqU6XP9VP7IaG5kQJAQ5sf4KNvY0BPoJIGUbEWQYTxALDOBa_mTExz0V6Ewsi1GizwqBSAqJzYkkFd--rZC-z9sp5mOUVObB1SuF6pkFWgANKd2O0EjV5IpnBw/s1600/8fb786bc05d52a5b2ebe27261a9dd0eb.png'/></author><thr:total>0</thr:total></entry></feed>