Home
Loominate
Cancel

Brainmess: Extract Class Program

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 ...

Is Apple Going To Pay?

Apple Conference Call

Brainmess: Extract Jump Methods

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...

Apple Story Retractions

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 ...

Brainmess: Commentary

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...

Brainmess: Part 2

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...

Brainmess

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...

Immutable Data Structures

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...

An Iterator Interface for C#

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...

Abstract Algebra is Refactoring

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...