Bigdata buzz

Read On →

Rename cassandra keyspace

Cassandra don't allow renaming keyspaces. This utility script will help to rename keyspaces

Read On →


I love Onam. It is an amazing festival which all Keralites celeberates without caste and religion. Onam happens when the weather is at it’s best. Right after monsoon rains, whole Kerala turns colorful to welcome Onam. This time is a celeberation for photography lovers. I made the below image on the Onam day. The mix includes, Canon 7D MKII, 100-400L and flash in high speed sync. This image was made Read On →

We got Leh’d!

Feel like getting out of here? I am game- let me grab the bike keys and a map of Himalayas. Why Himalayas? Well, because Himalayas has always fascinated me. I have read countless books on Himalayan travel and nerve cracking experiences people had. This July (26th Jun 2017 to 5th July 2017), Anju and I took the courage and went for a Himalayan trip on a motorcycle. The trip was adventurous and fun filled. Read On →

Accessing nested keys from a map in Elixir

Erlang VM is a powerful pattern matching system. Pattern matching comes very handy when you want to access nested fields in a map.

Recently at work, I had to parse a large JSON and extract value of a key. This post shows how you can use pattern matching to extract deeply nested values from a JSON.

Read On →

oh my jackson!

Jackson just made my day! Today, I had to make some changes to one of our API. The change was minor so I have added additional fields into my JSON response. I have also kept the old fields just to make the existing clients happy. During testing, I figured out that the change breaks existing clients. I was surprised! The error was, Unrecognized field “image” (Class Promotion), not marked as ignorable Alright; I thought. Read On →

Upgrading blog to hugo

I always wanted to try out Hugo but never got a chance to do it. I spent some time today and migrated my Octopress blog to Hugo. So far, I am liking it. I didn’t find a theme which matches my expectations, but the default one and few others are good enough to get started.

Bringing business ideas to live in 3 months

Early July, we started working with 2 ex-yahoo friends who had a nice product idea that they wanted to make it live. They had some screen designs on paper and clear cut vision on what the product should look like. We started with the development, post a week of ideation and technical spikes, and guess what, we had MVP ready for a limited user release in less than 9 weeks and a full production version by the end of October. Read On →

Function strdup implicitly converted to pointer

I was trying to make a debian package for libvarnam. Lot of work went into making the package ready. Debian has very strict rules about how the packaging should be done. Debian also marks few errors as fatal and which may require a code change to fix it. One of the errors I faced was the following: Our automated build log filter detected the problem(s) above that will likely cause your package to segfault on architectures where the size of a pointer is greater than the size of an integer, such as ia64 and amd64. Read On →

document.ready() handler not getting fired Rails4

Rails4 uses a gem called turbolinks which makes following links on the web application faster. This gem is added to the Gemfile by default when a new rails project is initialized. However, there are few side effects this can cause. Consider the following JS, added into app/assets/javascripts/projects.js: $(function () { $('#startDate').datetimepicker({ pickTime: false }); }); This looks alright, but won’t work as expected. When rails navigates to the page following a link, turbolink comes into picture and makes it faster by caching the JS contents. Read On →