<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>General</title>
        <link>http://geekswithblogs.net/arnoudlems/category/3985.aspx</link>
        <description>General</description>
        <language>en-US</language>
        <copyright>Arnoud Lems</copyright>
        <managingEditor>arnoudlems@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Bob the builder syndrome</title>
            <link>http://geekswithblogs.net/arnoudlems/archive/2006/02/16/69675.aspx</link>
            <description>&lt;P&gt;Can we build it? YES we can, but shouldn't because there's platform support for that.&lt;/P&gt;
&lt;P&gt;Developers are an enthusiastic people, especially when it comes to solving problems. In their&amp;nbsp;pursuit of&amp;nbsp;solution Valhalla some tend do create their own solutions for problems the platform obviously offers support. A classic example:&lt;/P&gt;
&lt;P&gt;There's two applications that need to communicate with each other for some reason. .Net offers a few ways of doing this:&lt;BR&gt;SOAP over HTTP,&lt;BR&gt;.Net remoting,&lt;BR&gt;Socket communication&lt;/P&gt;
&lt;P&gt;Someone with Bob the builder syndrome will &lt;STRONG&gt;always&lt;/STRONG&gt; choose the later of the three. Reasons he would probably give are:&lt;BR&gt;a) We have total control over what happens (control freak)&lt;BR&gt;b) I've already looked into this and it looks pretty straightforward (oversimplifying)&lt;BR&gt;c) The platform abstraction creates a lot of overhead (unfounded accusation)&lt;/P&gt;
&lt;P&gt;I'm not saying you should never use socket communication, there might be perfectly good reasons to do so. But only after the other two have been ruled out for a really good reason. Before you know it the socket based approach will take you to your own proprietary &amp;#8220;remoting&amp;#8221; solution of streaming object between TCP endpoints.&lt;/P&gt;
&lt;P&gt;Having a bob the builder in your project team can be quit a challenge. They usually are not easily persuaded and offer a well meant &amp;#8220;I told you so&amp;#8221; at every problem you run into. Though I sympathize with the Bob the builders in this world for building everything from the ground up is fun (I admit there's a Bob the builder in me too), there's often not a lot fun having to clean up the mess after the &amp;#8220;pretty straightforward&amp;#8221; solution develops into an over complex nightmare.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=69675"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=69675" 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/arnoudlems/aggbug/69675.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Arnoud Lems</dc:creator>
            <guid>http://geekswithblogs.net/arnoudlems/archive/2006/02/16/69675.aspx</guid>
            <pubDate>Thu, 16 Feb 2006 10:43:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/arnoudlems/comments/69675.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/arnoudlems/archive/2006/02/16/69675.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/arnoudlems/comments/commentRss/69675.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/arnoudlems/services/trackbacks/69675.aspx</trackback:ping>
        </item>
    </channel>
</rss>