<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0" xml:base="http://muffinlabs.com">
<channel>
 <title>muffinlabs.com</title>
 <link>http://muffinlabs.com</link>
 <description />
 <language>en</language>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/muffinlabs" /><feedburner:info uri="muffinlabs" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/muffinlabs" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fmuffinlabs" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
 <title>Disney Princess Grapes</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/IUBOCinuAe8/disney-princess-grapes-0</link>
 <description>&lt;p&gt;&lt;span class="inline inline-none"&gt;&lt;img rel="lightbox" src="http://muffinlabs.com/sites/default/files/images/153469721.jpg" alt="Disney Princess Grapes" title="Disney Princess Grapes"  class="image image-_original " width="600" height="803" /&gt;&lt;span class="caption" style="width: 598px;"&gt;&lt;strong&gt;Disney Princess Grapes&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;This is the first time I've ever seen Disney marketing on produce.  Definitely looking forward to their lettuce line.&lt;/p&gt;
&lt;p&gt;Seriously WTF?  I'm glad it's not on a bag of cookies, but who came up with this idea?&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=IUBOCinuAe8:Rj3XkddjH8E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=IUBOCinuAe8:Rj3XkddjH8E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=IUBOCinuAe8:Rj3XkddjH8E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=IUBOCinuAe8:Rj3XkddjH8E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=IUBOCinuAe8:Rj3XkddjH8E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/IUBOCinuAe8" height="1" width="1"/&gt;</description>
 <pubDate>Sun, 29 Aug 2010 23:09:56 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">537 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/disney-princess-grapes-0</feedburner:origLink></item>
<item>
 <title>Electric Avenue</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/_KZMY1WZi7I/electric-avenue</link>
 <description>&lt;p&gt;&lt;iframe class="youtube-player" type="text/html" width="480" height="385" rel="lightbox" src="http://www.youtube.com/embed/UA5MtAmT24g?hl=en_US" frameborder="0"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=_KZMY1WZi7I:61-IMnHrSSc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=_KZMY1WZi7I:61-IMnHrSSc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=_KZMY1WZi7I:61-IMnHrSSc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=_KZMY1WZi7I:61-IMnHrSSc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=_KZMY1WZi7I:61-IMnHrSSc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/_KZMY1WZi7I" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/electric-avenue#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/music">music</category>
 <category domain="http://muffinlabs.com/category/tags/video">video</category>
 <pubDate>Wed, 25 Aug 2010 14:12:44 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">523 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/electric-avenue</feedburner:origLink></item>
<item>
 <title>Doctor Who</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/S0g-FbVBkcw/doctor-who</link>
 <description>&lt;p&gt;Here is &lt;a href="http://www.guardian.co.uk/news/datablog/2010/aug/20/doctor-who-time-travel-information-is-beautiful"&gt;a table of every time travel jump&lt;/a&gt; made by Doctor Who over the history of the show.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=S0g-FbVBkcw:sy1X7FZfgVg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=S0g-FbVBkcw:sy1X7FZfgVg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=S0g-FbVBkcw:sy1X7FZfgVg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=S0g-FbVBkcw:sy1X7FZfgVg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=S0g-FbVBkcw:sy1X7FZfgVg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/S0g-FbVBkcw" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/doctor-who#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/data">data</category>
 <pubDate>Fri, 20 Aug 2010 19:24:02 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">520 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/doctor-who</feedburner:origLink></item>
<item>
 <title>Most Common Town/City Names in the US</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/qcUSM_JyfQs/most-common-towncity-names-us</link>
 <description>&lt;p&gt;Here's the most common town names, again from the &lt;a href="http://gnis.usgs.gov/index.html"&gt;US Board on Geographic Names&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Its sort of amazing that the most common name is Midway, and Five Points isn't far behind.  And a bunch of the rest are about hope or second chances.&lt;/p&gt;
&lt;pre&gt;
+-----------------+-------+
| name            | tally |
+-----------------+-------+
| Midway          |   218 |
| Fairview        |   213 |
| Oak Grove       |   169 |
| Five Points     |   150 |
| Riverside       |   130 |
| Pleasant Hill   |   124 |
| Mount Pleasant  |   119 |
| Bethel          |   111 |
| Centerville     |   109 |
| New Hope        |   108 |
| Liberty         |    98 |
| Oakland         |    98 |
| Union           |    97 |
| Pleasant Valley |    97 |
| Shady Grove     |    94 |
| Pine Grove      |    92 |
| Salem           |    92 |
| Greenwood       |    91 |
| Pleasant Grove  |    89 |
| Forest Hills    |    89 |
| Oak Hill        |    88 |
| Georgetown      |    86 |
| Lakeview        |    85 |
| Shiloh          |    84 |
| Glendale        |    81 |
| Lakewood        |    80 |
| Concord         |    79 |
| Cedar Grove     |    78 |
| Highland Park   |    77 |
+-----------------+-------+
&lt;/pre&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=qcUSM_JyfQs:m-YOdUECA98:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=qcUSM_JyfQs:m-YOdUECA98:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=qcUSM_JyfQs:m-YOdUECA98:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=qcUSM_JyfQs:m-YOdUECA98:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=qcUSM_JyfQs:m-YOdUECA98:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/qcUSM_JyfQs" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/most-common-towncity-names-us#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/data">data</category>
 <pubDate>Thu, 19 Aug 2010 20:32:15 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">519 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/most-common-towncity-names-us</feedburner:origLink></item>
<item>
 <title>Types of Places in the US</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/UUyIICs4Iuc/types-places-us</link>
 <description>&lt;p&gt;via the &lt;a href="http://gnis.usgs.gov/index.html"&gt;US Board on Geographic Names&lt;/a&gt;, which has a database I've been playing with a bit lately.  It lists every location on every map in the US.  Here it is, broken down by what sort of point it is:&lt;/p&gt;
&lt;pre&gt;
+-----------------+--------+
| class           | tally  |
+-----------------+--------+
| Stream          | 232852 |
| Church          | 223033 |
| School          | 209914 |
| Populated Place | 197934 |
| Locale          | 150528 |
| Cemetery        | 137411 |
| Building        |  95797 |
| Reservoir       |  75406 |
| Summit          |  71016 |
| Valley          |  70371 |
| Lake            |  68343 |
| Park            |  66939 |
| Civil           |  58126 |
| Post Office     |  57404 |
| Dam             |  56942 |
| Well            |  38773 |
| Spring          |  38515 |
| Mine            |  35057 |
| Canal           |  21190 |
| Island          |  20476 |
| Airport         |  19495 |
| Census          |  16799 |
| Tower           |  16770 |
| Cape            |  16465 |
| Ridge           |  15149 |
| Hospital        |  13714 |
| Bay             |  13065 |
| Crossing        |  12902 |
| Trail           |  11005 |
| Flat            |  10553 |
| Gap             |   8425 |
| Swamp           |   7462 |
| Bridge          |   6709 |
| Bar             |   5897 |
| Oilfield        |   4862 |
| Gut             |   4547 |
| Cliff           |   4487 |
| Basin           |   4309 |
| Channel         |   4131 |
| Bend            |   2821 |
| Military        |   2774 |
| Area            |   2505 |
| Falls           |   2494 |
| Range           |   2438 |
| Beach           |   2401 |
| Pillar          |   2071 |
| Forest          |   1299 |
| Rapids          |   1109 |
| Reserve         |   1058 |
| Glacier         |   1055 |
| Bench           |    724 |
| Tunnel          |    721 |
| Harbor          |    707 |
| Woods           |    671 |
| Arch            |    573 |
| Levee           |    546 |
| Arroyo          |    464 |
| Slope           |    372 |
| Plain           |    286 |
| Crater          |    251 |
| Lava            |    191 |
| Unknown         |    190 |
| Isthmus         |     27 |
| Sea             |     14 |
+-----------------+--------+
&lt;/pre&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=UUyIICs4Iuc:twpJCtpe0IQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=UUyIICs4Iuc:twpJCtpe0IQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=UUyIICs4Iuc:twpJCtpe0IQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=UUyIICs4Iuc:twpJCtpe0IQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=UUyIICs4Iuc:twpJCtpe0IQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/UUyIICs4Iuc" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/types-places-us#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/random">random</category>
 <pubDate>Wed, 18 Aug 2010 21:03:12 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">518 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/types-places-us</feedburner:origLink></item>
