April 2006 Archives

M. David Peterson

AddThis Social Bookmark Button

via a forward from Dan Brickley to the semantic-web mailing list we learn from Ted Guild:


From: Ted Guild
Date: Thu, 27 Apr 2006 10:58:26 -0400
Subject: change of W3Cs XSLT service

We are retiring our XT based service that has been in use since June
of 2000. The Saxon based XSLT 2.0 replacement [1] should be backwards
compatible.

All transformation uris to the old service will be redirected to the
new one, there should be no perceived change. Many of the higher
volume transformations were tested.

[1] http://www.w3.org/2005/08/online_xslt/

– Ted Guild W3C Systems Team http://www.w3.org

While there couldn’t be enough good things stated about XT, the original XSLT processor developed by none other than James Clark, the same can be said about Dr. Michael Kay’s Saxon processing engine. Suffice it to say, without the first the others would be less likely to have followed.

A tremendous amount of gratitude to both James Clark and to Dr. Michael Kay for all that they have collectively done to bring about such a marvelous programming language, with full support via two tremendous processors in XT and Saxon respectively.

Also, to Bill Lindsey who has continued to maintain the XT processor, keeping things up-to-date with the latest offerings in regards to EXSLT, JAXP, and TrAX as well as a consistent and ongoing list of fixes and improvements along the way.

Thanks Bill!

M. David Peterson

AddThis Social Bookmark Button

Update (and quite a long one): As per Jeff Schiller’s and Len’s comments below (thanks Jeff, Len!)

* Fixed the mention of CLI to read CLR instead. The difference to those of you unaware… CLI refers to the ECMA Common Language Infrastructure specification, the CLR is the runtime implementation of the CLI spec, whether this be Microsoft, Novell/Ximian/Mono, or DotGNU Portable.NET. Also, see footnote one below.
* As both Jeff and Len point out, the difference between a plugin solution and Trident (IE’s rendering engine)-native support for SVG is of major significance. If you consider things from a very simplistic perspective, a plugin sits on top of the underlying processing engine, so at a bare minimum, when Trident notices there is an SVG document to render, the cost of passing this document to the plugin for rendering, wait for the result, to then output the result is substantial. The result in this case is a simple performance issue.

Of course taking things one step further, compound documents in which could contain any number of formats such as XHTML, raw XML, reference to CSS files (or embedded CSS for that matter), in the case of Mozilla, XUL and XForms, in the case of Opera, WebForms 2.0, and in Mozilla, Opera, and (as Jeff points out, eventually) Safari, SVG and Canvas, And this is a non-inclusive list, especially when you consider microformats (see Uche’s recent article that covers this topic extremely well!) in which can be extended without limits given the now ALL major/significant-browser support for XSLT. Even excluding microformats, and ignoring the current set of standards groups at the W3C that are working towards standardizing a much richer set of UI components, as well as a detailed compound document specication — Even then you still have a large base of important standards in which need pure native support to be enabled to truly take advantage of all that compound documents have to offer this WorldWideWeb of ours.

