This is a post explaining how we realized our scalability bottle necks and considered the alternatives for our distributed file system.

We strongly follow the distributed architecture and try to scale out each of our components as much as possible. At the same time, care is taken that things are not scaled up prematurely but they are done as we go in an incremental fashion. One such components of us was the distributed file system.

Problem -

We want...
Continue reading

This is a quick write up about the options we looked at to implement master-salve DB setup (replication and failover) for active record 4 (rails 4).

  • Our need was that all reads should go to slave and writes to master.

  • Some critical reads should still go to master.

  • There should be a flexibilty to decide which query should hit master and which one to hit slave.

Options -

Continue reading

Why ?

Well, Capistrano 3 has dropped the support for SVN as source control mechanism. Unable to to implement this in a generic way was the reason quoted. Discussion can be followed on the github issue here - https://github.com/capistrano/capistrano/issues/752

Looks like there are no plans to commit this fix to the branch any time soon and SVN is no more a priority for capistrano. So, i have put to...
Continue reading

Since it’s launch, wepay has been a great payment gateway which provides best user experience along with developer friendly integration. I use this for a number of web and mobile apps and feel that this is one of the best way to handle one time purchases, recurring payments and etc. without having to store any details of the customer’s credit card.

I am going to share a few ideas on how to integrate wepay with your rails/sinatra app.

Getting Started ...
Continue reading

Why ?

  • Ring js helps to create class system which supports multiple inheritance in a classical object oriented way.
  • As such , javascript supports prototypal inheritance which is not that flexible in supporting multiple inheritance or mixin way of reusing classes which is addressed by this.
  • Ring js is inspired by python’s classical multiple inheritance system.

Info -