<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-18392152</id><updated>2010-09-07T15:08:20.193-07:00</updated><title type='text'>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='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default?orderby=updated'/><link rel='alternate' type='text/html' href='http://www.markandey.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.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;orderby=updated'/><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><entry><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><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><title type='text'>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;br /&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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/5039158106308948833'/><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 xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04740003083306061024'/></author><thr:total>0</thr:total></entry><entry><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><category scheme='http://www.blogger.com/atom/ns#' term='Review'/><title type='text'>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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/7635753737891939192'/><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 xmlns:gd='http://schemas.google.com/g/2005' 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><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><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><title type='text'>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;br /&gt;&lt;br /&gt;&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;br /&gt;&lt;br /&gt;&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&lt;br /&gt;&lt;br /&gt;import os&lt;br /&gt;import sys&lt;br /&gt;import tempfile&lt;br /&gt;&lt;br /&gt;jsbeautify_path = "&lt;span class="Apple-style-span" style="color: orange;"&gt;/home/markandey/dev/einars-js-beautify/&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;content = sys.stdin.read()&lt;br /&gt;h, tmpfile = tempfile.mkstemp()&lt;br /&gt;os.close(h)&lt;br /&gt;&lt;br /&gt;f = open(tmpfile, "w")&lt;br /&gt;f.write(content)&lt;br /&gt;f.close()&lt;br /&gt;&lt;br /&gt;cmd = "js beautify-cl.js -i 4 %s"%(tmpfile)&lt;br /&gt;os.chdir(jsbeautify_path)&lt;br /&gt;content = os.system(cmd)&lt;br /&gt;os.remove(tmpfile)&lt;br /&gt;&lt;br /&gt;&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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/6526223905469662816'/><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 xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04740003083306061024'/></author><thr:total>1</thr:total></entry><entry><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><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/5316938311030510074'/><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 xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04740003083306061024'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18392152.post-2924119325327872932</id><published>2009-09-05T10:14:00.001-07:00</published><updated>2010-07-12T10:12:48.738-07:00</updated><title type='text'>What a software engineer can learn from YSR’s death</title><content type='html'>&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #444444;"&gt;[Background: &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;a href="http://en.wikipedia.org/wiki/Y._S._Rajasekhara_Reddy"&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #444444;"&gt;YSR&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #444444;"&gt; was Chief Minister of Andhra Pradesh (state) of India. He died in a chopper crash.]&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;One of the reason media figured out for YSR death is “he ignored safety processes/guidelines, and he influenced the aviation staff to fly during bad weather condition”.&lt;br /&gt;Now question is whose mistake?? &lt;br /&gt;Is it the mistake of CM to influence staff who takes care of safety guidelines? Or it’s the mistake of staff that he got influenced??? &lt;br /&gt;I believe it’s the mistake of staff.&lt;br /&gt;Very often this happens in software industry as well, we are given some tight schedule and we are forced to finish it. How you act in such scenario?? Mostly we try to finish that within deadline and we skip essential steps e.g. we skip unit testing, we skip code reviews and all of above we tend to write quick and dirty code.&lt;br /&gt;Before doing anything like that you should ask a question to you.&lt;br /&gt;Which is more dangerous?&lt;br /&gt;· Refusing to work on tight guideline?&lt;br /&gt;· Or writing quick and dirty code, and skipping process guideline?&lt;br /&gt;Act accordingly!!&lt;br /&gt;I personally refuse to work on tight guideline many time, because I think that might annoy my Boss for a moment but when something will go seriously wrong after product delivery, it might annoy whole company.&lt;br /&gt;[sad about the death of a mass leader]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-2924119325327872932?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.markandey.com/feeds/2924119325327872932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.markandey.com/2009/09/what-software-engineer-can-learn-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/2924119325327872932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/2924119325327872932'/><link rel='alternate' type='text/html' href='http://www.markandey.com/2009/09/what-software-engineer-can-learn-from.html' title='What a software engineer can learn from YSR’s death'/><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04740003083306061024'/></author><thr:total>0</thr:total></entry><entry><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><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>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;br /&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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/1263236551255276357'/><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 xmlns:gd='http://schemas.google.com/g/2005' 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><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><title type='text'>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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/2065124481241085498'/><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 xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04740003083306061024'/></author><thr:total>2</thr:total></entry><entry><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><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><title type='text'>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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/7725799100962786506'/><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 xmlns:gd='http://schemas.google.com/g/2005' 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><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><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>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) {&lt;br /&gt;var url = 'http://api.face.com/faces/detect.json?api_key=1ce92a4c5e60f04c37bedf86c2d19387&amp;amp;urls=' + imageurl + '&amp;amp;callback=?';&lt;br /&gt;$.getJSON(url, function (data) {&lt;br /&gt;if (data.status == "success") {&lt;br /&gt;if (data.photos[0].tags.length == 0) {&lt;br /&gt;$("#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;');&lt;br /&gt;}&lt;br /&gt;else if (data.photos[0].tags.length &amp;gt; 1) {&lt;br /&gt;showerror('This user is multifaceted, Let him/her put better profile picture..');&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;if (data.photos[0].tags[0].attributes.gender.value) {&lt;br /&gt;var gender = data.photos[0].tags[0].attributes.gender.value;&lt;br /&gt;if (data.photos[0].tags[0].attributes.gender.confidence &amp;gt; 40) {&lt;br /&gt;if (gender == 'male') {&lt;br /&gt;$("#resdiv").text('100% Male');&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;$("#resdiv").text('Gorgeous Female');&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;if (gender == 'male') {&lt;br /&gt;$("#resdiv").text('Male');&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;$("#resdiv").text('Female');&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;showerror('hmmm... not sure!!');&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;if (data.usage.used &amp;gt; 197) {&lt;br /&gt;showerror('Sorry!! Application Overloaded!!');&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;showerror('Processing failed!! Can not determine gender!!');&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/8623846173566094092'/><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 xmlns:gd='http://schemas.google.com/g/2005' 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><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><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><title type='text'>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, &lt;br /&gt;double centerLat, &lt;br /&gt;double centerLang, &lt;br /&gt;int zoom,&lt;br /&gt;double width,&lt;br /&gt;double height)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;       long val = 1 &amp;lt;&amp;lt; ((21 - zoom));&lt;br /&gt;       double target_y = LatToY(latitude); &lt;br /&gt;       double target_x = LongToX(longitude);&lt;br /&gt;       double delta_x = (((target_x - LongToX(centerLang))) / (val));&lt;br /&gt;       double delta_y  =(((target_y - LatToY(centerLat)) )/ (val));&lt;br /&gt;       double marker_x = (width/2) + delta_x;&lt;br /&gt;       double marker_y = (height/2) + delta_y;&lt;br /&gt;       PixelPoint p = new PixelPoint(marker_x,marker_y);&lt;br /&gt;       return p;&lt;br /&gt;}&lt;br /&gt;&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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/38011856954899725'/><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 xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04740003083306061024'/></author><thr:total>0</thr:total></entry><entry><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><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/4945661600110379071'/><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 xmlns:gd='http://schemas.google.com/g/2005' 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><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><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>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;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background: #000000; color: green;"&gt;private void btMaximize_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt; this.FormBorderStyle = FormBorderStyle.FixedSingle;&lt;br /&gt;&lt;br /&gt; if (this.WindowState != FormWindowState.Maximized)&lt;br /&gt; {&lt;br /&gt;  this.WindowState = FormWindowState.Maximized;&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt;  this.WindowState = FormWindowState.Normal;&lt;br /&gt;  &lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; this.FormBorderStyle = FormBorderStyle.None;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&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;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background: #000000; color: green;"&gt;private void btFullscreen_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt; this.FormBorderStyle = FormBorderStyle.None;&lt;br /&gt;        if (this.WindowState != FormWindowState.Maximized)&lt;br /&gt; {&lt;br /&gt;  &lt;br /&gt;  this.WindowState = FormWindowState.Maximized;&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt;  this.WindowState = FormWindowState.Normal;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/4153746548849821796'/><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 xmlns:gd='http://schemas.google.com/g/2005' 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><id>tag:blogger.com,1999:blog-18392152.post-5756957639738255211</id><published>2009-06-25T03:24:00.000-07:00</published><updated>2010-04-24T22:32:52.723-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>How to add Tabs on blogger?</title><content type='html'>&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;span class="Apple-style-span" style="background-color: #ffe599;"&gt;[This is old post, you can follow easy steps , with new blogger template designer &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.markandey.com/2010/03/how-to-get-tabs-navigation-bar-on-new.html"&gt;&lt;span class="Apple-style-span" style="background-color: #ffe599;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;span class="Apple-style-span" style="background-color: #ffe599;"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Here is a step by step procedure to add tabs for your blogger.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;STEP-1 Go to Blogger Dash board&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;STEP-2 Go to layout section of your blog, and go to edit HTML&lt;/b&gt;&lt;br /&gt;[&lt;b&gt;&lt;span style="color: #cc0000;"&gt;S&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color: #cc0000;"&gt;ave your template, to make sure that if anything will go wrong, you can restore the things back&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;]&lt;br /&gt;&lt;b&gt;STEP-3: Grab this code &lt;/b&gt;&lt;br /&gt;&lt;div style="background: #000000; color: green;"&gt;&lt;pre&gt;#tabsB {&lt;br /&gt;      float:left;&lt;br /&gt;      width:100%;&lt;br /&gt;      background:#F4F4F4;&lt;br /&gt;      font-size:93%;&lt;br /&gt;      line-height:normal;&lt;br /&gt;      }&lt;br /&gt;    #tabsB ul {&lt;br /&gt; margin:0;&lt;br /&gt; padding:10px 10px 0 50px;&lt;br /&gt; list-style:none;&lt;br /&gt;      }&lt;br /&gt;    #tabsB li {&lt;br /&gt;      display:inline;&lt;br /&gt;      margin:0;&lt;br /&gt;      padding:0;&lt;br /&gt;      }&lt;br /&gt;    #tabsB a {&lt;br /&gt;      float:left;&lt;br /&gt;      background:url("http://sites.google.com/site/hackbit/tableftB.gif") no-repeat left top;&lt;br /&gt;      margin:0;&lt;br /&gt;      padding:0 0 0 4px;&lt;br /&gt;      text-decoration:none;&lt;br /&gt;      }&lt;br /&gt;    #tabsB a span {&lt;br /&gt;      float:left;&lt;br /&gt;      display:block;&lt;br /&gt;      background:url("http://sites.google.com/site/hackbit/tabrightB.gif") no-repeat right top;&lt;br /&gt;      padding:5px 15px 4px 6px;&lt;br /&gt;      color:#666;&lt;br /&gt;      }&lt;br /&gt;    /* Commented Backslash Hack hides rule from IE5-Mac \*/&lt;br /&gt;    #tabsB a span {float:none;}&lt;br /&gt;    /* End IE5-Mac hack */&lt;br /&gt;    #tabsB a:hover span {&lt;br /&gt;      color:#000;&lt;br /&gt;      }&lt;br /&gt;    #tabsB a:hover {&lt;br /&gt;      background-position:0% -42px;&lt;br /&gt;      }&lt;br /&gt;    #tabsB a:hover span {&lt;br /&gt;      background-position:100% -42px;&lt;br /&gt;      }&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;STEP-4 Paste this code(above code) just after body CSS which will look like this &lt;br /&gt;&lt;div style="background: #000000; color: green;"&gt;&lt;pre&gt;body { &lt;br /&gt;background:$bgcolor; margin:0; &lt;br /&gt;color:$textcolor; &lt;br /&gt;font:x-small Georgia Serif; &lt;br /&gt;font-size/* */:/**/small; font-size: /**/small; &lt;br /&gt;text-align: center; &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;STEP-5 Grab following code (customize the link as per your need)&lt;br /&gt;&lt;div style="background: #000000; color: green;"&gt;&lt;pre&gt;&amp;lt;div id="tabsB"&amp;gt; &lt;br /&gt;  &amp;lt;ul&amp;gt; &lt;br /&gt;    &amp;lt;li&amp;gt;&amp;lt;a href="#" title="Link 1"&amp;gt;&amp;lt;span&amp;gt;Link 1&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;    &amp;lt;li&amp;gt;&amp;lt;a href="#" title="Link 2"&amp;gt;&amp;lt;span&amp;gt;Link 2&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;    &amp;lt;li&amp;gt;&amp;lt;a href="#" title="Link 3"&amp;gt;&amp;lt;span&amp;gt;Link 3&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;    &amp;lt;li&amp;gt;&amp;lt;a href="#" title="Longer Link Text"&amp;gt;&amp;lt;span&amp;gt;Longer Link Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;    &amp;lt;li&amp;gt;&amp;lt;a href="#" title="Link 5"&amp;gt;&amp;lt;span&amp;gt;Link 5&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;    &amp;lt;li&amp;gt;&amp;lt;a href="#" title="Link 6"&amp;gt;&amp;lt;span&amp;gt;Link 6&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt; &amp;lt;li&amp;gt;&amp;lt;a href="#" title="Link 7"&amp;gt;&amp;lt;span&amp;gt;Link 7&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;  &amp;lt;/ul&amp;gt; &lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;STEP-6 Paste the above code in you HTML template after header section (the line which will look like this)&lt;br /&gt;&lt;div style="background: #000000; color: green;"&gt;&lt;pre&gt;&amp;lt;b:widget id="Header1" locked="true" title="Experimenting Blogger (Header)" type="Header"&amp;gt;&lt;br /&gt;&amp;lt;/b:widget&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;STEP-6 Done!!, save the template and view your blog&lt;br /&gt;You can get some different kind of tab &lt;a href="http://www.exploding-boy.com/2005/12/15/free-css-navigation-designs/"&gt;design here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;&lt;a href="http://markandey-experiment.blogspot.com/"&gt;&lt;b&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="font-family: Georgia, 'Times New Roman', serif;"&gt;&lt;span style="color: white;"&gt;&lt;span style="background-color: blue;"&gt;Working Demo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-5756957639738255211?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.markandey.com/feeds/5756957639738255211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.markandey.com/2009/06/how-to-add-tabs-on-blogger_25.html#comment-form' title='87 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/5756957639738255211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/5756957639738255211'/><link rel='alternate' type='text/html' href='http://www.markandey.com/2009/06/how-to-add-tabs-on-blogger_25.html' title='How to add Tabs on blogger?'/><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04740003083306061024'/></author><thr:total>87</thr:total></entry><entry><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><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/2396170727687320712'/><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 xmlns:gd='http://schemas.google.com/g/2005' 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><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><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/448774146159416014'/><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 xmlns:gd='http://schemas.google.com/g/2005' 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><id>tag:blogger.com,1999:blog-18392152.post-5252906722153897148</id><published>2009-08-09T15:32:00.001-07:00</published><updated>2010-03-28T00:02:33.161-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>Top 11 Language Concepts That Every Developer Should Know</title><content type='html'>There are a few fundamental things we have invented in programming languages,&lt;br /&gt;which was invented at various point of time, particularly by one language and they were later adapted by many other languages.     &lt;br /&gt;I am going to list some of them, which have bigger impacts.&lt;br /&gt;&lt;span style="color: red; font-size: x-large;"&gt;&lt;span style="font-size: 21px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 16pt;"&gt;&lt;span style="color: red;"&gt;&lt;strong&gt;DataType&lt;/strong&gt; &lt;/span&gt;&lt;/span&gt;    &lt;br /&gt;The first and foremost thing which we have ever invented is the data type. Computers were&amp;nbsp; just a dumb machine, which could only understand the binary sequence. Binary sequence made no sense till it was grouped to form a DataType.     &lt;br /&gt;As you know a DataType, is something which groups the binary sequence together and represents some entity in mathematical word OR real word. All depends on its interpretation.     &lt;br /&gt;DataType is not just a grouping of binary sequence but also a set of operations which it posses. I mean a DataType definition just don't end with its binary&amp;nbsp; grouping but also the operation which can be performed on those entities. &lt;br /&gt;Later we have evolved these DataTypes into more complex form. We used mathematics to bring various complex data structures like List, Stack, Queue etc.    &lt;br /&gt;Today almost every programming language directly or indirectly have concept of data type. &lt;br /&gt;&lt;span style="color: red; font-size: x-large;"&gt;&lt;span style="font-size: 21px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: red; font-size: 16pt;"&gt;Pointers&lt;/span&gt;&lt;/strong&gt;     &lt;br /&gt;With the invention of computers, we've&amp;nbsp;&amp;nbsp; also invented the concept of loading and storing data from Hardware. Computers accesses memory by toggling special bit patterns in the&amp;nbsp; wires (which was called data bus).&amp;nbsp; This&amp;nbsp; led to the invention of Pointers in our high level programming languages. &lt;br /&gt;Pointers specially became popular in C programming language. Pointer is one of the most popular programming concepts ever invented.&amp;nbsp; Other than C language, pointers are supported by languages like C++,C#, Fortran, Pascal. Few dialects of &lt;a href="http://en.wikipedia.org/wiki/BASIC"&gt;BASIC&lt;/a&gt; also supports pointer.&lt;br /&gt;&lt;span style="color: red; font-size: x-large;"&gt;&lt;span style="font-size: 21px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: red; font-size: 16pt;"&gt;Structured Programming &lt;/span&gt;&lt;/strong&gt;    &lt;br /&gt;Most of the programs in the early days were completely relying on GOTO statements, which was a real mess and was making programmers life real hell. Now that's where we have invented the "structured programming " another fundamental programming concept. Through this concept we have brought something called functions, and subsequently we realized the power of abstraction. &lt;br /&gt;&lt;span style="color: red; font-size: x-large;"&gt;&lt;span style="font-size: 21px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;span style="font-size: 16pt;"&gt;&lt;strong&gt;OOPs&lt;/strong&gt; &lt;/span&gt;&lt;/span&gt;    &lt;br /&gt;I think OOPs (Object Oriented Programming) is one of the most popular and ever lasting fundamental concept we have invented in history of programming languages. OOps is an umbrella concept. We have brought many concepts under this.Concepts like Data hiding, Inheritance, abstraction, polymorphisms (static &amp;amp; dynamic) were just the beginning of OOps. OOps is available directly or indirectly in almost all modern languages. Languages like C++, java &amp;amp; c# have brought it a long way.&lt;br /&gt;&lt;span style="color: red; font-size: x-large;"&gt;&lt;span style="font-size: 21px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: red; font-size: 16pt;"&gt;Regular Expression&lt;/span&gt;&lt;/strong&gt;     &lt;br /&gt;Regular expressions provide a concise and flexible means for identifying patterns in string. This is used for searching and replacing special pattern in a string.If your favourite programming language is supporting Regular Expressions, and you are still thinking of learning,then this is the time to go and learn. Regular Expressions are now supported by many languages (almost all popular programming languages). Additionally Regular expression became standard language for many find and replace system utilities. Unix command (utility) Grep is one of the most popularly known Regular Expression based utility. Regular Expressions became so popular concept that many programming languages made it as the part of there language syntax (construct).Languages like&amp;nbsp; Perl, Ruby and TCL embraced regular expression as their primary language construct. &lt;br /&gt;&lt;span style="color: red; font-size: x-large;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: red; font-size: 14pt;"&gt;SQL&lt;/span&gt;&lt;/strong&gt;     &lt;br /&gt;With the invention of Relational database, where everything is stored in the form of Tables, SQL type of languages evolved. This was mainly developed for&amp;nbsp; data query, data update, schema creation &amp;amp; schema modification. They became so popular that it was extended to make procedural SQL.     &lt;br /&gt;With the popularity of SQL, recently Google has brought &lt;strong&gt;&lt;a href="http://code.google.com/appengine/docs/python/datastore/gqlreference.html"&gt;GQL&lt;/a&gt;&lt;/strong&gt; to abstract their &lt;a href="http://labs.google.com/papers/bigtable.html"&gt;Big Table&lt;/a&gt; ( a non relational data base). SQL like syntax is also borrowed by yahoo in &lt;strong&gt;&lt;a href="http://developer.yahoo.com/yql/guide/"&gt;YQL&lt;/a&gt;&lt;/strong&gt;, to query data from anywhere on internet. &lt;a href="http://msdn.microsoft.com/en-us/netframework/aa904594.aspx"&gt;LINQ&lt;/a&gt; in C#.net, is also&amp;nbsp;inspired&amp;nbsp;from SQL.&lt;br /&gt;&lt;span style="color: red; font-size: x-large;"&gt;&lt;span style="font-size: 21px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: red; font-size: 16pt;"&gt;Managed Heap&lt;/span&gt; &lt;/strong&gt;    &lt;br /&gt;Managed Heap OR&lt;a href="http://www.boost.org/doc/libs/1_39_0/libs/smart_ptr/sp_techniques.html"&gt; Smart pointers&lt;/a&gt;, was another revolutionary concept which was invented as a hack of OOps concept (classes ) in C++. This was invented by Microsoft in a concept called COM. Smart Pointer, solved the problem of memory leak .&lt;br /&gt;This concept was later adapted as default language semantic in programming languages like Java &amp;amp; C#. Later this was adapted by many programming languages like VB.net and Managed C++. &lt;br /&gt;&lt;span style="color: red; font-size: x-large;"&gt;&lt;span style="font-size: 21px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: red; font-size: 16pt;"&gt;XPATH        &lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;a href="http://www.w3schools.com/XPath/default.asp"&gt;XPath&lt;/a&gt; is another programming concept which was developed to access DOM tree, and became a preferred way to access the XML formatted data. This is another programming paradigm which you should be aware of, If by any chance you work with XML.     &lt;br /&gt;&lt;br /&gt;&lt;span style="color: red; font-size: x-large;"&gt;&lt;span style="font-size: 21px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;span style="font-size: 16pt;"&gt;&lt;strong&gt;Duck Typing&lt;/strong&gt; &lt;/span&gt;&lt;/span&gt;    &lt;br /&gt;The Term “&lt;a href="http://www.google.com/search?rlz=1C1GGLS_enIN291IN303&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8&amp;amp;q=Duck+Typing"&gt;Duck Typing&lt;/a&gt;” is invented by Python, though the concept of duck typing is old and was there in few languages earlier than Python.In duck typing, programmer is concerned with just those aspects of an object that are used, rather than with the type of the object itself.&lt;br /&gt;Let's understand this. Let us say we have a real life object Shape, which knows how to draw itself (with a method draw).&amp;nbsp; Now in OOps, We enforce this by creating an interface something like IDraw, any anything which can be drawn on the screen must be of type IDraw(i.e It should be inheriting IDraw). I Duck Typing, object can be drawn on the screen as long as object holds the draw method,irrespective of the type of object. DuckTyping removed the dependency of common interface definition, which are typically shared by client and server modules in OOps languages.&amp;nbsp; Disadvantage of such thing is, programmer will not be able to know at the compile time, that the object is not having the draw method in it. But wait, python does not have compile time, its interpreted language, so all the problem can only be identified during the runtime.   &lt;br /&gt;One thing i am sure about DuckTyping is that it is very risky deal when you are building a big (&lt;a href="http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/"&gt;cathedral like&lt;/a&gt;) software. But it is very good when you are writing&amp;nbsp; very small quick and dirty lines of code.   &lt;br /&gt;Duck Typing is supported by Python, JavaScript(and similar languages) &amp;amp; C# (for your surprise, &lt;a href="http://www.eioba.com/a75370/how_duck_typing_benefits_c_developers"&gt;read this nice example&lt;/a&gt;).   &lt;br /&gt;Duck Typing helps a lot in JavaScript, in fact the concept of “JSON based AJAX” is completely based of duck typing.   &lt;br /&gt;&lt;a href="http://blog.jason.pollock.ca/2008/08/duck-typing-sucks.html"&gt;Duck typing is a very controversial concept&lt;/a&gt;, many &lt;a href="http://www.ddj.com/cpp/184401971"&gt;OOPs&lt;/a&gt; lovers hate this concept.   &lt;br /&gt;&lt;span style="color: red; font-size: x-large;"&gt;&lt;span style="font-size: 21px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: red; font-size: 16pt;"&gt;Closure&lt;/span&gt;&lt;/strong&gt;     &lt;br /&gt;Some languages (e.g. JavaScript) allows you to define a function inside another function. Closure is the scope, which inner function is having.&amp;nbsp; Coolest part of closure is, scope remains valid even after outer function have returned.&lt;br /&gt;One of the nice example of closure is this (in JavaScript), Inner function &lt;strong&gt;&lt;em&gt;dofading&lt;/em&gt;&lt;/strong&gt; will still be having access to ‘&lt;strong&gt;&lt;em&gt;Div_InClosureScope&lt;/em&gt;&lt;/strong&gt;’ even after the&lt;strong&gt;&lt;em&gt; Fade&lt;/em&gt;&lt;/strong&gt; have returned. &lt;br /&gt;&lt;pre&gt;function Fade(id)&lt;br /&gt;{&lt;br /&gt;var Div_InClosureScope= document.getElementById(id);&lt;br /&gt;var level=0;&lt;br /&gt;function dofading()&lt;br /&gt;{&lt;br /&gt;var hex=level.toString(16);&lt;br /&gt;Div_InClosureScope.style.backgroundColor='#ff'+hex+hex+hex+hex;&lt;br /&gt;if(level&amp;lt;15)&lt;br /&gt;{&lt;br /&gt;level++;&lt;br /&gt;setTimeout(dofading,100);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;setTimeout(dofading,10);&lt;br /&gt;}&lt;/pre&gt;In more general term, closure is a special scope, provided to a special instance of a function. In OPPs the member function enjoys closure (data members are in closure scope). Programming language C does not have closure concept at all. Its a most simple and straight language.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt; &lt;span style="color: red; font-size: 16pt;"&gt;Yield&lt;/span&gt; &lt;/strong&gt;&lt;br /&gt;I found this technique first in python.This was not something new, but can confuse most the programmers from c/c++ background. This technique somehow stores state of iterator (I will explain latter), and returns different result at different time, and this is something c/c++ programmers are not used to. Any C/C++ programmer assumes a function is a stateless machine, which can return only one result for given set of argument, no matter how many time you going call that function.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A Python function stack can be unwrapped( retuned) in 2 ways, by a return statement or by a yield statement. A return statement stops the execution of a function (same as in c/c++ ). On the other hand an yield statement halts the execution of a function and store the state, so that when it will be invoked later, execution will start from the same point. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lets take an example of typical Fibonacci number generator. &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#An endless generator&lt;br /&gt;def fibonacci():&lt;br /&gt;i = j = 1&lt;br /&gt;while True:&lt;br /&gt;r, i, j = i, j, i + j #respective assignment&lt;br /&gt;yield r&lt;br /&gt;&lt;br /&gt;for rabbits in fibonacci():&lt;br /&gt;print rabbits,&lt;br /&gt;if rabbits &amp;gt; 100: break&lt;br /&gt;&lt;br /&gt;Output&lt;br /&gt;1 1 2 3 5 8 13 21 34 55 89 144&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Python certainly support, C++ like return statement, but using yield is most efficient for this such generators. All those recursive way of writing Fibonacci number generators are really inefficient( though they look simple).&lt;br /&gt;Yield statement is &lt;a href="http://msdn.microsoft.com/en-us/library/9k7k7cf0(VS.80).aspx"&gt;also supported by C#.net&lt;/a&gt;.&amp;nbsp; Here is one of the &lt;a href="http://blogs.msdn.com/ericlippert/archive/2009/07/20/iterator-blocks-part-four-why-no-yield-in-catch.aspx"&gt;nice post about yield in c#&lt;/a&gt;. Do not miss!&lt;br /&gt;&lt;br /&gt;I love this article, "&lt;a href="http://www.codethinked.com/post/2009/06/15/Life-After-Loops.aspx"&gt;Life after loops&lt;/a&gt;".&amp;nbsp;somehow,&amp;nbsp;its connected to this blog post&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-5252906722153897148?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.markandey.com/feeds/5252906722153897148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.markandey.com/2009/08/top-11-language-concepts-that-every.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/5252906722153897148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/5252906722153897148'/><link rel='alternate' type='text/html' href='http://www.markandey.com/2009/08/top-11-language-concepts-that-every.html' title='Top 11 Language Concepts That Every Developer Should Know'/><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04740003083306061024'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18392152.post-5781451996058652439</id><published>2009-03-03T11:38:00.000-08:00</published><updated>2010-03-26T14:00:06.983-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>Fartastic [Fart application for pocketpc (windows mobile) ]</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_sFmKMtGguSE/SbF5uaoGNII/AAAAAAAACLc/wn0PMT5zGek/s1600-h/fart_date.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_sFmKMtGguSE/SbF5uaoGNII/AAAAAAAACLc/wn0PMT5zGek/s320/fart_date.jpg" style="cursor: move;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: #666666;"&gt;(original file from&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.dailyhaha.com/_pics/fart_date.jpg"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: #666666;"&gt;http://www.dailyhaha.com/_pics/fart_date.jpg)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Hi guys,&lt;br /&gt;Here is a fart application for Pocket PC .&lt;br /&gt;So download the application from here&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: white;"&gt;&lt;span class="Apple-style-span" style="background-color: #cc0000;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;a href="http://jugad.googlecode.com/files/FartasticSetup.CAB"&gt;&lt;span style="color: white;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="background-color: #cc0000;"&gt;DOWNLOAD&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="background-color: #cc0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;and enjoy farting on your pocket pc...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;what is fart application?&lt;/span&gt;&lt;br /&gt;For the people who are&amp;nbsp;ignorant&amp;nbsp;about fart application here is a brief. This is an application which does nothing but produces farting sound after every 10 seconds or so. The fart sound is randomly chosen from the list of few sampled sound.&lt;br /&gt;The only use of such application is to do some&amp;nbsp;naughty&amp;nbsp;stuff. Its up to you to find&amp;nbsp;naughty&amp;nbsp;things. like u can enjoy people making weird faces, when you start this application in elevator (lifts) and put in your&amp;nbsp;pocket.&lt;br /&gt;&lt;br /&gt;Sorry for large size of installation, have to put the wav file inside...!! (around 5MB) :(&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;span style="color: #999999;"&gt;PocketPC Fart iFart Windows Mobile win mobile ppc pocket pc fart app&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-5781451996058652439?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.markandey.com/feeds/5781451996058652439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.markandey.com/2009/03/fartastic-fart-application-for-pocketpc.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/5781451996058652439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/5781451996058652439'/><link rel='alternate' type='text/html' href='http://www.markandey.com/2009/03/fartastic-fart-application-for-pocketpc.html' title='Fartastic [Fart application for pocketpc (windows mobile) ]'/><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04740003083306061024'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sFmKMtGguSE/SbF5uaoGNII/AAAAAAAACLc/wn0PMT5zGek/s72-c/fart_date.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18392152.post-1599237329829508124</id><published>2009-05-07T12:23:00.001-07:00</published><updated>2010-03-26T13:54:31.569-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>Fix JSON based Ajax in Chrome</title><content type='html'>I love JSON, because its very easy to work with JSON than working with XML. If you don't know what JSON is please read in detail here &lt;a href="http://www.json.org/"&gt;http://www.json.org/&lt;/a&gt;.&lt;br /&gt;Here i am discussing the use of JSON and the JSON retrieval method for AJAX. This method does not work in Chrome, because chrome maintains a JavaScript cache. I will discuss the fix of this problem as well.&lt;br /&gt;Lets take an example code, which will grab data from twitter search and it will display on your page.&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;html&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;head&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt;   2:&lt;/span&gt;     &lt;span style="color: blue;"&gt;function&lt;/span&gt; getsearch()&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt;   3:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt;   4:&lt;/span&gt;       &lt;span style="color: blue;"&gt;var&lt;/span&gt; search_url=&lt;span style="color: #006080;"&gt;'http://search.twitter.com/search.json?callback=mycallback&amp;amp;q='&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt;   5:&lt;/span&gt;       &lt;span style="color: green;"&gt;/*search_url will fetch you JSON with callback name as mycallback*/&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt;   6:&lt;/span&gt;       &lt;span style="color: blue;"&gt;var&lt;/span&gt; query=&lt;span style="color: #006080;"&gt;''&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt;   7:&lt;/span&gt;       query=document.getElementById(&lt;span style="color: #006080;"&gt;'query'&lt;/span&gt;).value;&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt;   8:&lt;/span&gt;       search_url=search_url+query;&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt;   9:&lt;/span&gt;       &lt;span style="color: blue;"&gt;var&lt;/span&gt; scrpt_div = document.getElementById(&lt;span style="color: #006080;"&gt;'script_div'&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt;  10:&lt;/span&gt;       scrpt_div.innerHTML = &lt;span style="color: #006080;"&gt;''&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt;  11:&lt;/span&gt;       &lt;span style="color: blue;"&gt;var&lt;/span&gt; scrpt_ele = document.createElement(&lt;span style="color: #006080;"&gt;'script'&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt;  12:&lt;/span&gt;       scrpt_ele.src = search_url;&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt;  13:&lt;/span&gt;       scrpt_div.appendChild(scrpt_ele);&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt;  14:&lt;/span&gt;       &lt;span style="color: blue;"&gt;var&lt;/span&gt; result_div = document.getElementById(&lt;span style="color: #006080;"&gt;'result_div'&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum15" style="color: #606060;"&gt;  15:&lt;/span&gt;       result_div.innerHTML = &lt;span style="color: #006080;"&gt;'loading....'&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum16" style="color: #606060;"&gt;  16:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum17" style="color: #606060;"&gt;  17:&lt;/span&gt;     &lt;span style="color: blue;"&gt;function&lt;/span&gt; mycallback(data)&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum18" style="color: #606060;"&gt;  18:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum19" style="color: #606060;"&gt;  19:&lt;/span&gt;       &lt;span style="color: green;"&gt;/*write code here to do the JOB*/&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum20" style="color: #606060;"&gt;  20:&lt;/span&gt;       &lt;span style="color: blue;"&gt;var&lt;/span&gt; html=&lt;span style="color: #006080;"&gt;''&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum21" style="color: #606060;"&gt;  21:&lt;/span&gt;       &lt;span style="color: blue;"&gt;for&lt;/span&gt;(&lt;span style="color: blue;"&gt;var&lt;/span&gt; i=0;i&amp;lt;data.results.length;i++) &lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum22" style="color: #606060;"&gt;  22:&lt;/span&gt;       { &lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum23" style="color: #606060;"&gt;  23:&lt;/span&gt;         &lt;span style="color: blue;"&gt;var&lt;/span&gt; tweet=data.results[i].text&lt;span style="color: green;"&gt;/*aah.. luxury of jus using the data, no parsing*/&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum24" style="color: #606060;"&gt;  24:&lt;/span&gt;         html=html+tweet+&lt;span style="color: #006080;"&gt;'&amp;lt;br/&amp;gt;'&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum25" style="color: #606060;"&gt;  25:&lt;/span&gt;         &lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum26" style="color: #606060;"&gt;  26:&lt;/span&gt;       }&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum27" style="color: #606060;"&gt;  27:&lt;/span&gt;       &lt;span style="color: blue;"&gt;var&lt;/span&gt; result_div = document.getElementById(&lt;span style="color: #006080;"&gt;'result_div'&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum28" style="color: #606060;"&gt;  28:&lt;/span&gt;       result_div.innerHTML = html;&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum29" style="color: #606060;"&gt;  29:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum30" style="color: #606060;"&gt;  30:&lt;/span&gt;   &lt;/pre&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;head&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;body&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;form&lt;/span&gt;  &lt;span style="color: red;"&gt;action&lt;/span&gt;&lt;span style="color: blue;"&gt;="javascript:void(0)"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;input&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="query"&lt;/span&gt; &lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="text"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;input&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;input&lt;/span&gt; &lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="submit"&lt;/span&gt; &lt;span style="color: red;"&gt;onclick&lt;/span&gt;&lt;span style="color: blue;"&gt;="getsearch();"&lt;/span&gt; &lt;span style="color: red;"&gt;value&lt;/span&gt;&lt;span style="color: blue;"&gt;="search"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;input&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;form&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="result_div"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;&amp;lt;!--Here your Result will appear &lt;/span&gt;&lt;span style="color: green;"&gt;    &lt;/span&gt;&lt;span style="color: green;"&gt;    --&amp;gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="script_div"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;&amp;lt;!--Here your JSON script will come &lt;/span&gt;&lt;span style="color: green;"&gt;      &lt;/span&gt;&lt;span style="color: green;"&gt;      &amp;lt;script src="http://search.twitter.com/search.json?callback=mycallback&amp;amp;q=hello"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;      &amp;lt;/script&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;    --&amp;gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;body&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;html&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&amp;nbsp;Get this code in &lt;a href="http://www.purplegene.com/static/exampleJSON.txt" target="_blank"&gt;plain here&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;In this code above, we are simply embedding a script element in the DOM whose src attribute will be the URL to retrieve JSON data (e.g &lt;a href="http://search.twitter.com/search.json?q=hello%E2%80%99" title="http://search.twitter.com/search.json?callback=mycallback&amp;amp;count='+fake_counter+'&amp;amp;q="&gt;http://search.twitter.com/search.json?q=hello’&lt;/a&gt;.) The URL will contain the call-back so that retrieving the JavaScript code for this element will result in calling your call back function and hence you will be able to use this JSON data in your call-back function.&lt;br /&gt;&lt;br /&gt;The above code is hosted here, so try &lt;a href="http://www.purplegene.com/static/exampleJSON.html" target="_blank"&gt;Demo1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you try this code in Chrome browser, for a same query it will not work for the second time! Reason is Chrome does smart caching of JavaScript. So if it will find that the new script tag has same src&amp;nbsp; URL, it will not include that for second time,&amp;nbsp; and hence it will not work second time in chrome.To fix this problem, I have added in extra parameter in the JSON query URL. which will be a fake counter.&lt;br /&gt;Instead of JSON URL like this&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;&lt;span style="white-space: pre;"&gt;&lt;span style="color: blue;"&gt;var&lt;/span&gt; search_url=&lt;span style="color: #006080;"&gt;'http://search.twitter.com/search.json?callback=mycallback&amp;amp;q='&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;you can modify by &lt;strong&gt;&lt;span style="color: #a40000;"&gt;adding extra query parameter&lt;/span&gt;&lt;/strong&gt; which does not mean anything to server. like this :&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;&lt;span style="white-space: pre;"&gt;&lt;span style="color: blue;"&gt;var&lt;/span&gt; search_url=&lt;span style="color: #006080;"&gt;'http://search.twitter.com/search.json?callback=mycallback&amp;amp;count='&lt;/span&gt;+fake_counter+&lt;span style="color: #006080;"&gt;'&amp;amp;q='&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;Increase the &lt;span style="color: #d20000;"&gt;fake_counter on every call&lt;/span&gt;. So that new URL will be different from the previous one. This will fix the problem in chrome.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now this fix code in &lt;a href="http://www.purplegene.com/static/example2JSON.txt" target="_blank"&gt;PlainText is here&lt;/a&gt; and &lt;a href="http://www.purplegene.com/static/example2JSON.html" target="_blank"&gt;Demo2 is here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-1599237329829508124?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.markandey.com/feeds/1599237329829508124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.markandey.com/2009/05/ajax-with-json-in-chrome.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/1599237329829508124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/1599237329829508124'/><link rel='alternate' type='text/html' href='http://www.markandey.com/2009/05/ajax-with-json-in-chrome.html' title='Fix JSON based Ajax in Chrome'/><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04740003083306061024'/></author><thr:total>1</thr:total></entry><entry><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><title type='text'>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;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/b:if&amp;gt;&lt;br /&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;br /&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;br /&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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/8430811764672207271'/><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 xmlns:gd='http://schemas.google.com/g/2005' 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><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><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><title type='text'>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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/818300418020326554'/><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 xmlns:gd='http://schemas.google.com/g/2005' 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><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><category scheme='http://www.blogger.com/atom/ns#' term='Humour'/><title type='text'>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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/7517035430827648940'/><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 xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04740003083306061024'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18392152.post-9119812470593458276</id><published>2009-06-29T12:48:00.001-07:00</published><updated>2010-03-20T19:36:31.928-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Humour'/><title type='text'>Few more awesome questions..</title><content type='html'>Thanks for all your appreciation &lt;a href="http://www.markandey.com/2009/06/few-awesome-questions.html"&gt;for my last post&lt;/a&gt;, Here is some more question, which are more &lt;a href="http://www.markandey.com/2009/06/few-awesome-questions.html"&gt;funnier that previous list&lt;/a&gt;.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;If white house is white, the blue house is blue, and the red house is red. Why green house is transparent?&lt;/li&gt;&lt;li&gt;Why all of the black boxes are &lt;a href="http://en.wikipedia.org/wiki/Black_box_(systems)"&gt;painted bright orange&lt;/a&gt;?&lt;/li&gt;&lt;li&gt;If there is a substance exist, which can make Black Box indestructible, why not same thing is used to make whole aircraft?&lt;/li&gt;&lt;li&gt;Why black paint smells like a green paint?&lt;/li&gt;&lt;li&gt;Why there is flotation devices under plane seats instead of parachutes?&lt;/li&gt;&lt;li&gt;What's another word for thesaurus?&lt;/li&gt;&lt;li&gt;Why is it that when you transport something by car, it's called a shipment, but when you transport something by ship, it's called cargo?&lt;/li&gt;&lt;li&gt;Why I get a phone call from Vodafone to say my bill was outstanding? (I always say thanks)&lt;/li&gt;&lt;li&gt;I understand money talks, but why it always say "goodbye" to me?&lt;/li&gt;&lt;li&gt;How can a burnt match thrown from a car start a forest fire when 2 boxes of matches, 10 fire lighters &amp;amp; lighter fuel can't light a BBQ?&lt;/li&gt;&lt;li&gt;What will happen if a abortion clinic will have a 12 months waiting time?&lt;/li&gt;&lt;li&gt;Why isn't the number 11 pronounced onety one?&lt;/li&gt;&lt;li&gt;Ever wonder what the speed of lightning would be if it didn't zigzag?&lt;/li&gt;&lt;li&gt;If people from Poland are called Poles, why aren't people from Holland called Holes?&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-9119812470593458276?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.markandey.com/feeds/9119812470593458276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.markandey.com/2009/06/few-more-awesome-questions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/9119812470593458276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/9119812470593458276'/><link rel='alternate' type='text/html' href='http://www.markandey.com/2009/06/few-more-awesome-questions.html' title='Few more awesome questions..'/><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04740003083306061024'/></author><thr:total>0</thr:total></entry><entry><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><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/9044705399913671488'/><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 xmlns:gd='http://schemas.google.com/g/2005' 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><id>tag:blogger.com,1999:blog-18392152.post-3479082308281470005</id><published>2009-08-27T11:46:00.001-07:00</published><updated>2010-03-12T14:16:59.162-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>YQL hack to get DZone popular articles on 1 page</title><content type='html'>Problem with DZone feed is, it contains the link to DZone page. No way i can jump to article, skipping the DZone page. At the end of this article You will be getting a simple YQL based hack to get a DZone popular links on 1 page linked to original blog page.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red; font-size: medium;"&gt;Note&lt;/span&gt;: if you are not interested in how i got it &lt;/span&gt;&lt;a href="http://www.purplegene.com/static/dzonearticles.html"&gt;&lt;span style="font-size: x-small;"&gt;Jump to Demo&lt;/span&gt;&lt;/a&gt;.&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;STEP-1&lt;/strong&gt;       &lt;br /&gt;&lt;/span&gt;Using YQL first get the popular links.&amp;nbsp; using feed table (use &lt;a href="http://developer.yahoo.com/yql/console/"&gt;YQL console&lt;/a&gt;).&lt;br /&gt;URL to popular link feed is &lt;a href="http://feeds.dzone.com/dzone/frontpage"&gt;http://feeds.dzone.com/dzone/frontpage&lt;/a&gt;     &lt;br /&gt;So my YQL query will be.&lt;br /&gt;&lt;span style="color: blue; font-size: small;"&gt;select * from feed where url='http://feeds.dzone.com/dzone/frontpage'&lt;/span&gt;     &lt;br /&gt;&lt;br /&gt;You will get the details of all popular articles linked to Dzone’s page (same as in feed).&lt;br /&gt;I am just interested in links so my YQL will be (replace * by link).    &lt;br /&gt;&lt;span style="color: blue; font-size: small;"&gt;select &lt;span style="color: red;"&gt;&lt;strong&gt;link&lt;/strong&gt;&lt;/span&gt; from feed where url='http://feeds.dzone.com/dzone/frontpage'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;STEP-2&lt;/strong&gt;       &lt;br /&gt;&lt;/span&gt;With all those link retrieved in the step-1, get the HTML page out of it. get the title node using an XPath query .     &lt;br /&gt;First by simple DOM inspection i can figure out that title node is wrapped in a DIV element&amp;nbsp; whose class name is ‘ldTitle’.     &lt;br /&gt;&lt;span style="color: blue; font-size: medium;"&gt;select * from html where url in (&lt;span style="color: #8080ff;"&gt;select link from feed where url='http://feeds.dzone.com/dzone/frontpage'&lt;/span&gt;) and xpath='//div[@class="ldTitle"]/a'       &lt;br /&gt;&lt;/span&gt;Select format as XML and grab the REST URL     &lt;br /&gt;which will look like this &lt;br /&gt;&lt;div class="code"&gt;http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%20in%20(select%20link%20from%20feed%20where%20url%3D'http%3A%2F%2Ffeeds.dzone.com%2Fdzone%2Ffrontpage')%20and%0A%20%20%20%20%20%20xpath%3D'%2F%2Fdiv%5B%40class%3D%22ldTitle%22%5D%2Fa'&amp;amp;format=xml&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;STEP-3&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Now Time to do some tweaking. if i get this data in XML i have to parse it. if i will get it in JSON, JavaScript will do all the parsing for me. That's why i love JSON. &lt;br /&gt;Now if i get everything in JSON i have to regenerate DOM via a JavaScript code. I am lazy to do even that. So i want result formatted in JSON and DOM section as it is(i.e. in XML).&lt;br /&gt;I can do this by putting a call-back as argument in above REST URL.&lt;br /&gt;so my REST URL will be &lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%20in%20(select%20link%20from%20feed%20where%20url%3D'http%3A%2F%2Ffeeds.dzone.com%2Fdzone%2Ffrontpage')%20and%0A%20%20%20%20%20%20xpath%3D'%2F%2Fdiv%5B%40class%3D%22ldTitle%22%5D%2Fa'%0A%0A&amp;amp;format=xml&amp;amp;callback=loadlist&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;My call back name is ‘loadlist’. so lets implement this call-back.&lt;br /&gt;which is like this. &lt;br /&gt;&lt;pre&gt;function loadlist(data)&lt;br /&gt;{&lt;br /&gt;var content_div=document.getElementById('content');&lt;br /&gt;if(!data.query)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;content_div.innerHTML="error.. failed to load"&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;var i=0;&lt;br /&gt;var html="";&lt;br /&gt;for(i=0;i&amp;lt;data.query.count;i++)&lt;br /&gt;{&lt;br /&gt;html= html+data.results[i]+"&amp;lt;br/&amp;gt;";&lt;br /&gt;}&lt;br /&gt;content_div.innerHTML=html;&lt;br /&gt;}&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;To see the full source code, visit &lt;a href="http://www.purplegene.com/static/dzonearticles.html"&gt;this page&lt;/a&gt; and view source code. I have implemented extra function ‘track’ for some purpose. . &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.purplegene.com/static/dzonearticles.html"&gt;DEMO&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18392152-3479082308281470005?l=www.markandey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.markandey.com/feeds/3479082308281470005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.markandey.com/2009/08/yql-hack-to-get-dzone-popular-articles.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/3479082308281470005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/3479082308281470005'/><link rel='alternate' type='text/html' href='http://www.markandey.com/2009/08/yql-hack-to-get-dzone-popular-articles.html' title='YQL hack to get DZone popular articles on 1 page'/><author><name>Markandey Singh</name><uri>http://www.blogger.com/profile/15429744165780488065</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04740003083306061024'/></author><thr:total>0</thr:total></entry><entry><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><category scheme='http://www.blogger.com/atom/ns#' term='Article'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>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;</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'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18392152/posts/default/639530901191592010'/><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 xmlns:gd='http://schemas.google.com/g/2005' 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></feed>