tag:blogger.com,1999:blog-64423142613363503282024-03-12T16:46:34.660-07:00Hariraj SundaravadiveluWeb Developer,Software Engineer.Harirajhttp://www.blogger.com/profile/05040376723037361480noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-6442314261336350328.post-57646854231926225152015-07-26T12:13:00.002-07:002015-07-28T11:38:31.910-07:00Celebrating 5 years of Professional experience in S/W development!<div dir="ltr" style="text-align: left;" trbidi="on">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihKV3h560f_w20lDAqRGqAbZvBQWqXssuK3tHJwPlKtPv9E7o_J1bmCd08Q07-GXkiErgPqXbSvG_ulTUKE7lR2r5mHpP3RPJjfl4rL8mv9AyBL0YYL_AmPnSJgVcC6CDTDuWLBM-QlazL/s1600/final1.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihKV3h560f_w20lDAqRGqAbZvBQWqXssuK3tHJwPlKtPv9E7o_J1bmCd08Q07-GXkiErgPqXbSvG_ulTUKE7lR2r5mHpP3RPJjfl4rL8mv9AyBL0YYL_AmPnSJgVcC6CDTDuWLBM-QlazL/s640/final1.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">My Team mates in different projects</td></tr>
</tbody></table>
<br />
<div style="text-align: justify;">
Today I completed 5 years as a Software Engineer! I had a quick retrospect in my mind to see whether I'm on track to reach where I want to be. During the retrospective I was answering so many questions to do self-evaluation. I was also devising some new plans and strategy to achieve the goals that I missed.</div>
<br />
Below is one such question that I had asked myself during the retrospect. I wanted to share the results with you all.<br />
<br />
<u><b>Question:</b></u> <i>'What do I consider as the biggest gain in this 5 year?'</i><br />
<br />
<br />
In order to figure out the answer, I quickly came up with the below choices to analyze.<br />
<br />
<ol style="text-align: left;">
<li style="text-align: justify;">Is that the programming languages, tools and technologies that I learned and expertized working for 5 years?</li>
<li style="text-align: justify;">Is that the analytical and innovative thinking skills that I got working in multiple projects for multiple clients?</li>
<li style="text-align: justify;">Is that the communication skill and professional behavioral skills I developed over this years?</li>
<li style="text-align: justify;">Is that the mental maturity I got to treat the success and failure, to handle the expectations and disappointments?</li>
<li style="text-align: justify;">Is that the money I earned over this years? (My mind immediately reminded me about the pending bank loans and my outstanding credit card bill amount :P . I immediately identified this as a wrong answer but I'm keeping this just to increase the possible answers count :P)</li>
<li style="text-align: justify;">Is that the friends I gained and the wonderful people I worked/working with?</li>
</ol>
<br />
<div style="text-align: justify;">
At this point #6, I remembered the events like Team outings, Birthday celebrations, the Treats, Conversations during lunch breaks and coffee breaks, Andhra mess lunch, chit chats and gossips during working hours, Movies watched together, Beer parties, Colleagues wedding, Colleagues farewell party, Long bike rides, Table tennis and cricket matches, Bay decorations, Pot lunch, Competitions won. When all those fun filled memories flashed in my mind, I immediately know that the answer to my question is <b>'The Wonderful friends and people I worked/working with'</b>. Without this people in my professional life, I'm not sure whether I would have gained the above mentioned skills. At this moment, I would like to thank all those wonderful friends and people who made/making this journey awesome with full of sweet memories that I can cherish for my lifetime. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
During the rest of my journey, I'm looking forward to gain more and more such wonderful friends across countries and cultures. Thank you!</div>
</div>
Harirajhttp://www.blogger.com/profile/05040376723037361480noreply@blogger.com0tag:blogger.com,1999:blog-6442314261336350328.post-27004578676964328882015-03-17T05:17:00.000-07:002015-03-17T05:27:57.865-07:00Desire #6 - A 50km bicycle ride<div dir="ltr" style="text-align: left;" trbidi="on">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9sVpOVgXd4XvGgpCzioJ3vSRvN_wczyXCpRVAnfgQQlENkEjyqUlBo9r4EbpVSJFOjtvdq9dKYGJFhqzzqM0CPgeUslmpKi89Kcnv4geF8EQcMjQl9oxJtD4ERjaMmmb6BXNcsXBamL3/s1600/Cycle+-+Copy.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9sVpOVgXd4XvGgpCzioJ3vSRvN_wczyXCpRVAnfgQQlENkEjyqUlBo9r4EbpVSJFOjtvdq9dKYGJFhqzzqM0CPgeUslmpKi89Kcnv4geF8EQcMjQl9oxJtD4ERjaMmmb6BXNcsXBamL3/s1600/Cycle+-+Copy.jpg" height="543" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">My Bicycle</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
This crazy desire had its inception way back in 2007 when one of my college friend proudly told me that he had travelled more than 90km (Royapuram-SSN College-Royapuram) in his bicycle. Since this act of him had impressed me, I too wanted to do this. After joining college, I developed a habit of tracking all my desires. So, I have added this to my desire list. This is how this crazy desire got its place in my ever growing desire list.</div>
<div style="text-align: justify;">
<br />
Though I had added this desire to the list, I hadn't put any effort to bring a closure to this desire. In fact, I was busy in spending my time and energy in other priority desires. As time passed, the desire/goal list was growing with more priority ones. So, this cycling desire got least/no attention from me. Time flew by so fast, I graduated from college and joined as a Software engineer in a MNC. Unfortunately, the company/project I joined had lot of work and required me to support during weekends too. The amount of work and the sedentary nature of it made me a couch potato and my stamina level had decreased considerably over time. I thought that I may never able to achieve this desire, and was also concerned about my health. So, to give it a break, I shifted to an organization where there is a good work life balance. After joining the new organization, I got enough time for myself, so I was able to work on my unfulfilled desires and brought down many of them to closure in a very short time. The cycling desire had also gained my attention soon, below is the full story of how I achieved my endurance cycling ride desire.</div>
<div style="text-align: justify;">
<br />
<h3>
</h3>
<h3>
<span style="color: red; font-size: 16.0pt;">The Preparation:</span></h3>
<h3>
<span style="color: red; font-size: 16.0pt;"> </span></h3>
</div>
<div style="text-align: justify;">
In order to increase my lost stamina level I started doing some basic exercises like rope skipping, walking and work outs in orbitrack. I also took out my bicycle and test ridded to check my stamina level. I used Mytrack mobile app to track my progress. During my test ride sessions, I found it difficult to ride bicycle with bare hands, so I had bought a new biking gloves. Within 2 weeks of continuous training and exercise, I got the confidence that I am completely ready for the cycle ride that I was planning for. </div>
<div style="text-align: justify;">
<br />
<table style="width: 100%;">
<tbody>
<tr>
<td><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikWJpyf4C7xecoYI2pWItzdKlYkBydNwNEi8LYNdd4mh41pl5HjU61S0g053k4JAtPP8Bav-O-R-ljwlQ7LFA_D5bya8pSWQQ5_0UdoZ5ucbPxBx-vw7PiYRahLw2JaX7GToQz-3ILIKSn/s1600/2015-03-15+07.57.27.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikWJpyf4C7xecoYI2pWItzdKlYkBydNwNEi8LYNdd4mh41pl5HjU61S0g053k4JAtPP8Bav-O-R-ljwlQ7LFA_D5bya8pSWQQ5_0UdoZ5ucbPxBx-vw7PiYRahLw2JaX7GToQz-3ILIKSn/s1600/2015-03-15+07.57.27.png" height="320" width="180" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Test rides</td></tr>
</tbody></table>
</td>
<td><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRA_Hz_nU51AxYAzbJ-TB-oSQKKtxtJ1HcNN7iVAnbdBWpH_atsWxh4m5VLvEWy5BxhDB4j_LnbxcE-F_-B2UpD2c-9h1yZCwwIA648LChCeF3auoee8spJHu0oTw5yTxFSialozx2IBmk/s1600/gloves.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRA_Hz_nU51AxYAzbJ-TB-oSQKKtxtJ1HcNN7iVAnbdBWpH_atsWxh4m5VLvEWy5BxhDB4j_LnbxcE-F_-B2UpD2c-9h1yZCwwIA648LChCeF3auoee8spJHu0oTw5yTxFSialozx2IBmk/s1600/gloves.jpg" height="239" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">My biking gloves and water bottle</td></tr>
</tbody></table>
</td>
</tr>
</tbody></table>
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: justify;">
<h2>
</h2>
<h3>
<span style="color: red; font-size: 16.0pt;">The Plan:</span> </h3>
</div>
<ul style="text-align: left;">
<li>I had chosen March 9(Monday) as the execution date and also sketched out a very detailed plan for the ride. I ran through the plan many times in my mind to make sure that the plan would work perfectly.</li>
</ul>
<ul style="text-align: left;">
<li> I read the blogs of many experts experience to get tips and to know the do's and don’ts while going for an endurance ride.</li>
</ul>
<div>
<ul style="text-align: left;">
<li>I have also very carefully prepared my playlist. So, that the songs give the right level of spirit and motivation that is needed at the right time during the journey. For example my first song in the playlist was <i>‘Singa nadai pottu sigarathil eru..’</i>. And after 1 hour I had included some motivational songs like <i>' Unnal mudiyum thambi thambi'</i> and during the end of the ride, included achievement songs like <i>'Evan endru ninaithay ethai kaandu sirithay'</i> to make the ride more beautiful. </li>
</ul>
</div>
<div>
<ul style="text-align: left;">
<li>To track my ride, I used Mytrack mobile app.</li>
</ul>
<div style="text-align: justify;">
<br />
<h3>
<span style="color: red; font-size: 16.0pt;">The Execution:</span></h3>
<h3>
<span style="color: red; font-size: 16.0pt;"> </span></h3>
</div>
<div style="text-align: justify;">
In order to avoid the Chennai traffic I started little early from home (around 7 A.M). I perfectly worked out the plan without any deviation. So, at around 8.45 A.M I reached the entrance of Ascendas IT Park. After parking my bicycle in the same location where I usually park my Scooter. I went to the restroom, freshened up and changed my clothes. I was damn hungry by the time I reached my cubicle. I turned on my laptop to check my mails but even before the OS boots up, my hungriness made me to go to the office cafeteria to grab 4 Good day biscuits and a cup of Elachi tea. After finishing the biscuits and tea, checked my mails and started my work for the day.<br />
<br />
<table style="width: 100%;">
<tbody>
<tr>
<td><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmqS1blu55a3IU3ln4_FGGl58Oybz9yDXjaK10NeXs0_3JCPlWMQfILCrtOnzao4LBMEejp1-SoJ-0yT208CNP3zQhxu6pE4l-stofaUhNmzOdNeWkfiBVX51Sd2mD0B6ifBz9R5W9ET_9/s1600/2015-03-15+08.02.57.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmqS1blu55a3IU3ln4_FGGl58Oybz9yDXjaK10NeXs0_3JCPlWMQfILCrtOnzao4LBMEejp1-SoJ-0yT208CNP3zQhxu6pE4l-stofaUhNmzOdNeWkfiBVX51Sd2mD0B6ifBz9R5W9ET_9/s1600/2015-03-15+08.02.57.png" height="320" width="180" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Ride Map</td></tr>
</tbody></table>
</td>
<td><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-DmrdeyVJY061vOHiG59urWf8t0RsBCiiZP49_VzRh9T6ait2rwAx-uAqjLWdrMZyuv5M4oke1qGzSl3oq-x4ZiprJTNX1ro2pBjCRTnwXgjuspA1VRkEPGf88MdIUSp19QaPG4xtsztz/s1600/2015-03-15+08.03.08.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-DmrdeyVJY061vOHiG59urWf8t0RsBCiiZP49_VzRh9T6ait2rwAx-uAqjLWdrMZyuv5M4oke1qGzSl3oq-x4ZiprJTNX1ro2pBjCRTnwXgjuspA1VRkEPGf88MdIUSp19QaPG4xtsztz/s1600/2015-03-15+08.03.08.png" height="320" width="180" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Ride Stats</td></tr>
</tbody></table>
</td></tr>
</tbody></table>
</div>
</div>
<div style="text-align: justify;">
<br />
At around 5’0 clock in the evening I began my return journey to home. I took out my mobile to start the Mytrack app, the mobile battery level was down below 20%, then only I realized that I had forgot to charge my mobile battery. I realized that with this 20% battery charge level, I wouldn’t be able to record my full return journey. For a moment I even thought I would go back to my cabin, charge my mobile and then start after some time. But, I thought about the 6’0 clock traffic in Chennai, so without delaying further, I started pedaling - compromising the fact that I may not record my full journey. I thought I could escape from traffic but even at 5’0 clock, Chennai’s traffic is very high. I somehow managed the traffic and reached home safely at around 7’0 clock.</div>
<div style="text-align: justify;">
<br />
After settling down in home, I checked the calorie meter, it showed that I had burnt more than 600 kcal because of the bicycle ride, I thought that I would lose some fat also because of this cycle ride. But what I thought didn’t happen. It was ‘Sangadakara Chatthurthi’ So, mom had prepared Kesari(A sweet). Since the Pooja was over by the time I reached home, she gave me a cup of Kesari (as Prasadham) to me. Dad to his part added 3 small sized onion samosas to my plate to show his love. The Kesari and Samosas I consumed had easily made me gain the calories I lost in the bicycle ride :-). I was very happy that I finally executed my 7 year old desire successfully…</div>
</div>
Harirajhttp://www.blogger.com/profile/05040376723037361480noreply@blogger.com1tag:blogger.com,1999:blog-6442314261336350328.post-15764580179477499422012-09-26T11:18:00.003-07:002012-09-26T11:21:37.530-07:00Instawiki - A SMS Search Engine app<div dir="ltr" style="text-align: left;" trbidi="on">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]-->
<br />
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3; text-align: justify;">
</div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3; text-align: justify;">
<b><span style="background: white; color: red; font-family: "Times New Roman","serif"; font-size: 16.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman";">What
is Instawiki </span></b></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;">
<span style="color: #1f497d; font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text2;">A single SMS application
that you need to get answer for all your burning questions, may it be a simple
calculation, a statistic data, people & history, weather, music, movies,
and the list goes on. Yeah we basically designed an Answering Machine SMS App
which will exactly find out the answer for your questions. We used
Wolframalpha.com service to find out the answer for the queries you ask.</span></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3; text-align: justify;">
<b><span style="color: red; font-family: "Times New Roman","serif"; font-size: 16.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman";">How to use this Service</span></b></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;">
<span style="color: #1f497d; font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text2;">Type @instawiki
your_query and send it to <b style="mso-bidi-font-weight: normal;">92433 42000 / </b></span><b style="mso-bidi-font-weight: normal;"><span style="color: #1f497d; font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-themecolor: text2;">92665 92665</span></b><b style="mso-bidi-font-weight: normal;"><span style="color: #1f497d; font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text2;"> .</span></b><span style="color: #1f497d; font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text2;"></span></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;">
<span style="color: #1f497d; font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text2;">Ex: @instawiki
Abdul Kalam.</span></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;">
<span style="color: #1f497d; font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text2;">Above request will
fetch you details about Mr.Abdul Kalam, the Great Scientist of India.</span></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;">
<br /></div>
<h3>
<span style="color: red; font-size: 16.0pt;">Screenshots</span></h3>
<h3>
<span style="color: red; font-size: 16.0pt;"> </span></h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://sourceforge.net/p/thirukural/screenshot/Scr000001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://sourceforge.net/p/thirukural/screenshot/Scr000001.jpg" width="223" /></a><a href="https://sourceforge.net/p/thirukural/screenshot/Scr000004.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://sourceforge.net/p/thirukural/screenshot/Scr000004.jpg" width="225" /></a></div>
<h3>
<span style="color: red; font-size: 16.0pt;"> </span></h3>
<h3>
<span style="color: red; font-size: 16.0pt;">View on Sourceforge</span></h3>
<h3>
<span style="color: red; font-size: 16.0pt;"> </span></h3>
<h3>
<a href="https://sourceforge.net/p/instawiki"><span style="color: blue;"><span style="font-size: 12.0pt; font-weight: normal; mso-bidi-font-weight: bold;">https://sourceforge.net/p/instawiki</span></span></a></h3>
<h3>
<span style="color: red; font-size: 16.0pt;"> </span></h3>
<h3>
<span style="color: red; font-size: 16.0pt;">View on Txtweb </span></h3>
<h3>
<span style="color: red; font-size: 16.0pt;"> </span></h3>
<h3>
<a href="http://developer.txtweb.com/apps/instawiki"><span style="color: blue;"><span style="font-size: 12pt; font-weight: normal;">http://developer.txtweb.com/apps/instawiki</span></span></a></h3>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;">
<br />
<b><span style="color: red; font-family: "Times New Roman","serif"; font-size: 16.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman";">Feedback</span></b></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #1f497d; font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text2;">Your feedback on Instawiki (hopefully constructive) is
always welcome.</span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;">
<b><span style="color: red; font-family: "Times New Roman","serif"; font-size: 16.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman";">Disclaimer</span></b></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;">
<br /></div>
<div class="MsoNormal">
<span style="color: #1f497d; font-family: "Times New Roman","serif"; font-size: 12.0pt; line-height: 115%; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text2;">Developer of this application is
not responsible for any wrong or illegal use of this software.</span><span style="color: #1f497d; font-family: "Times New Roman","serif"; mso-themecolor: text2;"></span></div>
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:Latha;
mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]--></div>
Harirajhttp://www.blogger.com/profile/05040376723037361480noreply@blogger.com1tag:blogger.com,1999:blog-6442314261336350328.post-81987086131903970842012-06-24T03:04:00.000-07:002012-06-24T03:06:55.677-07:00JAutoclicker - An Autoclicker software with rich set of functionalities<div dir="ltr" style="text-align: left;" trbidi="on">
JAutoclicker is a Software for automating the mouse clicks at the
positions defined by you. At most you can configure 3 coordinates to
automate.<br />
<h3 style="color: red;">
</h3>
<h3 style="color: red;">
Features</h3>
<ul>
<li> Detects the coordinates of the screen.</li>
<li> Automates the mouse button actions(right click,left click,middle click,double right click,double left click).</li>
<li> Configure at most 3 screen coordinates to auto click.</li>
<li> Option to set the delay between the clicks.</li>
<li> Option to configure the number of times to click in a particular screen coordinate.</li>
<li> Option to Pause and resume the clicks at any point of time.</li>
<li> Option to Hide the application in system tray and to issue commands from system tray icon.</li>
<li> Saves the last used settings while starting up the application even after the exit of the application.</li>
<li> A rich user Interface.</li>
<li> Option to integrate external library like Jintellitype to configure hot keys.</li>
</ul>
<h3 style="color: red;">
Installation </h3>
<h3 style="color: red;">
<br /></h3>
<b>FOR USERS:</b>
-> Download the Executable jar and double click to start. <br />
<b>FOR DEVELOPERS:</b>
-> If you want to add hot key to this app. just uncomment the lines in Autoclicker.java and add Jintellitype jars and dll.<br />
<br />
<h3 style="color: red;">
Screenshot</h3>
<h3 style="color: red;">
</h3>
<img alt="JAutoclicker" height="340" src="https://github.com/Hariraj/JAutoclicker/raw/origin/JAutoclicker/ScreenShot/Autoclicker.jpg" width="640" /><br />
<h3 style="color: red;">
</h3>
<h3 style="color: red;">
Author</h3>
<a class="user-mention" href="https://github.com/Hariraj">@Hariraj</a><br />
<br />
<h3 style="text-align: left;">
<b><span style="color: red;">View on GitHub </span></b></h3>
<div style="text-align: left;">
<a href="http://hariraj.github.com/JAutoclicker/">http://hariraj.github.com/JAutoclicker/</a><br />
<br />
</div>
<h3 style="color: red;">
Feedback</h3>
Your feedback on JAutoclicker (hopefully constructive) is always welcome.<br />
<h3 style="color: red;">
</h3>
<h3 style="color: red;">
Disclaimer</h3>
Developer of this application is not responsible for any wrong or illegal use of this software.</div>Harirajhttp://www.blogger.com/profile/05040376723037361480noreply@blogger.com0tag:blogger.com,1999:blog-6442314261336350328.post-28040512317684115012012-04-24T11:42:00.001-07:002012-07-08T09:50:16.573-07:00Data Driven Testing for Unit Testing<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
Since most of the testing scenarios data are in the form of table, a Data Driven testing approach can be employed for carrying out unit testing using TestNg/Junit.
For Example,
Consider the example of testing a simple integer division method. </div>
<br />
<style type="text/css">
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: Consolas, "Courier New", Courier, Monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #a31515; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
<br />
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 1: </span> Class Divide{</pre>
<pre><span class="lnum"> 2: </span> <span class="kwrd">public</span> <span class="kwrd">static</span> <span class="kwrd">int</span> divide(<span class="kwrd">int</span> a, <span class="kwrd">int</span> b) {</pre>
<pre class="alt"><span class="lnum"> 3: </span> <span class="kwrd">if</span> (b == 0) {</pre>
<pre><span class="lnum"> 4: </span> <span class="kwrd">throw</span> <span class="kwrd">new</span> ArithmeticException();</pre>
<pre class="alt"><span class="lnum"> 5: </span> } <span class="kwrd">else</span></pre>
<pre><span class="lnum"> 6: </span> <span class="kwrd">return</span> a / b;</pre>
<pre class="alt"><span class="lnum"> 7: </span> }</pre>
<pre><span class="lnum"> 8: </span>}</pre>
</div>
<br />
For testing this simple method itself properly, we need to test the following scenarios.<br />
<br />
<br />
<div>
<table border="1" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="color: #073763;" valign="top" width="160"><h4>
Test Case Objective
</h4>
</td>
<td style="color: #073763;" valign="top" width="160"><h4>
Input number 1
</h4>
</td>
<td style="color: #073763;" valign="top" width="160"><h4>
Input number 2
</h4>
</td>
<td style="color: #073763;" valign="top" width="160"><h4>
Expected Result
</h4>
</td>
</tr>
<tr>
<td style="color: black;" valign="top" width="160">Zero/Zero
</td>
<td style="color: black;" valign="top" width="160">0
</td>
<td style="color: black;" valign="top" width="160">0
</td>
<td style="color: black;" valign="top" width="160">ArithmeticException
</td>
</tr>
<tr>
<td style="color: black;" valign="top" width="160">Zero/positive
</td>
<td style="color: black;" valign="top" width="160">0
</td>
<td style="color: black;" valign="top" width="160">2
</td>
<td style="color: black;" valign="top" width="160">0
</td>
</tr>
<tr>
<td style="color: black;" valign="top" width="160">Zero/negative
</td>
<td style="color: black;" valign="top" width="160">0
</td>
<td style="color: black;" valign="top" width="160">-2
</td>
<td style="color: black;" valign="top" width="160">0
</td>
</tr>
<tr>
<td style="color: black;" valign="top" width="160">Positive/zero
</td>
<td style="color: black;" valign="top" width="160">5
</td>
<td style="color: black;" valign="top" width="160">0
</td>
<td style="color: black;" valign="top" width="160">ArithmeticException
</td>
</tr>
<tr>
<td style="color: black;" valign="top" width="160">Negative/zero
</td>
<td style="color: black;" valign="top" width="160">-2
</td>
<td style="color: black;" valign="top" width="160">0
</td>
<td style="color: black;" valign="top" width="160">ArithmeticException
</td>
</tr>
<tr>
<td style="color: black;" valign="top" width="160">Positive/positive
</td>
<td style="color: black;" valign="top" width="160">5
</td>
<td style="color: black;" valign="top" width="160">2
</td>
<td style="color: black;" valign="top" width="160">2
</td>
</tr>
<tr>
<td style="color: black;" valign="top" width="160">Positive/negative
</td>
<td style="color: black;" valign="top" width="160">5
</td>
<td style="color: black;" valign="top" width="160">-2
</td>
<td style="color: black;" valign="top" width="160">-2
</td>
</tr>
<tr>
<td style="color: black;" valign="top" width="160">Negative/positive
</td>
<td style="color: black;" valign="top" width="160">-5
</td>
<td style="color: black;" valign="top" width="160">2
</td>
<td style="color: black;" valign="top" width="160">-2
</td>
</tr>
<tr>
<td style="color: black;" valign="top" width="160">Negative/negative
</td>
<td style="color: black;" valign="top" width="160">-5
</td>
<td style="color: black;" valign="top" width="160">-2
</td>
<td style="color: black;" valign="top" width="160">2
</td>
</tr>
<tr>
<td style="color: black;" valign="top" width="160">No/same number
</td>
<td style="color: black;" valign="top" width="160">5
</td>
<td style="color: black;" valign="top" width="160">5
</td>
<td style="color: black;" valign="top" width="160">1
</td>
</tr>
</tbody>
</table>
</div>
</div>
<br />
To test the above scenarios we have to call the same method with different arguments (something like below) or need to have different method for testing each scenario.<br />
<br />
<style type="text/css">
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: Consolas, "Courier New", Courier, Monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #a31515; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
<br />
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 1: </span><span class="kwrd">public</span> <span class="kwrd">class</span> TestDivide {</pre>
<pre><span class="lnum"> 2: </span> </pre>
<pre class="alt"><span class="lnum"> 3: </span> @Test</pre>
<pre><span class="lnum"> 4: </span> <span class="kwrd">public</span> <span class="kwrd">void</span> testDivide() throws Exception {</pre>
<pre class="alt"><span class="lnum"> 5: </span> <span class="rem">// Zero/Zero 0 0 ArithmeticException</span></pre>
<pre><span class="lnum"> 6: </span> testDivideByZero(0, 0);</pre>
<pre class="alt"><span class="lnum"> 7: </span> <span class="rem">// Zero/positive 0 2 0</span></pre>
<pre><span class="lnum"> 8: </span> assertEquals(0, Divide.divide(0, 2));</pre>
<pre class="alt"><span class="lnum"> 9: </span> <span class="rem">// Zero/negative 0 -2 0</span></pre>
<pre><span class="lnum"> 10: </span> assertEquals(0, Divide.divide(0, -2));</pre>
<pre class="alt"><span class="lnum"> 11: </span> <span class="rem">// Positive/zero 5 0 ArithmeticException</span></pre>
<pre><span class="lnum"> 12: </span> testDivideByZero(5, 0);</pre>
<pre class="alt"><span class="lnum"> 13: </span> <span class="rem">// Negative/zero -2 0 ArithmeticException</span></pre>
<pre><span class="lnum"> 14: </span> testDivideByZero(-2, 0);</pre>
<pre class="alt"><span class="lnum"> 15: </span> <span class="rem">// Positive/positive 5 2 2</span></pre>
<pre><span class="lnum"> 16: </span> assertEquals(2, Divide.divide(5, 2));</pre>
<pre class="alt"><span class="lnum"> 17: </span> <span class="rem">// Positive/negative 5 -2 -2</span></pre>
<pre><span class="lnum"> 18: </span> assertEquals(-2, Divide.divide(5, -2));</pre>
<pre class="alt"><span class="lnum"> 19: </span> <span class="rem">// Negative/positive -5 2 -2</span></pre>
<pre><span class="lnum"> 20: </span> assertEquals(-2, Divide.divide(-5, 2));</pre>
<pre class="alt"><span class="lnum"> 21: </span> <span class="rem">// Negative/negative -5 -2 2</span></pre>
<pre><span class="lnum"> 22: </span> assertEquals(2, Divide.divide(-5, -2));</pre>
<pre class="alt"><span class="lnum"> 23: </span> <span class="rem">// No/same number 5 5 1</span></pre>
<pre><span class="lnum"> 24: </span> assertEquals(1, Divide.divide(5, 5));</pre>
<pre class="alt"><span class="lnum"> 25: </span> }</pre>
<pre><span class="lnum"> 26: </span> </pre>
<pre class="alt"><span class="lnum"> 27: </span> <span class="kwrd">private</span> <span class="kwrd">void</span> testDivideByZero(<span class="kwrd">int</span> a, <span class="kwrd">int</span> b) throws Exception {</pre>
<pre><span class="lnum"> 28: </span> <span class="kwrd">try</span> {</pre>
<pre class="alt"><span class="lnum"> 29: </span> Divide.divide(a, b);</pre>
<pre><span class="lnum"> 30: </span> fail(<span class="str">"My method didn't throw when I expected it to"</span>);</pre>
<pre class="alt"><span class="lnum"> 31: </span> } <span class="kwrd">catch</span> (ArithmeticException e) {</pre>
<pre><span class="lnum"> 32: </span> } <span class="kwrd">catch</span> (Exception e) {</pre>
<pre class="alt"><span class="lnum"> 33: </span> fail(<span class="str">"My method throws different Exception when I expect ArithmeticException"</span>);</pre>
<pre><span class="lnum"> 34: </span> }</pre>
<pre class="alt"><span class="lnum"> 35: </span> }</pre>
<pre><span class="lnum"> 36: </span>}</pre>
</div>
<div style="text-align: justify;">
The above approach makes the Test class cumbersome and difficult for other developers to understand the test scenarios.
To avoid this,
We can load the test data from an Excel/CSV/WIKI and validate the output instead of running the same TestNg/Junit test method with different inputs. And also this helps in the Documentation of the test cases that we have already identified and tested.</div>
<div style="text-align: justify;">
<br /></div>
<u style="color: #073763;"><b>Proposed Method :</b></u><br />
<br />
<style type="text/css">
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: Consolas, "Courier New", Courier, Monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #a31515; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
<br />
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 1: </span>@RunWith(Parameterized.<span class="kwrd">class</span>)</pre>
<pre><span class="lnum"> 2: </span><span class="kwrd">public</span> <span class="kwrd">class</span> DataDrivenTestsWithSpreadsheetTest { </pre>
<pre class="alt"><span class="lnum"> 3: </span> </pre>
<pre><span class="lnum"> 4: </span> <span class="kwrd">private</span> <span class="kwrd">int</span> a;</pre>
<pre class="alt"><span class="lnum"> 5: </span> <span class="kwrd">private</span> <span class="kwrd">int</span> b;</pre>
<pre><span class="lnum"> 6: </span> <span class="kwrd">private</span> <span class="kwrd">int</span> aDivideB;</pre>
<pre class="alt"><span class="lnum"> 7: </span> </pre>
<pre><span class="lnum"> 8: </span> @Parameters</pre>
<pre class="alt"><span class="lnum"> 9: </span> <span class="kwrd">public</span> <span class="kwrd">static</span> Collection<Object[]> spreadsheetData() throws IOException {</pre>
<pre><span class="lnum"> 10: </span> InputStream spreadsheet = <span class="kwrd">new</span> FileInputStream(<span class="str">"src/test/resources/aDivideB.xls"</span>);</pre>
<pre class="alt"><span class="lnum"> 11: </span> <span class="kwrd">return</span> <span class="kwrd">new</span> SpreadsheetData(spreadsheet).getData();</pre>
<pre><span class="lnum"> 12: </span> }</pre>
<pre class="alt"><span class="lnum"> 13: </span> </pre>
<pre><span class="lnum"> 14: </span> <span class="kwrd">public</span> DataDrivenTestsWithSpreadsheetTest(<span class="kwrd">int</span> a, <span class="kwrd">int</span> b, <span class="kwrd">int</span> aDivideB) {</pre>
<pre class="alt"><span class="lnum"> 15: </span> super();</pre>
<pre><span class="lnum"> 16: </span> <span class="kwrd">this</span>.a = a;</pre>
<pre class="alt"><span class="lnum"> 17: </span> <span class="kwrd">this</span>.b = b;</pre>
<pre><span class="lnum"> 18: </span> <span class="kwrd">this</span>.aDivideB = aDivideB;</pre>
<pre class="alt"><span class="lnum"> 19: </span> }</pre>
<pre><span class="lnum"> 20: </span> </pre>
<pre class="alt"><span class="lnum"> 21: </span> <span class="kwrd">private</span> <span class="kwrd">void</span> testDivideByZero(<span class="kwrd">int</span> a, <span class="kwrd">int</span> b) throws Exception {</pre>
<pre><span class="lnum"> 22: </span> <span class="kwrd">try</span> {</pre>
<pre class="alt"><span class="lnum"> 23: </span> Divide.divide(a, b);</pre>
<pre><span class="lnum"> 24: </span> fail(<span class="str">"My method didn't throw when I expected it to"</span>);</pre>
<pre class="alt"><span class="lnum"> 25: </span> } <span class="kwrd">catch</span> (ArithmeticException e) {</pre>
<pre><span class="lnum"> 26: </span> } <span class="kwrd">catch</span> (Exception e) {</pre>
<pre class="alt"><span class="lnum"> 27: </span> fail(<span class="str">"My method throws different Exception when I expect ArithmeticException"</span>);</pre>
<pre><span class="lnum"> 28: </span> }</pre>
<pre class="alt"><span class="lnum"> 29: </span> }</pre>
<pre><span class="lnum"> 30: </span> </pre>
<pre class="alt"><span class="lnum"> 31: </span> @Test</pre>
<pre><span class="lnum"> 32: </span> <span class="kwrd">public</span> <span class="kwrd">void</span> shouldCalculateADivideB() {</pre>
<pre class="alt"><span class="lnum"> 33: </span> <span class="kwrd">if</span>(b==0){</pre>
<pre><span class="lnum"> 34: </span> testDivideByZero(a, b);</pre>
<pre class="alt"><span class="lnum"> 35: </span> }</pre>
<pre><span class="lnum"> 36: </span> <span class="kwrd">else</span></pre>
<pre class="alt"><span class="lnum"> 37: </span> assertEquals(aDivideB, Divide.divide(a, b));</pre>
<pre><span class="lnum"> 38: </span> }</pre>
<pre class="alt"><span class="lnum"> 39: </span>}</pre>
</div>
</div>
<br />
<div style="color: #0c343d;">
<u><b>Advantages: </b></u></div>
<ol style="text-align: left;">
<li> Adding new Test scenarios is easy as it requires just adding a new row in the excel/csv/wiki.<u><b> </b></u></li>
<li>Helps in the documentation of the test cases that we have identified and tested.</li>
</ol>
</div>Harirajhttp://www.blogger.com/profile/05040376723037361480noreply@blogger.com0tag:blogger.com,1999:blog-6442314261336350328.post-67636442566791363802012-03-30T11:48:00.001-07:002012-03-30T12:17:40.942-07:00How to use drupal login authentication for non drupal PHP website to implemet SSO<div dir="ltr" style="text-align: left;" trbidi="on"><div dir="ltr" style="text-align: left;" trbidi="on"><br />
To make this work, the following condition has to be satisfied.<br />
<br />
<blockquote class="tr_bq">1. Your external Non –Drupal PHP website should also be in the same domain or subdomain as your Drupal website. For Example if your Drupal website is hosted at <a href="http://www.example.com/">www.example.com</a> then the Non Drupal website which want to use drupal login to act as a single sign on option should be hosted at some address like <a href="http://www.example.com/nondrupalswebsit">www.example.com/nondrupalswebsit</a>e or <a href="http://www.nondrupalwebsite.example.com/">www.nondrupalwebsite.example.com</a><br />
<br />
2. You should have access to the Database where your Drupal site is pointing to. At least you should have access to User and Sessions Table of Drupal’s DB.</blockquote><br />
If you satisfy the above two conditions you should be good to go.</div><div style="text-align: justify;"><br />
<style type="text/css">
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: Consolas, "Courier New", Courier, Monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #a31515; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style><br />
<div class="csharpcode"><pre class="alt"><span class="lnum"> 1: </span><span class="kwrd">if</span>(isset($_COOKIE[SESS67bbc1042a258ec17b55d8d15be4f563]) &&</pre><pre><span class="lnum"> 2: </span> isset($_COOKIE[<span class="str">'DRUPAL_UID'</span>]))</pre><pre class="alt"><span class="lnum"> 3: </span>{</pre><pre><span class="lnum"> 4: </span> </pre><pre class="alt"><span class="lnum"> 5: </span> $sessionsql=<span class="str">"select sid from sessions where sid='"</span></pre><pre><span class="lnum"> 6: </span>.mysql_real_escape_string($_COOKIE[<span class="str">'SESS67bbc1042a258ec17b55d8d15be4f563'</span>]) .<span class="str">"'</span></pre><pre class="alt"><span class="lnum"> 7: </span> and uid='".mysql_real_escape_string($_COOKIE[<span class="str">'DRUPAL_UID'</span>]).<span class="str">"'"</span>;</pre><pre><span class="lnum"> 8: </span> $db_connect = mysql_connect($db_host, $db_username, $db_password);</pre><pre class="alt"><span class="lnum"> 9: </span> mysql_select_db($db_name, $db_connect) || die(mysql_error());</pre><pre><span class="lnum"> 10: </span> $result = mysql_query($sessionsql) or die(mysql_error());</pre><pre class="alt"><span class="lnum"> 11: </span> $found = mysql_num_rows($result);</pre><pre><span class="lnum"> 12: </span> <span class="kwrd">if</span> ($found) </pre><pre class="alt"><span class="lnum"> 13: </span> {</pre><pre><span class="lnum"> 14: </span> <span class="rem">//$sql="SELECT * FROM employment_v where uid=".$_COOKIE['DRUPAL_UID'];</span></pre><pre class="alt"><span class="lnum"> 15: </span> <span class="rem">//Logic to use drupal’s user registration info in your site may go here.</span></pre><pre><span class="lnum"> 16: </span> }</pre><pre class="alt"><span class="lnum"> 17: </span>}</pre></div></div><div style="text-align: justify;"><br />
In the above code snippet, you can see an extremely long cookie name ($_COOKIE[SESS67bbc1042a258ec17b55d8d15be4f563]). This is the name of the cookie where the drupal’s session would be stored. Each drupal site has a unique session name associate with it. The value of the session id can be got from this. In my case SESS67bbc1042a258ec17b55d8d15be4f563 is the drupal’s session name for my site. If you want to find the drupal cookie session name of your website you can use tools like firecookie or inspect the cookie stored in your browser.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">The logic of the code snippet is whenever a user has been logged in to druapl site, Drupal would store minimum two cookies in browser. One is session value which I have mentioned earlier and the other is drupal id (a unique id to identify the drupal user). And also it makes an entry in the session table with the session id and the drupal id. The entry is deleted when the user is logged out. Hence querying this table with the session id and the drupal user id would tell us whether the user is authenticated or not.</div><div style="text-align: justify;">Have the above logic to authenticate the user in a separate PHP file and include the PHP file in the pages that can be viewed only by authenticated user.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">I hope that this would have helped. If you feel that this can be done more efficiently, kindly let me know through your comments. Thanks.</div></div>Harirajhttp://www.blogger.com/profile/05040376723037361480noreply@blogger.com1tag:blogger.com,1999:blog-6442314261336350328.post-40424773225174452982012-01-01T13:04:00.001-08:002012-03-30T17:35:29.530-07:00Cool Firefox plugins that makes Web Developement Easier<div dir="ltr" style="text-align: left;" trbidi="on"><div style="text-align: justify;"><a href="http://getfirebug.com/">1. Firebug:</a> A Firefox plugin that allows inspect, edit and monitor CSS, HTML, JavaScript and Net requests in any web page. </div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><a href="https://addons.mozilla.org/en-US/firefox/addon/firecookie/">2. FireCookie :</a> An extension for Firebug that makes possible to view and manage cookies in your browser.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><a href="https://addons.mozilla.org/en-US/firefox/addon/fireshot/">3. FireShot :</a> An Add-on to Firefox that creates screenshots of web pages entirely. The captures can be quickly annotated. </div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><a href="https://developers.google.com/speed/pagespeed/download">4. Page Speed :</a> An open-source project started at Google to help developers optimize their web pages by applying web performance best practices. If you are a Performance-minded developers and evangelists then this is a must have tool.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><a href="http://developer.yahoo.com/yslow/">5. YSlow :</a> An Add-on for Firefox that Analyses web pages and suggests ways to improve their performance based on a set of rules for high performance web pages.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><a href="http://seleniumhq.org/projects/ide/">6. Selenium IDE :</a> An integrated development environment for Selenium scripts that is implemented as a Firefox extension, and allows you to record, edit, and debug tests.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><a href="https://addons.mozilla.org/en-US/firefox/addon/page-ruler/">7. Page Ruler :</a> A lightweight ruler to measure web page elements.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><a href="https://addons.mozilla.org/en-US/firefox/addon/measureit/">8. MeasurIT :</a> Draw a ruler across any webpage to check the width, height, or alignment of page elements in pixels.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><a href="https://addons.mozilla.org/en-US/firefox/addon/fireftp/">9. FireFTP :</a> A powerful FPT client in one tab, your work in another. Sometimes the simplest solutions can be profoundly useful. (Note: Does not as yet support SFTP).</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><a href="https://addons.mozilla.org/en-US/firefox/addon/firessh">10. FireSSH</a> : A free, cross-platform SSH terminal client for Mozilla Firefox. Written entirely in Javascript!</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><a href="https://addons.mozilla.org/en-US/firefox/addon/colorzilla/">11. ColorZilla :</a> This extension allows you to pick colors from the web, paste the hex code into other programs, zoom in on pages, measure distances and utilize a built-in pallet browser. A must-have for any web designer.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><a href="https://addons.mozilla.org/en-US/firefox/addon/ie-tab/">12. IE Tab</a> : Embedding Internet Explorer in tabs of Mozilla/Firefox</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><a href="https://addons.mozilla.org/en-US/firefox/addon/web-developer">13. Web Developer :</a> The Web Developer extension adds various web developer tools to a browser.</div><div style="text-align: justify;"><br />
</div>14. <a href="https://addons.mozilla.org/en-US/firefox/addon/249">HTML Validator:</a> Displays the number of found errors of the site you are viewing. It adds HTML validation inside Firefox and Mozilla.<br />
<div style="text-align: justify;"><br />
</div><div style="text-align: justify;">if you feel that some other tool can also be added to this list then kindly comment below. i will update it.</div><div style="text-align: justify;"><br />
</div></div>Harirajhttp://www.blogger.com/profile/05040376723037361480noreply@blogger.com0tag:blogger.com,1999:blog-6442314261336350328.post-79171448053222973632011-10-07T21:44:00.001-07:002015-01-11T11:13:02.366-08:00FLAMES Calculator - Java<div dir="ltr" style="text-align: left;" trbidi="on">
<style type="text/css">
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: Consolas, "Courier New", Courier, Monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style><br />
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 1: </span><span class="rem">/* </span></pre>
<pre><span class="lnum"> 2: </span><span class="rem"> * @author Hariraj</span></pre>
<pre class="alt"><span class="lnum"> 3: </span><span class="rem"> * Calculate your love by entering your name and the people you have crush upon. </span></pre>
<pre><span class="lnum"> 4: </span><span class="rem"> * It predicts your relationship with them using FLAMES - Friends, Love, Affection, Marriage, Enemy, SweetHearts.</span></pre>
<pre class="alt"><span class="lnum"> 5: </span><span class="rem"> * This Love/FLAMES calculator is just a fun game to delight the young and old lovers in the world. </span></pre>
<pre><span class="lnum"> 6: </span><span class="rem"> * This is for fun, don't take anything serious. Enjoy the Game.</span></pre>
<pre class="alt"><span class="lnum"> 7: </span><span class="rem"> */</span></pre>
<pre><span class="lnum"> 8: </span>package com.ll.flames;</pre>
<pre class="alt"><span class="lnum"> 9: </span> </pre>
<pre><span class="lnum"> 10: </span>import java.applet.Applet;</pre>
<pre class="alt"><span class="lnum"> 11: </span>import java.awt.Button;</pre>
<pre><span class="lnum"> 12: </span>import java.awt.Color;</pre>
<pre class="alt"><span class="lnum"> 13: </span>import java.awt.Font;</pre>
<pre><span class="lnum"> 14: </span>import java.awt.Label;</pre>
<pre class="alt"><span class="lnum"> 15: </span>import java.awt.Rectangle;</pre>
<pre><span class="lnum"> 16: </span>import java.awt.TextField;</pre>
<pre class="alt"><span class="lnum"> 17: </span>import java.util.ArrayList;</pre>
<pre><span class="lnum"> 18: </span>import java.util.List;</pre>
<pre class="alt"><span class="lnum"> 19: </span> </pre>
<pre><span class="lnum"> 20: </span><span class="kwrd">public</span> <span class="kwrd">class</span> FlamesApp extends Applet {</pre>
<pre class="alt"><span class="lnum"> 21: </span> </pre>
<pre><span class="lnum"> 22: </span> <span class="kwrd">private</span> <span class="kwrd">static</span> final <span class="kwrd">long</span> serialVersionUID = 1L;</pre>
<pre class="alt"><span class="lnum"> 23: </span> <span class="kwrd">private</span> Label name1Label = <span class="kwrd">null</span>;</pre>
<pre><span class="lnum"> 24: </span> <span class="kwrd">private</span> Label name2Label = <span class="kwrd">null</span>;</pre>
<pre class="alt"><span class="lnum"> 25: </span> <span class="kwrd">private</span> TextField name1textField = <span class="kwrd">null</span>;</pre>
<pre><span class="lnum"> 26: </span> <span class="kwrd">private</span> TextField name2textField = <span class="kwrd">null</span>;</pre>
<pre class="alt"><span class="lnum"> 27: </span> <span class="kwrd">private</span> Button calculatebutton = <span class="kwrd">null</span>;</pre>
<pre><span class="lnum"> 28: </span> <span class="kwrd">private</span> Label relationLabel = <span class="kwrd">null</span>;</pre>
<pre class="alt"><span class="lnum"> 29: </span> <span class="kwrd">private</span> Label headinglabel = <span class="kwrd">null</span>;</pre>
<pre><span class="lnum"> 30: </span> <span class="kwrd">private</span> Label relnlabel = <span class="kwrd">null</span>;</pre>
<pre class="alt"><span class="lnum"> 31: </span> <span class="kwrd">private</span> Label copyrtLabel = <span class="kwrd">null</span>;</pre>
<pre><span class="lnum"> 32: </span> <span class="kwrd">private</span> Label namesLabel = <span class="kwrd">null</span>;</pre>
<pre class="alt"><span class="lnum"> 33: </span> </pre>
<pre><span class="lnum"> 34: </span> <span class="rem">/**</span></pre>
<pre class="alt"><span class="lnum"> 35: </span><span class="rem"> * This is the default constructor</span></pre>
<pre><span class="lnum"> 36: </span><span class="rem"> */</span></pre>
<pre class="alt"><span class="lnum"> 37: </span> <span class="kwrd">public</span> FlamesApp() {</pre>
<pre><span class="lnum"> 38: </span> super();</pre>
<pre class="alt"><span class="lnum"> 39: </span> }</pre>
<pre><span class="lnum"> 40: </span> </pre>
<pre class="alt"><span class="lnum"> 41: </span> <span class="rem">/**</span></pre>
<pre><span class="lnum"> 42: </span><span class="rem"> * Calculate relationship.</span></pre>
<pre class="alt"><span class="lnum"> 43: </span><span class="rem"> * </span></pre>
<pre><span class="lnum"> 44: </span><span class="rem"> * @return the string</span></pre>
<pre class="alt"><span class="lnum"> 45: </span><span class="rem"> */</span></pre>
<pre><span class="lnum"> 46: </span> <span class="kwrd">public</span> String calculateRelationship() {</pre>
<pre class="alt"><span class="lnum"> 47: </span> List<Character> letterList = <span class="kwrd">new</span> ArrayList<Character>();</pre>
<pre><span class="lnum"> 48: </span> String name1, name2;</pre>
<pre class="alt"><span class="lnum"> 49: </span> name1 = name1textField.getText().trim().toUpperCase();</pre>
<pre><span class="lnum"> 50: </span> name2 = name2textField.getText().trim().toUpperCase();</pre>
<pre class="alt"><span class="lnum"> 51: </span> <span class="kwrd">for</span> (<span class="kwrd">int</span> i = 0; i < name1.length(); i++) {</pre>
<pre><span class="lnum"> 52: </span> letterList.add(name1.charAt(i));</pre>
<pre class="alt"><span class="lnum"> 53: </span> }</pre>
<pre><span class="lnum"> 54: </span> <span class="kwrd">for</span> (<span class="kwrd">int</span> i = 0; i < name2.length(); i++) {</pre>
<pre class="alt"><span class="lnum"> 55: </span> <span class="kwrd">if</span> (!letterList.contains(name2.charAt(i))) {</pre>
<pre><span class="lnum"> 56: </span> letterList.add(name2.charAt(i));</pre>
<pre><span class="lnum"> 58: </span> } </pre>
<pre class="alt"><span class="lnum"> 59: </span> </pre>
<pre><span class="lnum"> 60: </span> }</pre>
<pre class="alt"><span class="lnum"> 61: </span> <span class="kwrd">int</span> matchcnt = letterList.size();</pre>
<pre><span class="lnum"> 62: </span> List<Character> flamesArrayList = <span class="kwrd">new</span> ArrayList<Character>();</pre>
<pre class="alt"><span class="lnum"> 63: </span> flamesArrayList.add(<span class="str">'F'</span>);</pre>
<pre><span class="lnum"> 64: </span> flamesArrayList.add(<span class="str">'L'</span>);</pre>
<pre class="alt"><span class="lnum"> 65: </span> flamesArrayList.add(<span class="str">'A'</span>);</pre>
<pre><span class="lnum"> 66: </span> flamesArrayList.add(<span class="str">'M'</span>);</pre>
<pre class="alt"><span class="lnum"> 67: </span> flamesArrayList.add(<span class="str">'E'</span>);</pre>
<pre><span class="lnum"> 68: </span> flamesArrayList.add(<span class="str">'S'</span>);</pre>
<pre class="alt"><span class="lnum"> 69: </span> <span class="kwrd">int</span> i = 0;</pre>
<pre><span class="lnum"> 70: </span> <span class="kwrd">int</span> temp = 0;</pre>
<pre class="alt"><span class="lnum"> 71: </span> <span class="kwrd">if</span> (matchcnt != 0) {</pre>
<pre><span class="lnum"> 72: </span> <span class="kwrd">while</span> (i < 5) {</pre>
<pre class="alt"><span class="lnum"> 73: </span> i++;</pre>
<pre><span class="lnum"> 74: </span> temp = (temp + (matchcnt - 1) % flamesArrayList.size())</pre>
<pre class="alt"><span class="lnum"> 75: </span> % flamesArrayList.size();</pre>
<pre><span class="lnum"> 76: </span> flamesArrayList.remove(temp);</pre>
<pre class="alt"><span class="lnum"> 77: </span> }</pre>
<pre><span class="lnum"> 78: </span> }</pre>
<pre class="alt"><span class="lnum"> 79: </span> String output[] = { <span class="str">"FRIENDS"</span>, <span class="str">"LOVE"</span>, <span class="str">"AFFECTION"</span>, <span class="str">"MARRIAGE"</span>,</pre>
<pre><span class="lnum"> 80: </span> <span class="str">"ENEMY"</span>, <span class="str">"SWEETHEARTS"</span> };</pre>
<pre class="alt"><span class="lnum"> 81: </span> String tmpString = <span class="str">"FLAMES"</span>;</pre>
<pre><span class="lnum"> 82: </span> <span class="kwrd">int</span> index = tmpString.indexOf(flamesArrayList.get(0));</pre>
<pre class="alt"><span class="lnum"> 83: </span> <span class="kwrd">return</span> output[index];</pre>
<pre><span class="lnum"> 84: </span> }</pre>
<pre class="alt"><span class="lnum"> 85: </span> </pre>
<pre><span class="lnum"> 86: </span> <span class="rem">/**</span></pre>
<pre class="alt"><span class="lnum"> 87: </span><span class="rem"> * This method initializes this</span></pre>
<pre><span class="lnum"> 88: </span><span class="rem"> * </span></pre>
<pre class="alt"><span class="lnum"> 89: </span><span class="rem"> * @return void</span></pre>
<pre><span class="lnum"> 90: </span><span class="rem"> */</span></pre>
<pre class="alt"><span class="lnum"> 91: </span> <span class="kwrd">public</span> <span class="kwrd">void</span> init() {</pre>
<pre><span class="lnum"> 92: </span> namesLabel = <span class="kwrd">new</span> Label();</pre>
<pre class="alt"><span class="lnum"> 93: </span> namesLabel.setBounds(<span class="kwrd">new</span> Rectangle(5, 195, 357, 23));</pre>
<pre><span class="lnum"> 94: </span> namesLabel.setAlignment(Label.CENTER);</pre>
<pre class="alt"><span class="lnum"> 95: </span> namesLabel.setForeground(Color.blue);</pre>
<pre><span class="lnum"> 96: </span> namesLabel.setFont(<span class="kwrd">new</span> Font(<span class="str">"Dialog"</span>, Font.BOLD | Font.ITALIC, 12));</pre>
<pre class="alt"><span class="lnum"> 97: </span> namesLabel.setText(<span class="str">""</span>);</pre>
<pre><span class="lnum"> 98: </span> copyrtLabel = <span class="kwrd">new</span> Label();</pre>
<pre class="alt"><span class="lnum"> 99: </span> copyrtLabel.setBounds(<span class="kwrd">new</span> Rectangle(276, 222, 102, 23));</pre>
<pre><span class="lnum"> 100: </span> copyrtLabel.setText(<span class="str">"© Lioking Labs"</span>);</pre>
<pre class="alt"><span class="lnum"> 101: </span> relnlabel = <span class="kwrd">new</span> Label();</pre>
<pre><span class="lnum"> 102: </span> relnlabel.setBounds(<span class="kwrd">new</span> Rectangle(89, 222, 181, 23));</pre>
<pre class="alt"><span class="lnum"> 103: </span> relnlabel.setForeground(<span class="kwrd">new</span> Color(51, 150, 51));</pre>
<pre><span class="lnum"> 104: </span> relnlabel.setAlignment(Label.CENTER);</pre>
<pre class="alt"><span class="lnum"> 105: </span> relnlabel.setText(<span class="str">""</span>);</pre>
<pre><span class="lnum"> 106: </span> headinglabel = <span class="kwrd">new</span> Label();</pre>
<pre class="alt"><span class="lnum"> 107: </span> headinglabel.setBounds(<span class="kwrd">new</span> Rectangle(101, 5, 156, 23));</pre>
<pre><span class="lnum"> 108: </span> headinglabel.setForeground(Color.red);</pre>
<pre class="alt"><span class="lnum"> 109: </span> headinglabel.setFont(<span class="kwrd">new</span> Font(<span class="str">"Dialog"</span>, Font.BOLD | Font.ITALIC, 12));</pre>
<pre><span class="lnum"> 110: </span> headinglabel.setText(<span class="str">"FLAMES CALCULATOR"</span>);</pre>
<pre class="alt"><span class="lnum"> 111: </span> relationLabel = <span class="kwrd">new</span> Label();</pre>
<pre><span class="lnum"> 112: </span> relationLabel.setBounds(<span class="kwrd">new</span> Rectangle(6, 169, 360, 22));</pre>
<pre class="alt"><span class="lnum"> 113: </span> relationLabel.setForeground(Color.red);</pre>
<pre><span class="lnum"> 114: </span> relationLabel.setAlignment(Label.CENTER);</pre>
<pre class="alt"><span class="lnum"> 115: </span> relationLabel.setFont(<span class="kwrd">new</span> Font(<span class="str">"Dialog"</span>, Font.BOLD | Font.ITALIC, 12));</pre>
<pre><span class="lnum"> 116: </span> relationLabel.setText(<span class="str">""</span>);</pre>
<pre class="alt"><span class="lnum"> 117: </span> name2Label = <span class="kwrd">new</span> Label();</pre>
<pre><span class="lnum"> 118: </span> name2Label.setBounds(<span class="kwrd">new</span> Rectangle(16, 96, 113, 23));</pre>
<pre class="alt"><span class="lnum"> 119: </span> name2Label.setText(<span class="str">"Enter Name 2 :"</span>);</pre>
<pre><span class="lnum"> 120: </span> name1Label = <span class="kwrd">new</span> Label();</pre>
<pre class="alt"><span class="lnum"> 121: </span> name1Label.setBounds(<span class="kwrd">new</span> Rectangle(17, 41, 112, 23));</pre>
<pre><span class="lnum"> 122: </span> name1Label.setText(<span class="str">"Enter Name 1 :"</span>);</pre>
<pre class="alt"><span class="lnum"> 123: </span> <span class="kwrd">this</span>.setLayout(<span class="kwrd">null</span>);</pre>
<pre><span class="lnum"> 124: </span> <span class="kwrd">this</span>.setSize(380, 255);</pre>
<pre class="alt"><span class="lnum"> 125: </span> </pre>
<pre><span class="lnum"> 126: </span> <span class="kwrd">this</span>.setBackground(Color.white);</pre>
<pre class="alt"><span class="lnum"> 127: </span> <span class="kwrd">this</span>.add(name1Label, <span class="kwrd">null</span>);</pre>
<pre><span class="lnum"> 128: </span> <span class="kwrd">this</span>.add(name2Label, <span class="kwrd">null</span>);</pre>
<pre class="alt"><span class="lnum"> 129: </span> <span class="kwrd">this</span>.add(getName1textField(), <span class="kwrd">null</span>);</pre>
<pre><span class="lnum"> 130: </span> <span class="kwrd">this</span>.add(getName2textField(), <span class="kwrd">null</span>);</pre>
<pre class="alt"><span class="lnum"> 131: </span> <span class="kwrd">this</span>.add(getCalculatebutton(), <span class="kwrd">null</span>);</pre>
<pre><span class="lnum"> 132: </span> <span class="kwrd">this</span>.add(relationLabel, <span class="kwrd">null</span>);</pre>
<pre class="alt"><span class="lnum"> 133: </span> <span class="kwrd">this</span>.add(headinglabel, <span class="kwrd">null</span>);</pre>
<pre><span class="lnum"> 134: </span> <span class="kwrd">this</span>.add(relnlabel, <span class="kwrd">null</span>);</pre>
<pre class="alt"><span class="lnum"> 135: </span> <span class="kwrd">this</span>.add(copyrtLabel, <span class="kwrd">null</span>);</pre>
<pre><span class="lnum"> 136: </span> <span class="kwrd">this</span>.add(namesLabel, <span class="kwrd">null</span>);</pre>
<pre class="alt"><span class="lnum"> 137: </span> }</pre>
<pre><span class="lnum"> 138: </span> </pre>
<pre class="alt"><span class="lnum"> 139: </span> <span class="rem">/**</span></pre>
<pre><span class="lnum"> 140: </span><span class="rem"> * This method initializes name1textField</span></pre>
<pre class="alt"><span class="lnum"> 141: </span><span class="rem"> * </span></pre>
<pre><span class="lnum"> 142: </span><span class="rem"> * @return java.awt.TextField</span></pre>
<pre class="alt"><span class="lnum"> 143: </span><span class="rem"> */</span></pre>
<pre><span class="lnum"> 144: </span> <span class="kwrd">private</span> TextField getName1textField() {</pre>
<pre class="alt"><span class="lnum"> 145: </span> <span class="kwrd">if</span> (name1textField == <span class="kwrd">null</span>) {</pre>
<pre><span class="lnum"> 146: </span> name1textField = <span class="kwrd">new</span> TextField();</pre>
<pre class="alt"><span class="lnum"> 147: </span> name1textField.setBounds(<span class="kwrd">new</span> Rectangle(149, 42, 159, 29));</pre>
<pre><span class="lnum"> 148: </span> }</pre>
<pre class="alt"><span class="lnum"> 149: </span> <span class="kwrd">return</span> name1textField;</pre>
<pre><span class="lnum"> 150: </span> }</pre>
<pre class="alt"><span class="lnum"> 151: </span> </pre>
<pre><span class="lnum"> 152: </span> <span class="rem">/**</span></pre>
<pre class="alt"><span class="lnum"> 153: </span><span class="rem"> * This method initializes name2textField</span></pre>
<pre><span class="lnum"> 154: </span><span class="rem"> * </span></pre>
<pre class="alt"><span class="lnum"> 155: </span><span class="rem"> * @return java.awt.TextField</span></pre>
<pre><span class="lnum"> 156: </span><span class="rem"> */</span></pre>
<pre class="alt"><span class="lnum"> 157: </span> <span class="kwrd">private</span> TextField getName2textField() {</pre>
<pre><span class="lnum"> 158: </span> <span class="kwrd">if</span> (name2textField == <span class="kwrd">null</span>) {</pre>
<pre class="alt"><span class="lnum"> 159: </span> name2textField = <span class="kwrd">new</span> TextField();</pre>
<pre><span class="lnum"> 160: </span> name2textField.setBounds(<span class="kwrd">new</span> Rectangle(147, 91, 160, 29));</pre>
<pre class="alt"><span class="lnum"> 161: </span> }</pre>
<pre><span class="lnum"> 162: </span> <span class="kwrd">return</span> name2textField;</pre>
<pre class="alt"><span class="lnum"> 163: </span> }</pre>
<pre><span class="lnum"> 164: </span> </pre>
<pre class="alt"><span class="lnum"> 165: </span> <span class="rem">/**</span></pre>
<pre><span class="lnum"> 166: </span><span class="rem"> * This method initializes calculatebutton</span></pre>
<pre class="alt"><span class="lnum"> 167: </span><span class="rem"> * </span></pre>
<pre><span class="lnum"> 168: </span><span class="rem"> * @return java.awt.Button</span></pre>
<pre class="alt"><span class="lnum"> 169: </span><span class="rem"> */</span></pre>
<pre><span class="lnum"> 170: </span> <span class="kwrd">private</span> Button getCalculatebutton() {</pre>
<pre class="alt"><span class="lnum"> 171: </span> <span class="kwrd">if</span> (calculatebutton == <span class="kwrd">null</span>) {</pre>
<pre><span class="lnum"> 172: </span> calculatebutton = <span class="kwrd">new</span> Button();</pre>
<pre class="alt"><span class="lnum"> 173: </span> calculatebutton.setBounds(<span class="kwrd">new</span> Rectangle(105, 129, 149, 32));</pre>
<pre><span class="lnum"> 174: </span> calculatebutton.setLabel(<span class="str">"Calculate Relationship"</span>);</pre>
<pre class="alt"><span class="lnum"> 175: </span> calculatebutton</pre>
<pre><span class="lnum"> 176: </span> .addMouseListener(<span class="kwrd">new</span> java.awt.<span class="kwrd">event</span>.MouseListener() {</pre>
<pre class="alt"><span class="lnum"> 177: </span> <span class="kwrd">public</span> <span class="kwrd">void</span> mouseClicked(java.awt.<span class="kwrd">event</span>.MouseEvent e) {</pre>
<pre><span class="lnum"> 178: </span> String relation = calculateRelationship();</pre>
<pre class="alt"><span class="lnum"> 179: </span> relationLabel.setText(<span class="str">"RelationShip between "</span>);</pre>
<pre><span class="lnum"> 180: </span> namesLabel.setText(name1textField.getText().trim()</pre>
<pre class="alt"><span class="lnum"> 181: </span> + <span class="str">" and "</span> + name2textField.getText().trim()</pre>
<pre><span class="lnum"> 182: </span> + <span class="str">" is "</span>);</pre>
<pre class="alt"><span class="lnum"> 183: </span> relnlabel.setText(relation);</pre>
<pre><span class="lnum"> 184: </span> }</pre>
<pre class="alt"><span class="lnum"> 185: </span> </pre>
<pre><span class="lnum"> 186: </span> <span class="kwrd">public</span> <span class="kwrd">void</span> mousePressed(java.awt.<span class="kwrd">event</span>.MouseEvent e) {</pre>
<pre class="alt"><span class="lnum"> 187: </span> }</pre>
<pre><span class="lnum"> 188: </span> </pre>
<pre class="alt"><span class="lnum"> 189: </span> <span class="kwrd">public</span> <span class="kwrd">void</span> mouseReleased(java.awt.<span class="kwrd">event</span>.MouseEvent e) {</pre>
<pre><span class="lnum"> 190: </span> }</pre>
<pre class="alt"><span class="lnum"> 191: </span> </pre>
<pre><span class="lnum"> 192: </span> <span class="kwrd">public</span> <span class="kwrd">void</span> mouseEntered(java.awt.<span class="kwrd">event</span>.MouseEvent e) {</pre>
<pre class="alt"><span class="lnum"> 193: </span> }</pre>
<pre><span class="lnum"> 194: </span> </pre>
<pre class="alt"><span class="lnum"> 195: </span> <span class="kwrd">public</span> <span class="kwrd">void</span> mouseExited(java.awt.<span class="kwrd">event</span>.MouseEvent e) {</pre>
<pre><span class="lnum"> 196: </span> }</pre>
<pre class="alt"><span class="lnum"> 197: </span> });</pre>
<pre><span class="lnum"> 198: </span> }</pre>
<pre class="alt"><span class="lnum"> 199: </span> <span class="kwrd">return</span> calculatebutton;</pre>
<pre><span class="lnum"> 200: </span> }</pre>
<pre class="alt"><span class="lnum"> 201: </span> </pre>
<pre><span class="lnum"> 202: </span>}</pre>
</div>
</div>
Harirajhttp://www.blogger.com/profile/05040376723037361480noreply@blogger.com0tag:blogger.com,1999:blog-6442314261336350328.post-76928021625743227042011-06-24T18:45:00.000-07:002011-06-24T18:45:14.246-07:00Reading data from an uploaded Excel document using Apache POI in Spring 3 MVC<div dir="ltr" style="text-align: left;" trbidi="on"><div style="color: blue; text-align: justify;">What is Apache POI?</div><div style="text-align: justify;"> Apache POI (Poor Obfuscation Implementation) is a Java APIs for manipulating various file formats based upon the Office Open XML standards (OOXML) and Microsoft’s OLE 2 Compound Document format (OLE2). Apache POI is your java Excel solution which will let you to read and write MS Word, MS Excel and MS PowerPoint files using java.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> In this article let’s see how to read data from an uploaded file. Apache poi API has the following implementations for achieving this. Horrible Spreadsheet Format (HSSF) is the pure Java implementation of the Excel (97-2007) file format of POI.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><span style="color: blue;"><u>HSSFWorkbook</u> </span>– This is the first object constructed used to write/read an excel file. This represents the entire Excel File.</div><div style="text-align: justify;"><span style="color: blue;">HSSFSheet</span> - This class is used to create new spreadsheet which is called by HSSFWorkbook. This represents a single sheet in an Excel Document.</div><div style="text-align: justify;"><u><span style="color: blue;">HSSFRow</span></u> - This class represents the rows of a spreadsheet.</div><div style="text-align: justify;"><u><span style="color: blue;">HSSFCell</span></u> - This class represents the cell in a row of a spreadsheet.</div><div style="text-align: justify;"><br />
</div><div style="color: blue; text-align: justify;"><u>Structure of Excel Document to be uploaded and read :</u></div><div style="color: blue; text-align: justify;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2g4pbj6L1tjBDjVlobkVFZUaa0CLrIUyBbZCKqrizF1cvDnN1V_PKyPlKOxfyuu0eNS5qUTDw2ZT0h8DYK3BTogYEnAd3ulL783l_83TQkH9XVHabSBiWFqIJsrKn8JyCCKGEA_znvzYu/s1600/exceldatastructure.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2g4pbj6L1tjBDjVlobkVFZUaa0CLrIUyBbZCKqrizF1cvDnN1V_PKyPlKOxfyuu0eNS5qUTDw2ZT0h8DYK3BTogYEnAd3ulL783l_83TQkH9XVHabSBiWFqIJsrKn8JyCCKGEA_znvzYu/s1600/exceldatastructure.JPG" /></a></div><br />
<br />
<br />
<br />
<br />
<u>Spring 3 controller Code Snippet to Read Data from the uploaded document :</u><br />
<br />
<pre style="background: none repeat scroll 0% 0% rgb(255, 255, 255); color: black;">@RequestMapping(value = "/processExcel", method = RequestMethod.POST)
<span style="color: #7f0055; font-weight: bold;">public</span> String processExcel(
@RequestParam("excelfile") MultipartFile excelfile) {
<span style="color: #7f0055; font-weight: bold;">try</span> {
<span style="color: #7f0055; font-weight: bold;">int</span> i = 0;
<span style="color: #3f7f59;">//Creates a workbook object from the uploaded excelfile</span>
HSSFWorkbook workbook = <span style="color: #7f0055; font-weight: bold;">new</span> HSSFWorkbook(excelfile.getInputStream());
<span style="color: #3f7f59;">//Creates a worksheet object representing the first sheet</span>
HSSFSheet worksheet = workbook.getSheetAt(0);
<span style="color: #3f7f59;">//Reads the data in excel file until last row is encountered</span>
<span style="color: #7f0055; font-weight: bold;">while</span> (i < worksheet.getLastRowNum()) {
<span style="color: #3f7f59;">//Creates an object for the Candidate Model</span>
Candidate candidate=<span style="color: #7f0055; font-weight: bold;">new</span> Candidate();
<span style="color: #3f7f59;">//Creates an object representing a single row in excel</span>
HSSFRow row = worksheet.getRow(i++);
<span style="color: #3f7f59;">//Sets the Read data to the model class</span>
candidate.setCandidateId((<span style="color: #7f0055; font-weight: bold;">int</span>)row.getCell(0).getNumericCellValue());
candidate.setName(row.getCell(1).getStringCellValue());
candidate.setAddress(row.getCell(2).getStringCellValue());
candidate.setEmailId(row.getCell(3).getStringCellValue());
candidate.setPinCode((<span style="color: #7f0055; font-weight: bold;">int</span>)row.getCell(4).getNumericCellValue());
candidate.setAboutCandidate(row.getCell(5).getStringCellValue());
<span style="color: #3f7f59;">//Sends the model object to service layer for validation,</span>
<span style="color: #3f7f59;">//data processing and then to persist</span>
iCandidateService.saveCandidate(candidate);
}
} <span style="color: #7f0055; font-weight: bold;">catch</span> (<span style="color: #7f0055; font-weight: bold;">Exception</span> e) {
e.printStackTrace();
}
<span style="color: #7f0055; font-weight: bold;">return</span> <span style="color: #2a00ff;">"uploadSuccess"</span>;
}
</pre><div style="color: black;">If you are using maven, add this dependency to pom.xml</div><br />
<br />
<div style="overflow: auto;"> <pre style="background: #f6f8ff; color: #000020;"><span style="color: #308080;"><</span>dependency<span style="color: #308080;">></span>
<span style="color: #308080;"><</span>groupId<span style="color: #308080;">></span>org<span style="color: #308080;">.</span>apache<span style="color: #308080;">.</span>poi<span style="color: #308080;"><</span><span style="color: #308080;">/</span>groupId<span style="color: #308080;">></span>
<span style="color: #308080;"><</span>artifactId<span style="color: #308080;">></span>poi<span style="color: #308080;"><</span><span style="color: #308080;">/</span>artifactId<span style="color: #308080;">></span>
<span style="color: #308080;"><</span>version<span style="color: #308080;">></span><span style="color: green;">3.7</span><span style="color: #308080;"><</span><span style="color: #308080;">/</span>version<span style="color: #308080;">></span>
<span style="color: #308080;"><</span><span style="color: #308080;">/</span>dependency<span style="color: #308080;">></span>
</pre></div><br />
<div style="color: black;">That’s all folks. If you have any doubts please feel free to contact me and provide your suggestions through comments.</div><br />
<br />
</div></div>Harirajhttp://www.blogger.com/profile/05040376723037361480noreply@blogger.com27tag:blogger.com,1999:blog-6442314261336350328.post-51032273859306224572011-01-01T18:02:00.000-08:002015-01-11T11:11:41.208-08:00Magic Square -- Applet<div dir="ltr" style="text-align: left;" trbidi="on"><br />
<div dir="ltr" style="text-align: left;" trbidi="on"><style type="text/css">
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: Consolas, "Courier New", Courier, Monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style><br />
<div class="csharpcode"><pre class="alt"><span class="lnum"> 1: </span><span class="rem">/**</span></pre><pre><span class="lnum"> 2: </span><span class="rem"> *</span></pre><pre class="alt"><span class="lnum"> 3: </span><span class="rem"> * @author Hariraj</span></pre><pre><span class="lnum"> 4: </span><span class="rem"> */</span></pre><pre class="alt"><span class="lnum"> 5: </span>import java.applet.Applet;</pre><pre><span class="lnum"> 6: </span>import java.awt.*;</pre><pre class="alt"><span class="lnum"> 7: </span>import java.awt.<span class="kwrd">event</span>.*;</pre><pre><span class="lnum"> 8: </span> </pre><pre class="alt"><span class="lnum"> 9: </span><span class="kwrd">public</span> <span class="kwrd">class</span> magic2 extends Applet implements ActionListener {</pre><pre><span class="lnum"> 10: </span> </pre><pre class="alt"><span class="lnum"> 11: </span> Panel rules=<span class="kwrd">new</span> Panel(<span class="kwrd">new</span> GridLayout(5,1));</pre><pre><span class="lnum"> 12: </span> Panel magic=<span class="kwrd">new</span> Panel(<span class="kwrd">new</span> GridLayout(3,3));</pre><pre class="alt"><span class="lnum"> 13: </span> Panel bottomp=<span class="kwrd">new</span> Panel(<span class="kwrd">new</span> GridLayout(2,1));</pre><pre><span class="lnum"> 14: </span> Panel nos =<span class="kwrd">new</span> Panel(<span class="kwrd">new</span> GridLayout(3,3));</pre><pre class="alt"><span class="lnum"> 15: </span> TextField [] input = <span class="kwrd">new</span> TextField[10];</pre><pre><span class="lnum"> 16: </span> Label rule=<span class="kwrd">new</span> Label(<span class="str">"What is a Magic Square?"</span>);</pre><pre class="alt"><span class="lnum"> 17: </span> Label rule2=<span class="kwrd">new</span> Label( <span class="str">"A magic square of order n is an arrangement of n^2 numbers,usually distinct"</span>);</pre><pre><span class="lnum"> 18: </span> Label rule3=<span class="kwrd">new</span> Label(<span class="str">"integers, in a square, such that the n numbers in all rows, all columns, "</span>);</pre><pre class="alt"><span class="lnum"> 19: </span> Label rule4=<span class="kwrd">new</span> Label(<span class="str">"and both diagonals sum to the same constant."</span>);</pre><pre><span class="lnum"> 20: </span> Label result=<span class="kwrd">new</span> Label();</pre><pre class="alt"><span class="lnum"> 21: </span> Button reset=<span class="kwrd">new</span> Button(<span class="str">"Reset"</span>);</pre><pre><span class="lnum"> 22: </span> Button[] no=<span class="kwrd">new</span> Button[9];</pre><pre class="alt"><span class="lnum"> 23: </span> </pre><pre><span class="lnum"> 24: </span> <span class="kwrd">public</span> <span class="kwrd">void</span> init() {</pre><pre class="alt"><span class="lnum"> 25: </span> <span class="kwrd">this</span>.setSize(440, 440);</pre><pre><span class="lnum"> 26: </span> <span class="kwrd">this</span>.setLayout(<span class="kwrd">new</span> BorderLayout());</pre><pre class="alt"><span class="lnum"> 27: </span> <span class="kwrd">this</span>.add(rules,BorderLayout.NORTH);</pre><pre><span class="lnum"> 28: </span> <span class="kwrd">this</span>.add(magic,BorderLayout.CENTER);</pre><pre class="alt"><span class="lnum"> 29: </span> bottomp.add(nos);</pre><pre><span class="lnum"> 30: </span> bottomp.add(reset);</pre><pre class="alt"><span class="lnum"> 31: </span> reset.setBackground(Color.pink);</pre><pre><span class="lnum"> 32: </span> <span class="kwrd">this</span>.add(bottomp,BorderLayout.SOUTH);</pre><pre class="alt"><span class="lnum"> 33: </span> rules.add(result);</pre><pre><span class="lnum"> 34: </span> rule.setBackground(Color.LIGHT_GRAY);</pre><pre class="alt"><span class="lnum"> 35: </span> rules.add(rule);</pre><pre><span class="lnum"> 36: </span> rules.add(rule2);</pre><pre class="alt"><span class="lnum"> 37: </span> rules.add(rule3);</pre><pre><span class="lnum"> 38: </span> rules.add(rule4);</pre><pre class="alt"><span class="lnum"> 39: </span> result.setBackground(Color.yellow);</pre><pre><span class="lnum"> 40: </span> result.setText(<span class="str">"WELCOME!!! Click the numbers to begin"</span>);</pre><pre class="alt"><span class="lnum"> 41: </span> <span class="kwrd">for</span>(<span class="kwrd">int</span> i=0;i<9;i++)</pre><pre><span class="lnum"> 42: </span> {</pre><pre class="alt"><span class="lnum"> 43: </span> magic.add(no[i]=<span class="kwrd">new</span> Button());</pre><pre><span class="lnum"> 44: </span> no[i].setLabel(<span class="str">""</span>+(i+1));</pre><pre class="alt"><span class="lnum"> 45: </span> no[i].setBackground(Color.lightGray);</pre><pre><span class="lnum"> 46: </span> nos.add(no[i]);</pre><pre class="alt"><span class="lnum"> 47: </span> no[i].addActionListener(<span class="kwrd">this</span>);</pre><pre><span class="lnum"> 48: </span> magic.add(input[i]=<span class="kwrd">new</span> TextField(<span class="str">""</span>,1));</pre><pre class="alt"><span class="lnum"> 49: </span> input[i].setEditable(<span class="kwrd">false</span>); </pre><pre><span class="lnum"> 50: </span> }reset.addActionListener(<span class="kwrd">this</span>);</pre><pre class="alt"><span class="lnum"> 51: </span> }</pre><pre><span class="lnum"> 52: </span> <span class="kwrd">int</span> g=0;</pre><pre class="alt"><span class="lnum"> 53: </span> </pre><pre><span class="lnum"> 54: </span> <span class="kwrd">public</span> <span class="kwrd">void</span> actionPerformed(ActionEvent e) {</pre><pre class="alt"><span class="lnum"> 55: </span> </pre><pre><span class="lnum"> 56: </span> <span class="kwrd">if</span>(e.getSource().equals(reset)){</pre><pre class="alt"><span class="lnum"> 57: </span> <span class="kwrd">for</span>(<span class="kwrd">int</span> i=0;i<9;i++)</pre><pre><span class="lnum"> 58: </span> {</pre><pre class="alt"><span class="lnum"> 59: </span> input[i].setText(<span class="str">""</span>);</pre><pre><span class="lnum"> 60: </span> input[i].setEditable(<span class="kwrd">false</span>);</pre><pre class="alt"><span class="lnum"> 61: </span> no[i].setEnabled(<span class="kwrd">true</span>);</pre><pre><span class="lnum"> 62: </span> }</pre><pre class="alt"><span class="lnum"> 63: </span> g=0;</pre><pre><span class="lnum"> 64: </span> result.setBackground(Color.WHITE);</pre><pre class="alt"><span class="lnum"> 65: </span> result.setText(<span class="str">""</span>);</pre><pre><span class="lnum"> 66: </span> }</pre><pre class="alt"><span class="lnum"> 67: </span> <span class="kwrd">if</span>(e.getSource().equals(no[0]))</pre><pre><span class="lnum"> 68: </span> {</pre><pre class="alt"><span class="lnum"> 69: </span> input[g].setText(<span class="str">"1"</span>);</pre><pre><span class="lnum"> 70: </span> no[0].setEnabled(<span class="kwrd">false</span>);</pre><pre class="alt"><span class="lnum"> 71: </span> g++;</pre><pre><span class="lnum"> 72: </span> }</pre><pre class="alt"><span class="lnum"> 73: </span> </pre><pre><span class="lnum"> 74: </span> <span class="kwrd">if</span>(e.getSource().equals(no[1]))</pre><pre class="alt"><span class="lnum"> 75: </span> {</pre><pre><span class="lnum"> 76: </span> input[g++].setText(<span class="str">"2"</span>);</pre><pre class="alt"><span class="lnum"> 77: </span> no[1].setEnabled(<span class="kwrd">false</span>);</pre><pre><span class="lnum"> 78: </span> </pre><pre class="alt"><span class="lnum"> 79: </span> }</pre><pre><span class="lnum"> 80: </span> <span class="kwrd">if</span>(e.getSource().equals(no[2]))</pre><pre class="alt"><span class="lnum"> 81: </span> {</pre><pre><span class="lnum"> 82: </span> input[g++].setText(<span class="str">"3"</span>);</pre><pre class="alt"><span class="lnum"> 83: </span> no[2].setEnabled(<span class="kwrd">false</span>);</pre><pre><span class="lnum"> 84: </span> }</pre><pre class="alt"><span class="lnum"> 85: </span> <span class="kwrd">if</span>(e.getSource().equals(no[3]))</pre><pre><span class="lnum"> 86: </span> {</pre><pre class="alt"><span class="lnum"> 87: </span> input[g++].setText(<span class="str">"4"</span>);</pre><pre><span class="lnum"> 88: </span> no[3].setEnabled(<span class="kwrd">false</span>);</pre><pre class="alt"><span class="lnum"> 89: </span> }</pre><pre><span class="lnum"> 90: </span> <span class="kwrd">if</span>(e.getSource().equals(no[4]))</pre><pre class="alt"><span class="lnum"> 91: </span> {</pre><pre><span class="lnum"> 92: </span> input[g++].setText(<span class="str">"5"</span>);</pre><pre class="alt"><span class="lnum"> 93: </span> no[4].setEnabled(<span class="kwrd">false</span>);</pre><pre><span class="lnum"> 94: </span> }</pre><pre class="alt"><span class="lnum"> 95: </span> <span class="kwrd">if</span>(e.getSource().equals(no[5]))</pre><pre><span class="lnum"> 96: </span> {</pre><pre class="alt"><span class="lnum"> 97: </span> input[g++].setText(<span class="str">"6"</span>);</pre><pre><span class="lnum"> 98: </span> no[5].setEnabled(<span class="kwrd">false</span>);</pre><pre class="alt"><span class="lnum"> 99: </span> }</pre><pre><span class="lnum"> 100: </span> <span class="kwrd">if</span>(e.getSource().equals(no[6]))</pre><pre class="alt"><span class="lnum"> 101: </span> {</pre><pre><span class="lnum"> 102: </span> input[g++].setText(<span class="str">"7"</span>);</pre><pre class="alt"><span class="lnum"> 103: </span> no[6].setEnabled(<span class="kwrd">false</span>);</pre><pre><span class="lnum"> 104: </span> }</pre><pre class="alt"><span class="lnum"> 105: </span> <span class="kwrd">if</span>(e.getSource().equals(no[7]))</pre><pre><span class="lnum"> 106: </span> {</pre><pre class="alt"><span class="lnum"> 107: </span> input[g++].setText(<span class="str">"8"</span>);</pre><pre><span class="lnum"> 108: </span> no[7].setEnabled(<span class="kwrd">false</span>);</pre><pre class="alt"><span class="lnum"> 109: </span> }</pre><pre><span class="lnum"> 110: </span> <span class="kwrd">if</span>(e.getSource().equals(no[8]))</pre><pre class="alt"><span class="lnum"> 111: </span> {</pre><pre><span class="lnum"> 112: </span> input[g++].setText(<span class="str">"9"</span>);</pre><pre class="alt"><span class="lnum"> 113: </span> no[8].setEnabled(<span class="kwrd">false</span>);</pre><pre><span class="lnum"> 114: </span> }</pre><pre class="alt"><span class="lnum"> 115: </span> <span class="kwrd">if</span>(g<9){</pre><pre><span class="lnum"> 116: </span> result.setBackground(Color.yellow);</pre><pre class="alt"><span class="lnum"> 117: </span> result.setText(<span class="str">"Click the remaining "</span> +(9-g)+ <span class="str">" enabled button to see the result"</span>);</pre><pre><span class="lnum"> 118: </span> }</pre><pre class="alt"><span class="lnum"> 119: </span> <span class="kwrd">if</span>(g==9){</pre><pre><span class="lnum"> 120: </span> <span class="kwrd">int</span> r1=Integer.parseInt(input[0].getText())+Integer.parseInt(input[1].getText())+Integer.parseInt(input[2].getText());</pre><pre class="alt"><span class="lnum"> 121: </span> <span class="kwrd">int</span> r2=Integer.parseInt(input[3].getText())+Integer.parseInt(input[4].getText())+Integer.parseInt(input[5].getText());</pre><pre><span class="lnum"> 122: </span> <span class="kwrd">int</span> r3=Integer.parseInt(input[6].getText())+Integer.parseInt(input[7].getText())+Integer.parseInt(input[8].getText());</pre><pre class="alt"><span class="lnum"> 123: </span> <span class="kwrd">int</span> d1=Integer.parseInt(input[0].getText())+Integer.parseInt(input[4].getText())+Integer.parseInt(input[8].getText());</pre><pre><span class="lnum"> 124: </span> <span class="kwrd">int</span> d2=Integer.parseInt(input[2].getText())+Integer.parseInt(input[4].getText())+Integer.parseInt(input[6].getText());</pre><pre class="alt"><span class="lnum"> 125: </span> </pre><pre><span class="lnum"> 126: </span> <span class="kwrd">if</span>((r1==r2)&&(r1==r3)&&(r1==d1)&&(r1==d2))</pre><pre class="alt"><span class="lnum"> 127: </span> {</pre><pre><span class="lnum"> 128: </span> result.setBackground(Color.GREEN);</pre><pre class="alt"><span class="lnum"> 129: </span> result.setText(<span class="str">" CONGRATS!!! IT'S A MAGIC SQUARE"</span>);</pre><pre><span class="lnum"> 130: </span> </pre><pre class="alt"><span class="lnum"> 131: </span> }<span class="kwrd">else</span> { result.setBackground(Color.red);</pre><pre><span class="lnum"> 132: </span> result.setText(<span class="str">" NOT A MAGIC SQUARE!!! Try Again :-("</span>);</pre><pre class="alt"><span class="lnum"> 133: </span> </pre><pre><span class="lnum"> 134: </span> }</pre><pre class="alt"><span class="lnum"> 135: </span> }</pre><pre><span class="lnum"> 136: </span> }</pre><pre class="alt"><span class="lnum"> 137: </span>}</pre></div></div></div>Harirajhttp://www.blogger.com/profile/05040376723037361480noreply@blogger.com1tag:blogger.com,1999:blog-6442314261336350328.post-23046380523847847762010-08-11T16:35:00.000-07:002011-02-02T17:33:13.395-08:00PRELUDE<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx8DaScxzFtfly_3b-oFBw9FsRR9HqDynWAtxDsU8kiPu4a_V9JTCIP0u3eBFfTRaZcj38LCJDfJh7cjW6dNo8OrAKOsAZ0ultW3QLXYqmjJb-DZUsm_E59kX37SS8gzCgLpa68pjtbaxZ/s1600/blog-blogging.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br />
</a></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx8DaScxzFtfly_3b-oFBw9FsRR9HqDynWAtxDsU8kiPu4a_V9JTCIP0u3eBFfTRaZcj38LCJDfJh7cjW6dNo8OrAKOsAZ0ultW3QLXYqmjJb-DZUsm_E59kX37SS8gzCgLpa68pjtbaxZ/s1600/blog-blogging.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx8DaScxzFtfly_3b-oFBw9FsRR9HqDynWAtxDsU8kiPu4a_V9JTCIP0u3eBFfTRaZcj38LCJDfJh7cjW6dNo8OrAKOsAZ0ultW3QLXYqmjJb-DZUsm_E59kX37SS8gzCgLpa68pjtbaxZ/s400/blog-blogging.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Lion's Entry in to the world of Blog</td></tr>
</tbody></table><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> Hi guys!!! This is an important moment for me. This is my first post to enter in to the world of blogs. This is something I’ve wanted to do for a long time, but wasn’t sure about what to write, how to write and even when to start. Eventually the time has come. I’m here to post my first blog post. It seems that blogs are a great place to share our thoughts or what we do with other like minded people. I hope that it’s going to be fun sharing my thoughts with you. Since I’m new to blogging, I’m bound to make mistakes. So please correct me by providing your valuable suggestions and feedback so that I can improve myself.</div></div>Harirajhttp://www.blogger.com/profile/05040376723037361480noreply@blogger.com0