Wednesday, December 7, 2011

Fear of the Unknown...

We all fear the Unknown , if it is put in a context it could be understood clearly. We all fear our future , at least we worry about it thinking that what could happen tomorrow , may be after one year , may be after five years. Is there a way to overcome this ? , frankly I do not know. May be we could do some planning , but after all the plans are meant to be changed as well. So what can we do? can we leave it to our fate and just carry on...May be it could work. But are we strong enough in faith to let it happen that way ?. It could be quite difficult I would say..Not knowing what happens in the next minute may not really matter that much , but not knowing what might happen after few years probably matter much.Predicting the future would be useful to a certain extent to feel a little bit of relieved. Anyways , there is absolutely nothing we could do about this , just Keep Calm and Carry On somehow...

Wednesday, November 30, 2011

Me...

Unfairly judged
An Individual
Wading through
Difficult times
Looking for
A resting ground
Where there is
Endless Peace...

Thursday, November 10, 2011

Going Technical .......Chain Of Responsibility

Well it seems I get to write a bit more in this month :) , without much ado lets jump into the subject straight away. The pattern that we are going to talk about today is Chain Of Responsibility and it is one of those behavioral patterns introduced in GOF patterns.

What can you imagine when you think the name of the pattern itself , mmmmm.... something like a chain that we used to keep a dog not to run away...well kind of. But the difference is that this chain is going to be made of virtual objects in the memory of a computer which you can't see...but lets try to imagine it!

I hope you have seen automated car washing facilities , well if you have seen them this is quite easy to understand. Usually at those places when you drive in and leave the car at the right place , the automated washing facility would first spray water on the car , and then the car is slowly moved to a section where a cleansing form is applied to it , and then the car is slowly moved to a section where it will be washed , and then the car is slowly moved to a section where a dryer would start drying wet surface of the car. And at last the car would be slowly moved out to another section where you could just get in and drive again.

Well in the above analogy , you see that each section has its individual responsibility. Once section spray water on the car , the other section put cleansing form , the other section washes cleansing form and the last section dries the surface of the car. When the car is moved out of the facility , the final shape of the car still remains the same , but it would look more cleaner than it was. In the chain of responsibility pattern you would do the same. Means you would have different classes which executes a certain logic (analogues to washing , forming , drying etc) over a given object (analogues to car). And there would be a way to chain these classes one after the other as well.

OK lets see some code now....

public abstract class CarWashChain{
 private CarWashChain nextChain;

 public void setNextInChain(CarWashChain chain){
  this.nextChain = chain;
 }

 public CarWashChain getNextInChain(){
  return this.nextChain;
 }

 public abstract void doWork(Car car);

}

public class SprayWater extends CarWashChain{
 public void doWork(Car car){
  //spray the car with water first...

  //send to the next in the chain if any
  if(getNextInChain() != null){
   getNextInChain().doWork(car);
  }
 }
}

public class SprayForm extends CarWashChain{
 public void doWork(Car car){
  //spray cleansing form to the car for cleaning

  if(getNextInChain() != null){
   getNextInChain().doWork(car);
  }
 }
}

public class ClearForm extends CarWashChain{
 public void doWork(Car car){
  //put water and wash the car after applying cleansing form

  if(getNextInChain() != null){
   getNextInChain().doWork(car);
  }
 }
}

public class Dry extends CarWashChain{
 public void doWork(Car car){
  //dry the surface of the car now

  if(getNextInChain() != null){
   getNextInChain().doWork(car);
  }

 }
}

Now we have defined the chain elements , what is left is putting them in the chain

//Only main methods is shown here
public static void main(String[] args){

 SprayWater sprayWaterChainElement = new SprayWater();
 SprayForm sprayFormChainElement = new SprayForm();
 ClearForm clearFormChainElement = new ClearForm();
 Dry dryChainElement = new Dry();

 //Now that chain all these in one
 sprayWaterChainElement.setNextInChain(sprayFormChainElement);
 sprayFormChainElement.setNextInChain(sprayFormChainElement);
 sprayFormChainElement.setNextInChain(clearFormChainElement);
 clearFormChainElement.setNextInChain(dryChainElement);

 //invoke the chain , now this will execute all the chain elements with their respective logic
 Car car = new Car();
 sprayWaterChainElement.doWork(car);
}


