Webpack

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

Agile?

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

JVM

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

MapReduce

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

What Happens When You Send An Email?

Ever wonder what happens when you send an email, and what the various systems and components are that facilitates the whole process? In our digital age, we all communicate over email, and even more nefariously, the bad guys do too: from sending credential harvesting links to a malware download, the email the most viable way […]

inotify on Shared Servers

We all have faced an issue at one point in our engineering adventures that we need to create a form of watchdog. We have to watch for a certain activity on a certain file or folder, before we perform a set of actions. Thankfully in Linux, there is a function called inotify, which allows you to […]

AS and BGP

Autonomous Systems The Internet (with a capital I) is a huge mesh of networks of networks. Within the networks are a more sub-networks, or IP addresses belonging to the network. An AS, or Autonomous System, is a collection of IP addresses that are logically grouped together to form a network. When one machine in one […]