Thứ Hai, 4 tháng 6, 2007

Windows Installer Issue: When Programs Refuse to Uninstall

Sometimes when you try to uninstall some software using the Add/Remove programs module in the control panel to free up disk space, the Windows Installer will ask you to specify the folder that contains the original installation files.

You will also face a similar problem when you are trying to install a new version of the software when a previous version already exists on the machine for which the installer files are no longer available. [the issue is specific to InstallShield Express]

In that case, you are likely to see the following error - "Another Version of this Product Is Already Installed. Installation of This Version Cannot Continue."

I faced this Windows Installer related problem very recently while trying to install Adobe Captivate 3 over an older version. I could not install Captivate 3 as I had deleted the previous installation files from my desktop.
Tried deleting the entries from registry editor and also the program files folder but nothing worked.

Then tried pointing the old installer to the new setup but that threw another error - "the installed product does not match the installation source(s). Until a matching source is provided or until the installed product and source are synchronized, this action can not be performed."

Finally, the following trick worked - extracted the files to a new folder and ran command at the DOS command prompt for force installation:

MsiExec.exe /I installer.msi REINSTALLMODE=voums REINSTALL=ALL

You will have to replace the installer.msi filename] Works like a charm. To be on the safe side, run the setup.exe again to repair/reinstall the installation.

Chủ Nhật, 3 tháng 6, 2007

Online Javascript Beautifier - Unreadable Source Code Demystified

Bookmarklets (like GMailThis, Tumblr, BlogThis!) are beautiful yet mysterious and very confusing.

Their source code is always scrambled (or obfuscated) - therefore people who even have some background in HTML and Javascript programming find it hard to analyze and understand the underlying logic or workflow.

For instance, the cryptic code that follows is a Tumblr Bookmarklet that will post a text snippet, image or video from your current webpage to Tumblr.

javascript:var d=document,w=window,e=w.getSelection,k=d.getSelection, x=d.selection, s=(e?e():(k)?k():(x?x.createRange().text:0)), f='http://www.tumblr.com/share',l=d.location, e=encodeURIComponent,p='?v=3&u='+e(l.href) +'&t='+e(d.title) +'&s='+e(s), u=f+p; try{if(!/^(.*\.)?tumblr[^.]*$/.test(l.host))throw(0); tstbklt();}catch(z) {a =function(){if(!w.open(u,'t','toolbar=0, resizable=0,status=1, width=450,height=430'))l.href=u;}; if(/Firefox/.test(navigator.userAgent)) setTimeout(a,0);else a();}void(0)

Now if we format or beautify the same code with proper indents, linebreaks and whitespaces, it would be more readable and make sense to most developers. See the same Tumble Bookmarklet code but reformatted:

javascript: var d = document,
w = window,
e = w.getSelection,
k = d.getSelection,
x = d.selection,
s = (e ? e(): (k) ? k(): (x ? x.createRange().text: 0)),
f = 'http://www.tumblr.com/share',
l = d.location,
e = encodeURIComponent,
p = '?v=3&u=' + e(l.href) + '&t=' + e(d.title) + '&s=' + e(s),
u = f + p;
try {
    if ( ! /^(.*\.)?tumblr[^.]*$/.test(l.host))
        throw(0);
    tstbklt();
}
..[snip]..
void(0)

This was done using the free online beautifier tool for javascript available at http://elfz.laacz.lv/beautify/? - it's an open source PHP script that you are free to use on your own server.

For formatting code written in PHP, CSS, etc, you may try the prettyprinter.de/ - similar to Javascript beautifier but gives more options for formatting the output.

Thứ Sáu, 1 tháng 6, 2007

Make GMail the Default EMail Client in Firefox

Vamsi Kiran is using Firefox as his default web browser but when he clicks some email hyperlink (mailto:) on the web, IE opens up with the Yahoo! Mail homepage.

Vamsi would like to see the GMail compose window open up inside Firefox (not Internet Explorer) when he clicks any email hyperlink on web pages.

