The Road to Character

A review of the book The Road To Character. Every once in awhile I stumble upon a book that is fantastic, thought provoking, questions my mental models, and opens views to the world that I have not seen before. This book, despite its big Christian undertone, is one of them. The broad idea behind the […]


A book not only about DevOps, but about the surrounding culture to enable it Click here for the book This book breaks things down nicely into the actionable segments that you can take to enable a fast and dynamic organization. It talks about DevOps, but you’ll come to realize that it’s not all about DevOps, […]


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 […]

Role Model

I’ve been asked by one of my managers who my role model was, which I thought was really interesting, because I’ve read a lot of self help books, biographies and listened to many podcasts, all relating to some form of improvement and guidance, but I don’t think I have a single person to point a […]


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 […]

Locality Sensitive Hashing

Locality Sensitive Hashing is a method for placing similar items together. This can be seen as a clustering effort, where similar items, when hashed, will produce a value that is close to each other, and therefore fall into the same bucket. When we talk about hashing, most of the time we want to form a […]


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 […]