well that is all for today , hope you have got some idea of this pattern too!!!. Do add a comment if you like this

Thursday, November 3, 2011

Going Technical .....Template Pattern

Again back to my blog , I have been busy with some other assignments for the past few months.Hence never got a chance to step back to this yard recently.However today I managed to grab some of my time to write something technical for all of the visitors of this blog (Not sure how many since I do not seem to get many comments :))

Ok what are we going to learn today , well the title says all of it!!, we gonna see what "Template Pattern" is. Template pattern is one of those Gang OF Four patterns and it falls under the category of behavioral patterns. well what ever lets see what it really means....

I hope all of you are familiar with cup cakes. well what is that got to do with this? one might ask.. Let me tell you , to make cup cake what we do first is buying or making a small cup like moulds made out of possibly some sort of a hard material. And then we would prepare necessary cake mixture and pour this mixture into those moulds. After that we would keep these moulds filled with cake mixture into an oven for backing. Not only that you could put some chocolate on top of one cup cake and some icing on top of another cup cake. Like that you could make different cup cakes with different appearance in color , different taste as well. Now that lets see how this is analogues to Template design pattern.

In simple terms I used moulds which are of the same geometrical shape for making cup cakes of different taste and color. But the fundamental shape of the cup cake was not changed. And I could also use the same set of moulds to make more cup cakes of different taste and color as well. So template pattern is also the same , you make a template class which is similar to the moulds and then define the stuff that need not be changed or must not be changed. It is as if the fundamental physical appearance of the cup cake moulds remain the same.Then what did we do ? we put cake mixture , this is as if you extend the original template class and write your own logic , but do not change the stuff that was defined in the template class. It is as if when you bake cup cakes you are sure that the shape of the cup cake will be determined by the shape of the moulds used.

Let's see some code in action,

public abstract class CupCakeMould{

  public void makeCupCake(){
   fillWithTheCakeMixture();
   addColor();
   addChocolate();
   addIcing();
  }

  //These abstract methods are expected to be implemented by the
  //sub class and define required logic
  public abstract void fillWithTheCakeMixture();
  public abstract void addColor();
  public abstract void addChocolate();
  public abstract void addIcing();

}

//extending classes

public class CupCakeWithIcing extends CupCakeMould{
  public abstract void fillWithTheCakeMixture(){
   //logic to fill the mould with cake mixture
  }
  public abstract void addColor(){
   //add logic if you need to add color to this cake
  }
  public abstract void addChocolate(){
   //add logic if you need to add chocolate to this cake
  }
  public abstract void addIcing(){
   //add logic if you need to add icing to this cake
  }
}



public class CupCakeWithChocolate extends CupCakeMould{
  public abstract void fillWithTheCakeMixture(){
   //logic to fill the mould with cake mixture
  }
  public abstract void addColor(){
   //add logic if you need to add color to this cake
  }
  public abstract void addChocolate(){
   //add logic if you need to add chocolate to this cake
  }
  public abstract void addIcing(){
   //add logic if you need to add icing to this cake
  }
}


//usage of this
//only main method is shown for clarity
  public static void main(String args[]){
   CupCakeMould cupCake = new CupCakeWithIcing();
   //This will make a cup cake which will have icing on it. See that you did not
   //change the original algorithm on how the cake is made , only what    the cake is made
   //from. You let the sub classes to decide it
   cupCake.makeCupCake();
   //if you want some other cake
   CupCakeMould cupCake2 = new CupCakeWithChocolate();
   cupCake2.makeCupCake();

}

Tuesday, July 26, 2011

Virtual Warehouse Management System (VWMS)

VWMS does not exist in reality yet , it is an idea which may have a paradigm shift in how we develop and design Warehouse Management Systems (WMS). Usually WMS systems are browser based (IE , Chrome , Firefox ) applications. These applications are having just a user interface to collect whatever the input from the user and execute business logic based on the given inputs. For the user he or she would not see the real time representation of the Warehouse that is being managed using the system. In fact for user to have a glimpse of how much room is occupied in warehouse he or she would have to get a report from the system or physically visit the warehouse and see. This is the typical way of developing any web based application today.