With that said — I really need to clarify my point regarding the use of Adobe’s SVG engine. This is a pure-and-simple time to market type solution, and should be seen as only temporary such that enough time can be allowed for MS to build solid native SVG support directly into the Trident engine. This is REALLY important stuff! (both the “do what you have to do to get SVG support integrated into IE7″, even if that means via an existing plugin as well as the “then take the time to do it right such that in future releases the support is native, and the conversion to XAML and back again, completely transparent.

Of course as Len helps clarify (once again, thanks Len!),

M. David Peterson

AddThis Social Bookmark Button

XML.com: Microformats in Context

Are schema technologies a way to manage the flexibility that XML brings to the table, or just another weapon to put down users (”You don’t validate. Go away”)? Of course, the way I’ve posed these questions reveals my bias. I think that XML should be a tool for expressiveness and controlled diversity on the Web. I disagree strongly with the notion, recently expressed in a few quarters, that there are only a few viable XML formats, and that people should stop creating more. At the center of this controversy is the new Web 2.0 hotness: microformats. If you’re not already familiar with this phenomenon, first read “What Are Microformats”.

Uche was kind enough to allow me a sneak-peak at this article before it hit the XML.com MicroPress. As a result I now see Microformats in a completely different light than I had before, and have changed the focus and direction of how I plan to now include support for Microformats in various projects I have under development. NOTE: If interested, you can monitor the progress of several of these projects at http://dev.extensibleforge.net. Access to the SVN repo is available as well. Visit the previous link for more information.

In regards to truly understanding Microformats, and the importance that XML plays in the here and now, and in the future (in fact, ESCPECIALLY the future) you need to read this article. Very few things could be considered more important…

For example,

Rick Jelliffe

AddThis Social Bookmark Button

I’m writing this blog on a Firefox browser on Windows XP. Works fine.

Actually, I’m not. The Firefox is running on an Ubuntu Linux operating system, which is being hosted through the free VMWare private virtualization software on top of Windows XP. Unix on top of Windows! VMWare promote a system where you package up configured applications with the ideal operating or desktop environment for them, as virtual appliances.

With all the talk of thin clients versus fat, this surely is the fattest kind of client! Not just a fat application, but the whole operating system with it! This is a great idea for software deployment

M. David Peterson

AddThis Social Bookmark Button

Hey, I didn’t come up with the pricing structure. But no matter the price; I’m paying.

The reality, however, is that the the cost, in terms of $’s and ¢’s has no direct relationship to any of this. At least as far as I’m concerned. It seems to me you simply can not purchase this kind of wisdom in exchange for anything other than your time and willingness to dig deep down inside of your [($oul, $elf) where $ == the worth you place upon your (soul, self)], to gain real in-site into what it truly means to value ones own worth. (note: there’s a reason for the boolean comparison)

I’ll let you guess who wrote the following, and then provide you with a link in which those in whom truly seek, can discover how life can really be valued when you take away the $’s and ¢’s and simply see life for what it truly can be, should be, and for some folks, is.

Give it to the girl at the door so she can put it in an offshore bank account for later application to your first son’s bail when he gets a driver’s license.

The long tail isn’t a statistical curve; it is a tool. If you hook up to it in a ‘gain sensitive’ spot, you can have a lot of influence and almost complete anonymity. You just have to accept that the idea if unsuccessful will be tried again later and if successful, that you get none of the credit. On the other hand, if you invest that nickel well, you will get many happy returns and none of your poor relatives will be wiser.

Rick Jelliffe

AddThis Social Bookmark Button

The Microsoft Office formats are open in the sense that every Microsoft Office competitor from StarOffice to OpenOffice.org to Word Perfect to ThinkFree Office has reverse engineered the Microsoft Office format and uses it freely yet they’ve never been sued by Microsoft for doing so. says ZDNet’s George Ou.

Open in the sense that a locked though crackable safe is open.

Rick Jelliffe

AddThis Social Bookmark Button

Here is XML’s grammar expressed as an automaton in XML syntax. It is based on Tim Bray’s Lark grammar, which Tim has recently released.

I’ve XML-ified it to give a headstart to anyone interested in making their own XML processor: you could write an XSLT script to generate code for example. The XML version is based on a finite state machine, but with a couple of extra attributes that act on stacks. There are various Lark-specific actions included in the transitions: these provide a good guide for some of the processing required for a complete XML processor. However, of course you might prefer to annotate it with your own actions.

A big thanks to Tim for the original productions!

M. David Peterson

AddThis Social Bookmark Button

In a recent post to the LIVE-CLIP mailing list, Matt Augustine, Software Design Engineer on Ray Ozzie’s CTO Concept Development Team writes:

The Live Clipboard specification, example and technical overview have been updated to version 0.92. The primary changes are:

Each <lc:item> element contains data as follows:
If the data can be represented as well formed xml, then the xml should be appended as a child node of the <lc:item> element.
In all other cases the data should reside in the CDATA section for the <lc:item> element, optionally encoded in the format described by the encoding attribute of the <lc:format> element.

In the Javascript object model presented by the control script, the xmlData property of DataItem is set to the root XML node inside <lc:item>, if <lc:item> contains XML data. If <lc:item> contains non-XML data, it is stored in the data property of DataItem.

The hCard and hCal microformats used in the example page and in the specification examples have been updated as suggested by Tantek Çelik. If anyone is interested in the specific changes, let us know and we will list them.

The hCard and hCal helper scripts used in the example page preserve the original XHTML data when they are initialized from an existing instance of a microformat (as during a paste operation). This way, even properties that are not recognized by their parsing logic are retained if they are subsequently copied.

Special thanks to Danny Ayers, M. David Peterson, Tantek Çelik and the others on this mailing list who have contributed their insight to making Live Clipboard as good as possible.

Specification - http://spaces.msn.com/editorial/rayozzie/demo/liveclip/specification/v092.html
Example - http://spaces.msn.com/editorial/rayozzie/demo/liveclip/liveclipsample/clipboardexample.html
Technical overview - http://spaces.msn.com/editorial/rayozzie/demo/liveclip/liveclipsample/techPreview.html

Matt Augustine
Software Design Engineer
CTO Concept Development Team
Microsoft Corporation

It’s amazing to me to have both watched and participated in the conversations/debates that led up to these changes. I don’t think enough credit can be given to Danny for bringing this matter to the surface and engaging community members in the discussion/debate, to Matt Augustine, Jack Ozzie, Raman Narayanan, Paresh Suthar, and Ray Ozzie for listening to the arguments presented, filtering, incorporating, and presenting these changes back to the community for ratification, and to MS for allowing the doors into Redmond to be opened in the first place.

This is all REALLY important stuff! Thank you :)

