ScURLr - the screenshot generator/visualization tool for web
August 4th, 2008
I am pleased to announce the release of ScURLr, a Google App Engine powered web application. Essentially, it's a screenshot generator/visualization tool for websites. It can generate screenshots of anything and everything as long as it is universally accessible through standard compliant web browsers.
One of the interesting thing about this application is it's use of varieties of technologies and APIs. I can summarize the equation as follows
ScURLr = GAE + GWT + Gadgets + etc.
Please give it a test drive and let me know if you have any comments, thoughts, suggestions or critiques.
Reddit Preview - google gadget
July 30th, 2008
Alright, Reddit Preview is my next google gadget in the preview gadgets series. Please give it a try and let me know if you have any suggestions, comments or questions.
Random Feed netvibes widget
July 20th, 2008
If you like to embed this widget in your blog or website, click on the share button & customize the way you want and the embed script will be ready to go.
Let me know if you have any comments or questions.
Random Wikipedia Article netvibes widget
July 20th, 2008
I just happened to chekout Netvibes universal widget's sharing functionality. It is pretty cool and got very neat user interface for customizing the gadget, so that it can be embedded easily in blogs and websites. It would be unfair if I don't share this gadget in my blog. So, here it goes.
Power of Interface in Java
May 9th, 2008
I was working on compiling & refining Java/J2EE interview questions for the consulting company I'm with. One of the question really bothered me. It states, "What is the conceptual difference between "Abstract Class" and "Interface" ?". If you google for that question, I bet, you will come across tons of answers & explanations. To me, it's a cliche question you can almost expect that in any Java interview. I think it needs to be rephrased or asked in a different way. Here it goes...
What is the power of "Interface" in Java and support your answer with a practical example which could be understood by most Java programmers?
Answer: Interface helps in designing systems or software with high-level of abstraction. It helps design API and establish protocols between various systems being iteracted or interfaced. Let's take an example of java.sql.Connection. It totally depend on the implemented JDBC driver to define what the connection is doing. It could be a Oracle, MySQL database connection or it could be just a flat file based database connection. Same is the case with javax.servlet.Servlet interface. I can throw more & more examples. Anyway, the bottom line is... JDBC, Servlets, JMS, EJB etc. are all possible because of Interface.
I am not saying that is the best answer anyone can give or that is the only usage of Interface. Honestly, I should admit, I didn't know the real usage/power of Interface for a long time working in Java, until I reached a point where I felt... Yep... This is it. This is why interface was invented for...:)
I am not denying or underestimating the usage of abstract classes. And, I do think you can design APIs with just abstract classes. But, you almost had to fake some implementation to get high-level of abstraction. Abstraction is one of the biggest blessing in Software Programming. Think about OS level system calls, its all abstracted to the application level programs. We don't care how the file is being read or written at the byte level. As an application level programmer we do our job (of reading & writing file right by the application program we are working with) & expect the OS to do its job. I dont want to go off topic with all these metaphors. I think, I made my point clear.
Comments, thoughts ?