Download the free Google Talk chat application and open the options dialog. You'll see a general setting that says "Open GMail When I click on Email Links" - select that and exit.

This will set Gmail as your default mailto: handler. This means that when you click on any hyperlinked email address, a Gmail compose window will open in your default web browser. The To: address field will be prepopulated with email address.

This trick works if you are in IE - the GMail compose window would open inside Firefox. To make this work inside Firfox, implement this small change:


1. Type about:config in the address bar.
2. Type mailto: and hit enter.
3. You'll see a setting called network.protocol-handler.external.mailto that is set to false. Double click it to toggle the value to true.

Related reading: Replace Outlook with GMail, GMail This! Bookmarklet

How to Send Spam Using Google Alerts

Spammers have found a very simple way to trick GMail spam filters - they use Google News Alerts.

It is quite easy send spam mail using the Google Alerts service:

Goto google.com/alerts and type your (spam) message text inside the alert box. The message can be upto 256 characters long and you may also include URLs.

Enter the email address of the person you wish to spam and hit "create alert" -  GMail will never mark this message as spam even if contains words like viagra pills because it originated from a valid and known email address - googlealerts-noreply@google.com

And there's little use marking this message as Spam since the "from" address in the Google Alerts Confirmation email is owned by Google itself and therefore your "Report Spam" action is unlikely to have any effect.

If someone is new to Google Alerts, he may easily fall in the trap and click the URL which could lead him to malicious websites.

Either Google should disallow URLs in the alert text (like they do in YouTube comments) or format it in such a manner that it stays as plain text (non clickable).

Feeling Lucky ? Download Google Wallpapers for your Desktop

Some beautiful wallpaper backgrounds for Google fans:  [Resolution: 1024x768]

google wallpaper black google wallpaper white

Addition Wallpaper Resources:

   Desktop Wallpapers for Widescreen Monitors

   Vista Wallpaper Background Set

   Adobe Creative Suite Wallpapers [all sizes]

   Turn Microsoft Outlook into a Desktop Wallpaper

Search Flickr Photos & Download them in a Batch

Flickr provides an excellent picture search engine but the question is - what do you with images that appear in Flickr picture search results ?

Enter FlickrStorm Photo search, an online Flickr search tool packed with some extremely useful features that also has the answer to the previous question.

google wallpaper

When you perform a search on FlickrStorm, pictures appearing in the search results can be added (via drag-n-drop) to a virtual picture tray (similar to Picasa desktop software).

Every picture tray has a unique public URL that you can share on blogs or over email. If you want to save all the selected Flickr photos offline, open the URL and use the File->Save As command of the browser - all pictures will download to your hard disk in one go.

FlickrStorm also maintains a history of pictures that you have clicked on while navigating the search results - no more clicking the back and forward button on the web browser - everything is there in the history bar.

Flickr Storm - Search on Flickr with some Magic

More Flickr Goodies » FlickrCash Search, Download Flickr Images in a Batch, Flickr Leech

Orkut now a Feed Reader; RSS Acceptance Will Grow

Google had added basic feed reading capabilities inside Orkut. You can type in the RSS feed address and read the posts without leaving Orkut.

rss orkut

Your favorite RSS feeds will show up in your profile and hence other Orkut friends can easily subscribe to your reading list.

Orkut has a huge base and this could be another big step in introducing RSS to the masses - people who have never heard of "feeds" will be curious to learn about the technology when they see a "feeds" link on their profile pages. Anand has a similar opinion.

Orkut feed reader may also serve as a cache when the original post is deleted by the blogger. Here's what the Orkut Feeds Help says:

If you Once a feed has been crawled, the content cannot be deleted from orkut. For example, last week you wrote a blog post that was crawled by orkut's feed reader and appeared in your profile. If you delete the post today, it will still show up as part of your orkut feed.

Facebook also has a similar RSSBook application.

Join me on Orkut | DI Community on Orkut