But what if user gets to see a model of existing warehouse as it is in a virtual world where user could do movements just by using mouse gestures such as drag , drop , click , select , double click etc. ?. This is where the concept of VWMS comes in to the picture. VWMS is a three dimensional model of the real warehouse and user will see the warehouse as it is at any given time. All the movements of different types of goods can be done by the user just by doing drag , drop , select actions. When the actions are performed on a virtual object in the virtual model those will be recorded in a database for later usage. This is exactly similar to what we see today's virtual games.

VWMS will definitely improve the efficiency of operations as well as improve the ability to receive exact state of the warehouse. In addition to that when reports are needed user could just get it done with the data that is recorded when movements are performed in the virtual model. Below are list of the scenarios that may come across,

1. User selects a shelf and the system will provide information about the shelf , such as the type of the goods stored , size of the shelf , approximate weight , available volume etc

2. Use could drag good from one shelf and drop to another shelf

3. ....

Also at a later stage one can couple this virtual model with the real world model in such a way that a movement done in the real warehouse by an individual will be updated in the model real time. This would be the ultimate challenge in implementing a VWMS.

With the latest technologies such as HTML5 3D rendering , AJAX , a framework which supports state-full user interfaces would help in implementing this.

Care must be taken in the areas such as performance , how to scale the system etc.

Note: VWMS is completely hypothetical concept where implementation is not promised, but with the technologies mentioned above an attempt can be made

Sunday, June 5, 2011

All I got is you!!!

When I see you
Every morning
with the cutest smile
In the world
I fall for you
day and day

When I see you
Sad and thoughtful
I loose my self
and talk too much
making it worst
all the times

That is for sure
I love you the most
That is for sure
I care you the most
I Will be next to you
Till my last breath

Monday, February 7, 2011

Going Technical .....Abstract Factory

Well , after taking a little break , here I am now again on the topic , GOF Design Patterns :). When I posted my first post related to design patterns I did not get any comments from my colleagues which made me to believe that no one interested in reading the blog :) haha..... By the way today one of my colleagues asked me if I made any new blog entries..great , now I know at least one person is reading the crazy stuff that I am putting here..well as long as there is one person who reads the blog , I would keep writing then ..:)

Last blog I explained what the Visitor pattern is and the intent of the pattern. Today lets talk about Abstract Factory pattern. If I ask someone how many design patterns he or she knows , this is one of the patterns which would always comes in the list of patterns that he or she remembers. But my honest question is , do you really understand the pattern and its usage or , you mention the pattern just because it is around you most frequently than others ? well which ever is your answer let me get into the ugly truth of this pattern :)

Lets begin with a simple examples , say you need to eat vegetables for your meal. You have two options either eat vegetable grown in INDIA or else eat vegetables grown in MALAYSIA. But you do not want to eat vegetables which are grown both INDIA and MALAYSIA at the same time. And also you have the freedom to change the country at any given time, for examples lets say you got sick of eating vegetables grown in INDIA then you can select vegetables grown in MALAYSIA from the next day.

Now lets say you need to store your vegetables in a safe place so that you can continue using those for daily food. In this case you would need some boxes in which you put different vegetables and then keep them in a store room which has a display board which you can use to show the current country. Now how are you going to keep track of which box contains which vegetables? well we could write the names of the vegetable outside the box so that we know what ever is inside is of the type that is written there. For examples if you use Carrot , Long Beans and Potatoes you would need three boxes and you would write down the names outside the box like "Carrot" , "Long Beans" , "Potatoes". Also the room in which you have kept these boxes is your "Store Room". Whenever you need to cook your food , what you do is simply go to the store room and then get some of Carrot from the box where there is Carrot , some of Long Beans from the box where there is Long Beans and some of Potatoes from the box where there is Potatoes.

When selecting the vegetable you do not worry about from which country they are because you are already aware of the country which is in the display board. On the other hand whenever you change the country you are NOT changing your Store room , neither the Boxes , all you change is the stuff inside the box and the name in the display board. So lets think that you need to use another country , say VIETNAM all you need to change is the name in the display board and stuff inside the boxes. You can continue to use your store room and boxes. Ok , how this thing is ever going to be related to Abstract Factory pattern ? aha .. the whole scenario represents a pretty good usage of the pattern. Lets look at the definition of this pattern "Abstract Factory is used to abstract away the creation of families of related objects without specifying the concrete classes"

