<?xml version="1.0" encoding="UTF-8"?><!--RSS generated by Windows SharePoint Services V3 RSS Generator on 3/10/2010 4:34:29 PM--><?xml-stylesheet type="text/xsl" href="/personal/reboard/Blog/_layouts/RssXslt.aspx?List=541eca8c-8b99-4ea7-ad04-006e18e33b30" version="1.0"?><rss version="2.0"><channel><title>The Intellectual Grunt</title><link>http://julianit.net/personal/reboard/Blog</link><description>RSS feed for the Posts list.</description><lastBuildDate>Wed, 10 Mar 2010 22:34:29 GMT</lastBuildDate><generator>SharePoint CKS:EBE</generator><ttl>60</ttl><image><title>The Intellectual Grunt</title><url>http://julianit.net/personal/reboard/Blog/_layouts/images/homepage.gif</url><link>http://julianit.net/personal/reboard/Blog</link></image><item><title>Adapt and Overcome‏</title><link>http://julianit.net/personal/reboard/personal/reboard/Blog/archive/2009/04/08/adapt-and-overcome‏.aspx</link><guid>/personal/reboard/Blog/archive/2009/04/08/adapt-and-overcome‏.aspx</guid><description><![CDATA[<div class="ExternalClassEA39A580B9254CDBA7827D642CEB6B66"><div>
<p class="EC_para">Requirements are just a starting point?or at least they should be. I?ve had many customers who feel that once they?ve documented their requirements their job is nearly over. Many seem to feel that requirements get dumped into Visual Studio and out comes an entire system. I am exaggerating, of course. However, I am routinely asked to give a fixed price bid, for instance, to a set of requirements. This is absurd and dangerous at best. On larger projects it is negligent, in my opinion. There is just too much risk involved. I explain it to customers like this: ?I can estimate how long it takes a developer, given a particular architecture, to code a screen, a business object, a database table, a stored procedure, a service, and so on. However, I can?t tell you how long it takes (or how much it costs) to satisfy a requirement.?</p>
<p class="EC_LAST-PARA">What is required, of course, is decomposition of those requirements. This means analysis, the creations of use cases, a functional specification, a solution architecture, possibly a prototype, logical models, and physical models. This is hard work. However, it serves to validate and refine the requirements as well as eliminate a lot of risk. These deliverables also lead to artifacts (forms, classes, tables, and so on) that can be estimated based on complexity factors. The result is less risk to the project team (and stakeholders) and higher confidence that what is being built is what is actually required.</p></div></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ralph E. Board</dc:creator><pubDate>Wed, 08 Apr 2009 19:11:00 GMT</pubDate><category domain="http://julianit.net/personal/reboard/personal/reboard/Blog/archive/tags/Methodology/default.aspx">Methodology</category></item><item><title>To VAR or not to VAR?</title><link>http://julianit.net/personal/reboard/personal/reboard/Blog/archive/2009/01/05/to-var-or-not-to-var.aspx</link><guid>/personal/reboard/Blog/archive/2009/01/05/to-var-or-not-to-var.aspx</guid><description><![CDATA[<div class="ExternalClass6F4CFC85B7684FE88CF10BC430F8CB0C"><p>Since the introduction of the var keyword in the C# 3.0, its use has been strongly debated. I have waited for some time to let the dust settle before forming an opinion. 
</p><p>The main argument against its use that I hear most is the use of var can make source code less readable for others. 
</p><p><pre><code><span style="font-family:Calibri;font-size:11pt"><strong>foreach</strong> (<strong>var</strong> item <strong>in</strong> someList) {…} // Type of 'item' is not clear.<br><strong>var</strong> something = someObject.SomeProperty; // Type of 'something' is not clear.<br><strong>var</strong> something = someMethod(); // Type of 'something' is not clear 
</span></code></pre></p><p>As I see it the problem is not with the use of the var keyword but with the use of vague variable names. You should be using descriptive variable names. 
</p><p><pre><code><span style="font-family:Calibri;font-size:11pt"><strong>foreach</strong> (<strong>var</strong> customer <strong>in</strong> customers) {…} // Type is clear.<br><strong>var </strong>orders = customer.Orders; // Type is clear.<strong><br>var</strong> order = GetOrder(); // Type is clear 
</span></code></pre></p><p>If you still need validation of the type. Hovering over the var keyword will show you the type. 
</p><p>I think that it reduces code noise. In the case that you wish to keep a list of customer order in memory and interate over it or get it count later. I would rather use: 
</p><p><pre><code><span style="font-family:Calibri;font-size:11pt"><strong>var</strong> order = custer.Orders; 
</span></code></pre></p><p>Rather than: 
</p><p><pre><code><span style="font-family:Calibri;font-size:11pt"><strong>ObservableCollection</strong>&lt;<strong>Order</strong>&gt; order = custer.Orders; 
</span></code></pre></p><p>The type name is just noise to me. If you use a generic list, then what is the difference than using var as well? 
</p><p>C# is a strongly typed language. You can check the MSDN documentation <a href="http://msdn.microsoft.com/en-us/library/bb383973.aspx">here</a>. It states that an implicitly typed local variable is strongly typed just as if you had declared the type yourself, but the compiler determines the type. 
</p><p>Using the following method: 
</p><p><pre><code><span style="font-family:Calibri;font-size:11pt"><strong>public int</strong> ReturnValue()<br>{<br>
					<strong>var</strong> a = 5; <br>
					<strong>int</strong> b = 5; <br>
					<strong>return</strong> a + b; <br>}</span>
			</code></pre></p><p>The IL will look like the following. Notice that both the int and the var compile down to an int32.
</p><p><pre><code><span style="font-family:Calibri;font-size:11pt">.method public hidebysig instance int32  ReturnValue() cil managed<br>{<br><em>  // Code size       9 (0x9)</em><br>  .maxstack  1<br>    <strong>.locals init ([0] int32 result,</strong><br>    <strong>[1] int32 CS$1$0000)</strong><br>  IL_0000:  nop<br>  IL_0001:  ldc.i4.5<br>  IL_0002:  stloc.0<br>  IL_0003:  ldloc.0<br>  IL_0004:  stloc.1<br>  IL_0005:  br.s       IL_0007<br>  IL_0007:  ldloc.1<br>  IL_0008:  ret<br>} <em>// end of method VarKW::ReturnValue</em>
				</span></code></pre></p><p>You should have nothing to fear with the use of var were appropriate. In my experience it only helped me to create good decoupled design of my components.</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ralph E. Board</dc:creator><pubDate>Mon, 05 Jan 2009 12:18:00 GMT</pubDate><category domain="http://julianit.net/personal/reboard/personal/reboard/Blog/archive/tags/CSharp/default.aspx">CSharp</category></item><item><title>Rock Band 2 is Awesome!</title><link>http://julianit.net/personal/reboard/personal/reboard/Blog/archive/2008/12/26/rock-band-2-is-awesome.aspx</link><guid>/personal/reboard/Blog/archive/2008/12/26/rock-band-2-is-awesome.aspx</guid><description><![CDATA[<div class="ExternalClassA8BC874B32634518A631AE36F037234B">
<p><a title="&quot;ROCK BAND&quot;" href="http://search.live.com/images/results.aspx?q=Rock+Band+2"><a title="&quot;&quot;ROCK BAND&quot;&quot;" href="http://search.live.com/images/results.aspx?q=Rock+Band+2"><img alt="" src="http://julianit.net/personal/reboard/Blog/Lists/Photos/122708_0337_RockBand2is1.jpg" align="left" border="0"></a></a>I got Rock Band 2 for my family this Christmas, the rig in a box, wireless guitar, drums, mic and game disk in a big box. I have to say it was a big hit. Once I hooked it into the big screen and 5.1 surround system in the family room it was all over. We can't seem to stop playing it. The drums are somewhat realistic to playing a real trap set. The guitar playing is so silly it is fun. Now the vocal bars that scroll across the top really keep you on key. So be sure to check out my show when I come to your town.</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ralph E. Board</dc:creator><pubDate>Fri, 26 Dec 2008 21:38:00 GMT</pubDate><category domain="http://julianit.net/personal/reboard/personal/reboard/Blog/archive/tags/Personal/default.aspx">Personal</category><category domain="http://julianit.net/personal/reboard/personal/reboard/Blog/archive/tags/Other/default.aspx">Other</category></item><item><title>[Marine] Corps Principles</title><link>http://julianit.net/personal/reboard/personal/reboard/Blog/archive/2008/12/23/[marine]-corps-principles.aspx</link><guid>/personal/reboard/Blog/archive/2008/12/23/[marine]-corps-principles.aspx</guid><description><![CDATA[<div class="ExternalClassA4A3816C0AC145A38EC90D693B390984">
<p>When it comes to teamwork and mission execution, the United States Marine Corps (USMC) epitomized this concept. The USMC is the most elite fighting force in the world—and with good reason. Teamwork is the key ingredient to accomplishing any mission, and it's something Marines do very well. After all they've been doing it for over 230 years. Though this, a long tradition has formed a set guiding principles that make the USMC more successful than any other fighting force in the world. </p>
<p>I served for four years and learned that these Corps Principles (pun intended) are a part of me. I have found that I can apply them to my day to day work as a software developer. Doing so has made me and the teams I have worked with more efficient. </p>
<p>I will start to blog about these Corps Principles and how they can be applied to the software development process. Some of what I write will seem like common sense (an uncommon thing in some organizations). There may be a good chance that you will already be practicing them, and are more effective because of it. However, it has been my experience that following these principles will not guarantee success, but not following them will guarantee failure.</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ralph E. Board</dc:creator><pubDate>Tue, 23 Dec 2008 07:58:00 GMT</pubDate><category domain="http://julianit.net/personal/reboard/personal/reboard/Blog/archive/tags/Methodology/default.aspx">Methodology</category></item><item><title>Visual Studio 2010 and .NET Framework 4.0 Overview</title><link>http://julianit.net/personal/reboard/personal/reboard/Blog/archive/2008/11/26/visual-studio-2010-and-net-framework-4-0-overview.aspx</link><guid>/personal/reboard/Blog/archive/2008/11/26/visual-studio-2010-and-net-framework-4-0-overview.aspx</guid><description><![CDATA[<div class="ExternalClassD5323BBEC11441539F4F8A9306AA8F9F">
<p>If you have not seen this or heard about it yet check it out <a href="http://msdn.microsoft.com/en-us/vstudio/products/cc948977.aspx" target="_blank">here</a>. It is only two years away. I know of many companies that are still VS2003. Although I have been using VS2008 exclusively for all my development for some time now, I have clients and colleagues alike that are fearful of some of the new language enhancements and refuse the use them. I.e. type inference, etc. I have embraced them and learned to use them properly. If type inference scares you, getting ready for dynamic object types. I also am seeing a big push from Microsoft the use of generating code from modeling. I can see much resistance to this as well.  </p>
<p>I'm sure that x86 assembler developers resisted when C first came about. Or C++ developers resisted when VB6 came out. Ultimately, there will always be a market for good developers, irrespective of what language tools you use. You can't learn good coding practices just because a new language tool comes out that makes constructing code easier. </p>
<p>My dad always told me, &quot;It is not the tools in your toolbox that make you a good mechanic; it is how and when to use them that does.&quot;</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ralph E. Board</dc:creator><pubDate>Wed, 26 Nov 2008 06:46:00 GMT</pubDate><category domain="http://julianit.net/personal/reboard/personal/reboard/Blog/archive/tags/Visual Studio/default.aspx">Visual Studio</category></item><item><title>Starting Up the WebDev.WebServer in VS2008</title><link>http://julianit.net/personal/reboard/personal/reboard/Blog/archive/2008/11/22/starting-up-the-webdev-webserver-in-vs2008.aspx</link><guid>/personal/reboard/Blog/archive/2008/11/22/starting-up-the-webdev-webserver-in-vs2008.aspx</guid><description><![CDATA[<div class="ExternalClass49E76FD052D04E3BA4EFD26E454262E3">
<p><span style="font-size:10pt;font-family:Verdana">Have you ever wished to just start up the WebDev.WebServer for the current web project you are working on? Many times I am just editing the page markup and do not have a need for the debugger nor the need to build the project. I just need to see how the page looks. Here is how I do it... </span></p>
<p><span style="font-size:10pt;font-family:Verdana">Step 1: From the 'Tools' menu select the 'External Tools...' option. This will bring up the 'External Tools' dialog. </span></p>
<p><span style="font-size:10pt;font-family:Verdana">Step 2: Select the 'Add' button. Then complete the form like so: </span></p>
<p><img alt="" src="http://julianit.net/personal/reboard/Blog/Lists/Photos/112308_0341_StartingUpt1.png"><span style="font-size:10pt;font-family:Verdana"> </span></p>
<p><span style="font-size:10pt;font-family:Verdana">Set the 'Title' to a value you desire. </span></p>
<p><span style="font-size:10pt;font-family:Verdana">Set the 'Command' to %ProgramFiles%\Common Files\Microsoft Shared\DevServer\9.0\WebDev.WebServer.exe </span></p>
<p><span style="font-size:10pt;font-family:Verdana">Set the 'Arguments' to /port:3786 /path:$(ProjectDir)\ <em>(you can set the port value to any port you desire)</em> </span></p>
<p><span style="font-size:10pt;font-family:Verdana">Set the 'Initial Directory' to $(ProjectDir) </span></p>
<p><span style="font-size:10pt;font-family:Verdana"> Step 3: Click 'OK' button to close the dialog. </span></p>
<p><span style="font-size:10pt;font-family:Verdana">Add Done! Now you should have a new menu option on the 'Tools' menu matching the title you gave the WebDev.WebServer. When selected it will kick off the WebDev.Server utility for the current selected project on your solution.</span></p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ralph E. Board</dc:creator><pubDate>Sat, 22 Nov 2008 21:42:00 GMT</pubDate><category domain="http://julianit.net/personal/reboard/personal/reboard/Blog/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://julianit.net/personal/reboard/personal/reboard/Blog/archive/tags/Visual Studio/default.aspx">Visual Studio</category></item><item><title>Welcome to my new Blog!</title><link>http://julianit.net/personal/reboard/personal/reboard/Blog/archive/2008/11/07/welcome-to-my-new-blog.aspx</link><guid>/personal/reboard/Blog/archive/2008/11/07/welcome-to-my-new-blog.aspx</guid><description><![CDATA[<div class="ExternalClass4CA48D5E4D1A4209A323BC8979BF0C30">
<p>My new blog is using Microsoft Office SharePoint Services (MOSS) 2007. I have seen Microsoft SharePoint blogs quickly become very popular among the blogging community. </p>
<p>I have never been much of a blogger. I hear the word blog almost daily, referred to many times as the Blogosphere. I just want to be a part of it. The great thing about blogging is that it has a community feeling. It's an informal post, a comment, an idea, a criticism, or even shout-out to the world. </p>
<p>Blogging has become so much more than a fad, a hobby, or even a broad-brush community. It has revolutionized how quickly people can share their thoughts, ideas, insight, - Information. I cannot count the number of times I have found the answer I was looking for right in someone else's blog. All made possible by great improvements in search engine technology, the task of finding information contained within these blogs has become so easy, easier than I could have ever imagined as a teenager in the 80's. I think back to my days in elementary school and middle school and how I used to research and write my school reports and projects. Back then, all the information I needed was in a 20 volume set encyclopedia. If it wasn't in there my next option was the school or local library. These were and still are great resources for formally publish information. I wish to give a little back where I can. </p>
<p>Now when it comes to writing, I am not very good. As you read this I'm sure you are letting out a little chuckle while at the same time thinking to yourself, &quot;no kidding&quot;. Good writing is so much rarer than it should be. For some people, writing comes so easily and for others it takes more of an effort, more than I wish at least. The great thing about blogs is that they are informal. There is so much good information available by people who are subject matter experts, but not necessarily great at writing. The chances of most people ever publishing a paper on a subject they might happen to be knowledgeable about, was once very slim to none. Today, anyone can share their thoughts and opinions in minutes. </p>
<p>You will hear much more from me about me, my business, my projects, tips, and tricks of the trade; right here on my blog…</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ralph E. Board</dc:creator><pubDate>Fri, 07 Nov 2008 11:50:00 GMT</pubDate><category domain="http://julianit.net/personal/reboard/personal/reboard/Blog/archive/tags/Personal/default.aspx">Personal</category><category domain="http://julianit.net/personal/reboard/personal/reboard/Blog/archive/tags/Other/default.aspx">Other</category></item></channel></rss>