Let’s Digg into Google Maps

The Web would not be so simpler and interactive without Ajax. This technology makes Web applications pleasant, interactive, quick responsive and light weight. Take any of the online map applications, no matter whether it is Yahoo Maps, Google Maps or Windows Live Local, and you will find awesome precession, cutting edge technology (beyond DHTML, XML and JavaScript) well managed data. Being software developer, these always attract me and I want to understand the scene behind those best software architectures/implementations. Over the last few days I was studying (hacking) Google maps and wanted to see how it works? Here are my investigations.

Tiles: The very first observation is – not whole map is fetched at once. Instead the entire map is divided into tiles and a series of Ajax requests are fired to retrieve some part of the actually map. As soon as a tile is fetched it is displayed at its position. Their position is well calculated no matter user drags the maps while requests are on the way. The benefit here is, the user interface remains responsive and it makes user eager to analyze an area of map as soon as it’s available.

Pune-Google-Map.jpg
(more…)

My Online Presence

Hi,

I’m {PREF=”ID=cfd6bd57439bc4a9:TM=1205732323:LM=1205732323:S=tT1f1NaLxjumQJbv”}. I’m a regular Internet surfer. On an average I’m online for more than 8 hours a day and that makes me to think of a new phrase - ‘my online presence’, and somewhere it may hurt my privacy.

In Web 2.0 big companies are competing to gain as much as information about Internet users that they can show targeted contents especially ads.

The game players have already begun their game. They know about what web pages I visit, they know my friends, they know what I prefer to buy online, then know which newspaper I read frequently, which mail account I use frequently, what do I search every day, what videos I watch online, where do I live, how much time I spend on Internet, what types of ads made me to click. They have my all photographs, my daily calendar/schedule, my mails (may be your credit card statements in form of emails), and all my chat conversations. They even know what music I listen, my attitude, my behavior, and even what I’m doing currently.

They say it’s all automatic, machines (computers) read and process information giving you personalized service and there is no human interference. But reality may be different. Is all that these sufficient to protect your privacy?

Here is a bigger fear, giving all of your information in the hands on one single body! A single mistake in handling such massive information can lead to world’s biggest controversy in user’s privacy.

In short, I don’t want anybody to know the fact that the wristwatch I have given to my girl-friend for her last birthday was of just 100 bucks!

- ankit

Proud to write that ppl can Copy

2-3 Years back I have written a script to write Hindi in an effective way. Here is the Online Hindi Writing Tool. And here are few sites who have copied my Hindi writing script :( .

  1. http://www.cse.iitb.ac.in/~ashishchandra/hindi
  2. http://khattarkaka.tripod.com/
  3. http://hindipatrikaworld.tripod.com/
  4. http://raviratlami.googlepages.com/ Remington-Krutidev-Online-Hindi-Easy-Editor.htm
  5. http://www.hungamamasti.com/hindi.htm

Thankx to those who gave me back link, and a kind request to others :)
The worst thing here is, though they have copied content, they stick their (C) copyright message !!!

- Ankit

[Edited on Jan 27, 2007]

People who recommends this tool:

  1. http://www.akshargram.com/sarvagya/index.php/How_to_Type_in_Hindi
  2. http://sushilbasista.stumbleupon.com/tag/hindi/ , http://artist.stumbleupon.com/tag/hindi/

Damn Yahoo Toolbar!

Damn Yahoo! Damn his Toolbar!

What I did?

I just upgraded Yahoo messenger 8.1 as requested by software

What it did?

It installed yahoo toolbar without asking
It set Yahoo.com as homepage without asking, it didn’t honored my existing homepage
It modified my preferences without asking.

Even a lot of people are complaining about the same DAMN toolbar. Here are a few:

http://wildrun.blogspot.com/2006/12/how-do-i-get-this-bleeping-yahoo.html
http://blog.forret.com/2006/10/yahoo-toolbar-is-misbehaving/

The approach yahoo is choosing to publicize its tool is against software distridution laws and should be condemned. What say?

Ajax Tutorial Series

Want to learn Ajax from scratch? Here is a series of tutorials for you.