The important words are "Families of related objects" and "Creation". well the word "Creation" is pretty straightforward but what about the other one "Families of related objects". This is equally important and you can not use Abstract Factory if the objects that are created do not belong to a single family and if they are in a way not related to each other. In above example the "Family" is VEGETABLE while all the vegetables are related to each other since they are just vegetables.

Now in the above example , the store room is similar to a Factory from which you get vegetables , so we can have a class which represents this store room , lets say the class is "AbstractVegetableFactory.java". And since we have a box which represents Carrots in general , lets have a class called "AbstractCarrot.java" , for the box which represents Long Beans in general lets have a class called "AbstractLongBean.java" and for the box which represents Potatoe in general lets have a class called "AbstractPotatoe.java". Now in the above example what we do is get carrot from the store room , so it is equivalent to getting an AbstractCarrot from AbstractVegetableFactory. So out implementation would be as follows,


package blog.gof.structural;

public abstract class AbstractVegetableFactory {

public abstract AbstractLongBean createAbstractLongBean();
public abstract AbstractPotatoe createAbstractPotate();
public abstract AbstractCarrot createAbstractCarrot();
}


package blog.gof.structural;

public abstract class AbstractLongBean {

}

package blog.gof.structural;

public abstract class AbstractPotatoe {

}

package blog.gof.structural;

public abstract class AbstractCarrot {

}

Well , the implementation above has abstracted the Vegetable family that we have been talking about so far. So when you need a Carrot all you do is first create an instance of the Factory and ask the factory to return a Carrot or any other type of vegetable supported by the factory itself. Now how we are going to make sure that whenever you need INDIAN vegetables that the returned vegetable is of INDIAN origin and whenever you need Malaysian vegetables that the returned vegetable is of MALAYSIAN origin. For that lets first assume INDIAN vegetables , lets say Carrot , we could have Indian Carrots which is represented by "IndianCarrot.java" who is extended from "AbstractCarrot.java"

package blog.gof.structural;

public class IndiaCarrot extends AbstractCarrot {

}

likewise ,

package blog.gof.structural;

public class IndianLongBean extends AbstractLongBean {

}

package blog.gof.structural;

public class IndianPotatoe extends AbstractPotatoe {

}

For vegetables of MALAYSIAN origin we could use a similar approach,

package blog.gof.structural;

public class MalaysianCarrot extends AbstractCarrot {

}

package blog.gof.structural;

public class MalaysianLongBean extends AbstractLongBean {

}

package blog.gof.structural;

public class MalaysianPotatoe extends AbstractPotatoe {

}

Ok, now we have represented different vegetables from different countries. But we still need factories which represents INDIAN vegetables factory and MALAYSIAN vegetable factory. Lets have IndianVegetableFactory.java which is extended from AbstractVegetableFactory.java to represent INDIAN vegetables

package blog.gof.structural;

public class IndianVegetableFactory extends AbstractVegetableFactory {

@Override
public AbstractCarrot createAbstractCarrot() {
return new IndiaCarrot();
}

@Override
public AbstractLongBean createAbstractLongBean() {
return new IndianLongBean();
}

@Override
public AbstractPotatoe createAbstractPotate() {
return new IndianPotatoe();
}

}

For MALAYSIAN vegetable factory we follow a similar approach ,

package blog.gof.structural;

public class MalaysianVegetableFactory extends AbstractVegetableFactory {

@Override
public AbstractCarrot createAbstractCarrot() {
return new MalaysianCarrot();
}

@Override
public AbstractLongBean createAbstractLongBean() {
return new MalaysianLongBean();
}

@Override
public AbstractPotatoe createAbstractPotate() {
return new MalaysianPotatoe();
}

}

Lets see the factories in action now ,

package blog.gof.structural;

