Category Software Engineering

Performance Engineering: Series-II

How to improve Throughput of a Service? Just to recap, Throuhput is measured as the number of requests an app can handle in a second without compromising on the latency...

Performance Engineering: Series-I

What is Performance for Software? Software is often delivered in different ways to different set of users. Some get it via the web, others access it through the cloud, and...

Start Grafana on Docker

Grafana is a popular opensource tool for visualizing metrics from various data sources. We have the popular alpine docker build available from dockerhub itself. Like any other tool that requires...

Investigating CPU usage in a Java Process

1. Determine the process ID (PID) of the affected server process using the following command: $ jps –v 2. Determine which thread in the process identified in step 1 is...

Start postgres on Ubuntu (using Docker)

Docker enables engineers to start the service with ease. In a tradition installation, developers had to go though the specific documentation and follow the step by step guide for installation....

Installing Docker on Ubuntu 18

Having a docker runtime saves a lot of time for developers while they setup their personal pc. Once the docker runtime is available, services for database, cache, messaging can be...

Hosting Website from your own PC

I was working on hosting a public website that contained a bunch of kitchen sink apps from my personal pc. This setup helps me in accessing a working instance of...

Is the Caching model good enough?

Recently, I was working on a computation problem that was based on dynamic programming. And of course, to store the sub-problem results, a cache was built to serve the purpose....

Signing an Android Apk

Why Sign the Apk? Android requires all Apk files to be signed with certificate of the owning body (developer or company) before it can be installed. Signing ensures that apk...

Build Android Apk for Construct 2 Games: Cordova

What this blog covers? Once the game has been created using Construct 2, this blog outlines the steps involved in exporting the game and building the android apk using cordova...

Try Google Flutter

Why Flutter? It claims to provide support for building native apps on Andriod and iOS (and possibly other platforms) from a single codebase. As a Mobile App Developer myself, I...

Design Pattern Series - Builder Pattern

The Problem Let's assume we are building an Alert Management System to capture & direct all the alerts within an organization. How do we model the Alert domain object? Typically...

Category General

Types of Software Bugs

Recently came across an Heisenbug and realized there were other jargons for software bugs in use by developers: Einsteinbug - a bug that only manifests itself at great speeds and...