This is the complete archive of posts from my blog in reverse chronological order.
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.
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.
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.
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.
Unfortunately, the Adhearsion restful_clicktocall component has been broken for some time. But fear not, we've fixed it up.
Java's CountDownLatch has many uses in concurrent applications. I've ported the API to Ruby and highlight some potential uses here.
Heroku's new stack allows running all sorts of processes, including XMPP bots based on Blather
If you’re stubbing
Time.now based on some value of
Time.now in an ActiveRecord model spec, then saving before you assert equality, beware.
Time.now 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.
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?
Nothing in business is more valuable than focus. We've learned that the hard way.
Ruby just makes everything more concise, readable and understandable
Many things hold us back, but none more so than old Microsoft products long past their retirement date