Mastering Ajax, Part 7: Using XML in requests and responses
Brett McLaughlin demonstrates how you can use XML as the data format for sending asynchronous requests.
Mastering Ajax, Part 6: Build DOM-based Web applications
Continue to explore how DOM programming fits into interactive Ajax applications as Brett McLaughlin completes his trilogy of articles on DOM programming with a DOM application in practice.
Mastering Ajax, Part 5: Manipulate the DOM
Last month Brett introduced the Document Object Model, whose elements work behind the scenes to define your Web pages. This month he dives even deeper into the DOM. Learn how to create, remove, and change the parts of a DOM tree, and take the next step toward updating your Web pages on the fly!
Mastering Ajax, Part 4: Exploiting DOM for Web response
The great divide between programmers (who work with back-end applications) and Web programmers (who spend their time writing HTML, CSS, and JavaScript) is long standing. However, the Document Object Model (DOM) bridges the chasm and makes working with both XML on the back end and HTML on the front end possible and an effective tool. In this article, Brett McLaughlin introduces the Document Object Model, explains its use in Web pages, and starts to explore its usage from JavaScript.
Mastering Ajax, Part 3: Advanced requests and responses in Ajax
For many Web developers, making simple requests and receiving simple responses is all they’ll ever need, but for developers who want to master Ajax, a complete understanding of HTTP status codes, ready states, and the XMLHttpRequest object is required. In this article, Brett McLaughlin will show you the different status codes and demonstrate how browsers handle each and he will showcase the lesser-used HTTP requests that you can make with Ajax.
Mastering Ajax, Part 2: Make asynchronous requests with JavaScript and Ajax
Most Web applications use a request/response model that gets an entire HTML page from the server. The result is a back-and-forth that usually involves clicking a button, waiting for the server, clicking another button, and then waiting some more. With Ajax and the XMLHttpRequest object, you can use a request/response model that never leaves users waiting for a server to respond. In this article, Brett McLaughlin shows you how to create XMLHttpRequest instances in a cross-browser way, construct and send requests, and respond to the server.
Mastering Ajax, Part 1: Introduction to Ajax
Ajax, which consists of HTML, JavaScript, DHTML, and DOM, is an outstanding approach that helps you transform clunky Web interfaces into interactive Ajax applications. The author, an Ajax expert, demonstrates how these technologies work together — from an overview to a detailed look — to make extremely efficient Web development an easy reality. He also unveils the central concepts of Ajax, including the XMLHttpRequest object.

~ Ankit

[Edited on March 20, 2007:

One more classsic tutorial for Ajax basics: http://www.harrymaugans.com/2007/03/18/tutorial-ajax-made-easy/

]

IE extensions/add-on – the simplest way (context menu)

I love writing extensions for applications and filling gaps in between making the world simpler (interacting with each other, giving users flexibility in switching from one application to another.) The power of any application (especially Internet Browsers) lies in how features enriched it is. One of the way to achieve this is to lay down extensible architecture and promote developers to write extensions for you application. Moreover such architecture should provide

  • the simplest method to write an extension in few seconds (“hello world” example)
  • more flexible in term of autonomy to developer for by exposing a rich set of API, that they can code almost everything,
  • and the last, limiting them touching sensible data of user.

Well, the power of FireFox lies in more than thousands of extensions that it provides. This could also have been for Internet Explorer, if Microsoft has provided detailed documentation and samples for Internet Explorer when they released IE 5. Over the years Microsoft had always concentrated on the Web development front of IE, not on the extensibility part of it even though providing great ways to extend.

Let’s go through Internet Explorer for writing the simplest extension in just 5 minutes. So, what we want to do? Here I;m showing how to access Html DOM and change it on the fly. All you need to know is simple JavaScript and basic programming concepts. Here are the steps on MSDN that details adding a context menu to Internet Explorer.

(more…)

Orkut Blocked! ^ No Worries!

Orkut lovers,

Is Orkut Blocked in your organization/network, No worries…. here are some hacks:

  1. Try https://orkut.com
  2. Else, try https://images.orkut.com
  3. Else, try https://images3.orkut.com
  4. Else, use any of the following anonymous web proxies, means virtual browser.

 