NOTE: As mentioned in last weeks Saxon/ASP.NET code refresh, I am working on a demo that integrates LiveClipboard, S3, and Saxon via an ASP.NET interface. When this is ready to go I will create a new post with the code and a quick and simple overview of how it all works.

Until then, enjoy! :)

M. David Peterson

AddThis Social Bookmark Button

Update: Worth noting,

In answer (posted on April 2nd, 2006) to the question

… when we can expect a 1.0 release?

Dino Viehland responded with:

Well, the goal is to keep the betas #s down to just a single digit… With releases every 3 weeks that should give you some idea…

[original post]
IronPython: News item

In a recent post (linked above) to the GotDotNet-based IronPython Project Home Page, Dino Viehland writes:

M. David Peterson

AddThis Social Bookmark Button

ongoing � The Cost of AJAX

So saying “AJAX is expensive” (or that it’s cheap) is like saying “A mountain bike is slower than a battle tank” (or that it’s faster). The truth depends on what you’re doing with it. In the case of web sites, it depends on how many fetches you do and where you have to go to get the data to satisfy them.

I would start with the above, move on to “The Real AJAX Upside“, and then call yourself a better, more informed hacker because of it. (Or a better, more informed Mort, if in fact such a term is more appropriate in your particular case (would you admit it if it was?))

M. David Peterson

AddThis Social Bookmark Button

Dare Obasanjo aka Carnage4Life - Simplifying Your Life

Over the past year I’ve been on a mission to simplify my life piece by piece. Along the line I’ve made some promises to myself which I’ve kept and others which have been more difficult to stick with.

Typical news channels have become the junk food channel for the soul. Blogs have helped square things out a bit, but creatively paraphrashing Tim Bray’s recent “The Long Form“, blogs can easily become the HoHo to the typical news channel Twinkie.

I would start with Tim’s piece and move on into Dare’s. If you read nothing else today, or even this week, you’ll probably be all the better for it.

M. David Peterson

AddThis Social Bookmark Button

In a recent (actually, still in progress) IM conversation with Kurt (Cagle) I submit the following gem for Quote of the Day:

Subject: More on REST vs. SOAP, and why SOAP has become more complex than it needs to be/should be.

Kurt:
When you make it too complicated, that complexity migrates its way up the stack, and build and builds and builds until you have WS-TakeOutTheDog.

M. David Peterson

AddThis Social Bookmark Button

via a recent post to the LiveClipboard “LIVE-CLIP” mailing list, Matt Augustine, Software Design Engineer on Ray Ozzie’s CTO Concept Development Team, writes:

It’s been a week since we proposed changes to the Live Clipboard specification, so I’ll provide a quick update on the progress. Since the reaction to the proposal has been good, we will go ahead with the changes. We’ve made the required revisions in the spec. and in the sample page and scripts, and everything works well. Originally, we were aiming to post the updates this week to Ray’s blog, but yesterday we had a chance to meet with Tantek Çelik, who gave us lots of great feedback about the microformat examples in the spec. and sample page. We want to take the time to ensure that all of his suggestions are integrated, so we’ll wait until early next week to post the updates.

Matt Augustine
Software Design Engineer
CTO Concept Development Team
Microsoft Corporation

As mentioned in a follow-up response to Matt’s post this is absolutely FANTASTIC! To understand what I mean, I’ve copied my follow-up comments below.

Thanks Matt, MS, Tantek, and ALL of the folks involved with making good things like this happen. The collaborative computing world is going to be a MUCH better place because of these efforts.

My follow-up comments:

David A. Chappell

AddThis Social Bookmark Button

