<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Chris Szurgot's Blog</title><link>http://weblogs.asp.net/cszurgot/default.aspx</link><description>"Eschew Obfuscation" - Random Musings about .NET</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Published Solitaire Source code</title><link>http://weblogs.asp.net/cszurgot/archive/2008/10/16/published-solitaire-source-code.aspx</link><pubDate>Thu, 16 Oct 2008 17:51:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6683165</guid><dc:creator>szurgot</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=6683165</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2008/10/16/published-solitaire-source-code.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;I haven't had an opportunity to clean it up, but I published it at &lt;A href="http://www.codeplex.com/solitaire"&gt;http://www.codeplex.com/solitaire&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6683165" width="1" height="1"&gt;</description></item><item><title>Starting up a new MS Blog</title><link>http://weblogs.asp.net/cszurgot/archive/2008/10/06/starting-up-a-new-ms-blog.aspx</link><pubDate>Mon, 06 Oct 2008 18:32:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6659545</guid><dc:creator>szurgot</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=6659545</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2008/10/06/starting-up-a-new-ms-blog.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Now that I work here, I'm starting up a blog on &lt;A class="" title="New Blog!" href="http://blogs.msdn.com/szurgot" mce_href="http://blogs.msdn.com/szurgot"&gt;blogs.msdn.com&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Yeah!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6659545" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/cszurgot/archive/tags/Community+News/default.aspx">Community News</category></item><item><title>Starting at microsoft</title><link>http://weblogs.asp.net/cszurgot/archive/2008/06/12/starting-at-microsoft.aspx</link><pubDate>Thu, 12 Jun 2008 17:33:32 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6270655</guid><dc:creator>szurgot</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=6270655</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2008/06/12/starting-at-microsoft.aspx#comments</comments><description>&lt;p&gt;Finally settling in. Have an office, computer, phone, login alias and mentor to help me get setup. Still drinking from the firehose of corporate training, there is a lot to learn. Looks like I even have a feature to work on, which is cool, cause I’m ready to jump in and go.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;All in all, an exciting time. Now if my wife and I can just get the house hunting done, and settle down so I can do my job. &amp;lt;grin&amp;gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6270655" width="1" height="1"&gt;</description></item><item><title>Moving to Microsoft/Seattle: Part 2 - Getting there</title><link>http://weblogs.asp.net/cszurgot/archive/2008/05/20/moving-to-microsoft-seattle-part-2-getting-there.aspx</link><pubDate>Tue, 20 May 2008 18:11:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6204876</guid><dc:creator>szurgot</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=6204876</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2008/05/20/moving-to-microsoft-seattle-part-2-getting-there.aspx#comments</comments><description>&lt;P&gt;So, after several years, &lt;A href="http://weblogs.asp.net/cszurgot/archive/2008/05/20/moving-to-microsoft-seattle-part-1-getting-the-job.aspx" mce_href="http://weblogs.asp.net/cszurgot/archive/2008/05/20/moving-to-microsoft-seattle-part-1-getting-the-job.aspx"&gt;I got the job.&lt;/A&gt; The problem with getting "the job", is, well, "Oh ****, I got the job" I'm now faced with a couple of interesting issues.&lt;/P&gt;
&lt;P&gt;1) I have to get to the job. For me and my family, that is clear across the country from Virginia Beach, VA to Redmond, WA. I can't go much further without leaving the country.&lt;/P&gt;
&lt;P&gt;2) I have to do the job. Ok, that shouldn't be a problem. :)&lt;/P&gt;
&lt;P&gt;3) I need a new life goal. Well, I don't need to worry about that yet, first I have to get there.. 
&lt;HR&gt;

