Angsuman's Java Blog

News and views from my perspective as a Chief Software Architect and CEO. Focused on Java and Web Technologies.

Tuesday, July 19, 2005

2005 JavaOne Conference - Java Platform Update: Roadmaps & Big Directions

2005 JavaOne Conference - Java Platform Update: Roadmaps & Big Directions

Thursday, July 14, 2005

Test Driving Java Studio Creator - Simple Thoughts

Test Driving Java Studio Creator - Simple Thoughts: "An excellent article, with screenshots, describing in details the ease of use of Java Studio Creator and JSF (using Java Studio Creator). The author is pretty impressed with the product.

I have started using Java Studio Creator, thanks to the free gift from Sun, and so far I too am pretty impressed with its capabilities. I think Sun finally has a gem in his hands."

Brief Notes on Java Server Faces Technology (JSF) - JSR 172 - Simple Thoughts

Brief Notes on Java Server Faces Technology (JSF) - JSR 172 - Simple Thoughts: "JSF (Java Server Faces) brings applet functionality to the web on any browser with pure HTML & CSS based rendering. Applets not only provide rich set of UI components (much of which is yet to be replicated in JSF), it also provides a powerful event-driven model. Event driven model is the immediate value of JSF.

JSF is a promise, much needs to be implemented yet. However as it is it is very useful and deployable."

Java Studio Creator 2 Early Access is available for free - Simple Thoughts

Java Studio Creator 2 Early Access is available for free - Simple Thoughts: "I have found Java Studio Creator to be very useful and worthwhile for JSF based development.

Join the Java Studio Creator 2 Early Access program and download the new IDE for FREE through October 2005. Includes SDN Membership.

As a Sun Java Studio Creator Early 2 Access participant, you gain access to the pre-release version of the product. You will also be a key contributor in testing features and reporting bugs and problems through our feedback tools."

(Java Applets == Stupid Design) == Stupid Comment - Simple Thoughts

(Java Applets == Stupid Design) == Stupid Comment - Simple Thoughts: "I think applets suffered bad rap particularly due to ignorant coverage in popular media, not due to technological demerits. I can bet applets will make a comeback with wider usage of broadband. The technology is far from dead. Mark my words."

Asynchronous JavaScript Technology and XML (AJAX) With Java 2

Asynchronous JavaScript Technology and XML (AJAX) With Java 2: "Anyone who has used Flickr, GMail, Google Suggest, or Google Maps will realize that a new breed of dynamic web applications is emerging. These applications look and act very similar to traditional desktop applications without relying on plug-ins or browser-specific features. Web applications have traditionally been a set of HTML pages that must be reloaded to change any portion of the content. Technologies such as JavaScript programming language and cascading style sheets (CSS) have matured to the point where they can be used effectively to create very dynamic web applications that will work on all of the major browsers. This article will detail several techniques that you can use today to enable your web applications to be more rich and interactive like desktop applications. "

Friday, June 24, 2005

Google Releases Ajax code in Open Source named AJAXSLT

Google AJAXSLT: "AJAXSLT is an implementation of XSL-T in JavaScript, intended for use in fat web pages, which are nowadays referred to as AJAX applications. Because XSL-T uses XPath, it is also an implementation of XPath that can be used independently of XSL-T.


XSL-T stands for XSL Transformations. XSL stands for eXtensible Stylesheet Language

XSL-T is a language for transforming XML documents from one language to another. An XSL-T style sheet would be used, for instance, to convert the unformatted content from an XML document into the a fully-formatted HTML document.

AJAXSLT takes this process one step forward, by implementing XSL-T in Javascript and having it run in your browser. Thus, your web browser can fetch XML documents directly from the server, and perform the format conversion locally; thus saving time and bandwidth.

AJAXSLT is distributed under the terms of the BSD License."

Saturday, February 12, 2005

RedNova News - Regeneration of the Pancreatic [Beta] Cell

RedNova News - Regeneration of the Pancreatic [Beta] Cell

Web Publishers Branch out Beyond Banners

Web Publishers Branch out Beyond Banners

Friday, February 11, 2005

Trackback As An Authority Building Tool - Robin Good' Sharewood Tidings

Trackback As An Authority Building Tool - Robin Good' Sharewood Tidings

Friday, February 04, 2005

LinkBlog - Java, Bioinformatics, Outsourcing, Web

I have created a LinkBlog on Java, Bioinformatics, Outsourcing and Web links while browsing. This is mostly for my reference. If you find it useful let me know.

Wednesday, January 21, 2004

New Year = New And Improved Blog

I decided to start this year with a new blog focussed on Java and Web technologies.

