<?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>cpradio's tidbits of information &#187; Work</title>
	<atom:link href="http://cpradio.org/categories/work/feed/" rel="self" type="application/rss+xml" />
	<link>http://cpradio.org</link>
	<description>my life experience and information that may help others find what they need</description>
	<lastBuildDate>Sat, 05 Sep 2009 12:38:54 +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>Flex and Flex Builder 3</title>
		<link>http://cpradio.org/personal/flex-and-flex-builder-3/</link>
		<comments>http://cpradio.org/personal/flex-and-flex-builder-3/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 00:39:42 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://cpradio.org/personal/flex-and-flex-builder-3/</guid>
		<description><![CDATA[I just have to tell everyone how cool Flex really is!  When I did flash work several years ago it was a real pain developing an entire site in Flash especially if you wanted to incorporate any backend to it.  This is definitely not the case with Flex and I have to give [...]]]></description>
			<content:encoded><![CDATA[<p>I just have to tell everyone how cool Flex really is!  When I did flash work several years ago it was a real pain developing an entire site in Flash especially if you wanted to incorporate any backend to it.  This is definitely not the case with Flex and I have to give Adobe its&#8217; props on this.</p>
<p>However, let me state, that I do want to see Flex Builder 3 ported to Linux.  I could then ditch my Windows Virtual Machine and run things natively, but that is my only complaint at this moment.</p>
<p><strong>So why do I love Flex?</strong><br />
Flex is just easy to use, the components built it are amazing and you have the ability to build components on your own too!  Much like Server Controls in .NET, .NET gives you a TON to begin with and you can create your own as well.  However, this is for Flash!  That is extremely important to acknowledge, as I do not have to have Macromedia Flash MX or whatever the latest version is on my PC to build a Flash application now.</p>
<p>Not only do I love being able to build a Flash application without Macromedia Flash, but I also love how it can work with an infinite number of backends without a lot of effort.  Got a web service you want to plugin to?  No problem, how about an RSS feed?  Again, No problem.  Well how about just a plain HTTP stream with a custom format?  No Problem!  I mean literally, you can plugin to any service that can send back a response.  If it is a custom type of response, then you can write a routine to read your custom format.  However, if you are using a Web Service, be in written in .NET and it returns an XML stream, then you literally have to do nothing!  It will read it without any custom code from you, the developer.  And that my friends is the &#8220;cream of the crop&#8221;.</p>
<p><strong>So where do we go from here?</strong><br />
I am going to be doing a lot of things with Flex fromt his point on.  I was just totally amazed by the simplicity and yet the complexity you can have within it.  I still have a lot to test.  Updating the grid&#8217;s data when it has changed, and similar events.  But time will tell and so far Adobe has bought me back with this wonderful technology.  Just bring it to Linux and I will move right next to your head-quarters Adobe!</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/personal/flex-and-flex-builder-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let the code work for you.</title>
		<link>http://cpradio.org/work/let-the-code-work-for-you/</link>
		<comments>http://cpradio.org/work/let-the-code-work-for-you/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 02:03:02 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[dynamic output]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://cpradio.org/work/let-the-code-work-for-you/</guid>
		<description><![CDATA[The past two/three days (work days), I have been plagued with the task of working on a complex portion of a project.  The piece I am working on, I did not start, but I did write the foundation of it for 5 other projects and its&#8217; success and easy maintenance was largely due to [...]]]></description>
			<content:encoded><![CDATA[<p>The past two/three days (work days), I have been plagued with the task of working on a complex portion of a project.  The piece I am working on, I did not start, but I did write the foundation of it for 5 other projects and its&#8217; success and easy maintenance was largely due to how I designed it.</p>
<p>To keep a long story short, the architecture I used was not followed in this piece and now I am paying the price for something I didn&#8217;t do.  The original code was developed so the code would do 50-70% of the work for me dynamically.  Yes, this has performance cost implications but they were minimal (1-2 seconds at best), but the time it saves is nearly 60-75% of development time.</p>
<p>Now the particular piece I am referring to does a lot of output work.  It takes the data inputted by the user and develops a results page to the user describing the information the user typed.  Now, to make my life easier, I build a hash table of the user&#8217;s values and associate them with a code.  The code is related to a table that defines the text to display regarding that entry.</p>
<p>By creating code to associate the hash table data with the database table, the results page can be generated dynamically saving me the countless time of programming each possibility the user can come up with.</p>
<p>Thus, sometimes it is smarter to go a dynamic route at the cost of performance, than it is to develop the most efficient masterpiece you can imagine.</p>
<p>That is my food for thought.</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/work/let-the-code-work-for-you/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JSON versus XML</title>
		<link>http://cpradio.org/work/json-versus-xml/</link>
		<comments>http://cpradio.org/work/json-versus-xml/#comments</comments>
		<pubDate>Wed, 26 Sep 2007 00:01:00 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://cpradio.org/work/json-versus-xml/</guid>
		<description><![CDATA[There has been much debate on using XML or JSON with your AJAX, but in my mind, the debate is pointless.  Both are nice, one is quicker, one is slower.  However, when it comes to development pick what you know best and what you can implement/maintain easiest.
If you do this, you are guaranteed [...]]]></description>
			<content:encoded><![CDATA[<p>There has been much debate on using XML or JSON with your AJAX, but in my mind, the debate is pointless.  Both are nice, one is quicker, one is slower.  However, when it comes to development pick what you know best and what you can implement/maintain easiest.</p>
<p>If you do this, you are guaranteed the following:</p>
<ol>
<li>It is easy to maintain and understand the code you wrote months later</li>
<li>Chances are your application will not be the quickest in response</li>
<li>You will make use of techniques you fully understand than trying to adapt ones that you are unfamiliar with and may implement wrong</li>
</ol>
<p>So how does JSON differ from returning XML in your AJAX requests?  Lets first look at the advantages of XML.</p>
<ol>
<li>Standardized and easily serialized into via .NET</li>
<li>The XML is easy to read all within itself</li>
<li>You can make use of XSLT, DTDs, etc</li>
</ol>
<p>How about disadvantages of XML?</p>
<ol>
<li>It is slow in comparison to JSON</li>
<li>It can be clumsy when not designed properly</li>
</ol>
<p>Now for the advantages of JSON:</p>
<ol>
<li>It is faster than XML to parse in JavaScript</li>
<li>There are addin&#8217;s you can install in .NET or a library in PHP to serialize a JSON string from an object</li>
<li>It is hard to make this clumsy as it is based on the Object Design</li>
</ol>
<p>And the disadvantages of JSON:</p>
<ol>
<li>It is harder to read the serialized output</li>
<li>You can&#8217;t use XSLT, DTDs, or something of the sort to validate or style the request</li>
</ol>
<p>As for myself, I am a JSON person.  I didn&#8217;t used to be though.  My original AJAX applications were focused around XML primarily because I could make use of an XSLT and I always validated against a schema.  However, JSON has won me over due to speed.  JSON&#8217;s speed is just ridiculously fast and it showed when I converted a major application over to it.  I saved nearly a third of the time it took to do a fairly simple task.</p>
<p>However, pick the poison that you understand most, otherwise, it could have detrimental affects.</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/work/json-versus-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Refactoring &#8211; What a time-saver</title>
		<link>http://cpradio.org/work/refactoring-saves-you-time-in-many-ways/</link>
		<comments>http://cpradio.org/work/refactoring-saves-you-time-in-many-ways/#comments</comments>
		<pubDate>Mon, 17 Sep 2007 02:52:52 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[kiosk]]></category>

		<guid isPermaLink="false">http://cpradio.org/work/refactoring-saves-you-time-in-many-ways/</guid>
		<description><![CDATA[This weekend has been a nice relaxing weekend for me and so when I got back home this afternoon (on Sunday the 16th), I was in a great mood to refactor some of my kiosk code base.  Now, I should start by saying, I decided to refactor code instead of write new code tonight [...]]]></description>
			<content:encoded><![CDATA[<p>This weekend has been a nice relaxing weekend for me and so when I got back home this afternoon (on Sunday the 16th), I was in a great mood to refactor some of my kiosk code base.  Now, I should start by saying, I decided to refactor code instead of write new code tonight because I wanted to lessen the number of files that needed to load in the Ajax functionality.</p>
<p>Kiosk, uses Ajax in interesting ways to provide a better experience, but with that, the Ajax applications were built as each page was assembled.  This caused functionality across pages to get a bit messy or functionality shared across pages to get thrown into individual files.  Well the problem with individual files, is that is yet another file for the browser to download.</p>
<p>So before I get any further, let me discuss refactoring and how it can solve many performance binds your application may be experiencing.</p>
<p>To start off, refactoring is taking common code, or code that is used across pages or frequently and moving it to a more global location so it can be called easier and the code only has to be written once.</p>
<p>So where can this help?</p>
<ul>
<li>First of all, by refactoring code into a single global file, you can limit the number of HTTP requests if that file is accessible via the web.  Since your common code is in a single file, the browser only has to fetch that code once, and will then likely cache that file for each page after, giving you even better performance.</li>
<li>Secondly, by placing the common code in a global method/function, you are writing less code.  As now when you need to call that code on your second page, it is already written, so just call the function.  Otherwise, you would need to write the code all over again.</li>
<li>Thirdly, less code equals smaller files.  By refactoring your code, you can have smaller file sizes and in turn that is quicker to download, quicker to parse, and quicker to execute.</li>
</ul>
<p>Now in my situation, I took about 4 JavaScript files and combined them into a single file adequately named &#8220;general.js&#8221;.  The file contained code to automatically log the user out after a set amount of inactivity in the UI (User Interface).  Secondly, it contained the version checking mechanism calls that see if they are running the latest version of the software.  Unfortunately, those are the only two things it does right now, but as the project progresses, I am sure more utilities will get added in this file.</p>
<p>My next task is to refactor the Data Grid functionality so it is 1) XHTML, 2) easy to build complex columns with complex rows, 3) customizable by identifying StyleSheet classes for the columns and rows.  Hopefully, I can get my head around this idea and get it working with little trouble to the programmer.</p>
<p>So what can you think of that you need to refactor?  What performance gains do you suspect you will achieve with the refactoring you do?  Any performance markers?</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/work/refactoring-saves-you-time-in-many-ways/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Harness Server Controls</title>
		<link>http://cpradio.org/work/harness-server-controls/</link>
		<comments>http://cpradio.org/work/harness-server-controls/#comments</comments>
		<pubDate>Thu, 30 Aug 2007 01:41:03 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://cpradio.org/work/harness-server-controls/</guid>
		<description><![CDATA[When you write a Server Control and write it well, it pays off immensely.  Today, I needed to rework our Custom Defaults screen (a screen that allows each user to define defaults for our quoting screens to use each time they write a new quote).  All of the fields on the Custom Defaults [...]]]></description>
			<content:encoded><![CDATA[<p>When you write a Server Control and write it well, it pays off immensely.  Today, I needed to rework our Custom Defaults screen (a screen that allows each user to define defaults for our quoting screens to use each time they write a new quote).  All of the fields on the Custom Defaults screen exist in the quote (duh, why would we provide something that didn&#8217;t? <img src='http://cpradio.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ).  </p>
<p>Since everything in the quote is a server control, it was just drag and drop the controls onto the Custom Default page and it would act 100% like it does in the quote. <img src='http://cpradio.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />   It could not have gone any faster, I probably only spent close to 5 minutes setting up the design and flow and 30 minutes getting the code behind functionality to work.</p>
<p>Thus, harness the power of Server Controls as they can be reused across numerous applications with little trouble and little programming.</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/work/harness-server-controls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ViewState, is it working properly?</title>
		<link>http://cpradio.org/work/viewstate-is-it-working-properly/</link>
		<comments>http://cpradio.org/work/viewstate-is-it-working-properly/#comments</comments>
		<pubDate>Tue, 21 Aug 2007 00:59:10 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://cpradio.org/work/viewstate-is-it-working-properly/</guid>
		<description><![CDATA[Today, Aaron and I were wondering if ViewState actually works properly in .NET.  For example, in .NET you have the option to disable ViewState in the web.config file, the page directive, or on each control individually.  However, using any of the three methods or any combination continuously results in &#8220;__VIEWSTATE&#8221; appearing as a [...]]]></description>
			<content:encoded><![CDATA[<p>Today, Aaron and I were wondering if ViewState actually works properly in .NET.  For example, in .NET you have the option to disable ViewState in the web.config file, the page directive, or on each control individually.  However, using any of the three methods or any combination continuously results in &#8220;__VIEWSTATE&#8221; appearing as a hidden field in the form!</p>
<p>The problem gets worse when you try to submit the form to another page by overriding the form&#8217;s action.  This throws an &#8220;ViewState is corrupt or invalid for this page.&#8221; error.  We finally got around it by hacking a JavaScript event to empty the &#8220;__VIEWSTATE&#8221; hidden field so it had nothing in it before the form actually submitted the page.  But is that the only way to get rid of ViewState?</p>
<p>Code to cause ViewState corruption:</p>
<pre class="js">&lt;script type="text/javascript"&gt;
    window.onload = function()
    {
        document.getElementById('Form1').onsubmit = function()
        {
            document.getElementById('Form1').action = '/another_project/another_page.aspx';
        }
    }
&lt;/script&gt;</pre>
<p>How, we got around it:</p>
<pre class="js">&lt;script type="text/javascript"&gt;
    window.onload = function()
    {
        document.getElementById('Form1').onsubmit = function()
        {
            var inputFields = document.getElementsByTagName('input');
            for (var i = 0; i < inputFields.length; i++)
            {
                if (inputFields[i].name.toUpperCase() == "__VIEWSTATE")
                {
                    inputFields[i].value = ""; // Empty the ViewState hidden field to stop it from carrying on to the next page
                    break;
                }
            }

            document.getElementById('Form1').action = '/another_project/another_page.aspx';
        }
    }
&lt;/script&gt;</pre>
<p>Anyone else have a problem like this?</pre>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/work/viewstate-is-it-working-properly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Consolidate or to Not Consolidate your Projects</title>
		<link>http://cpradio.org/work/consolidate-or-to-not-consolidate-your-projects/</link>
		<comments>http://cpradio.org/work/consolidate-or-to-not-consolidate-your-projects/#comments</comments>
		<pubDate>Mon, 06 Aug 2007 21:39:40 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://cpradio.org/work/consolidate-or-to-not-consolidate-your-projects/</guid>
		<description><![CDATA[Today we had a meeting going over a few future projects and it was brought up we could integrate the new project into an existing project that had 80% the same functionality.  However, there comes a lot more complication with this short of merge.
For example, what happens if two people are working in the [...]]]></description>
			<content:encoded><![CDATA[<p>Today we had a meeting going over a few future projects and it was brought up we could integrate the new project into an existing project that had 80% the same functionality.  However, there comes a lot more complication with this short of merge.</p>
<p>For example, what happens if two people are working in the same project on two different pieces.  The first person is finished with their piece and checks it in happy as can be, while the second person finishes later and his change needs to go in ASAP, while the first person&#8217;s change can&#8217;t go in till the end of the month.  Now what?</p>
<p>Now in a perfect world, one would state that the first person shouldn&#8217;t check in their code till it can go in, or person two would get the previous version of the first person&#8217;s code.</p>
<p>At work we decided to keep the projects separate and not consolidate them even though it would share 80% of the functionality for the UI.  But in the end, it allows us to not step on each others toes.</p>
<p>So my question is, how do you handle this?</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/work/consolidate-or-to-not-consolidate-your-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Idiosyncrasies</title>
		<link>http://cpradio.org/work/idiosyncrasies/</link>
		<comments>http://cpradio.org/work/idiosyncrasies/#comments</comments>
		<pubDate>Thu, 08 Feb 2007 00:33:52 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://cpradio.org/work/idiosyncrasies/</guid>
		<description><![CDATA[Ever have a day just full of idiosyncrasies that it just drove you mad?  Try having a few days of it!  The bridge piece I have talked about in previous posts has had its&#8217; fair share of these.  In fact, today it just showed me one more that drives me insane.
Take this [...]]]></description>
			<content:encoded><![CDATA[<p>Ever have a day just full of idiosyncrasies that it just drove you mad?  Try having a few days of it!  The bridge piece I have talked about in previous posts has had its&#8217; fair share of these.  In fact, today it just showed me one more that drives me insane.</p>
<p>Take this for example.  Let&#8217;s say you want to collect a person&#8217;s name and possibility two people&#8217;s names.  How would you do it?  If it were me, I would have a text field for the first name, one for the middle initial, and another for the last name.  Thus I know if their first name is two words, their last name is two words, or maybe it is just normal and its &#8220;John H. Doe&#8221;.  Nonetheless, I would know which words correspond to each part of their name.</p>
<p>The software, of whose communication I am bridging does not do this!  No, they have a single text field that is free form.  So you could type &#8220;J Howard Doe&#8221; or &#8220;John H Doe&#8221; or &#8220;John Howard Van Nilsen&#8221; or &#8220;John Nilsen and Cindy Nilsen&#8221; and it would accept it.  What I am supposed to do with this?  Notice the last example!  This is how they are supposed to enter two names&#8230;  Am I just totally crazy or is this the weirdest UI you have ever heard of?</p>
<p>Now, I have done a fairly good job at figuring out the names, and it works probably 98% of the time, and can&#8217;t really account for the other 2% because of the crazy way the names were entered.  Now, the biggest idiosyncrasy of this whole ordeal, is there is another part of the UI that has a &#8216;name&#8217; entry too.  You would think the software would handle that &#8216;name&#8217; entry the same as the first part of the UI.  BUT YOU WOULD BE WRONG!  No, it handles it entirely differently and just throws my world in a whirlwind as I try to figure out what to do with this data.  For example, if the user entered in &#8220;J Howard Doe&#8221; on the first screen and &#8220;J Howard Doe&#8221; on the second, my piece receives the following: Data from First Screen: &#8220;J Howard Doe&#8221;, Data from Second Screen: &#8220;J H Doe&#8221;.  WTF!!  Why the hell was it handled differently?</p>
<p>Welcome to my week.</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/work/idiosyncrasies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodeRush &#8211; This Addin ticks me off!</title>
		<link>http://cpradio.org/work/coderush-this-addin-ticks-me-off/</link>
		<comments>http://cpradio.org/work/coderush-this-addin-ticks-me-off/#comments</comments>
		<pubDate>Thu, 01 Feb 2007 23:43:46 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://cpradio.org/work/coderush-this-addin-ticks-me-off/</guid>
		<description><![CDATA[For anyone who has developed in .NET using Visual Studio, I am sure you probably have heard of CodeRush.  Well, I personally think this addin is a PIECE OF CRAP!  The thing hogs memory like no other and can leave Visual Studio sitting there for 30 seconds or more doing nothing!  I [...]]]></description>
			<content:encoded><![CDATA[<p>For anyone who has developed in .NET using Visual Studio, I am sure you probably have heard of <a href="http://www.devexpress.com/Products/NET/IDETools/CodeRush/">CodeRush</a>.  Well, I personally think this addin is a PIECE OF CRAP!  The thing hogs memory like no other and can leave Visual Studio sitting there for 30 seconds or more doing nothing!  I can write a A LOT of code in 30 seconds and I do not like to wait.</p>
<p>Now, I know what you are thinking.  You have too many of its features enabled.  Duh, it will be slow, it comes with nearly everything in it enabled.  But you are wrong.  I have disabled nearly everything!  I disabled the Smart Copy/Paste, the Smart Return, the Templates, the Hints, EVERYTHING except the Flow indicators and the line counting per method (that is just a nice feature).  However, whenever I do a copy paste, it acts like the Smart Copy/Paste is enabled and it takes 2-3 seconds before I can move the cursor again!</p>
<p>So just to warn everyone, CodeRush can cause you to actually be less efficient.  You will sit and wait for you to be able to move the cursor again for countless seconds.  Take it from me, it isn&#8217;t worth it and its definitely not worth $250.00!</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/work/coderush-this-addin-ticks-me-off/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips of the Trade</title>
		<link>http://cpradio.org/work/tips-of-the-trade/</link>
		<comments>http://cpradio.org/work/tips-of-the-trade/#comments</comments>
		<pubDate>Fri, 26 Jan 2007 03:42:07 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://cpradio.org/work/tips-of-the-trade/</guid>
		<description><![CDATA[Today was a great reminder of a known helpful tip.  When you get heavily involved with a project and you have been working on it non-stop for several weeks, it really pays off to set a day that you do not work, think, or even consider the project you had been working on.  [...]]]></description>
			<content:encoded><![CDATA[<p>Today was a great reminder of a known helpful tip.  When you get heavily involved with a project and you have been working on it non-stop for several weeks, it really pays off to set a day that you do not work, think, or even consider the project you had been working on.  Why?  Because a step back will likely give you a new perspective on the project (Tip #1).</p>
<p>The bridge I had been working on for months, has had three known issues all that were complicated in various ways, or at least that is what my brain told me.  For the past few days, I have been working on a different project and thus my mental focus was not even close to this bridge application.  Today, I started to work on the remaining issues and things just snapped.  I knew exactly where to look to find the communication issues and I knew exactly what was necessary to solve them.  I got through one of my biggest issues (which had 5 minor issues attached to it) throughout the morning.  Come afternoon, I was working on the second and third problem (of which I had a meeting about with two other developers) and I got really close to solve the second issue, but then my brain was back to playing tricks.  It just decided it couldn&#8217;t figure out the issue entirely.</p>
<p>That was fine by me.  Within the first 30 minutes of our meeting, one of the developers had it solved and I had the code written and proven to work.  Another 40 minutes later, the final issue was resolved.  This is TIP #2.  A look from a second or third developer will eventually leave you with less headaches, as they will see what your brain has decided not to see.  It has been proven that your brain can play tricks on you.  The code you are seeing with your eyes might not really exist, but your brain knows that is what you were expecting to see, so that is what it presents.</p>
<p>I forget the technical term for this behavior, but you can easily read about it in any psychology book.  Most of the examples use patterns, with missing pieces and your brain magically fills in the piece that was missing.  Finally, Tip #3, is <strong>do not forget Tips #1 and #2!</strong>  I cannot stress that enough.  Without the first two tips, you will eventually break down.  As a programmer, cope with asking others to look at your code and determine what is wrong.  It does not mean you are a bad programmer.</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/work/tips-of-the-trade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.270 seconds -->
