Enjoy Every Sandwich

Thoughts on SQL, XML, .NET and sometimes beer.

<December 2008>
SuMoTuWeThFrSa
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910


Navigation

Tools

List O'Links

Kent's Other Stuff

Subscriptions

News

Please read these
Notices and Disclamiers

Post Categories

Article Categories



Monday, June 07, 2004 - Posts

Take Outs for 7 June 2004

Taken out today: Thanking those who serve

# of referenced posts by category: Development: 3; Other: 2; SQL: 4; WILY: 2

Post of the day: Secure deployment is just too hard, Microsoft

posted Monday, June 07, 2004 7:30 PM by ktegels

Steve Maine, you're right. There is Zen in XML

Steve Maine recently wrote about his observations of an Eastern thought pattern emerging in the writings of some XML heavyweights:

I've been feeling a strange resonance lately – the sense that there’s a parallel between the technical concepts present in XML and the philosophical concepts of Eastern religion. I'm far from a Buddhist scholar, but the main points of Don and Doug’s talk at TechEd seemed to have a distinctly Eastern overtone to them. Perhaps when people talk about the “Zen of XML”, they're not completely joking.

Now I am neither an XML or Zen heavyweight, but I don't think its a joke at all. In fact, I've just finished writing an article for SQL Server Magazine about three best practices for using the XML Type in YukonSQL Server 2005 based. My theme is based on the teachings of the Tao Te Ching as translated by Stan Rosenthal. The first paragraph of chapter two of this translation really stood out to me:

We cannot know the Tao itself, nor see its qualities direct, but only see by differentiation, that which it manifests.

In most translations, Tao is "the way" or "the natural pattern of organization and operation" as I like to think of it. How I wish I would have paid attention to that before going down a slippery slope with the XML Type! Needless to say, I hope I learned a lesson here by discovering these three best practices:

  1. Initialize the value of an XML type instance as fully as possible.
  2. Minimize the number modifications made against the instance.
  3. Use FOR XML to generate infosets into XML type variables instead of using serial construction.

Through testing, it appears that the underlying store for the XML Type is optimized more for query and serialization much more so than for frequent modification. When you need to fabricate an XML infoset as an XML Type, use the FOR XML construct on a tabular data source to get it. The article goes into the details as to how and why I call these best practices. What I want to talk about here is the Zen aspects of what was going on in my head.

At first I took "we cannot know the Tao itself, nor see its qualities direct, but only see by differentiation, that which it manifests" literally. If the XML Type has its Tao, then I had to give up on trying to understand that directly. For a while, I was thinking that the XML type probably had something like a DOM or sequential node set underlying it. After some testing ("seeing by differentiation that which it manifests"), I came to understand that my normal models of thinking about the internal storage were so wrong that I had to abandon them. I couldn't come to know this Tao at all. I just had to let it be. The teaching here is more crudely stated as "don't worry about what's going on under the covers. Let it be abstract and let your experiences with the subject teach you the best way to harmonize with it."

The first two best practices came out quantitative testing of an example that made heavy modification of the underlying store. A simple function came out of data: the more modifications you make on an XML type, the longer its takes a query to complete. The cost isn't trivial in the least.

But like many things, the teaching reveled yet another meaning to me a bit later. It is purely metaphorical, rather it is direct instruction. Again, crudely, what else the teaching is saying "You'll never understand what the XML Type is doing exactly. You only have methods on it, not the object itself. Think differently! Worry about what you want to manifest."

With that realization, it became very simple to see the value in the third best practice.

But these subjective and objective understandings of the XML type aren't the only lessons the paragraph has to offer. My "discovery" of these three best practices must mean that there is an innate Tao to the XML type. When that Tao is appreciated without awareness, that is Zen. KATSU!

When understood that not understanding was, in fact, the best way to follow that Tao, I suppose I achieved an instant of enlightenment in the Zen sense. When I understood that I understood that not understanding was the way, I that lost that enlightenment. But least I still have my three best practices for my troubles.

posted Monday, June 07, 2004 12:55 PM by ktegels

Busy Thursday

If you are a .NET developer or SQL Sever DBA/Developer in Eastern Nebraska, you'd better buckle up on Thursday (10 June 2004)...

That afternoon Michael Benkovich from Microsoft will be hosting an MSDN Briefing at the Holiday Inn Central just north of I-80 and 72nd Street. The presentation line-up includes:

  • Leveraging Application Blocks in your Application Development: Application blocks are reusable code components from Microsoft for common programming tasks that encapsulate best practices and real-world requirements. We will examine three of these: the Exception Management Application Block that logs exception information to the Windows Event Log; the Configuration Management Application Block that manages configuration data and the Updater Application Block that implements a pull-model self-updating capability.
  • Rapid Application Development features coming in Visual Studio .NET 2005: Visual Studio .NET 2005 is the provisional name for the next major version of Visual Studio .NET and rapid application development is one of its main areas of improvements. In this session, we will look at improvements to the Visual Studio 2005 IDE (integrated development environment), the new code snippet (IntelliTask) feature, namespace shortcuts, and language enhancements.
  • XML, XQuery and CLR Integration coming in SQL Server 2005: The next major version of Microsoft SQL Server 2005 will extend its XML capabilities with a native, full-fledged XML data type, support for the XML Query (XQuery) and XML Schema Definition (XSD) language standards, and the graphical XQuery Designer tool. Additionally, we'll demonstrate how Microsoft SQL Server 2005’s ability to host the .NET Framework common language runtime (CLR) will enable stored procedures, triggers and user-defined functions (UDFs) to be written in Visual Basic .NET and C#, and then run in its memory managed, type-safe and secure execution environment.
  • Introduction to SQL Server 2000 Reporting Services: The recently released SQL Server 2000 Reporting Services provides a powerful and versatile new interactive reporting tool for current licensees of SQL Server 2000. In this session, you'll see how the Reporting Services integrates with Visual Studio .NET to create and customize reports, and lastly, manage and schedule delivery of updated reports in the Report Manager.

That evening, Omaha's own .NET Users' Group will be meeting at Creighton University West. Our very own Dave Bettin will be presenting on Indigo, the powerful new messaging architecture set to debut with Windows "Longhorn." The User group meeting starts at 6:00PM.

Let's get the summer started off right! See you there!

posted Monday, June 07, 2004 5:25 AM by ktegels




Powered by Dot Net Junkies, by Telligent Systems