<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-3789023615618480387</atom:id><lastBuildDate>Thu, 20 Mar 2014 00:48:51 +0000</lastBuildDate><category>Java</category><category>Tech</category><category>JSF</category><category>Article</category><category>Cricket</category><category>Other</category><category>Game</category><category>Home</category><category>JAR</category><category>Javascript</category><title>The Signature - Pankaj Bhambhani&#39;s Blog (pankajb64)</title><description>A signature of a person always reveals his character, and sometimes, even his NAME</description><link>http://javaatpankajs.blogspot.com/</link><managingEditor>noreply@blogger.com (Pankaj Bhambhani)</managingEditor><generator>Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-9081020826052953667</guid><pubDate>Thu, 12 Jul 2012 12:41:00 +0000</pubDate><atom:updated>2012-10-09T14:15:28.544+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Other</category><category domain="http://www.blogger.com/atom/ns#">Tech</category><title>Final Evaluation Passed</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;I just passed the final evaluation for Google Summer of Code 2012. Feels Good ! :D&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am working on the same project, Choqok with the same guy, Mehrdad.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This time though its more fun ! ( and some money as well ! )&lt;br /&gt;&lt;br /&gt;The certificate and T-Shirt looks good but it all about the feeling that makes it all an awesome experience.&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2012/07/midterm-evaluation-passed.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-5608646239444595169</guid><pubDate>Sun, 29 Apr 2012 08:29:00 +0000</pubDate><atom:updated>2012-07-31T06:12:58.778+05:30</atom:updated><title>What is the one thing that I would like to change about the profesors at DA-IICT ?</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-size: x-large;&quot;&gt;What is the one thing that I would like to change about the profesors at DA-IICT ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;There is a belief in the air that the initial 5-6 years of DA-IICT were &quot;Dream Years&quot; for the Institute since the students were believed to be talented and were very much interested in doing research and innovation. With the passing years, though there has been some change, something that can definitely be felt. We can always argue that the criteria for selection, i.e. the AIEEE exam has degraded in its value. But I believe the students are still talented enough. Where then is the problem ?&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The answer to both the above questions is the same : &quot; The attitude , or rather the mindset, of some of the professors towards the students of the current batches is a little off-path.&quot; (I obviously dont have a sureshot proof of this, but judging by the clues that I shall provide later, it might be true.) And this is exactly what I would like to change. When I compare DA-IICT with the Top IITs, there was always one significant difference that I have felt - in IIT there are good and bad students, and the sometimes difference between them is vast. In DA-IICT, students might be average but all are of the same level more or less. This difference, however, is fastly eroding. We are embeding in us a part of IIT&#39;s culture, but unfortunately, the bad part.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Its almost as if the professors think &quot;&lt;i&gt;Chalta hai. Students ko kuch padi nahi hai. Koi iska benefit nai uthayega. They just dont care.&lt;/i&gt;&quot; before presenting any oppurtunity to the students to present themselves ( not to speak-up, but to present some quality (not necessarily academic) work). I am not talking about Assignments or home-works, they are mostly monotonous. I am talking about Ideas - allow the students to live the subject by allowing them to make some effort towards creating innovation. Of course, there are students who hate all this - in some cases they form the majority, but that by no means should discourage the teacher from providing oppurtunities to students.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Another clue that we can derive is the way our answer papers are presented to us. It almost defeats the entire purpose of exam. I believe exams are meant not only to asses students but also to deliver feedback - timely and correct feedback. There are a few professors today who either dont deliver papers on time or dont make sure that it is checked correctly. Sometimes the papers are corrected by TAs who have no idea what is going on in the course and they expect an altogether different level from the students. The result - students suffer when they dont live upto the so called &quot;expectations&quot; of the TAs - I have seen one of my professors admit that getting TAs to correct the paper can be nasty in such situations for the professor himself - there are a lot of rechecks of things that were never wrong in the first place. Every student has a right to view his answer papers on time and properly corrected, so the professors MUST show the papers. Not showing them on time/ giving improper feedback &amp;nbsp;does not help the student to assess himself as to where he stands and how he needs to position himself for the coming part of the course. Amir Khan&#39;s dialogue from 3 Idiots &quot; &lt;i&gt;Is se Knowledge badhegi ? Nahi. Sirf Pressure Badhega&lt;/i&gt;&quot; fits relevantly here. Also, I strongly feel that the professor ought to make sure there is a key for the question paper and that each student MUST get his answer paper back so that he can keep it for future reference. Some might argue that the students themselves are culprits at times - they cheat, they dont pay heed, they dont learn from their mistakes - but that by no means is a valid arguement for a professor to restrain himswlf from all the above.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;At the end of it all, I wanna say that this applies to some of the professors as there are professors I know who provide ample feedback to the students on time - and this helps the students more often than not. And this is exactly how it should be. We need Professors - Teachers - Mentors - Guides who can show us the way. We dont need Bosses who control us ( not referencing any one in particular - due respect to all). This is definitely the one change that I would like to see in the professors of DA-IICT. &lt;i&gt;Si esto sucede, he visto todo en DAIICT&lt;/i&gt; !&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: right;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;i&gt;- Pankaj Bhambhani&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2012/04/what-is-one-thing-that-i-would-like-to.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-8111345784529942928</guid><pubDate>Fri, 27 Jan 2012 12:15:00 +0000</pubDate><atom:updated>2012-01-27T17:45:10.963+05:30</atom:updated><title>Questionnaire for my SEN (Software Engineering) project</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Hi there,&lt;br /&gt;&lt;br /&gt;Below is a small Questionnaire for my SEN (Software Engineering) project which I would like you to fill. It&#39;ll help me a lot.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;If you feel this form looks a little cosy here, you can go directly to the form&amp;nbsp;&lt;a href=&quot;https://docs.google.com/spreadsheet/embeddedform?formkey=dFJCNUFFbVhzdXAtYkczOGJlUGZoRlE6MQ&quot;&gt;here&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;iframe frameborder=&quot;0&quot; height=&quot;4000&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;https://docs.google.com/spreadsheet/embeddedform?formkey=dGFqX0N6SVJ5a19LdllHRG11M1ZHZ0E6MQ&quot; style=&quot;margin-top: 200px;&quot; width=&quot;760&quot;&gt;&amp;amp;amp;lt;p&amp;amp;amp;gt;Loading...&amp;amp;amp;lt;/p&amp;amp;amp;gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2012/01/questionnaire-for-my-sen-software.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-1871791871182222055</guid><pubDate>Tue, 08 Nov 2011 17:15:00 +0000</pubDate><atom:updated>2011-11-08T22:45:37.089+05:30</atom:updated><title>GamePlay Form</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Hi there,&lt;br /&gt;&lt;br /&gt;Below is a small Gameplay Form which I would like you to fill. It&#39;ll help me a lot.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;If you feel this form looks a little cosy here, you can go directly to the form &lt;a href=&quot;https://docs.google.com/spreadsheet/embeddedform?formkey=dFJCNUFFbVhzdXAtYkczOGJlUGZoRlE6MQ&quot;&gt;here&lt;/a&gt;&lt;/span&gt;&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;/div&gt;&lt;iframe frameborder=&quot;0&quot; height=&quot;2523&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;https://docs.google.com/spreadsheet/embeddedform?formkey=dFJCNUFFbVhzdXAtYkczOGJlUGZoRlE6MQ&quot; width=&quot;800&quot;&gt;&amp;amp;lt;p&amp;amp;gt;&amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;Loading...&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/11/gameplay-form.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-8065716350471110217</guid><pubDate>Wed, 28 Sep 2011 15:40:00 +0000</pubDate><atom:updated>2011-10-08T06:20:24.512+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Article</category><title>Optimisation – A Devil Unleashed</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;&lt;div style=&quot;border-bottom: solid #4F81BD 1.0pt; border: none; mso-border-bottom-themecolor: accent1; mso-element: para-border-div; padding: 0cm 0cm 4.0pt 0cm;&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoTitle&quot; style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #8e7cc3; font-size: x-large;&quot;&gt;&lt;b&gt;Optimisation – A Devil Unleashed&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;i&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-family: Consolas; font-size: 14pt; line-height: 115%;&quot;&gt;&quot;Optimization hinders evolution.&quot;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-size: 10pt; line-height: 115%;&quot;&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;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-size: 14pt; line-height: 115%;&quot;&gt;- Anon.&lt;/span&gt; (Source: Internet)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 115%;&quot;&gt;I don’t know how my Professor was feeling when he was teaching us to write a so-called “Optimal Algorithm”, but I was not feeling good about it. I have never felt good about Optimisation in general, and this was no exception. I’ve never hated engineering in my life, but this was probably the first time I was feeling oblivious about an aspect of engineering. Optimisation was probably getting more share of assiduity than it deserved, and in my mind I could imagine the fate of engineering if things continued to be how they are.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;i&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-family: Consolas; font-size: 14pt; line-height: 115%;&quot;&gt;&quot;More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason&amp;nbsp;— including blind stupidity.&quot;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;&quot;&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;right&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: right;&quot;&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;&quot;&gt;—&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;apple-converted-space&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/W.A._Wulf&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial;&quot; title=&quot;W.A. Wulf&quot;&gt;&lt;span style=&quot;color: #0645ad; text-decoration: none;&quot;&gt;W.A. Wulf&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; &lt;/span&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-size: 12pt; line-height: 115%;&quot;&gt;(Source: Internet)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;right&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: right;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 115%;&quot;&gt;“Optimisation has always been a natural part of engineering”, a friend of mine once said. True however he may be, I caught a different but equally true meaning of the statement – “Optimisation is only a part of engineering”. But the way I’ve spent my two (and a half) years here indicates me that we’ve hardly done anything but optimisation. Adding salt to the wound, one of our professors once claimed “All Engineering problems are, beyond a point, money related problems”. I know Technology hardly has any fault in this, but then there is no fault of Science either. It is mostly the domain and aspect of the problem – the “application” factor as we can label it that causes &amp;nbsp;Optimisation to creep in. (Just because I am writing Optimisation in Camel Case every time doesn’t mean I have any sort of reverence towards it, Nota Bene.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 19px; line-height: 21px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 115%;&quot;&gt;I have always believed that Everything in life has some pros and cons – what may look good in one aspect may be bad in some other. But everybody has some priorities – it is like a window – we can’t see the entire world through it – but we pick only those things that look good while viewing from that window. This ideology again has its own advantages and disadvantages. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;i&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-family: Consolas; font-size: 14pt; line-height: 115%;&quot;&gt;&quot;The First Rule of Program Optimization: Don&#39;t do it. The Second Rule of Program Optimization (for experts only!): Don&#39;t do it yet.&quot;&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; &lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;&quot;&gt;&amp;nbsp;—&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;apple-converted-space&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Michael_A._Jackson&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial;&quot; title=&quot;Michael A. Jackson&quot;&gt;&lt;span style=&quot;color: #0645ad; text-decoration: none;&quot;&gt;Michael A. Jackson&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; &lt;/span&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-size: 12pt; line-height: 115%;&quot;&gt;(Source: Internet)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;right&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: right;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 115%;&quot;&gt;Optimisation, as I believe, is by all means born to create hierarchy. For the very same reason, I have never understood why Optimisation is done in case of algorithms – the ugly and complex algorithm is chosen over the beautiful and simple one. Why don’t we realise how unjust it is for the beautiful algorithm to get rejected? What if such beautiful algorithms get livid and spark a riot tomorrow? Does the human race today have any protective measures to fight algorithms?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;body&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: black; font-family: Consolas; font-size: 14pt; line-height: 115%;&quot;&gt;“Everyone by now presumably knows about the danger of premature optimization. I think we should be just as worried about premature design - designing too early what a program should do.”&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span class=&quot;apple-converted-space&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: black; font-family: Consolas; font-size: 14pt; line-height: 115%;&quot;&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;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span class=&quot;bodybold&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; font-family: Verdana, sans-serif; font-size: 10pt; line-height: 115%;&quot;&gt;&lt;a href=&quot;http://www.brainyquote.com/quotes/quotes/p/paulgraham183930.html&quot;&gt;&lt;span style=&quot;color: #0000cc;&quot;&gt;Paul Graham&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;apple-converted-space&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; font-family: Verdana, sans-serif; font-size: 10pt; line-height: 115%;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;apple-converted-space&quot;&gt;&lt;span style=&quot;color: black; font-family: Verdana, sans-serif; font-size: 10pt; line-height: 115%;&quot;&gt;(Source: Internet)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;right&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: right;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 115%;&quot;&gt;At the end of it all I can only say that Optimisation in the form that it portrayed – as being of religious importance to Engineering – appears Paranormal to me. As a precautionary measure for a Layman passing by, every Institute should have a “Beware of Optimisation” Board on its Entrance. As I conclude, the fate of Engineering appears clear to me. Either it has to threat Optimisation out of practice or someday some of its own &amp;nbsp;tools &amp;nbsp;(a revolting Algorithm for example) will seal its fate.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt; line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt; line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;right&quot; class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: right; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;font-size: 18pt; line-height: 115%;&quot;&gt;-&lt;span style=&quot;font: normal normal normal 7pt/normal &#39;Times New Roman&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;font-family: Consolas; font-size: 18pt; line-height: 115%;&quot;&gt;Pankaj Bhambhani&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/09/optimisation-devil-unleashed.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-5367770565326959730</guid><pubDate>Sat, 17 Sep 2011 17:32:00 +0000</pubDate><atom:updated>2011-09-17T23:02:47.229+05:30</atom:updated><title>Current Standings of the IPL World Cup (Halfway through the S... on Twitpic</title><description>&lt;a href=&quot;http://www.twitpic.com/6mc3nv#.TnTZtSmQe0s.blogger&quot;&gt;Current Standings of the IPL World Cup (Halfway through the S... on Twitpic&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/09/current-standings-of-ipl-world-cup.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-5276613511101862134</guid><pubDate>Tue, 23 Aug 2011 21:24:00 +0000</pubDate><atom:updated>2011-10-08T06:20:24.501+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Article</category><title>Science, Technology, Technique and the Blackbox</title><description>&lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;h1 class=&quot;western&quot;&gt;&lt;span&gt;&lt;u&gt;Science, Technology, Technique and the Blackbox&lt;/u&gt;&lt;/span&gt;&lt;/h1&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;Science ?  - &lt;span&gt;&lt;span&gt;&lt;span style=&quot;font-style: normal&quot;&gt;&lt;span&gt;The intellectual and practical activity encompassing the systematic study of the structure and behavior of the physical and natural world through observation and experiment&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt; &lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;&lt;span&gt;(Source:Google)&lt;/span&gt;&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;Technology ? - &lt;span&gt;&lt;span&gt;&lt;span style=&quot;font-style: normal&quot;&gt;&lt;span&gt;The application of scientific knowledge for practical purposes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; (Source:Google)&lt;/span&gt;&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;&lt;span&gt;Technique ? - &lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;font-style: normal&quot;&gt;&lt;span&gt;A way of carrying out a particular task, esp. the execution or performance of an artistic work&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;  (Source:Google)&lt;/span&gt;&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;&lt;span&gt;Blackbox ? - &lt;/span&gt;In science and engineering, a black box is a device, system or object which can be viewed solely in terms of its input, output and transfer characteristics without any knowledge of its internal workings, that is, its implementation is &quot;opaque&quot; (black). Almost anything might be referred to as a black box: a transistor, an algorithm, or the human mind. (Source:Wikipedia)&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;Are they “all” interconnected ?  &lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;My thoughts : Science is everything and everything is science. (In reference to the above four).&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;Technology, Technique and Blackbox are all Science behind the scene. All Science.&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;If we (by “we”, I mean the End User) interpret Technology, Technique and Blackbox – all as a job or an aid for a job, then we can think in this way. - They can all be considered as a Development Kit (DK). Just in case of softwares, we have Software Development Kit (SDK), which are all just libraries of code behind the scene, we can think here that Technology is nothing but a Development Kit (DK), which is nothing but Science behind the scene.  &lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;Same is true for technique and black boxed approach. A Technique – like driving a car – can be considered as a Development Kit (DK) which is nothing but an abstraction of a set of scientic principles which are aidful for that job. These scientific principles are moulded for easier and quick manipulation for the particular technique or job. When we learn a new technique, we dont learn anything new, we only combine a set of scientific principles that we already know and mould them in a manner that we can easily remeber and can quickly use.  &lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;In the case of a car, we can clearly realise that the actual working of car engine is pretty complex and what we really see is an abstraction of  the science that goes in the making of the car engine. What we see is the Steering, the Gear, the Clutch, the Acclerator and the Brake. We think of our car in terms of these parameters, hence , these parameters comprise our Development Kit (DK). The Car does not appear to us in terms of its science, in terms of the actual scientific principles that lie behind the scenes, but those principles are “moulded” for easier and quick manipulation – it is really easy for us to view the car in terms of the Steering and the Gear rather than to view that car in terms of its complex interconnections. This is a very good example of a black boxed approach. Another good example is the Computer – very similiar to the above example works on complex interconnections but is viewed differently and abstractly.&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p align=&quot;JUSTIFY&quot; style=&quot;margin-bottom: 0cm&quot;&gt;It can be concluded from the above that Technology, Technique and the Blackbox are no different from science, at least behind the scene, and therefore should not be viewed differently either. This observation can help us keep our minds composed in case we face a new Technology, because we generally need not learn anything new, we only need to mould science together to achieve success.&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/08/science-technology-technique-and.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-6819447120418035637</guid><pubDate>Wed, 17 Aug 2011 16:58:00 +0000</pubDate><atom:updated>2011-08-17T23:21:34.370+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tech</category><title>Season of KDE</title><description>Hi,&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;I took part in &lt;a href=&quot;http://dot.kde.org/2011/04/25/google-summer-code-projects-accepted-return-season-kde&quot;&gt;Season of KDE&lt;/a&gt; this year (2011) and I  worked with &lt;a href=&quot;http://choqok.gnufolks.org/&quot;&gt;Choqok&lt;/a&gt; - a Microblogging Client. Choqok had support for three Microblogging services as of now - Twitter, OCS (Open Collaboration Services) and Laconica - and we planned to add a fourth Service - Facebook.&lt;br /&gt;&lt;br /&gt;More specifically &lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;/span&gt; &lt;a href=&quot;http://community.kde.org/KDE_PIM/Akonadi&quot;&gt;Akonadi&lt;/a&gt; has its own resource library for interacting with Facebook - it can get friends, events, notes, photos, etc. We used this library for our &quot;Choqok Facebook Plugin&quot;.&lt;br /&gt;&lt;br /&gt;As of now, this &lt;a href=&quot;https://projects.kde.org/projects/playground/pim/akonadi-facebook&quot;&gt;Facebook Resource&lt;/a&gt; is bundled with &lt;a href=&quot;http://techbase.kde.org/Projects/PIM/Akonadi&quot;&gt;Akonadi Resource&lt;/a&gt; , but they soon plan to release KFacebook as a separate library for Applications that want to interact with Facebook .&lt;br /&gt;&lt;br /&gt;The First Part of the Job was to broaden the Facebook Library to be able to add , retrieve and manipulate Facebook Post Objects - the news feed and the wall posts,&lt;br /&gt;Once this was done, building the rest of the plugin wasnt going to be very difficult, though it wasnt a piece of cake either :) . The code of other microblogs proved to be very, very beneficial in approaching the development as well as in clearing the queries.&lt;br /&gt;&lt;br /&gt;As of now, the Choqok Facebook Plugin can be used to post &quot;text&quot; messages, it can show your Facebook &quot;Home&quot; Timeline - wherein it can show links and text status with ease. For Photos and Videos, we have a link of the photos in the status in place of actual Photos/Videos. And, of course, there is a link to the current Post, using which you can view it on Facebook.&lt;br /&gt;&lt;br /&gt;Currently, the facebook plugin is not merged into the main Choqok Repository, but is avaialble as a sub project on &lt;a href=&quot;http://github.com/&quot;&gt;github&lt;/a&gt;. You can download the reposotory &lt;a href=&quot;https://github.com/pankajb64/Choqok-Trial/tree/master/choqok&quot;&gt;here&lt;/a&gt; ( it is named &quot;Choqok-Trial&quot;). Build it and try it out. Leave feedback as comments. You can also contact me personally on my email &lt;a href=&quot;mailto:pankajb64@gmail.com&quot;&gt;pankajb64@gmail.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A big Thanks to my mentor - &lt;a href=&quot;http://momeny.wordpress.com/&quot;&gt;Mehrdad Momeny&lt;/a&gt; for guiding me through and to &lt;a href=&quot;http://thomasmcguire.wordpress.com/&quot;&gt;Thomas McGuire&lt;/a&gt; for helping me with Akonadi Facebook Resource. Thanks to the entire KDE community in general for such a warm welcome. :)&lt;br /&gt;&lt;br /&gt;I have included some of the snapshots of the Choqok Facebook Plugin. Check out&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-BIogzwrhxu0/Tkv75fydBnI/AAAAAAAAAHM/6blGLglUHR8/s1600/trial2.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 200px; height: 112px;&quot; src=&quot;http://4.bp.blogspot.com/-BIogzwrhxu0/Tkv75fydBnI/AAAAAAAAAHM/6blGLglUHR8/s200/trial2.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5641879923415910002&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-U1sqOk5QNqk/Tkv75F3Vg0I/AAAAAAAAAHE/OO1o6Qz6aEc/s1600/trial1.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 200px; height: 112px;&quot; src=&quot;http://3.bp.blogspot.com/-U1sqOk5QNqk/Tkv75F3Vg0I/AAAAAAAAAHE/OO1o6Qz6aEc/s200/trial1.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5641879916457067330&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-0f_dlNtZI3A/Tkv75fx9NAI/AAAAAAAAAHU/wsCMlgfVj4g/s1600/trial3.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 200px; height: 112px;&quot; src=&quot;http://4.bp.blogspot.com/-0f_dlNtZI3A/Tkv75fx9NAI/AAAAAAAAAHU/wsCMlgfVj4g/s200/trial3.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5641879923413824514&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-oUgURPsQWUo/Tkv75nAEu7I/AAAAAAAAAHc/v8dXEKZdrW8/s1600/trial4.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 200px; height: 112px;&quot; src=&quot;http://4.bp.blogspot.com/-oUgURPsQWUo/Tkv75nAEu7I/AAAAAAAAAHc/v8dXEKZdrW8/s200/trial4.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5641879925352086450&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-VFhYYLzscMQ/Tkv757qUEyI/AAAAAAAAAHk/SJ4LDB5QhX8/s1600/trial5.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 200px; height: 112px;&quot; src=&quot;http://1.bp.blogspot.com/-VFhYYLzscMQ/Tkv757qUEyI/AAAAAAAAAHk/SJ4LDB5QhX8/s200/trial5.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5641879930897961762&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks&lt;br /&gt;Pankaj Bhambhani.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/08/season-of-kde.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-BIogzwrhxu0/Tkv75fydBnI/AAAAAAAAAHM/6blGLglUHR8/s72-c/trial2.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-6973711855047146844</guid><pubDate>Wed, 03 Aug 2011 19:01:00 +0000</pubDate><atom:updated>2011-08-04T00:31:44.456+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Cricket</category><title>Flipkart.com: ICC Cricket World Cup 2011 - Diaries: Movie: English DVD 2011</title><description>&lt;a href=&quot;http://www.flipkart.com/movies/itmczc2jcm4fsxbn&quot;&gt;Flipkart.com: ICC Cricket World Cup 2011 - Diaries: Movie: English DVD 2011&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/08/flipkartcom-icc-cricket-world-cup-2011.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-1212868182236102926</guid><pubDate>Wed, 03 Aug 2011 18:43:00 +0000</pubDate><atom:updated>2011-08-04T00:17:00.717+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Cricket</category><title>I&#39;ll never take playing for England for granted</title><description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(51, 51, 51); font-family: Tahoma, Geneva, sans-serif; &quot;&gt;&lt;span style=&quot;padding-right: 10px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;The missed opportunities early in his career have made the England offspinner Graeme Swann  determined to make the most of the rest of it&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(51, 51, 51); font-family: Tahoma, Geneva, sans-serif; &quot;&gt;&lt;span style=&quot;padding-right: 10px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(51, 51, 51); font-family: Tahoma, Geneva, sans-serif; &quot;&gt;&lt;span style=&quot;padding-right: 10px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;a href=&quot;http://www.espncricinfo.com/magazine/content/story/525688.html&quot;&gt;Read More &amp;gt;&amp;gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/08/ill-never-take-playing-for-england-for.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-228839660439747449</guid><pubDate>Wed, 03 Aug 2011 18:40:00 +0000</pubDate><atom:updated>2011-08-04T00:13:47.859+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Cricket</category><title>Sehwag set to join embattled Indian side</title><description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(51, 51, 51); font-family: Tahoma; line-height: 19px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt; Virender Sehwag, who missed the first two Tests of the England tour, has landed in England and is en route to join the Indian team later on Wednesday. Sehwag, who was ruled out for the first fortnight of the England series when the Indian selectors announced the Test squad  on July 2, is expected to be available for the last two Tests. The Indians play a two-day tour match against Northants starting this Friday ahead of the third Test which starts in Birmingham next week&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(51, 51, 51); font-family: Tahoma; line-height: 19px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;a href=&quot;http://www.espncricinfo.com/england-v-india-2011/content/current/story/525603.html&quot;&gt;ReadMore &amp;gt;&amp;gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/08/sehwag-set-to-join-embattled-indian.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-3471888690942600879</guid><pubDate>Fri, 22 Jul 2011 07:23:00 +0000</pubDate><atom:updated>2011-07-22T12:54:35.104+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tech</category><title>Android 3.2 [Explained]</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;Google’s mobile OS Android has seen a stellar growth pattern in the last  one year. The express pace at which Google rolls out updates and the  speed at which development of newer versions takes place means that  there are devices out there running all versions of Android right from  the primitive 1.6( Doughnut) to the latest 3.2( updated Honeycomb). The  latest update is still finding its way slowly to Android tablets but  what does this new version of Android offer? Well a lot of cool stuff  actually, here’s what you need to know&lt;br /&gt;&lt;/div&gt;&lt;a href=&quot;http://www.appnomy.com/android-3-2-details-200&quot;&gt;Read More &amp;gt;&amp;gt;&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/07/android-32-explained.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-2656436410846807528</guid><pubDate>Fri, 22 Jul 2011 07:00:00 +0000</pubDate><atom:updated>2011-07-22T12:32:02.566+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tech</category><title>By Fall 2011, Indian App Developers Will Be Able To Publish Apps On WP7 Marketplace</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;Microsoft has been a player in the mobile market for many years but  steadily lost the smartphone race to more solid competitors like Apple,  RIM and Google. But Microsoft’s latest mobile OS, WP7, has gotten some  pretty good reviews. We at Appnomy have always believed that apps drive  platform success to a huge extent. Microsoft is taking the mobile market  more seriously everyday and the newest announcement that comes from  Microsoft relates to the additions it will be making to its Windows  Phone Marketplace. Here’s what developers need to know.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.pluggd.in/wp7-apps-indian-app-developers-297&quot;&gt;Read More &amp;gt;&amp;gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/07/by-fall-2011-indian-app-developers-will.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-3589264995318019069</guid><pubDate>Fri, 22 Jul 2011 05:19:00 +0000</pubDate><atom:updated>2011-07-22T10:53:14.679+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tech</category><title>The Flipkart Story – All You Need To Know [Unofficially]</title><description>&lt;p style=&quot;text-align: justify;&quot;&gt;It’s been about a year since &lt;a href=&quot;http://pluggd.in/tag/flipkart&quot;&gt;&lt;span&gt;&lt;span&gt;Flipkart&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;  started moving from being a pure &lt;a title=&quot;FlipKart No Longer Just A  Bookstore, Starts Selling Mobiles and More [Brand Dilution?]&quot; href=&quot;http://www.pluggd.in/buy-mobile-online-flipkart-297/&quot;&gt;bo&lt;/a&gt;&lt;a title=&quot;FlipKart No Longer Just A Bookstore, Starts Selling Mobiles and  More [Brand Dilution?]&quot; href=&quot;http://www.pluggd.in/buy-mobile-online-flipkart-297/&quot;&gt;okstore to  selling mobiles/DVDs etc&lt;/a&gt;&lt;span&gt;. Then we had cribbed about a possible  brand dilution and investor pressure. Probably we were never sure about  the bigger picture. Since then, &lt;span&gt;Flipkart&lt;/span&gt; went for a &lt;/span&gt;&lt;a href=&quot;http://www.pluggd.in/flipkart-online-consumer-services-297/&quot;&gt;major  brand makeover&lt;/a&gt;&lt;span&gt;, making it look more ‘upmarket’. There has  been large newspaper ads, &lt;span&gt;TVCs&lt;/span&gt; and a lot of web ads. But  unlike other &lt;span&gt;eCommerce&lt;/span&gt; companies the inorganic marketing  kicked in only when the product was strong.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span&gt; &lt;a href=&quot;http://www.pluggd.in/flipkart-story-ecommerce-differentiator-297/&quot;&gt;Read More&amp;gt;&amp;gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/07/flipkart-story-all-you-need-to-know.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-2486869703984763297</guid><pubDate>Wed, 20 Jul 2011 05:27:00 +0000</pubDate><atom:updated>2011-07-20T10:59:11.233+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tech</category><title>Microsoft/FaceBook/Google from India?</title><description>What is the favorite pastime of Indian blogosphere? Especially on weekends, when news inflow is relatively slow?&lt;br /&gt;&lt;br /&gt;I think it won’t be an overstatement if I say that on weekends, most of us write posts discussing potential of having a Microsoft/Google/Facebook from India. This is a national obsession. I see this being discussed on blogs , email lists etc. I hear IT professional chatting about it over the drinks [while updating their resume@Naukri] and students dreaming of starting Facebook Killer in college campuses [while preparing for GATE/CAT/GRE/and Infy&#39;s campus Interview on the sideline].&lt;div&gt;&lt;a href=&quot;http://www.pluggd.in/entrepreneurship/microsoft-facebook-google-from-india-can-indian-society-produce-gates-larry-zuckerburg-1989/&quot;&gt;Read More&amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/07/microsoftfacebookgoogle-from-india.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-8703987945596778958</guid><pubDate>Tue, 19 Jul 2011 16:49:00 +0000</pubDate><atom:updated>2011-07-19T22:21:37.309+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tech</category><title>The Rise Of Facebook Commerce</title><description>Understanding where your customers already are can help brands choose what type of store to set-up on Facebook. For large brands like Amazon or Leviâ€™s that already have large traffic on their sites, adding a social element provides customers with a more personal shopping experience; shoppers learn what their friends like and buy and get valuable recommendations from them. &lt;div&gt;&lt;a href=&quot;http://www.pluggd.in/facebook-commerce-research-297/&quot;&gt;Read More »&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/07/rise-of-facebook-commerce.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-4378712258841529145</guid><pubDate>Mon, 18 Jul 2011 06:55:00 +0000</pubDate><atom:updated>2011-07-18T12:56:04.274+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Other</category><title>Creating &#39;After the jump&#39; summaries - Blogger Help</title><description>&lt;a href=&quot;http://www.google.com/support/blogger/bin/answer.py?answer=154172&quot;&gt;Creating &amp;#39;After the jump&amp;#39; summaries - Blogger Help&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/07/creating-after-jump-summaries-blogger.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-8078775207078467724</guid><pubDate>Tue, 28 Jun 2011 05:26:00 +0000</pubDate><atom:updated>2011-06-28T11:00:35.963+05:30</atom:updated><title>Banana 3ds max</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/-yTplkOl88AM/Tglmw9t_syI/AAAAAAAAAGA/VzPFViQ8VcQ/s1600/try.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 400px; height: 225px;&quot; src=&quot;http://2.bp.blogspot.com/-yTplkOl88AM/Tglmw9t_syI/AAAAAAAAAGA/VzPFViQ8VcQ/s400/try.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5623138601136010018&quot; /&gt;&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/06/banana-3ds-max.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-yTplkOl88AM/Tglmw9t_syI/AAAAAAAAAGA/VzPFViQ8VcQ/s72-c/try.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-2016977670899839056</guid><pubDate>Tue, 21 Jun 2011 11:40:00 +0000</pubDate><atom:updated>2011-07-18T12:55:01.719+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Game</category><title>My FPS Game in Unity</title><description>I recently created a simple First person Shooter (FPS) game with the Unity 3D Game Engine.&lt;br /&gt;&lt;br /&gt;And its now running on Google&#39;s Servers (on Google App Engine).&lt;br /&gt;&lt;br /&gt;Here&#39;s The Link. Try it!! &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://myfpsunity.appspot.com/&quot;&gt;My First Unity FPS Game&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;P.S. : You may need to install the Unity Web Player if you don&#39;t have it installed already.&lt;br /&gt;&lt;br /&gt;&lt;div id=&quot;fb-root&quot;&gt;&lt;/div&gt;&lt;script src=&quot;http://connect.facebook.net/en_US/all.js#xfbml=1&quot;&gt;&lt;/script&gt;&lt;fb:like-box href=&quot;http://www.facebook.com/myfpsunity&quot; width=&quot;292&quot; show_faces=&quot;true&quot; border_color=&quot;&quot; stream=&quot;true&quot; header=&quot;true&quot;&gt;&lt;/fb:like-box&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2011/06/my-fps-game-in-unity.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-6652968137230774650</guid><pubDate>Wed, 15 Dec 2010 17:56:00 +0000</pubDate><atom:updated>2011-07-18T12:54:28.980+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java</category><title>Java Game Development - Video Tutorials</title><description>&lt;p&gt;Bucky Roberts has prepared video tutorials for Game Development in Java&lt;br /&gt;and many other exciting video Tutorials.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;He&#39;s done a really good job.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Check out his website  &lt;a href=&quot;http://www.thenewboston.com&quot;&gt;here&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Java Game Development Tutorials can be found &lt;a href=&quot;http://www.thenewboston.com/?cat=35&amp;pOpen=tutorial&quot;&gt; here &lt;/a&gt; &lt;/p&gt;&lt;br /&gt;Thanx.&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2010/12/java-game-development-video-tutorials.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-5329740081900716767</guid><pubDate>Tue, 16 Nov 2010 18:45:00 +0000</pubDate><atom:updated>2011-10-08T06:20:24.506+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Article</category><title>A Nice Article</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.scores.org/graphics/yahoo/brutal-decline-of-yahoo.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 500px; height: 4141px;&quot; src=&quot;http://www.scores.org/graphics/yahoo/brutal-decline-of-yahoo.jpg&quot; border=&quot;0&quot; alt=&quot;Brutal Decline of Yahoo&quot; /&gt;&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2010/11/nice-article.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-5007229649544718933</guid><pubDate>Mon, 02 Aug 2010 14:07:00 +0000</pubDate><atom:updated>2011-07-18T12:54:28.981+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java</category><category domain="http://www.blogger.com/atom/ns#">JSF</category><title>Java Servlets</title><description>&lt;h1&gt;Java Servlets: A Short Tutorial&lt;/h1&gt;&lt;br /&gt;&lt;p&gt;A servlet occurs on combinig an applet with a CGI (Common Gateway Interface )script. From a programmer&#39;s perspective, it is similiar to an applet; a servlet can be reffered to as an applet that runs on a server instead of a normal desktop machine.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If we compare the workings of two, we find significant similarities between a servlet and  a CGI  script. Both respond to user input -- when user clicks on a button or pressing of a key(in some situations)  -- and can retrieve and send from and to the user . The servlet , like a JSP (Java Server Pages) can dynamically generate  HTML pages and send it to the browser to be displayed.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We can go on comparing Servlets and CGI Scripts, but thats not the point of discussion here. The point is , you wanna learn Servlets, and I, can explain you just what you want to know.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;p&gt;So, how do they work, eh ? &lt;/big&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This post explains servlets and how various web-appilcations can actually involve using Sevlets.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;A Servlet, is like a Java Applet, in other words, a Java Class&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Whether you decide to compile and invoke the servlet or not, you&#39;ll get an opportunity later in this article take a look at its source file. You can also examine the source file of the HTML page that invokes the servlet. If you like, you can download both the servlet and the HTML page that calls it. Then, if you like, you can download and install &lt;i&gt;servletrunner&lt;/i&gt; and play around with the Sample servlet at your leisure -- and, perhaps, use it as a stepping stone for creating similar servlets of your own.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Invoking a Servlet&lt;/b&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;As mentioned earlier, in the first paragraph of this article, a servlet is an executable that&#39;s written in the Java programming language. Servlets are supported through the Servlet API, an extension to the Java programming language.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;To create a servlet, you must write a program that implements the &lt;span style=&quot;font-family:Courier,Mono;&quot;&gt;javax.servlet.Servlet&lt;/span&gt; interface. Most servlets implement this interface by extending either the &lt;span style=&quot;font-family:Courier,Mono;&quot;&gt;javax.servlet.GenericServlet&lt;/span&gt; class, which is implemented in the &lt;span style=&quot;font-family:Courier,Mono;&quot;&gt;javax.servlet&lt;/span&gt; package, or the &lt;span style=&quot;font-family:Courier,Mono;&quot;&gt;javax.servlet.http.HttpServlet&lt;/span&gt; class, which provides extra functionality needed by HTTP servlets and is implemented in the &lt;span style=&quot;font-family:Courier,Mono;&quot;&gt;javax.servlet.http&lt;/span&gt; package. Almost all servlets written today are designed to use the HTTP protocol, so most servlets currently extend the &lt;span style=&quot;font-family:Courier,Mono;&quot;&gt;javax.servlet.http.HttpServlet&lt;/span&gt; class.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a name=&quot;web_sphere&quot;&gt;&lt;/a&gt;One of the most common ways to invoke a servlet from an HTML page is to provide a link to it from a button on a form. You can also invoke a servlet by embedding a link to it in an HMTL page, or even by typing its pathname into the Address bar of a browser. Still another way to invoke a servlet is to call it from another servlet -- but we won&#39;t go any further into that option in this article.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Java Servlet API provides a number of methods that servlets can (and do) override. One method you will always override is the &lt;span style=&quot;font-family:Courier,Mono;&quot;&gt;init()&lt;/span&gt; method. (Servlets, like applets, are always equipped with an &lt;span style=&quot;font-family:Courier,Mono;&quot;&gt;init()&lt;/span&gt; method rather than a &lt;span style=&quot;font-family:Courier,Mono;&quot;&gt;main()&lt;/span&gt; method). Two other methods that are commonly overridden are the &lt;span style=&quot;font-family:Courier,Mono;&quot;&gt;doGet()&lt;/span&gt; method, which retrieves data in response to GET actions embedded in a form, and the &lt;span style=&quot;font-family:Courier,Mono;&quot;&gt;doPost()&lt;/span&gt; method, which posts data in response to POST requests.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a name=&quot;servlet_directory&quot;&gt;&lt;/a&gt;When a user invokes a servlet by clicking a button or using some other mechanism that activates a link to the servlet, the Web server that is hosting the user&#39;s browser session tracks down the servlet by looking in a special directory. The name of this directory can vary, depending on the Web server or application server being used. But no matter what the actual pathname of the directory is, an HTML page that invokes a servlet can always use the &lt;i&gt;/servlet&lt;/i&gt; alias to find the servlet it&#39;s looking for. For instance, the HTML code&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;dl&gt;&lt;dd&gt;&lt;span style=&quot;font-family:Courier,Mono;&quot;&gt;&lt;br /&gt;&amp;lt;FORM METHOD=GET ACTION=&quot;/servlet/HelloWorld&quot;&amp;gt;&lt;/span&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;will always invoke a servlet named &lt;i&gt;HelloWorld&lt;/i&gt; -- provided, of course, that (1) the Web server being used supports servlets and (2) a &quot;Hello World&quot; a servlet actually exists in the directory in which servlets are stored on your Web server.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Using a Servlet&lt;/b&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Figure 1 shows one of the most common ways of using a servlet. A user (1) requests some information by filling out a form containing a link to a servlet and clicking the Submit button (2). The server (3) locates the requested servlet (4). The servlet then gathers the information needed to satisfy the user&#39;s request and constructs a Web page (5) containing the information. That Web page is then displayed on the user&#39;s browser (6).&lt;/p&gt;&lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2010/08/java-servlets.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-5305588211825074235</guid><pubDate>Fri, 23 Jul 2010 05:36:00 +0000</pubDate><atom:updated>2011-07-18T12:54:28.981+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">JAR</category><category domain="http://www.blogger.com/atom/ns#">Java</category><title>The Java Archive (JAR)</title><description>In computing software, a &lt;span style=&quot;font-weight:bold;&quot;&gt;JAR file (or Java Archive)&lt;/span&gt; aggregates many files into one. Software developers generally use .jar files to distribute Java applications or libraries, in the form of classes and associated metadata and resources (text, images, etc.) &lt;span style=&quot;font-weight:bold;&quot;&gt;JAR&lt;/span&gt; files build on the ZIP file format. Computer users can create or extract &lt;span style=&quot;font-weight:bold;&quot;&gt;JAR &lt;/span&gt;files using the jar command that comes with a JDK. They can also use zip tools to do so, however caution should be exercised as to the order of entries in the zip file headers as the manifest likely needs to be first.&lt;br /&gt;• &lt;br /&gt;&lt;h2&gt;Overview&lt;/h2&gt;&lt;br /&gt;A JAR file has an optional manifest file located in the path META-INF/MANIFEST.MF. The entries in the manifest file determine how one can use the JAR file. JAR files intended to be executed as standalone programs will have one of their classes specified as the &quot;main&quot; class. The manifest file would have an entry such as&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Main-Class: myPrograms.MyClass&lt;/code&gt;&lt;br /&gt;Users can typically start such JAR files with a command similar to:&lt;br /&gt;&lt;code&gt;java -jar foo.jar&lt;/code&gt;&lt;br /&gt;To unzip a jar file we can use any of the unzip software like WinZip etc. Otherwise we can use the below command to unzip:&lt;br /&gt; &lt;code&gt;jar -xf foo.jar&lt;/code&gt;&lt;p&gt;&lt;br /&gt;These files can also include a &lt;span style=&quot;font-weight:bold;&quot;&gt;Classpath&lt;/span&gt; entry, which identifies other JAR files for loading with the JAR. This entry consists of a list of absolute or relative paths to other JAR files. Although intended to simplify JAR use, in practice it turns out to be notoriously brittle, as it depends on all the relevant JARs being in the exact locations specified when the entry-point JAR was built. To change versions or locations of libraries, a new manifest is needed.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Developers can digitally sign JAR files. In that case, the signature information becomes part of the manifest file. The JAR itself is not signed, but instead every file inside the archive is listed along with its checksum; it is these checksums that are signed. Multiple entities may sign the JAR file, changing the JAR file itself with each signing, although the signed files themselves remain valid. When the &lt;span style=&quot;font-weight:bold;&quot;&gt;Java runtime&lt;/span&gt; loads signed JAR files, it can validate the signatures and refuse to load classes that do not match the signature. It can also support &#39;sealed&#39; packages, in which the &lt;span style=&quot;font-weight:bold;&quot;&gt;Classloader&lt;/span&gt; will only permit Java classes to be loaded into the same package if they are all signed by the same entities. This prevents malicious code from being inserted into an existing package, and so gaining access to package-scoped classes and data.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Developers can obfuscate JAR files so that a user of the JAR file doesn&#39;t get much information regarding the code it contains, or to reduce its size, which is useful in mobile phone applications.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Microsoft Windows users who prefer having Windows EXE files can use tools such as JSmooth, Launch4J, WinRun4J or NSIS - Java Launcher with automatic JRE installation to wrap JAR files into executables. Eclipse uses a small EXE launcher (eclipse.exe) to display the splash screen on startup and launch the application from the main JAR (startup.jar).&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;h2&gt;Apache Ant Zip/JAR support&lt;/h2&gt;&lt;br /&gt;The Apache Ant build tool has its own package to read and write Zip and JAR archives, including support for the Unix filesystem extensions. The org.apache.tools.zip package is released under the Apache Software Foundation license and is designed to be usable outside Ant.&lt;br /&gt;&lt;p&gt;&lt;h2&gt;Related formats&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Several related file formats build on the JAR format:&lt;br /&gt;&lt;p&gt;&lt;br /&gt;• WAR (Web Application aRchive) files, also Java archives, store XML files, Java classes, JavaServer Pages and other objects for Web Applications.&lt;br /&gt;• RAR (Resource Adapter aRchive) files (not to be confused with the RAR file format), also Java archives, store XML files, Java classes and other objects for J2EE Connector Architecture (JCA) applications.&lt;br /&gt;• EAR (Enterprise ARchive) files provide composite Java archives which combine XML files, Java classes and other objects including JAR, WAR and RAR Java archive files for Enterprise Applications.&lt;br /&gt;• SAR (Service ARchive) is similar to EAR. It provides a service.xml file and accompanying JAR files.&lt;br /&gt;                                                 Source : http://en.wikipedia.org/wiki/JAR_%28file_format%29&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2010/07/java-archive-jar.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-3202193020610063345</guid><pubDate>Mon, 19 Jul 2010 05:43:00 +0000</pubDate><atom:updated>2011-07-18T12:54:28.982+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java</category><category domain="http://www.blogger.com/atom/ns#">Javascript</category><title>Using Java Script on your Command Prompt</title><description>Hey, did you know we could  use Javascript alone on the &lt;b&gt;Command Prompt Window&lt;/b&gt; and see the results directly. Here&#39;s How its Done ....&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;big&gt; What Do We Need ? &lt;/big&gt;&lt;br /&gt;Firstly Make Sure You Have The Following Two Things Done Successfully:&lt;br /&gt;&lt;br /&gt;1. You have Installed A (any) Version of JDK (JAVA DEVELOPMENT KIT).&lt;br /&gt;2.You have appended $JAVA_HOME to your Environmental variable called &quot;Path&quot; (some versions of Windows may call it &quot;ClassPath&quot;).&lt;br /&gt;&lt;br /&gt;If you have done this , you can skip the next part and directly to the &lt;a href=&quot;#working_section&quot;&gt;Working Section&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;1.Installing Java&lt;/big&gt;&lt;br /&gt;The Former of the Two Requirements can be Downloaded from &lt;a href=&quot;http://java.com/en/download/index.jsp&quot;&gt;java.sun.com&lt;/a&gt;(Java&#39;s Primary Website).&lt;br /&gt;&lt;br /&gt;If you are Facing any Problems, you can Download them &lt;a href=&quot;http://javadl.sun.com/webapps/download/AutoDL?BundleId=40951&quot;&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After Downloading, run the EXE File and Select the Home Directory for Installing Java, which by default is &quot;C:\Program Files\Java&quot;.&lt;br /&gt;&lt;br /&gt;Note that this EXE File will install Both Java Development Kit (JDK) and Java Runtime Environment (JRE). JDK is necessary for building and compiling Java programs while JRE, as the name suggests is necessary for running these programs.&lt;br /&gt;&lt;br /&gt;&lt;big&gt;2. Setting up The Environmental variable&lt;/big&gt;&lt;br /&gt;(The Following discussion is for Windows XP Professional, as i haven&#39;t tried out Vista and Windows 7 as such.&lt;br /&gt;Also Let us Assume That JDK has been installed as &quot;C:Program Files\Java\jdk x.y.z&quot;&lt;br /&gt;where x.y.z refers to the version of JDK, such as 1.6.0 prevalent at the time of this writing.)&lt;br /&gt;&lt;br /&gt;After you have installed JDK, do the following:&lt;br /&gt;1. Go to Control Panel (Classic View).&lt;br /&gt;2. Open &quot;System&quot;.&lt;br /&gt;3. Click on &quot;Advanced&quot; Tab.&lt;br /&gt;4. Click on &quot;Environmental Variables&quot;.&lt;br /&gt;5. In the &quot;System Variables&quot; sub-window, search for a variable named &quot;Path&quot;.&lt;br /&gt;6. Click on this variable and then Click on &quot;Edit&quot;.&lt;br /&gt;7. Type (in the beginning of the content box named &quot;Variable Value&quot;)                 &quot;$JAVA_HOME\bin;&quot;, where &lt;b&gt;$JAVA_HOME&lt;/b&gt; refers to the directory where your JDK is installed (which , in our case is &quot;C:Program Files\Java\jdk x.y.z&quot; and so you need to type &quot;C:\Program Files\Java\jdk x.y.z\bin;&quot;.)&lt;br /&gt;&lt;br /&gt;Note that you must include semi-colon(;) at the end of &quot;$JAVA_HOME\bin&quot;. Also you do not need to include the double qoutes. Type without double qoutes.&lt;br /&gt;&lt;br /&gt;8.Click on OK three times and then Close the Control panel Window.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;3.Testing Whether Everything Is Fine &lt;/big&gt;&lt;br /&gt;     As a small Test, open your Command Prompt Window (CLick on StartMenu -&gt; Run and the type &quot;cmd&quot; (without quotes) and CLick on  OK.).&lt;br /&gt;&lt;br /&gt;     Type &lt;big&gt;&quot;java -version&quot;&lt;/big&gt; (without quotes).&lt;br /&gt;&lt;br /&gt;   If everything works fine, A Sample Output would be :&lt;br /&gt;&lt;big&gt;&lt;br /&gt;java version &quot;1.6.0&quot;&lt;br /&gt;Java(TM) SE Runtime Environment (build 1.6.0-b105)&lt;br /&gt;Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;Congratulations!!! Everything is Working Fine !!!&lt;br /&gt;&lt;br /&gt;In case of any Errors, please review the steps or else let me know. For e.g. if there is any problems in Step 1 or 2, you may get the following error statement on the Command Prompt Window.&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;br /&gt;&#39;java&#39; is not recognized as an internal or external command,&lt;br /&gt;operable program or batch file.&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;b style=&quot;font-size:25px&quot;&gt;&lt;br /&gt;&lt;a name=&quot;working_section&quot;&gt;How To Run Javascript ?&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Open Command prompt Shell and type &quot;jrunscript&quot; (without quotes)&lt;br /&gt;&lt;br /&gt;You window should have something like this (for XP.)&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;C:\Documents and Settings\Admin&gt;jrunscript&lt;br /&gt;js&gt;&lt;br /&gt;&lt;/code&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now try the Following sample javscript commands&lt;br /&gt;(Note that these are actually used in Java not Javascript. jrunscript can also be used to execute Java commands, although the syntax is slightly different.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;importPackage(Packages.javax.swing);&lt;br /&gt;frame=new JFrame();&lt;br /&gt;label=new JLabel(&quot;Hello, World!&quot;);&lt;br /&gt;frame.add(label);&lt;br /&gt;frame.setSize(200,100);&lt;br /&gt;frame.setVisible(true);&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;br /&gt;At this point of time you may see a frame with a &quot;Hello,World!&quot; label inside it.&lt;br /&gt;In case of any errors in this post , please inform me.&lt;br /&gt;Thank You.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/big&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2010/07/using-java-script-on-your-command.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3789023615618480387.post-7441082068413688207</guid><pubDate>Sat, 17 Jul 2010 05:29:00 +0000</pubDate><atom:updated>2011-07-18T12:54:28.982+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java</category><category domain="http://www.blogger.com/atom/ns#">JSF</category><title>A Simple JSF Tutorial</title><description>&lt;h1 class=&quot;title&quot;&gt; &lt;/h1&gt;&lt;h1 class=&quot;title&quot;&gt;JavaServer Faces (JSF) Tutorial&lt;/h1&gt;&lt;br /&gt;&lt;h1&gt;JSF KickStart: A Simple JavaServer Faces Application&lt;/h1&gt;&lt;br /&gt;&lt;p&gt;In this tutorial, we will show you an example of a JSF application developed without any special IDE. We won&#39;t dwell on the theory behind JSF here. There are plenty of&lt;br /&gt;sites and books that will do that for you. Instead, we will go quickly into the construction of this simple application that we hope can form the basis for you to start&lt;br /&gt;developing more advanced applications.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;What Will You Need?&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;You will need the following to complete this tutorial:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;JDK 1.4&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Tomcat 5.0 or any other servlet container (JBoss, Resin, JRun).&lt;br /&gt;We will use Tomcat in this example.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ant&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;We will provide you with many of the project files so that you don&#39;t&lt;br /&gt;need to create them yourself. We will be concentrating primarily on the&lt;br /&gt;actual JSF application, not on creating Ant scripts or web.xml files.&lt;br /&gt;These files will be provided for you.&lt;br /&gt;You will just need to copy and paste content from this tutorial.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;What Are We Going to Build?&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;You may have guessed by now. We are going to build a&lt;br /&gt;&quot;Hello, world&quot; (actually &quot;Welcome to JSF, &amp;lt;user&amp;gt;!&quot;)&lt;br /&gt;type application using JSF. This should give you a solid start with JSF.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;We will create two pages. The first page will prompt a user&lt;br /&gt;to enter his or her name and the second page will show a greeting. This is a sample of the input page:&lt;/p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://4.bp.blogspot.com/_n7YT-5J7SFU/TEFounKWq3I/AAAAAAAAAEA/97Nc3Cyrw-M/s1600/JSFKickStartPankaj.png&quot;&gt;&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 200px;&quot; src=&quot;http://4.bp.blogspot.com/_n7YT-5J7SFU/TEFounKWq3I/AAAAAAAAAEA/97Nc3Cyrw-M/s320/JSFKickStartPankaj.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5494788170364398450&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://4.bp.blogspot.com/_n7YT-5J7SFU/TEFmmJysQlI/AAAAAAAAADY/htGPDw8H1mg/s1600/JSFKickStartPankaj.png&quot;&gt;&lt;/a&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;and this is a sample of the result page:&lt;br /&gt;&lt;/p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_n7YT-5J7SFU/TEFn9njT-BI/AAAAAAAAADo/6B_hUu0-EIw/s1600/JSFKickStartResult.png&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_n7YT-5J7SFU/TEFo0lNQVHI/AAAAAAAAAEI/IvepVEYnEPE/s1600/JSFKickStartResult.png&quot;&gt;&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 200px;&quot; src=&quot;http://2.bp.blogspot.com/_n7YT-5J7SFU/TEFo0lNQVHI/AAAAAAAAAEI/IvepVEYnEPE/s320/JSFKickStartResult.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5494788272918910066&quot; border=&quot;0&quot; /&gt;&lt;/a&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;h2&gt;JSF Application Structure&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;We have provided you with a pre-made project structure skeleton&lt;br /&gt;in an archive called &lt;b&gt;jsfks.zip&lt;/b&gt; that you can &lt;a href=&quot;http://www.exadel.com/tutorial/jsf/misc/jsfks.zip&quot;&gt;download&lt;/a&gt;&lt;br /&gt;and unzip. After unzipping you should have the following structure:&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;jsfks&lt;br /&gt;/ant&lt;br /&gt;build.xml&lt;br /&gt;/JavaSource&lt;br /&gt;/WebContent&lt;br /&gt;/WEB-INF&lt;br /&gt;/classes&lt;br /&gt;/lib&lt;br /&gt;jsf-impl.jar&lt;br /&gt;jsf-api.jar&lt;br /&gt;faces-config.xml&lt;br /&gt;web.xml&lt;br /&gt;/pages&lt;br /&gt;&lt;/pre&gt;This is a typical skeleton structure for a Web application like JSF. Now, let&#39;s go through the different parts of the skeleton structure.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border=&quot;1&quot;&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;folder or file&lt;/th&gt;&lt;th&gt;explanation&lt;/th&gt;&lt;br /&gt;&lt;/tr&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;jsfks&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Project folder with project name&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;  /ant&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;td&gt;This folder holds Ant build scripts including a default &lt;b&gt;build.xml&lt;/b&gt; file.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;  /JavaSource&lt;/td&gt;&lt;br /&gt;&lt;td&gt;This folder is where you place your own Java source classes and properties files.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;  /WebContent&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;td&gt;This folder holds the actual Web application files used by the application server or servlet container. &lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;    /WEB-INF&lt;/td&gt;&lt;br /&gt;&lt;td&gt;This folder inside the &lt;b&gt;WebContent&lt;/b&gt; folder holds files that are used as part of the runtime Web application but are hidden from the browser.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;      /classes&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;td&gt;This folder inside the &lt;b&gt;WEB-INF&lt;/b&gt; folder holds compiled Java classes along with properties files copied from &lt;b&gt;JavaSource&lt;/b&gt;.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;      /lib&lt;/td&gt;&lt;br /&gt;&lt;td&gt;This folder inside the &lt;b&gt;WEB-INF&lt;/b&gt; folder holds libraries required by your application, for example, third party Jar files.&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;        jsf-impl.jar&lt;br /&gt;jsf-api.jar&lt;/td&gt;&lt;br /&gt;&lt;td&gt;These two files inside the &lt;b&gt;lib&lt;/b&gt; folder are&lt;br /&gt;library files included with the JavaServer Faces v1.1&lt;br /&gt;Reference Implementation. Every JSF application requires these files.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;      web.xml&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;td&gt;This file inside the &lt;b&gt;WEB-INF&lt;/b&gt; folder is the Web Application Deployment Descriptor for your application. This is an XML file describing the servlets and other components that make up your application.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;      faces-config.xml&lt;/td&gt;&lt;br /&gt;&lt;td&gt;This file inside the &lt;b&gt;WEB-INF&lt;/b&gt; folder is the JavaServer Faces configuration file.&lt;br /&gt;This file lists bean resources and navigation rules.&lt;br /&gt;We will cover this file in more detail later.&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;    pages&lt;/td&gt;&lt;br /&gt;&lt;td&gt;This folder inside the &lt;b&gt;WebContent&lt;/b&gt; folder holds JSP and HTML presentation pages.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;We have already provided you with two complete project files in&lt;br /&gt;the the project, &lt;b&gt;web.xml&lt;/b&gt; and&lt;br /&gt;&lt;br /&gt;&lt;b&gt;build.xml&lt;/b&gt;, so that you don&#39;t have to spend time creating&lt;br /&gt;these. (This tutorial is not about creating these kinds of files.)&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;The Steps&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;We will complete the following steps:&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Create JSP pages&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Define a navigation rule&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create a managed bean&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Create a properties file&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Edit JSP pages&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create an index.jsp file&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Compile the application&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Deploy and run the application&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Let&#39;s get started.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Downloadable Version of Finished Project&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;But first note that we have also provided you with the finished application in case you just want to just run it and skip&lt;br /&gt;most of the steps. If you want to do this, you can &lt;a href=&quot;http://www.exadel.com/tutorial/jsf/misc/jsfks-done.zip&quot;&gt;download&lt;/a&gt; and unzip &lt;b&gt;jsfks-done.zip&lt;/b&gt;. Then skip to the &lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=3789023615618480387&amp;amp;postID=7441082068413688207#compile&quot;&gt;&quot;compile&quot; step&lt;/a&gt; and go from there.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Creating JSP Pages&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Create the &lt;b&gt;inputname.jsp&lt;/b&gt; and &lt;b&gt;greeting.jsp&lt;/b&gt; files in&lt;br /&gt;&lt;b&gt;WebContent/pages/&lt;/b&gt;. You only need to create the JSP&lt;br /&gt;files. The directory structure already exists.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;These files will act as place holders for now. We&lt;br /&gt;will complete the content of the files a little bit later.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Now that we have the two JSP pages, we can create a navigation rule.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Navigation&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Navigation is the heart of JavaServer Faces. The navigation rule for this application&lt;br /&gt;is described in the &lt;b&gt;faces-config.xml&lt;/b&gt; file. This file already exists in the skeleton directory structure. You just need to create its contents.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;In our application, we just want to go from &lt;b&gt;inputname.jsp&lt;/b&gt;&lt;br /&gt;to &lt;b&gt;greeting.jsp&lt;/b&gt;. As a diagram, it would look something like this:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;img src=&quot;http://www.exadel.com/tutorial/jsf/images/navRules.gif&quot; border=&quot;1&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Image from Exadel Studio Pro&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;The navigation rule shown in the picture is defined below.&lt;br /&gt;The rule says that from the view (page) &lt;b&gt;inputname.jsp&lt;/b&gt; go&lt;br /&gt;to the view (page) &lt;b&gt;greeting.jsp&lt;/b&gt;, if the &quot;outcome&quot; of executing &lt;b&gt;inputname.jsp&lt;/b&gt; is &lt;b&gt;greeting&lt;/b&gt;.&lt;br /&gt;And that&#39;s all there is to this.&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;navigation-rule&amp;gt;&lt;br /&gt;&amp;lt;from-view-id&gt;/pages/inputname.jsp&amp;lt;/from-view-id&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;navigation-case&amp;gt;&lt;br /&gt;&amp;lt;from-outcome&gt;greeting&amp;lt;/from-outcome&gt;&lt;br /&gt;&amp;lt;to-view-id&gt;/pages/greeting.jsp&amp;lt;/to-view-id&amp;gt;&lt;br /&gt;&amp;lt;/navigation-case&amp;gt;&lt;br /&gt;&amp;lt;/navigation-rule&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This is, of course, a very simple navigation rule.&lt;br /&gt;You can easily create more complex ones. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Creating the Managed Bean&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Next, we will create a &lt;b&gt;jsfks&lt;/b&gt; folder inside the &lt;b&gt;JavaSource&lt;/b&gt; folder. Inside this &lt;b&gt;jsfks&lt;/b&gt; folder, we will create a &lt;b&gt;PersonBean.java&lt;/b&gt; file. This class is straight-forward. It&#39;s a simple Java bean with one attribute and setter/getter methods.&lt;br /&gt;The bean simply captures the name entered by a user after&lt;br /&gt;the user clicks the submit button. This way the bean provides a bridge&lt;br /&gt;between the JSP page and the application logic. (Please note&lt;br /&gt;that the field name in the JSP file must exactly match the&lt;br /&gt;attribute name in the bean.)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;PersonBean.java&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Put this code in the file:&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;package jsfks;&lt;br /&gt;&lt;br /&gt;public class PersonBean {&lt;br /&gt;&lt;br /&gt;String personName;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @return Person Name&lt;br /&gt;*/&lt;br /&gt;public String getPersonName() {&lt;br /&gt;return personName;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @param Person Name&lt;br /&gt;*/&lt;br /&gt;public void setPersonName(String name) {&lt;br /&gt;personName = name;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Later you will see how to &quot;connect&quot; this bean with the JSP page.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Declaring the Bean in faces-config.xml&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Now, the second part of &lt;b&gt;faces-config.xml&lt;/b&gt; describes our Java bean that we created&lt;br /&gt;in the previous steps. This section defines a bean name &lt;b&gt;PersonBean&lt;/b&gt;. The next line&lt;br /&gt;is the full class name, &lt;b&gt;jsfks.PersonBean&lt;/b&gt;. &lt;b&gt;request&lt;/b&gt; sets the bean scope&lt;br /&gt;in the application.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;managed-bean&amp;gt;&lt;br /&gt;&amp;lt;managed-bean-name&gt;personBean&amp;lt;/managed-bean-name&amp;gt;&lt;br /&gt;&amp;lt;managed-bean-class&gt;jsfks.PersonBean&amp;lt;/managed-bean-class&amp;gt;&lt;br /&gt;&amp;lt;managed-bean-scope&gt;request&amp;lt;/managed-bean-scope&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/managed-bean&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;faces-config.xml&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Your final &lt;b&gt;faces-config.xml&lt;/b&gt; file should look like this:&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?xml version=&quot;1.0&quot;?&gt;&lt;br /&gt;&amp;lt;!DOCTYPE faces-config PUBLIC&lt;br /&gt;&quot;-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN&quot;&lt;br /&gt;&quot;http://java.sun.com/dtd/web-facesconfig_1_1.dtd&quot;&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;faces-config&gt;&lt;br /&gt;&amp;lt;navigation-rule&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;from-view-id&gt;/pages/inputname.jsp&amp;lt;/from-view-id&amp;gt;&lt;br /&gt;&amp;lt;navigation-case&amp;gt;&lt;br /&gt;&amp;lt;from-outcome&gt;greeting&amp;lt;/from-outcome&gt;&lt;br /&gt;&amp;lt;to-view-id&gt;/pages/greeting.jsp&amp;lt;/to-view-id&amp;gt;&lt;br /&gt;&amp;lt;/navigation-case&amp;gt;&lt;br /&gt;&amp;lt;/navigation-rule&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;managed-bean&amp;gt;&lt;br /&gt;&amp;lt;managed-bean-name&gt;personBean&amp;lt;/managed-bean-name&amp;gt;&lt;br /&gt;&amp;lt;managed-bean-class&gt;jsfks.PersonBean&amp;lt;/managed-bean-class&amp;gt;&lt;br /&gt;&amp;lt;managed-bean-scope&gt;request&amp;lt;/managed-bean-scope&amp;gt;&lt;br /&gt;&amp;lt;/managed-bean&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/faces-config&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Creating a Properties File (Resource Bundle)&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;A properties file is just a file with param=value pairs.&lt;br /&gt;We use the messages stored in the properties file in our JSP pages. Keeping the messages separate from the JSP page allows us to quickly modify&lt;br /&gt;the messages without editing the JSP page.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Let&#39;s create a &lt;b&gt;bundle&lt;/b&gt; folder in the&lt;br /&gt;&lt;b&gt;JavaSource/jsfks&lt;/b&gt; folder and then a &lt;b&gt;messages.properties&lt;/b&gt; file in the&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bundle&lt;/b&gt; folder. We need to place it in the &lt;b&gt;JavaSource&lt;/b&gt; folder&lt;br /&gt;so that during project compilation, this properties file will be copied to the&lt;br /&gt;&lt;b&gt;classes&lt;/b&gt; folder where the runtime can find it.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;messages.properties&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Put this text in the properties file:&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;inputname_header=JSF KickStart&lt;br /&gt;prompt=Tell us your name:&lt;br /&gt;greeting_text=Welcome to JSF&lt;br /&gt;button_text=Say Hello&lt;br /&gt;sign=!&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;We now have everything to create the JSP pages.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Editing the JSP Pages&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Two pages should already have been created in &lt;b&gt;jsks/WebContent/pages&lt;/b&gt;.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;inputname.jsp&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Put the following coding into this file:&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;%@ taglib uri=&quot;http://java.sun.com/jsf/html&quot; prefix=&quot;h&quot; %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@ taglib uri=&quot;http://java.sun.com/jsf/core&quot; prefix=&quot;f&quot; %&amp;gt;&lt;br /&gt;&amp;lt;f:loadBundle basename=&quot;jsfks.bundle.messages&quot; var=&quot;msg&quot;/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&gt;&lt;br /&gt;&amp;lt;title&gt;enter your name page&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;f:view&amp;gt;&lt;br /&gt;&amp;lt;h1&gt;&lt;br /&gt;&amp;lt;h:outputText value=&quot;#{msg.inputname_header}&quot;/&amp;gt;&lt;br /&gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;lt;h:form id=&quot;helloForm&quot;&amp;gt;&lt;br /&gt;&amp;lt;h:outputText value=&quot;#{msg.prompt}&quot;/&amp;gt;&lt;br /&gt;&amp;lt;h:inputText value=&quot;#{personBean.personName}&quot; /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;h:commandButton action=&quot;greeting&quot; value=&quot;#{msg.button_text}&quot; /&amp;gt;&lt;br /&gt;&amp;lt;/h:form&amp;gt;&lt;br /&gt;&amp;lt;/f:view&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Now, let&#39;s explain the important sections in this file&lt;br /&gt;after displaying the code for each section starting from the top.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;%@ taglib uri=&quot;http://java.sun.com/jsf/html&quot; prefix=&quot;h&quot; %&amp;gt;&lt;br /&gt;&amp;lt;%@ taglib uri=&quot;http://java.sun.com/jsf/core&quot; prefix=&quot;f&quot; %&amp;gt;&lt;br /&gt;&amp;lt;f:loadBundle basename=&quot;jsfks.bundle.messages&quot; var=&quot;msg&quot;/&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The first line of these three is a directive that tells us where to find JSF tags&lt;br /&gt;that define HTML elements and the second directive tells us where to find&lt;br /&gt;JSF tags that define core JSF elements. The third line loads our properties file (resource bundle) that holds messages that we want to display in our JSP page.&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;h:outputText value=&quot;#{msg.inputname_header}&quot;/&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This tag simply tells us to look in the resource bundle that&lt;br /&gt;we defined at the top of the page. Then, look up the value for&lt;br /&gt;&lt;b&gt;inputname_header&lt;/b&gt; in that file and print it here.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;1 &amp;lt;h:form id=&quot;helloForm&quot;&amp;gt;&lt;br /&gt;2   &amp;lt;h:outputText value=&quot;#{msg.prompt}&quot;/&amp;gt;&lt;br /&gt;3   &amp;lt;h:inputText id=&quot;name&quot; value=&quot;#{personBean.personName}&quot; /&amp;gt;&lt;br /&gt;4   &amp;lt;h:commandButton action=&quot;greeting&quot; value=&quot;#{msg.button_text}&quot; /&amp;gt;&lt;br /&gt;&lt;br /&gt;5 &amp;lt;/h:form&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Line 1. Creates an HTML form using JSF tags.&lt;br /&gt;&lt;br /&gt;Line 2. Prints a message from the properties file using the value of &lt;b&gt;prompt&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Line 3. Creates an HTML input text box. The &lt;b&gt;id&lt;/b&gt; is just the id of this field. In the &lt;b&gt;value&lt;/b&gt;&lt;br /&gt;attribute we connect (bind) this field to the managed bean attribute&lt;br /&gt;that we created before.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Line 4. JSF tags for the HTML form&#39;s submit button. The button&#39;s value&lt;br /&gt;is being retrieved from the properties file. While the button&#39;s &lt;b&gt;action&lt;/b&gt;&lt;br /&gt;attribute is set to &lt;b&gt;greeting&lt;/b&gt; which matches the navigation-outcome&lt;br /&gt;in &lt;b&gt;faces-config.xml&lt;/b&gt; file. That&#39;s how JSF knows where to go next.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;greeting.jsp&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Put this coding inside the second JSP file:&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;%@ taglib uri=&quot;http://java.sun.com/jsf/html&quot; prefix=&quot;h&quot; %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@ taglib uri=&quot;http://java.sun.com/jsf/core&quot; prefix=&quot;f&quot; %&amp;gt;&lt;br /&gt;&amp;lt;f:loadBundle basename=&quot;jsfks.bundle.messages&quot; var=&quot;msg&quot;/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&gt;&lt;br /&gt;&amp;lt;title&gt;greeting page&amp;lt;/title&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;f:view&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;h3&amp;gt;&lt;br /&gt;&amp;lt;h:outputText value=&quot;#{msg.greeting_text}&quot; /&amp;gt;,&lt;br /&gt;&amp;lt;h:outputText value=&quot;#{personBean.personName}&quot; /&amp;gt;&lt;br /&gt;&amp;lt;h:outputText value=&quot;#{msg.sign}&quot; /&amp;gt;&lt;br /&gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;/f:view&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This page is very simple. The first three lines are identical to&lt;br /&gt;our first page. Theses lines import JSF tag libraries and our properties file (resource bundle) with the messages.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The main code of interest to us is between the &lt;b&gt;&amp;lt;h3&amp;gt;..&amp;lt;/h3&amp;gt;&lt;/b&gt; tags.&lt;br /&gt;The first line will take a message from the resource bundle and print it on&lt;br /&gt;the page. The second line will access a Java bean,&lt;br /&gt;specifically the bean attribute &lt;b&gt;personName&lt;/b&gt;, and also print its&lt;br /&gt;contents on the page.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Once this page is displayed in a Web browser, you will see&lt;br /&gt;something like this:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Welcome to JSF, &lt;i&gt;name&lt;/i&gt;!&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/h3&gt;&lt;br /&gt;&lt;h2&gt;Creating the index.jsp File&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;We will now create a third JSP file that doesn&#39;t actually&lt;br /&gt;function as a presentation page. It uses a JSP tag to &quot;forward&quot;&lt;br /&gt;to the &lt;b&gt;inputname.jsp&lt;/b&gt; page.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Create the &lt;b&gt;index.jsp&lt;/b&gt; file inside the &lt;b&gt;WebContent&lt;/b&gt; folder.&lt;br /&gt;Note that this file is &lt;i&gt;not&lt;/i&gt; created in the &lt;b&gt;pages&lt;/b&gt; folder like&lt;br /&gt;the previous JSP files.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Having an &lt;b&gt;index.jsp&lt;/b&gt; file will allow us to start the application like this:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;http://localhost:8080/jsfks/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Now, put this coding into the file:&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;jsp:forward page=&quot;/pages/inputname.jsf&quot; /&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;If you look at the path for the forward,&lt;br /&gt;you&#39;ll notice the file suffix is &lt;b&gt;.jsf&lt;/b&gt; and not &lt;b&gt;.jsp&lt;/b&gt;.&lt;br /&gt;This is used here, because in the &lt;code&gt;web.xml&lt;/code&gt;&lt;br /&gt;file for the application &lt;code&gt;*.jsf&lt;/code&gt; is&lt;br /&gt;the URL pattern used to signal that the forwarded page&lt;br /&gt;should be handled by the JavaServer Faces servlet within Tomcat.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;We are almost done with this example.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name=&quot;compile&quot;&gt;&lt;/a&gt;&lt;h2&gt;Compiling&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;An Ant build script is provided for you. To build the application run the &lt;b&gt;build.xml&lt;/b&gt;&lt;br /&gt;script from the ant folder:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;ant build&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Deploying&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Before you can run this application within the servlet container,&lt;br /&gt;we need to deploy it. We will use null (link) deployment to deploy the application in-place. To do this we need to register a context in Tomcat&#39;s &lt;b&gt;{TomcatHome}\conf\server.xml&lt;/b&gt; file.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;To do this, insert this code:&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;Context debug=&quot;0&quot;&lt;br /&gt;docBase=&quot;Path_to_WebContent&quot;&lt;br /&gt;path=&quot;/jsfks&quot; reloadable=&quot;true&quot;/&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;near the end of the &lt;b&gt;server.xml&lt;/b&gt; file within the &lt;b&gt;Host&lt;/b&gt; element just before the closing &lt;b&gt;&amp;lt;/Host&amp;gt;&lt;/b&gt; tag. Of course, &lt;b&gt;Path_to_WebContent&lt;/b&gt; needs to be replaced with the exact path on your system to the &lt;b&gt;WebContent&lt;/b&gt; folder inside the &lt;b&gt;jsfks&lt;/b&gt; folder (for example, &lt;code&gt;C:/examples/jsfks/WebContent&lt;/code&gt;).&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Running&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Next, start the Tomcat server&lt;br /&gt;(probably using the script &lt;b&gt;startup.bat&lt;/b&gt; in&lt;br /&gt;Tomcat&#39;s &lt;b&gt;bin&lt;/b&gt; directory).&lt;br /&gt;When Tomcat is done loading, launch a web browser and&lt;br /&gt;enter: &lt;b&gt;http://localhost:8080/jsfks&lt;/b&gt;.&lt;br /&gt;(Port 8080 is the default port in Tomcat.&lt;br /&gt;Your setup, though, might possibly be different).&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Try This!&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;It&#39;s always a good learning experience to modify the application after you are done. Let&#39;s try a simple modification.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Let&#39;s say we want to initialize the &lt;b&gt;name&lt;/b&gt; value. In other words,&lt;br /&gt;when we first run the application, the input text field should have&lt;br /&gt;a value already displayed.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;It is very simply to do this in JSF. We can provide&lt;br /&gt;an initial value in the &lt;b&gt;faces-config.xml&lt;/b&gt; file, in the managed bean section. The lines in bold from this section show what we need to add. These lines declare a managed&lt;br /&gt;bean property of type &lt;b&gt;java.lang.String&lt;/b&gt; and then set its value&lt;br /&gt;to &lt;b&gt;JavaJoe&lt;/b&gt;.&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;managed-bean&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;managed-bean-name&gt;personBean&amp;lt;/managed-bean-name&amp;gt;&lt;br /&gt;&amp;lt;managed-bean-class&gt;jsfks.PersonBean&amp;lt;/managed-bean-class&amp;gt;&lt;br /&gt;&amp;lt;managed-bean-scope&gt;request&amp;lt;/managed-bean-scope&amp;gt;&lt;b&gt;&lt;br /&gt;&amp;lt;managed-property&amp;gt;&lt;br /&gt;&amp;lt;property-name&gt;personName&amp;lt;/property-name&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property-class&gt;java.lang.String&amp;lt;/property-class&amp;gt;&lt;br /&gt;&amp;lt;value&gt;JavaJoe&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/managed-property&amp;gt;&lt;/b&gt;&lt;br /&gt;&amp;lt;/managed-bean&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;You don&#39;t even need to recompile anything, just restart Tomcat and launch the application.&lt;/p&gt;&lt;br /&gt;&lt;!-- Kontera ContentLink(TM);--&gt;&lt;br /&gt;&lt;script type=&#39;text/javascript&#39;&gt;&lt;br /&gt;var dc_AdLinkColor = &#39;#0000ff&#39; ;var dc_PublisherID = 148914 ;&lt;/script&gt;&lt;br /&gt;&lt;script type=&#39;text/javascript&#39; src=&#39;http://kona.kontera.com/javascript/lib/KonaLibInline.js&#39;&gt;&lt;br /&gt;&lt;/script&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Subscribe to My Blog for feeds with FeedBurner&lt;/div&gt;</description><link>http://javaatpankajs.blogspot.com/2010/07/simple-jsf-tutorial.html</link><author>noreply@blogger.com (Pankaj Bhambhani)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_n7YT-5J7SFU/TEFounKWq3I/AAAAAAAAAEA/97Nc3Cyrw-M/s72-c/JSFKickStartPankaj.png" height="72" width="72"/><thr:total>0</thr:total></item></channel></rss>