<?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/"
	xmlns:media="http://search.yahoo.com/mrss/">

<channel>
	<title>Open Parenthesis &#187; retweeter</title>
	<atom:link href="http://www.openparenthesis.org/tag/retweeter/feed" rel="self" type="application/rss+xml" />
	<link>http://www.openparenthesis.org</link>
	<description>Because these are the early days of a long revolution . . .</description>
	<lastBuildDate>Mon, 30 Jan 2012 16:13:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Retweeting the Right Way</title>
		<link>http://www.openparenthesis.org/2010/09/18/retweeting-the-right-way</link>
		<comments>http://www.openparenthesis.org/2010/09/18/retweeting-the-right-way#comments</comments>
		<pubDate>Sat, 18 Sep 2010 19:48:18 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ReTweet]]></category>
		<category><![CDATA[retweeter]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=2353</guid>
		<description><![CDATA[Retweet Shirt Photo by Deb Hanson - http://www.flickr.com/photos/debspace/3766841512/ Just released an update to ReTweeter (1.1), which now uses the Twitter API for Retweeting. This means that instead of the traditional &#8220;RT: @username&#8221; syntax, the retweeted tweets will now show Twitter&#8217;s little retweet icon and the link to the original tweet (where it says &#8220;about 4 [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_2354" class="wp-caption alignleft" style="width: 525px"><a href="http://www.openparenthesis.org/wp-content/uploads/2010/09/retweet.jpg"><img src="http://www.openparenthesis.org/wp-content/uploads/2010/09/retweet-490x367.jpg" alt="" title="retweet" width="490" height="367" class="size-large wp-image-2354" /></a><p class="wp-caption-text">Retweet Shirt Photo by Deb Hanson - http://www.flickr.com/photos/debspace/3766841512/</p></div>
<p>Just released an update to ReTweeter (1.1), which now uses the Twitter API for Retweeting. This means that instead of the traditional &#8220;RT: @username&#8221; syntax, the retweeted tweets will now show Twitter&#8217;s little retweet icon and the link to the original tweet (where it says &#8220;about 4 hrs ago&#8221;) preserved, and the retweeting user&#8217;s name at the bottom, like so:</p>
<div id="attachment_2355" class="wp-caption alignleft" style="width: 525px"><a href="http://www.openparenthesis.org/wp-content/uploads/2010/09/retweet.png"><img src="http://www.openparenthesis.org/wp-content/uploads/2010/09/retweet-490x233.png" alt="" title="retweet" width="490" height="233" class="size-large wp-image-2355" /></a><p class="wp-caption-text">Screencap by  Jeronimo Palacios - http://www.flickr.com/photos/jeronimo_palacios/4093181811/</p></div>
<p>Instead of what Retweeter used to produce, which looked more like this (rt: @username):</p>
<p><!-- http://twitter.com/jeckman/status/23167924045 --><br />
<style type='text/css'>.bbpBox_65510315{background:url(http://a1.twimg.com/profile_background_images/17367210/3607571063_ebd067a854_o.jpg) #696559; padding:20px;}p.bbpTweet_65510315{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px}p.bbpTweet_65510315 span.metadata{display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6}p.bbpTweet_65510315 span.metadata span.author{line-height:19px}p.bbpTweet_65510315 span.metadata span.author img{float:left;margin:0 7px 0 0px;width:38px;height:38px}p.bbpTweet_65510315 a {color: #0000ff; text-decoration:none;}p.bbpTweet_65510315 a:hover{text-decoration:underline}p.bbpTweet_65510315 span.timestamp{font-size:12px;display:block}</style>
<div class='bbpBox_65510315'>
<p class='bbpTweet_65510315'>rt: @<a  href="http://twitter.com/drunkjeckman" title="drunkjeckman on Twitter">drunkjeckman</a> Let&#8217;s also see that new format with the rt: and the @ to the original author <a href="http://search.twitter.com/search?q=jeckman" title="#jeckman search Twitter">#jeckman</a><span class='timestamp'><a title='Mon Sep 06 18:35:02 +0000 2010' href='http://twitter.com/jeckman/status/23167924045'>Sep 06</a> via <a href="http://openparenthesis.org/code/twitter/" rel="nofollow">OPRetweeter</a></span><span class='metadata'><span class='author'><a href='http://twitter.com/jeckman'><img src='http://a1.twimg.com/profile_images/330076305/eckman_large_normal.jpg' /></a><strong><a href='http://twitter.com/jeckman'>John Eckman</a></strong><br/>jeckman</span></span></p>
</div>
<p>Or this (username: tweet):</p>
<p><!-- http://twitter.com/vegsxsw/status/768571995 --><br />
<style type='text/css'>.bbpBox_26505929{background:url(http://s.twimg.com/a/1284676327/images/themes/theme1/bg.png) #C0DEED; padding:20px;}p.bbpTweet_26505929{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px}p.bbpTweet_26505929 span.metadata{display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6}p.bbpTweet_26505929 span.metadata span.author{line-height:19px}p.bbpTweet_26505929 span.metadata span.author img{float:left;margin:0 7px 0 0px;width:38px;height:38px}p.bbpTweet_26505929 a {color: #0084B4; text-decoration:none;}p.bbpTweet_26505929 a:hover{text-decoration:underline}p.bbpTweet_26505929 span.timestamp{font-size:12px;display:block}</style>
<div class='bbpBox_26505929'>
<p class='bbpTweet_26505929'>jeckman: <a href="http://search.twitter.com/search?q=vegsxsw" title="#vegsxsw search Twitter">#vegsxsw</a> Lunch near @<a  href="http://twitter.com/barcampaustin" title="barcampaustin on Twitter">barcampaustin</a> at Whole Foods: 12:30ish<span class='timestamp'><a title='Sat Mar 08 18:18:02 +0000 2008' href='http://twitter.com/vegsxsw/status/768571995'>Mar 08 08</a> via web</span><span class='metadata'><span class='author'><a href='http://twitter.com/vegsxsw'><img src='http://a0.twimg.com/profile_images/50180412/icon_normal.jpg' /></a><strong><a href='http://twitter.com/vegsxsw'>vegsxsw</a></strong><br/>vegsxsw</span></span></p>
</div>
<p>Thanks to Cody Wilson at <a href="https://www.qccolab.com/home">QC Co-Lab</a> (<a href="http://twitter.com/qccolab/">@qccoloab</a>) for the patch for this. Of course, if you&#8217;d like to keep the old format, you can just set &#8216;USE_OLD_FORMAT&#8217; to true in the configuration section, and retweeter will keep using the older format. </p>
<p>I&#8217;ve also started storing the md5 hash (required for OAuth) in the database instead of recalculating it each time retweeter gets called. (If you ever need to change your md5 hash, say because you&#8217;ve regenerated your OAuth token at Twitter, just delete the row in the &#8216;conf&#8217; table and retweeter will create a new hash the next time it runs). </p>
<p>Note that you will have to alter database tables if you&#8217;ve previously used a version of ReTweeter from 1.0 or before &#8211; but I&#8217;ve included the necessary SQL statements in the README included with the download. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2010/09/18/retweeting-the-right-way/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
	<enclosure url="http://www.openparenthesis.org/wp-content/uploads/2010/09/retweet-490x367.jpg" length="33420" type="image/jpeg" /><media:content url="http://www.openparenthesis.org/wp-content/uploads/2010/09/retweet-490x367.jpg" width="490" height="367" medium="image" type="image/jpeg" />	</item>
		<item>
		<title>Surviving the OAuthpocalypse with Retweeter</title>
		<link>http://www.openparenthesis.org/2010/09/06/surviving-the-oauthpocalypse-with-retweeter</link>
		<comments>http://www.openparenthesis.org/2010/09/06/surviving-the-oauthpocalypse-with-retweeter#comments</comments>
		<pubDate>Mon, 06 Sep 2010 19:36:22 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[OAuthpocalypse]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[retweeter]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=2270</guid>
		<description><![CDATA[A while back I hacked together a script for automatically reposting all tweets matching a given hashtag, called Retweeter. It&#8217;s useful for conferences and other events where you want to see a stream of info regarding a given topic, but don&#8217;t want to catch the attention of spammers. (To use retweeter, you set up a [...]]]></description>
			<content:encoded><![CDATA[<p>A while back I hacked together a script for automatically reposting all tweets matching a given hashtag, called Retweeter. It&#8217;s useful for conferences and other events where you want to see a stream of info regarding a given topic, but don&#8217;t want to catch the attention of spammers. (To use retweeter, you set up a twitter account in the name of the hash tag, and retweeter only reposts tweets from those it follows &#8211; so if someone starts spamming, just have that retweeter account stop following them). </p>
<p>All was well and good until the <a href="http://techcrunch.com/2010/08/13/oauthpocalypse/">OAuthpocalypse</a> arrived:</p>
<p><a href="http://www.openparenthesis.org/wp-content/uploads/2010/09/Screen-shot-2010-09-06-at-2.51.13-PM.png"><img src="http://www.openparenthesis.org/wp-content/uploads/2010/09/Screen-shot-2010-09-06-at-2.51.13-PM-490x80.png" alt="" title="Screen shot 2010-09-06 at 2.51.13 PM" width="490" height="80" class="alignleft size-large wp-image-2272" /></a></p>
<p>The OAuthpocalypse was the end of basic auth, the mechanism involving storing your username and password, which earlier versions of ReTweeter used. Well, Twitter did shut off basic authentication, though in reality it took a bit longer than the announced August 31:</p>
<div id="attachment_2271" class="wp-caption alignleft" style="width: 525px"><a href="http://www.openparenthesis.org/wp-content/uploads/2010/09/4951321821_5629a59e02.jpg"><img src="http://www.openparenthesis.org/wp-content/uploads/2010/09/4951321821_5629a59e02-490x336.jpg" alt="" title="4951321821_5629a59e02" width="490" height="336" class="size-large wp-image-2271" /></a><p class="wp-caption-text">Photo by Bruno Pedro http://www.flickr.com/photos/bpedro/4951321821/</p></div>
<p>Luckily this weekend I found time to update ReTweeter to accomodate OAuth &#8211; get the new <a href="http://www.openparenthesis.org/wp-content/uploads/2010/03/retweeter1.0.zip">ReTweeter 1.0</> and give it a try. I&#8217;ve used Abraham Williams’ OAuth for Twitter library, which itself relies on Andy Smith’s OAuth library for PHP. Both are MIT licensed and are included in the download. </p>
<p>You&#8217;ll need to register your retweeter with Twitter at the <a href="http://dev.twitter.com/apps/new">register an application</a> page, which will give you a &#8220;Consumer Key&#8221; and a &#8220;Consumer Secret&#8221; &#8211; you&#8217;ll need to copy these values into the configuration section at the top of retweeter.php. </p>
<div id="attachment_2274" class="wp-caption alignleft" style="width: 525px"><a href="http://www.openparenthesis.org/wp-content/uploads/2010/09/twitter_application.png"><img src="http://www.openparenthesis.org/wp-content/uploads/2010/09/twitter_application-490x322.png" alt="" title="twitter_application" width="490" height="322" class="size-large wp-image-2274" /></a><p class="wp-caption-text">Twitter Application Settings (Click for Full Size)</p></div>
<p>Then, making sure you are logged in to Twitter as the username for which you will run Twitter (the account which will follow people and where the retweets will be posted), click on the &#8220;My Access Token&#8221; button in the right rail of the Application Settings page. Here you&#8217;ll need to copy the Access Token and Access Token Secret to the appropriate places in retweeter.php:</p>
<div id="attachment_2275" class="wp-caption alignleft" style="width: 525px"><a href="http://www.openparenthesis.org/wp-content/uploads/2010/09/Oauth_token.png"><img src="http://www.openparenthesis.org/wp-content/uploads/2010/09/Oauth_token-490x264.png" alt="" title="Oauth_token" width="490" height="264" class="size-large wp-image-2275" /></a><p class="wp-caption-text">OAuth Tokens for ReTweeter</p></div>
<p>Now that you&#8217;ve got all the info, open retweeter.php and (in addition to the existing configuration like username, database username, database password, database host, and database name) fill out the OAuth section of the configuration:</p>
<p><code>// we'll need some OAuth stuff here<br />
// register your retweeter at http://dev.twitter.com/apps/new<br />
$consumer_key = 'Consumer Key';<br />
$consumer_request = 'Consumer Secret';</code></p>
<p>And:</p>
<p><code>// then click on "my token" on the resulting page and get these (make sure<br />
// you are logged in AS THE USERNAME you intend to use, as these keys are<br />
// specific to the user:<br />
$retweeter_oauth_token = 'Access Token';<br />
$retweeter_oauth_secret = 'Access Token Secret';</code></p>
<p>That should do it!</p>
<p>I&#8217;ve also updated Retweeter to follow the RT convention, so retweeted tweets will now look like this:</p>
<p><!-- http://twitter.com/jeckman/status/23167924045 --><br />
<style type='text/css'>.bbpBox_65510315{background:url(http://a1.twimg.com/profile_background_images/17367210/3607571063_ebd067a854_o.jpg) #696559; padding:20px;}p.bbpTweet_65510315{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px}p.bbpTweet_65510315 span.metadata{display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6}p.bbpTweet_65510315 span.metadata span.author{line-height:19px}p.bbpTweet_65510315 span.metadata span.author img{float:left;margin:0 7px 0 0px;width:38px;height:38px}p.bbpTweet_65510315 a {color: #0000ff; text-decoration:none;}p.bbpTweet_65510315 a:hover{text-decoration:underline}p.bbpTweet_65510315 span.timestamp{font-size:12px;display:block}</style>
<div class='bbpBox_65510315'>
<p class='bbpTweet_65510315'>rt: @<a  href="http://twitter.com/drunkjeckman" title="drunkjeckman on Twitter">drunkjeckman</a> Let&#8217;s also see that new format with the rt: and the @ to the original author <a href="http://search.twitter.com/search?q=jeckman" title="#jeckman search Twitter">#jeckman</a><span class='timestamp'><a title='Mon Sep 06 18:35:02 +0000 2010' href='http://twitter.com/jeckman/status/23167924045'>Sep 06</a> via <a href="http://openparenthesis.org/code/twitter/" rel="nofollow">OPRetweeter</a></span><span class='metadata'><span class='author'><a href='http://twitter.com/jeckman'><img src='http://a1.twimg.com/profile_images/330076305/eckman_large_normal.jpg' /></a><strong><a href='http://twitter.com/jeckman'>John Eckman</a></strong><br/>jeckman</span></span></p>
</div>
<p>(<a href="http://twitter.com/jeckman">@drunkjeckman</a> is an old account which I no longer use except for testing. I expect my twitter followers to determine my level of sobriety based on the content of my tweets, not my username). </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2010/09/06/surviving-the-oauthpocalypse-with-retweeter/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://www.openparenthesis.org/wp-content/uploads/2010/09/4951321821_5629a59e02.jpg" length="67954" type="image/jpeg" /><media:content url="http://www.openparenthesis.org/wp-content/uploads/2010/09/4951321821_5629a59e02.jpg" width="500" height="343" medium="image" type="image/jpeg" />	</item>
		<item>
		<title>Programming to the Twitter API (ReTweeter)</title>
		<link>http://www.openparenthesis.org/2008/05/18/programming-to-the-twitter-api-retweeter</link>
		<comments>http://www.openparenthesis.org/2008/05/18/programming-to-the-twitter-api-retweeter#comments</comments>
		<pubDate>Sun, 18 May 2008 18:25:16 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[BarCamp]]></category>
		<category><![CDATA[barcampboston]]></category>
		<category><![CDATA[bcb3]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[retweeter]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=543</guid>
		<description><![CDATA[Presented today at BarCamp Boston on programming for the Twitter API, based on the retweeter project I did for SXSW this year. You can grab the slides or the code. Went better than the WordPress talk yesterday, in terms of time &#8211; easier to describe Twitter (which everyone already knows) than to try to cover [...]]]></description>
			<content:encoded><![CDATA[<p>Presented today at BarCamp Boston on programming for the <a href="http://twitter.com/">Twitter</a> API, based on the retweeter project I did for <a href="http://www.sxsw.com/">SXSW</a> this year. You can grab the <a href="http://www.openparenthesis.org/wp-content/uploads/2008/05/bcb3-retweeter.pdf">slides</a> or the <a href="http://www.openparenthesis.org/code/twitter-api">code</a>. </p>
<p>Went better than the WordPress talk yesterday, in terms of time &#8211; easier to describe Twitter (which everyone already knows) than to try to cover the WordPress plugin API, the Facebook API, and the plugin I wrote to connect the two all in less than 30 minutes. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2008/05/18/programming-to-the-twitter-api-retweeter/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

