Zero Trust

In this post, we’re gonna talk about Zero Trust Networks and Architectures. Zero Trust, like DevOps, isn’t a set of tools that you buy and suddenly you have Zero Trust, but rather it’s also about culture, policies, and more broadly, organization of resources. The whole premise of Zero Trust is to move away from the […]


We’re all mostly familiar with DevOps, which a culture or methodology a company takes that enables quick deployment time. The main principles of DevOps in this case heavily relies on automation of several tasks, from build the program, running test cases, creating of environments, and deploying it to staging or production. The first two tasks […]

GoLang VS Python

We know that Python is fast when it comes to general scripting use cases, and I’ve always been an ardent user of Python, from version 2 to 3 and its painful migration. Only recently, have I decided to pick up another language, GoLang, and was surprised to see that it was way faster. Although GoLang […]


Webpack is a program used in web development to optimize how websites are being built. It’s another topic for me to rant about just how bloated web development has become, and hence the development of Webpack. Modules and Bundles Modules are groups of code, such as CSS, Javascript or images that can be packaged together. […]

What happens when you run Python?

This post is not about how to code in Python, differences between Python 2 or 3, or its stylistic guidelines (PEP8). Rather, it’s about what happens in the background when you execute Python code. When you write you code in Python, it ends with a suffix .py, and after you execute it with some command, for […]


This time, we’re going to be moving away from technical topics, and have glimpse at some of the project management stuff that surround technical projects. It’s actually very important to have an understanding of these management styles, because how the project is management determines what kind of tools you’ll use, the way you write your […]

Database Sharding

Today we’re going to be looking at one database optimization technique called Sharding. Before we talk about partitioning, it has to be said that the table first has to have some sort of ordering, so search can be optimized with that key. Sharding involves splitting the table into partitions, which can be done in two […]


When you run any Java applications, they are first translated into Java byte codes, before being run on a JVM, or Java Virtual Machines. A JVM is a program that executes Java Byte Code, and the JVM program can be run on any platform, be it Unix, Windows or Mac. With this setup, Java programs […]


Before MapReduce Before MapReduce, a typical way of parallel and distrubuted way was to split the data into equal chunks, and place them on different machines. Each machine will then do their computation, before sending their results back to a central server to do the collation, and final calculation. For example, to find the maximum […]

Brief Look at Kafka

What is Kafka Before going into Kafka, lets do a brief overview of what it is, and what it’s most commonly used for. Kafka is a messaging system, where it takes it large amount of data from various sources (Producers), and allows various services to read the data off it (Consumers). Central to the architecture […]