<?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:trackback="http://madskills.com/public/xml/rss/module/trackback/" version="2.0">
  <channel>
    <title>RicRoberts : </title>
    <link>http://www.ricroberts.com/articles.rss</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Web developer and founder of &lt;a href="http://www.swirrl.com"&gt;swirrl.com&lt;/a&gt;</description>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/RichText" type="application/rss+xml" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" 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 xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/RichText" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://my.feedlounge.com/external/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://static.feedlounge.com/buttons/subscribe_0.gif">Subscribe with FeedLounge</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.inclue.com/client/1?feed=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://www.inclue.com/friends/chicklet.gif">Subscribe with inclue!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://odeo.com/listen/subscribe?feed=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://odeo.com/img/badge-channel-black.gif">Subscribe with ODEO</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.podnova.com/add.srf?url=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://www.podnova.com/img_chicklet_podnova.gif">Subscribe with Podnova</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FRichText" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>DailyJS: a new Javascript blog</title>
      <description>&lt;p&gt;&lt;a href="http://alexyoung.org"&gt;Alex Young&lt;/a&gt; and I (with a bit of help from &lt;a href="http://gusg.us/"&gt;Justin (Gus) Knowlden&lt;/a&gt; &amp;#8211; of &lt;a href="http://github.com/thumblemonks/riot"&gt;Riot&lt;/a&gt; fame), have started up a new Javascript blog called &lt;a href="http://dailyjs.com"&gt;DailyJS&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Although still chiefly a Ruby developer, I&amp;#8217;ve had much more to do with Javascript recently, but I&amp;#8217;ve had trouble finding a technically-focused blog (i.e. along the lines of &lt;a href="http://rubyinside.com"&gt;RubyInside&lt;/a&gt;, but for Javascript).  Blogs like Ajaxian are cool, but they&amp;#8217;re quite general, and focus on high-level topics.&lt;/p&gt;


	&lt;p&gt;So, DailyJS.com was born.  &lt;a href="http://dailyjs.com"&gt;Check it out&lt;/a&gt; for regular Javascript-related code, tips and news. It might not turn out to actually be updated &lt;strong&gt;daily&lt;/strong&gt;, but we&amp;#8217;ll try to keep posts coming fairly frequently &amp;#8230;it will certainly be available daily, anyway! :)&lt;/p&gt;


	&lt;p&gt;If you want to get involved with contributing to, or sponsoring, DailyJS please get in touch.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RichText?a=U1oSjSdJ_Y0:HTWIfpKgbsQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=U1oSjSdJ_Y0:HTWIfpKgbsQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=U1oSjSdJ_Y0:HTWIfpKgbsQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=U1oSjSdJ_Y0:HTWIfpKgbsQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=U1oSjSdJ_Y0:HTWIfpKgbsQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=U1oSjSdJ_Y0:HTWIfpKgbsQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=U1oSjSdJ_Y0:HTWIfpKgbsQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=U1oSjSdJ_Y0:HTWIfpKgbsQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=U1oSjSdJ_Y0:HTWIfpKgbsQ:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <pubDate>Thu, 05 Nov 2009 12:50:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:5e718303-6fca-43c2-b584-edf1fe631f44</guid>
      <comments>http://www.ricroberts.com/articles/2009/11/05/dailyjs-a-new-javascript-blog#comments</comments>
      <trackback:ping>http://www.ricroberts.com/trackbacks?article_id=dailyjs-a-new-javascript-blog&amp;day=05&amp;month=11&amp;year=2009</trackback:ping>
      <link>http://www.ricroberts.com/articles/2009/11/05/dailyjs-a-new-javascript-blog</link>
    </item>
    <item>
      <title>Using a different Couch DB for each web-request with CouchRest</title>
      <description>&lt;p&gt;If data for each different account in your web application is stored in a separate CouchDB database, you need a way to tell your web app which database to use for that request.&lt;/p&gt;


	&lt;p&gt;Here&amp;#8217;s solution using CouchRest and Ruby, based on a  discussion from the &lt;a href="http://groups.google.com/group/couchrest/browse_thread/thread/b8e41ab989294c27"&gt;CouchRest Google Group&lt;/a&gt;.&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="keyword"&gt;class &lt;/span&gt;&lt;span class="class"&gt;RequestSpecificDocument&lt;/span&gt; &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt; &lt;span class="constant"&gt;CouchRest&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;ExtendedDocument&lt;/span&gt;
  &lt;span class="keyword"&gt;def &lt;/span&gt;&lt;span class="method"&gt;self.database&lt;/span&gt;
    &lt;span class="constant"&gt;Thread&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;current&lt;/span&gt;&lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:request_db&lt;/span&gt;&lt;span class="punct"&gt;]&lt;/span&gt;
  &lt;span class="keyword"&gt;end&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;All models which need to use the request-specific database should derive from this:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="keyword"&gt;class &lt;/span&gt;&lt;span class="class"&gt;Article&lt;/span&gt; &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt; &lt;span class="constant"&gt;RequestSpecificDocument&lt;/span&gt;
  &lt;span class="comment"&gt;# normal stuff for your CouchRest document here.&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;So in your application controller (if you&amp;#8217;re using Rails), you might add a &lt;code&gt;before_filter&lt;/code&gt; which does something like this:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="keyword"&gt;def &lt;/span&gt;&lt;span class="method"&gt;set_database&lt;/span&gt;
  &lt;span class="comment"&gt;# determine the database_name from the host, url or whatever. &lt;/span&gt;
  &lt;span class="ident"&gt;svr&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="constant"&gt;CouchRest&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Server&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;new&lt;/span&gt;&lt;span class="punct"&gt;(&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;http://127.0.0.1:5984&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;)&lt;/span&gt;
  &lt;span class="ident"&gt;couch_db&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="constant"&gt;CouchRest&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Database&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;new&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="ident"&gt;svr&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="ident"&gt;database_name&lt;/span&gt;&lt;span class="punct"&gt;)&lt;/span&gt;        
  &lt;span class="constant"&gt;Thread&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;current&lt;/span&gt;&lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:request_db&lt;/span&gt;&lt;span class="punct"&gt;]&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="ident"&gt;couch_db&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RichText?a=RLUjW4fI25Q:lae8Pxq5nSE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=RLUjW4fI25Q:lae8Pxq5nSE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=RLUjW4fI25Q:lae8Pxq5nSE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=RLUjW4fI25Q:lae8Pxq5nSE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=RLUjW4fI25Q:lae8Pxq5nSE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=RLUjW4fI25Q:lae8Pxq5nSE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=RLUjW4fI25Q:lae8Pxq5nSE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=RLUjW4fI25Q:lae8Pxq5nSE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=RLUjW4fI25Q:lae8Pxq5nSE:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <pubDate>Sun, 01 Nov 2009 19:45:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:cb96454a-8c20-4f0b-b53b-7717653bb9a5</guid>
      <comments>http://www.ricroberts.com/articles/2009/11/01/different-couch-db-for-each-web-request-with-couchrest#comments</comments>
      <trackback:ping>http://www.ricroberts.com/trackbacks?article_id=different-couch-db-for-each-web-request-with-couchrest&amp;day=01&amp;month=11&amp;year=2009</trackback:ping>
      <link>http://www.ricroberts.com/articles/2009/11/01/different-couch-db-for-each-web-request-with-couchrest</link>
    </item>
    <item>
      <title>Stardotstar blog article: Relax, Stop worrying about the structure of your data</title>
      <description>&lt;p&gt;I&amp;#8217;ve been working as a Ruby developer with Manchester digital agency, &lt;a href="http://www.stardotstar.com"&gt;Stardotstar&lt;/a&gt;, for a few months now.  Last week, I wrote my &lt;a href="http://www.stardotstar.com/stories/1102-relax_stop_worrying_about_the_structure_of_your_data"&gt;first post&lt;/a&gt; on the &lt;a href="http://www.stardotstar.com/stories/1012-well_blog_here"&gt;new Stardotstar blog&lt;/a&gt;:&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;When thinking about web application design, it doesn’t take long before the realisation hits you: to achieve any kind of efficiency you need to ignore or abuse key principles of relational database design, employing strategies such as sharding your information across multiple databases, abandoning the use of transactions, and the wholesale denormalisation of data&amp;#8230;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;Read the full article: &lt;strong&gt;&lt;a href="http://www.stardotstar.com/stories/1102-relax_stop_worrying_about_the_structure_of_your_data"&gt;Relax: Stop worrying about the structure of your data&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RichText?a=jvYuWfGvhW4:G6hJMpzQ18A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=jvYuWfGvhW4:G6hJMpzQ18A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=jvYuWfGvhW4:G6hJMpzQ18A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=jvYuWfGvhW4:G6hJMpzQ18A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=jvYuWfGvhW4:G6hJMpzQ18A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=jvYuWfGvhW4:G6hJMpzQ18A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=jvYuWfGvhW4:G6hJMpzQ18A:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=jvYuWfGvhW4:G6hJMpzQ18A:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=jvYuWfGvhW4:G6hJMpzQ18A:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <pubDate>Sun, 25 Oct 2009 11:25:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:479028f3-2803-49c7-bc30-c69a556dfb32</guid>
      <comments>http://www.ricroberts.com/articles/2009/10/25/stardotstar-blog-article-relax-stop-worrying-about-the-structure-of-your-data#comments</comments>
      <trackback:ping>http://www.ricroberts.com/trackbacks?article_id=stardotstar-blog-article-relax-stop-worrying-about-the-structure-of-your-data&amp;day=25&amp;month=10&amp;year=2009</trackback:ping>
      <link>http://www.ricroberts.com/articles/2009/10/25/stardotstar-blog-article-relax-stop-worrying-about-the-structure-of-your-data</link>
    </item>
    <item>
      <title>Blink #3 - 24th October 2009</title>
      <description>&lt;p&gt;It&amp;#8217;s been a while since my &lt;a href="http://www.ricroberts.com/articles/2009/09/21/blink-2-21st-september-2009"&gt;last link-blog entry&lt;/a&gt;, so this will be quite a big list!&lt;/p&gt;


	&lt;h4&gt;Ruby&lt;/h4&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.rubyinside.com/mustache-for-logicfree-views-in-your-ruby-web-apps-2599.html"&gt;Mustache&lt;/a&gt; &amp;#8211; for logic-free views in your Ruby web apps&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.rubyinside.com/watchr-generic-autotest-alternativ-2511.html"&gt;Watchr&lt;/a&gt; &amp;#8211; a replacement for autotest&lt;/li&gt;
		&lt;li&gt;New Thoughtbot-designed &lt;a href="http://gemcutter.org"&gt;Gemcutter&lt;/a&gt; site launched&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://groups.google.com/group/phusion-passenger/browse_thread/thread/7aa67c253cd90089"&gt;Getting ImageMagick and Passenger to play nicely together on &lt;span class="caps"&gt;OS X&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://merbist.com/2009/10/05/macruby-soon-to-reach-a-new-milestone"&gt;MacRuby approaching a Milestone&lt;/a&gt; &amp;#8211; Blog post by Matt Aimonetti.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://github.com/flavorjones/loofah"&gt;Loofah&lt;/a&gt; &amp;#8211; &lt;span class="caps"&gt;HTML&lt;/span&gt; sanitizer based on Nokogiri.&lt;/li&gt;
		&lt;li&gt;Old, but still neat and useful: &lt;a href="http://gist.github.com/45076"&gt;Subdomain routing in rails&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://github.com/rtomayko/tilt"&gt;Tilt&lt;/a&gt; &amp;#8211; a generic interface to various Ruby templating engines.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://github.com/thumblemonks/riot/"&gt;Riot&lt;/a&gt; &amp;#8211; A fast unit test framework for Ruby&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://github.com/mocoso/code-beautifier.tmbundle"&gt;Ruby code-beautifier TextMate Bundle&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h4&gt;General Web/Software&lt;/h4&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://code.google.com/chrome/chromeframe/"&gt;Google ChromeFrame&lt;/a&gt; for sabotaging IE (this feels like old news now!)&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://wearecolorblind.com/"&gt;We are colorblind&lt;/a&gt;. About 8% of the male population has some sort of color blindness (like me). The patterns and examples on this site help you create websites that we color blind can use without problems&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.slideshare.net/amyhoy/pimpin-software-projects-aint-easy"&gt;Pimpin&amp;#8217; (Software Projects) Ain&amp;#8217;t Easy&lt;/a&gt; &amp;#8211; Great marketing-software-for-non-marketers presentation by Amy Hoy&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://derivadow.com/2009/10/11/theres-only-metadata-and-uris/"&gt;There&amp;#8217;s only Metadata and &lt;span class="caps"&gt;URLS&lt;/span&gt;&lt;/a&gt; &amp;#8211; Interesting blog post by Tom Scott.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h4&gt;Git&lt;/h4&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://github.com/blog/500-state-of-the-hub-rackspace-day-0"&gt;Github moves to rackspace&lt;/a&gt; and &lt;a href="http://github.com/blog/515-gem-building-is-defunct"&gt;ditches gem building&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://caiustheory.com/ignore-gitignore-in-git"&gt;Tips&lt;/a&gt; from &lt;a href="http://twitter.com/caius"&gt;@Cauis&lt;/a&gt; on .gitignore&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h4&gt;CouchDB&lt;/h4&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://jchrisa.net/drl/_design/sofa/_show/post/Why-CouchDB-is-the-File-System-for-the-Open-Web"&gt;Why CouchDB is the filesystem for the Web&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://damienkatz.net/2009/10/apache_couchdb_0100_escapes.html"&gt;CouchDB goes beta!&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://labs.mozilla.com/raindrop/2009/10/22/introducing-raindrop/"&gt;Mozilla Raindrop&lt;/a&gt; &amp;#8211; a messaging system built on CouchDB&lt;/li&gt;
		&lt;li&gt;Some &lt;a href="http://till.klampaeckel.de/blog/archives/61-Small-notes-on-CouchDBs-views.html"&gt;CouchDB performance tips&lt;/a&gt; from Till Klampaeckel&lt;/li&gt;
	&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RichText?a=f3kH9tf4prU:9e0CuassRro:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=f3kH9tf4prU:9e0CuassRro:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=f3kH9tf4prU:9e0CuassRro:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=f3kH9tf4prU:9e0CuassRro:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=f3kH9tf4prU:9e0CuassRro:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=f3kH9tf4prU:9e0CuassRro:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=f3kH9tf4prU:9e0CuassRro:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=f3kH9tf4prU:9e0CuassRro:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=f3kH9tf4prU:9e0CuassRro:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <pubDate>Sat, 24 Oct 2009 11:38:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:9a1bf98f-cc34-4542-9cca-87410ec84787</guid>
      <comments>http://www.ricroberts.com/articles/2009/10/24/blink-3-24th-october-2009#comments</comments>
      <trackback:ping>http://www.ricroberts.com/trackbacks?article_id=blink-3-24th-october-2009&amp;day=24&amp;month=10&amp;year=2009</trackback:ping>
      <link>http://www.ricroberts.com/articles/2009/10/24/blink-3-24th-october-2009</link>
    </item>
    <item>
      <title>Swirrl linked data consultancy</title>
      <description>&lt;p&gt;From the &lt;a href="http://blog.swirrl.com"&gt;Swirrl Blog&lt;/a&gt; ...&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;Alongside developing our &lt;a href="http://www.swirrl.com"&gt;online database application&lt;/a&gt;, we spend time talking to our users and potential users about how they can manage their data. As well as being useful to them (we hope!) this helps us understand the range of problems people are facing and gets us thinking about the kinds of solution that are needed, helping us set the future direction of our software tools.  Because this seems to be a useful activity all round, we’re now putting a bit more emphasis on it and making it more widely known that this is a service we offer. So we’ve put up a new &lt;a href="http://www.swirrl.com/services"&gt;services&lt;/a&gt; page on our website to give some more details.&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;Read the full article &lt;a href="http://blog.swirrl.com/articles/2009/09/22/swirrl-linked-data-consultancy"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RichText?a=6XZN29XvSdc:FGHwUeUBbAI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=6XZN29XvSdc:FGHwUeUBbAI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=6XZN29XvSdc:FGHwUeUBbAI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=6XZN29XvSdc:FGHwUeUBbAI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=6XZN29XvSdc:FGHwUeUBbAI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=6XZN29XvSdc:FGHwUeUBbAI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=6XZN29XvSdc:FGHwUeUBbAI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=6XZN29XvSdc:FGHwUeUBbAI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=6XZN29XvSdc:FGHwUeUBbAI:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <pubDate>Tue, 22 Sep 2009 19:39:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:e33773fd-62c9-451d-a107-278e1f55ba78</guid>
      <comments>http://www.ricroberts.com/articles/2009/09/22/swirrl-linked-data-consultancy#comments</comments>
      <trackback:ping>http://www.ricroberts.com/trackbacks?article_id=swirrl-linked-data-consultancy&amp;day=22&amp;month=09&amp;year=2009</trackback:ping>
      <link>http://www.ricroberts.com/articles/2009/09/22/swirrl-linked-data-consultancy</link>
    </item>
    <item>
      <title>Blink #2 - 21st September 2009</title>
      <description>&lt;p&gt;My second installment of &amp;#8220;interesting&amp;#8221; links.&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.zeldman.com/2009/09/04/html5-redefines-footer/"&gt;&lt;span class="caps"&gt;HTML 5&lt;/span&gt; redefines &amp;#8216;footer&amp;#8217; element&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://janl.github.com/couchdbx/"&gt;Couch &lt;span class="caps"&gt;DBX&lt;/span&gt;&lt;/a&gt; &amp;#8211; A quick way to get CouchDB running on your Mac.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://islayer.com/apps/istatmenus/"&gt;iStat Menus 2.0&lt;/a&gt; &amp;#8211; A Snow Leopard compatible verison of iStat Menus&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.akitaonrails.com/2009/09/08/user-editable-liquid-templates-in-the-database"&gt;User-editable Liquid templates in the database&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://alexyoung.org/2009/07/09/new-blog/"&gt;Hosting a blog on Jekyll and Github&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://shapeshed.com/journal/testing_with_ie6_ie7_and_ie8_on_virtualbox/"&gt;VirtualBox on a Mac for IE testing&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://rvm.beginrescueend.com/"&gt;Ruby Version Manager&lt;/a&gt; Easy installation and switching between available Ruby versions, without messing up your current Ruby install &lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.rubyinside.com/coulda-a-cucumber-like-dsl-for-bdd-2461.html"&gt;Coulda&lt;/a&gt; &amp;#8211; shoulda and cucumber&amp;#8217;s love child&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.virtuosimedia.com/tutorials/ultimate-ie6-cheatsheet-how-to-fix-25-internet-explorer-6-bugs"&gt;The Ultimate &lt;span class="caps"&gt;IE6&lt;/span&gt; Cheatsheet&lt;/a&gt; &amp;#8211; How To Fix 25+ Internet Explorer 6 Bugs&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://github.com/norman/friendly_id"&gt;FriendlyId&lt;/a&gt; is the &amp;#8220;Swiss Army bulldozer&amp;#8221; of slugging and permalink plugins for Ruby on Rails.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.quirkey.com/blog/2009/09/15/sammy-js-couchdb-and-the-new-web-architecture/"&gt;Cutting out the middle-man with Sammy.js&lt;/a&gt; &amp;#8211; Javascript &lt;span class="caps"&gt;MVC&lt;/span&gt; with CouchDB&lt;/li&gt;
	&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RichText?a=2ATrSjWOySc:qTXbc_Dq_00:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=2ATrSjWOySc:qTXbc_Dq_00:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=2ATrSjWOySc:qTXbc_Dq_00:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=2ATrSjWOySc:qTXbc_Dq_00:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=2ATrSjWOySc:qTXbc_Dq_00:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=2ATrSjWOySc:qTXbc_Dq_00:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=2ATrSjWOySc:qTXbc_Dq_00:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=2ATrSjWOySc:qTXbc_Dq_00:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=2ATrSjWOySc:qTXbc_Dq_00:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <pubDate>Mon, 21 Sep 2009 20:34:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:d8342d19-9d0b-4d7e-9160-df1e1c8e3c7f</guid>
      <comments>http://www.ricroberts.com/articles/2009/09/21/blink-2-21st-september-2009#comments</comments>
      <trackback:ping>http://www.ricroberts.com/trackbacks?article_id=blink-2-21st-september-2009&amp;day=21&amp;month=09&amp;year=2009</trackback:ping>
      <link>http://www.ricroberts.com/articles/2009/09/21/blink-2-21st-september-2009</link>
    </item>
    <item>
      <title>5 Ruby-related Blogs for September</title>
      <description>&lt;p&gt;Another set of Ruby blogs&amp;#8230;&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://caiustheory.com"&gt;Caius Theory&lt;/a&gt; &amp;#8211; Blog from Caius Durling, Ruby developer and &lt;a href="http://www.brightbox.co.uk"&gt;Brightbox&lt;/a&gt; employee (who I met at last month&amp;#8217;s &lt;a href="http://nwrug.org/"&gt;&lt;span class="caps"&gt;NWRUG&lt;/span&gt;&lt;/a&gt;).&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.hivelogic.com"&gt;HiveLogic&lt;/a&gt; &amp;#8211; Dan Benjamin&amp;#8217;s blog. Not 100% Ruby, but some really great stuff crops up now and then (notably his instructions for &lt;a href="http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard/"&gt;compiling Ruby&lt;/a&gt; on Mac &lt;span class="caps"&gt;OS X&lt;/span&gt;, etc.).&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.mendable.com/"&gt;Mendable&lt;/a&gt; &amp;#8211; Some interesting posts from a seemingly anonymous UK-based Rails developer! Who are you!?&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://jasonseifer.com/"&gt;Jason Seifer&lt;/a&gt; &amp;#8211; Personal blog of the &lt;a href="http://railsenvy.com/"&gt;RailsEnvy&lt;/a&gt; podcaster.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://rubylearning.com/"&gt;Ruby Learning&lt;/a&gt; &amp;#8211; A blog focused on learning about Ruby, by Satish Talim.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Please also check out &lt;a href="http://www.ricroberts.com/articles/2009/06/06/5-ruby-related-blogs-for-june"&gt;June&amp;#8217;s&lt;/a&gt;, &lt;a href="http://www.ricroberts.com/articles/2009/07/01/5-ruby-related-blogs-for-july"&gt;July&amp;#8217;s&lt;/a&gt; and &lt;a href="http://www.ricroberts.com/articles/2009/08/11/5-ruby-related-blogs-for-august"&gt;August&amp;#8217;s&lt;/a&gt; previous installments.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RichText?a=lcXcJ5iHqkg:0g5lcyN1JAY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=lcXcJ5iHqkg:0g5lcyN1JAY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=lcXcJ5iHqkg:0g5lcyN1JAY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=lcXcJ5iHqkg:0g5lcyN1JAY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=lcXcJ5iHqkg:0g5lcyN1JAY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=lcXcJ5iHqkg:0g5lcyN1JAY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=lcXcJ5iHqkg:0g5lcyN1JAY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=lcXcJ5iHqkg:0g5lcyN1JAY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=lcXcJ5iHqkg:0g5lcyN1JAY:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <pubDate>Sun, 13 Sep 2009 21:40:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:da787196-a73f-46e3-8c4f-f1fddbcdc47c</guid>
      <comments>http://www.ricroberts.com/articles/2009/09/13/5-ruby-related-blogs-for-september#comments</comments>
      <trackback:ping>http://www.ricroberts.com/trackbacks?article_id=5-ruby-related-blogs-for-september&amp;day=13&amp;month=09&amp;year=2009</trackback:ping>
      <link>http://www.ricroberts.com/articles/2009/09/13/5-ruby-related-blogs-for-september</link>
    </item>
    <item>
      <title>Blink #1 - The first in a series of Link-Blogging posts</title>
      <description>&lt;p&gt;In the course of my daily work, I come across loads of useful or interesting links, but often I don&amp;#8217;t have time for a full-length blog post about them. (In many cases, others have already written things up better than I could have anyway).&lt;/p&gt;


	&lt;p&gt;Some of the stuff I encounter I might &lt;a href="http://www.twitter.com/ricroberts"&gt;tweet&lt;/a&gt;, or email to friends and colleagues, but many get lost and forgotten along the way.  So, I&amp;#8217;ve decided to produce a series of link-blogging posts&amp;#8230; hence the name &lt;em&gt;blink&lt;/em&gt;: a cunning portmanteau of &lt;em&gt;blog&lt;/em&gt; and &lt;em&gt;link&lt;/em&gt;. :)&lt;/p&gt;


	&lt;p&gt;Without further ado, here&amp;#8217;s my first bunch of (possibly) interesting links:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://robots.thoughtbot.com/post/170612102/render-alternate-layouts-in-ie6-using-only-css"&gt;Render alternate &lt;span class="caps"&gt;IE6&lt;/span&gt; layouts in only &lt;span class="caps"&gt;CSS&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://pivotallabs.com/users/alex/blog/articles/883-git-config-push-default-matching"&gt;How to shush git&amp;#8217;s patronising push warning&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Yehuda Katz on &lt;a href="http://yehudakatz.com/2009/08/26/how-to-build-sinatra-on-rails-3/"&gt;How to Build Sinatra on Rails 3&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://bartender.r09.railsrumble.com/"&gt;Bartender&lt;/a&gt; &amp;#8211; a RailsRumble entry by some &lt;a href="http://nwrug.org"&gt;&lt;span class="caps"&gt;NWRUG&lt;/span&gt;&lt;/a&gt; guys&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://janl.github.com/couchdbx/"&gt;CouchDBX&lt;/a&gt; &amp;#8211; a quick way to get CouchDB up and running on your Mac&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.24100.net/2009/08/using-vodafone-mobile-connect-with-snow-leopard-10a432/"&gt;Getting Vodafone Mobile Connect working on Snow Leopard&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://sketches.rubyforge.org/"&gt;Sketches&lt;/a&gt; &amp;#8211; edit Ruby in your favourite editor, but get it reloaded in &lt;span class="caps"&gt;IRB&lt;/span&gt;.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://superjared.com/entry/introducing-pedant-ruby-library-will-annoy-you/"&gt;Pedant&lt;/a&gt; &amp;#8211; an annoying Ruby library.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://rush.heroku.com/"&gt;Rush&lt;/a&gt; &amp;#8211; a replacement for the unix shell (bash, zsh, etc) which uses pure Ruby syntax&lt;/li&gt;
	&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RichText?a=ezP4EY1MHgA:UJFO8Ouogv4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=ezP4EY1MHgA:UJFO8Ouogv4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=ezP4EY1MHgA:UJFO8Ouogv4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=ezP4EY1MHgA:UJFO8Ouogv4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=ezP4EY1MHgA:UJFO8Ouogv4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=ezP4EY1MHgA:UJFO8Ouogv4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=ezP4EY1MHgA:UJFO8Ouogv4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=ezP4EY1MHgA:UJFO8Ouogv4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=ezP4EY1MHgA:UJFO8Ouogv4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <pubDate>Mon, 07 Sep 2009 21:10:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:0fde6c7a-4023-471a-855d-394e8de79434</guid>
      <comments>http://www.ricroberts.com/articles/2009/09/07/blink-1-the-first-in-a-series-of-link-blogging-posts#comments</comments>
      <trackback:ping>http://www.ricroberts.com/trackbacks?article_id=blink-1-the-first-in-a-series-of-link-blogging-posts&amp;day=07&amp;month=09&amp;year=2009</trackback:ping>
      <link>http://www.ricroberts.com/articles/2009/09/07/blink-1-the-first-in-a-series-of-link-blogging-posts</link>
    </item>
    <item>
      <title>Snow Leopard Ruby Development Environment Checklist / Gotchas</title>
      <description>&lt;p&gt;I&amp;#8217;m probably a bit late to the party with this article, but I&amp;#8217;m a bit of a chicken so I thought I&amp;#8217;d wait for the dust to settle a bit before installing Snow Leopard on the MacBook Pro I use for Ruby development.&lt;/p&gt;


	&lt;p&gt;Matt Aimonetti suggested on the &lt;a href="http://weblog.rubyonrails.org/2009/8/30/upgrading-to-snow-leopard"&gt;official Rails blog&lt;/a&gt; that upgrading your Ruby development environment from Leopard will work fine, albeit with a fair bit of fiddling afterwards.  Given that the upgrade isn&amp;#8217;t completely seamless for Rubyists (and being the &lt;span class="caps"&gt;OCD&lt;/span&gt; sufferer that I am), I opted for a clean re-install of everything.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;m not going to give a full set of instructions here, as that&amp;#8217;s already been done elsewhere by people like &lt;a href="http://www.hivelogic.com"&gt;Dan Benjamin&lt;/a&gt; and &lt;a href="http://www.afreshcup.com"&gt;Mike Gunderloy&lt;/a&gt;.  Here&amp;#8217;s my checklist of tasks to get your Ruby environment up and running as quickly as possible.&lt;/p&gt;


	&lt;h3&gt;Checklist&lt;/h3&gt;


	&lt;ul&gt;
	&lt;li&gt;Install Xcode from the Snow Leopard Disc.&lt;/li&gt;
		&lt;li&gt;Install &lt;a href="http://www.macromates.com"&gt;Textmate&lt;/a&gt;, or your text editor of choice. This is useful for editing environment files during the install process.&lt;/li&gt;
		&lt;li&gt;Install MySQL using a pre-built 64-bit package (you probably want version &lt;a href="http://dev.mysql.com/downloads/mysql/5.0.html#macosx-dmg"&gt;5.0&lt;/a&gt; or &lt;a href="http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg"&gt;5.1&lt;/a&gt;).&lt;/li&gt;
		&lt;li&gt;Install &lt;a href="http://www.swoon.net/site/software.html"&gt;Swoon&amp;#8217;s 64-bit SnowLeopard MySQL pref pane&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard/"&gt;Compile Ruby, Gems and Rails&lt;/a&gt;.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://distfiles.macports.org/MacPorts/MacPorts-1.8.0-10.6-SnowLeopard.dmg"&gt;Download&lt;/a&gt; and install Macports version 1.8.0.&lt;/li&gt;
		&lt;li&gt;Install any ports you need, such as &lt;a href="http://rmagick.rubyforge.org/install-osx.html"&gt;ImageMagick&lt;/a&gt;, &lt;a href="http://seattlerb.rubyforge.org/ImageScience.html"&gt;FreeImage&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Install the MySQL gem with &lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_default "&gt;sudo env ARCHFLAGS=&amp;quot;-arch x86_64&amp;quot; gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
		&lt;li&gt;Install any other gems you need (capistrano, passenger, mongrel, image_science, rmagick, RedCloth etc.)&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://hivelogic.com/articles/compiling-git-on-snow-leopard/"&gt;Compile Git&lt;/a&gt;.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://github.com/guides/providing-your-ssh-key"&gt;Sort out your github keys&lt;/a&gt;.&lt;/li&gt;
		&lt;li&gt;Install the Snow Leopard &lt;a href="http://blog.phusion.nl/2009/09/02/passenger-prefpane-update/"&gt;Passenger pref pane&lt;/a&gt;.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h3&gt;Gotchas&lt;/h3&gt;


	&lt;p&gt;Most things went pretty smoothly for me. The only real problem I had was that Snow Leopard doesn&amp;#8217;t come with Java 1.4.2, which SecureTrading (&lt;a href="http://www.swirrl.com"&gt;Swirrl&lt;/a&gt;&amp;#8217;s payment processor) requires for access to its &lt;span class="caps"&gt;API&lt;/span&gt;.  Here&amp;#8217;s how I installed this version of Java:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_default "&gt;mkdir ~/src
