Blog

Blog Post Image
Indexing ElasticSearch documents in Rails

The simplest way to index documents in production/staging environments using Ruby on Rails framework is using the following command.

Read More
Blog Post Image
Ruby gsub for capture and reinsert sub-matches on the string

In ruby, sub and gsub are very useful and powerful string operators.

Read More
Blog Post Image
Google Cloud Storage and CORS

With the advent of Rails 5.2, As passionate Rails developers, we want to be on top of it.

Read More
Blog Post Image
Quick way to add swap memory in Ubuntu/Linux

It is not uncommon to see a Jenkins build failure due to a memory choke now and then while running thousands and thousands of rspec examples. The examples may be too much for the memory allocated within the EC2 instance. One simple solution is to enable Swap memory. Going through the typical EC2 route you need to have a dedicated Swap Partition. However if you feel you don’t want to go through that route, you can simply do it via a swap file.

Read More
Blog Post Image
Elasticsearch scaling and same node id problem

Currently we index huge amount of data using elasticsearch every 3 months. As a devops, I always have to setup Elasticsearch EC2 instance manually. Each time, when we need to scale the elasticsearch nodes for indexing, I have to launch the ec2 instance and manually install java, ElasticSearch etc. and of course this is time consuming task taking 20 mins per node. To avoid this manual intervention, we want to run the entire process of scaling the elasticsearch nodes automatically.

Read More
Blog Post Image
Vue Async Components with vue-router for faster page loading

Vue Js is a progressive Javascript framework which have gained huge popularity in recent times for the right reasons, at least thats what I think. I would like to share in this article how to effectively use vue-router for having lightning fast page loads.

Read More
Blog Post Image
Why choose VueJs?

As part of building a scalable single page web application, we explored couple of different frontend frameworks by keeping few expectations in mind like lightweight, performance, robust, faster development, quick learning curve etc. At a high level, we chose the following frameworks: EmberJS, Angular, ReactJS and VueJS based on the popularity. In which, Angular and Ember JS are having relatively a larger community support and highly used in web applications. We ruled out Angular due to its breaking changes release after releases. Eventually we chose to compare ReactJS and VueJS due to their less learning curve and their virtual dom support.

Read More
Blog Post Image
Global Interpreter Lock (GIL) and concurrent execution in Python

When there is a need to run huge number of tasks on a day to day basis, as a python programmer I would choose Celery to run my tasks in commodity servers. Celery could use Redis or RabbitMQ. We can primarily scale the number of tasks that Celery can process by clustering Redis or RabbitMQ.

Read More
Blog Post Image
10 tips for building “Purely” horizontal scalable Architectures

To scale horizontally (or scale out/in) means to add more nodes to (or remove nodes from) a system, such as adding a new node or a computer to a distributed software application.

Read More
Blog Post Image
Getting started with Flutter

Flutter is an open source beta framework by Google for mobile UI to build high-quality native (super fast) interfaces for both iOS and Android. Dart is used as a programming language inside Flutter. A bit of caution needs to be exercised as it is still in Beta and we don’t know what can change later on given the history of Google.

Read More
Blog Post Image
Notes: Read CSV with encoding ISO-8859–1 in Ruby

I was struggling to read a CSV file and load it in PostgreSQL using ruby.Simply, the following code block should work.

Read More
Blog Post Image
Add Free Security Certificate (Https) for your Nginx applications on Ubuntu

In a typical HTTP connection, all the header and other sensitive information are transferred as a ‘plain text’ and that can be read by anyone. One simple example I could cite is an online fund transactions which uses sensitive information like credit card. Which you definitely do not want to do over a non-secure HTTP line.

Read More