<item>
 <title>areyouawesome.com</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/ZAoKLf5-KYY/areyouawesomecom</link>
 <description>&lt;p&gt;Here's another random project I started a long time ago, but recently updated: &lt;a href="http://areyouawesome.com/" title="http://areyouawesome.com/"&gt;http://areyouawesome.com/&lt;/a&gt; -- it answers the fundamental question.  Am I, visitor to this website, &lt;em&gt;awesome&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;It's not much of anything right now although I'm hoping to use it as a playground for processing.js someday.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=ZAoKLf5-KYY:JHS9pcMLGSg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=ZAoKLf5-KYY:JHS9pcMLGSg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=ZAoKLf5-KYY:JHS9pcMLGSg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=ZAoKLf5-KYY:JHS9pcMLGSg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=ZAoKLf5-KYY:JHS9pcMLGSg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/ZAoKLf5-KYY" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/areyouawesomecom#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/projects">projects</category>
 <pubDate>Mon, 16 Aug 2010 21:22:05 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">516 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/areyouawesomecom</feedburner:origLink></item>
<item>
 <title>Twitter Bots, now with OAuth Goodness</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/l3QtFnOF5dU/twitter-bots-now-oauth-goodness</link>
 <description>&lt;p&gt;The one devoted reader of this blog (Googlebot, I'm looking at you) probably remembers that I have a &lt;a href="/content/twitter-bots"&gt;couple of bots&lt;/a&gt; running on Twitter.  Originally I was using a library called &lt;a href="http://cjohansen.no/en/ruby/twibot_a_microframework_for_twitter_bots_in_ruby"&gt;Twibot&lt;/a&gt;,  which was nice, but never quite worked the way I wanted it to.  So eventually, I ended up with my own very simple code.&lt;/p&gt;
&lt;p&gt;I just finally updated my bots to authenticate via OAuth, a couple days before the deadline.  While I was at it, I refactored most of the code into its own class, which the bots extend to add actual functionality.  Here's the base class, which I call 'Skeleton'&lt;/p&gt;
&lt;p&gt;&lt;div class="geshifilter"&gt;&lt;div class="ruby geshifilter-ruby" style="font-family:monospace;"&gt;&lt;span style="color:#CC0066; font-weight:bold;"&gt;require&lt;/span&gt; &lt;span style="color:#996600;"&gt;'rubygems'&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#CC0066; font-weight:bold;"&gt;require&lt;/span&gt; &lt;span style="color:#996600;"&gt;'twitter_oauth'&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#CC0066; font-weight:bold;"&gt;require&lt;/span&gt; &lt;span style="color:#996600;"&gt;'yaml'&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color:#008000; font-style:italic;"&gt;#&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#008000; font-style:italic;"&gt;# extend Hash class to turn keys into symbols&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#008000; font-style:italic;"&gt;#&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#9966CC; font-weight:bold;"&gt;class&lt;/span&gt; &lt;span style="color:#CC00FF; font-weight:bold;"&gt;Hash&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;def&lt;/span&gt; symbolize_keys!&lt;br /&gt;
&amp;nbsp; &amp;nbsp; replace&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;inject&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color:#9966CC; font-weight:bold;"&gt;do&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;|&lt;/span&gt;hash,&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;key,value&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;|&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; hash&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;key.&lt;span style="color:#9900CC;"&gt;to_sym&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt; = value.&lt;span style="color:#9900CC;"&gt;is_a&lt;/span&gt;?&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color:#CC00FF; font-weight:bold;"&gt;Hash&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt; ? value.&lt;span style="color:#9900CC;"&gt;symbolize_keys&lt;/span&gt;! : value&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; hash&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color:#008000; font-style:italic;"&gt;#&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#008000; font-style:italic;"&gt;# base class to handle being a twitter bot&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#008000; font-style:italic;"&gt;#&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#9966CC; font-weight:bold;"&gt;class&lt;/span&gt; Skeleton&lt;br /&gt;
&amp;nbsp; attr_accessor &lt;span style="color:#ff3333; font-weight:bold;"&gt;:config&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; attr_accessor &lt;span style="color:#ff3333; font-weight:bold;"&gt;:client&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;def&lt;/span&gt; debug&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;s&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#CC0066; font-weight:bold;"&gt;puts&lt;/span&gt; &lt;span style="color:#996600;"&gt;&amp;quot;***** #{s}&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;def&lt;/span&gt; run&lt;br /&gt;
&amp;nbsp; &amp;nbsp; load_config&lt;br /&gt;
&amp;nbsp; &amp;nbsp; login&lt;br /&gt;
&amp;nbsp; &amp;nbsp; search&lt;br /&gt;
&amp;nbsp; &amp;nbsp; replies&lt;br /&gt;
&amp;nbsp; &amp;nbsp; update_config&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;def&lt;/span&gt; default_opts&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#ff3333; font-weight:bold;"&gt;:since_id&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;.&lt;span style="color:#9900CC;"&gt;has_key&lt;/span&gt;?&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:since_id&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt; ? &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:since_id&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt; : &lt;span style="color:#006666;"&gt;0&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;# implement search in the extended class&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;def&lt;/span&gt; search&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;# implement replies in the extended class&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;def&lt;/span&gt; replies&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;# simple wrapper for sending a message&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;def&lt;/span&gt; tweet&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;txt, params = &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; debug txt&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@client&lt;/span&gt;.&lt;span style="color:#9900CC;"&gt;update&lt;/span&gt; txt, params&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;# track the most recent msg we've handled&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;def&lt;/span&gt; update_since_id&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;s&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;if&lt;/span&gt; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:since_id&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;.&lt;span style="color:#0000FF; font-weight:bold;"&gt;nil&lt;/span&gt;? &lt;span style="color:#9966CC; font-weight:bold;"&gt;or&lt;/span&gt; s&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#996600;"&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:since_id&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:since_id&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt; = s&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#996600;"&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
protected&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;#&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;# handle oauth for this request. &amp;nbsp;if the client isn't authorized, print&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;# out the auth URL and get a pin code back from the user&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;#&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;def&lt;/span&gt; login&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@client&lt;/span&gt; = &lt;span style="color:#6666ff; font-weight:bold;"&gt;TwitterOAuth::Client&lt;/span&gt;.&lt;span style="color:#9900CC;"&gt;new&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#ff3333; font-weight:bold;"&gt;:consumer_key&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:consumer_key&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#ff3333; font-weight:bold;"&gt;:consumer_secret&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:consumer_secret&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#ff3333; font-weight:bold;"&gt;:token&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:token&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;.&lt;span style="color:#0000FF; font-weight:bold;"&gt;nil&lt;/span&gt;? ? &lt;span style="color:#0000FF; font-weight:bold;"&gt;nil&lt;/span&gt; : &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:token&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#ff3333; font-weight:bold;"&gt;:secret&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:secret&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;.&lt;span style="color:#0000FF; font-weight:bold;"&gt;nil&lt;/span&gt;? ? &lt;span style="color:#0000FF; font-weight:bold;"&gt;nil&lt;/span&gt; : &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:secret&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;if&lt;/span&gt; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:token&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;.&lt;span style="color:#0000FF; font-weight:bold;"&gt;nil&lt;/span&gt;?&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; request_token = &lt;span style="color:#0066ff; font-weight:bold;"&gt;@client&lt;/span&gt;.&lt;span style="color:#9900CC;"&gt;request_token&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#CC0066; font-weight:bold;"&gt;puts&lt;/span&gt; &lt;span style="color:#996600;"&gt;&amp;quot;#{request_token.authorize_url}&lt;span style="color:#000099;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#CC0066; font-weight:bold;"&gt;puts&lt;/span&gt; &lt;span style="color:#996600;"&gt;&amp;quot;Paste your PIN and hit enter when you have completed authorization.&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; pin = STDIN.&lt;span style="color:#CC0066; font-weight:bold;"&gt;readline&lt;/span&gt;.&lt;span style="color:#CC0066; font-weight:bold;"&gt;chomp&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; access_token = &lt;span style="color:#0066ff; font-weight:bold;"&gt;@client&lt;/span&gt;.&lt;span style="color:#9900CC;"&gt;authorize&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request_token.&lt;span style="color:#9900CC;"&gt;token&lt;/span&gt;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request_token.&lt;span style="color:#9900CC;"&gt;secret&lt;/span&gt;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#ff3333; font-weight:bold;"&gt;:oauth_verifier&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;=&amp;gt;&lt;/span&gt; pin&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;if&lt;/span&gt; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@client&lt;/span&gt;.&lt;span style="color:#9900CC;"&gt;authorized&lt;/span&gt;?&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:token&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt; = access_token.&lt;span style="color:#9900CC;"&gt;token&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:secret&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt; = access_token.&lt;span style="color:#9900CC;"&gt;secret&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; update_config&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; debug &lt;span style="color:#996600;"&gt;&amp;quot;OOPS&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#CC0066; font-weight:bold;"&gt;exit&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;#&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;# figure out what config file to load&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;#&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;def&lt;/span&gt; config_file&lt;br /&gt;
&amp;nbsp; &amp;nbsp; filename = &lt;span style="color:#996600;"&gt;&amp;quot;#{File.basename($0,&amp;quot;&lt;/span&gt;.&lt;span style="color:#9900CC;"&gt;rb&lt;/span&gt;&lt;span style="color:#996600;"&gt;&amp;quot;)}.yml&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; debug &lt;span style="color:#996600;"&gt;&amp;quot;load config: #{filename}&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#CC00FF; font-weight:bold;"&gt;File&lt;/span&gt;.&lt;span style="color:#9900CC;"&gt;expand_path&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;filename&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;def&lt;/span&gt; load_config&lt;br /&gt;
&amp;nbsp; &amp;nbsp; tmp = &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#CC00FF; font-weight:bold;"&gt;File&lt;/span&gt;.&lt;span style="color:#CC0066; font-weight:bold;"&gt;open&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt; config_file &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#123;&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;|&lt;/span&gt;yf&lt;span style="color:#006600; font-weight:bold;"&gt;|&lt;/span&gt; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmp = &lt;span style="color:#CC00FF; font-weight:bold;"&gt;YAML&lt;/span&gt;::&lt;span style="color:#CC0066; font-weight:bold;"&gt;load&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt; yf &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; tmp.&lt;span style="color:#9900CC;"&gt;symbolize_keys&lt;/span&gt;! &lt;span style="color:#9966CC; font-weight:bold;"&gt;if&lt;/span&gt; tmp&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;rescue&lt;/span&gt; &lt;span style="color:#CC00FF; font-weight:bold;"&gt;Exception&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;=&amp;gt;&lt;/span&gt; err&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; debug err.&lt;span style="color:#9900CC;"&gt;message&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; tmp = &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#ff3333; font-weight:bold;"&gt;:since_id&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#006666;"&gt;0&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;# defaults for now, obviously a big hack. &amp;nbsp;this is for botly, at &amp;lt;a href=&amp;quot;http://dev.twitter.com/apps/207151&amp;quot;&amp;gt;http://dev.twitter.com/apps/207151&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;if&lt;/span&gt; ! tmp.&lt;span style="color:#9900CC;"&gt;has_key&lt;/span&gt;?&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:consumer_key&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; tmp&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:consumer_key&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt; = &lt;span style="color:#996600;"&gt;&amp;quot;hjaOOEeeMpJSqZR7dvhxjg&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; tmp&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:consumer_secret&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt; = &lt;span style="color:#996600;"&gt;&amp;quot;wA5iqjfCf9aeGMMItqd6ylEEZAbcm7m6R7vVpaQV0s&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt; = tmp&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;# write out our config file&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;def&lt;/span&gt; update_config&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;tmp=@config&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;# update datastore&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#CC00FF; font-weight:bold;"&gt;File&lt;/span&gt;.&lt;span style="color:#CC0066; font-weight:bold;"&gt;open&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;config_file, &lt;span style="color:#996600;"&gt;'w'&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#123;&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;|&lt;/span&gt;f&lt;span style="color:#006600; font-weight:bold;"&gt;|&lt;/span&gt; &lt;span style="color:#CC00FF; font-weight:bold;"&gt;YAML&lt;/span&gt;.&lt;span style="color:#9900CC;"&gt;dump&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;tmp, f&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;And here's the actual code for my newest bot @dr_rumack:&lt;/p&gt;
&lt;p&gt;&lt;div class="geshifilter"&gt;&lt;div class="ruby geshifilter-ruby" style="font-family:monospace;"&gt;&lt;span style="color:#008000; font-style:italic;"&gt;#!/usr/bin/ruby&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#CC0066; font-weight:bold;"&gt;require&lt;/span&gt; &lt;span style="color:#996600;"&gt;'skeleton'&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color:#9966CC; font-weight:bold;"&gt;class&lt;/span&gt; Surely &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;lt;&lt;/span&gt; Skeleton&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;def&lt;/span&gt; search&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; debug &lt;span style="color:#996600;"&gt;&amp;quot;check for tweets since #{@config[:since_id]}&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;#&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;# search twitter&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#008000; font-style:italic;"&gt;#&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; search = &lt;span style="color:#0066ff; font-weight:bold;"&gt;@client&lt;/span&gt;.&lt;span style="color:#9900CC;"&gt;search&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color:#996600;"&gt;'surely you must be joking'&lt;/span&gt;, default_opts&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;if&lt;/span&gt; search != &lt;span style="color:#0000FF; font-weight:bold;"&gt;nil&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;if&lt;/span&gt; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:since_id&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;.&lt;span style="color:#0000FF; font-weight:bold;"&gt;nil&lt;/span&gt;? &lt;span style="color:#9966CC; font-weight:bold;"&gt;or&lt;/span&gt; search&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#996600;"&gt;&amp;quot;max_id&amp;quot;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;.&lt;span style="color:#9900CC;"&gt;to_i&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:since_id&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#0066ff; font-weight:bold;"&gt;@config&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#ff3333; font-weight:bold;"&gt;:since_id&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt; = search&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#996600;"&gt;&amp;quot;max_id&amp;quot;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;.&lt;span style="color:#9900CC;"&gt;to_i&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; search&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#996600;"&gt;&amp;quot;results&amp;quot;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;.&lt;span style="color:#9900CC;"&gt;each&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#123;&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;|&lt;/span&gt;s&lt;span style="color:#006600; font-weight:bold;"&gt;|&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; debug s&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#996600;"&gt;&amp;quot;text&amp;quot;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; txt = &lt;span style="color:#996600;"&gt;&amp;quot;@#{s['from_user']} I am serious, and don't call me Shirley!&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tweet txt, &lt;span style="color:#ff3333; font-weight:bold;"&gt;:in_reply_to_status_id&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;=&amp;gt;&lt;/span&gt; s&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color:#996600;"&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;rescue&lt;/span&gt; &lt;span style="color:#CC00FF; font-weight:bold;"&gt;Exception&lt;/span&gt; &lt;span style="color:#006600; font-weight:bold;"&gt;=&amp;gt;&lt;/span&gt; e&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#9966CC; font-weight:bold;"&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color:#0066ff; font-weight:bold;"&gt;@sk&lt;/span&gt; = Surely.&lt;span style="color:#9900CC;"&gt;new&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#0066ff; font-weight:bold;"&gt;@sk&lt;/span&gt;.&lt;span style="color:#9900CC;"&gt;run&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Feel free to adapt this code in any way.  I'd love to hear of any uses of it.  I've thought about making it work more like &lt;a href="http://github.com/cjohansen/twibot"&gt;twibot&lt;/a&gt; at some point, if there's any interest.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=l3QtFnOF5dU:lh2mPkZtdQ4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=l3QtFnOF5dU:lh2mPkZtdQ4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=l3QtFnOF5dU:lh2mPkZtdQ4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=l3QtFnOF5dU:lh2mPkZtdQ4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=l3QtFnOF5dU:lh2mPkZtdQ4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/l3QtFnOF5dU" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/twitter-bots-now-oauth-goodness#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/ruby">ruby</category>
 <category domain="http://muffinlabs.com/category/tags/twitter">twitter</category>
 <pubDate>Fri, 13 Aug 2010 00:01:41 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">513 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/twitter-bots-now-oauth-goodness</feedburner:origLink></item>
<item>
 <title>Bombs</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/o_VgJ3fJCOk/bombs</link>
 <description>&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/jfpQNfcRE1o&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed rel="lightbox" src="http://www.youtube.com/v/jfpQNfcRE1o&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=o_VgJ3fJCOk:dRXHQfyBBus:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=o_VgJ3fJCOk:dRXHQfyBBus:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=o_VgJ3fJCOk:dRXHQfyBBus:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=o_VgJ3fJCOk:dRXHQfyBBus:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=o_VgJ3fJCOk:dRXHQfyBBus:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/o_VgJ3fJCOk" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/bombs#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/video">video</category>
 <pubDate>Wed, 11 Aug 2010 12:42:59 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">511 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/bombs</feedburner:origLink></item>
<item>
 <title>Bookmark Hoarding</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/HiwPWyg2qwQ/bookmark-hoarding</link>
 <description>&lt;p&gt;I have &lt;b&gt;3395&lt;/b&gt; bookmarks on my delicious account, which judging from &lt;a href="http://www.thegooglecache.com/rants-and-raves/web-page-packrats-the-top-25-delicious-users/"&gt;top user data&lt;/a&gt;, puts me somewhere in the busier users.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;WHICH IS FUCKED UP&lt;/b&gt;, because I never use any of these bookmarks!&lt;/p&gt;
&lt;p&gt;Recently I switched from using Firefox to Chrome as my default browser.  In Firefox, I used a plugin to sync up with delicious, and had maybe 30 or so bookmarks in my main toolbar, with some handy links I use daily.  The rest of the bookmarks just sat there.  I barely used them, never really thought about it.  Chrome doesn't have a decent extension for delicious right now.  So, I loaded my bookmarks into Google bookmarks, which was a bit of a pain, and required some coding, but eventually it was done.  When you use Google Bookmarks, they show up in searches.  That seems handy, but in reality it wasn't working for me at all.  And all of a sudden I had 3400 bookmarks to manage, and I didn't care about any of them.&lt;/p&gt;
&lt;p&gt;So, I deleted almost all of them.  It seemed like a crazy idea at first - after all, I had added all these bookmarks for a reason.  But while I was struggling with what to do about them, I realized that I was just hoarding these bookmarks, with little intention of every using them.  And having deleted them, I haven't looked back.  I have maybe a dozen really important bookmarks now - my bank, a couple random sites I use a lot.  I have one folder for random project ideas that I like to track, but I have every intention of cleaning it out often.&lt;/p&gt;
&lt;p&gt;All those bookmarks were like some sort of list of accomplishments a la &lt;a href="http://progressquest.com/"&gt;Progress Quest&lt;/a&gt; -- as I would surf around, every page of even vague interest was bookmarked for me, and I could cross it off the list of cool sites I had visited.  It was like some sort of bizarre mark of pride.  And I never referred back to them for anything I never could've found in Google anyway.&lt;/p&gt;
&lt;p&gt;So, they're gone, and although I thought I would miss them at first, I haven't missed them at all.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=HiwPWyg2qwQ:WN3W6z_ZJB4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=HiwPWyg2qwQ:WN3W6z_ZJB4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=HiwPWyg2qwQ:WN3W6z_ZJB4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=HiwPWyg2qwQ:WN3W6z_ZJB4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=HiwPWyg2qwQ:WN3W6z_ZJB4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/HiwPWyg2qwQ" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/bookmark-hoarding#comments</comments>
 <pubDate>Sat, 07 Aug 2010 02:28:14 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">509 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/bookmark-hoarding</feedburner:origLink></item>
<item>
 <title>Desert Island Supply co</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/qxC3tyUE_AM/desert-island-supply-co</link>
 <description>&lt;p&gt;&lt;a href='http://kck.st/9ve1g6'&gt;&lt;img border='0' src='http://www.kickstarter.com/projects/disco/the-desert-island-supply-co-a-writing-center-for-k/widget/card.jpg' /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ROCK&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=qxC3tyUE_AM:I5tNElH-hQI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=qxC3tyUE_AM:I5tNElH-hQI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=qxC3tyUE_AM:I5tNElH-hQI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=qxC3tyUE_AM:I5tNElH-hQI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=qxC3tyUE_AM:I5tNElH-hQI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/qxC3tyUE_AM" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/desert-island-supply-co#comments</comments>
 <pubDate>Tue, 03 Aug 2010 13:52:46 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">506 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/desert-island-supply-co</feedburner:origLink></item>
<item>
 <title>Thai Basil Chicken</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/Etyl1zGef74/thai-basil-chicken</link>
 <description>&lt;p&gt;via &lt;a href="http://gimmesomeoven.com/"&gt;gimme some oven&lt;/a&gt;, I made this recipe for &lt;a href="http://gimmesomeoven.com/thai-basil-chicken-gai-pad-krapow/"&gt;Thai Basil Chicken&lt;/a&gt; last night and it was damn tasty.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=Etyl1zGef74:6ee8fQUStdk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=Etyl1zGef74:6ee8fQUStdk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=Etyl1zGef74:6ee8fQUStdk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=Etyl1zGef74:6ee8fQUStdk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=Etyl1zGef74:6ee8fQUStdk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/Etyl1zGef74" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/thai-basil-chicken#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/recipes">recipes</category>
 <pubDate>Wed, 28 Jul 2010 21:33:13 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">502 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/thai-basil-chicken</feedburner:origLink></item>
<item>
 <title>Holga D - open source holga implementation?</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/eL_qM52bgZo/holga-d-open-source-holga-implementation</link>
 <description>&lt;p&gt;&lt;a href="http://www.saikatbiswas.com/web/Projects/Holga_D.htm"&gt;This concept&lt;/a&gt; totally rocks:&lt;/p&gt;
&lt;p&gt;&lt;img rel="lightbox" src="http://www.saikatbiswas.com/web/Projects/Holga_D/Holga_D_01.jpg" alt="" width="315" height="315" /&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
In the old days of analog photography one had to wait, wait for finishing an entire roll of film, wait for development and so on.&lt;br /&gt;
But now, in the age of digital photography many photographers agree that the anticipation and delayed gratification of analog photography made the overall experience of photography even sweeter!&lt;/p&gt;
&lt;p&gt;From the front it may look like just another digital camera, may be a bit minimal, but the backside is surprising, as it does not have a display!&lt;/p&gt;
&lt;p&gt;Even though Holga D is a digital camera, in order to achieve its simplicity, it reduces the feature set to absolute minimum.&lt;br /&gt;
Even the display is not there! So your photographs remain mysterious until you download the images. This makes the experience quite similar to the good old film based cameras.
&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=eL_qM52bgZo:wc9RY5H42sw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=eL_qM52bgZo:wc9RY5H42sw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=eL_qM52bgZo:wc9RY5H42sw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=eL_qM52bgZo:wc9RY5H42sw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=eL_qM52bgZo:wc9RY5H42sw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/eL_qM52bgZo" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/holga-d-open-source-holga-implementation#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/diy">diy</category>
 <pubDate>Wed, 28 Jul 2010 16:07:33 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">501 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/holga-d-open-source-holga-implementation</feedburner:origLink></item>
<item>
 <title>Third and Seneca</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/-j4D29zCakE/third-and-seneca</link>
 <description>&lt;p&gt;From the new album, pretty great.&lt;/p&gt;
&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Mzc7GoDS6CY&amp;amp;hl=en_US&amp;amp;fs=1" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed rel="lightbox" src="http://www.youtube.com/v/Mzc7GoDS6CY&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=-j4D29zCakE:tzdS3CyWNZ8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=-j4D29zCakE:tzdS3CyWNZ8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=-j4D29zCakE:tzdS3CyWNZ8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=-j4D29zCakE:tzdS3CyWNZ8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=-j4D29zCakE:tzdS3CyWNZ8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/-j4D29zCakE" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/third-and-seneca#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/music">music</category>
 <category domain="http://muffinlabs.com/category/tags/video">video</category>
 <pubDate>Fri, 16 Jul 2010 14:00:32 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">498 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/third-and-seneca</feedburner:origLink></item>
<item>
 <title>The Squirrel Twins' Ride</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/vPg4mD80ngc/squirrel-twins-ride</link>
 <description>&lt;p&gt;Welcome to the first in a series of book reviews which I call &lt;strong&gt;"Books That are not Worth Reviewing"&lt;strong&gt;.&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="inline inline-left"&gt;&lt;a href="http://muffinlabs.com/category/image-galleries/squirrel-twins-ride"&gt;&lt;img rel="lightbox" src="http://muffinlabs.com/sites/default/files/images/thumb.thumbnail.jpg" alt="Squirrel Twins" title="Squirrel Twins"  class="image image-thumbnail " width="100" height="95" /&gt;&lt;/a&gt;&lt;span class="caption" style="width: 98px;"&gt;&lt;strong&gt;Squirrel Twins&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://muffinlabs.com/category/image-galleries/squirrel-twins-ride"&gt;&lt;em&gt;The Squirrel Twins' Ride&lt;/em&gt;&lt;/a&gt; is the tale of two young squirrels - Chipper and Chatter - as they attempt to make their way through a cold and unforgiving world.  They have been left alone while their parents travel to visit relatives.  One day they receive a letter inviting them to rejoin their parents, and they eventually find themselves on a train, attempting to reach the house of their Aunt Maria.  Unfortunately, they don't know where she lives, they have no tickets and presumably no money to buy them with anyway.  It is unclear how they have been able to meet the basic requirements of survival, or who has been keeping their beanie hats spinning this whole time.&lt;/p&gt;
&lt;p&gt;On the train, the gruff Conductor and the thrifty Mrs. Mouse are their only source of hope, as they travel from town to town, hoping for a furtive glance of a place to call home.  At each stop, the Conductor asks if anyone is looking for two squirrels.  It's clear that the Conductor cares only for himself and the duties of his position.  He is desperate to unload the twins on the first owl, frog or turtle that will have them.&lt;/p&gt;
&lt;p&gt;The conclusion of the book and its bittersweet family reunion is short and to the point.&lt;/p&gt;
&lt;p&gt;Published in 1968 by Rand McNally as part of the 'Tiny Elf Library', it's evident that no one expected this book to survive until 2010.  The binding is cheap and the pages are yellowed.  We happened to find it at a library book sale a few years ago, and it's been a popular item ever since - mostly because the story is so bizarre.&lt;/p&gt;
&lt;p&gt;The book is written by Duncan Jury and illustrated by Eleanor Corwin.  Corwin will appear again in future book review.  This might be the only book published by Duncan Jury, and it's not hard to see why.  It doesn't make any sense at all!&lt;/p&gt;
&lt;p&gt;The book is short so I have scanned it in and you can &lt;a href="http://muffinlabs.com/category/image-galleries/squirrel-twins-ride"&gt;view it here&lt;/a&gt;.  I don't have a lot of interest in violating any copyright, so if someone wants me to take it down, just let me know and I will.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=vPg4mD80ngc:yY_CLxcjNs8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=vPg4mD80ngc:yY_CLxcjNs8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=vPg4mD80ngc:yY_CLxcjNs8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=vPg4mD80ngc:yY_CLxcjNs8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=vPg4mD80ngc:yY_CLxcjNs8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/vPg4mD80ngc" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/squirrel-twins-ride#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/book-reviews">Book Reviews</category>
 <pubDate>Fri, 16 Jul 2010 02:09:44 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">496 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/squirrel-twins-ride</feedburner:origLink></item>
<item>
 <title>Lemony Broccoli and Chickpea Pasta</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/SXaamXJSH_0/lemony-broccoli-and-chickpea-pasta</link>
 <description>&lt;p&gt;Tonight's dinner was a DAMNED TASTY &lt;a href="http://wordstoeatby.blogspot.com/2006/06/lemony-broccoli-and-chickpea-pasta.html"&gt;Lemony Broccoli and Chickpea Pasta&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ingredients&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;One 19-ounce can chickpeas, drained and rinsed&lt;/li&gt;
&lt;li&gt;1/3 cup fresh lemon juice&lt;/li&gt;
&lt;li&gt;3/4 cup extra-virgin olive oil&lt;/li&gt;
&lt;li&gt;Kosher salt and freshly ground pepper&lt;/li&gt;
&lt;li&gt;1 1/2 pounds broccoli, cut into florets&lt;/li&gt;
&lt;li&gt;1 pound rigatoni&lt;/li&gt;
&lt;li&gt;5 large garlic cloves, very thinly sliced&lt;/li&gt;
&lt;li&gt;1/2 teaspoon crushed red pepper&lt;/li&gt;
&lt;li&gt;1 cup freshly grated Parmesan cheese&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Directions&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In a medium bowl, toss the chickpeas with the lemon juice and 1/2 cup of the olive oil. Season with salt and pepper.&lt;/li&gt;
&lt;li&gt;In a large pot of boiling salted water, cook the broccoli until crisp-tender, about 4 minutes. Using a slotted spoon, transfer the broccoli to a colander and rinse under cold water until cool. Add the rigatoni to the boiling water and cook until al dente.&lt;/li&gt;
&lt;li&gt;Meanwhile, in a large, deep skillet, heat the remaining 1/4 cup of olive oil. Add the garlic and crushed red pepper and cook over moderate heat until the garlic is golden, about 3 minutes. Add the broccoli and cook until tender, about 5 minutes. Add the chickpea mixture and cook until warmed through, about 1 minute.&lt;/li&gt;
&lt;li&gt;Drain the rigatoni, reserving 1/4 cup of the cooking water. Add the pasta to the broccoli and chickpeas along with the reserved cooking water and season with salt and pepper. Cook over moderate heat, stirring, until the rigatoni is coated with sauce. Remove from the heat and stir in 1/2 cup of the Parmesan cheese. Transfer the pasta to a bowl, sprinkle with the remaining Parmesan and serve.&lt;/li&gt;
&lt;/ol&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=SXaamXJSH_0:iMjw9WZMUUQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=SXaamXJSH_0:iMjw9WZMUUQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=SXaamXJSH_0:iMjw9WZMUUQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=SXaamXJSH_0:iMjw9WZMUUQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=SXaamXJSH_0:iMjw9WZMUUQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/SXaamXJSH_0" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/lemony-broccoli-and-chickpea-pasta#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/recipes">recipes</category>
 <pubDate>Wed, 14 Jul 2010 11:15:10 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">476 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/lemony-broccoli-and-chickpea-pasta</feedburner:origLink></item>
<item>
 <title>Braised Chicken With Black Beans And Sweet Potato </title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/enxHICBGIwE/braised-chicken-black-beans-and-sweet-potato</link>
 <description>&lt;p&gt;We've been making this recipe from Cookthink at least monthly since we found it:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cookthink.com/recipe/3917/Braised_Chicken_With_Black_Beans_And_Sweet_Potato"&gt;Braised Chicken With Black Beans And Sweet Potato&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
This healthy, satisfying one-pot dish is made with chicken thighs and flavored with jalapeño, cumin, coriander, lime juice and zest and cilantro. Serve on its own or with a side of brown rice. We'd recommend washing this dish down with an ice cold beer.
&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=enxHICBGIwE:1DB6WWiYk_I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=enxHICBGIwE:1DB6WWiYk_I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=enxHICBGIwE:1DB6WWiYk_I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=enxHICBGIwE:1DB6WWiYk_I:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=enxHICBGIwE:1DB6WWiYk_I:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/enxHICBGIwE" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/braised-chicken-black-beans-and-sweet-potato#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/recipes">recipes</category>
 <pubDate>Mon, 12 Jul 2010 20:30:59 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">473 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/braised-chicken-black-beans-and-sweet-potato</feedburner:origLink></item>
<item>
 <title>Muslims in SPACE</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/lhjyW77U0WM/muslims-space</link>
 <description>&lt;table style='font:11px arial; color:#333; background-color:#f5f5f5' cellpadding='0' cellspacing='0' width='360' height='353'&gt;
&lt;tbody&gt;
&lt;tr style='background-color:#e5e5e5' valign='middle'&gt;
&lt;td style='padding:2px 1px 0px 5px;'&gt;&lt;a target='_blank' style='color:#333; text-decoration:none; font-weight:bold;' href='http://www.thedailyshow.com'&gt;The Daily Show With Jon Stewart&lt;/a&gt;&lt;/td&gt;
&lt;td style='padding:2px 5px 0px 5px; text-align:right; font-weight:bold;'&gt;Mon - Thurs 11p / 10c&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style='height:14px;' valign='middle'&gt;
&lt;td style='padding:2px 1px 0px 5px;' colspan='2'&lt;a target='_blank' style='color:#333; text-decoration:none; font-weight:bold;' href='http://www.thedailyshow.com/watch/wed-july-7-2010/wish-you-weren-t-here'&gt;Wish You Weren't Here&lt;a&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style='height:14px; background-color:#353535' valign='middle'&gt;
&lt;td colspan='2' style='padding:2px 5px 0px 5px; width:360px; overflow:hidden; text-align:right'&gt;&lt;a target='_blank' style='color:#96deff; text-decoration:none; font-weight:bold;' href='http://www.thedailyshow.com/'&gt;www.thedailyshow.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr valign='middle'&gt;
&lt;td style='padding:0px;' colspan='2'&gt;&lt;embed style='display:block' src='http://media.mtvnservices.com/mgid:cms:item:comedycentral.com:340607' width='360' height='301' type='application/x-shockwave-flash' wmode='window' allowFullscreen='true' flashvars='autoPlay=false' allowscriptaccess='always' allownetworking='all' bgcolor='#000000'&gt;&lt;/embed&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style='height:18px;' valign='middle'&gt;
&lt;td style='padding:0px;' colspan='2'&gt;
&lt;table style='margin:0px; text-align:center' cellpadding='0' cellspacing='0' width='100%' height='100%'&gt;
&lt;tr valign='middle'&gt;
&lt;td style='padding:3px; width:33%;'&gt;&lt;a target='_blank' style='font:10px arial; color:#333; text-decoration:none;' href='http://www.thedailyshow.com/full-episodes/'&gt;Daily Show Full Episodes&lt;/a&gt;&lt;/td&gt;
&lt;td style='padding:3px; width:33%;'&gt;&lt;a target='_blank' style='font:10px arial; color:#333; text-decoration:none;' href='http://www.indecisionforever.com'&gt;Political Humor&lt;/a&gt;&lt;/td&gt;
&lt;td style='padding:3px; width:33%;'&gt;&lt;a target='_blank' style='font:10px arial; color:#333; text-decoration:none;' href='http://www.thedailyshow.com/videos/tag/Tea+Party'&gt;Tea Party&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=lhjyW77U0WM:wxr8_-fF_-E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=lhjyW77U0WM:wxr8_-fF_-E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=lhjyW77U0WM:wxr8_-fF_-E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=lhjyW77U0WM:wxr8_-fF_-E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=lhjyW77U0WM:wxr8_-fF_-E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/lhjyW77U0WM" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/muslims-space#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/funny">funny</category>
 <category domain="http://muffinlabs.com/category/tags/politics">politics</category>
 <category domain="http://muffinlabs.com/category/tags/video">video</category>
 <pubDate>Thu, 08 Jul 2010 16:34:46 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">471 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/muslims-space</feedburner:origLink></item>
<item>
 <title>Pitch - now with more open source</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/N882HqlWI-s/pitch-now-more-open-source</link>
 <description>&lt;p&gt;I wrote &lt;a href="http://muffinlabs.com/content/pitch"&gt;pitch&lt;/a&gt; about a million years ago it seems like.  It was fairly popular for such a niche game.  Anyway, I've gotten the occasional request to release the code, so I've done so on &lt;a href="http://github.com/muffinista/palm-pitch"&gt;github&lt;/a&gt;.  Perhaps someone will use it to make a version of the game for another platform.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=N882HqlWI-s:IolILavEf2g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=N882HqlWI-s:IolILavEf2g:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=N882HqlWI-s:IolILavEf2g:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=N882HqlWI-s:IolILavEf2g:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=N882HqlWI-s:IolILavEf2g:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/N882HqlWI-s" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/pitch-now-more-open-source#comments</comments>
 <category domain="http://muffinlabs.com/category/wordpress-category/code">Code</category>
 <category domain="http://muffinlabs.com/category/wordpress-category/games">Games</category>
 <pubDate>Thu, 08 Jul 2010 15:15:50 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">470 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/pitch-now-more-open-source</feedburner:origLink></item>
<item>
 <title>YouTube - Flash Sticking Around</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/J1LOeut5SY4/youtube-flash-sticking-around</link>
 <description>&lt;p&gt;&lt;a href="http://apiblog.youtube.com/2010/06/flash-and-html5-tag.html"&gt;YouTube API Blog: Flash and the HTML5 &amp;lt;video&amp;gt; tag&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;There's been a lot of discussion lately about whether or not the HTML5 &amp;lt;video&amp;gt; tag is going to replace Flash Player for video distribution on the web. We’ve been excited about the HTML5 effort and &amp;lt;video&amp;gt; tag for quite a while now, and most YouTube videos can now be played via our HTML5 player. This work has shown us that, while the &amp;lt;video&amp;gt; tag is a big step forward for open standards, the Adobe Flash Platform will continue to play a critical role in video distribution.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;It's frustrating to see the web move so slowly(*) sometimes.  If google can't make the video tag work, it can't be done.&lt;/p&gt;
&lt;p&gt;* It's sort of wack that I even wrote that.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=J1LOeut5SY4:3Qsoja2JO9Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=J1LOeut5SY4:3Qsoja2JO9Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=J1LOeut5SY4:3Qsoja2JO9Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=J1LOeut5SY4:3Qsoja2JO9Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=J1LOeut5SY4:3Qsoja2JO9Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/J1LOeut5SY4" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/youtube-flash-sticking-around#comments</comments>
 <category domain="http://muffinlabs.com/category/wordpress-category/code">Code</category>
 <category domain="http://muffinlabs.com/category/tags/web">web</category>
 <pubDate>Thu, 01 Jul 2010 07:07:25 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">468 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/youtube-flash-sticking-around</feedburner:origLink></item>
<item>
 <title>Whale Pail -- Twitter Delivered to your RSS Feed</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/C19hpowQwqU/whale-pail-twitter-delivered-your-rss-feed</link>
 <description>&lt;p&gt;&lt;a href="http://whalepail.com"&gt;WhalePail&lt;/a&gt; is a simple web app to generate RSS feeds for a variety of Twitter data.  I wrote it to help me keep track of the &lt;a href="/content/twitter-bots"&gt;collection of bots&lt;/a&gt; I have running on Twitter.  I used to just have a couple panels in TweetDeck to watch them, but TweetDeck sucks, and so does having to watch it all the time.  Now, I can get a daily summary of their activity in my RSS feed, which is much easier to deal with, and I can scrap TweetDeck in favor of &lt;a href="http://getspaz.com/"&gt;a much better client&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To use the site, you'll need to authenticate yourself via Twitter.  Then you can setup checks for tweets, mentions, or just search for a phrase.  You get the results back as an RSS feed.  You can specify daily checks, or a couple times a day.  This is handy if you're checking for something that might have enough volume that Twitter's API might flush it out more than daily.  I might add some other options like JSON output later.&lt;/p&gt;
&lt;p&gt;The code runs on Sinatra, and is available as &lt;a href="http://github.com/muffinista/twitter-rss-digest"&gt;twitter-rss-digest&lt;/a&gt; on github.  I used the &lt;a href="http://sinitter.moocode.com/"&gt;sinitter&lt;/a&gt; project as a starting point.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=C19hpowQwqU:nRyAeETp8L8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=C19hpowQwqU:nRyAeETp8L8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=C19hpowQwqU:nRyAeETp8L8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=C19hpowQwqU:nRyAeETp8L8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=C19hpowQwqU:nRyAeETp8L8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/C19hpowQwqU" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/whale-pail-twitter-delivered-your-rss-feed#comments</comments>
 <category domain="http://muffinlabs.com/category/wordpress-category/code">Code</category>
 <category domain="http://muffinlabs.com/category/tags/twitter">twitter</category>
 <pubDate>Mon, 28 Jun 2010 13:28:52 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">467 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/whale-pail-twitter-delivered-your-rss-feed</feedburner:origLink></item>
<item>
 <title>Decent DD-WRT howto</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/l9TCjslWDgc/decent-dd-wrt-howto</link>
 <description>&lt;p&gt;I've used DD-WRT on maybe 5 routers, for a variety of tasks.  While there is a lot of info and tutorials out there for it, many of them are stale, or brief, or just overly technical.  &lt;a href="http://lifehacker.com/5563196/turn-your-old-router-into-a-range%20boosting-wi%20fi-repeater"&gt;This one&lt;/a&gt; on lifehacker looks like a good walkthrough on building a wireless repeater with DD-WRT.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=l9TCjslWDgc:7c-mYxLYP4k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=l9TCjslWDgc:7c-mYxLYP4k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=l9TCjslWDgc:7c-mYxLYP4k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=l9TCjslWDgc:7c-mYxLYP4k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=l9TCjslWDgc:7c-mYxLYP4k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/l9TCjslWDgc" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/decent-dd-wrt-howto#comments</comments>
 <pubDate>Wed, 16 Jun 2010 02:38:27 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">460 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/decent-dd-wrt-howto</feedburner:origLink></item>
<item>
 <title>great review of starship troopers</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/6EfQ28VGLls/great-review-starship-troopers</link>
 <description>&lt;p&gt;It really is a terrific &lt;a href="http://avclub.com/articles/starship-troopers,41966/"&gt;mainstream subversive&lt;/a&gt; film.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=6EfQ28VGLls:dnYoo8rypRU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=6EfQ28VGLls:dnYoo8rypRU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=6EfQ28VGLls:dnYoo8rypRU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=6EfQ28VGLls:dnYoo8rypRU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=6EfQ28VGLls:dnYoo8rypRU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/6EfQ28VGLls" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/great-review-starship-troopers#comments</comments>
 <pubDate>Thu, 10 Jun 2010 13:23:41 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">456 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/great-review-starship-troopers</feedburner:origLink></item>
<item>
 <title>fuck shit stack</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/wBe5XVIhAMw/fuck-shit-stack</link>
 <description>&lt;p&gt;&lt;a href="http://vimeo.com/10107253"&gt;LOOSEWORLD x Waverly Films: Reggie Watts in F_CK SH_T STACK on Vimeo&lt;/a&gt;&lt;/p&gt;
&lt;div class="youtube-video"&gt;
&lt;object height="225" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="allowscriptaccess" value="always" /&gt; &lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=10107253&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=08e9ec&amp;amp;fullscreen=1" /&gt; &lt;embed rel="lightbox" src="http://vimeo.com/moogaloop.swf?clip_id=10107253&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=08e9ec&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="225" width="400"&gt; &lt;/embed&gt; &lt;/object&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=wBe5XVIhAMw:JB5ZmC_haHo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=wBe5XVIhAMw:JB5ZmC_haHo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=wBe5XVIhAMw:JB5ZmC_haHo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=wBe5XVIhAMw:JB5ZmC_haHo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=wBe5XVIhAMw:JB5ZmC_haHo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/wBe5XVIhAMw" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/fuck-shit-stack#comments</comments>
 <category domain="http://muffinlabs.com/category/tags/video">video</category>
 <pubDate>Fri, 04 Jun 2010 20:30:12 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">454 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/fuck-shit-stack</feedburner:origLink></item>
<item>
 <title>Crossfire</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/5MQIknn8UnE/crossfire</link>
 <description>&lt;p&gt;Here is Crossfire, my latest game project.&lt;/p&gt;
&lt;p&gt;&lt;a target="_new" href="http://en.wikipedia.org/wiki/Crossfire_%28video_game%29"&gt;The original Crossfire&lt;/a&gt; is an 8-bit game published in the early 80s.  It's one of the first memories I have of plucking away at our old Apple ][.  This game is my attempt to recreate it, making a couple things easier but also hopefully a few things more interesting as well.&lt;/p&gt;
&lt;p&gt;I used &lt;a href="http://flixel.org/" target="_new"&gt;Flixel&lt;/a&gt; to build the game.  It's a great library.&lt;/p&gt;
&lt;p&gt;Although the game plays well enough, I'm not entirely happy with it.  The balance could use some work, and it would be interesting to have some other modes.&lt;/p&gt;
&lt;p&gt;Anyway, here's the game.&lt;/p&gt;
&lt;div class="swftools-wrapper swftools-swf"&gt;
&lt;div id="swfobject-id-12635211061" class="swftools lutman" swftools='{ "swliveconnect": "default", "play": "true", "loop": "true", "menu": "false", "quality": "autohigh", "scale": "showall", "align": "l", "salign": "tl", "wmode": "opaque", "bgcolor": "#000000", "version": "10", "allowfullscreen": "true", "allowscriptaccess": "always", "base": "http://muffinlabs.com/sites/default/files/", "src_path": "sites/default/files/xfire.swf", "src": "http://muffinlabs.com/sites/default/files/xfire.swf", "height": 500, "width": 640, "flashvars": "" }' &gt;
&lt;p&gt;You are missing some Flash content that should appear here! Perhaps your browser cannot display it, or maybe it did not initialize correctly.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=5MQIknn8UnE:1kQ2u7cGiT8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=5MQIknn8UnE:1kQ2u7cGiT8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=5MQIknn8UnE:1kQ2u7cGiT8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=5MQIknn8UnE:1kQ2u7cGiT8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=5MQIknn8UnE:1kQ2u7cGiT8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/5MQIknn8UnE" height="1" width="1"/&gt;</description>
 <category domain="http://muffinlabs.com/category/tags/as3">as3</category>
 <category domain="http://muffinlabs.com/category/tags/flixel">flixel</category>
 <category domain="http://muffinlabs.com/category/wordpress-category/games">Games</category>
 <pubDate>Sat, 22 May 2010 00:10:42 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">448 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/games/crossfire</feedburner:origLink></item>
<item>
 <title>_why</title>
 <link>http://feedproxy.google.com/~r/muffinlabs/~3/kXJv2UPXg0o/why</link>
 <description>&lt;p&gt;&lt;a href="http://www.smashingmagazine.com/2010/05/15/why-a-tale-of-a-post-modern-genius/"&gt;Why: A Tale Of A Post-Modern Genius - Smashing Magazine&lt;/a&gt;&lt;br /&gt;
&lt;blockquote&gt;The disappearance has left a horde of orphans of _Why’s code and activity. And while no one knows for sure why he did what he did, there are solid theories, the strongest one being that his real identity had been discovered, however weird that sounds. This article tells the tale of this post-modern artist whom people came to know as Why the Lucky Stiff.&lt;/blockquote&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=kXJv2UPXg0o:WlQkO55fVZ0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=kXJv2UPXg0o:WlQkO55fVZ0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=kXJv2UPXg0o:WlQkO55fVZ0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/muffinlabs?a=kXJv2UPXg0o:WlQkO55fVZ0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/muffinlabs?i=kXJv2UPXg0o:WlQkO55fVZ0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/muffinlabs/~4/kXJv2UPXg0o" height="1" width="1"/&gt;</description>
 <comments>http://muffinlabs.com/content/why#comments</comments>
 <pubDate>Mon, 17 May 2010 07:43:44 +0000</pubDate>
 <dc:creator>colin</dc:creator>
 <guid isPermaLink="false">447 at http://muffinlabs.com</guid>
<feedburner:origLink>http://muffinlabs.com/content/why</feedburner:origLink></item>
</channel>
</rss>
