<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:s="http://jadedpixel.com/-/spec/shopify" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
<id>
http://jmacaulay.net/blogs/main.atom
</id>
<title>
James MacAulay Has An Internet! - Main
</title>
<author>
<name>
James MacAulay Has An Internet!
</name>
</author>

<link href="http://jmacaulay.net/blogs/main.atom" rel="alternate" />
<updated>
2009-06-11 15:44:22 -0400
</updated>
<link rel="self" href="http://feeds.feedburner.com/jmacaulay" type="application/atom+xml" /><entry>
<id>
tag:db1@shopify.com,2009:articles/1130012
</id>
<title>
Got 8 minutes? Put a Shopify app online!
</title>
<summary type="html">
<![CDATA[<p>Here&#8217;s how:</p>
<p><object width="400" height="245"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5112284&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=6fc900&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=5112284&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=6fc900&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="245"></embed></object></p>
<p>You could probably shave a minute off the process by using <a href="http://github.com/jamesmacaulay/rails-templates/blob/master/shopify_app.rb">this rails template</a> to generate your app:</p>
<pre name="code" class="ruby">
rails my_shopify_app -m http://github.com/jamesmacaulay/rails-templates/raw/master/shopify_app.rb
</pre>]]>
</summary>
<updated>
2009-06-11 15:44:22 -0400
</updated>
<published>
2009-06-11 15:44:22 -0400
</published>
<author>
<name>
James MacAulay
</name>
</author>
<link href="http://feedproxy.google.com/~r/jmacaulay/~3/Sn3gau2kniU/1130012-got-8-minutes-put-a-shopify-app-online" rel="alternate" />
<feedburner:origLink>http://jmacaulay.net/blogs/main/1130012-got-8-minutes-put-a-shopify-app-online</feedburner:origLink></entry>
<entry>
<id>
tag:db1@shopify.com,2009:articles/747352
</id>
<title>
Three Worlds Collide
</title>
<summary type="html">
<![CDATA[<p>Over at <a href="http://http://www.overcomingbias.com">Overcoming Bias</a>, the Bayesian sensation <a href="http://yudkowsky.net/">Eliezer Yudkowsky</a> is syndicating a wonderful SF tale he wrote called <a href="http://www.overcomingbias.com/2009/01/three-worlds-collide.html"><em>Three Worlds Collide</em></a>. Here&#8217;s a snippet from <a href="http://www.overcomingbias.com/2009/01/the-babyeating-aliens.html">part one</a>, describing just the tip of the iceberg of how <em>alien</em> an alien system of ethics could be:</p>


<blockquote>&#8220;And anyone who tried to cheat, to hide away a child, or even go easier on their own children during the winnowing &#8211; well, the Babyeaters treated the merciful parents the same way that human tribes treat their traitors.

	<p>&#8220;They developed psychological adaptations for enforcing that, their first great group norm.  And those psychological adaptations, those emotions, were reused over the course of their evolution, as the Babyeaters began to adapt to their more complex societies.  Honor, friendship, the good of our tribe &#8211; the Babyeaters acquired many of the same moral adaptations as humans, but their brains reused the emotional circuitry of infanticide to do it.</p>


	<p>&#8220;The Babyeater word for good means, literally, to eat children.&#8221;</blockquote></p>


	<p>It just gets better from there. He&#8217;s halfway through releasing the eight-part story, and I am thoroughly engrossed.</p>]]>
</summary>
<updated>
2009-02-02 14:15:31 -0500
</updated>
<published>
2009-02-02 14:15:31 -0500
</published>
<author>
<name>
James MacAulay
</name>
</author>
<link href="http://feedproxy.google.com/~r/jmacaulay/~3/JWZWiitQgag/747352-three-worlds-collide" rel="alternate" />
<feedburner:origLink>http://jmacaulay.net/blogs/main/747352-three-worlds-collide</feedburner:origLink></entry>
<entry>
<id>
tag:db1@shopify.com,2009:articles/719752
</id>
<title>
Phumblelogging
</title>
<summary type="html">
<![CDATA[<p style="float:right"><a href="http://tumble.jmacaulay.net/post/73040796/security-theatre-montr-al-central-bus-station"><img src="http://8.media.tumblr.com/jx7rpMntWj5lkhjw8kcXscBIo1_400.jpg" alt="" /></a></p>


	<p>This site now has an alter-ego in the form of a new <a href="http://tumble.jmacaulay.net">tumblelog</a> that I&#8217;m using exclusively as an outlet for photos uploaded from my iPhone. Phumblelog = photo-tumblelog (or perhaps phone-tumblelog? What about &#8220;mumblelog&#8221; for mobile-tumblelog?).</p>


	<p>Our lives are full of little moments that are kind of funny, or kind of beautiful, or just kind of interesting, enough to be recorded and shared with others. I like the idea of using the internet to record these moments, even if no one else ever actually follows along. I use this blog to write for other people, but I think the phumblelog is more for myself. I value it more in an archival sense: when I think back on my life so far, I wish I could have been phumblelogging the whole time. I think that would be an amazing resource to have.</p>


	<p>My iPhone is usually the only camera I have with me, but aside from its low image quality it is perfectly suited to this task. I&#8217;m using the excellent <a href="http://www.tumblr.com">tumblr</a> for my phumbling. I&#8217;m not using <a href="http://www.flickr.com/photos/jmacaulay">my flickr account</a> because this phumblelog is very explicitly sacrificing photographic quality for quantity and spontaneity. I got Bitfire&#8217;s <a href="http://www.bitfires.com/tumblepro.php">Tumble Pro</a> to let me start phumbling from anywhere, and I bootstrapped the site with a few older shots from my iPhone <a href="http://tumble.jmacaulay.net/post/70360948/evidence">that</a> <a href="http://tumble.jmacaulay.net/post/70361496/new-years">I</a> <a href="http://tumble.jmacaulay.net/post/70361662/imagine">particularly</a> <a href="http://tumble.jmacaulay.net/post/70361713/bike">liked</a>.</p>


	<p>Tumble Pro is pretty nice. The app&#8217;s geotagging system is much appreciated but seems a bit buggy; I&#8217;ve now started turning it off and on again in the app&#8217;s settings before each post to make sure it really has my location. The relatively low accuracy of the iPhone 3G&#8217;s <span class="caps">GPS</span> makes me want a quick way of re-positioning the co-ordinates on a map (any suggestions?). I find the text of the geotag a bit distracting in the caption the way it is, but it wouldn&#8217;t be so bad if I styled the caption <em>like a caption</em> instead of like a header. I might end up making a little javascript which takes the geotag from the caption and turns it into a link target for the image itself.</p>


	<p>It takes a little longer than I&#8217;d like to upload an iPhone photo over 3G, but overall it is very convenient. I tend to just tap the &#8220;post&#8221; button and then put the phone in my coat pocket and keep walking (or whatever) while it uploads.</p>


	<p>The iPhones of the near future are undoubtedly going to make it easy to do audio and video tumbling/phumbling/mumbling as well. Perhaps other mobile phones can already do such things. Screw flying cars, am I right?</p>]]>
</summary>
<updated>
2009-01-26 17:52:20 -0500
</updated>
<published>
2009-01-26 17:52:20 -0500
</published>
<author>
<name>
James MacAulay
</name>
</author>
<link href="http://feedproxy.google.com/~r/jmacaulay/~3/9YcZCKEYspg/719752-phumblelogging" rel="alternate" />
<feedburner:origLink>http://jmacaulay.net/blogs/main/719752-phumblelogging</feedburner:origLink></entry>
<entry>
<id>
tag:db1@shopify.com,2009:articles/719182
</id>
<title>
Richard Stallman sells GNU to Microsoft for CAD$105
</title>
<summary type="html">
<![CDATA[<p style="float:right"><a href="http://tumble.jmacaulay.net/post/72849697/stallman-selling-gnu-to-microsoft-geo"><img src="http://9.media.tumblr.com/jx7rpMntWj49b0gcNneLG7y0o1_400.jpg" alt="" /></a></p>


	<p><span class="caps">MONTREAL </span>&mdash; <a href="http://en.wikipedia.org/wiki/Richard_Stallman">Richard Stallman</a> auctioned off (a plush) Gnu at the <a href="http://2009.cusec.net">Canadian University Software Engineering Conference</a> on Saturday, with the winning bid going to Microsoft tech evangelist <a href="http://www.globalnerdy.com">Joey deVilla</a> using his Microsoft corporate credit card.</p>


	<p>I was lucky enough to witness this historic event in the flesh, and snapped this blurry iPhone photo so that the interwebs could see it <a href="http://tumble.jmacaulay.net/post/72849697/stallman-selling-gnu-to-microsoft-geo">as soon as possible</a>. <a href="http://www.globalnerdy.com/2009/01/26/winning-the-gnu/">Joey&#8217;s blog</a>, however, has much better photos and explanation.</p>]]>
</summary>
<updated>
2009-01-26 15:52:46 -0500
</updated>
<published>
2009-01-26 15:54:30 -0500
</published>
<author>
<name>
James MacAulay
</name>
</author>
<link href="http://feedproxy.google.com/~r/jmacaulay/~3/RS51MYUsYfI/719182-richard-stallman-sells-gnu-to-microsoft-for-cad-105" rel="alternate" />
<feedburner:origLink>http://jmacaulay.net/blogs/main/719182-richard-stallman-sells-gnu-to-microsoft-for-cad-105</feedburner:origLink></entry>
<entry>
<id>
tag:db1@shopify.com,2009:articles/623592
</id>
<title>
The Return of the Mayfair
</title>
<summary type="html">
<![CDATA[<p><img src='http://shopify.s3.amazonaws.com/s/files/1/0022/6822/files/mayfair.jpg' style="float:right" alt='Mayfair interior' /></p>


	<p>I grew up here in Ottawa, and I have fond high school memories of going to the <a href="http://mayfairtheatre.ca/">Mayfair Theatre</a> with friends to experience its wonderful atmosphere and unique blend of off-the-beaten-path programming. One memorable evening was Mayfair&#8217;s 3D triple-bill, which provided old school 3D glasses and included the likes of <a href="http://www.amazon.ca/gp/product/0783240953?ie=UTF8&#38;tag=jammacsintt06-20&#38;linkCode=as2&#38;camp=15121&#38;creative=390961&#38;creativeASIN=0783240953">The Creature from the Black Lagoon</a>. Just about every month there would be a screening of <a href="http://www.amazon.ca/gp/product/B001CDLATE?ie=UTF8&#38;tag=jammacsintt06-20&#38;linkCode=as2&#38;camp=15121&#38;creative=390961&#38;creativeASIN=B001CDLATE">Baraka</a> (likely as part of a double bill with <a href="http://www.amazon.ca/gp/product/B0000DZ3BS?ie=UTF8&#38;tag=jammacsintt06-20&#38;linkCode=as2&#38;camp=15121&#38;creative=330641&#38;creativeASIN=B0000DZ3BS">Microcosmos</a>). Another particularly inspired bit of scheduling was the <a href="http://www.amazon.ca/gp/product/078401213X?ie=UTF8&#38;tag=jammacsintt06-20&#38;linkCode=as2&#38;camp=15121&#38;creative=390961&#38;creativeASIN=078401213X">Pi</a>/<a href="http://www.amazon.ca/gp/product/B000F2C7F4?ie=UTF8&#38;tag=jammacsintt06-20&#38;linkCode=as2&#38;camp=15121&#38;creative=390961&#38;creativeASIN=B000F2C7F4">Eraserhead</a>/<a href="http://www.amazon.ca/gp/product/6305046808?ie=UTF8&#38;tag=jammacsintt06-20&#38;linkCode=as2&#38;camp=15121&#38;creative=390961&#38;creativeASIN=6305046808">Secret Adventures of Tom Thumb</a> triple-bill night. I mean, Jesus. Anyone who&#8217;s seen those three films can appreciate the noteworthiness of a theatre that will put them together like that.</p>


	<p>The trouble was that starting around 2001 or 2002, the programming really went downhill. The second-run screenings of hollywood flicks that had always played a necessary but minor role in the Mayfair&#8217;s schedule started becoming the major focus of the theatre, and I quickly lost any motivation to keep up to date with the theatre&#8217;s monthly schedules. There were still worthwhile things going on at the Mayfair, like the raucous annual halloween <a href="http://www.amazon.ca/gp/product/B00006D295?ie=UTF8&#38;tag=jammacsintt06-20&#38;linkCode=as2&#38;camp=15121&#38;creative=390961&#38;creativeASIN=B00006D295">Rocky Horror Picture Show</a> screenings. But the glory days of eagerly anticipating the next monthly schedule to see what treasures lay in store were sadly long gone.</p>


	<p>A few months ago I heard that the theatre was going out of business, and my sadness was both for the end of the theatre and for the fact that its best times were so far in the past.</p>


	<p>Imagine the smile on my face when I learned that the business was being bought by a group of <a href="http://mayfairtheatre.ca/bios">local filmmakers and film aficionados</a> with the promise of bringing the old spirit of the Mayfair back along with renovations to the theatre itself. I went to their grand re-opening on Friday, and was not disappointed. It was a free screening of a recent 35mm print of <a href="http://www.amazon.ca/gp/product/B00007L4MJ?ie=UTF8&#38;tag=jammacsintt06-20&#38;linkCode=as2&#38;camp=15121&#38;creative=390961&#38;creativeASIN=B00007L4MJ">Metropolis</a>, preceded by a collection of short films from Ottawa filmmakers. Hors d&#8217;oeuvres and cake were laid out for the lucky ones who actually came early enough to get into the theatre (there were a couple hundred waiting outside to get in for Metropolis, apparently, hoping for some of us to leave). Beer was served, which I believe will now be a regular occurrence at the Mayfair.</p>


	<p>The real kicker, though, was the <em>live band</em> accompanying Metropolis with music based on the original score to the silent film. The band was mostly members of the <a href="http://www.hilotrons.com/home.html">Hilotrons</a>, and their roughly two-hour-long performance was exceptional; they were spot-on throughout the whole film and they didn&#8217;t have any breaks or intermissions to catch their breath. I shot up in standing ovation as soon as the credits started rolling.</p>


	<p>The schedule so far is <a href="http://mayfairtheatre.ca/schedule/">looking great</a> (Eraserhead this Friday at midnight! James Bond double-bills all month!), and also happens to be available as a <a href="http://www.google.com/calendar/render?cid=http%3A%2F%2Fwww.google.com%2Fcalendar%2Ffeeds%2Ffrtmc83ao1cerp04m242unjhd8%2540group.calendar.google.com%2Fpublic%2Fbasic">Google Calendar</a>. Very smart. They&#8217;ve got an active presence going on <a href="http://www.facebook.com/group.php?gid=2307034734&#38;ref=ts">Facebook</a>. Et cetera. Basically the new management is doing a lot of things right, and I hope it is enough to keep them in business showing interesting films for a long time. If you live in Ottawa, or are ever here for a visit, do yourself a favour and see what&#8217;s playing at this beautiful cinema.</p>]]>
</summary>
<updated>
2009-01-04 16:47:04 -0500
</updated>
<published>
2009-01-04 16:47:04 -0500
</published>
<author>
<name>
James MacAulay
</name>
</author>
<link href="http://feedproxy.google.com/~r/jmacaulay/~3/gj0HGsLqctw/623592-the-return-of-the-mayfair" rel="alternate" />
<feedburner:origLink>http://jmacaulay.net/blogs/main/623592-the-return-of-the-mayfair</feedburner:origLink></entry>
<entry>
<id>
tag:db1@shopify.com,2008:articles/549842
</id>
<title>
Powered by Shopify
</title>
<summary type="html">
<![CDATA[<p>I'm pleased to say that jmacaulay.net is now running on <a href="http://www.shopify.com">my favourite web app</a> :) I used the <a href="http://www.shopify.com/developers/api/">Shopify API</a> to transfer all the articles and comments from <a href="http://mephistoblog.com">Mephisto</a>, and to set up redirects from all my old URLs to the new ones.</p><p>I'm using a customized version of <a href="http://blog.shopify.com/2006/12/24/minimify">Cliff Spence&#8217;s Minimify</a> theme; I switched up the typography and some of the colours, and overall made it much more centred around the blog.</p><p>To top it all off, I am submitting this post via email with the new <a href="http://blog.posterous.com/posterous-welcomes-shopifycom">Shopify integration in Posterous</a>. Indeed, we are truly living in the future.</p><p style="font-size: 10px;">  <a href="http://posterous.com">Posted via email</a>   from <a href="http://jamesmacaulay.posterous.com/powered-by-shopify">jamesmacaulay's posterous</a>  </p>]]>
</summary>
<updated>
2008-12-16 12:17:13 -0500
</updated>
<published>
2008-12-16 12:17:13 -0500
</published>
<author>
<name>
Posterous
</name>
</author>
<link href="http://feedproxy.google.com/~r/jmacaulay/~3/GQWEI1-kRXI/549842-powered-by-shopify" rel="alternate" />
<feedburner:origLink>http://jmacaulay.net/blogs/main/549842-powered-by-shopify</feedburner:origLink></entry>
<entry>
<id>
tag:db1@shopify.com,2008:articles/527312
</id>
<title>
Support for the Coalition
</title>
<summary type="html">
<![CDATA[<pre>
Subject:  Support for the Coalition
Date:     December 2, 2008 11:39:49 PM GMT-05:00
To:       &quot;Paul Dewar&quot; &lt;Dewar.P@parl.gc.ca&gt;,
          &quot;St&eacute;phane Dion&quot; &lt;Dion.S@parl.gc.ca&gt;,
          &quot;Jack Layton&quot; &lt;Layton.J@parl.gc.ca&gt;,
          &quot;Gilles Duceppe&quot; &lt;Duceppe.G@parl.gc.ca&gt;,
          &quot;Stephen Harper&quot; &lt;Harper.S@parl.gc.ca&gt;
</pre>

	<p>Dear members of parliament,</p>


	<p>I am writing to express my support for the proposed coalition of a Liberal-NDP government led by St&eacute;phane Dion and backed by the Bloc Qu&eacute;becois. There is a lot of talk coming from each of the parties right now about the exact nature of the mandate given to the current government by the people of Canada. I can sympathize with many members and supporters of the Conservative Party when they protest that no one voted for a coalition like the one being proposed; it&#x27;s true that very few people could have anticipated this turn of events and indeed, no Canadian successfully managed to mark that non-existent option on their ballot. However, each and every one of us who voted in October did decide to put a certain amount of trust in other people to represent our individual and collective interests, and I for one am glad that the opposition parties have chosen to band together and do what needs to be done.</p>


	<p>I did not vote for either the Liberals or the <span class="caps">NDP</span> or the Bloc in this recent election. I am very grateful, however, to be represented by Paul Dewar of the <span class="caps">NDP</span> here in Ottawa Centre. Each Canadian has a rich and complex set of opinions about how this country should be governed which can rarely be reduced to single party&#x27;s platform and certainly not to a single &quot;X&quot; on a ballot. I have confidence in the opposition parties to successfully lead this country in a coalition and I hope that such a government will address the systemic issues in our electoral process which underly all this confusion about what the Canadian people really want.</p>


	<p>Sincerely,</p>


	<p>James C. MacAulay<br/><br />Ottawa, Canada</p>]]>
</summary>
<updated>
2008-12-07 18:26:50 -0500
</updated>
<published>
2008-12-03 00:15:00 -0500
</published>
<author>
<name>
James MacAulay
</name>
</author>
<link href="http://feedproxy.google.com/~r/jmacaulay/~3/LKz3F9OA8zY/527312-support-for-the-coalition" rel="alternate" />
<feedburner:origLink>http://jmacaulay.net/blogs/main/527312-support-for-the-coalition</feedburner:origLink></entry>
<entry>
<id>
tag:db1@shopify.com,2008:articles/527302
</id>
<title>
Active Shipping
</title>
<summary type="html">
<![CDATA[<p>Active Shipping is now available under an open source license. <a href="http://github.com/Shopify/active_shipping">It&#8217;s on GitHub, here</a>. Active Shipping is an extension for <a href="http://www.activemerchant.org">Active Merchant</a> which I wrote to let <a href="http://www.shopify.com">Shopify</a> users provide carrier-calculated shipping rates to their customers. You can easily include Active Shipping in your Rails project as a plugin (or in any other ruby project, for that matter) and start doing things like this:</p>

<noscript><br /><pre name="code" class="ruby">
include ActiveMerchant::Shipping
usps = USPS.new(:login =&gt; '123JAMES4567')

origin = Location.new(:country =&gt; 'US', :zip =&gt; '90210')
destination = Location.new(:country =&gt; 'CA', :postal_code =&gt; 'K2P 0K3')

grams = 100
centimetres = [20,10,10]
packages = [Package.new(grams, centimetres)]

response = usps.find_rates(origin, destination, packages)
rates = response.rates.sort_by(&#38;:price)
cheapest = rates.map {|r| [ r.service_name,
                            r.price.to_f / 100, # rates returned in cents
                            r.currency]}.first
# =&gt; ["USPS First-Class Mail International", 1.62, "USD"]
</pre><br /></noscript><br /><script src="http://gist.github.com/35532.js"></script>

<p>It&#8217;s under active development and more details for contributing to the project can be found in the <a href="http://github.com/shopify/active_shipping/tree/master#readme"><span class="caps">README</span></a>.</p>]]>
</summary>
<updated>
2008-12-07 18:26:48 -0500
</updated>
<published>
2008-04-21 17:05:00 -0400
</published>
<author>
<name>
James MacAulay
</name>
</author>
<link href="http://feedproxy.google.com/~r/jmacaulay/~3/EKwp8t6fNak/527302-active-shipping" rel="alternate" />
<feedburner:origLink>http://jmacaulay.net/blogs/main/527302-active-shipping</feedburner:origLink></entry>
<entry>
<id>
tag:db1@shopify.com,2008:articles/527282
</id>
<title>
Modified rss_reader Radiant extension
</title>
<summary type="html">
<![CDATA[<p><a href="http://www.shopify.com"><img src="http://static0.shopify.com/s/files/1/0022/6822/files/shopify-news.png" style="margin: 0em 0em 1em 1em; border: 0; float:right" alt="Shopify news on www.shopify.com"/></a></p>


	<p>Part of my work at <a href="http://jadedpixel.com">jaded Pixel</a> a few months ago was development and writing for a new &#8220;brochure&#8221; site at <a href="http://www.shopify.com">www.shopify.com</a>. The current site, like the old one, is built with the fantastic <a href="http://radiantcms.org">Radiant <span class="caps">CMS</span></a> and uses a modified version of the rss_reader extension from <a href="http://scidept.com/">BJ Clark</a>, <a href="http://www.fn-group.com/">Loren Johnson</a>, and Alessandro Preite Martinez.</p>


	<p>We are using it to grab feeds that we publish in other places and re-display them to fit with the design of the site. For example our <a href="http://shopify.info/screenshots">screenshots page</a> is generated from our blog&#8217;s <a href="http://jadedpixel.com/shop-of-the-moment">Shop of the Moment</a> feed, and our <a href="http://shopify.info/faq#customer-payment-methods">list of supported methods for accepting payment</a> is fed directly by <a href="http://app.shopify.com/services/gateways/all.xml">Shopify itself</a>.</p>


	<p>Here is a modified version of the extension, available for your enjoyment and scrutiny:</p>


<s><a href="http://static0.shopify.com/s/files/1/0022/6822/files/rss_reader-0.2a-jadedpixelmod.tgz">rss_reader-0.2a-jadedpixelmod.tgz</a></s>

<s>Just unpack with <code>tar xvzf rss_reader-0.2a-jadedpixelmod.tgz</code> in your Radiant app&#8217;s root directory and it&#8217;ll put the necessary stuff in <code>lib</code> and <code>vendor</code>.</s>

	<p><strong>Update:</strong> the extension is now on <a href="http://github.com/jamesmacaulay/radiant-rss-reader">GitHub</a>.</p>


	<p>The modifications that I made add a few new features and, thanks to <a href="http://blog.leetsoft.com">Tobi</a>&#8217;s help, improved the robustness of the feed fetching code quite a bit. So for example, now you can order the feed however you want using a syntax similar to <span class="caps">SQL</span>&#8217;s <code>ORDER BY</code>:</p>


<noscript><br /><pre><code>
&lt;ul&gt;

  &lt;r:feed:items
      url="http://feeds.boingboing.net/boingboing/iBag" 
      order="creator ASC"&gt;

    &lt;li&gt;&lt;r:feed:link /&gt;&lt;/li&gt;

  &lt;/r:feed:items&gt;

&lt;/ul&gt;
</code></pre><br /></noscript><br /><script src="http://gist.github.com/35535.js"></script>

	<p>You can also do headers to mark off sections:</p>


<noscript><br /><pre><code>
&lt;ul&gt;

  &lt;r:feed:items
      url="http://feeds.boingboing.net/boingboing/iBag" 
      order="creator ASC"&gt;

    &lt;r:feed:header for="creator"&gt;
      &lt;h2&gt;&lt;r:feed:creator /&gt;&lt;/h2&gt;
    &lt;/r:feed:header&gt;

    &lt;li&gt;&lt;r:feed:link /&gt;&lt;/li&gt;

  &lt;/r:feed:items&gt;

&lt;/ul&gt;
</code></pre><br /></noscript><br /><script src="http://gist.github.com/35536.js"></script>

	<p>This would show the code within the <code>&lt;r:feed:header /&gt;</code> tag if and only if the &#8220;creator&#8221; attribute of the item is different from the previous item in the list. Thus, it would only make reasonable output if the feed were ordered by creator with the above method. Another more obvious grouping for headers would be the item&#8217;s &#8220;date&#8221; attribute. Yes, the date of a feed item has hours and minutes and seconds, but I made it so that a new header only appears on new days of the month.</p>


	<p>You can sort items and group headers by date, title, content, creator, or link (i.e. the <span class="caps">URL</span> of the item). There are a few other options for the feed tags that I haven&#8217;t mentioned here but which are documented within the code.</p>]]>
</summary>
<updated>
2008-12-07 18:26:45 -0500
</updated>
<published>
2007-11-08 22:37:00 -0500
</published>
<author>
<name>
James MacAulay
</name>
</author>
<link href="http://feedproxy.google.com/~r/jmacaulay/~3/OkDzAarkD8U/527282-modified-rss_reader-radiant-extension" rel="alternate" />
<feedburner:origLink>http://jmacaulay.net/blogs/main/527282-modified-rss_reader-radiant-extension</feedburner:origLink></entry>
<entry>
<id>
tag:db1@shopify.com,2008:articles/527272
</id>
<title>
Facebook find: father-daughter moment
</title>
<summary type="html">
<![CDATA[<p><img src="http://static0.shopify.com/s/files/1/0022/6822/files/slaughter-those-fucking-ducks.png" alt="" /></p>]]>
</summary>
<updated>
2008-12-07 18:26:44 -0500
</updated>
<published>
2007-06-01 20:01:00 -0400
</published>
<author>
<name>
James MacAulay
</name>
</author>
<link href="http://feedproxy.google.com/~r/jmacaulay/~3/YJDcXoMde0g/527272-facebook-find-father-daughter-moment" rel="alternate" />
<feedburner:origLink>http://jmacaulay.net/blogs/main/527272-facebook-find-father-daughter-moment</feedburner:origLink></entry>
</feed>
