Author Archives: Michael

About Michael

I am a software developer and part-time professor. I enjoy studying and discussing mathematics, computer science and software development.

Is Apple Going To Pay?

Apple Conference Call

Posted in Apple | 1 Comment

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 that before going on dozens of … Continue reading

Posted in Apple | 1 Comment

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 another window as you read … Continue reading

Posted in software development | Tagged | 2 Comments

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 the concerns I had in the … Continue reading

Posted in software development | Tagged , , | 2 Comments

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 (Note, the name of the article I linked to is NSFW due to language). [Updated … Continue reading

Posted in software development | Tagged , , , , | 9 Comments

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 efficient immutable data structures which are pretty much a … Continue reading

Posted in software development | Tagged , , | Leave a comment

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 MoveNext1. In this post I’ll define a new interface … Continue reading

Posted in software development | Tagged | Leave a comment

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.

Posted in mathematics, software development | Tagged , | Leave a comment