I was recently doing another round of our popular SOA Forums across Europe which brought me to Warsaw, Poland as one of the stops. I had a chance to meet with journalist Tomasz Marcinek of ComputerWorld. It was a lively conversation which started out mostly debating his challenges on what is different about today’s concept of SOA vs what the world had already seen with CORBA, and then lead to talking about more relevant things such as loose coupling, getting started with SOA, and ESB. Tomasz has published the discussion as a Q&A - http://www.panmedia.pl/serwisy/2527-progress/2006-04/kat0107.pdf

The article is written in Polish :), but if anyone knows how to translate it please let me know.
Dave

David A. Chappell

AddThis Social Bookmark Button

With all the traveling I do (which is about 80% of of time these days), I rarely meet any celebs on the road. Over the past 5 years I have met Hulk Hogan, “Carrot Top” (Dude! Dial down the center!), and Hiraldo Rivera. In the past several weeks, I had two brushes with fame. I must be on a roll. A few weeks ago I ran into Matt Dillon at the American Airlines Admirals Club Lounge at JFK airport and just last week, while I was between flights at the Chicago airport, I had the chance to meet P!nk. She was also hanging out at the Admirals Club lounge. This time I was able to get a photo with her -

M. David Peterson

AddThis Social Bookmark Button

With the release of Saxon 8.7.1 comes the need for an updated demo. I am presently working on an extended demo that brings together the use of credentials, atom feeds as both config and page content source files, Microsoft’s LiveClipboard and Amazon’s S3. There are a few more finishing touches that need to be made, one of which requires testing against the new LiveClipboard codebase as soon as the new spec and sample code releases. When it does, and all test’s have gone as expected (or my code base fixed if they haven’t) I will create a new post with the code an annotated overview.

However, to help get you going here is a non-annotated code base that implements use of a direct .NET Stream and a couple of changes to setting the baseURI. Please see the original post in this series for more details.

I will create a new post with the above mentioned features as soon as its ready to go.

In the mean time, enjoy!

M. David Peterson

AddThis Social Bookmark Button

POX and Indigo

Steve just posted the checkin mail that went around today.

POX support is no longer an optional download but rather is an intrinsic (and ubiquitous) part of the product.

Even cooler is the fact that it’s using the existing TextEncoder that we use for the rest of the product.

Just set the MessageVersion property to the right value and the SOAP-ness gets lathered away or rinsed off as appropriate.

And btw, this doesn’t count against the $100.

In case you are unaware (and theres no real reason I would/should expect that you are aware) please see this post from my personal blog in regards to what the term “The Love” refers to. [Update: An interesting point of trivia… In the picture linked to in the previous link, the laptop (which is in some serious need for a “static free” cloth cleansing ;)) in which you can see the corner of at the bottom of the pic, is none-other than Sam Ruby’s (< link to pic of Sam at the same conference) ThinkPad . Not that this suggests anything beyond the fact that its possible to get both Don Box, and the corner of Sam Ruby’s laptop together into the same frame, at the same time… but for what its worth, now you know. A directory (with style and class :) with a few more pics from that same conference can be seen here.

Update: I should clarify that a bit better. “The Love” in the case of the title to this post refers to the general flow of XML goodness that has been streaming from MS campus as of late. In the above linked example it obviously refers to an article from Don Box titled “Scheme is Love“. If you access a partial follow-up post to the above link it extends the Scheme is Love portion a bit. Finally, what became somewhat of an infamous (maybe controversial would be a better term) post regarding my dislike of OOP as the foundation of any particular programming paradigm, this post, which Don later quoted from, should bring this all back around into how he, in a round about way, becomes a nice example of the overall “Love” that has, and I believe will continue, to come from the general MS direction in the foreseeable future. As such, the suggested nickname below.

[original content cntd.]
Queston: If he doesn’t already, do you think Don Box would immediattelly “learn” to hate me if I were to suggest the term “The Love” as a nickname? Personally, I like it… But I would also hate for “The Love” to hate me. That said, I believe its officially too late now. So I guess we’ll have to wait and see what happens. :)

Either way, “The Love” is helpin’ to spread some seriousness XML Love from the general direction of Redmond, WA, USA… a trend that I am beginning to seriously Love myself. :)

Thanks MS/Don “The Love” Box/Don “The Love” Box’s dev crew!

NOTE: Please see Don “The Love” Box’s original post for the links to each reference point in the above text.

M. David Peterson

AddThis Social Bookmark Button

In a follow-up comment to my follow-up post to “If It’s Not Broken, Don’t Fix It!“, aptly titled “It *IS* Broken, So It *NEEDS* Fixing”, Kent Sharkey writes:

It does beg the question, though (and I’m just trying to be a straight man here), “Why aren’t Atom + existing extensions good enough?” (using http://wellformedweb.org/CommentAPI/commentRss or even Dublin Core as an example)

(Nice Catch Kent!)

So yeah… Kind of left off some important pieces as to why It *IS* broken. Of course, in a follow-up comment I pointed Kent at the original post and suggested blocking out a solid 10 minutes to read all of the follow-up comments, thinking incorrectly that this, in and of itself, was a justifiable thing to do.

BzzzzT().WrongAnswer.Next()!

What I needed to do was sum things up into a couple short bullet points, or at worst, two or three sentences. But instead of correcting my mistake by creating the above, I am insted going to:

Rick Jelliffe

AddThis Social Bookmark Button

The W3C XML Schema WG is looking at an XSD 1.1, with so far only the mildest of changes. Maybe that is for the better. At one stage I heard they were considering putting in guard statements on content model particles, using the streaming XPath subset that makes KEY/KEYREF so sad.

I was initially excited by the prospect of more Schematron-isms creeping inexorably into the infrastructure, but I changed my mind on consideration. In fact, it seems the worst thing to do: only compounding XSD’s tendency for extra complication without much power. Instead, I think the W3C XSD WG should attempt to align XSD content models with RELAX NG’s more powerful content models. I was heartened in this regard to see that Michael Sperberg McQueen, an leading XSD conspirator, had a nice paper (at Extreme XML?) on the parser technique adopted by RELAX NG implementations: I think what holds back rapprochement is in some degree unsureness about the theoretical implications.

I just read a great 2004 paper on this Expressiveness and Complexity of XML Schemas by Martens, Neven, Schwentick and Jan Bex. Boy, what a great paper! It is really nice to see a paper that has strong theory, strong awareness of the real world, and a willingness to empirically sample the web.

The gist of the paper is that XSD is only a slight advance on DTD in expressive power, but there is a way that would improve its power (impacting the UPA Unique Particle Attribution and the EDC Element Declarations Consistant constraints) and move it closer to the power of RELAX NG (unranked regular tree languages).

But the paper has a lot of other interesting things to offer: it samples over 800 XSD schemas and finds that few actually use anything more than DTDs could have provided. The ones that did use something more, only used 1 level local element declarations it seems: unexpected confirmation of the idea in my blog on PVL yesterday that a parent/child single step path was good enough for validation, apparantly not for 80/20 but for 99/1

Distrurbingly, 70% of the schemas were not correct in some way: the sample was 2 years ago and some tools that were notorious generators of bad schemas have been corrected now, so I hope things have improved, but still…sheesh!

But finally the paper gets onto a lengthy discussion of having streaming XPaths either as the left-hand side of the grammar or as a guard inside a grammar, as far as I can work out. In other words, this paper both discusses the kind of alignment with RELAX NG that I favour but also discusses the alternative(?) of using ancestor-based XPaths, and surprisingly fits them into RELAX NG too. Nail my hat to the ceiling! Streaming XPath guards and RELAX NG convergence are not as antithetical, perhaps, as they might appear.

Rick Jelliffe

AddThis Social Bookmark Button

Last week on XML-DEV I suggested that there should be a competition with prize money to stimulate development of faster XML parsers suitable for high transaction work. Elliotte Harold even quoted my (not original) Open Source is not a free lunch, it is stone soup.

There are examples of industry consortia sponsoring such development: the OpenMP implementation contest for example. And groups such as OSDL offer fellowships to make sure strategic software is maintained.

At the tail of this discussion, Robin Berjon of the W3C Efficient XML Interchange WG announced a competition for a fast XML parser. His WG wants to find the fastest XML parser in order to have some benchmark to see whether the non-XML (but XML infoset carrying and XML API interfaceable) binary formats being considered deliver enough improvement to be worthwhile.

This is exactly the right kind of initiative from the W3C. It addresses my hobbyhorse that current Open Source parsers have not been written for raw speed (in fact, I see from Perl benchmarks that they get a 30 to 1 performance difference on different parsers and interfaces) and many have not benefitted from recent advances in optimizations (it is both sad and a tribute to James Clark that expat, about the first XML parser, is still about the fastest Open Source XML parser for some document types), for example my technique for scanning with SSE on x86. Not being written for speed, the relative performance of optimized binary formats is mercurial.

However, I don’t know if it will work. There needs to be money involved. It is unreasonable to expect someone of the quality of, say, SAXON’s Michael Kay to work without either support or the chance of reward. The software strategists and information architects at banks, Fortune 500s, governments, militaries and other consortia who use Open Source software should consider the benefit in time, timeliness, cost, ROI, efficiency, lower hardware outlay, etc. that, say, a 50% speed up in XML parsing time would cause: is this worth contributing to, say, a prize equal to two week’s salary of a good programmer? (say US$4000) That’s one hundred bucks each, if sharing in this with the other 40 members of your consortium?

I see it as a no-brainer, myself. Institutional users of Open Source softwre have a great opporitunity to guide development in ways that suit their organization: to encourage real product and open research that can also potentially feedback into even proprietary parsers.

I think the current top two strategic investments for encouraging higher-transaction rates in Open Source XML software would be first for some group to offer a prize to join the W3C Efficient XML Interchange competition (perhaps with a longer deadline), and second for people who use Michael Kay’s SAXON software to take out corporate licenses (Michael uses the higher-end product licenses to support work on the lower-end Open Source product.)

Rick Jelliffe

AddThis Social Bookmark Button

Doing some training last week, it became again clear that some XML users are in a bind currently with insignificant whitespace. They may have documents with indented XML but they don’t want to have to validate or transform to strip out the whitespace in element content.

I have been also thinking about a similar problem from a different angle: how to make an ultra-simple, efficient validator that does not use a grammar, just the XML processor’s stack, for basic parent/(child|attribute|pi|data|element) validation. This is part of an ongoing interest in implementing XSD as Schematron assertions: one problem with which is that Schematron (using XPath 2 for example) requires random access pretty much with a built tree. But for any kind of high transaction rate work, you really want to be able to fail early if there are foreign elements, billion laughs attacks, etc. In my company’s Interceptor product, we have Schematron processing as a third stage after basic size and evil-string-detection, then WF/validation checking. But schema validation does blow out the timing more than desirable.

So, for your delight, I present the Path Validation Language, a thought experiment in minimal schema languages, rather like UNIX access control lists ACL. You more or less make an ACL entry for each information in each significant context. I’ve tried to make it that XSD, DTD, and RELAX NG schemas (and perhaps even the streamable parts of some Schematron schemas) could be readily simlpified into a PVL schema. Obviously it could also be extended
to allow simple datatyping too or attribute defaulting, but if you go too far you may as well have the real thing. (Though I increasingly think that grammars get in the way of schemas: better to have path-based datatype attribution for example.)

Actually the syntax is unimportant (could be a PI, could be a config file, could be in XML syntax, could be just an internal datastructure from compiling a schema). The more interesting thing is the question of whether we actually need something much simpler than DTDs (which can either be written or generated from schema languages) for situations where XSD (or even RELAX NG!) is too complex or inefficient.

M. David Peterson

AddThis Social Bookmark Button

I think a new, yet quick, simple, and to the point post is in due order.

Some incredibly interesting points have been brought out from the “If its not broken, dont fix it!” post from the other day, a post in which I made because it seemed that it was possible that maybe things were being taken further than they needed to, and Atom + existing extensions was enough. As such, it seemed that it might be time to leave good enough alone.

Hey guess what?

Atom + existing extensions IS NOT good enough.

Atom by itself is good, (in fact, GREAT!) and for the areas the specification covers there simply isn’t ANYTHING better. Outside of these areas extensions are necessary. And as previously stated,

Atom + existing extensions IS NOT good enough.

The Atom Working Group is filled from top to bottom with top-tier talent, the best in the business from all areas of the technical spectrum. If these same folks are willing to bring even more of their time and expertise to fix problems in the extensions areas, it seems pretty obvious to me…

Lets get out of their way, and let them get their work done.

At least thats what my personal plan is… Your plan is obviously up to you. But it seems like the right thing to do here… Hopefully you feel the same way.

Thanks for your consideration on what is an obvious matter of significant importance.

M. David Peterson

AddThis Social Bookmark Button

Well, not in this case anyway…

mnot’s Web log: Are Namespaces (and mU) Necessary?

It’s become axiomatic in some circles — especially in WS-* land, as well as in many other uses of XML — that the preferred (or only) means of offering extensibility is through URI-based namespaces, along with a flag to tell consumers when an extension needs to be understood (a.k.a. mustUnderstand).

The reasoning is that extensibility should be as easy as possible. By leveraging one registry — DNS — you can use URIs to allow anyone to create your own uniquely identified vocabulary, without any overhead of co-ordination.

This is often contrasted (and deemed superior) to the approach of the IETF, which uses IANA to manage many a namespace, requiring prospective registrants to jump through a variety of hoops to get in.

For those unaware, I am one who preaches to anyone willing to listen, or not listen for that matter, that without XML Namespaces, extensibility is a pipe dream. As such, why am I now suggesting this is no longer the case?

M. David Peterson

AddThis Social Bookmark Button

Update: Aristotle Pagaltzis has taken a few moments to provide some extended information on this topic. Please see his provided insite below.

Thanks Aristotle!

Update: Well well, it seems we may have an even more interesting twist to things than I had originally thought could be the case. Please see David Powell’s counter arguments to the “obvious benefits” of the Thread Extension below.

Thanks David!

[MUSTREAD]
Update : After additional comments from Aristotle, who was then followed up by James Snell, author/editor of the Feed Thread Extension specification, I have come to the conclusion that the FTE is how I originally believed it to be. I’ve followed up their comments with a new post to *hopefully* bring this all to a close. [INSERT: Just reread my own follow-up in which I mentioned I would mark this update with a MUST READ attribute in regards to their comments. thus the added attribute above.]

It *IS* Broken… So It *NEEDS* Fixing!

Thanks to Aristotle, David, and James for providing their insite into this matter. It’s a pretty important matter, and worthy of a good discussion… which is what just took place. Thanks folks!

[Orig. Post]
Dare Obasanjo aka Carnage4Life - Pointless Reinvention of the Wheel

Great, not only do we now have to deal with the an increase in the number of competing XML syndication formats due to the Atom process …By the way, have you seen the Atom 0.3 vs. Atom 1.0 debate? I told you so… we now also have to deal with duplicates of all the popular RSS extensions as well? Give me a break!

This post started out simple, then grew into something completely different and ten times longer than its needs to be. There’s some good content that can be salvaged for a separate post, on a completely different topic. In the mean time…

Unlike Dare (or maybe his point is just not to break existing software, leaving the existing extensions in place if they already exist, adding new extensions instead of replacing the old with the new?), I understand there is both the need and desire for the Feed Thread Extension.

But like Dare, I recognize that breaking software by replacing existing extensions with new ones causes more damage than it could EVER do good (unless I have completely missed the point, it seems to me this is what his gripe is about… if its not about replacing old with new, and instead never supporting the old, and choosing to implement the new, then I’m not so sure I understand where the problem is.)

Please don’t do that. I REALLY like Atom. It’s an important document specification that goes beyond personal preference over RSS 2.0, as it solves some very real problems that need solving. If significant and recognizable members of the Atom community start breaking the software that the Atom specification helps fix, the message sent is one of being less concerned with fixing problems, and more concerned with having things your own way.

I know for a fact that’s not the message intended to be sent, but I’m pretty sure that’s the message being received.

Thanks for your consideration in this matter. It seems like a pretty important one to me.

M. David Peterson

AddThis Social Bookmark Button

This week provided some interesting opportunities for discussion on the LiveClipboard mailing list. While only a small change in the grand scheme of things, what I’ve just witnessed take place is something I am still in a bit of ’shock’ over. But shock like this is something I can handle.

The details of the discussion are not important to this post, as you can access the April 2006 mailing list archive if this interests you (the first topic [0.91 Spec comment: escaped markup is harmful] @ the link provided. Starts with a post from Danny Ayers on Tues, April 4th and moves forward from there. Thanks for getting this conversation started, Danny!) What is important is this:

The community spoke. Redmond listened.

Update: If I would have thought things through just a tiny bit, I would have realized that a CTO of a group headed by Microsofts CTO (Ray Ozzie) didn’t really make a whole lot of sense. As such, I have returned the text to appear as it does on the signature of Matts original post as “CTO Concept Development Team” which is the full name of the group. My apologies to the folks as MS for my decision to give Matt an infered promotion, without at least asking if it would be okay.

To my defense, I do stupid things sometimes. (thats all the defense I have at the moment… I’ll let you know if that changes. :)

[Original Post Continued]
Here’s the result recently posted to the list by Matt Augustine, Software Design Engineer, CTO Concept Development Team @ Microsoft:

M. David Peterson

AddThis Social Bookmark Button

Jonathan Robie’s XQuery Blog: XSLT vs. XQuery

About once a week, someone asks me a question about the relationship between XSLT and XQuery - is XQuery a better language than XSLT? when would I use each language in preference to the other? is there really any fundamental reason that XSLT can’t be optimized for large data stores just like XQuery? which language is better for writing really large applications?

Here are some of the differences between the two languages.

I’m quickly catching up with some blog reading, and came across this gem from Jonathan Robie.

If you are someone who wonders “Should I use XSLT or XQuery?” or you are someone who is commonly asked this question, then add this entry to your favorites.

In fact, make it your home page. :)

