<?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: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-8100216710920693640</id><updated>2012-02-07T19:45:11.051+05:30</updated><category term='cooking'/><category term='AOP'/><category term='CXF'/><category term='bpm'/><category term='rules'/><category term='technology'/><category term='marathon'/><category term='current affairs'/><category term='livestrong'/><category term='enterprise architecture'/><category term='development'/><category term='SOA'/><category term='test142'/><category term='product'/><category term='hadoop'/><category term='sort by value'/><category term='travel'/><category term='n00bs'/><category term='Axis'/><category term='tips'/><category term='web service'/><category term='uml'/><category term='bpmn'/><category term='performance'/><category term='blabber'/><category term='tv'/><category term='eclipse'/><category term='thought'/><category term='code'/><category term='India'/><category term='cascading'/><category term='poems'/><category term='debug'/><category term='therapy'/><category term='xml'/><category term='mentoring'/><category term='reflections'/><category term='business'/><category term='ant'/><category term='lifehack'/><category term='java'/><category term='policy'/><category term='ERP'/><category term='jugaad'/><category term='Map'/><category term='running'/><category term='memory-leak'/><category term='Java-WS'/><category term='opinion'/><category term='software'/><category term='innovation'/><category term='standards'/><category term='governance'/><category term='jpd'/><category term='model'/><category term='ubuntu'/><category term='fooloose'/><category term='architecture'/><category term='j2ee'/><category term='hbase'/><category term='stories from the trenches'/><category term='get-off-your-ass'/><title type='text'>ZERO</title><subtitle type='html'>Start Here.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default?start-index=101&amp;max-results=100'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>102</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-917934975355863497</id><published>2011-09-04T23:50:00.001+05:30</published><updated>2011-09-04T23:50:13.553+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='n00bs'/><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>Learning Resources for n00bs: Coding &amp; Problem Solving</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Although a quick search would fetch you tonnes of learning resources. Here, are the recommended for absolute beginners like me, into the realms of problem solving;&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;a href="http://projecteuler.net/"&gt;http://projecteuler.net/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codechef.com/problems/easy"&gt;http://www.codechef.com/problems/easy&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The best part about both these online resources is that they are sorted in the increasing order of difficulties which is key to learning incrementally at one's own pace.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, codechef.com runs a monthly code competition which looks really interesting.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Do share your feedback/suggestions.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-917934975355863497?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/917934975355863497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=917934975355863497' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/917934975355863497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/917934975355863497'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2011/09/learning-resources-for-n00bs-coding.html' title='Learning Resources for n00bs: Coding &amp; Problem Solving'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-348800585958692954</id><published>2011-09-03T10:45:00.000+05:30</published><updated>2011-09-03T10:45:47.811+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><title type='text'>Cosmic Link</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;Now that &lt;a href="http://www.gotw.ca/publications/concurrency-ddj.htm"&gt;free lunch is over&lt;/a&gt; the onus now lies on us (read Software Engineers) to gainfully utilize the computing resources available to us. It is now therefore imperative for us to develop and hone our fundamental skill sets and may be stop(OK, pause) &amp;nbsp;running after the next 'big' thing (read technology/framework).&lt;br /&gt;&lt;br /&gt;For those of you who have not yet hit the 'dead-end' be warned. It would help you to develop your skills on;&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;b&gt;Problem Solving&lt;/b&gt; because no matter what 'flashy' thing you know there will always be some thing new hitting you every now and then. Learning to solve problems not only makes you more employable but also makes you more confident and inspirational for others (think thought leadership)&lt;/li&gt;&lt;li&gt;The choice of &lt;b&gt;Data Structures and Algorithm&lt;/b&gt; you employ in your applications may be all that you need to optimize their non-functional needs and nothing is more satisfying than making your application perform better.&lt;/li&gt;&lt;li&gt;While argumentatively speaking I do agree that &lt;a href="http://www.javacodegeeks.com/2011/08/are-frameworks-making-developers-dumb.html"&gt;frameworks are making us dumb&lt;/a&gt; but that is largely because we are always in a hurry to just complete the task without really understanding the framework internals. In not so distant past, I found it difficult to solve a bug which creeped into my code because of my incorrect understanding of java.lang.String#split(String regex) method. The problem was later identified and was mixed in matter of few seconds by merely reading (after everything else failed, and I decided to raise a bug!! ) the associated javadocs and saved myself from the embarrassment.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Writing &lt;b&gt;concurrent code&lt;/b&gt; is both error prone and difficult and till recently I didn't really face a performance issue, may be the free lunch was still available to me... but no more. Work on it.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The above piece is not only relevant to java developers for us all. Think about it knowing your DB internals(say join algorithm) will help you optimize your queries or may be if you write shell scripts knowing the correct order of filtering might put your script on steroids...&lt;br /&gt;&lt;br /&gt;Please do not get offended by reading the above, the tone might sound prescriptive.. but is really a result of my reflections on my recent mis-adventures and is put to public notice lest you repeat them yourself.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-348800585958692954?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/348800585958692954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=348800585958692954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/348800585958692954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/348800585958692954'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2011/09/cosmic-link.html' title='Cosmic Link'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-4086317641738634927</id><published>2011-06-26T22:18:00.000+05:30</published><updated>2011-06-26T22:18:29.180+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>Just dance</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Yes, I'm watching the screening rounds on Star Plus.. the candidates are from as diverse a background as one might only imagine.. their energy and sheer enthuthiasm is infectious. I don't have words to express my feelings, however, that's not the point of this piece... but the fact that it is important to be an artist in your profession be it dancing or software engineering.. practice your craft&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-4086317641738634927?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/4086317641738634927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=4086317641738634927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4086317641738634927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4086317641738634927'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2011/06/just-dance.html' title='Just dance'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-8216098853401837012</id><published>2011-03-28T20:32:00.000+05:30</published><updated>2011-03-28T20:32:14.017+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>Leveling the Threat Matrix</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Almost serendipitously, I discovered some simple sentences which when put together does makes sense to me...&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Initiative and Responsibility: Very few of us take initiative, while this is an important trait of young, energetic people and should be highly appreciated. More often than not the same people lack responsibility or step back when an avalanche of things start coming one's way. &lt;/li&gt;&lt;li&gt;Action and Control: Now is better than never, although never is almost always better than "now". One needs to be in control of things... evolutionary, step-by-step improvements keeps one in control and can help steer the direction of future coarse of actions in a more informed manner. &lt;/li&gt;&lt;/ul&gt;Simply put one of the reasons we come under stress for all the wrong reasons after all the right intentions is the eerie feeling og the lack of control... I told you, some times the universe conspires to help me discover the effective habits... it was only this time I thought it could be useful to you too... &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-8216098853401837012?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/8216098853401837012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=8216098853401837012' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8216098853401837012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8216098853401837012'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2011/03/leveling-threat-matrix.html' title='Leveling the Threat Matrix'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-6420964315344184888</id><published>2011-01-14T14:52:00.000+05:30</published><updated>2011-01-14T14:52:58.331+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>Few observations on my blog readers</title><content type='html'>... ho ho ho the big brother is watching you!! well not really, but yes as a trained statistician and a practicing software engineer I love to observe "things", a collection of things... and try to create an empirical model of their behavior pattern.. a blue print.. and study them to put them into my knowledge stack that may or may not be used immediately.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My findings;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It adds to your credibility if you provide references in your write ups at proper places. It only proves that the write has done his/her home work.&lt;/li&gt;&lt;li&gt;However, merely providing the hyper-link.. like to learn more read &lt;a href="http://nitintripathi.blogspot.com/"&gt;here&lt;/a&gt; will not necessary be followed by your reader because&lt;/li&gt;&lt;ul&gt;&lt;li&gt; that may break his train of thought &lt;/li&gt;&lt;li&gt;you might risk to loose your audience&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;The way I see it is that it would serve the reader as well as the writer by providing the central idea around the hyper-link for the more inquisitive reader to follow without loosing his focus.&lt;br /&gt;&lt;br /&gt;My two cents. Get leaner!!&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-6420964315344184888?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/6420964315344184888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=6420964315344184888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6420964315344184888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6420964315344184888'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2011/01/few-observations-on-my-blog-readers.html' title='Few observations on my blog readers'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-1744222129957021990</id><published>2011-01-09T18:27:00.003+05:30</published><updated>2011-01-09T21:10:21.822+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><title type='text'>Innovation - Generating Ideas: The monkey's view</title><content type='html'>&lt;div style="text-align: justify;"&gt;Not again ..not another hyperbolic session on INNOVATION but these days almost every one in my &lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=2859&amp;amp;trk=anet_ug_hm"&gt;social circle&lt;/a&gt; at least hints about innovation. Not so surprisingly it is a constant endeavour of our species to be introspective and improve continuously, so much so that historians have even classified our cultural heritage in terms of the innovations that have distinguished them viz: the stone age, iron age.. Similarly, the role of innovation at enterprises is pretty much tied with their sustainability and even existence.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;The &lt;a href="http://www.merriam-webster.com/dictionary/innovation"&gt;dictionary&lt;/a&gt; defines the term in a rather half baked manner (blasphemous?!!) while it does appreciates creating the "new thing" it safely discounts the efforts gone into continuous improvement of existing "thing". Sadly the incremental or the continuous improvements made with the existing "things" meets the same fate and goes unnoticed at our enterprises.&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Also, we tend to focus more on the fruits of innovation, that is, the "product" itself and do tend to take the process part for granted and much worse "a necessary evil" at least in &lt;a href="http://www.linkedin.com/groupItem?view=&amp;amp;gid=2859&amp;amp;type=member&amp;amp;item=849050&amp;amp;qid=5387e281-3987-410b-9c90-2077a900ba98"&gt;my software industry&lt;/a&gt;. It is only timely that much work of art is already published (think &lt;a href="http://martinfowler.com/snips/201006021426.html"&gt;continuous delivery&lt;/a&gt;) but they are yet to make to the mainstream howsoever "agile" the enterprises may like to call themselves.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I understand by now must have already read my mind and must be wondering if I'm really going to add any value... some of the ways I think can make a good start can be summarized as under;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Become a producer of content.. in my limited scope of understanding I feel most of us do not write or express ourselves or take stand for the fear of being judged. Let's change that and start putting our thoughts in black and white here on blogs, comment on others blogs.. connect. Not many of our experienced leaders write. Writing is such a powerful medium that one can reach out to whole bunch of people at one time which is boon for our time-pressed industry leaders. &lt;/li&gt;&lt;li&gt;In one of my earlier &lt;a href="http://nitintripathi.blogspot.com/2010/05/how-about-teaching-to-learn.html"&gt;post&lt;/a&gt; I discussed the challenges I faced to share knowledge. Some of the ways sharing knowledge can help is to come out of our stove pipe modes and satiate our higher &lt;a href="http://www.pluggd.in/understanding-user-needs-maslow-hierarchy-of-needs-297/"&gt;needs&lt;/a&gt; of self actualization. There is this nice &lt;a href="http://www.pluggd.in/why-people-contribute-to-online-communities-discussion-forums-297/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+pluggd+%28pluGGd.in%29"&gt;article&lt;/a&gt; which covers the subject in greater depth and also provides the relevant background knowledge. You will do good to read it for yourself.&lt;/li&gt;&lt;li&gt;Management determines the organizational climate. It can send a clear message through rewards, mentor employees to participate in open source software products, participation at technical conferences, taking engineers to customer meetings, sales team to participate in test cycles...&lt;/li&gt;&lt;li&gt;The above mentioned set of activities create and encourage the cross-pollination of ideas which can create magical results.. you never know when that bulb glows in someone's head, the EUREKA moment!!&lt;/li&gt;&lt;li&gt;Support innovators as per &lt;a href="http://sethgodin.typepad.com/seths_blog/2011/01/thats-not-the-way-we-do-things-about-here.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+typepad%2Fsethsmainblog+%28Seth%27s+Blog%29&amp;amp;utm_content=Google+Reader"&gt;Seth Godin&lt;/a&gt; if you don't support and nurture them it simply puts spanner into the innovation engine even before it gained any considerable momentum.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;Innovation is critical to our growth and generating ideas is critical to innovation itself while thinkers must understand their responsibilities have just begun. Here I made an attempt to showcase some of the problems which should be addressed to create value added services to serve our society.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-1744222129957021990?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/1744222129957021990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=1744222129957021990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1744222129957021990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1744222129957021990'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2011/01/innovation-generating-ideas-monkeys.html' title='Innovation - Generating Ideas: The monkey&apos;s view'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-4910107148633841672</id><published>2010-11-30T21:21:00.000+05:30</published><updated>2010-11-30T21:21:40.692+05:30</updated><title type='text'>Parallel Search</title><content type='html'>Problem:&lt;br /&gt;&lt;blockquote&gt;Write a Java class that allows parallel search in an array of integer. It provides the following static method:&lt;br /&gt;&lt;blockquote&gt;public static int parallelSearch(int[ ] a , int numThreads)&lt;/blockquote&gt;This method creates as many threads as specified by numThreads, divides the array a into that many parts, and gives each thread a part of the array to search for sequentially. If any thread finds x, then it returns an index i such that A [ i ] = x. Otherwise, the method returns -1.&lt;/blockquote&gt;Solution:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;package org.zero.concurrent.chap01;&lt;br /&gt;&lt;br /&gt;import java.util.Arrays;&lt;br /&gt;&lt;br /&gt;public class ParallelSearch {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static int index = -1;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static int parallelSearch(int search, int[] in, int numThreads) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // partition&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int partitionSize = in.length / numThreads;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Thread[] threads = new Thread[numThreads];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int end = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int begin = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // search&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; numThreads; i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; end = begin + partitionSize;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (i == numThreads - 1 || end &amp;gt; in.length) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; end = in.length;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Search target = new Search(begin, end, in, search);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(target);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; threads[i] = new Thread(target);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; threads[i].start();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(threads[i].getName());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; begin = end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return index;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int[] a = new int[100];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; a.length; i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; a[i] = (int) (Math.random() * 10);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int parallelSearch = parallelSearch(2, a, 7);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (-1 == parallelSearch) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("not found");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("found at: " + parallelSearch);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static class Search implements Runnable {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int begin;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int[] a;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int x;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public Search(int begin, int end, int[] a, int x) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; super();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (end &amp;lt; begin) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; throw new IllegalStateException();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; this.begin = begin;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; this.end = end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; this.a = a;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; this.x = x;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void run() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = begin; i &amp;lt; end; i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (x == a[i]) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; index = i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(i + " "&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; + Thread.currentThread().getName());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public String toString() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return "Search [a=" + Arrays.toString(a) + ", length=" + a.length&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; + ", begin=" + begin + ", end=" + end + ", x=" + x + "]";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/blockquote&gt;P.S: Any suggestion to improve the code is welcome.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-4910107148633841672?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/4910107148633841672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=4910107148633841672' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4910107148633841672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4910107148633841672'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/11/parallel-search.html' title='Parallel Search'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-9079483363276525144</id><published>2010-11-27T15:43:00.000+05:30</published><updated>2010-11-27T15:43:48.246+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><title type='text'>Product Versioning: Embedding packaging information</title><content type='html'>&lt;div style="text-align: justify;"&gt;Almost serendipitously, I discovered the Java &lt;a href="http://download.oracle.com/javase/6/docs/api/java/lang/Package.html"&gt;Package&lt;/a&gt; class today. One must wonder how possibly this is going to make a difference (aka increase their geek quotient or coolness factor). Well the beauty lies in the details.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;Problem Statement:&lt;/b&gt; You commit your code to the cvs and after going through the complete lifecycle experience your code finally sees the light of the day, much to your chagrin that the users discovered some bug, even after all those unit testing and that pragmatic ranting ;) But, then you are the rock star developer who had already discovered the problem and fixed it :D but how do you know if user is not using some older version of your package???&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt; &lt;b&gt;Solution:&lt;/b&gt; You can embed the information in the manifest file at build time which could be read by exploding the jar, simple!! NO, most of your users wouldn't (shouldn't) know it.It would be really nice if you can print this star-studded information at the beginning of the code execution. You can make this as the first line of your log file or may be a separate file which could be used for bug reporting, options are open.. How do you do it?&lt;/div&gt;&lt;br /&gt;Step 1: Create an annotation.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;package org.zero;&lt;br /&gt;&lt;br /&gt;import java.lang.annotation.ElementType;&lt;br /&gt;import java.lang.annotation.Retention;&lt;br /&gt;import java.lang.annotation.RetentionPolicy;&lt;br /&gt;import java.lang.annotation.Target;&lt;br /&gt;&lt;br /&gt;@Target(ElementType.PACKAGE)&lt;br /&gt;@Retention(RetentionPolicy.RUNTIME)&lt;br /&gt;public @interface MyVersionAnnotation {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String version();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String revision();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String date();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String user();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String url();&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;Step 2: Generate a class package-info.java&lt;br /&gt;&lt;blockquote&gt;@MyVersionAnnotation(date = "2010-11-26", revision = "11", url = "http://onjava.com/pub/a/onjava/2004/04/21/declarative.html?page=3", user = "nitin", version = "123")&lt;br /&gt;package org.zero;&lt;/blockquote&gt;&lt;br /&gt;Step 3: Create a class to access this information;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; &lt;blockquote&gt;/**&lt;br /&gt;&amp;nbsp;* This class finds the package info for mypackage and the MyVersionAnnotation&lt;br /&gt;&amp;nbsp;* information.&lt;br /&gt;&amp;nbsp;*/&lt;br /&gt;public class PackageDemo {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static Package myPackage;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static MyVersionAnnotation version;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; myPackage = MyVersionAnnotation.class.getPackage();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; version = myPackage.getAnnotation(MyVersionAnnotation.class);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* Get the meta-data for the mypackage package.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @return&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static Package getPackage() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return myPackage;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* Get the mypackage version.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @return the mypackage version string, eg. "0.6.3-dev"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String getVersion() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return version != null ? version.version() : "Unknown";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* Get the subversion revision number for the root directory&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @return the revision number, eg. "451451"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String getRevision() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return version != null ? version.revision() : "Unknown";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* The date that mypackage was compiled.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @return the compilation date in unix date format&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String getDate() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return version != null ? version.date() : "Unknown";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* The user that compiled mypackage.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @return the username of the user&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String getUser() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return version != null ? version.user() : "Unknown";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* Get the subversion URL for the root mypackage directory.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String getUrl() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return version != null ? version.url() : "Unknown";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* Returns the buildVersion which includes version, revision, user and date.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String getBuildVersion() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return PackageDemo.getVersion() + " from " + PackageDemo.getRevision()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; + " by " + PackageDemo.getUser() + " on "&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; + PackageDemo.getDate();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("mypackage " + getVersion());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Subversion " + getUrl() + " -r " + getRevision());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Compiled by " + getUser() + " on " + getDate());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;PS: Source code courtesy &lt;b&gt;org.apache.hadoop.util.VersionInfo&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-9079483363276525144?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/9079483363276525144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=9079483363276525144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/9079483363276525144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/9079483363276525144'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/11/product-versioning-embedding-packaging.html' title='Product Versioning: Embedding packaging information'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-4233572129943027076</id><published>2010-09-24T18:09:00.000+05:30</published><updated>2010-09-24T18:09:00.614+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='marathon'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>Race etiquettes</title><content type='html'>Read some them here,&lt;br /&gt;http://runnersforlife.com/page/race-etiquette&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-4233572129943027076?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/4233572129943027076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=4233572129943027076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4233572129943027076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4233572129943027076'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/09/race-etiquettes.html' title='Race etiquettes'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-5621483742086575570</id><published>2010-07-23T22:10:00.000+05:30</published><updated>2010-07-23T22:10:36.257+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='mentoring'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>Talking common sense</title><content type='html'>&lt;div style="text-align: justify;"&gt;'Common sense is quite uncommon' is what I was told whenever I failed to cut my way through the chaos. As much as, I was frustrated with my failure to learn from my failures. I equally wondered if there is a way to master the technique. Today, I wish to share my learnings with my readers.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;'Common sense is a combination of experience, training, humility, wit and intelligence'. Wow! now that sounds like a well balanced equation with known variables. Doesn't that excites you to take control of participating variables and work on your weaker areas to improve your gross wisdom quotient! Let's work on that too;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;b&gt;Experience&lt;/b&gt; is nothing but the accumulation of knowledge or skill that results from direct  participation in events or activities. Simply put, just do it will alone help learn things in small digestible chunks. Fear of failure is the greatest impediment to learning. Make it your friend!! Adapt a fail fast approach. trust me it always helps and at least you end up enriching your experience.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Training&lt;/b&gt; refers to the acquisition of knowledge, skills, and competencies as a  result of the teaching. But, where do I start. Look around yourself. Be relevant to your eco-system. Learning something which is immediately useful keeps you motivated and provides avenues to 'Apply Yourself'. Remember no one learns or appreciates swimming by reading the book!!&lt;/li&gt;&lt;li&gt;Pride eats up your brain, being humble means taking good and bad in your strides and accept them as part of our lives. It always helps to balance your emotions [I know I'm being preachy, I need a lot ground work here.. but then whose blog is this ;) ]&lt;/li&gt;&lt;li&gt;When in trouble use your humor! It sheds the unnecessary weight from your shoulder and helps you relax. It's very important. Enjoy! every moment.&lt;/li&gt;&lt;li&gt;Intelligence is you ability to comprehend, to profit from your experience which now looks like product of the healthy concoction of the above ingredients.. the 'executable knowledge' !!&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;There you have it! the prescription to work on your common sense. Happy learning. You may now join you hands for a big round of applause... Have fun!! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-5621483742086575570?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/5621483742086575570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=5621483742086575570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5621483742086575570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5621483742086575570'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/07/talking-common-sense.html' title='Talking common sense'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-5975869199078012364</id><published>2010-06-15T22:07:00.001+05:30</published><updated>2010-06-15T22:19:59.648+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='fooloose'/><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><category scheme='http://www.blogger.com/atom/ns#' term='get-off-your-ass'/><title type='text'>Ride to Kudremukha</title><content type='html'>It's been so long that I last went out on a ride. Then, there these set of really enthusiastic guys who infected me with the travel bug. Get Off Your Ass!! was the war cry for us and we simply carried our back-packs and hi the road straight .. late night driving, after a really long week was proving to be physically taxing on us and we decided to call it the day at Arasikere, starting Saturday morning we visited Halebidu, Belur on our way and they took a detour to Chikmanglur and then through Ghas we reached Horanadu, little did we knew that there is a majestic temple of Goddess Annapurna. The place was really peaceful, one may just go there and stay over the weekend. It was blissful to walk in the clouds and funny to wach clouds enter our rooms and pour water on our belongings. Trust me we were drenched to core, so much so, that even our spirits must have also satiated their thirsts. We slept like Dogs, no idea when did the dawn broke on us and after one quick shower we headed towards the temple. After seeking the blessings, we hit the road again and after loosing our way to he place we went through the ghats uphill to Kudremukh, KIOCL colony and then to Lakya Dam. It was just plain fun to drive in the rains and watch the sight of nature's beauty along coffee estates, many of which just could not captured, lest we must loose our camera to heavy rains.&lt;br /&gt;&lt;br /&gt;On our return trip, we reached Hassan town and then took the road to Bangalore. Journey was quite eventful and we have a whole lot of fun stories to share.. I miss my old gang.. God knows .. kiski nazar lag gayi :|&lt;br /&gt;&lt;br /&gt;Keep walking..&lt;br /&gt;&lt;br /&gt;Find the pictures &lt;a href="http://picasaweb.google.com/nitin.tripathi/RideToKudremukh?authkey=Gv1sRgCN-j_4OzwqjELw&amp;amp;feat=directlink"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Maps: &lt;a href="http://maps.google.co.in/maps?f=d&amp;amp;source=s_d&amp;amp;saddr=Arekere+MICO+Layout+Main+Rd,+Bengaluru,+Karnataka,+India&amp;amp;daddr=Kudremukh,+Karnataka&amp;amp;hl=en&amp;amp;geocode=&amp;amp;mra=ls&amp;amp;sll=12.892253,77.590187&amp;amp;sspn=0.022465,0.038581&amp;amp;ie=UTF8&amp;amp;ll=13.132979,76.234131&amp;amp;spn=1.436295,3.515625&amp;amp;z=9"&gt;To&lt;/a&gt;, &lt;a href="http://maps.google.co.in/maps?f=d&amp;amp;source=s_d&amp;amp;saddr=Arekere+MICO+Layout+Main+Rd,+Bengaluru,+Karnataka,+India&amp;amp;daddr=13.033994,77.409668+to:NH+48+Hassan+Main+Rd+to:SH+110+to:Kudremukh,+Karnataka&amp;amp;hl=en&amp;amp;geocode=FV24xAAdq-6fBCkD30xlORWuOzFsJ6vTYBT2cg%3B%3BFfrBxQAdxHOHBA%3BFYBDyAAdlJaFBA%3BFc7CyQAdhzx8BCkxOjqUS0m7OzH7PwxpDoic4w&amp;amp;mra=dpe&amp;amp;mrcr=0&amp;amp;mrsp=1&amp;amp;sz=9&amp;amp;via=1,2,3&amp;amp;sll=13.132979,76.758728&amp;amp;sspn=1.436295,2.469177&amp;amp;ie=UTF8&amp;amp;z=9"&gt;From&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-5975869199078012364?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/5975869199078012364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=5975869199078012364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5975869199078012364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5975869199078012364'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/06/ride-to-kudremukha.html' title='Ride to Kudremukha'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-1805928215954614831</id><published>2010-06-07T20:58:00.001+05:30</published><updated>2010-06-07T21:02:39.177+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><category scheme='http://www.blogger.com/atom/ns#' term='running'/><title type='text'>Training for long distance running</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://rlv.zcache.com/marine_corps_marathon_training_t_tshirt-p235869115645471821qn7m_400.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://rlv.zcache.com/marine_corps_marathon_training_t_tshirt-p235869115645471821qn7m_400.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Suddenly something! No, way. &lt;br /&gt;&lt;br /&gt;I was bitten by this bug during my school days. Just that, I lack discipline and often my initial enthusiasm causes more harm than necessary. Often my strong will to complete certain distance over powers my muscular strength :) &lt;br /&gt;&lt;br /&gt;Basically, this marathon thingy is more than just adding miles to my legs, I must admit it is highly rejuvenating, some how I feel very good after half an hour of running. It even helps me fight emotional voids being created in me.&lt;br /&gt;&lt;br /&gt;I pledge to complete my Sunfeast half marathon next year.&lt;br /&gt;&lt;br /&gt;You may take tips from the references below. Do share your tips. &lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;http://www.runnersworld.com/&lt;/li&gt;&lt;li&gt;http://marathontraining.com/&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-1805928215954614831?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/1805928215954614831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=1805928215954614831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1805928215954614831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1805928215954614831'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/06/training-for-long-distance-running.html' title='Training for long distance running'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-9221681266366318676</id><published>2010-05-25T19:50:00.002+05:30</published><updated>2010-05-25T19:50:59.604+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><category scheme='http://www.blogger.com/atom/ns#' term='hadoop'/><title type='text'>Hadoop application packaging</title><content type='html'>Job jar must be packaged as below; &lt;br /&gt;&lt;br /&gt;job.jar &lt;br /&gt;|--META-INF &lt;br /&gt;|----MANIFEST.INF &lt;br /&gt;|------Main-Class: x.y.z.Main &lt;br /&gt;|--lib &lt;br /&gt;|---- commons-lang.jar Note: Place your dependent jars inside lib directory &lt;br /&gt;|--org.zero&lt;br /&gt;|---- application classes here&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-9221681266366318676?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/9221681266366318676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=9221681266366318676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/9221681266366318676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/9221681266366318676'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/05/hadoop-application-packaging.html' title='Hadoop application packaging'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-1967982358559094111</id><published>2010-05-25T19:47:00.002+05:30</published><updated>2010-05-27T14:31:50.399+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><category scheme='http://www.blogger.com/atom/ns#' term='hadoop'/><title type='text'>Archiving large number of small files into small number of large files</title><content type='html'>A small file is one which is significantly smaller than the HDFS block size (default 64MB).  &lt;br /&gt;&lt;br /&gt;We have a lot of data feeds in the range of 2MB per day, storing each as a separate file is non-optimal. &lt;br /&gt;&lt;br /&gt;The problem is that HDFS can't handle lots of files, because, every file, directory and block in HDFS is represented as an object in the namenode's memory, each of which occupies 150 bytes. So for 10 million files, each using a block, would use about 3 gigabytes of memory. Scaling up much beyond this level is a problem with current hardware. Certainly a billion files is not feasible. &lt;br /&gt;&lt;br /&gt;Furthermore, HDFS is not geared up to efficiently accessing small files: it is primarily designed for streaming access of large files. Reading through small files normally causes lots of seeks and lots of hopping from datanode to datanode to retrieve each small file, all of which is an inefficient data access pattern. &lt;br /&gt;&lt;br /&gt;Also, HDFS does not supports appends (follow http://www.cloudera.com/blog/2009/07/file-appends-in-hdfs/&lt;a href="http://www.facebook.com/note.php?note_id=104161417002%29"&gt;)&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Known options are;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Load data to Hbase table and periodically export them to files for long term storage. Some thing like we have product log for a particular date/timestamp against the content of the files stored as plain text in Hbase table.&lt;/li&gt;&lt;li&gt;Alternatively, we can treat these files as pieces of the larger logical file and incrementally consolidate additions to a newer file. That is, file x was archived on day zero, the next day new records are available to be archived. We will rename the existing file to let's say x.bkp and then execute a mapreduce job to read the content from the exiting file and the new file to the file x.&lt;/li&gt;&lt;li&gt;Apache Chukwa solves the similar problem of distributed data collection and archival for log processing. We can also take inspiration from their and provide our custom solution to suit our requirements, if needed.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-1967982358559094111?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/1967982358559094111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=1967982358559094111' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1967982358559094111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1967982358559094111'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/05/archiving-large-number-of-small-files.html' title='Archiving large number of small files into small number of large files'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-5484447492232764832</id><published>2010-05-22T16:56:00.000+05:30</published><updated>2010-05-22T16:56:05.019+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><category scheme='http://www.blogger.com/atom/ns#' term='poems'/><title type='text'>One wish</title><content type='html'>&lt;span style="font-size: large;"&gt;&lt;b&gt;को‌ई गाता मैं सो जाता&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;संस्कृति के विस्त्रित सागर मे&lt;br /&gt;सपनो कि नौका के अंदर&lt;br /&gt;दुख सुख कि लहरों मे उठ गिर&lt;br /&gt;बहता जाता, मैं सो जाता ।&lt;br /&gt;&lt;br /&gt;आँखों मे भरकर प्यार अमर&lt;br /&gt;आशीष हथेली मे भरकर&lt;br /&gt;को‌ई मेरा सिर गोदी मे रख&lt;br /&gt;सहलाता, मैं सो जाता ।&lt;br /&gt;&lt;br /&gt;मेरे जीवन का खाराजल&lt;br /&gt;मेरे जीवन का हालाहल&lt;br /&gt;को‌ई अपने स्वर मे मधुमय कर&lt;br /&gt;बरसाता मैं सो जाता ।&lt;br /&gt;&lt;br /&gt;को‌ई गाता मैं सो जाता&lt;br /&gt;मैं सो जाता&lt;br /&gt;मैं सो जाता&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- हरिवंशराय बच्चन&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-5484447492232764832?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/5484447492232764832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=5484447492232764832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5484447492232764832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5484447492232764832'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/05/one-wish.html' title='One wish'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-7125210847384431000</id><published>2010-05-22T16:52:00.000+05:30</published><updated>2010-05-22T16:52:05.847+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>बूँद  फिर  मोती बने  ...</title><content type='html'>&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;एक बूँद&amp;nbsp;&lt;/b&gt;&lt;br /&gt;------------ &lt;br /&gt;ज्यों निकल कर बादलों की गोद से&lt;br /&gt;थी अभी एक बूँद कुछ आगे बढ़ी&lt;br /&gt;सोचने फिर फिर यही जी में लगी&lt;br /&gt;हाय क्यों घर छोड़ कर मैं यों बढ़ी&lt;br /&gt;मैं बचूँगी या मिलूँगी धूल में&lt;br /&gt;चू पड़ूँगी या कमल के फूल में&lt;br /&gt;बह गयी उस काल एक ऐसी हवा&lt;br /&gt;वो समन्दर ओर आयी अनमनी&lt;br /&gt;एक सुन्दर सीप का मुँह था खुला&lt;br /&gt;वो उसी में जा गिरी मोती बनी&lt;br /&gt;&lt;br /&gt;लोग यौं ही हैं झिझकते सोचते&lt;br /&gt;जबकि उनको छोड़ना पड़ता है घर&lt;br /&gt;किन्तु घर का छोड़ना अक्सर उन्हें&lt;br /&gt;बूँद लौं कुछ और ही देता है कर !&lt;br /&gt;&lt;br /&gt;&lt;b&gt;-अयोध्या सिंह उपाध्याय 'हरिऔध`&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-7125210847384431000?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/7125210847384431000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=7125210847384431000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7125210847384431000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7125210847384431000'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/05/blog-post.html' title='बूँद  फिर  मोती बने  ...'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-6569556196227309273</id><published>2010-05-22T16:35:00.001+05:30</published><updated>2010-05-22T16:37:12.507+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>A Dedication</title><content type='html'>&lt;h2 style="font-weight: normal;"&gt;&lt;i&gt;&lt;b&gt;हम दीवानों की क्या&amp;nbsp;हस्ती&lt;/b&gt;&lt;/i&gt;&lt;/h2&gt;&lt;div class="snap_preview"&gt;हम दीवानों की क्या हस्ती,&lt;br /&gt;आज यहाँ कल वहाँ चले&lt;br /&gt;मस्ती का आलम साथ चला,&lt;br /&gt;हम धूल उड़ाते जहाँ चले&lt;br /&gt;&lt;br /&gt;आए बनकर उल्लास कभी,&lt;br /&gt;आँसू बनकर बह चले अभी&lt;br /&gt;सब कहते ही रह गए,&lt;br /&gt;अरे तुम कैसे आए, कहाँ चले&lt;br /&gt;किस ओर चले? मत ये पूछो,&lt;br /&gt;बस चलना है इसलिए चले&lt;br /&gt;&lt;br /&gt;जग से उसका कुछ लिए चले,&lt;br /&gt;जग को अपना कुछ दिए चले&lt;br /&gt;दो बात कहीं, दो बात सुनी,&lt;br /&gt;कुछ हँसे और फिर कुछ रोए&lt;br /&gt;छक कर सुख दुःख के घूँटों को,&lt;br /&gt;हम एक भाव से पिए चले&lt;br /&gt;&lt;br /&gt;हम भिखमंगों की दुनिया में,&lt;br /&gt;स्वछन्द लुटाकर प्यार चले&lt;br /&gt;हम एक निशानी उर पर,&lt;br /&gt;ले असफलता का भार चले&lt;br /&gt;&lt;br /&gt;हम मान रहित, अपमान रहित,&lt;br /&gt;जी भर कर खुलकर खेल चुके&lt;br /&gt;हम हँसते हँसते आज यहाँ,&lt;br /&gt;प्राणों की बाजी हार चले&lt;br /&gt;&lt;br /&gt;अब अपना और पराया क्या,&lt;br /&gt;आबाद रहें रुकने वाले&lt;br /&gt;हम स्वयं बंधे थे, और स्वयं,&lt;br /&gt;हम अपने बन्धन तोड़ चले&lt;br /&gt;&lt;br /&gt;&lt;b&gt;- &lt;i&gt;भगवतीचरण वर्मा&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;The above poem pretty much summarizes the way I wish I could live my life... trying each moment... keep walking&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-6569556196227309273?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/6569556196227309273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=6569556196227309273' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6569556196227309273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6569556196227309273'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/05/dedication.html' title='A Dedication'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-5594406189792657926</id><published>2010-05-09T21:53:00.001+05:30</published><updated>2010-05-09T22:00:41.863+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>How about teaching to learn?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;a href="http://www.scottkim.com/inversions/gallery/images/teach4.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.scottkim.com/inversions/gallery/images/teach4.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Since, my childhood days I was always told that sharing knowledge improves your learning. However, our social conditioning is such that we are not really comfortable to share primarily because;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fear of being dispensable, because there are others who may replace you.. is the single most important reason for people to 'hoard' knowledge.&lt;/li&gt;&lt;li&gt;Fear of being exposed, as sharing might expose your ignorance.&amp;nbsp;&lt;/li&gt;&lt;li&gt;..&lt;/li&gt;&lt;li&gt;....&lt;/li&gt;&lt;/ul&gt;There could be many more, the idea here is not to create an exhaustive list of reasons for people to escape ...&amp;nbsp; the idea here is to make a public assertion that I no longer want to be a passive consumer of information but create information, distil it for people around me find it easy to consume and add greater value to make the world a better place to live.&lt;br /&gt;&lt;br /&gt;Hope, that makes a true dedication to my Mother on this day. I seek your blessings.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-5594406189792657926?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/5594406189792657926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=5594406189792657926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5594406189792657926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5594406189792657926'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/05/how-about-teaching-to-learn.html' title='How about teaching to learn?'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-8371500532075548983</id><published>2010-04-28T22:12:00.000+05:30</published><updated>2010-04-28T22:12:36.407+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu 9.10: Wifi connection fix</title><content type='html'>You have trouble connecting to the wireless network on UBuntu 9.10 try this &lt;br /&gt;&lt;blockquote&gt;sudo apt-get install --reinstall bcmwl-kernel-source&lt;/blockquote&gt;&amp;nbsp;Hope that helps. It works for me now.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-8371500532075548983?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/8371500532075548983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=8371500532075548983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8371500532075548983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8371500532075548983'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/04/ubuntu-910-wifi-connection-fix.html' title='Ubuntu 9.10: Wifi connection fix'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-5103459723998057902</id><published>2010-03-28T15:27:00.000+05:30</published><updated>2010-03-28T15:27:11.697+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='hbase'/><category scheme='http://www.blogger.com/atom/ns#' term='cascading'/><category scheme='http://www.blogger.com/atom/ns#' term='hadoop'/><title type='text'>Cascading: How does cascading decides which fields should go to a column family?</title><content type='html'>I was playing with Cascading code sample as given &lt;a href="http://wiki.apache.org/hadoop/Hbase/Cascading"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Problem Statement: let's say we have three fields in a tuple for e.g.&lt;br /&gt;&lt;blockquote&gt;&lt;div style="text-align: left;"&gt;line_num, lower, upper, double&lt;br /&gt;1, a, A, AA&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;and I wish to add double to its own column family or lets say club it with an existing column family 'right' How do I do that.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Solution:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: left;"&gt;String tableName = "DataLoadTable";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Fields keyFields = new Fields("line_num");&lt;/div&gt;&lt;div style="text-align: left;"&gt;// add a new family name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; String[] familyNames = new String[] { "left", "right", "double" };&lt;/div&gt;&lt;div style="text-align: left;"&gt;// group your fields together in the order in which you would like them to be&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;// added to column families&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Fields[] valueFields = new Fields[] { new Fields("lower"),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; new Fields("upper"), new Fields("double") };&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; HBaseScheme hbaseScheme = new HBaseScheme(keyFields, familyNames,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; valueFields);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Tap sink = new HBaseTap(tableName, hbaseScheme, SinkMode.REPLACE);&lt;/div&gt;&lt;div style="text-align: left;"&gt;// describe your tuple entry: add the new field&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Fields fieldDeclaration = new Fields("line_num", "lower", "upper",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "double");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Function function = new RegexSplitter(fieldDeclaration, ", ");&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;The remaining of the code remains the same as given in the example.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Either, the above was too obvious that the authors didn't talked about it in the user guide or I do not know how to describe the problem and hence was not able to find them.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Let me know if I'm wrong.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-5103459723998057902?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/5103459723998057902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=5103459723998057902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5103459723998057902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5103459723998057902'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/03/cascading-how-does-cascading-decides.html' title='Cascading: How does cascading decides which fields should go to a column family?'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-6703113937017758916</id><published>2010-03-11T18:21:00.000+05:30</published><updated>2010-03-11T18:21:34.223+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>Push Button Automation for the Humans</title><content type='html'>&lt;div style="text-align: justify;"&gt;Have you ever been responsible for the installation of a software which should be distributed and installed on myriad set of execution environments with equally diverse sets of configuration in a department where machines are constantly being cleaned and re-imaged? Picture a situation where you are supporting various configurations and levels of your module. Rather than spending hours installing by hand, wouldn't it be great to have a way to automate the installation process so that you could just kick it off, go and get coffee, come back, and have it all installed and ready? Call it 'Push Button' automation :) (Please bear with me for throwing newer phrases)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Strange as it might seem but this hand-made configuration is proving to be a nightmare of sorts.. one might feel exhausted with out really having any sense of accomplishment by solving petty issues which should not really have come up. High time one must set up;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;standardized installation set up&lt;/li&gt;&lt;li&gt;provide application diagnostics which must enable operations team to solve small issues in time.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Time again Apache ANT comes to my rescue.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-6703113937017758916?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/6703113937017758916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=6703113937017758916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6703113937017758916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6703113937017758916'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/03/push-button-automation-for-humans.html' title='Push Button Automation for the Humans'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-8863280260459072450</id><published>2010-03-04T15:29:00.000+05:30</published><updated>2010-03-04T15:29:51.320+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><category scheme='http://www.blogger.com/atom/ns#' term='hadoop'/><title type='text'>How does the data flows when a job is submitted to Hadoop?</title><content type='html'>Based on the discussion &lt;a href="http://markmail.org/message/mrz3mtr4upc5rg6t"&gt;here&lt;/a&gt;, typically the data flow is like this: &lt;br /&gt;&lt;ol&gt;&lt;li&gt;Client submits a job description to the JobTracker.&amp;nbsp;&lt;/li&gt;&lt;li&gt;JobTracker figures out block locations for the input file(s) by talking to HDFS NameNode.&amp;nbsp;&lt;/li&gt;&lt;li&gt;JobTracker creates a job description file in HDFS which will be read by the nodes to copy over the job's code etc.&amp;nbsp;&lt;/li&gt;&lt;li&gt;JobTracker starts map tasks on the slaves (TaskTrackers) with the appropriate data blocks.&amp;nbsp;&lt;/li&gt;&lt;li&gt;After running, maps create intermediate output files on those slaves. These are not in HDFS, they're in some temporary storage used by MapReduce.&amp;nbsp;&lt;/li&gt;&lt;li&gt;JobTracker starts reduces on a series of slaves, which copy over the appropriate map outputs, apply the reduce function, and write the outputs to HDFS (one output file per reducer).&amp;nbsp;&lt;/li&gt;&lt;li&gt;Some logs for the job may also be put into HDFS by the JobTracker.  &lt;/li&gt;&lt;/ol&gt;However, there is a big caveat, which is that the map and reduce tasks run arbitrary code. It is not unusual to have a map that opens a second HDFS file to read some information (e.g. for doing a join of a small table against a big file). If you use Hadoop Streaming or Pipes to write a job in Python, Ruby, C, etc, then you are launching arbitrary processes which may also access external resources in this manner. Some people also read/write to DBs (e.g. MySQL) from their tasks.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-8863280260459072450?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/8863280260459072450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=8863280260459072450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8863280260459072450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8863280260459072450'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/03/how-does-data-flows-when-job-is.html' title='How does the data flows when a job is submitted to Hadoop?'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-2712651498193954919</id><published>2010-02-21T10:27:00.000+05:30</published><updated>2010-02-21T10:27:13.555+05:30</updated><title type='text'>Rampyari ki khoj</title><content type='html'>What's the big deal, one might ask? Yes, I'm looking for a car and while hunting around I found a wealth of information is available about brands and products available in the market, but one finds zero information about the dealers in the local market.&lt;br /&gt;&lt;br /&gt;Market is full of inexperienced, uneducated, incompetent salesmen who are ready grok 'the best' car to you in no time without understanding my needs or expectations. They simply seem to be oblivious about the competition and live a ,monopolistic universe of their own brand, to such an extent that a mere mention about the competition makes them turn blue.&lt;br /&gt;&lt;br /&gt;Further, talking to old timers, I realized that your dream car may soon become a nightmare of sorts based upon your service providers, about which you may not have any reliable information. After all any machine needs skilled maintenance and I need some one whom I can trust for the pre-defined level of quality of service in lieu of the amount I spend on the same. The need for rating dealers and service stations is both timely and important.&lt;br /&gt;&lt;br /&gt;In the mean while in order to live in the more 'real' world I soon would have to make my choices...&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-2712651498193954919?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/2712651498193954919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=2712651498193954919' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2712651498193954919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2712651498193954919'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/02/rampyari-ki-khoj.html' title='Rampyari ki khoj'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-7326123798814698854</id><published>2010-02-16T19:19:00.000+05:30</published><updated>2010-02-16T19:19:31.739+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><title type='text'>Evolving programming paradigms</title><content type='html'>&lt;a href="http://www.gotw.ca/publications/concurrency-ddj.htm"&gt;The free lunch is over&lt;/a&gt; and it simply means that;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Our applications may no longer be able to automatically seek benefits of hardware up-gradations, we will have to plan, design and make room for concurrency.&lt;/li&gt;&lt;li&gt;As a developer we need to hone our skills to make good use of hyper-threading, multi-core CPUs and caching.&lt;/li&gt;&lt;li&gt;Do not get confused with marketing slogans about new found technologies. Seldom, does a technology becomes mature too fast to become main-stream, generally it is old technologies which increasingly useful with time and better understanding of its developers that can gainfully be used to solve important problems.&lt;/li&gt;&lt;li&gt;Because, our applications do not automatically gain performance with newer hardware solving performance problems and performance tuning will become an important activity.&lt;/li&gt;&lt;li&gt;Start preparing now.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-7326123798814698854?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/7326123798814698854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=7326123798814698854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7326123798814698854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7326123798814698854'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/02/evolving-programming-paradigms.html' title='Evolving programming paradigms'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-4815094504695658344</id><published>2010-02-16T19:06:00.000+05:30</published><updated>2010-02-16T19:06:27.116+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><category scheme='http://www.blogger.com/atom/ns#' term='thought'/><title type='text'>Urban Area: Community or a Marketplace</title><content type='html'>&lt;div style="text-align: justify;"&gt;'Mumbai for Mumbaikars' might bring bad taste to your mouth or a sense of ownership based upon your political affiliations. Whatever be your reaction it is however increasingly becoming important for us to delve deeper to try and understand the core issues lest we must reject them as pure nuisance.&lt;/div&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;From a pure theoretical perspective the urban population can be broadly divided into two sections;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Community dwellers, who inhabits a particular place and encourage symbiotic relationship between various members of the community. They largely like to take the ownership of the place for its general well being and associated identity. Such people have &lt;b&gt;high tolerance&lt;/b&gt; towards problems as result of scarcity of resources.&lt;/li&gt;&lt;li&gt;Market dwellers, who look at an urban area as a place where market operates and they themselves form links into the demand and supply chains. Such people have &lt;b&gt;high preference&lt;/b&gt; for quality of life.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;The stated difference in their value system creates competition resulting in clashes. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;What can be done about it? well .. I'm not too sure will it help if market dwellers contribute back to the community of which they are part off to avoid being&amp;nbsp; tagged as parasites and community ensures that market operates in safety&amp;nbsp; thus creating&amp;nbsp; a conducive environment to attract better talent!!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Part of the answer also requires us to understand the larger picture and avoid such local focus. Will it not help if we have more balanced growth in .. sounds wishful.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Share your mind, who knows our ideas are heard and we do reach a resolution.. let us start from ground zero again..&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-4815094504695658344?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/4815094504695658344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=4815094504695658344' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4815094504695658344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4815094504695658344'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/02/urban-area-community-or-marketplace.html' title='Urban Area: Community or a Marketplace'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-6267407704814901440</id><published>2010-02-09T21:37:00.001+05:30</published><updated>2010-02-09T21:47:48.765+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><title type='text'>Mar Java, Mit Java..</title><content type='html'>... and with European Commission's nod the last hope of keeping the Sun shining too went away, while the whole software and business community is still evaluating the takeover deal, I must express that I feel bad about the whole thing.. there is something which is not generating positive vibes... although, some of you might discount me for being emotional, I have at least one objective reason to support my point in case. Old timers will clearly be able to spot the difference that post acquisition all the Sun domains have been distastefully defaced and simply reflects the tyranny, greed and callous attitude of the raiders.&lt;br /&gt;&lt;br /&gt;I, seriously hope similar fate is not vetted out to the open source initiatives.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-6267407704814901440?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/6267407704814901440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=6267407704814901440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6267407704814901440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6267407704814901440'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/02/mar-java-mit-java.html' title='Mar Java, Mit Java..'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-6842598221043897059</id><published>2010-02-07T22:57:00.001+05:30</published><updated>2010-02-09T21:48:20.768+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><category scheme='http://www.blogger.com/atom/ns#' term='current affairs'/><category scheme='http://www.blogger.com/atom/ns#' term='tv'/><title type='text'>In bad taste...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Reality television is truly a reality today and one can no longer ignore them. There popularity can be attributed primarily because it also involves its viewers. I used to love 'Boogie-Woogie' for their plain ingenuity and honesty in bringing recognition to dancing talent. The show was conducted wonderfully well.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;With time however, the production value of reality shows have increased dramatically but I'm sorry to say that they leave everyone demoralized. Particularly shows like Roadies and Splitsvilla are truly disgusting.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;My whole point is that such shows are increasingly creating a 'public acceptance' for foul and abusive language in public which is one very dangerous trend. They must mend their ways or else criminal action be taken against them.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-6842598221043897059?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/6842598221043897059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=6842598221043897059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6842598221043897059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6842598221043897059'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/02/in-bad-taste.html' title='In bad taste...'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-585457434077926343</id><published>2010-02-04T16:06:00.001+05:30</published><updated>2010-02-04T16:17:53.061+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='debug'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ant'/><title type='text'>Running Java in debug mode using Apache Ant</title><content type='html'>Configure your Java task as given below;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&amp;lt;java classname="org.zero.Main" fork="true" failonerror="true"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sysproperty key="DEBUG" value="true" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;jvmarg value="-Xdebug" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8999" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;jvmarg value="-Xnoagent" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;jvmarg value="-Djava.compiler=none" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;arg value="${project.root}/conf/preferences.xml" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;classpath refid="project.classpath" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/java&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;Further,&amp;nbsp; configure your eclipse debug remote application to listen to the specified port (8999 in this case).&lt;br /&gt;&lt;br /&gt;Also, add Thread.sleep(1000); as the first line in your main method.&lt;br /&gt;&lt;br /&gt;Execute Java task and try connecting from eclipse, you may need to increase the thread sleep time.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-585457434077926343?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/585457434077926343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=585457434077926343' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/585457434077926343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/585457434077926343'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/02/running-java-in-debug-mode-using-apache.html' title='Running Java in debug mode using Apache Ant'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-2413595454691131913</id><published>2010-01-30T08:28:00.001+05:30</published><updated>2010-02-04T15:58:31.404+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Bug fix: Eclipse springsource on UBuntu 9.10</title><content type='html'>&lt;div style="text-align: justify;"&gt;...so u have upgraded to UBuntu 9.10 and you are really impressed with its new features and you cannot control your excitement to check out your development environment and launch eclipse .. but oops! you are not able to create a new project.. none of the buttons seem to work chances are you are also suffering from the same bug follow the link for the &lt;a href="http://www.norio.be/blog/2009/10/problems-eclipse-buttons-ubuntu-910"&gt;fix &lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This issue is resolved in eclipse 3.5.2 M2 release. Hope that helps.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-2413595454691131913?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/2413595454691131913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=2413595454691131913' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2413595454691131913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2413595454691131913'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2010/01/bug-fix-eclipse-springsource-on-ubuntu.html' title='Bug fix: Eclipse springsource on UBuntu 9.10'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-6508144905241467266</id><published>2009-10-16T21:41:00.002+05:30</published><updated>2009-10-16T22:12:30.067+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>Who created God?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WmDUXryUU9U/Stib5DPjA2I/AAAAAAAAB2I/XkMTHx-zN08/s1600-h/orrisa+trip+243.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 300px; height: 400px;" src="http://2.bp.blogspot.com/_WmDUXryUU9U/Stib5DPjA2I/AAAAAAAAB2I/XkMTHx-zN08/s400/orrisa+trip+243.jpg" alt="" id="BLOGGER_PHOTO_ID_5393231958201533282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Who created God? or Is it our own invention? It is an age-old question that has plagued all those who like to think about the big questions.&lt;br /&gt;&lt;br /&gt;Just last fortnight, I visited Puri, Orissa for the pilgrimage to Jagannath temple. As much as it was spiritually "satisfying" for my parents I was irritated with the chaos and mayhem created by 'pandas' there. I was wondering if indeed visitors are able to offer their prayers in peace. It is after all every Hindus long cherished wish to do their 'char-dham-yatra' but was that the only purpose or the reason lies in creating another money spinning business in the name of God? Is God our own creation? may be I don't know and neither do I have the patience or time or inclination or competence to read and understand the philosphical content of all the books on the subject. But, here was this craftsman on the Grand Road - famous for the 'Rathyatra' conducted here every year, focussed on giving final touches to idols. His frentic fingure movement was a feast to watch and I was still wondering if he created the God!! Shy of me taking his photos he asked me 'Babu, humari photo kyun le rahe ho?' I told him, I never saw any one creating God to which he replies 'Babu, murti nahin banayenge to ghar kaise chalayenge aur bhagwan to haathon mein hai to khana khila raha hai.. humara to bass itna hi kaam hai'&lt;br /&gt;&lt;br /&gt;Soon I realised why do we say 'Apna haath Jagannath'. I guess it is very important to be focussed and do our duty religiously.. rest shall follow. I guess I learn some thing from him.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-6508144905241467266?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/6508144905241467266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=6508144905241467266' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6508144905241467266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6508144905241467266'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/10/who-created-god.html' title='Who created God?'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WmDUXryUU9U/Stib5DPjA2I/AAAAAAAAB2I/XkMTHx-zN08/s72-c/orrisa+trip+243.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-4215130821445824416</id><published>2009-08-15T19:09:00.002+05:30</published><updated>2009-08-15T19:21:10.516+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><category scheme='http://www.blogger.com/atom/ns#' term='current affairs'/><title type='text'>Maya tumko itna bhi samajh mein nahin aaya!!</title><content type='html'>Dalit ki beti has done it again... this time she harps back on Manuwadis for targeting her for being partial.. why is it that congress is not targeted for creating 'brand' by naming every little thing after Nehru-Gandhi family member... &lt;a href="http://timesofindia.indiatimes.com/news/india/Statue-mania-BSP-cites-Congs-Nehru-Gandhi-fixation/articleshow/4891241.cms"&gt;Read more&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I believe instead of crying foul, she can take a lesson here and help creating lets say an IT park in the name of Dr. Ambedkar (hmm.. that will not help BSP) or Kansiram (hmm.. that will help her) Maya Pragat Sangadak Sansthan etc as a matter  of fact it doesn't matter if you are trying to bring token benefit for your party provided it brings considerable tangible benefit to people and help them improve their living... get creative Maya you can earn much more by helping people create wealth.. and you can really be in good history books.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-4215130821445824416?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/4215130821445824416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=4215130821445824416' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4215130821445824416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4215130821445824416'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/08/maya-tumko-itna-bhi-samajh-mein-nahin.html' title='Maya tumko itna bhi samajh mein nahin aaya!!'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-8661502097271951039</id><published>2009-07-24T01:31:00.003+05:30</published><updated>2009-07-24T01:39:34.732+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><title type='text'>Finally spotted the 'Tiger'</title><content type='html'>Once upon a time long, long, long ago SCJP 5 was newly released and it was a proud moment in my life to secure a distinction in the same. I felt like I 'Tamed the Tiger' never ask how did I feel working on versions 1.4 and 1.3! all these years. Never mind, the 'Tiger' will soon be a sunset technology from Sun's stable... never mind 'Mustang' is galloping faster and faster... Today I spotted the 'Tiger'. I'm happy with the opportunities at hand to experiment... looking forward to play with the beast...&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-8661502097271951039?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/8661502097271951039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=8661502097271951039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8661502097271951039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8661502097271951039'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/07/finally-spotted-tiger.html' title='Finally spotted the &apos;Tiger&apos;'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-333839854863514295</id><published>2009-07-21T00:33:00.003+05:30</published><updated>2009-07-21T01:47:20.690+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><title type='text'>School chalein hum...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Coming from a modest middle-class background I understand and appreciate the importance of education in securing one's future. Not that people from other background don't appreciate education or that careers in other fields do not exist. But, pragmatically speaking education can help you achieve sustainable living and it is crucial in managing one's self esteem, specially for those from related backgrounds. Probably, that sets the pretext for the heightened stress that parents and children undergo to secure better grades, which has even led to suicides etc in some really unfortunate cases.&lt;br /&gt;&lt;br /&gt;The recent education policy aims to abolish school board exams quoting the need to remove [reduce?] the stress for school going children. A welcome step? Well, depends where are you coming from.. In case you feel it is a welcome step because it help reduce stress I'm not with you. My question is who are you trying to help? are you saying you can make their life a bed of roses? they are not going to have any stress? ever? May be your new system allows them to pass certain public exam 'without failing' but what next? are they going to spend their lives at school alone, studying? I believe, No.. some time or the other they need to face the industry, the real world.. believe me all that school work will look like a cake walk...&lt;br /&gt;&lt;br /&gt;But, in case you do believe that abolishing public exams at school level is welcome step because now students do not have to study to get grades. Yes, as much as it sounds strange it is good. It is important to understand that education is not some material object [read grades/marks] that one gets upon completion of education. The real education is the state of mind. It is that great heritage of common sense that has been brought down to us over the ages. Now, with that material motivation removed students can now focus on learning rather than getting good grades, which makes them seeker. The motivation to learn is now from within, there are no socially defined pressures.&lt;br /&gt;&lt;br /&gt;I understand what many of us might go through as a result of this void created in our lives. There are no 'goals' which might distract our 'normal' student and he may eventually loose his interest in studies and compromises on a lesser education ... which is good isn't it?!! think about it!!... he was not liking it any ways and at best would have remained a mediocre all his life even after a 'highly-rated-degree'. Only those who really appreciate their learning will continue thus saving a lot of resources.&lt;br /&gt;&lt;br /&gt;In either case there are certain risk factors which need to be mitigated to avoid chaos:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;The 'normal' student who settled for a lesser education as a result of his ever increasing committment to his 'other-than-education' activities should be able to leave his education without any penalties&lt;/li&gt;&lt;li&gt;He should be able to find an employment opportunity fit to his calibre.&lt;/li&gt;&lt;li&gt;He should be able to return to his education in case he gets frustrated with his 'boring' work to seek creativity to gain theoretical understanding of THE World around him.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Learning should be fun.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-333839854863514295?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/333839854863514295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=333839854863514295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/333839854863514295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/333839854863514295'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/07/school-chalein-hum.html' title='School chalein hum...'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-2095981172050585538</id><published>2009-07-13T10:45:00.006+05:30</published><updated>2009-07-21T01:47:47.067+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><title type='text'>Imagining Female Foeticide and Gay marriages and Prostitution</title><content type='html'>All along I was tagged as a happy-go-lucky person who would go out of his way to have fun.. for that one moment of 'nirmal anand' and the best compliment to me was when some called me a 'stress buster' and further asked what's your source of energy? how do you do that? In reply to which I would say I'm happy as I'm gay!!! and then everyone would burst out to laughter.. I dare say that again and people would take it really seariously .. thanks to the recent turn of events in our society. Recent court judgements have 'legalised' the gay/lesbian marriages leading to nationwide celebrations for their newly acquired "freedom". I was wondering what's the real cause for their inclination to the unantural carnalness... Is that their utmost frustration in finding the right girl? Is it because of acute gender imbalance in their community? Is it THE result of female foeticide in our country? I mean I'm also not in favor of moral poilicing but then isn't it banal and disgusting or may be I don't understand... so what's next? Let's legalize prostitution and earn more money for governement coffers..&lt;br /&gt;&lt;br /&gt;The whole point is such act of recognition will only encourage impressionable minds to follow the next 'IN' thing to prove them to be 'COOL' and the by the time they will realize their mistakes it will be to late...&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-2095981172050585538?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/2095981172050585538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=2095981172050585538' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2095981172050585538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2095981172050585538'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/07/imagining-female-foeticide-and-gay.html' title='Imagining Female Foeticide and Gay marriages and Prostitution'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-123418297510855870</id><published>2009-06-21T22:22:00.002+05:30</published><updated>2009-06-21T23:02:31.547+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><title type='text'>Complete idiot's guide to Debugging</title><content type='html'>Time and again I have learnt much to my displeasure that I'm not efficient while debugging. Most often than otherwise, I would just miss the point and keep 'searching' for the issues. Sitting back I found one fundamental flaw in my approach to debugging a problem that there was no structure in my method! Instead of narrowing the cause-effect scenarios I was simply 'searching for the needle in the hay stack'. This would obviously take more time than expected and would lead to sheer wastage of my resources.&lt;br /&gt;&lt;br /&gt;Learning about the scientific method of experimentation I found that solution of problems too complex for common sense to solve are achieved by mixture of inductive and deductive techniques.&lt;br /&gt;&lt;br /&gt;The inductive logic demands us to start observing the 'system' and arrive at general conclusions. Make a mental note of your observations and try finding explanations to them chances are you would hit few observations which are not clearly understood in the given context, some thing which is kind of a 'mystery' and you find it tough to explain it the first time, hold on and do not get distracted collect information. Having done that now try to break your thoughts and write them under following heads;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Problem statement: The biggest mistake to avoid here is to write too much, things which you are not sure of.. just an assumption. Rather, it is much better to state the problem straight. It might sound dumb in he beginning but would save from making dumb efforts based on incorrect assumptions later ..&lt;/li&gt;&lt;li&gt;Hypotheses to he problem; typically list down possible reasons for the failure&lt;/li&gt;&lt;li&gt;Experiments to test your hypotheses: The most important mistake to avoid here is that the experiments must be designed to test the hypotheses nothing more nothing less. This step would help you narrow down your solution/problem area.&lt;/li&gt;&lt;li&gt;Expected outcomes will help you draw a base line for your experimentations.&lt;/li&gt;&lt;li&gt;Actual outcomes must be compared and contrasted with the expected outcome for rigour in the testing process. Any deviations must be carefully studied and isolated to ensure that the anomaly is not because of some mistakes/incorrect measurements this will save one from drawing incorrect conclusions.&lt;/li&gt;&lt;li&gt;Conclusion, here again care must be taken to state no more than the experiment proves/disproves.&lt;/li&gt;&lt;/ol&gt;By asking the right questions, conducting the right tests and drawing the right conclusions one might drill down the hierarchical structure of the problem to isolate the point of failure and fix it so that the system no longer fails at this point.&lt;br /&gt;&lt;br /&gt;One might need to-fro between the two logical techniques to reach a plausible solution. Need to put this learning in practice now...&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-123418297510855870?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/123418297510855870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=123418297510855870' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/123418297510855870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/123418297510855870'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/06/complete-idiots-guide-to-debugging.html' title='Complete idiot&apos;s guide to Debugging'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-5198781284078156928</id><published>2009-04-23T01:27:00.002+05:30</published><updated>2009-04-23T01:43:49.934+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><title type='text'>Debugging</title><content type='html'>&lt;div style="text-align: justify;"&gt;This is funny, this is not funny for me.&lt;br /&gt;&lt;br /&gt;&lt;span class="articleText"&gt;During this debugging session, I'm continuously guilt ridden for the technical failure is delaying the delivery and it was increasingly time consuming because I needed to question each of my assumptions, that sucks!&lt;/span&gt;&lt;br /&gt;&lt;span class="articleText"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="articleText"&gt;&lt;/span&gt;After my stress-profile-code-profile-stress cycles I did however learned a bit more about various JVM GC tuning options. Also, that in an overzealous attempt to gain customer delight the code was doing far more than required. I moved a step back and thinking from the usability perspective the problem immediately visible. Thanks to right encapsulation none of the interfaces are breaking and the affected code module could be refactored to fix the performance issue at hand. Further, tweaking the data structure to collect data for generating the performance reports helped us achieve performance gains. Now, we are able to do more with less. &lt;span class="articleText"&gt;  The trick is finding the application of technology that makes the most sense for solving your problem at hand.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Looks like my build is complete, let me profile my code again..&lt;br /&gt;&lt;span class="articleText"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-5198781284078156928?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/5198781284078156928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=5198781284078156928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5198781284078156928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5198781284078156928'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/04/debugging.html' title='Debugging'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-3462674395640353820</id><published>2009-04-21T07:37:00.003+05:30</published><updated>2009-04-21T08:00:27.106+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><title type='text'>Java: Heap crunch</title><content type='html'>Profile-code-deploy-load was all that I did yesterday and yes it did improve the system performance and technically it did survived the brutal four hour load test without causing OOOE (out of memory exception). The primary hypothesis under which I'm working is that their the certain long living references have retained a sizable of memory. But, I'm sure I'm not exactly able to find the root cause for the system degradation under load. The important observations are;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;We are loading the system using a pattern where we ramp up the load in x minutes and maintain the peak load for y hours and hen ramp down to zero in x minutes.&lt;/li&gt;&lt;li&gt;The heap usage percentage follows the similar pattern during ramp up, but although the load has plateaued the heap usage percentages continues go higher, while ramp down it eases a bit but never follows the decrease in load and never actually reaches zero or minimum even though there is no activity in the application.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;CPU times in GC increases almost linearly albeit with a low gradient and decreases to zero after load completes.&lt;/li&gt;&lt;/ul&gt;I plan to study GC logs today to understand the system characteristics and fine tune the JVM fit for our purpose and I am sill not sure if I have a memory leak... more later.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-3462674395640353820?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/3462674395640353820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=3462674395640353820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3462674395640353820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3462674395640353820'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/04/java-heap-crunch.html' title='Java: Heap crunch'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-5321586546317797698</id><published>2009-04-19T12:36:00.003+05:30</published><updated>2009-04-19T12:58:50.382+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='memory-leak'/><title type='text'>Java: Memory leak</title><content type='html'>&lt;div style="text-align: justify;"&gt;Around two years back, when I encountered an article mentioning memory leak in Java, it was little surprising for me and may be author knew about his audience and went ahead to provide one demo program. It surely made me aware of the issue and certain anti-patterns to avoid. Then, I encountered my very own first Java memory leak, and that I my skills are not adequate to handle them. Here, in the current case,  when I first observed this phenomenon I went ahead and explicitly 'nulled' my references, which are other wise supposed to go out of scope any ways and hence eligible for garbage collection, but to my frustration this has only marginally helped as the changes have only reduced the rate of memory leak and has not eliminated it. Now I plan to work to work associated anti-patterns like that weak references or references to small living objects held by long living objects etc. Will keep you posted.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-5321586546317797698?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/5321586546317797698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=5321586546317797698' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5321586546317797698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5321586546317797698'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/04/java-memory-leak.html' title='Java: Memory leak'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-5802819430563674836</id><published>2009-04-13T21:07:00.003+05:30</published><updated>2009-04-13T21:26:12.701+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='India'/><title type='text'>Just like that...</title><content type='html'>&lt;div style="text-align: justify;"&gt;We Indians have a tendency to generalize thing so much so that it hardly takes any effort from our side to paint the world in one color. Often as an extension to this exercise to tend o extract particular characteristics of people from a city, and I quite believe that any self respecting engineer from a decent engineering college in India must have had great fun using them to describe their friends. Almost every where you can find '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Baba&lt;/span&gt;', 'Guru', '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Ziddi&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Jat&lt;/span&gt;', '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Sirfira&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Sardar&lt;/span&gt;', '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Bihari&lt;/span&gt;', '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Taant&lt;/span&gt;', '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Gulti&lt;/span&gt;', '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Kannadiga&lt;/span&gt;', '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Khatta&lt;/span&gt;', '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Ghatan&lt;/span&gt;'... and the list goes on and on... while I was siting &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;wih&lt;/span&gt; some of my senior friends we happened to discuss the changing times.. the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;arch typical&lt;/span&gt; '... those were the day, ...' and one of my senior friend was quite amused and interested to learn the diversity, he then told us that back then during his times such richness and variety was unheard of and as a result of which he would often be &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_13"&gt;referred&lt;/span&gt; to as '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Madrasi&lt;/span&gt;', now that was real bad as this could be the worst form of identity crisis... he complained that all those from 'North India' used to refer any one down south with the same term and he would never be able to take that... and in order to have revenge on them he would paint them (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Northies&lt;/span&gt;) as '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Bihari&lt;/span&gt;' and that had far reaching affect on them and upon complain he would highlight the similar difference to them... and that probably sowed the seed to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_17"&gt;heightened&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;verbosity&lt;/span&gt; currently in use... seems like this is what is referred to as evolution of language ;)&lt;br /&gt;&lt;br /&gt;Disclaimer: With malice to no one... have fun, n'joy!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-5802819430563674836?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/5802819430563674836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=5802819430563674836' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5802819430563674836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5802819430563674836'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/04/just-like-that.html' title='Just like that...'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-8217505907896192987</id><published>2009-04-09T19:43:00.003+05:30</published><updated>2009-04-09T19:56:22.500+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='debug'/><category scheme='http://www.blogger.com/atom/ns#' term='jpd'/><title type='text'>Failed to connect to remote VM. Connection refused. Connection refused: connect</title><content type='html'>&lt;div style="text-align: justify;"&gt;A lot of time was wasted to resolve the above mentioned error, while I was trying to connect to a remote server using my eclipse IDE in debug mode. Here is the solution;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;Compile your application using '-g' option. This will generate all the debugging related information, including local variables. By default, only line number and source file information is generated.     &lt;/li&gt;&lt;li style="text-align: left;"&gt;Launch a new Java  Virtual Machine (VM) with the main class of the application  to be debugged. For e.g. Launch a new Java  Virtual Machine (VM) with the main class of the application  to be debugged. For e.g. $&gt; &lt;span style="font-style: italic; font-weight: bold;"&gt;gt; &lt;span style="font-style: italic; font-weight: bold;"&gt;java -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket, server=y, suspend=n, address=8000&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: justify;"&gt;&lt;span&gt;Hope that helps.&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-8217505907896192987?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/8217505907896192987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=8217505907896192987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8217505907896192987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8217505907896192987'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/04/failed-to-connect-to-remote-vm.html' title='Failed to connect to remote VM. Connection refused. Connection refused: connect'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-5001125130094811685</id><published>2009-03-22T21:51:00.002+05:30</published><updated>2009-03-22T21:56:20.964+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>Are YOU Game?</title><content type='html'>&lt;div style="text-align: justify;"&gt;... and the Lord said, 'let their be light...' yeah and in that moment of enlightenment I could now very clearly see some anti-patterns in my behavior. Let us try and understand the same. Let's say you are pretty very well educated, you have a decent job, you are considered a 'potential' candidate to handle most challenging assignments in your organization and you dream big. But.. and a big one there to be precise, more often than not, you hit a big wall somewhere along the way. You can get something going, but it &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;does&lt;/span&gt; not go very far. We have no idea how many times we end up stuck in second gear for the rest of our  lives. While we may be “good enough” we could be so much better.&lt;br /&gt;&lt;br /&gt;Yes, I wanted to talk about 'Scalability' as much as this concept is borrowed from Software Engineering I plan to adopt it in my day to day life.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"Scalability is a desirable property of a system, a network, or a process, which indicates its ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged.[1] For example, it can refer to the capability of a system to increase total throughput under an increased load when resources (typically hardware) are added. An analogous meaning is implied when the word is used in a commercial context, where scalability of a company implies that the underlying business model offers the potential for economic growth within the company.&lt;br /&gt;&lt;br /&gt;An algorithm, design, networking protocol, program, or other system is said to scale if it is suitably efficient and practical when applied to large situations (e.g. a large input data set or large number of participating nodes in the case of a distributed system). If the design fails when the quantity increases then it does not scale." - Source: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;wikipedia&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Now scalability has &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;multiple&lt;/span&gt; facets to understand;&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;'Scale Out' - Diversify your horizon of understanding, often I have observed that concepts from seemingly unrelated subjects, an example in case the recent rage with Web 2.0 where concepts from Sociology and Technology is gainfully employed to conduct 'Viral Marketing' for businesses. "Tell-A-Friend" widget from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Pramati&lt;/span&gt; which you see on my blog is niche area platform product operating in this space. It definitely helps to find/create new opportunities if you can apply your diverse knowledge to add value to the society at large. Another way to scale out is to play multiple roles in your team to gain first hand understanding of issues at hand. It may be an enriching experience if you can mix-match-employ your experience with solving engineering problems and handling customer situations.&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;'Scale Up' - Based upon your analysis of the situation you feel it just right to add extra effort.. walk that extra mile to achieve 'customer delight'. [here, customer is overloaded for both the internal and external customer behavior]&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;'Scale Down' - Last but not the least, it is important for us to identify and 'scale down' things which are not working. Things which might become too big a problem while one is trying to scale...&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;With that understanding of issues with me.. I want to ask myself if I'm Game enough to leave my footprint on the third rock from Sun? Game enough to tackle the challenging technology? Game enough to get my game on the planet. I believe I can.. Come on! double up now... faster, higher, stronger.. be a sport :)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-5001125130094811685?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/5001125130094811685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=5001125130094811685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5001125130094811685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5001125130094811685'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/03/are-you-game.html' title='Are YOU Game?'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-7763203320831458812</id><published>2009-03-12T20:59:00.002+05:30</published><updated>2009-03-12T21:28:21.096+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>Why slow?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Hmm&lt;/span&gt;.. so good that you are able to monitor response times of the application components but then how does that helps tuning the application... do not count activity.. show me the productivity.. so here I'm able to monitor my code and generate some couple of reports.. but then they didn't really helped me understand performance bottlenecks.. I would run them again and again to aggregate more reports!! No amount of diligence seemed to work.. imagine I was not able to find problems.. that reminds me of the adage 'bin mange &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;moti&lt;/span&gt; mile &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;aur&lt;/span&gt; mange mile &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;na&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;bheekh&lt;/span&gt;' ... I had understood there is sure shot knowledge gap from technical and business perspective... after all we are still far from creating tools which would scan and identify and fix code on their own. There are just so many options for every refactoring which one intends o make in the code.. one needs to weigh your options before making code change les it should fall under its own weight... Ok, I digressed because even while conducting my own research I chanced to read interesing articles which would give me a peek ino the future about gainfully utlizing concepts from autonomic computing to application monitoring as an aid to debugging applications... but 'Show me the results' was driving me crazy.. but then as the luck would have it a visit to the the local book shop helped me discover "Bitter Java" and as prophecized by "The Alchemist" &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;&lt;/span&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;&lt;/span&gt;when you one truly starts liking something the entire universe conspires to make it happen.. seemed so much true .. he "bitter ejb" chapter seems to have been written just for me a quick read with reports immediately helped me identify the 'chatty' interface between our application and the database.. the server frequent roundtrips are consuming far more time over the wire than conducting any productive work... steriotypically such problems occur when we make far more granular requests than is required or may be executing queries in loops... it helps to find initial symptoms of the problem at the macro level.. such an information can be suitably used in other low performing use cases.. bugs come and go, but I'm accumulating debugging skills ... I'm already feeling the need to study "Refactoring: Martin Fowler".. may be I should get back to reading.. more later&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-7763203320831458812?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/7763203320831458812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=7763203320831458812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7763203320831458812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7763203320831458812'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/03/why-slow.html' title='Why slow?'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-7450720274052949901</id><published>2009-03-04T21:36:00.005+05:30</published><updated>2009-03-04T23:01:29.583+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>I love Johnny Walker...</title><content type='html'>&lt;div style="text-align: justify;"&gt;I love it for the simple reason that it provides me with one of the very core ideology I have decided to follow in my life. It helps me take rough with the smooth and always keeps me brimming with confidence. It helps me overcome difficulties and avoid my indulgence with petty attractions. It helps me take change in my stride. It helps me keep walking...&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-7450720274052949901?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/7450720274052949901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=7450720274052949901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7450720274052949901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7450720274052949901'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/03/i-love-johnny-walker.html' title='I love Johnny Walker...'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-1950377879018096680</id><published>2009-03-03T08:06:00.003+05:30</published><updated>2009-03-03T09:12:11.881+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Performance Monitoring Utility</title><content type='html'>My current assignment required me to create a light weight utility to conduct application monitoring during production and development phases to identify potential performance bottlenecks. The utility which I created is now ready and is under Beta. Key rationale to create this utility were;&lt;br /&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;Create an unobtrusive (or minimal) way of monitoring the application, although in its current state it does not uses aspect technologies and thus requires us to manually inject code to those applicaion components which we want to instrument.&lt;/li&gt;&lt;li&gt;The utility should be real lightweight so that it could be used at all times to monitor application performance and system health.&lt;/li&gt;&lt;li&gt;Simple to use. Client code should be able to use the utility in an easy to use way. Figuratively speaking, just place your probes and desired parts of your application and assign a logically comprehend able name to it, that's all!&lt;/li&gt;&lt;li&gt;User should be able set monitoring preferences.&lt;/li&gt;&lt;li&gt;Reporting monitoring results.&lt;/li&gt;&lt;li&gt;Currently the utility monitors the execution times alone but can easily be extended to monitor other metrics like memory, cpu etc.&lt;/li&gt;&lt;/ol&gt;Design Considerations:&lt;br /&gt;&lt;br /&gt;To improve simplicity, reduce verbosity and hide inner working of the monitor code a facade to the monitor library is provided so all hat client code needs to do is;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;public SomeObject theMethodUnderInstrumentation(){&lt;br /&gt;try{&lt;br /&gt;  MonitorFacade facade = MonitorFactory.getFacade();&lt;br /&gt;  if(facade.isMonitorEnabled()){&lt;br /&gt;    facade.recordExecutionStart("someLogicalContextName");   &lt;br /&gt;  }&lt;br /&gt;  // do some time consuming task here&lt;br /&gt;}finally{&lt;br /&gt;   if(facade.isMonitorEnabled()){&lt;br /&gt;    facade.recordExecutionStop("someLogicalContextName");   &lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;}&lt;/blockquote&gt;This is all that is required by the developer to instrument it's code. Simple isn't it!! The above becomes transparent to the developer in case we use aspects to define our pointcuts to inject a similar code as above.&lt;br /&gt;&lt;br /&gt;It is a common observation that application performance tuning exercise requires an inter disciplinary approach and much is needed to understand the system performance in the right context. It was therefore important to understand the complete execution path under observation. To make this possible Composite pattern is implemented. The intent of composite is to compose objects into tree structures to represent part-whole hierarchies. The call tree is captured which displays the function execution paths that were traversed in the profiled application. The root of the tree is the entry point into the application or the component. Each function node lists all the functions it called and performance data about those function calls. So to put it crudely composite pattern helped me create the tree structure of application components under observation.&lt;br /&gt;&lt;br /&gt;Now that we are ready with the basic infrastructure needed to monitor he code performance at all times the next piece of challenge is to create automated load test and as any one with similar experience will immediately identify that creating automated test cases is not that big a deal but maintaining them over a period of time is.. my next task involves around ways to put intelligence into our load test scripts... I woke up pretty early today .... ;)&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-1950377879018096680?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/1950377879018096680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=1950377879018096680' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1950377879018096680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1950377879018096680'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/03/performance-monitoring-utility.html' title='Performance Monitoring Utility'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-5726103643113860663</id><published>2009-02-20T00:33:00.002+05:30</published><updated>2009-02-20T00:38:01.720+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Map'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='sort by value'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Tip: Sort a map by values</title><content type='html'>&lt;div style="text-align: left;"&gt;A handy tip to sort map by values.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;//:~&lt;br /&gt;package samples.core.java;&lt;br /&gt;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.Collections;&lt;br /&gt;import java.util.Comparator;&lt;br /&gt;import java.util.Iterator;&lt;br /&gt;import java.util.List;&lt;br /&gt;import java.util.Map;&lt;br /&gt;import java.util.TreeMap;&lt;br /&gt;&lt;br /&gt;public class SortMapByValueExample {&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        Map map = new TreeMap();&lt;br /&gt;        map.put("1", "100");&lt;br /&gt;        map.put("10", "50");&lt;br /&gt;        map.put("100", "40");&lt;br /&gt;        map.put("1000", "10000");&lt;br /&gt;&lt;br /&gt;        List keys = new ArrayList(map.keySet());&lt;br /&gt;        ByValueComparator bvc = new SortMapByValueExample().new ByValueComparator(&lt;br /&gt;                map);&lt;br /&gt;        Collections.sort(keys, bvc);&lt;br /&gt;        Iterator iterator = keys.iterator();&lt;br /&gt;        while (iterator.hasNext()) {&lt;br /&gt;            String key = (String) iterator.next();&lt;br /&gt;            System.out.println(key + "-" + map.get(key));&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private class ByValueComparator implements Comparator {&lt;br /&gt;        private Map map;&lt;br /&gt;&lt;br /&gt;        public ByValueComparator(Map map) {&lt;br /&gt;            this.map = map;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public int compare(Object o1, Object o2) {&lt;br /&gt;            int integer = Integer.parseInt((String) this.map.get((String) o1));&lt;br /&gt;            int otherInteger = Integer.parseInt((String) this.map&lt;br /&gt;                    .get((String) o2));&lt;br /&gt;            return -1&lt;br /&gt;                    * (new Integer(integer)&lt;br /&gt;                            .compareTo(new Integer(otherInteger)));&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-5726103643113860663?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/5726103643113860663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=5726103643113860663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5726103643113860663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5726103643113860663'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/02/tip-sort-map-by-values.html' title='Tip: Sort a map by values'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-8460715743141755183</id><published>2009-02-08T22:15:00.003+05:30</published><updated>2009-02-08T22:20:50.432+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='stories from the trenches'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='j2ee'/><title type='text'>Performance monitoring - creating home grown utilities</title><content type='html'>&lt;div style="text-align: justify;"&gt;One of my current focus area is performance engineering, which although is an umbrella concept in itself pretty much sums the need to achieve the non-funcional requirement defined for the software solution. You may find a neat introduction the concept &lt;a href="http://blogs.msdn.com/jmeier/archive/2008/09/16/patterns-practices-performance-engineering.aspx"&gt;here&lt;/a&gt;. As much as it is important from software engineering perspective, talking of it during design session is looked upon as 'over-engineering' and is grossly ignored saying 'It will be one nice problem to solve, but we are not there yet...' probably, I understand the product manager's need to hit the market ASAP.&lt;br /&gt;&lt;br /&gt;As they say, 'Dates in the calendar are closer than they appear', we normally start receiving complaints in form of poor user experience, loss of revenue to the competition blah, blah.. so now we have the 'nice' problem actually waiting for us to solve. Frankly, to start with there are no straight answers or atleast I do not have one. What do we do now? Where do we start? Which are the ideal candidates for performance tuning exercise? Here, is what I would do to track the problem. Place an extremely light weight activity monitoring utility in production at all times because I deem it necessary to even capture the usage of the application by the real life users and not us software engineers enmasked as pseudo users [During one of my earlier assignments, the users of the application would simply close the browser window wih out logging out, because the application didn't contained his private data and just that the users didn' like to wait for the application to log out... resulting in numerous open sessions...]&lt;br /&gt;&lt;br /&gt;There are plenty of open source and commercially available tools in the market, still if you feel the need to create a home grown solution for some reason, here is the simple idea that I'm working on now to collect metrics from different parts of the application performance and use it for the quantitative analysis of the application.&lt;br /&gt;&lt;br /&gt;Provide a ThreadLocal storage to 'StatisticsCollector' which would provide probes to be kept at key parts of the application to record statistics, to start with I'm only collecting execution times. Create a new object each time a new thread is spawned and keep adding metrics for the components with their  metrics at collection points and them to the tree data structure which represents the call hierarchy. Finally, once the response is committed for the thread persist the data and reset thread local variables. I have primarily identified following collection points viz. the servlet filter, servlet do*(), JSPs, transactions, cache hits, jdbc layer while they are less in number they can pretty much indicate the slowest moving layer in my application. This information will form the input o iterative process of profiling-tuning-monitoring to gain performance improvement upon completion of each cycle.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-8460715743141755183?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/8460715743141755183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=8460715743141755183' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8460715743141755183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8460715743141755183'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/02/performance-monitoring-creating-home.html' title='Performance monitoring - creating home grown utilities'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-3498824343471862499</id><published>2009-01-14T20:15:00.003+05:30</published><updated>2009-01-14T21:33:54.525+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><category scheme='http://www.blogger.com/atom/ns#' term='jugaad'/><category scheme='http://www.blogger.com/atom/ns#' term='India'/><category scheme='http://www.blogger.com/atom/ns#' term='innovation'/><title type='text'>Buckle up - Enterprise Edition</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.nasscom.in/emerge/wp-content/uploads/2009/01/made-in-india-logo.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 232px; height: 79px;" src="http://blog.nasscom.in/emerge/wp-content/uploads/2009/01/made-in-india-logo.jpg" alt="" border="0" /&gt;&lt;/a&gt;Time and again people ask me, if I still think I made the right decision to cut short my 'coveted' foreign assignment to return India because I felt it 'did not add value'... well let time keep tab on that. My story is that... whatever role life gives you play it big [this one is lifted from Smirnoff's ad, we can even learn from a Daru company ;)].&lt;br /&gt;&lt;br /&gt;We[Indian IT industry]  started real small with back office support work but soon gained confidence of the world to provide medium to large scale system enhancements from where we incrementally we created value to achieve customer delight through our efficiency and professionalism. It is no wonder that today IT captains are trusted partners for very large scale system transformation exercises. In essence, we have incrementally moved up the value chain.&lt;br /&gt;&lt;br /&gt;Now, it is important for us to move up to the next step where in we need to conceptualize and develop 'product(s)'. Definitely, this would be a much riskier business. But, then are there any options for us but to grow better. The world will truly respect our technical prowess if we 'create' new concepts and 'implement' them... and can there be better times than these. Here is why I think these are the best of time to go deep...&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Under the current scheme of affairs techies prefer to stay home because much of the quality work will be done off-shore and more importantly an increased focus on domestic projects gives them an opportunity to solve 'their' own problems. This tends to improve employee job satisfaction as it allows them to play 'lead' roles.&lt;/li&gt;&lt;li&gt;Working on domestic projects will create more avenues where we can find generic 'patterns' to be created as 'products'.&lt;/li&gt;&lt;li&gt;Investing into products will make employee confident about the longevity of vision of the organization leaders.&lt;/li&gt;&lt;li&gt;Confidence breeds success.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;NASSCOM is equally exhilarated to display the abounding capacity of Indian software companies representing products conceptualized, designed and made in India. It has come up with a logo as displayed above. You may wish to read more &lt;a href="http://blog.nasscom.in/emerge/2009/01/12/made-in-india-an-emblem-of-product-innovation/"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is all in mind and we can definitely make a difference by shaping our reactions to the events in life.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-3498824343471862499?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/3498824343471862499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=3498824343471862499' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3498824343471862499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3498824343471862499'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/01/buckle-up-enterprise-edition.html' title='Buckle up - Enterprise Edition'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-2513997979347680285</id><published>2009-01-09T00:11:00.003+05:30</published><updated>2009-01-09T00:35:33.388+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>Buckle up!</title><content type='html'>Way back in the year 2002, I witnessed the placements of my super seniors. I remember it took some one month of time for its completion... compare that with ours which got over in a matter of a day or two. In my observation it made them a better human being. I really thought if God could grant me those challenges to me too.&lt;br /&gt;&lt;br /&gt;Everyone would agree these are tough times, but then I have a difference of opinion about the way we react to the current state of affairs. There is wide spread fear of failure and confidence index is diving south. Here, is how I plan to handle the situation at hand.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;First earn and then spend.&lt;/li&gt;&lt;li&gt;Innovate at work.&lt;/li&gt;&lt;li&gt;Remain competitive.&lt;/li&gt;&lt;li&gt;Retain your enthusiasm.&lt;/li&gt;&lt;li&gt;Protect your vision of the future.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Protect your humor, always.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-2513997979347680285?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/2513997979347680285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=2513997979347680285' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2513997979347680285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2513997979347680285'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2009/01/buckle-up.html' title='Buckle up!'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-6103515946290187551</id><published>2008-12-18T20:02:00.001+05:30</published><updated>2008-12-18T20:04:01.279+05:30</updated><title type='text'>ek khayal ye bhi</title><content type='html'>Courtsey- Rahul Mishra&lt;br /&gt;&lt;br /&gt;जिन्दगी ये किस मोड पे ले आयी है ,&lt;br /&gt;&lt;br /&gt;ना मा, बाप, बहन , ना यहा कोई भाई है .&lt;br /&gt;&lt;br /&gt;हर लडकी का है Boy Friend, हर लडके ने Girl Friend पायी है ,&lt;br /&gt;&lt;br /&gt;चंद दिनो के है ये रिश्ते , फिर वही रुसवायी है .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;घर जाना Home Sickness कहलाता है ,&lt;br /&gt;&lt;br /&gt;पर Girl Friend से मिलने को टाईम रोज मिल जाता है .&lt;br /&gt;&lt;br /&gt;दो दिन से नही पुछा मां की तबीयत का हाल ,&lt;br /&gt;&lt;br /&gt;Girl Friend से पल - पल की खबर पायी है,&lt;br /&gt;&lt;br /&gt;जिन्दगी ये किस मोड पे ले आयी है …..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;कभी खुली हवा मे घुमते थे ,&lt;br /&gt;&lt;br /&gt;अब AC की आदत लगायी है .&lt;br /&gt;&lt;br /&gt;धुप हमसे सहन नही होती ,&lt;br /&gt;&lt;br /&gt;हर कोई देता यही दुहाई है .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;मेहनत के काम हम करते नही ,&lt;br /&gt;&lt;br /&gt;इसीलिये Gym जाने की नौबत आयी है .&lt;br /&gt;&lt;br /&gt;McDonalds, PizaaHut जाने लगे,&lt;br /&gt;&lt;br /&gt;दाल- रोटी तो मुश्कील से खायी है .&lt;br /&gt;&lt;br /&gt;जिन्दगी ये किस मोड पे ले आयी है …..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Work Relation हमने बडाये ,&lt;br /&gt;&lt;br /&gt;पर दोस्तो की संख्या घटायी है .&lt;br /&gt;&lt;br /&gt;Professional ने की है तरक्की ,&lt;br /&gt;&lt;br /&gt;Social ने मुंह की खायी है.&lt;br /&gt;&lt;br /&gt;जिन्दगी ये किस मोड पे ले आयी&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-6103515946290187551?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/6103515946290187551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=6103515946290187551' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6103515946290187551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6103515946290187551'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/12/ek-khayal-ye-bhi.html' title='ek khayal ye bhi'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-829904225987337264</id><published>2008-12-13T10:02:00.004+05:30</published><updated>2008-12-13T10:15:49.199+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><category scheme='http://www.blogger.com/atom/ns#' term='therapy'/><title type='text'>haath chute bhi to rishte nahin tuta karte...</title><content type='html'>&lt;div style="text-align: justify;"&gt;... just watched 'Dasvidaniya' which is based upon the basic premise that 'live like this is your last day' but then it is ironical that one makes an attempt to live life at its fullest only when one realizes this is going to be his last day... why? why do we hold grudges? why can't we just forgive and forget? why can't we instead part ways before making things worse leaving behind a scope for a welcome greeting till we meet again? It is our indulgence over the small picture rather than our involvement in a larger vision which makes all the difference... may be I need to learn much more... practice abstinance.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-829904225987337264?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/829904225987337264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=829904225987337264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/829904225987337264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/829904225987337264'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/12/haath-chute-bhi-to-rishte-nahin-tuta.html' title='haath chute bhi to rishte nahin tuta karte...'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-8749171799803137286</id><published>2008-12-09T20:38:00.003+05:30</published><updated>2008-12-09T21:45:44.820+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>Travelogue: Bidar Fort, Karnataka</title><content type='html'>Do u mind coming with us for watching 'Transporter 3'?! O.K, I'll pick you up in 15 minutes... was all that I heard... 2115 hrs, I told myself there is no time for cooking, we shall have dinner somewhere... later we reached IMax theater to discover a big group of boys inquiring at the box office about tickets.. as luck would have it we missed the movie.. boys had a bad mood and were wondering what to do next.. someone said 'hands up for ice cream on Necklace road?' and all were ready... I have started believing that water bodies have some great healing power they seem to absorb your negativity and a big scoop of ice-cream induces the much needed positive energy in you.. so it was one gr8 combo!! Cruising past midnight on Necklace road.. cool breeze, silent lake and shimmer on the water surface is just bliss... here our gang just sat there on the lawns next to the lake talking about life and things like terrorism and petty politics and things which are taking its toll on our lives.. when Ani said ... all I need is one long bike ride.. pat came the reply, lets go Bidar.. MP said 0500 Hrs sharp and immediately some one cribbed about the timing ... come on guys its Sunday!! said Sindwani.. it is too early.. after litle ping-ponging upon he issue everyone agreed to 'go'... nevermind, in the morning finally 14 of us were ready for the trip, we started at 0930 hrs from Karkhana road and hit NH9 at Miyapur and we made our first pit stop at Sadashivpet next to a Dhaba. We ordered Aaloo paratha as we can get them fast and were hungry like dog. I muss say the food was good as each one us 'overate'... hehehe.. after a cup of tea we hit the road again with standing order to meet again at Zafirabad to leave NH and move to SH-4. The road stretch from Zafirabad o Bidar owan goes through state borders and is very peaceful to drive through the jungles on both sides... on your we found several cart loads of sugarcane ... those farmers were graceful enough to give us a cane to each one of us... and quite naturally each one of us had a childhood story to share.. I was wondering when was the last time I visited my nanihal, I stopped counting years.. I felt bad.&lt;br /&gt;&lt;br /&gt;Upon reaching the town area we were welcomed by a giant sign-board displaying distance and directions for the places of interest in the dusty town. We decided to start from Narsimha Jherni and believe me not once for religious reasons but to explore the cave with chest-high water levels with bats on the roof top it sounded so exciting... after the holy dip into the water we had a good bath at the natural spring in the temple campus.&lt;br /&gt;&lt;br /&gt;We then decided to go for Gurudwara famous for its linkages with Guru Nanak Sahib and this time again the primary reason was the 'Langar', I actually could imagine hot-tasty halwa in my mouth... remembering 'Bangla Sahib' at Delhi... Legend has it that the areas has its only sweet water lake thanks to Guru sahib.&lt;br /&gt;&lt;br /&gt;'Enuff of pligrimage!!' frowned one said after we had stomach full of food at the 'langar' and we now decided to exploit the photographic opportunity at the fort taking advantage of the sun. But, before we could go there I decided to check out some Bidri craft work, which is special to the area, try googling for the same and you might like it as well.&lt;br /&gt;&lt;br /&gt;Here, again the place is very beautiful and really really provides ample of photo opportunities which our paltan consumed to its maximum. We had some great fun here. Some of the excitement is captured &lt;a href="http://picasaweb.google.com/nitin.tripathi/BidarFortKarnataka"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-8749171799803137286?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/8749171799803137286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=8749171799803137286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8749171799803137286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8749171799803137286'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/12/travelogue-bidar-fort-karnataka.html' title='Travelogue: Bidar Fort, Karnataka'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-3569183234495279979</id><published>2008-11-01T10:19:00.004+05:30</published><updated>2008-11-01T10:31:49.568+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise architecture'/><title type='text'>SOA-Reference Model</title><content type='html'>&lt;div style="text-align: justify;"&gt;Read &lt;a href="http://www.oasis-open.org/committees/download.php/19679/soa-rm-cs.pdf"&gt;SOA-RM from OASIS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you are the one who likes to understand the very basics and the core concepts associated with the Service Oriented Architecture you will find the above document one real treat to read, rest assured you can go with absolute clean slate, you actually learn a lot.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-3569183234495279979?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/3569183234495279979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=3569183234495279979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3569183234495279979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3569183234495279979'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/11/soa-reference-model.html' title='SOA-Reference Model'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-5379424324767369077</id><published>2008-10-26T22:14:00.002+05:30</published><updated>2008-10-26T22:22:52.727+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>Travelogue: Warangal</title><content type='html'>&lt;div style="text-align: justify;"&gt;There are some indulgences which can not be explained, one such are bike rides. It needs your complete involvement and in return gives one the complete travel experience. Here, one does not experiences things but (s)he is very much part of the experience itself. Our trip to this important city from Telangana region in Andhra Pradesh was dotted through out by BIG boulders and I mean it quite literally. Prominent among them is the one at 'Bhuvangiri' which has a small 11th century fort atop. The intermittent landscapes were covered with lush green paddy crop. Once we reached this peaceful city with roads broad enough to accommodate its traffic we had lunch and only then we drove to the temple of thousand pillars which is currently under restoration by  ASI which was quite a disappointment to us, nevertheless we were fortunate enough to find some one we knew who took us to the site and showed us the work in progress and briefed us about the renovation plan which very much compensated for the loss. We later visited the fort and 'Bhadrakali temple' which was feast for eyes at sunset. Our return trip was one real peaceful drive through the dark cold night riveted with the thump of our engines and illuminated only with headlamps... vrooooooooooooooooooooooommmmmmmmm&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/nitin.tripathi/TravelWarangal#"&gt;This&lt;/a&gt; web-album tries to capture those moments.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-5379424324767369077?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/5379424324767369077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=5379424324767369077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5379424324767369077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5379424324767369077'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/10/travelogue-warangal.html' title='Travelogue: Warangal'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-2599837697595099421</id><published>2008-10-24T00:38:00.003+05:30</published><updated>2008-10-24T00:44:07.912+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java-WS'/><category scheme='http://www.blogger.com/atom/ns#' term='CXF'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='web service'/><category scheme='http://www.blogger.com/atom/ns#' term='Axis'/><title type='text'>Web Services Platforms: Composition and Philosophy</title><content type='html'>&lt;div style="text-align: justify;"&gt;Not surprisingly, contrary to common knowledge SOAP today stands for nothing... some one must be seariously embarassed to refer to it as 'Simple' :) There are so many specifications heard some one saying here are 105 of them!! That very moment I found it over zealous to study and all of them and considering my feeble mindedness, I'm sure to get lost in them. But then, what next?!! I just can't give up like that, after all I have a stiff nose to save ;) They say 'you are what you abstract it from' and may be that's right... may be I need to understand the 'big picture' and then drill down to details subject to interest and need. Here, today a first attempt is made to understand web service as a platform architecture and defining philosophies of some of its more popular implementations.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Web Services Platform Architecture&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Web service technology provides a uniform usage model for components/services, especially within the context of heterogeneous distributed environments. It also virtualizes resources by shielding idiosyncrasies of the different environments that host those components. This shielding can occur by dynamically selecting and binding those components and by hiding the communication details to properly access those components. Put simply, these web services technologies serves as a toolset which can primarily be divided into three core subsystems:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Invocation: Upon receiving a service invocation request over a supported transport protocol (HTTP[S], JMS, SNMP etc) a set of handlers need to  to pre-process the message as per the QoS (quality of service) requirement (like reliability, security etc.) and then the target Java class (call it first language interference, I'm told something similar happens in other languages too...) is idenified. But before delegating the message for processing it needs to be de-serialized to Java objects and later the response is serialized back to XML documents, which are further handed over to transport layer for onward message delivery. Roughly the same happens on client side albeit in the reverse order.&lt;/li&gt;&lt;li&gt;Serialization: is the process of transforming a Java object into XML element and the reverse process is called De-Serialization. Arguably, this is the most important step as it determines performance and flexibility of the web services platform, among other things. To accomplish this the serialization engine needs a set of 'mapping strategies' to serialize an instance of Java class into instances of XML Schema components. A 'mapping  strategy' associates a Java class its target XML Schema type and a description of serializer that will transform an instance of Java into an instance of the Schema type (or vice versa). It should be noted that, Objects are serialized through a 'serialization context' and that the serialized form of object may differ based upon the "context", i.e. what object have been serialized before. Thus a 'Serialization Context' is set of 'Mapping Strategies' that can be used by serialization subsystem to implement the type mapping used by a particular Web Service deployment. Common type mapping mechanism are Standard Binding, Annotations, Algorithmic and Rule Based (need to explore further...)&lt;/li&gt;&lt;li&gt;Deployment: This subsystem supports invocation of a Java target as a Web Service, which includes publishing he WSDL, configuring the end-point listeners and SOAP handlers, mapping WSDL operation to Java method calls and defining the Serialization Context for binding the WSDl operations to Java targets.&lt;/li&gt;&lt;/ol&gt;Having understood the central concepts associated with a Web Service Platform, it should now give us some basic parameters using which we can compare and contrast different web services implementations. Primary, among them are;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;JAX-WS 2.0: Assumes a uniformly available Java Universe and thus makes all efforts to make it increasingly simple for a Java Developer to rexpose their applications as web services with annotations and tool support to generate real robust WSDL. Java Interfaces forms the starting point.&lt;/li&gt;&lt;li&gt;Apache Axis2: Backed by strong community support this implementation makes it easy to start from either a WSDL or a Java interface and Axis2 with new object model in place boasts of improved performance and flexibility.&lt;/li&gt;&lt;li&gt;Apache CXF: Boasts of ease of use and very high performance because of using the new 'pull' parsing technique and the object model.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Hopefully, this article helps us understand the composition of different WS implementations and make an informed decision in their selection for our projects at hand.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-2599837697595099421?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/2599837697595099421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=2599837697595099421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2599837697595099421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2599837697595099421'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/10/web-services-platforms-composition-and.html' title='Web Services Platforms: Composition and Philosophy'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-250676886892325400</id><published>2008-10-21T23:01:00.002+05:30</published><updated>2008-10-21T23:06:18.688+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='uml'/><category scheme='http://www.blogger.com/atom/ns#' term='bpm'/><category scheme='http://www.blogger.com/atom/ns#' term='bpmn'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>Approach: How to improve traceability between BPMN process model and UML component model</title><content type='html'>&lt;div style="text-align: justify;"&gt;Workflow can be modeled with a Business Process Diagram or an Acivity Diagram and can be transformed manually or otherwise using underlying matamodel. However, the challenge lies in finding convergence of object-oriented approach offered by UML and process-centric approach taken by BPMN. To put this in context, it should be noted that UML methods asks you to find the objects first using the static structure diagrams and only then build dynamic behaviour diagram to model object interaction. In an attempt to satisfy the stated need, we can model our 'draft' activity model based upon Business Process Diagram as specified by BPMN at the 'first attempt' and 'later' the 'technical team' can refine and refactor the activity diagram so created in few iterations between static diagrams (class diagram etc.) and activity diagram to model the dynamic behaviour, which can improve the traceability.&lt;br /&gt;&lt;br /&gt;For a detailed study of the subject one may be interested to study "Process Modeling Notations and Workflow Patterns" &lt;a href="http://www.bpmn.org/Documents/Notations%20and%20Workflow%20Patterns.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-250676886892325400?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/250676886892325400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=250676886892325400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/250676886892325400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/250676886892325400'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/10/approach-how-to-improve-traceability.html' title='Approach: How to improve traceability between BPMN process model and UML component model'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-4949021107619324072</id><published>2008-10-15T22:07:00.004+05:30</published><updated>2008-10-23T16:16:03.221+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='bpm'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='bpmn'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><title type='text'>BPMN in a nutshell</title><content type='html'>&lt;div style="text-align: justify;"&gt;Business Process Modeling Notation (BPMN) is a standard specification created by Business Process Management Initiative Organization (BPMI) intended to provide a notation that is readily understood by Business Analyst (who creates the business process), Process Developer (who implements the business process into executables) and Business Owner (who manages and monitors he process). Thus, BPMN standardizes the bridge for the gap between process design and process implementation.&lt;br /&gt;&lt;br /&gt;BPMN defines a Business Process Diagram (BPD), which is a specialized flow-charting technique to create graphical model for business process operations. The graphical model so generated is a network of directed graphical objects representing activities.&lt;br /&gt;&lt;br /&gt;BPMN can be classified in to following four categories;&lt;br /&gt;1. Flow Objects&lt;br /&gt;  a] Event - Events effect the flow of the process and usually have a cause(trigger) or an impact (result). Types {start, intermediate event, end}&lt;br /&gt;  b] Activity - The work done and can be further classified as Task(atomic), sub-processes(non-atomic or compund)&lt;br /&gt;  c] Gateway - They are used to model the convergence or divergence of sequence flow and can thus be used to model decision making, fork or joins.&lt;br /&gt;&lt;br /&gt;2. Connection Objects: Using them, Flow Objects are connected together to provide basic skeleton structure of business process.&lt;br /&gt;  a] Sequence flow - models the 'order' of activity to be performed, it should be noted that 'control flow' is semantically incorrect in the context of business modelling language.&lt;br /&gt;  b] Message flow - models the flow of information.&lt;br /&gt;  c] Association - models the inputs and outputs of acivities.&lt;br /&gt;&lt;br /&gt;3. Swimlanes: The concept of swimlanes is used to organize acivities into seperate visual categories to illustrate different functional capabilities or responsibiliies. &lt;br /&gt;  a] Pool: Intra-group activity for e.g. interactions between customer and supplier organizations can be clubbed using Pools.&lt;br /&gt;  b] Lanes: Inter-group activity for e.g. interactions between various department of the same organization can be modeled using lanes.&lt;br /&gt;&lt;br /&gt;4. Artifacts:&lt;br /&gt;  a] Data Objects: Models the input or output form activities such as Rules, Documents for e.g. order&lt;br /&gt;  b] Groups: Models the logical grouping of sequence of activities, does not alters the sequence flow.&lt;br /&gt;  c] Annotation: Provides documentation.&lt;br /&gt;&lt;br /&gt;BPMN can be used to model collaborations between two or more business entities which may be public in nature or business processes internal to an organization, the difference lies in the precision level between the two. The primary value add that BPMN brings to the table are;&lt;br /&gt;  1- Standards based.&lt;br /&gt;  2- Easily understood by the complete 'spectrum' of people&lt;br /&gt; 3- Designed to be easily transformed to the de-facto execution language standard BPEL4WS.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-4949021107619324072?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/4949021107619324072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=4949021107619324072' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4949021107619324072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4949021107619324072'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/10/bpmn-in-nutshell.html' title='BPMN in a nutshell'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-1725426509115261269</id><published>2008-10-11T23:30:00.001+05:30</published><updated>2008-10-13T11:48:10.378+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>Travelogue: Nagarjun Konda</title><content type='html'>&lt;div style="text-align: justify;"&gt;Today was my first sunrise after years and still all looked so fresh, bright... so very own and while looking straight in Sun's eyes I found it asking me where have you been all this long, look at your self what have you done to yourself... are you the same footballer who would race against me to start the game... trying to frame an excuse.. I received a phone call from one of my friend.. "We have started... reach Lifestyle...  15 min" I said to myself ... I don't want to get late and changed gears to get ready.. but then years of lethargy and indiscipline can not just go like that.. while I was tying my shoe laces, I received my second call .. I straight away said.. will take take 5 min, on my way.. pat came the reply do u have MP3s on disk... anything will do... Dude I've them.. but not on CDs, will flash drive work??... No, there is no USB port here !! OK forget it we are right here at your doorsteps, so come out :) I had to wish all of them with a sheepish grin... while on car we truly appreciated things which are truly pluggable .. just plug them and play.. the discussion wavered between MP3s to flash drives to SD Card to Eclipse IDE to People. Yes people, we discussed how things have changed from past.. how simple it is for us to move any where.. how is it just a mind thing to feel about your gali, your city, your country.. your world.. and how adaptability is one of the most relevant and required skill in today's world.. we moved in a petrol station.. and snap came another wish to power our cars with electricity.. well as the with idea... we had a long way to go ..&lt;br /&gt;&lt;br /&gt;It was two hours now that we were driving and though none of us really felt hungry.. we definitely needed a stretch break, after some coffee and fresh dollops of idlis we were ready for hitting the road again... where is Kondu? he was missing ! where did he go, some one said look him in the trees.. 'National Geographic ke liye koi video bana raha hoga..' Meet Kondu, a self-taught digital photogrpahy enthuthiast who loves to capture nature in all its forms and shapes.. he has panache for creating abstract images, speaks very less but has sharp observation... we got hold of him and stuffed him on the front seat to allow him to take photos while on move...&lt;br /&gt;&lt;br /&gt;Another one hour and we reached the dam site... it felt so good to be there.. we straight away headed to wards the security post to walk over the dam.. alas we were stopped on grounds of security.. this is one of the side effect of terrorism.. it has simply spoilt the whole trust thing and has taken out the fun out of tourism... nevertheless the cops were really very polite and guided us about the dam site and other places to visit in close proximity. There description of the boat trip to an island in the third largest man-made reservoir heightened our spirits again and we rushed for the launch site.. on our way we crossed the spring  bridge right in front of the dam... it truly majestic. The dam in all its glory stood there to provide irrigation to large portion of the state. The thoughts rushing in my head was how big can u think to create such an engineering marvel which affects lives of so many people bringing them happiness and prosperity.. as a souvenir of the place I stored lung full of fresh air gushing through my nostrils standing atop the bridge that provided 360 degree of the Krishna valley... I was happy.&lt;br /&gt;&lt;br /&gt;"Time to move now the boat trip starts at 12" meet Saujanya our time keeper a post graduate in English Literature, who would rather prefer to slaughter me for my "Applied English". Learning the language might have imbibed good British habits.&lt;br /&gt;&lt;br /&gt;OMG!! there was typical chaos a the ticket queue and only after one hour we could get our boat tickets, but then we were in time and that was reason enough for us to cheer up so we celebrated it with a dash of Sprite. Seeing the jetty coming to shores we decided to reach downstairs, guess what there was another queue to purchase museum tickets. Disgusting as it was I saw that process flaw and how revenue sharing issues must have created such a stop gap arrangement... find IT to rescue :) We could only catch next jetty at 1300 hrs. Saujanya was not amused :) we decided to take a walk around the launch site, its a small place with lots of cars parked all around this place, as it is one of they favourite weekend get-aways... you can find entire families touring he place.. with super-energetic children and tired mothers running behind them... so much fun.. such a pain.. I remember my mother telling me .. beta jab tum bade hoge tab samjhoge !! :)&lt;br /&gt;&lt;br /&gt;An hour long boat ride we reached the Nagarjuna Konda island named after the Buddhist ruler of the area. This site was reconstructed to protect the archaeological findings from the area. The moment one steps on the island one becomes very part of it. The place is so peaceful that I wanted to stay there for the rest of my weekend. The silent lake with lush green tree line was truly blissful.&lt;br /&gt;&lt;br /&gt;We went to the museum and learn about the Monastery, the valley model the way it looked before the dam was constructed, some how I felt deja vu about the whole thing. May be I'm there for a purpose.. OK, this was crap ;)&lt;br /&gt;&lt;br /&gt;It was 1430 hrs and we thought of having lunch and there we find a canteen. I must confess, these tourism boards must take some steps o improve the food provided at their doorsteps. The food was pathetic and I could not eat more than one spoonful and the filthy fellow charged Rs. 60 per plate of "Veg-Biryani". The food was bad taste and unhygienic and to top it all the canteen vendor was apathetic to the whole situation... it sucks !&lt;br /&gt;&lt;br /&gt;Upon reaching back to shores we headed towards Ettipotala waterfall which is there because of two tributaries of Krishna river emerge out of ground and fall into this gorge. I mus confess his place was straight out of jungle books. The story has it that people of the region stopped British explorers to visit the place as there is some big roar always come from the area. This place is densely covered with shrubs making it difficult to move through them, also because the rivers emerge from underground people would not have clue then in the year 1732. The lagoon is home to Lord Dattatri and goddess Madhumati. May be I will visit them next time.&lt;br /&gt;&lt;br /&gt;Here APTDC has made some nice experiments by lighting the waterfall which was one unique experience for me. Although the music played was more of a nuisance and no way helped. May be APTDC can take cue from reality television and arrange a competition to create musical theme for the waterfall to be played at night. This way it will not only create an ambient place but also will open an opportunity for musicians to showcase their talent as a first step towards commercial success.&lt;br /&gt;&lt;br /&gt;All the way back to Hyderabad I was thinking it is always so nice to visit places and there is still so much to do for us.&lt;br /&gt;&lt;br /&gt;P.S. Find related photos &lt;a href="http://picasaweb.google.com/nitin.tripathi/TravelogueNagarjunaSagar#"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-1725426509115261269?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='' href='http://picasaweb.google.com/nitin.tripathi/TravelogueNagarjunaSagar#' length='0'/><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/1725426509115261269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=1725426509115261269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1725426509115261269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1725426509115261269'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/10/travelogue-nagarjun-konda.html' title='Travelogue: Nagarjun Konda'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-1706833701764028349</id><published>2008-10-01T21:59:00.003+05:30</published><updated>2008-10-01T22:19:33.154+05:30</updated><title type='text'>Karmakshetre, dharmakshetre...</title><content type='html'>&lt;div style="text-align: justify;"&gt;I like watching advertisements, just think about it they have to tell a story and sell a product, they need to be smart enough to capture the mind share and crisp enough to keep the interest high. I may have a bias in favour of Indian advertisements may be because of my cultural proximity... but then the emotional quotient shown up by these ads has truly been of very high order. In the given context Amul ads needs special mention which have always conveyed the current state of affairs with panache.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Also, during my recent visits to Mumbai I came to appreciate Idea's "Yeh Mumbai ka nahin hai" campaign. Earlier they put big hoardings all over the place showing pictures of people with captions like.. 'yeh bengal ki hai mumbai ki nahin', 'yeh punjab ka hai mumbai ka nahin' etc. I had no clue about them.. although this time.. the faces had a different caption 'mera number mumbai ka to mai mumbai ka'.. which reflects the true migrant nature of mumbai and states an apt reply to regionalist opinions.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Hats off to the creativity.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-1706833701764028349?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/1706833701764028349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=1706833701764028349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1706833701764028349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1706833701764028349'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/10/karmakshetre-dharmakshetre.html' title='Karmakshetre, dharmakshetre...'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-8571047070469820492</id><published>2008-09-26T18:33:00.003+05:30</published><updated>2008-09-26T18:40:23.307+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>Philophobic</title><content type='html'>&lt;div style="text-align: justify;"&gt;There are times when one is absolutely clueless, there are self-doubts, there are fear of failures. Fear comes from uncertainty. When we are absolutely certain, whether of our worth or worthlessness, we are almost impervious to fear. Thus, a feeling of utter unworthiness can be a source of courage. Now that one has reached such an ebb (s)he can only go up. Attach a purpose with your goals. Think big. Dream about about being there. It helps.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-8571047070469820492?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/8571047070469820492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=8571047070469820492' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8571047070469820492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8571047070469820492'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/09/philophobic.html' title='Philophobic'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-7981067004726255647</id><published>2008-09-14T19:06:00.004+05:30</published><updated>2008-09-14T19:13:48.910+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='current affairs'/><category scheme='http://www.blogger.com/atom/ns#' term='governance'/><category scheme='http://www.blogger.com/atom/ns#' term='architecture'/><title type='text'>Governance lessons from System Architecture</title><content type='html'>&lt;div style="text-align: justify;"&gt;Frequent terrorist acivities in the country have created a widespread panic among people and has sabotaged the peaceful development process in the country.&lt;br /&gt;&lt;br /&gt;The brighter part of these blasts is that we as a country have matured over the period of time. It is not hard to remember that in not so distant past such activities would cast its shadows in seemingly unrelated parts of the country for e.g. a blast in Mumbai would call for heavy deployment of police forces in Varanasi because of expected communal tension in the city. Today, terrorists have grossly failed to create such disharmony among various communities and related distrust. This has largely relieved the administration to focus on public safety and welfare rather than creating walls within the city to protect them from each other.&lt;br /&gt;&lt;br /&gt;From systems perspective I find an oft repeated 'Stove-Pipe' anti-pattern found commonly in enterprise systems, where the high level vision and policies are not implemented properly. It is common understanding that there are myriad of agencies at center ans state level which largely or entirely restricts the flow of information within the organization to up-down through lines of control but inhibits or prevents cross agency communication. This leads to duplication of effort and, in extreme cases, unhealthy competition between different agencies. It is high time we shed our stove-pipe mindset to bring efficiency and answerability into the governance. With the sixth pay commission in place there could be no better time to introduce a culture of openness and supportive style of administration among agencies and their relation with common citizens.&lt;br /&gt;&lt;br /&gt;Also, I take this opportunity to state my views unequivocally that we need;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;to entrust our policing agencies with greater power (stringent laws) to help them help us.&lt;/li&gt;&lt;li&gt;to make them answerable and courteous to citizens, so that the common citizen is not afraid to ask for help from them.&lt;/li&gt;&lt;li&gt;to provide elaborate safety net for the welfare of police families.&lt;/li&gt;&lt;li&gt;to give respect and decorate our policing staff at par with defense services to boost their morale.&lt;/li&gt;&lt;/ul&gt;May peace be with us.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-7981067004726255647?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/7981067004726255647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=7981067004726255647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7981067004726255647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7981067004726255647'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/09/governance-lessons-from-system.html' title='Governance lessons from System Architecture'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-2894204225304311357</id><published>2008-09-10T22:50:00.002+05:30</published><updated>2008-09-10T22:55:44.144+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>5 things I learnt today</title><content type='html'>&lt;div style="text-align: justify;"&gt;today i met an achiever in life, a person who went ahead against all the odds walked up to the horizon to reach the skies... listening to her story i want to learn;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;perseverance matters, no matter how hard the nut is.. if one fiddles with it continuously for long, it will ultimately break&lt;/li&gt;&lt;li&gt;tame your learning curve, it any ways does not lasts longer than 1-2 months.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;learn to have neat fun, make good companions, always&lt;/li&gt;&lt;li&gt;do ur job religiously and respect ur holidays&lt;/li&gt;&lt;li&gt;learn to cook 'functional' food and stay fit&lt;/li&gt;&lt;/ul&gt;... may be her sweet memory wud remain if i can emulate these qualities in life.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-2894204225304311357?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/2894204225304311357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=2894204225304311357' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2894204225304311357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2894204225304311357'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/09/5-things-i-learnt-today.html' title='5 things I learnt today'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-4126744746777348729</id><published>2008-09-09T00:10:00.003+05:30</published><updated>2008-09-09T00:20:47.623+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='jugaad'/><category scheme='http://www.blogger.com/atom/ns#' term='India'/><category scheme='http://www.blogger.com/atom/ns#' term='product'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='innovation'/><title type='text'>Work starts@home to innovate</title><content type='html'>&lt;div style="text-align: justify;"&gt;Thanks to information technology revolution in the country I have a comfortable job which allows me to dream about a bright future ahead. Often I find it difficult to imagine if there exists a better profession than my own which bestows such great powers to change the face of the society. Having said that, I still face the frustration first hand when I visit places like banks, govt offices etc. Just imagine it took me three hours to complete trivial activities at the bank, I would not name the bank because it will be gross injustice to their employees commitment to work.&lt;br /&gt;&lt;br /&gt;My observation was that some how the whole computer thing is a cosmetic entity, as much of the work can still not be done the e-way. There is  a greater need for creation and integration of systems.&lt;br /&gt;&lt;br /&gt;Over the years, we as Indian software industry have stepped up continuously from a back office service provider to prime time solution provider. Today there are voices raised from all corners for us to innovate, create new product ideas but then this seems to me has certain degree of challenges because of our predominant attachment to solving problems of the rest of the world. We have historically focused on export market and almost ignored home requirements. It will only pay for us to look inwards. This comes from my own experience while working with US/European telecom companies and for Indian telecom majors. I found myself to be better aware of the exact requirements, the existing inefficiencies in the system and could better predict customer expectations and their behaviors being a consumer of those services myself. It was more satisfying to solve problems and shall I say easier to innovate.&lt;br /&gt;&lt;br /&gt;There is so much to do all around us in all spheres and at all levels to make the life simpler even for the common people. May be the brighter side to all this is that we have a clean slate available to us, as far as IT applications are concerned. We can therefore use this opportunity to create similar efficiencies in to system from grounds up and recreate the magic of 'One Rupee - One India' from telecom experiences.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-4126744746777348729?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/4126744746777348729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=4126744746777348729' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4126744746777348729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4126744746777348729'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/09/work-startshome-to-innovate.html' title='Work starts@home to innovate'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-6141324620531680441</id><published>2008-09-06T00:40:00.002+05:30</published><updated>2008-09-06T00:46:34.605+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='ERP'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise architecture'/><title type='text'>Make your ERP applications SOA compliant</title><content type='html'>&lt;div style="text-align: justify;"&gt;With all the big drum beat about Service Oriented Architecture there are different degree to which people appreciate the value that SOA bring to the business. It might quite well be discarded a new found 'fad' or as the new found 'silver bullet' by the over enthusiastic and that has panacea to almost every type of business problem. Also, often people confuse it with a technology rather than an enterprise architecture design style or merely a label associated with a bulk of technologies. Much in the same way the ERP systems were described a few years back.&lt;br /&gt;&lt;br /&gt;The problem with such description is that it makes it difficult for the business users who has stakes in his IT infrastructure difficult to objectively understand the basic need for change and/or understand the short comings with its own application which might be plugged the SOA way. Hence, much of important decisions are taken based on the political affiliation of participating organizations.&lt;br /&gt;&lt;br /&gt;In not too distant past, ERP helped the industries control the chaos by establishing industry best practices. They provided those functionalities out-of-the-box. However, they attempted to solve the problems in an 'All-or-Nothing' manner. That is, even though they brought tremendous value to business through standardization of processes but they also required complete over-haul of the organization leading to unrest(to people) as it required a dramatic shift in the organization culture. Also, in case an organization does recognizes a 'particular-process' which differentiates it from the rest of the world and 'want-it-their-way' implementing that would amount to uncontrolled complexities creeping into the system thereby making them costly to maintain and upgrade with time.&lt;br /&gt;&lt;br /&gt;SOA allows an organization to mature its IT infrastructure and application to increasing levels at their own pace while keeping them in control of the cost and complexity. It allows organizations to have 'their' processes implemented 'their' way and also allows them the agility to change them as deemed necessary. Again, the idea to drive home is that the SOA based applications are designed to absorb change (which is in turn is constrained by our abstraction of the system). Further, with the advent of new delivery models like SaaS in a multi-tenant scenario you may only pay for the portion of services which you consume which may be very well be monitored by utilities based upon Autonomic computing techniques thus giving you greater visibility and efficiency to your enterprise system.&lt;br /&gt;&lt;br /&gt;The crux of the matter is pick the right solution for the right application and when it matters model it the SOA way and stand out from the crowd!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-6141324620531680441?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/6141324620531680441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=6141324620531680441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6141324620531680441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6141324620531680441'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/09/make-your-erp-applications-soa.html' title='Make your ERP applications SOA compliant'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-7524786783767375113</id><published>2008-09-02T00:04:00.002+05:30</published><updated>2008-09-02T00:08:54.240+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><title type='text'>... nothing wrong being clueless</title><content type='html'>&lt;div style="text-align: justify;"&gt;The term means ‘to have no idea, to be ignorant, not have an inkling, to be baffled, mystified, at a loss, to not have the faintest/foggiest/slightest.'&lt;br /&gt;&lt;br /&gt;Very often we are clueless about things happening with us. We are clueless about the possible outcomes of our actions, spoken words or deeds.  We are clueless about our future. We are clueless about the task at hand and what ways possibly it can add value to me. More often than not it all depends upon ones perspective and as perception is a powerful tool. Believing there's a limitation can sometimes create that limitation. The clueless who don't know about the limitation, well, it's as if it doesn't exist. Belief matters. Not everywhere, not in everything, but more than we give credence to.&lt;br /&gt;&lt;br /&gt;The good thing about being clueless is that you approach things with a hopeful perspective in an attempt to understand the subtleties of doing a task rather than accepting the reality.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Possibly a way to master the art of cluelessness is to prepare hard for your planned activities and persevere. As Hardy says, your luck is nothing but marriage of your preparation with your destiny... way to go!&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-7524786783767375113?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/7524786783767375113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=7524786783767375113' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7524786783767375113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7524786783767375113'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/09/nothing-wrong-being-clueless.html' title='... nothing wrong being clueless'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-6355769930764929135</id><published>2008-08-29T20:31:00.004+05:30</published><updated>2008-08-30T04:45:44.537+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='livestrong'/><category scheme='http://www.blogger.com/atom/ns#' term='lifehack'/><category scheme='http://www.blogger.com/atom/ns#' term='therapy'/><category scheme='http://www.blogger.com/atom/ns#' term='cooking'/><title type='text'>Cooking Therapy</title><content type='html'>&lt;div style="text-align: justify;"&gt;Think about it cooking at the minimum ensures, quality food of your taste. Cooking has its own pace, own space, and a change of mind. Even on a tough day.. cooking, if approached with a good attitude, can be the smoothing factor simply because it is so absorbing as it takes time to put raw things together offers concrete proof of efforts. There is something magical about the process of transforming raw, solitary ingredients into a savory amalgamation of flavor, smell, taste, texture, and color.... and while doing that it diverts your mind... and as the aromas of desi ghee, sonth, jeera etc starts coming up... you only feel more hungry in the anticipation of good things to come.... and to top it all invite your friends over the week end and there is nothing more satisfying to see others happy and that your cooked food brings them all together.. some music, some discussion and lots of time. Try making a bati-chokha or aloo-parwal ki dahi wali sabji and enjoy the process as well as the product. Such therapy is inexpensive, fun, and tasty!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-6355769930764929135?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/6355769930764929135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=6355769930764929135' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6355769930764929135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6355769930764929135'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/08/cooking-therapy.html' title='Cooking Therapy'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-4791460970792104633</id><published>2008-08-29T19:45:00.001+05:30</published><updated>2008-08-29T19:45:37.706+05:30</updated><title type='text'>Social Computing: The God's profile</title><content type='html'>&lt;div dir="ltr"&gt;Ek faqir&amp;nbsp; bhik maangne ke liye masjid ke baahar baitha raha ...&lt;br&gt;sab namaazi aankh bacha kar chale gaye ...&lt;br&gt;usey kuch na mila ...&lt;br&gt;&lt;br&gt;woh phir church gaya, phir mandir aur phir gurudware ...&lt;br&gt;lekin usko kisi ne kuch na diya ...&lt;br&gt; &lt;br&gt; aakhir ek maikhane ke baahar aakar baith gaya ...&lt;br&gt;jo sharabi nikalta uske katorey mein kuch daal deta ...&lt;br&gt;uska katora noton se bhar gaya ...&lt;br&gt;&lt;br&gt;faqir bola,&amp;nbsp;&amp;nbsp; &amp;quot;wah mere khuda... !! rahtey kahaan ho ,&amp;nbsp; aur address kahaan ka dete ho ....&lt;br&gt;  Profile me apni contact details update hi nahin karte&lt;br clear="all"&gt;&lt;br&gt;&lt;br&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-4791460970792104633?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/4791460970792104633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=4791460970792104633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4791460970792104633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4791460970792104633'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/08/social-computing-gods-profile.html' title='Social Computing: The God&apos;s profile'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-7347520074504995126</id><published>2008-08-28T23:48:00.002+05:30</published><updated>2008-08-28T23:54:23.972+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rules'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='AOP'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Stories from the trenches</title><content type='html'>&lt;div style="text-align: justify;"&gt;Reporting live from the "technology side of business" I find that the 'geek quotient' required for us to remain in the role of that of a 'technical advisor' to business has only rose higher and higher with an added expectation to empathize with business challenges and continuously provide technology tools for business to increase its productivity and profitability. We seek to achieve these goals by;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;using technology to reduce wastage and resource consumption in the business process&lt;/li&gt;&lt;li&gt;provide high level visibility to the business performance to ensure process re engineering are carried out in a timely fashion&lt;/li&gt;&lt;li&gt;monitoring key performance indicators to determine if the business processes are helping the organization to reach its goals.&lt;/li&gt;&lt;li&gt;enable business owners in taking effective decisions.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;If you are planning a career in the industry you need a good grounding in how technology management differs from traditional methods. Writing code is so year '1998. The important skills are;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;domain knowledge: this is the most important attribute, I strongly believe unless you do not understand the history, politics and economics of the software development activity in your current project you are like a labourer who is merely digging the soil rather than a labour who is digging soil to lay the foundation stone. Associate the purpose with your job, it will always help to use information technology and electronic commerce to reduce costs and open up new market (SAAS, PAAS delivery models etc. more on this later...)&lt;/li&gt;&lt;li&gt;data modeling: good that you know XML as a technology, but that adds no value to the business if you are not able to create effective data models using which much of the information flow can remain native to the system without ping-ponging between marshaling and marshaling thus saving precious computing resources without making them platform dependent, thus, creating an infrastructure stack which understands and processes the 'same' object model to support truly heterogeneous distributed computing.&lt;/li&gt;&lt;li&gt;rules: all these years you have been writing those plumbing code which soon becomes ugly and stinks badly but then you thought it is the business logic and where else do they stay, aren't their ways to externalize business logic from code so that they can be changed dynamically and easily when needed without going through the painful maintenance cycle. Believe me even business look upon them as bottlenecks !! so it is loose all situation. If you want more agility start with a rule based architecture where in you extract the frequently  changed business logic into Rule set and Decision Tables using the rules framework like JBoss Drools or Jess.&lt;/li&gt;&lt;li&gt;AOP: Aspect oriented technologies seek to cater to the cross cutting concerns of an application, much literature can be found on the web, the key point I want to drive home here is that if one is in the process of creating a new system (s)he can focus on solving the core problem without adding features which he is not too sure and which can always extended later using AOP techniques or that in an already existing system by adding a dimension to your application.&lt;/li&gt;&lt;/ul&gt;This article provides a high-level view of business challenges in the light of frequent change in business scenarios on account of mergers, acquisitions, government policies, market conditions. Business today seeks agility the above set of technologies allows you to flexibly treat elements of business processes, and the underlying IT infrastructure, as standardized components that can be reused and combined to address changing business priorities. By understanding the common business problems through architectural scenarios, such as those in this article, customers can get started in a more prescriptive way with 'Technology'&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-7347520074504995126?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/7347520074504995126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=7347520074504995126' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7347520074504995126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7347520074504995126'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/08/stories-from-trenches.html' title='Stories from the trenches'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-8629546177962011025</id><published>2008-08-21T21:57:00.003+05:30</published><updated>2008-08-21T22:13:42.639+05:30</updated><title type='text'>Pramati: Tell-A-Friend</title><content type='html'>Notice the new button here above which prompts you to share the current article with your friends (or foe ;). Now conceptually this is very much the same like 'email to friend' but is way better because&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It allows you select your channel of communication (like social networking web applications or email or instant messengers)&lt;/li&gt;&lt;li&gt;It allows you to retrieve contacts from your address book and prepare your distribution list.&lt;/li&gt;&lt;li&gt;It does it in a safe, secure way in the sense that the site owner has no access to the senders email address nor to those email addresses to which the message was sent.&lt;/li&gt;&lt;/ul&gt;Bloggers and website owners can use SocialTwist Tell-a-Friend, a Free service to make it easy for site visitors to spread the word to their friends through email, IM, Blogs and Social networks. The widget is fully customizable and provides good analytics. Please visit &lt;a href="http://www.socialtwist.com/" rel="nofollow"&gt;http://www.socialtwist.com&lt;/a&gt; for more information.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-8629546177962011025?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/8629546177962011025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=8629546177962011025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8629546177962011025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8629546177962011025'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/08/pramati-tell-friend.html' title='Pramati: Tell-A-Friend'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-649330920786258825</id><published>2008-08-18T21:42:00.002+05:30</published><updated>2008-08-18T21:57:06.024+05:30</updated><title type='text'>What you model is what you build is what you execute...</title><content type='html'>In not so distant past I learned that 'Every thing happens twice, it first happens in mind'. Extending it further one might find it only natural that one solves a complexity in the way one models its solution, for e.g Sir Tim Burners Lee modeled 'The Internet' as a document sharing platform much of the things followed like HTML, browser etc. to solve the document sharing problem. It is only interesting to think what other ways Internet could have been engineered had he been from say database background. Not that, I'm about to show my creativity here to extrapolate the possibilities but just a point in case that our solutions are limited by our abstractions of the problem.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-649330920786258825?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/649330920786258825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=649330920786258825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/649330920786258825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/649330920786258825'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/08/what-you-model-is-what-you-build-is.html' title='What you model is what you build is what you execute...'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-8316424040006490339</id><published>2008-08-18T21:32:00.002+05:30</published><updated>2008-08-18T21:42:05.062+05:30</updated><title type='text'>Just like that...</title><content type='html'>.. so here I was waiting for my local train to Begumpet at 'Hi-Tec City' when one of the beggar asked for a Rupee we simply obliged her... some time later she returned begging again, I told her 'arre mai abhi to paisa diya tha.. kyun baar baar mang rahi ho..' prompt came the reply from the crowd around me.. 'Bhai saab session time out ho gaya hai!!'&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-8316424040006490339?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/8316424040006490339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=8316424040006490339' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8316424040006490339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8316424040006490339'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/08/just-like-that.html' title='Just like that...'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-6205390265104772696</id><published>2008-08-13T15:46:00.001+05:30</published><updated>2008-08-13T15:48:38.048+05:30</updated><title type='text'>कोई दीवाना कहता है कोई पागल समझता है...</title><content type='html'>&lt;span style="color: rgb(255, 255, 255); font-weight: bold;font-family:georgia;" &gt;One of my favorite poems, written by a very famous poet Kumar Vishwas. &lt;/span&gt;&lt;div style="font-weight: bold; color: rgb(255, 255, 255);" align="center"&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;कोई दीवाना कहता है कोई पागल समझता है&lt;br /&gt;&lt;br /&gt;मगर धरती की बेचैनी को बस बादल समझता है,&lt;br /&gt;&lt;br /&gt;मैं तुझसे दूर कैसा हुँ तू मुझसे दूर कैसी है&lt;br /&gt;&lt;br /&gt;ये मेरा दिल समझता है या तेरा दिल समझता है !!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;समुँदर पीर का अंदर है लेकिन रो नहीं सकता&lt;br /&gt;&lt;br /&gt;ये आसुँ प्यार का मोती है इसको खो नहीं सकता ,&lt;br /&gt;&lt;br /&gt;मेरी चाहत को दुल्हन तू बना लेना मगर सुन ले&lt;br /&gt;&lt;br /&gt;जो मेरा हो नहीं पाया वो तेरा हो नहीं सकता !!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;मुहब्बत एक एहसानों की पावन सी कहानी है&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="font-weight: bold; color: rgb(255, 255, 255);" align="center"&gt;&lt;strong&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;br /&gt;कभी कबीरा दीवाना था कभी मीरा दीवानी है,&lt;br /&gt;&lt;br /&gt;यहाँ सब लोग कहते है मेरी आँखों में आसूँ हैं&lt;br /&gt;&lt;br /&gt;जो तू समझे तो मोती है जो न समझे तो पानी है !!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;भ्रमर कोई कुमुदनी पर मचल बैठा तो हँगामा&lt;br /&gt;&lt;br /&gt;हमारे दिल में कोई ख्वाब पला बैठा तो हँगामा,&lt;br /&gt;&lt;br /&gt;अभी तक डूब कर सुनते थे हम किस्सा मुहब्बत का&lt;br /&gt;&lt;br /&gt;मैं किस्से को हक़ीक़त में बदल बैठा तो हँगामा !!!&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-6205390265104772696?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/6205390265104772696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=6205390265104772696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6205390265104772696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6205390265104772696'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/08/blog-post.html' title='कोई दीवाना कहता है कोई पागल समझता है...'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-3784440757082879684</id><published>2008-08-13T00:06:00.002+05:30</published><updated>2008-08-13T00:31:45.758+05:30</updated><title type='text'>Trace this application</title><content type='html'>OK, so here is the situation you join a new software product development team which still in its Beta and the original contributors are just too busy with their assignment or consider the code documentation too detrimental to their 'geek' quotient and then you are made to check out the code and do a local build so that when you meet the team next time and you are ready with your doubts and question to improve your understanding... err! excuse me?!! heard any time 'more study-more confusion, no study-no confusion' ... but then what's the big deal you may always cover your eyes and think that problem is no their or in case you decide to give a fight you have traditionally handwritten the trace logs all over the application... given the fact that even the most modest enterprise class software will good enough class count to keep you busy for couple of days this is too big a task and then what if you don't have the liberty any ways because those trace logs wont be present in a production system anyways... KAZAAM! here comes the latest offering (at least to my knowledge) from lady Java, the Instrumentation API which provides services using java agents can instrument your aplication while running on the JVM. Find details here&lt;br /&gt;http://today.java.net/pub/a/today/2008/04/24/add-logging-at-class-load-time-with-instrumentation.html&lt;br /&gt;&lt;br /&gt;But, then again this is jus another Hello, World 'application' which only further makes your life miserable because now u know that a plausible solution to your problem exists but then lack the robustness to face real time producion challenge. You find the following open source component handy&lt;br /&gt;http://jiprof.sourceforge.net/&lt;br /&gt;&lt;br /&gt;But, then web applications are real pain in their own ways because every thing is controlled by the container 'transparently'...  for those of you who are in real rush do try to find about options using which you can also instrument your code executing on infrastructure software for e.g.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;    When using with stock Tomcat, set the java agent by using the     env. variable &lt;code&gt;JAVA_OPTS&lt;/code&gt;. For example, on Windows™    use the following: &lt;/p&gt;&lt;pre&gt;&lt;code&gt;SET JAVA_OPTS=-javaagent:[DIR]\&lt;youragent&gt;.jar -&lt;agent&gt;.properties=[DIR2]\&lt;agent&gt;.properties&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Who says lethargy doesn't pushes you to innovate?!!&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-3784440757082879684?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/3784440757082879684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=3784440757082879684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3784440757082879684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3784440757082879684'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/08/trace-this-application.html' title='Trace this application'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-6394561509219310642</id><published>2008-08-12T08:29:00.002+05:30</published><updated>2008-08-12T08:35:34.609+05:30</updated><title type='text'>Living under the stone</title><content type='html'>Am I living under the stone or these concepts have popped out over night, today I was asked my view on these technologies and one after the other all I could give is a cold shrug or merely give a 10 word long description;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Azul&lt;/li&gt;&lt;li&gt;EC2&lt;/li&gt;&lt;li&gt;GigaSpaces&lt;/li&gt;&lt;li&gt;IBM WebSphere Extended Deployment Compute Grid&lt;/li&gt;&lt;li&gt;Java Spaces&lt;/li&gt;&lt;li&gt;Jini&lt;/li&gt;&lt;li&gt;Tangosol&lt;/li&gt;&lt;li&gt;Terracotta&lt;/li&gt;&lt;li&gt;Grid&lt;/li&gt;&lt;li&gt;Cloud&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;wake up!&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-6394561509219310642?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/6394561509219310642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=6394561509219310642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6394561509219310642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6394561509219310642'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/08/living-under-stone.html' title='Living under the stone'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-5989874500216092126</id><published>2008-08-12T00:25:00.002+05:30</published><updated>2008-08-12T00:39:10.094+05:30</updated><title type='text'>Mozilla: Call for participation</title><content type='html'>Ever faced a problem while working online, or ever had an idea about improving things on net, or ever wondered i-think-this-is-theoretically-possible to solve a problem using internet but then different things stopped you from pursuing some times because you don't speak any of the computer languages or may be that you never thought it is possible any ways here is your chance to speak out your mind provide use cases, express your needs and interests, document what ever you understand, test the claims mentioned by the developer community and if you find a bug or like to add a feature your own way just code it... here is Mozilla's &lt;a href="http://labs.mozilla.com/2008/08/introducing-the-concept-series-call-for-participation/"&gt;call for participation&lt;/a&gt; read out to learn more ways you can contribute.&lt;br /&gt;&lt;br /&gt;Following are the projects of interest;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.dekoh.net/faq.jsp"&gt;Dekoh from Pramati Technologies&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/b/ref=sc_fe_l_2?ie=UTF8&amp;amp;node=342335011&amp;amp;no=3435361&amp;amp;me=A36L942TSJ2AJA"&gt;Amazon SimpleDB&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://labs.mozilla.com/projects/weave/"&gt;Mozilla Weave&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Imagine.. !&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-5989874500216092126?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/5989874500216092126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=5989874500216092126' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5989874500216092126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5989874500216092126'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/08/mozilla-call-for-participation.html' title='Mozilla: Call for participation'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-1544744725773045633</id><published>2008-07-18T11:20:00.002+05:30</published><updated>2008-07-18T11:24:12.474+05:30</updated><title type='text'>But, Pappu can't code sala...</title><content type='html'>Time and again we come across typical characters we sometime love to hate while there are other who may prefer to hate to love.&lt;br /&gt;&lt;br /&gt;Here, I've copied one of the forwards I received from friends, lest we miss the fun later&lt;br /&gt;&lt;br /&gt;[Kit kit kat kat, kat kit kat kat, Kit kit kat kat, Let's code] 2&lt;br /&gt;&lt;br /&gt;Hai bachelor (hai bachelor), Has lotsa dollar (lotsa dollar)...&lt;br /&gt;&lt;br /&gt;Hai bachelor, has lotsa dollar...&lt;br /&gt;&lt;br /&gt;Spectacular! He's a developer (he's a developer, he's a developer)...&lt;br /&gt;&lt;br /&gt;Pappu ka dimaag tez hai, Pappu ko breaks ka craze hai...&lt;br /&gt;&lt;br /&gt;Pappu ka chashma thick black, Pappu dikhta geek hai (geek hai)...&lt;br /&gt;&lt;br /&gt;Swatch ki ghadi hathon mein, Gale mein tag company wala...&lt;br /&gt;&lt;br /&gt;[Par Pappu can't code saala] 2&lt;br /&gt;&lt;br /&gt;Han Pappu code likh nahi sakta!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Paida Pappu hua to outsourcing aa thamki...&lt;br /&gt;&lt;br /&gt;Angrezon ke muh se nikhli gandhe gaaliyon ki dhamki...&lt;br /&gt;&lt;br /&gt;(hey array array) Pappu karta hey cut copy paste...&lt;br /&gt;&lt;br /&gt;(hey array array) Tester logon ka time karta hey waste...&lt;br /&gt;&lt;br /&gt;(hey array array) Pappu manager logon ka yaar hai...&lt;br /&gt;&lt;br /&gt;(hey array array) Pappu makhan lagane mein toh star hai...&lt;br /&gt;&lt;br /&gt;[But Pappu can't code saala] 2&lt;br /&gt;&lt;br /&gt;Haan Pappu code likh nahi sakta!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Papa kehte the bada kaam karega...&lt;br /&gt;&lt;br /&gt;Nahi patha tha Pappu bus maska marega...&lt;br /&gt;&lt;br /&gt;(hey array array) Pappu ke paas hai MCA...&lt;br /&gt;&lt;br /&gt;(hey array array) Manata hai onsite jaise ho holiday...&lt;br /&gt;&lt;br /&gt;(hey array array) Pappu keyboard bajata hai...&lt;br /&gt;&lt;br /&gt;(hey array array) Jahaan bhi jata hai, wapus aa jata hai...&lt;br /&gt;&lt;br /&gt;[Cos Pappu can't code saala] 2&lt;br /&gt;&lt;br /&gt;Haan Pappu code likh nahi sakta...&lt;br /&gt;&lt;br /&gt;Yeah...Pappu can't code saala...!!!&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-1544744725773045633?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/1544744725773045633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=1544744725773045633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1544744725773045633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1544744725773045633'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/07/but-pappu-cant-code-sala.html' title='But, Pappu can&apos;t code sala...'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-1977278437938071800</id><published>2008-07-10T14:20:00.003+05:30</published><updated>2008-07-10T15:05:13.305+05:30</updated><title type='text'>Self Introspection: Taming the right skills</title><content type='html'>It is always good to stop for a while to take stock of things, do some introspection, fine tune your strategies and align your efforts to achieve one's goals effectively. In the quest of the holy grail of 'hot' skill sets to keep me much 'in demand' I came to understand some of my own short-comings which must be addressed to now.&lt;br /&gt;- Tame your drive to create a niche for self. The drive, as such an internal force is much of a motivation in itself to create your mark of legacy. It should help  high spirits during tough times and guides you through them.&lt;br /&gt;- Commitment to quality at work needs to be improved. Make conscious efforts to improve your understanding of the underlying technology and processes. Focus on the work at hand and never loose the 'big picture'.&lt;br /&gt;- Keep things simple and do not necessarily complicate things 'just for the heck of it'. First, make the thing work, then make it work effectively and then optimize.&lt;br /&gt;- Keep learning, always.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-1977278437938071800?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/1977278437938071800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=1977278437938071800' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1977278437938071800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1977278437938071800'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/07/it-is-always-good-to-stop-for-while-to.html' title='Self Introspection: Taming the right skills'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-8967541224388003537</id><published>2008-06-30T11:59:00.002+05:30</published><updated>2008-06-30T12:12:16.508+05:30</updated><title type='text'>Books.. books.. books... babalucka books.. books!</title><content type='html'>In good old days there used to be this tv quiz show hosted by Derek O'brien.. which was so much informative and fun.. I always longed to participate in the same but never knew how at that point in time.. then over time I went round India while I was appearing for various interviews to professional colleges.. which gave me a chance to meet people from all part of the country, long train journeys provided the conducive environment for the leisurely discussions around different concepts.. it was truly enriching.. but here was this guy Manoj Karki, whom I met on my journey to Anand hours later the 'Godhra tragedy' who really sparked the interest in me to read books and also provided an initial list.. upto that point I only used to read new papers and magazines.. he helped me understand that although it is important to remain abreast with the current affairs but then these books give u one concentrated dose of thought.. which is an important exercise to provide diverse flavors to your mind.. &lt;a href="http://lifehacker.com/397394/the-books-that-changed-your-lives"&gt;here &lt;/a&gt;one may find an indicative list of books which changed lives!!&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-8967541224388003537?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/8967541224388003537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=8967541224388003537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8967541224388003537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8967541224388003537'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/06/books-books-books-babalucka-books-books.html' title='Books.. books.. books... babalucka books.. books!'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-8907787028541192730</id><published>2008-06-26T17:22:00.002+05:30</published><updated>2008-07-07T11:50:49.856+05:30</updated><title type='text'>Ek Muktak: Dedicated to Ekta &amp; Jeevan</title><content type='html'>प्रीती के संकेत यूँही व्यर्थ तो होते नहीं हैं,&lt;br /&gt;रोष-दग्ध-ह्रदय पर वे करुणा के लोल-शिशिर-कण,&lt;br /&gt;तुम प्रिये बारम्बार मेरा हृदय पुलकित कर देते हो,&lt;br /&gt;नव-प्रभात 'जीवन' में भर देते हो,&lt;br /&gt;ऐसा हो तो संबंधों में 'एकता' होना स्वाभाविक ही है.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-8907787028541192730?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/8907787028541192730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=8907787028541192730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8907787028541192730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8907787028541192730'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/06/ek-muktak-dedicated-to-ekta-jeevan.html' title='Ek Muktak: Dedicated to Ekta &amp; Jeevan'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-2292026455821347859</id><published>2008-06-25T19:58:00.003+05:30</published><updated>2008-06-26T11:18:46.311+05:30</updated><title type='text'>Jugaad.. call it innovation@work !</title><content type='html'>Innovation, simply put is the systematic and methodical way of improving the way things are done. Jugaad, on the other end is about making things work! which may be chaotic and may not be sustainable. Almost, always 'jugaad' refers to a quick fix solution that would bring down the operating cost. Having said that, 'jugaad' in itself is symbolic of practical ingenuity available with us. Today this streak of excellence needs to be harvested and channelized in such a way that we are able to create effective products. Recent media reports points that inflation is at an all time high and stock market is witness to its sharpest movement down south. From a macro-economic point of view this is the right time to bring effectiveness in our system. Today we need to move from 'cheap' 'labor intensive' mode of service delivery to low cost product based approach. Note the contrast between two seemingly similar ideas.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-2292026455821347859?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/2292026455821347859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=2292026455821347859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2292026455821347859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2292026455821347859'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/06/jugaad-call-it-innovationwork.html' title='Jugaad.. call it innovation@work !'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-2065345119544368117</id><published>2008-06-25T17:35:00.003+05:30</published><updated>2008-06-25T17:59:07.533+05:30</updated><title type='text'>Go Cycling</title><content type='html'>I still remember when my parents gifted me my first cycle, it was Hero Ranger, straight bars were quite new into the market and it was the coolest thing that happened to me at that point in time. Fortunately, my father was transferred to a place called Rihand Nagar. This place is in the vicinity of Kaimoor Hills. I easily remember my countless trips to nearby hills, jungle treks on my 'bike'. It was sheer fun. Later, I got my second one Hercules-MTB with 18 gears, this one was out of necessity as I needed to travel 14 kms one way to my college from home. I used to travel the distance in 15-20 mins. with city traffic. I would not think twice to travel to the other part of the city on my cycle, and I was one proud owner of a geared cycle. Life went for a toss after my graduation, it was then only about getting into a good professional college, then later my work... cycling just went missing... and then I just last Friday I asked Geetha about his plans for the weekend and he says cycling! what the heck do u do cycling? and he showed snaps from his last trip to the big banyan tree on Mysore road.. 80 Kms one way!  It feels like I was simply not aware about cycles.. and cycling as an outdoor activity.. I need to get into this now! for health, for saving the environment. Way to go! All thanks to Geetha for rediscovering my lost passion for cycling..&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-2065345119544368117?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://laout.wordpress.com/2008/06/05/go-cyclingnow/' title='Go Cycling'/><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/2065345119544368117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=2065345119544368117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2065345119544368117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2065345119544368117'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/06/go-cycling.html' title='Go Cycling'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-1146806152966105000</id><published>2008-06-20T13:22:00.003+05:30</published><updated>2008-06-20T13:45:23.852+05:30</updated><title type='text'>Designing for evolution: Software product versioning</title><content type='html'>Ever worked with Apache-Axis, you would appreciate the presence of "Happy Axis Page" which helps to validate the Axis installation. This page looks through your environment to determine whether you have all the required libraries. Although, it does not checks for all the configurations but provides a great head-start in dubbing the axis installations.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/1.4.2/docs/guide/versioning/spec/versioning.html"&gt;This article&lt;/a&gt; would help us learn about the techniques for exposing dependencies between different packages.&lt;br /&gt;&lt;br /&gt;This discussion is important because;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Improved confidence to upgrade to a new library version.&lt;/li&gt;&lt;li&gt;Independent evolution of independent libraries.&lt;/li&gt;&lt;li&gt;Ensure 'backward-compatibility'.&lt;/li&gt;&lt;li&gt;Improved efficiency: Faster time to validate the installations will save precious hours in isolating a trivial library dependency.&lt;/li&gt;&lt;li&gt;Tool support can be created for supporting the related issues.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-1146806152966105000?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/1146806152966105000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=1146806152966105000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1146806152966105000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1146806152966105000'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/06/designing-for-evolution-software.html' title='Designing for evolution: Software product versioning'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-4524419693880891459</id><published>2008-06-16T12:50:00.003+05:30</published><updated>2008-06-16T12:53:46.791+05:30</updated><title type='text'>Aspectj: can't determine superclass of missing type</title><content type='html'>can't determine superclass of missing type com.blah.blah.. when weaving type com.blah.blah&lt;br /&gt;when weaving classes when weaving when batch building etc..&lt;br /&gt;&lt;br /&gt;the above error consumed quite a bit of my time, which was primarily because the missing type file was not on the inpath for the AJDT AspectJ project.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-4524419693880891459?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/4524419693880891459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=4524419693880891459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4524419693880891459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4524419693880891459'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/06/aspectj-cant-determine-superclass-of.html' title='Aspectj: can&apos;t determine superclass of missing type'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-5804002088427130934</id><published>2008-06-13T18:17:00.002+05:30</published><updated>2008-06-13T19:07:12.898+05:30</updated><title type='text'>Aspects: Exploring possibilities</title><content type='html'>Happy days are here again, my current tasks at hand gives me immense opportunities to dream about a better world where the End-Users  (subjective) will have a better software product and developers have better work-life balance.&lt;br /&gt;&lt;br /&gt;I read somewhere, you must not learn a new language unless that exposes you to a new way of thinking.&lt;br /&gt;&lt;br /&gt;During my recent adventures with AspectJ, I could identify new techniques to address 'seperation of concerns'. Not only this would provide new ways to create reusable modules but also extend them independent of each other, without really bugged by the 'over-engineering-syndrome'. I'm reading AspectJ in Action: Ramnivas Laddad and it provides a real good head start to the subject.&lt;br /&gt;&lt;br /&gt;Lest I forget, I would like to document some of my thoughts where AOP techniques can be roped in with other available ones to simplify problem solving for us developers;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Rules, for example working with presentation layer often we need to provide localization and personalization of content based upon the user context information, often this spans horizontally across multiple code units. Such rules can be externalized and consumed by the core modules using a rule engine(JBoss Rules, Jess etc.). Such an approach would help creating a modularized solution which is deemed to be agile to future policy changes while ensuring consistency across the e-commerce application.&lt;/li&gt;&lt;li&gt;Annotations, can be utilized to generate codes (using XDoclet etc.) for common technical services across the software product based upon architectural decisions. This way architectural decisions do not remain a dead piece of documents. Frequently, annotations can be used to provide services like authentication, security, tracing, ensuring pre/post-conditions etc.&lt;/li&gt;&lt;li&gt;Using Reflective APIs reusable aspects could be created for the complete spectrum.&lt;/li&gt;&lt;/ul&gt;But, most importantly, I need to keep it all simple at this point of time while solving my current performance engineering problems.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-5804002088427130934?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/5804002088427130934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=5804002088427130934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5804002088427130934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/5804002088427130934'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/06/aspects-exploring-possibilities.html' title='Aspects: Exploring possibilities'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-6214833138887830627</id><published>2008-06-10T14:15:00.005+05:30</published><updated>2008-06-10T14:51:30.888+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='reflections'/><category scheme='http://www.blogger.com/atom/ns#' term='AOP'/><title type='text'>Performance Engineering: Approaches</title><content type='html'>As a software developer we continuously need to design and develop solution for the complexity thrown upon them. It is therefore very important for one to keep oneself abreast with different tools, technologies and methodology, while, having said that, I'm not exactly asking to run after them but it makes sense to stop and at least get the central idea about a given tools etc. because you would at least learn a new perspective of solving an existing problem or better still identify a potential problem with the existing solutions.&lt;br /&gt;&lt;br /&gt;AspectJ appeared  multiple times during my search efficient techniques to profile my application for conducting performance engineering exercise. I decided to take the plunge and try my hands with this methodology.&lt;br /&gt;&lt;br /&gt;The underlying theme which the authors have tried to sell this methodology to us developers by exposing the shortcomings with object orientation, according to them, the OOAD methodology shines for solving the core problem but falls short to provide bells and whistles for the enterprise applications efficiently. They refer it to as 'Cross-cutting Concerns', concerns which are not exactly the part of the core problem (subject to the context) and form the supporting functionality. Simplest example is that of logging, frequently logging code is tangled with the core logic itself, thus forcing the developer to focus on far too many things at a time.&lt;br /&gt;&lt;br /&gt;This seems to solve the 'Architects- Dilemma' where one is always trying to do the balancing act between the 'Over-engineered' vs. 'Sloppily-designed' systems. AOP seems to provide extension points to the application to provide utilities later. That serves us well because, whenever an extension is required only new code is written without modifying the existing code.&lt;br /&gt;&lt;br /&gt;There seems to exist good amount of tooling support AspectJ for Eclipse, JBoss AOP etc. can't really compare and contrast them at this point in time but I have a feeling that AspectJ has fuller support than JBoss.&lt;br /&gt;&lt;br /&gt;There are interesting articles available on IBM Developerworks to give a head start to the subject.&lt;br /&gt;&lt;br /&gt;Another, technique that needs to explored is JMX that seems to provide JVM level support for application monitoring.&lt;br /&gt;&lt;br /&gt;My primary approach to the problem of monitoring application for performance was to create custom class loader using java reflections API but I have a feeling now that this approach although very powerful is also quite complicated and error prone.&lt;br /&gt;&lt;br /&gt;May be I should focus on AOP for the time being for better turnaround time in the longer run, also because learning this approach may expose me to solve other problems in a more efficient manner.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-6214833138887830627?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/6214833138887830627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=6214833138887830627' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6214833138887830627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/6214833138887830627'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/06/performance-engineering-approaches.html' title='Performance Engineering: Approaches'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-1390696100567945439</id><published>2008-06-02T12:39:00.000+05:30</published><updated>2008-06-02T12:48:36.416+05:30</updated><title type='text'>Outsourced Offshore Product Development (OPD)</title><content type='html'>OPD needs to be understood.. for future &lt;a href="http://siddharthatripathi-technology-blog.findtechblogs.com/default.asp?item=669340"&gt;reading&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-1390696100567945439?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/1390696100567945439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=1390696100567945439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1390696100567945439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/1390696100567945439'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/06/outsourced-offshore-product-development.html' title='Outsourced Offshore Product Development (OPD)'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-3162036385734312969</id><published>2008-06-01T19:44:00.002+05:30</published><updated>2008-06-01T19:57:26.382+05:30</updated><title type='text'>India Premier League</title><content type='html'>Today we have IPL final there has been much media frenzy all around, the sheer statistics about the marketing revenue the patholgical atracion to bollywood stars to the tall and migh of business and politics all indulged into this new form of cricket. People needed to question there loyalty when shane warne would take Sachin's wicket, it amounted to blasphemy. There were much hue and cry abou the Royal Challenger's loss and bloated accounts of tussle between Shahrukh and Gangooly dada. All in all, there was just too much of cricket(or was it the anti-cricket) all around.&lt;br /&gt;&lt;br /&gt;I feel it is good for the not-so-well-known cricketers to gain good exposure to high pressure and quality cricket with lots of money to make them feel financialy secure. The question can this form of IPL is sustainable in the longer run? How long can our star owners devote time to this form cricket towards cheer-leading their teams? How much of time saving have we done with so many matches in one go? How much is too much? It's going to be interesting from the acaedemic point view :)&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-3162036385734312969?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/3162036385734312969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=3162036385734312969' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3162036385734312969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3162036385734312969'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/06/india-premier-league.html' title='India Premier League'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-2666936870886702578</id><published>2008-01-17T23:20:00.000+05:30</published><updated>2008-01-17T23:24:36.395+05:30</updated><title type='text'>how to study with a full time job</title><content type='html'>&lt;a href="http://www.lifehack.org/articles/productivity/how-to-study-with-a-full-time-job.html"&gt;lifehack&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have done it in past and therefore exactly know how difficult it is at times to study while you are working, the link above from lifehack.org provides an insight into the same with some interesting tips.. way to go&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-2666936870886702578?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/2666936870886702578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=2666936870886702578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2666936870886702578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2666936870886702578'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2008/01/how-to-study-with-full-time-job.html' title='how to study with a full time job'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-3355562048620310855</id><published>2007-12-22T09:00:00.000+05:30</published><updated>2007-12-22T09:18:20.451+05:30</updated><title type='text'>Life is like that</title><content type='html'>&lt;div style="text-align: justify;"&gt;... was driving my bike from somewhere to nowhere, frankly, was trying to keep my head empty, a deliberate attempt to forget everything and simply enjoy the breeze gushing against my nostrils, while I was racing past trucks... here was this one, freshly painted in green.. with all the paraphernalia that a truck might have.. I must admit the owner had a taste (here, I would also like to admit my liking for these mechanical beasts - the bigger the better)... I slowed down to read the punchline that he might have written at the back of it... and there it was 'कभी सर्दी तो कभी गर्मी ये तो दुनिया  के नज़ारे हैं, प्यास तो उन्हें भी लगती है जो दरिया के किनारे हैं.'  ... and in that instant I slowed down to feel the beauty of the hills around me... life is fun.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-3355562048620310855?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/3355562048620310855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=3355562048620310855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3355562048620310855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3355562048620310855'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2007/12/life-is-like-that.html' title='Life is like that'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-3695369332509109549</id><published>2007-11-28T23:44:00.000+05:30</published><updated>2007-11-29T00:01:23.458+05:30</updated><title type='text'>Developing Telecom Class Software</title><content type='html'>... there is lot more to be learnt to create highly available systems, the first atempt today took me to http://www.sun.com/blueprints/1100/HAFund.pdf which gave head start into high availability fundamentals related with the hardware and software, associated concepts of reliability and serviceability and some statistics ! that would help us quanify the results... that brought another question to my mind what does it takes to create a highly available J2EE application (&lt;a href="http://www.onjava.com/pub/a/onjava/2004/07/14/clustering.html"&gt;read &lt;/a&gt;)... more to follow...&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-3695369332509109549?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/3695369332509109549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=3695369332509109549' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3695369332509109549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3695369332509109549'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2007/11/developing-telecom-class-software.html' title='Developing Telecom Class Software'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-3396753980497007031</id><published>2007-10-01T20:33:00.000+05:30</published><updated>2007-10-01T20:43:44.974+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='blabber'/><title type='text'>Another year is about to pass...</title><content type='html'>&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Acck&lt;/span&gt; - &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;chooooooooooooo&lt;/span&gt; !.. sneeze.. finally winters are here, bringing with it the long endless nights, the lethargy, the dullness... chances are you won't like my statements, chances are I won't like them either when I read them later... may be I should sleep now !&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;Tomorrow&lt;/span&gt; onwards, I need to get up early and do some jogging and physical &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;exercises&lt;/span&gt;, to counter the negativity in me...&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-3396753980497007031?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/3396753980497007031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=3396753980497007031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3396753980497007031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3396753980497007031'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2007/10/acck-chooooooooooooo.html' title='Another year is about to pass...'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-8572492624073969910</id><published>2007-09-29T00:13:00.000+05:30</published><updated>2007-09-29T00:29:01.433+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><category scheme='http://www.blogger.com/atom/ns#' term='policy'/><title type='text'>Come On India - Dikha do !!</title><content type='html'>&lt;a style="font-weight: bold;" href="http://www.economist.com/daily/news/displaystory.cfm?story_id=9396854"&gt;India's strong rupee&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;... these are new sets of challenges before us, now that we 'exporters' are facing an uphill task to complete, it is important to note that 'cheap' is out and need for 'quality' is in, some years back I read a writeup where the writer stressed the need for correction in our 'Incredible India' campaign from 'cheap' to 'cost-effective' and our associated mind-sets.&lt;br /&gt;&lt;br /&gt;... now that we are trusted for our services, we need to be innovative and create value added services, and more importantly, we need to come up with more 'products' in place... to truly become a power to reckon with...&lt;br /&gt;&lt;br /&gt;... and I truly second the writer when he says - '... an enviable problem to solve'&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-8572492624073969910?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/8572492624073969910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=8572492624073969910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8572492624073969910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/8572492624073969910'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2007/09/come-on-india-dikha-do.html' title='Come On India - Dikha do !!'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-7924457884188374970</id><published>2007-09-28T23:03:00.000+05:30</published><updated>2007-09-28T23:24:04.361+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><category scheme='http://www.blogger.com/atom/ns#' term='policy'/><title type='text'>Opinion: Is it a disease or a symptom ?</title><content type='html'>... &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;referring&lt;/span&gt; to &lt;a href="http://economictimes.indiatimes.com/Nasscom_snubs_Minister_says_dont_demean_BPO_staff/articleshow/2412412.cms"&gt;this&lt;/a&gt; article, I have mixed reactions to share... may be I truly understand the concerns of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;NASSCOM&lt;/span&gt; when they rubbish the health minister's views towards the unhealthy work culture at IT/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;ITES&lt;/span&gt; work place, fearing increased government control or may be this can potentially scare away the investors or may be this can give voice to feelings of those who go through the grind everyday or may be we are not too sure of the real intent of the minister.... what if he is really concerned about the state of affair ? what if he is pointing towards a symptom of a bigger problem ahead...&lt;br /&gt;&lt;br /&gt;frankly speaking, i strongly believe that government must work like an operating system, that runs the 'system' while hiding most of the underlying complexities... and based on the 'user-settings' can take control &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;quartine&lt;/span&gt; it or point to a potential problem to enable 'user' to take an informed decision.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I would not like to start the usual '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;yada&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;yada&lt;/span&gt;' of he great Indian Heritage of disciplined life... but isn't it high time we truly take note of minister's statement and try bringing some discipline in our lives... Cheers for a healthy India :)&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-7924457884188374970?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/7924457884188374970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=7924457884188374970' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7924457884188374970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7924457884188374970'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2007/09/opinion-is-it-disease-or-symptom.html' title='Opinion: Is it a disease or a symptom ?'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-732815220345741088</id><published>2007-09-26T21:30:00.000+05:30</published><updated>2007-09-26T22:02:41.858+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='test142'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><title type='text'>XML: Cornucopia</title><content type='html'>... well you see, I discussed in one of my previous post that certifications play an important role in giving structure to your study, they establish a common minimum program to be covered... little did I know that when one is going to study XML it can get tough even though you have an agenda in place. In the absence of any one-stop-key-to-success-guide books available in the market, it is difficult. I could now feel what exactly the phrase 'xml-hell' would mean for people who swear by it :))&lt;br /&gt;&lt;br /&gt;The verbosity of XML content has it's own woes... there seems to 'too-much' of information available everywhere...  Call it my &lt;a href="http://faq.javaranch.com/java/IBMXMLCertificationFaq"&gt;XML cornucopia&lt;/a&gt; ...  one neat resource for study...&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-732815220345741088?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/732815220345741088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=732815220345741088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/732815220345741088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/732815220345741088'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2007/09/xml-cornucopia.html' title='XML: Cornucopia'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-2863098441539340973</id><published>2007-09-23T23:15:00.000+05:30</published><updated>2007-09-23T23:42:53.414+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='test142'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><title type='text'>XML: Design and Architecture</title><content type='html'>http://www.ibm.com/developerworks/xml/library/x-eleatt.html&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;When to use elements versus attributes ?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Any one who has worked with XML will very well know how difficult it becomes to answer this question and in the absence of any clear guidelines the whole information modelling exercise may get wrong. The above article provides a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;head start&lt;/span&gt; towards that end.&lt;br /&gt;&lt;br /&gt;In some cases the answer is pretty unambiguous:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If the information in question could be itself marked up with elements, put it in an element.&lt;/li&gt;&lt;li&gt;If the information is suitable for attribute form, but could end up as multiple attributes of the same name on the same element, use child elements instead.&lt;/li&gt;&lt;li&gt;If the information is required to be in a standard DTD-like attribute type such as ID, IDREF, or ENTITY, use an attribute.&lt;/li&gt;&lt;li&gt;If the information should not be normalized for white space, use elements. (XML processors normalize attributes in ways that can change the raw text of the attribute value.)&lt;/li&gt;&lt;/ul&gt;For the grey areas the tips are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Principle of 'Core Content': Data goes to elements and meta-data goes to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;attributes&lt;/span&gt;. Simply put the data elements which form part of 'your' solution domain are element, while those 'qualify' or provide more details about the core content goes to attribute.&lt;/li&gt;&lt;li&gt;Principle of Structured Information: If the information is 'extensible' make it an element, while 'atomic' tokens goes to attributes.&lt;/li&gt;&lt;li&gt;Principle of Readability: If the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;information&lt;/span&gt; is to be understood by the human readers make it an element, else create an attribute. As the writer puts it '...information tokens that are not natural language go in attributes.'&lt;/li&gt;&lt;li&gt;Principle of element/attribute binding:Use an element if you need its value to be modified by another attribute. XML establishes a very strong conceptual bond between an attribute and the element in which it appears. An attribute provides some property or modification of that particular element. Processing tools for XML tend to follow this concept and it is almost always a terrible idea to have one attribute modify another.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-2863098441539340973?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/2863098441539340973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=2863098441539340973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2863098441539340973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/2863098441539340973'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2007/09/xml-design-and-architecture.html' title='XML: Design and Architecture'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-7039869032989574812</id><published>2007-09-23T22:35:00.000+05:30</published><updated>2007-09-23T22:40:20.013+05:30</updated><title type='text'>XML: Start here</title><content type='html'>http://www-03.ibm.com/certify/tests/edu142.shtml&lt;br /&gt;&lt;br /&gt;The good thing about certifications is that they provide a well-defined structure. This is important to set SMART goals for oneself.&lt;br /&gt;&lt;br /&gt;Long way to go before I sleep...&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-7039869032989574812?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/7039869032989574812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=7039869032989574812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7039869032989574812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/7039869032989574812'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2007/09/xml-start-here.html' title='XML: Start here'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-3199564065224432302</id><published>2007-09-23T22:23:00.000+05:30</published><updated>2007-09-23T22:33:18.291+05:30</updated><title type='text'>XML: The certification path</title><content type='html'>Web 2.0, Semantic Web, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;Service Oriented&lt;/span&gt; Architecture, Model Drive Architecture, Code Generation... the list looks fantastic and are sure the buzz words today. In an attempt to understand the concepts, one really needs to be &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;adventurous, start at edges and an inter-disciplinary approach is required&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;In order to tame them I have my set of tools with me, while I'm fairly comfortable with Java, I do not have much undersanding of XML concepts. I wish to fill the gap by learning XML...&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-3199564065224432302?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/3199564065224432302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=3199564065224432302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3199564065224432302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3199564065224432302'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2007/09/xml-certification-path.html' title='XML: The certification path'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-4061789148431419394</id><published>2007-07-14T00:28:00.000+05:30</published><updated>2007-07-14T00:29:52.410+05:30</updated><title type='text'>to read: The World is Flat</title><content type='html'>&lt;span style="font-size:-1;"&gt;read more here Amazon.com: &lt;b&gt;The World Is Flat&lt;/b&gt;: A Brief History of the Twenty-first Century:  Books: Thomas L. Friedman&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-4061789148431419394?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/4061789148431419394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=4061789148431419394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4061789148431419394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4061789148431419394'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2007/07/to-read-world-is-flat.html' title='to read: The World is Flat'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-3583213828273277450</id><published>2007-07-13T23:23:00.000+05:30</published><updated>2007-07-14T00:13:54.164+05:30</updated><title type='text'>Agile Methodology: A first take</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Agile methodology&lt;/span&gt;, extreme programming, test driven development go hand in hand and complement each other to help software engineers to create value for people at large and avoid the proverbial 'tar pit'.&lt;br /&gt;&lt;br /&gt;Here, is my primer for the much appreciated methodology:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Software Configuration Management&lt;/span&gt;: You can have nothing else in your technical environment other than a version tool and still manage the 'chaos' if you can uniquely answer Who did it? What did he do? When did he do? Why did he do that? (optional but strongly recommended.)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Planning&lt;/span&gt;: Here it is important to understand the concept of a plan. A plan is a road map to move from point A to a point B and steps required to return back to the starting point A. The relevance of such a concept of a plan becomes easy to digest if one considers that a change in the a software artifacts is analogous to the experiment conducted in a lab, in a controlled environment. The risk involved must be controlled and if even after the best attempt the experiment fails one could always return back to the last known stable state of the system. Care must be taken that while it is fairly easy to plan to move ahead, it requires a thinking mindset to retrace back after cleaning your footprints in case some goof up happens.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Unit Testing&lt;/span&gt;: Let's take the simplistic concept of 'unit' as the piece of code block which completes a logical set of activity to achieve a single objective and no more. While writing the test cases one must remember Pareto's 80/20 principal while writing important test cases plus the test cases which ensures that the system is performing as expected with the right set of inputs. There is no point in being over ambitious by attempting to write exhaustive test cases for a discrete system. Unit testing really shines during regression cycles, where in you can ensure that any new line of code is not breaking the existing system and can easily measure and monitor the 'ripple effect' if any. Please do not assume the being easily done is easy :)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Feedback Loop&lt;/span&gt;: Make it short and make it fast. Doing this will help you identify the problem early and save COST. There are tools available today for continuous integration which can really help one to achieve this end.&lt;/li&gt;&lt;/ol&gt;The above is not merely a listing of my random thought about this methodology, but is an incremental set activity that one might need to undertake to completely embrace this practice from being an absolute novice.&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-3583213828273277450?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/3583213828273277450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=3583213828273277450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3583213828273277450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/3583213828273277450'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2007/07/agile-methodology-first-take.html' title='Agile Methodology: A first take'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-691816601695777527</id><published>2007-03-25T15:12:00.001+05:30</published><updated>2007-03-25T15:12:50.751+05:30</updated><title type='text'>Need for JUnit Framework for testing:</title><content type='html'>Yes ! this was exactly the question that was there in my mind for quite some time. It is interesting to spot the difference between my thought process before and after reading JUnit literature.&lt;br /&gt;&lt;br /&gt;Before:&lt;br /&gt;- Who needs the test cases for minor methods, after all can they really be broken ?!&lt;br /&gt;- I can test my units by running them repeatedly, manually.&lt;br /&gt;- If need be I can write a driver program that can run my units to be put under test.&lt;br /&gt;- I understand JUnit is a standard framework, but who has the time to learn a new framework - My manager doesn't want 'JUnit' test cases either.&lt;br /&gt;&lt;br /&gt;Then I read about the thumbrules for writing test cases:&lt;br /&gt;- Each unit test must run independent of the other.&lt;br /&gt;- Errors must be detected and reported, effectively.&lt;br /&gt;- It must be easy to identify and selectively run unit tests.&lt;br /&gt;&lt;br /&gt;Also, that the Framework provides following infrastructure support;&lt;br /&gt;- each test is loaded using a separate class-loader, that makes running and failing different cases practically independent of each other.&lt;br /&gt;- registering and introspecting methods, using which one can select which tests to run in particular.&lt;br /&gt;- reports all errors on a case by case basis.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After:&lt;br /&gt;How can you do it with out JUnit !! :-)&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-691816601695777527?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/691816601695777527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=691816601695777527' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/691816601695777527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/691816601695777527'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2007/03/need-for-junit-framework-for-testing.html' title='Need for JUnit Framework for testing:'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8100216710920693640.post-4614356098821693709</id><published>2007-02-16T15:47:00.000+05:30</published><updated>2007-02-16T15:47:33.502+05:30</updated><title type='text'>Starting a business? Say goodbye to your ego</title><content type='html'>&lt;a href="http://www.rediff.com/getahead/2007/feb/16entre.htm"&gt;Starting a business? Say goodbye to your ego&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;..have an itch for starting on ur own get real ! hardy that was a nice read only to further the itch :D&lt;div class="blogger-post-footer"&gt;Nitin Tripathi [nitin.tripathi@gmail.com]&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100216710920693640-4614356098821693709?l=nitintripathi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.rediff.com/getahead/2007/feb/16entre.htm' title='Starting a business? Say goodbye to your ego'/><link rel='replies' type='application/atom+xml' href='http://nitintripathi.blogspot.com/feeds/4614356098821693709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8100216710920693640&amp;postID=4614356098821693709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4614356098821693709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8100216710920693640/posts/default/4614356098821693709'/><link rel='alternate' type='text/html' href='http://nitintripathi.blogspot.com/2007/02/starting-business-say-goodbye-to-your.html' title='Starting a business? Say goodbye to your ego'/><author><name>Nitin Tripathi</name><uri>https://profiles.google.com/109422032729411998666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-kYZgvCXE-I0/AAAAAAAAAAI/AAAAAAAAAAA/6M6TiUnqdEY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
