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

What are Proxies?

A Proxy, or a Proxy Server / Web Proxy, is something that sits between the source of the network traffic, and the desired destination of the traffic. What the proxy will do is relay the network traffic across to the other side. Typically, it would sit between a client and a server, where the client […]

Async and Await in C#

Async and Await in C async and await are used when we are doing asynchronous programming. Why we would want to do asynchronous programming, is due to performance issues. When we have two unrelated tasks that are in the program, and one task takes a long time to process, it should not be holding up […]

C# Pass By Value

Pass by Value vs Reference Pass by value When we pass call a function, we sometimes pass in some values for the function to use. Typically, it would look like this (parameters) or void swapValues(int x, int y) When we pass a value to the function swapValue(), we are passing it by value. What this […]

Python Tips and Tricks

Summary of Python tips, tricks, and to-dos These pointers are what I picked up from the book Python Tricks: The Book The book itself is a summary, and here i’ll be doing a summary of a summary. Python is great because of its flexibility, but that itself could potentially be a double edged sword. It […]

How Netflix Thinks of DevOps

Link to the video of how Netflix thinks about DevOps(Hint: They don’t) Netflix Github Page Instead, what they do focus on is a lot about culture, which is really be what every company should be focusing on. In this era, for better or for worse, we as humans have become more “Me”-centric. How we actualize […]