February 7, 2004
@ 11:28 PM

Yesterday I wrote an entry about the fact that given Microsoft is such a big player in the software market there is the perception [whether correct or incorrect] that once Microsoft enters a technology or product space then smaller players in the market will lose out as customers migrate or Microsoft outmarkets/outspends/outcompetes them. The post also dwelled on a related topic, the perception that Microsoft is fond of vaporware announcements to hinder progress in prospective markets.

After writing the post, I deleted it after it had been on my blog for about 5 minutes. I wasn't happy with the quality of the writing and didn't feel I properly expressed my thoughts. However just the process of writing stuff down made me feel better. Having seen the effects of the Microsoft entering smaller markets on existing participants at a personal level (at least one person has claimed that the fact that I created EXSLT.NET lost him business) as well as at the product unit level (the various technologies the SQL Server Product Unit comes up with from ADO.NET to SQL Server to core XML technologies) there were various thoughts bubbling within me and writing them down helped me understand then come to grips with them.

I definitely need to get a personal journal. I'd have loved to read that post one, five and ten years from now. However it wasn't really for public consumption.


Categories: Life in the B0rg Cube

February 7, 2004
@ 11:10 PM
  1. Autodiscovering feeds as you browse the Web. Every link to a feed found on the web pages you browse to from RSS Bandit are available in a handy drop down


  2. Unread items folder


    Categories: RSS Bandit

    February 7, 2004
    @ 11:00 PM

    This is a bugfix release. Differences between v1.2.0.89 and v1.2.0.90 below.

    • FIXED: RSS Bandit icons don't show up in shortucts on desktop or in start menu.

    • FIXED: Search Folders now can be saved also without specifying a search expression (e.g. Unread items only).

    • FIXED: Posts in Unread item folders look like gibberish.

    • FIXED: RSS Bandit no longer tries to convert HTML in feeds to XHTML. This means a large number of feed errors about indeclared namespaces and the like should no longer appear.

    • FIXED: The [Next Unread Item] button now iterates through posts in selected Search folder, if there are unread items.

    • FIXED: Sometimes an exception is thrown if [Next Unread Item] button pressed while comments for an item are being downloaded

    • FIXED: Tree view flickers when application is loaded


    Categories: RSS Bandit

    February 6, 2004
    @ 05:00 PM

    A few days ago XML 1.1 became an official W3C recommendation. Mark Pilgrim, contrary to W3C guidelines, has celebrated by converting his RSS feed to XML 1.1 which means it currently cannot be processed by any Microsoft XML technologies from the XML parsers in the .NET Framework to MSXML which is used in a host of products from Internet Explorer to Office 2003.

    This is the first step in fragmenting the interoperability on the Web gained by XML. It seems the next step will be W3C sanctioned binary XML. Anyway let's get back to XML 1.1. What exactly is wrong with it one might ask? The biggest thing wrong with it is that it is backwards incompatible with XML 1.0. A good summary of all the things you need to know about XML 1.1 is covered in Chapter 3 of Elliote Rusty Harrold's Effective XML

    Everything you need to know about XML 1.1 can be summed up in two rules:

    1. Don't use it.

    2. (For experts only) If you speak Mongolian, Yi, Cambodian, Amharic, Dhivehi, Burmese or a very few other languages and you want to write your markup (not your text but your markup) in these languages, then you can set the version attribute of the XML declaration to 1.1. Otherwise, refer to rule 1.

    XML 1.1 does several things, one of them marginally useful to a few developers, the rest actively harmful.

    • It expands the set of characters allowed as name characters

    • The C0 control characters (except for NUL) such as form feed, vertical tab, BEL, and DC1 through DC4 are now allowed in XML text provided they are escaped as character references.

    • C1 control characters (except for NEL) must now be escaped as character references

    • NEL can be used in XML documents, but is resolved to a line feed on parsing.

    • Parsers may (but do not have to) tell client applications that Unicode data was not normalized

    • Namespace prefixes can be undeclared

    XML is a lousy format for most of the things it is used for. The one benefit it has is that it is widely supported and a guaranteed way to interoperate in a cross-platform manner. By tampering with this the W3C is effectively diluting one of the few benefits of using XML. This is an regrettable occurence. Unfortunately it looks like things will get worse now that the W3C also wants to dabble in “binary XML”.


    Categories: XML

    A mailing list dedicated to discussing RSS Bandit is now available. Details on how to susbscribe to the mailing list or view its archives are available here.

    Also thanks to all the folks that sent in feature requests. Torsten and I will sift through the two dozen responses, extract the various feature requests, discard some, prioritize the rest, enter them in the RSS Bandit feature request database then get coding.


    Categories: RSS Bandit

    I just tried out the President Match tool which tries to figure pick which US presidential candidate shares your views based on a poll and my results were

      1. Kucinich 100%
      2. Kerry       96%
      3. Sharpton  90%
      4. Edwards   90%
      5. Dean        89%
      6. Clark        87%
      7. Liberman   83%
      8. Bush         37%

    I'm unsurprised by how far away George Bush is from representing my perspectives but I am surprised that Kerry comes so close. I'm definitely going to do some research into his position on certain issues. I had an ex-grilfriend call me a long time ago gushing about Kucinich who told me I'd love his campaign if I ever looked into it, I guess she was right.


    February 4, 2004
    @ 05:52 AM

    Based on recent reports it looks like Colin Powell is practically admitting there were no Weapons of Mass Destruction in pre-war Iraq although this was the primary justification for the US invading the country in an action that has left an estimated 8000 civilians dead. That's quite a number who've lost their lives over a clerical error which happens to have spiralled the US deficit and made a few defence contractors richer.

    I was curious as to whether I could look up the definition of “war crime” and see if starting a war for bogus reasons qualifies. My search lead me to the Crimes of War project and an article entitled Who Owns the Rules of War? which had these interesting paragraphs

    The enduring law established at Nuremberg has thus turned out not to be the ''crime of aggression'' but a reaffirmation of war crimes as traditionally understood -- with two important innovations made necessary by the Nazi death camps: genocide and crimes against humanity. Nuremberg also had serious gaps. Most significant, it failed to address the terror bombing of civilians and the deliberate consuming of whole cities (Dresden, Tokyo) by fire -- the most enthusiastic practitioners of the latter being the Allies.

    The failure to prosecute the Allies for firebombing cities is one of the strongest arguments today for why war-crimes tribunals should not be conducted by the victors. Many regard this argument as so clinching, in fact, that the mere charge of ''victor's justice'' is enough to end debate.

    That clarified things for me. The definition and prosecution of a “war crime” is really up to the victors so the answer to my question is that it is highly unlikely that the events leading up to the debacle in Iraq will ever be considered a “war crime”. The rest of the article goes further in convincing me that the term “war crime” is a mostly meaningless phrase which has never been uniformly applied and for which there are very few if any useful metrics.


    Categories: Ramblings

    February 4, 2004
    @ 04:20 AM

    Every once in a while someone asks whether I plan to add support for reading newsgroups via NNTP to RSS Bandit. I believe I've reached the point where I'm bored enough to actually give it a shot and since there don't seem to be any freely available libraries that provide this functionality for .NET and have licencing requirements I'm comfortable with I may have to write the NNTP code myself.

    The only question is whether this is actually functionality people are interested in or not. I definitely would use it since I monitor newsgroups like microsoft.public.dotnet.xml and microsoft.public.xml but would the average RSS Bandit user think it was a worthwhile feature or would my time be better spent elsewhere?


    Categories: RSS Bandit

    February 3, 2004
    @ 05:36 PM

    Below is the list of features I want to add over the coming months in order of priority. If you're interested in RSS Bandit's development post a response with the list of features you would like to see in order of priority.

    1. Support synchronizing RSS Bandit state accros multiple machines using SIAM.

    2. Experiment with ways to improve performance like removing dependence on SgmlReader and working on multithreading issues..

    3. Work on getting localized versions of RSS Bandit for various languages. Need to recruit translators.  

    4. Figure out how to locate interesting content. Perhaps via Technorati integration?

    5. Support blog posting using ATOM API.

    6. Support ATOM syndication format.

    I'm really running out of ideas of features to add to RSS Bandit. It seems we already have more features than most other Windows desktop aggregators and there is only so much more we can add. Torsten is still looking at doing weird, wild, wonderful stuff like seeing what it would look like to add ThreadArcs to RSS Bandit.


    Categories: RSS Bandit

    In his post entitled Business Rules, OCL, XML and Schemas Daniel Cazzulino writes

    DonXML is proposing extensions to OCL to express business rules that can be used at code-gen time and at run-time. He mentions my Schematron implementation called Schematron.NET, which allows many business rules to be expressed simply in terms of standard XPath expressions. I believe such an XPath-based language is good enough to express almost every business rule.

    Udi Dahan commented as an example, a rule "only a bank manager can authorize a loan above X" which he said couldn't be expressed with Don's idea. It could, indeed, with something along these lines (XPath-like):

    <assert test="sec:principal-role('BankManager') and po:Loan/@Amount < 1000">
      Only a BankManager can place a loan of more than $1000.

    Using rules-based XML validation is a good way to augment the capabilities of the W3C XML Schema language which is traditionally used to describe message structures in SOAP-based XML Web Services. In the post on Daniel's blog Udi Dahan asks

    I like the technique. I'm still puzzling over the strategy. From a SOA approach, where does this go ? What makes it different/better than any other rules engine ? You've given me something to think about. Thank you.

    In an SOA approach the rules are part of the message contract. A service endpoint can accept certain kinds of messages that satisfy its message contract. Using a rule-based language like Schematron just makes for writing a tighter contract than one could write using a traditional XML schema language like XSD.

    In fact, Aaron Skonnard wrote an article on MSDN entitled Extend the ASP.NET WebMethod Framework by Adding XML Schema Validation  that introduced this to some degree which he followed up with two episodes of MSDN TV; Validating Business Rules with XPath Assertions, Pt. 1 and Validating Business Rules with XPath Assertions, Pt. 2


    Categories: XML