Photo by ShareGrid on Unsplash

Currently, I am working for a company where they create a Github account using the company’s email id and all the repository access would be given to that Github account.

But I have a personal Github account as well and I am quite active in that too.


Now the problem is, How to manage the SSH keys for both the GitHub accounts. Git by default takes the ~/.ssh/id_rsa(.pub) keys and we can’t add the same ssh key in both the GitHub account.


We can manage multiple Github accounts using the ssh config file.

Generate a new ssh key pair using…

Photo by Moritz Mentges on Unsplash

If you haven’t heard about Dokku, then this would be a quick intro to it.

Dokku is yet another platform as a service and its based on core principles of Heroku. It uses Docker and containers to achieve the herokuish experience. It is much easier to get started (like Heroku) and its Opensource.

In this guide, we will deploy a Ruby on Rails application to Dokku and perform some common activities such as checking the logs, using Rails console for the application, connecting to Postgres, and scale the service.

Photo by Hoan Vo on Unsplash

As the title mentions, I will show you how to create a website and serve the static contents using AWS S3 in a much simpler way. For this, the prerequisites are,

  1. You should know how to use Terraform
  2. you should have AWS IAM User with proper permission and export as env variables/use AWS credentials file

Photo by Isaac Smith on Unsplash

For the past few weeks, we were facing issue with the digital ocean machine hitting more than 90 % CPU limit for 5 mins continuously (We have set up monit to trigger a notification to our Telegram channel for it) and it is really annoying to see these many messages in telegram,

One of my favorite features of Golang is its inbuilt concurrency support and the simplicity in using it. Let’s see how simple it is, using the Yet Another Producer-Consumer Solution (YAPCS)

Full source is available in Github repo and you can use the go playground url given along with the source image.

Go Routines

To start with, take a look at the bare bone skeleton code

Photo by Kaitlyn Baker on Unsplash

Vim is a very powerful and addictive editor. If you want to know about vim check here.

In this article, I will show the workflow of how we can edit the configurations for vim and apply it in a much easier way.

To illustrate the pain point, I will change the configuration for displaying the relative number (which is much useful in jumping between lines) in gutter. All the vim configurations are saved in the file $HOME/.vimrc

Photo by Miha Arh on Unsplash

It has been well established fact that we should not store the sensitive information such as AWS Access keys, Credentials and SSH Private keys in the repository even if it is a private repository.

There are tools (like git-secrets, talisman) which can scan your repo and report for any sensitive information even before you push your code.

Said that there are lot of convenience for smaller projects to store the credentials along with the source code. Many things would become much simpler like Project Setup, Avoiding additional services like Hashicorp Vault, Ansible Vault, AWS Parameter store etc to manage secrets.

Photo by Sharon Pittaway on Unsplash

Postgres provides us a way to write queries which are recursive in nature and fetches the data till the termination condition is met. This can be achieved using Common Table Expressions (CTE).

Using WITH clause, we can create Temporary table scope of which is bound to that query itself. If we can combine this with RECURSIVE clause, we can write some pretty cool stuff like Finding the top most parent, Travelling salesman problem or as simple as Printing the numbers recursively as shown below,

Photo by Tyler Milligan on Unsplash

Before jumping headfirst into FactoryBot, we will see the need for such a library. If you want to test your application thoroughly, its mandatory to setup the system at right state and run the unit tests against that state. At times, setting up the test data is not that trivial for many reasons,

  1. Dependencies. There is always a tree of objects which needs to be created and that tree of dependent objects should be constructed with specific set of values.
  2. DRY. It is very annoying to create same set of objects with same properties again and again. …

Photo by Anas Alshanti on Unsplash

History of Vim

  • Long time long long ago, at 1971 a guy named Bill Joy created something called ed which is the short form of editor. It is a line based editor and without having monitor support, we can send the required lines to printer and check it there. Nice huh !!
  • After few years, Bill Joy with few other friends improved the ed and named it as ex extended editor with support for append modes, edit modes. So, Modes support is introduced.
  • Around 1976, the same guy Bill Joy created a new mode called visual mode which enables the people to view…

Freelancer @ Toptal

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store