M. David Peterson

AddThis Social Bookmark Button

[QUICK-UPDATE: Brendan Taylor just offered up the piece to this I was missing (copied from his comment below):

Who said anything about a crisis?

I think it’s a good idea. Part of the point of the HTML/CSS combo is that you can ignore the CSS (because you’re using lynx or you’re blind or you think designers have a terrible sense of style) and still have everything work properly. People don’t always remember that and going naked for a day encourages them to.

As I stated in my follow up, now I get it, and wish I had known about this a day earlier as I would have joined in on all the fun. :) (although, I’ve probably just caused the rest of you to require therapy because of the images just burned into your inner-eye, huh? Hmmm… Sorrry ’bout that! :D)

[Orig. Post]

Is “syntactical” even a word?

Oh, well, never stopped me before, so I won’t let it stop me now.

CSS Naked Day

Where did my Design go?

Welcome to the first annual CSS naked day which will be happening April 5th, 2006. The idea behind this event is to promote Web Standards. Plain and simple. This includes proper use of (x)html, semantic markup, a good hierarchy structure, and; well, a fun play on words. I mean, who doesn’t want to get naked?. Feel free to see the original reference article for more information.

Have I missed something? Is CSS in danger of being replaced by something else? And what about the hierarchy structure? Is there going to be a first annual no hierarchy in your markup day. What about a no markup day? Now that would really fit well with the whole naked theme!