Please visit and bookmark Simple Thoughts - my new blog.
This blog may not be actively updated in future.

Spammers: One down, thousands more to go. Kudos to Plaxo

Spammers: One down, thousands more to go.

Today morning I received a spam which originated from plaxo servers. It was interesting. Someone named Mr. Richard Milford felt he had my contact information on file and requested me to update it!

Here's the exerpt of the email:


I'm updating my address book. Please take a moment to update your latest contact information. Your information is stored in my personal address book and will not be shared with anyone else. Plaxo is free, if you'd like to g ive it a try.

Richard Milford

I never know anyone with that name. Then I looked at the information he had about me - my name & email address only! Something you can easily find by a crawler from my webside.
And I have never contacted a mortage company in my life, nor have voluntarily given my information to any.

This was clearly a case of spam, a wilful disregard of the laws and using my resources without my consent.

And he also gave me his contact information, see below.
I felt this clearly required some action on my part, more than just instructing spambayes to treat it as spam. Also I am afraid if I do so, many genuine emails from plaxo may be given similar treatment automatically.

So I wrote a polite email to as show below:


The email was sent to me through system by one of your member. I do not know him, never heard of him. Looking at his vCard I found he sells mortgage. I have never contacted any mortgage agency in my life, nor have given my info to any. This is clearly a spam and in violation of our company policy and as I verified it is also in violation of your policies.
Please ensure that your system is not used to send spams to in future.

PS. I am including the full email as well as the vCard of the abuser as attachment.
PPS. I would appreciate if you would let me know what action has been taken against the member.

I immediately received an confirmation of receipt email.

Thank you for taking the time to contact the Abuse Investigations
Department at Plaxo. We appreciate your help in reporting potential
violations of our Terms of Service.

We take all reports of abuse very seriously, and will respond back to you,
if necessary. If you would like to check the status of an abuse report,
simply respond back to this message and someone will contact you shortly.

Thank you again.

Plaxo Abuse Investigations

This was followed by a response from a Plaxy official:


Thank you for taking the time to contact Plaxo. I am the Trust Officer
here at Plaxo and I am responsible for addressing Trust and Security
issues regarding the usage of Plaxo.

I'll take a look at the member's account and history, and if I find the
user to have violated our Privacy Policy, their service will be revoked
and you should no longer receive further emails.

If you receiving any further spam messages, please feel free to report
them to

Thank you for reporting this abuse.

Stacy Martin

A very prompt & polite response, if I may say so. I was very much impressed.

This was followed by a short email which informed me everything I wanted to know, all done within 2-3 hours.


You wanted to know what action was taken. It wasn't much of an
investigation. The member has been disabled and will no longer have
access to our service under his currently registered email addresses.

Thank you,

Stacy Martin
Stacy Martin
Plaxo Trust Officer 'Stay Connected'

I am very much impressed with the promptness of Plaxo in this regard and their swift response. In fact I started looking to get myself enrolled in Plaxy, because I felt they are someone I can trust with my contact information.

You may be thinking what's the big deal. He can surely open another email account with say hotmail and repeat the procedure! Sure he can but now he cannot use Plaxo to keep his contact list updated which are associated with his actual email address. Also you are even less likely to heed to a spam which comes from (maybe an actual email, don't try it guys). And its a bother. Also this posting is bound to be read by few people who would give a second thought before approaching him for his mortgage needs.

Now I have also written an email to I will update this column with the results ... keep reading.

Here's the contact information the spammer gave me in case you wanted to do business with him .

Name: Richard Milford
Company: MortgageCap Financial
Phone: 212-631-4272

Saturday, January 10, 2004

Better Eye Sight Without Glasses by Exercises, Herbal and Natural Therapy - Index

Finally AdSensed my eye site - Better Eye Sight Without Glasses by Exercises, Herbal and Natural Therapy. It is a book by famoud Dr. M.S. Agarwal on improving your eye sight by fully natural methods, without resorting to glasses or other allopathic treatment procedures.

Tuesday, January 06, 2004

Sehwag's style...

An excellent article on the Indian cricket team - @123India Cricket It has an uncannily accurate description of Sehwag -
"I don’t think anything bothers Sehwag. Hitting him on the head is a waste of time because he doesn’t think much, so a smack on the helmet won’t make one iota of a difference to how he plays. He will not change his way of batting. He is uncomplicated and will bat like a saint or a sinner. He never knows how he will bat on any given day, so the bowlers don’t know what to expect. "

Thursday, January 01, 2004

The Avalon Project : The Atlantic Conference

