<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://experience.fellowshipone.com/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>Intelligent Design : development</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/development/default.aspx</link><description>Tags &amp; Topics: development</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61120.2)</generator><item><title>DC09 - DevCon Code, Slides, Videos</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2009/05/26/dc09-devcon-code.aspx</link><pubDate>Tue, 26 May 2009 04:50:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:14412</guid><dc:creator>FTProductDev</dc:creator><slash:comments>2</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/14412.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=14412</wfw:commentRss><description>&lt;p&gt;We have wrangled all of the devs and gathered all of the content that you saw at the DC09 DevCon.&amp;nbsp; Since we are community focused, we wanted you to have as much code and information that you'd need to get jump started for the RESTful API BETA so that you'll be able to discuss / communicate your ideas on consuming the REST API throughout the Social-Sphere.&amp;nbsp; We've got much more to come with the upcoming launch of our developer community site and the general release of the REST API.&amp;nbsp; Please take a moment to check out the goodies below - the whole dev team really "&lt;a href="http://dreams.honda.com/#/video_la"&gt;kicked out the ladder&lt;/a&gt;" so that we could give you real world, ministry focused code.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Application #1: &lt;/b&gt;F1Touch (Team Fire - iPhone) – &lt;a href="https://demo.staging.fellowshiponeapi.com/v1/Util/AuthDocs.help#1creds"&gt;1st Party&lt;/a&gt;&lt;br&gt;&lt;b&gt;Developers&lt;/b&gt;: &lt;a href="http://twitter.com/cmv"&gt;Matt Vasquez&lt;/a&gt;, &lt;a href="http://twitter.com/chadmeyer"&gt;Chad Meyer&lt;/a&gt;&lt;br&gt;&lt;b&gt;Description&lt;/b&gt;:&lt;br&gt;Our app is an iPhone application as a first party vendor open to all churches that opt in. Our application will provide the ability for church portal users to quickly look up congregants and contact them via phone or email as well as pull up Google maps to assist in directions to their house.&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Content&lt;/b&gt;&lt;br&gt;&lt;a href="http://chadillac-meyer.blogspot.com/2009/05/consume-f1-api-for-iphone.html"&gt;Chad Meyer's blog post&lt;/a&gt; | &lt;a href="https://experience.fellowshipone.com:443/Developers/artifacts/DC09_iPhone_PDF.pdf"&gt;Slide Deck&lt;/a&gt; | &lt;a href="https://fellowshiptech.sourcerepo.com/fellowshiptech/FTOAuth/ObjectiveC/"&gt;OAuth Lib&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Application #2&lt;/b&gt;: Outreach (Team Air - Facebook) – &lt;a href="https://demo.staging.fellowshiponeapi.com/v1/Util/AuthDocs.help#3oauth"&gt;3rd Party&lt;/a&gt; &lt;br&gt;&lt;b&gt;Developers&lt;/b&gt;: &lt;a href="http://twitter.com/ryanchamp_ice"&gt;Ryan Champ&lt;/a&gt;, &lt;a href="http://twitter.com/juskys"&gt;Jas Singh&lt;/a&gt;, &lt;a href="http://twitter.com/kleinke49"&gt;Kelly Klein&lt;/a&gt;&lt;br&gt;&lt;b&gt;Description&lt;/b&gt;:&lt;br&gt;Facebook is a social networking website with over 200 Million active users. How does the church engage, minister to, and help people through this social medium? Furthermore, is there a way to convert connections made in Facebook into potential church members? &lt;br&gt;&lt;br&gt;We tackle the problem with a prototype of application that functions with the overarching concept of “Virtual Outreach over Virtual Church.” Not only do we aim to build an ecology of people helping each other, but by reaching out to people and helping them deal with issues that affect their lives, church ministers and lay leadership can build “social capital” and trust in the digital world. This, in turn, will make their invitations to check out the church family much more appealing. Prospects, thus invited via the Outreach app, will then be routed directly into the church’s Fellowship One database.&lt;br&gt;&lt;br&gt;&lt;b&gt;Content&lt;/b&gt;&lt;br&gt;&lt;a href="http://www.vimeo.com/4840202"&gt;Video &lt;/a&gt;| &lt;a href="https://fellowshiptech.sourcerepo.com/fellowshiptech/FTOutreach/trunk/Slides/"&gt;Slide deck&lt;/a&gt; | &lt;a href="https://fellowshiptech.sourcerepo.com/fellowshiptech/FTOutreach/trunk/FTOutreach/"&gt;Code &lt;/a&gt;| &lt;a href="https://fellowshiptech.sourcerepo.com/fellowshiptech/FTOAuth/PHP/"&gt;OAuth Lib&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Application #3&lt;/b&gt;: Listee (Team Earth – Expression Engine) – &lt;a href="https://demo.staging.fellowshiponeapi.com/v1/Util/AuthDocs.help#2creds"&gt;2nd Party&lt;/a&gt;&lt;br&gt;&lt;b&gt;Developers&lt;/b&gt;: &lt;a href="http://twitter.com/nathansmith"&gt;Nathan Smith&lt;/a&gt;, Jingyi Wang&lt;br&gt;&lt;b&gt;Description&lt;/b&gt;:&lt;br&gt;This module allows a web designer to easily include F1 data using the ExpressionEngine content management system. The benefit of this is that EE is a very popular CMS for high-end designers, because it's templating language is so intuitive.&lt;br&gt;&lt;br&gt;&lt;b&gt;Content&lt;/b&gt;&lt;br&gt;&lt;a href="http://www.vimeo.com/4639724"&gt;Video &lt;/a&gt;| &lt;a href="https://fellowshiptech.sourcerepo.com/fellowshiptech/Listee/slides/"&gt;Slide deck&lt;/a&gt; | &lt;a href="https://fellowshiptech.sourcerepo.com/fellowshiptech/Listee/"&gt;Code &lt;/a&gt;| &lt;a href="https://fellowshiptech.sourcerepo.com/fellowshiptech/Listee/listee_v1.0/listee/f1_oauth.php"&gt;OAuth Lib&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Application #4&lt;/b&gt;: IWANTTOSERVE.COM (Team Water - .NET MVC) – 3rd Party&lt;br&gt;&lt;b&gt;Developers&lt;/b&gt;: &lt;a href="http://twitter.com/timhardy"&gt;Tim Hardy&lt;/a&gt;, Tudor Lupan&lt;br&gt;&lt;b&gt;Description&lt;/b&gt;:&lt;br&gt;We’ve developed a “Needs board” application that allows church members (anyone with a WebLink login) to post needs and search needs to minister to each other.&amp;nbsp; There is a tremendous need for a technical tool that can direct member’s willingness to serve to the valid needs of others.&amp;nbsp; While several tools have attempted to provide this functionality, none have taken advantage of the tried-and-true community self-monitoring patterns established by services such as ebay.&amp;nbsp; We’ve implemented a double opt-in system – the need submitter has to “Accept” a helper’s willingness to help, and the helper has to then “Commit”.&amp;nbsp; Both the submitter and the committed helpers can then rate each other to curb service abuses once the need has been met or the due date expired.&amp;nbsp; It completely leverages WebLink logins for authentication, and it contains a fully functional user profile editor &lt;br&gt;&lt;br&gt;&lt;b&gt;Content&lt;/b&gt;&lt;br&gt;&lt;a href="http://www.vimeo.com/4840294"&gt;Video &lt;/a&gt;| &lt;a href="https://fellowshiptech.sourcerepo.com/fellowshiptech/iServe/Slides/"&gt;Slide deck&lt;/a&gt; | &lt;a href="https://fellowshiptech.sourcerepo.com/fellowshiptech/iServe/"&gt;Code &lt;/a&gt;| &lt;a href="https://fellowshiptech.sourcerepo.com/fellowshiptech/FTOAuth/C%23/"&gt;OAuth Lib &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.twitter.com/nickfloyd"&gt;Nick Floyd&lt;/a&gt; - Integration Architect&lt;br&gt;&lt;/p&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=14412" width="1" height="1"&gt;</description><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/development/default.aspx">development</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/conference/default.aspx">conference</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/REST/default.aspx">REST</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/RESTful+API/default.aspx">RESTful API</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/OAuth/default.aspx">OAuth</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/DevCon/default.aspx">DevCon</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Facebook/default.aspx">Facebook</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/DC09/default.aspx">DC09</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/ExpressionEngine/default.aspx">ExpressionEngine</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/iPhone/default.aspx">iPhone</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/.NET+MVC/default.aspx">.NET MVC</category></item><item><title>Fellowship One APIs - Past, Present, and Future</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2009/02/25/fellowship-one-apis-past-present-and-future.aspx</link><pubDate>Wed, 25 Feb 2009 22:42:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:13823</guid><dc:creator>FTProductDev</dc:creator><slash:comments>2</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/13823.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=13823</wfw:commentRss><description>&lt;p&gt;With the up coming Fellowship One RESTful API we wanted to take the some time and look back on our other two APIs and reflect on what we intended them to be and what they actually became.&amp;nbsp; We looked at the their interfaces, authentication, resources, versioning, protocols, logging mechanisms, "debuggability", etc...&amp;nbsp; What we found out was that in the world of "API" nothing ever ends up like you intend.&lt;br&gt;&lt;br&gt;&lt;span style="font-weight:bold;"&gt;Fellowship One Data Exchange&lt;/span&gt;:&amp;nbsp; A very powerful XML &lt;a href="http://en.wikipedia.org/wiki/Remote_procedure_call"&gt;RPC API&lt;/a&gt; that was specifically designed to address massive data import and export needs.&amp;nbsp; It's ridged pinpoint interface allow users to build simple data presses, which move large amounts of data between disparate systems.&amp;nbsp; A few years into the product's life we introduced the ability to do synchronous transactions - a decision that completely changed many consumer's usage patterns.&lt;br&gt;&lt;br&gt;Serendipity
stepped in and instantly consumers began to use this brute force
application on websites to perform anything&amp;nbsp; from profile updates to
seamless login patterns.&amp;nbsp; After seeing how much the community found value in the login metaphor we've published docs and given presentations on the best practices of this approach. We now have 3rd parties writing web
applications and hosting web sites that do a myriad of things.&lt;/p&gt;&lt;p&gt;&amp;nbsp;Being a &lt;a href="http://en.wikipedia.org/wiki/SOAP"&gt;SOAP &lt;/a&gt;based .NET web service, consuming Data Exchange required the language to either have a library that constructs SOAP envelopes or that the developer understand that protocol and be able to construct a SOAP message manually.&lt;/p&gt;&lt;p&gt;Another characteristic of this API are the logging and response mechanisms; both were intended to only be used / interpreted by the consuming application.&amp;nbsp; Its authentication is based on simple credential / key maps.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;Fellowship One Payment Gateway&lt;/span&gt;: A .NET SOAP based web service that gives churches the ability to submit giving / e-commerce transactions.&amp;nbsp; The interesting thing about this service is that it was originally developed for internal consumption only and later opened up to external consumers for book stores, tithe applications, etc... another decision point that changed the way an established API was used.&lt;/p&gt;&lt;p&gt;Payment Gateway answered a changeling question of: "how do I get all of my billing and payments to go through one channel and be able to report on the transactions going through that channel?"&amp;nbsp; Much like Data Exchange, we saw it consumed in ways we couldn't have imagined.&lt;/p&gt;&lt;p&gt;We used credential and signed key authentication for this API.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&amp;nbsp;Fellowship One RESTful API:&lt;/b&gt; A REST based web application that uses several open protocols and patterns to provide consumers access to secure resources. &amp;nbsp;&lt;/p&gt;&lt;p&gt;STANDARDS, PROTOCOLS, and PATTERNS - nothing else.&amp;nbsp; Looking back, we could see where their is major value in sticking with something that is "tried and true."&amp;nbsp; If we could use &lt;u&gt;web based&lt;/u&gt; patterns and protocols for a &lt;u&gt;web based&lt;/u&gt; API we could not only get instant adoption but gain the efficiencies and effectiveness of technologies that "just work."&amp;nbsp; &lt;/p&gt;&lt;p&gt;This next generation of API is, ironically based on foundations that have been in place for years. &amp;nbsp; We chose &lt;a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller"&gt;MVC &lt;/a&gt;as the application architecture, &lt;a href="http://oauth.net/core/1.0/"&gt;OAUTH&lt;/a&gt; protocol for Authentication, &lt;a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm"&gt;REST&lt;/a&gt; and &lt;a href="http://www.w3.org/Protocols/rfc2616/rfc2616.html"&gt;HTTP 1.1&lt;/a&gt; as the transport.&amp;nbsp; This API should give web developers an tool where all they have to think about is what to do with the resources.&amp;nbsp; &lt;/p&gt;&lt;p&gt;Thank you for partnering with us over the years; we have a lot of fun stuff up ahead and we hope to see you at the &lt;a href="http://www.dynamicchurchconference.com/developers"&gt;Dev track&lt;/a&gt; @ DC09!&lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=13823" width="1" height="1"&gt;</description><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/MVC/default.aspx">MVC</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/development/default.aspx">development</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/API/default.aspx">API</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/DataExchange/default.aspx">DataExchange</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/REST/default.aspx">REST</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/RESTful+API/default.aspx">RESTful API</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Payment+Gateway/default.aspx">Payment Gateway</category></item><item><title>Coming January - Household/Individual 2.0 (try it out now)</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2008/11/19/coming-january-household-individual-2-0-try-it-out-now.aspx</link><pubDate>Wed, 19 Nov 2008 14:37:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:13228</guid><dc:creator>CurtisHarris</dc:creator><slash:comments>15</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/13228.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=13228</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Arial','sans-serif';"&gt;We started the conversation &lt;A class="" href="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2008/07/29/need-feedback-new-household-individual-detail-2-0.aspx"&gt;here&lt;/A&gt;, in this blog forum, re: the replacement of Household/Individual.&amp;nbsp; The goal was to&amp;nbsp;see the "whole picture",&amp;nbsp;make it easier&amp;nbsp;to add/edit/delete&amp;nbsp;details, and provide an intuitive user interface that was easy and enjoyable to use.&amp;nbsp; Our dev team took this project as a challenge to show off a development style that keeps them focused, accountable, and delivers what the user asked for; they blew me away!&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Arial','sans-serif';"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Arial','sans-serif';"&gt;Working with the dev team&amp;nbsp;intimately on screen design, we then immediately shared those with you and many other stakeholders to identify exactly what was needed.&amp;nbsp; Everything was broken down into “whole”&amp;nbsp;tasks and allotted out&amp;nbsp;every two weeks; quick 10 minute meetings were held every morning to identify progress and roadblocks.&amp;nbsp;&amp;nbsp;There were constant reviews to validate that what was being built was in align with the vision.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Did it work?&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;The proof is in the pudding, four short months later, with other projects that still demanded developer time, the first release of Household/Individual 2.0 is ready for the big time and I am excited!&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Replacing these legacy pages is important for a lot of reasons:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Arial','sans-serif';"&gt;Establishes another key building block that plays to our vision for F1&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Arial','sans-serif';"&gt;Everyone, no matter your role, is exposed to these pages so improvements here are felt across the board&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Arial','sans-serif';"&gt;Household/Individual detail pages account for more of our bandwidth than all other pages combined; improvements here impact our overall performance&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Arial','sans-serif';"&gt;It is our constant goal to improve visibility to &lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/SPAN&gt;your congregation; this takes a big step in that direction&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Arial','sans-serif';"&gt;If you had been following the &lt;A class="" href="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2008/07/29/need-feedback-new-household-individual-detail-2-0.aspx"&gt;design conversations&lt;/A&gt; we had 4 months ago, you will undoubtedly notice that there are some things we have further improved upon, but also some aspects that are missing; this is an iterative process and you can expect improvements that further flesh some details out over the coming months.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Arial','sans-serif';"&gt;Check out the EDUCATION tab above for detailed information, instruction, and direction to play with the new design in a safe environment.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;OBJECT height=300 width=400&gt;&lt;PARAM NAME="allowfullscreen" VALUE="true"&gt;&lt;PARAM NAME="allowscriptaccess" VALUE="always"&gt;&lt;PARAM NAME="movie" VALUE="http://vimeo.com/moogaloop.swf?clip_id=2236223&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;
&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=2236223&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/OBJECT&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=13228" width="1" height="1"&gt;</description><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/development/default.aspx">development</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/ACE/default.aspx">ACE</category></item><item><title>DC08 RESTful rewind</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2008/06/14/dc08-restful-rewind.aspx</link><pubDate>Sat, 14 Jun 2008 09:19:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:11341</guid><dc:creator>FTProductDev</dc:creator><slash:comments>4</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/11341.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=11341</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-size:10pt;font-family:'Arial','sans-serif';"&gt;A&amp;nbsp;few of you guys wanted the video from the conference on the RESTful API.&amp;nbsp; We decided to go back and condense the presentation to give you a more tangible look @ the new API.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Look for more videos in the upcoming weeks to address questions and thoughts that have&amp;nbsp;been coming our way. Thx guys for the awesome feedback - you guys rock!&lt;/p&gt;
&lt;p&gt;
&lt;object id="viddler" height="370" width="437"&gt;&lt;param name="_cx" value="11562"&gt;&lt;param name="_cy" value="9790"&gt;&lt;param name="FlashVars" value=""&gt;&lt;param name="Movie" value="http://www.viddler.com/player/5863322d/"&gt;&lt;param name="Src" value="http://www.viddler.com/player/5863322d/"&gt;&lt;param name="WMode" value="Window"&gt;&lt;param name="Play" value="-1"&gt;&lt;param name="Loop" value="-1"&gt;&lt;param name="Quality" value="High"&gt;&lt;param name="SAlign" value=""&gt;&lt;param name="Menu" value="-1"&gt;&lt;param name="Base" value=""&gt;&lt;param name="AllowScriptAccess" value="always"&gt;&lt;param name="Scale" value="ShowAll"&gt;&lt;param name="DeviceFont" value="0"&gt;&lt;param name="EmbedMovie" value="0"&gt;&lt;param name="BGColor" value=""&gt;&lt;param name="SWRemote" value=""&gt;&lt;param name="MovieData" value=""&gt;&lt;param name="SeamlessTabbing" value="1"&gt;&lt;param name="Profile" value="0"&gt;&lt;param name="ProfileAddress" value=""&gt;&lt;param name="ProfilePort" value="0"&gt;&lt;param name="AllowNetworking" value="all"&gt;&lt;param name="AllowFullScreen" value="true"&gt;
&lt;embed src="http://www.viddler.com/player/5863322d/" mce_src="http://www.viddler.com/player/5863322d/" type="application/x-shockwave-flash" height="370" width="437"&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;Download &lt;a href="http://www.viddler.com/explore/nickfloyd/videos/2/" class=""&gt;here&lt;/a&gt;&lt;/p&gt;&lt;p&gt;- &lt;a href="http://www.twitter.com/f1dev" target="_blank"&gt;F1Dev&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=11341" width="1" height="1"&gt;</description><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/development/default.aspx">development</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/RESTful+API/default.aspx">RESTful API</category></item><item><title>I AM DEV</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2008/04/10/i-am-dev.aspx</link><pubDate>Thu, 10 Apr 2008 16:29:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:10404</guid><dc:creator>FTProductDev</dc:creator><slash:comments>5</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/10404.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=10404</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;I'm the guy who moves stuff around in your favorite application, for what seems like no apparent reason.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;My drink of choice is caffeine.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;My shoe of choice is flip-flop.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;My store of choice is Starbucks, which I &lt;STRIKE&gt;walk &lt;/STRIKE&gt;drive to wearing my flip-flops, to get caffeine&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;My wife, since I am fortunate to have one, calls me her "big, strong, nerd" - never mind the catastrophic oxymoron that the phrase produces; I would prefer a better wife handle though, something like &lt;EM&gt;zerocool&lt;/EM&gt; or &lt;EM&gt;n00bpwner&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;Yes, I married up; no, I did not use my geek super powers to do so…&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;I take things apart on purpose knowing that there is no way I will be able to put them back together.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;I cringe when people use CPU or HARDDRIVE as synonyms for COMPUTER&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;I have more than 2 browsers installed on my CPU.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;I used to think business people "ph33r’d" my elite hacking skills, but I found out they just think I am weird and that's really why they avoid me.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;When given the option I would take a bean bag over a chair any day&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;The first rule about being a Developer is that you don’t talk about being a developer&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;When asked to clean the house I have to create a list and organize it so that the tasks get accomplished in the most efficient way - the&amp;nbsp;list takes about 1-2hrs to prepare assuming no bugs and no interruptions (note to self: write program to generate list).&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;If it is worth doing it is worth overdoing.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;My children still want to be like me when they grow up.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;I am a keyboard cowboy - but I have no idea how to actually type.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;I speak in crypto-nerd tongue to get out of meetings (works much like a Jedi mind trick only not as cool).&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;Crypto-nerd tongue gets turned off if I know there is a chance in the meeting that technical terms will be butchered (like using CPU for COMPUTER – high developer entertainment value) or there will be coffee.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;I run out of my allotted number of words per day faster because I use Acronyms.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;When faced with a challenge, I reassign the work item.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;The second rule about being a Developer is that you don’t talk about being a developer.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;Script is not something you read, and when you talk about Java, as a safety measure, you should specify upfront if you're talking about the tasty beverage or code.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;People think I show up to work early, not true; I just leave late.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;Despite what most might think I do not just copy and paste code... I change the comments too.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;And, yes business users, "All Your Base Are Belong To Us"&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;I am dev…&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=10404" width="1" height="1"&gt;</description><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/development/default.aspx">development</category></item><item><title>A Little Christmas Coding Magic</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2007/12/13/A-Little-Christmas-Coding-Magic.aspx</link><pubDate>Thu, 13 Dec 2007 07:01:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:9226</guid><dc:creator>FTProductDev</dc:creator><slash:comments>1</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/9226.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=9226</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;When I was a kid I loved magic - simple card tricks to &lt;A class="" href="http://www.dcopperfield.com/" target=_blank&gt;Copperfield’s&lt;/A&gt; million dollar illusions, I was easily mesmerized and mystified.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;People have been bending what we &lt;STRONG&gt;THINK&lt;/STRONG&gt; is reality for years.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Take a look at the picture - Which way does this window face. Are the people on the inside looking to the left or looking to the right? Are you looking up into the window, or are you looking down into the window?&lt;IMG title="optical window" style="WIDTH:220px;HEIGHT:300px;" height=300 alt="optical window" hspace=10 src="https://experience.fellowshipone.com/images/blogs/nfloyd-assume1.gif" width=220 align=right&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Same thing goes for programming – what we type out in code does not always translate to "what is" during execution; especially if you’re dealing with a compiler between what you write and&amp;nbsp;assembled code delivered into production.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;Take the battle between a couple of conditional processing structures provided in C# (and most other languages): Who’s “better” regarding efficiency and elegance - a switch (case) statement or If-Else conditional statement.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;The &lt;A class="" title=GoOracle href="http://www.google.com/search?source=ig&amp;amp;hl=en&amp;amp;rlz=&amp;amp;q=switch+vs+if" target=_blank&gt;GoOracle&lt;/A&gt; would tell you this is a &lt;A class="" href="http://www.blackwasp.co.uk/SpeedTestIfElseSwitch.aspx" target=_blank&gt;no brainer&lt;/A&gt;&lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;, and logically we would assume that switch would perform better because the framework does not have to evaluate each statement in the flow.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;Let’s assume otherwise and challenge the norm given the following code in pre-compiled form:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;private static void SwitchSingleCondition() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Stopwatch timer = new Stopwatch();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;timer.Start(); // Start the timer&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;string compare = "a";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;for (long i = 1; i &amp;lt;= 10000; i++) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;switch (compare) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;case "a":&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&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;&lt;/SPAN&gt;compare = "b";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;break;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;case "b":&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;compare = "a";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;break;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;default:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;compare = "a";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;break;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;timer.Stop(); // Stop the timer&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Execution time for 'Switch Single Condition' was {0:F1} microseconds.", (decimal)timer.Elapsed.Ticks / 10M);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;private static void IfSingleCondition() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Stopwatch timer = new Stopwatch();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;timer.Start(); // Start the timer&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;string compare = "a";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;for (long i = 1; i &amp;lt;= 10000; i++) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;if (compare == "a") {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;compare = "b";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;} else if (compare == "b") {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;compare = "a";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;} else {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;compare = "a";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;timer.Stop(); // Stop the timer&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Console.WriteLine("Execution time for 'If Single Condition' was {0:F1} microseconds.", (decimal)timer.Elapsed.Ticks / 10M);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;When executed we get the following results:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG style="WIDTH:400px;HEIGHT:52px;" height=52 src="https://experience.fellowshipone.com/images/blogs/nfloyd-assume2.jpg" width=400&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;Why did the “if statement” run more efficiently than the switch? Let’s pull back the curtain and take away the mirrors – this is what the code looks like after compilation (&lt;A class="" title=Reflector href="http://www.aisto.com/roeder/dotnet/" target=_blank&gt;Reflector&lt;/A&gt;&amp;nbsp;you rock!):&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;private static void SwitchSingleCondition()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Stopwatch timer = new Stopwatch();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;timer.Start();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;string compare = "a";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;for (long i = 1L; i &amp;lt;= 0x2710L; i += 1L) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;string CS$0$0000 = compare;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (CS$0$0000 == null) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;goto Label_004B;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (!(CS$0$0000 == "a")){&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (CS$0$0000 == "b"){&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&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; &lt;/SPAN&gt;goto Label_0043;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;goto Label_004B;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;compare = "b";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;continue;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Label_0043:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;compare = "a";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;continue;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Label_004B:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;compare = "a";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;timer.Stop();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/SPAN&gt;decimal CS$0$0000 = timer.Elapsed.Ticks / 10M;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Execution time for 'Switch Single Condition' was {0:F1} microseconds.", CS$0$0000);}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;private static void IfSingleCondition()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Stopwatch timer = new Stopwatch();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;timer.Start();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;string compare = "a";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;for (long i = 1L; i &amp;lt;= 0x2710L; i += 1L) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (compare == "a"){&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;compare = "b";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else if (compare == "b"){&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;compare = "a";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Else {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;compare = "a";&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;timer.Stop();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;decimal CS$0$0000 = timer.Elapsed.Ticks / 10M;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Execution time for 'If Single Condition' was {0:F1} microseconds.", CS$0$0000);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;Are you kidding me – the “if” logic even looks more elegant!&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;So what happened?&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;It seems that behind the smoke, mirrors, and assumptions the .NET framework looks at the code that was written and restructures it to what it thinks will be more efficient using if-else conditions, “goto” statements, and a labeling system.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Once your case statement exceeds 4 conditions the compiler will leave the code alone and execute it as a normal switch case.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;It turns out that if-else-if statements can and most likely will be more efficient than switch statements when the number conditions do not exceed four.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; Things aren't always what they seem. &lt;/SPAN&gt;Don’t be blinded by the magic – challenge your assumptions - until they become &lt;STRONG&gt;fact&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;--nick&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=9226" width="1" height="1"&gt;</description><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/.NET/default.aspx">.NET</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/development/default.aspx">development</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Code/default.aspx">Code</category></item><item><title>Plasma, Dog Plasma: Generics vs. Objects</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2007/12/04/generics-vs-objects.aspx</link><pubDate>Tue, 04 Dec 2007 06:36:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:9176</guid><dc:creator>FTProductDev</dc:creator><slash:comments>0</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/9176.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=9176</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;I came across an interesting quote from &lt;A class="" title="Tony Northrup" href="http://www.vistaclues.com/%20" target=_blank&gt;Tony Northrup&lt;/A&gt; regarding .net Generics:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;“I haven’t been able to reproduce the performance benefits of generics; however, according to Microsoft, generics are faster than using casting.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;In practice, casting proved to be several times faster than using a generic.&amp;nbsp; However, you probably won't notice performance differences in your applications.”&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;A class="" href="http://www.youtube.com/watch?v=xC5v8PVjBfk" target=_blank&gt;&lt;IMG title="Crazy Mixed up Pup" style="PADDING-RIGHT:0pt;PADDING-LEFT:10px;PADDING-BOTTOM:5px;WIDTH:320px;PADDING-TOP:5px;HEIGHT:240px;" height=240 alt="Crazy Mixed up Pup" src="https://experience.fellowshipone.com/images/blogs/crazymixeduppup.jpg" width=320 align=right&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;That reminded me of a 1954 cartoon called "&lt;A class="" title="Crazy Mixed Up Pup." href="http://www.youtube.com/watch?v=xC5v8PVjBfk" target=_blank&gt;Crazy Mixed Up Pup.&lt;/A&gt;"&amp;nbsp; There was a Doctor who was given a couple bottles of plasma but couldn't figure out which to use on the dog and which to use on the man - pure genius. While I hope I am never faced with the decision of which bottle of plasma to wire up to dog or man,&amp;nbsp;I often face the struggle of&amp;nbsp;pulling out the right tool for&amp;nbsp;a given need.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;For instance, .net has several different types of collections, not to mention generic collections introduced in 2.0, and others introduced by the &lt;A class="" title=community href="http://www.gotdotnet.com/content/featuredsite/powercollections/default.aspx" target=_blank&gt;community&lt;/A&gt;.&amp;nbsp; Let's face it, our tool bags are getting bigger, more robust - what do we do when we're introduced to things like Tony's discovery?&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;I chose to&amp;nbsp;put together a little project to see if I could reproduce his findings and dig out the right tool...&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri size=3&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Created a console application &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri size=3&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Then 2 classes&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN:0in 0in 0pt 1in;TEXT-INDENT:-0.25in;"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri size=3&gt;a.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Object with two public members that where of type System.Object&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN:0in 0in 0pt 1in;TEXT-INDENT:-0.25in;"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri size=3&gt;b.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Generic with two public members that were generic types&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;using System;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;using System.Collections.Generic;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;using System.Text;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;namespace ObjectVSGenerics {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;class Program {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;static void Main(string[] args) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;RunTest(Console.ReadKey().Key);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.ReadLine();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;private static void RunTest(System.ConsoleKey key) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Int64 start = DateTime.Now.Ticks;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;for (int i = 0; i &amp;lt;= 1000000; i++) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&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; &lt;/SPAN&gt;if (key == ConsoleKey.O) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&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; &lt;/SPAN&gt;Obj o = new Obj(1, 1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&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; &lt;/SPAN&gt;int objInt = o.sum();//(int)o.obj1 + (int)o.obj2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&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; &lt;/SPAN&gt;} else if (key == ConsoleKey.G) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&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; &lt;/SPAN&gt;Gen&amp;lt;int, int&amp;gt; g = new Gen&amp;lt;int, int&amp;gt;(1, 1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&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; &lt;/SPAN&gt;int genInt = g.t + g.u;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&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; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Int64 processingSeconds = (DateTime.Now.Ticks - start) / TimeSpan.TicksPerMillisecond;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine(" Process time in Milliseconds " + key.ToString() + ": " + (processingSeconds).ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.Write("Enter another: ");&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;RunTest(Console.ReadKey().Key);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;FONT face=Calibri&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;This is what I found:&lt;/FONT&gt;&lt;/P&gt;
&lt;TABLE class=MsoTableGrid style="BORDER-RIGHT:medium none;BORDER-TOP:medium none;BORDER-LEFT:medium none;BORDER-BOTTOM:medium none;BORDER-COLLAPSE:collapse;" cellSpacing=0 cellPadding=0 class="MsoTableGrid"&gt;

