The XML Pull

What's all the hubbub about Microsoft's XML patents?  It's not as if the company is trying to patent XML itself.  You'd think by all the noise being stirred up over it that Microsoft was trying to steal milk from babies. And believe me, they are not.  In fact, Microsoft GIVES milk to babies. When my son was still a baby he frequently received free milk from Microsoft.  It's right there in the coolers with the free Coke.  On days that I brought him to work, if I was a little busy entering loopholes for viruses into the operating system he might take it upon his own initiative to crawl down the hall to the kitchenette where he would grab himself one or two cartons of delicious, all American FREE milk.

Now you might be wondering if he stuck to just milk alone, because believe it or not, there is free juice as well; apple, orange AND berry.  It would be a fair assumption to make, since children tend to like juice as much as they like milk.  But Charlie, he likes his milk, and he likes it warm.  My wife fooled him one day when he asked for hot-cocoa.  Instead she just gave him warm milk.  He was a pleased as punch.  Which is sometimes difficult to do when there is no actual punch involved.  So that leads you to the next logical question.  Just how does he operate the microwave to heat his own milk?  Luckily, he was not often the only baby in the kitchenette getting milk.  Sometimes when a group of three or more are there together, they team up and build a human (albiet babyish) ladder up to the top of the counter.  Charlie was a smart little guy at nine months.  He knew and could use over twenty different sign-language signs and could operate the VCR.  Believe me, pressing the 'cook 1 more minute' button on the microwave was easy to teach him.  We usually let him do it at home anyway, and that one has many more buttons.  You should have seen when he tried to defrost an ice-cream sandwich.  It was a hoot.

Sometimes, watching him figure things out for the first time gave me ideas.  For example, when he first figured out that the nesting boxes had other boxes inside, and so on.  It brought a smile to his face, as well as mine.  I immediately saw the simplicity in the recursion, and that led me to a big break-through in the design of .Net XSLT engine.  I began to see signs in other toys that he played with.  The DUPLO was a dead give away.  Interfaces between components should be interlocking. You should have been there when the light-bulb went off in my head.  He was pulling a rope tied to a small wooden wagon.  The answer seemed obvious.  The .Net XML components should rely on pull-model parsing.  Any baby knew it was easier to pull than to push.  All XML components should interlock amongst each other using a standard pull-model abstraction.  It was brilliant.  I began to wonder if he was somehow trying to communicate this all to me and more.

I knew what I had to do.  I went to work and the rest is history.  The .Net frameworks shipped with Charlie's innovative ideas. I knew that one day he should reap the reward for what he had contributed to computer science and the world.  I wrote up patents for these XML related technologies and that was that. 

Of course, I was duped.  The fine print in my employment agreement spelled it all out.  When I put my John Hancock to the document, I ignorantly agreed to hand over all my inventions to the company.  They got the patents from me without even a struggle.  Sure they deposited a small sum into my bank account, but all I really got left with was a few black-lucite cubes in my office with the names of the patents pending.  My son was barely a year old, and already he had gotten scr****d by the MAN. 

Uh, so maybe they did take milk from a baby afterall.

But I digress

Matt