public class PatternDemonstrationMain {

public static void main(String[] args) {

//Create a factory instance, the factory is now only returning
//objects which are produced in INDIA
AbstractVegetableFactory factory = new IndianVegetableFactory();
AbstractCarrot carrot = factory.createAbstractCarrot();
//Ok , the carrot created here is IDIAN carrot , because we are using
//INDIAN vegetable factory
//And same goes to potatoe and long beans as well
AbstractLongBean longbean = factory.createAbstractLongBean();
AbstractPotatoe potatoe = factory.createAbstractPotate();
//Now assume that one day you need to REUSE this piece of code
//You need to use vegetable factory , but this time the country is
//Malaysia.
//So how many lines of code you would change in this case to make this program
//work for Malaysia,
//Only one -->AbstractVegetableFactory factory = new IndianVegetableFactory();
//change the factory to be MalaysianVegetableFactoty and you are done
//you have abstracted the regional dependency and your code is verymuch reusable
//now
factory = new MalaysianVegetableFactory();
carrot = factory.createAbstractCarrot();
//Ok , the carrot created here is MALAYSIAN carrot , because we are using
//MALAYSIAN vegetable factory
//And same goes to potatoe and long beans as well
longbean = factory.createAbstractLongBean();
potatoe = factory.createAbstractPotate();

}

}

If you want to change the country from which you get your vegetables all you need to do is to replace the Factory with the correct factory implementation. Other than that you do not need to change anything else at all.

So basically the Abstract Factory pattern is useful when you have a Family of related objects to be created and if the objects that need to be created do not relate to each other then Abstract Factory is not a good choice.

If you think this post is useful you may comment on this , also if you need further assistance in understanding , you could also post your question as well...

Tuesday, January 25, 2011

This is dedicated for you Hon.....

Just wanted to write something for you hon , just want to say how I treasure you and your company. Sometime these words might seem unreal , but trust me hon I am someone who is attached to you so much than I could explain with these worlds. I know I am not a good writer , but for you I could become one.

The day I saw you was the day that changed my life so much. You were there doing you own work I was just passing by , I saw you hon and to me I thought for a single moment that I knew you before. Interestingly enough you started peeping into my dreams , got hold of my whole heart and bothered me in my thoughts. I was trying to recollect when I met you before knowing that I never met you before , but still thinking why you look so familiar to me.

Time passed by , I got to know you a bit more hon , and each second I spent with you was really memorable. I treasure that so much , Just wanted to keep you very close to my heart so that you could hear the beat , you know hon It started beating stronger and faster than ever when I was with you. I wanted to whisper those words to your slowly ever since I met you.

I wanted to take you with me , your tears in your eyes tore me apart , my heart beat faster and I thought it would blow up since I did not know what would be the next moment, thinking about you "would I ever be able to see you again". It was so hard , but promised to my self I would come for you no matter what it takes , no matter what I have to leave I promised to me.

Had to leave you without telling you , you came to see me but I was not there , my love thousand times I died thinking about my inability to come back. Thousand times I felt to run away from those people who took me away early, but your thought gave me the hope of living to find you again and leave this pain aside and smile with you together.

I am broken when you are away , I am not alive when you are away , I am not myself anymore if you are not there. I am the black sheep in the flock and take me with you because I say I do not wish to see the next day sun without you next to me.


I am not a singer , but I will sing for you .. collect some worlds to tell you how much I love you...


Look me in the eye
you will see , your image
Look me in my heart
you will see your love
Hold tight , my hand
Don't let go away
Let me be with you
Don't keep me away

I love you....deeply and madly



Thursday, January 20, 2011

Going Technical ....

Out of all the post that I have made so far none is on any technical topic. Hence thought of writing one today and in the future I will make some more post as well. Ok , lets get to the subject directly.

We all know that Software programming is popular very much in this century , and some people who do this like it while others even if they do it they don't really like it. Anyway for both of these type of people hopefully this post will be useful.

When it comes to programming most of us forget about Design Patterns , or even if we know that we don't get to use them. This could be due to various reason such as you just don't want to use them , or just don't have enough time to think sharp and apply them or just anything else. Anyways today lets forget about all these and try to learn something about them so that we could use it in future (I hope so :) )

There are various design patterns , out of which some are recurring most often and other are not so much. One Design Pattern that we find difficult to understand is "Visitor". The truth is may be you know the class digram for the "Visitor" pattern , but you may not really know the purpose of it. Let's first get the purpose clear ,

why we use "Visitor" pattern ,

"We use Visitor pattern to separate an Object/Class structure from it's Operations". Ok , this is bit cryptic and much more academic. Then , in layman's terms what the hell does this mean ....

