Joe White's Blog Life, .NET, and cats

Google Desktop Search #.NET #Delphi #Life

Believe it. Use Google to search your own computer.

Bonus points for letting you search through Web pages you've visited recently, and better yet, for including thumbnails of the pages. They'll get even more bonus points if "recently" turns out to mean "within the past six or eight months", because that's typically when I want to find something again and can't remember how to get there.

And how the heck do they show hits from your local computer right there on a results page from www.google.com? (There's a screenshot at the very bottom of this page.) That's absolutely wild.

How the heck do they even know that you have Google Desktop installed? When you install it and then go to www.google.com, they automatically add "Desktop" to their list of services across the top of the page. And it's a link directly to the service running on 127.0.0.1. How do they do that? They don't alter your user-agent string (I checked that already). I have to assume that they tweak your browser cookie somehow, but I looked at my cookie for google.com and I didn't see anything obvious. (Doesn't mean it isn't there; their cookie is a bit cryptic.)

But... the downside of this otherwise-cool tool. Points off for not letting me specify which file types to index. I want to Google through all the source code on my hard drive, dammit! It's just text files with a different extension. Why can't they let me specify file masks? (Heck, why can't they run a heuristic to determine that something looks like a text file, and parse it regardless of the extension?)

Odd. Their Help site claims that, even if they don't know how to read a file type, they'll usually at least put the filename into their index. But that doesn't appear to happen for .pas files.

I already submitted feedback suggesting that they let me specify file masks, or, alternatively, that they build in support for *.pas, *.dfm, *.inc, *.dpr, *.dpk, and *.cs. Googling through source would be a cool thing.

You know what would be even cooler, though? If they provided an API so that you could write a DLL that they call when they want to read a file. And if this DLL could give them all the searchable words from a file, and note which ones are most important. Then find somebody smart enough to write Delphi and C# language parsers that can talk to this API. (And decompilers that can talk to the API, for that matter. Imagine Googling through the .NET Library source!)

Just imagine: you type in the name of a class, and Google instantly pops up all your source files that use that class, with the unit containing the class declaration appearing at the top as "most relevant". Now, that would be sweet.

All that'd be left then would be Google Brain Search.