<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-22634878</id><updated>2026-06-04T13:21:38.521+05:30</updated><category term="java"/><category term="Lucene"/><category term="indexing"/><category term="nsis"/><category term="JSF"/><category term="apache"/><category term="http"/><category term="MSWord"/><category term="abdera"/><category term="atom"/><category term="compass"/><category term="hardy"/><category term="imageio"/><category term="mp3"/><category term="soa"/><category term="ubuntu"/><category term="windows"/><category term="wso2"/><category term="wso2registry"/><category term="xml"/><category term=".ram"/><category term="Axiom"/><category term="DOM"/><category term="MSPowerpoint"/><category term="SAX"/><category term="StAX"/><category term="WSO2 Carbon"/><category term="apache poi"/><category term="application/atom+xml"/><category term="application/xml"/><category term="atompub"/><category term="axis2"/><category term="bps"/><category term="carbon"/><category term="classloader"/><category term="cluster"/><category term="datatable"/><category term="esb"/><category term="excel"/><category term="feed"/><category term="flot"/><category term="function"/><category term="functional programming"/><category term="ie6"/><category term="internet explorer"/><category term="java8"/><category term="javascript"/><category term="javax.print"/><category term="midi"/><category term="moving graph"/><category term="netstat"/><category term="pdf"/><category term="rampart"/><category term="realplayer"/><category term="regex"/><category term="servlet"/><category term="sql"/><category term="string"/><category term="syntaxhighlighter"/><category term="telnet"/><category term="ttf"/><category term="web services"/><category term="windows registry"/><category term="wsas"/><category term="youtube"/><title type='text'>kalani&#39;s Tech blog</title><subtitle type='html'>This blog mainly contains technical stuff. It may contain info of some events too.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-22634878.post-1368508429661578038</id><published>2018-02-08T03:34:00.000+05:30</published><updated>2018-02-08T21:27:36.389+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="function"/><category scheme="http://www.blogger.com/atom/ns#" term="functional programming"/><category scheme="http://www.blogger.com/atom/ns#" term="java8"/><title type='text'>Java 8 : Functions</title><summary type="text">Functional programming in Java, a useful feature was introduced with Java 8 (java.util.function package).

With that, we have the ability to define a function, pass functions to a method as arguments or use already defined methods as functions.

I&#39;ll use a simple example to explain a function.


Function  myFunction = n -&amp;gt; n * n
&amp;nbsp;
I have defined a function here, named as &quot;myFunction&quot;. It </summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/1368508429661578038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/1368508429661578038' title='65 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/1368508429661578038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/1368508429661578038'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2018/02/java-8-functions.html' title='Java 8 : Functions'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>65</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-7954214923659315967</id><published>2011-08-13T00:21:00.002+05:30</published><updated>2018-02-08T02:56:32.992+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="nsis"/><title type='text'>NSIS - How to Write the Uninstaller</title><summary type="text">If you know how to create an installer using NSIS, you&#39;ll probably want to know how to create the uninstaller too :)

So you have to write a section named &quot;Uninstall&quot; inside your .nsi script file.

section &quot;Uninstall&quot;  
  SetShellVarContext all
  Delete &quot;$DESKTOP\Your Application.lnk&quot;
  RMDir /r &quot;$SMPROGRAMS\YourApp&quot;
  RMDir /r &quot;$INSTDIR&quot;
  Delete $INSTDIR\uninstall.exe
  DeleteRegKey HKLM &quot;</summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/7954214923659315967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/7954214923659315967' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/7954214923659315967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/7954214923659315967'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2011/08/nsis-how-to-write-uninstaller.html' title='NSIS - How to Write the Uninstaller'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-2910906951201987365</id><published>2011-07-15T22:41:00.004+05:30</published><updated>2011-07-15T23:28:51.817+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="nsis"/><title type='text'>NSIS - How to Embed Other Installers in Your Installer</title><summary type="text">Sometimes you may want to embed some other installer in your installer. As an example if you need Java as a prerequisite then you can embed Java installation inside your installer. Then it will run the Java installation before installing your application, when you run your installer.&amp;nbsp; 

