Mastering Concurrency: A Comprehensive C++ Guide to Processes and Threads
1946 words ~10 mins

1. Introduction 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 of me writing this article, I have a web browser open, my spotify playlist on, as well as my VS code editor and a terminal open.

Quick Primer on Metric Spaces
401 words ~2 mins

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 with: Function Spaces We can add functions together and scale them as well.

Primer on Matrix Multiplication
1172 words ~6 mins

Introduction Remember the good ol days when 6 x 5 easily made sense as adding 6 together with itself 5 times and whala you ended up with 30. Now you’re in college and things are hard 😭 Hopefully running through an example can give you a bit of a glimpse as to how and why we do matrix multiplication. How to Compute Matrix Multiplication Consider two Matricies A and B. We denote the dimensions by row and columns, in that order.

390 words ~2 mins

Since the concept of “n choose k” seems to appear a lot in my life I decided I would make a quick post explaining the intuition behind it. Let’s start with a simple example. Say we had a set of three greek characters representing the names of three friends, \( F = \{ \alpha, \beta, \gamma \}\) and we are interested in knowing how many uniquely paired matches could be played between two competitors of the friends in table tennis.

Mathematics Meets Signal Processing: Exploring the Convolution Integral
570 words ~3 mins

#Electrical Engineering #Mathematics #Signal Processing
Introduction Since signals are sets of data or information and systems process said data, we are interested in the analysis of systems. When we deal with a special type of system that contains the properties of linearity and time-invariance, we are able to construct methods of analysis that are extremely useful for Linear Time-invariant (LTI) systems. Fourier analysis, which will be a seperate blog post, and the convolution integral are examples of exploiting system properties to decompose inputs into basic signals which are easy to work with analytically.

Random Variables and Distributions
1345 words ~7 mins

#Probability #Mathematics
I hope this article serves as a basic introduction to the terminology of probability theory! Random Variables Considering that an experiment is a procedure that produces well defined outcomes, like taking a course and finishing with a certain grade letter, we see that a random variable is a function which maps random outcomes from experiments to numerical values \(X : \Omega \to R \) . The set of all possible numerical values attainable is called the support of the random variable.