Well, if you are using images.orkut.com, it won’t show you images. You might need (if you really want) a plug-in, IE-Orkut.zip, to fix the same. Download and install IESetup.msi, Open IE, and logon to https://images.orkut.com, right click within the browser and say ‘Fix Orkut’. Probably it will display few security warnings (because of certificate error), just ignore all those by clicking Yes.

~ Ankit
[Never surf Internet, feel it]

[ Edit By Ankit on 30th Sept 2006: Hack to an Hack !

Well, basically the setup just copies some files to Windows\System32 folder. One of it is FixOrkut.html. Open this file in any text editor and replace “images.orkut.com” with “orkut.com” in the first “if” condition, to make it working for https://www.orkut.com also. Read more at Writing Extensions for Internet Explorer ]

[Here are some anonymous proxy websites. Try them out. I guess for few of them this will work.

http://concealmy.info, http://proxyindex.com, http://underfirewall.com, http://hugeproxy.com, http://proxyfree.org, http://unblockweb.com, http://proxy80.com, http://slickproxy.com, http://goproxing.com, http://modernproxy.com, http://proxylord.com, http://japanproxy.com, http://ehobo.com, http://atunnel.com, http://proxoid.com, http://blockbegone.com, http://proxyline.us, http://proxyweb.net, http://antifw.tk, http://usa.mygr8.info, http://proxsafe.net, http://proxytips.com, http://backfox.com, http://shoutproxy.com, http://unblockthis.com, http://daveproxy.co.uk, http://stealthclick.com, http://myproxy.ca, http://dejacey.com,
http://proxyspy.com, http://netsack.net, http://cloakme.net, http://7eth.com, http://proxycover.net, http://proxynanny.com, http://rockproxy.com, http://proxymummy.com, proxy.tl, letmepast.com, myinternetproxy.com, seekproxy.com, proxcloak.com, proxxed.net, myspaceproxyy.com, http.ws, arandomproxy.com, dunkindonuts.be, blockstop.net, buzzysplat.com, pureprivacy.com, proxyhttps.com, bombproxy.com, fullyproxy.com, pruxxy.com, getaroundfilters.com, sneakyuser.com, ipdefend.com, proxydown.com, proxydrop.com, pipeproxy.com, spysurfing.com, yourportal.us, pruxxy.com, pimpmyip.com, killerproxy.com, anonasurf.com, proxyzap.com, snoopblock.com, afreefunkoxy.com, foxyproxy.net, officeproxy.net, provacy.com, proxy.icarusindie.com:2004, proxylife.com, surfonsteroids.com, w00tage.com, jcz.net, browsefrom.com, dirtyproxy.com, proxace.com, illegalproxy.com, proxyflux.com, roboproxy.com, v3proxy.com, privprox.com, ninjaproxy.com, jiggyproxy.com, webwarper.net, zeroproxy.com, proxytheweb.com, blockmenot.com, proxydevil.com, angryproxy.com, proxee.net, etproxy.com, firewalldown.com, proxybum.com, cdweb.info, proxyvibe.com, boxofprox.com, blockmenot.co.uk, prooxle.com, guardster.com, nevercaught.com, shipproxy.com, fullyproxy.com, gopast.net, proxytiger.com, hideus.com, bypasslive.com, grandproxy.com
]

Windows Live Local

If you are looking for maps and routs in india, land to Live.com

Route from Ahmedabad to Pune

End of Internet

Here is the end of Internet.

Custom Search extension for IE7

Open registry editor and add a new key under

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes\

This is the place from where IE7 (Microsoft Internet Explorer 7) builds search engine details. Now the things are obvious, add two string values named “DisplayName” & “URL”. For example if you want to add a Google Blog search, use URL as http://www.blogsearch.google.com/blogsearch?q={searchTerms}

Here {searchTerm} is the string appeared in the search text box.

(more…)

Forcing Download on Web page

Here I’m explaining how to create a webpage that offers download on button click event, instead of showing a direct link to the download file. The following C# piece of code when inserted in button click event on ASP.net web page, gives you an effect of dynamic download, hiding download URL.

HTTP requests and responses travel along with lot of headers, just like meta-data for the request/response. Here is the list of some of them, Response Headers. Following example makes use of them. The method implemented here is just for the sake of example, and not to be used on Web Servers. Problem here is we are reading one byte, writing to response and flushing the response again-n-again. Here for every single byte, a packet is created and sent to the client, creating packet flood! Using a buffer of at least 1000 bytes before flushing is recommended.

Response.Clear();
String fileNameToSend = “downloadTest.txt”;

//Make sure following file exists and it’s size is less than 2KB.
FileInfo file = new FileInfo( “C:test.txt” );
String value = “attachment; filename=”" + fileNameToSend + “”";
Response.ContentType = “application/octet-stream” ;
Response.AddHeader(“Content-length: “, file.Length.ToString());
Response.AddHeader(“Content-Disposition”, value );
FileStream fs = null ;
try {
   fs = File.OpenRead(“C:test.txt”);
   BinaryReader br = new BinaryReader(fs);
   while (true)
   {
       // EOF exception to exit loop, not a good way!
       Response.Write((char)br.ReadByte());
       System.Threading.Thread.Sleep(5);
       Response.Flush();
   }
}
catch {}
finally
{
   if (fs != null )
      fs.Close();
}
Response.End();

What more you can do with this?

  • allow users to download only one file at a time,
  • limit bandwidth for specific users, etc.

~ ankit

IE7

The most awaited IE7 is now available for beta 2 evaluation with some great features as follows:

o    Tabbed browsing
o    RSS feed manager
o    Advanced print previews
o    Dynamic security protection
o    Web test recorders
o    IE DOM explorer to explore HTML source in tree view

 

IE7 Look & Feel
 

 

Multiple Webpages at one glance  
[On clicking 4Square button near tablist] 

 

At the first glance you won’t love it, but as you use it, you will… Main menu is now auto-hidden to increase visible area. More ever you can download DevToolBar having great features for debugging and content control. Read more about IE at IEBlog.

Still this realese is not stable as what I have experienced (some times it crashed).

Microsoft is in action releasing Visual Studio 2005 & SQL Server 2005, Windows Vista beta, IE7 Beta, Office 12/2007 beta…

~ Ankit 

Free Web Hosting : Without Ads

Hey, I found some free hosting providers with unlimited bandwidth, subdomain, 200MB space, no limitation, full FTP Access with FXP Support, latest stable PHP (4.4.1) with GD library and Zend Optimizer, MySQL Support (Latest Stable Version-4.0.26), SSI Support (Server Side Includes) and all of these without showing ads/advertizements.

Check out : 275MB.com , 95MB.com and ORG FREE

~ Ankit

Google Transit

Again……. they are not satisfied with Google Maps, Google Local, …. and came up with some thing new Google Transit

One of the best things about working at Google is a policy known as "20 percent time," which you can read about on our jobs page or in this post. Having the freedom to pursue projects during 20 percent of our work week means engineers can pursue a breadth of unique and interesting ideas without having to wait for anyone else.

Souce: Google Blogs

They have experimented on locale travel policies and launched a tool by which commuters can easily access schedule of public tranasport and plan their short trips and save money and time as they provide you cost of driving. Currently they only offer transit planning for the city of Portland.

And ofcourse we indians have to wait for these great services from Google.

~ Ankit
~ Enjoy Internet, N-joy Google !

Google Earth : Pune

Recently, on 2nd December’05, GoogleEarth/Keyhole has released new satellite pictures of various cities worldwide and Pune, Bangalore, Hyderabad are some of in India.

These pictures are updated/improved having high resolution of 0.7m data for these cities. Following is the aerial view of Bhageerath, Persistent Sys Pvt Ltd (PSPL), Pune [green oval].

 

Bhageerath, Persistent
[Bhageerath/Bhagiratha, Persistent’s Corporate office]

Really… awesome… See the clarity.

Find more interesting points of Pune at GoogleEarth community.

~ Ankit