<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;D0ADQXk5fSp7ImA9WhRaE0o.&quot;"><id>tag:blogger.com,1999:blog-24632729</id><updated>2012-02-16T12:32:50.725+05:30</updated><category term="meta" /><category term="dissert" /><category term="software" /><category term="tips" /><category term="internet" /><title>Keymark</title><subtitle type="html">Scribe of digital ink</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://keymark.blogspot.com/" /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/keymark" /><feedburner:info uri="keymark" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DU4CR3k4cSp7ImA9WxBXEk8.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-643926633458702768</id><published>2010-01-23T11:55:00.000+05:30</published><updated>2010-01-23T11:56:06.739+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-23T11:56:06.739+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="internet" /><title>Ways of connecting to google talk</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Google talk allows plenty of ways to access it over net. Google has made available multiple web interfaces. It is based on XMPP protocol which allows standard complient clients to to access it using XMPP. Listed in following text are ways of connecting to it.&lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;Through Gmail&lt;br/&gt;Google talk in gmail is most feature-rich way of accessing gtalk. It allows intergration with AOL messenger. &lt;br/&gt;&lt;/li&gt;&lt;li&gt;Talk Gadget&lt;br/&gt;Google's web interface to gtalk comes in AJAX (&lt;a href='http://talkgadget.google.com/talkgadget/m' target='_blank'&gt;http://talkgadget.google.com/talkgadget/m&lt;/a&gt;) and flash(&lt;a href='http://talkgadget.google.com/talkgadget/popout' target='_blank'&gt;http://talkgadget.google.com/talkgadget/popout&lt;/a&gt;) flavor. This interface does not support AOL messenger.&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Talk Gadget Integration&lt;br/&gt;Talk Gadget is integrated in many google properties such as iGoogle and orkut. On sites like orkut it connects to not only gtalk buddies but also orkut friends. &lt;br/&gt;&lt;/li&gt;&lt;li&gt;XMPP (Jabber) client&lt;br/&gt;Google talk is based on Jabber or XMPP protocol. This allows any client supporting this open protocol to access gtalk. There are many such clients e.g. pidgin.  Some of these clients also allow adding transports which are agents for connecting to other messenging services such as msn, yahoo aol etc.&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Third party sites&lt;br/&gt;Many web sites allow web-based acess to XMPP servers. Examples are JWchat.org, meebo.com, imo.im and ebuddy.com. They are convinient as no client software is required other then browser. Some of them have mobile sites to allow access on mobile also. &lt;/li&gt;&lt;/ul&gt;The options for connecting to gtalk are many. Support of open protocol XMPP makes it more easily accessible and interoperable. &lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-643926633458702768?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/643926633458702768/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2010/01/ways-of-connecting-to-google-talk.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/643926633458702768?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/643926633458702768?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/4dCIJ5yMD0w/ways-of-connecting-to-google-talk.html" title="Ways of connecting to google talk" /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2010/01/ways-of-connecting-to-google-talk.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkACRHw_fSp7ImA9WxBXEUo.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-3833391722744588504</id><published>2010-01-22T19:59:00.001+05:30</published><updated>2010-01-22T20:02:45.245+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-22T20:02:45.245+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="internet" /><title>Ways of accessing gmail on mobile and desktop</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Gmail is one of the most flexible email services in the cloud when it comes to options to access it. There are many ways to login to gmail from various systems. Here we enlist options provided by gmail when it comes to reading or sending emails.&lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;Standard Interface:&lt;br/&gt;The default interface at &lt;a target='_blank' href='http://mail.google.com/mail'&gt;http://mail.google.com/mail&lt;/a&gt; is an AJAX interface which has access to all the features of gmail.&lt;/li&gt;&lt;li&gt;HTML Interface:&lt;br/&gt;accessible at &lt;a target='_blank' href='http://mail.google.com/mail/h/'&gt;http://mail.google.com/mail/h/&lt;/a&gt; is lighter version gmail interface which is useful on low-bandwidth connections and on browsers not supported by standard interface. It is vary fast to load and layout is suitable for desktop interface.&lt;/li&gt;&lt;li&gt;Mobile interface:&lt;br/&gt;available at &lt;a target='_blank' href='http://mail.google.com/mail/x/'&gt;http://mail.google.com/mail/x/&lt;/a&gt; is another light version of gmail interface. It is optimized for mobile access.&lt;/li&gt;&lt;li&gt;Desktop IMAP/POP clients:&lt;br/&gt;You can also use mail clients like thunderbird or outlook to access email using POP/IMAP protocol supported by these clients and send mail using SMTP. Many mobiles also have applications for POP/IMAP. &lt;br/&gt;&lt;/li&gt;&lt;li&gt;Web interfaces of IMAP clients:&lt;br/&gt;Third party websites like &lt;a target='_blank' href='http://mail2web.com'&gt;http://mail2web.com&lt;/a&gt; allow access to gmail using POP/IMAP settings. These sites may also have mobile interface to allow access from mobiles.&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;Each option described above caters to various devices and useful in some conditions. However, only the standard interface allows access to gmail's advanced features and integration. Also the contacts are only accessible from gmail's own web interfaces (first three). On the other hand POP/IMAP access supports multiple accounts at same time which is not available in gmail's web interfaces.&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-3833391722744588504?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/3833391722744588504/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2010/01/ways-of-accessing-gmail-on-mobile-and.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/3833391722744588504?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/3833391722744588504?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/0I9xcihYXEY/ways-of-accessing-gmail-on-mobile-and.html" title="Ways of accessing gmail on mobile and desktop" /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2010/01/ways-of-accessing-gmail-on-mobile-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEGRno5fSp7ImA9WxdaGUQ.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-1051027013231314675</id><published>2008-08-29T01:12:00.007+05:30</published><updated>2008-08-29T13:27:07.425+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-29T13:27:07.425+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="internet" /><title>Using mobile sites on slow connections</title><content type="html">Once in a while a slow connection might be the best available. If you are in habit of using instant messaging and social networks, it might prove little heavy on poor connections. Call to the rescue mobile sites, which are specially designed for low bandwidth. Many iphone specific sites can be used on browser as is. This eliminates need of downloading separate client software.&lt;br /&gt;&lt;br /&gt;For social networking, mobile versions of sites are available such as m.facebook.com , m.orkut.com , m.myspace.com etc. &lt;br /&gt;&lt;a href="javascript:open('http://m.facebook.com/','_blank','toolbar=0,menubar=0,location=1,scrollbars=0,width=320');focus()"&gt;Facebook&lt;/a&gt;,&lt;br /&gt;&lt;a href="javascript:open('http://m.orkut.com/','_blank','toolbar=0,menubar=0,location=1,scrollbars=0,width=320');focus()"&gt;Orkut&lt;/a&gt;,&lt;br /&gt;&lt;a href="javascript:open('http://m.myspace.com/','_blank','toolbar=0,menubar=0,location=1,scrollbars=0,width=320');focus()"&gt;Myspace&lt;/a&gt;,&lt;br /&gt;&lt;br /&gt;For instant messaging, iphone versions of meebo and gtalk are useful. Following bookmarks use them to create a side window. &lt;br /&gt;&lt;a href="javascript:open('http://talkgadget.google.com/talkgadget/m','_blank','toolbar=0,menubar=0,location=1,scrollbars=0,width=320');focus()"&gt;Gtalk&lt;/a&gt; ,&lt;br /&gt; &lt;a href="javascript:open('https://www.meebo.com/mobile/','_blank','toolbar=0,menubar=0,location=1,scrollbars=0,width=320');focus()"&gt;Meebo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Meebo can be used with other services as well. All these bookmarks are checked with firefox.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-1051027013231314675?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/1051027013231314675/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2008/08/using-mobile-sites-on-slow-connections.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/1051027013231314675?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/1051027013231314675?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/jvIOU9XCds4/using-mobile-sites-on-slow-connections.html" title="Using mobile sites on slow connections" /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2008/08/using-mobile-sites-on-slow-connections.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUMRXo6eCp7ImA9WB5aEEU.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-1029400679980410683</id><published>2007-02-27T19:35:00.000+05:30</published><updated>2007-09-06T17:34:44.410+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-06T17:34:44.410+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dissert" /><title>Searching for scholarly articles and papers</title><content type="html">Following is a summary of starting point of searching scholarly articles online.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://citeseer.ist.psu.edu/" target="_blank"&gt;Citeseer&lt;/a&gt;: An extensive repository of articles that are available online freely and abstracts of the articles which are not freely available. It also hosts articles in various formats like ps, pdf etc. Other related information like citation, similar documents and bibliography are also provided.&lt;/li&gt;&lt;li&gt;&lt;a href="http://scholar.google.com/"&gt;Google Scholar&lt;/a&gt;: Google scholar provides search results in papers with links to the page containing them. This is convenient as if the access to article is restricted to subscribers only, this takes you to the page, where information can be found and the full article can be downloaded possibly.&lt;/li&gt;&lt;li&gt;&lt;a href="http://portal.acm.org/guide.cfm"&gt;Acm guide to computing literature&lt;/a&gt;: Acm holds a huge collection of papers online and also facilitates search for the articles which are not available in it’s digital library. To access many of the articles, subscription to acm is required.&lt;/li&gt;&lt;li&gt;&lt;a href="http://ieeexplore.ieee.org/"&gt;IEEE Explore&lt;/a&gt;: Like acm, ieee also holds collection of papers and to access them subscription to ieee is required.&lt;/li&gt;&lt;li&gt;&lt;a href="http://search.arxiv.org/"&gt;Arxiv&lt;/a&gt;: Repository of preprints.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;One can take advantage of ‘firefox keywords’ to search faster. See &lt;a href="http://keymark.blogspot.com/2006/09/using-firefox-keywords-for-fast.html"&gt;firefox keywords article&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Some patterns are shown below to search efficiently.&lt;/p&gt; &lt;ul&gt;&lt;li&gt;To search in pdf documents only, append +filetype:pdf to query. e.g.&lt;br /&gt;&lt;em&gt;terms of query&lt;/em&gt; +filetype:pdf&lt;/li&gt;&lt;li&gt;Similarly, to searh postscript documents, append +filetype:ps to query.&lt;/li&gt;&lt;li&gt;To find words that are in the title of the document, append +intitle:&lt;terms&gt; e.g.&lt;br /&gt;&lt;em&gt;terms of query&lt;/em&gt; +intitle:&lt;em&gt;term1&lt;/em&gt; +intitle:&lt;em&gt;term2&lt;/em&gt;&lt;/terms&gt;&lt;/li&gt;&lt;li&gt;To search on specific site ( i.e. place where author works ) append +site:&lt;domain&gt; e.g.&lt;br /&gt;terms of query +site:university.edu&lt;/domain&gt;&lt;/li&gt;&lt;li&gt;To reject results that are irrelevant, use -nonterm e.g.&lt;br /&gt;&lt;em&gt;terms of query&lt;/em&gt; -excludeterm&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;But if an article is not freely distributed, chances are that it won’t be accessible to you. Maybe it is time to ping your friends or adviser who might have access to it.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-1029400679980410683?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/1029400679980410683/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2007/02/searching-for-scholarly-articles-and.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/1029400679980410683?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/1029400679980410683?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/D1e0tOyvqcw/searching-for-scholarly-articles-and.html" title="Searching for scholarly articles and papers" /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2007/02/searching-for-scholarly-articles-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMBRn88eyp7ImA9WBBbE08.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-4523199033615722941</id><published>2006-11-04T13:39:00.001+05:30</published><updated>2007-01-09T12:54:17.173+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-01-09T12:54:17.173+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="internet" /><title>Secure email address against spam using email forw...</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Email spam is a concern for most these days. It might not take long before you receive spam in your fresh active email account.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;A spam email is an email &lt;span id='SPELLING_ERROR_0' class='blsp-spelling-corrected' onclick='BLOG_clickHandler(this)'&gt;received&lt;/span&gt; which you did not ask for. Most of the time, it would be from unknown source. It may even have a fake sender name to make you open it. Spam is sent for various reasons like cheap publicity, frauds and even works as pollinators for computer viruses.&lt;br&gt;&lt;/br&gt;Listed are some precautions for protection against spam.&lt;br&gt;&lt;/br&gt;&lt;ul&gt;&lt;li&gt;Do not give your email ID to anyone!&lt;br&gt;&lt;/br&gt;Then ... how to use it? The key is to classify contacts and then use appropriate forwarding mechanisms. A forwarding mechanism allows any email sent to some other address to be automatically received at your email address.&lt;br&gt;&lt;/br&gt;&lt;/li&gt;&lt;li&gt;For temporary addresses, check &lt;a href='http://www.spamgourmet.com/'&gt;&lt;span id='SPELLING_ERROR_1' class='blsp-spelling-error' onclick='BLOG_clickHandler(this)'&gt;spamgourmet&lt;/span&gt;.com&lt;/a&gt; It offers temporary email forwarding addresses of form '&lt;span id='SPELLING_ERROR_2' class='blsp-spelling-error' onclick='BLOG_clickHandler(this)'&gt;tempname&lt;/span&gt;.&lt;span id='SPELLING_ERROR_3' class='blsp-spelling-error' onclick='BLOG_clickHandler(this)'&gt;youraccount&lt;/span&gt; at &lt;span id='SPELLING_ERROR_4' class='blsp-spelling-error' onclick='BLOG_clickHandler(this)'&gt;spamgourmet&lt;/span&gt;.com' where &lt;span id='SPELLING_ERROR_5' class='blsp-spelling-error' onclick='BLOG_clickHandler(this)'&gt;tempname&lt;/span&gt; is any arbitrary word and &lt;span id='SPELLING_ERROR_6' class='blsp-spelling-error' onclick='BLOG_clickHandler(this)'&gt;youraccount&lt;/span&gt; is your &lt;span id='SPELLING_ERROR_7' class='blsp-spelling-error' onclick='BLOG_clickHandler(this)'&gt;spamgourmet&lt;/span&gt; account name. This address would expire after some number of emails and that would automatically stop too many emails coming from that sender. For example, this can be used for site registrations where you do not expect more than a couple of emails for registration.&lt;br&gt;&lt;/br&gt;&lt;/li&gt;&lt;li&gt;Social networking sites allow hiding email address and access control. This way only friends can write to you without giving away actual address.&lt;br&gt;&lt;/br&gt;&lt;/li&gt;&lt;li&gt;Use Email service providers that allow email forwarding, e.g, &lt;a href='http://mail.google.com/'&gt;gmail&lt;/a&gt;. Aggregate mails from these accounts into another account, which is not given even to trusted parties. Thus, if one of your addresses are compromised, it would not effect others.&lt;br&gt;&lt;/br&gt;&lt;/li&gt;&lt;li&gt;Extended email address are provided by some email providers. If your address is a@b.c, a+anything@b.c also delivers mail to a@b.c, but with added advantage that a+anything@b.c can be filtered out if it is subjected to spam.&lt;br&gt;&lt;/br&gt;&lt;/li&gt;&lt;/ul&gt;Why not share email address with friends? Because they might unknowingly pass your email address to &lt;span id='SPELLING_ERROR_8' class='blsp-spelling-error' onclick='BLOG_clickHandler(this)'&gt;spammers&lt;/span&gt;. It works like this: user1 forwards a message to user2 and user3. He uses To: and CC: field to address them. This way, now user2 and user3 have each other's addresses, but they never intended to do so. Now this message is forwarded many time and ends up either in a &lt;span id='SPELLING_ERROR_9' class='blsp-spelling-error' onclick='BLOG_clickHandler(this)'&gt;spammer's&lt;/span&gt; hand with all the email addresses or is posted on some site ready for &lt;span id='SPELLING_ERROR_10' class='blsp-spelling-error' onclick='BLOG_clickHandler(this)'&gt;spammer&lt;/span&gt; to crawl.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;The moral of this story is, when you forward messages to many email addresses, always use &lt;span id='SPELLING_ERROR_11' class='blsp-spelling-error' onclick='BLOG_clickHandler(this)'&gt;BCC&lt;/span&gt; field, not TO or CC. use your address in TO if the software forces to write some address there. Unless your friends follow this, your email address is in risk of getting into hands of anyone.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;The indirect method of contacts such as social networks has added benefit, that your changes in email address are transparent to your friends. Thus, if your email address is compromised by mistake of someone you share address with or you want to check out new cool email service, you can change the email address without involving people who do not share it directly with you, e.g. users of online groups and social networking sites.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;These tips can take little time to practice, but provides good defense against spam.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-4523199033615722941?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/4523199033615722941/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2006/11/secure-email-address-against-spam-using.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/4523199033615722941?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/4523199033615722941?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/rlg78_SipqQ/secure-email-address-against-spam-using.html" title="Secure email address against spam using email forw..." /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2006/11/secure-email-address-against-spam-using.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8HQ306fCp7ImA9WxZREU4.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-6753794010927145531</id><published>2006-10-13T21:41:00.000+05:30</published><updated>2008-02-04T18:43:52.314+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-04T18:43:52.314+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><title>Using Google talk (Jabber) on linux behind proxy and firewall</title><content type="html">The official Google talk client works beautifully behind firewall and proxy , but Linux users face difficulties trying to connect behind a proxy and firewall. Google Talk client is not available for Linux. A page describing how to connect using other Instant Messengers (IM) is provided on the Google Talk page, but the details shown there are for standard setup.&lt;br /&gt;&lt;br /&gt;Google talk uses an open standard named Jabber for communication between the user-client and the server. This protocol Allows connecting in 3 modes: Direct connection, tunneling over HTTP and HTTP polling.&lt;br /&gt;&lt;br /&gt;The HTTP Tunneling mode can be used when the proxy allows HTTP tunneling over Jabber ports 5222 and 5223. Most of the proxies block this.&lt;br /&gt;&lt;br /&gt;Recently is has become possible to connect to GTalk Jabber server using port 443. for more details, &lt;a href="http://forum.psi-im.org/thread/3393"&gt;refer this page&lt;/a&gt; Thus, for people behind firewall and proxy, the parameters of connections are as follows.:&lt;br /&gt;&lt;br /&gt;Try a good jabber client, e.g. &lt;a href="http://psi.affinix.com/"&gt;Psi&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Jabber ID: your.user.id@gmail.com&lt;br /&gt;Password: gmail password&lt;br /&gt;&lt;br /&gt;Proxy server name, port and password from your network administrator&lt;br /&gt;&lt;br /&gt;Also select following options&lt;br /&gt;Use SSL Encryption&lt;br /&gt;Ignore SSL Warnings&lt;br /&gt;Allow Plaintext Login&lt;br /&gt;Manually specify server host/port; Host: talk.google.com; Port: 443&lt;br /&gt;&lt;br /&gt;Save the setup and try luck!&lt;br /&gt;&lt;br /&gt;Also, have a look at the page describing how to use &lt;a href="http://www.bigblueball.com/forums/google-talk-news/33739-connect-google-talk-aim-msn-yahoo.html"&gt;Google Talk with other IM services&lt;/a&gt; like AIM, MSN, Yahoo, ICQ etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-6753794010927145531?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/6753794010927145531/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2006/10/using-google-talk-jabber-on-linux.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/6753794010927145531?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/6753794010927145531?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/VSx9fwXVnVI/using-google-talk-jabber-on-linux.html" title="Using Google talk (Jabber) on linux behind proxy and firewall" /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://keymark.blogspot.com/2006/10/using-google-talk-jabber-on-linux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYBRno_eSp7ImA9WBBSGEQ.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-4607811664867230277</id><published>2006-09-30T23:47:00.000+05:30</published><updated>2006-10-27T00:45:57.441+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-10-27T00:45:57.441+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><title>Using firefox keywords for fast Internet search.</title><content type="html">Browsing begins at searching. And re-searching.&lt;br /&gt;&lt;br /&gt;To save time  for web-searches, firefox can be used to associate some url with a keyword. This keyword can be typed in addressbar followed by query terms to directly perform search without visiting the query form on that site. Listed here are some urls, which can be bookmarked and associated with keywords  to search those sites. Examples here are for searching scholarly articles on web.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Acm site search (acm)&lt;br /&gt;&lt;a href="http://campus.acm.org/public/search/results.cfm?query=%s"&gt;http://campus.acm.org/public/search/results.cfm?query=%s&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Arxiv (arxiv)&lt;br /&gt;&lt;a href="http://search.arxiv.org:8081/?query=%s"&gt;http://search.arxiv.org:8081/?query=%s&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Citeseer (cs)&lt;br /&gt;&lt;a href="http://citeseer.ist.psu.edu/cis?q=%s&amp;submit=Search+Citations"&gt;http://citeseer.ist.psu.edu/cis?q=%s&amp;amp;submit=Search+Citations&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Google Scholar (gs)&lt;br /&gt;&lt;a href="http://scholar.google.com/scholar?q=%s"&gt;http://scholar.google.com/scholar?q=%s&lt;/a&gt;&lt;/li&gt;&lt;li&gt;IEEE Explore (ie)&lt;br /&gt;&lt;a href="http://ieeexplore.ieee.org/search/searchresult.jsp?queryText=%s"&gt;http://ieeexplore.ieee.org/search/searchresult.jsp?queryText=%s&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;After right clicking on this links and making bookmarks, find that bookmark in bookmarks menu. Right click on the item, select property and add the keyword shortcut shown in parenthesis to the bookmark.&lt;br /&gt;For example, typing "&lt;span style="font-style: italic;"&gt;cs test&lt;/span&gt;" in addressbar would show results from citeseer on search of term 'test'.&lt;br /&gt;&lt;br /&gt;Bookmarks can be made also to avoid typing some query terms. Following bookmark searches google for introductory material on subject given in query.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Google literature search (glit)&lt;br /&gt;&lt;a href="http://www.google.co.in/search?q=%s+book+OR+notes+OR+survey+OR+introduction+OR+tutorial"&gt;http://www.google.com/search?q=%s+book+OR+notes+OR+survey+OR+introduction+OR+tutorial&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Just observe the URL in the addressbar after doing search and by replacing query terms by %s, you can use this feature to speed up searches.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-4607811664867230277?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/4607811664867230277/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2006/09/using-firefox-keywords-for-fast.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/4607811664867230277?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/4607811664867230277?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/QoCiPM6jOII/using-firefox-keywords-for-fast.html" title="Using firefox keywords for fast Internet search." /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2006/09/using-firefox-keywords-for-fast.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYARH84fSp7ImA9WBBSGEQ.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-1931595772862668612</id><published>2006-09-30T12:24:00.000+05:30</published><updated>2006-10-27T00:45:45.135+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-10-27T00:45:45.135+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><title>Mozilla Firefox 2 RC1 sidebar on right customization</title><content type="html">The customization shown in &lt;a href="http://www.mozilla.org/unix/customizing.html#usercss"&gt;Customizing Mozilla&lt;/a&gt; did not work with Firefox 2.0 RC1. This customization puts sidebar on right side, so the page need not move to right when sidebar is shown and hidden.&lt;br /&gt;&lt;br /&gt;To make it work, add following lines to userChorme.css ( used in &lt;a href="https://addons.mozilla.org/firefox/855/"&gt;sidebar on right&lt;/a&gt; extension )&lt;br /&gt;&lt;br /&gt;hbox#browser { direction: rtl; }&lt;br /&gt;hbox#browser &gt; vbox { direction: ltr; }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-1931595772862668612?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/1931595772862668612/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2006/09/mozilla-firefox-2-rc1-sidebar-on-right.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/1931595772862668612?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/1931595772862668612?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/gUBwgSZR6FA/mozilla-firefox-2-rc1-sidebar-on-right.html" title="Mozilla Firefox 2 RC1 sidebar on right customization" /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2006/09/mozilla-firefox-2-rc1-sidebar-on-right.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MHRXo9cCp7ImA9WxZbF08.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-4369060190302779262</id><published>2006-09-29T01:43:00.001+05:30</published><updated>2008-04-21T02:33:54.468+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-21T02:33:54.468+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software" /><title>Firefox 2 release candidate RC1 review</title><content type="html">Today &lt;a href="http://www.mozilla.com/en-US/firefox/2.0/releasenotes"&gt;Firefox 2 RC1&lt;/a&gt; was released. As it is supposed to be fairly stable, I installed it. For linux, installation was easy as always and downloading and extracting the archive is all that was required.&lt;br /&gt;&lt;br /&gt;Firfox converted user profile to new version nicely, but with a catch that some extensions that were working in Firefox 1.5 stopped working. To make those extensions work A new profile was created.&lt;br /&gt;&lt;br /&gt;As Firefox 1.5 extensions usually should work with this release (If you are lucky), I tried following method to use some extensions.&lt;br /&gt;&lt;br /&gt;If Firefox 1.5 extension refuses to install in Firefox 2, try following&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Download the extension to your disk (by right clicking and saving the target of install link)&lt;/li&gt;&lt;li&gt;Unzip the extension to a directory, say 'myextension' (the xpi file is actually a zipped archive)&lt;/li&gt;&lt;li&gt;Find install.rdf file in that folder. Open it in editor&lt;/li&gt;&lt;li&gt;In the file, find 'maxversion' tag and change the value to 2.0&lt;/li&gt;&lt;li&gt;zip the content of directory into a new file, e.g. myext.zip. rename it to myext.xpi&lt;/li&gt;&lt;li&gt;try your luck by either&lt;/li&gt;&lt;ul&gt;&lt;li&gt;typing firefox myext.xpi in that directory if you are using linux&lt;/li&gt;&lt;li&gt;or dragging and and dropping the xpi file from explorer window to Firefox window.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;After having extensions working, I turned to new features.&lt;br /&gt;The most useful feature I found is the ability to open rss feeds directly into google reader (or yahoo or bloglines). I use google reader and this integration saves some time.&lt;br /&gt;&lt;br /&gt;Also now much wanted spellcheck is built-in, for which one had to go through installation of dictionaries and spellbound extension earlier.&lt;br /&gt;&lt;br /&gt;Apart form that there are some changes in look and feel. I have disabled anti-phishing right now As I am not sure how it would effect performance of browser.&lt;br /&gt;&lt;br /&gt;Overall version 2 conservatively adds some subtle features to Firefox.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-4369060190302779262?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/4369060190302779262/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2006/09/firefox-2-release-candidate-rc1-review.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/4369060190302779262?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/4369060190302779262?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/q0dbMo0stVA/firefox-2-release-candidate-rc1-review.html" title="Firefox 2 release candidate RC1 review" /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2006/09/firefox-2-release-candidate-rc1-review.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYMR3Y-fSp7ImA9WxRTGUo.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-3342294063453930849</id><published>2006-09-27T15:05:00.001+05:30</published><updated>2008-09-09T21:49:46.855+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-09T21:49:46.855+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="meta" /><title>Moving to blogger beta</title><content type="html">So finally I moved to blogger beta. Recently I created a blog on &lt;a href="http://www.wordpress.com/"&gt;wordpress.com&lt;/a&gt; also and surprisingly blogger beta looks similar to wordpress.com. Somehow it appears that blogger is playing catch-up game with wordpress.com, and the result is not bad.&lt;br /&gt;&lt;br /&gt;The major difference I notice now is that it is possible to customize template freely on blogger, but that is not the case with wordpress. Though having said that, wordpress.com blogs somehow look typographically superior. Also, another blog of mine is on blogsome.com, which allows modyfying templates at will, but hosts an older version of wordpress. Right now I am experimenting with them and as a result, the appearance of the blog may keep changing for a while.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-3342294063453930849?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/3342294063453930849/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2006/09/moving-to-blogger-beta.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/3342294063453930849?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/3342294063453930849?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/aebGrEsJ3Dg/moving-to-blogger-beta.html" title="Moving to blogger beta" /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2006/09/moving-to-blogger-beta.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYFQn0-fip7ImA9WBBSGEQ.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-3546636980285712447</id><published>2006-09-17T18:55:00.000+05:30</published><updated>2006-10-27T00:45:13.356+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-10-27T00:45:13.356+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="internet" /><title>E-Light Surfing</title><content type="html">The value of light weight web pages is evident when one attempts to use a slow connection, especially over dial-up. Now a days the web-2.0 sites are just getting heavy, which takes very long time to load over slow connection.&lt;br /&gt;&lt;br /&gt;An alternative to use of such bulky sites is to use the mobile versions of the same. Following text lists some alternatives for popular sites.&lt;br /&gt;&lt;br /&gt;For accessing google mail, use &lt;a href="http://www.google.com/xhtml"&gt;Google mobile&lt;/a&gt;&lt;br /&gt;Yahoo services, including mail can be accessed at  &lt;a href="http://wap.oa.yahoo.com/"&gt;Yahoo mobile&lt;/a&gt;&lt;br /&gt;Wordpress blogging at &lt;a href="http://m.wordpress.com/"&gt; Wordpress.com Gadget&lt;/a&gt;&lt;br /&gt;Though I don't know of a site for blogger which does the same, Blogging by email is a convenient way of doing it.&lt;br /&gt;&lt;br /&gt;Also yahoo and google personalized pages are good way of aggregating mail and calendar information and viewing it on a lightweight page, as mentioned in previous post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-3546636980285712447?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/3546636980285712447/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2006/09/value-of-light-weight-web-pages-is.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/3546636980285712447?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/3546636980285712447?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/fzVnO4nPbjs/value-of-light-weight-web-pages-is.html" title="E-Light Surfing" /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2006/09/value-of-light-weight-web-pages-is.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYERXg_cCp7ImA9WBBSGEQ.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-115834571415209191</id><published>2006-09-16T00:11:00.000+05:30</published><updated>2006-10-27T00:45:04.648+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-10-27T00:45:04.648+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="internet" /><title>Instant Messenging Anywhere</title><content type="html">Avid observer of new upcoming sites might have observed the wave of instant messengers coming up long time back. The summary of on-line messengers is covered in following text.&lt;br /&gt;&lt;br /&gt;On-line messengers are replacement of desktop software for instant messengers like yahoo, AOL, MSN or google. For using on-line messengers, no special software installation is required.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.meebo.com/"&gt;Meebo&lt;/a&gt; is one such site. It allows connecting to Yahoo, MSN, AOL and Jabber servers. Jabber is an open protocol for IM and a prominent example of the same is google talk. For example, you can use your google talk account with &lt;i&gt;yourid&lt;/i&gt;@google.com username. Meebo is also an unified IM as it allows you to see all your friends from different IM's in one place. It has sound alerts, chat logs and other nifty features. It also has advanced features like meebo me widget, which you can put on your homepage and visitors of your homepage can chat with you when you are logged in meebo or can leave you off-line messages. cool!&lt;br /&gt;&lt;br /&gt;A new on-line IM is &lt;a href="http://www.radiusim.com/"&gt;radiusIM&lt;/a&gt; which has integration with google maps. It allows you to find and chat with people who are in your physical neighborhood. It is also an unified IM and has features like chat log.&lt;br /&gt;&lt;br /&gt;There are many other such sites, one worth mentioning is &lt;a href="http://http//e-buddy.com/"&gt;e-buddy&lt;/a&gt;, which is made after one of the oldest such sites on the net, &lt;a href="http://http//www.e-messenger.net/"&gt;e-messenger&lt;/a&gt;. Another site worth mention is &lt;a href="http://www.koolim.com/"&gt;koolIM&lt;/a&gt;. It should be mentioned that I have noticed only meebo and radiusIM retaining off-line messages.&lt;br /&gt;&lt;br /&gt;One benefit of using on-line IMs is that your chat history is stored on-line and remains available anywhere. Also, the same interface can be used from any place without downloading any messenger. As instant messenging is anyway an on-line activity, It makes some sense in using on-line IMs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-115834571415209191?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/115834571415209191/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2006/09/instant-messenging-anywhere.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/115834571415209191?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/115834571415209191?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/kt1cKGyPOl8/instant-messenging-anywhere.html" title="Instant Messenging Anywhere" /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2006/09/instant-messenging-anywhere.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcMRXw9fyp7ImA9WBBSGEQ.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-115488689807019689</id><published>2006-08-06T23:00:00.000+05:30</published><updated>2006-10-27T00:44:44.267+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-10-27T00:44:44.267+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><title>Detaching html attachment in gmail</title><content type="html">Few days back I sent my bookmark file (html) as an attachment on gmail. At the destination the file was augmented in the message body and there was no direct way of saving it as separate attachment.&lt;br /&gt;&lt;br /&gt;The situation was complicated by the javascript bookmarks that were stored in the file, resulting into only a truncated file being displayed and forwarded.&lt;br /&gt;&lt;br /&gt;Due to this, forwarding the mail to other account and opening it was not an option, as only a part of file was being forwarded.&lt;br /&gt;&lt;br /&gt;The solution was though simple. Clicking on 'more options' and 'show original' links in message showed up the body of the message as it was received. The bookmark file was there but encoded. To decode it, The original message was saved as a file 'mymsg.eml' on disk. After that thunderbird was opened and in the compose new mail window. The 'mymsg.eml' was attached to this message and message stored as a draft. Now, selecting the message in draft folder showed bookmarks.html as attachment and that served the purpose.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-115488689807019689?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/115488689807019689/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2006/08/detaching-html-attachment-in-gmail.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/115488689807019689?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/115488689807019689?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/2fCZRors3Ss/detaching-html-attachment-in-gmail.html" title="Detaching html attachment in gmail" /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2006/08/detaching-html-attachment-in-gmail.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8FQH49fCp7ImA9WxRSEk8.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-114488794580183979</id><published>2006-04-13T05:42:00.004+05:30</published><updated>2008-09-12T19:43:31.064+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-12T19:43:31.064+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="internet" /><title>Desktop Shell : Firefox!</title><content type="html">Traveling light is my style. In easy access, nothing beats web 2.0 style applications coming up. These can replace typical desktop applications and make information accessible from anywhere. Start a browser from any computer and you are almost home with all the applications available! Following is the screenshot of a desktop, filled with web- based applications.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://photos1.blogger.com/blogger/652/1542/1600/ff_desk1.0.jpg" target="_blank" /&gt;Screenshot&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Applications in the screenshot:&lt;br /&gt;
Email : &lt;a href="http://mail.google.com/mail/"&gt;Gmail&lt;/a&gt;. The one and only GMail. It provides conversational view for your viewing pleasure and you can receive notifications through RSS. Also you can chat with other gmail users! Now spell kool.&lt;br /&gt;
&lt;br /&gt;
News Reader: &lt;a href="http://www.google.com/reader/view/"&gt;Google Reader&lt;/a&gt;. Revolutionary AJAX interface and good interoperability. I spend lot of time daily with this handy application. Almost addicted to it!&lt;br /&gt;
&lt;br /&gt;
Editing: &lt;a href="http://www.writely.com/"&gt;Writely&lt;/a&gt;: It can even import my openoffice documents in addition to legacy word docs!&lt;br /&gt;
&lt;br /&gt;
Reference: Online dictionary or encyclopedia : &lt;a href="http://www.tfd.com/"&gt;TFD&lt;/a&gt;, &lt;a href="http://www.wikipedia.org/"&gt;Wikipedia&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Instant messaging: &lt;a href="http://www.meebo.com/"&gt;Meebo&lt;/a&gt;. An all-round winner with nice interface and ease of use&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-114488794580183979?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/114488794580183979/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2006/04/desktop-shell-firefox.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/114488794580183979?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/114488794580183979?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/SaReUFIddh4/desktop-shell-firefox.html" title="Desktop Shell : Firefox!" /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2006/04/desktop-shell-firefox.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UDQnk5cCp7ImA9WxZbF08.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-114400168545642688</id><published>2006-04-02T20:43:00.001+05:30</published><updated>2008-04-21T02:31:13.728+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-21T02:31:13.728+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dissert" /><title>Parser generators : ANTLR, SableCC, JavaCC, bison at a glance.</title><content type="html">One looks towards parser generators (or compiler compilers) when there is a need to translate something in one language to other language. Basically you need to read a sequence of characters, make a data structure which represents the same. For many interesting problems, you want to build a tree. Using this, one can generate a new sequence of character, which is translation of input or just do things on that data structure.&lt;br /&gt;&lt;br /&gt;A grammar (context free grammar, technically speaking) says what type of children a node can have. The leaves of tree cannot have any nodes under them and they directly correspond to the characters in the input. Looking at the input, we try to construct a tree which complies with the rules declared by grammar. If only one such tree can be made for any valid input, then the grammar is called unambiguous.&lt;br /&gt;&lt;br /&gt;To construct the tree, we have many choices for selecting nodes, which can lead to the leaves to correspond to the input sequence seen so far. If we try to construct it from leaves, it is called bottom up approach. This approach usually uses a method of construction called LR parsing. If we attempt to build the tree top-down, the method usually used is called LL parsing.&lt;br /&gt;&lt;br /&gt;Now let us discuss about the free tools that we have at our hand. Given a grammar and instructions on what to do with various nodes, these tools generate a parser.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.antlr.org/"&gt;ANTLR&lt;/a&gt; is derived from good old C/C++ &lt;a href="http://www.polhode.com/pccts.html"&gt;PCCTS&lt;/a&gt; tool. Antlr has lots of features and can generate the parser in Java or C/C++. It uses top down approach to parsing.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://javacc.dev.java.net/"&gt;JavaCC&lt;/a&gt; is a tool used in many applications, which is much like antlr, with few features different here and there. However, it just generates Java code.&lt;br /&gt;&lt;br /&gt;The top down parser generators mentioned also support predicates, using which you can try to 'peep' in upcoming input. This is against the rules of game of context free parsing, but convenient in practice.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sablecc.org/"&gt;SableCC&lt;/a&gt; is a bottom up parser, which takes an unconventional and interesting approach of using object oriented methodology for constructing parsers. This results in easy to maintain code for generated parser. However, there are some performance issues at this point of time. It generates output in both C++ and Java&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gnu.org/software/bison/bison.html"&gt;GNU Bison&lt;/a&gt; is classical bottom up parser. It generates C language output. It has been the standard tool on many unix operating system distributions. Now, it has also acquired the capability of parsing grammars with GLR method. It's implementation of it is not the best around, but we may have a look at lesser used parsing methods some other time.&lt;br /&gt;&lt;br /&gt;There is a plethora of such tools. refer to &lt;a href="http://en.wikipedia.org/wiki/List_of_compiler-compilers"&gt;Wikipedia - compiler compilers&lt;/a&gt; for details.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-114400168545642688?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/114400168545642688/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2006/04/parser-generators-antlr-sablecc-javacc.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/114400168545642688?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/114400168545642688?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/ifCW1asNxI8/parser-generators-antlr-sablecc-javacc.html" title="Parser generators : ANTLR, SableCC, JavaCC, bison at a glance." /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2006/04/parser-generators-antlr-sablecc-javacc.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UNQHw-eip7ImA9WxZbF08.&quot;"><id>tag:blogger.com,1999:blog-24632729.post-114368226840577230</id><published>2006-03-30T06:01:00.001+05:30</published><updated>2008-04-21T02:31:31.252+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-21T02:31:31.252+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dissert" /><title>Parsing C++ Source Code: An overview of available tools</title><content type="html">C++ is a popular programming language. On the other hand, compared to Java, there are few good programming tools available for C++. My favorite example is refactoring. Why should it be like that?&lt;br /&gt;&lt;br /&gt;It happens to be the case that C++ was not designed with these issues in mind and also, it carries some legacy from it's ancestor, C. Technically speaking, C++ cannot be accurately specified using a context free grammar. A context free grammar is a grammar in which you can look at only a part of the whole document, and can give a name to that part without looking at other parts. An unambiguous grammar is one in which you can give exactly one name to that part.&lt;br /&gt;&lt;br /&gt;Due to this, much hand-tinkering is required to write a C++ parser. However, many parsers take approach of accepting some source code which are not written in C++ and sort it out later in a second try called semantic pass. C++ has many dialects due to it's evolution and various compiler providers. These dialects differ from each other significantly.&lt;br /&gt;&lt;br /&gt;If one can spend some money, there is a respected product which can parse C++ very accurately and also help you building tools on it. It can be found at: &lt;a href="http://www.edg.com/"&gt;http://www.edg.com/ &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For free options, there are basically three approaches. First is to start from scratch and write a grammar (or use someone elses). There is a C++ grammar written by Edward D. Willink for his &lt;a href="http://www.computing.surrey.ac.uk/research/dsrg/fog/"&gt;FOG&lt;/a&gt; . The thesis also contains good account of issues in the C++ grammar. The popular antlr parser generator also claims a C++ grammar which is updated from old PCCTS based grammar.&lt;br /&gt;&lt;br /&gt;The second option is to use a parser tool that generates some type of intermediate representation which is easy to process programmatically. The noteworthy here is elsa. It is a C++ parser built using a special parser generator called elkhound.  It can be found at &lt;a href="http://www.cs.berkeley.edu/%7Esmcpeak/elkhound/"&gt;Elkhound and Elsa&lt;/a&gt; site.&lt;br /&gt;&lt;br /&gt;The last approach is to let compiler do the job! Prominent example is the modified C++ frontend for &lt;a href="http://llvm.org/"&gt;LLVM&lt;/a&gt; project, which translates the C++ code to bytecode and then provides infrastructure to write processing of this bytecode.&lt;br /&gt;&lt;br /&gt;Apart from these, there are parsers coded for IDEs like &lt;a href="http://www.eclipse.org/cdt"&gt;Eclipse&lt;/a&gt;  &lt;a href="http://www.kdevelop.org/"&gt;KDevelop&lt;/a&gt;, &lt;a href="http://anjuta.sourceforge.net/"&gt;Anjuta&lt;/a&gt; etc. These are usually heuristics-driven, meaning that they would make some educated guesses when required to make analysis efficient.&lt;br /&gt;&lt;br /&gt;One often forgotten pragmatic difficulty is the pre-processing of source. The first two approaches most of the time takes for granted preprocessed code.&lt;br /&gt;&lt;br /&gt;These issues make parsing C++ code difficult and hinder the development of tools for C++ source code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24632729-114368226840577230?l=keymark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://keymark.blogspot.com/feeds/114368226840577230/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://keymark.blogspot.com/2006/03/parsing-c-source-code-overview-of.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/114368226840577230?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/24632729/posts/default/114368226840577230?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/keymark/~3/4mMTFHrgpIg/parsing-c-source-code-overview-of.html" title="Parsing C++ Source Code: An overview of available tools" /><author><name>Pratik Mehta</name><uri>http://www.blogger.com/profile/09266796944430290645</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://keymark.blogspot.com/2006/03/parsing-c-source-code-overview-of.html</feedburner:origLink></entry></feed>

