<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>Dave Orchard&apos;s Blog</title>
      <link>http://www.pacificspirit.com/</link>
      <description></description>
      <language>en-US</language>
      <copyright>Copyright 2007</copyright>
      <lastBuildDate>Thu, 21 Jun 2007 13:10:05 -0800</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>Ireland 8 day itinerary suggestions?</title>
         <description><![CDATA[We two, not four, are going to Ireland this summer.   Based on Fodor's, Lonely Planet, and "favourite driving itineraries", we've come up with a rough 8 day itinerary.  It would be wonderful if you could let us know any changes we should make.  If you have problems commenting, email me and I can put them on the site if you'd like.  

<strong>Day (overnight location): itinerary</strong>

Day 0 (Dublin): Arrival day around noon

Day 1 (Dublin): around Dublin 

Day 2 (Dublin): Near Dublin (Tara, Newgrange, stately home) (overnight in dublin) 

Day 3 (Kenmare): Travel to Kenmare, via Waterford and Rock of Cashel. Dinner in Kenmare or before.

Day 4 (Kenmare): Ring of Kerry ending with dinner in Kenmare, maybe Gap of Dunloe?

Day 5 (Connemara): Killarney in morning, north to Cliffs of Moher and the burren, ending at Connemara.

Day 6 (Connemara): Clifden and Sky road, maybe dinner Ballinrobe.

Day 7 (Galway): travel to Galway, around Galway.

Day 8 (Galway): Kayaking in Galway Bay 

Day 9 (Galway): Leave 8 am from Galway for 1 1/2 hour drive to Shannon noon departure

Is this too packed in general?  Let us know if we should drop something in favour of something else.  Should we drop one of Connemara or Kerry? Is the English Market in Cork and cork itself worth a visit?  Waterford is an extra 75 mins not including visiting/parking/etc. time is it worth a trip given all the other sites? Should we shorten up the Saturday near Dublin and do Newgrange and stately home on the way to Kenmare, perhaps overnighting in Cork or somewhere else on the way to Kenmare? That would cause missing a night in Dublin, which seems like a lot of fun. Is there not enough time for Cliffs of Moher and burren on the Tuesday?

<strong>4 stops with some recommended hotels: </strong>

Dublin: La Stampa, O'Callaghan Alexander, Browne's, the Shelbourne (pricy) or the Mont Clare.  We'd like to be near St. Stephen's green.

Kenmare: Fodor's recommends Sheen Falls Lodge but expensive, Fodor's recommends Park Hotel but 1 guest said it was way past it's prime.

Connemara: A friend has recommended loughinaghlodgehotel.ie

Galway: Fodors recommends Radisson SAS. Fodor's mentions Adare Guest House

<strong>Food</strong>

Recommendations at http://foodandwine.net/.

I've heard a good review about about J.J. Gannons in Ballinrobe. We're interested in top 2-3 new Irish cuisine. Kinsale is known for Irish food renaissance, but Fodor's doesn't list any "recommended". Is a trip to Kinsale for the food worth it, or Kenmare, or some other places?

driving research

Kinsale to Kenmare: 1hr 45 mins, so probably too long for after a nice dinner. 

Dublin to Kenmare direct: 4 1/2 hrs

Dublin to Waterford: 2 1/2 hrs

Waterfrod to Kenmare: 3 1/4 hrs

Kenmare to Galway via limerick or ferry: 4 hrs Galway to Shannon: 1 1/2 hrs
]]></description>
         <link>http://www.pacificspirit.com/2007/06/21/ireland_8_day_itinerary_suggestions</link>
         <guid>http://www.pacificspirit.com/2007/06/21/ireland_8_day_itinerary_suggestions</guid>
        
        
         <pubDate>Thu, 21 Jun 2007 13:10:05 -0800</pubDate>
      </item>
            <item>
         <title>Last season of Galactica</title>
         <description><![CDATA[I just read a <a href="http://www.canada.com/topics/entertainment/story.html?id=9ef16218-0cc0-44e2-8157-6d2a5e29eb45&k=84024">news story</a> that Galactica's upcoming 4th season will be the last.  I'm both happy and sad about that.  Happy that they aren't going to prolong it and extract the very last $ out of the series.  Sad that it's such great TV and I'll really miss it.  No other show in the past 3 years has caught me the same way.  And with my interest in Lost and 24 fading (though the season ender of Lost definitely got my attention and piqued some interest in the next season) and Carnivale and Six Feet Under well over, it seems as though my "serials" aren't being replenished.  

Thanks to the writers, actors and all those involved in Galactica, myself and many others have really enjoyed the series and I'm really looking forward to the final season.]]></description>
         <link>http://www.pacificspirit.com/2007/06/01/last_season_of_galactica</link>
         <guid>http://www.pacificspirit.com/2007/06/01/last_season_of_galactica</guid>
        
        
         <pubDate>Fri, 01 Jun 2007 08:37:47 -0800</pubDate>
      </item>
            <item>
         <title>Scoring over 7000 on Desktop Tower Defence</title>
         <description><![CDATA[I foolishly, FOOLISHLY, followed <a href="http://www.darrenbarefoot.com/archives/2007/03/bye-bye-productivity.html">Darren's link</a> to Desktop Tower Defence.  I'm not providing the link directly to DTD because you'll follow it and then get addicted.  You can go to a tiny bit more effort and read Darren's warning before you start mainlining flash gaming crack.  Don't do it!  Just say No!

Too many evenings after the kids have gone to bed have been consumed.  It's time to stop.  I managed to make it past 7000 on a wide variety of scenarios, including my favourite "wall of death squirts".  

Four different configurations are <br/>
<a href="http://www.flickr.com/photos/dorchard/520622074/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/202/520622074_04ebc8b3a2_o.jpg" width="364" height="308" alt="DesktopTowerDefence7064pts" /></a> <br/>
<a href="http://www.flickr.com/photos/dorchard/520622104/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/189/520622104_ed55d07573_o.jpg" width="364" height="308" alt="DesktopTowerDefence7068pts" /></a> <br/>
<a href="http://www.flickr.com/photos/dorchard/520728445/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/248/520728445_b671bd0401_o.jpg" width="364" height="308" alt="DesktopTowerDefence7092pts" /></a> <br/>
<a href="http://www.flickr.com/photos/dorchard/521620553/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/190/521620553_b707bbeb15_o.jpg" width="364" height="308" alt="DesktopTowerDefence7118pts" /></a>

I like using a tactic of deleting and starting towers to pull the level 47, 48, and 50 creatures towards the exit, then routing them back to the kill zone.  That's the funny line to the top right.

Jeremy has a <a href="http://jeremy.zawodny.com/blog/archives/009093.html">strategy for 7000</a>, and his consideration that it is <a href="http://jeremy.zawodny.com/blog/archives/008758.html">harmful</a> from 2 months prior.

I agree!  It's time to stop.  Until I figure out how to get to 7200...]]></description>
         <link>http://www.pacificspirit.com/2007/05/29/scoring_over_7000_on_desktop_tower_defence</link>
         <guid>http://www.pacificspirit.com/2007/05/29/scoring_over_7000_on_desktop_tower_defence</guid>
        
        
         <pubDate>Tue, 29 May 2007 15:49:40 -0800</pubDate>
      </item>
            <item>
         <title>Vancouver Giants are Memorial Cup champs!</title>
         <description>I went to the Memorial Cup final in Vancouver yesterday and saw the Giants win the Cup!  Incredible game, great energy, fabulous value.  I&apos;ve been to 2 giants games now and it&apos;s been very entertaining.  I&apos;d have to say even more entertaining than the Canucks because the kids are always working hard, and you can get seats close to the ice.  

Thanks to Al for the invite, and then the wonderful dinner afterwards!

A darned good day overall.  My son and I hiked up the Grind in the morning with our friend Sandy and his son in their first hike together.  A fair bit of caution and it went well.  Except for an &quot;accident&quot; on the tram-ride down :-)</description>
         <link>http://www.pacificspirit.com/2007/05/28/vancouver_giants_are_memorial_cup_champs</link>
         <guid>http://www.pacificspirit.com/2007/05/28/vancouver_giants_are_memorial_cup_champs</guid>
        
        
         <pubDate>Mon, 28 May 2007 11:12:32 -0800</pubDate>
      </item>
            <item>
         <title>Fuel Restaurant Review (2/4)</title>
         <description>Last week we went with our family to the new &quot;Fuel&quot; restaurant on 4th.  I had high hopes but they were dashed.  This seemed like one of those restaurants that is again trying way too hard.  Just because you put funky decor and a bunch of food buzzwords on your menu doesn&apos;t mean you should get rave reviews.  

Service was slow and painful.  It took 35 minutes to get our food order in.  Then, the servers identified every item on the plate.  But they were soo painful at it, I wanted to beg them to stop.  In real restaurants, the servers describing the food make you want to beg them to stop because you want to dive into the food right away!

Food is this new trendy but silly style of combining two completely different flavours.  I had the highly touted risotto and smoked tuna.  Right.   Think super creamy rice with a slab of fish.  The two tastes didn&apos;t go together at all.  It&apos;s like modern mathematical music done in food.  There&apos;s no pleasing quality about the combination.  One reviewer called this dish &quot;subtle&quot;.  I guess subtle is reviewer-speak for &quot;You won&apos;t enjoy this unless you try really really hard and will like every pretentious restaurant around&quot;.  Then my rib-eye steak was super fatty and gristly.  For $35, I felt ripped off.  They should have done tenderloin for $40.   At the Maple Leaf in Banff(which was excellent, 3.5/4) , I had the bacon wrapped bison, which was much better and $39.  

Wine menu was very lengthy and decent.  The only problem I had is the pricing and selection on the &quot;low&quot; end.  They are above 200% markup on BCLDB prices.  I&apos;m a huge fan of Kaesler Stonehorse GSM.  That&apos;s $28.99 in BCLDB, and $90 at Fuel.  We had the same bottle in the Maple Leaf restaurant in Banff for $50.  I know much of that is because of the difference in provincial taxes but come on!   I have a real problem close to or over $100 for a bottle of wine at a restaurant.  I ought to be able to get a bottle that costs about $30 in a liquor store for about $75 in a restaurant.  $65 markup is getting a bit excessive.  

Hopefully Gastropod or Bistrot Bistro will be better.</description>
         <link>http://www.pacificspirit.com/2007/05/10/fuel_restaurant_review_24</link>
         <guid>http://www.pacificspirit.com/2007/05/10/fuel_restaurant_review_24</guid>
        
        
         <pubDate>Thu, 10 May 2007 13:11:24 -0800</pubDate>
      </item>
            <item>
         <title>Super Happy Dev House in Vancouver</title>
         <description><![CDATA[I think I'll check out the <a href="http://upcoming.yahoo.com/event/171753/">Super Happy Dev House</a> on friday afternoon before the Giants game 5...]]></description>
         <link>http://www.pacificspirit.com/2007/05/08/super_happy_dev_house_in_vancouver</link>
         <guid>http://www.pacificspirit.com/2007/05/08/super_happy_dev_house_in_vancouver</guid>
        
        
         <pubDate>Tue, 08 May 2007 14:03:59 -0800</pubDate>
      </item>
            <item>
         <title>Amazon S3 vs USB-2 hard-drive Cost/Benefit</title>
         <description><![CDATA[A while ago I hit the 420GB limit on my backup storage.  I've been gradually reducing the mp3s that I've been backing up.  HD 1080i videos of the kids sure take up a lot of space, and bluegrass backups just don't compete.  

I'm going to soonish buy a 500G external drive.  But I thought I'd compare the Cost/Benefit of S3.  Let's assume 100G of files, approx 5 MG in size.

<strong>S3</strong> (<a href="http://www.amazon.com/S3-AWS-home-page-Money/b/ref=sc_fe_l_2/103-0869336-2282211?ie=UTF8&node=16427261&no=3435361&me=A36L942TSJ2AJA">old and new pricing</a>)
$.15/GB/month.
100GB = $15/month = $180/year

<strong>500GB drive</strong>: Atic sells for $222 CA, about $180 US.

$180 for 100G for 1 year vs $180 for 500G forever.  Pretty clear to me.  

The one nice thing about S3 is easy access to off-site storage.  I definitely want offsite backups for the kids videos, but it's still way cheaper to just give my old 120 or 300 G drive to my brother.]]></description>
         <link>http://www.pacificspirit.com/2007/05/03/amazon_s3_vs_usb2_harddrive_costbenefit</link>
         <guid>http://www.pacificspirit.com/2007/05/03/amazon_s3_vs_usb2_harddrive_costbenefit</guid>
        
        
         <pubDate>Thu, 03 May 2007 15:37:06 -0800</pubDate>
      </item>
            <item>
         <title>Vista DRM Hell: Why I&apos;m really dubious about upgrading to Vista</title>
         <description><![CDATA[Peter Gutmann has updated his incredibly detailed examination of the costs of Vista DRM at <a href="http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.html">http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.html</a>

It's amazing how bad and costly the attempt to subvert physics is.  

I expect this will push more people into Linux and Apple, as well as keeping XP.]]></description>
         <link>http://www.pacificspirit.com/2007/05/01/vista_drm_hell_why_im_really_dubious_about_upgrading_to_vista</link>
         <guid>http://www.pacificspirit.com/2007/05/01/vista_drm_hell_why_im_really_dubious_about_upgrading_to_vista</guid>
        
        
         <pubDate>Tue, 01 May 2007 10:40:19 -0800</pubDate>
      </item>
            <item>
         <title>Version Numbers in X/HTML, HTML, and XHTML</title>
         <description><![CDATA[I'm just starting to get my mind wrapped around the issues of version numbers in X/HTML, HTML, and XHTML.  There is pushback on whether version identifiers are a good thing at all, which has taken me a bit aback.  I've started to write up a "Version identifiers considered useful" post but I want to cogitate a bit more on the various systems of HTML, CSS, etc.  I've just posted a few thoughts on problems with a single namespace name as the version identifier in XML, and it's clear that the version identifier mapping problem applies to more systems than XML.  

My early thinking is that one of the reasons why HTML and CSS might not want version identifiers is because of the <a href="http://www.pacificspirit.com/blog/2007/04/19/forwards_compatibility_with_version_s_requires_version_mapping">version identifier mapping problem</a>.

The WHAT WG wrote up <a href="http://blog.whatwg.org/html-vs-xhtml">HTML vs XHTML</a> which says that there will effectively be no version information.  

if the mime-type is application/xml or application/xhtml+xml, then the document must be XML and therefore XHTML
else, if the mime-type is text/html, then the document must be HTML and will contain &lt!DOCTYPE html&gt;

Further, the html element may contain an xmlns attribute containing the xhtml namespace, ie
 &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;

On the face of it, this seems very simple but perhaps too simple?  

Imagine you are a document author, and you create the following text:
&lt;html&gt;
   &lt;body&gt;
     &lt;p&gt;Hello World&lt;/p&gt;
   &lt;/body&gt;
&lt;/html&gt;

Which versions of (x)html is it?  Well, it's almost all of them!  But, you've got to serve it as three different documents under html 4, html 5, and xhtml 2.  We'll put the xmlns declaration in all of them to make single sourcing the markup content consistent.  Note: MovableType and Google and lots of others don't do this.  I hear from TV Raman that saving the 30 characters or so is a *huge* win for google.  

The 3 "versions" are:

text/html (for version 4)
&lt;!DOCTYPE html "-//W3C//DTD HTML 4.0 Transitional//EN"gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
   &lt;body&gt;
     &lt;p&gt;Hello World&lt;/p&gt;
   &lt;/body&gt;
&lt;/html&gt;

text/html (for html 5)
&lt;!DOCTYPE html&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
   &lt;body&gt;
     &lt;p&gt;Hello World&lt;/p&gt;
   &lt;/body&gt;
&lt;/html&gt;

application/xml:
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
   &lt;body&gt;
     &lt;p&gt;Hello World&lt;/p&gt;
   &lt;/body&gt;
&lt;/html&gt;

Note with HTML, there's NO way of knowing whether this is version 5, 6, 7, 5.01, 5.1 or whatever.   Seems a bit crazy to me but I'll have to do some more digging.

I wonder if there's any way to "fix" the version identification problem, or whether it needs to be fixed.  I'll post some follow on thoughts as the gel a bit more.]]></description>
         <link>http://www.pacificspirit.com/2007/04/20/version_numbers_in_xhtml_html_and_xhtml</link>
         <guid>http://www.pacificspirit.com/2007/04/20/version_numbers_in_xhtml_html_and_xhtml</guid>
        
        
         <pubDate>Fri, 20 Apr 2007 12:43:41 -0800</pubDate>
      </item>
            <item>
         <title>How to have Multiple Namespaces per Name</title>
         <description><![CDATA[One of the difficulties in versioning languages is specifying the exact version(s) of the components.  XML has compounded this problem by making the full name of a component contain the namespace, which is a single value that typically reflects the version of the language.   Imagine we have our favorite language, a name language.  V1 of the language specifies that Names consist of Given followed by Family: Name V1 = Given, Family.  V2 adds an optional Middle at the end: Name V2 = Given, Family, Middle?

If my software "knows" about both V1 and V2 languages and I create a Name that only has Given and Family, should I call it Name V1 or Name V2?  The problem is that a V1 Consumer might have problems with V2 instances if I've changed the namespace name.  This is the primary reason why I advocate that XML languages specify that there are no namespace changes if the change is compatible.  

The assignment of versions is especially difficult in forwards compatibility cases, where the consumer doesn't know anything about the version it may receive.  I wrote about this in <a href=http://www.pacificspirit.com/blog/2007/04/19/forwards_compatibility_with_version_s_requires_version_mapping>Forwards compatibility with version #s requires version # mapping</a>
How does a consumer that knows about V1.0 know anything about things identified V1.01, V1.1, V2.0, or any other Version identifier?  

There are a few potential approaches:
- If it's compatible, don't change the name.  So there wouldn't be a V1.01 or V1.1 in the identifier.
- Specify all the versions that the name is compatible with.  The Name would specify V1.0, V1.01, and V1.1
- Specify a range of versions that the name is compatible with, perhaps even listing ranges.  The Name would specify V1.*.

<strong>Namespaces</strong>
Given the use of namespaces, could we flexibly define namespaces for the Name components to say that the Name components are in multiple namespaces?  Let us assume that the namespace changes for each version, ie http://example.org/ns/name/1.0; http://example.org/ns/name/1.01; http://example.org/ns/name/1.1;

Unfortunately, we can't list each of the namespaces in the namespace declaration, such as:
&lt;namens:PersonName xmlns:namens="http://example.org/ns/name/1.0 http://example.org/ns/name/1.01 http://example.org/ns/name/1.1"&gt;
  &lt;namens:Given/&gt;
  &lt;namens:Family/&gt;
&lt;/namens:PersonName&gt;

This model could have allowed the consumer to pick which namespace it wanted to bind the Names to.

Another alternative would be to have multiple xmlns declaration, such as:
&lt;namens:PersonName xmlns:namens="http://example.org/ns/name/1.0"
             xmlns:namens="http://example.org/ns/name/1.01"
             xmlns:namens="http://example.org/ns/name/1.1"&gt;
  &lt;namens:Given/&gt;
  &lt;namens:Family/&gt;
&lt;/namens:PersonName&gt;

As an aside, both of these examples illustrate the results of not providing extensibility.  If XML had allowed multiple URIs in the xmlns declaration and the namespaces 1.0 specification said that only the first was used and the rest ignored, then we could have revised the namespaces specification to support this kind of functionality.  

What could work is a custom attribute that provided the alternative namespaces.  The application would have to have hooks to choose the desired namespace and then apply it.  
&lt;namens:PersonName xmlns:namens="http://example.org/ns/name/1.0"
             namens:altnamens="http://example.org/ns/name/1.01
                               http://example.org/ns/name/1.1"&gt;
  &lt;namens:Given/&gt;
  &lt;namens:Family/&gt;
&lt;/namens:PersonName&gt;

So the app could decide that it understood version 1.1 and override the xmlns:namens attribute with the 1.1 value.  

This also solves the XPath problem: which is how to have namespace changes that don’t break XPaths that use particular namespace names.  In this case, the application’s XPath expressions use the version 1.1 namespace.]]></description>
         <link>http://www.pacificspirit.com/2007/04/20/how_to_have_multiple_namespaces_per_name</link>
         <guid>http://www.pacificspirit.com/2007/04/20/how_to_have_multiple_namespaces_per_name</guid>
        
        
         <pubDate>Fri, 20 Apr 2007 11:00:30 -0800</pubDate>
      </item>
            <item>
         <title>Forwards compatibility with version #s requires version # mapping</title>
         <description><![CDATA[As I said in "<a href="http://www.pacificspirit.com/blog/2007/04/19/what_do_version_identifiers_identify">what do version #s identify</a>?", I said one big problem with version #s is how does the consumer know what to do with a version # it doesn't understand.  

The obvious implication is that use of version #s requires some kind of mapping of the version # from an unknown version to a known version.  I've talked a lot about how unknown content must be dealt with for forwards compatibility, but not much about the version #s.  

This issue has come up in many different ways.  An example is the attempted transition from XML 1.0 to XML 1.1.  Each XML language has it's own, whether it uses namespace names or version #s.  

An obvious solution is to provide some kind of algorithmic approach.  The simplest approach would be to say that version #s will only have a "major" change if there is an incompatible change.  For example, version 1.1 of a language is by definition compatible with version 1.0 and version 2.0 is incompatible.  Then, when the producer puts 1.0, 1.1, or 2.0, a consumer at any level will know whether it can process the content. This also means that there is a choice about which version # to put in, the lowest or the highest.  

A strawman approach is to say that the document should contain the lowest version major version and highest minor version that can be used to process the document.  

A document that contains "1.1" means that any 1.X processor can process it, and it was produced by a 1.1 producer.   A "2.0" document means that a 1.X processor cannot process it, but any "2.X" processor can.  

Then the language MUST have wording about processing unknown version #s.   Sample wording: "A processor of this version MUST not fault if it receives a document that contains the same major version number."  Of course, the language must follow the "Must Ignore Unknowns" rule and ignore the "future" things it doesn't know about.  

<strong>XML</strong>
Imagine XML had done this.  XML 1.0 could have said ignore unknowns and require no faulting on XML 1.X XML declarations.  Then if XML 1.1 that was backwards compatible with 1.0 then it would have worked with all XML 1.0 processors.  

<strong>Namespaces</strong>
XML Namespaces are a much different beast because they are hierarchical and much more expressive than numbers.  Going from "http://example.org/ns/foo" to "http://example.org/ns/fooversion11" is much harder to do the mapping.  It would actually require that the Namespace URIs are NOT opaque.  Something like: "Any Namespace URI that begins with http://example.org/ns/foo/1 MUST not cause a fault in processing".  

Again, just mapping the content from a newer version to an older version is not enough, the version identifiers must be mappable as well.]]></description>
         <link>http://www.pacificspirit.com/2007/04/19/forwards_compatibility_with_version_s_requires_version_mapping</link>
         <guid>http://www.pacificspirit.com/2007/04/19/forwards_compatibility_with_version_s_requires_version_mapping</guid>
        
        
         <pubDate>Thu, 19 Apr 2007 16:19:23 -0800</pubDate>
      </item>
            <item>
         <title>hXML: the XML Microformat</title>
         <description>One of the difficulties I&apos;ve had with Microformats is that there has to be a custom binding for every XML vocabulary into the microformat.  I wonder if it&apos;s possible to have a generic binding of XML into HTML.  Obviously there would need to be many constraints.  But it seems like it ought to be some fairly generic rules for mapping one tree structure into another.  We&apos;ve already done one of them in the WSDL 2.0 HTTP binding, which maps an XML structure into a URI.  The URI structure is a bit less expressive than HTML as you can&apos;t do things like multiple siblings (URI is single tree via /es), so that seems to bode well.  One thing for me to take a look at in the copious spare time..</description>
         <link>http://www.pacificspirit.com/2007/04/19/hxml_the_xml_microformat</link>
         <guid>http://www.pacificspirit.com/2007/04/19/hxml_the_xml_microformat</guid>
        
        
         <pubDate>Thu, 19 Apr 2007 16:03:34 -0800</pubDate>
      </item>
            <item>
         <title>What do Version Identifiers identify?</title>
         <description><![CDATA[One significant problem with version #s in documents is that it is unclear what is being identified with the version #.  The common misconception is that a version # indicates the version of the document for purposes of processing.  That may be true, but in many cases it is an incomplete and useless assertion.  

What is actually identified is usually the latest version of the processor that produced the document, and a promise of what version of documents the processor will accept in response.  It is often a protocol version identifier, not just a format identifier.  HTTP is a good example.  The HTTP specification says "The protocol versioning policy is intended to allow the sender to indicate the format of a message and its capacity for understanding further HTTP communication, rather than the features obtained via that communication."

Because HTTP is a request-response protocol, the capacity for further HTTP communication is the crucial "version" information conveyed.   Most documents that might have version #s do not fit that "future capacity" use case, they are just documents that do not have a protocol..  There are cases where a document format is combined with a protocol, such as Atom.  These combination protocol/format case are fairly rare and not generally applicable.

<strong>Documents</strong>
In the case of just a document, it is unclear what a version # identifies.  Imagine name language version 1 is first, last, and extensions; and compatible version 2 is first, last, optional middle, and extensions.  If a name contains first and last, should the identifier be version 1 or 2?  If a name that has first, last, middle, should the identifier by version 1 or 2?  There is little gained by identifying the difference between the versions.  Notice also the problem of "identifying" the version:  Should the oldest or the newest version be the identifier?  

Usually, the document contains the version number of the latest version of the language that the producing application understands.  Thus the "newest" version of the identifier is used, even if the document itself is valid under older versions of the language.  

Things all work fine if the producer and consumer are at the same version, or even if the consumer understands the older and the newer version.  But in forwards compatibility, what is a consumer that doesn't understand the newer version to do, and how does it know that it can treat the document as if it was an older version?

The fundamental problem with a version # in a document is that it doesn't provide for a given document to be valid under more than one version.  What we really need is to be able to indicate a "space of versions" that a given document is valid under, whether that's a list or regexp or whatever.  

For years now, I've been asserting that the best way to do this with XML is to re-use the namespace name for compatible versions and to ignore things it doesn't understand.  That is, there won't be a change in the namespace name for compatible changes.  The space of versions is the single namespace name.  The consumer won't need to distinguish between versions and it will ignore any extra items it doesn't understand.

Another approach is to list all the versions of the language that the instance is valid under.  Marc de Graauw wrote an interesting article in XML.com on how to use <a href="http://www.xml.com/pub/a/2007/04/11/a-smoother-change-to-version-20.html">version numbers in XML</a>.

What's a shame is that xml namespaces makes this problem of associating a given name with multiple namespaces almost impossible.  I'll shortly post something on what this could have looked like.]]></description>
         <link>http://www.pacificspirit.com/2007/04/19/what_do_version_identifiers_identify</link>
         <guid>http://www.pacificspirit.com/2007/04/19/what_do_version_identifiers_identify</guid>
        
        
         <pubDate>Thu, 19 Apr 2007 11:47:50 -0800</pubDate>
      </item>
            <item>
         <title>CBC and Hockey in San Diego</title>
         <description>Being in San Diego, it was no surprise that the Canucks/Stars game 4 wasn&apos;t on the telly.  But the Flames/RedWings game was broadcast on Versus network, and they had the CBC feed!  Fun times seeing the cbc logo and listening to the cbc broadcasters right near Mexico..</description>
         <link>http://www.pacificspirit.com/2007/04/18/cbc_and_hockey_in_san_diego</link>
         <guid>http://www.pacificspirit.com/2007/04/18/cbc_and_hockey_in_san_diego</guid>
        
        
         <pubDate>Wed, 18 Apr 2007 08:59:44 -0800</pubDate>
      </item>
            <item>
         <title>Introducing the Parker Price Curve (PPC)</title>
         <description>As many readers will know, I&apos;m a reluctant yet huge Robert Parker Fanboy.  Really good wine = really good parker rating.  Not so good wine = not so good rating.  The man knows his wine and apparently our palates have roughly similar preferences, naming aussie shirazes.  

Over the years, I&apos;ve developed a rough algorithm for when a wine is a good buy.  The Parker Price Curve (PPC) is: buy if it&apos;s between 91-98 and the price (in C$ of course) starts with the last digit of the rating.  The obvious math in case (12 bottle cases btw) you&apos;re still asleep is: Buy a 91 rated wine for under $20, all the way to a 98 rated wine for under $90.  Some of the previous purchase are:
- Kurtz Family Boundary Row GSM 2002, 93 rated, bought in BC at $27.
- Torbreck Woodcutters 2004, 93 rated, bought in Ontario at $27.
- Mitolo GAM 2005, 95 rated, bought in BC at $49.
- Black Chook, 92 rated, bought in BC at $19
- Yalumba Octavius 2001, 98 rated, bought in Aus at $79.

I&apos;ve been exercising this for a couple of years and it&apos;s great for the low end.  I don&apos;t know whether it works for the high end because they are all in the cellar, awaiting liberation.

Under special situations, the PPC can move even lower.  D&apos;s parents are driving back from Calgary, and they have muchos cheaper prices than BC.  Now the PPC is driven down by about $10-$20.  The great deals from Richmond Hill wines:
- Mitolo GAM 2004, 97 rated, $49
- Amon Ra 2004, 98 rated, $65
- Glaetzer Wallace 2004, 94 rated, $25
- Burge Tawny Port, 97 rated, $58

And in another great steal out of Nick&apos;s Bottle Shop in Australia, Paul, Haydn and I are going to ship some wines from Aus to Seattle because of some recent great deals like the Mollydooker Boxer (95 rated) at $23 AU + $10 shipping.

Within BC, the PPC rule is: good deal if last digit of parker rating is first digit of price. Without BC, the PPC rule seems to be: great deal if the last digit of the parker rating is 2 more than the first digit of the price.</description>
         <link>http://www.pacificspirit.com/2007/04/17/introducing_the_parker_price_curve_ppc</link>
         <guid>http://www.pacificspirit.com/2007/04/17/introducing_the_parker_price_curve_ppc</guid>
        
        
         <pubDate>Tue, 17 Apr 2007 08:04:53 -0800</pubDate>
      </item>
      
   </channel>
</rss>
