About Shivani Thakur
I am life time learner, passionate about technology, fullstack programmer and prefer clean deliveries. I am fearless, honest and vocal about my thoughts. That helps me personally and professionally to convey my thoughts clearly. I do not like unfinished stuff for long time as that makes me uncomfortable. I Love to try out new technologies :) and completely enjoy UI designing. I like reading books, most of the times I prefer to read motivational and spiritual books. To enjoy nature and God's creation I do landscape/nature Photography. I paint to be with myself and love to travel places. I like mediation as that way I can spend time with myself and listen to myself. I am a loner so I love spending time with myself. I am not extrovert but I love good company. I love cooking new different recipes in my free time. Movies and Music (Meaningful songs :)) are refreshing for me. I love writing too and would love to write book some day!!
All blog articles by Shivani Thakur
Shivani Thakur

Recently we had a good Retrospective. I loved the outcome of this retrospective. First we had an Ice breaker session, Empathy Snap followed by PLEASURE AND GAIN retrospective.

Empathy Snap Is a nice Ice breaking team building exercise. We did empathy snap for the big hitter +big blow and through this exercise team really came to know, how well they can empathise with each other So it was a nice start, everyone opened up and ready for the retrospective.

Joy is not in things; it is in us.


Read complete blog post

If you have recently upgraded your Xcode to 7.1 version, you will start getting cordova/CDVViewController.h file not founderror. You would be surprised that earlier build was working perfectly fine with Xcode 6.4 and Xcode 7.0


Error - cordova/CDVViewController.h file not found

To fix this error follow these steps:

  • In Xcode select the project and go to Build Settings of the project and the Search for Header Search Path It will show you below shown screen. enter image description here

    Double click on the Multiple values row and it will show you a list pop-up now add a...

Read complete blog post

In our ember.js based project after getting latest code and running following commands:

npm install && bower install
npm start

when I was starting app, it was failing randomly with following error.

(FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-21)


throw er; // Unhandled 'error' event
Error: watch EMFILE
 at exports._errnoException (util.js:746:11)

Read complete blog post

As you know Heroku does not run rake db:migrate automatically. Most of the time we all face this issue of not running migrations on Heroku post deployment. Either we forget or for some reason we miss it. However there are some gems/plugins that help us overcome these issues.

Even when we use heroku auto deployment feature, there also we need to run rake db:migrate manually and Heroku will not run it automatically for us. That means it is not fully automatic.

When I setup heroku...

Read complete blog post

While we deploy our changes to heroku, we use deployment scripts or setup yml in CI server. However Heroku has come up with an auto-deployment feature and for that we do not need to use even command line tools.

  • To take advantage of this feature you should use Github/Bitbucket version control system

  • If your Github/Bitbucket repo is setup and you have already pushed your code to Github then you are good to start with heroku

  • I assume that you already have Heroku account and heroku-toolbelt is...

Read complete blog post

This is very useful Ruby command to share your local folder with everyone on the same network.

Thanks to Rohan! As we were working on something and he wanted me to share my local folder quickly.

Rohan shared this Ruby command with me and since then every now and then I am using it in office to share stuff with teams. Command is:

ruby -rwebrick -e 'WEBrick::HTTPServer.new(:Port=PORT_NUMBER,:DocumentRoot=‚ÄĚDIRECTORY_PATH").start'
 ruby -rwebrick -e...

Read complete blog post

You might have seen similar code in javascript. I wanted to understand how it is working. As it does not look like a ternary expression.

return {
 "false": React.DOM.a({
 href: "javascript:void(0)",
 onClick: this.linkClicked
 }, "Click Me Now"),
 "true": React.DOM.span({}, "You have clicked")

While discussing with team we found that, it is nothing, but a SWITCH CASE

click her to see shorthand for js

So when we execute above...

Read complete blog post

I was working on ActiveAdmin views and as we are using html editor for some of our text fields so we wanted to make sure when we are showing that html content in the application. It should be readable and without html tags.

To do that generally it is mentioned to use a block for the field and use .html_safe method. However I did not like this approach, as we have too many fields where I have to call html_safe method and I was not keen to write block for each fields. I know :) I am lazy in...

Read complete blog post

Yesterday I was working on one of our portal (It's in Ruby on Rails and we have used quite alot jquery as well). Was integrating a nice Photo Gallery plugin on one of the page. Applcation is having many pages. Every page has some different behaviour and we have different jquery calls for that as per need.

For a performant application, we always want to avoid any unwanted calls to different methdods/functions. In my case, as I mentioned earlier I wanted to show Photo Gallery on a page and...

Read complete blog post

Shivani Thakur

I thought to create a quick tip post which is kind of lesson learnt, so that every time I learn something can add here and which could help others too.

These examples here are not something I have created to support the points which I have mentioned below. Whereas these are the real code snippets of a project. Where team has written code in this manner and given feedback to improve their code.

So I thought it would be better if I write a Lesson learnt post which could help other to be aware...

Read complete blog post

From last two days we were running into an issue with the Postmark API based email attachments, specially when you have to use the remote file url for the attachment. Also we were not seeing any error logs for non-delivery of attachments.

So Swati and I started with different approaches to solve the problem. I will be explaining here the approach where I directly used the Postmark API key and tried to send an attachment with email using CURL command. Whereas Swati will soon add here post...

Read complete blog post

Few months back we had a nice pagekite.net - fast and reliable localhost tunneling solution post by Swapnil.I am extending it further.

Pagekite and localtunnel both the solutions are really good. However both has some drawback or limitations. e.g.

  • For Pagekite you should have an account on Pagekite site and that login will last only upto 30 days or so. However most of the time you do not need Public sharing of the app all the time

  • For localtunnel the only drawback is change of url every time...

Read complete blog post

Shivani Thakur

Everyone these days working with one or the other Version controls systems and Agile tracking tools. Currently for our most of the project, we are working with github and for tracking we all are using Pivotal, Trello or some other tools.

Now these apps are having some cool apis and api tokens which helps us integrating Version control system and tracking tools. So that when we commit something that same message gets saved in our tracking tool. At the same time those tracking tools change...

Read complete blog post

Windows Azure with Node.js

Windows azure is a windows based cloud services, you can deploy your code and build your apps on the cloud server. Also it has support for all the OS and not just for WIndows. Also you can setup Virtual machine and you can do a Remote desktop to that machine. Which is a nice feature.

As initially when Node.js was launched it was not supporting the windows environment. But later on to use Node.js on the Windows machine and allow user to build and deploy Node.js apps...

Read complete blog post

Shivani Thakur

Good articles to understand difference in SOAP and REST. These will help to understand where you should use SOAP/REST


REST vs SOAP using http

Shivani Thakur

Nice blog to learn about Resque.

Resque with Rails Click here to read

Resque with Sinatra Click here to read