Archive

Archive for October, 2008

Time for another Antitrust suit

October 31st, 2008 No comments

I think it is time to remember Microsoft’s antitrust suit because another one may be coming soon to Apple. Apple has been monopolizing the platform by blocking all applications which competes slightly with it getting passed through the gate. Apple should have confidence that if it has better product than others, people do use it (And no other company better than Apple in make it happen) and let other compete.

Categories: All Tags:

California DMV Test Papers

October 30th, 2008 No comments

When I moved to California from Jersey and getting ready to take the California Driver’s written test, I didn’t find good sample test papers to get the feel of the test or to evaluate myself to see where I stood. After the exam, I thought I will collect/create some sample test papers to it would ease anybody else who is attempting to take the exam but managed to procrastinate till today.

I wanted to write some generic code so that extra time need not be spent if I had to add additional sample papers. I was in good mood today to deal with the javascript quirks (really, you got to code in understand the quirks) so wrote up javascript to load the xml data file with all questions and render the (supporting both single and multiple choice) questions and evaluate the answers to findout of tester is passed or failed.

It came out pretty good and I’m quite happy with it. Another interesting twist is that first person who going to use is my wife :) She trying to take the exam sometime this week.

I’m planning to add around 6-7 papers over period. Take a look and pass the url along to whoever might benefit.

Categories: All Tags:

NullPointerException vs IllegalArgumentException

October 28th, 2008 No comments

There has been lots of discussion going on for a very long time weather to use NPE or IAE when a null is passed when a non-null object is expected as an method/constructor argument.

After developing java applications for quite sometime, I have observed that when one sees a NPE in the log file, it usually means some serious bug which should be dealt with.  I strongly think that NPE should only ever be thrown by the JVM when it try to access some properties/methods of a null object (hey did you notice, it is called Null Pointer Exception where pointer means trying to access a property or method on null).

However javadoc for NPE allows applications to throw NPE in other subjective scenarios, which led to misuse of it.

Thrown when an application attempts to use null in a case where an object is required. These include:

  • Calling the instance method of a null object.
  • Accessing or modifying the field of a null object.
  • Taking the length of null as if it were an array.
  • Accessing or modifying the slots of null as if it were an array.
  • Throwing null as if it were a Throwable value.

Applications should throw instances of this class to indicate other illegal uses of the null object.

To move on, if only all developers follow the convention to use only IAE and leave the NPE to the JVM, life would far better for the troubleshooters :)

So next time you validating the constructor/method parameter, forget NPE and use IAE.

    public void doSomething(String anything) {
        if (anything == null) {
            throw new IllegalAccessError("Parameter anything is null");
        }
    }
Categories: All, Java Tags:

Happy Diwali

October 28th, 2008 No comments

Wish everybody a very happy and safe Diwali festivities (also known as Deepavali in Karnataka).

Categories: All Tags:

Learning JSF (Java Server Faces) Step by Step

October 28th, 2008 No comments

I have been wanting to write some tutorial about Java Server Faces for easy on-ramping. I will be writing the tutorial in slow paced, simple steps which learners can be follow along as they try out.   This post would be updated with links for all of these steps as and when they posted.

  • Step 1 – Hello World JSF!!!
Categories: All Tags: