<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>[Dot] Code Dump &#187; development</title>
	<atom:link href="http://www.dotcodedump.com/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dotcodedump.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 06 Jan 2010 12:27:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Pass Time &#8220;Estimating a Feature&#8221;</title>
		<link>http://www.dotcodedump.com/2009/12/pass-time-estimating-a-feature/</link>
		<comments>http://www.dotcodedump.com/2009/12/pass-time-estimating-a-feature/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 19:45:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[estimation]]></category>
		<category><![CDATA[project management]]></category>

		<guid isPermaLink="false">http://www.dotcodedump.com/?p=224</guid>
		<description><![CDATA[So as I am channel surfing, and I come across the show Pass Time. I watched two episodes straight through last night. For those of you who have never seen it, the show is a drag race crossed with a game show. Three contestants must guess the pass time of a hot rod in the [...]]]></description>
			<content:encoded><![CDATA[<p>So as I am channel surfing, and I come across the show <a href="http://www.speedtv.com/index.php/programs/pass-time/">Pass Time</a>. I watched two episodes straight through last night. For those of you who have never seen it, the show is a drag race crossed with a game show. Three contestants must guess the pass time of a hot rod in the quarter mile. If they are the closest they win. The process they go through is exactly the same process we as developers go through when estimating a feature.</p>
<p>The process of the show is fairly straightforward. First the driver may introduce their car, and the contestants may ask them three questions.  Usually something about estimated horse power, if the car has nitrous, or other types of modifications or parts. The contestants make their guesses, and the driver runs down the track, and the person who is the closest gets $100. Repeat until the end of the show, whoever has the most wins. The video below explains it.</p>
<div style="text-align: center; width: 100%;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="512" height="296" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.hulu.com/embed/sOPD82zBDmNRMQY-yosH-A" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="512" height="296" src="http://www.hulu.com/embed/sOPD82zBDmNRMQY-yosH-A" allowfullscreen="true"></embed></object></div>
<p>To tie this back into software development, and how this is like estimating a feature request. Usually when some one requests a feature, you as the software developer has to come up with an estimate on how long it will take. The requester or an intermediary will come to you and explain the feature, you will have to ask them questions, these questions will help you figure out the basic details about the request.</p>
<p>You like the contestants you must rely on your knowledge and experience to put up a guess on how long it will take.  It is an educated guess. Maybe there will be a driver or mechanical error which could drastically alter actual time. The same is true implementing any feature, maybe their will be programmer error, or an unforeseen complication with the underlying system. Our best estimates will not usually take this into account.</p>
<p>Some people are better at estimation, but a lot of estimation is experience. Usually the first question or thought you have is: &#8220;Have you seen something like this, or at least something with similar components.&#8221; The more projects you work on, the more you can observe and learn about what slows down or speeds up a project, and use this as a base for estimates. Most quick estimates we make a calculation of a positive and negative factors on some base which is familiar. This is exactly what the contestants are doing.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/12/pass-time-estimating-a-feature/&amp;title=Pass+Time+%26%238220%3BEstimating+a+Feature%26%238221%3B" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/12/pass-time-estimating-a-feature/&amp;title=Pass+Time+%26%238220%3BEstimating+a+Feature%26%238221%3B" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/12/pass-time-estimating-a-feature/&amp;title=Pass+Time+%26%238220%3BEstimating+a+Feature%26%238221%3B" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Pass+Time+%26%238220%3BEstimating+a+Feature%26%238221%3B&amp;url=http://www.dotcodedump.com/2009/12/pass-time-estimating-a-feature/&amp;title=Pass+Time+%26%238220%3BEstimating+a+Feature%26%238221%3B" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/12/pass-time-estimating-a-feature/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/12/pass-time-estimating-a-feature/&amp;title=Pass+Time+%26%238220%3BEstimating+a+Feature%26%238221%3B" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/12/pass-time-estimating-a-feature/&amp;title=Pass+Time+%26%238220%3BEstimating+a+Feature%26%238221%3B" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/12/pass-time-estimating-a-feature/&amp;title=Pass+Time+%26%238220%3BEstimating+a+Feature%26%238221%3B" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/12/pass-time-estimating-a-feature/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Pass+Time+%26%238220%3BEstimating+a+Feature%26%238221%3B+@+http://www.dotcodedump.com/2009/12/pass-time-estimating-a-feature/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/12/pass-time-estimating-a-feature/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Web Developers Can Learn from Assembly</title>
		<link>http://www.dotcodedump.com/2009/10/what-web-developers-can-learn-from-assembly/</link>
		<comments>http://www.dotcodedump.com/2009/10/what-web-developers-can-learn-from-assembly/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 03:31:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[assembly]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.dotcodedump.com/?p=140</guid>
		<description><![CDATA[Learning assembly can provide a significant benefit for web developers. I recently began learning and programming assembly for the x86 processors. This is more of a refresher, since I had learned some assembly on the university VAX.  I consider learning to program in assembly some of the most important knowledge I have learned. Assembly programming [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-143" style="padding: 0px 10px 10px 0px;" title="300px-Half-adder.svg" src="http://www.dotcodedump.com/wp-content/uploads/2009/10/300px-Half-adder.svg.png" alt="300px-Half-adder.svg" width="300" height="194" />Learning assembly can provide a significant benefit for web developers. I recently began learning and programming assembly for the x86 processors. This is more of a refresher, since I had learned some assembly on the university VAX.  I consider learning to program in assembly some of the most important knowledge I have learned. Assembly programming taught me about how programs are processed, how memory allocated and used, and better understanding of modern computer architecture. These skills may not be directly applicable in high level languages, but it does allow us to understand the big picture.</p>
<p>Programming in assembly requires you to think in bits and bytes. You must allocate your own memory. You have to move data into registers and directly perform arithmetic and logical operations on bits and bytes of data, rather than just defining a for each loop and iterating through objects. Using assembly is in effect directly telling the processor which instructions to execute on which data. You learn how to do the heavy lifting rather than having a high level language do it for you.</p>
<p>Assembly programming can help shore up your knowledge of existing languages. One area where assembly is very effective is understanding memory management. Even though memory management is now handled by modern language with garbage collectors. In assembly we have to explicitly define how much memory we need. We may define 64 bytes for an array, rather than just defining a variable for a list and initializing the object without ever knowing how big that list is. Understanding how memory is allocated can help us minimize the overall foot print of all of our applications and be more efficient.</p>
<p>Beyond this experience with assembly allows you to experience how processing happens. How expensive it is to move things to and from memory and processor. How expensive and slow accessing non memory data such as disk or network resources. It gives you a better feel for bottlenecks in applications. This knowledge becomes extremely valuable when optimizing applications, and understanding how and when to make time and space trade offs.</p>
<p>Overall assembly programming showed me the whole picture of programming from typing in code, compiling the code, and finally running an executable.  This solidified many of the concepts I had learned, how algorithms work and why some are orders of magnitude more efficient, and how data structures are allocated and processed.  These higher level concepts directly improved my knowledge of programming in high level languages, and allowed me to make wiser technical decisions because of it.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/10/what-web-developers-can-learn-from-assembly/&amp;title=What+Web+Developers+Can+Learn+from+Assembly" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/10/what-web-developers-can-learn-from-assembly/&amp;title=What+Web+Developers+Can+Learn+from+Assembly" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/10/what-web-developers-can-learn-from-assembly/&amp;title=What+Web+Developers+Can+Learn+from+Assembly" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=What+Web+Developers+Can+Learn+from+Assembly&amp;url=http://www.dotcodedump.com/2009/10/what-web-developers-can-learn-from-assembly/&amp;title=What+Web+Developers+Can+Learn+from+Assembly" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/10/what-web-developers-can-learn-from-assembly/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/10/what-web-developers-can-learn-from-assembly/&amp;title=What+Web+Developers+Can+Learn+from+Assembly" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/10/what-web-developers-can-learn-from-assembly/&amp;title=What+Web+Developers+Can+Learn+from+Assembly" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/10/what-web-developers-can-learn-from-assembly/&amp;title=What+Web+Developers+Can+Learn+from+Assembly" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/10/what-web-developers-can-learn-from-assembly/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+What+Web+Developers+Can+Learn+from+Assembly+@+http://www.dotcodedump.com/2009/10/what-web-developers-can-learn-from-assembly/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/10/what-web-developers-can-learn-from-assembly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips for Effective Documentation</title>
		<link>http://www.dotcodedump.com/2009/10/tips-for-effective-documentation/</link>
		<comments>http://www.dotcodedump.com/2009/10/tips-for-effective-documentation/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 20:45:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[wiki]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://blog.lintnernet.com/?p=102</guid>
		<description><![CDATA[Writing technical documentation is required task for many developers.  Once you start producing documentation you quickly learn good documentation is more than just screen shots. You will be required to write and express complex concepts. Documentation can be very challenging. Especially if you are not comfortable writing for non-technical users. It is a skill like [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-120" style="padding: 0px 10px 10px 0px; margin: 0px;" title="notebooks-072504-1" src="http://blog.lintnernet.com/wp-content/uploads/2009/10/notebooks-072504-1-300x200.jpg" alt="notebooks-072504-1" width="300" height="200" />Writing technical documentation is required task for many developers.  Once you start producing documentation you quickly learn good documentation is more than just screen shots. You will be required to write and express complex concepts. Documentation can be very challenging. Especially if you are not comfortable writing for non-technical users. It is a skill like any other. It can only developed through practice and experience. Here are a list of tips and ideas which I have used for writing effective documentation.</p>
<h2>Practice Writing</h2>
<p>Above all else, the more you practice writing the better you will be. When I left college my writing was not up to par. It did not improve until I started practicing. My writing may not be perfect, but it has shown vast improvement, because I practiced writing.  Many ways exist for you to practicing writing documentation. Here are just a few that I used.</p>
<ul>
<li>Start writing in a blog about technical material you interested in.</li>
<li>Document your own work. You can use a personal wiki. <a href="http://www.tiddlywiki.com/">TiddlyWiki</a> is one example.</li>
<li>Just sit down and write anything. Just write.</li>
</ul>
<h2>Read Other Documentation</h2>
<p>Reading documentation is a way to broaden your knowledge of documentation.  The more you read the better writer you will become. Reading other documentation can help you learn a learn from other&#8217;s successes and mistakes. Here are some ideas for reading other documentation.</p>
<ul>
<li>The O&#8217;Reilly Books great example of technical documentation for Programmers and Administrators.</li>
<li>Documentation of technical tasks for non-technical users.</li>
<li>Find similar documentation to the technical item you want to document.</li>
</ul>
<h2>Know Your Audience</h2>
<p>Before you ever start writing, ask yourself who is my audience? This sets the stage for the tone of the document and how the information should be presented. Here are a set of questions to clarify who your audience is.</p>
<ul>
<li>What technical skills do my users posses?</li>
<li>What terms will make your users comfortable or feel uneasy?</li>
<li>What reading level are your users?</li>
<li>Are they comfortable with technical writing?</li>
<li>Do they understand the non-technical aspects of the task?</li>
</ul>
<h2>Be Consistent</h2>
<p>Keep your documentation consistent. Consistency reduces the barriers to following a complex idea. It increases readers comprehension of the document. Here are some tips on consistency.</p>
<ul>
<li>Use consistent jargon ex: If you call a link by the term <em>hyperlink</em>, do not use the term <em>link</em> later.</li>
<li>If you are adding to a document try to follow the existing writing style.</li>
<li>Use a consistent writing style.</li>
<li>Use consistent and proper spelling.</li>
<li>Use the same font styles consistently.</li>
</ul>
<h2>Write Clearly</h2>
<p>There are many ways we can clarify documentation. Technical language is sometimes a necessity, but that does not have to effect the clarity of our writing. Here are some tips for making your documentation slightly more clear.</p>
<ul>
<li>Define jargon and acronyms when they are introduced.</li>
<li>Do not skip steps when documenting tasks.</li>
<li>Highlight problem areas, potential pitfalls, and common mistakes.</li>
<li>Provide concrete examples.</li>
<li>Use the simplest words that work.</li>
<li>Avoid complex and run on sentences.</li>
<li>Use paragraphs to isolate larger concepts.</li>
</ul>
<h2>Efficient For the Reader</h2>
<p>The only thing worse than incomplete documentation, is inefficient documentation. Writing an efficient document goes hand and hand with clear documentation. Do not make your users search through loads of documentation. Make the important points stick out.</p>
<ul>
<li>Good headlines and Sub-Headlines will allow your users to effectively scan content.</li>
<li>Good section grouping will allow users to find similar concepts quickly.</li>
<li>A search function for online documentation is extremely effective. I recommend using a Wiki.</li>
</ul>
<h2>Conclusion</h2>
<p>These tips will not make you a better writer over night, but they can help you become more cognizant about what you are writing. Below are a list of tips and resources to help with writing documentation.</p>
<ul>
<li><a href="http://www.crockford.com/wrrrld/style.html">The Elements of Style</a></li>
<li><a href="http://www.perlmonks.org/?node_id=130249">Introduction to Technical Writing/Documentation</a></li>
<li><a href="http://owl.english.purdue.edu/owl/">OWL (Online Writing Lab at Purdue)</a></li>
<li><a href="http://en.wikipedia.org/wiki/Software_documentation">Software Documentation via Wikipedia</a></li>
<li><a href="http://www.stcsig.org/usability/newsletter/0505-effectivedocs.html">Key for Effective Documentation</a></li>
</ul>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/10/tips-for-effective-documentation/&amp;title=Tips+for+Effective+Documentation" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/10/tips-for-effective-documentation/&amp;title=Tips+for+Effective+Documentation" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/10/tips-for-effective-documentation/&amp;title=Tips+for+Effective+Documentation" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Tips+for+Effective+Documentation&amp;url=http://www.dotcodedump.com/2009/10/tips-for-effective-documentation/&amp;title=Tips+for+Effective+Documentation" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/10/tips-for-effective-documentation/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/10/tips-for-effective-documentation/&amp;title=Tips+for+Effective+Documentation" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/10/tips-for-effective-documentation/&amp;title=Tips+for+Effective+Documentation" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/10/tips-for-effective-documentation/&amp;title=Tips+for+Effective+Documentation" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/10/tips-for-effective-documentation/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Tips+for+Effective+Documentation+@+http://www.dotcodedump.com/2009/10/tips-for-effective-documentation/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/10/tips-for-effective-documentation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Dining Programmers</title>
		<link>http://www.dotcodedump.com/2009/09/dining-programmers/</link>
		<comments>http://www.dotcodedump.com/2009/09/dining-programmers/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 13:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dining]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[sweedish chef]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[assembly]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming languages]]></category>

		<guid isPermaLink="false">http://blog.lintnernet.com/?p=68</guid>
		<description><![CDATA[We as programmers dine upon a plethora of languages. Some of us choose to dine on rich and decadent languages such as Java, and .NET. Others choose the traditional elegance of languages such as C and Assembly. Some choose quick and light scripting languages such as PHP, Python, and Ruby.
The programming languages you dine on [...]]]></description>
			<content:encoded><![CDATA[<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oJ89RnXa3zM/Sr_CyvYp-YI/AAAAAAAAAXQ/q3OjyJPcSNY/s1600-h/swedish010509.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 280px; height: 220px;" src="http://1.bp.blogspot.com/_oJ89RnXa3zM/Sr_CyvYp-YI/AAAAAAAAAXQ/q3OjyJPcSNY/s320/swedish010509.jpg" alt="" id="BLOGGER_PHOTO_ID_5386237856327530882" border="0" /></a>We as programmers dine upon a plethora of languages. Some of us choose to dine on rich and decadent languages such as Java, and .NET. Others choose the traditional elegance of languages such as C and Assembly. Some choose quick and light scripting languages such as PHP, Python, and Ruby.</p>
<p>The programming languages you dine on is based in the same principals as your culinary choices. These decisions are based in your culture. Many factors which contribute to your technical culture: where you learn, where you work, and where you play.  Reading these cultural factors can help us understand why a person or an organization picks the languages they do.</p>
<p>Some of us choose us prefer a buffet of languages, and like to sample a little bit of every language. Some choose to stick with a couple core choices and savor every little piece of a language. On the other hand you have your diet specific programmers, such as you free software-gens, and the script-arians.</p>
<p>Sometimes our jobs require us to use a specific language, or the technology requires it. Utility is largest factor in choosing languages. Secondly what you learned and perfected you programming is a close second to choosing which language to use. Tertiary factors are general community factors, such as what are the current trends, what would you like to learn.  All of these factors relate to how we choose food, what&#8217;s available to us to buy, what our families have eaten, and what we are recommended.</p>
<p>On a side note. The programming languages you choose to dine are signals to other programmers. Just as you culinary choices are signals to other people. These signs, and signals many times are more rooted in stereo type. So many programmers may learn a specific language  to affect their appearance to others, just as some people make dining choices to impress other people.</p>
<p>Finally as I discussed earlier the biggest factor in choosing a programming language is the utility, and what we cut our teeth on. Just as many times primary food choices are based on utility, and then what we learned from our families. Understanding these factors can help us grow as programmer, and understand what programming languages we consume.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/09/dining-programmers/&amp;title=Dining+Programmers" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/09/dining-programmers/&amp;title=Dining+Programmers" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/09/dining-programmers/&amp;title=Dining+Programmers" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Dining+Programmers&amp;url=http://www.dotcodedump.com/2009/09/dining-programmers/&amp;title=Dining+Programmers" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/09/dining-programmers/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/09/dining-programmers/&amp;title=Dining+Programmers" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/09/dining-programmers/&amp;title=Dining+Programmers" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/09/dining-programmers/&amp;title=Dining+Programmers" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/09/dining-programmers/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Dining+Programmers+@+http://www.dotcodedump.com/2009/09/dining-programmers/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/09/dining-programmers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Des Moines Twitter Trends V.2</title>
		<link>http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/</link>
		<comments>http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 14:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySql]]></category>
		<category><![CDATA[des moines]]></category>
		<category><![CDATA[des moines twitter trends]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[geo-encoding]]></category>
		<category><![CDATA[iowa]]></category>
		<category><![CDATA[local]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[trends]]></category>

		<guid isPermaLink="false">http://blog.lintnernet.com/?p=66</guid>
		<description><![CDATA[I just published version two of Des Moines twitter trends. The biggest change is the database was moved to MySql instead of SQLite3. Upgrading to MySql database allowed the data to be easily shared with a WordPress site.
Des Moines Twitter Trends

The web view of the data has been upgraded to provide more information. The Des [...]]]></description>
			<content:encoded><![CDATA[<p>I just published version two of Des Moines twitter trends. The biggest change is the database was moved to MySql instead of SQLite3. Upgrading to MySql database allowed the data to be easily shared with a WordPress site.</p>
<div style="text-align: center;"><a href="http://www.dsmtrends.com/">Des Moines Twitter Trends</a></p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_oJ89RnXa3zM/SrajFqUEsWI/AAAAAAAAAXI/yB7fc547LSI/s1600-h/dsmtrends.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 255px;" src="http://3.bp.blogspot.com/_oJ89RnXa3zM/SrajFqUEsWI/AAAAAAAAAXI/yB7fc547LSI/s320/dsmtrends.png" alt="" id="BLOGGER_PHOTO_ID_5383669722221162850" border="0" /></a></div>
<p>The web view of the data has been upgraded to provide more information. The Des Moines Twitter Trends website now provides a clearer view of the data collected. It provides current trends for the past few hours, the past day, and the past week. All of the terms are now links to Twitter Searches.</p>
<p>I added some new information, such as recent links, and current view of the latest Twitter user&#8217;s avatars in a grid.</p>
<p>I also created my own theme, and display instead of using a third party Wordpress Theme.</p>
<p>P.S.<br />Here was the write up for the first version: <a href="http://www.dotcodedump.com/2009/07/finding-local-twitter-trends.html">http://www.dotcodedump.com/2009/07/finding-local-twitter-trends.html</a></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/&amp;title=Des+Moines+Twitter+Trends+V.2" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/&amp;title=Des+Moines+Twitter+Trends+V.2" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/&amp;title=Des+Moines+Twitter+Trends+V.2" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Des+Moines+Twitter+Trends+V.2&amp;url=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/&amp;title=Des+Moines+Twitter+Trends+V.2" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/&amp;title=Des+Moines+Twitter+Trends+V.2" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/&amp;title=Des+Moines+Twitter+Trends+V.2" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/&amp;title=Des+Moines+Twitter+Trends+V.2" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Des+Moines+Twitter+Trends+V.2+@+http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/09/des-moines-twitter-trends-v-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Web Deployment Primer</title>
		<link>http://www.dotcodedump.com/2009/08/web-deployment-primer/</link>
		<comments>http://www.dotcodedump.com/2009/08/web-deployment-primer/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 01:55:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Ant]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[MAKE]]></category>
		<category><![CDATA[Phing]]></category>
		<category><![CDATA[Rake]]></category>
		<category><![CDATA[WGet]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[nant]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://blog.lintnernet.com/?p=64</guid>
		<description><![CDATA[A good deployment strategy is central to the care and feeding of any web application. There are a variety of different types of deployment strategies that are available, and many applications that can be used to automate web applications deployments.
This primer is broken up into major sections below.
Moving Files
If you are like me your web [...]]]></description>
			<content:encoded><![CDATA[<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oJ89RnXa3zM/Spc5lmmkWtI/AAAAAAAAAXA/fTMmUvY_7hQ/s1600-h/Camels+in+car.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 249px;" src="http://4.bp.blogspot.com/_oJ89RnXa3zM/Spc5lmmkWtI/AAAAAAAAAXA/fTMmUvY_7hQ/s320/Camels+in+car.jpg" alt="" id="BLOGGER_PHOTO_ID_5374827998470232786" border="0" /></a>A good deployment strategy is central to the care and feeding of any web application. There are a variety of different types of deployment strategies that are available, and many applications that can be used to automate web applications deployments.</p>
<p>This primer is broken up into major sections below.</p>
<p><span style="font-weight: bold;font-size:130%;" >Moving Files</span></p>
<p>If you are like me your web server isn&#8217;t the same machine as your development PC at least I hope not! You will need a way to get files to your web servers.<span style="font-weight: bold;"></p>
<p>Push: </span>Push deployments are when files are transferred from the client to the server. An example of this would FTP, or many other file transfer protocol.  This involves opening up a client, and manually or automatically transferring the files from your PC to another computer. This could also involve transferring them using a network file system. FTP clients are included with most major operating systems.</p>
<p><span style="font-weight: bold;">Pull:</span> Triggering the server to download files from another location. An example of this would be using a third party program to download the files from web or ftp directory. WGet, SVN, or another similar program could be used.</p>
<p><a style="font-weight: bold;" href="http://www.gnu.org/software/wget/">WGet</a><span style="font-weight: bold;">:</span> Gnu WGet is free software for retrieving files over HTTP</p>
<p><a style="font-weight: bold;" href="http://filezilla-project.org/">FileZilla</a><span style="font-weight: bold;">:</span> Open source FTP client and server.</p>
<p><span style="font-weight: bold;font-size:130%;" >Source (Revision) Control</span></p>
<p>Source control is critical for being able to control releases, and code. Source control allows you to version your applications, and download a particular version from your source control repository. There are many flavors of source control. Personally I prefer Subversion (SVN). <a href="http://en.wikipedia.org/wiki/Revision_control">For information on source control.</a></p>
<p><a style="font-weight: bold;" href="http://subversion.tigris.org/">SVN</a><span style="font-weight: bold;">:</span> Open source, source control client and server.</p>
<p><a style="font-weight: bold;" href="http://www.nongnu.org/cvs/">CVS:</a> Open Source, been around since the 80&#8217;s, Concurrent Versioning System</p>
<p><a style="font-weight: bold;" href="http://mercurial.selenic.com/wiki/">Mercurial:</a> Open Source, Distributed Version Control in Python.</p>
<p><a style="font-weight: bold;" href="http://git-scm.com/">GIT:</a> Open Source, Distributed Version Control<br /><a href="http://bazaar-vcs.org/"><br /><span style="font-weight: bold;">Bazaar:</span></a> Open Source, Distributed Version Control<br /><a href="http://en.wikipedia.org/wiki/Microsoft_Visual_SourceSafe"><br /><span style="font-weight: bold;">Visual Source Safe:</span></a> Microsoft&#8217;s Legacy Version Control<br /><a href="http://en.wikipedia.org/wiki/Team_Foundation_Server"><br /><span style="font-weight: bold;">Team Foundation Server:</span></a> Microsoft&#8217;s Prefered Version Control, as well as project tracking</p>
<p><span style="font-weight: bold;font-size:130%;" >Automation</span></p>
<p>When I first started building websites. All my deployments were done manually over FTP, and it sucked! Then I started using a better FTP client, and guess what it still sucked! I dreaded deploying, it was error prone, and I looked like an idiot because I forgot a file here or there. It all changed when I started automating my deployments, and I haven&#8217;t looked back since.</p>
<p>Depending on what language, or platform you are developing on or for. It is very likely there is an automation application for you system. There is a large class of open source build automation applications based in some way off ANT for Java, which is java version of MAKE.</p>
<p>ANT and it&#8217;s derivatives are build scripts which are programmed using XML. Using the ANT XML files you can control file copying, running builds, unit tests, and a number of other deployment and build related tasks. Most of these applications support building custom tasks in their native language, so if it doesn&#8217;t support what you need it is very easy to build on top of these platforms.<br /><a href="http://www.gnu.org/software/make/"><br /></a><span style="font-weight: bold;"><a href="http://www.gnu.org/software/make/">Make</a>:</span> GNU Build Tool, best suited for compiling applications, custom file configuration.</p>
<p><a href="http://ant.apache.org/"><span style="font-weight: bold;">Ant:</span></a> Java Build Tool, best suited for building and deploying Java applications.<br /><a href="http://nant.sourceforge.net/"><br /><span style="font-weight: bold;">NAnt</span>:</a> .NET port of Ant, best suited for building and deploying .NET applications.</p>
<p><strong><a href="http://phing.info/trac/">Phing</a>: </strong>PHing <strong style="font-weight: normal;">I</strong>s <strong style="font-weight: normal;">N</strong>ot <strong style="font-weight: normal;">G</strong>NU make, best suited for deploying PHP applications.</p>
<p><a href="http://maven.apache.org/"><span style="font-weight: bold;">Maven:</span></a> Similar to Ant, but different application, it is network ready, and uses a system know as the Project Object Model.</p>
<p><a href="http://rake.rubyforge.org/"><span style="font-weight: bold;">Rake</span>:</a> Similar to Make for Ruby, and the config files use a Ruby syntax.</p>
<p><span style="font-size:130%;"><br /><span style="font-weight: bold;">Other Techniques and Tools</span></span></p>
<p><span style="font-weight: bold;">Divide and Conqueror </span></p>
<p>Divide applications deployments up into different sections, so it is very easy to pin point major errors. One example of this is dividing a compiled web applications into binary, and non binary changes, and then deploy one after the other.</p>
<p><span style="font-weight: bold;">Differential </span></p>
<p>Create a deployment of only the files that have changed since the last release. An example would be using source control to download files that have changed, and only deploying those. The advantages are it will reduce time during deployment. It may also have the issue of missing files, or other items.</p>
<p><span style="font-weight: bold;font-size:130%;" >Putting it all together</span></p>
<p>These are just some of the building blocks for deployment strategies. Building a consistent deployment structure will depend on the number of production, and QA environments that host an application. Sometimes you may not even have access to the production servers. These techniques, and tools are very flexible to support even the most rigorous of deployment structures.</p>
<p>The deployment process should never be a source of stress, and deployment processes should never be the source of errors. Using a consistent, and stable deployment process will reduce both stress and errors.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/08/web-deployment-primer/&amp;title=Web+Deployment+Primer" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/08/web-deployment-primer/&amp;title=Web+Deployment+Primer" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/08/web-deployment-primer/&amp;title=Web+Deployment+Primer" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Web+Deployment+Primer&amp;url=http://www.dotcodedump.com/2009/08/web-deployment-primer/&amp;title=Web+Deployment+Primer" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/08/web-deployment-primer/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/08/web-deployment-primer/&amp;title=Web+Deployment+Primer" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/08/web-deployment-primer/&amp;title=Web+Deployment+Primer" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/08/web-deployment-primer/&amp;title=Web+Deployment+Primer" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/08/web-deployment-primer/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Web+Deployment+Primer+@+http://www.dotcodedump.com/2009/08/web-deployment-primer/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/08/web-deployment-primer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Poor Quality Software is Incomplete Software</title>
		<link>http://www.dotcodedump.com/2009/07/poor-quality-software-is-incomplete-software/</link>
		<comments>http://www.dotcodedump.com/2009/07/poor-quality-software-is-incomplete-software/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 06:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[quality]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[QA]]></category>

		<guid isPermaLink="false">http://blog.lintnernet.com/?p=63</guid>
		<description><![CDATA[Software quality is term that is frequently misunderstood. A major flaw when defining software quality is that it specifies composition or aesthetic. Quality instead is more abstract.  The best definition I could find was from the ISO 9000:
the degree to which a set of inherent characteristics fulfills requirements &#8212; ISO 9000 : 2000
The definition [...]]]></description>
			<content:encoded><![CDATA[<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oJ89RnXa3zM/SmUE_OuVEkI/AAAAAAAAAWg/M0-Wh9iO29E/s1600-h/quality.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 223px; height: 320px;" src="http://1.bp.blogspot.com/_oJ89RnXa3zM/SmUE_OuVEkI/AAAAAAAAAWg/M0-Wh9iO29E/s320/quality.jpg" alt="" id="BLOGGER_PHOTO_ID_5360696415785128514" border="0" /></a>Software quality is term that is frequently misunderstood. A major flaw when defining software quality is that it specifies composition or aesthetic. Quality instead is more abstract.  The best definition I could find was from the ISO 9000:<br />
<blockquote>the degree to which a set of inherent characteristics fulfills requirements &#8212; ISO 9000 : 2000</p></blockquote>
<p>The definition is interesting, because it makes no statements about composition or any other property. The only statement it makes is about the fulfillment of requirements.</p>
<p>Software exists because it fulfills a need. These needs are translated into requirements. Secondly software is expected to have certain qualities by it&#8217;s users. These are requirements which are many times unwritten. If software does not fulfill most or all the requirements it will be interpreted as poor quality.</p>
<p><span style="font-weight: bold;">Here are some examples of unwritten requirements:</span></p>
<p><span style="font-style: italic;">Bugs should be kept to a minimum</span><span style="font-style: italic;">.</span><br /><span style="font-style: italic;">Software should perform well.</span><br /><span style="font-style: italic;">Software should be very usable.</span></p>
<p>Unwritten requirements are not easy to fulfill, and they are ambiguous and subjective. Clearly defining these requirements and expectations. This process is integral to developing software that fulfills users needs and expectations.</p>
<p>Misunderstanding quality is dangerous, and leads to false beliefs. These beliefs cause developers to ignore parts of the software development picture. The only way to consistently build quality software is to define not only the functional requirements, but also the unwritten requirements and expectations.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/07/poor-quality-software-is-incomplete-software/&amp;title=Poor+Quality+Software+is+Incomplete+Software" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/07/poor-quality-software-is-incomplete-software/&amp;title=Poor+Quality+Software+is+Incomplete+Software" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/07/poor-quality-software-is-incomplete-software/&amp;title=Poor+Quality+Software+is+Incomplete+Software" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Poor+Quality+Software+is+Incomplete+Software&amp;url=http://www.dotcodedump.com/2009/07/poor-quality-software-is-incomplete-software/&amp;title=Poor+Quality+Software+is+Incomplete+Software" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/07/poor-quality-software-is-incomplete-software/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/07/poor-quality-software-is-incomplete-software/&amp;title=Poor+Quality+Software+is+Incomplete+Software" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/07/poor-quality-software-is-incomplete-software/&amp;title=Poor+Quality+Software+is+Incomplete+Software" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/07/poor-quality-software-is-incomplete-software/&amp;title=Poor+Quality+Software+is+Incomplete+Software" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/07/poor-quality-software-is-incomplete-software/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Poor+Quality+Software+is+Incomplete+Software+@+http://www.dotcodedump.com/2009/07/poor-quality-software-is-incomplete-software/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/07/poor-quality-software-is-incomplete-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>You Don&#8217;t Need Tools</title>
		<link>http://www.dotcodedump.com/2009/07/you-dont-need-tools/</link>
		<comments>http://www.dotcodedump.com/2009/07/you-dont-need-tools/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 16:57:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.lintnernet.com/?p=59</guid>
		<description><![CDATA[High quality software can be created without, advanced tools, automation, and even design patterns. Professionals in many fields besides software development are looking for latest tools, and trends to stay ahead of the competition. Allocating, learning, and implementing new tools can soon become a dangerous cycle, where an emphasis is placed on specific technologies and [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"  ><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oJ89RnXa3zM/SlIgfTwD8gI/AAAAAAAAAWQ/sCNuOBEWIFw/s1600-h/homehammer.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 227px; height: 170px;" src="http://1.bp.blogspot.com/_oJ89RnXa3zM/SlIgfTwD8gI/AAAAAAAAAWQ/sCNuOBEWIFw/s320/homehammer.jpg" alt="" id="BLOGGER_PHOTO_ID_5355378629146833410" border="0" /></a></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"  >High quality software can be created without, advanced tools, automation, and even design patterns. Professionals in many fields besides software development are looking for latest tools, and trends to stay ahead of the competition. Allocating, learning, and implementing new tools can soon become a dangerous cycle, where an emphasis is placed on specific technologies and trends, rather than the product being created. One of the many side effects of using an ever changing tool set is adding entropy and complexity to a development ecosystem.<br /></span>
<p  style="color: rgb(0, 0, 0);font-family:arial;" class="MsoNormal"><span style="font-size:100%;">There are thousands of blogs on software development.</span><span style="font-size:100%;">  </span><span style="font-size:100%;">Many of these blogs demonstrate, promote, or even proselytize tools or methodologies. The large amount of information provides developers with a large choice of tools and ideas. Searching for proper ideas and tools is very time consuming.</span></p>
<p  style="color: rgb(0, 0, 0);font-family:arial;" class="MsoNormal"><span style="font-size:100%;">Software developers put knowledge in high regard. Learning is even more valuable. A good software developer should find a balance, between learning and doing. Programming is not philosophy. Making and creating is far more valuable to good programmers. Good is what works, and works well, not what is academically perfect.</span></p>
<p  style="color: rgb(0, 0, 0);font-family:arial;" class="MsoNormal"><span style="font-size:100%;">Finding tools and even using tools can become a distraction.</span><span style="font-size:100%;">  </span><span style="font-size:100%;">Learning when your tools are getting in the way is skill, which is underdeveloped, in many programmers. A perfect example is how programmers can get into holy flame wars over a TEXT EDITOR! This is just one example of where the meta-product, becomes more important than the product, but there are many others.</span></p>
<p  style="color: rgb(0, 0, 0);font-family:arial;" class="MsoNormal"><span style="font-size:100%;">Ironically I am advocating learning how to ignore programming noise, in a blog. </span></p>
<p  style="color: rgb(0, 0, 0);font-family:arial;" class="MsoNormal"><span style="font-size:100%;"><span style="font-weight: bold;">The Lintner Code Complexity Analysis Test</span>: </span><span style="font-size:100%;"> </span><span style="font-size:100%;">Next time you start incorporating, tools, methodologies, and other ideas into your code base. Ask yourself could an average developer jump in and get the basic flow, and meaning of the code? If no, you may want to rethink your approach.</span></p>
<p  style="color: rgb(0, 0, 0);font-family:arial;" class="MsoNormal"><span style="font-size:100%;">Personally I advocate simplicity, and minimalism when it makes sense, and some level of complexity is necessary. Tools create complexity. Tools require knowledge to operate, and they will change how your process works. When choosing tools, you must be aware of how they will effect your software development ecosystem over time.<br /></span></p>
<p  style="color: rgb(0, 0, 0);font-family:arial;" class="MsoNormal"><span style="font-size:100%;">Technologies, tools, ideas, or just plain noise can get in the way of creating, and making. Many times a small project or tasks can be finished the without tools, in the time it would take to set up, and use complex tool. There are many examples of high quality software that was created without code analysis tools, unit tests, and even a structured development methodologies. Next time you start working on a new project, you may want too evaluate your tools too see if they are truly valuable or just wasteful. </span></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/07/you-dont-need-tools/&amp;title=You+Don%26%238217%3Bt+Need+Tools" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/07/you-dont-need-tools/&amp;title=You+Don%26%238217%3Bt+Need+Tools" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/07/you-dont-need-tools/&amp;title=You+Don%26%238217%3Bt+Need+Tools" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=You+Don%26%238217%3Bt+Need+Tools&amp;url=http://www.dotcodedump.com/2009/07/you-dont-need-tools/&amp;title=You+Don%26%238217%3Bt+Need+Tools" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/07/you-dont-need-tools/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/07/you-dont-need-tools/&amp;title=You+Don%26%238217%3Bt+Need+Tools" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/07/you-dont-need-tools/&amp;title=You+Don%26%238217%3Bt+Need+Tools" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/07/you-dont-need-tools/&amp;title=You+Don%26%238217%3Bt+Need+Tools" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/07/you-dont-need-tools/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+You+Don%26%238217%3Bt+Need+Tools+@+http://www.dotcodedump.com/2009/07/you-dont-need-tools/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/07/you-dont-need-tools/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Whack A Mole Development</title>
		<link>http://www.dotcodedump.com/2009/04/whack-a-mole-development/</link>
		<comments>http://www.dotcodedump.com/2009/04/whack-a-mole-development/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 17:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[bugs]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[simple]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[QA]]></category>

		<guid isPermaLink="false">http://blog.lintnernet.com/?p=56</guid>
		<description><![CDATA[Whack a Mole Development:
When making changes to a section of code, causes other bugs, sometimes recurring, to pop up.  I.E. You fix one bug, and three other bugs pop up after you release.
Have you ever worked on code where troubleshooting bugs was like playing a game whack a mole. I have worked on a [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-weight: bold;">Whack a Mole Development</span>:<br />
<blockquote style="font-style: italic;">When making changes to a section of code, causes other bugs, sometimes recurring, to pop up.  I.E. You fix one bug, and three other bugs pop up after you release.</p></blockquote>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oJ89RnXa3zM/Se_a42xkDZI/AAAAAAAAAUY/2LFuwCAJI-o/s1600-h/800px-Whackamole.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 272px; height: 320px;" src="http://1.bp.blogspot.com/_oJ89RnXa3zM/Se_a42xkDZI/AAAAAAAAAUY/2LFuwCAJI-o/s320/800px-Whackamole.jpg" alt="" id="BLOGGER_PHOTO_ID_5327717554513513874" border="0" /></a>Have you ever worked on code where troubleshooting bugs was like playing a game whack a mole. I have worked on a few applications that seem to have taken this idea to heart. </p>
<p>If you encounter an application that not very stable, many time your options for dealing with it are limited. You just have to work within the constraints of the system.  Previously I have mentioned, defensive development as a technique to cope with difficult system.  This is an example of controlling what you can, the new code, and fixes you introduce into the system.</p>
<p>When dealing with difficult systems your best weapon is going to be communication.  Make everything as clear as possible.  Make your new code readable, understandable, and most importantly comment what you changed, and why you needed to change it.  Keep documentation on the system.  Document critical, and time consuming tasks.  If a process took you a week to update, document it, and it will take the next guy half as long.</p>
<p>The most important technique for dealing with difficult systems is asking questions, and making sure you understand what people are asking.  Many times &#8220;whack a mole&#8221; conditions are caused by mis-communication, and lack of knowledge.</p>
<p>Maintaining difficult systems is a reality for many developers.  This is as important, or more important of a development skill as creating new applications.  Many time maintenance programming is far more difficult than new development,  because you have to work outside of your code &#8220;comfort zone&#8221;.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/04/whack-a-mole-development/&amp;title=Whack+A+Mole+Development" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/04/whack-a-mole-development/&amp;title=Whack+A+Mole+Development" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/04/whack-a-mole-development/&amp;title=Whack+A+Mole+Development" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Whack+A+Mole+Development&amp;url=http://www.dotcodedump.com/2009/04/whack-a-mole-development/&amp;title=Whack+A+Mole+Development" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/04/whack-a-mole-development/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/04/whack-a-mole-development/&amp;title=Whack+A+Mole+Development" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/04/whack-a-mole-development/&amp;title=Whack+A+Mole+Development" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/04/whack-a-mole-development/&amp;title=Whack+A+Mole+Development" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/04/whack-a-mole-development/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Whack+A+Mole+Development+@+http://www.dotcodedump.com/2009/04/whack-a-mole-development/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/04/whack-a-mole-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programming Yield Signs</title>
		<link>http://www.dotcodedump.com/2009/03/programming-yield-signs/</link>
		<comments>http://www.dotcodedump.com/2009/03/programming-yield-signs/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 14:30:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[QA]]></category>

		<guid isPermaLink="false">http://blog.lintnernet.com/?p=50</guid>
		<description><![CDATA[I don&#8217;t advocate holding any one to any specific sort of rules, but I do have a general set of guidelines that I work with.  Here is a simple set of helpful coding warning signs that can save you major coding accidents, and nasty refactorings down the road if you pay attention when you [...]]]></description>
			<content:encoded><![CDATA[<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oJ89RnXa3zM/SatTw22BajI/AAAAAAAAATw/B4rdWJ8aXPU/s1600-h/med_yield.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 233px;" src="http://2.bp.blogspot.com/_oJ89RnXa3zM/SatTw22BajI/AAAAAAAAATw/B4rdWJ8aXPU/s320/med_yield.jpg" alt="" id="BLOGGER_PHOTO_ID_5308428684607187506" border="0" /></a>I don&#8217;t advocate holding any one to any specific sort of rules, but I do have a general set of guidelines that I work with.  Here is a simple set of helpful coding warning signs that can save you major coding accidents, and nasty refactorings down the road if you pay attention when you see them.  Most of these apply generally to object oriented language, but could apply elsewhere.  Without further ado, my programming yield signs.</p>
<p><b>Recursion</b></p>
<p>If you are using recursion there may be a better way, or I like to say just because it fits into recursive paradigm, it doesn&#8217;t mean it HAS to.  There are many times I have found myself ending up doing something recursively, and regretting.  My word of warning: &#8220;It starts with a couple of recursive functions, and then you wake up 3 days later in the middle of New Mexico in playing Russian roulette with Bill Richardson.  Recursion has it&#8217;s uses, but with it you probably are going to incur a performance cost that may not be worth it.</p>
<p><b>Nesting Logic</b></p>
<p>Any time you start nesting logic beyond 1 or 2 levels this should be a warning sign that something could be a miss.  This is where debugging is generally going to start getting difficult.  If you are having difficulty coding a section, and it involves nesting of logic this a point where you need to step back and get a second opinion on how to do it.  I am by no means saying don&#8217;t do it, but watch</p>
<p><b>Really Long Functions</b></p>
<p>Writing really long functions is generally a sign of two things, either there is a lot of logic to parse through, or you may be doing something poorly.  This may also be an indicator that something else outside of your current scope is amiss.  This is generally a point to ask questions, and thoughts on how to program a specific section.</p>
<p><span style="font-weight: bold;">Maze Like Program Flow</span></p>
<p>If you are constantly searching for functions, and logic, and your program looks like a maze this is probably a point where you should take a step back.  This means that either there is some really sloppy code, or there is very high level of systematic complexity.  If the complexity does not match the task you are trying to achieve this may a point to step back and take a look at the big picture, and possibly get a different perspective on the situation.</p>
<p>There are many other sets of guidelines, many other people have created.  This a small list of warning or &#8220;yield&#8221; signs that I use regularly.  This reflects my general bias for trying to make things as simple as possible, and reducing complexity where ever possible.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.dotcodedump.com/2009/03/programming-yield-signs/&amp;title=Programming+Yield+Signs" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.dotcodedump.com/2009/03/programming-yield-signs/&amp;title=Programming+Yield+Signs" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http://www.dotcodedump.com/2009/03/programming-yield-signs/&amp;title=Programming+Yield+Signs" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Programming+Yield+Signs&amp;url=http://www.dotcodedump.com/2009/03/programming-yield-signs/&amp;title=Programming+Yield+Signs" rel="nofollow" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.dotcodedump.com/2009/03/programming-yield-signs/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.dotcodedump.com/2009/03/programming-yield-signs/&amp;title=Programming+Yield+Signs" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.dotcodedump.com/2009/03/programming-yield-signs/&amp;title=Programming+Yield+Signs" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.dotcodedump.com/2009/03/programming-yield-signs/&amp;title=Programming+Yield+Signs" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.dotcodedump.com/2009/03/programming-yield-signs/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Programming+Yield+Signs+@+http://www.dotcodedump.com/2009/03/programming-yield-signs/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.dotcodedump.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.dotcodedump.com/2009/03/programming-yield-signs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
