March 2005 Archives

wbloggar site hacked?

| 9 Comments | No TrackBacks |

I'm setting up new notebook (HP Pavilion ze2070ea - really really nice one) and just realized I can't download one of the most important piece of software I just can't live without - w.bloggar, blogging client, because its site seems to be hacked and defaced out. When you go to the site (even google cache of it) you see empty page and view source reveals just some stupid cewl hacker comment I won't cite. What a shame to deface a site offering cool free software!

Anyway, does anybody know where can I get w.bloggar installation please? I'm writing this using MovableType web admin and it sucks.

Dino Chiesa of Microsoft shows how to generate dynamically WordML documents using Java and XSLT. Yep, that's not a typo, Microsoft, WordML and Java. XML serves as peacemaker again. And he even provides a working JSP demo. Cool.

Baby photos

| 5 Comments | No TrackBacks |

Here are some first photos of our little Catherine:
Little Catherine Little Catherine Little Catherine Little Catherine

Catherine's gallery. I believe I start feeling something unusual seeing her. That's really amazing.

Happy resource wasters

| 3 Comments | 1 TrackBack |

The day can't go well when it starts with such. That's really sad to see. The guy, who "used exceptions quite extensively to pass messages from the database all the way to the client", tested (no, "tested") cost of throwing exceptions in .NET on his desktop using such "test":

Sub ThrowException()
 Throw New Exception
 Catch ex As Exception
 End Try
End Sub
With Console.WriteLine(Now().ToString("hh:mm:ss.fffffff")) of course :)

And the conclusions are amazing:

1. Modern computers are fast. Really fast. Really, really, really, really, really fast.
3. Throwing one exception won't affect performance.
4. Throwing ten exceptions (nested or otherwise) won't affect performance.
5. Throwing one hundred exceptions (nested or otherwise) probably won't affect performance.
6. Throwing one thousand nested exceptions will most definitely cause your application to perform slowly.
7. The call stack actually supports 1000 levels of recursion
8. Some people don't believe Lessons #1, #3, and #4.
9. An individual's Title does not automatically mean they have any clue what they're talking about.
If some one ever says "because it's faster," think of Lesson #1 and #9 and laugh.
That's what I call a manifest of resource wasters!

Michael Rys will be presenting MSDN Webcast "Making the Most of XQuery with SQL Server 2005 (Level 300)" at 4/26/2005.

This session provides an introduction to XQuery and the data modification language as implemented in SQL Server 2005, and shows you how to get the most from XQuery. Learn how to optimize XQuery and how to write some common XQuery expressions to get good performance.
Presenter: Michael Rys, Program Manager, Microsoft Corporation
Subscribe here.

RSS Bandit v1.3.0.26 is here

| 3 Comments | 1 TrackBack |

Dare writes:

This is the final release of the version formerly codenamed "Wolverine". This is the most significant release to date and has a ton of cool features. Enjoy.
Get it here, this version rocks.

I made the Russian translation again, so all typos and lame Russian words are my fault. I hope it can make an experience of reading news with RSS Bandit even more exiting for those in Russian-speaking community who prefer localized GUI.

Btw, what about server-side feed aggregation? I need some sort of aggregation/filtration service (which would allow to aggregate feeds I choose into a single one and filter out a junk) for a site I'm developing and I was looking around and found not much available free tools. The first part is of course server-side feed aggregation - just like an aggregated feed at, Planet XMLHack or TopXML's Reblogger with some sort of administration of course. The different layer is Bloglines like Web-based news reader, which allows users to have own feed lists and stores the context (read/unread items etc). I think the first part could be done easily using RSS Bandit's core, wisely detached apart from the GUI. Am I crazy or there are such tools already or nobody's gonna need it or it's a good idea?

The daughter!

| 11 Comments | No TrackBacks |

Saturday, March 19 11:55AM the following transformation has occured:

<xsl:template match="family[@surname='Tkachenko' 
                     and husband/@fname='Oleg' and wife/@fname='Alenka']">
    <xsl:copy-of select="@* | husband | wife"/>
    <child sex="female" birth-date="2005-03-19"/>
For those who can't read XSLT, I translate to English: last Saturday at 11:55AM my dear wife gave birth to our lovely wonderful little daughter! They both feel well, already at home and I'm starting getting used to the "daddy" business.

Michael Rys will be presenting a MSDN webcast on "Managing XML Data on the Database with SQL Server 2005 and Visual Studio 2005 (Level 300)" at April 05, 2005.

This session explores advanced concepts and techniques for working with XML data types using Microsoft SQL Server 2005 and Visual Studio 2005. Topics covered include casting to and from CLR types, working with XML on the provider level, and integrating with SQLXML 4.0. Learn how to pass XML into CLR stored procedures and functions and how to use that to extend the XML functionality on the server (using validation and XSLT).
Presenter: Michael Rys, Program Manager, Microsoft Corporation
Gotta attend, register now.

"XML Hacks" book review

| No Comments | No TrackBacks |

"XML Hacks" by Michael Fitzgerald is not a newly published book (July 2004), it just sometimes happens when your reading queue is implemented as a priority queue and you read not what you'd like to but what you have to. My overall final rating is . That's the first book in O'Reilly's Hacks Series I've read and basically I like this format. The book consists of 100 real-world XML "hacks" - quick and clever solutions for particlular practical XML-related problems.

What I like about the book. Surprisingly it's not only for Linux and Java guys. Processing XML with .NET and C# is covered well too. The whole chapter devoted to XSLT and another to RSS/Atom is just great idea. The variety of topics is amazing - just take a look at the table of contents. The hacks are written in article style - short, to the point and it's fun to read.

What I dislike. The target audience is too wide - from XML newbies to experts, so XML experts would find many "advanced" hacks like "Processing XML with SAX" too boring and newbies could find hacks like "From Wiki to XML Through SGML" too complicated. But for intermediate XML developers it should be just fine. Hack #98, "Processing XML with C#" demonstrates writing XML with ugly string concatenation just after describing XmlTextWriter, weird.

For those like me who missed that - finally you can get informed about upcoming MSDN webcasts in the most natural way - via RSS feed!

VB6 is dead? Amen

| 1 Comment | No TrackBacks | 1378 developers, including 203 MVPs signed petition to bring VB6 to Visual Studio .NET. Sounds crazy, huh? While I understand the pain of backwards compatibility issues, I'd rather sign a petition against it.

Muenchian technique of grouping is de-facto standard way of grouping in XSLT 1.0. It uses keys and is usually very fast, efficient and scalable. There used to be some problems with using Muenchian grouping in .NET though, in particular the speed was in question. To put it another way - .NET implementation of keys and generate-id() function is slow. Reportedly, as per KB article 324478, keys performance has been fixed, though I have no idea if the fix is within .NET 1.1 SP1 (.NET version 1.1.4322.2032). Anyway, writing the article on XML indexing I did some perf testing for XSLT keys and got interesting results I want to share.

Nice promotional offer from Microsoft for those interested in Microsoft IT Pro or Developer certification. Register for the offer by May 31, get the promotional code and then take your exam. You you fail, you can use the promotional code to retake the exam for free!

Second video installment in XML API fundamentals series from Dan Wahlin - this time on my favorite - XmlTextReader. Good way to grasp basics.

I finally finished that article and sent it to the MSDN XML Dev Center. It's two-part article discussing various XML indexing aspects. In the first part I covered techniques for indexing standalone XML documents - XML IDs, XSLT Keys and IndexingXPathNavigator. The next part will be completely focused on XML indexing in forthcoming SQL Server 2005.

Ivan Pedruzzi (Stylus Studio) has interviewed Michael Rys on XQuery, Yukon and XML technologies at Microsoft. Really interesting one, read it here.