Don’t get me wrong… I’m all for getting naked, as long as — Ummm… I think I’ll just stop there. This is a family blog, so I’d best keep it Family Rated :)

So back to this whole CSS thing.

M. David Peterson

AddThis Social Bookmark Button

Update : In response to a post made by Danny Ayers, I’ve added some extended information to the bottom of this post that helps clean this theory up a bit more.

[Orig. Post]
Dare Obasanjo aka Carnage4Life - Metadata Quality, Events Databases and Live Clipboard

In the above linked post, Dare Obasanjo quotes from a recent post from Jon Udell:

All this leads up to a question: How can I copy an event from one of these services and paste it into another? My conclusion is that adopting Live Clipboard and microformats will be necessary but not sufficient. We’ll also need a way to agree that, for example, this venue is the same as that venue. At the end, I float an idea about how we might work toward such agreements.

He goes on to share his own feelings based on his solid experience of working in this space at a fairly intense level for quite some time. As such, I don’t want to come across in a way that suggests that I have the absolute answer, problem solved, lets all take the day off and go snowboarding one last time before the season officially ends here before too long.

While I’m all for the snowboarding piece, I’d be willing to go even if what I am about to propose is not something that would, or even could work from a local, national, and international level.

That said, I ask the titled question:

Are We Trying Too Hard, And Simply Overlooking The Obvious?