So let&#39;s write a section to embed JRE installer in your installer
Section &quot;jre&quot; SECJRE
  File &quot;</summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/2910906951201987365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/2910906951201987365' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/2910906951201987365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/2910906951201987365'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2011/07/nsis-how-to-embed-other-installers-in.html' title='NSIS - How to Embed Other Installers in Your Installer'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-3862803207398921227</id><published>2011-04-28T21:07:00.020+05:30</published><updated>2011-04-28T23:38:52.564+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="nsis"/><category scheme="http://www.blogger.com/atom/ns#" term="windows registry"/><title type='text'>NSIS - How to Detect Whether Java is Installed in the System</title><summary type="text">While writing my installer I wanted to install JRE (embed JRE installer in my installer) only if Java is not installed already. So I had to detect whether Java is already installed.

My previous post on NSIS points to a quick start guide (in Harshani&#39;s blog) for NSIS, including how to install NSIS and how to write a simple installer. So at this point you should have installed NSIS and been </summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/3862803207398921227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/3862803207398921227' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/3862803207398921227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/3862803207398921227'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2011/04/nsis-how-to-detect-whether-java-is.html' title='NSIS - How to Detect Whether Java is Installed in the System'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-9080289926558668867</id><published>2011-04-15T00:55:00.005+05:30</published><updated>2011-04-26T20:10:39.302+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="nsis"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Nullsoft Scriptable Install System  (NSIS) - A Really Good Windows Installation System</title><summary type="text">I wanted to write an installation for IFRI data entry application which is currently being used to enter forest data to their database. The existing installation had some inconsistencies like users had to install the other required software themselves, some permission issues etc. So I had to search for a pretty stable installation system with all those features I wanted.

While searching I found </summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/9080289926558668867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/9080289926558668867' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/9080289926558668867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/9080289926558668867'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2011/04/nullsoft-scriptable-install-system-nsis.html' title='Nullsoft Scriptable Install System  (NSIS) - A Really Good Windows Installation System'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-3214815241842986400</id><published>2010-10-18T20:21:00.009+05:30</published><updated>2010-10-18T20:54:37.785+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="javax.print"/><title type='text'>How to Print from Java (JPS) - javax.print Package</title><summary type="text">javax.print package is available in JDKs 1.4 and above. Formerly Java AWT printing API was used to perform basic printing and now it is enhanced with advanced options like printer service discovery, in javax.print API.

I am posting a simple example showing how to perform a basic print using javax.print API.

import java.io.*;
import javax.print.*;

public class PrintTest {
 public static void </summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/3214815241842986400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/3214815241842986400' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/3214815241842986400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/3214815241842986400'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2010/10/how-to-print-from-java-jps-javaxprint.html' title='How to Print from Java (JPS) - javax.print Package'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-9161068416040073660</id><published>2010-09-06T23:05:00.002+05:30</published><updated>2010-09-06T23:06:40.575+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="mp3"/><category scheme="http://www.blogger.com/atom/ns#" term="youtube"/><title type='text'>How to Fetch MP3 from YouTube Videos</title><summary type="text">I found a nice site to fetch mp3s from YouTube videos. The process is pretty simple and fast. Check it out, you&#39;d love it.</summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/9161068416040073660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/9161068416040073660' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/9161068416040073660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/9161068416040073660'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2010/09/how-to-fetch-mp3-from-youtube-videos.html' title='How to Fetch MP3 from YouTube Videos'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-2942100523677879431</id><published>2010-08-14T00:20:00.001+05:30</published><updated>2010-08-14T00:21:20.570+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="netstat"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>How to Find which Process Runs on which Port in Windows</title><summary type="text">netstat -ab

shows which process runs on which port. If you need to find a process which runs on a particular port, the command can be used as follows

netstat -ab | find &quot;:8080 &quot;</summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/2942100523677879431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/2942100523677879431' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/2942100523677879431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/2942100523677879431'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2010/08/how-to-find-which-process-runs-on-which.html' title='How to Find which Process Runs on which Port in Windows'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-4298563374517992235</id><published>2010-08-10T02:08:00.002+05:30</published><updated>2010-08-14T00:20:44.861+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><title type='text'>How to Remove Duplicate Records from a Table, Considering a Subset of Columns - Sql</title><summary type="text">I wanted to delete some duplicate records from a table. &quot;Duplicate&quot; doesn&#39;t mean identical records in this scenario. I wanted to check whether the values in a subset of columns are identical and if so, to remove additional records keeping just one record in the table.&amp;nbsp; 

Let&#39;s assume we have a table called Person like below


IdNameAgeCity
10Sunil24Matara
11Sandun25Colombo
12Nimali23Matara
</summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/4298563374517992235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/4298563374517992235' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/4298563374517992235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/4298563374517992235'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2010/08/how-to-remove-duplicate-records-from.html' title='How to Remove Duplicate Records from a Table, Considering a Subset of Columns - Sql'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-6249019110975629357</id><published>2010-02-27T13:14:00.007+05:30</published><updated>2011-09-07T21:01:06.055+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="imageio"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><title type='text'>How to merge multiple images into one image - Java ImageIO</title><summary type="text">My previous post shows how to split an image into chunks. Now let&#39;s see how to merge multiple images into one image. Say we need to concatenate following four image chunks. I got these chunks by splitting the image in the right hand side, using the image splitter.

&amp;nbsp;















Following code shows how to concatenate the image chunks above into one image. 
int rows = 2;   //we assume the</summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/6249019110975629357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/6249019110975629357' title='62 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/6249019110975629357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/6249019110975629357'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2010/02/how-to-merge-multiple-images-into-one.html' title='How to merge multiple images into one image - Java ImageIO'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyembwLfwC1Q4k6y6CRHQW2WlwVHivnW2dPmMDcSTx7kmBJWUORxZHYzZH_qwiRUhrHMd6cfRTePzRKJHgCk5uNQQiReF_40w-uRS6n7ZNCHUobY4XO2rhfkQCFFY82mLZwxKs/s72-c/Untitled.png" height="72" width="72"/><thr:total>62</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-6226051624801418112</id><published>2010-02-24T04:02:00.007+05:30</published><updated>2010-02-24T04:16:38.102+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="imageio"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><title type='text'>How to Split an Image into Chunks - Java ImageIO</title><summary type="text">Image splitting and concatenating and other image manipulation techniques are important in parallel computing. Say we are receiving small chunks of an Image which is being manipulated parallely. In such scenarios, we need to concatenate those chunks together and vice versa.

There is a pretty straight forward way to split an image using Java imageio package. Say you need to split following image </summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/6226051624801418112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/6226051624801418112' title='386 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/6226051624801418112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/6226051624801418112'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2010/02/how-to-split-image-into-chunks-java.html' title='How to Split an Image into Chunks - Java ImageIO'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCTcCGDI3W6frW0sNRR-OCX-RKM89v3HlZT5UpSDIb_7abgbgazRzbM3Vff_ZNoPK9ppi0ESgyRS3zXYSuuceXqvaPdfoped-BR3V-Zj_zo39G5uMweAPmwtw-DMTUilzBESEE/s72-c/IMG_0062.jpg" height="72" width="72"/><thr:total>386</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-523064076827704580</id><published>2010-01-12T01:24:00.015+05:30</published><updated>2010-01-14T20:55:19.353+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="classloader"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><title type='text'>How to Write a Custom Class Loader to Load Classes from a Jar</title><summary type="text">A custom class loader is needed when the developer needs to load classes from some custom repositories, to implement hot deployment features and to allow unloading of classes.

According to Java2 class loading system, a custom class loader should subclass java.lang.ClassLoader and overrride findClass() method which is responsible for loading the class bytes and returning a defined class. 

</summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/523064076827704580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/523064076827704580' title='33 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/523064076827704580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/523064076827704580'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2010/01/how-to-write-custom-class-loader-to.html' title='How to Write a Custom Class Loader to Load Classes from a Jar'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>33</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-5318565071579754802</id><published>2009-11-09T00:10:00.001+05:30</published><updated>2009-11-09T00:11:40.235+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="syntaxhighlighter"/><title type='text'>Code Plugin for Blogger - How to Install Syntaxhighlighter</title><summary type="text">I found a nice blog post explaining how to install Syntaxhighlighter code plugin to blogger. It is very simple and works great.

Some additions
1. If your browser is Firefox, you should add the styles manually
&amp;nbsp;&amp;nbsp;&amp;nbsp; * copy the stylesheet at the location http://syntaxhighlighter.googlecode.com/svn/trunk/Styles/SyntaxHighlighter.css
&amp;nbsp;&amp;nbsp;&amp;nbsp; * Go to Layout --&amp;gt; Edit HTML
&amp;</summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/5318565071579754802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/5318565071579754802' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/5318565071579754802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/5318565071579754802'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2009/11/code-plugin-for-blogger-how-to-install.html' title='Code Plugin for Blogger - How to Install Syntaxhighlighter'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-6279759173104001515</id><published>2009-11-04T22:22:00.020+05:30</published><updated>2009-11-05T02:50:31.685+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="flot"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="moving graph"/><title type='text'>How to Plot  Moving Graphs Using  Flot  Library</title><summary type="text">Plotting a moving graph is nothing other than plotting an instance of a varying data set at each refresh.  However, to get the moving effect you need to change the data set as stated below

1. Discard the leftmost Y value of the previous step
2. Shift the remaining Y values to the left
3. Add the new coming value as the rightmost Y value

























Flot is an opensource Javascript </summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/6279759173104001515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/6279759173104001515' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/6279759173104001515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/6279759173104001515'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2009/11/how-to-plot-moving-graphs-using-flot.html' title='How to Plot  Moving Graphs Using  Flot  Library'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC4eXWIg9IUw-JqAWT1rGLfYTQ1qv6E08xxA6BdXkus5U_z23nO7d1eOqpMOqLnHontIz1AapHMp85kRcedf6vj7-dbb2AlMwGVI4l_nuEouWh0D0bvy6TH56Dcd5flJS7P_4_/s72-c/graph.png" height="72" width="72"/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-8964068631268125260</id><published>2009-06-16T21:55:00.003+05:30</published><updated>2009-11-05T07:37:15.683+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="abdera"/><category scheme="http://www.blogger.com/atom/ns#" term="http"/><title type='text'>Abdera Client - Using teardown()</title><summary type="text">I was working on a program which makes several requests to Abdera back end from the client. The client was designed to use a new AbderaClient per request and teardown method was not used on AbderaClient instance after using.

This led to an exception when I run it concurrently (by using about 100 threads). AbderaClient uses HTTPClient and MultiThreadedHttpConnectionManager. Teardown method is the</summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/8964068631268125260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/8964068631268125260' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/8964068631268125260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/8964068631268125260'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2009/06/abdera-client-using-teardown.html' title='Abdera Client - Using teardown()'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-9070165047983817219</id><published>2009-02-28T20:52:00.001+05:30</published><updated>2009-03-02T16:40:51.573+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="midi"/><category scheme="http://www.blogger.com/atom/ns#" term="mp3"/><title type='text'>Midi to Mp3 Converter</title><summary type="text">Here is a cool midi to mp3 converter which is so simple and user friendly. Direct MIDI to MP3 Converter 5.0</summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/9070165047983817219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/9070165047983817219' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/9070165047983817219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/9070165047983817219'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2009/02/midi-to-mp3-converter.html' title='Midi to Mp3 Converter'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-8604234248358005586</id><published>2009-02-18T16:52:00.004+05:30</published><updated>2009-02-20T13:31:17.650+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="bps"/><category scheme="http://www.blogger.com/atom/ns#" term="carbon"/><category scheme="http://www.blogger.com/atom/ns#" term="esb"/><category scheme="http://www.blogger.com/atom/ns#" term="soa"/><category scheme="http://www.blogger.com/atom/ns#" term="wsas"/><category scheme="http://www.blogger.com/atom/ns#" term="wso2"/><category scheme="http://www.blogger.com/atom/ns#" term="wso2registry"/><title type='text'>Making Good SOA Great - WSO2 Carbon</title><summary type="text">WSO2 Carbon is the industry&#39;s first fully componentized SOA platform. It is built on OSGi. Other WSO2 products such as WSO2Registry, WSO2 Enterprise Service Bus (ESB), WSO2 Web Services Application Server (WSAS) and WSO2 Business Process Server (BPS) are Carbon based.Why Carbon? This e book says it all.</summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/8604234248358005586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/8604234248358005586' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/8604234248358005586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/8604234248358005586'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2009/02/making-good-soa-great-wso2-carbon.html' title='Making Good SOA Great - WSO2 Carbon'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-7438887580972897158</id><published>2009-02-10T12:12:00.006+05:30</published><updated>2009-02-20T13:32:14.710+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="soa"/><category scheme="http://www.blogger.com/atom/ns#" term="web services"/><category scheme="http://www.blogger.com/atom/ns#" term="wso2"/><category scheme="http://www.blogger.com/atom/ns#" term="WSO2 Carbon"/><category scheme="http://www.blogger.com/atom/ns#" term="wso2registry"/><title type='text'>WSO2 Registry 2.0 Released</title><summary type="text">WSO2 Registry is a user friendly resource management solution available under Apache2 license. The new release of WSO2Registry is based on WSO2Carbon, which is meant to be the first fully componentized SOA framework in the industry.As the new release of WSO2Registry is based on Carbon, it uses a unified GUI which supports other carbon components  too. Another new feature included to the 2.0 </summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/7438887580972897158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/7438887580972897158' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/7438887580972897158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/7438887580972897158'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2009/02/wso2-registry-20-released.html' title='WSO2 Registry 2.0 Released'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-9053885395381884891</id><published>2009-01-28T21:37:00.001+05:30</published><updated>2009-02-20T13:30:13.829+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="application/atom+xml"/><category scheme="http://www.blogger.com/atom/ns#" term="application/xml"/><category scheme="http://www.blogger.com/atom/ns#" term="atom"/><category scheme="http://www.blogger.com/atom/ns#" term="http"/><category scheme="http://www.blogger.com/atom/ns#" term="ie6"/><category scheme="http://www.blogger.com/atom/ns#" term="internet explorer"/><category scheme="http://www.blogger.com/atom/ns#" term="xml"/><title type='text'>IE6 Doesn&#39;t Support application/atom+xml Mime Type</title><summary type="text">Internet Explorer 6 is having a problem with displaying atom feed documents which&#39;s mime type is &quot;application/atom+xml&quot;. The browser attempts to download the file instead of rendering it. Simply this happens because browser does not accept or recognize the mime type.A simple hack can be done to avoid this issue from the server side. That is changing the mime type to appication/xml or text/plain, </summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/9053885395381884891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/9053885395381884891' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/9053885395381884891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/9053885395381884891'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2009/01/ie6-doesnt-support-applicationatomxml.html' title='IE6 Doesn&#39;t Support application/atom+xml Mime Type'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-5497151347587139447</id><published>2008-11-01T12:37:00.010+05:30</published><updated>2009-11-05T07:45:40.306+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="regex"/><category scheme="http://www.blogger.com/atom/ns#" term="string"/><title type='text'>How to Replace Strings in Java - Using java.util.regex package</title><summary type="text">Replacing a charater in a String is just a matter of adding a one line to the code.

originalString.replace(oldChar, newChar)

ex.
String originalString = &quot;This/is/my/string&quot;;
System.out.println(originalString.replace(&#39;/&#39;, &#39;|&#39;));
Then the output will be &quot;This|is|my|string&quot;


Anyway how can we replace a character or number of characters(a substring) with another string. This can be done using the </summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/5497151347587139447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/5497151347587139447' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/5497151347587139447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/5497151347587139447'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2008/11/how-to-replace-strings-in-java-using.html' title='How to Replace Strings in Java - Using java.util.regex package'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-439992518963279814</id><published>2008-10-30T22:13:00.012+05:30</published><updated>2009-02-20T13:29:25.854+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="http"/><category scheme="http://www.blogger.com/atom/ns#" term="telnet"/><title type='text'>How to Telnet to a Web Server - HTTP Requests through Telnet</title><summary type="text">A web server, responding to a HTTP GET request sends the required content to the client. Normally we don&#39;t see what is sent between the web client and the server. However we can easily see what is sent by the server by telneting to that web server.To connect to the web server - open a command line and type the commandtelnet host porteg. telnet www.wso2.com 80Then you&#39;ll get connected to the </summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/439992518963279814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/439992518963279814' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/439992518963279814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/439992518963279814'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2008/10/how-to-telnet-to-web-server-http.html' title='How to Telnet to a Web Server - HTTP Requests through Telnet'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-6500387848398348507</id><published>2008-10-06T16:27:00.012+05:30</published><updated>2009-02-20T13:28:49.508+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term=".ram"/><category scheme="http://www.blogger.com/atom/ns#" term="hardy"/><category scheme="http://www.blogger.com/atom/ns#" term="realplayer"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>How to Play .ram Files in Ubuntu</title><summary type="text">Files having the .ram extension actually don&#39;t give any meaning to the word &quot;Play&quot; as they are realplayer meta files only, referring to the actual audio files. To play .ram files you should be connected to the Internet as they are streamed and played.In Ubuntu, you can get a .ram file to play by following the steps below.1. Install Realplayer and the plugin for Mozilla Firefox. (The way to </summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/6500387848398348507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/6500387848398348507' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/6500387848398348507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/6500387848398348507'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2008/10/how-to-play-ram-files-in-ubuntu.html' title='How to Play .ram Files in Ubuntu'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-42872113405047494</id><published>2008-09-30T15:47:00.005+05:30</published><updated>2009-02-20T13:28:09.417+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="hardy"/><category scheme="http://www.blogger.com/atom/ns#" term="ttf"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Installing Fonts in Ubuntu 8.04 - Hardy Heron</title><summary type="text">The way of installing fonts is bit different (must say it is pretty simple too) in Ubuntu 8.04.You just have to create a .fonts folder (if it does not exist) in your home folder and copy the TTF to that folder.Well. Thats it :)</summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/42872113405047494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/42872113405047494' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/42872113405047494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/42872113405047494'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2008/09/installing-fonts-in-ubuntu-804-hardy.html' title='Installing Fonts in Ubuntu 8.04 - Hardy Heron'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-5329207589379206017</id><published>2008-09-22T20:33:00.015+05:30</published><updated>2009-11-05T08:08:50.499+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="abdera"/><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="atom"/><category scheme="http://www.blogger.com/atom/ns#" term="atompub"/><category scheme="http://www.blogger.com/atom/ns#" term="feed"/><title type='text'>Writing a Simple Atompub Client Using Apache Abdera</title><summary type="text">The atom publishing protocol (similar to RSS but with an enhanced ability) is an application level protocol for editing and publishing web resources for periodically updated web sites, using HTTP. An atom document which adheres to the Atom syndication format spec, is used as an atom feed or entry.

Apache Abdera implements this protocol and exposes a simple API to make the thing easy. The way to </summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/5329207589379206017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/5329207589379206017' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/5329207589379206017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/5329207589379206017'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2008/09/writing-simple-atompub-client-using.html' title='Writing a Simple Atompub Client Using Apache Abdera'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22634878.post-494727944335269486</id><published>2008-08-26T10:02:00.013+05:30</published><updated>2010-02-25T04:11:56.849+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache poi"/><category scheme="http://www.blogger.com/atom/ns#" term="excel"/><category scheme="http://www.blogger.com/atom/ns#" term="Lucene"/><category scheme="http://www.blogger.com/atom/ns#" term="MSPowerpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="MSWord"/><title type='text'>How to Index Microsoft Format Documents (Word, Excel, Powerpoint) - Lucene</title><summary type="text">As my previous post shows how to index PDF Documents with Lucene, I thought that it would be worth to post how to index Microsoft format files too because those file types are very commonly used. Lucene always requires a String in order to index the content and therefore we need to extract the text from the document before giving it to Lucene for indexing. To parse the document we can use Apache </summary><link rel='replies' type='application/atom+xml' href='http://kalanir.blogspot.com/feeds/494727944335269486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/22634878/494727944335269486' title='22 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/494727944335269486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22634878/posts/default/494727944335269486'/><link rel='alternate' type='text/html' href='http://kalanir.blogspot.com/2008/08/how-to-index-microsoft-format-documents.html' title='How to Index Microsoft Format Documents (Word, Excel, Powerpoint) - Lucene'/><author><name>kalani Ruwanpathirana</name><uri>http://www.blogger.com/profile/16687161472176693636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRu8eGNOXZtcC9a9ZOqPzIS_cNNh4IkZBWReG8gUttYarA7euFxUkiqUX1vZCKEQ5kn8lhJ5d4_r15A50rlJmFnKGC8ED4sLqtOgRtuld3xuQzzY4GDXNH1CWM-0HUl14/s220/me.jpg'/></author><thr:total>22</thr:total></entry></feed>