Vault Basic Debug

HashiCorp Vault is a good off-the-shelf solution for secrets management and data protection.

At its core, its about setting some rules encoded in policies and getting a token that adheres to those rules.

At times, it could turn...

Read More

Phoenix Vue Starter Setup


Install asdf to manage erlang, elixir, nodejs

Commands which would be of help

  • asdf plugin-add erlang
  • asdf plugin-add elixir
  • asdf plugin-add nodejs
  • ...
Read More

Debugging Razorpay ( Ruby ) Api Requests

Razorpay is one of the best payment gateway in India. With Subscriptions and other products, it surely has taken over other alternatives.

Razorpay APIs are available for use but SDK’s are not yet updated fully to interact with them....

Read More

Rails4 Upgrade: XML Params Not Parsed

After Rails 4 Upgrade, one of our 3rd Party Integration Quickteller started failing.

No Transactions found post Rails4 Deploy when Reports Generated Later day

On inspecting further, we observed that Callback is failing at same point with message NoMethodError...

Read More

Rails4 Upgrade: Cross Origin Security in js/xhr Requests

After Rails 4 Upgrade, we started getting ActionController::InvalidCrossOriginRequest Exception almost every minute

ActionController::InvalidCrossOriginRequest at /method ====================================================== > Security warning: an embedded <script> tag on another site requested protected JavaScript. If...
Read More

cannot load such file -- mysql2/mysql2 (LoadError)

While upgrading to Rails 4, lot of gem dependencies change as expected

To keep the dependencies clean, we decided to create a new gemset in rvm to install everything fresh and ensuring no existing dependencies / gems preventing us from...

Read More

Choose Optimstic vs Pessimitic Locking

We got hit by lot of bugs, all because of concurrency.

We had a case where returns are created for cancellations.

It was structured to tell cancelled_qty and a return would be created for that much quantity.

Return Creation will...

Read More

Understanding Enumerable#lazy Proactively

Ruby 2.0.0 introduced Enumerator::Lazy to make infinite lists possible in finite way.

E.g. If we need first n integers

As a first attempt, we will generate integers starting from 1 to a very big number, and pick first n...

Read More

Clean Unused Git Branches

Git is a powerful tool to help developers work confidently and try different approaches without losing any of it.

Here is a Git workflow borrowed from here Git Workflow

Its apparent that keeping things handy can...

Read More

Power up the Stats Pages

What you measure is what you get

Like every successful business app, our’s also shows important metrics relevant to business for daily operations and adjusting to strategies.

As already well-known, its mostly aggregation of data over a column.

Read More

Good Team Habits - Watch Logs

Most of Beginner Rails developers gets overwhelm with tremendous capabilities of Rails in getting the stuff done quickly and ignores the wealth / insights hidden in LOGS generated when dreams are getting turned into reality

Being a more experienced developer,...

Read More

Is MySQL Master Slave Replication Working

Often, the bottleneck and single point of failure to many big systems is Database.

There are slaves configured for Master to share atleast the READ load.

MySQL Master-Slave Replication is so robust at core, there are very less mentions of...

Read More

Http to Http(s) Checklist

To enter the mobile space, we created an Android App.

Everything finished with not much challenges and tested properly for good user experience.

Being contended, we started testing on Adroid 5.x series and Boom!!, the payment redirection in web view...

Read More

Status Store As Strings vs Ints


No Application exists without some status tracking. E-commerce tracks order payment / shipping status. CRM tracks page publishibility status etc…

There has been an internal debate on Status Representation as Strings vs Ints

  • Payment Status
    • Incomplete...
Read More


Pikender spent his last 8 years learning to and hacking code. Started as parasite on SRMs problems/solutions to get better at problem solving through inspiration and enjoys applying them to real world problems. He loves being expressive and Ruby...

Read More