<?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:thr="http://purl.org/syndication/thread/1.0" xmlns:gd="http://schemas.google.com/g/2005" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" gd:etag="W/&quot;DUQEQX8yeyp7ImA9Wx5QGEQ.&quot;"><id>tag:blogger.com,1999:blog-18392152</id><updated>2010-09-07T15:08:20.193-07:00</updated><title>Markandey's Blog</title><subtitle type="html">/*Welcome! On this blog I have posted my Code, My Hacks, my Reviews, my Opinion, my Life, my Feelings, my Photos, my Interests &amp;amp; everything about me.*/</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.markandey.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.markandey.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>116</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/MarkandeyBlog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="markandeyblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>17.429925</geo:lat><geo:long>78.423479</geo:long><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/3.0/" /><logo>http://creativecommons.org/images/public/somerights20.gif</logo><entry gd:etag="W/&quot;DUQEQXw7fCp7ImA9Wx5QGEQ.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-5039158106308948833</id><published>2010-09-07T15:08:00.000-07:00</published><updated>2010-09-07T15:08:20.204-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-07T15:08:20.204-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Article" /><title>How to fix *.OGV file to upload on YouTube (for Ubuntu 10.04 LTS users)</title><content type="html">Hi Guys,&lt;br /&gt;
Just sharing my experience with *.ogv, while I was trying to upload a video on YouTube.&lt;br /&gt;
I was using Ubuntu 10.04 LTS and used gtk-recordMyDesktop to record a screencast and uploaded the video on YouTube, I found that youtube is showing completely gabbled video. &lt;br /&gt;
&lt;br /&gt;
I could not figure out the problem but i simply converted the video to avi and uploaded on youtube, problem solved!!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;How to convert to avi?&lt;/b&gt;&lt;br /&gt;
Basically you have 3 options. &lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Using mencoder.&lt;/li&gt;
&lt;li&gt;Using ffmpeg.&lt;/li&gt;
&lt;li&gt;Using DeVeDE.&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only option which worked really nice with me is mencoder (use following command)&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;b&gt;mencoder input.ogv -ovc xvid -oac mp3lame -xvidencopts pass=1 -o output.avi&lt;/b&gt;
&lt;/pre&gt;&lt;br /&gt;
Problem with other 2 options ( i observed)&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;DeVeDe was converting correctly, but messing up with the length of video.&lt;/li&gt;
&lt;li&gt;ffmpeg completely failed to convert (was gabbling the video like Youtube).&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
To install mencoder use ubuntu software center.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-5039158106308948833?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wLqSjW-6bLRvKnA4HF0-I-OWRyE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wLqSjW-6bLRvKnA4HF0-I-OWRyE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wLqSjW-6bLRvKnA4HF0-I-OWRyE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wLqSjW-6bLRvKnA4HF0-I-OWRyE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=OM6ZINirTMg:t9wF4hq96l4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=OM6ZINirTMg:t9wF4hq96l4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=OM6ZINirTMg:t9wF4hq96l4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=OM6ZINirTMg:t9wF4hq96l4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=OM6ZINirTMg:t9wF4hq96l4:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=OM6ZINirTMg:t9wF4hq96l4:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=OM6ZINirTMg:t9wF4hq96l4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=OM6ZINirTMg:t9wF4hq96l4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=OM6ZINirTMg:t9wF4hq96l4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=OM6ZINirTMg:t9wF4hq96l4:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/5039158106308948833/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/09/how-to-fix-ogv-file-to-upload-on.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/5039158106308948833?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/5039158106308948833?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/09/how-to-fix-ogv-file-to-upload-on.html" title="How to fix *.OGV file to upload on YouTube (for Ubuntu 10.04 LTS users)" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEQFQ3wyeCp7ImA9Wx5QGEk.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-7635753737891939192</id><published>2010-09-06T23:51:00.000-07:00</published><updated>2010-09-06T23:51:52.290-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-06T23:51:52.290-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Review" /><title>Portable wire-free Wi-Fi Router in India</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_sFmKMtGguSE/TIXfumzl7wI/AAAAAAAAG_E/Maozcv7gho0/s1600/photonwifi.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="129" src="http://1.bp.blogspot.com/_sFmKMtGguSE/TIXfumzl7wI/AAAAAAAAG_E/Maozcv7gho0/s320/photonwifi.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Tata has launched a new product “TATA Photon Wi-Fi Router”. With this, you can now create a portable hotspot anytime, anywhere. It is a device that enables you to share Wi-Fi with up to 5 users/devices simultaneously to access internet: Imagine the whole family accessing the internet from their respective devices – iPod Touch, WiFi enabled smartphone, laptop – on the go, all using this one portable router!&lt;br /&gt;
&lt;br /&gt;
Introductory price is 4999/-&lt;br /&gt;
&lt;br /&gt;
Device is powered by&lt;b&gt;&lt;i&gt; rechargeable Li-ion Battery&lt;/i&gt;&lt;/b&gt;.&lt;br /&gt;
&lt;a href="http://www.tataphoton.com/tata-photon-wi-fi.aspx"&gt;More Information find here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-7635753737891939192?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6fB4eVEZ_LGsbg6mUXw91pefDJc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6fB4eVEZ_LGsbg6mUXw91pefDJc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6fB4eVEZ_LGsbg6mUXw91pefDJc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6fB4eVEZ_LGsbg6mUXw91pefDJc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=c4_dcqPdrbg:oeicXXtY3oQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=c4_dcqPdrbg:oeicXXtY3oQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=c4_dcqPdrbg:oeicXXtY3oQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=c4_dcqPdrbg:oeicXXtY3oQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=c4_dcqPdrbg:oeicXXtY3oQ:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=c4_dcqPdrbg:oeicXXtY3oQ:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=c4_dcqPdrbg:oeicXXtY3oQ:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=c4_dcqPdrbg:oeicXXtY3oQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=c4_dcqPdrbg:oeicXXtY3oQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=c4_dcqPdrbg:oeicXXtY3oQ:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/7635753737891939192/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/09/portable-wire-free-wi-fi-router-in.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/7635753737891939192?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/7635753737891939192?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/09/portable-wire-free-wi-fi-router-in.html" title="Portable wire-free Wi-Fi Router in India" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_sFmKMtGguSE/TIXfumzl7wI/AAAAAAAAG_E/Maozcv7gho0/s72-c/photonwifi.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUYMRng6fyp7ImA9Wx5TEUo.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-5316938311030510074</id><published>2010-07-26T13:46:00.000-07:00</published><updated>2010-07-26T13:46:27.617-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-26T13:46:27.617-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Article" /><category scheme="http://www.blogger.com/atom/ns#" term="hack" /><title>Chrome Extension to do YQL page scraping. (quickest way to create a YQL mashup)</title><content type="html">Hello&amp;nbsp;,&lt;br /&gt;
This weekend I was in Bangalore to attend "Yahoo Hack Day", Where I wrote a hack, which is a Chrome Extension to make your life really easy when you are trying to do some page scraping using YQL. My hack is also the "winning hack".&lt;br /&gt;
&lt;br /&gt;
Name of the extension is &lt;a href="https://chrome.google.com/extensions/detail/bkmllkjbfbeephbldeflbnpclgfbjfmn"&gt;ChromYQLip&lt;/a&gt;, which you can install &lt;a href="https://chrome.google.com/extensions/detail/bkmllkjbfbeephbldeflbnpclgfbjfmn"&gt;from here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Here is demo video&lt;br /&gt;
&lt;br /&gt;
&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NZxzZfAFXaA&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/NZxzZfAFXaA&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
Yahoo hack days are great event, this time in India total participants &lt;a href="http://www.wait-till-i.com/2010/07/26/yahoo-open-hack-day-india-2010-here-are-the-winners-and-some-hacks-that-impressed-me/"&gt;were more that 450 and a total of 142 Hacks submitted and 108 hacks&lt;/a&gt; presented.&lt;br /&gt;
&lt;br /&gt;
Thanks for reading My blog&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-5316938311030510074?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iFEP1yJHq6ziQXmafG_y_Etw9JE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iFEP1yJHq6ziQXmafG_y_Etw9JE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iFEP1yJHq6ziQXmafG_y_Etw9JE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iFEP1yJHq6ziQXmafG_y_Etw9JE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=O9S1lRckW2E:otrdtGbjnzw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=O9S1lRckW2E:otrdtGbjnzw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=O9S1lRckW2E:otrdtGbjnzw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=O9S1lRckW2E:otrdtGbjnzw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=O9S1lRckW2E:otrdtGbjnzw:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=O9S1lRckW2E:otrdtGbjnzw:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=O9S1lRckW2E:otrdtGbjnzw:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=O9S1lRckW2E:otrdtGbjnzw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=O9S1lRckW2E:otrdtGbjnzw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=O9S1lRckW2E:otrdtGbjnzw:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/5316938311030510074/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/07/chrome-extension-to-do-yql-page.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/5316938311030510074?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/5316938311030510074?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/07/chrome-extension-to-do-yql-page.html" title="Chrome Extension to do YQL page scraping. (quickest way to create a YQL mashup)" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DE8MR305cSp7ImA9Wx5TFkk.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-6526223905469662816</id><published>2010-07-17T02:44:00.000-07:00</published><updated>2010-08-01T00:14:46.329-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-01T00:14:46.329-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Article" /><title>How to use Javascript beautifier with gedit.</title><content type="html">&lt;a href="http://jsbeautifier.org/"&gt;Javascript beautifier&lt;/a&gt; is an awesome online tool to indent your&amp;nbsp;JavaScript&amp;nbsp;code. I use it very often.&lt;br /&gt;
Earlier I &amp;nbsp;use to paste my code in this online tool to get my&amp;nbsp;JavaScript&amp;nbsp;code indented.&lt;br /&gt;
Fortunately there is a way to integrate javascript beautifier with gedit.&lt;br /&gt;
Here are steps(I hope u are using latest&amp;nbsp;version&amp;nbsp;Ubuntu&amp;nbsp;Linux, and having python&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=markasblog-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0596158068" style="border: none !important; margin: 0px !important; padding: 0px !important;" width="1" /&gt;).&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;Step1:Install gedit plugin "External Tools"&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;
open gedit and go to edit-&amp;gt;preferences-&amp;gt;plugins(tab)&lt;br /&gt;
see if you already have a plugin "External Tools", if not install using this command.&lt;br /&gt;
&lt;pre&gt;&lt;div style="background: black; color: green;"&gt;$ sudo apt-get install gedit-plugins

&lt;/div&gt;&lt;/pre&gt;After inslalling enable this plugin from edit-&amp;gt;preferences-&amp;gt;plugins(tab).&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;Step2: Install Rhino Shell.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
You need Rhino Shell, to execute javascript on commandline.&lt;br /&gt;
To check whether you already have "Rhino Shell" or not, type "js" on Command Line.&lt;br /&gt;
You can Install "Rhino Shell" by typing this command.&lt;br /&gt;
&lt;pre&gt;&lt;div style="background: black; color: green;"&gt;$ sudo apt-get install rhino

&lt;/div&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;Step3: Download  einars-js-beautify.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
You can download it here &lt;a href="http://github.com/einars/js-beautify"&gt;http://github.com/einars/js-beautify .&lt;/a&gt;&lt;br /&gt;
Extract&amp;nbsp;it in some folder. lets say you have extracted it in folder&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: orange;"&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="background-color: black;"&gt;"/home/markandey/dev/einars-js-beautify/"&amp;nbsp;.&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;Step4: Configure  plugin to use jsbeautify.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
Now go to "gedit-&amp;gt;tools-&amp;gt;manage external tools" and add a new command script, with following description.&lt;br /&gt;
&lt;br /&gt;
Description: Beautify Javascript using einars jsbeautify&lt;br /&gt;
Shortcut Key: &lt;your choice=""&gt;&amp;nbsp;&lt;your choice=""&gt;&lt;br /&gt;
Commands: &lt;br /&gt;
&lt;/your&gt;&lt;/your&gt;&lt;br /&gt;
&lt;pre&gt;&lt;div style="background: black; color: green;"&gt;#!/usr/bin/env python

import os
import sys
import tempfile

jsbeautify_path = "&lt;span class="Apple-style-span" style="color: orange;"&gt;/home/markandey/dev/einars-js-beautify/&lt;/span&gt;"

content = sys.stdin.read()
h, tmpfile = tempfile.mkstemp()
os.close(h)

f = open(tmpfile, "w")
f.write(content)
f.close()

cmd = "js beautify-cl.js -i 4 %s"%(tmpfile)
os.chdir(jsbeautify_path)
content = os.system(cmd)
os.remove(tmpfile)

&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;
use these attributes.&lt;br /&gt;
&lt;b&gt; Input&lt;/b&gt;: Current Selection.&lt;br /&gt;
&lt;b&gt; Output&lt;/b&gt;: Replace the current selection.&lt;br /&gt;
&lt;b&gt; Applicability&lt;/b&gt;: All documents.&lt;br /&gt;
&lt;br /&gt;
That's it! you are done!&lt;br /&gt;
&lt;br /&gt;
Thanks for reading my blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-6526223905469662816?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5w-xStf-FQ1exPHfCv9umXP1a54/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5w-xStf-FQ1exPHfCv9umXP1a54/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5w-xStf-FQ1exPHfCv9umXP1a54/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5w-xStf-FQ1exPHfCv9umXP1a54/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=D8jLajOve9Q:TFe5MtmQSPs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=D8jLajOve9Q:TFe5MtmQSPs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=D8jLajOve9Q:TFe5MtmQSPs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=D8jLajOve9Q:TFe5MtmQSPs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=D8jLajOve9Q:TFe5MtmQSPs:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=D8jLajOve9Q:TFe5MtmQSPs:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=D8jLajOve9Q:TFe5MtmQSPs:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=D8jLajOve9Q:TFe5MtmQSPs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=D8jLajOve9Q:TFe5MtmQSPs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=D8jLajOve9Q:TFe5MtmQSPs:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/6526223905469662816/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/07/how-to-use-javascript-beautifier-with.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/6526223905469662816?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/6526223905469662816?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/07/how-to-use-javascript-beautifier-with.html" title="How to use Javascript beautifier with gedit." /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;C04CQnoyfCp7ImA9WxFVFEQ.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-1263236551255276357</id><published>2010-06-13T21:51:00.000-07:00</published><updated>2010-06-13T22:06:03.494-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-13T22:06:03.494-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="hack" /><title>HindiTransliteration (c# and JavaScript implementation, works offline)</title><content type="html">&lt;div class="gb" id="transdiv"&gt;When I was in college, I wrote a quick and dirty code to transliterate in Hindi (&lt;a href="http://www.amazon.com/Ek-Bharati-vishvanagari-romanised-integration-brotherhood/dp/B0006CSN38?ie=UTF8&amp;amp;tag=markasblog-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;DevNagari &lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=markasblog-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=B0006CSN38" style="border: none !important; margin: 0px !important; padding: 0px !important;" width="1" /&gt;Script). Much before &lt;a href="http://www.google.com/transliterate/"&gt;Google's Implementation&lt;/a&gt;. &lt;br /&gt;
{This code was kept on my old desktop PC,I Thought, its a good idea to share with the rest of the world}&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.purplegene.com/static/HindiTranslitration.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_sFmKMtGguSE/TBWzzB76hbI/AAAAAAAAG7U/7qDp7h6abbA/s320/Hindi.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Though my implementation is not very robust, but Its very simple and small. It does not require any &lt;a href="http://www.amazon.com/NETGEAR-Powerline-Adapter-Ethernet-XAVB1004/dp/B002FB684E?ie=UTF8&amp;amp;tag=markasblog-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;Internet connection &lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=markasblog-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=B002FB684E" style="border: none !important; margin: 0px !important; padding: 0px !important;" width="1" /&gt;and can work offline.&lt;br /&gt;
&lt;br /&gt;
Note: code was originally written in C#.net and converted to javascript latter.&lt;br /&gt;
Here is &lt;a href="http://code.google.com/p/jugad/downloads/detail?name=HindiTransliteration.zip&amp;amp;can=2&amp;amp;q=%22"&gt;C#.net Code(solution zipped)&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
You need to call function&lt;br /&gt;
&lt;div class="code"&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;&lt;i&gt;DoTransLitrate(str)&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;Where str(as input): Phonetically typed (in English) Hindi .&lt;br /&gt;
Returns: Hindi in Devnagari script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Using JavaScript Code&lt;/b&gt;&lt;br /&gt;
Get the JavaScript &lt;a href="http://www.purplegene.com/static/trans.js"&gt;File from here&lt;/a&gt; include in your html page and call function &lt;br /&gt;
&lt;pre&gt;DoTransLitrate()&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="background-color: blue;"&gt;&lt;a href="http://www.purplegene.com/static/HindiTranslitration.html"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;  DEMO  &lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-1263236551255276357?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GLTHuBiPZn0ejb4tE8fDT3whTBU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GLTHuBiPZn0ejb4tE8fDT3whTBU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GLTHuBiPZn0ejb4tE8fDT3whTBU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GLTHuBiPZn0ejb4tE8fDT3whTBU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=Bf4jmZu9LPU:9b1yzpKvz5s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=Bf4jmZu9LPU:9b1yzpKvz5s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=Bf4jmZu9LPU:9b1yzpKvz5s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=Bf4jmZu9LPU:9b1yzpKvz5s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=Bf4jmZu9LPU:9b1yzpKvz5s:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=Bf4jmZu9LPU:9b1yzpKvz5s:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=Bf4jmZu9LPU:9b1yzpKvz5s:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=Bf4jmZu9LPU:9b1yzpKvz5s:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=Bf4jmZu9LPU:9b1yzpKvz5s:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=Bf4jmZu9LPU:9b1yzpKvz5s:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/1263236551255276357/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/06/hinditransliteration-c-and-javascript.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/1263236551255276357?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/1263236551255276357?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/06/hinditransliteration-c-and-javascript.html" title="HindiTransliteration (c# and JavaScript implementation, works offline)" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_sFmKMtGguSE/TBWzzB76hbI/AAAAAAAAG7U/7qDp7h6abbA/s72-c/Hindi.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DU4DSHw4eSp7ImA9WxFWGUo.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-2065124481241085498</id><published>2010-06-07T23:04:00.000-07:00</published><updated>2010-06-07T23:19:39.231-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-07T23:19:39.231-07:00</app:edited><title>Kill All Chrome Instance at once (Linux+ Windows)</title><content type="html">&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Windows&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt; users can follow this &lt;a href="http://www.howtogeek.com/howto/windows-vista/how-do-i-kill-all-the-iexploreexe-processes-at-once/"&gt;instructions here&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Or simply use command&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="background: black;"&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: lime;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;taskkill /F /IM &lt;span class="Apple-style-span" style="color: orange;"&gt;chrome.exe&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: lime;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;span class="Apple-style-span" style="color: #e69138;"&gt;Linux&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px;"&gt; &lt;a href="http://www.amazon.com/Geeks-Lost-Boys-Internet-Idaho/dp/0767906993?ie=UTF8&amp;amp;tag=markasblog-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;geeks&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=markasblog-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0767906993" style="border: none !important; margin: 0px !important; padding: 0px !important;" width="1" /&gt; can use this command&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background: black; color: green;"&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&lt;b&gt; &lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;kill -9 `ps -A |grep &lt;span class="Apple-style-span" style="color: orange;"&gt;chrome&lt;/span&gt;| cut -d "?" -f1`&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;How This works?&lt;/b&gt;&lt;br /&gt;
I am sure that, most of the&amp;nbsp;Linux&amp;nbsp;users can easily figure it out, but for those who want&amp;nbsp;explanation&amp;nbsp;here you go...&lt;br /&gt;
Command&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="background-color: black;"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;&amp;nbsp;&amp;nbsp;ps -A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt; list all the processes&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: white;"&gt;&lt;span class="Apple-style-span" style="background-color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;grep chorme &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &amp;nbsp;will filter only those process which has name as chrome&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: white;"&gt;&lt;span class="Apple-style-span" style="background-color: black;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;cut -d "?" &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt; will cut the process Id potion of the out put.&lt;br /&gt;
and&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: black;"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;kill -9 &lt;pid&gt;&amp;nbsp;&lt;/pid&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt; kills a process ,&lt;br /&gt;
so above command will kill all the process with name &lt;b&gt;&lt;a href="http://www.amazon.com/Chrome-Loris-Azzaro-Toilette-Spray/dp/B000C1VSUI?ie=UTF8&amp;amp;tag=markasblog-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;chrome&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=markasblog-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=B000C1VSUI" style="border: none !important; margin: 0px !important; padding: 0px !important;" width="1" /&gt;&lt;/b&gt;.&lt;br /&gt;
Please Note that this command will work on those processes which are not command line (mostly&amp;nbsp;launched&amp;nbsp;from UI ) (i.e whose tty field is "?")&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-2065124481241085498?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lO1BabK2QupwP7wwBTx8Rj3t4U0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lO1BabK2QupwP7wwBTx8Rj3t4U0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lO1BabK2QupwP7wwBTx8Rj3t4U0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lO1BabK2QupwP7wwBTx8Rj3t4U0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=7cclTXch4k4:eAVRJJBTDP4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=7cclTXch4k4:eAVRJJBTDP4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=7cclTXch4k4:eAVRJJBTDP4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=7cclTXch4k4:eAVRJJBTDP4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=7cclTXch4k4:eAVRJJBTDP4:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=7cclTXch4k4:eAVRJJBTDP4:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=7cclTXch4k4:eAVRJJBTDP4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=7cclTXch4k4:eAVRJJBTDP4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=7cclTXch4k4:eAVRJJBTDP4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=7cclTXch4k4:eAVRJJBTDP4:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/2065124481241085498/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/06/windows-users-can-follow-this.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/2065124481241085498?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/2065124481241085498?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/06/windows-users-can-follow-this.html" title="Kill All Chrome Instance at once (Linux+ Windows)" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;CEEFR3s8fSp7ImA9WxFXEks.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-8623846173566094092</id><published>2010-05-19T01:51:00.000-07:00</published><updated>2010-05-19T02:50:16.575-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-19T02:50:16.575-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Article" /><category scheme="http://www.blogger.com/atom/ns#" term="hack" /><title>Twenital: Determines gender from a twitter handle</title><content type="html">Twitter never stores the gender of their users. It makes the life of analytic engines very difficult to find that what is the ratio of men vs women on twitter.&lt;br /&gt;
Here I have created quick and &lt;a href="http://www.purplegene.com/static/twenital.html"&gt;dirty&amp;nbsp;mash-up&amp;nbsp;to get &amp;nbsp;gender of the twitter user&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.purplegene.com/static/twenital.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="196" src="http://4.bp.blogspot.com/_sFmKMtGguSE/S_OkxIxcKJI/AAAAAAAAG5M/2eXrL1QFPnU/s400/twinital.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;How It Works?&lt;/b&gt;&lt;br /&gt;
Thanks to face.com API, they have recently released&lt;a href="http://developers.face.com/tools/#faces/detect"&gt; face recognition API&lt;/a&gt;. I am simply using their face recognition API to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_sFmKMtGguSE/S_OkXUsoemI/AAAAAAAAG5I/oz9ezjVzpog/s1600/flowface.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="81" src="http://3.bp.blogspot.com/_sFmKMtGguSE/S_OkXUsoemI/AAAAAAAAG5I/oz9ezjVzpog/s400/flowface.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Here is AJAX code&lt;br /&gt;
&lt;br /&gt;
&lt;div class="code" style="background: black; color: green;"&gt;&lt;pre&gt;function getusergender(imageurl) {
var url = 'http://api.face.com/faces/detect.json?api_key=1ce92a4c5e60f04c37bedf86c2d19387&amp;amp;urls=' + imageurl + '&amp;amp;callback=?';
$.getJSON(url, function (data) {
if (data.status == "success") {
if (data.photos[0].tags.length == 0) {
$("#resdiv").html('&amp;lt;div class="errormsg"&amp;gt;hmmm..Let him/her put better profile picture. &amp;lt;/b&amp;gt;TIP: put high resolution profile picture, facing front.&amp;lt;/div&amp;gt;');
}
else if (data.photos[0].tags.length &amp;gt; 1) {
showerror('This user is multifaceted, Let him/her put better profile picture..');
}
else {
if (data.photos[0].tags[0].attributes.gender.value) {
var gender = data.photos[0].tags[0].attributes.gender.value;
if (data.photos[0].tags[0].attributes.gender.confidence &amp;gt; 40) {
if (gender == 'male') {
$("#resdiv").text('100% Male');
}
else {
$("#resdiv").text('Gorgeous Female');
}

}
else {
if (gender == 'male') {
$("#resdiv").text('Male');
}
else {
$("#resdiv").text('Female');
}
}
}
else {
showerror('hmmm... not sure!!');
}

}
}
else {
if (data.usage.used &amp;gt; 197) {
showerror('Sorry!! Application Overloaded!!');
}
else {
showerror('Processing failed!! Can not determine gender!!');
}
}
});

}
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="background-color: blue;"&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.purplegene.com/static/twenital.html"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt; DEMO &lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-8623846173566094092?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9fdwdMbgV5UDlMJCgmgezrD4nAA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9fdwdMbgV5UDlMJCgmgezrD4nAA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9fdwdMbgV5UDlMJCgmgezrD4nAA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9fdwdMbgV5UDlMJCgmgezrD4nAA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=AE41LVFzNQE:zXnM0ms7LV8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=AE41LVFzNQE:zXnM0ms7LV8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=AE41LVFzNQE:zXnM0ms7LV8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=AE41LVFzNQE:zXnM0ms7LV8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=AE41LVFzNQE:zXnM0ms7LV8:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=AE41LVFzNQE:zXnM0ms7LV8:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=AE41LVFzNQE:zXnM0ms7LV8:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=AE41LVFzNQE:zXnM0ms7LV8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=AE41LVFzNQE:zXnM0ms7LV8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=AE41LVFzNQE:zXnM0ms7LV8:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/8623846173566094092/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/05/twenital-determines-gender-from-twitter.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/8623846173566094092?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/8623846173566094092?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/05/twenital-determines-gender-from-twitter.html" title="Twenital: Determines gender from a twitter handle" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_sFmKMtGguSE/S_OkxIxcKJI/AAAAAAAAG5M/2eXrL1QFPnU/s72-c/twinital.PNG" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;DUYBRHw9cSp7ImA9WxFXEkg.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-38011856954899725</id><published>2010-05-19T01:19:00.000-07:00</published><updated>2010-05-19T01:19:15.269-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-19T01:19:15.269-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Article" /><title>Offline Google Maps in C#.net</title><content type="html">Sometime back I &lt;a href="http://www.markandey.com/2010/01/hacking-google-maps-ajax-api-to-use-in.html"&gt;wrote an application&lt;/a&gt; for windows mobile in c#.net which can give you turn-by-turn navigation on phone completely offline. Map and direction info will be pulled by a peer Desktop application which will export all these information in an XML file. This XML file will have these 2 Items&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Static Map Images (covering the track at zoomed &amp;amp; top level))&lt;/li&gt;
&lt;li&gt;Direction steps and description.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;Static map images can be downloaded from&amp;nbsp;Google&amp;nbsp;using there &lt;a href="http://code.google.com/apis/maps/documentation/staticmaps/"&gt;static map API&lt;/a&gt;. Direction steps and descriptions can only be downloaded via a AJAX API. Since I had only AJAX way of getting this data, I created a &lt;a href="http://code.google.com/p/pocketnavigator/source/browse/trunk/staticmaptest/DirectionsTest.html"&gt;webpage&lt;/a&gt; which can do all&amp;nbsp;necessary DOM operation using&amp;nbsp;JavaScript.&amp;nbsp;&amp;nbsp;Once the DOM is populated I can easily grab the data from C# API (Web browser control + GetElementByID APIs).&lt;br /&gt;
&lt;br /&gt;
Downloading the static Images from&amp;nbsp;Google&amp;nbsp;is not enough, you need to map&amp;nbsp;&lt;b&gt;&lt;i&gt;Latitude&amp;nbsp;&lt;/i&gt;&lt;/b&gt;and &lt;b&gt;&lt;i&gt;Longitude &lt;/i&gt;&lt;/b&gt;on the static map.&amp;nbsp;Which is done like this&lt;/div&gt;&lt;div style="background-color: black; color: green;"&gt;&lt;pre&gt;public PixelPoint GetCordinateOnStaticImage(double latitude, double longitude, 
double centerLat, 
double centerLang, 
int zoom,
double width,
double height)
{

       long val = 1 &amp;lt;&amp;lt; ((21 - zoom));
       double target_y = LatToY(latitude); 
       double target_x = LongToX(longitude);
       double delta_x = (((target_x - LongToX(centerLang))) / (val));
       double delta_y  =(((target_y - LatToY(centerLat)) )/ (val));
       double marker_x = (width/2) + delta_x;
       double marker_y = (height/2) + delta_y;
       PixelPoint p = new PixelPoint(marker_x,marker_y);
       return p;
}
&lt;/pre&gt;&lt;/div&gt;You can see Full &lt;a href="http://code.google.com/p/pocketnavigator/source/browse/trunk/PocketDashboard/MapUtillityClasses/MapsUtils.cs"&gt;source code here&lt;/a&gt;.&amp;nbsp;&lt;a href="http://www.appelsiini.net/2008/6/clickable-markers-with-google-static-maps"&gt;Originally Idea is taken from here&lt;/a&gt;.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Direction&lt;/b&gt;&lt;br /&gt;
Google&amp;nbsp;returns the&amp;nbsp;poly-line&amp;nbsp;of the direction path. Some of the points on this polyline will be identified as &lt;b&gt;step, &lt;/b&gt;step has direction&amp;nbsp;description, e.g "&lt;b&gt;&lt;i&gt;at blah blah circle take left&lt;/i&gt;&lt;/b&gt;".&lt;br /&gt;
This project solve another problem of pulling the right direction&amp;nbsp;description&amp;nbsp;from the given location.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SourceCode&lt;/b&gt;&lt;br /&gt;
Complete source-code of this project is &lt;a href="http://code.google.com/p/pocketnavigator/"&gt;available on Google code here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Demo&lt;/b&gt;&lt;br /&gt;
Here is a demo video.&lt;br /&gt;
&lt;br /&gt;
&lt;object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0" data="http://www.screentoaster.com/swf/STPlayer.swf" height="344" id="stWUlUQURIR19cR1lVWF9fXlRX" type="application/x-shockwave-flash" width="425"&gt;&lt;param name='movie' value='http://www.screentoaster.com/swf/STPlayer.swf'/&gt;&lt;param name='allowFullScreen' value='true'/&gt;&lt;param name='allowScriptAccess' value='always'/&gt;&lt;param name='flashvars' value='video=stWUlUQURIR19cR1lVWF9fXlRX'/&gt;&lt;/object&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-38011856954899725?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZaKgtho63E6xPIrxdAegxE0HepY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZaKgtho63E6xPIrxdAegxE0HepY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZaKgtho63E6xPIrxdAegxE0HepY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZaKgtho63E6xPIrxdAegxE0HepY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=fSDTziLHquk:vg3TEPT31LM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=fSDTziLHquk:vg3TEPT31LM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=fSDTziLHquk:vg3TEPT31LM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=fSDTziLHquk:vg3TEPT31LM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=fSDTziLHquk:vg3TEPT31LM:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=fSDTziLHquk:vg3TEPT31LM:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=fSDTziLHquk:vg3TEPT31LM:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=fSDTziLHquk:vg3TEPT31LM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=fSDTziLHquk:vg3TEPT31LM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=fSDTziLHquk:vg3TEPT31LM:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/38011856954899725/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/05/offline-google-maps-in-cnet.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/38011856954899725?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/38011856954899725?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/05/offline-google-maps-in-cnet.html" title="Offline Google Maps in C#.net" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEEEQHk_fyp7ImA9WxFSF0o.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-2396170727687320712</id><published>2010-04-19T11:37:00.000-07:00</published><updated>2010-04-20T07:10:01.747-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-20T07:10:01.747-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Article" /><category scheme="http://www.blogger.com/atom/ns#" term="hack" /><title>Create quick and dirty YQL Mash-up in 10 seconds (using MashupBuilder)</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.purplegene.com/static/mashupbuilder.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="199" src="http://4.bp.blogspot.com/_sFmKMtGguSE/S8xUeanNDiI/AAAAAAAAG3g/-HDOexJ1bfI/s320/mashup.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Sometime, you might have experienced that &amp;nbsp;you have to wait till whole website is downloaded just to see a stock-quote, game score, or league points table(etc.). Mostly these kind of websites are poorly managed, and they are very slow or contains too many annoying ads. I have created a &lt;a href="http://www.purplegene.com/static/mashupbuilder.html"&gt;Mash-up-builder&lt;/a&gt; that will help you in creating YQL based mash-up, very quickly. These&amp;nbsp;mash-ups will be capable of showing just a&amp;nbsp;small&amp;nbsp;portion of the original web page. Mash-up&amp;nbsp;will be&amp;nbsp;dynamic&amp;nbsp;and content will be pulled from original page every-time you will visit the&amp;nbsp;mash-up.&amp;nbsp;Additionally mash-up will be hosted on my website, so you need not to bother about hosting, though you can copy HTML code anytime if you want to host on your own.&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #666666;"&gt;(these mashups are pure&amp;nbsp;JavaScript, no server side coding)&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
Advantage is getting a&amp;nbsp;faster &amp;amp;&amp;nbsp;neat web page.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;It was very easy to create&amp;nbsp;mash-up-builder. I used &lt;a href="http://developer.yahoo.com/yql/console/#h=select%20*%20from%20html%20where%20url%3D%22http%3A//finance.yahoo.com/q%3Fs%3Dyhoo%22%20and%0A%20%20%20%20%20%20xpath%3D%27//div%5B@id%3D%22yfi_headlines%22%5D/div%5B2%5D/ul/li/a%27"&gt;YQL's html&lt;/a&gt; table.&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;How it works?&lt;/b&gt;&lt;br /&gt;
As you see that &lt;a href="http://developer.yahoo.com/yql/console/#h=select%20*%20from%20html%20where%20url%3D%22http%3A//finance.yahoo.com/q%3Fs%3Dyhoo%22%20and%0A%20%20%20%20%20%20xpath%3D%27//div%5B@id%3D%22yfi_headlines%22%5D/div%5B2%5D/ul/li/a%27"&gt;YQL's HTML&lt;/a&gt; table gives you output if you provide the URL and xpath of the content.&amp;nbsp;Similarly Mash-up builder take 2 parameters as input, a &lt;b&gt;&lt;i&gt;URL&lt;/i&gt;&lt;/b&gt; of the web page and an &lt;b&gt;&lt;i&gt;XPATH&lt;/i&gt;&lt;/b&gt; of the content. Once these 2 things are ready, I &lt;a href="http://www.wait-till-i.com/2010/01/10/loading-external-content-with-ajax-using-jquery-and-yql/"&gt;cleverly&lt;/a&gt; used &lt;a href="http://www.ibm.com/developerworks/library/wa-aj-jsonp1/?ca=dgr-jw64JSONP-jQuery&amp;amp;S_TACT=105AGY46&amp;amp;S_CMP=grsitejw64"&gt;JSONP&lt;/a&gt; to render the content on page.&lt;br /&gt;
&lt;br /&gt;
I&amp;nbsp;recommend&amp;nbsp;you to see the source &lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;i&gt;{view-source}&lt;/i&gt;&lt;/span&gt; to&amp;nbsp;understand&amp;nbsp;the working of the mash-up.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;Warning&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
Since&amp;nbsp;mash-up&amp;nbsp;builder injects HTML content&amp;nbsp;directly&amp;nbsp;from external source, its &amp;nbsp;prone to &lt;i&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;CrossSite Scripting&lt;/span&gt;&lt;/i&gt; attack. My website is not hosting any private content , so to me its fine because no security can be breached, do not try to replicate this functionality on your website if your website is hosting some private content. &lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="background-color: blue;"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;&amp;nbsp;&amp;nbsp;LIVE&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.purplegene.com/static/mashupbuilder.html"&gt;&lt;span class="Apple-style-span" style="background-color: blue;"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;DEMO&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="background-color: blue;"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="background-color: blue;"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="background-color: blue;"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object height="364" width="445"&gt;&lt;param name="movie" value="http://www.youtube.com/v/WDTylDgrcZM&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/WDTylDgrcZM&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;Feel free to share on twitter,&amp;nbsp;Facebook&amp;nbsp;&amp;amp; other social networking sites.&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-2396170727687320712?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oO7GdJzBhHY_bmyrtQL8SbJ_EGI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oO7GdJzBhHY_bmyrtQL8SbJ_EGI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oO7GdJzBhHY_bmyrtQL8SbJ_EGI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oO7GdJzBhHY_bmyrtQL8SbJ_EGI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=Onv0oBx9asM:QNRBwpOv3-4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=Onv0oBx9asM:QNRBwpOv3-4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=Onv0oBx9asM:QNRBwpOv3-4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=Onv0oBx9asM:QNRBwpOv3-4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=Onv0oBx9asM:QNRBwpOv3-4:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=Onv0oBx9asM:QNRBwpOv3-4:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=Onv0oBx9asM:QNRBwpOv3-4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=Onv0oBx9asM:QNRBwpOv3-4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=Onv0oBx9asM:QNRBwpOv3-4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=Onv0oBx9asM:QNRBwpOv3-4:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/2396170727687320712/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/04/create-quick-and-dirty-yql-mash-up-in.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/2396170727687320712?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/2396170727687320712?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/04/create-quick-and-dirty-yql-mash-up-in.html" title="Create quick and dirty YQL Mash-up in 10 seconds (using MashupBuilder)" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_sFmKMtGguSE/S8xUeanNDiI/AAAAAAAAG3g/-HDOexJ1bfI/s72-c/mashup.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEQDRXw4cSp7ImA9WxFTE0k.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-448774146159416014</id><published>2010-04-03T17:40:00.000-07:00</published><updated>2010-04-03T17:52:54.239-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-03T17:52:54.239-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hack" /><title>IPL Tables made sortable</title><content type="html">Ever since I visited the &lt;a href="http://www.iplt20.com/"&gt;official IPL website&lt;/a&gt;, I hated those static points table.  &lt;br /&gt;
&lt;br /&gt;
So I used YQL to grab that data and place in very &lt;a href="http://www.purplegene.com/static/ipltabledynamic.html"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;&lt;span class="Apple-style-span" style="background-color: blue;"&gt;&lt;b&gt;sortable fashion here&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;b&gt;.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_sFmKMtGguSE/S7fenE7cZ7I/AAAAAAAAG1g/3X_mWmjeL1c/s1600-h/ipltable.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="211" src="http://3.bp.blogspot.com/_sFmKMtGguSE/S7fenE7cZ7I/AAAAAAAAG1g/3X_mWmjeL1c/s320/ipltable.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
To create this I am using,&lt;br /&gt;
&lt;a href="http://developer.yahoo.com/yql/"&gt;YQL&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://code.google.com/apis/visualization/documentation/reference.html#DataView"&gt;Google visualization API&lt;/a&gt;&amp;nbsp;&amp;nbsp;(optionally one can use YUI)&lt;br /&gt;
&lt;a href="http://jqueryui.com/demos/tabs/"&gt;Jquery tabs&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-448774146159416014?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kMdZ9lgAnzijuSp2NKqcA7tB-dk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kMdZ9lgAnzijuSp2NKqcA7tB-dk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kMdZ9lgAnzijuSp2NKqcA7tB-dk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kMdZ9lgAnzijuSp2NKqcA7tB-dk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=UOT9KlvkTUw:SocoX1G2Cv4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=UOT9KlvkTUw:SocoX1G2Cv4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=UOT9KlvkTUw:SocoX1G2Cv4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=UOT9KlvkTUw:SocoX1G2Cv4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=UOT9KlvkTUw:SocoX1G2Cv4:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=UOT9KlvkTUw:SocoX1G2Cv4:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=UOT9KlvkTUw:SocoX1G2Cv4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=UOT9KlvkTUw:SocoX1G2Cv4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=UOT9KlvkTUw:SocoX1G2Cv4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=UOT9KlvkTUw:SocoX1G2Cv4:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/448774146159416014/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/04/ipl-tables-made-sortable.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/448774146159416014?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/448774146159416014?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/04/ipl-tables-made-sortable.html" title="IPL Tables made sortable" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_sFmKMtGguSE/S7fenE7cZ7I/AAAAAAAAG1g/3X_mWmjeL1c/s72-c/ipltable.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DU4AQXg8fSp7ImA9WxFXFU8.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-7725799100962786506</id><published>2010-03-26T06:08:00.000-07:00</published><updated>2010-05-22T04:32:20.675-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-22T04:32:20.675-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Article" /><title>How to write your own spell checker ? C#.net</title><content type="html">Hi There,&lt;br /&gt;
Today I wrote a&amp;nbsp;readable&amp;nbsp;&amp;amp; usable implementation of Norvig's Spell&amp;nbsp;corrector.&lt;br /&gt;
&lt;a href="http://norvig.com/spell-correct.html"&gt;Norvi's implementation &lt;/a&gt;of spell check is awesome! On his site he has link to many other implementation in various languages, including C#.&lt;br /&gt;
&lt;br /&gt;
Most of the implementation are focused on minimum number of lines , so they are not readable. I have&amp;nbsp;written&amp;nbsp;my own implementation which you can use on your own risk.&lt;br /&gt;
&lt;br /&gt;
Here is the &lt;a href="http://code.google.com/p/jugad/source/browse/trunk/C%23/SpellCheck/spell.cs"&gt;source code&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
You can also check-out entire code using this svn command&lt;br /&gt;
&lt;div style="background-color: black; color: white;"&gt;&lt;span class="Apple-style-span" style="background-color: lime;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: lime;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: black;"&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;svn checkout https://jugad.googlecode.com/svn/trunk/C%23/SpellCheck SpellCheck &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: lime;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: lime;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;How Algorithm works?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;1&lt;/span&gt;.Initially Algorithms builds a&amp;nbsp;dictionary*&amp;nbsp;data-structure of words, from a huge English text. (so algorithm does not uses dictionary# file as such). This&amp;nbsp;dictionary*&amp;nbsp;contains words-to-frequency-of-occurrence mapping. lets say it as &lt;b&gt;&lt;i&gt;nWords&lt;/i&gt;&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_sFmKMtGguSE/S_e_BlMze_I/AAAAAAAAG5Y/LrcPh_0bvw0/s1600/Spellchecker.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/_sFmKMtGguSE/S_e_BlMze_I/AAAAAAAAG5Y/LrcPh_0bvw0/s400/Spellchecker.png" width="290" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;2&lt;/span&gt;.When you will fetch a word(lets say '&lt;b&gt;&lt;i&gt;w&lt;/i&gt;&lt;/b&gt;') for spell correction,Then the algorithm builds a list of all possible words that can be formed from w by doing following operation&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Deletion (delete 1 character, for all possible combination)&lt;/li&gt;
&lt;li&gt;Transposition (flip 1 character, for all possible combination)&lt;/li&gt;
&lt;li&gt;Alteration (modify 1 character, for all possible combination)&lt;/li&gt;
&lt;li&gt;Insertion (insert 1 character, for all possible combination)&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
Lets say name of this list is '&lt;b&gt;&lt;i&gt;edits&lt;/i&gt;&lt;/b&gt;' , note that all words in this list are just 1 step away from original word.&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;3.&lt;/span&gt; If &lt;b&gt;&lt;i&gt;edits&lt;/i&gt;&lt;/b&gt; has 1 or more words that exists in&amp;nbsp;&lt;b&gt;&lt;i&gt;nWords&lt;/i&gt;&lt;/b&gt;, then it returns the word from&amp;nbsp;&lt;b&gt;&lt;i&gt;nWords&lt;/i&gt;&lt;/b&gt;&amp;nbsp;with maximum frequency, as a result.&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;4.&lt;/span&gt; If No words in 'edits' are present in&amp;nbsp;&lt;b&gt;&lt;i&gt;nWords&lt;/i&gt;&lt;/b&gt;, then it creates another&amp;nbsp;&lt;b&gt;&lt;i&gt;edits&lt;/i&gt;&lt;/b&gt; using &lt;b&gt;&lt;i&gt;edits&lt;/i&gt;&lt;/b&gt; to get second level word (word which are 2 step away from original input word)&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;5.&lt;/span&gt;Repeats from step-3 (or give up if your are already 2/3 steps apart from original word 'w')&lt;br /&gt;
&lt;a href="http://code.google.com/p/jugad/source/browse/trunk/C%23/SpellCheck/spell.cs"&gt;Read more Here.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;How To Use This code ?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
To use this code&amp;nbsp;instantiate class &lt;i&gt;&lt;b&gt;spell&lt;/b&gt;&lt;/i&gt; by passing huge-string of&amp;nbsp;English&amp;nbsp;text (from where it will build dictionary)&lt;br /&gt;
Then call function correct() to get the&amp;nbsp;corrected&amp;nbsp;word as result.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Note:This code is just to demonstrate the algorithm, modify constructor to build dictionary&amp;nbsp;directly&amp;nbsp;from file. You can also avoid calling sort operation in function 'correct'. Thoroughly understand the code before using it. Notify me if you find any critical problem.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;*dictionary&amp;nbsp;data-structure&amp;nbsp;of programming&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;#real dictionary&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-7725799100962786506?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rtgvSd-HQzpgkdUm1AgqC42n5VE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rtgvSd-HQzpgkdUm1AgqC42n5VE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rtgvSd-HQzpgkdUm1AgqC42n5VE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rtgvSd-HQzpgkdUm1AgqC42n5VE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=JnjsggaDep8:fCcLZWyE1_8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=JnjsggaDep8:fCcLZWyE1_8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=JnjsggaDep8:fCcLZWyE1_8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=JnjsggaDep8:fCcLZWyE1_8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=JnjsggaDep8:fCcLZWyE1_8:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=JnjsggaDep8:fCcLZWyE1_8:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=JnjsggaDep8:fCcLZWyE1_8:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=JnjsggaDep8:fCcLZWyE1_8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=JnjsggaDep8:fCcLZWyE1_8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=JnjsggaDep8:fCcLZWyE1_8:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/7725799100962786506/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/03/how-to-write-your-own-spell-checker.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/7725799100962786506?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/7725799100962786506?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/03/how-to-write-your-own-spell-checker.html" title="How to write your own spell checker ? C#.net" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_sFmKMtGguSE/S_e_BlMze_I/AAAAAAAAG5Y/LrcPh_0bvw0/s72-c/Spellchecker.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEMDRHo9eCp7ImA9WxBaFUk.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-818300418020326554</id><published>2010-03-25T11:41:00.000-07:00</published><updated>2010-03-25T11:41:15.460-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-25T11:41:15.460-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Article" /><title>How to get Tabs (navigation bar) on new blogger templates</title><content type="html">Hi There,&lt;br /&gt;
First of all you might have seen that blogger has brought-up new &lt;a href="http://bloggerindraft.blogspot.com/2010/03/blogger-template-designer.html"&gt;Template Designer&lt;/a&gt;. This article is to tell you that "how can you add tabs in these new templates?"&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_sFmKMtGguSE/S6ut_A-2ZXI/AAAAAAAAG1c/oL5859ueYAU/s1600-h/template+designer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="128" src="http://3.bp.blogspot.com/_sFmKMtGguSE/S6ut_A-2ZXI/AAAAAAAAG1c/oL5859ueYAU/s320/template+designer.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;Its very easy&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Open&amp;nbsp;&lt;a href="http://draft.blogger.com/home"&gt;http://draft.blogger.com/home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Go To layout section and add a page element of type "HTML/Javascript" just below "Blog Header"&lt;/li&gt;
&lt;li&gt;Now add this code in the widget. &lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background-color: black; color: green;"&gt;&lt;br /&gt;
&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href="http://sampleurl.com"&amp;gt;Sample URL&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href="http://example.com" &amp;gt;Example Links&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;&lt;br /&gt;
Note that between ul tag you can add many as li items as you want. &lt;br /&gt;
each li item will have a anchor ("a") element whose href property needs to be set to the URL you want this tab to link, and text portion goes in between.  &lt;br /&gt;
&lt;br /&gt;
customize this code as you want, and then paste them in the widget section.&lt;br /&gt;
save your widget and enjoy the tabs.&lt;br /&gt;
&lt;br /&gt;
Thanks for reading my blog&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-818300418020326554?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dpkdQj8CiQdZkCa1lgOhbG0cOx0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dpkdQj8CiQdZkCa1lgOhbG0cOx0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dpkdQj8CiQdZkCa1lgOhbG0cOx0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dpkdQj8CiQdZkCa1lgOhbG0cOx0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=pb4qf3vAd3A:nmD6rHi3K-0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=pb4qf3vAd3A:nmD6rHi3K-0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=pb4qf3vAd3A:nmD6rHi3K-0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=pb4qf3vAd3A:nmD6rHi3K-0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=pb4qf3vAd3A:nmD6rHi3K-0:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=pb4qf3vAd3A:nmD6rHi3K-0:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=pb4qf3vAd3A:nmD6rHi3K-0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=pb4qf3vAd3A:nmD6rHi3K-0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=pb4qf3vAd3A:nmD6rHi3K-0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=pb4qf3vAd3A:nmD6rHi3K-0:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/818300418020326554/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/03/how-to-get-tabs-navigation-bar-on-new.html#comment-form" title="22 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/818300418020326554?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/818300418020326554?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/03/how-to-get-tabs-navigation-bar-on-new.html" title="How to get Tabs (navigation bar) on new blogger templates" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_sFmKMtGguSE/S6ut_A-2ZXI/AAAAAAAAG1c/oL5859ueYAU/s72-c/template+designer.png" height="72" width="72" /><thr:total>22</thr:total></entry><entry gd:etag="W/&quot;A0EGRXY6cSp7ImA9WxFRGEo.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-4945661600110379071</id><published>2010-03-21T04:41:00.000-07:00</published><updated>2010-05-03T02:40:24.819-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-03T02:40:24.819-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Article" /><category scheme="http://www.blogger.com/atom/ns#" term="twitter" /><title>How to organize life using twitter?</title><content type="html">&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc;"&gt;{Happy Birthday To Twitter, Today on 21st March 2010, little bird (twitter) &lt;/span&gt;&lt;/span&gt;&lt;a href="http://thenextweb.com/socialmedia/2010/03/21/happy-birthday-twitter-bird-grown-2/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc;"&gt;is all grown up&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc;"&gt;. }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Today in this article I am going to tell you some&amp;nbsp;little&amp;nbsp;tip to organize your life with twitter. Read my old article about &lt;a href="http://www.markandey.com/2009/06/knowledge-pipehow-i-live-on-web.html"&gt;how I have linked my social network&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;
Twitter is popular because of 2 main reasons, Simplicity &amp;amp; Accessibility. Twitter Updates (tweets) are just 140 character long, and you can post these update from any media e.g Browser, twitter clients, phone client, by SMS or even by &lt;a href="http://alvimalik.com/twitter-and-facebook-for-the-computer-shy/"&gt;writing down on paper&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
For centuries there are 2 very popular ways of&amp;nbsp;organizing&amp;nbsp;life,&lt;br /&gt;
1.Note Making&lt;br /&gt;
2.ToDo List&lt;br /&gt;
Despite these things being a popular way of organizing life, majority of people fails to maintain a single note-book or a ToDo list,&amp;nbsp;because&amp;nbsp;if your life is so organized to maintain a ToDo&amp;nbsp;List or notebook then probably you never need them. Point is, either you are using a paper, phone, iPod or your laptop to maintain your ToDo list , none of them is accessible all the time &amp;amp; everywhere. Eventually&amp;nbsp;this&amp;nbsp;accessibility&amp;nbsp;problem is almost solved by twitter, So there can not be any better tool like twitter to organize your life. &lt;br /&gt;
&lt;br /&gt;
I always loved 2 tools on web for maintaining my todo list and notes, because they are also&amp;nbsp;accessible&amp;nbsp;via twitter.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;EverNote&lt;/b&gt;&lt;br /&gt;
EverNote is very nice note making tool. I am not going to tell you much about it. You can just go an try it. I love its web-clip boorkmarklet to take note while browsing. Addition to specific client it has for iPhone, Android and Win-Mobile, You can also add a note in EverNote by just @replying to &lt;a href="http://twitter.com/myen"&gt;@myen&lt;/a&gt; or send a DM(direct message) to it. Now since tweet can be posted by all ways described above , you can access your note from every where.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_sFmKMtGguSE/S6YFIavlHoI/AAAAAAAAG1A/9oXda_ykFS0/s1600-h/myen.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="169" src="http://1.bp.blogspot.com/_sFmKMtGguSE/S6YFIavlHoI/AAAAAAAAG1A/9oXda_ykFS0/s320/myen.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;blockquote&gt;&lt;div style="background-color: #bbbbaa;"&gt;e.g&lt;br /&gt;
&amp;nbsp;&amp;nbsp; note to self "kill all currupt politicians" @&lt;b&gt;myen&lt;/b&gt;&lt;br /&gt;
OR&lt;br /&gt;
d &lt;b&gt;myen&lt;/b&gt; think about explaination why photo frame is better than diamond necklace on valentine's day&lt;/div&gt;&lt;/blockquote&gt;&lt;b&gt;Remember The Milk&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_sFmKMtGguSE/S6YFM0Vvc_I/AAAAAAAAG1E/pW1Dyc7H5oY/s1600-h/rtm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="217" src="http://2.bp.blogspot.com/_sFmKMtGguSE/S6YFM0Vvc_I/AAAAAAAAG1E/pW1Dyc7H5oY/s320/rtm.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;Remember the milk has a very similar accessibility options as EverNote, the difference is in aproach, This is a ToDo list for task management. You can also access it by sending DM to @rtm &lt;br /&gt;
&lt;blockquote&gt;&lt;div style="background-color: #bbbbaa;"&gt;e.g.&lt;br /&gt;
d rtm pick up the milk&lt;br /&gt;
d rtm !complete call jimmy&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;b&gt;Search Your Tweets&lt;/b&gt;&lt;br /&gt;
Here is last tip, Since twitter has become your primary place to dump thoughts, Its better to have a way to search your tweets. Twitter search is a real time search, it only gives you results from a very small time-frame, sometime you might like to search your old tweets. To get this functionality here is a hack,  subscribe your twitter feed in Google Reader, Google readers stores all the feeds subscribed by you and indexes it, so that you can search them latter. RSS feed of your tweets will be at this address (if you have unprotected updates only)&lt;br /&gt;
&lt;blockquote&gt;&lt;div style="background-color: #bbbbaa;"&gt;http://twitter.com/statuses/user_timeline/[your TWITTER HANDLE].rss &lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_sFmKMtGguSE/S6YFvnbcwwI/AAAAAAAAG1I/ZldBJncUdXU/s1600-h/reader.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/_sFmKMtGguSE/S6YFvnbcwwI/AAAAAAAAG1I/ZldBJncUdXU/s320/reader.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Thanks for reading my blog. Hope this was helpful. Please share on twitter and Facebook if you liked it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-4945661600110379071?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5sdrAAfx3fx-uNfwIRMIfsG6XzY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5sdrAAfx3fx-uNfwIRMIfsG6XzY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5sdrAAfx3fx-uNfwIRMIfsG6XzY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5sdrAAfx3fx-uNfwIRMIfsG6XzY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=33oJA4oHR5c:VBWT7svQHJQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=33oJA4oHR5c:VBWT7svQHJQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=33oJA4oHR5c:VBWT7svQHJQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=33oJA4oHR5c:VBWT7svQHJQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=33oJA4oHR5c:VBWT7svQHJQ:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=33oJA4oHR5c:VBWT7svQHJQ:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=33oJA4oHR5c:VBWT7svQHJQ:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=33oJA4oHR5c:VBWT7svQHJQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=33oJA4oHR5c:VBWT7svQHJQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=33oJA4oHR5c:VBWT7svQHJQ:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/4945661600110379071/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/03/how-to-organize-life-using-twitter.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/4945661600110379071?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/4945661600110379071?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/03/how-to-organize-life-using-twitter.html" title="How to organize life using twitter?" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_sFmKMtGguSE/S6YFIavlHoI/AAAAAAAAG1A/9oXda_ykFS0/s72-c/myen.png" height="72" width="72" /><thr:total>4</thr:total></entry><entry gd:etag="W/&quot;CkYMSH0_cCp7ImA9WxBaEUk.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-7517035430827648940</id><published>2010-03-20T19:54:00.000-07:00</published><updated>2010-03-20T19:56:29.348-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-20T19:56:29.348-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Humour" /><title>Awesome QUESTIONS are back</title><content type="html">&lt;div&gt;Do not miss the &lt;a href="http://www.markandey.com/2009/06/few-awesome-questions.html"&gt;part-1&lt;/a&gt; and &lt;a href="http://www.markandey.com/2009/06/few-more-awesome-questions.html"&gt;part-2&lt;/a&gt; of awesome questions. AND here are few more&lt;/div&gt;&lt;ol&gt;&lt;li&gt;If love of money is the root of all evil, why do churches want it?&lt;/li&gt;
&lt;li&gt;If love is blind, why is lingerie so popular?&lt;/li&gt;
&lt;li&gt;If &lt;a href="http://www.youtube.com/watch?v=KtqUe7FhiQg"&gt;Jimmy&lt;/a&gt; cracks corn &amp;amp; no one cares, why is there a stupid song about him?&lt;/li&gt;
&lt;li&gt;If it’s true that we are here to help others, then what exactly are the others here for?&lt;/li&gt;
&lt;li&gt;If it takes more muscles to frown than smile, then wouldn’t unhappy people’s faces be in better shape?&lt;/li&gt;
&lt;li&gt;If I save time, when do I get it back ?&lt;/li&gt;
&lt;li&gt;If I save the whales, where do I keep them?&lt;/li&gt;
&lt;li&gt;If flying is so safe, why do they call the airport the terminal?&lt;/li&gt;
&lt;li&gt;If electricity comes from electrons, does that mean that morality comes from morons?&lt;/li&gt;
&lt;li&gt;If you are reading a very INTERESTING book about anti-gravity. Can you put it down?&lt;/li&gt;
&lt;li&gt;How can an email be both URGENT &amp;amp; FYI?&lt;/li&gt;
&lt;li&gt;If vegetarians eat vegetables, what do humanitarians eat?&lt;/li&gt;
&lt;li&gt;Why do people make loud nosies when there tryin to make someone be quiet?&lt;/li&gt;
&lt;li&gt;If past tense of sit is sat, why not past tense of fit is fat?&lt;/li&gt;
&lt;li&gt;People say "The moment u stop learning u r dead", then why population is still increasing?&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;Thanks Guys have fun :)&lt;/div&gt;&lt;div&gt;If you have any awesome question about the blog, please post as comment. Do share on twitter and&amp;nbsp;Facebook&amp;nbsp;if you like it.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'Lucida Grande', sans-serif; font-size: large;"&gt;&lt;span class="Apple-style-span" style="font-size: 17px; line-height: 19px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-7517035430827648940?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1M1G7u_5AMirr2duUVULJC0pwYY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1M1G7u_5AMirr2duUVULJC0pwYY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1M1G7u_5AMirr2duUVULJC0pwYY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1M1G7u_5AMirr2duUVULJC0pwYY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=IdXBW0iZoqw:UFmWXtdc8oo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=IdXBW0iZoqw:UFmWXtdc8oo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=IdXBW0iZoqw:UFmWXtdc8oo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=IdXBW0iZoqw:UFmWXtdc8oo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=IdXBW0iZoqw:UFmWXtdc8oo:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=IdXBW0iZoqw:UFmWXtdc8oo:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=IdXBW0iZoqw:UFmWXtdc8oo:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=IdXBW0iZoqw:UFmWXtdc8oo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=IdXBW0iZoqw:UFmWXtdc8oo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=IdXBW0iZoqw:UFmWXtdc8oo:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/7517035430827648940/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/03/awesome-questions-are-back.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/7517035430827648940?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/7517035430827648940?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/03/awesome-questions-are-back.html" title="Awesome QUESTIONS are back" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEIDR3s9eyp7ImA9WxBaFUk.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-8430811764672207271</id><published>2010-03-17T04:12:00.000-07:00</published><updated>2010-03-25T11:42:56.563-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-25T11:42:56.563-07:00</app:edited><title>How to add custom about me page on blogger</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;span id="goog_1075506101"&gt;&lt;/span&gt;&lt;span id="goog_1075506102"&gt;&lt;/span&gt;&lt;a href="http://draft.blogger.com/"&gt;&lt;/a&gt;Hi There,&lt;br /&gt;
Here I am going to talk about a dirty hack to make custom about me page on blogger. Lets have a look what you are &lt;a href="http://aboutmepageonblogger.blogspot.com/"&gt;going to get after&lt;/a&gt; doing all this.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://aboutmepageonblogger.blogspot.com/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="206" src="http://1.bp.blogspot.com/_sFmKMtGguSE/S6uFcogrP8I/AAAAAAAAG1Y/lwQEBUl6AD8/s320/lookslike.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;So, Basically you are going to make an blog post which will contain "&lt;i&gt;about me information&lt;/i&gt;" which you wanted to put on your blog. Then you will remove &lt;b&gt;date entry&lt;/b&gt;(time stamp) / and &lt;b&gt;comment option &lt;/b&gt;for this page so that it will not look like a post.&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;Note: Save your existing template before, doing anything. If you break anything , you can&amp;nbsp;restore&amp;nbsp;the template back.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;STEP-1&lt;/b&gt;&lt;br /&gt;
Create a blog post with title "about me" and content&amp;nbsp;whatever&amp;nbsp;you want. Then go to Post option&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;STEP-2&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_sFmKMtGguSE/S6CzzpIMtoI/AAAAAAAAG0s/BH1e-L_oXbE/s1600-h/postop.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_sFmKMtGguSE/S6CzzpIMtoI/AAAAAAAAG0s/BH1e-L_oXbE/s320/postop.jpg" width="263" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
Go to post option and click "Don't allow comment" and Set time-stamp to a very old date (may be much before your birth).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step-3&lt;/b&gt;&lt;br /&gt;
To remove time-stamp from this post your have to wrap part of code which generates Time stamp in your template with this code.&lt;br /&gt;
&lt;pre&gt;&amp;lt;b:if cond='data:post.allowComments'&amp;gt;



&amp;lt;/b:if&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
This is basically a way to tell that whatever "&lt;i&gt;post does not allow comment&lt;/i&gt;" will not generate &lt;b&gt;&lt;i&gt;few things&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(which is time-stamp in our case).&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Step-4&lt;/b&gt;&lt;br /&gt;
Go to layout section of your blog, and go to edit HTML. Choose "Expand Widget Templates" option.&lt;br /&gt;
&lt;br /&gt;
Now select all the text from Text area and put in your favorite "Text Editor" . (FYI My favorite editor is Notepad++).&lt;br /&gt;
&lt;br /&gt;
Now wrap following 2 block with code above&lt;br /&gt;
&lt;pre&gt;&amp;lt;h2 class='date-header'&amp;gt;&amp;lt;span&amp;gt;&amp;lt;data:post.dateHeader/&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/h2&amp;gt;
&lt;/pre&gt;AND&lt;br /&gt;
&lt;pre&gt;&amp;lt;div class='post-footer-line post-footer-line-1'&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_sFmKMtGguSE/S6C4KXNxPcI/AAAAAAAAG04/4a8L6IhPwvc/s1600-h/wrap2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="133" src="http://4.bp.blogspot.com/_sFmKMtGguSE/S6C4KXNxPcI/AAAAAAAAG04/4a8L6IhPwvc/s320/wrap2.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Part-1&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_sFmKMtGguSE/S6C2-pT74uI/AAAAAAAAG0w/cgTGXhx03pU/s1600-h/screenshot1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="314" src="http://1.bp.blogspot.com/_sFmKMtGguSE/S6C2-pT74uI/AAAAAAAAG0w/cgTGXhx03pU/s320/screenshot1.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Part-2&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Once you are done with this editing, go paste the entire thing back to blogger text-area and save the template.&lt;/div&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;&lt;b&gt;&lt;i&gt;Note: You should wrap the code very carefully, basic HTML&amp;nbsp;knowledge&amp;nbsp;is very essential for this. &amp;nbsp;Every Div block starts and ends some where , so wrapping must be perfect.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_sFmKMtGguSE/S6C_VHAg1DI/AAAAAAAAG08/uPhE44u7sKw/s1600-h/places.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="376" src="http://1.bp.blogspot.com/_sFmKMtGguSE/S6C_VHAg1DI/AAAAAAAAG08/uPhE44u7sKw/s400/places.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
You can link the URL of the page on "About Me Tab" &lt;a href="http://www.markandey.com/2010/03/how-to-get-tabs-navigation-bar-on-new.html"&gt;Read My other post.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Thats it, Your are done!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-8430811764672207271?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SlN9UOrr6XQwOIpzg8grvy0ERcc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SlN9UOrr6XQwOIpzg8grvy0ERcc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SlN9UOrr6XQwOIpzg8grvy0ERcc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SlN9UOrr6XQwOIpzg8grvy0ERcc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=6j5tUweknPA:FJ7Ltzz23Os:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=6j5tUweknPA:FJ7Ltzz23Os:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=6j5tUweknPA:FJ7Ltzz23Os:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=6j5tUweknPA:FJ7Ltzz23Os:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=6j5tUweknPA:FJ7Ltzz23Os:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=6j5tUweknPA:FJ7Ltzz23Os:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=6j5tUweknPA:FJ7Ltzz23Os:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=6j5tUweknPA:FJ7Ltzz23Os:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=6j5tUweknPA:FJ7Ltzz23Os:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=6j5tUweknPA:FJ7Ltzz23Os:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/8430811764672207271/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/03/how-to-add-custom-aboutme-page-on.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/8430811764672207271?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/8430811764672207271?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/03/how-to-add-custom-aboutme-page-on.html" title="How to add custom about me page on blogger" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_sFmKMtGguSE/S6uFcogrP8I/AAAAAAAAG1Y/lwQEBUl6AD8/s72-c/lookslike.png" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;A0UHQHgzfyp7ImA9WxBbGE0.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-9044705399913671488</id><published>2010-03-16T12:07:00.000-07:00</published><updated>2010-03-17T00:00:31.687-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-17T00:00:31.687-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hack" /><title>Chrome Extension to analyse tweeter (Twitter User) Behavior</title><content type="html">Recently I was looking on various sites that shows some statistics about tweeters (twitter user). They are great but they often focus on one thing, there is no single place where we can see all these analysis. So i closely analysed these websites to come-up with &lt;b&gt;YQL hack&lt;/b&gt; to bring all of them on a single page. Mainly I focused myself on these websites.&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;http://twitterholic.com/&lt;/li&gt;
&lt;li&gt;http://web.forret.com/tools/twitter-tq.asp&lt;/li&gt;
&lt;li&gt;http://tweeps.info/&lt;/li&gt;
&lt;li&gt;http://happytweets.com/&lt;/li&gt;
&lt;li&gt;http://tweeteffect.com/&lt;/li&gt;
&lt;/ol&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_sFmKMtGguSE/S5_Wws_XrsI/AAAAAAAAG0c/Ha4F5fXNUbA/s1600-h/Screenshot-2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_sFmKMtGguSE/S5_Wws_XrsI/AAAAAAAAG0c/Ha4F5fXNUbA/s320/Screenshot-2.png" width="310" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;TweetChrome&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
[I am also trying to pull information from http://tweetstats.com]&lt;br /&gt;
&lt;br /&gt;
Well if I would have hosted this functionality something like &lt;b&gt;&lt;a href="http://www.purplegene.com/static/tweeps.html"&gt;this&lt;/a&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;(actually&amp;nbsp;hosted )&lt;/span&gt;.&lt;/b&gt;&amp;nbsp;&amp;nbsp;No one will use it, because people are very lazy. So I have created a chrome extension &lt;a href="https://chrome.google.com/extensions/detail/pmdeehablhbendnpdligdgemdgkllmih"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
If you use chrome then you can simple see &lt;a href="view-source:http://www.purplegene.com/static/tweeps.html"&gt;source code here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Thanks for reading my blog.&lt;br /&gt;
&lt;div style="text-align: auto;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Demo&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium; font-weight: normal;"&gt;:&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://chrome.google.com/extensions/detail/pmdeehablhbendnpdligdgemdgkllmih"&gt;http://chrome.google.com/extensions/detail/pmdeehablhbendnpdligdgemdgkllmih&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: auto;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Source&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium; font-weight: normal;"&gt;:&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://www.purplegene.com/static/tweeps.html"&gt;http://www.purplegene.com/static/tweeps.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium; font-weight: normal;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;(do view source)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-9044705399913671488?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-1_lxKJI-oe51J-pyKgu3j9yLIc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-1_lxKJI-oe51J-pyKgu3j9yLIc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-1_lxKJI-oe51J-pyKgu3j9yLIc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-1_lxKJI-oe51J-pyKgu3j9yLIc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=y6Go78g_Yzg:IBV2GwzsL0A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=y6Go78g_Yzg:IBV2GwzsL0A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=y6Go78g_Yzg:IBV2GwzsL0A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=y6Go78g_Yzg:IBV2GwzsL0A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=y6Go78g_Yzg:IBV2GwzsL0A:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=y6Go78g_Yzg:IBV2GwzsL0A:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=y6Go78g_Yzg:IBV2GwzsL0A:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=y6Go78g_Yzg:IBV2GwzsL0A:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=y6Go78g_Yzg:IBV2GwzsL0A:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=y6Go78g_Yzg:IBV2GwzsL0A:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/9044705399913671488/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/03/chrome-extension-to-analyse-tweeter.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/9044705399913671488?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/9044705399913671488?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/03/chrome-extension-to-analyse-tweeter.html" title="Chrome Extension to analyse tweeter (Twitter User) Behavior" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_sFmKMtGguSE/S5_Wws_XrsI/AAAAAAAAG0c/Ha4F5fXNUbA/s72-c/Screenshot-2.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEAFQHoyfSp7ImA9WxBVEEs.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-8760304893673227266</id><published>2010-02-13T00:55:00.000-08:00</published><updated>2010-02-13T04:05:11.495-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-13T04:05:11.495-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="hack" /><title>Playing with Javascript Closure, JSON, &amp; YQL to Visualize upcoming Android Version Names</title><content type="html">Hi There,&lt;br /&gt;
As you know that First version of android was named "cupcake" and then it was "Donut" and current version is "Éclair".&lt;br /&gt;
People found a pattern in naming; they are alphabetical names of cake. Now many people on internet came up with the names up to the Z.&lt;br /&gt;
Here they are&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Cupcake&lt;/li&gt;
&lt;li&gt;Donut&lt;/li&gt;
&lt;li&gt;Eclair Cake&lt;/li&gt;
&lt;li&gt;Frosting&lt;/li&gt;
&lt;li&gt;Gelato&lt;/li&gt;
&lt;li&gt;Honey&lt;/li&gt;
&lt;li&gt;Icing cake&lt;/li&gt;
&lt;li&gt;Jelly&lt;/li&gt;
&lt;li&gt;Kiwi&lt;/li&gt;
&lt;li&gt;Lemon&lt;/li&gt;
&lt;li&gt;Marshmellow&lt;/li&gt;
&lt;li&gt;Noodle&lt;/li&gt;
&lt;li&gt;Orange&lt;/li&gt;
&lt;li&gt;Pudding&lt;/li&gt;
&lt;li&gt;Quince&lt;/li&gt;
&lt;li&gt;RockyRoad&lt;/li&gt;
&lt;li&gt;Sundae&lt;/li&gt;
&lt;li&gt;Taffee&lt;/li&gt;
&lt;li&gt;upside-down-cake&lt;/li&gt;
&lt;li&gt;Vanilla&lt;/li&gt;
&lt;li&gt;Waffle&lt;/li&gt;
&lt;li&gt;Xmas Cookies&lt;/li&gt;
&lt;li&gt;Yogurt&lt;/li&gt;
&lt;li&gt;Zebra Cake&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
I am completely unaware of some of these names; I really don’t know how they look like. So here i made a small YQL hack to get images with these names to visualize them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;a href="http://www.purplegene.com/static/androidversions.html"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;&lt;span class="Apple-style-span" style="background-color: blue;"&gt;DEMO&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;Here is the YQL Bing table query to images&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_sFmKMtGguSE/S3Zo0w_npaI/AAAAAAAAGy8/NtT6TK7wHkw/s1600-h/androidversion.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" src="http://1.bp.blogspot.com/_sFmKMtGguSE/S3Zo0w_npaI/AAAAAAAAGy8/NtT6TK7wHkw/s320/androidversion.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;div style="background: #000000; color: green;"&gt;function get_images_from_bing(query,callback){&lt;br /&gt;
var yql_url="http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20microsoft.bing.image%20where%20query%3D%22"+query+"%22&amp;amp;format=json&amp;amp;env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&amp;amp;callback=callbacks."+callback;&lt;br /&gt;
var div_ele=document.getElementById("myscrpts");&lt;br /&gt;
var scrpt=document.createElement("SCRIPT");&lt;br /&gt;
scrpt.src=yql_url;&lt;br /&gt;
div_ele.appendChild(scrpt);&lt;br /&gt;
}&lt;/div&gt;&lt;/code&gt;&lt;br /&gt;
Here I am using closure to get a call-back function which will render the my images.&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;div style="background: #000000; color: green;"&gt;function GetCallbackFunction(element){&lt;br /&gt;
/*&lt;br /&gt;
element will be accessible to inner returned function &lt;br /&gt;
even after outer function has returned&lt;br /&gt;
*/&lt;br /&gt;
return function(data){&lt;br /&gt;
/*Get randomely from top 3 images*/&lt;br /&gt;
var index=get_random(3);&lt;br /&gt;
index=index%data.query.results.ImageResult.length;&lt;br /&gt;
element.src=data.query.results.ImageResult[index].MediaUrl;&lt;br /&gt;
};&lt;br /&gt;
}&lt;/div&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-8760304893673227266?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OQjltylR636PDwsUVAk__zFZOQ0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OQjltylR636PDwsUVAk__zFZOQ0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OQjltylR636PDwsUVAk__zFZOQ0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OQjltylR636PDwsUVAk__zFZOQ0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=2XvFg2yHWck:-nDWuvapv3U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=2XvFg2yHWck:-nDWuvapv3U:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=2XvFg2yHWck:-nDWuvapv3U:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=2XvFg2yHWck:-nDWuvapv3U:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=2XvFg2yHWck:-nDWuvapv3U:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=2XvFg2yHWck:-nDWuvapv3U:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=2XvFg2yHWck:-nDWuvapv3U:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=2XvFg2yHWck:-nDWuvapv3U:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=2XvFg2yHWck:-nDWuvapv3U:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=2XvFg2yHWck:-nDWuvapv3U:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/8760304893673227266/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/02/playing-with-javascript-closure-json.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/8760304893673227266?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/8760304893673227266?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/02/playing-with-javascript-closure-json.html" title="Playing with Javascript Closure, JSON, &amp; YQL to Visualize upcoming Android Version Names" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_sFmKMtGguSE/S3Zo0w_npaI/AAAAAAAAGy8/NtT6TK7wHkw/s72-c/androidversion.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEcHQno9eyp7ImA9WxBVEk4.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-8475241215560204803</id><published>2010-02-10T11:27:00.000-08:00</published><updated>2010-02-15T04:13:53.463-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-15T04:13:53.463-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Article" /><category scheme="http://www.blogger.com/atom/ns#" term="twitter" /><title>What is "Inbox Zero problem"? How To solve it by Twitter-way?</title><content type="html">&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;i&gt;Inbox Zero problem&lt;/i&gt;&lt;/b&gt; is a usability problem, of which every mail system is infected with. Let me try to explain what it is?&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Today, we get at least 40-50 mail every day, and our mail system marks every mail as unread when it arrives to your inbox. Now problem is, you are tempted to read all those mails to bring your inbox to zero unread count. This goes into a never ending loop often because by the time you will be able to finish each and every mail, you’ll get some new ones.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;This is a problem many other social networking platforms are infected with, may be not with the unread message count but by some other ways.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;This is the only problem twitter is not infected with, because its always flowing timeline of short messages and you need to just look for few recent items posted by people, because of 2 reasons &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;1. Those items are not specifically posted to you (not talking about @replies).&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;2. Tweets are very spontaneous status update from people; significance of (most) tweets expires after sometime. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;This is how people on twitter able to manage more and more people. I personally follow more than 600 tweeps around the world. Now, there is a problem!! Different people tweet at different pace, and many tweeters are so frequent on twitter is that they literally flood my timeline and kick other's tweets (from people whom i care more) out of my visible timeline. This problem is solved by lists, I group important tweeps in a list. Concept of list itself came from people and twitter client like &lt;a href="http://en.wikipedia.org/wiki/TweetDeck"&gt;TweetDeck&lt;/a&gt; &amp;amp;&lt;a href="http://seesmic.com/"&gt; Seesmic&lt;/a&gt;. Think lists like this, On twitter you have public timeline which is the fastest moving timeline, and you filtered some of them to bring in our "friends" timeline by following them. When things became messy you sorted them into few smaller lists.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Twitter evolved from people's behaviour, like @replies, retweeting and many more became the built-in feature of twitter because we tweeps started using it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;So none of my time line is actually having inbox zero problem. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Now let’s come back to e-mail system, every day in office i really get more than 100 emails including companywide mails, group mail , mails from an on-going thread of discussion (where I don’t have anything to do).&amp;nbsp; Now what?? My mail client (outlook) is so cluttered with e-mail that finding the right email becomes very difficult. Ok , we have a solution “make rules to skip inbox for some known group &amp;amp; automated mails” BUT creating rule is not going to solve my problem because I am very lazy and don’t want to create rules even once in a six month (yes, that lazy i am). Last rule i created some 6 months back : P.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;So what is the solution? Solution is simple; I call this solution "@actionItem". Which is like this, every mail which has some action item for me as individual then please include my name in a field called Action Item (like CC &amp;amp; To list). That’s It i will give priority to those mails first and then i will move to all other mails, and choose to skip if i don’t have much of time to spend. Inbox zero problem solved.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Twitter specific Terms :&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Tweeps&lt;/b&gt;: people who use twitter.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Tweeters:&amp;nbsp;&lt;/b&gt;&amp;nbsp;twitter+ user&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Tweet&lt;/b&gt;: &amp;nbsp;Every small status update (post ) is called tweet.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ReTweeting&lt;/b&gt;: when you post oneones update again is called re-tweeting. often done in "RT @TweepName : blah balh format".&lt;/li&gt;
&lt;li&gt;&lt;b&gt;@replies : &lt;/b&gt;pronounced as 'at replies', are tweets which has your name mentioned, preceded with a '@' sign.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Here is &lt;b&gt;Merlin Mann&lt;/b&gt; Slide&lt;br /&gt;
&lt;br /&gt;
&lt;div style="width:425px;text-align:left" id="__ss_81892"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/merlinmann/inbox-zero-actionbased-email" title="Inbox Zero: Action-Based Email"&gt;Inbox Zero: Action-Based Email&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=inbox-zero-actionbased-email3408&amp;stripped_title=inbox-zero-actionbased-email" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=inbox-zero-actionbased-email3408&amp;stripped_title=inbox-zero-actionbased-email" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/merlinmann"&gt;merlinmann&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Here is video of his lecture&lt;br /&gt;
&lt;br /&gt;
&lt;embed id=VideoPlayback src=http://video.google.com/googleplayer.swf?docid=973149761529535925&amp;hl=en&amp;fs=true style=width:400px;height:326px allowFullScreen=true allowScriptAccess=always type=application/x-shockwave-flash&gt; &lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-8475241215560204803?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vbm6x9muz9S1ex4mzQm-LA3eg_4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vbm6x9muz9S1ex4mzQm-LA3eg_4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vbm6x9muz9S1ex4mzQm-LA3eg_4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vbm6x9muz9S1ex4mzQm-LA3eg_4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=ojsF6C8ZSLk:JYQ-eUDrq2Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=ojsF6C8ZSLk:JYQ-eUDrq2Y:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=ojsF6C8ZSLk:JYQ-eUDrq2Y:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=ojsF6C8ZSLk:JYQ-eUDrq2Y:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=ojsF6C8ZSLk:JYQ-eUDrq2Y:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=ojsF6C8ZSLk:JYQ-eUDrq2Y:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=ojsF6C8ZSLk:JYQ-eUDrq2Y:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=ojsF6C8ZSLk:JYQ-eUDrq2Y:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=ojsF6C8ZSLk:JYQ-eUDrq2Y:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=ojsF6C8ZSLk:JYQ-eUDrq2Y:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/8475241215560204803/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/02/what-is-inbox-zero-problem-how-to-solve.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/8475241215560204803?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/8475241215560204803?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/02/what-is-inbox-zero-problem-how-to-solve.html" title="What is &quot;Inbox Zero problem&quot;? How To solve it by Twitter-way?" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkIHRnc5cSp7ImA9WxBXGUw.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-6427231920851837170</id><published>2010-01-30T15:12:00.000-08:00</published><updated>2010-01-30T21:08:57.929-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-30T21:08:57.929-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hack" /><title>I know what you read on dzone last summer</title><content type="html">You should know that depending upon how CSS is coloring your links; I can figure out that what are the links you visited already.&lt;br /&gt;
This is a nice hack, many people use it for knowing user interests e.g&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;What social networking site you use.&lt;/li&gt;
&lt;li&gt;What banking site you use.&lt;/li&gt;
&lt;li&gt;And many more what you can think of.&lt;/li&gt;
&lt;/ul&gt;I have created a hack to show all popular links from dzone, I am sorting the links based what you have read already.&amp;nbsp;Before you read further &lt;a href="http://www.purplegene.com/static/dzonearticles2.html"&gt;Check This&lt;/a&gt;, &lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;(will not work in IE8)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Here is how you can inspect CSS color of a link in your browser&lt;br /&gt;
&lt;div style="background: #000000; color: green;"&gt;&lt;code&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;document.write(&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;'&amp;lt;style&amp;gt;'&lt;/span&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;);&lt;br /&gt;
document.write('&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #660000;"&gt;#linkID&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;:visited {color: #FF0000;}&lt;/span&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;");&lt;br /&gt;
document.write('&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;');&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #274e13;"&gt;/* quickly add and remove the link from the DOM with enough time to save the visible computed color. */&lt;/span&gt;&lt;br /&gt;
document.body.appendChild(&lt;b&gt;&lt;span class="Apple-style-span" style="color: magenta;"&gt;link&lt;/span&gt;&lt;/b&gt;);&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;var &lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="color: magenta;"&gt;color &lt;/span&gt;= document.defaultView.getComputedStyle(&lt;/span&gt;&lt;span class="Apple-style-span" style="color: magenta;"&gt;link&lt;/span&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;,&lt;/span&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;null&lt;/span&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;).getPropertyValue("&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #660000;"&gt;color&lt;/span&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;");&lt;br /&gt;
document.body.removeChild(&lt;b&gt;&lt;span class="Apple-style-span" style="color: magenta;"&gt;link&lt;/span&gt;&lt;/b&gt;);&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #274e13;"&gt;/* check to see if the link has been visited if the computed color is red */&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt; (&lt;/span&gt;&lt;span class="Apple-style-span" style="color: magenta;"&gt;color &lt;/span&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;== "rgb(255, 0, 0)") { &lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #274e13;"&gt; /*visited do something*/&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
} &lt;/span&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;else&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: white;"&gt; { &lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #274e13;"&gt; /*not visited, do something else*/&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
}&lt;/span&gt;  &lt;br /&gt;
&lt;br /&gt;
&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="background-color: blue;"&gt;&lt;a href="http://www.purplegene.com/static/dzonearticles2.html"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;&lt;b&gt;DEMO&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Read More about How I &lt;a href="http://www.markandey.com/2009/08/yql-hack-to-get-dzone-popular-articles.html"&gt;brought All Dzone links on 1 page&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Read More About How &lt;a href="http://jeremiahgrossman.blogspot.com/2006/08/i-know-where-youve-been.html"&gt;This CSS hack&lt;/a&gt; works?&lt;br /&gt;
&lt;br /&gt;
Read Rest of &lt;a href="http://www.markandey.com/search/label/hack"&gt;My Hacks&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.markandey.com/2009/08/yql-hack-to-get-dzone-popular-articles.html"&gt;&lt;br /&gt;
&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-6427231920851837170?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iztCeO5hc1H4g_GinFio0olfWXE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iztCeO5hc1H4g_GinFio0olfWXE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iztCeO5hc1H4g_GinFio0olfWXE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iztCeO5hc1H4g_GinFio0olfWXE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=RjqQliClkBI:CsCrt5p0AGE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=RjqQliClkBI:CsCrt5p0AGE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=RjqQliClkBI:CsCrt5p0AGE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=RjqQliClkBI:CsCrt5p0AGE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=RjqQliClkBI:CsCrt5p0AGE:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=RjqQliClkBI:CsCrt5p0AGE:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=RjqQliClkBI:CsCrt5p0AGE:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=RjqQliClkBI:CsCrt5p0AGE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=RjqQliClkBI:CsCrt5p0AGE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=RjqQliClkBI:CsCrt5p0AGE:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/6427231920851837170/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/01/i-know-what-you-read-on-dzone-last.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/6427231920851837170?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/6427231920851837170?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/01/i-know-what-you-read-on-dzone-last.html" title="I know what you read on dzone last summer" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;DUYEQ349cSp7ImA9WxFRGE4.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-4153746548849821796</id><published>2010-01-28T02:57:00.000-08:00</published><updated>2010-05-02T14:51:42.069-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-02T14:51:42.069-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Article" /><category scheme="http://www.blogger.com/atom/ns#" term="hack" /><title>Understanding C#.net Border-less Form, when you maximize it</title><content type="html">Hi There,&lt;br /&gt;
Have you ever created, a borderless window in C#.net?&lt;br /&gt;
There is problem with borderless window, if you maximize it, it goes FullScreen (over the taskbar).&lt;br /&gt;
&lt;br /&gt;
Here is an analyis of how to achieve maximized borderless window.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_sFmKMtGguSE/S2FyaoQQucI/AAAAAAAAGxg/M-4wbyYFMis/s1600-h/maximize.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="301" src="http://2.bp.blogspot.com/_sFmKMtGguSE/S2FyaoQQucI/AAAAAAAAGxg/M-4wbyYFMis/s320/maximize.PNG" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;nbsp;you first set the border(anything other than FormBorderStyle.None)  for the window and then set WindowState&amp;nbsp;to maximize, You will get a standard maximized window, you can make it&amp;nbsp;border-less&amp;nbsp;there after.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;



&lt;div style="background: #000000; color: green;"&gt;private void btMaximize_Click(object sender, EventArgs e)
{
 this.FormBorderStyle = FormBorderStyle.FixedSingle;

 if (this.WindowState != FormWindowState.Maximized)
 {
  this.WindowState = FormWindowState.Maximized;
 }
 else
 {
  this.WindowState = FormWindowState.Normal;
  
 }

 this.FormBorderStyle = FormBorderStyle.None;
}



&lt;/div&gt;&lt;/code&gt;

&lt;/pre&gt;If you maximize a window after making it borderless it goes beyond the task-bar. You will get complete&amp;nbsp;full-screen.&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;


&lt;div style="background: #000000; color: green;"&gt;private void btFullscreen_Click(object sender, EventArgs e)
{
 this.FormBorderStyle = FormBorderStyle.None;
        if (this.WindowState != FormWindowState.Maximized)
 {
  
  this.WindowState = FormWindowState.Maximized;
 }
 else
 {
  this.WindowState = FormWindowState.Normal;
 }
 
}



&lt;/div&gt;&lt;/code&gt;

&lt;/pre&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://jugad.googlecode.com/files/Maximize%20window.zip"&gt;Download Sample Code&lt;/a&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/18392152-4153746548849821796?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Q6Ok1omxIHVly7a6qee1Nr2B0h0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Q6Ok1omxIHVly7a6qee1Nr2B0h0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Q6Ok1omxIHVly7a6qee1Nr2B0h0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Q6Ok1omxIHVly7a6qee1Nr2B0h0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=wa7Q2Uk5EMM:-OUWJJvHMSE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=wa7Q2Uk5EMM:-OUWJJvHMSE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=wa7Q2Uk5EMM:-OUWJJvHMSE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=wa7Q2Uk5EMM:-OUWJJvHMSE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=wa7Q2Uk5EMM:-OUWJJvHMSE:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=wa7Q2Uk5EMM:-OUWJJvHMSE:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=wa7Q2Uk5EMM:-OUWJJvHMSE:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=wa7Q2Uk5EMM:-OUWJJvHMSE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=wa7Q2Uk5EMM:-OUWJJvHMSE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=wa7Q2Uk5EMM:-OUWJJvHMSE:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/4153746548849821796/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/01/understanding-cnet-border-less-form.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/4153746548849821796?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/4153746548849821796?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/01/understanding-cnet-border-less-form.html" title="Understanding C#.net Border-less Form, when you maximize it" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_sFmKMtGguSE/S2FyaoQQucI/AAAAAAAAGxg/M-4wbyYFMis/s72-c/maximize.PNG" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;D0UHQn4_fip7ImA9WxBUFE0.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-639530901191592010</id><published>2010-01-17T10:10:00.000-08:00</published><updated>2010-02-28T17:00:33.046-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-28T17:00:33.046-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Article" /><category scheme="http://www.blogger.com/atom/ns#" term="hack" /><title>Hacking Google maps AJAX API to use in C#.Net</title><content type="html">&lt;span id="goog_1263752042128"&gt;&lt;/span&gt;&lt;span id="goog_1263752042129"&gt;&lt;/span&gt;&lt;a href="http://draft.blogger.com/"&gt;&lt;/a&gt;Hi,&lt;br /&gt;
As you know “&lt;a href="http://code.google.com/apis/maps/documentation/reference.html"&gt;Google Maps API&lt;/a&gt;” is available only for AJAX developers. Using it in C#.net is not possible. One of the great things about Google maps API is it gives you turn by turn direction almost anywhere on earth. I wanted to exploit this feature of turn by turn navigation on my mobile, that too &lt;b&gt;&lt;i&gt;&lt;span style="color: #cc0000;"&gt;offline&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;, because when i go to remote places its highly probable that i will not be having connectivity on my phone. Or connectivity will be so poor that using maps is highly impractical. &lt;br /&gt;
&lt;br /&gt;
So I have created a pair of application. &lt;br /&gt;
1. A Desktop app to retrieve turn by turn navigation data + static images.&lt;br /&gt;
2. A Mobile app to read this data and to give me turn by turn navigation on phone (offline).&lt;br /&gt;
&lt;br /&gt;
Certainly this is something not allowed in TOU of Google, so i cannot release this app commercially. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;How to Mix AJAX and C#.net??&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
1. I created a web page (html+JavaScript), which dumps the direction info data in DOM.&lt;br /&gt;
2.In C#.Net Form, I kept a&amp;nbsp;web-browser&amp;nbsp;control, which loads this page.&lt;br /&gt;
3.When page is loaded, using &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument.getelementbyid.aspx"&gt;webBrowser1.Document.GetElementById&lt;/a&gt; stuff I extracted the direction info.&lt;br /&gt;
4.Then I downloaded Static Images using "&lt;a href="http://code.google.com/apis/maps/documentation/staticmaps/"&gt;Google Static Maps API&lt;/a&gt;", &amp;amp; hacked to get the latitude and longitude positions on the static images. &lt;a href="http://code.google.com/p/pocketnavigator/source/browse/trunk/PocketDashboard/MapUtillityClasses/MapsUtils.cs"&gt;see code for detail&lt;/a&gt;.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_sFmKMtGguSE/S3m0g5bEQ-I/AAAAAAAAGzA/MgCtdXWrxZk/s1600-h/ajaxinc%23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="110" src="http://2.bp.blogspot.com/_sFmKMtGguSE/S3m0g5bEQ-I/AAAAAAAAGzA/MgCtdXWrxZk/s400/ajaxinc%23.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;How I exported data on mobile??&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
1. Serialized whole object in an XML file, including direction info and static images.&lt;br /&gt;
2. De-serialized on mobile to get that data back.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;Source Code&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://code.google.com/p/pocketnavigator/"&gt;http://code.google.com/p/pocketnavigator/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_sFmKMtGguSE/S1NRvWQhiRI/AAAAAAAAGvs/K7j5NbNhbGM/s1600-h/mobileversion.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_sFmKMtGguSE/S1NRvWQhiRI/AAAAAAAAGvs/K7j5NbNhbGM/s1600/mobileversion.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;b&gt;Screen-shot&amp;nbsp;Of Mobile Version.&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0" data="http://www.screentoaster.com/swf/STPlayer.swf" height="344" id="stWUlUQURIR19cR1lVWF9fXlRX" type="application/x-shockwave-flash" width="425"&gt;&lt;param name='movie' value='http://www.screentoaster.com/swf/STPlayer.swf'/&gt;&lt;param name='allowFullScreen' value='true'/&gt;&lt;param name='allowScriptAccess' value='always'/&gt;&lt;param name='flashvars' value='video=stWUlUQURIR19cR1lVWF9fXlRX'/&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;Demo of Desktop App (6 minute).&lt;/div&gt;&lt;br /&gt;
Thanks, Feel free to ask question, &amp;amp; share on twitter + digg &amp;amp; blah blah.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-639530901191592010?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_CQ7PPz9EJbucDelKnfQDhAZcdg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_CQ7PPz9EJbucDelKnfQDhAZcdg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_CQ7PPz9EJbucDelKnfQDhAZcdg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_CQ7PPz9EJbucDelKnfQDhAZcdg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=OudnCtl-QvQ:IT32asxfgt4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=OudnCtl-QvQ:IT32asxfgt4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=OudnCtl-QvQ:IT32asxfgt4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=OudnCtl-QvQ:IT32asxfgt4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=OudnCtl-QvQ:IT32asxfgt4:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=OudnCtl-QvQ:IT32asxfgt4:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=OudnCtl-QvQ:IT32asxfgt4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=OudnCtl-QvQ:IT32asxfgt4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=OudnCtl-QvQ:IT32asxfgt4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=OudnCtl-QvQ:IT32asxfgt4:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/639530901191592010/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2010/01/hacking-google-maps-ajax-api-to-use-in.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/639530901191592010?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/639530901191592010?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2010/01/hacking-google-maps-ajax-api-to-use-in.html" title="Hacking Google maps AJAX API to use in C#.Net" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_sFmKMtGguSE/S3m0g5bEQ-I/AAAAAAAAGzA/MgCtdXWrxZk/s72-c/ajaxinc%23.png" height="72" width="72" /><thr:total>6</thr:total></entry><entry gd:etag="W/&quot;CUUDSHY8fip7ImA9WxBSFkg.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-182423607041093542</id><published>2009-12-24T02:12:00.000-08:00</published><updated>2009-12-24T03:14:39.876-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-24T03:14:39.876-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hack" /><title>How to Use TextToSpeech Feature of Google</title><content type="html">Here is how you can make your own TextToSpeech App, using Google's un-documented API.&lt;br /&gt;
&lt;br /&gt;
Google Has an undocumented REST API to get TextToSpeech&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;http://translate.google.com/translate_tts?q=your+text+goes+here&lt;/b&gt;&lt;br /&gt;
Here is the HTML Code. Do not miss to see the screen-cast.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;div style="background: #000000; color: green;"&gt;&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;
Text To Speech Demo
&amp;lt;/title&amp;gt;
&amp;lt;script&amp;gt;
function GetSpeech()
{
var framehtml=&amp;quot;&amp;lt;iframe src=\&amp;quot;http://translate.google.com/translate_tts?q=&amp;quot;;
framehtml+=escape(document.getElementById(&amp;quot;mytext&amp;quot;).value);
framehtml+=&amp;quot;\&amp;quot; &amp;lt;/iframe&amp;gt;&amp;quot;;

document.getElementById(&amp;quot;myframe&amp;quot;).innerHTML=framehtml;
/*we are done!!!!!*/
/* we will test now*/
/*wow!!!!! its working :) */

}
&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
Enter your text Here
&amp;lt;textarea id=&amp;quot;mytext&amp;quot;&amp;gt;
&amp;lt;/textarea&amp;gt;
&amp;lt;button id=&amp;quot;mybutton&amp;quot; onclick=&amp;quot;GetSpeech();&amp;quot;&amp;gt;
Click me to get the text
&amp;lt;/button&amp;gt;
&amp;lt;div id=&amp;quot;myframe&amp;quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;
Here is a screen-cast&lt;br /&gt;
&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/S9BCVpxmjag&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/S9BCVpxmjag&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
Thanks Guys &lt;br /&gt;
Happy Christmas&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-182423607041093542?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FJs3v4Bu9kLkAPI-oEcqFHK4Kwg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FJs3v4Bu9kLkAPI-oEcqFHK4Kwg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FJs3v4Bu9kLkAPI-oEcqFHK4Kwg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FJs3v4Bu9kLkAPI-oEcqFHK4Kwg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=ORfGM_t46JU:kSrvpbJI4rk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=ORfGM_t46JU:kSrvpbJI4rk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=ORfGM_t46JU:kSrvpbJI4rk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=ORfGM_t46JU:kSrvpbJI4rk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=ORfGM_t46JU:kSrvpbJI4rk:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=ORfGM_t46JU:kSrvpbJI4rk:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=ORfGM_t46JU:kSrvpbJI4rk:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=ORfGM_t46JU:kSrvpbJI4rk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=ORfGM_t46JU:kSrvpbJI4rk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=ORfGM_t46JU:kSrvpbJI4rk:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/182423607041093542/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2009/12/how-to-use-texttospeech-feature-of.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/182423607041093542?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/182423607041093542?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2009/12/how-to-use-texttospeech-feature-of.html" title="How to Use TextToSpeech Feature of Google" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CkcCRXg8fip7ImA9WxBSFE0.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-8032115516886469468</id><published>2009-12-20T05:25:00.001-08:00</published><updated>2009-12-21T04:54:24.676-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-21T04:54:24.676-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Article" /><category scheme="http://www.blogger.com/atom/ns#" term="hack" /><title>Jump into 3D maps by calculating orientation</title><content type="html">Lets make a&lt;a href="http://www.purplegene.com/static/virtualdrive.html"&gt; VirtualDrive MashUp&lt;/a&gt; today. As you know that Google maps API has Street view feature and Live maps has Bird’s Eye view feature. We will mix these 2 things in our&amp;nbsp;mash-up.&lt;br /&gt;
Feature of This MashUp will be &lt;br /&gt;
&lt;ul&gt;&lt;li&gt;To Take input as source and destination address. &lt;/li&gt;
&lt;li&gt;Animate the street view &amp;amp; Bird’s Eye from source to destination. &lt;/li&gt;
&lt;/ul&gt;To get this done you will need direction API to know the path between source and Destination. Eventually Google’s Direction API will do this for us. Direction API returns a PolyLine from source to destination. We will use &lt;span style="font-family: courier;"&gt;&lt;strong&gt;GDirections.getPolyline()&lt;/strong&gt;&lt;/span&gt; Function. Once you have all the points (Latitude and Longitude) along the path you are all set to go. But wait street-view and Bird’s Eye view are 3D Maps they also have something called orientation . &lt;br /&gt;
Bird’sEye View requires only one extra parameter "orientation" which can be &lt;br /&gt;
&lt;ul&gt;&lt;li&gt;North &lt;/li&gt;
&lt;li&gt;East &lt;/li&gt;
&lt;li&gt;South or &lt;/li&gt;
&lt;li&gt;West &lt;/li&gt;
&lt;/ul&gt;Where as Google Street View is more complicated , its requires Yaw and Pitch (i am ignoring zoom level which applies to all kind of maps)    &lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/_sFmKMtGguSE/Sy4lv3ELGII/AAAAAAAAFdw/hSYjPRoJMXU/s1600-h/image%5B4%5D.png"&gt;&lt;img alt="image" border="0" height="206" src="http://lh5.ggpht.com/_sFmKMtGguSE/Sy4lw9tz27I/AAAAAAAAFd0/z-rmK0puT3I/image_thumb%5B2%5D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="image" width="415" /&gt;&lt;/a&gt;&lt;br /&gt;
Since we will concentrate on driving , we will keep the pitch horizontal i.e. pitch will be zero.   &lt;br /&gt;
Yaw can be calculated by using 2 points along the path. Yaw is the angle of your driving direction from North, in degrees.&lt;br /&gt;
Here is a JavaScript code to calculate Yaw with given 2 values of GLatLng.   &lt;br /&gt;
(Note that Yaw &amp;amp; Bearing is closely related terms and they are having same value here.)   &lt;br /&gt;
&lt;pre&gt;&lt;div style="background: #000000; color: green;"&gt;function GetBearing(GLatLng1, GLatLng2) {

var lat1 = GLatLng1.lat();
var lon1 = GLatLng1.lng();
var lat2 = GLatLng2.lat();
var lon2 = GLatLng2.lng();
lat1 = lat1.toRad();
lat2 = lat2.toRad();
var dLon = (lon2 - lon1).toRad();

var y = Math.sin(dLon) * Math.cos(lat2);
var x = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(dLon);
return Math.atan2(y, x).toBrng();
}
&lt;/div&gt;&lt;/pre&gt;One feedback about street-view API though, function setLocationAndPOV is very mysterious and I could not make it work. &lt;br /&gt;
Individual Code snippets I picked from here &lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;a href="http://code.google.com/apis/ajax/playground/" target="_blank"&gt;Google AJAX Playground&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/maps/isdk/ajax/" target="_blank"&gt;Live Map APIs Sample&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.movable-type.co.uk/scripts/latlong.html" target="_blank"&gt;movable-type&lt;/a&gt; &lt;/li&gt;
&lt;/ol&gt;Now Jump To &lt;span style="font-size: large;"&gt;&lt;strong&gt;&lt;a href="http://www.purplegene.com/static/virtualdrive.html" target="_blank"&gt;Demo&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
And Do &lt;a href="view-source:http://www.purplegene.com/static/virtualdrive.html" target="_blank"&gt;ViewSource&lt;/a&gt; to see the code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-8032115516886469468?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/70sPrOmpdDeRZ-4u2PyZzhJqdFE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/70sPrOmpdDeRZ-4u2PyZzhJqdFE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/70sPrOmpdDeRZ-4u2PyZzhJqdFE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/70sPrOmpdDeRZ-4u2PyZzhJqdFE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=t6Bv1QugBT8:eCO7Ot7CIrY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=t6Bv1QugBT8:eCO7Ot7CIrY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=t6Bv1QugBT8:eCO7Ot7CIrY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=t6Bv1QugBT8:eCO7Ot7CIrY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=t6Bv1QugBT8:eCO7Ot7CIrY:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=t6Bv1QugBT8:eCO7Ot7CIrY:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=t6Bv1QugBT8:eCO7Ot7CIrY:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=t6Bv1QugBT8:eCO7Ot7CIrY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=t6Bv1QugBT8:eCO7Ot7CIrY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=t6Bv1QugBT8:eCO7Ot7CIrY:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/8032115516886469468/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2009/12/jump-into-3d-maps-by-calculating.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/8032115516886469468?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/8032115516886469468?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2009/12/jump-into-3d-maps-by-calculating.html" title="Jump into 3D maps by calculating orientation" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CUMHRH87fip7ImA9WxNbGU0.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-191798758385766774</id><published>2009-11-21T22:50:00.000-08:00</published><updated>2009-11-22T07:23:55.106-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-22T07:23:55.106-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Review" /><category scheme="http://www.blogger.com/atom/ns#" term="Article" /><title>Google's "Chrome OS" is Bad Evolution</title><content type="html">I am a computer engineer. I will always love to see computing&amp;nbsp;evolving&amp;nbsp;in right direction.&lt;br /&gt;
Google Chrome OS is bad for evolution of computing.&lt;br /&gt;
&lt;br /&gt;
Computing&amp;nbsp;evolved with Desktop computing and then web apps. Browser Based apps are always slow and&amp;nbsp;faulty, they can never be as robust as a desktop application can be.&lt;br /&gt;
&lt;br /&gt;
After The invention of web services and REST API, I would love to&amp;nbsp;see web&amp;nbsp;enabled&amp;nbsp;desktop&amp;nbsp;Apps.&lt;br /&gt;
&lt;br /&gt;
I love the concept of &lt;a href="http://portableapps.com/"&gt;Portable Apps&lt;/a&gt;&amp;nbsp;, When we mix concept of portable Apps and Cloud Based storage, we can&amp;nbsp;achieve&amp;nbsp;much better results. &amp;nbsp;BUT Google will never let it happen, they are re-inventing all those age old things again in browser. I have posted a small video&amp;nbsp;response&amp;nbsp;on you tube.&lt;br /&gt;
&lt;br /&gt;
Here it is.&lt;br /&gt;
&lt;br /&gt;
&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/d2SNuLNo6RE&amp;hl=en_GB&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/d2SNuLNo6RE&amp;hl=en_GB&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-191798758385766774?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/REdMx3UqdYbd6zfH5f15S6P6kHY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/REdMx3UqdYbd6zfH5f15S6P6kHY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/REdMx3UqdYbd6zfH5f15S6P6kHY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/REdMx3UqdYbd6zfH5f15S6P6kHY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=gFC-8OWS6v8:XYtovhWYV_I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=gFC-8OWS6v8:XYtovhWYV_I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=gFC-8OWS6v8:XYtovhWYV_I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=gFC-8OWS6v8:XYtovhWYV_I:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=gFC-8OWS6v8:XYtovhWYV_I:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=gFC-8OWS6v8:XYtovhWYV_I:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=gFC-8OWS6v8:XYtovhWYV_I:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=gFC-8OWS6v8:XYtovhWYV_I:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=gFC-8OWS6v8:XYtovhWYV_I:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=gFC-8OWS6v8:XYtovhWYV_I:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/191798758385766774/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2009/11/googles-chrome-os-is-bad-evolution.html#comment-form" title="10 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/191798758385766774?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/191798758385766774?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2009/11/googles-chrome-os-is-bad-evolution.html" title="Google's &quot;Chrome OS&quot; is Bad Evolution" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><thr:total>10</thr:total></entry><entry gd:etag="W/&quot;D0YMSXgyfyp7ImA9WxNbEE0.&quot;"><id>tag:blogger.com,1999:blog-18392152.post-1092505915402892547</id><published>2009-11-11T21:25:00.001-08:00</published><updated>2009-11-11T21:53:08.697-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-11T21:53:08.697-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hack" /><title>Phonetic Translation For Hindi</title><content type="html">&lt;p&gt;Hello!! I am an Indian, and for obvious reasons I have many friends on twitter who are also Indian and&amp;#160; we communicate in Hindi very often. Wait!! We don't type Hindi on twitter, because Hindi typing requires a special keyboard (or at least special Input Method), which we typically don't keep with us. Its because we Indian officially work in English Language. &lt;/p&gt;  &lt;p&gt;So if you are a foreigner and You see this phonetically typed Hindi, No way you can get it translated to your own language. &lt;/p&gt;  &lt;p&gt;So For you I have created a small JavaScript hack so that you can translate Phonetic Hindi into your own language.&lt;/p&gt;  &lt;p&gt;This is not for only who are foreigners, If you are Indian &amp;amp; still you have problem in understanding Hindi, here is Tool for you.&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;&lt;a href="http://www.purplegene.com/static/PhoneticTranslation.html" target="_blank"&gt;&lt;font size="5"&gt;Demo&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;How to develop on your own??&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;This is a Mashup. I am using 3 different service. &lt;/p&gt;  &lt;p align="left"&gt;1.&lt;a href="http://scriptconv.googlelabs.com/" target="_blank"&gt;Script Convertor&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;2.Google Translate API&lt;/p&gt;  &lt;p align="left"&gt;3.YQL (a very useful platform for creating mashup)&lt;/p&gt;  &lt;p align="left"&gt;To see the source code open the demo page and view source.&lt;/p&gt;  &lt;p align="left"&gt;I have written only few lines of&amp;#160; of JavaScript to do this.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-1092505915402892547?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/06QiZ1k1VHs56lXv33yhjRrwt38/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/06QiZ1k1VHs56lXv33yhjRrwt38/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/06QiZ1k1VHs56lXv33yhjRrwt38/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/06QiZ1k1VHs56lXv33yhjRrwt38/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=PmVYAttETTE:9CTNIr73LyE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=PmVYAttETTE:9CTNIr73LyE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=PmVYAttETTE:9CTNIr73LyE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=PmVYAttETTE:9CTNIr73LyE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=PmVYAttETTE:9CTNIr73LyE:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=PmVYAttETTE:9CTNIr73LyE:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=PmVYAttETTE:9CTNIr73LyE:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=PmVYAttETTE:9CTNIr73LyE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?i=PmVYAttETTE:9CTNIr73LyE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkandeyBlog?a=PmVYAttETTE:9CTNIr73LyE:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkandeyBlog?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.markandey.com/feeds/1092505915402892547/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.markandey.com/2009/11/phonetic-translation-for-hindi.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/1092505915402892547?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18392152/posts/default/1092505915402892547?v=2" /><link rel="alternate" type="text/html" href="http://www.markandey.com/2009/11/phonetic-translation-for-hindi.html" title="Phonetic Translation For Hindi" /><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04740003083306061024" /></author><thr:total>2</thr:total></entry></feed>
