tag:blogger.com,1999:blog-167645512009-07-20T23:02:32.540-07:00This is how I see my worldDeepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.comBlogger192125tag:blogger.com,1999:blog-16764551.post-64802870492732445042009-07-03T17:49:00.001-07:002009-07-03T17:49:48.116-07:00Who is master in Math and why?One of my colleague explained me a very nice story he learned by reading the book called “Outliers”. According that book, it says Asian are some what smarter when it come to mathematics. And there is a nice story behind that too, that is the number system they used. For example in English we start with, one, two three.... , ten, eleven, twelve, thirteen, fourteen and etc... , if you think carefully. In English language though you pronounce as thirteen fourteen you write them differently. As en example when we call thirteen, it gave impression that the number is going to start with three, in fact it does not.<br /><br />So, according the book this complexity make some issues in the childhood.<br /><br />After listening to my friend I thought though this, then I found even in my own language (Sinhalese) we have some confusion. For example in Sinhalese when it come to 15 we pronounce is differently than other numbers, simply we break the sequence. From eleven to twenty we have a right sequence, the way we write and read is same except number 15.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-6480287049273244504?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com1tag:blogger.com,1999:blog-16764551.post-82221489207377526562009-06-09T20:14:00.000-07:002009-06-09T20:15:31.502-07:00How to fix MBR using Ubuntu live CDWhen we have dual boot there are some possibility that we might delete one of the partition, and causing deleting MBR as well. Issues can be easily fix using Windows CD, however you need to remember the password, if not ..<br /><br />Ubuntu Live CD comes handy this case, just follow the following steps, you will be back in business.<br /><br /><ul><li>Boot from Ubuntu Live CD</li><li>Then you need to download the ms-sys, you can find that from - <a href="http://packages.ubuntu.com/dapper/i386/ms-sys/download">http://packages.ubuntu.com/dapper/i386/ms-sys/download</a></li><li>Once downloaded it will ask for auto install, click that</li><li>Next type “sudo fdisk -l” , from that you can find the main partition you want to fix</li><li>Then type “sudo ms-sys -m /dev/sda”</li><li>Next restart, everything should work fine. </li></ul><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-8222148920737752656?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com0tag:blogger.com,1999:blog-16764551.post-6861955346911233362009-06-09T06:44:00.000-07:002009-06-09T06:45:31.190-07:00Axis2 1.5 releasedAxis2 1.5 released and available to download, this is a major release and has a number of changes<br /><br /><ul><li>Removed the JDK 1.4 compatibility, now Axis2 works JDK 1.5 and above</li><li>Moving transport to a separate package</li><li>A number of bug fixes and</li><li>Many more new small scale improvements </li></ul><br />You can download the release from <a href="http://ws.apache.org/axis2/">http://ws.apache.org/axis2/</a><br /><br />Thank you for using Axis2.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-686195534691123336?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com1tag:blogger.com,1999:blog-16764551.post-5095678947672058732009-06-07T18:48:00.000-07:002009-06-07T19:12:07.353-07:00Axis2 tutorials and articlesI have written a number of articles on Axis2, and those covers various topics on Axis2. However sometimes it is hard to find what you want, so I compiled a list of articles and categorized them in somewhat organized manner. I believe that will help to find the document you want with minimum time. And I will keep on updating this list, so that you can find all Axis2 articles in one place.<br /><br /><span style="font-weight: bold;">Axis2 Architecture</span><br /><ul><li> <a href="http://www-128.ibm.com/developerworks/webservices/library/ws-soa-axis2-1/">SOA development with Axis2, Part 1: Understanding Axis2</a></li><li><a href="http://www.developer.com/java/other/article.php/3792291">The Axis2 Information Model</a><br /></li></ul><span style="font-weight: bold;">Axis2 Deployment</span><br /><ul><li> <a href="http://www-128.ibm.com/developerworks/library/ws-axis2soap/index.html">The Axis2 Deployment model, Part 1: Six ways the Axis2 deployment model is more user friendly</a></li><li><a href="http://www.developer.com/services/article.php/3557741">Understanding Axis2 Deployment Architecture</a></li><li><a href="http://jaxmag.com/itr/online_artikel/psecom,id,757,nodeid,147.html">Axis2 Deployment Model</a></li><li><a href="http://wso2.org/library/3708">Axis2 deployment – Custom deployers</a></li></ul><span style="font-weight: bold;">Axis2 Services</span><br /><ul><li> <a href="http://www.developer.com/services/article.php/3613896">Writing an Axis2 Service from Scratch</a></li><li><a href="http://www.developer.com/services/article.php/10928_3735771_2">Exposing a Database as a Web Service</a></li><li><a href="http://www.developer.com/java/other/article.php/10936_3726461_1">Working with Axis2: Making a Java Class into a Service</a></li><li><a href="http://wso2.org/library/2893">Getting Started with Axis2 - Plain Old Java Objects</a></li></ul><span style="font-weight: bold;">Axis2 MessageReceivers</span><br /><ul><li><a href="http://www.developer.com/services/article.php/3570031">Utilizing a Non-Java Web Service with Axis2</a></li></ul><span style="font-weight: bold;">Axis2 Handlers</span><br /><ul><li> <a href="http://www.developer.com/services/article.php/3529321">Axis2 Execution Framework </a></li></ul><span style="font-weight: bold;">Axis2 Transport</span><br /><ul><li> <a href="http://www.developer.com/services/article.php/3606466">The Axis2 Transport Framework</a></li></ul><span style="font-weight: bold;">Axis2 Session</span><br /><ul><li><a href="http://www.developer.com/java/web/article.php/3620661">Axis2 Session Management</a></li><li><a href="https://wso2.org/library/articles/axis2-session-management">Axis2 Session Management</a></li><li><a href="http://wso2.org/library/articles/axis2-session-management-part-2">Axis2 Session Management part 2</a></li><li><a href="http://wso2.org/library/3464">Transport Session Management with Axis2</a> </li></ul><span style="font-weight: bold;">Axis2 Client</span><br /><ul><li><a href="http://today.java.net/pub/a/today/2006/12/13/invoking-web-services-using-apache-axis2.html">Invoking Web Services using Apache Axis2</a></li><li><a href="http://www.developer.com/design/article.php/3819541">How to Write Axis2 Web Service Clients for the Cloud</a><br /></li></ul><span style="font-weight: bold;">Axis2 Configurations</span><br /><ul><li><a href="http://wso2.org/library/tutorials/learning-axis2-xml-part1">Learning axis2.xml - Part1</a></li><li><a href="http://wso2.org/library/articles/axis2-configuration-part2-learning-axis2-xml">Axis2 Configuration Part 2 – Learning axis2.xml</a></li><li><a href="http://wso2.org/library/2060">Writing Your Own services.xml for Axis2 Web Services</a></li></ul><span style="font-weight: bold;">Axis2 General</span><br /><ul><li><a href="http://www.developer.com/open/article.php/3589126">Avoiding Mistakes Made Using Axis2</a></li><li><a href="http://www.developer.com/open/article.php/10930_3777111_2">Embedding Apache Axis2 into Existing Applications</a></li><li><a href="http://wso2.org/library/3860">Binary Data with Axis2 </a></li><li><a href="http://wso2.org/library/3821">How to Control Binding Generation in Axis2 ?</a></li><li><a href="http://wso2.org/library/585">Different Ways of Creating a ConfigurationContext in Axis2</a></li></ul><span style="font-weight: bold;">Apache Axiom</span><br /><ul><li><a href="http://www.developer.com/xml/article.php/10929_3799851_3">XML Manipulation with Apache AXIOM</a></li><li><a href="http://www.developer.com/open/article.php/3811126">Going Beyond XML Manipulation with Apache AXIOM</a></li></ul><span style="font-weight: bold;">Quickstart Apache Axis2</span><br /><ul><li><a href="http://blogs.deepal.org/2008/05/quickstart-axis2-my-first-book-on-axis2.html">The Axis2 book</a><br /></li></ul><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-509567894767205873?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com2tag:blogger.com,1999:blog-16764551.post-3941077742586365702009-06-03T17:23:00.000-07:002009-06-03T17:24:57.708-07:00Power of Code generationCode generation is so powerful technology, and it is been used for various purposes and various places, and code generation is not a new concept as well. In the past even though people have not used the same name they have used the same concepts. Normally any given code generation tool there are four parts, and number of steps and component may very from one component to other<br /><ul><li>Code generation configurations</li><li>Transformation</li><li>Transformation configuration</li><li>Code generation</li></ul>Configuration can be a property file, XML file or datafile or any other kind of document, and most of the time configuration can be human readable. Next is the transformation, for the transformation it could either be something like XSL or simple logic in the scripts of class file to do the transformation. Finally creating artifacts as the results.<br /><br />A classic example of code generation can be seen in the Web Service field, there people use code generation to generate service and client code from a WSDL. In that case the configuration file would WSDL, and the transformation would be WSDL to Java, and transformation option would be, web service framework, language and etc..., and finally the output would the either or both service skeleton and the stub.<br /><br />One other powerful use case of code generation is testing, specially in the process of staging testing, where we have some SLA to meet. We generate the code (scripts and configurations) and then measure the results, if it does not meet the expectation then we change the code generation configuration and re-generate the code and measure the results. We do this process until we get the expected results, doing this kind of process manually is so hard as well as error prone. <br /><br />The most difficult part of the code generation is to identify the requirements including the input configuration and output format. Once we have that code generation is easy, and once we have the code generation tool, doing testing is so easy.<br /><br />Most of the time what people do is do the experiments(testing) manually in a very small scale, and then use those code and configuration to build a code generation tool.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-394107774258636570?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com1tag:blogger.com,1999:blog-16764551.post-50614752895281415642009-04-26T12:04:00.000-07:002009-04-26T12:06:26.658-07:00Scam from yahoo messengerI have been using Yahoo messenger more than 9 years, but did not have bad experience with that. However now I am starting to get a number of scam from Yahoo messenger. One thing I noticed is that all the scam I got when the person who is sending is off-line. So I do not know whether I am also sending those kind of message, if I have done : Please forgive me . I do not receive those scam from all the people in my contact list, but from only few. One of the common message I get<br /><br />“Wow I finally found a way to lose weight and is inexpensive ...”<br /><br />I think yahoo should take some action to stop this kind of scam, if the current security mechanisms are not enough to stop those scams, then they need to find an alternative to stop. The main reason is Yahoo is one of the most commonly use IM.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-5061475289528141564?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com2tag:blogger.com,1999:blog-16764551.post-49538875034443063982009-03-30T07:35:00.000-07:002009-03-30T07:37:37.592-07:00Xen: finishing the jobOnce upon a time, Xen was the hot virtualization story. The Xen developers had a working solution for Linux - using free software - well ahead of anybody else, and Xen looked like the future of virtualization on Linux. Much venture capital chased after that story, and distributors raced to be the first to offer Xen-based virtualization. But, along the way, Xen seemed to get lost. The XenSource developers often showed little interest in getting their code into the mainline, and attempts by others to get that job done ran into no end of obstacles. So Xen stayed out of the mainline for years; the first public Xen release happened in 2003, but the core Xen code was only merged for 2.6.23 in October, 2007.<br /><br />A <a href="http://lwn.net/Articles/321696/">nice article</a> by <b>Jonathan Corbet, </b>which compare Xen and KVM. (worth reading)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-4953887503444306398?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com1tag:blogger.com,1999:blog-16764551.post-89100810528584066982009-03-26T09:30:00.000-07:002009-03-26T09:43:23.026-07:00Apache Software Foundation is 10 years old<a href="http://apache.org">Apache Software Foundation</a> celebrated its 10 year anniversary at <a href="http://www.eu.apachecon.com/c/aceu2009/">ApacheCon EU</a>. According to my knowledge ASF is one of the best open source foundation in the world. And it has a number of different projects. I am so happy to be a part of ASF and I am contributing to apache since 2004, so it is almost 5 years now. ASF has creatde a web page including most of the <a href="http://www.apache.org/press/highlights.html">highlights </a>of the last 10 years, I think it is worh reading.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-8910081052858406698?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com0tag:blogger.com,1999:blog-16764551.post-44442081171566985042009-03-25T06:52:00.000-07:002009-03-25T06:55:42.571-07:00Amazon EC2 – Building Apache Web ServerIn my <a href="http://blogs.deepal.org/2009/03/amazon-ec2-communicating-amoung.html">previous post</a> I explained how to do ssh and scp among EC2 instances, now I am going to discuss how to install Apache on EC2 (Fedora8). I know building Apache is not such a difficult work if you have setup the environment with all the essential libraries. However if it is not then it is some what difficult, in this post I am going to explain some of the challenges you may encounter if you try to build Apache on Fedora 8 (on EC2). You might imagine what is the difference between normal Fedora and Fedora for EC2, the main difference is EC2 runs on Xen hypervisor, so what you have is para-virtualization (you modify the OS to run on Xen). <br /><br />First step is to install all the required libraries. So you need to install gcc and g++,<br />Installing gcc : <span style="font-weight: bold; font-style: italic;">yum install gcc</span><br />Installing xmms : <span style="font-weight: bold; font-style: italic;">yum install xmms</span><br />Installing g++ : <span style="font-weight: bold; font-style: italic;">yum install gcc-c++</span><br /><br />In my case doing all those did not allow me to build the Apache, it was giving me an error saying <span style="font-weight: bold;">“asm/page.h” does not found</span>. Then I realize some of the OS related header files are missing in the OS image. To solve that I had to copy “/usr/include/asm” from a normal Fedora OS. After I did all those, boom Apache worked fine.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-4444208117156698504?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com0tag:blogger.com,1999:blog-16764551.post-42921351760845473892009-03-22T17:38:00.000-07:002009-03-22T17:44:47.021-07:00Amazon EC2 – Communicating amoung instancesThese days I am doing some cool work with <a href="http://aws.amazon.com/ec2/"><span style="font-weight: bold;">Amazon EC2</span></a>, so there were a lot to learn and a lot to find out. One of the major challenge I faced was to communicating between instances. For my application I need to do <span style="font-weight: bold;">“ssh”</span> and <span style="font-weight: bold;">“scp”</span> among the nodes, and most of those taking place automatically. So I had hard time figuring out this, the main reason is in EC2 if you want to connect to an instance you have to give your key-pair. Which is not possible for my application. So what I did was following.<br /><ul><li>Run an instance with the your operating system (in my case I choose Fedora 8), when you run select the key-pair and security group.</li></ul><ul><li>Next you need to generate SSH key, you can do that using following command (Do not enter a passphrase)</li><li>ssh-keygen -t rsa</li></ul><ul><li>Now you need to go and edit the ~/.ssh/authorized_keys , For that copy the content of .ssh/id_rsa.pub and paste</li><li>Now open the ~/.ssh/authorized_keys, and change the tail to be “root@domU” , basically you need to remove root@ec2-.. with new one</li><li>Then you need to edit the “~/.ssh/know_hosts” file and add the following,</li><li>*.amazon.com ssh-rsa Asasdas....</li><li>(Asasdas.... = content of rsa.pub)<br /></li></ul><br />Now you are all set (unless you need to install some other packages), next step is to bundle your image and register that with EC2 and S3. Then try running more than one instances, now if you try to do ssh among those you will find that you do not need to type the password, or you do not need to specify the key-pairs.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-4292135176084547389?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com0tag:blogger.com,1999:blog-16764551.post-56853770669111912672009-03-11T08:39:00.000-07:002009-03-11T08:46:00.822-07:00AWS Management ConsoleIf you are using Amazon EC2, then you would find the new <a href="https://console.aws.amazon.com/">AWS Management Console</a> as a very useful tool. I agree you can have the same functionality using normal SOAP API but this is cool. As I see so far it is just read only data, but provide a handy way to look at the instances you have, AMIs you have created, various secuirty gropus, kep-pairs and etc.., I think it should provide additional methods such as,<br /> - terminating an instance<br /> - Deleting an AMI<br /> - And may be remove data from S3<br /><br />Then you can do most of the work without worring about the command line tools.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-5685377066911191267?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com2tag:blogger.com,1999:blog-16764551.post-11007926846978369452009-02-22T16:52:00.000-08:002009-02-22T16:55:20.556-08:00Cloud Computing infrastructure using Axis2Utility computing or the cloud computing is becoming the next generating computing platform, which reduces the time and cost. So when we want the resource we go and rent depending on the time we want and depending on the money we have. According to my understanding <a href="http://aws.amazon.com/">Amazon EC2</a> plays a big role in Cloud computing, and of course they use Web Services for almost everything.<br /><br />Apart from commercial cloud infrastructure, there is on good open source cloud infrastructure as well, which is called <a href="http://eucalyptus.cs.ucsb.edu/"><span style="font-weight: bold;">EUCALYPTUS </span></a>(a research project). I knew about this for a few months, but I did not know that they use <a href="http://ws.apache.org/axis2">Axis2 </a>as the Web Service framework until today (Thanks Deep for letting me know that). One of the cool thing about <span style="font-weight: bold;">EUCALYPTUS </span>is that is functionally equal to Amazon EC2. So if you want to do the testing on your system before you move into Amazon EC2, then I think this is a good way of doing that.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-1100792684697836945?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com1tag:blogger.com,1999:blog-16764551.post-70632591515564488052009-02-16T06:31:00.000-08:002009-02-16T06:56:31.559-08:00Writing an Axis2 moduleOne of the interesting feature of Axis2 is its nature of extensibility, there are a number of way to extend Axis2 functionality. Here I am going to discuss how to extend its core functionality, that is invoking customer code when a message is received to the system. All the WS* features (Reliability, Security etc..), implemented in this way. Here I am going to discuss how to write a very simple Axis2 module to count the number of incoming messages and outgoing messages.<br /><br />For this module we need three main components,<br />- Incoming message handler<br />- Outgoing message handler<br />- Module configuration<br /><br />Incoming message counter has a global counter, which will be incremented for each request, and the same way outgoing message counter also has a global counter which also incremented for each outgoing messages. Then finally Module configuration which specify the ordering of handler in the execution chain [<a href="http://www.developer.com/java/web/article.php/3529321">Axis2 execution chain</a>].<br /><br />you can find the source code of all those components as well as executable module.<br /><br /><span style="font-weight: bold;">How to use the module?</span><br />To use the module, first you need to download the "counter-module.mar" and need to drop into "modules" directory in Axis2 [<a href="http://www.developer.com/services/article.php/3557741">Axis2 deployment</a>]. Then you need to engage the module, for that you can either<br />- Do that using axis2.xml &lt;module ref="counter-module"/&gt;<br />- Or you can do that using Axis2 management console<br /> (login to the admin console, then go to the engage module menu bar at the left hand side).<br /><br /><span style="font-weight: bold;">How to see that working?</span><br />To see that working you can do any of the Axis2 service invocation [<a href="http://today.java.net/pub/a/today/2006/12/13/invoking-web-services-using-apache-axis2.html">Axis2 client API</a>], the simplest way is to invoke the version service. For that type the following in the browser.<br />http://localhost:8080/axis2/services/Version/getVersion<br /><br />Then if you look at the server console (Tomcat console), you can see our module prints request and response count. If you invoke the service again you will see the number is getting incremented.<br /><br />Resource<br />- <a href="http://people.apache.org/%7Edeepal/axis2/blog/counter-module-source.zip">Source code</a><br />- <a href="http://people.apache.org/%7Edeepal/axis2/blog/counter-module.mar">Binary file<br /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-7063259151556448805?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com0tag:blogger.com,1999:blog-16764551.post-84027546327234134502009-02-06T06:49:00.000-08:002009-02-06T06:57:08.447-08:00What is WSO2 and WSO2 CarbonReacently WSO2 relaased its company overview or the elivator pitch, check it out. What it is, who they are, what they do ....<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/ThQDV5-GDaM&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ThQDV5-GDaM&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><br /><br />One of my SOA teacher,<a href="http://pzf.fremantle.org/2009/02/wso2-carbon-part-1.html"> Paul Fremantle </a>(CTO, <a href="http://wso2.com">WSO2</a>) has written a nice blog about WSO2 Carbon as well as his thought on SOA composition. I think that blog is very useful to get an understanding about what is going to happen in the future of SOA, how the component oriented architecture going to be used in SOA.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-8402754632723413450?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com0tag:blogger.com,1999:blog-16764551.post-66752533134986583342009-02-02T17:29:00.000-08:002009-02-02T17:30:39.988-08:00C is so powerful bot not nice as JavaI am doing Java programming more than 6 years now, and I think I had a chance to most of the J2SE components. And specially from Axis2 I learn a lot about Java. I always found Java is so nice, due to various reason, first it is easy to program, second it has number of tools support. If you have some problem, there is a high probability that someone has already found and written code for that, so that make your job so easier. Another most important factor is debugging support for Java, it is so easy to debug Java programs, including remote debugging. Additionally most of the IDEs written for Java has better support for debugging.<br /><br />Anyway recently I got a chance to work on some of the cool C stuff, I remember I have done some C program for my undergraduate. There I did not do much work other than implementing some of the data structures and few sorting algorithms. So I believe my knowledge on C so little compared to Java. So the recent work involved a lot of low level C, concurrency, load balancing. I think that is a cool experience someone should have with C.<br /><br />While doing so I faced some strange problem sometime took days figure out the issues, one of the main reason was my lack of knowledge on C program debugging. I tried to use “gdb” but that did not work for most of the cases. Other problem I faced was getting negative time, basically I got the time before starting my execution and got the time again after execution, and when I deduct end-start I got negative values. I found that a known problem and I even tried some of the workarounds sometimes. Anyway finally I got everything working fine, now I think now I am comfortable of reading any kind of C program at least understand that correctly, and may be modify that.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-6675253313498658334?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com1tag:blogger.com,1999:blog-16764551.post-28510588297815794162009-01-27T10:31:00.000-08:002009-01-27T10:34:50.461-08:00Essential Java resourcesThis is very useful article, it has most of the resources you may need that if you are java developer. Which has collection of resources for Web sites and developer Web portals, Weblogs, Packages and/or libraries, Conferences and books.<br /><a href="http://www.ibm.com/developerworks/java/library/j-javaresources.html?ca=dgr-jw22JavaList&amp;S_TACT=105AGX59&amp;S_CMP=grsitejw22"><br />Read the full article here.</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-2851058829781579416?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com0tag:blogger.com,1999:blog-16764551.post-9382373992006961952009-01-18T06:42:00.000-08:002009-01-18T06:44:11.630-08:00Axis2 1.5 is coming stay tunedAfter about six month we are working towards getting Axis2 1.5 release. Glen has done two beta releases so far, so download the beta releases and see whether the issues you want to fix are fixed there. Then if it is doable team may consider that.<br /><br />You can download the release from - <a href="http://people.apache.org/%7Egdaniels/axis2/dist/1.5-beta-2/">here</a><br /><br />If you see a problem create a <a href="http://issues.apache.org/jira/browse/AXIS2">JIRA</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-938237399200696195?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com0tag:blogger.com,1999:blog-16764551.post-17071125974018730562009-01-09T19:09:00.000-08:002009-01-09T19:11:41.512-08:00Component Oriented Architecture and WSO2 CarbonComputer industry is changing so rapidly and technology coming and going very fast, some are stay in the industry some longer duration and some are not. So anyway by looking at the technology movements I think next generation of computer would be component oriented. Where in the first place we had very tightly coupled computing with zero extensibility and zero flexibility. Then they moved to loosely coupled systems. A classic example of that is Service oriented architecture or SOA.<br /><br />There the idea is everything in the system is services, so the communication between service happen using message passing. So system become so flexible and extensible. And there are few ways of implementing SOA too;<br /><ul><li>Using existing messaging system</li><li>POX- Plain Ole XML</li><li>Web services</li></ul><br />And I think Web services became very success in the SOA, and it has become a industry stranded for SOA. So many specification, so many implementation. Above all due to standards and standards bodies like WSI, most of the implementations are said to be inter operate. For example Microsoft .Net and Apache <a href="http://ws.apache.org/axis2">Axis2 </a>inter operate each others.<br /><br />Moving beyond the service oriented architecture, now people are developing system using building blocks called components. With the introduction of <a href="http://blogs.deepal.org/2008/06/osgi-for-biginners.html">OSGi </a>it has become a very popular topic. When I heard about OSGi I did not realized the power of OSGi and specially components based systems. But now I know the power. Even Axis2 can be used as an OSGi bundle (or component).<br /><br />By adopting to the new technology <a href="http://wso2.com">WSO2 </a>has also moved most of its projects to OSGi based components, as a result of that they can build different kind of system integrating different building blocks of OSGi bundles. By looking at the activities going on, I would say <a href="http://wso2.org/projects/carbon">WSO2 Carbon </a>is becoming one of the coolest project or rather framework for building SOA related technologies, such as Web Services, ESB, Registry etc, ..<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-1707112597401873056?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com0tag:blogger.com,1999:blog-16764551.post-48536147947065788822009-01-09T16:19:00.000-08:002009-01-09T16:31:58.708-08:00Fun with Google MapsWe all know Google Maps is very powerful and useful tool, in the meantime no magic it is a software, and idea of this post is not to tell anything bad about Google Maps. Today I wanted to get directions to some place, after completing that just for fun I searched direction from Mountain View, LA, USA to Japan interestingly Google was able to give me the driving direction from MV to Japan, we know it is not possible to drive from USA to Japan, however due to some incorrect logic (bug) it gave me the directions :) . I know how hard to test all the use cases, so it is ok to have this kind of bugs in a software, it is tradeoff between usage and the perfrormance (being a software guy I know how hard to test all the edge cases). I know what I did was a crazy (who is going to drive from USA to Japan) thing too, ... but it was fun. Want to look at full directions ? <a href="http://people.apache.org/%7Edeepal/map/Mountain%20View%20Ave,%20Los%20Ange.pdf">see here</a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_RZmp-zbG68s/SWfr06227AI/AAAAAAAAADA/sgKAVyJDCYg/s1600-h/map.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 285px;" src="http://3.bp.blogspot.com/_RZmp-zbG68s/SWfr06227AI/AAAAAAAAADA/sgKAVyJDCYg/s400/map.JPG" alt="" id="BLOGGER_PHOTO_ID_5289455581755010050" border="0" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_RZmp-zbG68s/SWfrs0NIAjI/AAAAAAAAAC4/lG622e-rvCw/s1600-h/la-japan.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 259px;" src="http://1.bp.blogspot.com/_RZmp-zbG68s/SWfrs0NIAjI/AAAAAAAAAC4/lG622e-rvCw/s400/la-japan.JPG" alt="" id="BLOGGER_PHOTO_ID_5289455442530402866" border="0" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-4853614794706578882?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com2tag:blogger.com,1999:blog-16764551.post-79097333791839891422009-01-05T08:21:00.000-08:002009-01-05T08:22:45.883-08:00Autonomic Computing<div style="text-align: justify;">While I was reading about <span style="font-weight: bold;">cloud computing</span> I encounter the term <span style="font-weight: bold;">“Autonomic computing”</span>, then I found that it has a direct relationship with the cloud computing. First let's look at what it mean by Autonomic computing. Autonomic computing refers to the self-managing characteristics of distributed computing resources, adapting to unpredictable changes whilst hiding intrinsic complexity to operators and users. As name implies an autonomic system makes decisions on its own, using high-level policies such as service level agreement; it will constantly check and optimize its status and automatically adapt itself to changing conditions.<br /></div><br /><div style="text-align: justify;">Nice thing here is that though it said to be self manage it does not have any Artificial Intelligent (AI) involve with it, it is just control theory. Having said that Autonomic computing can be modeled in terms of two main control loops (local and global) with sensors (for self-monitoring), effectors (for self-adjustment), knowledge and planer/adapter for exploiting policies based on self- and environment awareness. <br /></div><br />Typical Autonomic Computing system will contains following characteristics,<br /><ul><li>Self-Configuration: Automatic configuration of components;</li><li style="text-align: justify;">Self-Healing: Automatic discovery, and correction of faults;</li><li>Self-Optimization: Automatic monitoring and control of resources to ensure the optimal functioning with respect to the defined requirements;</li><li>Self-Protection: Proactive identification and protection from arbitrary attacks.</li></ul><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-7909733379183989142?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com0tag:blogger.com,1999:blog-16764551.post-45679764905737612292008-12-31T16:41:00.000-08:002008-12-31T16:45:18.991-08:00History repeat itself – Cloud computingWhen we look at the history of computers in early days having a computer is not a common thing, only the people and companies who had millions of dollars were able to own a computer. And it is true that, it started as a central based computing with time sharing. So if we want to get a computer job done then we had to go to the operator and submit our job and pay the cost. Gradually technology evolved and owning a personal computer became a common thing. Almost everyone has access to a personal computer now. <br /><br />So <a href="http://blogs.deepal.org/2007/10/computer-history-museum-not-yet-another.html">Mainframe </a>based computing had evolved to distributed computing, simply we can do almost anything with our personal computers, and they are more than 1000 times better than early days computers. But I think we are going back to the central based model of computing again, the reason behind my argument is cloud computing.<br /><br />With cloud computing all the resources in a central place (there will be number of centers), and someone will be responsible for managing all the hardware and provide that as a service HaaS. And will manage software for us and provide Software as a service SaaS. So what we do is use those services and pay the cost based on the time we used. It is like taking a taxi, we do not need to worry about anything like, maintains, parking etc.. . So I consider cloud computing as something almost similar to those old days central based computing, in fact in large scale.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-4567976490573761229?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com0tag:blogger.com,1999:blog-16764551.post-54326241282073228332008-12-31T08:32:00.001-08:002008-12-31T16:56:14.308-08:00Happy new year 2009<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; text-align: center;" align="center"><span style=";font-family:'Verdana','sans-serif';font-size:10;color:black;" ><span style="font-size:100%;"><em><span style="color: rgb(191, 0, 191);">Another year, another chance<br />To start our lives anew;<br />This time we’ll leap old barriers<br />To have a real breakthrough.</span></em></span></span> </p><p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; text-align: center;" align="center"><span style=";font-family:'Verdana','sans-serif';font-size:10;color:black;" ><span style="font-size:100%;"><em> </em></span></span> </p><p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; text-align: center;" align="center"><span style=";font-family:'Verdana','sans-serif';font-size:10;color:black;" ><span style="font-size:100%;"><em><span style="color: rgb(127, 63, 0);">We’ll take one little step<br />And then we’ll take one more,<br />Our unlimited potential<br />We’ll totally explore.</span></em></span></span> </p><p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; text-align: center;" align="center"><span style=";font-family:'Verdana','sans-serif';font-size:10;color:black;" ><span style="color: rgb(127, 63, 0);font-size:100%;" ><em> </em></span></span> </p><p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; text-align: center;" align="center"><span style=";font-family:'Verdana','sans-serif';font-size:10;color:black;" ><span style="font-size:100%;"><em><span style="color: rgb(127, 127, 0);">We’ll show off all our talents<br />Everyone will be inspired;<br /></span><br /></em></span></span> </p><p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; text-align: center;" align="center"><span style=";font-family:'Verdana','sans-serif';font-size:10;color:black;" ><span style="font-size:100%;"><em><span style="color: rgb(0, 0, 127);">We’ll give up all bad habits;<br />We’ll read and learn a lot,<br />All our goals will be accomplished,<br />Sigh...or maybe not.</span></em></span></span> </p><p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; text-align: center;" align="center"><span style=";font-family:'Verdana','sans-serif';font-size:10;color:black;" ><span style="font-size:100%;"><em> </em></span></span> </p><p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; text-align: center;" align="center"><span style=";font-family:'Verdana','sans-serif';font-size:10;color:black;" ><span style="font-size:100%;"><em><span style="color: rgb(127, 63, 0);"><strong>Wish You A Happy New Year !!</strong></span></em></span></span></p><p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; text-align: center;" align="center"><br /><span style=";font-family:'Verdana','sans-serif';font-size:10;color:black;" ><span style="font-size:100%;"><em><span style="color: rgb(127, 63, 0);"><strong></strong></span></em></span></span></p><p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; text-align: center;" align="center"><br /><span style=";font-family:'Verdana','sans-serif';font-size:10;color:black;" ><span style="font-size:100%;"><em><span style="color: rgb(127, 63, 0);"><strong></strong></span></em></span></span></p><p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; text-align: left;"><span style="font-style: italic;">Curtsy</span><span style=";font-family:'Verdana','sans-serif';font-size:10;color:black;" ><span style="font-size:100%;"><em><span style="color: rgb(127, 63, 0);"><strong><span style="font-style: italic;"><span style="font-weight: bold;"><span style="font-size:85%;"><span style="color: rgb(51, 51, 51);"> </span></span></span></span></strong></span></em></span></span>: <i><i>Joanna Fuchs</i></i><span style=";font-family:'Verdana','sans-serif';font-size:10;color:black;" ><span style="font-size:100%;"><em><span style="color: rgb(127, 63, 0);"><strong><span style="font-style: italic;"><span style="font-weight: bold;"><span style="font-size:85%;"><span style="color: rgb(51, 51, 51);"> </span></span></span></span></strong></span></em></span></span> </p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-5432624128207322833?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com1tag:blogger.com,1999:blog-16764551.post-73351730243765369142008-12-29T09:27:00.000-08:002008-12-29T09:29:46.628-08:00Prison Break and our lifeI do not watch that much of TV series, but due to some reason I stated to watch <a href="http://www.fox.com/prisonbreak/">prison break</a>. It was one of a kind. The main reason I like it is, specially in season1 and season2 it was all about master planing. There they have looked into every possible outcome and planed according to that. I think that is something very useful in day to day life. And I strongly believe we can not succeed without having a long term goal. If we have a goal then we can and we will find a way to accomplish that. So we need to think what we need to do after 5 years, after 10 years and etc.. , and then we should plan accordingly. That is exactly what happed in PB season1 and 2, however in season3 and 4 they have forgotten that, there it is just day to day goal and the story moving here and there. However it is still interesting to watch.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-7335173024376536914?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com0tag:blogger.com,1999:blog-16764551.post-45604475718699219132008-12-25T11:50:00.000-08:002008-12-25T12:17:28.362-08:00The transformation of Animal into FoodMost of us eat and enjoy animal meat, but did you ever think how do they make or transform animal into food. Killing any kind of animal is not a good thing and we all know that. But killing animal like that(as shown in the video) is not acceptable any means.<br /><br />“Life on the farm isn't what it used to be. The green pastures and idyllic barnyard scenes portrayed in children's books have been replaced by windowless sheds, tiny crates, wire cages, and other confinement systems integral to what is now known as "factory farming." “<br /><br />Watch the following video if and only if you are serious about that you are going to stop eating meats. Think twice before watching the video.<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/sDea6L9gPD8&amp;hl=en&amp;fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/sDea6L9gPD8&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><br /><br /><a href="http://www.chooseveg.com/animal-cruelty.asp">Source </a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-4560447571869921913?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com1tag:blogger.com,1999:blog-16764551.post-37302197200899856692008-12-19T08:05:00.000-08:002008-12-19T08:09:32.517-08:00Axis2 Information ModelIn Axis2 there are two main types of data, which static data and dynamic data. Static data coming from the various description file, whereas dynamic data is created at the runtime. I recently wrote an article explaining the available types of static data, that will help you to get some understanding about various static data types, as well as when and how they are going to be created.<br /><br /><a href="http://www.developer.com/java/other/article.php/10936_3792291">Read the full article.</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16764551-3730219720089985669?l=blogs.deepal.org'/></div>Deepal Jayasinghehttp://www.blogger.com/profile/00591507526772769955noreply@blogger.com4