Important Features of CSS Flexbox

CSS Flexbox                       CSS Flexbox

CSS Flexbox makes it easier to create flexible and responsive website layouts. It solves the common problem faced by UI/UX developers who attempt to arrange UI elements like buttons and text snippets side-by-side without having to use a grid CSS class. Continue reading “Important Features of CSS Flexbox”

Using RxJS Subjects


RxJS Subjects are one of the favorite types of Observables used by expert developers when dealing with a multi-subscriber or multi-observer implementation.

Subjects in simple terms, function both as an Observable and as an Observer. This gives them the ability to proxy values received from other Observables to its own list of Observers, which it maintains in an array called observers. Continue reading “Using RxJS Subjects”

Introducing Google Cloud Functions: deploying serverless microservices

Google Cloud Functions

Google Cloud Functions are the new guys in town and they come fully packed with great features such as:

  • Serverless Architecture
  • Triggered Based Behaviour
  • Optimized runtimes for Node.js 6, Node.js 8, and Python3
  • Automatic Scaling
  • Pay Only for Function Executions

Continue reading “Introducing Google Cloud Functions: deploying serverless microservices”

Git: Pushing Commits to Multiple Remote Repositories

Image: Git push to multiple repositories

It’s possible in practise to have multiple remote repositories for a single git project. This is a useful technique that every savvy programmer should use when dealing with highly distributed applications.

Let’s say you wish to push to the following two repositories simultaneously: Continue reading “Git: Pushing Commits to Multiple Remote Repositories”

Reading Files from Google Cloud Storage using Python


It is very common to develop Python applications on Google Cloud Platform that read various files as blobs, which are then used for some further processing. To be able to achieve this ensure you have created a service account and you have downloaded the private key credential file as a JSON.  This is used to authenticate all requests sent to GCP resources such as Cloud Storage by the Python application. Continue reading “Reading Files from Google Cloud Storage using Python”

NodePort vs LoadBalancer vs Ingress on Google Kubernetes Engine

It can be quite daunting deciding the type of service that manages external traffic for your Workloads containing the pods running in a cluster on Google Kubernetes Engine (GKE). The best way to come to an optimal decision would first involve having a clear understanding of the different types of services and how they operate in comparison to each other.

There are three methods for dealing with external traffic namely:

  1. Proxy
  2. NodePort
  3. Ingress

By default the Kubernetes engine provisions a ClusterIP service inside your cluster to enable pods to communicate with each other internally, with external access. Continue reading “NodePort vs LoadBalancer vs Ingress on Google Kubernetes Engine”

AngularJS Best Practises


AngularJS, thanks to Google, is a game changer! It has enabled developers to create applications that are more efficient in handling data bindings, seperating business logic from the presentation layer, as well as providing a more structured or modular approach for building Javascript web apps.

AngularJS is what HTML would have been, had it been designed for building web-apps. Declarative templates with data-binding, MVW, MVVM, MVC, extensibility, use of controllers, directives, and other reusable components has made it the must-have tool for every web developer out there.

As beautiful as it sounds, one must be aware that, such a great tool can be abused by developers who blindly write code without peering into the future to determine the potential implications of their code changes or patterns used. That is why I chose to briefly discuss about some of the best practises that lead to the development of efficient AngularJS apps. Continue reading “AngularJS Best Practises”

ReactJS: Functional Stateless Components


Smart programmers are naturally lazy! Why, cause they write code in such a way that, the next time they need a certain chunk of code, they can refer to it, with just a single line of code. Reusability, Reusability, Reusability! ReactJS provides such capability through the use of components.

Prior to React 0.14, components were defined as ES6 classes, as seen below:

class Price extends React.Component {
        return <span>$, {props.price}</span>

Continue reading “ReactJS: Functional Stateless Components”

Using Google Cloud Kubernetes Engine for faster CI/CD operations


The race for faster CI/CD operations has been the central focus for most software companies that provide devops solutions. Google Cloud Platform currently sits at the top of the list when it comes to seamless continuous integration and delivery.

I am going to talk about how we can deploy a simple Pub/Sub Python application in Google Cloud Kubernetes Engine. Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. Now Google has built a solution thats sits on top Kubernetes and it has revolutionized the use of containers for enterprise applications that require a clustered distributed architecture, to ensure that services are highly scalable and robust during future upgrades and rollouts and even during application failures using various self-healing mechanisms. Continue reading “Using Google Cloud Kubernetes Engine for faster CI/CD operations”