Today, I’d like to address the issue of “data clumping” in the original implementation of Brainmess. (See all previous posts: testing, explanation and extract methods.) As was pointed out in an ...
Apple Conference Call
Today, I’ll start to refactor the Brainmess program. In the first post I gave an “all-in-one” solution. Next I added some automated tests to give me some confidence that I don’t break anything duri...
Rob Schmitz reporting for Marketplace catches Mike Daisey in flat out lies about what he saw during his visit to China. Daisey claims it was theater not journalism. Seems he should have thought of ...
Today I wanted to step back and explain the implementation of Brainmess that I presented in my first post on this subject. I recommend you click on the link and have the implementation open in anot...
In my last post I introduced you to Brainmess and presented an “all-in-one” implementation of an interpreter for it. In this post I’m going to begin the process of refactoring to address some of th...
I was introduced to a language with a NSFW name a few years ago. Mark Chu-Carroll posted about it. It is also documented at Wikipedia The name of the article I linked to is NSFW due to language...
During the last few years I’ve become more familiar with functional languages. My current favorite is Haskell. During this same time period, I’ve also become more familiar with the existence of eff...
The IEnumerator interface of C# is usually fine for visiting a collection of elements. However, often times when I’m doing something more complicated I want to split up the functionality of MoveN...
In my previous post I presented a little introduction to abstract algebra. The easiest way for me to explain abstract algebra to a software developer is that it’s a lot like refactoring. What do...
A new version of content is available.