<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>[Dot] Code Dump &#187; twitter</title>
	<atom:link href="http://www.dotcodedump.com/category/twitter/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dotcodedump.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 06 Jan 2010 12:27:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Des Moines Twitter Trends V.2</title>
		<link>http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/</link>
		<comments>http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 14:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySql]]></category>
		<category><![CDATA[des moines]]></category>
		<category><![CDATA[des moines twitter trends]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[geo-encoding]]></category>
		<category><![CDATA[iowa]]></category>
		<category><![CDATA[local]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[trends]]></category>

		<guid isPermaLink="false">http://blog.lintnernet.com/?p=66</guid>
		<description><![CDATA[I just published version two of Des Moines twitter trends. The biggest change is the database was moved to MySql instead of SQLite3. Upgrading to MySql database allowed the data to be easily shared with a WordPress site.
Des Moines Twitter Trends

The web view of the data has been upgraded to provide more information. The Des [...]]]></description>
			<content:encoded><![CDATA[<p>I just published version two of Des Moines twitter trends. The biggest change is the database was moved to MySql instead of SQLite3. Upgrading to MySql database allowed the data to be easily shared with a WordPress site.</p>
<div style="text-align: center;"><a href="http://www.dsmtrends.com/">Des Moines Twitter Trends</a></p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_oJ89RnXa3zM/SrajFqUEsWI/AAAAAAAAAXI/yB7fc547LSI/s1600-h/dsmtrends.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 255px;" src="http://3.bp.blogspot.com/_oJ89RnXa3zM/SrajFqUEsWI/AAAAAAAAAXI/yB7fc547LSI/s320/dsmtrends.png" alt="" id="BLOGGER_PHOTO_ID_5383669722221162850" border="0" /></a></div>
<p>The web view of the data has been upgraded to provide more information. The Des Moines Twitter Trends website now provides a clearer view of the data collected. It provides current trends for the past few hours, the past day, and the past week. All of the terms are now links to Twitter Searches.</p>
<p>I added some new information, such as recent links, and current view of the latest Twitter user&#8217;s avatars in a grid.</p>
<p>I also created my own theme, and display instead of using a third party Wordpress Theme.</p>
<p>P.S.<br />Here was the write up for the first version: <a href="http://www.dotcodedump.com/2009/07/finding-local-twitter-trends.html">http://www.dotcodedump.com/2009/07/finding-local-twitter-trends.html</a></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/&amp;title=Des+Moines+Twitter+Trends+V.2" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/&amp;title=Des+Moines+Twitter+Trends+V.2" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/&amp;title=Des+Moines+Twitter+Trends+V.2" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Des+Moines+Twitter+Trends+V.2&amp;url=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/&amp;title=Des+Moines+Twitter+Trends+V.2" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/&amp;title=Des+Moines+Twitter+Trends+V.2" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/&amp;title=Des+Moines+Twitter+Trends+V.2" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/&amp;title=Des+Moines+Twitter+Trends+V.2" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Des+Moines+Twitter+Trends+V.2+@+http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Finding Local Twitter Trends</title>
		<link>http://www.dotcodedump.com/2009/07/finding-local-twitter-trends/</link>
		<comments>http://www.dotcodedump.com/2009/07/finding-local-twitter-trends/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 11:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[des moines]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[sqlite]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[geo-encoding]]></category>
		<category><![CDATA[iowa]]></category>
		<category><![CDATA[local]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[trends]]></category>

		<guid isPermaLink="false">http://blog.lintnernet.com/?p=61</guid>
		<description><![CDATA[Mining Twitter for Trends in a Geographic Area
Local or Targeted trends on Twitter is not something that Twitter provides. So I decided to create my own solution. For this project I used Perl, Twitter API via Net::Twitter, Yahoo Term Extraction Service, and SQLite3 to store data.  This technique is a quick and dirty way [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://1.bp.blogspot.com/_oJ89RnXa3zM/Slx9lHTmTfI/AAAAAAAAAWY/_dc64X9z54c/s1600-h/Empire_mine_shaft.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img id="BLOGGER_PHOTO_ID_5358295733233929714" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 213px;" src="http://1.bp.blogspot.com/_oJ89RnXa3zM/Slx9lHTmTfI/AAAAAAAAAWY/_dc64X9z54c/s320/Empire_mine_shaft.jpg" border="0" alt="" /></a><span style="font-weight: bold; font-family: verdana; font-size: 100%;">Mining Twitter for Trends in a Geographic Area</span></p>
<p><span style="font-family: verdana;">Local or Targeted trends on Twitter is not something that Twitter provides. So I decided to create my own solution. For this project I used </span><a style="font-family: verdana;" href="http://www.perl.org/">Perl</a><span style="font-family: verdana;">, </span><a style="font-family: verdana;" href="http://apiwiki.twitter.com/">Twitter</a><a style="font-family: verdana;" href="http://apiwiki.twitter.com/"> API</a><span style="font-family: verdana;"> via </span><a style="font-family: verdana;" href="http://search.cpan.org/dist/Net-Twitter/lib/Net/Twitter.pod">Net::Twitter</a><span style="font-family: verdana;">, </span><a style="font-family: verdana;" href="http://developer.yahoo.com/search/content/V1/termExtraction.html">Yahoo Term Extraction Service</a><span style="font-family: verdana;">, and </span><a style="font-family: verdana;" href="http://www.sqlite.org/">SQLite3</a><span style="font-family: verdana;"> to store data.  This technique is a quick and dirty way to perform a simple data analysis on Twitter posts, and extract current conversation trends.</span></p>
<p><span style="font-family: verdana;">To view the most recent output from the process please go to my site: </span><a href="http://dsmtrends.com"><span style="font-family: verdana;">Des Moines Twitter Trends.</span></a> (Updated for V2)</p>
<p><span style="font-family: verdana; font-size: 130%;"><span style="font-weight: bold;">Process Overview:</span></span></p>
<ol style="font-family: verdana;">
<li>Get New Local Twitter Posts</li>
<li>Clean and Filter Data</li>
<li>Extract Significant Terms</li>
<li>Rank Term Occurrence</li>
<li>Record Term and Tweet Data</li>
<li>Consume Historical Data</li>
</ol>
<p><span style="font-family: verdana; font-size: 130%;"><span style="font-weight: bold;"><br />
Process Details:</span></span></p>
<p><span style="font-weight: bold; font-family: verdana;">Get New Local Twitter Posts</span></p>
<p><span style="font-family: verdana;">I used the Perl Net::Twitter API interface to download new Twitter posts.  This was freely available via CPAN. This provided an easy way to interface with the Twitter API. I created a new account, and registered my application with Twitter.  I used this account information, and Net::Twitter to download Twitter Posts via the Twitter API.</span></p>
<p><span style="font-style: italic; font-family: verdana;">Code for Defining Net::Twitter, and downloading tweets:</span></p>
<blockquote style="font-family: verdana;"><p>#$user: Twitter Account Username<br />
#$password: Twitter Account Password<br />
#$consumer_key: Twitter Application Consumer Key<br />
#$consumer_key: Twitter Application Consumer Secret</p>
<p>my $nt = Net::Twitter-&gt;new(<br />
traits   =&gt; [qw/API::REST API::Search OAuth/],<br />
username =&gt; $user,<br />
password =&gt; $password,<br />
consumer_key =&gt; $consumer_key,<br />
consumer_secret =&gt; $consumer_secret<br />
);</p>
<p>#q: Search Query. I am using none<br />
#geocode: geographical coordinates for search<br />
#rpp: results per page</p>
<p>my $statuses = $nt-&gt;search({ q=&gt; $search, geocode=&gt; $geocode, rpp=&gt;$rpp});<br />
$results = $statuses-&gt;{results};</p></blockquote>
<p><span style="font-family: verdana;">The Net::Twitter object constructor requires the account, and application information. Then a search request is made. The response will be similar to the JSON object that is returned via the search api. To access the posts, we have to call &#8220;result&#8221; property which contains all the Twitter posts.</span></p>
<p><span style="font-weight: bold; font-family: verdana;">Clean and Filter Twitter Posts</span></p>
<p><span style="font-family: verdana;">This step is pretty straightforward. We take the results from our previous step, and we loop through each post, and run a set of search and replace regular expressions against the post data. We are specifically looking to remove things such as URLs, HTML characters, and other data specific to Twitter such as the abbreviation RT.</span></p>
<p><span style="font-weight: bold; font-family: verdana;">Extract Significant Terms </span></p>
<p><span style="font-family: verdana;">For this step we will need to compile the cleaned data into a large string. Once the data is compiled we can post it to the Yahoo Term Extraction Service (YTES).  Again there is a free CPAN module for the YTES.  Before using the YTES I had to sign up for a </span><a style="font-family: verdana;" href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fdeveloper.yahoo.com%2Fwsregapp%2F&amp;ei=dfNbSvfTLIvelAeu69zuDA&amp;usg=AFQjCNGQc0voZfuyHF1npTd23HvVCcGIRg&amp;sig2=7XCVi0Br5CuQd2S42vflRw">Yahoo Developer API Key</a><span style="font-family: verdana;">. The provided module is very programmer friendly, just plug and play.</span></p>
<p><span style="font-style: italic; font-family: verdana;">Accessing the Yahoo Term Extraction Service:</span></p>
<blockquote style="font-family: verdana;"><p>#appid: Yahoo Application/API key<br />
#context: content to extract from<br />
my $yte = WebService::Yahoo::TermExtractor-&gt;new( appid =&gt; $appid, context =&gt; $text);</p>
<p>my $terms = $yte-&gt;get_terms;</p></blockquote>
<p><span style="font-family: verdana;">Define a yahoo term extractor object with You API key and a context.  Then call the get_terms function, and it returns an array extracted terms.</span></p>
<p><span style="font-weight: bold; font-family: verdana;">Rank Term Occurrence</span></p>
<p><span style="font-family: verdana;">Next we rank the output from the last step. For each term we loop through every tweet, and check to see if it occurs. If it does we add a point to the term.</span></p>
<p><span style="font-weight: bold; font-family: verdana;">Record Term and Tweet Data</span></p>
<p><span style="font-family: verdana;">Next we save the list of terms and their counts to a historical data store. We also save the Twitter posts. These are saved so we can filter out already sampled posts.</span></p>
<p><span style="font-weight: bold; font-family: verdana;">Consume Historical Data</span></p>
<p><span style="font-family: verdana;">Finally we pull a list of the top trends, and output it as a Twitter Post. We use a simple SQL query to pull a list of trends by their occurrence in descending order. Then using Net::Twitter to post it to an account.</span></p>
<p><span style="font-style: italic; font-family: verdana;">Net::Twitter Update Code</span></p>
<blockquote style="font-family: verdana;"><p>my $result = $nt-&gt;update(&#8220;$text&#8221;);</p></blockquote>
<p><span style="font-weight: bold; font-family: verdana;">Sample Output: </span></p>
<p><span style="font-family: verdana;">Using the data store from June 25th, it produced this data from Des Moines, IA the scripts determined the following terms were ranked highly:</span></p>
<blockquote style="font-style: italic; font-family: verdana;"><p><span class="status-body"><span class="entry-content">michael jackson, farrah fawcett, iphone, risingstars, king of pop</span></span></p></blockquote>
<p><span style="font-family: verdana;">This was pretty easy to validate, because news of Micheal Jackson and Farrah Fawcett dominated news coverage. Also there was the a Republican event called Rising Stars in Iowa that week.</span></p>
<p><span style="font-family: verdana;">This is not &#8220;true&#8221; data mining it is a bastardized process. It does have some bugs, but it tends to be very accurate when definite trends appear.</span></p>
<p><a style="font-family: verdana;" href="http://desmoinestrends.homelinux.com/">Des Moines Twitter Trends.</a></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/07/finding-local-twitter-trends/&amp;title=Finding+Local+Twitter+Trends" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/07/finding-local-twitter-trends/&amp;title=Finding+Local+Twitter+Trends" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/07/finding-local-twitter-trends/&amp;title=Finding+Local+Twitter+Trends" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Finding+Local+Twitter+Trends&amp;url=http://www.dotcodedump.com/2009/07/finding-local-twitter-trends/&amp;title=Finding+Local+Twitter+Trends" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/07/finding-local-twitter-trends/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/07/finding-local-twitter-trends/&amp;title=Finding+Local+Twitter+Trends" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/07/finding-local-twitter-trends/&amp;title=Finding+Local+Twitter+Trends" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/07/finding-local-twitter-trends/&amp;title=Finding+Local+Twitter+Trends" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/07/finding-local-twitter-trends/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Finding+Local+Twitter+Trends+@+http://www.dotcodedump.com/2009/07/finding-local-twitter-trends/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/07/finding-local-twitter-trends/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Intro to Google App Engine: Displaying Twitter Trends</title>
		<link>http://www.dotcodedump.com/2009/02/intro-to-google-app-engine-displaying-twitter-trends/</link>
		<comments>http://www.dotcodedump.com/2009/02/intro-to-google-app-engine-displaying-twitter-trends/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 17:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[appengine]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[App Engine]]></category>

		<guid isPermaLink="false">http://blog.lintnernet.com/?p=49</guid>
		<description><![CDATA[My adventure into to Twitter land let me to a point. JavaScript alone wasn&#8217;t going to cut it. I was going to have to go back to the land of the server. I started investigating different options that were preferably free. I settled upon Google App Engine.
The Google App Engine does lock you down to [...]]]></description>
			<content:encoded><![CDATA[<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/appengine/images/appengine_lowres.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 142px; height: 109px;" src="http://code.google.com/appengine/images/appengine_lowres.jpg" alt="" border="0" /></a>My adventure into to Twitter land let me to a point. JavaScript alone wasn&#8217;t going to cut it. I was going to have to go back to the land of the server. I started investigating different options that were preferably free. I settled upon <a href="http://code.google.com/appengine/">Google App Engine.</a></p>
<p>The Google App Engine does lock you down to using Python. I took this as a challenge to delve into Python. The App Engine does not use a traditional relational database, instead it uses <a href="http://en.wikipedia.org/wiki/BigTable">BigTable</a> built on <a href="http://en.wikipedia.org/wiki/Google_File_System">Google File System</a>.  The App Engine is also scalable, and completely hosted by Google.</p>
<p>This is checklist to get an application running on Google App Engine:
<ul>
<li>Sign up for an Application (Requires a Google Account)</li>
<li>Download the SDK (Requires Python 2.5)</li>
<li>Create an application using the template provided in SDK</li>
<li>Upload your application to the AppEngine</li>
</ul>
<p>Some notes on the App Engine programming, you must use python.  You are limited to standard Python 2.5.  They provide some extensions, and a limited version of Django.  You can upload other &#8220;pure Python&#8221; extensions.</p>
<p>View my <a href="http://dcodedump.appspot.com/">simple Python CGI application</a> for displaying the Twitter trends API call.</p>
<p>My view of the App Engine is it is a service that has potential.  The service requires you to download the SDK and work for the command line, so if you are not comfortable with this then it probably is not the service for you.  I will probably continue to play with the App Engine, becuase it has some real potential, and I want to learn more about working BigTable.</p>
<p>Once the service is more refined it could be a really smooth way to develop highly scalable web service.  Look out for this one as a major player in the cloud market if they decide to take it mainstream with other languages beyond Python.</p>
<p>Here is the source code, also this was my first real dive into Python, beyond just toying with the interpreter (I love it!!!1!)</p>
<pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"><code>#!/usr/bin/env python

import wsgiref.handlers

from google.appengine.ext import webapp#url fetchingfrom google.appengine.api import urlfetchfrom datetime import datetime#use the simplejson library, lucky it was in djangofrom django.utils import simplejsonimport time

#Output the html ick, but it's just a exampleoutput = '&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;'output += '&lt;h1&gt;Twitter Trends&lt;/h1&gt;'output += '&lt;ul&gt;'

# Make the API call to twitterurl = "http://search.twitter.com/trends.json"result = urlfetch.fetch(url)

#Status code ok?if result.status_code == 200:json = simplejson.loads(result.content)#Loop through the trends listfor i in json['trends']:output += '&lt;li&gt;'output += '&lt;a href="' + i['url'] + '"&gt;'output += i['name']output += '&lt;/a&gt;&lt;/li&gt;'

#Finish out the requestoutput += '&lt;/ul&gt;'output += '&lt;/body&gt;&lt;/html&gt;'

#The primary handler, just outputs outputclass MainHandler(webapp.RequestHandler):def get(self):self.response.out.write(output)

#Defines the calls through the applicationdef main():application = webapp.WSGIApplication([('/', MainHandler)],                                  debug=True)wsgiref.handlers.CGIHandler().run(application)

if __name__ == '__main__':main()

</code></pre>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/02/intro-to-google-app-engine-displaying-twitter-trends/&amp;title=Intro+to+Google+App+Engine%3A+Displaying+Twitter+Trends" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/02/intro-to-google-app-engine-displaying-twitter-trends/&amp;title=Intro+to+Google+App+Engine%3A+Displaying+Twitter+Trends" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/02/intro-to-google-app-engine-displaying-twitter-trends/&amp;title=Intro+to+Google+App+Engine%3A+Displaying+Twitter+Trends" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Intro+to+Google+App+Engine%3A+Displaying+Twitter+Trends&amp;url=http://www.dotcodedump.com/2009/02/intro-to-google-app-engine-displaying-twitter-trends/&amp;title=Intro+to+Google+App+Engine%3A+Displaying+Twitter+Trends" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/02/intro-to-google-app-engine-displaying-twitter-trends/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/02/intro-to-google-app-engine-displaying-twitter-trends/&amp;title=Intro+to+Google+App+Engine%3A+Displaying+Twitter+Trends" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/02/intro-to-google-app-engine-displaying-twitter-trends/&amp;title=Intro+to+Google+App+Engine%3A+Displaying+Twitter+Trends" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/02/intro-to-google-app-engine-displaying-twitter-trends/&amp;title=Intro+to+Google+App+Engine%3A+Displaying+Twitter+Trends" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/02/intro-to-google-app-engine-displaying-twitter-trends/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Intro+to+Google+App+Engine%3A+Displaying+Twitter+Trends+@+http://www.dotcodedump.com/2009/02/intro-to-google-app-engine-displaying-twitter-trends/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/02/intro-to-google-app-engine-displaying-twitter-trends/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Twitter and it&#8217;s addictive properties</title>
		<link>http://www.dotcodedump.com/2009/02/twitter-and-its-addictive-properties/</link>
		<comments>http://www.dotcodedump.com/2009/02/twitter-and-its-addictive-properties/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 04:25:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.lintnernet.com/?p=48</guid>
		<description><![CDATA[After signing up for Twitter I think I am starting to at least understand the whole idea behind microblogging.  My general theory of the internet still applies though, it&#8217;s really just a way for people to post small links of pictures of cats.

I think the most interesting thing is the whole openess of their service, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.blogsdna.com/wp-content/uploads/2008/05/bird.gif" style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 250px; height: 173px;" border="0" alt="" />After signing up for Twitter I think I am starting to at least understand the whole idea behind microblogging.  My general theory of the internet still applies though, it&#8217;s really just a way for people to post small links of pictures of cats.
<div></div>
<div>I think the most interesting thing is the whole openess of their service, and the ability to integrate it with other services.  Hint look for this post on Twitter</div>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/02/twitter-and-its-addictive-properties/&amp;title=Twitter+and+it%26%238217%3Bs+addictive+properties" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/02/twitter-and-its-addictive-properties/&amp;title=Twitter+and+it%26%238217%3Bs+addictive+properties" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/02/twitter-and-its-addictive-properties/&amp;title=Twitter+and+it%26%238217%3Bs+addictive+properties" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Twitter+and+it%26%238217%3Bs+addictive+properties&amp;url=http://www.dotcodedump.com/2009/02/twitter-and-its-addictive-properties/&amp;title=Twitter+and+it%26%238217%3Bs+addictive+properties" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/02/twitter-and-its-addictive-properties/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/02/twitter-and-its-addictive-properties/&amp;title=Twitter+and+it%26%238217%3Bs+addictive+properties" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/02/twitter-and-its-addictive-properties/&amp;title=Twitter+and+it%26%238217%3Bs+addictive+properties" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/02/twitter-and-its-addictive-properties/&amp;title=Twitter+and+it%26%238217%3Bs+addictive+properties" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/02/twitter-and-its-addictive-properties/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Twitter+and+it%26%238217%3Bs+addictive+properties+@+http://www.dotcodedump.com/2009/02/twitter-and-its-addictive-properties/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/02/twitter-and-its-addictive-properties/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a simple Twitter AJAX widget using Google Feeds API</title>
		<link>http://www.dotcodedump.com/2009/02/creating-a-simple-twitter-ajax-widget-using-google-feeds-api/</link>
		<comments>http://www.dotcodedump.com/2009/02/creating-a-simple-twitter-ajax-widget-using-google-feeds-api/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 05:32:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://blog.lintnernet.com/?p=47</guid>
		<description><![CDATA[I was doing some research into making API calls to Twitter using JavaScript.  The one problem I ran into was calling remote domains.  One quick solution I found was to use the Google Feed API. Google provides a really easy and simple interface for accessing feeds via JavaScript.
A quick how to:
To start out [...]]]></description>
			<content:encoded><![CDATA[<p>I was doing some research into making API calls to <a href="http://twitter.com/ianlintner">Twitter</a> using JavaScript.  The one problem I ran into was calling remote domains.  One quick solution I found was to use the Google Feed API. Google provides a really easy and simple interface for accessing feeds via JavaScript.</p>
<p><span style="font-weight: bold;">A quick how to</span>:</p>
<p>To start out you must import the api using your <a href="http://code.google.com/apis/maps/signup.html">Google API key</a>.
<pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"><code>&lt;script src="http://www.google.com/jsapi?key=[Your Google API Key]"&gt;&lt;/script&gt;</code></pre>
<p>This is script was taking from the <a href="http://code.google.com/apis/ajax/playground/#load_feed">Google AJAX API Playground</a>, I just added in the call for Twitter, the full script is below.</p>
<p>First the Google feed object is instantiated with the call to the <a href="http://apiwiki.twitter.com/REST+API+Documentation">Twitter API</a> via RSS.
<pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"><code>var feed = new google.feeds.Feed("http://twitter.com/statuses/user_timeline/ianlintner.rss");</code></pre>
<p>The Google feed API is great way to access and work with remote feeds, and APIs using just JavaScript.  This also an asynchronous call, so it should play well with other AJAX solutions.</p>
<p>The full listing, with my changes.
<pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"><code>&lt;!--Copyright (c) 2008 Google Inc.

You are free to copy and use this sample.License can be found here: http://code.google.com/apis/ajaxsearch/faq/#license--&gt;

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;head&gt;&lt;meta http-equiv="content-type" content="text/html; charset=utf-8"/&gt;&lt;title&gt;Google AJAX Search API Sample&lt;/title&gt;&lt;script src="http://www.google.com/jsapi?key=[Google Key]"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;/**  How to load a feed via the Feeds API.*/

google.load("feeds", "1");

// Our callback function, for when a feed is loaded.function feedLoaded(result) {  if (!result.error) {    // Grab the container we will put the results into    var container = document.getElementById("content");    container.innerHTML = '';

    // Loop through the feeds, putting the titles onto the page.    // Check out the result object for a list of properties returned in each entry.    // http://code.google.com/apis/ajaxfeeds/documentation/reference.html#JSON    for (var i = 0; i &lt; result.feed.entries.length; i++) {      var entry = result.feed.entries[i];      var div = document.createElement("div");      div.appendChild(document.createTextNode(entry.title));      container.appendChild(div);    }  }}

function OnLoad() {  // Create a feed instance that will grab twitter  var feed = new google.feeds.Feed("http://twitter.com/statuses/user_timeline/ianlintner.rss");

  // Calling load sends the request off.  It requires a callback function.  feed.load(feedLoaded);}

google.setOnLoadCallback(OnLoad);&lt;/script&gt;&lt;/head&gt;&lt;body style="font-family: Arial;border: 0 none;"&gt;&lt;div id="content"&gt;Loading...&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</code></pre>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/02/creating-a-simple-twitter-ajax-widget-using-google-feeds-api/&amp;title=Creating+a+simple+Twitter+AJAX+widget+using+Google+Feeds+API" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/02/creating-a-simple-twitter-ajax-widget-using-google-feeds-api/&amp;title=Creating+a+simple+Twitter+AJAX+widget+using+Google+Feeds+API" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/02/creating-a-simple-twitter-ajax-widget-using-google-feeds-api/&amp;title=Creating+a+simple+Twitter+AJAX+widget+using+Google+Feeds+API" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Creating+a+simple+Twitter+AJAX+widget+using+Google+Feeds+API&amp;url=http://www.dotcodedump.com/2009/02/creating-a-simple-twitter-ajax-widget-using-google-feeds-api/&amp;title=Creating+a+simple+Twitter+AJAX+widget+using+Google+Feeds+API" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/02/creating-a-simple-twitter-ajax-widget-using-google-feeds-api/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/02/creating-a-simple-twitter-ajax-widget-using-google-feeds-api/&amp;title=Creating+a+simple+Twitter+AJAX+widget+using+Google+Feeds+API" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/02/creating-a-simple-twitter-ajax-widget-using-google-feeds-api/&amp;title=Creating+a+simple+Twitter+AJAX+widget+using+Google+Feeds+API" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/02/creating-a-simple-twitter-ajax-widget-using-google-feeds-api/&amp;title=Creating+a+simple+Twitter+AJAX+widget+using+Google+Feeds+API" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/02/creating-a-simple-twitter-ajax-widget-using-google-feeds-api/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Creating+a+simple+Twitter+AJAX+widget+using+Google+Feeds+API+@+http://www.dotcodedump.com/2009/02/creating-a-simple-twitter-ajax-widget-using-google-feeds-api/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/02/creating-a-simple-twitter-ajax-widget-using-google-feeds-api/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