lets say you have bunch of classes , which are some way related to each other , or which has some sort of a relationship to each other and you want to execute a piece of logic on all of them , or some of them. may be the operation is such that it is very unstable , susceptible to changes as the requirement changes or when your boss asks you to change. Then what to do , can we keep this operation inside the object/class structure and be happy that the object/class structure will not be changed? Nope, it will have to be changed since now the operation is also coupled in side the object/class structure as a monolithic unit.

So, in order to have your classes not disturbed by the occasional changes in the logic , why not take out the operation from the class structure and have them encapsulated in another place. In that way if you or your boss wants to change the operation , you only have to change the class in which the operation is defined now.

In a way your object structure is safe from changes now, only the operations defined elsewhere would be changed.

Now this is what we call "Visitor" pattern where every class which encapsulates different operation is a Visitor while your object structure is the Subject.

mmm... let's see this in a piece of code ....

/*
This class is a class which can accept a visitor. You can send any number of classes
which implements Visitor interface and define any operations in them
*/

package com.scea.gof.behavioral.visitor;

public class Student implements AcceptVisitor{
private String name;
private String address;
private String contactNo;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getContactNo() {
return contactNo;
}
public void setContactNo(String contactNo) {
this.contactNo = contactNo;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public void accept(Visitor visitor) {
visitor.visit(this);
}
}

-----------------Visitor Interface----------------------

/*
An interface which helps your to mark a Class or a set of Classes
as receptive to different visitors
*/
package com.scea.gof.behavioral.visitor;

public interface Visitor {
public void visit(Student student);
}

------------------------

Example Visitor having a specific operation


public class MySpecificOperation1Visitor implements Visitor{


public void visit(Student student){

//Write My operation 1 logic

}
}


public class MySpecificOperation2Visitor implements Visitor{


public void visit(Student student){

//Write My operation 2 logic

}
}

Now you see the above operations are separate and you can change them individually without worrying about the class on which those operations are performed.This way you could decouple the Operations and the Class structure.

Some people argue that keeping operations encapsulated in the class it self is a better approach towards the encapsulation philosophy , but on the other hand the solution to frequnely changing operations is none other than the Visitor pattern. Well however , the decision is up to you :)

Monday, January 17, 2011

Freedom from within....

Freedom , which is most confused and misunderstood word in the world , I would say and I hope I am not making a potentially arguable statement though. While the Freedom for a politician would be the freedom given to him to conduct or exhibit his or her own political belief while for another a simple person It would be as simple as the freedom to walk down the hallway while slowly singing his or her favorite song. So the word "Freedom" is very personalized and could be very different from one another.

For me Freedom is living my own life in the simplest way possible , having nothing to worry about so much , looking beyond the horizon without any regrets , observing stars and wondering about the whole world , it's nature , people , places and also being with loved ones loving them , being loved by them and living with them. It is difficult to say exactly what it is though I have made and attempt write it down one by one. Similarly if I ask you to write down what you think , feel or expect about having freedom surely you would also end up accumulating all the things that you like to do and experience in your life. It is quite interesting, freedom itself is unquantifiable , unmeasurable and undefinable.


In my own definition of the Freedom has an element of living simply , in other worlds "living my life in the most simplest way possible". But It is forewarned , simple living also has a price to pay , if the people around you are not in the same mentality as you are , it would be something very silly for the others to try out or even think about it. Well in my own terms , if you become simple the number of things about which you might have to worry becomes lessor. In essence say , we all like vehicles (Except me :) ) , and what we do is we go ahead and buy one, we start liking the comfort given by it , we start liking being a proud owner of a vehicle , when you couple the vehicle with the brand or the type then it would probably give you the so called social recognition , or whatever it is named. But given all these , there comes a down side , if your vehicle is broken then you start worrying about it , you start worrying about your license , you start worrying about the traffic which would be there during peak hours , you start worrying about weather condition , you start worrying about the date on which next service of the vehicle is due , you start worrying about financing your fuel and oil needs so and so forth the list goes on. Just because you purchase a vehicle you get whole lot of things to think about an keep you busy with. I wonder whether the conform you afford is worth the worries you get. This is just a simple example and many of you who might happen to read this may go against me , but this is what I think about how to live simply.

I live a very simple life and I am very much comfortable with it. On the other hand there is no hard and fast rule for being simple , it is up to you. You are the master and you got the power to try it out which ever the way you would like , but be aware not to abuse the core values of it , which means whatever the way you try it , it should give you the feeling that you are free and simple as much as possible. So try it out , see the difference and try to adopt it.

