Home

SOLID Principles

In Robert C. Martin’s Design Principles and Design Patterns, he details four signs of a poor architecture1: The first of which is rigidity where one change results in a cascade of subsequent changes in dependent modules. He argues that this design deficiency results in reluctance to fix non-critical fixes due to not knowing when these f...

Read more

Virtual Memory

DDR4 Memory [“Courtesy PremiumBeat”]. Have you ever wondered why 32-bit and 64-bit get thrown around and not know what it meant? So too did I. Well the simple answer is that these refer to the amount of memory addressable to a program or more accurately, the computer architectures bit width i.r.t registers and address busses. Now le...

Read more

Concurrency

Assembly Workers [“Courtesy Manufacturing.NET]. First lets begin by defining a piece of system software called the Operating System (OS), which is responsible for orchastrating the sophisticated resource management of a given machine’s hardware as well as providing an abstracted interface for software to be built above. At the time ...

Read more

Web services

Socket Programming Sockets enable Interprocess Communication on same or different machines using TCP/IP protocol suite provided by the operating system. Together, TCP and IP ensure that messages are routed to their correct destination, get from source to destination reliably in the face of failure. Most of the application-level protocols like F...

Read more

Code Review Github Workflow with Pull Requests

Git Git is a version control system that can center about a centralized repository called a remote that lives on some server and a set of distrubuted repositories, often on the local machines of each contributer, which retrieve and ammend changes from the remote. Each repository contains snapshots of file content states and directory organizat...

Read more

Metric Space

Vector Space A vector space is set of mathemetical objects that can be multiplied and added together to produce objects of the same kind. This notion of vector spaces proves to be a very useful framework for extending methods and structures to very different types of problems. A few special types of vector spaces you may be already be familiar ...

Read more

Review of: Distributional Reinforcement Learning with Quantile Regression

For this series, I will attempt to provide insight into some of the complicated theory that underlies a breakthrough paper by Will Dabney, Mark Rowland, Marc G. Bellemare, Rémi Munos in the field of Reinforcement Learning. Wassersten Metric p-Wasserstein Metric is a probability metric that considers the dissimilarity of various outcome events ...

Read more

Deriving Policy Gradient Theorem

Today we are going to derive an important result that provides a theoretical basis for a subset of the class of algorithms we call Reinforcement Learning (RL). Particularly in RL, an agent, an entity which conducts actions in an environment, is incentivized to learn quality sequential decision making through exploration and exploitation. The wa...

Read more