<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.8.6" -->
<rss version="0.92">
<channel>
	<title>caines.ca/blog</title>
	<link>http://caines.ca/blog</link>
	<description>Shell-Shocked Ramblings from the Trenches of Software Development</description>
	<lastBuildDate>Tue, 30 Mar 2010 06:02:09 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>Fight starter #66: The Exercise Suite</title>
		<description>Fight starter #66: The Exercise Suite
It's no fun to write about stuff that everyone agrees on, so I'm going to write about something that almost everyone seems to disagree with me
about:
100% code coverage is almost always possible. It's a valuable target, and it's a worthwhile goal in and of itself.
The ...</description>
		<link>http://caines.ca/blog/programming/fight-starter-66-the-exercise-suite/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
			</item>
	<item>
		<title>The Top 6 Common Excuses to Avoiding Unit-Testing</title>
		<description>5 Common Excuses for Avoiding Unit-Testing
I just finished reading an article on the The Maintainability of Unit Tests (http://java.dzone.com/articles/maintainability-unit-tests) and a lot of what was being said there is contrary to my experiences with unit-testing, so I wanted to suggest a few counterpoints.
Basically there's a discussion of how unit-testing can ...</description>
		<link>http://caines.ca/blog/programming/the-top-5-common-excuses-to-avoiding-unit-testing/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
			</item>
	<item>
		<title>Overcoming the Difficulty of Changing to a Focus on Quality</title>
		<description>Habit is habit, and not to be flung out of the window by any man, but coaxed down-stairs a step at a time.
-- Mark Twain, "Pudd'nhead Wilson's Calendar
In my last entry I talked about how difficult it is to transition a team from being a deadline-oriented team to a quality-oriented ...</description>
		<link>http://caines.ca/blog/programming/overcoming-the-difficulty-of-changing-to-a-focus-on-quality/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
			</item>
	<item>
		<title>The Difficulty of Changing to a Focus on Quality</title>
		<description>One thing that TDD's advocates and opponents can agree on is that the concept is hard to introduce to new people.  There are lot of pain points to unit-testing that lead to it being difficult to get buy-in for, in the minds of managers and developers alike.
How we got here
Product ...</description>
		<link>http://caines.ca/blog/programming/the-difficulty-of-changing-to-a-focus-on-quality/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
			</item>
	<item>
		<title>The Lost Art of Prototyping</title>
		<description>Prototyping is a design methodology that basically involves "trying stuff out and seeing what works".  It's meant to be iterative in that you continue to create prototypes (possibly by alterring previous prototypes) until you've got all the information you need to say your design is complete.

If we were building ...</description>
		<link>http://caines.ca/blog/programming/the-lost-art-of-prototyping/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
			</item>
	<item>
		<title>The Future Proofing Trap</title>
		<description>"We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris." -- Larry Wall ( http://en.wikipedia.org/wiki/Larry_Wall )
In this quote Larry Wall makes some great points about what it means to be a great programmer in a zen-like,  toungue-in-cheek sort-of-way.  Let's look at one aspect ...</description>
		<link>http://caines.ca/blog/programming/the-future-proofing-trap/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
			</item>
	<item>
		<title>Fightstarter #83:  Code slower</title>
		<description>Here's a controversial opinion, but one that I really believe to be true: most of the things we do to produce code faster are actually counter-productive.  It sounds crazy, and I would naturally oppose it except that every time I ignore this lesson, experience has a way of reteaching me. ...</description>
		<link>http://caines.ca/blog/programming/fightstarter-83-code-slower/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
			</item>
	<item>
		<title>The Debuggerator: A Practical Intro to Decorators in Python</title>
		<description>I'm not a huge fan of step-through debuggers, because I generally find them to be a crutch that keeps you from attempting to get a holistic understanding of the program you're debugging.  I've certainly never had an issue that I haven't been able to solve without a debugger.

Of course when ...</description>
		<link>http://caines.ca/blog/programming/the-debuggerator-a-practical-intro-to-decorators-in-python/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
			</item>
	<item>
		<title>Challenging Patterns</title>
		<description>Challenging Patterns
=========================================
A pattern is meant to be a common solution to a common problem.  Thinking in terms of patterns can be a good way to think (and talk) at a higher level of abstraction, so they can be good.  One major problem with patterns though is that they're always taken ...</description>
		<link>http://caines.ca/blog/programming/challenging-patterns/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
			</item>
	<item>
		<title>Singletons: anti-pattern, or worst anti-pattern ever?</title>
		<description>I've been maintaining a lot of code that liberally uses the Singleton Pattern lately, so I want to turn a bit of a critical eye to it.  It's usually used when you need exactly one instance of something and it's a cross-cutting sort of need, meaning that it's needed ...</description>
		<link>http://caines.ca/blog/programming/singletons-anti-pattern-or-worst-anti-pattern-ever/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
			</item>
</channel>
</rss>
