I have a limited number of GMail invites to offer up, but rather than just make it first ask, first serve, I thought it might be fun to have make you earn them. So here's the deal. For about the next 24 hours, I'll ask you to either post your answers here or use the “contact me” button to left to answer any one of these four questions. The best ansswer -- and its strictly my choice about what the best questions are of course, gets an invite.
- In 30 words or less, describe SQL Server 2005 Service Broker (SSB). Frame your answer for somebody that understands what a database is but who doesn't write code on a daily basis.
- Explain the difference between an SSB dialog, conversation and a conversation group. Assume that the person asking the question isn't a developer, but is a good DBA.
- As you may know, SSB principally uses stored procedures to do work, and that might lead you to thinking about putting most, if not all, of your business logic in the database as T-SQL code. Why might'nt that be such a good idea?
- (My favorite): What feature of SQL Server 2005 would allow you to use a Web Service easily with an SSB Service Program?
A couple of other rules: One invite award max, and yes, answering more than one question might help your odds. If you post any answers here or send them to me, assume that you've given me permission to reuse it as I see fit. And, of course, Microsoft Staff from the Service Broker team -- while more than welcome to offer up answers -- probably won't win the prize if I can give it to a customer/community member instead.
I'll offer this, this and this (and this for that) as pointers as food for thought.
Is there a reason I'm asking these questions? Oh yeah -- it'll make sense in a few days... :)
Oleg Tkachenko let us know that the the XML MVP team has released their additions to the .NET Framework (version 1.x) today: The MVP.XML Library.
Why should you care -- well, that's easy: it's going to make doing serious work with XML and .NET that much easier. Some for examples:
- XmlTransformingReader, which seems to reduce the amount of code you need to the basics and brings a nice little perf boost to the table too.
- IndexingXPathNavigator. I'm working forward to using this instead of writing some nasty XSLTs for those cases where FOR XML EXPLICIT is just too hard to pull off.
Speaking of XML and the XML/Web Services MVPs, I had a nice discussion this afternoon with Christoph Schittko about WinForms when the conversation turned to “Contract First”-think. He pointed me a cool tool that he's worked on with the Really Big Brains at Thinkatecture that makes generating the WSCF stuff with Visual Studio.NET a lot easier for me.
Just a couple of quick pictures from my recent trip to New York. Got to have dinner with good friends Hilary Cotter (The Man for SQL Server Replication) and the Demsak's: DonXML and his charming wife Melissa the the SQL Diva (click to see larger images.)


Update: link now fixed. Thanks Adam.
In case you've not noticed, I've turned comments back on. It appears the spammers have decided to move on -- at least for a little while.
If it seems like I'm obsessed with IIS Log files -- well, okay, I am. My latest adventure with them has been figuring out how to merge logs from IIS5 with logs running on IIS6 to our analysis tools and do their thing with them. Turns out that the IIS6 log file fields vary in sequence from IIS5 and my have an extra value in them at maximum logging levels. So I wanted to write write a set of RegExs that determined if a given line of useful data came from IIS5 or IIS6 without having any of the file headers.
Yeah, really. I'm that big of a geek. :)
It didn't take long to figure that this isn't as trivial of a tasks as it sounds and I needed a way to test my RegExs -- sort of a RegEx Editor and Debugger, if you will. And I found a great one in Regex Buddy. Granted, you might never had need for this tool, but if you're regularly working with RegExs, it just rocks.
For me the coolest thing is it's color-coding features that make it easy to tell patterns apart. The paren balance color feature is very helpful too. But the coolest feature is that you can load pattern file into it and it will show you match/not matching lines by color coding. I highly recommend this tool for anybody that's doing non-trivial work with Regular Expressions.
And did I mention it has a visual tool for building Regexs based on "human friendly" terms as a list/tree? This this tool in bag of tricks, you really don't even have to have a full command of RegExs to make full of them. Tell me that doesn't rock!
Anyway, here's my nicely annotated RegEx for IIS5 logs. I'll post the IIS6 one later.
((?# date)\d{4}\-\d{2}\-\d{2}\s+)((?# time)\d{2}\:\d{2}\:\d{2}\s+)((?# c-ip)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\s+)((?# cs-username).+?\s+)((?# s-sitename).+?\s+)((?# s-computername).+?\s+)((?# s-ip)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\s+)((?# s-port)\d{1,3}\s+)((?# cs-method).+?\s+)((?# cs-uri-stem).+?\s+)((?# cs-uri-query).+?\s+)((?# sc-status)\d{1,3}\s+)((?# sc-win32-status)\d+\s+)((?# sc-bytes)\d+\s+)((?# cs-bytes)\d+\s+)((?# time-taken)\d+\s+)((?# cs-version)(HTTP\/\d\.\d)|\-\s+)((?# cs-host).+?\s+)((?# csUser-Agent).+?\s+)((?# csCookie).+?\s+)((?# csReferer).+)