OK, that gets the geeks reading this one. Really, I am not working with new technologies, but rather integrating .NET with some fairly old technologies. I am doing a lot of work with marshalling between COM and .NET. OK, maybe that sounds mind-numbingly boring to some, but I haven’t worked with COM code in quite awhile now… it will be kind of nice to have a foot in both worlds for a little while.
Architecturally, I get to stretch my legs a little. I am working with a server that will be sending lots and lots of messages back to my service, and I need to accomodate those messages in a manner which will not cause performance issues or data loss. Makes me shudder, recalling integrating with a message pump about 6 years ago. Another app started throwing lots more messages than I considered, and crashed the application. At least this client recognizes the feasibility of MSMQ for this application.
My friend, Rodney Wade, has been on a reality TV show for the past 2 weeks. You might (or might not) recognize his name, he goes by the nickname “Munch”. Tonight, he was one of the guys cut. He had some good one-liners on the show, and had a lot of exposure. Kind of weird to see someone you know on a TV show, see stuff about them in the local paper, hear them on the radio, and see their picture in a bunch of different magazines all within 2 weeks.
XML and RSS
You might look through my blog archives and see a distinct lack of entries regarding RSS, aggregators, creating an aggregator, etc. I have a couple ideas loosely related to RSS, but for the most part I focus on sports, XML, and ASP.NET. RSS is XML, but it doesn’t hold the same interest for me that other aspects of XML do.
It is kind of funny when I read articles that have something to do with RSS that begin by explaining the acronym means “Really Simple Syndication”. The fact is that it no longer is Simple. OK, it never really was simple. As soon as someone sees an explanation of RSS, they immediately think “oh, that’s it. I can do that.” So they create an RSS document. Then they try to do something cute in the description element, including double quotes or a less-than symbol, and they are introduced to character entities and serialized markup.
Ever try to validate RSS? Sure, it is possible with Pilgrim and Ruby’s RSS Validator, but try to validate the XML against a schema? Wonder why a schema doesn’t seem to exist for RSS? Heck, why is the code for RSS Validator so complex for simply validating an XML document? Part of the reason is that XML Schemas don’t support co-occurrence constraints. Part of the reason is the varied content model. Part of the reason is the mixed content model of RSS’ body (or xhtml:body, as the case may be). I started writing an RssValidatingReader, and quit once I really looked at what it takes to make a feed “valid”. It is almost impossible to validate using the ValidatingReader concept with extensible validation handlers added in. I found it was simpler to load a feed up in a DOM and use the same model found in the Python model. And that is frustrating.
RSS is deceptively simple, and people create RSS feeds based on a couple lines of code that they found in a recent magazine without any real knowledge of what RSS is, what XML is, or why they should be concerned with serialized HTML within a mixed content body element. And good, because at least people are using XML without asking “why? but isn’t it just bloating the data with all that markup?” Suddenly, those 5 lines of code using System.Net.HttpWebRequest are hugely popular again. They were popular 2 years ago when nobody could find the XMLHTTP equivalent in .NET, and they are popular now to grab blog entries. Even better, people are forced, out of interest, to go peeking around unfamiliar parts of .NET.
Jeff Julian pointed out something interesting to me, something that has eluded me throughout the blog interest in the past year or so… The really interesting part of RSS is not about RSS itself, and it is not about the posts and the information (or lack thereof) contained within them. The really interesting part of RSS is how it has served to introduce people to XML. It convinces people to use XML in imaginitive ways, in ways that create entire communities. RSS shows people the tip of the camel’s nose in the tent. Once they “get it”, how XML is just about data, they suddenly see why XML is great for lots of stuff.