{"id":456,"date":"2005-05-03T23:03:26-04:00","date_gmt":"2005-05-04T04:03:26+00:00","guid":{"rendered":"http:\/\/peterjanes.ca\/blog\/archives\/2005\/05\/03\/other-stuff"},"modified":"2005-05-03T23:03:26-04:00","modified_gmt":"2005-05-04T04:03:26+00:00","slug":"other-stuff","status":"publish","type":"post","link":"https:\/\/peterjanes.ca\/blog\/2005\/05\/03\/other-stuff\/","title":{"rendered":"Other&nbsp;stuff"},"content":{"rendered":"<div class='e-content'><p>As well as working on <a href=\"http:\/\/peterjanes.ca\/blog\/archives\/2005\/05\/03\/rex-as-a-microformat\">what I&#8217;ve started calling REx<\/a> I&#8217;ve been messing around with syndication, both in Atom and iCalendar forms.<\/p>\r\n\r\n<p>Not quite satisfied with <a href=\"http:\/\/csociety.purdue.org\/~jacoby\/XML\/\">Dave Jacoby&#8217;s RSS feed<\/a> for <a href=\"http:\/\/www.rogerebert.com\/\">Roger Ebert&#8217;s movie reviews<\/a>, I decided to roll my own that also includes the summaries from the website.  It&#8217;s the first thing I&#8217;ve written <cite class=\"term\">from scratch<\/cite> in Python&#8212;that is, with the help of <a href=\"http:\/\/atomfeed.sourceforge.net\/\">Steve Jenson&#8217;s <code>atomfeed.py<\/code><\/a> and the built-in SGML, URL and regex libraries&#8212;and while it&#8217;s not pretty, it suits my purposes.  If I thought it would be anything less than extremely fragile (mainly due to the wonky markup on Ebert&#8217;s site than anything inherent in the code) I&#8217;d probably post it&#8230; still might so people can point and laugh.<\/p>\r\n\r\n<p>Also took some time on the weekend to write an <a href=\"http:\/\/www.ietf.org\/rfc\/rfc2445.txt\">iCalendar<\/a> translator for <a href=\"http:\/\/www.allisonbrown.ca\/\">Allison Brown&#8217;s<\/a> performance calendar.  It&#8217;s a simple little bit of Perl but took a lot longer to write than it probably should have; the RFC isn&#8217;t the easiest thing to read and there doesn&#8217;t appear to be a validator anywhere.  The converted file appears to work in <a href=\"http:\/\/www.mozilla.org\/projects\/calendar\/\">Mozilla Calendar<\/a>, though, and that&#8217;s good enough for me.<\/p>\r\n\r\n<p>Finally, I&#8217;m considering converting the <a href=\"http:\/\/www.sirens3.com\/\">Sirens&#8217;<\/a> <a href=\"http:\/\/www.sirens3.com\/tour\/\">tour calendar<\/a> to <a href=\"http:\/\/developers.technorati.com\/wiki\/hCalendar\">hCalendar<\/a> format.  I&#8217;d probably still generate the RSS and iCal feeds, since the XSLT is there already, but I&#8217;d love to deprecate them in favour of a single human- and machine-readable page.<\/p><\/div><div class=\"syndication-links\"><\/div>","protected":false},"excerpt":{"rendered":"As well as working on what I&#8217;ve started calling REx I&#8217;ve been messing around with syndication, both in Atom and iCalendar forms. Not quite satisfied with Dave Jacoby&#8217;s RSS feed for Roger Ebert&#8217;s movie reviews, I decided to roll my own that also includes the summaries from the website. It&#8217;s the first thing I&#8217;ve written&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"mf2_syndication":[],"venue_id":0},"categories":[2,3],"tags":[],"kind":false,"_links":{"self":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts\/456"}],"collection":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/comments?post=456"}],"version-history":[{"count":0,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts\/456\/revisions"}],"wp:attachment":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/media?parent=456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/categories?post=456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/tags?post=456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}