Friday, December 14, 2007

Setting up connection pooling for Oracle database on Tomcat 5.0.x

I was trying to set the connection pooling on Tomcat 5.0.x using normal way, but it was giving the error while connecting to the oracle database. One of my coleague suggested the following way, & it worked.

Added following entry to the server.xml present in the conf directory:

Thursday, November 15, 2007

My article

My article on "AJAX: Redefining Web Applications" was published on javajazzup.com
It is present here.
Please give it a view and let me know your comments.

Thursday, November 1, 2007

Saturday Project...

I just came across the article written by Geertjan Wielenga (here) & it was worth reading it. Maybe I'll start to implement some sort of a pet project in Java which I'll open source it later. I am really very passionate for contributing to Open Source :)

Thursday, October 25, 2007

Implementing Fluent Interface in Java

Yesterday my friend Neeraj came across the concept (?) called "Fluent Interface". He told that he successfully implemented it in Java. Today I read lot of articles on it, and finally I was too successful to implement it in Java using a very-very simple program.

About Fluent Interface:
Fluent Interface is used to create a readable model i.e. to convert APIs to English-like sentences. It is slightly harder to write but much easier to read.

"Martin Fowler coined the term "FluentInterface" to describe objects that expose an interface that flows, and is designed to be readable and concise. The cost of this fluency is additional effort required to design the interface for your object and the slight increase in complexity. These types of interfaces are often utilized to create configurations for your objects but can progress into an internal Domain Specific Language or DSL." [Excerpt from Randy Patterson's blog post ]

Some useful pointers:
http://www.martinfowler.com/bliki/FluentInterface.html
http://www.bofh.org.uk/articles/2005/12/21/fluent-interfaces

Wednesday, October 10, 2007

Nobel prize for men who made iPod possible

"Two scientists whose work made possible the development of the iPod and powerful laptop computers were rewarded with the Nobel Prize for Physics.

Albert Fert, a Frenchman, and Peter Grünberg, a German, have been jointly honoured for creating the technology used to read data on hard disks."


From the article on Timesonline: here

Wednesday, September 26, 2007

Google Singleton Detector

The Google Singleton Detector, or GSD, is a tool which analyzes Java bytecode and detects the use of four different types of global state, including singletons, hingletons, mingletons and fingletons. Then it outputs a graph with all these different types of static state highlighted, and shows all the classes that are directly dependent on them. The point of this tool is to allow you to see all of the uses of global state inside a project, as well as how they are all interrelated.

Worth to give a look here.

Do Frameworks and APIs Limit Developers' Imagination?

"Readily available frameworks and APIs can make developers very productive. However, they can also limit developers' imagination".

Summary from the article on Artima Developer => here

Thursday, September 20, 2007

Connection pooling in JBoss AS

A very good & step by step article to do connection pooling in JBoss AS for various types of datasources. It is available here.

I configured for the Oracle datasource. After you've successfully done the configuration, then the following message will be displayed on the JBoss console:

12:30:24,217 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=OracleDS' to JNDI name 'java:OracleDS'

Tuesday, September 18, 2007

My own Google pages

I've created my own web page using Google Pages. You just need to have a Google account for the same. It's quite interesting. I'll beautify the current page and will add some more pages from time to time, sharing my experiences 'n' views.

My first Google page is: http://atul.shinkar.googlepages.com

Thanks to Google :)

Friday, August 24, 2007

Cleared the FileNet BPM Java API Certification with 90%

Today I’ve cleared the FileNet BPM Java API Certification Examination (201748T) with 90%. Questions were moderate enough to attempt.
Now I have became a FileNet Certified Professional :)

Tuesday, August 21, 2007

Roy on Agile Methodology

"Agile methodology intensely focuses on best practices such as iterative delivery, test-driven development, continuous integration, and agile testing which enables the developer to deliver high quality applications with unprecedented visibility of progress to customers."

[From this article by Roy Singham]

Tuesday, August 7, 2007

Eclipse projects for AJAX development

The Eclipse Foundation announced milestone releases in two AJAX-related Eclipse projects — the ATF (AJAX Toolkit Framework)[incubator project] and the RAP (Rich AJAX Platform). These projects provide innovative new Eclipse-based technology to be utilized by AJAX developers.

RAP can be downloaded from http://www.eclipse.org/rap/

Looking forward to use these new projects...

Thursday, July 26, 2007

Using regular expressions in JavaScript

