<?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 : Technology</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Technology/default.aspx</link><description>Tags &amp; Topics: Technology</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61120.2)</generator><item><title>Hang with the Developers of Fellowship Technologies @ DC08</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2008/04/29/developers-dc08.aspx</link><pubDate>Tue, 29 Apr 2008 17:32:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:10720</guid><dc:creator>FTProductDev</dc:creator><slash:comments>5</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/10720.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=10720</wfw:commentRss><description>&lt;P&gt;The Development team here @ Fellowship Technologies wants to meet you @ &lt;A class="" href="http://upcoming.yahoo.com/event/444759"&gt;Dynamic Church 08&lt;/A&gt;.&amp;nbsp; We want get to know the men and women behind the screens.&amp;nbsp; We've planned a few things so that we can connect with you and talk shop as well as get together for some fun time - why waste time sleeping.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Developers and non developers are welcome. Here's the schedule:&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;U&gt;Thursday 15&lt;SUP&gt;th&lt;/SUP&gt;&lt;/U&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&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;B&gt;200pm&lt;/B&gt; – Presentation(Rockhill) – Network Infrastructure (drez)&lt;/FONT&gt;&lt;/FONT&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;B&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;500pm&lt;/B&gt; – Presentation(Frisco 3) – Moving to REST (nfloyd)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.75in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT face=Calibri size=3&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&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;RESTing DEV&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 1.25in;TEXT-INDENT:-0.25in;mso-list:l0 level2 lfo1;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';mso-fareast-font-family:'Courier New';"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Handout public keys and private secrets to all devs attending so that you can test drive the new API.&lt;/FONT&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;B&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;500pm&lt;/B&gt; – Presentation(Rockhill) – Leverage DataExchange(csimmons)&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 size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;630-800pm&lt;/B&gt; - Group dinner – Dinner with dev - look for the tables marked "DEV" (probably in the back, away from the "normal" people)&lt;/FONT&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 size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;900pm&lt;/B&gt; - &lt;A class="" href="http://upcoming.yahoo.com/event/528846"&gt;Movie with Dev&lt;/A&gt; – just another opportunity to interact with other devs in an environment that we are comfortable where we don’t have to talk shop if we don’t want to.&amp;nbsp;&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;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;U&gt;Friday 16&lt;SUP&gt;th&lt;/SUP&gt;&lt;/U&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&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;B&gt;1100am&lt;/B&gt; – Presentation(Rockhill) – Inside FT (drez)&lt;/FONT&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 size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;1200-100pm&lt;/B&gt; – Birds of a feather lunch (We will be sitting @ the tables marked IT)&lt;/FONT&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 size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;100pm&lt;/B&gt; – Presentation(Frisco 5) - Content Management (thardy)&lt;/FONT&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 size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;230pm&lt;/B&gt; – Presentation(Rockhill) – Customizing Weblink(tcoulson)&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 size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;730-930pm&lt;/B&gt; Concert&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 size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;1000pm&lt;/B&gt; – &lt;A class="" href="http://upcoming.yahoo.com/event/528874"&gt;Gaming with Dev&lt;/A&gt; – Go up against and talk trash to&amp;nbsp;the Fellowship Technologies Devs in TF2.&amp;nbsp; You don't want to miss this...&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;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;U&gt;Saturday 17&lt;SUP&gt;th&lt;/SUP&gt;&lt;/U&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&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;B&gt;1000-1200pm&lt;/B&gt; - Ask the experts (Frisco 5)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l1 level1 lfo2;"&gt;&lt;SPAN style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT face=Calibri size=3&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&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;API 3 person panel discussion and questions&amp;nbsp;with laptops open showing the code for the new RESTful API&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l1 level1 lfo2;"&gt;&lt;SPAN style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT face=Calibri size=3&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&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;Developers – Interact with the team responsible for building Fellowship One&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Contact me with questions and let us know if we're going to see ya.&lt;/P&gt;
&lt;P&gt;--Nick (&lt;A href="mailto:nfloyd@fellowshiptech.com"&gt;nfloyd@fellowshiptech.com&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://upcoming.yahoo.com/event/528874/?ps=5"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=10720" 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/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/conference/default.aspx">conference</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/Dynamic+Church+08/default.aspx">Dynamic Church 08</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>SXSW Day 3 - I know kung fu </title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2007/03/15/SXSW-Day-3-_2D00_-I-know-kungfu.aspx</link><pubDate>Thu, 15 Mar 2007 18:27:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:1256</guid><dc:creator>nfloyd</dc:creator><slash:comments>0</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/1256.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=1256</wfw:commentRss><description>&lt;p&gt;Ok, so I don&amp;#39;t know kungf u but I was able to make it to the &lt;a href="http://2007.sxsw.com/interactive/programming/panels/?action=show&amp;amp;id=IAP060108"&gt;Ajax Kung Fu Meets Accessibility Feng Shui&lt;/a&gt; panel. The first half of the presentation was pretty interesting. Jeremy Keith used some screen captures from the Matrix to help illustrate his points or at least make his presentation look cool. He talked about how there is a fine line when using cool new mechanisms like AJAX - a line that is often crossed making good apps go bad.&lt;/p&gt;&lt;p&gt;Next up was &lt;a href="http://2007.sxsw.com/interactive/programming/panels/?action=show&amp;amp;id=IAP060159"&gt;Gamer&amp;#39;s Games: Microcontent and User Creation&lt;/a&gt;. My interest in this panel came from the &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;unbelievable &lt;/span&gt;growth of user-generated content and how it has taken the web community by storm. What I didn&amp;#39;t expect was the excellent discussion that we got into about the various types of content generated from users that exist outside of the normal cloud of graphics, movies, blogs, etc...&amp;nbsp; things like personalities and relationships. It gave me a lot to think about &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;regarding &lt;/span&gt;building community in the apps we write... good stuff.&lt;/p&gt;&lt;p&gt;After lunch we peddled over to &lt;a href="http://2007.sxsw.com/interactive/programming/panels/?action=show&amp;amp;id=IAP060131"&gt;Bullet Tooth Web Design: Plan Your Web Site like Pulling off a Robbery&lt;/a&gt;. This was more entertainment than application, and I &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;figured &lt;/span&gt;that wearing black ski masks in our daily scrum probably would not go over well with management. They highlighted the &amp;quot;quick and dirty&amp;quot; on how to approach web projects...&lt;/p&gt;&lt;p&gt;The highlight of the day was the &lt;a href="http://upcoming.org/event/152401/"&gt;Yahoo! BarTab&lt;/a&gt; after party. Not just because there was tons of swag, or free everything, or even because we got to hear &lt;a href="http://www.myspace.com/wearethelittleones"&gt;The Little Ones&lt;/a&gt; (they &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;definitely &lt;/span&gt;were a highlight though). We had a unique opportunity to interrupt Robert Hoekman Jr. and his wife having a conversation. &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;Originally &lt;/span&gt;we &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;thought &lt;/span&gt;that we missed an opportunity to talk to him during his &amp;quot;Why we should ignore users&amp;quot; panel - but we successfully backed him into a corner and fired away. It was an awesome experience. It was nice to talk to someone who &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;truly &lt;/span&gt;loved doing what they do.&lt;/p&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=1256" 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/Technology/default.aspx">Technology</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/Presenter/default.aspx">Presenter</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/javascript/default.aspx">javascript</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/SXSW/default.aspx">SXSW</category></item><item><title>SXSW Day 2 - Why we should ignore our users... Wha?</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2007/03/14/SXSW-Day-2-_2D00_-Why-we-should-ignore-our-users_2E002E002E00_-Wha_3F00_.aspx</link><pubDate>Wed, 14 Mar 2007 18:49:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:1249</guid><dc:creator>nfloyd</dc:creator><slash:comments>0</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/1249.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=1249</wfw:commentRss><description>&lt;p&gt;After dragging &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;ourselves &lt;/span&gt;out of the hotel room (it seems that Austin has some sort of mystical property that makes you super-tired in the morning.&amp;nbsp;Combine that with the&amp;nbsp;time zone change = 2 grumpy coders.&amp;nbsp; 2 grumpy coders + Starbucks in the convention center&amp;nbsp;= :) ).&lt;/p&gt;&lt;p&gt;After getting some &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;caffeine &lt;/span&gt;we hit the doors running and made it to the best panel of the day: &lt;a href="http://2007.sxsw.com/interactive/programming/panels/?action=show&amp;amp;id=IAP060271"&gt;Why We Should Ignore Users&lt;/a&gt;.&amp;nbsp; Cutting through all of the&amp;nbsp;analogies and acronyms the session mostly focused on ACD, err I mean Activity-Centered Design and User-Centered Design.&amp;nbsp; &lt;a href="http://2007.sxsw.com/interactive/programming/panels/?action=bio&amp;amp;id=122867"&gt;Robert Hoekman Jr.&lt;/a&gt;, arguably one of the best designers in the industry, provided some strong points for going with ACD.&amp;nbsp; My personal opinions on it is that ACD is the way to go, it gives the team a &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;rallying &lt;/span&gt;&lt;/span&gt;point and a solid filter to avoid creep and other project killers.&amp;nbsp; A side note I &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;definitely &lt;/span&gt;recommend reading Hoekman&amp;#39;s book: &lt;a href="http://www.rhjr.net/dto"&gt;Designing the Obvious&lt;/a&gt;&amp;nbsp;- you will not be &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;disappointed&lt;/span&gt;.&lt;/p&gt;&lt;p&gt;Shortly after I hit an unexpected jewel of a panel: &lt;a href="http://2007.sxsw.com/interactive/programming/panels/?action=show&amp;amp;id=IAP060217"&gt;Serious Games: Can Learning Be Hard Fun?&lt;/a&gt;&amp;nbsp; Serious games can be defined as any game that provides any type of educational benefit beyond the basic entertainment value. The little goodie that came from this panel wasn&amp;#39;t seeing them play cool games, or talk about the business side of educational games, but rather hearing them share their point of views on what happens when you involve users and the community in the software development process.&amp;nbsp; The real focus of the panel ended up being how to engage your users and keep them engaged.&lt;/p&gt;&lt;p&gt;We then hit: &lt;a href="http://2007.sxsw.com/interactive/programming/panels/?action=show&amp;amp;id=IAP060253"&gt;ValleySpeak for the Rest of Us: Developing Apps Outside InternetVille&lt;/a&gt;.&amp;nbsp; Pretty good stuff - the panel consisted of &lt;a href="http://2007.sxsw.com/interactive/programming/panels/?action=bio&amp;amp;id=62760"&gt;Dan Cederholm&lt;/a&gt; and &lt;a href="http://2007.sxsw.com/interactive/programming/panels/?action=bio&amp;amp;id=109331"&gt;Brian Oberkirch&lt;/a&gt;.&amp;nbsp; No real hot points - it seemed that they were just trying to point out the fact that really good software can be developed outside of Silicon Valley. Right now one place comes to mind: Irving, Texas.&lt;/p&gt;&lt;p&gt;&lt;a href="http://2007.sxsw.com/interactive/programming/panels/?action=show&amp;amp;id=IAP060249"&gt;Uniting the Holy Trinity of Web Design&lt;/a&gt; capped off our day.&amp;nbsp; They began talking about the 3 aspects of web design -- Data (HTML), Style (CSS), and &lt;span style="font-size:10pt;line-height:115%;font-family:'Arial','sans-serif';"&gt;Behavior &lt;/span&gt;(JavaScript) -- but later jumped into team interaction and development / design as they have experienced it...&lt;/p&gt;&lt;p&gt;All and all a pretty good day... more to come&lt;/p&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=1249" 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/Technology/default.aspx">Technology</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/Presenter/default.aspx">Presenter</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/javascript/default.aspx">javascript</category><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/SXSW/default.aspx">SXSW</category></item><item><title>Technology with a purpose</title><link>http://experience.fellowshipone.com/blogs/intelligentdesign/archive/2006/09/07/Technology-with-a-purpose.aspx</link><pubDate>Fri, 08 Sep 2006 00:49:00 GMT</pubDate><guid isPermaLink="false">87eee960-b871-44cb-8a98-02588a960c04:142</guid><dc:creator>thardy</dc:creator><slash:comments>2</slash:comments><comments>http://experience.fellowshipone.com/blogs/intelligentdesign/comments/142.aspx</comments><wfw:commentRss>http://experience.fellowshipone.com/blogs/intelligentdesign/commentrss.aspx?PostID=142</wfw:commentRss><description>&lt;p&gt;A common theme you&amp;#39;ll probably hear about from many of us at Fellowship Tech is how we desire to use our talents and skills for a purpose.&amp;nbsp; Not&amp;nbsp;just any purpose will do, either.&amp;nbsp; We want that purpose to ultimately be God&amp;#39;s purpose for our lives.&lt;/p&gt;&lt;p&gt;I just want to give a short expression of that passion from a developer&amp;#39;s perspective.&amp;nbsp; Development is a wonderful thing.&amp;nbsp; It&amp;#39;s a bit frustrating having a mindset that is always breaking things down, analyzing scenarios, and trying to come up with better ways of doing things&amp;nbsp;- such as why, with all of our vast technology, traffic lights still stop you at 1am when you&amp;#39;re the only person on the road.&amp;nbsp; I bet most people don&amp;#39;t think long and hard about how to improve the flow through a buffet line either.&amp;nbsp; &lt;/p&gt;&lt;p&gt;While it has its downsides, there are also a lot of benefits.&amp;nbsp; The greatest and most enjoyable for me is the creative aspect.&amp;nbsp; You start with nothing, and you create - something, something that does something.&amp;nbsp; Hopefully that something is useful, beneficial, and improves someone&amp;#39;s life.&amp;nbsp; It&amp;#39;s even better if it leads people to the Lord or meets people&amp;#39;s practical needs, just like He does.&amp;nbsp; I&amp;#39;m glad the Lord is using my skills to help His church.&amp;nbsp; While I have the common developer&amp;#39;s desire to create something elegant and useful, I also have the greater desire to reflect the glory of God and be used by Him.&amp;nbsp; &lt;/p&gt;&lt;p&gt;I feel blessed to be able to do both, and humbled by the fact that both are still very much&amp;nbsp;a process.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://experience.fellowshipone.com/aggbug.aspx?PostID=142" width="1" height="1"&gt;</description><category domain="http://experience.fellowshipone.com/blogs/intelligentdesign/archive/tags/FellowshipTech/default.aspx">FellowshipTech</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/Technology/default.aspx">Technology</category></item></channel></rss>