&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:black 1pt solid;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;Build / Framework&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:black 1pt solid;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;Generic mean exec time&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:black 1pt solid;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;Object mean exec time&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:black 1pt solid;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;% Efficiency&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;Debug .net 2.0&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;32ms&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;77ms&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;58% (Generic)&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;Debug .net 3.0&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;33ms&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;78ms&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;57% (Generic)&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;Debug .net 3.5&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;33ms&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;80ms&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;59% (Generic)&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;Release .net 2.0&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;15ms&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;64ms&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;76.5% (Generic)&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;Release .net 3.0&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;15ms&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;58ms&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;74% (Generic)&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:black 1pt solid;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;Release .net 3.5&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;15ms&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;57ms&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:black 1pt solid;PADDING-RIGHT:5.4pt;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;WIDTH:119.7pt;PADDING-TOP:0in;BORDER-BOTTOM:black 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri size=3&gt;74% (Generic)&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;Now, while I was not able to reproduce Tony’s findings and the scenario above was not a “real world” scenario (looping and instantiating an object or generic 1 million times in a given execution) I was able to conclude a few things:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;The efficiency of the generic was higher than the object, and the efficiency of both were higher when executing Release code.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;It makes total sense why a release build would be faster, especially regarding recursion (the framework is less aggressive about cleaning up resources in debug code, plus other optimizations).&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;However, why did the object stay close to the same execution mean and the generic become roughly 50% faster?&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN:0in 0in 0pt 1in;TEXT-INDENT:-0.25in;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Check out this &lt;A class="" title=post href="http://blogs.msdn.com/csharpfaq/archive/2004/03/12/88913.aspx%20" target=_blank&gt;post&lt;/A&gt; &lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;by the C# team.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Basically this improvement is because the actual implementation is created at runtime. So when I create Gen&amp;lt;int, int&amp;gt; the JIT will see if it has previously been compiled and if it has will reuse it.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Secondly the Object implementation will always require boxing and unboxing of the value type int – that simply will not change, Release or not.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;In this &lt;A class="" title=book href="http://www.amazon.com/gp/product/0735622779/northruporg/%20" target=_blank&gt;book&lt;/A&gt; Tony points out that a really good reason to use Generics is simply because they are type-safe.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Meaning that during compilation if a value you’re providing to your generic does not match the instantiated instance’s definition the compiler will error.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Generic code is only valid if it will compile every possible instance of the generic.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Finally, if you notice in the code above I created a method in the Object class to encapsulate the “sum” functionality.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Normally, you probably would not do this because when dealing with objects - you’re already running the risk of no type safety during runtime.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;But to make a point – Generics cannot perform this sort of encapsulation; operators cannot be used as logic mechanisms.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;When generic code is compiled it maintains its “generic-ness.” Therefore anything that would explicitly require a certain type will not compile.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;The bottom-line is “real-world” forces you to use all of the tools in your tool bag, not just the cool ones.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;We love adopting new technologies at Fellowship Technologies; we have to ride the razor’s edge to be able to evaluate and use the best that is out there so that we can build the best.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;Generics seem to have a pretty significant advantage over objects and casting - it's a tool, I think, that has the possibility of make some solid, clean, and fast code.&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;--nick&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=9176" width="1" height="1"&gt;</description><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Technology/default.aspx">Technology</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/development/default.aspx">development</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Code/default.aspx">Code</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Generics/default.aspx">Generics</category></item><item><title>What do QA, a SaaS company, and Christmas have in common?</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2007/12/03/what-do-qa-a-saas-company-and-christmas-have-in-common.aspx</link><pubDate>Mon, 03 Dec 2007 15:32:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:9181</guid><dc:creator>FTProductDev</dc:creator><slash:comments>0</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/9181.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=9181</wfw:commentRss><description>&amp;nbsp; 
&lt;P style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;Fellowship Technologies, of course!&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;Let's establish a baseline and start with what we know.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;According to Merriam-Webster, the definition of &lt;A href="http://www.m-w.com/dictionary/quality%20assurance"&gt;quality assurance&lt;/A&gt; is, "…a program for the systematic monitoring and evaluation of the various aspects of a project, service, or facility to ensure that standards of quality are being met."&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Fellowship Technologies, "...believes that work is a form of worship." according to just one of our many core values.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Finally, and ultimately, according to scripture, &lt;A href="http://www.biblegateway.com/passage/?search=Col%203:23-24&amp;amp;version=31"&gt;Col 3:23-24&lt;/A&gt; states "23Whatever you do, work at it with all your heart, as working for the Lord, not for men, 24since you know that you will receive an inheritance from the Lord as a reward. It is the Lord Christ you are serving." NIV&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;So, how does this all tie together?&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;In the realm of software development, QA should be fairly simple, right?&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;After all, it either works or it doesn't, right?&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;And if, as a company, we are all practicing scripture and, "&lt;A href="http://www.biblegateway.com/passage/?search=Col%203:23-24&amp;amp;version=31"&gt;…working for the Lord…&lt;/A&gt;", then do we really need checks and balances?&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;A href="http://www.biblegateway.com/passage/?book_id=65&amp;amp;chapter=4&amp;amp;verse=13&amp;amp;version=31&amp;amp;context=verse"&gt;Yes&lt;/A&gt;.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Allow me to explain…&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;A little perspective…I don't see my role, or the role of QA at FT, as checking others' work, pointing out someone's mistakes, or finding fault.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;A href="http://blog.mountaingoatsoftware.com/?p=11"&gt;QA is part of a team&lt;/A&gt;.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;The team works together to accomplish the common goal of producing a quality product allowing those utilizing it more time to manage, minister, and serve within the local church.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;This is what makes product development at FT team unique.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;We work as a team within the process of customer demand through &lt;A href="http://www.dynamicchurchconference.com/regional-user-groups"&gt;user forums&lt;/A&gt; and working closely with Product Management, IT, Support and others.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Not to mention the immediate attention required for unforeseen technical events, and…drum roll please…bugs.&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;Bugs certainly take their portion of the total pie of development challenges.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;This is normal.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Some are found during development.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Some are found during QA.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;And some are kindly brought to our attention through our clients.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Adopting an agile work environment allows QA to be part of the product developmental process.&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in 0in 0in 0.375in;FONT-FAMILY:Calibri;"&gt;"On an agile , story driven project, testing is not the antagonistic activity that it becomes for many teams.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;There is no "I gotcha" mentality when a bug is found.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;There is no room for passing the blame when a bug makes it all the way to production.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;The highly-collaborative, we're all-in-this-together mentality of the team prevents this.&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in 0in 0in 0.375in;FONT-FAMILY:Calibri;"&gt;"On an agile project, we test to find and eliminate bugs; we don't necessarily pursue goals of 100% code coverage or testing of all boundary conditions.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;We use our intuition, our knowledge, and our past experience to guide our test effort."&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in 0in 0in 0.375in;FONT-FAMILY:Calibri;"&gt;&lt;A href="http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?z=y&amp;amp;EAN=9780321205681&amp;amp;itm=1"&gt;Mike Cohn, (2004).&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-STYLE:italic;TEXT-DECORATION:underline;"&gt;User Stories Applied For Agile Software Development&lt;/SPAN&gt;.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;p. 72&lt;/A&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in 0in 0in 0.375in;FONT-FAMILY:Calibri;"&gt;&lt;A class=underline href="http://search.barnesandnoble.com/booksearch/imageviewer.asp?ean=9780321205681&amp;amp;z=y" target=_blank&gt;&lt;IMG title="Cover Image" style="WIDTH:185px;HEIGHT:245px;" height=245 alt="Cover Image" src="https://experience.fellowshipone.com/images/blogs/userstoriesapplied.jpg" width=185 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;We are a team.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Leaning on each other's expertise, knowledge and being &lt;A href="http://www.biblegateway.com/passage/?book_id=65&amp;amp;chapter=4&amp;amp;verse=13&amp;amp;version=31&amp;amp;context=verse"&gt;accountable&lt;/A&gt;, we can commit to giving our best every day.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;We can commit to FT's core values.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;And finally, we can commit to living the word as closely as humanly possible to help further the &lt;A href="http://www.biblegateway.com/passage/?book_id=47&amp;amp;chapter=28&amp;amp;verse=19&amp;amp;version=31&amp;amp;context=verse"&gt;kingdom&lt;/A&gt;.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;I'm proud to be a part of this effort.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;In the mean time, we thank God for grace and look forward to the &lt;A href="http://www.biblegateway.com/passage/?book_id=30&amp;amp;chapter=29&amp;amp;verse=11&amp;amp;version=31&amp;amp;context=verse"&gt;future&lt;/A&gt; He has in store for us!&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;- Jason&lt;/P&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=9181" width="1" height="1"&gt;</description><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Technology/default.aspx">Technology</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/development/default.aspx">development</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Agile/default.aspx">Agile</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/QA/default.aspx">QA</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/team/default.aspx">team</category></item><item><title>Competing on the basis of speed - Being "lean" about development</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2007/03/19/Competing-on-the-basis-of-speed-_2D00_-Being-_2200_lean_2200_-about-development.aspx</link><pubDate>Mon, 19 Mar 2007 12:58:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:1275</guid><dc:creator>nfloyd</dc:creator><slash:comments>0</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/1275.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=1275</wfw:commentRss><description>
&lt;p&gt;I came across this &amp;quot;good and tasty&amp;quot; while doing some research on Agile as it is applied to the rapidly growing, and changing Game industry.&amp;nbsp; Since there are thousands of different gaming software companies, only a handful of true game types (MMORPG, Strategy, FPS, etc...), and several barriers&amp;nbsp;to market,&amp;nbsp;the developers of these companies are realizing that development methodologies such as &lt;a href="http://en.wikipedia.org/wiki/Waterfall_model"&gt;waterfall&lt;/a&gt; and &lt;a href="http://www-128.ibm.com/developerworks/rational/library/253.html"&gt;RUP&lt;/a&gt;&amp;nbsp;are arcane and wasteful.&amp;nbsp; The old school methodologies can be the product killer; instead, you have to move like the web and be accurate on your delivery. (&amp;quot;Inspect/Test to prevent defects, not to find them&amp;quot;).&lt;/p&gt;
&lt;p&gt;Check out this &lt;a href="http://video.google.com/videoplay?docid=-5105910452864283694"&gt;Google Tech Talk by Mary Poppendieck&lt;/a&gt; on &lt;a href="http://en.wikipedia.org/wiki/Lean_software_development"&gt;Lean software development&lt;/a&gt;.&amp;nbsp; It is about an hour long, but well worth the time. In it she discusses set based design, testing methodologies, queuing theory, and development cycle time. The tech talk is not just for devs either - Management, QA, support, etc... will definitely find it applicable.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Drop the queue (or at least make it smaller)! Go Agile!&lt;/p&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=1275" width="1" height="1"&gt;</description><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/development/default.aspx">development</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/project+management/default.aspx">project management</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Agile/default.aspx">Agile</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/methodologies/default.aspx">methodologies</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/set+based+design/default.aspx">set based design</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Lean/default.aspx">Lean</category></item><item><title>Old Dog, New App</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2007/02/15/Old-Dog_2C00_-New-Apps.aspx</link><pubDate>Thu, 15 Feb 2007 19:08:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:1107</guid><dc:creator>nfloyd</dc:creator><slash:comments>1</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/1107.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=1107</wfw:commentRss><description>&lt;p&gt;Last night I finished my taxes.&amp;nbsp; Though it was no small feat it seemed almost pleasurable - before you call the IRS / local asylums (one in the same)&amp;nbsp;let me explain:&lt;/p&gt;&lt;p&gt;A&amp;nbsp;coworker turned me on to an awesome book by &lt;a href="http://www.rhjr.net/about"&gt;Robert Hoekman, Jr&lt;/a&gt;&amp;nbsp;named &lt;a href="http://www.rhjr.net/dto"&gt;designing the obvious.&lt;/a&gt;&amp;nbsp; Hoekman talks about practical approaches to designing web applications -&amp;nbsp;nothing revolutionary, right? That&amp;#39;s what I thought...&lt;/p&gt;&lt;p&gt;In the past I have always bought the tax software, downloaded&amp;nbsp;it, installed it, updated it, used it (rather misused&amp;nbsp;it), updated it again, submitted my taxes, then uninstalled it - never to be used again.&amp;nbsp; I do this because, just as Hoekman explains, &amp;quot;Typically, users latch on to the first [software] tool they find that they can tolerate, and they stick to it.&amp;quot;&lt;/p&gt;&lt;p&gt;Yes, I lost count of how many times the application crashed or had to be updated, and it wasn&amp;#39;t the fastest or easiest to use, and yes I often felt like the software was telling me &amp;quot;you&amp;#39;re not good enough to use me, do you even know what a 1040x is, ummm you don&amp;#39;t need to use that field but I have displayed it there to mislead you muahaha...&amp;quot;.&amp;nbsp; But I used it none the less, not willing to try the web version.&lt;/p&gt;&lt;p&gt;From &amp;quot;designing the obvious&amp;quot;: &amp;quot;When an application is designed badly, it tells you at every opportunity just how bad it is.&amp;nbsp; But when it&amp;#39;s good, you usually can&amp;#39;t explain why it&amp;#39;s good.&amp;nbsp; You can&amp;#39;t put your finger on it, but you know it when you see it.&amp;quot;&lt;/p&gt;&lt;p&gt;I used the web version of the software this year.&amp;nbsp; Initially I was insulted, barking out things like, &amp;quot;What!? You can&amp;#39;t even search on which form your using&amp;quot;, &amp;quot;Where are the long &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;explanations&lt;/span&gt; of what fields 1-200 mean&amp;quot;, or &amp;quot;Where are the &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;gratuitous&lt;/span&gt; fields that are&amp;nbsp;intended to mislead and distract&amp;quot;.&amp;nbsp; As I used the app&amp;nbsp;I began to get it - this old dog was eating his own food. &lt;/p&gt;&lt;p&gt;They &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;designed&lt;/span&gt; the online tax program based on the activity that needed to be preformed (&lt;em&gt;Activity-Centered Design&lt;/em&gt; - &lt;a href="http://www.uie.com/articles/designing_web_applications_for_use/"&gt;Designing Web Applications for Use&lt;/a&gt;)&amp;nbsp;and dropped the over abundance of &amp;quot;enhancements&amp;quot; and so called&amp;nbsp;&amp;quot;features&amp;quot;&amp;nbsp;its client based brother has.&lt;/p&gt;&lt;p&gt;After being humbled by great software design and confidently addressing the burning hot coals of Tax Season I felt good, &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;empowered&lt;/span&gt; almost.&amp;nbsp; &amp;quot;Software shouldn&amp;#39;t force users to understand how it works so they can learn to do things with it.&amp;quot; - designing the obvious&lt;/p&gt;&lt;p&gt;That&amp;#39;s what makes good software, that&amp;#39;s what makes an obvious design, that&amp;#39;s what empowers users to get the job done.&lt;/p&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=1107" width="1" height="1"&gt;</description><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Design/default.aspx">Design</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Purpose/default.aspx">Purpose</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/development/default.aspx">development</category></item><item><title>Asp.Net vs. Standards</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2007/02/02/Asp.Net-vs.-Standards.aspx</link><pubDate>Fri, 02 Feb 2007 23:29:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:1028</guid><dc:creator>mvasquez</dc:creator><slash:comments>2</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/1028.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=1028</wfw:commentRss><description>&lt;p&gt;A few months back I converted our site template from a table-based layout to a standards based design.&amp;nbsp; This was not a trivial task, in essence I &amp;quot;touched&amp;quot; every page in our app, which is more than 300 pages.&amp;nbsp; Recently we released major pieces of functionality, both using standards based html and heavy client-side functionality (ajax via prototype, effects/drag drop via scriptaculous).&amp;nbsp; For the entirety of the project I was in a constant struggle with &lt;a href="http://asp.net"&gt;asp.net&lt;/a&gt;&amp;nbsp;and it&amp;#39;s blatant disregard for supporting standards based design&amp;nbsp; and&amp;nbsp;HTML standards in general.&amp;nbsp;&amp;nbsp;Listed below are the issues that drove me&amp;nbsp;to the edge of insanity, almost to the point of shunning off asp.net forever.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;INamingContainer&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I understand the need to uniquely identify objects in the control tree.&amp;nbsp; But why does that id have to be persisted to the client?&amp;nbsp; How are you suppose to get a reference to an element in css or javascript if you can&amp;#39;t rely on the id?&amp;nbsp; I&amp;#39;ve got an idea, stop trying to hold my hand and let me be responsible for uniquely identifying my controls.&amp;nbsp; This leads to abusing the class attribute and using it where it simply should not be needed.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;One form per page with runat=&amp;quot;server&amp;quot;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I&amp;#39;ve been told that this has since been addressed in 2.0.&amp;nbsp; In 1.1 this is unacceptable, for instance, in our site template we have a drop down within our sub navigation (don&amp;#39;t ask&amp;nbsp;me why it is in the navigation)&amp;nbsp;that contains all ministries a user has rights to.&amp;nbsp; This drop down should&amp;nbsp;be contained within it&amp;#39;s own form,&amp;nbsp;along with&amp;nbsp;a form&amp;nbsp;containing all&amp;nbsp;controls within the main&amp;nbsp;content section.&amp;nbsp; but because a)&amp;nbsp;System.Web.UI.WebControls.DropDownLists must be contained within a form with runat=&amp;quot;server&amp;quot; and B) only one form with runat=&amp;quot;server&amp;quot; is allowed on the page; I&amp;nbsp;now have to encapsulate the entire sub navigation and content in a single&amp;nbsp;form.&amp;nbsp; There-by sacrificing good design.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Controls render horrendous HTML&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;So I&amp;#39;ve just added a System.Web.UI.WebControls.DataGrid and I&amp;#39;ve set the DisplayHeader to true and HeaderText to &amp;quot;Name&amp;quot;.&amp;nbsp; Ok, let&amp;#39;s see here, we have a grid that should be displayed as a table (check).&amp;nbsp; We have a header for that grid/table, so that should be a table header, th tag, (che....oh wait).&amp;nbsp; Where is the th tag?&amp;nbsp; There are too many of these instances to list each one.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;System.Web.UI.WebControls.Label renders as a span tag&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Did anyone on the asp.net team even look at the HTML &lt;a href="http://www.w3.org/TR/html401/"&gt;specification&lt;/a&gt;?&lt;/p&gt; &lt;p&gt;&lt;strong&gt;No support for OPTGROUP element&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Seriously?&amp;nbsp; I mean, come on, DID ANYONE EVEN LOOK AT THE HTML &lt;a href="http://www.w3.org/TR/html401/"&gt;SPECIFICATION&lt;/a&gt;?&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Quirksmode is default for new aspx pages&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;If you truly support web standards how can you default a document to Quirksmode.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;No easy way to get HTML from a server-side control&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;A significant advantage of ajax is not having to render the entire page, especially if sections of the page may or may not be used.&amp;nbsp; On the server an ajax request is not handled any differently than&amp;nbsp;clicking a button or link.&amp;nbsp; There is a significant advantage in being able to request pieces of HTML from the server and respond with that HTML to be rendered&amp;nbsp;on the client&amp;nbsp;(&lt;a href="http://microformats.org/wiki/rest/ahah"&gt;AHAH&lt;/a&gt;).&amp;nbsp; but because asp.net controls must a) be apart of a form with runat=&amp;quot;server&amp;quot; and b) cannot be rendered before the form is rendered, this is impossible.&amp;nbsp; Besides creating a user control and then loading that control at runtime there is no way to get HTML from an&amp;nbsp;aspx page.&amp;nbsp; Well, no way that I could come up with.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;System.Web.UI.WebControls.DropDownList must be contained within a form with runat=&amp;quot;server&amp;quot;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Why?&amp;nbsp; &lt;/p&gt; &lt;p&gt;Did I miss something?&amp;nbsp; I&amp;#39;m not too terribly familiar with the machine.config or the web.config, maybe I forgot to include &amp;lt;standards-mode enabled=&amp;quot;true&amp;quot; /&amp;gt;?&amp;nbsp;&amp;nbsp;Microsoft&amp;#39;s marketing machine can preach all they want about standards support&amp;nbsp;(why do I still have to use the Holly Hack in IE7, &lt;a href="http://blogs.msdn.com/ie/archive/2006/08/22/712830.aspx"&gt;wasn&amp;#39;t this bug fixed&lt;/a&gt;?&amp;nbsp;), but marketing&amp;nbsp;will&amp;nbsp;only go so far.&amp;nbsp; People will tell me that concessions have to be made in order to support the designer and being able to drag and drop a control from the toolbox.&amp;nbsp; But you know what, I don&amp;#39;t care, if your dragging and dropping controls from the toolbox then you need to find another profession.&amp;nbsp; Creating&amp;nbsp;web applications&amp;nbsp;is not for you.&lt;/p&gt; &lt;p&gt;Does anyone else struggle with these issues?&amp;nbsp; &lt;/p&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=1028" width="1" height="1"&gt;</description><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Design/default.aspx">Design</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/markup/default.aspx">markup</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/HTML/default.aspx">HTML</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/CSS/default.aspx">CSS</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/.NET/default.aspx">.NET</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/development/default.aspx">development</category></item><item><title>Time is a constraint we should embrace</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2006/10/03/Time-is-a-constraint-we-should-embrace.aspx</link><pubDate>Tue, 03 Oct 2006 16:09:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:483</guid><dc:creator>mvasquez</dc:creator><slash:comments>1</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/483.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=483</wfw:commentRss><description>&lt;p&gt;In a perfect world developers would have an infinite amount of time to create the most elegant, perfect, scalable and enterprise-quality architecture/solution ever. This, my friend, would rival the airplane. Heck, it might even rival God&amp;#39;s greatest creation. Well, sorry to be the bearer of bad news: this is not a perfect world. Time, in anything we do in life (development included), will always be a constraint. You will never have enough time.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Time is a good constraint.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;When&amp;nbsp;we embrace time as a constraint,&amp;nbsp;we take the first step of being real with ourselves. If&amp;nbsp;we truly don&amp;#39;t have enough time to implement what has been asked for, we have to be open about
it. We
have to be real about deadlines. We have to get real about project management and cut scope, change the design, or reprioritize requirements. Or we have to get more time. &lt;/p&gt;&lt;p&gt;If the functionality is important enough, &lt;strong&gt;they&lt;/strong&gt; (customers, bosses, etc.) will find the time.&lt;br /&gt; &lt;/p&gt;&lt;p&gt;This is when&amp;nbsp;we can throw all excuses out the window and begin thinking creatively in order to&amp;nbsp;work within our&amp;nbsp;constraints. As developers, this is where we live. Time is a constraint that we should embrace as an opportunity to be creative.&amp;nbsp; So, the next time you hack together a piece of functionality, don&amp;#39;t use time as an excuse. Be real with yourself: what truly caused you to make that decision?&lt;/p&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=483" width="1" height="1"&gt;</description><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Design/default.aspx">Design</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/development/default.aspx">development</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/project+management/default.aspx">project management</category></item></channel></rss>