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.

Install git-extras for windows cygwin

I recently discovered git-extras when searching to see if the brew package manager (for Mac) had a package for git > brew search git

Posted in software development | Tagged | Leave a comment

Loop Invariant Proofs

Sometime last year I ran across a blog talking about loop invariant proofs. At the time it seemed like a new concept to me. My undergraduate degree was not in computer science, and my graduate degree in computer science was … Continue reading

Posted in computer science | Tagged , , | Leave a comment

Brainmess: Extract Tape Class (Cleanup)

This is just a quick update. My last refactoring on Brainmess was to extract out the tape class. While reviewing that code today, I noticed some artifacts left over from the refactoring process. These were cleaned up in commit 836a96

Posted in Uncategorized | Leave a comment

Brainmess Description

It occurred to me that since the links I’ve provided so far include a NSFW word, I should take the time to describe the Brainmess language on my blog so readers need not click on those links. This description is … Continue reading

Posted in software development | Tagged | Leave a comment

Haack on ASP.NET MVC Open Source News

http://haacked.com/archive/2012/03/29/asp-net-mvc-now-accepting-pull-requests.aspx My favorite bit (as I can relate to this at my current employer and their regard for open source): One of my favorite bits of wisdom Scott Guthrie taught me is that the lawyers’ job is to protect the … Continue reading

Posted in Uncategorized | Leave a comment

A Basic Compiler – A Great Refactoring Opportunity

Years ago (2006) I wrote a compiler for TI BASIC, the dialect of BASIC that I learned on my TI 99/4A (many many years earlier). This is an “ancient” computer language and one of the first that I learned. (I … Continue reading

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

My First Greasemonkey Script

Link Github Commit to Pivotal Tracker Story I’m using Github and Pivotal Tracker. You can easily configure Github to notify Pivotal Tracker of commits. Once you have done that, then whenever you want to commit something that is related to … Continue reading

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

Brainmess: Extract Tape Class

Last time I worked on extracting out the methods related to fetching instructions and jump instructions into a Program class. I’m going to use a similar pattern today to extract out methods related to the tape. Currently the tape is … Continue reading

Posted in software development | Tagged , | 1 Comment

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

Posted in software development | Tagged , | Leave a comment

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 during the process. The last time that … Continue reading

Posted in software development | Tagged , , | 7 Comments