Stack Overflow

Let's play a word association game. When I say "stack overflow" what comes to mind? Is it Spolsky and Atwood's popular question and answer site?...more.

Hide Your Queries

One of the quickest ways to turn a well-factored Rails project into an old-fashioned legacy app is to use ActiveRecord where and find_by_sql calls outside...more.

Higher-Ranked Types

The Hindley-Milner type system is very powerful: it allows you to express functions with complex type signatures in an elegant, readable way. For example, consider...more.

Adapting To Change

“The only constant is Change.”
— Heraclitus

While it was doubtful that Heraclitus was addressing developers, the sentiment certainly still applies....more.

Out of Controller

In the beginning of using rails it was amazing at how fast everything was compared to my previous java web experiences. I could finally...more.

The future of Lisp

I’ve been thinking about existing Lisps a lot lately and where we’re headed. In particular, I’ve been considering the possibility of writing another Lisp...more.

Announcing chiPhone

It’s with great pleasure that I announce the creation of chiPhone, the Chicago iPhone developer’s group, with our first meeting on July 23rd at...more.


You remember the classic Simon game, right? The one where the electronic devise will blink a color and make a sound that you have...more.

Erlang and the OCP

OCP was defined in 1988 in Bertrand Meyer’s book “Object Oriented Software Construction” as follows: “Modules should be both open (for extension and adaptation)...more.

Rinda 101

When building a software system composed of multiple decoupled components, the need typically arises for interprocess coordination and communication.

As an example,...more.


Often times while writing meta programming code, I am using the eval function and doing manipulation on method/class/variable names.

Today I needed...more.

Pair Me Up

I am a better pair than solo developer. For me, software is a collaborative art from the start of a project to the end....more.

Ruby DSL Blocks

There’s a common pattern I’ve seen for developing DSL in Ruby. It’s used in RSpec, the Statemachine Gem, and Unclebob’s Clean...more.

Day Two At RailsConf

Hello again from RailsConf. I’ve gone through five presentations. I don’t have any enormous revelations, and no good pictures yet, but I do have...more.

Ruby and Human Compilers

In Paul Graham’s Book, Hackers and Painters, he talks about patterns and Human Compilers. I started to think about how some traditional Object-Oriented patterns...more.


Pre–factoring is when you see a piece of code which the story you are working on which has a re–factorings which would make your...more.