Thursday, April 26, 2007

That Javascript thing...

I have always tried to stay away from Javascript...

I used to write some code hesitantly, say to move data between two listboxes, re-calculating some stuff when values change etc. etc. But overall, I avoided it for the simple reason that it appeared a very weired language to me especially as I cam from strongly typed languages like C++ and Java.

Even simple things like DOM manipulation with getElementById() becomes a challenge with JS.

I know very little Javascript, but a few questions I searched for didnt yield many answers on web...

1. Why there is no standardized library for Javascript, as say there is for JSP custom tags (JSTL) or C++ standard template library?

2. Why IDE's dont have great support for Javascript? Why do I need to download a plugin like JSEclipse for JS editing in Eclipse?

3. Why javascript is not statically typed? Now dynamic typing might have some benefits, but the winner is clear now. Dynamic typing makes extremely difficult to provide auto completion for IDE's, Dynamic typing can't find out all bugs while coding etc. etc.

4. What is happening with Javascript 2.0? Are there any revolutionary changes? I dont have the patience to read through the proposal. :P

Any way, with a strong arrival of AJAX, I'll have learn javascript now...planning to get started... :)

Tuesday, April 24, 2007

Eclipse + Weblogic + Debugging with hot deployment

I had this simple problem...

I have a web application...to be deployed on weblogic...I use Eclipse to work on it...I am in development mode, so I make frequent changes to Java files and JSP's and want to see the effect of changes immediately on browser.

In obscure world of Java...it was not that easy I found...

It has to be an open deployment (where you dont create an archive, but ask the App server to point to your development directory)...


With normal Eclipse debugging using Weblogic instance...it unnecessarily creates an archive...I didnt find an option to use open deployment here.


So one needs to use Remote debugging...It is something with which the server needs to expose its debug data to the IDE on some port (in this case 1044). IDE attaches itself to it.



One needs to make changes to the startup file of the App server to use -Xdebug option to start the JVM in debug mode and expose debug data on some port.


In my case, I created a new CMD file from existing weblogic startup file with following debug options added to JVM startup command.


set DEBUG_OPTS= -Xdebug -Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=y

Finally, it did work after some worries and mistakes...
Now I can put a console print in some java class and just refresh my browser to see the output in the console...(of course you need to set 'Build Automatically' in Eclipse)

What a relief... :)

Reference: http://www.jacoozi.com/index.php?option=com_content&task=view&id=119&Itemid=134

Thursday, April 19, 2007

ब्लॉगर अब हिंदी में !!!

अब मैं हिंदी में लिख सकता हूँ। बिना झंझट के। यह ब्लॉगर तो कमाल कि चीज है! बराहा कि कोई जरुरत नही। :)

हे लवकरच मराठीत व्हाय्ला पाहिजे (Semantic word detection will not work in Marathi right now...even though the font is same।)

Wednesday, April 18, 2007

Googleto ergo sum !!!

Google is getting all pervasive on web...not a news of course...but I had a strong realization about this when I created a small tool of custom search using Google tools...

1. Google offers a way to create your own custom search engine. (http://www.google.com/coop). You can basically customize what sites should be scanned for the search and some more parameters. I used this feature to create a custom search engine for Indian stock markets. It was frustrating sometimes to see results from all over the world when all you care about is really NSE listed stocks. Google's indian site also works, but includes a lot of indian sites I don't care about.

2. Then I used Google pages (http://pages.google.com/) to create a small home page to host this search. Google pages has a HUGE collection of gadgets, right from news tickers to proxy sites. Not all of them work though. Overall I had a feeling that there is a lot of scope of improvement in Google pages interface. E.g. you cannot edit the overall structure of the page, but have restrict yourself to edit only sections as given by the template.

3. Once my page was online (http://stocksearchindia.googlepages.com/) I entered small code snippets from Google AdSense (https://www.google.com/adsense) to have some Ads on my page. Not sure if it will earn any money though. ;)

4. I put another small snippet from Google Analytics (http://www.google.com/analytics) to get all the statistics about my site's clients with clean graphs et al. The facilities given by Google Analytics are really awesome, moreover all free of cost of course :).

5. And right now, I am conveying all of this in Blogger.com, which is again a Google acquired company of course. As Descartes once said, 'Cogito ergo sum' (I think, therefore I am), a netizen from 21st century (at least from first few years of it...) would certainly say...'Googleto ergo sum'...'I google, therefore I am' !

’मजेत जगावे कसे’

मराठि मधिल पहिला blog लिहित आहे.

’मजेत जगावे कसे’ नावाचे एक सुन्दर पुस्तक सध्या वाचतो आहे. आतिशय सोप्या भाषेत, वेगवेगळ्या प्रसिध्ह इन्ग्रजी पुस्तकान्चा सन्दर्भ घेत शिवराज गोर्ले यानी एक उत्तम Self Help पुस्तक वाचकान्च्या भेटीस आनले आहे.

हुश्श !!! ...मराठि टाइप करणे एवढे कठिण असेल असे वाट्ले नव्हते...दमलो मी.

Tuesday, April 17, 2007

Why Not not start a startup

Paul Graham of Y-Combinators has written an excellent article http://www.paulgraham.com/notnot.html. He tries to address the concerns that typically one has about starting up...16 of them. Very objectively and logically written. A must read.

Tuesday, April 10, 2007

Guy is a wonderful guy !
This guy called Guy Kawasaki really writes well...I recently came to know about him and have been a big fan since then...currently going through his archive...

Here's a gem on the technique of bootstrapping (working with little resources and slowly gaining momentum without spending much) to be applied to startups...