Wednesday, March 30, 2005

A tip to get rid of ads!

One thing everyone of us would agree is that the pop-ups/ads are annoying. Its even more annoying if there are too many ads on your favourite web portal. There is a hack to it!

Lets say you like http:/// but you dont like to see their annoying ads. The idea is to find their ad-server. Major portal have separate ad servers which they use to display their ads. For example sify has as their ad server. If we are able to block our browser request to these ad servers there will be no ads to the browser!

So what I did was to simply edit the C:\windows\system32\drivers\etc\hosts file using notepad and add the following entry:

Now, is mapped to loopback address so your browser would fail making a request and you wont see an ad. To find out the ad server you want to block visit the portal right-click on an image and you can find the domain!

Thursday, March 24, 2005

AOL, Yahoo, MSN and Google -- few years later - some predictions?

We all know that Yahoo, AOL, MSN and Google are competing with each other in providing individual web based services including IM, e-mail, calendar, maps, search, video conferencing, virtual meetings, collaborative video etc. The services they provide are targeted towards individual web users (including tech savvy and novice users). A novice computer user needs all these services with a word processor and a spreadsheet program. It would be no surprise if these companies are already investigating to build an online office suite.

Presently, these companies are letting us get accustomed to these services to help them test their products. There is nothing free in this world and once these services are completely developed, we will be made to pay. Some people call this foot-in-the-door marketing.

In about 3-5 years from now, a visit to one of these portals will require authentication which itself can be a retinal scan. They will provide ample storage space and tools to seamlessly share your documents/pictures/music/movie and folders. The other cool features could be high-resolution video conferencing, virtual meetings, collaborative applications etc. With the spread of high-speed networks and innovation in client/server-side technologies the performance of these portals will enhance tremendously and give an desktop like user experience.

Technology is the key to achieve the above mentioned user experience. Technically speaking user-experience is an aspect of client-side computing. In the recent past there had been great innovations in server-side and middleware technologies, but little has be done to improve client-side. But its very clear that presently the industry is focused on Avalon XAML, Ajax and similar technologies which utilize the client to achieve greater user experience. These technologies are in their initial stages and would take couple of years to get matured. I am sure thre are going to be some common frameworks built for Ajax and there by writing DHTML code by hand would become a thing of the past. Lets wait and see how things shape up in reality!

Wednesday, March 23, 2005

greasemonkey -- firefox extension

greasymonkey is a cool firefox extension making your FireFox browser more smarter! The extension lets you add "user scripts" (DHTML scripts) by which you can bring more dynamic features to your website. The extension now ships with two such scripts one of which would recognize valid links and make them hyperlinks in a page. The other script "ununderline" would remove underlines from pages and italize them so that they dont anymore look like hyperlinks!

IBM releases spam fighter!

Yesterday, IBM released FairUCE (which stands for "Fair use of Unsolicited Commercial Email") which filters spam by verifying sender identity instead of filtering content. The difference between this and existing technologies in fighting spam is that FairUCE doesnt look at the content of the mail but looks at who sends it and their reputation. It doesnt stop by filtering the email but also tries to attack the spammers by sending the spam back to smmers! Quite agressive!

IBM reports that the technology is not end-user ready but admin's can paly with it. It available for download from alphaWorks!.

Monday, March 21, 2005

Networking - made easy!

If you have a small windows network at home/small office then you might want to have a click here. Network Magic from PureNetworks is a cool tool to maintain your home network.

Friday, March 18, 2005

Shift of approach in developing web applications

By now I am sure that you must have visited Google maps, if not have a click here. To me it was a fascinating experience to lookup for maps using Google. As a web developer I wondered how one could be make the user experience so interactive that it seemed almost like an application installed in my desktop. The ease with which you could move around the map just amazed me. My quest for the secret behind this experience made me do few “google” for the technology behind this, which revealed something called Ajax (Asynchronous JavaScript + XML ). Ajax is a concept that incorporates XHTML/CSS, DOM, XML and XSLT, XmlHttpRequest and JavaScript.

We all know how the web works. The client makes the request and the server processes the request and sends its response back. So there is a significant time for the response to reach the client (which includes time for request to reach server+processing_time+time for response to reach client). Ajax is an engine written usually in JavaScript that resides in the client side and is responsible for rendering the user interface by separating it from the client/server communication. It does both of them in an asynchronous fashion and hence the user will never have to wonder if the globe is spinning! The idea is redirect every user action which would make a HTTP request to the Ajax engine instead. The engine sees if it can handle the request without sending it across and if it can’t it then makes request asynchronously using XML to the server without stalling user’s interaction with application.

The websites that implement Ajax are from Google. They are orkut, Google Suggest, Gmail. I played with Google Suggest to find out how they have built. I am presenting what I learnt:

The Ajax engine as discussed is implemented as a JavaScript file called ac.js. The source can be obtained from here. The code is obfuscated and so reading it is not obvious. The requirement for Google Suggest is straightforward and so looks the implementation. As the user types something, suggestions have to be obtained from server and are to be presented to the user. The Ajax engine (JavaScript) handles the onkeydown event of the search textbox and grabs the content of the textbox and sends a request for suggestion to the server using:

This request would return a result like this:
sendRPCDone(frameElement, "google", new Array("google", "", "google toolbar", "google maps", "google scholar", "google mail", "google images", "google tool bar", "google map", "google uk"), new Array("155,000,000 results", "1 result", "3,170,000 results", "6,890,000 results", "2,210,000 results", "20,600,000 results", "21,500,000 results", "3,460,000 results", "10,500,000 results", "16,300,000 results"), new Array(""));

What has happend is that the server has processed the request and has sent a response back to the client. Here the Ajax engine (function qc(ac)) is responsible for sending the request and handling the response. Once the response is received it refreshs the view.

Its just amazing to see how some primitive time tested technologies if used in a certain combination could make the line between the thin and thick client so thin!


Google for Developers

Its cool..

Tuesday, March 15, 2005

HTTP Monitor for IE

As a web developer one would always want to use monitor the request made by the client at some point probably for debugging or testing for performance etc. I found this tool and is pretty good. The only restriction I found is that it only supports Internet Explorer.

Wednesday, March 09, 2005

A peek at EJB3

We all are tired of building the EJBs the way in which we are building today. Construct Home/Remote Interface, extend xxBean etc. Here comes EJB3 to make your life simpler and make Java code in the way it was intended to be built. It uses simple POJO programming model to achieve object/relational persistence by making all the artifacts necessary to build the beans being put in place as annotations within the class. Its based on Hibernate it seems

Monday, March 07, 2005

Google Weather is right here!

Google Weather...

weather bronx,ny


weather 10463

The graphics are really cool...

Google Desktop Search -- Improved!

Google released its new version of desktop search which now gives the ability to search inside PDF, DOC, XLS etc. Also its possible to write our own plugin... now you could write a plugin and search any format you want.. sounds cool..

Click here

Saturday, March 05, 2005

Web Developers/Designers - How to validate a HTML page for standards?

In common-sense (not business-sense, ofcourse in business world its making quick and dirty work) a good web page is one which complies with w3c html spec. In order to validate your webpage against w3c spec click here

I tried testing,,, against the validator... Ofcourse, none of them passed the test! If you can show me page which complies I would be more than happy to note that.

Open Source for Windows

OSSwin is one of the best online resource for free Windows based software I have ever stumbled upon... Its worth bookmarking

Being PCAware

I am sure you must have heard a lot of these jargon spyware,virus,malware,adware etc. I am sure many of us doesn't know what these exactly mean...

Spyware is a jargon used for denoting advertisement supported software. Once if it finds the way into your system in the form of AcitveX control or so-called "shareware/freeware" software it continuously opens annoying popup windows.

If you would like to protect yourself from these then install only trusted applications and ActiveX controls. When you are busy browsing you will see notifications with "Install" warning, make sure you know what you are installing.

Spyware is essentially a form of adware which not only brings up pop-up ads but also continuously monitors and sends your PC activity to some remote server and effectively hijacking your privacy.

Trojan Horses:
Trojan Horses are the most vulnerable programs which opens-up your computers to bad hackers who effectively take control of your PC (ofcourse they would make sure your machine is rendered unusable).

Malware is the term used to denote spyware, adware, trojan horses, worms, hijack scripts, bad JavaScript, bad webserver scripts etc

These are relatively new form of threat. Once spyware/torjan horses gets installed in a computer it can create dialers or change phone number of your dialers to high premium rate numbers and resulting in high phone bills.

In Phishing, fraudulent websites are designed to deceit users to extract sensitive information including credit card, social security numbers etc. In order to attract traffic to their websites they use spoofed emails and indirect weblinks. So beware!

Pharming is another "flavor" of phishing to deceit users they steal the identity of popular institutions like banks, online retailers, etc.

How to protect your self?

Click Here

Friday, March 04, 2005

Netscape 8 Beta

Netscape 8 looks really cool.. No more that "slow" browsing... Some highlights are..

* Ability to check all your personal mails (Gmail,Hotmail,Lycos,Y!) in single click
* Optional auto-login to websites
* IE Engine/Netscape engine for page rendering
* etc.

are some of cool features that I like...

Thursday, March 03, 2005

Wednesday, March 02, 2005

Google Toolbar Beta 3

Google Toolbar Beta 3 is available download.

I just love the Auto Link feature. It just rocks!

Download it here

Tuesday, March 01, 2005

Unicode (or non ISO-8859-1) encoding and text fields in "mulitpart/form-data" form

Today, I was hunting for a bug where the form enctype="multipart/form-data" (typically used for "uploading" files from browser). I had couple of text fields in this form. With little research I found that the IE always encodes a "multipart/form-data" as ISO-8859-1 even though your pageEncoding may be UTF-8 (or anything else) for that matter.

There is a Struts bug posted here and it has some workarounds (not staright-forward though).

The definite way to make it work is to extend ActionServlet. Click here for a tutorial on extending action servlet.

And the overriding this method:
protected void process(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{
}catch(Exception ex){


This should do the job

Disqus for techtalk