cd ~/src
curl -O http://www.cs.washington.edu/homes/isdal/snow_leopard_workaround/java.1.4.2-leopard.tar.gz
tar -xvzf java.1.4.2-leopard.tar.gz
sudo mv 1.4.2 /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2-leopard
cd /System/Library/Frameworks/JavaVM.framework/Versions/
sudo ln -s 1.4.2-leopard 1.4.2&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;h3&gt;Links&lt;/h3&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://weblog.rubyonrails.org/2009/8/30/upgrading-to-snow-leopard"&gt;Riding Rails &amp;#8211; Upgrading to Snow Leopard&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard/"&gt;Dan Benjamin&amp;#8217;s instructions on HiveLogic&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Mike Gunderloy&amp;#8217;s &lt;a href="http://afreshcup.com/2009/09/02/migrating-to-snow-leopard-for-rails-development-a-definitive-guide/"&gt;Definitive Snow Leopard Guide&lt;/a&gt;, and &lt;a href="http://afreshcup.com/2009/08/31/double-shot-529/"&gt;various&lt;/a&gt; &lt;a href="http://afreshcup.com/2009/09/01/double-shot-530/"&gt;&lt;em&gt;Double Shot&lt;/em&gt;&lt;/a&gt; &lt;a href="http://afreshcup.com/2009/09/02/double-shot-531/"&gt;posts&lt;/a&gt;.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://wiki.oneswarm.org/index.php/OS_X_10.6_Snow_Leopard"&gt;Snow Leopard Java problems&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RichText?a=wqySkKtlgMo:4pK4EjL7lv4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=wqySkKtlgMo:4pK4EjL7lv4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=wqySkKtlgMo:4pK4EjL7lv4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=wqySkKtlgMo:4pK4EjL7lv4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=wqySkKtlgMo:4pK4EjL7lv4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=wqySkKtlgMo:4pK4EjL7lv4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=wqySkKtlgMo:4pK4EjL7lv4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=wqySkKtlgMo:4pK4EjL7lv4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=wqySkKtlgMo:4pK4EjL7lv4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <pubDate>Fri, 04 Sep 2009 16:22:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:28cae52a-18e9-4085-938c-72ba1dab3799</guid>
      <comments>http://www.ricroberts.com/articles/2009/09/04/snow-leopard-ruby-development-environment-checklist-gotchas#comments</comments>
      <trackback:ping>http://www.ricroberts.com/trackbacks?article_id=snow-leopard-ruby-development-environment-checklist-gotchas&amp;day=04&amp;month=09&amp;year=2009</trackback:ping>
      <link>http://www.ricroberts.com/articles/2009/09/04/snow-leopard-ruby-development-environment-checklist-gotchas</link>
    </item>
    <item>
      <title>5 Ruby-related Blogs for August</title>
      <description>&lt;p&gt;Here&amp;#8217;s your monthly dose of Ruby Blogs:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://holmwood.id.au/~lindsay/"&gt;Lindsay Holmwood&lt;/a&gt; &amp;#8211; Web developer, sys-admin and conference speaker (who I recenty met at &lt;a href="http://www.ricroberts.com/articles/2009/06/22/rails-underground-conference"&gt;Rails Underground&lt;/a&gt;).&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://m.onkey.org/"&gt;has_many :bugs, :through =&amp;gt; :rails&lt;/a&gt; &amp;#8211; A blog by London-based Rails core member, Pratik Naik.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://willj.net/"&gt;Will&amp;#8217;s web miscellany&lt;/a&gt; &amp;#8211; Thoughts from Will Jessop: EngineYard employee and organiser of the North West (England) Ruby Group.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://aviewfromafar.net"&gt;A view from afar&lt;/a&gt; &amp;#8211; Ashley Moran&amp;#8217;s personal blog (Ruby developer, Paleo eater and all-round nice-guy).&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.tekin.co.uk"&gt;Tekin&lt;/a&gt; &amp;#8211; a blog by talented British Rails freelancer, Tekin Suleyman.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;See &lt;a href="http://www.ricroberts.com/articles/2009/06/06/5-ruby-related-blogs-for-june"&gt;June&lt;/a&gt; and &lt;a href="http://www.ricroberts.com/articles/2009/07/01/5-ruby-related-blogs-for-july"&gt;July&amp;#8217;s&lt;/a&gt; posts for previous installments.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RichText?a=ejSkvyVAEq4:1OxEbBHDXzY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=ejSkvyVAEq4:1OxEbBHDXzY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=ejSkvyVAEq4:1OxEbBHDXzY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=ejSkvyVAEq4:1OxEbBHDXzY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=ejSkvyVAEq4:1OxEbBHDXzY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=ejSkvyVAEq4:1OxEbBHDXzY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=ejSkvyVAEq4:1OxEbBHDXzY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?i=ejSkvyVAEq4:1OxEbBHDXzY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RichText?a=ejSkvyVAEq4:1OxEbBHDXzY:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RichText?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <pubDate>Tue, 11 Aug 2009 20:32:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:caeaa980-0f9f-496b-b13d-e4151abc654d</guid>
      <comments>http://www.ricroberts.com/articles/2009/08/11/5-ruby-related-blogs-for-august#comments</comments>
      <trackback:ping>http://www.ricroberts.com/trackbacks?article_id=5-ruby-related-blogs-for-august&amp;day=11&amp;month=08&amp;year=2009</trackback:ping>
      <link>http://www.ricroberts.com/articles/2009/08/11/5-ruby-related-blogs-for-august</link>
    </item>
  </channel>
</rss>
