<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Milkhost: $10 per year Indian web hosting
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-1585084-4']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
    ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
    var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
  })();</description><title>Karthik Murugan's Blog</title><generator>Tumblr (3.0; @yemkay)</generator><link>http://blog.yemkay.com/</link><item><title>Released new version of "Daily Cartoons" App</title><description>&lt;p&gt;Published next version of my Android app - Daily Cartoons. New features are,&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Ability to browse and view cartoons from various channels like AnderToons, Cricinfo, Times Of India, Deccan Chronicle, Amul.&lt;/li&gt;
&lt;li&gt;More channels will be added on the fly, without needing to upgrade the app&lt;/li&gt;
&lt;li&gt;Cartoons are now grouped by publishing date viz. Today, Yesterday, 2 days ago and older.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Download by clicking &lt;a title="Cartoons Android app" href="http://market.android.com/search?q=pname:com.yemkay.cartoons"&gt;this link&lt;/a&gt; from an Android phone. Or scan this QR code &lt;img src="http://qrcode.kaywa.com/img.php?s=8&amp;d=http%3A%2F%2Fmarket.android.com%2Fsearch%3Fq%3Dpname%3Acom.yemkay.cartoons" width="96" height="96"/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://market.android.com/publish/images/PQAAAGLfKttvns79mEn9pYjvucXT5LOIo_XcQjAlq_ZRc2C7RHzvlaxMpHK2q-FJA1x9BZYMZLojbtVWrfoieUN8yxwAzfqVaZe9O1ceFMemEPxN0bN6rs1VNenV.png" alt="Browse Cartoons" height="280"/&gt;&lt;img src="http://market.android.com/publish/images/PQAAAGOKE7uDHeOu8RLhwBLp6rLd83MPbvzVBN7HHKXvz2WbWgh5xdsyK4-HBInoGK1h8G62Gznus-ylFMBJlmyWd70AzfqVaU7M3r3BfszBrPXHEvA0Q5jWpUqt.png" alt="View cartoon" height="280"/&gt;&lt;img src="http://market.android.com/publish/images/PQAAAFaKS41MAspMBh_oaf2FP2baW5SN4B--hUMggE4AI73MljtZyCEjSTStVTle4AHVjvShQ2mz0jr7IDzifZfuo3UAzfqVaRvFNoVWLhIxcnXPE5qxQif_FZNd.png" alt="Choose cartoon channels" height="280"/&gt;&lt;/p&gt;</description><link>http://blog.yemkay.com/post/2370998013</link><guid>http://blog.yemkay.com/post/2370998013</guid><pubDate>Sun, 19 Dec 2010 12:57:00 +0530</pubDate><category>products</category></item><item><title>Daily Cartoons - Android app</title><description>&lt;p&gt;My first Android app is in market now. Its a simple app to browse cartoons from &lt;a href="http://www.cricinfo.com/page2/content/site/page2/cartoons.html"&gt;CricInfo&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://market.android.com/publish/images/OgAAAAUbSfzJ-GBHJwD_H-wWN7zCg91Hmo0-8ukKZb5kcXDJ3DWtXa71aXd9FQUpow5hsp2FX2ybybBueywHxzdJJI4AzfqVadGehCUpIEIfHPwwu7-hntB1JqCJ.png" alt="Cartoons android" width="240" height="320"/&gt;&lt;img src="http://market.android.com/publish/images/OAAAAM21vItNn16d85N1az6DWWJ63FMaewAAWGLEUBEW7XOoLGZSjMGWSR8zUG4ms_zT9ohM5aThIEvXJgGLZ33fjvsAzfqVaX-GIoUeoczH7vgnYshKwmLYXS2E.png" alt="Cartoons android" width="240" height="320"/&gt;&lt;/p&gt;
&lt;p&gt;Download by clicking &lt;a title="Cartoons Android app" href="http://market.android.com/search?q=pname:com.yemkay.cartoons"&gt;this link&lt;/a&gt; from an Android phone &lt;/p&gt;
&lt;p&gt;OR&lt;/p&gt;
&lt;p&gt;Search for “Daily Cartoons” in market&lt;/p&gt;
&lt;p&gt;OR&lt;/p&gt;
&lt;p&gt;Scan this QR code&lt;/p&gt;
&lt;p&gt; &lt;img height="100" width="100" src="http://qrcode.kaywa.com/img.php?s=8&amp;d=http%3A%2F%2Fmarket.android.com%2Fsearch%3Fq%3Dpname%3Acom.yemkay.cartoons"/&gt;&lt;/p&gt;
&lt;p&gt;Future releases will add Cartoons from magazines like Times of India, Indian Express, Deccan Chronicle.&lt;/p&gt;
&lt;p&gt;I also hope to add features like notifications, unread items, custom subscriptions in future releases.&lt;/p&gt;</description><link>http://blog.yemkay.com/post/1350710859</link><guid>http://blog.yemkay.com/post/1350710859</guid><pubDate>Tue, 19 Oct 2010 16:42:00 +0530</pubDate></item><item><title>Twitter OAuth PHP library</title><description>&lt;p&gt;Twitter API &lt;a href="http://groups.google.com/group/twitter-development-talk/browse_thread/thread/c03fa2b1ae90d2a9/29c71458b4500e1c"&gt;shut down&lt;/a&gt; Basic Auth on August 31. I was a big fan of the &lt;a href="http://blog.arc90.com/2008/06/03/twitter-api-client-released/"&gt;Arc90 Twitter library&lt;/a&gt;, but its no longer usable because of the shutdown. Even before the shutdown, I’d been using Abraham’s &lt;a href="http://github.com/abraham/twitteroauth"&gt;twitterOAuth&lt;/a&gt; for Twitter Signin integration with my websites. Its a nice library that hides the OAuth security aspects from developers. But after having used Arc90 library in all my projects, migrating the code to another library was costly and time consuming.&lt;/p&gt;
&lt;p&gt;So, I merged both the libraries. I enabled OAuth in Arc90 library by making some internal calls to twitterOAuth library. This way, I could continue using Arc90 library in my projects just by porting the new library and adding few lines of code to pass access tokens to the library object.&lt;/p&gt;
&lt;p&gt;I’ve published the library in GitHub at &lt;a href="http://github.com/yemkay/arc90-twitteroauth"&gt;&lt;a href="http://github.com/yemkay/arc90-twitteroauth"&gt;http://github.com/yemkay/arc90-twitteroauth&lt;/a&gt;&lt;/a&gt;, which is also my first Open Source contribution. &lt;/p&gt;
&lt;p&gt;Here is a code snippet that retrieves Twitter home timeline using the new library:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;?php
&lt;br/&gt;&lt;/pre&gt;
&lt;pre&gt;require_once("lib/Arc90/Service/Twitter.php");
&lt;/pre&gt;
&lt;pre&gt;$twitter = new Arc90_Service_Twitter();
//Pass consumer key, secret of Oauth app and user's access token, secret
$twitter-&gt;useOAuth('OAUTH_CONSUMER_KEY', 'OAUTH_CONSUMER_SECRET', 'USER_TOKEN', 'USER_SECRET');
&lt;/pre&gt;
&lt;pre&gt;//Get tweets from user's timeline
$response = $this-&gt;twitter-&gt;getFriendsTimeline('json', array('count' =&gt; 200, 'page' =&gt; $page));
&lt;/pre&gt;
&lt;pre&gt;echo ('HTTP code: '.$response-&gt;getHttpCode());

