<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.8.4" -->
<rss version="0.92">
<channel>
	<title>4thmouse.com</title>
	<link>http://4thmouse.com</link>
	<description>Software Engineering.</description>
	<lastBuildDate>Sun, 18 Dec 2011 05:45:14 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>The Evils of Equals and Autoboxing</title>
		<description><![CDATA[This was a fun, if particularly stupid, one:

public void method check&#40;int value&#41;&#123;
  if&#40;this.x == value&#41;
  &#123;
    //do whatever
  &#125;
&#125;

the previous works as long as x and value are small, but not when they are big. Why? Because x is an Integer not an int. Java helpfully autoboxes the int [...]]]></description>
		<link>http://4thmouse.com/index.php/2011/12/18/the-evils-of-equals-and-autoboxing/</link>
			</item>
	<item>
		<title>Seniority and Age in Software Engineering (No you aren&#8217;t a senior engineer)</title>
		<description><![CDATA[I&#8217;ve been thinking about this topic a fair amount recently catalyzed by a combination of getting older myself, some of the people I&#8217;ve worked with now and in the past, and where I see myself in them.
I think that sometimes the prevalence of youth in positions of power in the industry is over-stated by a [...]]]></description>
		<link>http://4thmouse.com/index.php/2011/12/17/seniority-and-age-in-software-engineering-no-you-arent-a-senior-engineer/</link>
			</item>
	<item>
		<title>What is Good Design?</title>
		<description><![CDATA[You can spend a lot of time arguing about this question and I think many of those arguments tend to miss the point: good design is a process, not a result. Why is that?

Well first, good design starts with a goal. You should at least try to understand what you&#8217;re trying to do before deciding [...]]]></description>
		<link>http://4thmouse.com/index.php/2011/12/17/what-is-good-design/</link>
			</item>
	<item>
		<title>Why Your Junit Should Look More Like Cucumber</title>
		<description><![CDATA[I&#8217;ve recently gone back to writing Java and one thing that&#8217;s really struck me again is how JUnit (and XUnit frameworks in general) don&#8217;t do much to encourage clean tests. Don&#8217;t get me wrong, I&#8217;m all about unit testing, but a lot of junit tests aren&#8217;t very helpful.

For instance, I regularly see tests that look [...]]]></description>
		<link>http://4thmouse.com/index.php/2011/12/17/why-your-junit-should-look-more-like-cucumber/</link>
			</item>
	<item>
		<title>Composition vs. Inheritance (hint: usually not inheritance)</title>
		<description><![CDATA[ A co-worker of mine recently made the comment that a lot of times you see Java code using inheritance where composition is a much better solution. This is very true and worth pointing out.

Basically the problem boils down to this: Although both inheritance and composition form a relationship between objects inheritance creates a strong [...]]]></description>
		<link>http://4thmouse.com/index.php/2011/12/17/composition-vs-inheritance-hint-usually-not-inheritance/</link>
			</item>
	<item>
		<title>Writing a Yard Extension To Show Inherited Attributes</title>
		<description><![CDATA[So RDoc is an absolutely terrible documentation generator both from the usage and the coding perspective. Although yard is not yet quite as stable as I&#8217;d like, it is everything RDoc is not, it&#8217;s pretty, well written, and provides numerous well thought out extension points. So as an exercise I decided to fix one of [...]]]></description>
		<link>http://4thmouse.com/index.php/2011/04/04/writing-a-yard-extension/</link>
			</item>
	<item>
		<title>Unit, Cucumber, and/or Rspec (DHH Say it ain&#8217;t so!)</title>
		<description><![CDATA[So recently, dhh tweeted that he doesn&#8217;t really get why cucumber and rpsec are so popular and questioned their benefit outside of a niche audience relative to the high cost of writing with them relative to X-Unit style tests. I&#8217;ve used ruby test, rspec, and cucumber extensively and I&#8217;m finding it hard to see that [...]]]></description>
		<link>http://4thmouse.com/index.php/2011/04/01/unit-cucumber-andor-rspec-dhh-say-it-aint-so/</link>
			</item>
	<item>
		<title>The Myth of Learning a new Programming Language Quickly</title>
		<description><![CDATA[I&#8217;m surprised how often people in our industry inform me that picking up new programming languages should take a programmer a day or two or maybe a week. I disagree and I think that the assertion really belies a very limited perspective on what it is to learn a new programming language. Take, for instance, [...]]]></description>
		<link>http://4thmouse.com/index.php/2011/04/01/the-myth-of-learning-a-new-programming-language-quickly/</link>
			</item>
	<item>
		<title>Reopening modules in Ruby</title>
		<description><![CDATA[Open class definitions in ruby allow libraries to add functionality to existing objects. Standard practice is to define a module with the new functionality and include it into the existing class ( Jay fields on the subject here  ). Unfortunately this model breaks when you want to update a module.

For instance the following doesn&#8217;t [...]]]></description>
		<link>http://4thmouse.com/index.php/2011/03/31/reopening-modules-in-ruby/</link>
			</item>
	<item>
		<title>Why class variables in Ruby are a bad idea</title>
		<description><![CDATA[In ruby, there are instance variables and class variables. Class variables may not work the way you think&#8230;
So to define a class variable we do the following:

class A
  @@class_variable = &#34;bob&#34;
  def self.get
    @@class_variable
  end
end
class B
  @@class_variable = &#34;sally&#34;
  def self.get
    @@class_variable
  end
end
&#160;
#&#34;bob&#34;
A.get
#&#34;sally&#34;
B.get

Here [...]]]></description>
		<link>http://4thmouse.com/index.php/2011/03/20/why-class-variables-in-ruby-are-a-bad-idea/</link>
			</item>
</channel>
</rss>

