<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Life in my own company</title>
        <link>http://geekswithblogs.net/rakker/Default.aspx</link>
        <description>Its all up to me.</description>
        <language>en-US</language>
        <copyright>Robert May</copyright>
        <managingEditor>robert@laradsolutions.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Life in my own company</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/rakker/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Agile Iterations, In Code</title>
            <link>http://geekswithblogs.net/rakker/archive/2009/11/03/135975.aspx</link>
            <description>&lt;p&gt;So, I was trying to explain to a new team about what an iteration is all about and came up with the following.  Basically, this is the template that we use for our iterations.  They weren't understanding the spoken and written language well, so I decided to try a different route for them:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;foreach&lt;/span&gt;(day &lt;span style="color: rgb(0,0,255)"&gt;in&lt;/span&gt; Iteration)
{
    &lt;span style="color: rgb(0,0,255)"&gt;while&lt;/span&gt;(hoursWorked &amp;lt; day.WorkHours)
    {
        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (resolveImmediatelyDefectsExist || day.IsDefectDay || !uncompletedStoriesExist)
        {
            &lt;span style="color: rgb(0,0,255)"&gt;while&lt;/span&gt; (defectsExist)
            {
                defect = FindTopUnclaimedDefectInDefectView();
                defect.Fix()
            }
        }
        &lt;span style="color: rgb(0,0,255)"&gt;else
&lt;/span&gt;        {
            &lt;span style="color: rgb(0,0,255)"&gt;while&lt;/span&gt; (uncompletedStoriesExist)
            {
                topScheduledItem = FindTopPriorityNotBlockedStoryOrDefectInIterationStatus();

                &lt;span style="color: rgb(0,0,255)"&gt;while&lt;/span&gt; (topScheduledItem.HasIncompleteTasks)
                {
                    task = topScheduledItem.FindTask();
                    &lt;span style="color: rgb(0,0,255)"&gt;try
&lt;/span&gt;                    {
                        task.DoUntilComplete();
                    }
                    &lt;span style="color: rgb(0,0,255)"&gt;catch&lt;/span&gt; (BlockException ex)
                    {
                        task.MarkBlocked();
                        task.MentionInStandUp = &lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;;
                        &lt;span style="color: rgb(0,0,255)"&gt;continue&lt;/span&gt;;
                    }
                }
            }
        }
    }
}&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;After putting that in a chat window, the light went on!  Pretty much everyone was able to read it and understand what needed to be done in an iteration.&lt;/p&gt;
&lt;p&gt;There are likely lots of other variations on what an iteration looks like.  In mature teams, you don't need defect days, since you probably don't have much of a backlog, but for greener teams, having them can be very useful.&lt;/p&gt;
&lt;p&gt;I'd love to hear your thoughts.&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7704323d-b74f-4221-8dd7-5a1558ef9f81" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Agile" rel="tag"&gt;Agile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Scrum" rel="tag"&gt;Scrum&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135975"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135975" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rakker/aggbug/135975.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert May</dc:creator>
            <guid>http://geekswithblogs.net/rakker/archive/2009/11/03/135975.aspx</guid>
            <pubDate>Tue, 03 Nov 2009 17:29:44 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rakker/comments/135975.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rakker/archive/2009/11/03/135975.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rakker/comments/commentRss/135975.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rakker/services/trackbacks/135975.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows?</title>
            <link>http://geekswithblogs.net/rakker/archive/2008/11/25/127374.aspx</link>
            <description>&lt;p&gt;So we're having a terminology discussion with co-workers of mine.  The word, "Screen" comes up, and one of my co-workers says, "It's not a screen!  That's the thing you look at.  It's a form!"&lt;/p&gt; &lt;p&gt;Instant response from another co-worker, who has a gift for this kinda thing:  "You're using a program called Windows and you can't see through it, so what the hell!"&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5c487651-b6cc-489b-afcc-299b8bae1bcd" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Humor" rel="tag"&gt;Humor&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Development" rel="tag"&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127374"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127374" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rakker/aggbug/127374.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert May</dc:creator>
            <guid>http://geekswithblogs.net/rakker/archive/2008/11/25/127374.aspx</guid>
            <pubDate>Tue, 25 Nov 2008 16:19:54 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rakker/comments/127374.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rakker/archive/2008/11/25/127374.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rakker/comments/commentRss/127374.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rakker/services/trackbacks/127374.aspx</trackback:ping>
        </item>
        <item>
            <title>Microsoft PDC</title>
            <link>http://geekswithblogs.net/rakker/archive/2008/10/27/126268.aspx</link>
            <description>&lt;p&gt;I'm at PDC, and glad I am as well.  First, I need to thank the geeks with blogs people for the AWESOME t-shirt.  Well done.  The site looks great.&lt;/p&gt; &lt;p&gt;Second, this whole cloud thing that you're reading about, if you're not here, is pretty cool.  I agree with MS, this will be the big thing of the future.  I just wish we knew what they were thinking for cost.  Microsoft Azure will be a big deal.  They've spent over two years of development on it, torn apart SQL server to make it happen, and are running some of their own services through it.&lt;/p&gt; &lt;p&gt;If you have any kind of distributed app, azure will be a great choice for it.&lt;/p&gt; &lt;p&gt;People are comparing it to the Amazon offer, but it's really much more.  It's not just hosting your applications, its a new development paradigm that lets you abstract out hardware from your application.  Basically, you don't think about server provisioning, you build your app and it's rules and then publish the app to the "cloud."  They worry about how many servers, what bandwidth, etc. that you need.&lt;/p&gt; &lt;p&gt;One thing that was missing was the "auto" provision opportunity.  As load increases, you have to actually go out and tell them to increase your capacity.  I'm sure they'll get there eventually.&lt;/p&gt; &lt;p&gt;Anyway, for more info, go to &lt;a href="http://www.azure.com"&gt;www.azure.com&lt;/a&gt;.  It's going to be big.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:af2421b5-a936-4464-960e-6bea5a3e497d" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PDC%202008" rel="tag"&gt;PDC 2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure" rel="tag"&gt;Azure&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126268"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126268" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rakker/aggbug/126268.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert May</dc:creator>
            <guid>http://geekswithblogs.net/rakker/archive/2008/10/27/126268.aspx</guid>
            <pubDate>Tue, 28 Oct 2008 04:41:05 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rakker/comments/126268.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rakker/archive/2008/10/27/126268.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rakker/comments/commentRss/126268.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rakker/services/trackbacks/126268.aspx</trackback:ping>
        </item>
        <item>
            <title>Recent 20/20 by John Stossel</title>
            <link>http://geekswithblogs.net/rakker/archive/2008/10/25/126134.aspx</link>
            <description>&lt;p&gt;I've avoided 20/20 in the past because they've been pretty liberal.  However, the recent 20/20 by John Stossel was outstanding.  It wasn't "Republican," it wasn't "Democrat," it was just a bunch of reality about how crappy our government currently is.  If you haven't watched it and care about politics, do yourself a favor and go spend an hour viewing it.  It's really quite good.&lt;/p&gt; &lt;p&gt;&lt;a href="http://abcnews.go.com/Video/playerIndex?id=6062018"&gt;Part 1&lt;/a&gt;, &lt;a href="http://abcnews.go.com/Video/playerIndex?id=6061995"&gt;part 2&lt;/a&gt;, &lt;a href="http://abcnews.go.com/Video/playerIndex?id=6061963"&gt;part 3&lt;/a&gt;, &lt;a href="http://abcnews.go.com/Video/playerIndex?id=6061940"&gt;part 4&lt;/a&gt;, and &lt;a href="http://abcnews.go.com/Video/playerIndex?id=6061916"&gt;part 5&lt;/a&gt;.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a5aa27ec-cd98-4af0-8ba5-8b45713f5717" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Politics" rel="tag"&gt;Politics&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126134"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126134" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rakker/aggbug/126134.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert May</dc:creator>
            <guid>http://geekswithblogs.net/rakker/archive/2008/10/25/126134.aspx</guid>
            <pubDate>Sun, 26 Oct 2008 03:03:46 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rakker/comments/126134.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rakker/archive/2008/10/25/126134.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rakker/comments/commentRss/126134.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rakker/services/trackbacks/126134.aspx</trackback:ping>
        </item>
        <item>
            <title>Wow, this is scary</title>
            <link>http://geekswithblogs.net/rakker/archive/2008/10/25/126133.aspx</link>
            <description>&lt;p&gt;I'll be honest, Obama/Biden scares me.  His "spread the wealth around" comment is certainly Marksist.  Now, there's an &lt;a href="http://www.youtube.com/watch?v=sQXcImQfubM"&gt;interview&lt;/a&gt; by a reporter from WFTV that asks Biden some tough questions.  Obama's response, &lt;/p&gt; &lt;p&gt;"This cancellation is non-negotiable, and further opportunities for your station to interview with this campaign are unlikely, at best for the duration of the remaining days until the election," wrote Laura K. McGinnis, Central Florida communications director for the Obama campaign, according to the Sentinel. (as quoted from &lt;a href="http://elections.foxnews.com/2008/10/25/obama-campaign-cuts-interviews-florida-tv-station/"&gt;fox news&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;So, he's saying that either the press coddles him, or they'll not be able to talk to him.  First, tax cuts for people who pay little tax to spread the wealth around, now destruction of the free press.  Oh wait, McCain beat him to that with campaign finance reform.&lt;/p&gt; &lt;p&gt;Ah crap, we're screwed.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6624f411-2cb1-4e3e-a18e-04b4f8e3dd2a" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Politics" rel="tag"&gt;Politics&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126133"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126133" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rakker/aggbug/126133.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert May</dc:creator>
            <guid>http://geekswithblogs.net/rakker/archive/2008/10/25/126133.aspx</guid>
            <pubDate>Sun, 26 Oct 2008 03:00:19 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rakker/comments/126133.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rakker/archive/2008/10/25/126133.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rakker/comments/commentRss/126133.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rakker/services/trackbacks/126133.aspx</trackback:ping>
        </item>
        <item>
            <title>A good concept gone bad</title>
            <link>http://geekswithblogs.net/rakker/archive/2008/09/25/125464.aspx</link>
            <description>&lt;p&gt;I like the new ribbon features of Microsoft Office, although sometimes finding things can be a little difficult, since I've been using office and wordperfect for years and years.  I recently bought &lt;a href="http://www.cyberlink.com/multi/products/main_4_ENU.html"&gt;PowerDirector&lt;/a&gt; because windows movie maker just wouldn't do what I needed to do.&lt;/p&gt; &lt;p&gt;Upon opening the app, I see nice looking UI, complete with what appears to be a ribbon interface, at least until you click on the "Home" button, and notice that there aren't any ribbons.  When you click on the "Home" button you get this:&lt;/p&gt; &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/rakker/WindowsLiveWriter/Agoodconceptgonebad_E787/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="330" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/rakker/WindowsLiveWriter/Agoodconceptgonebad_E787/image_thumb.png" width="385" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Call me crazy, but I think that actually makes your life HARDER, not easier, since now you have the problems with mouse over, missing menus, etc, and I can't just go straight to "Playback," instead, I have to go to the home button and then to playback.  In the words of Maxwell Smart, "Missed it by that much."&lt;/p&gt; &lt;p&gt;Final gripe, I wanted to split a long movie into shorter clips.  I went through and split out all of the clips that I wanted, then hunted for hours for a feature that would take the clips and save them independently, or at least let me put them in a library and then produce them one by one.  No luck. :(  I had to clip, trim, produce, rinse repeat.&lt;/p&gt; &lt;p&gt;Oh well, it's better than Movie Maker.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cf11a1b1-c001-4e58-a140-c908152fd49d" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Video%20Editing" rel="tag"&gt;Video Editing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Human%20Factors" rel="tag"&gt;Human Factors&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=125464"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=125464" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rakker/aggbug/125464.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert May</dc:creator>
            <guid>http://geekswithblogs.net/rakker/archive/2008/09/25/125464.aspx</guid>
            <pubDate>Thu, 25 Sep 2008 21:33:08 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rakker/comments/125464.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rakker/archive/2008/09/25/125464.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rakker/comments/commentRss/125464.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rakker/services/trackbacks/125464.aspx</trackback:ping>
        </item>
        <item>
            <title>Political Math</title>
            <link>http://geekswithblogs.net/rakker/archive/2008/08/29/124801.aspx</link>
            <description>&lt;p&gt;I've maintained that we're hosed, no matter who you vote for, but now there's mathematical proof that regardless of how you vote, you're voting for a white liberal male.  Here's the math.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;1 Liberal Black Male + 1 Liberal White Male=1 Liberal White Male + 1 Conservative White Female&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;So first, Black Male and White female cancel each other out.  They're basically the same thing--both minorities, both oppressed citizens of these united states.  That leaves us with:&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;1 Liberal &lt;strike&gt;Black Male&lt;/strike&gt; + 1 Liberal White Male=1 Liberal White Male + 1 Conservative &lt;strike&gt;White Female&lt;/strike&gt;&lt;/p&gt; &lt;p&gt;&lt;strike&gt;&lt;/strike&gt; &lt;/p&gt; &lt;p&gt;Of course, 1 Conservative and 1 Liberal cancel each other out, leaving:&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;strike&gt;1 Liberal&lt;/strike&gt; &lt;strike&gt;Black Male&lt;/strike&gt; + 1 Liberal White Male=1 Liberal White Male + &lt;strike&gt;1 Conservative&lt;/strike&gt; &lt;strike&gt;White Female&lt;/strike&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;And there you have it.  1 liberal white male=1 liberal white male.  Now if McCain had been a conservative, you'd be voting for nothing, but as you can see, you're clearly voting for one liberal white male, no matter how you look at the equation.  It'll be fun to watch!&lt;/p&gt; &lt;p&gt;Now I'm sure this equation could be extended, and I know you might question my math, but I thought it was interesting . . .&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d5bb10df-fd9a-405a-b492-530c2a79711c" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Politics" rel="tag"&gt;Politics&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124801"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124801" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rakker/aggbug/124801.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert May</dc:creator>
            <guid>http://geekswithblogs.net/rakker/archive/2008/08/29/124801.aspx</guid>
            <pubDate>Fri, 29 Aug 2008 16:12:24 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rakker/comments/124801.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rakker/archive/2008/08/29/124801.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rakker/comments/commentRss/124801.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rakker/services/trackbacks/124801.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows Vista Backup</title>
            <link>http://geekswithblogs.net/rakker/archive/2008/08/15/124475.aspx</link>
            <description>&lt;p&gt;O.k., I'll admit, the first time that I used windows Vista backup, I was very underwhelmed, but it's grown on me, and now I'm a huge fan.  On Monday, I received a new hard drive from Dell.  It's bigger and doesn't make strange clicking and stalling noises like the old drive did. :)  I was pretty certain that the old drive was going to go.&lt;/p&gt; &lt;p&gt;To swap out the drives, I plugged in a USB drive with sufficient capacity and did a windows backup complete pc backup.  Once that was finished, I plopped in the new drive and my Vista installation DVD.  After the restart, I selected the Restore Vista options, found my complete backup and started the restore.  Once it was done, I rebooted and was up and running again.  That was it!  It just worked!  I spent less than 10 minutes (not counting actual backup time) on completely replacing the drive.  I've NEVER had a backup and restore go that smoothly.  In the past, I've always had to install the OS before I could get to the backup, and then it'd be a hassle because of drivers and such, and the final restore wouldn't quite be the same.  This restored things EXACTLY the same.&lt;/p&gt; &lt;p&gt;I did have to reauthorize Diskeeper, but that was the only thing that I had to touch.&lt;/p&gt; &lt;p&gt;Knowing that I can mount the complete backup using virtual PC is also nice.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d42607dc-76ad-49ee-a171-5fd5594060d2" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Vista" rel="tag"&gt;Vista&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Backup" rel="tag"&gt;Backup&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124475"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124475" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rakker/aggbug/124475.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert May</dc:creator>
            <guid>http://geekswithblogs.net/rakker/archive/2008/08/15/124475.aspx</guid>
            <pubDate>Fri, 15 Aug 2008 21:39:12 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rakker/comments/124475.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rakker/archive/2008/08/15/124475.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rakker/comments/commentRss/124475.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rakker/services/trackbacks/124475.aspx</trackback:ping>
        </item>
        <item>
            <title>WCF Serialization and the empty object bug</title>
            <link>http://geekswithblogs.net/rakker/archive/2008/08/15/124466.aspx</link>
            <description>&lt;p&gt;Ran into a serialization problem with WCF the other day that was rather interesting to find and fix.  It wasn't a problem with WCF, in the end, but rather with what we were telling WCF to do.&lt;/p&gt; &lt;p&gt;So we have some complex entities that we're shoving through the serialization layer.  We also send through lists of these entities, and the list may have references to itself.  To keep our list sizes small, we've implemented a &lt;a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.description.datacontractserializeroperationbehavior.aspx"&gt;DataContractSerializerOperationBehavior&lt;/a&gt; where when we create the data serializer, we set preserve references to true (it's just a variable below, but its set to true elsewhere):&lt;/p&gt;&lt;pre class="code"&gt;        &lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;XmlObjectSerializer&lt;/span&gt; CreateDataContractSerializer(&lt;span style="color: rgb(43,145,175)"&gt;Type&lt;/span&gt; type, &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; name, &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; &lt;a title="Notification Services" href="http://www.microsoft.com/sql/technologies/notification/default.mspx" target="_blank"&gt;Notification Services&lt;/a&gt;, &lt;span style="color: rgb(43,145,175)"&gt;IList&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43,145,175)"&gt;Type&lt;/span&gt;&amp;gt; knownTypes)
        {&lt;span style="color: rgb(0,128,0)"&gt;
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;DataContractSerializer
&lt;/span&gt;            (
                type, 
                name, 
                &lt;a title="Notification Services" href="http://www.microsoft.com/sql/technologies/notification/default.mspx" target="_blank"&gt;Notification Services&lt;/a&gt;, 
                knownTypes,
                maxItemsInObjectGraph &lt;span style="color: rgb(0,128,0)"&gt;/*maxItemsInObjectGraph*/&lt;/span&gt;,
                ignoreExtensionDataObject&lt;span style="color: rgb(0,128,0)"&gt;/*ignoreExtensionDataObject*/&lt;/span&gt;,
                preserveObjectReferences&lt;span style="color: rgb(0,128,0)"&gt;/*preserveObjectReferences*/&lt;/span&gt;,
                surrogate&lt;span style="color: rgb(0,128,0)"&gt;/*dataContractSurrogate*/
&lt;/span&gt;            );
        }