if (!$response-&gt;isError())
{
	$messages = $response-&gt;getJsonData();
	echo 'Found '.count($messages).' new tweets';	
	/* GO AHEAD AND PROCESS TWEETS */
}
else
{
	echo 'Error description: '.$response-&gt;getData();
}


?&gt;&lt;/pre&gt;
&lt;/blockquote&gt;</description><link>http://blog.yemkay.com/post/1081995151</link><guid>http://blog.yemkay.com/post/1081995151</guid><pubDate>Tue, 07 Sep 2010 23:23:00 +0530</pubDate><category>Projects</category></item><item><title>Combining MySQL FULLTEXT match with other WHERE conditions</title><description>&lt;p&gt;I was too late to realize that a query like the following, which combines FULLTEXT match and another where condition is not scalable.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;SELECT * FROM mytable&lt;/p&gt;
&lt;p&gt;WHERE MATCH(message) AGAINST (‘inception’) AND is_member = 1&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;(&lt;em&gt;In this table message is FULLTEXT indexed and the boolean type column is_member is B-Tree indexed&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;The query is not scalable, because MySql can’t use both the indices (It can use only one index per table). And, we can’t index both these columns together too.&lt;/p&gt;
&lt;p&gt;The solution is pretty simple. While inserting message into the table, append an unique value to identify the record as member’s one. I’d do something like this,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;INSERT INTO mytable(message, is_member)&lt;/p&gt;
&lt;p&gt;VALUES(‘Just saw inception &lt;strong&gt;ismember&lt;/strong&gt;’, 1)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Now, MySql indexes the word “ismember” along with other texts in the record, and we can use a query like the following, without the extra WHERE condition,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;SELECT * FROM mytable&lt;/p&gt;
&lt;p&gt;WHERE MATCH(message) AGAINST (‘+inception &lt;strong&gt;+ismember&lt;/strong&gt;’)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This query will return only the member records that matched “inception”. This query uses just one index and runs pretty faster than the previous one. The difference can be seen, when you have millions of records in your table.&lt;/p&gt;
&lt;p&gt;This example showed a boolean column. But this can be extended to columns of any type. We just have to make sure to append unique identifiers to the FULLTEXT indexed column.&lt;/p&gt;</description><link>http://blog.yemkay.com/post/988401061</link><guid>http://blog.yemkay.com/post/988401061</guid><pubDate>Sat, 21 Aug 2010 23:26:38 +0530</pubDate></item><item><title>Associated Parsers: FootTweet and Twitter Streaming API</title><description>&lt;a href="http://blog.associated-parsers.com/post/773698124/foottweet-and-twitter-streaming-api"&gt;Associated Parsers: FootTweet and Twitter Streaming API&lt;/a&gt;: &lt;p&gt;My post on &lt;a title="AP blog" href="http://blog.associated-parsers.com"&gt;AP&lt;/a&gt; blog about how we used Streaming API for gathering Twitter posts to FootTweet&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a title="FootTweet" target="_blank" href="http://www.foottweet.com"&gt;FootTweet&lt;/a&gt; is a virtual FootBall game played on the platform of Twitter. We use the powerful Twitter &lt;a title="Streaming API" target="_blank" href="http://dev.twitter.com/pages/streaming_api"&gt;Streaming API&lt;/a&gt; to get the tweets to FootTweet in a few seconds after they were posted to Twitter.&lt;/p&gt;
&lt;p&gt;When you have number of keywords to track and you want the information in real time,…&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://blog.yemkay.com/post/874632243</link><guid>http://blog.yemkay.com/post/874632243</guid><pubDate>Tue, 06 Jul 2010 15:24:00 +0530</pubDate><category>Streaming API</category><category>Projects</category><category>Twitter</category></item><item><title>Associated Parsers: Foottweet !</title><description>&lt;a href="http://blog.associated-parsers.com/post/762780390"&gt;Associated Parsers: Foottweet !&lt;/a&gt;: &lt;p&gt;Our first launch from Associated Parsers. Go check out!!!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Introducing &lt;a target="_blank" href="http://www.foottweet.com"&gt;FootTweet&lt;/a&gt;, a very advanced web app that displays and categorizes tweets according to their content !&lt;/p&gt;
&lt;p&gt;We’ve decided to show our technology applied to the World Cup, ‘cause there’s about 3 billion ppl watching, and we thought some of them could be tweeting as well ;)&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.twitter.com"&gt;Twitter.com…&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://blog.yemkay.com/post/874627131</link><guid>http://blog.yemkay.com/post/874627131</guid><pubDate>Sat, 03 Jul 2010 15:22:00 +0530</pubDate><category>Projects</category><category>Twitter</category></item><item><title>Quick hack on Twitter Follow bug</title><description>&lt;p&gt;We made a quick hack to find out the most demanded followers during the Twitter follow bug drama.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.associated-parsers.com/post/587784679"&gt;Associated parsers&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Seemingly Twitter had a small bug tonight. Here are the top “requests” for acceptance made by users : &lt;a href="http://www.associated-parsers.com/accept/"&gt;&lt;a href="http://www.associated-parsers.com/accept/"&gt;http://www.associated-parsers.com/accept/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://blog.yemkay.com/post/883798983</link><guid>http://blog.yemkay.com/post/883798983</guid><pubDate>Tue, 11 May 2010 15:25:00 +0530</pubDate><category>Twitter</category><category>hacks</category></item><item><title>CricTwits</title><description>&lt;p&gt;&lt;div style="float:right;padding-left:40px;"&gt;&lt;img style="height:120px;" src="http://crictwits.com/img/logo.png"/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;Check out my biggest launch till date: &lt;a href="http://www.crictwits.com"&gt;CricTwits&lt;/a&gt; - an aggregator of Twitter conversations revolving around Cricket matches. This project was inspired from &lt;a href="http://titletweets.com"&gt;Title Tweets&lt;/a&gt;, a similar initiative for a basketball tournament in USA.&lt;br/&gt;&lt;br/&gt;It took 2 weeks to build this website after getting an inspiration from Title Tweets. CricTwits collects twitter posts containing references to cricket matches, team names, player names. The &lt;a href="http://www.crictwits.com/matches/mumbai-indians-vs-chennai-super-kings"&gt;match page&lt;/a&gt; shows tweets favoring the two teams and also allows you to post to your twitter timeline from within the Website. There is also a live scoreboard on the match page. So, you have one reason less to leave the website.&lt;br/&gt;&lt;br/&gt;I timed the launch to coincide with IPL. CricTwits is a great platform for IPL fans to stay close to thier favorite club. Go Tweet!!&lt;br/&gt;&lt;br/&gt;&lt;a href="http://www.crictwits.com/matches/mumbai-indians-vs-chennai-super-kings"&gt;&lt;img src="http://www.yemkay.com/oldblog/wp-content/uploads/2009/04/crictwits.jpg" alt="CricTwits"/&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/4212293897800427136-3644187920845257093?l=tempkay.blogspot.com" alt=""/&gt;&lt;/div&gt;&lt;/p&gt;</description><link>http://blog.yemkay.com/post/871645901</link><guid>http://blog.yemkay.com/post/871645901</guid><pubDate>Sat, 18 Apr 2009 12:19:00 +0530</pubDate><category>Projects</category><category>Twitter</category></item><item><title>Postal Address Locator (PAL) - an innovation by India Post</title><description>&lt;p&gt;Those who think Postal Services are not meant for this generation, rethink!!!. India post has proposed to replace the age old Postal Index (PIN) code with 8 digit Postal Address Locator (PAL) code. In the past we have seen such revolutions in Telecom industry, when the number of digits in our telephone number increased from five to six and then to eight. Now we will soon see our pin codes also changing this way, but your new code is not going to be your old code prefixed with the state/city code. &lt;br/&gt;&lt;br/&gt;As per this proposal, the new PAL code will have 8 digits. First two digits denote the &lt;b&gt;state&lt;/b&gt;, next two digits denote either the &lt;b&gt;metro or the district&lt;/b&gt;. For a metro locality, the fifth digit denotes its &lt;b&gt;zone&lt;/b&gt; and the last three digits denote the &lt;b&gt;locality&lt;/b&gt;. For a non-metro locality, the 5th digit denotes a &lt;b&gt;town&lt;/b&gt; in the district and the last 3 digits denote the &lt;b&gt;village&lt;/b&gt;. &lt;br/&gt;&lt;br/&gt;&lt;h3&gt;For metro localities&lt;/h3&gt;&lt;br/&gt;&lt;p align="center" style="font-weight: bold; text-align: center; font-size: 20pt;"&gt;&lt;font color="#000000" style="padding: 0pt 25pt"&gt;22&lt;/font&gt;&lt;font color="#FF0065" style="padding: 0pt 25pt"&gt;01&lt;/font&gt;&lt;font color="#227700" style="padding: 0pt 25pt"&gt;5&lt;/font&gt;&lt;font color="#00339A" style="padding: 0pt 25pt"&gt;248&lt;/font&gt;&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;p align="center" style="font-weight: bold; text-align: center; font-size: 16pt;"&gt;&lt;font color="#000000"&gt;{State}&lt;/font&gt;&lt;font color="#FF0065"&gt;{Metro City}&lt;/font&gt;&lt;font color="#227700"&gt;{Metro Zone}&lt;/font&gt;&lt;font color="#00339A"&gt;{Locality}&lt;/font&gt;&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;For non-metro localities&lt;/h3&gt;&lt;br/&gt;&lt;p align="center" style="font-weight: bold; text-align: center; font-size: 20pt;"&gt;&lt;font color="#000000" style="padding: 0pt 25pt"&gt;22&lt;/font&gt;&lt;font color="#FF0065" style="padding: 0pt 25pt"&gt;10&lt;/font&gt;&lt;font color="#227700" style="padding: 0pt 25pt"&gt;6&lt;/font&gt;&lt;font color="#00339A" style="padding: 0pt 25pt"&gt;178&lt;/font&gt;&lt;/p&gt;&lt;br/&gt;&lt;p align="center" style="font-weight: bold; text-align: center; font-size: 16pt;"&gt;&lt;br/&gt;&lt;font color="#000000"&gt;{State}&lt;/font&gt;&lt;font color="#FF0065"&gt;{District}&lt;/font&gt;&lt;font color="#227700"&gt;{Town}&lt;/font&gt;&lt;font color="#00339A"&gt;{village}&lt;/font&gt;&lt;br/&gt;&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;In third and fourth digits, the range 01 to 09 is used to denote a metro in the state and values 10 to 99 are used for districts. So, this code can accommodate 9 metros and 90 districts in a state, which is good enough even for the largest state U.P, which has 70 districts. It’s imminent that the code for state capital will be 01. &lt;b&gt;Metro&lt;/b&gt;, in this context, doesn’t mean metropolitan cities but municipal cities. So second tier cities like Coimbatore, Pune, Surat, Mysore will be identified from each state and metro codes are assigned for them. There can be 9 such cities from a state.&lt;br/&gt;&lt;br/&gt;If the fifth digit is between one and five, it denotes a zone in metro and other values denote a town in the district. As this system accommodates just 5 towns in a district, it’s not clear on what basis such towns are identified from districts. &lt;br/&gt;&lt;br/&gt;At maximum, the system supports 9999 villages in a district or same number of localities in a metro. So the smallest entity identified by this code will be a village or a metro locality, regardless of whether it has a post office or not. A question arises here is that a small district in the state of Pondichery and the Mumbai city, which has a population of 2 crore, will get the same number of slots for their localities according to this design. I think, for postal department geography is more important than the demography. So Mumbai with an area comparable with that of a district will get the same number of slots for its localities. Rather I feel, by allotting single digit metro code value (01 to 09) in the third and fourth positions, they are wasting a precious digit in the PAL code. &lt;b&gt;We could increase the number of locality slots for a metro by 10 fold, if just the third digit is used for the metro code and the last 5 digits are used for the localities.&lt;/b&gt; India post encourages citizens to send their views on the new PAL system. Note the email address - deputydgpoi at gmail.com. I’ve just sent the above suggestion to this email.&lt;br/&gt;&lt;br/&gt;The &lt;a href="http://www.indiapost.gov.in/New_Code.pdf"&gt;proposal document&lt;/a&gt; claims that the first half of the code will be used to segregate the outgoing mails and second half will be used in delivering the incoming mails. &lt;br/&gt;&lt;br/&gt;Another interesting aspect I noted from this document is about the increasing passion in Government organizations like India Post and BSNL. See this excerpt from a slide for popularizing the PAL system,&lt;br/&gt;&lt;br/&gt;&lt;blockquote&gt;Launch a bold and innovative publicity campaign for 2 months before introduction that should catch the imagination of the nation like wild fire - Something like KBC or IPL&lt;/blockquote&gt;&lt;br/&gt;&lt;br/&gt;Would you have imagined this passion in a Govt. organization? Though they are far behind the private organizations in terms of liberal decision making, there are already promising signs of improvement. One should note that unlike growth in the private sector, the growth in Government sector triggers growth of the Nation by multifold.&lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/4212293897800427136-7527857671228865098?l=tempkay.blogspot.com" alt=""/&gt;&lt;/div&gt;&lt;/p&gt;</description><link>http://blog.yemkay.com/post/871645798</link><guid>http://blog.yemkay.com/post/871645798</guid><pubDate>Sat, 16 Aug 2008 17:50:00 +0530</pubDate><category>Things interested me</category></item><item><title>A RSS feed for your country’s medal hunt in Olympics 2008</title><description>&lt;p&gt;I’ve created a Yahoo Pipe to &lt;a href="http://pipes.yahoo.com/yemkay/olympics2008medalfeed"&gt;find the list the medals won by a country&lt;/a&gt; in the ongoing Olympics 2008. Visit the &lt;a href="http://pipes.yahoo.com/yemkay/olympics2008medalfeed"&gt;pipe&lt;/a&gt;, enter the country code and click on “Run”. &lt;a href="http://pipes.yahoo.com/pipes/pipe.run?_id=6a215d184d1bfc2a1b24c718b6936d26"&gt;Find the list of Country codes here&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;The results are displayed as shown in this picture,&lt;br/&gt;&lt;p align="center"&gt;&lt;img src="http://www.yemkay.com/oldblog/wp-content/uploads/2008/08/medalfeed.png" alt="RSS feed for Olympics 2008 medals by country"/&gt;&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;And how to create a feed for the medals won by your country’s Olympians from this Pipe? Here you go!!. This is the format of the feed url,  &lt;br/&gt;&lt;p align="center"&gt;&lt;a href="http://pipes.yahoo.com/yemkay/olympics2008medalfeed?_render=rss&amp;country="&gt;http://pipes.yahoo.com/yemkay/olympics2008medalfeed?_render=rss&amp;country=&lt;/a&gt;&lt;b&gt;XXX&lt;/b&gt;&lt;/p&gt;&lt;br/&gt;Replace XXX with the country code. Open your feed reader, subscribe to this URL and be the first to know when Olympians from your country win medals. Feed for my &lt;a href="http://pipes.yahoo.com/yemkay/olympics2008medalfeed?_render=rss&amp;country=IND"&gt;country&lt;/a&gt; is still empty. Dont miss the hot ones - &lt;a href="http://pipes.yahoo.com/yemkay/olympics2008medalfeed?_render=rss&amp;country=CHN"&gt;China&lt;/a&gt; and &lt;a href="http://pipes.yahoo.com/yemkay/olympics2008medalfeed?_render=rss&amp;country=USA"&gt;United States&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Read the related entry in &lt;a href="http://pipefeeds.blogspot.com/2008/08/feed-for-olympics-2008-medals-by.html"&gt;Pipe Feeds&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/4212293897800427136-8597728753563290301?l=tempkay.blogspot.com" alt=""/&gt;&lt;/div&gt;&lt;/p&gt;</description><link>http://blog.yemkay.com/post/871645683</link><guid>http://blog.yemkay.com/post/871645683</guid><pubDate>Sat, 09 Aug 2008 21:18:00 +0530</pubDate><category>Yahoo Pipes</category><category>hacks</category></item><item><title>Pipe Feeds - a website for showcasing my Yahoo Pipes</title><description>&lt;p&gt;&lt;a href="http://pipefeeds.blogspot.com/"&gt;Pipe Feeds&lt;/a&gt; is the directory of my &lt;a href="http://pipes.yahoo.com"&gt;Yahoo Pipes&lt;/a&gt;. I will publish the Yahoo pipes created for my personal use on this website. Most of my pipes attempt to simplify the way you read your favorite content across the websites. My objective of creating Pipes is that, if you like a content from a particular section of a website, let the content come to you next time without you having to visit the website again. Widgetizing and embedding are some other benefits from Yahoo Pipes. This diagram depicts it more clearly.&lt;br/&gt;&lt;a target="_blank" href="http://pipefeeds.googlepages.com/pipe_feeds_diagram.png"&gt;&lt;img alt="Benifit from Yahoo Pipes" src="http://pipefeeds.googlepages.com/pipe_feeds_diagram.png"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;br/&gt;To start with, I’ve published pipes for &lt;a href="http://pipefeeds.blogspot.com/2008/07/cricket-quotes_22.html"&gt;Cricket Quotes&lt;/a&gt; (from cricinfo), &lt;a href="http://pipefeeds.blogspot.com/2008/07/kural.html"&gt;ThiruKural Widget&lt;/a&gt; and &lt;a href="http://pipefeeds.blogspot.com/2008/08/history-of-tamil-cinema.html"&gt;History of Tamil Cinema&lt;/a&gt; (from DinaThanthi).&lt;br/&gt;&lt;br/&gt;The pipes &lt;a href="http://pipefeeds.blogspot.com/2008/07/cartoons-from-indian-magazines.html"&gt;Cartoons from Indian dailies&lt;/a&gt;, &lt;a href="http://pipefeeds.blogspot.com/2008/07/cartoons-from-tamil-magazines.html"&gt;Cartoons from Tamil dailies&lt;/a&gt; and &lt;a href="http://pipefeeds.blogspot.com/2008/07/adade-cartoons.html"&gt;Adade Cartoons feed&lt;/a&gt; which were created in the past and later graduated to auto publishing sites are also listed.&lt;br/&gt;&lt;br/&gt;The site is hosted on blogger. Each post will represent a pipe and has various links for embedding, gadget creation, feed subscription and Pipes source. &lt;br/&gt;&lt;br/&gt;&lt;a href="http://pipefeeds.blogspot.com/2008/07/about.html"&gt;Read more about Yahoo Pipes and Pipe Feeds site&lt;/a&gt;&lt;/p&gt;
&lt;img src="https://blogger.googleusercontent.com/tracker/4212293897800427136-7973281355083429125?l=tempkay.blogspot.com" height="1" width="1"/&gt;</description><link>http://blog.yemkay.com/post/871645595</link><guid>http://blog.yemkay.com/post/871645595</guid><pubDate>Sat, 09 Aug 2008 12:37:00 +0530</pubDate><category>Yahoo Pipes</category><category>hacks</category></item><item><title>View cartoons from Indian magazines</title><description>&lt;p&gt;In continuation to the &lt;a href="http://www.yemkay.com/?p=87"&gt;Adade Cartoons&lt;/a&gt; site and feed, I’ve created two similar sites for aggregating cartoons from English and Tamil magazines. &lt;br/&gt;&lt;br/&gt;The &lt;a href="http://toonsofindia.blogspot.com/"&gt;Toons of India&lt;/a&gt; site pulls cartoons from Times of India, Economic Times, Indian Express, Deccan Chronicle and Hindu, while the &lt;a href="http://tamilcartoons.blogspot.com/"&gt;Tamil cartoons&lt;/a&gt; website aggregates cartoons from the popular Tamil magazines of Dinamani, Dinamalar and Dinathanthi.&lt;br/&gt;&lt;br/&gt;&lt;a href="http://toonsofindia.blogspot.com/"&gt;View Toons of India&lt;/a&gt;&lt;br/&gt;&lt;a href="http://tamilcartoons.blogspot.com/"&gt;View Tamil cartoons&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;As &lt;a href="http://adade-cartoons.blogspot.com/2008/05/adade-cartoons-blog-how-it-works.html"&gt;explained here&lt;/a&gt;, these custom aggregators were created using &lt;a href="http://pipes.yahoo.com"&gt;Yahoo pipes&lt;/a&gt;, a free tool to generate custom feeds.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/4212293897800427136-8827163584104537352?l=tempkay.blogspot.com" alt=""/&gt;&lt;/div&gt;</description><link>http://blog.yemkay.com/post/871645466</link><guid>http://blog.yemkay.com/post/871645466</guid><pubDate>Thu, 17 Jul 2008 08:32:00 +0530</pubDate><category>Yahoo Pipes</category><category>hacks</category></item><item><title>Common problems faced in Yahoo Pipes</title><description>&lt;h4&gt;Why my Yahoo Pipe shows “No Results” on running it?&lt;/h4&gt;&lt;br/&gt;&lt;p align="center"&gt;&lt;img src="http://www.yemkay.com/oldblog/wp-content/uploads/2008/06/no-results.PNG" alt="Yahoo Pipe - No results"/&gt;&lt;/p&gt;&lt;br/&gt;Beginners in Yahoo Pipes may end up getting this error message while running their Yahoo Pipes. There are two reasons for a Yahoo Pipe not showing any results.&lt;br/&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;ul&gt;&lt;strong&gt;The Pipe Output is not wired.&lt;/strong&gt;&lt;br/&gt;Make sure that the Pipe Output is wired. Verify the raw output in the debugger.&lt;br/&gt;&lt;p align="center"&gt;&lt;img src="http://www.yemkay.com/oldblog/wp-content/uploads/2008/06/wired-pipeoutput.PNG" alt="Yahoo Pipe - Pipe Output module"/&gt;&lt;/p&gt;&lt;br/&gt;&lt;p&gt;&lt;br/&gt;&lt;strong&gt;No description element&lt;/strong&gt;&lt;br/&gt;Make sure your pipe has an element called “description”, which is required for any HTML based feed output. Output the HTML code of your pipe only to the “description” element. Having your HTML output in any other element will make your pipe output go unrecognized by feed readers. &lt;br/&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;img src="http://www.yemkay.com/oldblog/wp-content/uploads/2008/06/content.PNG" alt="Yahoo Pipe - Description element"/&gt;&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;/ul&gt;&lt;p&gt;&lt;br/&gt;If your pipe still shows no results, ensure that your pipe sources, i.e. modules like Fetch Page, Fetch Data and Item Builder, pull data needed for the pipe. If you find nothing fishy, debug  the pipe starting from “Pipe Output” module and navigating upwards.&lt;br/&gt;&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;h4&gt;Finding it difficult to Regex multi line text?&lt;/h4&gt;&lt;br/&gt;Simple. Convert it into single line and Regex it. Use a Regex command to replace the new line characters with empty text and apply your Regex commands on the single line text. Do like this,&lt;br/&gt;&lt;p align="center"&gt;&lt;img src="http://www.yemkay.com/oldblog/wp-content/uploads/2008/06/regex-multiline.PNG" alt="Yahoo Pipe - Multi line Regex"/&gt;&lt;/p&gt;&lt;br/&gt;Noted the option boxes checked in both the commands? Its ‘g’ and ‘m’ for the new line replacement and ‘g’ for remaining commands.&lt;br/&gt;&lt;br/&gt;&lt;h4&gt;How to add more elements to the feed?&lt;/h4&gt;&lt;br/&gt;Use the Rename module and copy an existing element. You can remove the source element’s contents by using a Regex module as below.&lt;br/&gt;&lt;p align="center"&gt;&lt;img src="http://www.yemkay.com/oldblog/wp-content/uploads/2008/06/newelement.PNG" alt="Yahoo Pipe - Add a new element"/&gt;&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;h4&gt;Connecting feed output to a string module&lt;/h4&gt;&lt;br/&gt;Yahoo Pipes doesn’t allow you to wire a port of type “items” to a port of type “string”. But in many cases we require this wiring to process the strings in the feed items. Here is how you should do this…&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Add a loop module and place the string module within the loop module. Then connect a module’s “items” output with the loop module. Now the fields in the string module, which is now hosted on the loop module, will be populated with the elements available in the input feed. In the loop module’s field ‘For each’, select the element which has to be processed by the string module. This element in each item of the input feed will be processed by the string module and the string output can either add on to or replace the elements in the input feed, depending on your selection between “assign results” or “emit results”. Here is a &lt;a href="http://pipes.yahoo.com/pipes/pipe.edit?_id=dAI_R_FS3BG6fTKsAsqenA"&gt;sample Pipe&lt;/a&gt; that demonstrates Loop module.&lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/4212293897800427136-8662902287007572590?l=tempkay.blogspot.com" alt=""/&gt;&lt;/div&gt;</description><link>http://blog.yemkay.com/post/871645355</link><guid>http://blog.yemkay.com/post/871645355</guid><pubDate>Mon, 30 Jun 2008 07:41:00 +0530</pubDate><category>Web Development</category><category>Yahoo Pipes</category></item><item><title>Chart added to Poorman’s Stock watchlist</title><description>&lt;p&gt;Today is a testing day for naive investors in the Indian stock market. Index advanced and declined at 1:14 and it touched 700 negative in late trading. I wanted to make some quick bugs by investing in a loser and selling it when the market bounces back. So I shortlisted five such stocks using the &lt;a href="http://spreadsheets.google.com/pub?key=p-PPzFBEYxfpURkNhLP_gWw&amp;gid=4"&gt;BSE trends worksheet&lt;/a&gt;. As I also wanted to track few other stocks that are not in the index, I added all of them in &lt;a href="http://spreadsheets.google.com/pub?key=p-PPzFBEYxfpURkNhLP_gWw&amp;gid=3"&gt;my watch list&lt;/a&gt;. &lt;br/&gt;&lt;br/&gt;But that didn’t help me tracking my favorite losers. Charts in Google Spreadsheets came handy at that moment and I created a new worksheet for the  &lt;a href="http://spreadsheets.google.com/pub?key=p-PPzFBEYxfpURkNhLP_gWw&amp;gid=7"&gt;Gain-Loss chart&lt;/a&gt; which shows only the items in the watch list.&lt;br/&gt;&lt;br/&gt;&lt;img src="http://spreadsheets.google.com/pub?key=p-PPzFBEYxfpURkNhLP_gWw&amp;oid=3&amp;output=image"/&gt;&lt;br/&gt;&lt;br/&gt;BSE and NSE entries are grouped in the chart. This is a &lt;a href="http://spreadsheets.google.com/pub?key=p-PPzFBEYxfpURkNhLP_gWw&amp;oid=3&amp;output=image"&gt;published version of the chart&lt;/a&gt; which keeps on updating in every 5 minutes (Refresh the page to see the latest). &lt;br/&gt;&lt;br/&gt;The chart may not be useful in the &lt;a href="http://spreadsheets.google.com/pub?key=p-PPzFBEYxfpURkNhLP_gWw&amp;gid=7"&gt;published version of the spreadsheet&lt;/a&gt;, but in the editable version, it’s interactive and shows a tool tip upon clicking the bar.&lt;br/&gt;&lt;img alt="poor man Chart" src="http://www.yemkay.com/oldblog/wp-content/uploads/2008/01/poormans-chart.PNG"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;
&lt;img src="https://blogger.googleusercontent.com/tracker/4212293897800427136-7455394456881682976?l=tempkay.blogspot.com" height="1" width="1"/&gt;</description><link>http://blog.yemkay.com/post/871645275</link><guid>http://blog.yemkay.com/post/871645275</guid><pubDate>Fri, 18 Jan 2008 14:22:00 +0530</pubDate><category>hacks</category></item><item><title>World Wide Spreadsheet - WWS</title><description>&lt;p&gt;The title doesn’t mean that a spreadsheet can be world wide, but can be a powerful www contributor. Believe it or not, I’ve just constructed a stock watch list in a spreadsheet in 2 hours. &lt;br/&gt;&lt;br/&gt;I’m a great fan of Microsoft Excel and have used it effectively for many of my projects. It allows you to manage large data effectively. You can do calculations, define formulas, conditional formatting, lookup in the sheet and even you can create interactive forms out of excel. It also has a nice feature, by which you can import XML data from web and map it to a range of cells. Data becomes dynamic in this case. &lt;br/&gt;&lt;br/&gt;Well, if Google is coming to this market then there must be lot of unexplored opportunities in this field. It is actually, and having worked on a Google spreadsheet for sometime, I’ve realized its potential. It allows you to import XML, HTML and CSV data from external sources into the spreadsheet. There are functions like importHTML, importXML and importData that help you to do so. Interesting one is the  importHTML function. Use this function to import a table from a web page and use the CONTINUE function to refer to a particular cell in the imported table. ImportHTML needs the URL and the index of the table in the HTML page. CONTINUE function takes the address of the cell, which has the importHTML command, the row number and the column number of the table cell to be referred.&lt;br/&gt;&lt;br/&gt;For example, ImportHtml(“&lt;a target="_blank" href="http://en.wikipedia.org/wiki/Demographics_of_India"&gt;&lt;a href="http://en.wikipedia.org/wiki/Demographics_of_India"&gt;http://en.wikipedia.org/wiki/Demographics_of_India&lt;/a&gt;&lt;/a&gt;”, “table”,4) imports the demographic information for the population of India from a wiki page.&lt;br/&gt;&lt;br/&gt;For more info on the above said functions &lt;a target="_blank" href="http://documents.google.com/support/spreadsheets/bin/answer.py?answer=75507&amp;query=importhtml&amp;topic=&amp;type="&gt;visit this help page&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Here is a small example to illustrate the potential of Google Spreadsheets. This sheet imports data from ICICIDirect.com. I’ve created sheets for Indices, NSE &amp; BSE exchanges and watchlist. First three are open to public as no input is needed for them. Watchlist, the last one is for my personal use where I can add quotes of my favorite stocks to track them. &lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://spreadsheets.google.com/pub?key=p-PPzFBEYxfpURkNhLP_gWw"&gt;View this spreadsheet in a new window.&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;If you never seen a Google spreadsheet I would strongly advice you to &lt;a target="_blank" href="http://docs.google.com"&gt;visit&lt;/a&gt; and have a glance of it. &lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Update:&lt;/strong&gt; Added a worksheet named “GET STOCK CODE” for finding stock codes against company names.&lt;/p&gt;
&lt;img src="https://blogger.googleusercontent.com/tracker/4212293897800427136-1397596803479158012?l=tempkay.blogspot.com" height="1" width="1"/&gt;</description><link>http://blog.yemkay.com/post/871644911</link><guid>http://blog.yemkay.com/post/871644911</guid><pubDate>Thu, 29 Nov 2007 16:03:00 +0530</pubDate><category>hacks</category></item><item><title>Reasoning for why bodies fall at same rate</title><description>&lt;p&gt;We all are aware that bodies fall at same rate irrespective of their weights. Well, let’s see how our geniuses have arrived at this in the days where there was no definition for velocity or acceleration. While reading Stephen Hawking’s &lt;a href="http://books.google.com/books?id=K_UoAAAACAAJ"&gt;A Briefer History of Time&lt;/a&gt;, I stumbled upon the explanation given for bodies falling at same rate. This snippet taken from &lt;a href="http://books.google.com" target="_blank"&gt;Google Book Search&lt;/a&gt; shows,&lt;br/&gt;&lt;blockquote&gt;&lt;img src="http://www.yemkay.com/oldblog/wp-content/uploads/2007/11/samerate.png" alt="Bodies fall at same rate"/&gt;&lt;br/&gt;&lt;br/&gt;(continuing…) &lt;em&gt;forces cancel out and a body will always fall at the same rate irrespective of its weight.&lt;/em&gt;&lt;/blockquote&gt;&lt;br/&gt;How a layman would understand this? There comes the giant Galileo, who gave a simpler explanation long back in 16th Century. Here is the excerpt taken from the book “&lt;a href="http://books.google.com/books?id=j1cBAAAACAAJ" target="_blank"&gt;On Giants’ shoulders&lt;/a&gt;”. Here is the excerpt,&lt;br/&gt;&lt;blockquote&gt;&lt;em&gt;He (Galileo) imagined a light and a heavy body tied together and asked the question ‘Does the presence of the light body help or hinder the fall of the heavy body?’. Now if, as Aristotle had maintained and, as intuition may tell us, light body would impede the fall of the heavy body, because it would lag behind and restrain it. But Galileo reasoned that if we consider the entire assemblage of heavy plus light body together, well, that is heavier than the heavy body on its own, so the assemblage should fall faster, and so we arrive at the contradiction that the presence of the light body should both speed up and slow down the fall of the heavy body. That is obviously nonsense, and so the only way we can reconcile it is to suppose that both heavy and the light body fall at the same speed.&lt;/em&gt;&lt;/blockquote&gt;&lt;br/&gt;What a wonderful example of Galileo’s reasoning? The former explanation using Newton’s laws can be commonly found in our text books. But Galileo’s reasoning makes more sense and our education system doesn’t induce such a reasoning power into us.&lt;br/&gt;&lt;br/&gt;This video below shows the &lt;a href="http://nssdc.gsfc.nasa.gov/planetary/lunar/apollo_15_feather_drop.html"&gt;Hammer-Feather drop experiment&lt;/a&gt; performed by the astronaut David Scott on moon during Apollo 15 mission. Since there was no atmosphere, a feather and a hammer fell at the same rate and the entire world witnessed this historic proof for Galileo’s findings.&lt;br/&gt;&lt;br/&gt;&lt;p align="center"&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/5C5_dOEyAfk&amp;rel=1"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/5C5_dOEyAfk&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/4212293897800427136-145403453002632114?l=tempkay.blogspot.com" alt=""/&gt;&lt;/div&gt;&lt;/p&gt;</description><link>http://blog.yemkay.com/post/871644788</link><guid>http://blog.yemkay.com/post/871644788</guid><pubDate>Wed, 14 Nov 2007 16:19:00 +0530</pubDate><category>Things interested me</category></item><item><title>Crystal Xcelsius</title><description>&lt;p&gt;I got an opportunity to learn about a tool called &lt;a href="http://www.xcelsius.com/"&gt;Xcelsius&lt;/a&gt;. It’s been a wonderful experience so far. This tool lets you create handy dashboards in less time. The tool is very useful for those who work in Data Ware Housing and would like to create a presentation out of their data. Designing a visualization is very simple and requires no analytical skills. It generates a interactive Flash movie of the presentation which can be easily shared by mail.&lt;br/&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;One should possess good knowledge on spreadsheets and cell formulae before using this tool. If you want to display dynamic data, there is XML and Web services for you.&lt;/p&gt;
&lt;p&gt;Flash knowledge is not required as the tool generates the flash movie and Actionscript based on our design using the underlying data model (spreadsheet). Excel is used only in the design time for defining the data model.&lt;br/&gt;&lt;br/&gt;For a demonstration, I created a visualization which compares popularity of the two or more terms. The logic is implemented in a ASP.Net web service, which makes use of the Google SOAP Search API to find the number of result pages for a search query.&lt;br/&gt;&lt;br/&gt;The visualization invokes the web service and gets back the XML data containing number of result pages for each of the inputted terms.&lt;br/&gt;&lt;br/&gt;Number of result pages is not a perfect measure for popularity. But by phrasing a search query for each of those terms, we can get an approximate picture of their popularity.&lt;/p&gt;</description><link>http://blog.yemkay.com/post/871644701</link><guid>http://blog.yemkay.com/post/871644701</guid><pubDate>Fri, 10 Aug 2007 10:30:00 +0530</pubDate><category>Things interested me</category></item></channel></rss>

