<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for Henrik Warne&#039;s blog</title>
	<atom:link href="http://henrikwarne.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://henrikwarne.com</link>
	<description>Thoughts on programming...</description>
	<lastBuildDate>Sun, 19 May 2013 18:49:50 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>Comment on Great Programmers Write Debuggable Code by Weekly Design News (N.184)</title>
		<link>http://henrikwarne.com/2013/05/05/great-programmers-write-debuggable-code/#comment-3009</link>
		<dc:creator><![CDATA[Weekly Design News (N.184)]]></dc:creator>
		<pubDate>Sun, 19 May 2013 18:49:50 +0000</pubDate>
		<guid isPermaLink="false">http://henrikwarne.com/?p=763#comment-3009</guid>
		<description><![CDATA[[&#8230;] Great Programmers Write Debuggable Code [&#8230;]]]></description>
		<content:encoded><![CDATA[<p>[&#8230;] Great Programmers Write Debuggable Code [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Great Programmers Write Debuggable Code by Descargar WhatsApp</title>
		<link>http://henrikwarne.com/2013/05/05/great-programmers-write-debuggable-code/#comment-3008</link>
		<dc:creator><![CDATA[Descargar WhatsApp]]></dc:creator>
		<pubDate>Thu, 16 May 2013 16:28:54 +0000</pubDate>
		<guid isPermaLink="false">http://henrikwarne.com/?p=763#comment-3008</guid>
		<description><![CDATA[I like so much your opinion thanks for share.]]></description>
		<content:encoded><![CDATA[<p>I like so much your opinion thanks for share.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Great Programmers Write Debuggable Code by George</title>
		<link>http://henrikwarne.com/2013/05/05/great-programmers-write-debuggable-code/#comment-3006</link>
		<dc:creator><![CDATA[George]]></dc:creator>
		<pubDate>Wed, 15 May 2013 19:15:21 +0000</pubDate>
		<guid isPermaLink="false">http://henrikwarne.com/?p=763#comment-3006</guid>
		<description><![CDATA[A student said to the master, &quot;I want to be a good programmer.&quot;

The master replied, &quot;Would you rather be a good programmer who writes bad programs, or a bad programmer who writes good programs?&quot;

The student left enlightened.]]></description>
		<content:encoded><![CDATA[<p>A student said to the master, &#8220;I want to be a good programmer.&#8221;</p>
<p>The master replied, &#8220;Would you rather be a good programmer who writes bad programs, or a bad programmer who writes good programs?&#8221;</p>
<p>The student left enlightened.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Great Programmers Write Debuggable Code by gby</title>
		<link>http://henrikwarne.com/2013/05/05/great-programmers-write-debuggable-code/#comment-3005</link>
		<dc:creator><![CDATA[gby]]></dc:creator>
		<pubDate>Wed, 15 May 2013 18:55:27 +0000</pubDate>
		<guid isPermaLink="false">http://henrikwarne.com/?p=763#comment-3005</guid>
		<description><![CDATA[You may use great patterns and coolest frameworks but if your code doesn&#039;t log enough your code SUCKS! I&#039;ve seen to many banking apps that made business decisions worth millions without a single trace in logs... And BTW: logs greatly increase code readability - good logs actually explain what code really does!]]></description>
		<content:encoded><![CDATA[<p>You may use great patterns and coolest frameworks but if your code doesn&#8217;t log enough your code SUCKS! I&#8217;ve seen to many banking apps that made business decisions worth millions without a single trace in logs&#8230; And BTW: logs greatly increase code readability &#8211; good logs actually explain what code really does!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Great Programmers Write Debuggable Code by André</title>
		<link>http://henrikwarne.com/2013/05/05/great-programmers-write-debuggable-code/#comment-3004</link>
		<dc:creator><![CDATA[André]]></dc:creator>
		<pubDate>Wed, 15 May 2013 15:12:48 +0000</pubDate>
		<guid isPermaLink="false">http://henrikwarne.com/?p=763#comment-3004</guid>
		<description><![CDATA[&quot;Also log statements document your code&quot; – You don&#039;t document code the same way you write log statement: doc is on the *whys* (you did this and that in your code), refers to theory etc, logs are more about *what* happened. Comments on the &quot;whats&quot; are usually a sign of bad decomposition or bad function and variable naming.]]></description>
		<content:encoded><![CDATA[<p>&#8220;Also log statements document your code&#8221; – You don&#8217;t document code the same way you write log statement: doc is on the *whys* (you did this and that in your code), refers to theory etc, logs are more about *what* happened. Comments on the &#8220;whats&#8221; are usually a sign of bad decomposition or bad function and variable naming.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Great Programmers Write Debuggable Code by Great programmers write debuggable code &#124; CROWDCARE</title>
		<link>http://henrikwarne.com/2013/05/05/great-programmers-write-debuggable-code/#comment-3003</link>
		<dc:creator><![CDATA[Great programmers write debuggable code &#124; CROWDCARE]]></dc:creator>
		<pubDate>Wed, 15 May 2013 14:53:46 +0000</pubDate>
		<guid isPermaLink="false">http://henrikwarne.com/?p=763#comment-3003</guid>
		<description><![CDATA[[&#8230;] This post was originally written by Henrik Warne on his personal blog [&#8230;]]]></description>
		<content:encoded><![CDATA[<p>[&#8230;] This post was originally written by Henrik Warne on his personal blog [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Great Programmers Write Debuggable Code by Weekly Design News – Resources, Tutorials and Freebies (N.184) &#124; Wordpress Webdesigner</title>
		<link>http://henrikwarne.com/2013/05/05/great-programmers-write-debuggable-code/#comment-3001</link>
		<dc:creator><![CDATA[Weekly Design News – Resources, Tutorials and Freebies (N.184) &#124; Wordpress Webdesigner]]></dc:creator>
		<pubDate>Tue, 14 May 2013 07:36:44 +0000</pubDate>
		<guid isPermaLink="false">http://henrikwarne.com/?p=763#comment-3001</guid>
		<description><![CDATA[[&#8230;] Great Programmers Write Debuggable Code [&#8230;]]]></description>
		<content:encoded><![CDATA[<p>[&#8230;] Great Programmers Write Debuggable Code [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Great Programmers Write Debuggable Code by Cameron Stuart</title>
		<link>http://henrikwarne.com/2013/05/05/great-programmers-write-debuggable-code/#comment-2998</link>
		<dc:creator><![CDATA[Cameron Stuart]]></dc:creator>
		<pubDate>Sat, 11 May 2013 12:01:09 +0000</pubDate>
		<guid isPermaLink="false">http://henrikwarne.com/?p=763#comment-2998</guid>
		<description><![CDATA[Good article indeed.

I find that back end programs are in particular need of detailed logs.

Webapps are easier to debug because the request stack is usually smaller, after all, it will usually complete in under 2 seconds.

Most of my work is triggered by cron while I slumber, so if there is an issue I would like to read the log, rather than read the code to determine what happened in the small hours of the day.

Even more important when I need to debug somebody else&#039;s program. If I can read the logs to determine what went wrong without reading the code, then I would say it&#039;s written by a great programmer!]]></description>
		<content:encoded><![CDATA[<p>Good article indeed.</p>
<p>I find that back end programs are in particular need of detailed logs.</p>
<p>Webapps are easier to debug because the request stack is usually smaller, after all, it will usually complete in under 2 seconds.</p>
<p>Most of my work is triggered by cron while I slumber, so if there is an issue I would like to read the log, rather than read the code to determine what happened in the small hours of the day.</p>
<p>Even more important when I need to debug somebody else&#8217;s program. If I can read the logs to determine what went wrong without reading the code, then I would say it&#8217;s written by a great programmer!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Great Programmers Write Debuggable Code by Henrik Warne</title>
		<link>http://henrikwarne.com/2013/05/05/great-programmers-write-debuggable-code/#comment-2997</link>
		<dc:creator><![CDATA[Henrik Warne]]></dc:creator>
		<pubDate>Sat, 11 May 2013 08:58:35 +0000</pubDate>
		<guid isPermaLink="false">http://henrikwarne.com/?p=763#comment-2997</guid>
		<description><![CDATA[I think logging and error handling are separate issues. Catching, handling (and yes, logging) errors is necessary, but not enough. If your system produces the wrong result, but doesn&#039;t throw an error, how do you find and correct the problem in your code? You need some way of knowing what the program did, which paths it took, in order to start looking for the problem. With good logging in place, it&#039;s often (but by no means always) enough to look at the logs to figure out what went wrong.

I also frequently add logging statements when looking for specific problems, but many of them I remove once the problem is solved. You can&#039;t log everything, so you only want to keep the well-placed, generic logging statements that will also be useful in the future.]]></description>
		<content:encoded><![CDATA[<p>I think logging and error handling are separate issues. Catching, handling (and yes, logging) errors is necessary, but not enough. If your system produces the wrong result, but doesn&#8217;t throw an error, how do you find and correct the problem in your code? You need some way of knowing what the program did, which paths it took, in order to start looking for the problem. With good logging in place, it&#8217;s often (but by no means always) enough to look at the logs to figure out what went wrong.</p>
<p>I also frequently add logging statements when looking for specific problems, but many of them I remove once the problem is solved. You can&#8217;t log everything, so you only want to keep the well-placed, generic logging statements that will also be useful in the future.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Great Programmers Write Debuggable Code by mortoray</title>
		<link>http://henrikwarne.com/2013/05/05/great-programmers-write-debuggable-code/#comment-2996</link>
		<dc:creator><![CDATA[mortoray]]></dc:creator>
		<pubDate>Sat, 11 May 2013 08:40:44 +0000</pubDate>
		<guid isPermaLink="false">http://henrikwarne.com/?p=763#comment-2996</guid>
		<description><![CDATA[I disagree that logging is the correct way to make debuggable code. While at times it is very helpful it can often be a symptom of a poorly designed error handling system. If your code is properly checking for errors at all points, and delivers proper exceptions/error codes I don&#039;t think logging is necessary.

The type of logging I do for debugging is usually very specific to the problem I&#039;m debugging and not suitable for staying in the code. Once I have the problem located and an appropriate test coded, I can then remove the logging. This allows me not to worry about the long-term usefulness of the log statements and merely debug the problem at hand.]]></description>
		<content:encoded><![CDATA[<p>I disagree that logging is the correct way to make debuggable code. While at times it is very helpful it can often be a symptom of a poorly designed error handling system. If your code is properly checking for errors at all points, and delivers proper exceptions/error codes I don&#8217;t think logging is necessary.</p>
<p>The type of logging I do for debugging is usually very specific to the problem I&#8217;m debugging and not suitable for staying in the code. Once I have the problem located and an appropriate test coded, I can then remove the logging. This allows me not to worry about the long-term usefulness of the log statements and merely debug the problem at hand.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
