This is the complete archive of posts from my blog in reverse chronological order.

22 May 2013

Adhearsion Survey Results View Comments

We surveyed Adhearsion users to find out how it is being used in the wild, and what factors are important to the people and projects using it. Here are the results.

15 Mar 2013

Adhearsion Voice Platforms - A Comparison View Comments

When I’m at conferences or working with Mojo Lingo clients, I’m often asked about voice application projects that use the Adhearsion framework. Hopefully by providing an overview of the main decision points, you’ll be able to arrive at the most sensible choice of platform for your Adhearsion project.

19 Jul 2012

Refactoring for SRP - an example View Comments

There is much material available online that covers the theory of the Single Responsibility Principle (SRP), but few real world examples. Here's one taken from a medium size open-source codebase just this week.

09 Jan 2012

Adhearsion 2 - Call Controllers & Routing View Comments

Adhearsion 2 presents a new way to write applications - Call Controllers & the call router. Here we'll explain why these changes have been made and how to make use of the new features.

26 Aug 2011

Adhearsion's RESTful Click2Call returns View Comments

Unfortunately, the Adhearsion restful_clicktocall component has been broken for some time. But fear not, we've fixed it up.

10 Jul 2011

A Countdown Latch in Ruby View Comments

Java's CountDownLatch has many uses in concurrent applications. I've ported the API to Ruby and highlight some potential uses here.

02 Jun 2011

Stateful fun on Heroku View Comments

Heroku's new stack allows running all sorts of processes, including XMPP bots based on Blather

22 Apr 2011 in AR model specs is evil View Comments

If you’re stubbing based on some value of in an ActiveRecord model spec, then saving before you assert equality, beware. is accurate to milliseconds, but the database is not. Always use Time.parse with a string to ensure you’re only accurate to the second in your stubbed value for comparison.

10 Mar 2011

Why I don’t like Skype (And why you shouldn’t either) View Comments

Communicating with others is far too important to be left in the hands of one company with a sub-optimal product. But why is there no good competition?

29 Aug 2010

Doing too much will kill you View Comments

Nothing in business is more valuable than focus. We've learned that the hard way.

18 Aug 2010

Simply The Best...Why Ruby wins the happy programmer test every time View Comments

Ruby just makes everything more concise, readable and understandable

02 Jun 2010

Old Operating Systems View Comments

Many things hold us back, but none more so than old Microsoft products long past their retirement date

04 Aug 2009

My 'This Week in Startups' Question View Comments

I had a question to ask Jason Calacanis about statups and market positioning in time