Even to a person who lives a simple life there comes a whole lot of problems , for you , for me , for everyone this is equally applicable. And we all deal with it in completely different ways and it is unique to the individual.

If you live simple , the other would also be able to live there lives simply, if you become complicated , you would probably be consuming others resources as well. Just because someone can afford for it , it does not mean that he or she must go for it. It could be something which was born out of others resources , but the others may not have had the capability to reach their own resources due to limitations. That is what we see today in African regions , thousands of people die out of hunger. But we throw food here in our region sometimes. If we do not consume so much then , there would not be excess supply here which could possibly be channeled to those people who are in need of. But we all know the world is not fair for everyone , it happens always and it will happen in the future as well. What we can do about it ? or do we really need to do something about it or do we just hear it and forget it because it does not really matter to us?. It really is a puzzle and it will never be solved , because we are just human beings....

The content in this blog might not make sense to some one while for the other it would. I am not worried , because that is the human nature....










Tuesday, January 11, 2011

Existence of extra terrestrial life forms!

There is absolutely no hard fact on denying or accepting that there is Extra Terrestrial Life Forms (ETLF) out there beyond our solar system. Even in the solar system itself the amount of knowledge that we have or gained so far through various means such as remotely controlled unmanned vehicles , robots are not enough to decide if there is such life in existence or not.

But the fact that there could be ETLF gives us the strange feeling that what would they look like ? would they just be at microscopic level organisms or would they be much similar to human beings. That is such a fascinating question to be asked from ourself. On the other hand if there is such ETLF how far they could resemble to earthly living beings , quite interesting I would say.

Sometime in my own imagination I find that ETLF are something that exists out there , but to our limited human understanding about the universe and all those colossal structures such as galaxies, planetary systems , binary stars , pulsars , nebulars , black holes , stars like our own Sun and phenomenons such as supernovas , solar winds etc are most of the time remain mysterious to us. Since the first day that space exploration started till today the knowledge that has been gathered about all these could be considered as a tiny sand particle in a huge sand den. Human being has been constrained by the limited number of senses that he or she brings to this world since the first day of the birth. Certain universal phenomenon are well beyond the human comprehension and not well understood using the most sophisticated tool in existence today

So far we have explored inner solar system , but the only man made object which reached the outer solar system till today is the Casini Hygene probe which was landed on Titan, one of the moons of Saturn , which is also the only moon to have a thin atmosphere rich with organic material. Titan is way far from our home , Earth and too cold for a known life forms to exists. But what if there is a life form which could tolerate extreme cold condition and which could be based on something other than water, that is strikingly interesting. This is where the imagination would overcome the possibilities in science today. And this very same imagination would probably show the way towards the reality as well.

There are mysteries , there are unexplained phenomenons , there are unseen places , there are things in existence beyond human comprehension and there could also be extra terrestrial life forms




Tuesday, January 4, 2011

Oracle Certified Master , Java EE 5 Enterprise Architect (Part 1) - Completed

Today I completed the Part 1 of Oracle Certified Master , Java EE5 Enterprise Architect and got through it. I have started getting ready for this for about 5 months ago. Since the time I started I have created my own short notes and saved them on my mobile phone. So wherever I go I have all the material along with me and I could just refer those.

Most of my study time was spent in an MRT travelling to and from my office everyday. It usually takes 1 hour to get to my office by MRT. So I believe I have used this time effectively for the preparation of the part one of the exam.

Making my own short notes gave me a quite good understanding about the material that I was using , in fact If you do not understand something it is very difficult to come up with a short note for that.

In addition to that I have created simple programs to test out concept even the ones I am already familiar with. This was really really interesting as I started thinking some aspects of the platform that I had never looked in to before

Out of all the topics I enjoyed very much Gang Of Four (GOF) and Core J2EE patterns. Even before the exam I started seeing scenarios where I could use some of those patterns as well. That was very encouraging for me most of the times

Though I call my shortnotes "Shortnotes" those are not actually short :) , when I completed one note I found that the number of pages have exceeded 95. Anyways those notes were worth a lot to me , simply because that covers most of the topics expected in the exam as well.

Anyways I do not feel like writing anything anymore , I wish all the very best for anyone who is going to give this exam a try and who happened to visit my blog.