The Atlantic Conference - Some say this had an influence in Britishers freeing India. I say we kicked some royal a**, out of the country. In any case - Good riddance!

Monday, December 22, 2003

Review On Electrolux EW-1045F by angsuman --

Review On Electrolux EW-1045F by angsuman --

Tuesday, December 16, 2003

Pigdog Journal (Mr. Bad's List) -- Things to Say When You're Losing a Technical Argument

Pigdog Journal (Mr. Bad's List) -- Things to Say When You're Losing a Technical Argument

Friday, December 12, 2003

Bill Gates' Web Site - Indian Institute of Technology 50th Anniversary Celebration Keynote

Never thought I would promote Bill, but here goes, a mutual back-slapping...
Bill Gates' Web Site - Indian Institute of Technology 50th Anniversary Celebration Keynote

Thursday, December 04, 2003

Human Cloning: The final frontier

Q. Are we playing God in attempting to clone humans?
No, but we sure are playing God in trying to decide what God wants, in trying to ban cloning. Last I checked God hasn't delegated anyone the responsibility to be his mouthpiece!
If God doesn't wan't cloning, being omnipotent as he is, he will not make it happen. In trying to support God, we are assuming he needs our help!! what an audacity! So all those proponents of playing God, you are really insulting your God. You are assuming he is an weakling and needs your help. Have you ever considered in your little brains that it may be his wish to reveal the secret to life, him guiding us in little ways in helping us to understand the mysteries of life.

Tuesday, December 02, 2003

Ryze business networking

Marketing is cornerstone of any successful enterprise. We should always go for marketing with integrity, where the role of marketing is to highlight the offering by itself and in contrast with others based on facts and facts alone.

Here's a few quotes from notables in business -

Ryze business networking: "

Peter Drucker (In his 1954 book The Practice of Management): 'Marketing is the distinguishing unique function of the business. A business is set apart from all other human organisations by its marketing activities. Any organisation that fulfills its purpose through marketing is a business, and any organisation where marketing is absent or incidental is not a business, and shouldn't be run as such.'

Peter Drucker: 'Because its purpose is to create a client, the business has two - and only two - functions... Marketing and Innovation. Marketing and Innovation produce results, all the rest are costs...'

Jay Abraham: 'Marketing is nothing more than educating your prospects and clients to understand, appreciate and desire the self-serving benefits, advantages and results of your services to them, and wanting to have those results for themselves, because they trust you as a purveyor of it.'

United Kingdom Chartered Institute of Marketing: 'Marketing is the management process which identifies, anticipates and supplies customer requirements efficiently and profitably.'

World Marketing Association: 'Marketing is the core business philosophy which directs the processes of identifying and fulfilling the needs of individuals and organizations through exchanges which create superior value for all parties.'

Peter Drucker: 'Foreign managers take marketing seriously. In most American companies marketing still means no more than systematic selling. Foreigners today have absorbed more fully the true meaning of marketing: Showing what is value of the customer.'

American Marketing Association: 'Marketing is a process of planning and executing the conception, pricing, promotion and distribution of ideas, goods and services to create exchanges that satisfy individual and organizational objectives.'

Tom St. Louis: 'Marketing is communicating value.'

Robert G. Allen: 'Marketing is about setting up automatic, repeatable systems that create the environment where people want to buy from you, instead of you having to sell.'

Jonar Nader: 'Marketing is engineering the future.'

Tom Peters: 'Without marketing you are nothing.'"

Friday, November 21, 2003

The Java(tm) White Paper: Interpreted and Dynamic

The Java(tm) White Paper: Interpreted and Dynamic: "Programmers using 'traditional' software development tools have become resigned to the artificial edit-compile-link-load-throw-the-application-off-the-cliff-let-it-crash-and-start-all-over-again style of current development practice."

Wednesday, November 05, 2003

SMTP & POP3 - A workshop transcript & some links

SMTP & POP3 - A workshop transcript & some links

> I have to write a mail server(without using any components available in market)from scratch in Java.But I don't have any idea how I can implement SMTP and POP3 protocols in Java.Can you tell me how should I proceed?

Sometime back I gave an online workshop on these protocols which you
can find at:

Protocols description:


Post Office Protocol Version 3 (Old version) (Implementation notes)

Sunday, October 26, 2003

Technorati Profile

Saturday, October 25, 2003

Laden defined!

Difference between terrorism & Freedom Fighter - finally revealed!

I am starting to like this guy for his uncannily accurate potrait of the world policitcs. He has finally found a way to define a terrorist versus Freedom Fighter & Jehadi! This is a must read for the INS. Guys take a cup of java and click on this link to finally have the mystery revealed to you, with a globe.

Be patient Mr. Vajpayee!

Be patient Mr. Vajpayee!

India is facing tremendous challenges due to terrorism for many years and always was requested to be patient and work it out with the neighbors! Wonder why the same policy couldn't have been applied to Iraq? An old but yet unanswered question. Any takers?

Dense Objects...

Have you been near any dense objects lately that would make the fabric of space-time fold onto itself?

Links for UI development in Java

Doubletwisters: "Some links for you to enjoy:

LnF articles:

LnF graphics repository:

Free Swing Book :

A commonly posted Java User's website that contains nice examples of more advanced usages of Swing:

And it is great to search the forums for answers:'
- Angsuman Chakraborty, 4:07 AM"

Thursday, October 23, 2003

All Things: To EJB or not?

All Things: To EJB or not?

Interesting notes on the old questions, highlighting the issues rather well.

Monday, October 20, 2003

Angsuman Chakraborty's Ryze Business Networking Page

Check out Angsuman Chakraborty's Ryze Business Networking Page for some cool pictures from Bangkok during APEC. Current news about APEC at Xinhua Times

Thursday, October 16, 2003

Tetradedral Model of Business

Tetradedral Model of Business

Excellent article on the structure of a startup. I would recommend any entrepreneurs to read it.

Sunday, October 12, 2003

Thoughts about Outsourcing in response to an email in Ryze

I have outsourced work and now provide outsourcing services.

Why? I have seen a need in the market for high quaility work done at competitive price, more so when the economy is down. It would be a strategic blunder for any corporation today not to consider outsourcing as a strategic initiave to prosper & even survive in today's marketplace.

Having said that lets look at the other side of the coin.

I have seen a cry that - wait these people from Russia, India and China are taking our jobs, lets stop them!

Interestingly the same cry was heard from small businesses in India, China, Brazil and other economically dis-adavantaged countries when corporations from USA were capturing and are still capturing the market in those countries. And they wanted the government to stop them which didn't happen as they would have liked due to external constraints like pressure from the US government, GATT etc. So today we have pepsi & coke & domino's in every street corner, whereas the local brands have all but dis-appeared! And my little niece likes best a Pizza ("Pizaa", as she says it with an eye of love) from Dominos.

Either they are both wrong or they both right!

Either you create a closed society where US doesn't do any trade outside the country and US corporations has no business interests outside the country in which case you can also close your doors to outsourcing options. Or you vote for opening the barriers to business everywhere which means US business thrive outside the country also and non-US business do the same inside US too.

This cannot be a one-sided coin. The corporations in an open economic climate will go for options that better their chance of success.

The best response to the challenge would be to optimize your process so you can effectively compete with the outsourcing options and/or leverage the outsourcing options yourself to position your business for success. Re-orient the business strategy to that effect and you will see that outsourcing is a boon not to just corporations but small businesses and individuals.

Monday, October 06, 2003

Block Messenger Spam aka Webpopup Advertisements @ Re-QUEST dot Net (tm)

Block Messenger Spam aka Webpopup Advertisements @ Re-QUEST dot Net (tm)

To stop it for this session simply type:
net stop messenger

Sure you can put this in your startup script and make it stop every time. But it is simpler to go to your registry and disable it once and for all.

BTW: I do not endorse their product nor have I used it. The only reason I pointed to this link is because I thought they had some info on the problem (and some hype too :) ).

Monday, September 29, 2003

How humans read...

An interesting finding on human reading capability first I saw mentioned in Matt Kruse's Site:

"Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae. The rset can be a total mses and you can sitll raed it wouthit a porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe."

Sunday, September 28, 2003

Thanks Google for freeing up Blogging!

BLOGGER: Important Blogger Pro Announcement

How to calculate the digits of a positive integer?

1 + (int) (Math.log(i) / base10)

where base10 = Math.log(10)

I just came across the need to calculate the digits of a number. It sounds trivial as we can see the digits & count them easily. How do you find them computationally?

Friday, September 19, 2003

Why do we trust others?

An interesting insight on the chemistry behind trust.

Thursday, September 18, 2003

Simple yet Useful: Unix Tail implementation in Java

Free code for your to enjoy... do drop me an email if you find this useful.

public class Tail {
public static void main(String args[]) throws Exception {
FileInputStream file = new FileInputStream(args[0]);
int ch;
while(true) {
while((ch = != -1) System.out.write((char) ch);

I would welcome suggestions on how to make it simpler.

Wednesday, September 17, 2003

Ryze: The new experiment on business networking

As they say: I'm on Ryze!

Thursday, September 11, 2003

Applet: another view from experience

Did anyone say applet was dead? He's dead wrong! Vive La applet! I successfully developed and deployed a web based graphical query tool using applet with Java plugin, signed & certified.

OGSA-DAI: Thought to share

Just completed a project on Distrbuted Grid Data Service Framework, specifically OGSA-DAI. Now I probably know more about OGSA-DAI then many of the creators :)
And probably the only one to setup in under an hour, you will know what I mean if you have used it.

I do like it in terms of the capability. I have some concerns about performance of the system.

Friendster & Georgy

I found Friendster through my friend and Friendster found me too! Already I have over 10, 000 genuine contacts, haven't checked fully but without fakesters I think!

Looks like Georgy may have a decent chance!

Sunday, August 17, 2003

Embedded Unit Testing

A simpler way to write tests, embedded. This is rife with possibilities and usefulness.
More on it later...I have to run.

import java.util.*;
import junit.framework.*;

/** Creates moving average of double data, everytime new data is added */
public class MovingAverage {
private int setSize = 1; // Size of set
private LinkedList set = new LinkedList();
private double average = 0.0;

/** Create moving average of size data elements */
public MovingAverage(int size) {
setSize = size;

/** Add's data to the set, returns the moving average, 0.0 is returned when there are not sufficient data */
public double add(double data) {
set.add(new Double(data));
if(set.size() <= setSize) {
average = (average * (set.size() - 1) + data) / set.size();
} else {
double firstData = ((Double) set.remove(0)).doubleValue();
average += (data - firstData) / setSize;
return average;

public static void main(String args[]) { TestSuite(MovingAverage.TestMovingAverage.class));

public static class TestMovingAverage extends TestCase {
public TestMovingAverage(String name) {

public void testAddFirstSetSizeMinusOneValues() {
int size = 2000;
MovingAverage avg = new MovingAverage(size);
for(int i = 0;i < size - 1;i++) {
assertEquals("First N Values of Moving Average (Set Size > N), N = " + (i + 1), i/2.0, avg.add(i), 0.001);

public void testAddMovingAverage() {
int size = 200;
MovingAverage avg = new MovingAverage(size);
for(int i = 1;i < size;i++) {
for(int i = size;i < size * size;i++) {
assertEquals("Testing moving average for 1..." + i, (1.0 + 2 * i - size)/2, avg.add(i), 0.001);

Thursday, August 07, 2003

My friend Archie's sister is a democratic candidate for the post of California Governor, Yeah!
Check out Georgy's website.
Georgy you have my full support.

Wednesday, August 06, 2003

Few Java Tips

An site of Java Tips created by me sometime back:

Tuesday, August 05, 2003

The code of NAV Download is more concise with:

public static int update() throws Exception {
InputStream is = (new WebConversation()).getResponse(new GetMethodWebRequest(URL)).getTableStartingWith("Filename").getTableCell(1,0).getLinks()[0].click().getInputStream();
drain(is, new BufferedOutputStream(new FileOutputStream(new File(FILE))));
return execSync(INSTALL);

However is this desirable?

Monday, July 28, 2003

An excellent article on leadership -

Code snippet to download and execute NAV Update. Run this as as daily task from MS Task and you will never miss an update.

navaut.exe executes the downloaded executable without user intervention. Email me if you need the executable, or you can hack a some cscript if you want. Running the executable directly from Java doesn't work for two reasons, one being user interaction is required to complete the task, making it unsuitable as an unattended task.

import com.meterware.httpunit.*;

public class NAVUpdate {
public static final String URL = "";
public static final String FILE = "navupdate.exe";
public static final String INSTALL = "navaut.exe";
public static void main(String args[]) throws Exception {

public static void update() throws Exception {
InputStream is = (new WebConversation()).getResponse(new GetMethodWebRequest(URL)).getTableStartingWith("Filename").getTableCell(1,0).getLinks()[0].click().getInputStream();
File file = new File(FILE);
if(file.exists()) file.delete(); // Delete old copy, if present
BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(file));
drain(is, os);

public static void drain(InputStream is, OutputStream os) throws IOException {
for(int i;(i = != -1;) os.write((char) i);

public static int execSync(String file) throws Exception {
Process process = Runtime.getRuntime().exec(file);
return process.exitValue();

EastBengal: ASEAN Cup winners 2003!

CONGRATULATIONS East Bengal for winning the ASEAN Cup. Wish you the best of luck in the coming tournaments!

Sunday, July 20, 2003


This week I bring to you Trillion, the coolest IM Integrator from Cerulean Studios which allows you to access- AIM, Y! IM, MSN IM, ICQ and IRC! I am impressed. And it doesn't have any ad ware, spy ware etc. I could detect. Looks clean.

I thought Kazaa smelled spy ware, ad ware and other bad stuff! While installaing, after reading some good reviews, I didn't specially like seeing that it wants to install Cydoor (& says on its website that it doesn't use spy ware). I didn't install. And when I googled I found more about it. And so should you. My hunch was correct.

Thursday, July 10, 2003


Welcome to the world of Taragana. We specialize in providing bio-informatics services and solutions. Please visit our corporate website.

Saturday, June 28, 2003

Best Technical blog is what I strive it to be. The best way to use this blog is to search for the words of interest on the left.

The blog is currently rated by google first when you search for "best technical blog". Check here.

An interesting web page template designer.

Saturday, June 21, 2003

Looks like my blog is accessed almost every 5 days by google. Yeah! Check out my java technical blog on current google cache.

Thursday, June 19, 2003

Checked out (mentioned by him in a Shout Out below) an interesting technical blog, not much related to software though. Personally I was intrigued by the special ring that symbolized his qualifications. Maybe we IIT'ans should have something like this :)

Quoting Paul's email to bloggerdev just for my future reference

"I went hunting for documentation for all of the methods that I use in
my Blogger API (v1.0) implementation. What I came up with was added
as Javadoc comments in the source of Chronicle Lite. The following
links are simply lifted out of my code -

documented "officially" at:

documented "officially" at:

documented "officially" at:

documented "officially" at:

documented "officially" at:

documented "officially" at:

documented "officially" at:

documented "officially" at:

documented "officially" at:

Hope this helps!

--- P." - Paul S. Hawke

Wednesday, June 18, 2003

Broadband gripe: Joke of the week

The honor goes to BSNL. They promised to have DIAS available throughout Calcutta/Kolkata, took application forms for it and informed us it will be available within a week. Two months have passed by!

Sunday, June 15, 2003

Joke of the month:
Cable Intenet from Alliance Broadband in Kolkata/Calcutta. The speed is a measly 23Kbps(yes kilo bits)!
And yet they claim they are a broadband provider. My modem is twice as fast as them.

SHAME on YOU Alliance Broadband.

Saturday, May 31, 2003

Bookmarklet for anonymous browsing

Tool for the day: A bookmarklet for anonymous browsing using the services of Tested on both Mozilla & IE recent versions. Save/Drag the link here as your bookmark: Anonymous Browsing

Thursday, May 22, 2003

I am testing yet another blog client - MozBlog. This looks to be the simplest as I use Mozilla nowadays.

Just for reference here is the new blogger API 2.0

The current endpoint is here

This post is a test of Jericho, a java blogger client. It is hard to find blogger clients who does everything I want and foor free :)

Wednesday, May 21, 2003

I marginally improved upon the Zap Events bookmarklet from to create this bookmarklet which zaps mousedown event also to eliminate those pesky event handlers in some pages which doesn't want you to download images!

I was looking for bookmarklet for accessing Google's cache for any page. I couldn't find one that works on IE and Netscape. So I created a simple bookmarklet, my first one.
Drag the following bookmarklet to your favorites bookmarks to access google cache for the displayed pageGoogle Cache Bookmarklet.

Friday, May 09, 2003

What is a technical blog?

A technical blog is a weblog of technical tips, tricks, hints, pointers as we come across in our technical pursuits. This may contain occassional references to Iraq War, but always the main context of the page is technical in nature. This is not your
traditional what have I done today, whom have I met and what did I say to so and so.

> Sometime tables in a database have been locked.
> What do you think?

Are you closing the database after you are done in a finally block always? If not, do it.

>I wonder if there is any error in sql statement, the error will be thrown in catch{…} right.

>Will the application get confused where the error should be thrown?
Software don't think so they don't get confused, we humans do :)

Saturday, May 03, 2003

Looking for Sr. Java programmers in Kolkata & California ASAP

Sunday, April 27, 2003

This blog is ranked No. 1 by google when you search for "technical blog"

Saturday, April 26, 2003

Yahoo! News - Notable Quotes
"We as Americans are completely obsessed and wrapped up in a lot of the wrong values -- looking good, having cash in the bank, being perceived as rich, famous and successful or just being famous. It's the most superficial part of the American dream and who would know better than me?"
-- MADONNA (news - web sites) in an interview with the British magazine Radio Times.

"This ruling also means that the labels and studios cannot ban 21st-century technology in defense of their inefficient and outmoded 20th-century distribution models.”

Friday, April 25, 2003

Hotmail - What it is today

Hotmail - A classic example of taking an easy to use and very functional product and turn it to an extremely slow and very unusable product, an anti-pattern to which the current owners of hotmail should take a patent on.

Tuesday, April 22, 2003

> Is there any limitation in number of characters per line?
No. Some application may however have it.

Saturday, April 19, 2003

Crime of the century?

Sunday, April 13, 2003

How to access MS Access database from JDBC?

private static final String accessDBURLPrefix
= "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
private static final String accessDBURLSuffix = ";DriverID=22;READONLY=false}";

// Initialize the JdbcOdbc Bridge Driver
static {
try {
} catch(ClassNotFoundException e) {
System.err.println("JdbcOdbc Bridge Driver not found!");

/** Creates a Connection to a Access Database */
public static Connection getAccessDBConnection(String filename) throws SQLException {
filename = filename.replace('\\', '/').trim();
String databaseURL = accessDBURLPrefix + filename + accessDBURLSuffix;
// System.err.println("Datebase URL: " + databaseURL);
return DriverManager.getConnection(databaseURL, "", "");

Sunday, April 06, 2003

DB4O Lesson

Assigning default values to object means you would have to unset those default values, if you are using the empty constructor. Otherwise no objects of the given type will be fetched, except for get(null).

Saturday, April 05, 2003

Interesting marketing jargon, couldn't find much research to support the tall claims. However te product does look very interesting, check out.

OpenSymphony - OSCache Overview
OSCache is the fastest, most comprehensive, stable, well-used J2EE caching system in existence.

Wednesday, April 02, 2003

To EJB, or not to EJB?

Tuesday, March 11, 2003

Right job for the right guy. Repetitive work is not my idea of work. So I gave it to someone who doesn't mind, maybe even enjoys a little as it gives him some security. And we are both happy :)

Saturday, February 22, 2003

XPloration with Angsuman from Taragana

This is the Power Point presentation I gave at Jadavpur University (for an IEEE Seminar) on 21 February 2003 on Exterme Programming.
Star Office, a free(as in free to use) software can help you view the file if you are on a non-windows platform, or even in windows if you don't use MS products.

Feedback! If you find any tip here useful let me know through Shout Out or email.

Wednesday, February 19, 2003

Note to Xp'ers: Yesterday I added a new feature to site because I felt I might need it someday. It wasn't XP as the customer didn't want it. However today I needed it very much and it is saving the customer!

Is this a scam for collecting personal information? Smells like it to me. Please let me know.

Dear Angsuman Chakraborty:

During our recent study of millions of senior business professionals,
you were noted for your exceptional reputation in your field and the
business community. Accordingly, we are pleased to notify you that you
were recommended to us as potentially qualified for selection into the
International Association of Business Leaders.

As an exclusive membership organization, the Association is open upon
invitation only. Our Membership Committee carefully researches and
reviews referrals from existing members and numerous professional
references to identify potential members, like you.

As a member of the International Association of Business Leaders, you
will be honored for your contributions as a leading business
professional and rewarded with the unique opportunity to share in direct
communications with the most important leaders in the business world
today. Your relationship with other exceptional professional men and
women who form and guide the Association will establish you in the
forefront of today's business world.

Your expertise, accomplishments, and commitment to excellence have
earned you a high degree of respect as a business professional and we
believe you deserve strong consideration for membership in this
prestigious organization.

To provide the Membership Committee with the most current and accurate
information prior to their deliberations, we ask all future members like
you to take a few moments to complete a membership biographical data

Please take the time to complete the biographical data form online or
print it ( and return
it to our Membership Committee via FAX (+1-252-637-2166) or
(+1-252-634-9959) before they begin their deliberations. We look
forward to having you join us as a member.

With sincere regards,

David J. Millush

P.S.-- For accuracy, we ask that you complete a data form not later than
February 13, 2003. Why not take a moment now before you get distracted
with other things? For more information, please visit our web site at:

Database Industry News/Promotions

Monday, February 17, 2003

Blogs of Note:

Saturday, February 15, 2003

1. Array good for index based retrieval
2. HashTable & HashMap good for random retrieval
3. HashMap not synchronized, HashTable synchronized, hence slower where synchronization is not required; HashMap requires external synchronization using Collections class, where synchronization is required
4. Vector like array, only resizable. Performance can be improved by estimating proper initial size
-----Original Message-----
From: Wach***
Sent: Friday, February 14, 2003 2:27 PM
Subject: need your suggestion...array vs. vector vs. hastable : what the pros and cons ?

In term of performance…

Thursday, February 13, 2003

Requirement: Create a Comparator for sorting based on different fields

Usage: Allow customers to sort by different columns of a data set.

cFirst = (Comparable) first.getClass().getField(cf).get(first);
cSecond = (Comparable) second.getClass().getField(cf).get(second);
return (corder.booleanValue())?cFirst.compareTo(cSecond):cSecond.compareTo(cFirst);

Tuesday, February 11, 2003

Optmization tip when accessing two different databases

I just optimized a JSP page which displays live userlist and other relevant information by accessing two tables in two different databases. It was talking 168 seconds on my 600mhz machine. Now it takes 3 seconds! Trick was to HashMap info from one table with lesser info and through the bigger tables and slower access database. Previously I was'ing through the faster one and fetching details from the slower one.

Saturday, February 08, 2003

Eight ways leaders change the world

  1. Understand the Distinctive needs of the NOW

  2. hear the cares and Aspirations of Others

  3. communicate Achievement Worth celebrating

  4. Be Confident in Yourself and Your people

  5. Be Seen as a person of the people

  6. Paint the Vision with the Palette of the people

  7. Symbolically set markers in time

  8. Model the way

Tuesday, February 04, 2003

Testing entity Beans with JUnit

Either use Mock Objects ( )or
(there are other options at ).

I prefer mock objects.

BTW: I am now working at Taragana -

-----Original Message-----
From: Sent: Tuesday, February 04, 2003 7:58 PM
To: angsuman@********.***
Subject: Junit Doubt

Hi Angusman,
Nice to make out that you are working in DoubleTwist.
But the raison d'être for this mail is your interest in Junit..
Searched out your name from

Myself a Java Developer, now working in a Chennai based company.

Do you mind explaining me, how can we use junit to test Entity beans.
More specifically I want to Junit test a method that accepts an
interface/entity bean [that can not be instantiated at the client side] as

Thanks in advance
S**** ******

Sunday, February 02, 2003

Kalpana Chawla

Wish my great regards to great daughter of India, Kalpana Chawla.
May she be the inspiration for all the women in India for generations to come.

Thursday, January 30, 2003

Oil War?

Why I am getting the feeling that a big bully is threatening the small kid in the class umm in world politics. Something like we need to beat this guy up, he is evil, ok so lets find some reason for it. Ummm... no reason, ok just say he is bad over and over and people will start believing it. This is hilarious, except that some poor people's life is in the line, to pay for the whims of the bully.

Monday, January 20, 2003

How to get PID in Java

-----Original Message-----
Sent: Sunday, January 19, 2003 11:32 AM
Subject: RE: [caljug] Getting Process IDS from a Java Application

I was just wondering if it was possible to get the pid's of all the running processes(something like ps
command in UNIX) from a Java application.
Umm.. PID's on MAC? No sure if they have them. PID is very ?n[i,u]x specific. Even though windows have them, it is not very widely used or advertised.
In any case you can always get a platform specific solutioon by exec'ing the corresponding "ps" or executing the API through JNI.
However if you are only interested in PID's of applications exec'ed by the Java app. then you use hashCode of the Process as PID, and kill the process based on PID by fetching the corresponding Process & destroy() on it. This is cross-platform. The PID's used here as you can see are unique only within the JVM. BTW: PID here is defined as the unique identifier for a process within a JVM, this is not the same as the PID generated by the OS. However they will still have a 1-1 relationship.

Thursday, January 16, 2003

Who reads these blogs anyways? People with lots of free time and no life? I don't read them normally, don't have time. Blog is like a diary for publicity concerned folks.

tomcat 4.1.12is buggy!
I use a file as a constants file, which is included by all pages. Now this file contains sections for local, staging & deployment. I use single line comments. The bug:the commented lines absorb the non commented lines along with it.

Monday, January 13, 2003

HSQLDB - My favorite for small lightweight and robust RDBMS with JDBC interface. Another reason for love? Database backup is trivially easy!
Observation for today: It absorbs OutOfMemory error and returns SQLException that it couldn't connect to the client for the call and subsequent ones.
BTW: Tomcat 4.1.12 is a memory hog, much more than previous versions.

Friday, January 10, 2003

My Blog Philosophy

My blogging philosphy has been to use the blog as a repository of tips, tricks, occassional commentary on any issue which catches my interest & sometimes experimenting with new/cool stuff :)

An interesting dilbertism on XP. Check out.

Thursday, January 09, 2003


Monday, January 06, 2003

"Certainly the wise person of self-knowledge, playing the game of worldly life, bears no resemblance whatever to the world's bewildered beasts of burden." - Astabakra, an Indian Sanyasin.

Friday, January 03, 2003

OODB - Recommendation

What is your recommended OODB? My current favorite is db4o.