<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3060352950402186999</id><updated>2011-11-26T15:00:26.991-08:00</updated><category term='Automated reasoning'/><category term='University of Miami'/><category term='OSGi'/><category term='RDF'/><category term='Debian'/><category term='ContextFinder'/><category term='Semantic Web'/><category term='VMWare 2'/><category term='WSAS'/><category term='Protégé'/><category term='web services'/><category term='Felix'/><category term='WSO2'/><category term='Wolfram Alpha'/><category term='Tomcat'/><category term='Carbon'/><category term='Amazon EC2'/><category term='Equinox'/><category term='Fuse'/><category term='Hadoop'/><category term='OWL'/><category term='Ubuntu'/><category term='PHP5'/><category term='Servlet Bridge'/><category term='Vitro'/><category term='Axis2'/><category term='Cloud computing'/><title type='text'>Saminda's Blogs</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.saminda.org/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-5073947116002490635</id><published>2011-08-11T11:14:00.000-07:00</published><updated>2011-08-11T11:21:53.020-07:00</updated><title type='text'>Java 7 with JSR 334</title><content type='html'>&lt;a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"&gt;JDK 7 &lt;/a&gt;with JSR 334 (Small language enhancements). I think that the the strings in switch, and multi-cache and more precise rethrow is quite useful.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-5073947116002490635?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/5073947116002490635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=5073947116002490635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/5073947116002490635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/5073947116002490635'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2011/08/java-7-with-jsr-334.html' title='Java 7 with JSR 334'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-186020657077743540</id><published>2009-12-25T15:07:00.000-08:00</published><updated>2009-12-25T15:34:03.413-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wolfram Alpha'/><category scheme='http://www.blogger.com/atom/ns#' term='Automated reasoning'/><title type='text'>Wolfram Alpha - Computational knowledge engine</title><content type='html'>&lt;a href="http://www.wolframalpha.com/"&gt;Wolfram Alpha&lt;/a&gt; is an answer engine which provides &lt;span style="font-weight: bold;"&gt;ANSWERS&lt;/span&gt; to structured queries (e.g &lt;a href="http://www.wolframalpha.com/input/?i=captial+of+sri+lanka"&gt;captial of sri lanka&lt;/a&gt;), rather providing a ranked list of web pages that most popular search engines would do. This engine uses automated reasoning to infer other results which is most useful for users. Thought the inferences that the engine makes is not currently amenable for my knownledge as of this writing, it gives very useful inferences.  For more information read &lt;a href="http://en.wikipedia.org/wiki/Wolfram_Alpha"&gt;this&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Automated_reasoning"&gt;this&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note:&lt;/span&gt;&lt;br /&gt;I explicitly made the error in search query; "&lt;a href="http://www.wolframalpha.com/input/?i=captial+of+sri+lanka"&gt;captial of sri lanka&lt;/a&gt;" (captial rather &lt;span style="font-weight: bold;"&gt;capital&lt;/span&gt;) to show how inferencing is done on the context of the search query.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-186020657077743540?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/186020657077743540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=186020657077743540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/186020657077743540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/186020657077743540'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2009/12/wolfram-alpha-computational-knowledge.html' title='Wolfram Alpha - Computational knowledge engine'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-6560076035052807475</id><published>2009-09-10T19:31:00.000-07:00</published><updated>2009-09-10T19:36:12.544-07:00</updated><title type='text'>Gtk-WARNING **: cannot open display</title><content type='html'>When you ssh to a remote machine and want to execute a graphic bound applications such as JFrame etc, use ssh with -X argument. -X is for forwarding.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;ssh -X user@host&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-6560076035052807475?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/6560076035052807475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=6560076035052807475' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/6560076035052807475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/6560076035052807475'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2009/09/gtk-warning-cannot-open-display.html' title='Gtk-WARNING **: cannot open display'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-467012330404087612</id><published>2009-08-30T13:59:00.000-07:00</published><updated>2009-08-30T14:18:47.780-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Debian'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon EC2'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>How to install kernel headers to build modules against the Xen kernel - Amazon EC2</title><content type='html'>If you are using a Ubuntu/Debian AMI, and need to install kernel headers to build modules: apt-get would not work almost all of the time. You would probably end up with doing something like following,&lt;br /&gt;&lt;pre&gt;root@domU-XX-XX-XX-XX-XX-E1:~$ apt-get install linux-headers-`uname -r`&lt;br /&gt;Reading package lists... Done&lt;br /&gt;Building dependency tree&lt;br /&gt;Reading state information... Done&lt;br /&gt;E: Couldn't find package linux-headers-2.6.21.7-2.fc8xen&lt;br /&gt;root@domU-XX-XX-XX-XX-XX-E1:~$&lt;br /&gt;&lt;/pre&gt;I used the following method to get Kernel headers and compile a VMWare 2 instance. This method will always work,&lt;br /&gt;&lt;pre&gt;wget &lt;a href="http://kojipkgs.fedoraproject.org/packages/kernel-xen-2.6/2.6.21.7/2.fc8/i686/kernel-xen-devel-2.6.21.7-2.fc8.i686.rpm"&gt;http://kojipkgs.fedoraproject.org/packages/kernel-xen-2.6/2.6.21.7/2.fc8/i686/kernel-xen-devel-2.6.21.7-2.fc8.i686.rpm&lt;/a&gt;&lt;br /&gt;alien -k --scripts kernel-xen-devel-2.6.21.7-2.fc8.i686.rpm&lt;br /&gt;dpkg -i kernel-xen-devel_2.6.21.7-2.fc8_i386.deb&lt;br /&gt;ln -s /usr/src/kernels/2.6.21.7-2.fc8-xen-i686 /lib/modules/&lt;br /&gt;2.6.21.7-2.fc8xen/build&lt;br /&gt;ln -s /usr/src/kernels/2.6.21.7-2.fc8-xen-i686 /usr/src/linux&lt;br /&gt;&lt;/pre&gt;Make sure to include symbolic links to .configure to work properly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-467012330404087612?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/467012330404087612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=467012330404087612' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/467012330404087612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/467012330404087612'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2009/08/how-to-install-kernel-headers-to-build.html' title='How to install kernel headers to build modules against the Xen kernel - Amazon EC2'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-1158166985660736186</id><published>2009-08-27T14:30:00.000-07:00</published><updated>2009-08-28T20:09:25.511-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VMWare 2'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud computing'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon EC2'/><title type='text'>Virtual cloud? or something like that</title><content type='html'>Everyone on the plant is really interested in cloud computing these days. There are many &lt;a href="http://en.wikipedia.org/wiki/Cloud_computing#Companies"&gt;organizations&lt;/a&gt; specialized in providing HaaS services.  Is it possible for someone to build their own cloud, if one could find a hardware rich machine. Yes!,  it is. Lets call this is a &lt;span style="font-style: italic;"&gt;virtual cloud&lt;/span&gt;. How can a virtual cloud is built?. Simple, use &lt;a href="http://www.vmware.com/download/server/"&gt;VMWare 2&lt;/a&gt;. Let see what I did,&lt;br /&gt;&lt;br /&gt;1. I have two machines. A hardware rich machine A (172.19.0.32) and some other machine B (172.19.0.44).&lt;br /&gt;&lt;br /&gt;2. I downloaded and installed &lt;a href="http://www.vmware.com/download/server/"&gt;VMWare 2&lt;/a&gt; in machine A. This version is free and you will get an access key free too. Follow the simple instructions to install VMWare 2. VMWare 2 has a very powerful web console. Default http port is 8222 and https port is 8333. To install VMWare 2 in Ubuntu, follow these &lt;a href="http://www.howtoforge.com/how-to-install-vmware-server-2-on-ubuntu-8.10"&gt;instructions&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;3. Now I am going to create an VMWare image to install &lt;a href="http://www.ubuntu.com/GetUbuntu/download"&gt;Ubuntu 9.04&lt;/a&gt;. Ubuntu is my all time favourite Linux distribution.&lt;br /&gt;&lt;br /&gt;4. From machine A, open up a Mozilla browser and type http://172.19.0.32:8222. Login using "root" and the password. Create the VMImage for Ubuntu 9.04. If you are using the "console" tab for the very first time, browse will ask to download VMWare Remote Console Puglin. Download and restart the browser.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_1QXaVNqstgs/SpcBK4WPQ5I/AAAAAAAAABQ/FTeHZLJQwDw/s1600-h/Screenshot1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 256px;" src="http://4.bp.blogspot.com/_1QXaVNqstgs/SpcBK4WPQ5I/AAAAAAAAABQ/FTeHZLJQwDw/s320/Screenshot1.png" alt="" id="BLOGGER_PHOTO_ID_5374765966725956498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;5. Create many number of VMImages. Use different distributions. If you want you can use Windows too. Logout after this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;This is the place where we can introduce the notion of a virtual cloud. Each VMImage can be treated as a node in a cloud. There is one limitation though. This cloud can grow up until it runs out of VMImages.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6. I have created my virtual cloud in the previous step. How can I access it from out side. Lets go to machine B. In my example machine B is in the same network. Access the VMWare 2 using http://172.19.0.44:8222. Login as "root" and password. I need to find out administration permissions documents to create users to access VMImages but "root".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_1QXaVNqstgs/SpcFDuEck5I/AAAAAAAAABY/IxxstqgFTuM/s1600-h/Screenshot6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 256px;" src="http://4.bp.blogspot.com/_1QXaVNqstgs/SpcFDuEck5I/AAAAAAAAABY/IxxstqgFTuM/s320/Screenshot6.png" alt="" id="BLOGGER_PHOTO_ID_5374770241754403730" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;7. In this example, there is only one VMImage. Select it and power it up. You can turn on many VMImages.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1QXaVNqstgs/SpcF9GeTpGI/AAAAAAAAABg/4o7Pvrvmzuw/s1600-h/Screenshot2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 256px;" src="http://1.bp.blogspot.com/_1QXaVNqstgs/SpcF9GeTpGI/AAAAAAAAABg/4o7Pvrvmzuw/s320/Screenshot2.png" alt="" id="BLOGGER_PHOTO_ID_5374771227557864546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This way you can create your own private virtual cloud.&lt;br /&gt;&lt;br /&gt;Amazon EC2 allows users to create custom AMIs. Unless one does not have an agreement with them, one can not build AKIs and ARIs. If I do the prior in an Amazon EC2 node, I would definitely be able to run a distribution with my kernel, without worrying about underlying necessaties. This process might be possible to try in any cloud service providers.&lt;br /&gt;&lt;br /&gt;One would ask, why would you want to do this after all. Well I am a grad student and this is fun!.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-1158166985660736186?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/1158166985660736186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=1158166985660736186' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1158166985660736186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1158166985660736186'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2009/08/virtual-cloud-or-something-like-that.html' title='Virtual cloud? or something like that'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_1QXaVNqstgs/SpcBK4WPQ5I/AAAAAAAAABQ/FTeHZLJQwDw/s72-c/Screenshot1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-4812380872660300236</id><published>2009-08-26T11:38:00.001-07:00</published><updated>2009-08-26T11:38:59.879-07:00</updated><title type='text'>http://twitter.com/samindaa</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-4812380872660300236?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/4812380872660300236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=4812380872660300236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/4812380872660300236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/4812380872660300236'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2009/08/httptwittercomsamindaa.html' title='http://twitter.com/samindaa'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-7296122227792047700</id><published>2009-08-13T20:13:00.000-07:00</published><updated>2009-08-13T20:20:01.419-07:00</updated><title type='text'>http://blog.saminda.org/</title><content type='html'>I have registered &lt;span style="font-style: italic;"&gt;*.saminda.org&lt;/span&gt; domain for myself at last. Domain registration 101, &lt;a href="http://blog.saminda.org/"&gt;http://blog.saminda.org/&lt;/a&gt; is for my blogs.  Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-7296122227792047700?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/7296122227792047700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=7296122227792047700' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/7296122227792047700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/7296122227792047700'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2009/08/httpblogsamindaorg.html' title='http://blog.saminda.org/'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-5753132767862111073</id><published>2009-08-03T10:58:00.000-07:00</published><updated>2009-08-04T11:45:08.369-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vitro'/><category scheme='http://www.blogger.com/atom/ns#' term='Semantic Web'/><title type='text'>Vitro Tutorial</title><content type='html'>I have written an intermediate level tutorial for &lt;a href="http://vitro.mannlib.cornell.edu/"&gt;Vitro an Integrated Ontology Editor and Semantic Web Application from Conrell University&lt;/a&gt;. Check it out from &lt;a href="https://confluence.cornell.edu/display/VITROUSERS/Case+Study+Using+Ingest+Tools"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-5753132767862111073?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/5753132767862111073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=5753132767862111073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/5753132767862111073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/5753132767862111073'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2009/08/vitro-tutorial.html' title='Vitro Tutorial'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-1999304077907505633</id><published>2009-07-09T12:00:00.000-07:00</published><updated>2009-08-04T11:54:57.847-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vitro'/><category scheme='http://www.blogger.com/atom/ns#' term='OWL'/><title type='text'>Vitro - Integrated Ontology Editor and Semantic Web Application</title><content type='html'>&lt;a href="http://vitro.mannlib.cornell.edu/"&gt;Vitro  &lt;/a&gt;is a general-purpose web-based ontology and instance editor with customizable public browsing.&lt;br /&gt;&lt;br /&gt;&lt;p style="font-style: italic;"&gt;With Vitro, you can:&lt;/p&gt; &lt;ul style="font-style: italic;"&gt;&lt;li&gt;Create or load ontologies in OWL format&lt;/li&gt;&lt;li&gt;Edit instances and relationships&lt;/li&gt;&lt;li&gt;Build a public web site to display your data&lt;/li&gt;&lt;li&gt;Search your data with Lucene&lt;/li&gt;&lt;/ul&gt;One of my previous blog posts talk about &lt;a href="http://samindaa.blogspot.com/2009/07/protege-owl.html"&gt;Protege ontology editor&lt;/a&gt;. One could use Protege 3.4.1 (latest release when this post is written) to create ontologies and import them to Vitro to create a powerful web portal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-1999304077907505633?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/1999304077907505633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=1999304077907505633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1999304077907505633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1999304077907505633'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2009/07/vitro-integrated-ontology-editor-and.html' title='Vitro - Integrated Ontology Editor and Semantic Web Application'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-1897582400558683816</id><published>2009-07-04T11:09:00.000-07:00</published><updated>2009-08-04T11:45:29.783-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OWL'/><category scheme='http://www.blogger.com/atom/ns#' term='RDF'/><category scheme='http://www.blogger.com/atom/ns#' term='Protégé'/><title type='text'>Protégé-OWL</title><content type='html'>&lt;a href="http://protege.stanford.edu/overview/protege-owl.html"&gt;&lt;span style="font-weight: bold;"&gt;Protégé-OWL&lt;/span&gt;&lt;/a&gt; editor enables    users to build ontologies for the &lt;span style="font-style: italic;"&gt;Semantic Web&lt;/span&gt;, in particular in the W3C's    &lt;a href="http://www.w3.org/2001/sw/WebOnt/" target="_blank"&gt;Web Ontology Language (OWL)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;An OWL ontology may   include descriptions of classes, properties and their instances. Given such an ontology, the OWL formal semantics specifies    how to derive its logical consequences, i.e. facts not literally present in the ontology, but entailed by the semantics.    These entailments may be based on a single document or multiple distributed documents that have been combined using defined    OWL mechanisms&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;OWL has been the de-factor standard to capture the concept of knowledge base of a domain.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-1897582400558683816?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/1897582400558683816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=1897582400558683816' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1897582400558683816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1897582400558683816'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2009/07/protege-owl.html' title='Protégé-OWL'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-973508198140572789</id><published>2009-07-04T10:55:00.000-07:00</published><updated>2009-08-04T11:45:52.139-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hadoop'/><title type='text'>Apache Hadoop Core</title><content type='html'>&lt;a href="http://hadoop.apache.org/core/"&gt;Apache Hadoop Core&lt;/a&gt; is a  software platform that lets one easily     write and run applications that process vast amounts of data. It enables applications to work with thousands of nodes and petabytes of data in a distributed environment.&lt;br /&gt;&lt;br /&gt;This application is based on Java (&gt;=1.6).&lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;br /&gt;[1]. &lt;a href="http://hadoop.apache.org/core/"&gt;http://hadoop.apache.org/core/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[2]. &lt;a href="http://en.wikipedia.org/wiki/Hadoop"&gt;http://en.wikipedia.org/wiki/Hadoop&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[3]. &lt;a href="http://en.wikipedia.org/wiki/Filesystem_in_Userspace"&gt;http://en.wikipedia.org/wiki/Filesystem_in_Userspace&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-973508198140572789?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/973508198140572789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=973508198140572789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/973508198140572789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/973508198140572789'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2009/07/apache-hadoop-core.html' title='Apache Hadoop Core'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-6811326502901438345</id><published>2009-07-01T14:28:00.000-07:00</published><updated>2009-07-01T14:32:47.778-07:00</updated><title type='text'>Bing.com search engine from $</title><content type='html'>Check out this new search engine &lt;a href="http://bing.com"&gt;bing.com&lt;/a&gt; from Microsoft. I am quite impressed with the map section.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-6811326502901438345?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/6811326502901438345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=6811326502901438345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/6811326502901438345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/6811326502901438345'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2009/07/bingcom-search-engine-from.html' title='Bing.com search engine from $'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-4412537428860268257</id><published>2009-06-26T07:58:00.000-07:00</published><updated>2009-08-04T11:46:12.737-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP5'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><title type='text'>PHP 5 on Tomcat</title><content type='html'>Recently I came across this &lt;a href="http://bizjournal.smbzen.com/small-business/marketing/blogging/getting-wordpress-to-work-in-tomcat-php-in-a-java-environment.html"&gt;article&lt;/a&gt; on configuring Tomcat (&gt;= 5)  to interpret PHP 5 scripts.  This is developed by &lt;a href="http://www.caucho.com/resin-3.0/quercus/"&gt;Quercus.&lt;/a&gt; There is an open source version with GPL license. (oh no!).&lt;br /&gt;&lt;br /&gt;Anyways, one can configure Tomcat to work with PHP in 30 seconds and it is quite interesting. There are three jars associated with this  task, quercus.jar, resin-util.jar, and script10.jar.&lt;br /&gt;&lt;br /&gt;Well these jars are not OSGi compatible. It is simple to convert these to OSGi bundles and I am  really looking forward to see how these behave &lt;span style="text-decoration: underline;"&gt;in &lt;/span&gt;&lt;a href="http://www.eclipse.org/equinox/"&gt;Equinox&lt;/a&gt;.  You can have servlets, jsp, etc plus php in one container. Owesome!.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-4412537428860268257?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/4412537428860268257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=4412537428860268257' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/4412537428860268257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/4412537428860268257'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2009/06/php-5-on-tomcat.html' title='PHP 5 on Tomcat'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-1076110647010001129</id><published>2009-01-01T10:25:00.000-08:00</published><updated>2009-01-01T11:12:04.254-08:00</updated><title type='text'>Feliz 2009!</title><content type='html'>I wish everyone a happy, joyful and fruitful new year!&lt;br /&gt;&lt;br /&gt;In Spanish feliz means happy. I was so fortunate and honored to spend the new year's eve with one of Spanish families' here in Miami. Trust me on this, Spanish people have mastered the art of partying!. I had the opportunity of learning some customs and traditions that revolve around Spanish way of celebrating the new year. We ate 12 grapes before midnight, a wish at every grape, last grape sharp at midnight, wishing all those wishes will  come true in new year. The other tradition was, some people and including this family walked around the block with their traveling bags that they believed it will bring them enough wealth to travel around the world in 2009. In the midst of everything, I had a Salsa crash course, which made me moving to the beat. I was quite a fast learner!. The other great thing was I had the opportunity of experiencing authentic Spanish music where billa and kaparinya &lt;span style="font-style: italic;"&gt;(if spellings is incorrect, please help me to correct it&lt;/span&gt;) inherited from. With my very limited Spanish understanding ability I manged to consume 1% of the conversation at the night. Rest, they were kind enough to translate it to me :-). This family treated me as their own and I felt that I was not alone in Miami after all!. I sincerly thank this wonderful family in bolttom of my heart for inviting me for such a wonderful occasion.&lt;br /&gt;&lt;br /&gt;I am looking to 2009, excitements, challenges &amp;amp; everything, and with God grace I hope everything will be worked out fine for everyone in new year and the rest of the years to come!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-1076110647010001129?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/1076110647010001129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=1076110647010001129' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1076110647010001129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1076110647010001129'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2009/01/feliz-2009.html' title='Feliz 2009!'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-3330073884420776695</id><published>2008-11-13T18:09:00.000-08:00</published><updated>2008-11-13T18:12:12.457-08:00</updated><title type='text'>Quantum Of Solace (2008)</title><content type='html'>New Bond movie  is just around the corner. My friend and I managed to get two tickets just in time for the very first show, which will be shown in 3 hours from now. It will be Nov 14th 12.01 AM. We were so lucky that we managed to buy these two tickets for student discount and we were so luck that to get these two tickets to this show. Anyways, it's gonna be interesting.....and no spoilers; I promise. ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-3330073884420776695?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/3330073884420776695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=3330073884420776695' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/3330073884420776695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/3330073884420776695'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/11/quantum-of-solace-2008.html' title='Quantum Of Solace (2008)'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-8226877301607659429</id><published>2008-11-13T17:07:00.000-08:00</published><updated>2009-08-04T11:47:37.835-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fuse'/><title type='text'>FUSE</title><content type='html'>&lt;a href="http://fuse.sourceforge.net/"&gt;FUSE&lt;/a&gt; allows to develop fully functional filesystem in a userspace program. It provides,&lt;br /&gt;&lt;br /&gt;1. Simple library API&lt;br /&gt;2. Simple installation (no need to patch or recompile the kernel)&lt;br /&gt;3. Secure implementation&lt;br /&gt;4. Userspace - kernel interface is very efficient&lt;br /&gt;5. Usable by non privileged users&lt;br /&gt;6. Runs on Linux kernels 2.4.X and 2.6.X&lt;br /&gt;7. Has proven very stable over time&lt;br /&gt;[above items are extracted from http://fuse.sourceforge.net/]&lt;br /&gt;&lt;br /&gt;Recently (after spending almost 2 weeks) I completed an assignment for Operating System class which needed an implementation of filesystem that follows FAT concepts. Inevitably I stick to FAT12/16 paradigm because it was easy to (kinda :-)) implement and simulate it. I didn't implement every little fine grained part of it, but for me it was quit a exhilarating assignment and I am happy with it. This assignment had forced me to teach a lot of C stuff. I believe, now I have a relatively good understanding of how to tame this beast.&lt;br /&gt;&lt;br /&gt;So, why am I interested in FUSE anymore. Don't know whether this is feasible, but just hear me out.  I am thinking of a concept of "mounting" a Web service. It's like you mount a disk and do all sort of operations and we kind a write a FILESYSTEM that would follow the same semantics of Web services, but in the context of file system paradigm. Ex: one could create a file say "foo.txt", but now this will be a Web service which will be exposed by this FILESYSTEM. Another thing I could think of is a directory, which is a grouping of web services. These are just wild thoughts. Since I'm now a die heart fan of C, I would like to give a "hello world" try to this idea in December using Axis2/C.&lt;br /&gt;&lt;br /&gt;Hence, when you mount a disk which will adheres to this FILESYSTEM it will mount Web services. And of course you could umount the FILESYSTE anytime you want. Let me see whether I could come up with something useful and feasible and post the results. Anyway...&lt;br /&gt;&lt;br /&gt;What you guys think ?  Am I going crazy of what :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-8226877301607659429?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/8226877301607659429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=8226877301607659429' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/8226877301607659429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/8226877301607659429'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/11/fuse.html' title='FUSE'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-2559371873052463579</id><published>2008-09-24T21:32:00.000-07:00</published><updated>2008-09-25T21:27:35.008-07:00</updated><title type='text'>Playing the main role</title><content type='html'>It has been a while since I have participated in a drama. If I remembered correctly, it was in University, I did my last act (on a stage of course :-)). I go to this local church in Miami, &lt;a href="http://www.saintaugustinechurch.org/"&gt;St Augustine Church&lt;/a&gt;, for the remembrance of the Eucharist. Today there was a small drama on Jesus life from Luck 15:4-7 for youth. Yesterday,  my beloved  members of the young adults group asked me whether I could act the role of Jesus Christ. The main reason they wanted me to act was, I have long hair :-). Ironic !. Well I accepted the invitation and had to prepare myself with the setting and with the script less than 24 hrs. So today I dressed up as Jesus Christ and did my part. It was the main role btw. Everything has gone as planed and it was just awesome!!!!.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-2559371873052463579?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/2559371873052463579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=2559371873052463579' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/2559371873052463579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/2559371873052463579'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/09/playing-main-role.html' title='Playing the main role'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-8912165093604926023</id><published>2008-09-20T12:24:00.000-07:00</published><updated>2009-08-04T11:49:39.769-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='University of Miami'/><title type='text'>Senator Barack Obama in University of Miami</title><content type='html'>Yesterday, Friday (09/19/08) Senator Obama gave a speech in University of Miami. Friday is a good day, because I have only one class!. I had this rear privilege of getting a ticket to attend this event. These tickets were quite hard to come by.So I knew a dude who new another dude, who had an extra ticket so that I could borrow. I did actually saw "the man" himself and his speech was quite exhilarating and encouraging to his supports. His speech quite touched my chain of thoughts very very deeply. Hey, don't ask my point of view in political parties, I just like the idea of presidency :-). Good luck to you Senator Obama, I know you will just do fine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-8912165093604926023?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/8912165093604926023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=8912165093604926023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/8912165093604926023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/8912165093604926023'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/09/senator-barack-obama-in-university-of.html' title='Senator Barack Obama in University of Miami'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-1745065148161110592</id><published>2008-09-20T09:50:00.000-07:00</published><updated>2008-09-20T09:51:12.219-07:00</updated><title type='text'>System calls to Linux kernel</title><content type='html'>System call provides an interface to user-space processes to interact with kernel. This interface gives applications to access hardware and other operating system resources. &lt;a href="http://www.ibm.com/developerworks/linux/library/l-system-calls/"&gt;This&lt;/a&gt; article gives you a good introduction to implement system calls in i 386 architecture.&lt;br /&gt;&lt;br /&gt;It seems that _syscallX macros have been removed from "unistd.h". Hence, we have to use syscall available from libc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-1745065148161110592?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/1745065148161110592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=1745065148161110592' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1745065148161110592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1745065148161110592'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/09/system-calls-to-linux-kernel.html' title='System calls to Linux kernel'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-4120406421735374549</id><published>2008-09-10T16:11:00.000-07:00</published><updated>2008-09-10T16:18:27.254-07:00</updated><title type='text'>Compiling the newest Linux kernel</title><content type='html'>This semester I'm taking an advance operating system course and as part of my first assignment I have to hack the newest Linux kernel to provide a new system call that based on Intel architecture (32 bits). I have never hacked a Linux kernel before and this assignment has opened a quite unique experience for me.&lt;br /&gt;&lt;br /&gt;How do you compile Linux kernel 2.6.26.6&lt;br /&gt;&lt;br /&gt;0. Before starting check whether your /boot file system is ext3. If not you might end up with a lot of custom configurations, which I haven't mentioned here.&lt;br /&gt;&lt;br /&gt;1. Get latest Linux kernel code.&lt;br /&gt;Visit &lt;a href="http://kernel.org/"&gt;http://kernel.org/&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Extract tar (.tar.bz2)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;tar xvjz linux-2.6.26.5.tar.bz2 -C /usr/src/linux-2.6.26.5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Configure kernel&lt;br /&gt;&lt;br /&gt;Before doing anything else, you need to have development tools on your system. If you are using a Debian distribution you need lib6c-dev and libncursesw5-dev&lt;br /&gt;&lt;br /&gt;Change the directory to /usr/src/linux-2.6.26.5&lt;br /&gt;&lt;br /&gt;You have three options to get started&lt;br /&gt;  * make menuconfig - Text based color menus, radiolists &amp;amp; dialogs. This option also useful on remote server if you wanna compile kernel remotely.&lt;br /&gt; * make xconfig - X windows (Qt) based configuration tool, works best under KDE desktop&lt;br /&gt; * make gconfig - X windows (Gtk) based configuration tool, works best under Gnome Dekstop.&lt;br /&gt;&lt;br /&gt;I like,&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;make menuconfig&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4. Compile kernel&lt;br /&gt;&lt;br /&gt;Start compiling to create a compressed kernel image&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;make&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Start compiling to kernel modules&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;make modules&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Install kernel modules&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;make modules_install&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5. Install kernel&lt;br /&gt;&lt;br /&gt;So far we have compile module and installed kernel. Let's install kernel,&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;make install &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After that change directory to /boot, you will be able to observer,&lt;br /&gt;    System.map-2.6.26.5&lt;br /&gt;    config-2.6.26.5&lt;br /&gt;    vmlinuz-2.6.26.5&lt;br /&gt;&lt;br /&gt;6. Create initrd image&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cd /boot&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;   mkinitramfs -o initrd.img-2.6.26.5 2.6.26.5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;7. Modify Grub configuration file - /boot/grub/menu.lst&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cd /boot/grub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;   update-grub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Update grub is a cool way to edit the file automatically. One could use LILO instead of GRUB. Though the update utility do the job for us, it wont set the initrd. Hence,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;vi /boot/grub/menu.lst&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;## ## End Default Options ##&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;title           Ubuntu, kernel 2.6.26.6 Default&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;root            (hd0,0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;kernel          /vmlinuz root=UUID=c45bb5a8-11b8-4d03-aec4-4c4f070edae6 ro quiet splash&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;quite&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and change it to&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;## ## End Default Options ##&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;title           Ubuntu, kernel 2.6.26.6 Default&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;root            (hd0,0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;kernel          /vmlinuz root=UUID=c45bb5a8-11b8-4d03-aec4-4c4f070edae6 ro &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;initrd          /initrd.img-2.6.26.5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;savedefault&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;boot&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Please note that "root" will change according to your configuration&lt;br /&gt;&lt;br /&gt;8. Reboot computer and boot into your new kernel&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;reboot&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next time I'll tell you how to add a system call with a little bit of theory. Have fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-4120406421735374549?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/4120406421735374549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=4120406421735374549' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/4120406421735374549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/4120406421735374549'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/09/compiling-newest-linux-kernel.html' title='Compiling the newest Linux kernel'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-4860234929188638294</id><published>2008-09-06T20:23:00.000-07:00</published><updated>2008-09-06T20:25:13.019-07:00</updated><title type='text'>Zen poem</title><content type='html'>To follow the path:&lt;br /&gt;    look to the master,&lt;br /&gt;    follow the master,&lt;br /&gt;    walk with the master,&lt;br /&gt;    see through the master,&lt;br /&gt;    become the master.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-4860234929188638294?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/4860234929188638294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=4860234929188638294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/4860234929188638294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/4860234929188638294'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/09/zen-poem.html' title='Zen poem'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-14913218902194513</id><published>2008-08-30T20:53:00.000-07:00</published><updated>2008-08-30T21:12:10.451-07:00</updated><title type='text'>Season of Tropical Storms and Hurricanes</title><content type='html'>It was just two/three weeks after T.S Fay and it has been reported that there has been new developments of two new storms, &lt;a href="http://www.wunderground.com/tropical/tracking/at200807.html"&gt;Hurricane Gastav&lt;/a&gt; and &lt;a href="http://www.wunderground.com/tropical/tracking/at200808.html"&gt;T.S Hanna&lt;/a&gt;. Gastov will pass Miami this weekend, while causing a lot of rain. I wanted to go to Miami Keys this Labour holiday, but due to high winds of Gastov (apx. 50 MPH), I might have to rethink of this visit. I wish I could go there and enjoy before I'm gonna stuck with course works!. Most of the people worry about T.S Hanna. She's going to do a major chaos. Let's hope for best and prepare for worst!.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-14913218902194513?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/14913218902194513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=14913218902194513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/14913218902194513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/14913218902194513'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/08/season-of-tropical-storms-and.html' title='Season of Tropical Storms and Hurricanes'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-1050110930019019332</id><published>2008-08-23T19:47:00.000-07:00</published><updated>2008-08-23T20:23:33.771-07:00</updated><title type='text'>Was I in petite Olympic ?</title><content type='html'>Last week I had the graduate student orientation program and a lot of events in &lt;a href="http://www.miami.edu/"&gt;University of Miami&lt;/a&gt;. It was quite an unique experience. In all of these activities I had the chance of meeting a lot of students from over 50 countries. It was a vast diverse community which consist of student's who are pursing studies to become film directors, actors, micro biologists, lawyers, singers, composers, doctors, business administrators, physicians, engineers, scientists, and many more. When we were travelling to University's president house, one of my newly formed friend from Cuba got a call and she said "I met a lot of interesting people from Sri Lanka, China, Russia,.." and the first response she got was, "Are you in Olympics ?". At that time it hit me that this is a form of Olympic, where students from all over the world try to excel themselves to become the pioneers in their respective areas. There are so many things to be explored and I am just started to do so.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-1050110930019019332?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/1050110930019019332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=1050110930019019332' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1050110930019019332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1050110930019019332'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/08/was-i-in-petite-olympic.html' title='Was I in petite Olympic ?'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-1795466776653398405</id><published>2008-08-19T15:15:00.000-07:00</published><updated>2008-08-19T15:44:31.215-07:00</updated><title type='text'>Kile(an integrated LaTeX environment)</title><content type='html'>&lt;a href="http://kile.sourceforge.net/"&gt;Kile&lt;/a&gt; is a user-friendly LaTeX source editor and TeX shell for KDE. Well I use Ubuntu with GNOME and it works fine. Kile needs three/four third party libraries and if you are using Ubuntu, Synaptic Package Manager will solve the problem. Those who are writing papers and those who are into academia, this is a great tool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-1795466776653398405?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/1795466776653398405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=1795466776653398405' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1795466776653398405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1795466776653398405'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/08/kilean-integrated-latex-environment.html' title='Kile(an integrated LaTeX environment)'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-1078288015231762117</id><published>2008-08-18T23:20:00.000-07:00</published><updated>2008-08-18T23:25:04.915-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='Axis2'/><title type='text'>Exposing OSGi service as a Web service using Apache Axis2</title><content type='html'>As part of &lt;a href="http://www.blogger.com/ws.apache.org/axis2/"&gt;Axis2&lt;/a&gt;/&lt;a href="http://osgi.org/"&gt;OSGi&lt;/a&gt; integration process, we have implemented the basic facility to expose an OSGi service as a Web service. Still some of the advanced functionalities related to this function is in development stage and we will update the progress as we go alone.&lt;br /&gt;&lt;br /&gt;In order to facilitate this, register OSGi service with Directory object with name/value pair "&lt;span style="font-style: italic;"&gt;org.apache.axis2.osgi.ws/name of WS&lt;/span&gt;". This will create an AxisService with default Axis2 properties. This includes message receivers to be RPC*, default schema/targetNamespace generation etc.&lt;br /&gt;&lt;br /&gt;You can test this out from &lt;a href="https://svn.apache.org/repos/asf/webservices/axis2/scratch/java/saminda/osgi_test"&gt;here.&lt;/a&gt; Follow "&lt;span style="font-style: italic;"&gt;axis2_osgi_integration.pdf&lt;/span&gt;" to set up the environment.&lt;br /&gt;&lt;br /&gt;The example has registered a simple Calculator POJO as an OSGi service and exposed it as a WS. The name/value pair for this instance is "&lt;span style="font-style: italic;"&gt;org.apache.axis2.osgi.ws/myCal&lt;/span&gt;". Then one will be able to observe&lt;br /&gt;&lt;br /&gt;wsdl -&gt; http://localhost:8080/services/myCal?wsdl&lt;br /&gt;wsdl2 -&gt; http://localhost:8080/services/myCal?wsdl2&lt;br /&gt;A request -&gt; http://localhost:8080/services/myCal/add?x=10&amp;amp;y=10&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-1078288015231762117?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/1078288015231762117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=1078288015231762117' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1078288015231762117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1078288015231762117'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/08/exposing-osgi-service-as-web-service.html' title='Exposing OSGi service as a Web service using Apache Axis2'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-5240134720081672765</id><published>2008-08-18T22:52:00.000-07:00</published><updated>2008-08-18T22:57:11.250-07:00</updated><title type='text'>Winners &amp; Losers</title><content type='html'>01.          The Winner is always part of the answer;&lt;br /&gt;      The Loser is always part of the problem.&lt;br /&gt;&lt;br /&gt;02.          Winners always thrive in chaos;&lt;br /&gt;      Losers always look for excuses.&lt;br /&gt;&lt;br /&gt;03.          The Winner says, "Let me do it for you";&lt;br /&gt;      The Loser says, "That's not my job.";&lt;br /&gt;&lt;br /&gt;04.          The Winner sees an answer for every problem;&lt;br /&gt;      The Loser sees a problem for every answer.&lt;br /&gt;&lt;br /&gt;05.          The Winner says, "It may be difficult but it is possible";&lt;br /&gt;      The Loser says, "It may be possible but it is too&lt;br /&gt;      difficult."&lt;br /&gt;&lt;br /&gt;06.          When a Winner makes a mistake, he says "I was wrong";&lt;br /&gt;      When a Loser makes a mistake, he says "It wasn't my fault."&lt;br /&gt;&lt;br /&gt;07.          A Winner makes commitments;&lt;br /&gt;      A Loser makes promises.;&lt;br /&gt;&lt;br /&gt;08.          Winners have dreams;&lt;br /&gt;      Losers have schemes.&lt;br /&gt;&lt;br /&gt;09.          Winners suggest and take ownership;&lt;br /&gt;      Losers complain and pass the buck.&lt;br /&gt;&lt;br /&gt;10.          Winners say, "I must do something";&lt;br /&gt;      Losers say, "Something must be done."&lt;br /&gt;&lt;br /&gt;11.          Winners are a part of the team;&lt;br /&gt;      Losers are apart from the team.&lt;br /&gt;&lt;br /&gt;12.          Winners see the gain;&lt;br /&gt;      Losers see pain.&lt;br /&gt;&lt;br /&gt;13.          Winners see possibilities;&lt;br /&gt;      Losers see problems.&lt;br /&gt;&lt;br /&gt;14.          Winners believe in win/win;&lt;br /&gt;      Losers believe for them to win someone has to lose.&lt;br /&gt;&lt;br /&gt;15.          Winners are far sighted and see the potential;&lt;br /&gt;      Losers are short sighted and see the past.;&lt;br /&gt;&lt;br /&gt;16.          Winners learn from mistakes;&lt;br /&gt;      Losers keep repeating the same mistakes.&lt;br /&gt;&lt;br /&gt;17.          Winners choose what they say;&lt;br /&gt;      Losers say what they choose.&lt;br /&gt;&lt;br /&gt;18.          Winners say "WE did it";&lt;br /&gt;      Losers say "I did it".&lt;br /&gt;&lt;br /&gt;19.          Winners use hard arguments, but soft words;&lt;br /&gt;      Losers use soft arguments, but hard words.;&lt;br /&gt;&lt;br /&gt;20.          Winners always think "There is something to learn from&lt;br /&gt;      others";&lt;br /&gt;     Losers always think "I know all and no one should try to&lt;br /&gt;     teach me".&lt;br /&gt;&lt;br /&gt;21.          Winners stand firm on values and objectives but compromise on&lt;br /&gt;      petty things;&lt;br /&gt;      Losers stand firm on petty things but compromise on values&lt;br /&gt;      and objectives.&lt;br /&gt;&lt;br /&gt;22.          Winners follow the philosophy of empathy "Don't do to others&lt;br /&gt;      what you don't want them to do to you";&lt;br /&gt;      Losers follow the philosophy "Do it to others before they&lt;br /&gt;      do it to you."&lt;br /&gt;&lt;br /&gt;23.          Winners make it happen;&lt;br /&gt;      Losers let it happen.&lt;br /&gt;&lt;br /&gt;24.          Winners always look out for challenges;&lt;br /&gt;      Losers always challenge others.&lt;br /&gt;&lt;br /&gt;25.          Winners share knowledge and build teams.&lt;br /&gt;      Losers hang on to knowledge and glorify themselves.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-5240134720081672765?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/5240134720081672765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=5240134720081672765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/5240134720081672765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/5240134720081672765'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/08/winners-losers.html' title='Winners &amp; Losers'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-1761954774066542693</id><published>2008-08-17T20:40:00.000-07:00</published><updated>2008-08-17T22:15:50.834-07:00</updated><title type='text'>Welcome to Miami !</title><content type='html'>It has been almost three weeks since I have arrived to Miami, US to pursue my graduate studies in computer science in Department of Computer Science at University of Miami. If I may honest with you, these three weeks have been the most toughest and sort of expensive weeks of my entire life so far and it seems that the next week is also going to be more tough with &lt;a href="http://www.noaawatch.gov/2008/fay.php"&gt;the tropical storm Fay&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So when I landed in Miami three weeks ago, I had succumbed with a &lt;a href="http://en.wikipedia.org/wiki/Kidney_stone"&gt;kidney stone&lt;/a&gt;, one of the most painful illnesses one could ever have. Since I was being a kidney stone patient for almost 2/3 years, I kinda new what hit me this time. No one to blamed but me because I don't drink enough WATER. So I started drinking plenty of water but the pain continued to persist throughout the week and next week. Normally from my experience, this excruciating pain should go away after 9/10 days but this time it didn't and I had no pain medicine with me. So finally I went to my universities health center to check this out and they immediately transferred me to University of Miami Hospital ER to CT my kindness and appendix. Thank god that I was negative for appendix but the CT showed that I had a swamp of particles in the kidney which was ready to pass down the narrow tube (urethra) on its way to my bladder, which was going to cause more pain. So I had given Vicodin, one of the most powerful pain medicine you could ever find on this plant. Pills were great, they did what they supposed to do. I believe my student health insurance covered the costs involved but I have to wait and see the report. It seems that the pain is kinda gone now but not completely yet that's encouraging. So guys/girls, if you are reading this, don't take it for granted, just drink enough WATER.&lt;br /&gt;&lt;br /&gt;Officially I stared the graduate program on 15th August 2008. I'm not quite decided what should I do for my grad studies yet. I wanted to do distributed systems but there are plenty of research areas and I hope time will tell the answer. Anyhow I needed a transportation to go the Uni which is almost four miles away from my apartment. Public transportation in this area suck worse and quite expensive. Hence, I bought my first vehicle to go to Uni, which cost me $ 70 :). I haven't ridden a cycle for more than 15 years and this is going to be quite an experience and I love it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_1QXaVNqstgs/SKj_D53x9zI/AAAAAAAAAAM/QCc83Yh7kew/s1600-h/my_bike.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_1QXaVNqstgs/SKj_D53x9zI/AAAAAAAAAAM/QCc83Yh7kew/s320/my_bike.JPG" alt="" id="BLOGGER_PHOTO_ID_5235715009357674290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To add to the excitement, National Oceanic and Atmospheric Administration has predicted that &lt;a href="http://www.noaawatch.gov/2008/fay.php"&gt;the tropical storm Fay&lt;/a&gt; is going to hit Miami big time on Tuesday at  around 2.00 pm, specially Miami-Dade county where I live in. As this is not a hurricane, residence here believe that this storm is not going to do much damage and I hope it will stay that way. So, if I don't blog at the end of this week, there is a probability that I might have blown away with the gusty winds :). Anyway I hope that this will not going to be too serious.&lt;br /&gt;&lt;br /&gt;Miami is a pretty exciting place and I will try to share my experiences, hopefully stay alive and healthy and write to you guys.  To get the spirit flowing, listing to "&lt;a href="http://www.youtube.com/watch?v=yDp5IP76PeY"&gt;Miami&lt;/a&gt;" by Will Simith ;).&lt;br /&gt;&lt;br /&gt;Guys, ***c pain, I did went to South beach and the place really  bringin the heat, you gotta see to believe it!.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-1761954774066542693?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/1761954774066542693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=1761954774066542693' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1761954774066542693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1761954774066542693'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/08/welcome-to-miami.html' title='Welcome to Miami !'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_1QXaVNqstgs/SKj_D53x9zI/AAAAAAAAAAM/QCc83Yh7kew/s72-c/my_bike.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-108816683030278949</id><published>2008-07-22T23:30:00.000-07:00</published><updated>2008-07-22T23:49:07.059-07:00</updated><title type='text'>Everything can be a bundle</title><content type='html'>One of the demanding aspect of server side OSGi is to reuse the existing classic jar files as bundles. The other aspect of the spectrum is to diagnose these bundles. Out of the lot &lt;a href="http://www.aqute.biz/Code/Bnd"&gt;BND (Bundle Tool) tool from Peter Kriens&lt;/a&gt; helps you to create and diagnose &lt;a href="http://osgi.org"&gt;OSGi R4 bundles&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The key features are,&lt;br /&gt;&lt;br /&gt;1. Show the manifest and JAR content of a bundle&lt;br /&gt;2. Wraps a JAR as a bundle&lt;br /&gt;3. Create a bundle from a specification and a classpath&lt;br /&gt;4. Verifying the validity of the manifest entries&lt;br /&gt;&lt;br /&gt;This tool can be used as a,&lt;br /&gt;&lt;br /&gt;1. Command line tool&lt;br /&gt;2. Eclipse plugin&lt;br /&gt;3. Maven plugin&lt;br /&gt;4. Ant plugin&lt;br /&gt;&lt;br /&gt;You will find more information about this tool &lt;a href="http://www.aqute.biz/Code/Bnd"&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://felix.apache.org"&gt;Apache Felix&lt;/a&gt; folks has written a Maven2 plugin based on BND called &lt;a href="http://felix.apache.org/site/maven-bundle-plugin-bnd.html"&gt;maven-bundle-plugin&lt;/a&gt; to create bundles.&lt;br /&gt;&lt;br /&gt;You'll find a really cool article on usage of BND is available &lt;a href="http://blog.springsource.com/main/2008/02/18/creating-osgi-bundles/"&gt;here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-108816683030278949?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/108816683030278949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=108816683030278949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/108816683030278949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/108816683030278949'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/07/everything-can-be-bundle.html' title='Everything can be a bundle'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-7730450333095031630</id><published>2008-07-14T11:08:00.000-07:00</published><updated>2008-07-14T11:26:43.883-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='WSAS'/><title type='text'>Maven 2 GPG Plugin</title><content type='html'>&lt;a href="http://maven.apache.org/plugins/maven-gpg-plugin/"&gt;Maven 2 GPG Plugin&lt;/a&gt;, allows to sign attached artifacts with GunPG. One of the tedious processes involved in releasing a project is to sign its artifacts. Some of the releases might contain 10-15 artifacts. Ex: &lt;a href="http://wso2.com/products/wsas/"&gt;WSO2 WSAS&lt;/a&gt; etc. So in order to get the release process   smoother, one could just need to add the following plugin into the parent pom.xml,&lt;br /&gt;&lt;br /&gt;&amp;lt;plugin&amp;gt;   &lt;br /&gt;  &amp;lt;groupid&amp;gt;org.apache.maven.plugins&amp;lt;/groupid&amp;gt;   &lt;br /&gt; &amp;lt;artifactid&amp;gt;maven-gpg-plugin&amp;lt;/artifactid&amp;gt;   &lt;br /&gt; &amp;lt;executions&amp;gt;     &lt;br /&gt;    &amp;lt;execution&amp;gt;       &lt;br /&gt;       &amp;lt;id&amp;gt;sign-artifacts&amp;lt;/id&amp;gt;       &lt;br /&gt;       &amp;lt;phase&amp;gt;verify&amp;lt;/phase&amp;gt;       &lt;br /&gt;      &amp;lt;goals&amp;gt;         &lt;br /&gt;         &amp;lt;goal&amp;gt;sign&amp;lt;/goal&amp;gt;       &lt;br /&gt;      &amp;lt;/goals&amp;gt;     &lt;br /&gt;    &amp;lt;/execution&amp;gt;   &lt;br /&gt;&amp;lt;/executions&amp;gt;&lt;br /&gt;&amp;lt;/plugin&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The latest version of this plugin is &lt;a href="http://maven.apache.org/plugins/index.html"&gt;1.0-alpha-4 as at 2007-09-28&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Then using "mvn clean deploy" will sign the artifacts in addition to md5 &amp;amp; sha1. It's advisable if the prior plugin be added in a "profile" section. Then only at the release time, "asc" files are generated. Trust me, when you have A LOT OF artifacts to be signed, above plugin is a life saver.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-7730450333095031630?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/7730450333095031630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=7730450333095031630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/7730450333095031630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/7730450333095031630'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/07/maven-2-gpg-plugin.html' title='Maven 2 GPG Plugin'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-7705227007638334752</id><published>2008-07-09T02:54:00.000-07:00</published><updated>2008-07-09T03:22:30.003-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet Bridge'/><category scheme='http://www.blogger.com/atom/ns#' term='Equinox'/><category scheme='http://www.blogger.com/atom/ns#' term='ContextFinder'/><category scheme='http://www.blogger.com/atom/ns#' term='Felix'/><category scheme='http://www.blogger.com/atom/ns#' term='Carbon'/><category scheme='http://www.blogger.com/atom/ns#' term='Axis2'/><title type='text'>Partial solution to TCCL problem in OSGi</title><content type='html'>One of perennial problem that OSGi uses asked from mailing lists is to resolved the problem of TCCL. As I have mentioned in the blog post "&lt;a href="http://samindaa.blogspot.com/2008/06/osgi-and-tccl-dilemma.html"&gt;OSGi and TCCL dilemma&lt;/a&gt;", there is no proper definition is available in &lt;a href="http://osgi.org"&gt;OSGi R4.1&lt;/a&gt; specification for TCCL.&lt;br /&gt;&lt;br /&gt;On the other hand &lt;a href="http://www.eclipse.org/equinox/"&gt;Eclipse Equinox OSGi implementation &lt;/a&gt;has taken steps to prevent this problem with the invent of ContextFinder (CF). When the framework starts, Equinox sets the framework TCCL to CF. Hence, all the bundles spawn from this framework will set its TCCL to CF. CF finds classes and resources from the classloader associate with the current method of the execution stack. (j&lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/SecurityManager.html#getClassContext%28%29"&gt;ava.lang.SecurityManager#getClassContext&lt;/a&gt;). This is not the complete answer to the problem, but it will solve most of the common scenarios. Thus, it's very easy to use this concept and apply to other OSGi implementations as well, such as &lt;a href="http://felix.apache.org/"&gt;Apache Felix&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wso2.com"&gt;WSO2&lt;/a&gt; is align with producing products that are OSGi enabled. The underline infrastructure of these products uses a product called "&lt;a href="http://wso2.org/projects/carbon"&gt;Carbon&lt;/a&gt;", which is an OSGi wrapper powered with either &lt;a href="http://www.eclipse.org/equinox/"&gt;Eclipse Equinox&lt;/a&gt; or &lt;a href="http://felix.apache.org/"&gt;Apache Felix&lt;/a&gt; and provide a&lt;br /&gt;Web Services infrastructure powered by &lt;a href="http://ws.apache.org/axis2/"&gt;Apache Axis2&lt;/a&gt;. Carbon uses the "servletbridge" design principle to bridge OSGi and Servlet container. Hence, Carbon is one such infrastructure that harness the benefits of server-side OSGi.  Though  Carbon  defaults to Equinox and Felix OSGi implementations, it has give a very powerful API to integrate other OSGi implementations as well.&lt;br /&gt;&lt;br /&gt;You will be able to find the source code from "svn co &lt;a href="https://svn.wso2.org/repos/wso2/trunk/carbon"&gt;https://svn.wso2.org/repos/wso2/trunk/carbon&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;Nice thing about Carbon is that it can switch between Equinox or Felix based on users preference. It can switched to any other OSGi implementations that is registered with too. Carbon uses the prior mentioned ContextFinder principle to solve the TCCL problem and I think it's a very fair assumption until OSGi specification mandate on the TCCL.&lt;br /&gt;&lt;br /&gt;One of the very first product that is scheduled to be released on this month on top of the prior mentioned infrastructure is "Data Services Solution", which is a complete solution for data services via web services.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-7705227007638334752?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/7705227007638334752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=7705227007638334752' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/7705227007638334752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/7705227007638334752'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/07/partial-solution-to-tccl-problem-in.html' title='Partial solution to TCCL problem in OSGi'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-3983813937953346235</id><published>2008-07-05T04:13:00.000-07:00</published><updated>2008-07-05T04:57:09.133-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='Axis2'/><category scheme='http://www.blogger.com/atom/ns#' term='web services'/><title type='text'>Light weight, OSGi based, Axis2 powered, web services application server in 5 minuets</title><content type='html'>Few days back I blogged about "&lt;a href="http://samindaa.blogspot.com/2008/06/embed-eclipse-equinox-in-servlet.html"&gt;Embed Eclipse Equinox in a Servlet Container&lt;/a&gt;". Let's extend this idea a little bit more to write your own light weight, &lt;a href="http://osgi.org/"&gt;OSGi&lt;/a&gt; based, &lt;a href="http://ws.apache.org/axis2/"&gt;Axis2&lt;/a&gt; powered, web services application server.&lt;br /&gt;&lt;br /&gt;There is an ongoing effort to extend &lt;a href="http://ws.apache.org/axis2/"&gt;Axis2&lt;/a&gt; Web Services engine to deploy as a bundle in an &lt;a href="http://osgi.org/"&gt;OSGi&lt;/a&gt; environment. The purpose of this extension is to allow deployed bundles to provide services and modules which will be recognized by &lt;a href="http://osgi.org/"&gt;OSGi&lt;/a&gt; based &lt;a href="http://ws.apache.org/axis2/"&gt;Axis2&lt;/a&gt; engine and deploy them.&lt;br /&gt;&lt;br /&gt;Let's create the light weight, OSGi based, &lt;a href="http://ws.apache.org/axis2/"&gt;Axis2&lt;/a&gt; powered, web services application server using &lt;a href="http://www.eclipse.org/equinox/"&gt;Eclipse Equinox&lt;/a&gt; OSGi implementation and &lt;a href="http://tomcat.apache.org/"&gt;Apache Tomcat&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;1. Download &lt;a href="http://tomcat.apache.org/"&gt;Apache Tomcat&lt;/a&gt;&lt;br /&gt;2. Download &lt;a href="http://www.eclipse.org/equinox/server/downloads/bridge.war"&gt;bridge.war&lt;/a&gt; from &lt;a href="http://www.eclipse.org/equinox/server/downloads/bridge.war"&gt;Eclipse Equinox&lt;/a&gt;.&lt;br /&gt;3. Download commons logging (&lt;a href="http://download.eclipse.org/eclipse/equinox/drops/R-3.3.2-200802211800/download.php?dropFile=org.eclipse.equinox.common_3.3.0.v20070426.jar"&gt;org.eclipse.equinox.common_3.3.0.v20070426.jar&lt;/a&gt;) bundle from &lt;a href="http://download.eclipse.org/eclipse/equinox/drops/R-3.3.2-200802211800/download.php?dropFile=org.eclipse.equinox.common_3.3.0.v20070426.jar"&gt;Eclipse Equinox&lt;/a&gt;.&lt;br /&gt;4. Copy the downloaded bridge.war to Apache Tomcat webapps directory&lt;br /&gt;5. svn co &lt;a href="https://svn.apache.org/repos/asf/webservices/axis2/scratch/java/saminda/osgi_test"&gt;https://svn.apache.org/repos/asf/webservices/axis2/scratch/java/saminda/osgi_test&lt;/a&gt; osgi_test&lt;br /&gt;6. Go to osgi_test directory and type "mvn clean install -U". You need &lt;a href="http://maven.apache.org/"&gt;Maven2&lt;/a&gt; build system.&lt;br /&gt;7. Go to osgi_test/distribution/target directory and unzipped distribution-1.0.0.zip.&lt;br /&gt;8. Copy all the bundles from distribution-1.0.0/plugin folder to &lt;tomcat_home&gt;/webapps/bridge/WEB-INF/eclipse/plugins and copy commons logging bundle too.&lt;br /&gt;9. Restart Tomcat&lt;br /&gt;10. On the osgi&gt; command prompt start all bundles except fragment host bundles.&lt;br /&gt;&lt;br /&gt;11. http://localhost:8080/bridge/services/Version?wsdl&lt;br /&gt;   http://localhost:8080/bridge/services/Version?wsdl2&lt;br /&gt;   http://localhost:8080/bridge/services/Version/getVersion&lt;br /&gt;&lt;br /&gt;You have your personal light weight, OSGi based, Axis2 powered web services application server.&lt;/tomcat_home&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-3983813937953346235?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/3983813937953346235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=3983813937953346235' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/3983813937953346235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/3983813937953346235'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/07/light-weight-osgi-based-axis2-powered.html' title='Light weight, OSGi based, Axis2 powered, web services application server in 5 minuets'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-6536753972900577874</id><published>2008-06-27T04:03:00.000-07:00</published><updated>2008-06-27T04:15:21.893-07:00</updated><title type='text'>OSGi and TCCL dilemma</title><content type='html'>&lt;a href="http://osgi.org"&gt;OSGi&lt;/a&gt; in server side is still in its infant stage, though the technology is prominent in embedded and mobile devices space. Most of the time use will try to wrap the non-OSGi libraries to bundles including proper import, export etc OSGi headers. There are so many tools available for this conversion in web, and one of the most popular tool is &lt;a href="http://felix.apache.org/site/maven-bundle-plugin-bnd.html"&gt;maven-bundle-plugin&lt;/a&gt; that associate with &lt;a href="http://maven.apache.org/"&gt;Maven2&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In order to OSGi import/export paradigm to work, bundle must use the bundle classloader. But many of the wrapped non-OSGi bundles might have used system classloader or thread context class loader (TCCL). Problem arise when TCCL is used and which is not fully explained in current OSGi specification.&lt;br /&gt;&lt;br /&gt;Luckily, &lt;a href="http://www.eclipse.org/equinox/"&gt;Eclipse Equinox&lt;/a&gt; OSGi implementation has addressed this problem by setting a "ContextFinder" in systems bundles TCCL, which is capable of traversing the bundle classloader cache and obtaining the relevant resources and classes. But other OSGi implementations such as &lt;a href="http://www.knopflerfish.org/"&gt;Knopflerfish&lt;/a&gt; uses, what they called "&lt;a href="http://www.osgi.org/wiki/uploads/CommunityEvent2008/30_knopflerfish-osgi-berlin-2008.pdf"&gt;byte code injection".&lt;/a&gt; Apache Felix has not covered this dilemma yet.&lt;br /&gt;&lt;br /&gt;So IMO, in order to OSGi to be dominant in server side, TCCL problem should be addressed and it should be addressed quite soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-6536753972900577874?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/6536753972900577874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=6536753972900577874' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/6536753972900577874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/6536753972900577874'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/06/osgi-and-tccl-dilemma.html' title='OSGi and TCCL dilemma'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-1106682072421641139</id><published>2008-06-26T01:18:00.000-07:00</published><updated>2008-06-26T01:30:17.187-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='Carbon'/><title type='text'>Embed Eclipse Equinox in a Servlet Container</title><content type='html'>OSGi is dominant mobile phones and handheld devices. Now the interest has significantly moved from these embedded to full blown servers. Hence, people are looking at eliminating barriers using &lt;a href="http://www.osgi.org/"&gt;OSGi&lt;/a&gt; on servers.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eclipse.org/equinox/"&gt;Eclipse Equinox&lt;/a&gt; is pursing work related to "&lt;a href="http://www.eclipse.org/equinox/server/"&gt;Server-Side Equinox&lt;/a&gt;". The target is to embed Equinox in a Servlet Container, using what is called the principle of "servletbridge" to run OSGi based application in a servlet container.&lt;br /&gt;&lt;br /&gt;To test this out read &lt;a href="http://www.eclipse.org/equinox/server/http_in_container.php"&gt;here&lt;/a&gt;,&lt;br /&gt;&lt;br /&gt;In summary.&lt;br /&gt;&lt;br /&gt;1. Install your favourite servlet container (&lt;a href="http://tomcat.apache.org/"&gt;Tomcat&lt;/a&gt;, &lt;a href="http://jetty.mortbay.org/jetty/"&gt;Jetty&lt;/a&gt; etc)&lt;br /&gt;2. Download and deploy per-build web application archive (&lt;a href="http://www.eclipse.org/equinox/server/downloads/bridge.war"&gt;bridge.war&lt;/a&gt;)&lt;br /&gt;3. Start the web container (http://localhost:8080/bridge)&lt;br /&gt;4. There are bunch of things you can do, which will be available here.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"servletbridge" is a cool concept, which can be applied to any OSGi implementation, such as &lt;a href="http://felix.apache.org/"&gt;Apache Felix&lt;/a&gt;, &lt;a href="http://www.knopflerfish.org/"&gt;Knopflerfish&lt;/a&gt; etc&lt;br /&gt;Hence, &lt;a href="http://wso2.org"&gt;WSO2&lt;/a&gt; Carbon, the next generation web services infrastructure powered by enterprise Axis2 uses "servletbridge" concept to provide an OSGi environment to uses to embed bundles that mimic the behavior of Axis2 service &amp;amp; module archives.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-1106682072421641139?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/1106682072421641139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=1106682072421641139' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1106682072421641139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/1106682072421641139'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/06/embed-eclipse-equinox-in-servlet.html' title='Embed Eclipse Equinox in a Servlet Container'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3060352950402186999.post-9221910424328526693</id><published>2008-06-25T09:19:00.000-07:00</published><updated>2008-06-25T09:37:16.698-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><title type='text'>New look to Apache Axis2 with OSGi</title><content type='html'>&lt;a href="http://ws.apache.org/axis2/"&gt;Apache Axis2&lt;/a&gt; has span its spectrum with the incorporation of &lt;a href="http://www.osgi.org/"&gt;OSGi &lt;/a&gt;integration. This will be mainstream in next Axis2 main release. In summary, there exist an OSGi bundle, org.apache.axis2.osgi_&lt;version&gt;.jar, which can be deployed in any OSGi environment. This bundle has few wire dependencies to other bundles, which can either be available in the OSGi implementation or one can simply create them using most popular bundling tools.&lt;br /&gt;&lt;br /&gt;In order to better understand how this will work in &lt;a href="http://www.eclipse.org/equinox/"&gt;Eclipse Equinox&lt;/a&gt; OSGi implementation,  I have create a scratch project, which will be available &lt;a href="https://svn.apache.org/repos/asf/webservices/axis2/scratch/java/saminda/osgi_test"&gt;here&lt;/a&gt;. Just do an svn checkout on prior url. Do follow the axis2_osgi_integration.pdf for more comprehensive detail of this effort.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3060352950402186999-9221910424328526693?l=blog.saminda.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.saminda.org/feeds/9221910424328526693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3060352950402186999&amp;postID=9221910424328526693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/9221910424328526693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3060352950402186999/posts/default/9221910424328526693'/><link rel='alternate' type='text/html' href='http://blog.saminda.org/2008/06/new-look-to-apache-axis2-with-osgi.html' title='New look to Apache Axis2 with OSGi'/><author><name>Saminda Abeyruwan</name><uri>http://www.blogger.com/profile/02787687751174107090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