Today I learnt to use Regular Expressions in JavaScript. Actually I haven't touched regular expressions from last two years. I used them two years before in Lex & Yacc programming which was solely based on REs.
It's very interesting & useful in JavaScript to make any type of validations like for float value, email address, etc. on the client side.
I tried to develop the RE for validating the float value which contains e/E in it. It was pretty interesting to see the RE coming up part by part. Finally the full fledged RE to validate float value was formed. I would like to share it:

var floatRegExp = /^([+\-])?\d*([\.])?\d*([eE]([+\-])?)?\d*$/;

Your view on the above RE is welcomed :)

Wednesday, July 25, 2007

The multi-core crunch is coming...

Accoding to this article in the Arizona Daily Star the new generation of multi-core CPU's poses a daunting challenge to the software industry.

Give a view to this article.

Wednesday, July 11, 2007

Dynamic TABLE operations in HTML using JavaScript

Today I created one full fledged app using simple HTML, JavaScript & AJAX, which dynamically create, edit & delete the TABLE row (in the UI), which in turn is reflected in the database itself. While doing all these operations, no page REFRESH / RELOAD takes place, which gives feel that all these operations are done very faster than that of traditional approach.

As I've used JavaScript majorly, I've tested the app in IE(6.0), Mozilla Firefox(2.0.0.4) & Opera(9.20). It works fine without any browser compatibility issues. For AJAX, i've used JSON, which is supported by these browsers.

I think it's really great achievement for me as I've tried to create most user-friendly & interactive app.

Following is the snap of my app:
[All the operations takes place in the single page itself without refresh / reload]

Sunday, July 1, 2007

My first AJAX program in Java

Finally I have created my first AJAX program in Java. It's to convert an entered number to the string representation. What I've done is created one JSP page and one Servlet to process the client request. In the JSP page I took one text box to enter the number & then passed it to the Servlet in the form of of request. There I converted the number to the string & passed it back to the requesting client in the form of XML/Text response. This response text is in the form of XML, but in my case as there is only one field, the XML is overkill.

AJAX is really interesting to study. It's not a technology but it's a group of ideas that, used together, are proven very powerful. I'll be exploring a lot in it. :)

Monday, June 25, 2007

Cleared the FileNet CM Java API Certification with 100%

Today I’ve cleared the FileNet CM Java API Certification Examination (201747T) with 100%. Questions were moderate. I was preparing for it from last two weeks. Finally, with little hard efforts & with God's grace I've made it.

Tuesday, June 5, 2007

Google Reader... A new way to stay updated !!

Today I came across Google Reader, a new feature introduced by Google. I really found it very useful.
It's really cool as you can remain updated with your favorite websites/forums/blogs just like checking your email. It constantly checks your favorite sites and blogs for new content, so that you don't have to visit each & every website for new content.

Nice innovation :)

Monday, June 4, 2007

Microsoft Surface: Behind-the-Scenes First Look

The software giant has built a new touchscreen computer—a coffee table that will change the world. Go inside its top-secret development with PopularMechanics.com, then forget the keyboard and mouse: The next generation of computer interfaces will be hands-on.

Take a look...

BlogCamp event in Pune



Some details...
BlogCamp Pune is an unconference focussed on Blog, Bloggers and Blogging phenomenon. It's a one day event. It is a free unconference focusing exclusively on blogging, organized by bloggers for bloggers. It‘s built upon the principles of the famous BarCamp (ad-hoc unconference) focussed on sharing, learning and new ideas.

Date: 16th June, 2007 (Saturday)
Venue: SCIT (Symbisis Centre for IT) in Hinjewadi IT park
Register here.

See you at blogcamp... :)

Sunday, May 20, 2007

Posted an Eclipse bug in Bugzilla

My colleague told me that she was not able view the CONSOLE window in the Java Perspective, even after going through Window-->Show View-->Console and also by pressing the short-cut keys Alt+Shift+Q,C. When we were inspecting that what exactly went wrong, we were not able to bring back the CONSOLE window. It was visible in the Debug Perspective in the same Workspace. We tried creating new Workspace, & there the CONSOLE window was visible. But later we switched back to the older Workspace, the problem still persisted.
So I decided to post this bug to the Bugzilla. It's here.

Monday, May 14, 2007

MVC architecture in Ruby on Rails

Today I came to know that how RoR uses MVC(Model-View-Controller) architecture internally to faster the development of Web Apps. It's really cool.

Monday, April 23, 2007

78th percentile of Nerdiness