It seems to me we might be. As such, it seems worth taking a look at the following to determine what, if anything, can be done with it:

Dan Zambonini

AddThis Social Bookmark Button

Romancing the stone

First, a clarification on the title; this isn’t a “How to make a developer fancy me” article. That would be too easy: 1) be of the opposite sex, 2) that’s it. Which, strangely, is also the same article as “How to make a developer scared of me”.

I’m generalising here, of course — there are also gay developers.

The Jewel of the Nile

How does a company recruit the very best developers? All companies, no matter how big or small, know that they are only as good as the people in them. And so we’re all fighting it out for the best in the field, the shining jewels (I really had to shoe-horn that in).

You have to assume that the basic offering is pretty similar across the board — a good working environment, a good salary, a good team, good benefits, and interesting work. So what can you do that will differentiate your position from the other thousands available from other employers? And, just as importantly, what can you do to reach those who aren’t pro-actively looking for work — the 10x developers that are already (although maybe not 100% happily) employed?

It helps if you’re a big player — a Google, Apple or Microsoft who can easily shout about R&D time, exciting technologies and world-class mentors. But how about the smaller players?

Fatal Attraction

And so I’m looking to you for suggestions.

What have you seen, maybe applied for, that rocked your boat? Was it the humorous job posting? Did a company stand out because of their web site, maybe an impressive client list?

Or did the job just sound that much better? If so, was it about working with specific technologies, certain methodologies, or something else?

Kurt Cagle

AddThis Social Bookmark Button

James Governor, in a post recently on MonkChips, raised the issue about code architecture and complexity, (IBM architects catch lesscode virus? maybe not) that started me thinking about the specific role of architects themselves. The term (or title, depending upon how its used) has a comparatively recent currency, and I sus