&lt;P&gt;6/1: I was going to talk about the whole trip, but I'll just post a few comments:&lt;/P&gt;
&lt;P&gt;After 8.5 years in a house, I've got way more stuff than I thought.&lt;/P&gt;
&lt;P&gt;Getting three dogs to Seattle has been a chore. We ended up going to Regean International to make it a non-stop flight, so a four hour drive starting at midnight, then an 8 am flight from the east coast to the west coast made for a very long day.&lt;/P&gt;
&lt;P&gt;It's expensive here!&lt;/P&gt;
&lt;P&gt;Our house in Virginia sold in 1 day, so it was one less thing to worry about.&lt;/P&gt;
&lt;P&gt;I start at the NEO tomorrow, so we'll go from there.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6204876" width="1" height="1"&gt;</description></item><item><title>Moving to Microsoft/Seattle: Part 1 - Getting the job</title><link>http://weblogs.asp.net/cszurgot/archive/2008/05/20/moving-to-microsoft-seattle-part-1-getting-the-job.aspx</link><pubDate>Tue, 20 May 2008 13:27:51 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6204152</guid><dc:creator>szurgot</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=6204152</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2008/05/20/moving-to-microsoft-seattle-part-1-getting-the-job.aspx#comments</comments><description>&lt;p&gt;Towards the end of April, I accepted a position a Microsoft working as an SDET in DevDiv on a currently undefined (to me) product. It's currently just about 2 weeks away from my June 2nd start date, so I thought I'd start blogging about the experience.&lt;/p&gt; &lt;p&gt;I've been wanting to work for MS since TechEd 2001 (long story) but only actively pursuing it since Fall of 2006. Prior to this most recent round of interviews, I had been to Microsoft for three sets of in-person interviews and one phone screen that did not go anywhere. (Various reasons, but for the most part, it just wasn't the right fit)&lt;/p&gt; &lt;p&gt;This time, however, the everything fell into place. The job I applied for was a Program Manager position on a currently unspecified extensibility product. I'm a developer at heart, but I've done Dev Lead work in the past, and extensibility is an issue that is near and dear to me, so I applied for the position and followed up with the original blogger to make sure my resume didn't get lost in the shuffle.&lt;/p&gt; &lt;p&gt;Not only didn't it get lost in the shuffle, but I had a phone screen about two days later, and a plane trip at the end of the following week.&lt;/p&gt; &lt;p&gt;Here's where things get interesting... As I said, I've been to MS 3 times prior for in-person interviews. It's a grueling process and generally, the better you do, the longer it takes. (At least you get lunch) It's a two way interview, a chance not only for MS to evaluate your skills and passions, but a chance for you to evaluate MS and the team. Personally, I've tried to ask questions about the process used, and the relationships between the disciplines. I've learned a lot this way. And since this was a PM interview, I got to see the MS process from a different perspective than earlier dev only interviews.&lt;/p&gt; &lt;p&gt;Interviews started at 8:30 and went on through and past lunch. I thought I held my own, but I was done by about 2:00 :( Still, that was several hours long. However, when I got back to the hotel, I got a call from the recruiter that said they thought I would be a better fit for a developer or tester position and would I be interested in interviewing for one of those. (Hmmm. Yes!) They couldn't get together enough people to do interviews on a Friday afternoon, but I spoke with the hiring manager, and agreed to stay through the weekend.&lt;/p&gt; &lt;p&gt;Monday morning came, and I started the process again. Started later in the morning, but same grueling process. This time I spoke to several more people, and had to solve a wicked, wicked whiteboard problem late in the day. (A non coding problem but definitely a problem solving exercise, and no, I won't tell you what it was)&lt;/p&gt; &lt;p&gt;All in all, I felt pretty good about things as I got on my red-eye to come home and go back to work the next morning. A full day of work after 8 hours in a plane is not easy, but it was all worth it when they called with a job offer! Definitely a worthwhile trip...&lt;/p&gt; &lt;p&gt;Coming up... Getting to Seattle...&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6204152" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/cszurgot/archive/tags/Community+News/default.aspx">Community News</category></item><item><title>WPF - Fun with borders (building a playing card)</title><link>http://weblogs.asp.net/cszurgot/archive/2008/04/20/wpf-fun-with-borders-building-a-playing-card.aspx</link><pubDate>Sun, 20 Apr 2008 17:43:59 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6115918</guid><dc:creator>szurgot</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=6115918</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2008/04/20/wpf-fun-with-borders-building-a-playing-card.aspx#comments</comments><description>&lt;p&gt;Two weeks ago, I &lt;a href="http://weblogs.asp.net/cszurgot/archive/2008/04/07/learning-net-amp-wpf-through-a-deck-of-cards.aspx"&gt;posted&lt;/a&gt; about my Solitaire program with improved WPF animations. I'm still working on code cleanup to release the source, but I'd like to document some cool tricks I learned about Borders that might come in handy.&lt;/p&gt; &lt;p&gt;&lt;em&gt;(As an aside, I said I had an interview. Well, after two cross-country flights, and two grueling rounds of interviews I've been offered a job which I'm going to accept. I'll talk more about that when I can)&lt;/em&gt;&lt;/p&gt; &lt;p&gt;All of the cards used in the WPF version of this program were from OpenClipart, including the card backs. I've no problem with the card faces, but I wanted to include several different backs, including the ability to import custom ones. There were a couple of challenges with this. I wanted a rounded corners, a drop shadow, and the ability for the picture to fill the entire inside of the border with it's rounded edges.&lt;/p&gt; &lt;p&gt;The rounded corners were easy enough, just use the CornerRadius property.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;nobr&gt;&amp;lt;Canvas x:Name="mainCanvas" Background="Green" Width="250" Height="250"&amp;gt;&lt;/nobr&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Border BorderBrush="White" BorderThickness="5" CornerRadius="15"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Border&amp;gt;&lt;br&gt;&amp;lt;/Canvas&amp;gt; &lt;/p&gt;&lt;/blockquote&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/WPFFunwithbordersbuildingaplayingcard_AD7B/sample1_4.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="240" alt="sample1" src="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/WPFFunwithbordersbuildingaplayingcard_AD7B/sample1_thumb_1.png" width="240" border="0"&gt;&lt;/a&gt; 
&lt;p&gt;The drop shadow proved to be a little more difficult, since WPF doesn't provide 3D Borders by default. However, a little searching &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2211461&amp;amp;SiteID=1"&gt;turned up&lt;/a&gt; a method to create the a 3d look for square borders by nesting two borders.&amp;nbsp; Some experimentation, and I found this would work quite well for a drop shadow.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;lt;Canvas x:Name="mainCanvas" Background="Green" Width="250" Height="250"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Border BorderBrush="DarkGray" BorderThickness=".0,.0,2,2" CornerRadius="18"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Border BorderBrush="White" BorderThickness="5" CornerRadius="15" &amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Border&amp;gt;&lt;br&gt;&amp;lt;/Border&amp;gt;&lt;br&gt;&amp;lt;/Canvas&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/WPFFunwithbordersbuildingaplayingcard_AD7B/sample2_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="240" alt="sample2" src="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/WPFFunwithbordersbuildingaplayingcard_AD7B/sample2_thumb.png" width="240" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Note that you have to set the CornerRadius on the outer Border to a slightly larger value or you get a gap between the outer and the inner border.&lt;/p&gt;
&lt;p&gt;Now comes the hard part, getting the image inside the border.&lt;/p&gt;
&lt;p&gt;I used the following image, and dropped the &amp;lt;image&amp;gt; tag right into the inner border.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/WPFFunwithbordersbuildingaplayingcard_AD7B/happy_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="128" alt="happy" src="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/WPFFunwithbordersbuildingaplayingcard_AD7B/happy_thumb.jpg" width="88" border="0"&gt;&lt;/a&gt; &lt;a href="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/WPFFunwithbordersbuildingaplayingcard_AD7B/sample3_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="240" alt="sample3" src="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/WPFFunwithbordersbuildingaplayingcard_AD7B/sample3_thumb.png" width="240" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;As you can see, it doesn't completely fill the border AND the square corners of the image overlap the rounded corners of the border. Not good. I turns out one more trick is all that's necessary. Instead of putting the image inside the border, you make the image the border of the background. Also, a third nested border gives the black border around the image to give some demarcation to the inner image, and completes the card.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;lt;Canvas x:Name="mainCanvas" Background="Green" Width="250" Height="250"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Border BorderBrush="DarkGray" BorderThickness=".0,.0,2,2" CornerRadius="18"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Height="190" Width="140" Canvas.Top="30" Canvas.Left="55"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Border BorderBrush="White" BorderThickness="5" CornerRadius="15" &amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Border BorderBrush="Black" BorderThickness="1.5" CornerRadius="12"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Border.Background&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ImageBrush&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ImageBrush.ImageSource&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;BitmapImage UriSource="c:\temp\happy.jpg" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ImageBrush.ImageSource&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ImageBrush&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Border.Background&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Border&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Border&amp;gt;&lt;br&gt;&amp;lt;/Border&amp;gt;&lt;br&gt;&amp;lt;/Canvas&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/WPFFunwithbordersbuildingaplayingcard_AD7B/sample4_4.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="240" alt="sample4" src="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/WPFFunwithbordersbuildingaplayingcard_AD7B/sample4_thumb_1.png" width="240" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;So there you have it, all the steps to make a card, and hopefully some tricks to add to your bag of tricks.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6115918" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/cszurgot/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Learning .NET &amp; WPF through A deck of cards</title><link>http://weblogs.asp.net/cszurgot/archive/2008/04/07/learning-net-amp-wpf-through-a-deck-of-cards.aspx</link><pubDate>Tue, 08 Apr 2008 01:54:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6073537</guid><dc:creator>szurgot</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=6073537</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2008/04/07/learning-net-amp-wpf-through-a-deck-of-cards.aspx#comments</comments><description>&lt;P&gt;I've been working on a Solitaire program on and off for years (pretty much since .NET 1.0 was in beta) The back-end engine/framework was pretty straightforward, but I could never get the animation quite right. I've kept it up-to-date with each release of the framework, updating for generics, and even trying DirectX, but I could never get it quite right.&lt;/P&gt;
&lt;P&gt;When WPF came along and I came across some SVG Clipart for the cards, I was inspired to try again. This time around, the cards looked pretty good, and the animations (when they displayed were very smooth) but I kept having trouble with threading, so when the deck was shuffled, it only showed one card move, and that was the last one! Frustrating, to say the least, to come so far, then get hung up!&lt;/P&gt;
&lt;P&gt;However, this week, when working on a Silverlight project, I relearned how to do animations, particularly in code, and finally (FINALLY!), I've gotten it so that it draws very smoothly, animates all actions and actually looks pretty good. (IMHO)&lt;/P&gt;
&lt;P&gt;I'm actually amazed by how much I gained by going to Storyboards for the motions. Instead of having to fuss over each animation, and try to wait while it was done, I could do entire sets of moves with a ParallelTimeline so that a while stack of cards could move in tandem without any real manipulation necessary. The initial deal, or a pull from the deck looks like all the cards are being carelessly thrown out, but they all land exactly where they need to go. And it was all done in at least 50% less animation code than any other version I've tried in the past. &lt;/P&gt;
&lt;P&gt;Of course, there's a lot of other stuff to fuss with, like better mouse handling and memory usage and more variants, but I'm really pleased.&lt;/P&gt;
&lt;P&gt;Also, the rules code is almost completely abstracted from the animation code, so I think it could even be ported to Silverlight or XNA with minimal fuss.&lt;/P&gt;
&lt;P&gt;Mind you, not tonight &amp;lt;grin&amp;gt;&lt;/P&gt;
&lt;P&gt;At any rate, here's the current install: &lt;A href="http://www.szurgot.net/Src/WPFSolitaire.zip" mce_href="http://www.szurgot.net/Src/WPFSolitaire.zip"&gt;Solitaire&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I'm going to clean up the source and release it shortly, but I've got an interview coming up this week that I want to prepare for. Wish me luck.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6073537" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/cszurgot/archive/tags/.NET/default.aspx">.NET</category></item><item><title>AT&amp;T 3G in Hampton Roads, VA!</title><link>http://weblogs.asp.net/cszurgot/archive/2007/11/13/at-amp-t-3g-in-hampton-roads-va.aspx</link><pubDate>Tue, 13 Nov 2007 15:58:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5123844</guid><dc:creator>szurgot</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=5123844</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2007/11/13/at-amp-t-3g-in-hampton-roads-va.aspx#comments</comments><description>&lt;P&gt;W00t! It's been a good week to have an 8525. &lt;A href="http://weblogs.asp.net/cszurgot/archive/2007/11/05/windows-mobile-6-for-at-amp-t-8525.aspx" mce_href="http://weblogs.asp.net/cszurgot/archive/2007/11/05/windows-mobile-6-for-at-amp-t-8525.aspx"&gt;Last week&lt;/A&gt;, AT&amp;amp;T released WM6 for the phone, and this morning, with no announcement, 3G got turned on. (I'm guessing they will make an announcement after it's stable.) At any rate, I've been playing around with it for the morning, and it's an incredible difference. Web pages come up pretty quick, maps (Google maps &amp;amp; Live Search) are very responsive. It actually usable as a real time platform for always on connectivity (as opposed to just email alerts)&lt;/P&gt;
&lt;P&gt;I'm tempted to try an write up some code for browsing my personal inventory to see how well it works.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Update: Wow! 3G is fast. I was actually able to use my phone for real lookups "in the field" so to speak, without having to wait a 1/2 hour.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Wow! 3G really sucks down the battery. Good thing I have a car charger. &amp;lt;grin&amp;gt;&lt;/EM&gt; &lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5123844" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/cszurgot/archive/tags/Community+News/default.aspx">Community News</category></item><item><title>OT: xbox live marketplace rant</title><link>http://weblogs.asp.net/cszurgot/archive/2007/11/12/ot-xbox-live-marketplace-rant.aspx</link><pubDate>Mon, 12 Nov 2007 19:10:44 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5101113</guid><dc:creator>szurgot</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=5101113</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2007/11/12/ot-xbox-live-marketplace-rant.aspx#comments</comments><description>&lt;p&gt;About a month ago, my 360 died with the Ring of Death, so I took it back to Best Buy using their Product Replacement Plan. I chose to upgrade to a 360 Elite for the bigger hard drive. Get home, transfer some save games off a memory card, load up all my downloaded content, load up the household profile, and it looks like I'm good to go.&lt;/p&gt; &lt;p&gt;But then... I load up Puzzle Quest, and I have to activate it everytime I try to play. It's not a problem, since it still recognizes me as the owner of the product, but it's still awkward. But then, I loaded it up under my son's account, and he can only play it as a trial version. Now, that really sucks, since he was almost done when the console died :( &lt;/p&gt; &lt;p&gt;I looked online, and found this is a common problem. The downloads are tied to the console and the gamer tag. If the console changes, only the gamertag that purchased them is able to continue playing them.&lt;/p&gt; &lt;p&gt;So I called up 1-800-4MY-XBOX, and explained the problem. The rep said he could help, got a list of my games, and spoke with his supervisor. Turns out, that after a 1/2 hour on the phone, they can't help me because it's not the same unit type!&lt;/p&gt; &lt;p&gt;So here I am, Shiny new 360 unit, and nobody in the house can play any of the casual games except me! And given the issues with all the failures, and the potential for the life-cycle of the 360 to go well &lt;a href="http://www.maxconsole.net/?mode=news&amp;amp;newsid=22558"&gt;beyond 5 years&lt;/a&gt; it&amp;nbsp; seems like there should be a better way to handle marketplace downloads and longevity.&lt;/p&gt; &lt;p&gt;Since you can transfer a gamertag through the "Recover My Gamertag" function, and that disables the tag on the previous console, it seems like it would be easy to update the download information to tie to the new console. When the old console connects to Live, just update to change those to trial versions. (I could imagine that someone could use the system offline forever, but they won't be able to connect to live for other games, so it would really end up being a minimal impact) Either that, or send me a disc with all my downloads that I can throw in the play my arcade games!!!&lt;/p&gt; &lt;p&gt;DRM really needs to be resolved if there is any thought of long-term viability of digital downloads. I like the concept, but I also like the thought that I can fall back to physical medium on those games I purchased that way.&lt;/p&gt; &lt;p&gt;(As an ironic aside, I'm not using HDMI to connect the 360, I'm using a VGA cable. The HDMI cable went to the Tivo since that only needs one cable to carry the HD single to the TV, not the two required by the 360)&lt;/p&gt; &lt;p&gt;Maybe someone will come up with a better way to handle this, and let my son play Puzzle Quest without having to repurchase it. And fix the bug where *I* have to log in every time.&lt;/p&gt; &lt;p&gt;Ok, done ranting.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5101113" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/cszurgot/archive/tags/Community+News/default.aspx">Community News</category></item><item><title>Windows mobile 6 For AT&amp;T 8525</title><link>http://weblogs.asp.net/cszurgot/archive/2007/11/05/windows-mobile-6-for-at-amp-t-8525.aspx</link><pubDate>Mon, 05 Nov 2007 15:50:59 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:4906195</guid><dc:creator>szurgot</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=4906195</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2007/11/05/windows-mobile-6-for-at-amp-t-8525.aspx#comments</comments><description>&lt;p&gt;Finally! It looks like the made it available on Nov 1st. You can download it &lt;a href="http://www.america.htc.com/support/8525/software-downloads.html"&gt;here&lt;/a&gt;. I've flashed my phone, and am getting everything else setup again. Looks pretty good.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=4906195" width="1" height="1"&gt;</description></item><item><title>Leave my home page alone!</title><link>http://weblogs.asp.net/cszurgot/archive/2007/09/06/leave-my-home-page-alone.aspx</link><pubDate>Thu, 06 Sep 2007 23:30:57 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:3770987</guid><dc:creator>szurgot</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=3770987</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2007/09/06/leave-my-home-page-alone.aspx#comments</comments><description>&lt;p&gt;My second post in Windows Live Writer 3 is going to be a complaint. &lt;/p&gt; &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/Leavemyhomepagealone_11257/installerannoyance_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="206" alt="installerannoyance" src="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/Leavemyhomepagealone_11257/installerannoyance_thumb.jpg" width="282" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;(You probably have to click it to read the text)&lt;/p&gt; &lt;p&gt;When installing, please stop asking me to change my home page... I changed it for a reason, and I don't need anything to change it back. When I want to go to msn.com, I can do it perfectly well, from my regular home page, in fact, which is just a bookmarks page.&lt;/p&gt; &lt;p&gt;So if you must give me that option, please make it unchecked by default.&lt;/p&gt; &lt;p&gt;Otherwise, WLW looks to be great.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=3770987" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/cszurgot/archive/tags/Community+News/default.aspx">Community News</category></item><item><title>Programming with Fractal Legos</title><link>http://weblogs.asp.net/cszurgot/archive/2007/09/05/programming-with-fractal-legos.aspx</link><pubDate>Wed, 05 Sep 2007 19:14:34 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:3751825</guid><dc:creator>szurgot</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=3751825</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2007/09/05/programming-with-fractal-legos.aspx#comments</comments><description>&lt;p&gt;When I was younger, my uncle had this huge box of legos. When I'd go over to visit, we'd get them out and build with them. He always made these great constructs, planes, and cars and buildings, and the like, whereas I made these ungainly little things, all mismatched colors and assymetrical wings. I think that a good deal of the difference was that they were his, he'd seen the box, and knew what could be done with them, whereas I just had what I could visualize from the myriad pieces of little colored bricks stuffed together in a brown cardboard box.&lt;/p&gt; &lt;p&gt;A few weeks back, I read this article (&lt;a title="http://weblog.raganwald.com/2007/08/bricks.html" href="http://weblog.raganwald.com/2007/08/bricks.html"&gt;Bricks&lt;/a&gt;) that states that software is not made of bricks. The main thrust of the article is that while some programming metephors compare software development to physical architecture, the reality is somewhat more complex and instead of looking at software as something that can be defined up front with a set number of pieces and construction time where just moving bricks to the construction site can be a help, you have to look at it from a higher viewpoint where the project is more than just the architectural considerations, and the laying of the bricks is the only consideration. &lt;font color="#000000"&gt;&lt;font color="#ffffff"&gt;The best way I could think to describe it to a co-worker is that if you're going to compare software to brick-building, it would be like having the bricklayer have to stop, and make his own bricks sometimes, and each brick that is made might have to be hand-crafted from different materials.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;&lt;/font&gt;Of course, the first comment in the article would be a &lt;a href="http://gabrielsw.blogspot.com/2007/04/lego-blocks-and-software-development.html"&gt;rebuttal&lt;/a&gt; comparing programming to legos which states: &lt;font color="#0080ff" size="2"&gt;Usually I started with some idea in my mind of what I wanted to build (a plane, a spaceship, a robot) and then scrubbed the heap of parts looking for the right ones, and slowly assembly them together into bigger ones (always spending a significant amount of time looking for the right piece) until I created something that wasn't what I envisioned originally, but at least could pass for it :-D. &lt;/font&gt;&lt;font size="2"&gt;Both analogies stuck with me, both felt right, yet something was missing.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;Recently I've been doing a lot of programming in WPF, both as a learning exercise, and to apply some new techniques to a five year old program that I never could get right under Windows Forms. Things just "clicked", the code came together, and the new programs are working well. As I was sitting there trying to visualize the process, I had a &lt;a href="http://www.tv.com/numb3rs/show/25043/summary.html?q=&amp;amp;tag=search_results;title;1"&gt;&lt;font color="#ffffff"&gt;Numb3rs&lt;/font&gt;&lt;/a&gt; moment. The end result of programming is very &lt;a href="http://dictionary.reference.com/browse/fractal"&gt;&lt;font color="#ffffff"&gt;fractal&lt;/font&gt;&lt;/a&gt; in nature. On the surface, you see a construct (simple or complex, depending on the program) made up of building blocks. As you zoom in on each component, you'll see that it is it's own construct, with it's own building blocks and definition, and so on. You can continuing zooming down until you reach the machine code, and you can go deeper still if you want to change paradigms. And much like viewing a fractal, it may look simple on the surface, but as you delve down, you see the complexity in each piece, a little fuzzy around the edges where it doesn't "quite* resolve, where the line between your code and the APIs blurs.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;Nowadays I don't work with Legos, but I do build things that soar. Sometimes it's pretty easy to see which building blocks are in the API, sometimes the line really does blur. And every now and again, there's just no piece to do what you need, and you have to jam in a big Duplo block cause it's the only thing that'll work...&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=3751825" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/cszurgot/archive/tags/.NET/default.aspx">.NET</category></item><item><title>VS 2008 Help = Awesome!!!</title><link>http://weblogs.asp.net/cszurgot/archive/2007/09/02/vs-2008-help-awesome.aspx</link><pubDate>Sun, 02 Sep 2007 19:37:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:3711966</guid><dc:creator>szurgot</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=3711966</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2007/09/02/vs-2008-help-awesome.aspx#comments</comments><description>&lt;P&gt;&lt;EM&gt;Edit: Looks like this feature&amp;nbsp;has been available for a while. Wish I had noticed it before....&lt;/EM&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Working on a WPF Project this weekend, I discovered an awesome feature in Help in VS 2008. On members listings for individual components, you can filter out inherited and protected members, which means you easily see only the members that apply to a particular class. Very, very useful when dealing with WPF components, since it takes a list down from hundreds of members, to just the few that are applicable. &lt;/P&gt;
&lt;P&gt;For example, it takes the Border class from this:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/VS2008HelpAwesome_DBB0/border_notfiltered%5B2%5D.jpg" atomicselection="true" mce_href="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/VS2008HelpAwesome_DBB0/border_notfiltered%5B2%5D.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=223 src="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/VS2008HelpAwesome_DBB0/border_notfiltered_thumb.jpg" width=299 border=0 mce_src="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/VS2008HelpAwesome_DBB0/border_notfiltered_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;To this:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/VS2008HelpAwesome_DBB0/Border_Filtered%5B3%5D.jpg" atomicselection="true" mce_href="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/VS2008HelpAwesome_DBB0/Border_Filtered%5B3%5D.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=221 src="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/VS2008HelpAwesome_DBB0/Border_Filtered_thumb%5B1%5D.jpg" width=296 border=0 mce_src="http://weblogs.asp.net/blogs/cszurgot/WindowsLiveWriter/VS2008HelpAwesome_DBB0/Border_Filtered_thumb%5B1%5D.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;(It's a little hard to read the text, but it went from about a hundred members down to 10. You can see by the same of the thumb on the scroll bar)&lt;/P&gt;
&lt;P&gt;Now if only intellisense could add filtering levels like that :)&lt;/P&gt;
&lt;P&gt;At any rate, I'm digging it. Saved me a lot of time already. Thanks to the team who put that feature into place!!!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=3711966" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/cszurgot/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Windows Update - Schedule restart better</title><link>http://weblogs.asp.net/cszurgot/archive/2007/08/15/windows-update-schedule-restart-better.aspx</link><pubDate>Wed, 15 Aug 2007 16:42:57 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:3514526</guid><dc:creator>szurgot</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=3514526</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2007/08/15/windows-update-schedule-restart-better.aspx#comments</comments><description>&lt;p&gt;Every month I go through this, and every month I want to grumble about it. (And the problem is compounded when you do a new system install or a system rebuild)&lt;/p&gt; &lt;p&gt;I just told Windows Update to check for new updates. It came back and said there were 11 updates. That could take a while to process, so I'd like to go to lunch while it's processing them. But I can't...&lt;/p&gt; &lt;p&gt;I can "Install Updates and Shut Down" from the shut down dialog (which means I have to restart the machine when I return), or I can install the updates, and then have it sit on the restart screen until I return, which means I then have to restart it, and wait for it to restart (and startup time on this PC is not that good)&lt;/p&gt; &lt;p&gt;There really needs to be an easy way to say "Install Updates and Reboot", so that it logs out, installs the updates, and the restarts so that it's at the login screen when you return.&lt;/p&gt; &lt;p&gt;It's never a big deal on any individual machine, but when you maintain 4 or between home and work, it would be nice to be able to streamline the process.&amp;nbsp; I know I can do Automatic updates, but I like to control when machines go up and down, so I can be logged in to do things, or in the case of the Media Center PC, I can make sure the reboot won't interfere with any recordings. Or alternately, my wife's laptop is usually in hibernate during the night, so it doesn't get done until I log on, and see it needs to be installed and rebooted, so it would be nice to just have it go, and let me know when it's done, instead of having to do something in the middle of the process.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=3514526" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/cszurgot/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Vista Performance and Reliability Updates Released</title><link>http://weblogs.asp.net/cszurgot/archive/2007/08/07/vista-performance-and-reliability-updates-released.aspx</link><pubDate>Tue, 07 Aug 2007 23:45:55 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:3429816</guid><dc:creator>szurgot</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/cszurgot/rsscomments.aspx?PostID=3429816</wfw:commentRss><comments>http://weblogs.asp.net/cszurgot/archive/2007/08/07/vista-performance-and-reliability-updates-released.aspx#comments</comments><description>&lt;p&gt;Found on Robert McLaws site: &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.windows-now.com/blogs/robert/archive/2007/08/07/windows-vista-pre-sp1-performance-and-reliability-updates-released.aspx"&gt;Performance and Reliability Updates Released.&lt;/a&gt;&amp;nbsp;I can't speak to how much of a difference they make, but I'm installing them now, and if the notes are any indication, it should be nice.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=3429816" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/cszurgot/archive/tags/Vista/default.aspx">Vista</category><category domain="http://weblogs.asp.net/cszurgot/archive/tags/Community+News/default.aspx">Community News</category></item></channel></rss>