Sign in

Senior Engineer @ BNY Mellon | Google Cloud Certified Cloud Engineer

Cloud Scheduler is a beautiful new addition to GCP and let me demonstrate how it can be useful.

Objective — I want my girlfriend to receive an automated voice call everyday at 15:00 hrs to remind her to have a good day — Inspired by this awesome video by fireship.

Here is a quick architecture diagram.We will do this in 4 simple steps as follows-


It’s my fault and I’m very sorry. Unfortunately it’s impossible to undo now. — Ryan Dahl (Creator of Node.js)

So there is lot of hype around Deno. If you don’t already know, this is a great place to start.

Mistakes were made

Deno 1.0 was released on 13th May 2020. It was created by Ryan Dahl who is also the creator of Node.js. Apparently when Ryan looked back at design decisions he made and some other aspects of Node.js, he felt like he could have done a much better job (something all developers do). By this time Node.js was extremely popular and so…


This story is in continuation of my 3 parts redis series. First — Creating a redis cluster. Second — Horizontally scaling in/out a redis cluster and lastly this story which will explain how can we connect to a redis cluster from within our java or python applications.

Using Java

Let us first see how can we connect to a redis cluster using Java. For this purpose i created a spring boot project. We will be using jedis client to connect to redis cluster. Know more about Jedis here. The dependencies tag of my pom.xml looks something like as follows-


This story is in continuation of my previous story “Creating a Redis Cluster”. If you are still not comfortable creating a redis cluster, i suggest you go and read about it here before diving into this story.

Understanding scaling

Scalability refers to the idea of a system in which every application or piece of infrastructure can be expanded to handle increased load. There are two ways to scale a system as follows-

Vertical scaling

Addition of resources to an existing system to achieve desired level of performance is called vertical scaling. For example adding more RAM or compute power to a system. This method…


Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. — Redis Website

In this story i will share how to setup a redis cluster.

Redis is a valuable multifaceted tool that helps a developer in many ways. You can use it as a cache or session management store for your application as it is blazing fast. Click here to read benchmarks. You can also read this


Apache solr is a powerful open source search engine. Lucene and TF-IDF (Term Frequency-Inverse Document Frequency) are the algorithms that it is based on. It has proved to be extremely useful in solving some of the most complex problems that my team at AmEx has faced. Apache solr is most effective when used in cloud mode also called as SolrCloud — It is a distributed architecture focused on horizontal scaling where multiple nodes run instance of solr that communicate with each other through zookeeper. Now Apache Solr comes with built in zookeeper. However it is not advisable to use it…


A big complex angular app generally consist of several modules and components which are all bootstrapped to make one functional application. In my previous post i wrote about angular routes and navigation. But what if we don’t want to load all routes at once. When an angular app boots up it loads all of its routes. This might lead to delay in the overall app load up time, additionally it might be logical to separate out independent entities of an application. For eg. The app itself and its dashboard for admin users will be two separate components/routes and it does…


Angular Router is one of the many quiet useful modules of Angular framework. We will have a look on how to create angular 6 routes and navigate through them.

First of all create a new project with or without a --routing flag.

ng new myproject --routing will create an angular project named myproject with a routes files where you can define your own Routes variable. where as ng new myproject will create an angular project named myproject without a routes file. In this case you create your routes variable in the app.module.ts file itself. I prefer the latter one. Following…

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