&lt;/pre&gt;
&lt;p&gt;To make things more complicated, we have some custom lists of our entities that have properties on them.  As you may not know, when serializing a custom collection, the object is treated as a collection and any custom properties are ignored and are not serialized, even if you mark them as a DataMember.  Rather annoying.  To get around this, we implemented an &lt;a href="        private static XmlObjectSerializer CreateDataContractSerializer(Type type, string name, string ns, IList&amp;lt;Type&amp;gt; knownTypes)"&gt;IDataContractSurrogate&lt;/a&gt;, which you can see is passed into the data serializer above.  In GetObjectToSerialize method of the surrogate class that we created, we look to see what type we're trying to serialize and if it's one of our custom collections, we create a new instance of a surrogate that has an internal list, but is not a collection class itself, populate it with the contents and properties of the object that is to be serialized and then pass the surrogate back to the serializer.  Since our surrogate class is not a collection, WCF detects it correctly and serializes it correctly.  Then, on deserialization, we create a new instance of the collection, set it's properties, and then iterate through the surrogate's list and add the items to the new custom collections list.&lt;/p&gt;
&lt;p&gt;Everything's happy, right?&lt;/p&gt;
&lt;p&gt;Nope.  Our custom collection requires that objects of the same type are added to it.  The objects themselves have a Name that tells us what they are.  Our objects also have children that can be of the same type as the parent and are stored in the same type of class.  More precisely:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Set&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;SetItem&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;AParentThing&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Children&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Set&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
                &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;SetItem&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;AChildThing&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
                    &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ParentSetItem&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;ref&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;AParentThing[0]&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ParentSetItem&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    ... (Perhaps even more sets and set items)
