Image for post
Image for post

Let me tell you the story of how I learned this the hard way.

First of let’s understand what are AWS profiles:

AWS profiles are a combination of user credentials with their configurations. These are used to manage multiple users on the same machine. When you give them a name they are called as named profiles.

This helps us choose between various profiles for various operations you perform inside your AWS account.

$ aws ec2 describe-instances --profile [name-of-your-profile]

An example profile looks like this which are typically stored at ~/.aws:

Credentials are stored in credentials plain text file:

[omkar-test] aws_access_key_id…

Image for post
Image for post

Working on the command line efficiently means to jump between directories as fast as possible.

Along with using plugins such as autojump, pushd and popd etc, I also use some custom aliases that I have created over time which help me be more efficient.

One such alias that I use is

cd.. nwhere n represents the number of directory levels you want to move up

The script is very crisp and elegant

function cd_up() {
cd $(printf "%0.s../" $(seq 1 $1 ));
alias 'cd..'='cd_up'

script credits : grigory-k

Add this function to ~/.bashrc to be able to use the alias anywhere.


Let us assume my current working directory is ~/interleap/Desktop/work/projects/userclient

~/interleap/Desktop/work/projects/userclient$ cd.. 2
~/interleap/Desktop/work$ cd.. 3

Script breakdown

Image for post
Image for post

In this article, we will be exploring the journey of how a piece of code translates to cloud infrastructure using Terraform.

To get an overview of Terraform you can read this article. Let’s get started.

Here is a basic terraform code snippet

provider “aws” {
version = “~> 3.0”
region = “us-east-1”
resource “aws_instance” “backend” {
ami = “ami-0947d2ba12ee1ff75”
instance_type = “t2.micro”
tags = {
Name = “terraform-server”

Would you believe it if I tell you that these few lines of code create an elastic compute instance/server on AWS?

Yes, that is it! This snippet can do…

Image for post
Image for post

Are you a backend developer? DevOps practitioner? UI developer?

Irrespective of who you are, you might have come across scenarios where you might have realised having knowledge about cloud providers is one essential tool to be carrying around in your quiver.

It proves to be very useful when you are working on a side project or even when you just want to host your own domain for whatever reason.

With the rise of the cloud, no one really remains untouched with it. …

Image for post
Image for post

Extreme programming has a huge influence on how software industries work today. TDD, pair programming, Code reviews have become the de facto standards as a part of XP.

Even after 30 years of its inception, extreme programming is still relevant and Martin Fowler calls extreme programming as a basis for agile practices.

Let us explore how and why…

In early programming days, software projects ran only on the best of the abilities of the people who wrote it. One small mistake and the code wreaks havoc.

Even without any mistakes, once the codebase gets large enough, it is difficult to…

Image for post
Image for post

Working on Linux you might want to keep your camera disabled when not in use. Especially to avoid those embarrassing moments when your camera accidentally starts in a meeting. But unlike windows, there isn’t a key or setting to disable the camera on Linux.

The camera module is loaded by default on system startup.

Disabling and enabling temporarily

The camera can be disabled temporarily by using the command

sudo modprobe -r uvcvideo

It can also be re-enabled by using the command

sudo modprobe uvcvideo

Disabling and enabling permanently:

You can add the webcam module to blacklist configuration file, so your machine never starts the webcam kernel module on…

Creating awesome utilities

  1. Keep everything immutable: Never mutate any params provided to the utilities.
  2. Should not contain any business logic: Utilities should be very generic in what actions they perform and should not contain any business logic.
  3. Give self-descriptive names: Names should describe everything that the utility does.
  4. Zero side effects: If the implementation does anything other than what the name describes it is considered as side effects. Utilies should have no side effects.
  5. Crisp and Concise: They should be small (3–4 lines). Don’t bloat them with unnecessary code.
  6. Single responsibility: Every utility should have only one job that it…

Image for post
Image for post

Ever found yourself using stickies to manage your work or remind you things?

Chances are you already know Kanban without even realising it. This is because a Kanban board is something that we tend to do naturally i.e. stickies on a board with a few columns to track progress.

Let’s start with a more formal definition of Kanban board then we will see how it is somewhat derived from our natural way of organising and managing things.

Image for post
Image for post

Ever wondered how to schedule things when you are working in a serverless environment?

These things might include:

  1. Generating a report every day
  2. Sending an email
  3. Or some scheduled actions

How can you schedule things when you are running a serverless app, like a lambda on AWS (executed on demand).

Let’s quickly see how we would have done it in an environment where we a dedicated server:

In such a situation we would have a dedicated machine that runs our server.

Our options:

  1. Run the scheduler in the backend itself. You can use various task scheduler libraries. …

Image for post
Image for post

Agile is something that you must have heard for the first time when you stepped into the software development industry.

You might have experienced it in the form of SCRUM, stand-ups, Kanban or some other way.

The fact is agile has revolutionalised the software development industry and the way we build software.

Before understanding how agile changed it for good, let us start by understanding what agile is.

What is agile?

Terms such as Kanban, SCRUM, eXtreme programming are very commonly used to describe Agile. …

Omkar Birade

Co-Founder at Interleap. I write to learn more.

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