<?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>Jason Rowe &#187; Commentary</title>
	<atom:link href="http://jasonrowe.com/category/commentary/feed/" rel="self" type="application/rss+xml" />
	<link>http://jasonrowe.com</link>
	<description>enjoying the web</description>
	<lastBuildDate>Tue, 03 Jan 2012 02:03:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Shiny New Toys, Visitor Pattern, and Real World Functional Programming</title>
		<link>http://jasonrowe.com/2010/09/06/shiny-new-toys-visitor-pattern-and-real-world-functional-programming/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=shiny-new-toys-visitor-pattern-and-real-world-functional-programming</link>
		<comments>http://jasonrowe.com/2010/09/06/shiny-new-toys-visitor-pattern-and-real-world-functional-programming/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 04:21:41 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Commentary]]></category>
		<category><![CDATA[General Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[F#]]></category>

		<guid isPermaLink="false">http://jasonrowe.com/?p=1333</guid>
		<description><![CDATA[&#160; Last week in the office I thought to my self, “Holiday weekend coming! I’ll have time to play with WP7 or maybe I’ll play with HTML5”. Then I saw this tweet on twitter. We as developers spend too much&#8230;]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p> <p>Last week in the office I thought to my self, “Holiday weekend coming! I’ll have time to play with WP7 or maybe I’ll play with HTML5”. Then I saw this <a href="http://twitter.com/jeremydmiller/status/22798775378">tweet</a> on twitter.</p> <blockquote> <p>We as developers spend too much time playing with baubles and shiny new tools and not enough time on core skills and fundamentals</p></blockquote> <p>I thought well, instead of using some free time this holiday weekend to build something why not do a little research. I happened to have a problem at work which someone suggested using the Visitor Pattern. So I spent some time looking over a few resources and <a href="http://en.wikipedia.org/wiki/Visitor_pattern">Wikipedia</a> has a great explanation. I won’t try to repeat that. One area I was stuck on though was the concept of double dispatch. I found this <a href="http://bit.ly/bZRM74">example</a> on <a href="http://stackoverflow.com/questions/479923/is-c-a-single-dispatch-or-multiple-dispatch-language">StackOverflow.com</a> which solidified the concept. For some reason <a href="http://bit.ly/bZRM74">learning by spaceship and rebel alliance</a> works for me.</p> <p>So now that I had a good understand all I needed to was implement it right? I thought about it and figured that could wait. Now is an opportunity to work on my fundamentals. The Wikipedia article mentioned Common Lisp and how the Visitor Pattern simplified when using dynamic languages. This got me to thinking what would this look like in F# or a functional language? </p> <p>While looking into functional languages I came across this Stack Overflow question “<a href="http://stackoverflow.com/questions/3642328/i-am-a-c-developer-should-i-start-looking-more-on-f-closed">I am a C# developer, Should I start looking more on F# [closed]</a>”.&nbsp; Jon Skeet’s answer influenced me and I figured I would pick up a book <a href="http://manning.com/petricek">Real World Functional Programming</a>. It fits into the category of fundamentals because it’s using C# and F# to teach functional programming. Which I haven’t used in many years.</p> <p>So I start reading with the goal in mind that I would make a quick example of the visitor pattern in F#. Don’t think I am a super geek (not that you would be confused because of my skills). I did take time to drink a few of <a href="http://www.surlybrewing.com/beer/year-round-beers.html">these</a> and go to the Crowded House concert this weekend. By the fourth chapter or so things started to sink in with F# and functional programming. </p> <p>If I were using a declarative functional style of programming, I wouldn’t even need the visitor pattern at all!&nbsp; I don’t have objects that would need to be separated from the algorithm. I would only have types and could use pattern matching and discriminated unions to perform my algorithm. The visitor pattern is needed in my current project because I’m using an implicit OO coding approach.</p> <p>It was really shocking to me that this wasn’t obvious right away. I’ve been doing OO for so long now I’ve completely become accustomed to dealing with objects and state. A programming world without objects had completely slipped from my mind. Glad I took the time to get started on this book as it’s already giving me new ideas and techniques I can use in my daily C# and OO programming. Now to start working on some of the other <a href="http://www.indiangeek.net/wp-content/uploads/Programmer%20competency%20matrix.htm">programmer competencies</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2010/09/06/shiny-new-toys-visitor-pattern-and-real-world-functional-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sending Email and Bounce Handling Rules</title>
		<link>http://jasonrowe.com/2010/03/26/sending-email-and-bounce-handling-rules/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sending-email-and-bounce-handling-rules</link>
		<comments>http://jasonrowe.com/2010/03/26/sending-email-and-bounce-handling-rules/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 04:11:08 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">http://jasonrowe.com/?p=1067</guid>
		<description><![CDATA[While listening to Stack Overflow Podcast 83 I was happy to hear I was not the only one that found sending email complicated. The act of sending mail is also incredibly complicated because spammers have abused the infrastructure for a&#8230;]]></description>
			<content:encoded><![CDATA[<p>While listening to <a href="http://blog.stackoverflow.com/2010/02/podcast-83/">Stack Overflow Podcast 83</a> I was happy to hear I was not the only one that found sending email complicated. </p> 
<blockquote><p>The act of sending mail is also incredibly complicated because spammers have abused the infrastructure for a decade. There are a few immune responses that are still effective, such as <a href="http://en.wikipedia.org/wiki/DomainKeys_Identified_Mail">DKIM </a>and Reverse <a href="http://www.menandmice.com/knowledgehub/dnsqa/56/">PTR </a>records. <a href="SenderID">SenderID  </a>is another method, also based on DNS records, but it’s less well regarded. If you’re going to send email and you want it to arrive, you need to implement all this stuff!.</p></blockquote> 
<p>I agree with this completely and would like to add some additional information about bounce handling. So after you get your <a href="http://en.wikipedia.org/wiki/Feedback_Loop_%28email%29">Feedback loop setup</a> with all the major ISPs, don&#8217;t blow it and ruin your reputation! Get some good bounce handling rules put in place.</p> 
<div class="wp-caption alignright" style="width: 160px"><img alt="The at sign, required character of the e-mail address." src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/98/%40%40%40.svg/150px-%40%40%40.svg.png" title="The at sign, required character of the e-mail address." width="150" height="150" /><p class="wp-caption-text">The at sign, required character of the e-mail address.</p></div> 
<p><strong>Bounce Handling Rules</strong><br /> 
Your server will be put on a IP blacklist if you don&#8217;t handle bounces correctly. After you send a bunch of email the job is not done. The methodology I use for bounce handling was adopted from <a href="http://www.isipp.com">ISIPP&#8217;s</a> white paper <a href="http://www.isipp.com/documents/bouncehandling-paper.pdf">Bounce Handling Process, Email Delivery Rejection, and Receiving System Policies</a>. I&#8217;ve been very happy with the results. Below is a brief summary, without getting into too much detail.</p> 
<p><strong>Hard bounce Handling Policy:</strong></p> 
<ul> 
<li>Description: If a hard bounce, spam complaint, unsubscribe feedback, or user initiated block is received I consider the email address dead and remove it immediately from all mailing lists.
</li> 
<li> 
Frequency: I check for these types to be immediately removed every 15 minutes.
</li> 
<li> 
Example: A hard bounce is permanent, &#8220;user unknown&#8221; being one good example.
</li> 
</ul> 
<p><strong>Soft Bounce Handling Policy:</strong></p> 
<ul> 
<li>Description: Email address will be considered dead if the following criteria are met.
</li> 
<li> 
At least three delivery rejections have occurred in the last 30 days,
</li> 
<li> 
and user has had no successful deliveries in the last 15 days. 
</li> 
<li> 
In addition, the time between the most recent delivery rejection and the initial delivery rejection is greater than 15 days.
</li> 
<li> 
Frequency: It&#8217;s acceptable to handle these types of bounces once per day
</li> 
<li> 
Example: Most commonly, a soft bounce is a temporary condition, such as &#8220;mailbox full.
</li> 
</ul> 
<p>Other areas you need to understand before sending emails include <a href="http://en.wikipedia.org/wiki/CAN-SPAM#Unsubscribe_compliance">unsubscribe compliance</a>, <a href="http://mailformat.dan.info/body/linelength.html">Mime Type Specifications</a>, and <a href="http://en.wikipedia.org/wiki/E-mail">email headers</a>. </p> 
															]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2010/03/26/sending-email-and-bounce-handling-rules/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Turing&#8217;s Lambda Notation</title>
		<link>http://jasonrowe.com/2009/09/05/turings-lambda-notation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=turings-lambda-notation</link>
		<comments>http://jasonrowe.com/2009/09/05/turings-lambda-notation/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 06:50:26 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Commentary]]></category>
		<category><![CDATA[General Programming]]></category>
		<category><![CDATA[Lambda]]></category>

		<guid isPermaLink="false">http://jasonrowe.com/?p=642</guid>
		<description><![CDATA[I&#8217;m still working through Turing&#8217;s paper on Computability and the Turing Machine.  I am at the end and reading the appendix on Alonzo Church&#8217;s equivalent approach using Lambda Calculus.   His work is so familiar to most programmers since we&#8230;]]></description>
			<content:encoded><![CDATA[I&#8217;m still working through Turing&#8217;s paper on Computability and the Turing Machine.  I am at the end and reading the appendix on Alonzo Church&#8217;s equivalent approach using Lambda Calculus.   His work is so familiar to most programmers since we use the concepts in C, C++, Java, and C#.   I decided to use C# Lambda syntax to get familiar before reading through the rest of the paper.

<a rel="attachment wp-att-658" href="http://jasonrowe.com/2009/09/05/turings-lambda-notation/lambda_math_syntax-2/"><img class="alignnone size-full wp-image-658" title="lambda_math_syntax" src="http://jasonrowe.com/wp-content/uploads/2009/09/lambda_math_syntax.PNG" alt="lambda_math_syntax" width="537" height="136" /></a>

I started simply and considered how I could make the following expression be represented by M.

<strong>Math.Pow(x, 2.0) + 5 * x + 7</strong>

Most commonly we see it in this form when programming.

<pre class="brush: c#; ">


static double F(double x)
{

return Math.Pow(x, 2.0) + 5 * x + 7;

}


</pre>

So convert it to a lambda expression.

<pre class="brush: c#; ">


OneV firstExp = x =&gt; Math.Pow(x, 2.0) + 5 * x + 7;


</pre>

where OneV is defined as (not suprisingly)

<pre class="brush: c#; ">


delegate double OneV(double x);


</pre>

In C# the two variable syntax could be something like this:

<pre class="brush: c#; ">


TwoV Exp = (x, y) =&gt; Math.Pow(y, 2.0) + 5 * y + 18 * x + 2 * x * y + 7;


</pre>

So thats how I got my head around the very basic syntax.]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2009/09/05/turings-lambda-notation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book Review: A Mathematical Journey In Code</title>
		<link>http://jasonrowe.com/2009/08/08/book-review-a-mathematical-journey-in-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=book-review-a-mathematical-journey-in-code</link>
		<comments>http://jasonrowe.com/2009/08/08/book-review-a-mathematical-journey-in-code/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 01:59:39 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">http://jasonrowe.com/?p=601</guid>
		<description><![CDATA[The book In Code has a nice down to earth feel, which is surprising, since it is about cryptography.  The book summarizes Sarah Flannery&#8217;s journey from learning puzzles as a child to creating the Cayley-Purser (CP) algorithm at the age&#8230;]]></description>
			<content:encoded><![CDATA[The book <em>In Code</em> has a nice down to earth feel, which is surprising, since it is about cryptography.  The book summarizes Sarah Flannery&#8217;s journey from learning puzzles as a child to creating the Cayley-Purser (CP) algorithm at the age of 16. The CP algorithm created by Sarah won her both the Ireland&#8217;s Young Scientist of the Year award and European Young Scientist of the Year.

<figure id="attachment_604" aria-labelledby="figcaption_attachment_604" class="wp-caption alignright" style="width: 250px"><a href="http://www.amazon.com/Code-Mathematical-Journey-Sarah-Flannery/dp/0761123849"><img class="size-full wp-image-604" title="In Code" src="http://jasonrowe.com/wp-content/uploads/2009/08/incode.jpg" alt="In Code" width="240" height="240" /></a><figcaption id="figcaption_attachment_604" class="wp-caption-text">In Code</figcaption></figure>

The writing is outstanding and the mathematical explanations are detailed and focused. Anyone with a basic understanding of algebra and natural numbers should be able to follow this book.  Most of the math in the book can be visualized via the authors real world examples or given puzzles. When it can&#8217;t be quickly visualized the author goes into a mock dialog with you which is helpful.  For example, when explaining 

<em>&#8220;To convert C-numbers (C = cyphertext) back to their original P-counterpars (P = plaintext), multiply them by 21 modulo 26.</em>  

<em><strong>You:</strong> Did you say multiply? Surely there must be a division involved somewhere. And where does this magical number 21 come from?&#8221;</em>

  They go on to explain everything in a back and forth conversational &#8220;You Me&#8221; format. Very informative and easy to follow. I&#8217;m not giving it justice in my explination but I hope you get the point.

I thought this was a great book. Amazing for the math layman like myself.  Really got me excited about cryptography and the arithmetic involved. I think this might be a good read for parents who are worried about their children not getting enough math skills in school.  The book provides a way to teach people math in a non confrontational and interesting way.]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2009/08/08/book-review-a-mathematical-journey-in-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Think you have money problems?</title>
		<link>http://jasonrowe.com/2009/06/18/think-you-have-money-problems/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=think-you-have-money-problems</link>
		<comments>http://jasonrowe.com/2009/06/18/think-you-have-money-problems/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 16:26:54 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[debt]]></category>
		<category><![CDATA[economics]]></category>
		<category><![CDATA[GDP]]></category>
		<category><![CDATA[money]]></category>

		<guid isPermaLink="false">http://rowejason.com/?p=403</guid>
		<description><![CDATA[If you live in the U.S. it&#8217;s much worse than you think. The U.S. National Debt is 11,406,012,959,882.55 as of 06/16/2009. The number I mentioned doesn&#8217;t include the hidden costs of social security and medicare. We spent all our social security&#8230;]]></description>
			<content:encoded><![CDATA[<strong>If you live in the U.S. it&#8217;s much worse than you think.</strong>

The U.S. National Debt is <a href="http://www.treasurydirect.gov/NP/BPDLogin?application=np">11,406,012,959,882.5</a>5 as of 06/16/2009. The number I mentioned doesn&#8217;t include the hidden costs of social security and medicare. We spent all our social security money on other debt instead of what it is really for (baby boomers). You can think of it like moving money from one credit card to another or refinancing your house as a simple metaphor.
<figure id="attachment_537" aria-labelledby="figcaption_attachment_537" class="wp-caption alignright" style="width: 300px"><a href="http://jasonrowe.com/2009/06/18/think-you-have-money-problems/ohno2/" rel="attachment wp-att-537"><img src="http://jasonrowe.com/wp-content/uploads/2009/06/ohno2.jpg" alt="new debt clock" title="new debt clock" width="290" height="132" class="size-full wp-image-537" /></a><figcaption id="figcaption_attachment_537" class="wp-caption-text">new 14 digit debt clock</figcaption></figure>
So what does this number mean? Well, that&#8217;s how much money we owe. Like a credit card bill. So what is our income?

You can think of the income as a pay check per year. The government calls this the GDP (gross domestic product).

Our current approximate GDP this year is <a href="http://www.bea.gov/newsreleases/national/gdp/gdpnewsrelease.htm">14,068,000,000,000.</a> Hey that&#8217;s good. We are making more then we are spending. Right?

Yes, but we are living pay check to pay check. As of June 2009 the debt was <a href="http://en.wikipedia.org/wiki/United_States_public_debt">82.5</a> percent of GDP based on current GDP. This level of debt has not been seen since 1951, with the nominal value the largest in recorded history.

Lots of the debt is owned by other countries. Like how the bank actually owns your house. The U.S. in some ways is owned by other countries. For example, In total, lenders from Japan and China held <a href="http://en.wikipedia.org/wiki/United_States_public_debt">47%</a> of US debt.

So when that rainy day comes. What are we going to do? We have two choices to prepair for the future. Ether we raise taxes or <a href="http://consumerist.com/consumer/clips/snl-skit-dont-buy-stuff-you-cant-afford-252491.php">spend less. </a>

For a whole slew of debt numbers and GDP look at the <a href="http://www.usdebtclock.org/">US National Debt Clock</a>.
]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2009/06/18/think-you-have-money-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>computer programming quotes</title>
		<link>http://jasonrowe.com/2009/05/31/computer-programming-quotes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=computer-programming-quotes</link>
		<comments>http://jasonrowe.com/2009/05/31/computer-programming-quotes/#comments</comments>
		<pubDate>Sun, 31 May 2009 05:02:34 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">http://rowejason.com/?p=387</guid>
		<description><![CDATA[Is it possible that software is not like anything else, that it is meant to be discarded: that the whole point is to always see it as a soap bubble? Alan J. Perlis &#8220;I think that it&#8217;s extraordinarily important that&#8230;]]></description>
			<content:encoded><![CDATA[Is it possible that software is not like anything else, that it is meant to be discarded: that the whole point is to always see it as a soap bubble?

Alan J. Perlis

&#8220;I think that it&#8217;s extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customers got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don&#8217;t think we are. I think we&#8217;re responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don&#8217;t become missionaries. Don&#8217;t feel as if you&#8217;re Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don&#8217;t feel as if the key to successful computing is only in your hands. What&#8217;s in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.&#8221;

Alan J. Perlis (April 1, 1922-February 7, 1990)

A computer is like a violin. You can imagine a novice trying first a phonograph and then a violin. The latter, he says, sounds terrible. That is the argument we have heard from our humanists and most of our computer scientists. Computer programs are good, they say, for particular purposes, but they aren&#8217;t flexible. Neither is a violin, or a typewriter, until you learn how to use it.

Marvin Minsky, &#8220;Why Programming Is a Good
Medium for Expressing Poorly-Understood and Sloppily-Formulated Ideas&#8217;&#8221;

The acts of the mind, wherein it exerts its power over simple ideas, are chiefly these three: 1. Combining several simple ideas into one compound one, and thus all complex ideas are made. 2. The second is bringing two ideas, whether simple or complex, together, and setting them by one another so as to take a view of them at once, without uniting them into one, by which it gets all its ideas of relations. 3. The third is separating them from all other ideas that accompany them in their real existence: this is called abstraction, and thus all its general ideas are made.

John Locke, <em>An Essay Concerning Human Understanding</em> (1690)

We now come to the decisive step of mathematical abstraction: we forget about what the symbols stand for. <tt>...</tt>[The mathematician] need not be idle; there are many operations which he may carry out with these symbols, without ever having to look at the things they stand for.

Hermann Weyl, <em>The Mathematical Way of Thinking</em>

Like desperate citizens manning a dike in a category 5 storm, we programmers keep piling up these leaky abstractions, shoring up as best we can, desperately attempting to stay ahead of the endlessly rising waters of complexity.

Jeff Atwood<em>, All Abstractions Are Failed Abstractions </em>

<em>http://www.codinghorror.com/blog/archives/001281.html</em>

<em>
</em>]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2009/05/31/computer-programming-quotes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When Good People Write Bad Code</title>
		<link>http://jasonrowe.com/2009/03/19/when-good-people-write-bad-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=when-good-people-write-bad-code</link>
		<comments>http://jasonrowe.com/2009/03/19/when-good-people-write-bad-code/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 03:47:50 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">http://rowejason.com/?p=361</guid>
		<description><![CDATA[I started reading a book called &#8220;When Good People Write Bad Sentences&#8221;.  The book contains 12 steps to better writing habits.  Each step is a humorous connection between bad writing skills and a persons Psychology.  I&#8217;m only on step 3&#8230;]]></description>
			<content:encoded><![CDATA[I started reading a book called &#8220;When Good People Write Bad Sentences&#8221;.  The book contains 12 steps to better writing habits.  Each step is a humorous connection between bad writing skills and a persons Psychology.  I&#8217;m only on step 3 and I feel like I am reading a dark comedy about my writing history.

<img class="size-full wp-image-365 alignleft" style="margin: 5px;" title="images" src="http://rowejason.com/wp-content/uploads/2009/03/images.jpeg" alt="images" width="124" height="86" />

For example, have you received an email that made your adrenaline pump and emotions flare?  If you immediately reply, the results can be unpredictable.  I find the same situation applies in software development.

In a heated meeting of developers someone might say, &#8220;no, that idea will never work!&#8221;.  In response, someone will code up a class or script to prove an idea.  Emotions can affect your code and what you code. It can be just like writing an angry email.  Luckily, we have some first line defenses in writing and coding.

Spell check and auto formatting are great for the writing community and almost everyone uses them today.  Developers also have tools to prevent bad coding habits using testing frameworks, coding processes, and peer reviews.  Unfortunately, for the developers these are rarely in the form of a large glossy button named &#8220;spell check&#8221;.

One of my favorite quotes is &#8220;Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live.&#8221; Of course, this is a little over the top but it does convey the amount of concentration needed to write quality code.]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2009/03/19/when-good-people-write-bad-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Favorite Visual Studio Short Cut Keys</title>
		<link>http://jasonrowe.com/2009/03/17/my-favorite-visual-studio-short-cut-keys/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=my-favorite-visual-studio-short-cut-keys</link>
		<comments>http://jasonrowe.com/2009/03/17/my-favorite-visual-studio-short-cut-keys/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 02:44:56 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Short Cut Keys]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://rowejason.com/?p=357</guid>
		<description><![CDATA[Ctrl + Shift + F Find in multiple files. Ctrl + K + D Apply default formatting rules. Ctrl + K + C Comment section. Ctrl + K + U Uncomment section. Ctrl + Alt + E Debugger auto break&#8230;]]></description>
			<content:encoded><![CDATA[<ul>
	<li>Ctrl + Shift + F Find in multiple files.</li>
	<li> Ctrl + K + D Apply default formatting rules.</li>
	<li> Ctrl + K + C Comment section.</li>
	<li> Ctrl + K + U Uncomment section.</li>
	<li> Ctrl + Alt + E Debugger auto break on exception settings.</li>
	<li> Ctrl + I to incrementally search</li>
	<li>Ctrl + Minus Jump back to previous cursor location</li>
	<li>Ctrl + Shift + Minus Jump forward to last cursor location</li>
	<li>Ctrl + K, C Comment out currently selected code</li>
	<li>Ctrl + K, U Uncomment currently selected code</li>
	<li>Ctrl + K, F Format selected code</li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2009/03/17/my-favorite-visual-studio-short-cut-keys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy Holidays!</title>
		<link>http://jasonrowe.com/2008/12/24/happy-holidays/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=happy-holidays</link>
		<comments>http://jasonrowe.com/2008/12/24/happy-holidays/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 15:39:34 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">http://rowejason.com/2008/12/24/happy-holidays/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<img src="http://rowejason.com/wp-content/uploads/2008/12/206882main_happy-holidays-5161.jpg" alt="206882main_happy-holidays-5161" title="206882main_happy-holidays-5161" width="516" height="344" class="alignnone size-full wp-image-238" />]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2008/12/24/happy-holidays/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>politicians working on the financial bailout should ask&#8230;</title>
		<link>http://jasonrowe.com/2008/09/28/wwrpd/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wwrpd</link>
		<comments>http://jasonrowe.com/2008/09/28/wwrpd/#comments</comments>
		<pubDate>Sun, 28 Sep 2008 06:23:36 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[bailout]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://rowejason.com/?p=163</guid>
		<description><![CDATA[And I wouldn&#8217;t be surprised if there will not be a sharp distinction between McCain and Obama, because they belong to the same special interest groups. And that is why you won&#8217;t get any real debate over the Federal Reserve&#8230;]]></description>
			<content:encoded><![CDATA[<a href="http://rowejason.com/wp-content/uploads/2008/09/found_wwrpd_f.jpg"><img class="alignnone size-medium wp-image-164" title="found_wwrpd_f" src="http://rowejason.com/wp-content/uploads/2008/09/found_wwrpd_f-300x148.jpg" alt="" width="300" height="148" /></a>
<blockquote>And I wouldn&#8217;t be surprised if there will not be a sharp distinction between McCain and Obama, because they belong to the same special interest groups.

And that is why you won&#8217;t get any real debate over the Federal Reserve system or the foreign policy or monetary policy. That will all continue. And that is why so many people in this country have come to the conclusion that there&#8217;s not a dime&#8217;s worth of difference between the two parties.

And I think you will see that, once this bill is passed, how the groups got together.</blockquote>
Ron Paul <strong><em>&#8220;Your World With Neil Cavuto,&#8221; September 25, 2008</em></strong>.

<a href="http://www.foxnews.com/story/0,2933,428487,00.html">http://www.foxnews.com/story/0,2933,428487,00.html</a>

<a href="http://rowejason.com/wp-content/uploads/2008/09/bailout.jpg"><img class="alignnone size-medium wp-image-171" title="bailout" src="http://rowejason.com/wp-content/uploads/2008/09/bailout-300x201.jpg" alt="" width="300" height="201" /></a>]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2008/09/28/wwrpd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