I just took this fun test that calculates how nerdy I am as compared to other people. I got the small batch after giving the test, here it is:

   I am nerdier than 78% of all people. Are you nerdier? Click here to find out!

Try it out :-)

Thursday, April 19, 2007

MyEclipse Enterprise Workbench starting error

From last two days, I was facing the problem while starting the MyEclipse Enterprise Workbench, by directly executing the eclipse.exe. It was giving the following error while starting:

Required Java version: 1.4.1. Available 1.3.1_01

So, I was starting the MyEclipse by using the startup.jar. But today I was able to resolve this problem by visiting some MyEclipse forums.

I done the following steps:
1. Right click the shortcut and go to Properties->Shortcut tab.
2. In the Target box, add the following in front of eclipse.exe as:
"eclipse.exe -vm [Java 1.4 or above installation directory]\bin\javaw.exe"

and the problem was solved :-)

Wednesday, March 21, 2007

Running more than one instance of Tomcat Server on the same machine

I came across one of the question in one of the Java forum on ITTOOLBOX which was like this:

Can we run more than one instance of the Tomcat server on the same machine?

I was trying this from two days, and finally I was successful in starting three Tomcat instances on the same machine with different port numbers.

I followed the following steps to do the same:
a. Made three different folders of Tomcat directory.

b. Made changes in the environment variables as CATALINA_HOME1, CATALINA_HOME2, and CATALINA_HOME3.

c. Then I reflected the above changes in the "startup.bat", "shutdown.bat" and "catalina.bat" batch files in each Tomcat "bin" folder accordingly.

d. Then I changed the default port numbers 8005, 8080, and 8009 in server.xml & server-minimal.xml files of second and third Tomcat directories.

e. Now first server was running at port 8080, second one at 8090, and the third one at 8095.

Conclusion:
We can either have the instances running on the same machine (different ports), different machines (same ports) or different machines (different ports).

Friday, March 16, 2007

JavaCompilerTool

javax.tools.JavaCompilerTool
It is a JDK 1.6+ interface that lets the Java program fire up the Java compiler, (usually javac.exe) and compile Java source, all under the program's control, in a platform-independent way.

We can use it to compile code that exists only in RAM. We can generate the source code on the fly, compile it, and execute it.

Please find in some interesting pointers related to JavaCompilerTool:

http://www.javalobby.org/java/forums/m91985882.html
http://www.velocityreviews.com/forums/t318697-javacompilertool.html

Thanks.

Tuesday, March 13, 2007

Does Java supports "Operator Overloading"?

This was the question which aroused in my mind when for the first time I saw the use of String concatenation operator "+" to concatenate two or more Strings.
To get to its root, I read many articles on forums and blogs [e.g. Sun's Forum] and finally came to the following conclusion:


> String concatenation operator "+" is an exception and is just given for the simplicity and it's used internally by the compiler.
> We cannot overload any of the operator at the language level, so this means that Java doesn't support operator overloading.

Please feel free to CORRECT me in case I am going wrong, that would be very kind of you :-).

Monday, March 12, 2007

Immutability of the "String" class in Java

Consider the following code snippet:

----------------------------
String a = "First";
System.out.println(a);
----------------------------

The output is: First
Now, I use the string concatenation operator "+" as:

----------------------------
String a = "First";
a = a + " Second"; //Creates a new String object
System.out.println(a);
----------------------------

The output is: First Second

The string concatenation operator "+" implicitly creates a new String object and the reference to the old one is lost, thus the value of String object cannot be changed after it has been created (i.e. it's Immutable).

Friday, March 9, 2007

Sunday, February 25, 2007

Sun Tech Days 2007...One day event in Pune

Sun Tech Days 2007:: Sun Microsystems organized a three day event in Hyderabad from 21st February. There was a live telecast [through Satelite link] in three cities- Pune, Mumbai and New Delhi of the first day [only for 2:1/2 hours] from Hyderabad. After that there was different live interactive sessions on various topics from Sun's speakers. I attended this one day event in Pune. All the sessions like on Java SE 6 Features, Solaris, Java Persistence API, etc. were extremely knowledgeable. I really missed the three day event of Hyderabad. Thanks to A L L for organizing, managing, conducting such worth sessions.
Also thanks to my friend Neeraj because of whom I came to know about this event.


_________________________________________________________________________________________________________________

"Look at the sky. We are not alone. The whole Universe is friendly to us and conspires only to give the best to those who dream and work."

- Dr. A P J Abdul Kalam
_________________________________________________________________________________________________________________