Technical articles and more

My thoughts, ideas and learning experiences collected in chronological order.

C# Delegates, Events and more

In this article, I will be discussing C# delegates, events, and other related topics that involve these two. Even if you have been working with C# for a long time, this type of topic might seem confusing. The reason is we do not use them on a daily basis. Or we use it without realizing it. Either way, brushing up on this topic with simple and clear examples is always a good idea.

C# Generics Simplified

Generics is a powerful feature of C#, which was introduced in version 2.0 to allow creating type-safe classes, interfaces, or methods without actually committing to a specific data type.

Getting wise with bitwise

Bitwise operations, shifting bits, two's complement, and other similar terms related to bit manipulation seem like a scary topic people always try to avoid. However, they still come up a lot when dealing with code that requires precision and performance. Even though this topic is old and has been around for a long time, it is worth brushing up on this field once in a while to improve your skills. In this article, we will refresh our memory on binary numbers and look into the primary bitwise operations. articles

Series of blog articles I wrote for a client. This project was requested by and it was so much fun working with them.

C# Essentials for developers

A member of the C-style language family C# was developed in around 2000 by Microsoft. Since then its popularity has increased tremendously. Today it is one of the top five languages in the world, and there are millions of applications created using this object-oriented, imperative language. Big companies such as Intuit, StackOverflow, OpenTable, Dell, and many others are using it for their mission-critical products. One of the most popular game development engines - Unity uses C# as their primary coding language. All of it is to say that there are several good reasons to learn this awesome language if you are not already familiar with it.

Angular 8 crash course

Angular has been around for a long time. And the fact that it is backed by Google has been one of the main reasons why large number of businesses and developers opt in to use it to build their front end applications. Let's dive in to the details.

Just enough Typescript for Angular

Angular Framework is written in TypeScript. All of the pre-generated scripts and code samples are also in TypeScript. So, it makes total sense to get little bit familiar with TypeScript before we dive in to the world of Angular.

Memoization in JavaScript

Memoization is a concept of caching function returns in a hash table (object) so that the next time we need to call the same function again we will get the result in a constant time - O(1) without even executing the function.

Rules of Inference

Inference - is a process of drawing conclusion based on the evidence and reasoning. It holds a certain level of probability relative to the premises. It could also be an educated guess.

Set operations

Frequently we need to combine sets to produce new sets. For instance, say we have a set of animals that live under the water and another set of animals that live on the ground. We could make a new set of animals that can live both, under water and on the ground. Or a set of animals that cannot live in water. There are a few ways of combining sets.

Sets in discrete math

Sets refresher for Algorithms. Set - is an unordered collection of objects. Usually sets are denoted by capital letters. A set contains its elements.

Algorithmic complexity

In previous post about algorithms (Algorithms Intro), we briefly discussed the notion of algorithms and saw couple of examples. In this post, let us dive in little deeper.


Algorithm - is a well-defined set of instructions to solve a problem. In other words, an algorithm is a computational procedure that takes in an input, processes it and then spits out an output