&lt;span style="color: rgb(0,0,255)"&gt;                &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;SetItem&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
            &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Set&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Children&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;SetItem&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;SetItem&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;AParentThing&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        ...(May have many layers)
&lt;span style="color: rgb(0,0,255)"&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;SetItem&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Set&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;The problem appeared when we tried to serialize the cases where a child set referred back to a parent set.  We were getting weird errors, caused by the constraint that required that all items in a set be of the same type.  For some reason, the Name wasn't being serialized, or so we thought.  And what was weird is that it worked right most of the time, but then would occasionally fail, and what's worse, if we ignored the error, everything would work like we thought it should.  We were sure we'd just found a bug with WCF.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Turns out that name just hadn't YET be serialized.&lt;/p&gt;
&lt;p&gt;I'm not sure about the order of serialization with data members, but it appears to be pretty arbitrary, unless you set the order on the data member.  We'd done two things incorrectly.  1.  We didn't set IsRequired on all of our DataMembers, and since this is a version 1 product, all of our interface elements should be present.  In future versions, maybe that'll change, but for now, they should all be there.  2.  We assumed that the deserialization of child collections wouldn't happen until after all of the members of the entity containing that collection were serialized, which is not the case.  As a result, the collections, which had a reference back to the parent, would attempt to deserialize BEFORE the name property had deserialized.&lt;/p&gt;
&lt;p&gt;To fix, we changed all of our data members to look like this:&lt;/p&gt;&lt;pre class="code"&gt;        [&lt;span style="color: rgb(43,145,175)"&gt;DataMember&lt;/span&gt;(Order=0, IsRequired = &lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;)]&lt;/pre&gt;
&lt;p&gt;Note that order is 0 based.  At first, we only put the order property on the Name element, but that just caused it to fail every time, since WCF appears to serialize everything without an order first, then follow the order priority second.  After updating the other methods to also have an order, the problem has disappeared.  The name is always serialized first.  Note however, that even though the message contains the data, the resulting object may not contain the data.
&lt;/p&gt;&lt;p&gt;Fun, Fun, Fun!&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a6ac6ef1-c4b4-49e3-b72e-4da39d642e56" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/WCF" rel="tag"&gt;WCF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Serialization" rel="tag"&gt;Serialization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.Net%203.5" rel="tag"&gt;.Net 3.5&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124466"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124466" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rakker/aggbug/124466.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert May</dc:creator>
            <guid>http://geekswithblogs.net/rakker/archive/2008/08/15/124466.aspx</guid>
            <pubDate>Fri, 15 Aug 2008 16:38:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rakker/comments/124466.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rakker/archive/2008/08/15/124466.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rakker/comments/commentRss/124466.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rakker/services/trackbacks/124466.aspx</trackback:ping>
        </item>
        <item>
            <title>How to annoy your ScrumMaster</title>
            <link>http://geekswithblogs.net/rakker/archive/2008/07/30/124133.aspx</link>
            <description>&lt;p&gt;As a ScrumMaster, these are some of my pet peeves, in no particular order:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Come late to meetings.  Better yet, don't show up to the meeting, don't let anyone know that you're going to miss the meeting, and then get grumpy when the ScrumMaster asks you to not do it again.  After all, the team doesn't really need to know what you're doing.&lt;/li&gt; &lt;li&gt;Ignore the priority of stories set by the product owner.  He loves not knowing what's going to be completed at the end of the iteration.&lt;/li&gt; &lt;li&gt;Have side conversations during iteration (sprint) planning, or send chat messages on your computer.  Then, when asked a question about what you should have been paying attention to, have a lost look and say, "Could you repeat that," meaning the last 10 minutes of conversation.  Rinse, repeat.&lt;/li&gt; &lt;li&gt;Prefer e-mail for communication.  After all, you don't have to bother talking to a human being and you can do nothing while you wait for a reply!  Heaven.  Why would someone use the phone, an office visit, a chat, screen sharing or any of those other pesky interactive conversation mechanisms.&lt;/li&gt; &lt;li&gt;Never ask for help, and if you do, make sure you always ask the same team member, even if others might know more.  It'll make person your asking much less productive, since he'll have to do your work and his work too!  And if you don't ask for help, you can do nothing and blame it on not being up to speed!  Teamwork, Shmeemwork.&lt;/li&gt; &lt;li&gt;Own your stories, and by own, I mean OWN.  You touch my story, you die!  Then, at the end of the iteration, when you didn't get it completed, make sure they knew it was because you were struggling with a piece of the story.  Make sure you don't act like you feel bad to the team or anything, after all, they should have know that you wanted help, even when you told them to mind their own business.&lt;/li&gt; &lt;li&gt;If you can think of something cool to add, add it now.  After all, there's no time like the present!  And then, when the team misses the iteration, you can say, "But we have a cool XYZ feature now!"  Who cares if you didn't need that feature and it wasn't a priority to the product owner.  They'll get over it.&lt;/li&gt; &lt;li&gt;If you really, really, want a feature to be implemented in iteration, make a defect, and set it to the highest priority available.  So what if it's way beyond the scope of what the team committed to do!  They'll get over it.&lt;/li&gt;&lt;/ol&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6e065685-653c-4637-88b3-0702ff44395a" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Agile" rel="tag"&gt;Agile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Scrum" rel="tag"&gt;Scrum&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124133"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124133" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rakker/aggbug/124133.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert May</dc:creator>
            <guid>http://geekswithblogs.net/rakker/archive/2008/07/30/124133.aspx</guid>
            <pubDate>Wed, 30 Jul 2008 22:27:40 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rakker/comments/124133.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rakker/archive/2008/07/30/124133.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rakker/comments/commentRss/124133.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rakker/services/trackbacks/124133.aspx</trackback:ping>
        </item>
    </channel>
</rss>