08 April 2008

Iraq war : How much longer?


The war in Iraq has now entered its fifth year and the violence shows no signs of abating. More people now recognise the war has been a disaster. The war was not justified and everything the US Government said has proved to be a lie, It has not brought peace or stability to Iraq or the Middle East and it has made this country the most unsafe in the world.

A rundown country has been further weakened by a bloody terrorist campaign, an explosion of atavistic hatreds, virtual civil war and the mass exodus of its ablest citizens....A tyranny was overthrown - but at a great cost.
What if Saddam Hussein had not been toppled? Would Iraq be better or worse off? Would the Middle East be more or less stable, the United States safer or in greater danger?
Saddam and his thugs would have continued to kill innocent people—but the victims would have been different, and it is doubtful they would have been as numerous as the victims of the war(more than 1.000.000 victims). Nor would 4 million Iraqis be d
isplaced. Nor would millions more have such severe shortages of health care, electricity, and clean water, or be afraid to walk their own streets.
To date, nearly 4000 American soldiers have been killed and some 29,000 have been injured in the war. Despite its considerable losses, the U.S. military still does not control the country, not even the 16-kilometer-long highway that separates the ultrafortified 'Green Zone' at the heart of the capital from Baghdad's airport on the outskirts of the city.

The world learned that American personnel had been torturing detainees at Abu Ghraib prison in Baghdad, irrevocably damaging the United States' image and credibility

In the other side, Bush, in a speech at the Pentagon, offered some of his boldest assessments of progress and said the war's legacy is absolute:

"The world is better, and the United States of America is safer."
So, thank you Mr. Bush :)

15 March 2008

In Memoriam of Rachel Corrie (1979 - 2003)



On 16 March 2003 in Rafah, Rachel Corrie was killed when she was run over by an Israeli bulldozer. Rachel was trying to stop the bulldozer from demolishing the home of a Palestinian doctor in the Gaza Strip.
She was an american volunteer with the International Solidarity Movement (ISM) in the Occupied Territories. Rachel has chosen non-violent, direct-action methods and principles to resist the daily brutality of Israel's 36-year-old military occupation and its ongoing and illegal land confiscation and settlement of the West Bank and Gaza Strip. Rachel was clearly identifiable and non-threatening in both her nature and approach. Rather, Rachel did put her life on the line to stand up against a policy that is inhumane.
Rachel said:

We Should be inspired by people ... who show that human beings can be kind, brave, generous, beautiful, strong - even in the most difficult circumstances.

Photos of the crime:




13 March 2008

Hard to be a developer....

05 March 2008

Object Orientation (Part II)

Encapsulation, IS-A, HAS-A

  • Encapsulation helps hide implementation behind an interface (or API).
  • Encapsulated code has two features: Instance variables are kept protected (usually with the private modifier) and Getter and setter methods provide access to instance variables.
  • IS-A refers to inheritance it is expressed with the keyword extends.
  • IS-A, "inherits from," and "is a subtype of" are all equivalent expressions.
  • HAS-A means an instance of one class "has a" reference to an instance of another class.
Inheritance
  • Inheritance is a mechanism that allows a class to be a subclass of a superclass, and thereby inherit variables and methods of the superclass.
  • Inheritance is a key concept that underlies IS-A, polymorphism, overriding, overloading, and casting.
  • All classes (except class Object), are subclasses of type Object, and therefore
  • they inherit Object's methods.
Polymorphism
  • Polymorphism means ‘many forms'.
  • A reference variable is always of a single, unchangeable type, but it can refer to a subtype object.
  • A single object can be referred to by reference variables of many different
  • types as long as they are the same type or a supertype of the object.
  • The reference variable's type (not the object's type), determines which methods can be called!
  • Polymorphic method invocations apply only to overridden instance methods.
Overriding and Overloading
  • Methods can be overridden or overloaded; constructors can be overloaded but not overridden.
  • Abstract methods must be overridden by the first concrete (nonabstract) subclass.
  • final methods cannot be overridden.
  • Only inherited methods may be overridden, and remember that private methods are not inherited.
  • Overloading means reusing amethod name, but with different arguments.
  • Methods from a superclass can be overloaded in a subclass.
  • Polymorphism applies to overriding, not to overloading
  • Object type (not the reference variable's type), determines which overridden method is used at runtime.
  • Reference type determines which overloaded method will be used at compile time.

03 March 2008

28 February 2008

Object Orientation (Part I)

OBJECTIVES :

  • Declare Interfaces
  • Declare, Initialize, and Use Class Members
  • Use Overloading and Overriding
  • Develop Constructors
  • Describe Encapsulation, Coupling and Cohesion
  • Use Polymorphism
  • Relate Modifiers and Inheritance
  • Use Superclass Constructors and Overloaded Constructors
  • Use IS-A and HAS-A Relationships

26 February 2008

Declarations and Access Control (Part III)

Other Modifiers—Members :

  • final methods cannot be overridden in a subclass.
  • abstract methods are declared, with a signature, a return type, and an optional throws clause, but are not implemented.
  • The synchronized modifier applies only to methods and code blocks.
  • synchronized methods can have any access control and can also be marked final.
  • The native modifier applies only to methods.
  • The strictfp modifier applies only to classes and methods.
Methods with var-args :
  • As of Java 5, methods can declare a parameter that accepts from zero to many arguments, a so-called var-arg method.
  • A var-arg parameter is declared with the syntax type... name; for instance : doStuff(int... x) { }.
  • A var-arg method can have only one var-arg parameter.
  • In methods with normal parameters and a var-arg, the var-arg must come last.
Variable Declarations :
  • Instance variables can have any access control and be marked final or transient.
  • Instance variables can't be abstract, synchronized, native, or strictfp.
  • It is legal to declare a local variable with the same name as an instance variable; this is called "shadowing."
  • final variables cannot be reinitialized once assigned a value.
  • final reference variables cannot refer to a different object once the object has been assigned to the final variable.
  • final reference variables must be initialized before the constructor completes.
  • There is no such thing as a final object. An object reference marked final does not mean the object itself is immutable.
  • The transient modifier applies only to instance variables.
  • The volatile modifier applies only to instance variables.
Array Declarations :
  • Arrays can hold primitives or objects, but the array itself is always an object.
  • When you declare an array, the brackets can be to the left or right of the variable name.
  • It is never legal to include the size of an array in the declaration.
Static Variables and Methods :
  • They are not tied to any particular instance of a class.
  • No classes instances are needed in order to use static members of the class.
  • There is only one copy of a static variable / class and all instances share it.
  • static methods do not have direct access to non-static members.
Enums :
  • An enum specifies a list of constant values that can be assigned to a particular type.
  • An enum can be declared outside or inside a class, but NOT in a method.
  • An enum declared outside a class must NOT be marked static, final, abstract, protected, or private.
  • enum constructors can NEVER be invoked directly in code. They are always called automatically when an enum is initialized.
  • The semicolon at the end of an enum declaration is optional.