Building a Turing Machine Simulator With Ruby (Part 1)

To better understand Turing’s machine and its contributions to mathematics and computer science, we will build a simulator in Ruby. This simulator will take a description of the machine’s configuration, create a model of the machine, and run through its steps. We will be able to observe the action of the head and changes to the tape at each step. Hopefully this will serve to illuminate some aspects of Turing’s machine that might otherwise be less accessible.


A couple months ago, I resigned my position at Hashrocket. This was not an easy decision for me. Working with the rocketeers has been a very fulfilling and edifying experience. The people at Hashrocket are passionate about what they do and extremely competent. I was given challenging and rewarding responsibilities. Hashrocket was a great job and I would recommend it to anyone. Why, then, did I chose to leave?

Simplify Your Dev Environment With Passenger Pane

On OS X? Develop web applications with Ruby? Want drag-and-drop and point-and-click development server management? Then you need Passenger Pane. We’ll walk you through the installation process and show you how to get a simple Rack application up and running. Thanks to Jason Noble for his help getting everything working.

A Git Workflow for Agile Teams

An efficient workflow for developers in Agile teams that handles features and bugs while keeping a clean and sane history.

At Hashrocket we use git both internally and in our Agile mentoring and training. Git gives us the flexibility to design a version control workflow that meets the needs of either a fully Agile team or a team that is transitioning towards an Agile process.

Story Driven Development With Rails

As a follow up on writing incremental stories, we’re going to take the first story and walk through a behavior driven development process to implement it in a simple Rails application.

We will focus on making small, iterative changes and following a strict test-first philosophy where we write granular unit tests and implement them with just enough code to make them pass.

Hack && Ship

When the OG Consulting guys were down at Hashrocket working on our latest 3-2-1, they introduced us to a pair of bash scripts called hack and ship that they use to streamline their everyday git workflow. They’re so useful that we adopted them immediately and we’ve been using them religiously ever since. I estimate that these little scripts save me about an hour a day and, what’s more, they make it easy to follow the commit early, commit often mindset that’s so useful to the agile process.

Rocking the Hoedown

We had a great time at the Ruby Hoedown this weekend. The Hashrocket crew was out in force (and there was much debauchery in the Hashrocket RV). We got to meet or get better acquainted with a lot of great rubyists and hear a lot of entertaining, informative talks.

Ruby Patterns: Query Method

Today, we will learn how the Query Method pattern handles a set of tensions we often face while designed object oriented systems.

A Thinking Man’s Sphinx

Today, we’ll explore the differences between UltraSphinx and ThinkingSphinx and why we chose to switch to ThinkingSphinx.