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

Core Design Principles

Core Design Principles for Software Developers by Venkat Subramaniam Devoxx is a conference directed towards the Java, Android and HTML5 community. Some points that are language agnostic, and can be applied universally are summarized below: Good code can be changed without much hassle. It is always impossible to get it right the first time. Be unemotional […]

Printing Subsets in a List

Problem Statement Given a list of distinct items (or a set), print out all of its subset lists. Input: [1, 2, 3, 4] Output: :empty set: 1 1,2 1,3 1,4 1,2,3 1,2,4 1,3,4 1,2,3,4 2 2,3 2,4 2,3,4 3 3,4 4 Proposed Solution For each given list, I would need to figure out how many […]